@goplasmatic/datalogic-ui 5.4.0 → 5.5.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.
Files changed (27) hide show
  1. package/README.md +13 -4
  2. package/dist/components/logic-editor/config/categories.d.ts.map +1 -1
  3. package/dist/components/logic-editor/config/operators/index.d.ts +2 -1
  4. package/dist/components/logic-editor/config/operators/index.d.ts.map +1 -1
  5. package/dist/components/logic-editor/config/operators/tensor.d.ts +3 -0
  6. package/dist/components/logic-editor/config/operators/tensor.d.ts.map +1 -0
  7. package/dist/components/logic-editor/config/operators.types.d.ts +1 -1
  8. package/dist/components/logic-editor/config/operators.types.d.ts.map +1 -1
  9. package/dist/components/logic-editor/constants/colors.d.ts.map +1 -1
  10. package/dist/components/logic-editor/hooks/useWasmEvaluator.d.ts +24 -0
  11. package/dist/components/logic-editor/hooks/useWasmEvaluator.d.ts.map +1 -1
  12. package/dist/components/logic-editor/nodes/UnifiedOperatorNode.d.ts.map +1 -1
  13. package/dist/components/logic-editor/properties-panel/utils.d.ts.map +1 -1
  14. package/dist/components/logic-editor/types/editor.d.ts +12 -0
  15. package/dist/components/logic-editor/types/editor.d.ts.map +1 -1
  16. package/dist/components/logic-editor/types/trace.d.ts +4 -0
  17. package/dist/components/logic-editor/types/trace.d.ts.map +1 -1
  18. package/dist/components/logic-editor/utils/node-updaters.d.ts.map +1 -1
  19. package/dist/components/logic-editor/utils/nodeShape.d.ts +10 -0
  20. package/dist/components/logic-editor/utils/nodeShape.d.ts.map +1 -1
  21. package/dist/datalogic_wasm-Bckz7njC.cjs +1258 -0
  22. package/dist/datalogic_wasm-CPBxmvK8.js +1257 -0
  23. package/dist/index.cjs +2732 -1204
  24. package/dist/index.js +2732 -1204
  25. package/package.json +17 -17
  26. package/dist/datalogic_wasm-6KTmUP2q.cjs +0 -1125
  27. package/dist/datalogic_wasm-DJxb6g5L.js +0 -1124
package/dist/index.cjs CHANGED
@@ -26,38 +26,57 @@ react = __toESM(react, 1);
26
26
  let _xyflow_react = require("@xyflow/react");
27
27
  let react_jsx_runtime = require("react/jsx-runtime");
28
28
  let react_dom = require("react-dom");
29
- //#region node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.mjs
29
+ //#region node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase.mjs
30
30
  /**
31
- * @license lucide-react v1.34.0 - ISC
31
+ * @license lucide-react v1.45.0 - ISC
32
32
  *
33
33
  * This source code is licensed under the ISC license.
34
34
  * See the LICENSE file in the root directory of this source tree.
35
35
  */
36
- var mergeClasses = (...classes) => classes.filter((className, index, array) => {
37
- return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
38
- }).join(" ").trim();
36
+ var toKebabCase = (string) => string?.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
39
37
  //#endregion
40
- //#region node_modules/lucide-react/dist/esm/shared/src/utils/toKebabCase.mjs
38
+ //#region node_modules/lucide-react/dist/esm/shared/src/utils/toLucideIconData.mjs
41
39
  /**
42
- * @license lucide-react v1.34.0 - ISC
40
+ * @license lucide-react v1.45.0 - ISC
43
41
  *
44
42
  * This source code is licensed under the ISC license.
45
43
  * See the LICENSE file in the root directory of this source tree.
46
44
  */
47
- var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
45
+ function toLucideIconData(iconName, iconNode, aliases = []) {
46
+ if (iconNode == null) throw new Error("[lucide]: iconNode is required when icon name is used");
47
+ return {
48
+ name: toKebabCase(iconName),
49
+ size: 24,
50
+ node: iconNode,
51
+ ...aliases.length > 0 ? { aliases } : {}
52
+ };
53
+ }
48
54
  //#endregion
49
55
  //#region node_modules/lucide-react/dist/esm/shared/src/utils/toCamelCase.mjs
50
56
  /**
51
- * @license lucide-react v1.34.0 - ISC
57
+ * @license lucide-react v1.45.0 - ISC
52
58
  *
53
59
  * This source code is licensed under the ISC license.
54
60
  * See the LICENSE file in the root directory of this source tree.
55
61
  */
56
- var toCamelCase = (string) => string.replace(/^([A-Z])|[\s-_]+(\w)/g, (match, p1, p2) => p2 ? p2.toUpperCase() : p1.toLowerCase());
62
+ var toCamelCase = (string) => {
63
+ let out = "";
64
+ let upperNext = false;
65
+ for (const ch of string) {
66
+ if (ch === "-" || ch === "_" || ch <= " ") {
67
+ upperNext = out.length > 0;
68
+ continue;
69
+ }
70
+ if (out.length === 0) out += ch.toLowerCase();
71
+ else out += upperNext ? ch.toUpperCase() : ch;
72
+ upperNext = false;
73
+ }
74
+ return out;
75
+ };
57
76
  //#endregion
58
77
  //#region node_modules/lucide-react/dist/esm/shared/src/utils/toPascalCase.mjs
59
78
  /**
60
- * @license lucide-react v1.34.0 - ISC
79
+ * @license lucide-react v1.45.0 - ISC
61
80
  *
62
81
  * This source code is licensed under the ISC license.
63
82
  * See the LICENSE file in the root directory of this source tree.
@@ -67,9 +86,20 @@ var toPascalCase = (string) => {
67
86
  return camelCase.charAt(0).toUpperCase() + camelCase.slice(1);
68
87
  };
69
88
  //#endregion
70
- //#region node_modules/lucide-react/dist/esm/defaultAttributes.mjs
89
+ //#region node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.mjs
90
+ /**
91
+ * @license lucide-react v1.45.0 - ISC
92
+ *
93
+ * This source code is licensed under the ISC license.
94
+ * See the LICENSE file in the root directory of this source tree.
95
+ */
96
+ var mergeClasses = (...classes) => classes.filter((className, index, array) => {
97
+ return Boolean(className) && className.trim() !== "" && array.indexOf(className) === index;
98
+ }).join(" ").trim();
99
+ //#endregion
100
+ //#region node_modules/lucide-react/dist/esm/shared/src/build/defaultAttributes.mjs
71
101
  /**
72
- * @license lucide-react v1.34.0 - ISC
102
+ * @license lucide-react v1.45.0 - ISC
73
103
  *
74
104
  * This source code is licensed under the ISC license.
75
105
  * See the LICENSE file in the root directory of this source tree.
@@ -81,14 +111,90 @@ var defaultAttributes = {
81
111
  viewBox: "0 0 24 24",
82
112
  fill: "none",
83
113
  stroke: "currentColor",
84
- strokeWidth: 2,
85
- strokeLinecap: "round",
86
- strokeLinejoin: "round"
114
+ "stroke-width": 2,
115
+ "stroke-linecap": "round",
116
+ "stroke-linejoin": "round"
87
117
  };
88
118
  //#endregion
119
+ //#region node_modules/lucide-react/dist/esm/shared/src/build/buildLucideIconNode.mjs
120
+ /**
121
+ * @license lucide-react v1.45.0 - ISC
122
+ *
123
+ * This source code is licensed under the ISC license.
124
+ * See the LICENSE file in the root directory of this source tree.
125
+ */
126
+ function isDefined(value) {
127
+ return value !== null && value !== void 0;
128
+ }
129
+ function buildLucideIconNode(icon, params = {}) {
130
+ const attributeNames = params.attributeNames ?? {};
131
+ const getAttributeName = (attributeName) => attributeNames[attributeName] ?? attributeName;
132
+ const viewBoxWidth = icon.size ?? icon.width ?? defaultAttributes["width"];
133
+ const viewBoxHeight = icon.size ?? icon.height ?? defaultAttributes["height"];
134
+ const aliasClassNames = icon.aliases?.filter((alias) => typeof alias === "string" && alias.trim() !== "").map((alias) => `lucide-${alias}`) ?? [];
135
+ const iconClassNames = [...icon.name ? [`lucide-${icon.name}`] : [], ...aliasClassNames];
136
+ const classNamesFromClassName = params.className?.split(" ").filter(Boolean) ?? [];
137
+ const className = params.includeDefaultClasses === false ? mergeClasses(...classNamesFromClassName) : mergeClasses("lucide", ...iconClassNames, ...classNamesFromClassName);
138
+ const calculatedStrokeWidth = params.absoluteStrokeWidth ? Number(params.strokeWidth ?? defaultAttributes["stroke-width"]) * Number(icon.size ?? icon.width ?? defaultAttributes["width"]) / Number(params.size ?? params.width ?? defaultAttributes["width"]) : params.strokeWidth ?? defaultAttributes["stroke-width"];
139
+ return [
140
+ "svg",
141
+ {
142
+ ...Object.entries(defaultAttributes).reduce((attrs, [attrName, value]) => {
143
+ attrs[getAttributeName(attrName)] = value;
144
+ return attrs;
145
+ }, {}),
146
+ ..."color" in params && params.color && { [getAttributeName("stroke")]: params.color },
147
+ ..."size" in params && isDefined(params.size) && {
148
+ [getAttributeName("width")]: params.size,
149
+ [getAttributeName("height")]: params.size
150
+ },
151
+ ..."width" in params && isDefined(params.width) && { [getAttributeName("width")]: params.width },
152
+ ..."height" in params && isDefined(params.height) && { [getAttributeName("height")]: params.height },
153
+ [getAttributeName("stroke-width")]: calculatedStrokeWidth,
154
+ ...className && { [getAttributeName("class")]: className },
155
+ [getAttributeName("viewBox")]: `0 0 ${viewBoxWidth} ${viewBoxHeight}`,
156
+ ...params.hasA11yProp === false ? { [getAttributeName("aria-hidden")]: "true" } : {},
157
+ ..."attributes" in params && params.attributes
158
+ },
159
+ icon.node.map((child) => {
160
+ const [name, attrs, children] = child;
161
+ const nextAttrs = params.nonScalingStroke ? {
162
+ [getAttributeName("vector-effect")]: "non-scaling-stroke",
163
+ ...attrs
164
+ } : attrs;
165
+ return children ? [
166
+ name,
167
+ nextAttrs,
168
+ children
169
+ ] : [name, nextAttrs];
170
+ })
171
+ ];
172
+ }
173
+ //#endregion
174
+ //#region node_modules/lucide-react/dist/esm/shared/src/build/buildLucideIconForReact.mjs
175
+ /**
176
+ * @license lucide-react v1.45.0 - ISC
177
+ *
178
+ * This source code is licensed under the ISC license.
179
+ * See the LICENSE file in the root directory of this source tree.
180
+ */
181
+ function buildLucideIconForReact(icon, params = {}) {
182
+ return buildLucideIconNode(icon, {
183
+ ...params,
184
+ attributeNames: {
185
+ ...params.attributeNames,
186
+ class: "className",
187
+ "stroke-width": "strokeWidth",
188
+ "stroke-linecap": "strokeLinecap",
189
+ "stroke-linejoin": "strokeLinejoin",
190
+ "vector-effect": "vectorEffect"
191
+ }
192
+ });
193
+ }
194
+ //#endregion
89
195
  //#region node_modules/lucide-react/dist/esm/shared/src/utils/hasA11yProp.mjs
90
196
  /**
91
- * @license lucide-react v1.34.0 - ISC
197
+ * @license lucide-react v1.45.0 - ISC
92
198
  *
93
199
  * This source code is licensed under the ISC license.
94
200
  * See the LICENSE file in the root directory of this source tree.
@@ -100,7 +206,7 @@ var hasA11yProp = (props) => {
100
206
  //#endregion
101
207
  //#region node_modules/lucide-react/dist/esm/context.mjs
102
208
  /**
103
- * @license lucide-react v1.34.0 - ISC
209
+ * @license lucide-react v1.45.0 - ISC
104
210
  *
105
211
  * This source code is licensed under the ISC license.
106
212
  * See the LICENSE file in the root directory of this source tree.
@@ -110,1355 +216,1829 @@ var useLucideContext = () => (0, react.useContext)(LucideContext);
110
216
  //#endregion
111
217
  //#region node_modules/lucide-react/dist/esm/Icon.mjs
112
218
  /**
113
- * @license lucide-react v1.34.0 - ISC
219
+ * @license lucide-react v1.45.0 - ISC
114
220
  *
115
221
  * This source code is licensed under the ISC license.
116
222
  * See the LICENSE file in the root directory of this source tree.
117
223
  */
118
- var Icon$1 = (0, react.forwardRef)(({ color, size, strokeWidth, absoluteStrokeWidth, className = "", children, iconNode, ...rest }, ref) => {
119
- const { size: contextSize = 24, strokeWidth: contextStrokeWidth = 2, absoluteStrokeWidth: contextAbsoluteStrokeWidth = false, color: contextColor = "currentColor", className: contextClass = "" } = useLucideContext() ?? {};
120
- const calculatedStrokeWidth = absoluteStrokeWidth ?? contextAbsoluteStrokeWidth ? Number(strokeWidth ?? contextStrokeWidth) * 24 / Number(size ?? contextSize) : strokeWidth ?? contextStrokeWidth;
121
- return (0, react.createElement)("svg", {
224
+ var Icon$1 = (0, react.forwardRef)(({ color, size, width, height, strokeWidth, absoluteStrokeWidth, nonScalingStroke, className = "", children, iconNode = [], icon = {
225
+ node: iconNode,
226
+ aliases: [],
227
+ size: 24
228
+ }, ...rest }, ref) => {
229
+ const { size: contextSize = 24, strokeWidth: contextStrokeWidth = 2, absoluteStrokeWidth: contextAbsoluteStrokeWidth = false, nonScalingStroke: contextNonScalingStroke = false, color: contextColor = "currentColor", className: contextClass = "" } = useLucideContext() ?? {};
230
+ const hasAccessibleProp = Boolean(children) || hasA11yProp(rest);
231
+ const [name, svgAttributes, builtIconNode = []] = buildLucideIconForReact(icon, {
232
+ color: color ?? contextColor,
233
+ width: width ?? size ?? contextSize,
234
+ height: height ?? size ?? contextSize,
235
+ strokeWidth: strokeWidth ?? contextStrokeWidth,
236
+ absoluteStrokeWidth: absoluteStrokeWidth ?? contextAbsoluteStrokeWidth,
237
+ nonScalingStroke: nonScalingStroke ?? contextNonScalingStroke,
238
+ className: mergeClasses(contextClass, className),
239
+ hasA11yProp: hasAccessibleProp,
240
+ attributes: rest
241
+ });
242
+ return (0, react.createElement)(name, {
122
243
  ref,
123
- ...defaultAttributes,
124
- width: size ?? contextSize ?? defaultAttributes.width,
125
- height: size ?? contextSize ?? defaultAttributes.height,
126
- stroke: color ?? contextColor,
127
- strokeWidth: calculatedStrokeWidth,
128
- className: mergeClasses("lucide", contextClass, className),
129
- ...!children && !hasA11yProp(rest) && { "aria-hidden": "true" },
130
- ...rest
131
- }, [...iconNode.map(([tag, attrs]) => (0, react.createElement)(tag, attrs)), ...Array.isArray(children) ? children : [children]]);
244
+ ...svgAttributes
245
+ }, [...builtIconNode.map(([tag, attrs]) => (0, react.createElement)(tag, attrs)), ...Array.isArray(children) ? children : [children]]);
132
246
  });
133
247
  //#endregion
134
248
  //#region node_modules/lucide-react/dist/esm/createLucideIcon.mjs
135
249
  /**
136
- * @license lucide-react v1.34.0 - ISC
250
+ * @license lucide-react v1.45.0 - ISC
137
251
  *
138
252
  * This source code is licensed under the ISC license.
139
253
  * See the LICENSE file in the root directory of this source tree.
140
254
  */
141
- var createLucideIcon = (iconName, iconNode) => {
255
+ function createLucideIcon(iconDataOrName, iconNode = [], aliases = []) {
256
+ const iconData = typeof iconDataOrName === "string" ? toLucideIconData(iconDataOrName, iconNode, aliases) : iconDataOrName;
142
257
  const Component = (0, react.forwardRef)(({ className, ...props }, ref) => (0, react.createElement)(Icon$1, {
143
258
  ref,
144
- iconNode,
145
- className: mergeClasses(`lucide-${toKebabCase(toPascalCase(iconName))}`, `lucide-${iconName}`, className),
259
+ icon: iconData,
260
+ className,
146
261
  ...props
147
262
  }));
148
- Component.displayName = toPascalCase(iconName);
263
+ if (iconData.name) Component.displayName = toPascalCase(iconData.name);
149
264
  return Component;
150
- };
265
+ }
266
+ //#endregion
267
+ //#region node_modules/lucide-react/dist/esm/icons/arrow-up.mjs
151
268
  /**
152
- * @license lucide-react v1.34.0 - ISC
269
+ * @license lucide-react v1.45.0 - ISC
153
270
  *
154
271
  * This source code is licensed under the ISC license.
155
272
  * See the LICENSE file in the root directory of this source tree.
156
273
  */
157
- var ArrowUp = createLucideIcon("arrow-up", [["path", {
158
- d: "m5 12 7-7 7 7",
159
- key: "hav0vg"
160
- }], ["path", {
161
- d: "M12 19V5",
162
- key: "x0mq9r"
163
- }]]);
274
+ var __iconData$56 = {
275
+ name: "arrow-up",
276
+ size: 24,
277
+ node: [["path", {
278
+ d: "m5 12 7-7 7 7",
279
+ key: "hav0vg"
280
+ }], ["path", {
281
+ d: "M12 19V5",
282
+ key: "x0mq9r"
283
+ }]]
284
+ };
285
+ __iconData$56.node;
286
+ var ArrowUp = createLucideIcon(__iconData$56);
287
+ //#endregion
288
+ //#region node_modules/lucide-react/dist/esm/icons/ban.mjs
164
289
  /**
165
- * @license lucide-react v1.34.0 - ISC
290
+ * @license lucide-react v1.45.0 - ISC
166
291
  *
167
292
  * This source code is licensed under the ISC license.
168
293
  * See the LICENSE file in the root directory of this source tree.
169
294
  */
170
- var Ban = createLucideIcon("ban", [["circle", {
171
- cx: "12",
172
- cy: "12",
173
- r: "10",
174
- key: "1mglay"
175
- }], ["path", {
176
- d: "M4.929 4.929 19.07 19.071",
177
- key: "196cmz"
178
- }]]);
179
- /**
180
- * @license lucide-react v1.34.0 - ISC
295
+ var __iconData$55 = {
296
+ name: "ban",
297
+ size: 24,
298
+ node: [["circle", {
299
+ cx: "12",
300
+ cy: "12",
301
+ r: "10",
302
+ key: "1mglay"
303
+ }], ["path", {
304
+ d: "M4.929 4.929 19.07 19.071",
305
+ key: "196cmz"
306
+ }]]
307
+ };
308
+ __iconData$55.node;
309
+ var Ban = createLucideIcon(__iconData$55);
310
+ //#endregion
311
+ //#region node_modules/lucide-react/dist/esm/icons/binary.mjs
312
+ /**
313
+ * @license lucide-react v1.45.0 - ISC
181
314
  *
182
315
  * This source code is licensed under the ISC license.
183
316
  * See the LICENSE file in the root directory of this source tree.
184
317
  */
185
- var Binary = createLucideIcon("binary", [
186
- ["rect", {
187
- x: "14",
188
- y: "14",
189
- width: "4",
190
- height: "6",
191
- rx: "2",
192
- key: "p02svl"
193
- }],
194
- ["rect", {
195
- x: "6",
196
- y: "4",
197
- width: "4",
198
- height: "6",
199
- rx: "2",
200
- key: "xm4xkj"
201
- }],
202
- ["path", {
203
- d: "M6 20h4",
204
- key: "1i6q5t"
205
- }],
206
- ["path", {
207
- d: "M14 10h4",
208
- key: "ru81e7"
209
- }],
210
- ["path", {
211
- d: "M6 14h2v6",
212
- key: "16z9wg"
213
- }],
214
- ["path", {
215
- d: "M14 4h2v6",
216
- key: "1idq9u"
217
- }]
218
- ]);
318
+ var __iconData$54 = {
319
+ name: "binary",
320
+ size: 24,
321
+ node: [
322
+ ["rect", {
323
+ x: "14",
324
+ y: "14",
325
+ width: "4",
326
+ height: "6",
327
+ rx: "2",
328
+ key: "p02svl"
329
+ }],
330
+ ["rect", {
331
+ x: "6",
332
+ y: "4",
333
+ width: "4",
334
+ height: "6",
335
+ rx: "2",
336
+ key: "xm4xkj"
337
+ }],
338
+ ["path", {
339
+ d: "M6 20h4",
340
+ key: "1i6q5t"
341
+ }],
342
+ ["path", {
343
+ d: "M14 10h4",
344
+ key: "ru81e7"
345
+ }],
346
+ ["path", {
347
+ d: "M6 14h2v6",
348
+ key: "16z9wg"
349
+ }],
350
+ ["path", {
351
+ d: "M14 4h2v6",
352
+ key: "1idq9u"
353
+ }]
354
+ ]
355
+ };
356
+ __iconData$54.node;
357
+ var Binary = createLucideIcon(__iconData$54);
358
+ //#endregion
359
+ //#region node_modules/lucide-react/dist/esm/icons/box.mjs
219
360
  /**
220
- * @license lucide-react v1.34.0 - ISC
361
+ * @license lucide-react v1.45.0 - ISC
221
362
  *
222
363
  * This source code is licensed under the ISC license.
223
364
  * See the LICENSE file in the root directory of this source tree.
224
365
  */
225
- var Box = createLucideIcon("box", [
226
- ["path", {
227
- 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",
228
- key: "hh9hay"
229
- }],
230
- ["path", {
231
- d: "m3.3 7 8.7 5 8.7-5",
232
- key: "g66t2b"
233
- }],
234
- ["path", {
235
- d: "M12 22V12",
236
- key: "d0xqtd"
237
- }]
238
- ]);
366
+ var __iconData$53 = {
367
+ name: "box",
368
+ size: 24,
369
+ node: [
370
+ ["path", {
371
+ 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",
372
+ key: "hh9hay"
373
+ }],
374
+ ["path", {
375
+ d: "m3.3 7 8.7 5 8.7-5",
376
+ key: "g66t2b"
377
+ }],
378
+ ["path", {
379
+ d: "M12 22V12",
380
+ key: "d0xqtd"
381
+ }]
382
+ ]
383
+ };
384
+ __iconData$53.node;
385
+ var Box = createLucideIcon(__iconData$53);
386
+ //#endregion
387
+ //#region node_modules/lucide-react/dist/esm/icons/boxes.mjs
239
388
  /**
240
- * @license lucide-react v1.34.0 - ISC
389
+ * @license lucide-react v1.45.0 - ISC
241
390
  *
242
391
  * This source code is licensed under the ISC license.
243
392
  * See the LICENSE file in the root directory of this source tree.
244
393
  */
245
- var Boxes = createLucideIcon("boxes", [
246
- ["path", {
247
- d: "M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",
248
- key: "lc1i9w"
249
- }],
250
- ["path", {
251
- d: "m7 16.5-4.74-2.85",
252
- key: "1o9zyk"
253
- }],
254
- ["path", {
255
- d: "m7 16.5 5-3",
256
- key: "va8pkn"
257
- }],
258
- ["path", {
259
- d: "M7 16.5v5.17",
260
- key: "jnp8gn"
261
- }],
262
- ["path", {
263
- d: "M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",
264
- key: "8zsnat"
265
- }],
266
- ["path", {
267
- d: "m17 16.5-5-3",
268
- key: "8arw3v"
269
- }],
270
- ["path", {
271
- d: "m17 16.5 4.74-2.85",
272
- key: "8rfmw"
273
- }],
274
- ["path", {
275
- d: "M17 16.5v5.17",
276
- key: "k6z78m"
277
- }],
278
- ["path", {
279
- d: "M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",
280
- key: "1xygjf"
281
- }],
282
- ["path", {
283
- d: "M12 8 7.26 5.15",
284
- key: "1vbdud"
285
- }],
286
- ["path", {
287
- d: "m12 8 4.74-2.85",
288
- key: "3rx089"
289
- }],
290
- ["path", {
291
- d: "M12 13.5V8",
292
- key: "1io7kd"
293
- }]
294
- ]);
394
+ var __iconData$52 = {
395
+ name: "boxes",
396
+ size: 24,
397
+ node: [
398
+ ["path", {
399
+ d: "M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",
400
+ key: "lc1i9w"
401
+ }],
402
+ ["path", {
403
+ d: "m7 16.5-4.74-2.85",
404
+ key: "1o9zyk"
405
+ }],
406
+ ["path", {
407
+ d: "m7 16.5 5-3",
408
+ key: "va8pkn"
409
+ }],
410
+ ["path", {
411
+ d: "M7 16.5v5.17",
412
+ key: "jnp8gn"
413
+ }],
414
+ ["path", {
415
+ d: "M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",
416
+ key: "8zsnat"
417
+ }],
418
+ ["path", {
419
+ d: "m17 16.5-5-3",
420
+ key: "8arw3v"
421
+ }],
422
+ ["path", {
423
+ d: "m17 16.5 4.74-2.85",
424
+ key: "8rfmw"
425
+ }],
426
+ ["path", {
427
+ d: "M17 16.5v5.17",
428
+ key: "k6z78m"
429
+ }],
430
+ ["path", {
431
+ d: "M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",
432
+ key: "1xygjf"
433
+ }],
434
+ ["path", {
435
+ d: "M12 8 7.26 5.15",
436
+ key: "1vbdud"
437
+ }],
438
+ ["path", {
439
+ d: "m12 8 4.74-2.85",
440
+ key: "3rx089"
441
+ }],
442
+ ["path", {
443
+ d: "M12 13.5V8",
444
+ key: "1io7kd"
445
+ }]
446
+ ]
447
+ };
448
+ __iconData$52.node;
449
+ var Boxes = createLucideIcon(__iconData$52);
450
+ //#endregion
451
+ //#region node_modules/lucide-react/dist/esm/icons/braces.mjs
295
452
  /**
296
- * @license lucide-react v1.34.0 - ISC
453
+ * @license lucide-react v1.45.0 - ISC
297
454
  *
298
455
  * This source code is licensed under the ISC license.
299
456
  * See the LICENSE file in the root directory of this source tree.
300
457
  */
301
- var Braces = createLucideIcon("braces", [["path", {
302
- d: "M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",
303
- key: "ezmyqa"
304
- }], ["path", {
305
- d: "M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",
306
- key: "e1hn23"
307
- }]]);
458
+ var __iconData$51 = {
459
+ name: "braces",
460
+ size: 24,
461
+ node: [["path", {
462
+ d: "M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1",
463
+ key: "ezmyqa"
464
+ }], ["path", {
465
+ d: "M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1",
466
+ key: "e1hn23"
467
+ }]],
468
+ aliases: ["curly-braces"]
469
+ };
470
+ __iconData$51.node;
471
+ var Braces = createLucideIcon(__iconData$51);
472
+ //#endregion
473
+ //#region node_modules/lucide-react/dist/esm/icons/bug.mjs
308
474
  /**
309
- * @license lucide-react v1.34.0 - ISC
475
+ * @license lucide-react v1.45.0 - ISC
310
476
  *
311
477
  * This source code is licensed under the ISC license.
312
478
  * See the LICENSE file in the root directory of this source tree.
313
479
  */
314
- var Bug = createLucideIcon("bug", [
315
- ["path", {
316
- d: "M12 20v-9",
317
- key: "1qisl0"
318
- }],
319
- ["path", {
320
- d: "M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",
321
- key: "uouzyp"
322
- }],
323
- ["path", {
324
- d: "M14.12 3.88 16 2",
325
- key: "qol33r"
326
- }],
327
- ["path", {
328
- d: "M21 21a4 4 0 0 0-3.81-4",
329
- key: "1b0z45"
330
- }],
331
- ["path", {
332
- d: "M21 5a4 4 0 0 1-3.55 3.97",
333
- key: "5cxbf6"
334
- }],
335
- ["path", {
336
- d: "M22 13h-4",
337
- key: "1jl80f"
338
- }],
339
- ["path", {
340
- d: "M3 21a4 4 0 0 1 3.81-4",
341
- key: "1fjd4g"
342
- }],
343
- ["path", {
344
- d: "M3 5a4 4 0 0 0 3.55 3.97",
345
- key: "1d7oge"
346
- }],
347
- ["path", {
348
- d: "M6 13H2",
349
- key: "82j7cp"
350
- }],
351
- ["path", {
352
- d: "m8 2 1.88 1.88",
353
- key: "fmnt4t"
354
- }],
355
- ["path", {
356
- d: "M9 7.13V6a3 3 0 1 1 6 0v1.13",
357
- key: "1vgav8"
358
- }]
359
- ]);
480
+ var __iconData$50 = {
481
+ name: "bug",
482
+ size: 24,
483
+ node: [
484
+ ["path", {
485
+ d: "M12 20v-9",
486
+ key: "1qisl0"
487
+ }],
488
+ ["path", {
489
+ d: "M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",
490
+ key: "uouzyp"
491
+ }],
492
+ ["path", {
493
+ d: "M14.12 3.88 16 2",
494
+ key: "qol33r"
495
+ }],
496
+ ["path", {
497
+ d: "M21 21a4 4 0 0 0-3.81-4",
498
+ key: "1b0z45"
499
+ }],
500
+ ["path", {
501
+ d: "M21 5a4 4 0 0 1-3.55 3.97",
502
+ key: "5cxbf6"
503
+ }],
504
+ ["path", {
505
+ d: "M22 13h-4",
506
+ key: "1jl80f"
507
+ }],
508
+ ["path", {
509
+ d: "M3 21a4 4 0 0 1 3.81-4",
510
+ key: "1fjd4g"
511
+ }],
512
+ ["path", {
513
+ d: "M3 5a4 4 0 0 0 3.55 3.97",
514
+ key: "1d7oge"
515
+ }],
516
+ ["path", {
517
+ d: "M6 13H2",
518
+ key: "82j7cp"
519
+ }],
520
+ ["path", {
521
+ d: "m8 2 1.88 1.88",
522
+ key: "fmnt4t"
523
+ }],
524
+ ["path", {
525
+ d: "M9 7.13V6a3 3 0 1 1 6 0v1.13",
526
+ key: "1vgav8"
527
+ }]
528
+ ]
529
+ };
530
+ __iconData$50.node;
531
+ var Bug = createLucideIcon(__iconData$50);
532
+ //#endregion
533
+ //#region node_modules/lucide-react/dist/esm/icons/calculator.mjs
360
534
  /**
361
- * @license lucide-react v1.34.0 - ISC
535
+ * @license lucide-react v1.45.0 - ISC
362
536
  *
363
537
  * This source code is licensed under the ISC license.
364
538
  * See the LICENSE file in the root directory of this source tree.
365
539
  */
366
- var Calculator = createLucideIcon("calculator", [
367
- ["rect", {
368
- width: "16",
369
- height: "20",
370
- x: "4",
371
- y: "2",
372
- rx: "2",
373
- key: "1nb95v"
374
- }],
375
- ["line", {
376
- x1: "8",
377
- x2: "16",
378
- y1: "6",
379
- y2: "6",
380
- key: "x4nwl0"
381
- }],
382
- ["line", {
383
- x1: "16",
384
- x2: "16",
385
- y1: "14",
386
- y2: "18",
387
- key: "wjye3r"
388
- }],
389
- ["path", {
390
- d: "M16 10h.01",
391
- key: "1m94wz"
392
- }],
393
- ["path", {
394
- d: "M12 10h.01",
395
- key: "1nrarc"
396
- }],
397
- ["path", {
398
- d: "M8 10h.01",
399
- key: "19clt8"
400
- }],
401
- ["path", {
402
- d: "M12 14h.01",
403
- key: "1etili"
404
- }],
405
- ["path", {
406
- d: "M8 14h.01",
407
- key: "6423bh"
408
- }],
409
- ["path", {
410
- d: "M12 18h.01",
411
- key: "mhygvu"
412
- }],
413
- ["path", {
414
- d: "M8 18h.01",
415
- key: "lrp35t"
416
- }]
417
- ]);
540
+ var __iconData$49 = {
541
+ name: "calculator",
542
+ size: 24,
543
+ node: [
544
+ ["rect", {
545
+ width: "16",
546
+ height: "20",
547
+ x: "4",
548
+ y: "2",
549
+ rx: "2",
550
+ key: "1nb95v"
551
+ }],
552
+ ["line", {
553
+ x1: "8",
554
+ x2: "16",
555
+ y1: "6",
556
+ y2: "6",
557
+ key: "x4nwl0"
558
+ }],
559
+ ["line", {
560
+ x1: "16",
561
+ x2: "16",
562
+ y1: "14",
563
+ y2: "18",
564
+ key: "wjye3r"
565
+ }],
566
+ ["path", {
567
+ d: "M16 10h.01",
568
+ key: "1m94wz"
569
+ }],
570
+ ["path", {
571
+ d: "M12 10h.01",
572
+ key: "1nrarc"
573
+ }],
574
+ ["path", {
575
+ d: "M8 10h.01",
576
+ key: "19clt8"
577
+ }],
578
+ ["path", {
579
+ d: "M12 14h.01",
580
+ key: "1etili"
581
+ }],
582
+ ["path", {
583
+ d: "M8 14h.01",
584
+ key: "6423bh"
585
+ }],
586
+ ["path", {
587
+ d: "M12 18h.01",
588
+ key: "mhygvu"
589
+ }],
590
+ ["path", {
591
+ d: "M8 18h.01",
592
+ key: "lrp35t"
593
+ }]
594
+ ]
595
+ };
596
+ __iconData$49.node;
597
+ var Calculator = createLucideIcon(__iconData$49);
598
+ //#endregion
599
+ //#region node_modules/lucide-react/dist/esm/icons/calendar.mjs
418
600
  /**
419
- * @license lucide-react v1.34.0 - ISC
601
+ * @license lucide-react v1.45.0 - ISC
420
602
  *
421
603
  * This source code is licensed under the ISC license.
422
604
  * See the LICENSE file in the root directory of this source tree.
423
605
  */
424
- var Calendar = createLucideIcon("calendar", [
425
- ["path", {
426
- d: "M8 2v3",
427
- key: "1ioesn"
428
- }],
429
- ["path", {
430
- d: "M16 2v3",
431
- key: "otl347"
432
- }],
433
- ["rect", {
434
- x: "3",
435
- y: "3",
436
- width: "18",
437
- height: "18",
438
- rx: "2",
439
- key: "h1oib"
440
- }],
441
- ["path", {
442
- d: "M3 9h18",
443
- key: "1pudct"
444
- }]
445
- ]);
606
+ var __iconData$48 = {
607
+ name: "calendar",
608
+ size: 24,
609
+ node: [
610
+ ["path", {
611
+ d: "M8 2v3",
612
+ key: "1ioesn"
613
+ }],
614
+ ["path", {
615
+ d: "M16 2v3",
616
+ key: "otl347"
617
+ }],
618
+ ["rect", {
619
+ x: "3",
620
+ y: "3",
621
+ width: "18",
622
+ height: "18",
623
+ rx: "2",
624
+ key: "h1oib"
625
+ }],
626
+ ["path", {
627
+ d: "M3 9h18",
628
+ key: "1pudct"
629
+ }]
630
+ ]
631
+ };
632
+ __iconData$48.node;
633
+ var Calendar = createLucideIcon(__iconData$48);
634
+ //#endregion
635
+ //#region node_modules/lucide-react/dist/esm/icons/check.mjs
446
636
  /**
447
- * @license lucide-react v1.34.0 - ISC
637
+ * @license lucide-react v1.45.0 - ISC
448
638
  *
449
639
  * This source code is licensed under the ISC license.
450
640
  * See the LICENSE file in the root directory of this source tree.
451
641
  */
452
- var Check = createLucideIcon("check", [["path", {
453
- d: "M20 6 9 17l-5-5",
454
- key: "1gmf2c"
455
- }]]);
642
+ var __iconData$47 = {
643
+ name: "check",
644
+ size: 24,
645
+ node: [["path", {
646
+ d: "M20 6 9 17l-5-5",
647
+ key: "1gmf2c"
648
+ }]]
649
+ };
650
+ __iconData$47.node;
651
+ var Check = createLucideIcon(__iconData$47);
652
+ //#endregion
653
+ //#region node_modules/lucide-react/dist/esm/icons/chevron-down.mjs
456
654
  /**
457
- * @license lucide-react v1.34.0 - ISC
655
+ * @license lucide-react v1.45.0 - ISC
458
656
  *
459
657
  * This source code is licensed under the ISC license.
460
658
  * See the LICENSE file in the root directory of this source tree.
461
659
  */
462
- var ChevronDown = createLucideIcon("chevron-down", [["path", {
463
- d: "m6 9 6 6 6-6",
464
- key: "qrunsl"
465
- }]]);
660
+ var __iconData$46 = {
661
+ name: "chevron-down",
662
+ size: 24,
663
+ node: [["path", {
664
+ d: "m6 9 6 6 6-6",
665
+ key: "qrunsl"
666
+ }]]
667
+ };
668
+ __iconData$46.node;
669
+ var ChevronDown = createLucideIcon(__iconData$46);
670
+ //#endregion
671
+ //#region node_modules/lucide-react/dist/esm/icons/chevron-left.mjs
466
672
  /**
467
- * @license lucide-react v1.34.0 - ISC
673
+ * @license lucide-react v1.45.0 - ISC
468
674
  *
469
675
  * This source code is licensed under the ISC license.
470
676
  * See the LICENSE file in the root directory of this source tree.
471
677
  */
472
- var ChevronLeft = createLucideIcon("chevron-left", [["path", {
473
- d: "m15 18-6-6 6-6",
474
- key: "1wnfg3"
475
- }]]);
678
+ var __iconData$45 = {
679
+ name: "chevron-left",
680
+ size: 24,
681
+ node: [["path", {
682
+ d: "m15 18-6-6 6-6",
683
+ key: "1wnfg3"
684
+ }]]
685
+ };
686
+ __iconData$45.node;
687
+ var ChevronLeft = createLucideIcon(__iconData$45);
688
+ //#endregion
689
+ //#region node_modules/lucide-react/dist/esm/icons/chevron-right.mjs
476
690
  /**
477
- * @license lucide-react v1.34.0 - ISC
691
+ * @license lucide-react v1.45.0 - ISC
478
692
  *
479
693
  * This source code is licensed under the ISC license.
480
694
  * See the LICENSE file in the root directory of this source tree.
481
695
  */
482
- var ChevronRight = createLucideIcon("chevron-right", [["path", {
483
- d: "m9 18 6-6-6-6",
484
- key: "mthhwq"
485
- }]]);
696
+ var __iconData$44 = {
697
+ name: "chevron-right",
698
+ size: 24,
699
+ node: [["path", {
700
+ d: "m9 18 6-6-6-6",
701
+ key: "mthhwq"
702
+ }]]
703
+ };
704
+ __iconData$44.node;
705
+ var ChevronRight = createLucideIcon(__iconData$44);
706
+ //#endregion
707
+ //#region node_modules/lucide-react/dist/esm/icons/circle-alert.mjs
486
708
  /**
487
- * @license lucide-react v1.34.0 - ISC
709
+ * @license lucide-react v1.45.0 - ISC
488
710
  *
489
711
  * This source code is licensed under the ISC license.
490
712
  * See the LICENSE file in the root directory of this source tree.
491
713
  */
492
- var CircleAlert = createLucideIcon("circle-alert", [
493
- ["circle", {
494
- cx: "12",
495
- cy: "12",
496
- r: "10",
497
- key: "1mglay"
498
- }],
499
- ["line", {
500
- x1: "12",
501
- x2: "12",
502
- y1: "8",
503
- y2: "12",
504
- key: "1pkeuh"
505
- }],
506
- ["line", {
507
- x1: "12",
508
- x2: "12.01",
509
- y1: "16",
510
- y2: "16",
511
- key: "4dfq90"
512
- }]
513
- ]);
714
+ var __iconData$43 = {
715
+ name: "circle-alert",
716
+ size: 24,
717
+ node: [
718
+ ["circle", {
719
+ cx: "12",
720
+ cy: "12",
721
+ r: "10",
722
+ key: "1mglay"
723
+ }],
724
+ ["line", {
725
+ x1: "12",
726
+ x2: "12",
727
+ y1: "8",
728
+ y2: "12",
729
+ key: "1pkeuh"
730
+ }],
731
+ ["line", {
732
+ x1: "12",
733
+ x2: "12.01",
734
+ y1: "16",
735
+ y2: "16",
736
+ key: "4dfq90"
737
+ }]
738
+ ],
739
+ aliases: ["alert-circle"]
740
+ };
741
+ __iconData$43.node;
742
+ var CircleAlert = createLucideIcon(__iconData$43);
743
+ //#endregion
744
+ //#region node_modules/lucide-react/dist/esm/icons/circle-question-mark.mjs
514
745
  /**
515
- * @license lucide-react v1.34.0 - ISC
746
+ * @license lucide-react v1.45.0 - ISC
516
747
  *
517
748
  * This source code is licensed under the ISC license.
518
749
  * See the LICENSE file in the root directory of this source tree.
519
750
  */
520
- var CircleQuestionMark = createLucideIcon("circle-question-mark", [
521
- ["circle", {
522
- cx: "12",
523
- cy: "12",
524
- r: "10",
525
- key: "1mglay"
526
- }],
527
- ["path", {
528
- d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",
529
- key: "1u773s"
530
- }],
531
- ["path", {
532
- d: "M12 17h.01",
533
- key: "p32p05"
534
- }]
535
- ]);
751
+ var __iconData$42 = {
752
+ name: "circle-question-mark",
753
+ size: 24,
754
+ node: [
755
+ ["circle", {
756
+ cx: "12",
757
+ cy: "12",
758
+ r: "10",
759
+ key: "1mglay"
760
+ }],
761
+ ["path", {
762
+ d: "M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",
763
+ key: "1u773s"
764
+ }],
765
+ ["path", {
766
+ d: "M12 17h.01",
767
+ key: "p32p05"
768
+ }]
769
+ ],
770
+ aliases: ["help-circle", "circle-help"]
771
+ };
772
+ __iconData$42.node;
773
+ var CircleQuestionMark = createLucideIcon(__iconData$42);
774
+ //#endregion
775
+ //#region node_modules/lucide-react/dist/esm/icons/circle-x.mjs
536
776
  /**
537
- * @license lucide-react v1.34.0 - ISC
777
+ * @license lucide-react v1.45.0 - ISC
538
778
  *
539
779
  * This source code is licensed under the ISC license.
540
780
  * See the LICENSE file in the root directory of this source tree.
541
781
  */
542
- var CircleX = createLucideIcon("circle-x", [
543
- ["circle", {
544
- cx: "12",
545
- cy: "12",
546
- r: "10",
547
- key: "1mglay"
548
- }],
549
- ["path", {
550
- d: "m15 9-6 6",
551
- key: "1uzhvr"
552
- }],
553
- ["path", {
554
- d: "m9 9 6 6",
555
- key: "z0biqf"
556
- }]
557
- ]);
782
+ var __iconData$41 = {
783
+ name: "circle-x",
784
+ size: 24,
785
+ node: [
786
+ ["circle", {
787
+ cx: "12",
788
+ cy: "12",
789
+ r: "10",
790
+ key: "1mglay"
791
+ }],
792
+ ["path", {
793
+ d: "m15 9-6 6",
794
+ key: "1uzhvr"
795
+ }],
796
+ ["path", {
797
+ d: "m9 9 6 6",
798
+ key: "z0biqf"
799
+ }]
800
+ ],
801
+ aliases: ["x-circle"]
802
+ };
803
+ __iconData$41.node;
804
+ var CircleX = createLucideIcon(__iconData$41);
805
+ //#endregion
806
+ //#region node_modules/lucide-react/dist/esm/icons/clipboard.mjs
558
807
  /**
559
- * @license lucide-react v1.34.0 - ISC
808
+ * @license lucide-react v1.45.0 - ISC
560
809
  *
561
810
  * This source code is licensed under the ISC license.
562
811
  * See the LICENSE file in the root directory of this source tree.
563
812
  */
564
- var Clipboard = createLucideIcon("clipboard", [["rect", {
565
- width: "8",
566
- height: "4",
567
- x: "8",
568
- y: "2",
569
- rx: "1",
570
- ry: "1",
571
- key: "tgr4d6"
572
- }], ["path", {
573
- d: "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",
574
- key: "116196"
575
- }]]);
576
- /**
577
- * @license lucide-react v1.34.0 - ISC
813
+ var __iconData$40 = {
814
+ name: "clipboard",
815
+ size: 24,
816
+ node: [["rect", {
817
+ width: "8",
818
+ height: "4",
819
+ x: "8",
820
+ y: "2",
821
+ rx: "1",
822
+ ry: "1",
823
+ key: "tgr4d6"
824
+ }], ["path", {
825
+ d: "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",
826
+ key: "116196"
827
+ }]]
828
+ };
829
+ __iconData$40.node;
830
+ var Clipboard = createLucideIcon(__iconData$40);
831
+ //#endregion
832
+ //#region node_modules/lucide-react/dist/esm/icons/clock.mjs
833
+ /**
834
+ * @license lucide-react v1.45.0 - ISC
578
835
  *
579
836
  * This source code is licensed under the ISC license.
580
837
  * See the LICENSE file in the root directory of this source tree.
581
838
  */
582
- var Clock = createLucideIcon("clock", [["circle", {
583
- cx: "12",
584
- cy: "12",
585
- r: "10",
586
- key: "1mglay"
587
- }], ["path", {
588
- d: "M12 6v6l4 2",
589
- key: "mmk7yg"
590
- }]]);
591
- /**
592
- * @license lucide-react v1.34.0 - ISC
839
+ var __iconData$39 = {
840
+ name: "clock",
841
+ size: 24,
842
+ node: [["circle", {
843
+ cx: "12",
844
+ cy: "12",
845
+ r: "10",
846
+ key: "1mglay"
847
+ }], ["path", {
848
+ d: "M12 6v6l4 2",
849
+ key: "mmk7yg"
850
+ }]]
851
+ };
852
+ __iconData$39.node;
853
+ var Clock = createLucideIcon(__iconData$39);
854
+ //#endregion
855
+ //#region node_modules/lucide-react/dist/esm/icons/cog.mjs
856
+ /**
857
+ * @license lucide-react v1.45.0 - ISC
593
858
  *
594
859
  * This source code is licensed under the ISC license.
595
860
  * See the LICENSE file in the root directory of this source tree.
596
861
  */
597
- var Cog = createLucideIcon("cog", [
598
- ["path", {
599
- d: "M11 10.27 7 3.34",
600
- key: "16pf9h"
601
- }],
602
- ["path", {
603
- d: "m11 13.73-4 6.93",
604
- key: "794ttg"
605
- }],
606
- ["path", {
607
- d: "M12 22v-2",
608
- key: "1osdcq"
609
- }],
610
- ["path", {
611
- d: "M12 2v2",
612
- key: "tus03m"
613
- }],
614
- ["path", {
615
- d: "M14 12h8",
616
- key: "4f43i9"
617
- }],
618
- ["path", {
619
- d: "m17 20.66-1-1.73",
620
- key: "eq3orb"
621
- }],
622
- ["path", {
623
- d: "m17 3.34-1 1.73",
624
- key: "2wel8s"
625
- }],
626
- ["path", {
627
- d: "M2 12h2",
628
- key: "1t8f8n"
629
- }],
630
- ["path", {
631
- d: "m20.66 17-1.73-1",
632
- key: "sg0v6f"
633
- }],
634
- ["path", {
635
- d: "m20.66 7-1.73 1",
636
- key: "1ow05n"
637
- }],
638
- ["path", {
639
- d: "m3.34 17 1.73-1",
640
- key: "nuk764"
641
- }],
642
- ["path", {
643
- d: "m3.34 7 1.73 1",
644
- key: "1ulond"
645
- }],
646
- ["circle", {
647
- cx: "12",
648
- cy: "12",
649
- r: "2",
650
- key: "1c9p78"
651
- }],
652
- ["circle", {
653
- cx: "12",
654
- cy: "12",
655
- r: "8",
656
- key: "46899m"
657
- }]
658
- ]);
862
+ var __iconData$38 = {
863
+ name: "cog",
864
+ size: 24,
865
+ node: [
866
+ ["path", {
867
+ d: "M11 10.27 7 3.34",
868
+ key: "16pf9h"
869
+ }],
870
+ ["path", {
871
+ d: "m11 13.73-4 6.93",
872
+ key: "794ttg"
873
+ }],
874
+ ["path", {
875
+ d: "M12 22v-2",
876
+ key: "1osdcq"
877
+ }],
878
+ ["path", {
879
+ d: "M12 2v2",
880
+ key: "tus03m"
881
+ }],
882
+ ["path", {
883
+ d: "M14 12h8",
884
+ key: "4f43i9"
885
+ }],
886
+ ["path", {
887
+ d: "m17 20.66-1-1.73",
888
+ key: "eq3orb"
889
+ }],
890
+ ["path", {
891
+ d: "m17 3.34-1 1.73",
892
+ key: "2wel8s"
893
+ }],
894
+ ["path", {
895
+ d: "M2 12h2",
896
+ key: "1t8f8n"
897
+ }],
898
+ ["path", {
899
+ d: "m20.66 17-1.73-1",
900
+ key: "sg0v6f"
901
+ }],
902
+ ["path", {
903
+ d: "m20.66 7-1.73 1",
904
+ key: "1ow05n"
905
+ }],
906
+ ["path", {
907
+ d: "m3.34 17 1.73-1",
908
+ key: "nuk764"
909
+ }],
910
+ ["path", {
911
+ d: "m3.34 7 1.73 1",
912
+ key: "1ulond"
913
+ }],
914
+ ["circle", {
915
+ cx: "12",
916
+ cy: "12",
917
+ r: "2",
918
+ key: "1c9p78"
919
+ }],
920
+ ["circle", {
921
+ cx: "12",
922
+ cy: "12",
923
+ r: "8",
924
+ key: "46899m"
925
+ }]
926
+ ]
927
+ };
928
+ __iconData$38.node;
929
+ var Cog = createLucideIcon(__iconData$38);
930
+ //#endregion
931
+ //#region node_modules/lucide-react/dist/esm/icons/copy.mjs
659
932
  /**
660
- * @license lucide-react v1.34.0 - ISC
933
+ * @license lucide-react v1.45.0 - ISC
661
934
  *
662
935
  * This source code is licensed under the ISC license.
663
936
  * See the LICENSE file in the root directory of this source tree.
664
937
  */
665
- var Copy = createLucideIcon("copy", [["rect", {
666
- width: "14",
667
- height: "14",
668
- x: "8",
669
- y: "8",
670
- rx: "2",
671
- ry: "2",
672
- key: "17jyea"
673
- }], ["path", {
674
- d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",
675
- key: "zix9uf"
676
- }]]);
677
- /**
678
- * @license lucide-react v1.34.0 - ISC
938
+ var __iconData$37 = {
939
+ name: "copy",
940
+ size: 24,
941
+ node: [["rect", {
942
+ width: "14",
943
+ height: "14",
944
+ x: "8",
945
+ y: "8",
946
+ rx: "2",
947
+ ry: "2",
948
+ key: "17jyea"
949
+ }], ["path", {
950
+ d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",
951
+ key: "zix9uf"
952
+ }]]
953
+ };
954
+ __iconData$37.node;
955
+ var Copy = createLucideIcon(__iconData$37);
956
+ //#endregion
957
+ //#region node_modules/lucide-react/dist/esm/icons/database.mjs
958
+ /**
959
+ * @license lucide-react v1.45.0 - ISC
679
960
  *
680
961
  * This source code is licensed under the ISC license.
681
962
  * See the LICENSE file in the root directory of this source tree.
682
963
  */
683
- var Database = createLucideIcon("database", [
684
- ["ellipse", {
685
- cx: "12",
686
- cy: "5",
687
- rx: "9",
688
- ry: "3",
689
- key: "msslwz"
690
- }],
691
- ["path", {
692
- d: "M3 5V19A9 3 0 0 0 21 19V5",
693
- key: "1wlel7"
694
- }],
695
- ["path", {
696
- d: "M3 12A9 3 0 0 0 21 12",
697
- key: "mv7ke4"
698
- }]
699
- ]);
964
+ var __iconData$36 = {
965
+ name: "database",
966
+ size: 24,
967
+ node: [
968
+ ["ellipse", {
969
+ cx: "12",
970
+ cy: "5",
971
+ rx: "9",
972
+ ry: "3",
973
+ key: "msslwz"
974
+ }],
975
+ ["path", {
976
+ d: "M3 5V19A9 3 0 0 0 21 19V5",
977
+ key: "1wlel7"
978
+ }],
979
+ ["path", {
980
+ d: "M3 12A9 3 0 0 0 21 12",
981
+ key: "mv7ke4"
982
+ }]
983
+ ]
984
+ };
985
+ __iconData$36.node;
986
+ var Database = createLucideIcon(__iconData$36);
987
+ //#endregion
988
+ //#region node_modules/lucide-react/dist/esm/icons/diamond.mjs
700
989
  /**
701
- * @license lucide-react v1.34.0 - ISC
990
+ * @license lucide-react v1.45.0 - ISC
702
991
  *
703
992
  * This source code is licensed under the ISC license.
704
993
  * See the LICENSE file in the root directory of this source tree.
705
994
  */
706
- var Diamond = createLucideIcon("diamond", [["path", {
707
- d: "M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41l-7.59-7.59a2.41 2.41 0 0 0-3.41 0Z",
708
- key: "1f1r0c"
709
- }]]);
995
+ var __iconData$35 = {
996
+ name: "diamond",
997
+ size: 24,
998
+ node: [["path", {
999
+ d: "M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41l-7.59-7.59a2.41 2.41 0 0 0-3.41 0Z",
1000
+ key: "1f1r0c"
1001
+ }]]
1002
+ };
1003
+ __iconData$35.node;
1004
+ var Diamond = createLucideIcon(__iconData$35);
1005
+ //#endregion
1006
+ //#region node_modules/lucide-react/dist/esm/icons/divide.mjs
710
1007
  /**
711
- * @license lucide-react v1.34.0 - ISC
1008
+ * @license lucide-react v1.45.0 - ISC
712
1009
  *
713
1010
  * This source code is licensed under the ISC license.
714
1011
  * See the LICENSE file in the root directory of this source tree.
715
1012
  */
716
- var Divide = createLucideIcon("divide", [
717
- ["circle", {
718
- cx: "12",
719
- cy: "6",
720
- r: "1",
721
- key: "1bh7o1"
722
- }],
723
- ["line", {
724
- x1: "5",
725
- x2: "19",
726
- y1: "12",
727
- y2: "12",
728
- key: "13b5wn"
729
- }],
730
- ["circle", {
731
- cx: "12",
732
- cy: "18",
733
- r: "1",
734
- key: "lqb9t5"
735
- }]
736
- ]);
1013
+ var __iconData$34 = {
1014
+ name: "divide",
1015
+ size: 24,
1016
+ node: [
1017
+ ["circle", {
1018
+ cx: "12",
1019
+ cy: "6",
1020
+ r: "1",
1021
+ key: "1bh7o1"
1022
+ }],
1023
+ ["line", {
1024
+ x1: "5",
1025
+ x2: "19",
1026
+ y1: "12",
1027
+ y2: "12",
1028
+ key: "13b5wn"
1029
+ }],
1030
+ ["circle", {
1031
+ cx: "12",
1032
+ cy: "18",
1033
+ r: "1",
1034
+ key: "lqb9t5"
1035
+ }]
1036
+ ]
1037
+ };
1038
+ __iconData$34.node;
1039
+ var Divide = createLucideIcon(__iconData$34);
1040
+ //#endregion
1041
+ //#region node_modules/lucide-react/dist/esm/icons/external-link.mjs
737
1042
  /**
738
- * @license lucide-react v1.34.0 - ISC
1043
+ * @license lucide-react v1.45.0 - ISC
739
1044
  *
740
1045
  * This source code is licensed under the ISC license.
741
1046
  * See the LICENSE file in the root directory of this source tree.
742
1047
  */
743
- var ExternalLink = createLucideIcon("external-link", [
744
- ["path", {
745
- d: "M15 3h6v6",
746
- key: "1q9fwt"
747
- }],
748
- ["path", {
749
- d: "M10 14 21 3",
750
- key: "gplh6r"
751
- }],
752
- ["path", {
753
- d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",
754
- key: "a6xqqp"
755
- }]
756
- ]);
1048
+ var __iconData$33 = {
1049
+ name: "external-link",
1050
+ size: 24,
1051
+ node: [
1052
+ ["path", {
1053
+ d: "M15 3h6v6",
1054
+ key: "1q9fwt"
1055
+ }],
1056
+ ["path", {
1057
+ d: "M10 14 21 3",
1058
+ key: "gplh6r"
1059
+ }],
1060
+ ["path", {
1061
+ d: "M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",
1062
+ key: "a6xqqp"
1063
+ }]
1064
+ ]
1065
+ };
1066
+ __iconData$33.node;
1067
+ var ExternalLink = createLucideIcon(__iconData$33);
1068
+ //#endregion
1069
+ //#region node_modules/lucide-react/dist/esm/icons/git-branch.mjs
757
1070
  /**
758
- * @license lucide-react v1.34.0 - ISC
1071
+ * @license lucide-react v1.45.0 - ISC
759
1072
  *
760
1073
  * This source code is licensed under the ISC license.
761
1074
  * See the LICENSE file in the root directory of this source tree.
762
1075
  */
763
- var GitBranch = createLucideIcon("git-branch", [
764
- ["path", {
765
- d: "M15 6a9 9 0 0 0-9 9V3",
766
- key: "1cii5b"
767
- }],
768
- ["circle", {
769
- cx: "18",
770
- cy: "6",
771
- r: "3",
772
- key: "1h7g24"
773
- }],
774
- ["circle", {
775
- cx: "6",
776
- cy: "18",
777
- r: "3",
778
- key: "fqmcym"
779
- }]
780
- ]);
1076
+ var __iconData$32 = {
1077
+ name: "git-branch",
1078
+ size: 24,
1079
+ node: [
1080
+ ["path", {
1081
+ d: "M15 6a9 9 0 0 0-9 9V3",
1082
+ key: "1cii5b"
1083
+ }],
1084
+ ["circle", {
1085
+ cx: "18",
1086
+ cy: "6",
1087
+ r: "3",
1088
+ key: "1h7g24"
1089
+ }],
1090
+ ["circle", {
1091
+ cx: "6",
1092
+ cy: "18",
1093
+ r: "3",
1094
+ key: "fqmcym"
1095
+ }]
1096
+ ]
1097
+ };
1098
+ __iconData$32.node;
1099
+ var GitBranch = createLucideIcon(__iconData$32);
1100
+ //#endregion
1101
+ //#region node_modules/lucide-react/dist/esm/icons/git-commit-horizontal.mjs
781
1102
  /**
782
- * @license lucide-react v1.34.0 - ISC
1103
+ * @license lucide-react v1.45.0 - ISC
783
1104
  *
784
1105
  * This source code is licensed under the ISC license.
785
1106
  * See the LICENSE file in the root directory of this source tree.
786
1107
  */
787
- var GitCommitHorizontal = createLucideIcon("git-commit-horizontal", [
788
- ["circle", {
789
- cx: "12",
790
- cy: "12",
791
- r: "3",
792
- key: "1v7zrd"
793
- }],
794
- ["line", {
795
- x1: "3",
796
- x2: "9",
797
- y1: "12",
798
- y2: "12",
799
- key: "1dyftd"
800
- }],
801
- ["line", {
802
- x1: "15",
803
- x2: "21",
804
- y1: "12",
805
- y2: "12",
806
- key: "oup4p8"
807
- }]
808
- ]);
1108
+ var __iconData$31 = {
1109
+ name: "git-commit-horizontal",
1110
+ size: 24,
1111
+ node: [
1112
+ ["circle", {
1113
+ cx: "12",
1114
+ cy: "12",
1115
+ r: "3",
1116
+ key: "1v7zrd"
1117
+ }],
1118
+ ["line", {
1119
+ x1: "3",
1120
+ x2: "9",
1121
+ y1: "12",
1122
+ y2: "12",
1123
+ key: "1dyftd"
1124
+ }],
1125
+ ["line", {
1126
+ x1: "15",
1127
+ x2: "21",
1128
+ y1: "12",
1129
+ y2: "12",
1130
+ key: "oup4p8"
1131
+ }]
1132
+ ],
1133
+ aliases: ["git-commit"]
1134
+ };
1135
+ __iconData$31.node;
1136
+ var GitCommitHorizontal = createLucideIcon(__iconData$31);
1137
+ //#endregion
1138
+ //#region node_modules/lucide-react/dist/esm/icons/git-merge.mjs
809
1139
  /**
810
- * @license lucide-react v1.34.0 - ISC
1140
+ * @license lucide-react v1.45.0 - ISC
811
1141
  *
812
1142
  * This source code is licensed under the ISC license.
813
1143
  * See the LICENSE file in the root directory of this source tree.
814
1144
  */
815
- var GitMerge = createLucideIcon("git-merge", [
816
- ["circle", {
817
- cx: "18",
818
- cy: "18",
819
- r: "3",
820
- key: "1xkwt0"
821
- }],
822
- ["circle", {
823
- cx: "6",
824
- cy: "6",
825
- r: "3",
826
- key: "1lh9wr"
827
- }],
828
- ["path", {
829
- d: "M6 21V9a9 9 0 0 0 9 9",
830
- key: "7kw0sc"
831
- }]
832
- ]);
1145
+ var __iconData$30 = {
1146
+ name: "git-merge",
1147
+ size: 24,
1148
+ node: [
1149
+ ["circle", {
1150
+ cx: "18",
1151
+ cy: "18",
1152
+ r: "3",
1153
+ key: "1xkwt0"
1154
+ }],
1155
+ ["circle", {
1156
+ cx: "6",
1157
+ cy: "6",
1158
+ r: "3",
1159
+ key: "1lh9wr"
1160
+ }],
1161
+ ["path", {
1162
+ d: "M6 21V9a9 9 0 0 0 9 9",
1163
+ key: "7kw0sc"
1164
+ }]
1165
+ ]
1166
+ };
1167
+ __iconData$30.node;
1168
+ var GitMerge = createLucideIcon(__iconData$30);
1169
+ //#endregion
1170
+ //#region node_modules/lucide-react/dist/esm/icons/hash.mjs
833
1171
  /**
834
- * @license lucide-react v1.34.0 - ISC
1172
+ * @license lucide-react v1.45.0 - ISC
835
1173
  *
836
1174
  * This source code is licensed under the ISC license.
837
1175
  * See the LICENSE file in the root directory of this source tree.
838
1176
  */
839
- var Hash = createLucideIcon("hash", [
840
- ["line", {
841
- x1: "4",
842
- x2: "20",
843
- y1: "9",
844
- y2: "9",
845
- key: "4lhtct"
846
- }],
847
- ["line", {
848
- x1: "4",
849
- x2: "20",
850
- y1: "15",
851
- y2: "15",
852
- key: "vyu0kd"
853
- }],
854
- ["line", {
855
- x1: "10",
856
- x2: "8",
857
- y1: "3",
858
- y2: "21",
859
- key: "1ggp8o"
860
- }],
861
- ["line", {
862
- x1: "16",
863
- x2: "14",
864
- y1: "3",
865
- y2: "21",
866
- key: "weycgp"
867
- }]
868
- ]);
1177
+ var __iconData$29 = {
1178
+ name: "hash",
1179
+ size: 24,
1180
+ node: [
1181
+ ["line", {
1182
+ x1: "4",
1183
+ x2: "20",
1184
+ y1: "9",
1185
+ y2: "9",
1186
+ key: "4lhtct"
1187
+ }],
1188
+ ["line", {
1189
+ x1: "4",
1190
+ x2: "20",
1191
+ y1: "15",
1192
+ y2: "15",
1193
+ key: "vyu0kd"
1194
+ }],
1195
+ ["line", {
1196
+ x1: "10",
1197
+ x2: "8",
1198
+ y1: "3",
1199
+ y2: "21",
1200
+ key: "1ggp8o"
1201
+ }],
1202
+ ["line", {
1203
+ x1: "16",
1204
+ x2: "14",
1205
+ y1: "3",
1206
+ y2: "21",
1207
+ key: "weycgp"
1208
+ }]
1209
+ ]
1210
+ };
1211
+ __iconData$29.node;
1212
+ var Hash = createLucideIcon(__iconData$29);
1213
+ //#endregion
1214
+ //#region node_modules/lucide-react/dist/esm/icons/layers.mjs
869
1215
  /**
870
- * @license lucide-react v1.34.0 - ISC
1216
+ * @license lucide-react v1.45.0 - ISC
871
1217
  *
872
1218
  * This source code is licensed under the ISC license.
873
1219
  * See the LICENSE file in the root directory of this source tree.
874
1220
  */
875
- var Layers = createLucideIcon("layers", [
876
- ["path", {
877
- d: "M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",
878
- key: "zw3jo"
879
- }],
880
- ["path", {
881
- d: "M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",
882
- key: "1wduqc"
883
- }],
884
- ["path", {
885
- d: "M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",
886
- key: "kqbvx6"
887
- }]
888
- ]);
1221
+ var __iconData$28 = {
1222
+ name: "layers",
1223
+ size: 24,
1224
+ node: [
1225
+ ["path", {
1226
+ d: "M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",
1227
+ key: "zw3jo"
1228
+ }],
1229
+ ["path", {
1230
+ d: "M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",
1231
+ key: "1wduqc"
1232
+ }],
1233
+ ["path", {
1234
+ d: "M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",
1235
+ key: "kqbvx6"
1236
+ }]
1237
+ ],
1238
+ aliases: ["layers-3"]
1239
+ };
1240
+ __iconData$28.node;
1241
+ var Layers = createLucideIcon(__iconData$28);
1242
+ //#endregion
1243
+ //#region node_modules/lucide-react/dist/esm/icons/link-2-off.mjs
889
1244
  /**
890
- * @license lucide-react v1.34.0 - ISC
1245
+ * @license lucide-react v1.45.0 - ISC
891
1246
  *
892
1247
  * This source code is licensed under the ISC license.
893
1248
  * See the LICENSE file in the root directory of this source tree.
894
1249
  */
895
- var Link2Off = createLucideIcon("link-2-off", [
896
- ["path", {
897
- d: "M9 17H7A5 5 0 0 1 7 7",
898
- key: "10o201"
899
- }],
900
- ["path", {
901
- d: "M15 7h2a5 5 0 0 1 4 8",
902
- key: "1d3206"
903
- }],
904
- ["line", {
905
- x1: "8",
906
- x2: "12",
907
- y1: "12",
908
- y2: "12",
909
- key: "rvw6j4"
910
- }],
911
- ["line", {
912
- x1: "2",
913
- x2: "22",
914
- y1: "2",
915
- y2: "22",
916
- key: "a6p6uj"
917
- }]
918
- ]);
1250
+ var __iconData$27 = {
1251
+ name: "link-2-off",
1252
+ size: 24,
1253
+ node: [
1254
+ ["path", {
1255
+ d: "M9 17H7A5 5 0 0 1 7 7",
1256
+ key: "10o201"
1257
+ }],
1258
+ ["path", {
1259
+ d: "M15 7h2a5 5 0 0 1 4 8",
1260
+ key: "1d3206"
1261
+ }],
1262
+ ["line", {
1263
+ x1: "8",
1264
+ x2: "12",
1265
+ y1: "12",
1266
+ y2: "12",
1267
+ key: "rvw6j4"
1268
+ }],
1269
+ ["line", {
1270
+ x1: "2",
1271
+ x2: "22",
1272
+ y1: "2",
1273
+ y2: "22",
1274
+ key: "a6p6uj"
1275
+ }]
1276
+ ]
1277
+ };
1278
+ __iconData$27.node;
1279
+ var Link2Off = createLucideIcon(__iconData$27);
1280
+ //#endregion
1281
+ //#region node_modules/lucide-react/dist/esm/icons/list-ordered.mjs
919
1282
  /**
920
- * @license lucide-react v1.34.0 - ISC
1283
+ * @license lucide-react v1.45.0 - ISC
921
1284
  *
922
1285
  * This source code is licensed under the ISC license.
923
1286
  * See the LICENSE file in the root directory of this source tree.
924
1287
  */
925
- var ListOrdered = createLucideIcon("list-ordered", [
926
- ["path", {
927
- d: "M11 5h10",
928
- key: "1cz7ny"
929
- }],
930
- ["path", {
931
- d: "M11 12h10",
932
- key: "1438ji"
933
- }],
934
- ["path", {
935
- d: "M11 19h10",
936
- key: "11t30w"
937
- }],
938
- ["path", {
939
- d: "M4 4h1v5",
940
- key: "10yrso"
941
- }],
942
- ["path", {
943
- d: "M4 9h2",
944
- key: "r1h2o0"
945
- }],
946
- ["path", {
947
- d: "M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02",
948
- key: "xtkcd5"
949
- }]
950
- ]);
1288
+ var __iconData$26 = {
1289
+ name: "list-ordered",
1290
+ size: 24,
1291
+ node: [
1292
+ ["path", {
1293
+ d: "M11 5h10",
1294
+ key: "1cz7ny"
1295
+ }],
1296
+ ["path", {
1297
+ d: "M11 12h10",
1298
+ key: "1438ji"
1299
+ }],
1300
+ ["path", {
1301
+ d: "M11 19h10",
1302
+ key: "11t30w"
1303
+ }],
1304
+ ["path", {
1305
+ d: "M4 4h1v5",
1306
+ key: "10yrso"
1307
+ }],
1308
+ ["path", {
1309
+ d: "M4 9h2",
1310
+ key: "r1h2o0"
1311
+ }],
1312
+ ["path", {
1313
+ d: "M6.5 20H3.4c0-1 2.6-1.925 2.6-3.5a1.5 1.5 0 0 0-2.6-1.02",
1314
+ key: "xtkcd5"
1315
+ }]
1316
+ ]
1317
+ };
1318
+ __iconData$26.node;
1319
+ var ListOrdered = createLucideIcon(__iconData$26);
1320
+ //#endregion
1321
+ //#region node_modules/lucide-react/dist/esm/icons/list.mjs
951
1322
  /**
952
- * @license lucide-react v1.34.0 - ISC
1323
+ * @license lucide-react v1.45.0 - ISC
953
1324
  *
954
1325
  * This source code is licensed under the ISC license.
955
1326
  * See the LICENSE file in the root directory of this source tree.
956
1327
  */
957
- var List = createLucideIcon("list", [
958
- ["path", {
959
- d: "M3 5h.01",
960
- key: "18ugdj"
961
- }],
962
- ["path", {
963
- d: "M3 12h.01",
964
- key: "nlz23k"
965
- }],
966
- ["path", {
967
- d: "M3 19h.01",
968
- key: "noohij"
969
- }],
970
- ["path", {
971
- d: "M8 5h13",
972
- key: "1pao27"
973
- }],
974
- ["path", {
975
- d: "M8 12h13",
976
- key: "1za7za"
977
- }],
978
- ["path", {
979
- d: "M8 19h13",
980
- key: "m83p4d"
981
- }]
982
- ]);
1328
+ var __iconData$25 = {
1329
+ name: "list",
1330
+ size: 24,
1331
+ node: [
1332
+ ["path", {
1333
+ d: "M3 5h.01",
1334
+ key: "18ugdj"
1335
+ }],
1336
+ ["path", {
1337
+ d: "M3 12h.01",
1338
+ key: "nlz23k"
1339
+ }],
1340
+ ["path", {
1341
+ d: "M3 19h.01",
1342
+ key: "noohij"
1343
+ }],
1344
+ ["path", {
1345
+ d: "M8 5h13",
1346
+ key: "1pao27"
1347
+ }],
1348
+ ["path", {
1349
+ d: "M8 12h13",
1350
+ key: "1za7za"
1351
+ }],
1352
+ ["path", {
1353
+ d: "M8 19h13",
1354
+ key: "m83p4d"
1355
+ }]
1356
+ ]
1357
+ };
1358
+ __iconData$25.node;
1359
+ var List = createLucideIcon(__iconData$25);
1360
+ //#endregion
1361
+ //#region node_modules/lucide-react/dist/esm/icons/maximize.mjs
983
1362
  /**
984
- * @license lucide-react v1.34.0 - ISC
1363
+ * @license lucide-react v1.45.0 - ISC
985
1364
  *
986
1365
  * This source code is licensed under the ISC license.
987
1366
  * See the LICENSE file in the root directory of this source tree.
988
1367
  */
989
- var Maximize = createLucideIcon("maximize", [
990
- ["path", {
991
- d: "M8 3H5a2 2 0 0 0-2 2v3",
992
- key: "1dcmit"
993
- }],
994
- ["path", {
995
- d: "M21 8V5a2 2 0 0 0-2-2h-3",
996
- key: "1e4gt3"
997
- }],
998
- ["path", {
999
- d: "M3 16v3a2 2 0 0 0 2 2h3",
1000
- key: "wsl5sc"
1001
- }],
1002
- ["path", {
1003
- d: "M16 21h3a2 2 0 0 0 2-2v-3",
1004
- key: "18trek"
1005
- }]
1006
- ]);
1368
+ var __iconData$24 = {
1369
+ name: "maximize",
1370
+ size: 24,
1371
+ node: [
1372
+ ["path", {
1373
+ d: "M8 3H5a2 2 0 0 0-2 2v3",
1374
+ key: "1dcmit"
1375
+ }],
1376
+ ["path", {
1377
+ d: "M21 8V5a2 2 0 0 0-2-2h-3",
1378
+ key: "1e4gt3"
1379
+ }],
1380
+ ["path", {
1381
+ d: "M3 16v3a2 2 0 0 0 2 2h3",
1382
+ key: "wsl5sc"
1383
+ }],
1384
+ ["path", {
1385
+ d: "M16 21h3a2 2 0 0 0 2-2v-3",
1386
+ key: "18trek"
1387
+ }]
1388
+ ]
1389
+ };
1390
+ __iconData$24.node;
1391
+ var Maximize = createLucideIcon(__iconData$24);
1392
+ //#endregion
1393
+ //#region node_modules/lucide-react/dist/esm/icons/mouse-pointer-2.mjs
1007
1394
  /**
1008
- * @license lucide-react v1.34.0 - ISC
1395
+ * @license lucide-react v1.45.0 - ISC
1009
1396
  *
1010
1397
  * This source code is licensed under the ISC license.
1011
1398
  * See the LICENSE file in the root directory of this source tree.
1012
1399
  */
1013
- var MousePointer2 = createLucideIcon("mouse-pointer-2", [["path", {
1014
- d: "M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z",
1015
- key: "edeuup"
1016
- }]]);
1400
+ var __iconData$23 = {
1401
+ name: "mouse-pointer-2",
1402
+ size: 24,
1403
+ node: [["path", {
1404
+ d: "M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z",
1405
+ key: "edeuup"
1406
+ }]]
1407
+ };
1408
+ __iconData$23.node;
1409
+ var MousePointer2 = createLucideIcon(__iconData$23);
1410
+ //#endregion
1411
+ //#region node_modules/lucide-react/dist/esm/icons/pause.mjs
1017
1412
  /**
1018
- * @license lucide-react v1.34.0 - ISC
1413
+ * @license lucide-react v1.45.0 - ISC
1019
1414
  *
1020
1415
  * This source code is licensed under the ISC license.
1021
1416
  * See the LICENSE file in the root directory of this source tree.
1022
1417
  */
1023
- var Pause = createLucideIcon("pause", [["rect", {
1024
- x: "14",
1025
- y: "3",
1026
- width: "5",
1027
- height: "18",
1028
- rx: "1",
1029
- key: "kaeet6"
1030
- }], ["rect", {
1031
- x: "5",
1032
- y: "3",
1033
- width: "5",
1034
- height: "18",
1035
- rx: "1",
1036
- key: "1wsw3u"
1037
- }]]);
1038
- /**
1039
- * @license lucide-react v1.34.0 - ISC
1418
+ var __iconData$22 = {
1419
+ name: "pause",
1420
+ size: 24,
1421
+ node: [["rect", {
1422
+ x: "14",
1423
+ y: "3",
1424
+ width: "5",
1425
+ height: "18",
1426
+ rx: "1",
1427
+ key: "kaeet6"
1428
+ }], ["rect", {
1429
+ x: "5",
1430
+ y: "3",
1431
+ width: "5",
1432
+ height: "18",
1433
+ rx: "1",
1434
+ key: "1wsw3u"
1435
+ }]]
1436
+ };
1437
+ __iconData$22.node;
1438
+ var Pause = createLucideIcon(__iconData$22);
1439
+ //#endregion
1440
+ //#region node_modules/lucide-react/dist/esm/icons/pen-line.mjs
1441
+ /**
1442
+ * @license lucide-react v1.45.0 - ISC
1040
1443
  *
1041
1444
  * This source code is licensed under the ISC license.
1042
1445
  * See the LICENSE file in the root directory of this source tree.
1043
1446
  */
1044
- var PenLine = createLucideIcon("pen-line", [["path", {
1045
- d: "M13 21h8",
1046
- key: "1jsn5i"
1047
- }], ["path", {
1048
- d: "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",
1049
- key: "1a8usu"
1050
- }]]);
1447
+ var __iconData$21 = {
1448
+ name: "pen-line",
1449
+ size: 24,
1450
+ node: [["path", {
1451
+ d: "M13 21h8",
1452
+ key: "1jsn5i"
1453
+ }], ["path", {
1454
+ d: "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",
1455
+ key: "1a8usu"
1456
+ }]],
1457
+ aliases: ["edit-3"]
1458
+ };
1459
+ __iconData$21.node;
1460
+ var PenLine = createLucideIcon(__iconData$21);
1461
+ //#endregion
1462
+ //#region node_modules/lucide-react/dist/esm/icons/play.mjs
1051
1463
  /**
1052
- * @license lucide-react v1.34.0 - ISC
1464
+ * @license lucide-react v1.45.0 - ISC
1053
1465
  *
1054
1466
  * This source code is licensed under the ISC license.
1055
1467
  * See the LICENSE file in the root directory of this source tree.
1056
1468
  */
1057
- var Play = createLucideIcon("play", [["path", {
1058
- d: "M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",
1059
- key: "10ikf1"
1060
- }]]);
1469
+ var __iconData$20 = {
1470
+ name: "play",
1471
+ size: 24,
1472
+ node: [["path", {
1473
+ d: "M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",
1474
+ key: "10ikf1"
1475
+ }]]
1476
+ };
1477
+ __iconData$20.node;
1478
+ var Play = createLucideIcon(__iconData$20);
1479
+ //#endregion
1480
+ //#region node_modules/lucide-react/dist/esm/icons/plus.mjs
1061
1481
  /**
1062
- * @license lucide-react v1.34.0 - ISC
1482
+ * @license lucide-react v1.45.0 - ISC
1063
1483
  *
1064
1484
  * This source code is licensed under the ISC license.
1065
1485
  * See the LICENSE file in the root directory of this source tree.
1066
1486
  */
1067
- var Plus = createLucideIcon("plus", [["path", {
1068
- d: "M5 12h14",
1069
- key: "1ays0h"
1070
- }], ["path", {
1071
- d: "M12 5v14",
1072
- key: "s699le"
1073
- }]]);
1487
+ var __iconData$19 = {
1488
+ name: "plus",
1489
+ size: 24,
1490
+ node: [["path", {
1491
+ d: "M5 12h14",
1492
+ key: "1ays0h"
1493
+ }], ["path", {
1494
+ d: "M12 5v14",
1495
+ key: "s699le"
1496
+ }]]
1497
+ };
1498
+ __iconData$19.node;
1499
+ var Plus = createLucideIcon(__iconData$19);
1500
+ //#endregion
1501
+ //#region node_modules/lucide-react/dist/esm/icons/quote.mjs
1074
1502
  /**
1075
- * @license lucide-react v1.34.0 - ISC
1503
+ * @license lucide-react v1.45.0 - ISC
1076
1504
  *
1077
1505
  * This source code is licensed under the ISC license.
1078
1506
  * See the LICENSE file in the root directory of this source tree.
1079
1507
  */
1080
- var Quote = createLucideIcon("quote", [["path", {
1081
- d: "M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",
1082
- key: "rib7q0"
1083
- }], ["path", {
1084
- d: "M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",
1085
- key: "1ymkrd"
1086
- }]]);
1508
+ var __iconData$18 = {
1509
+ name: "quote",
1510
+ size: 24,
1511
+ node: [["path", {
1512
+ d: "M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",
1513
+ key: "rib7q0"
1514
+ }], ["path", {
1515
+ d: "M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",
1516
+ key: "1ymkrd"
1517
+ }]]
1518
+ };
1519
+ __iconData$18.node;
1520
+ var Quote = createLucideIcon(__iconData$18);
1521
+ //#endregion
1522
+ //#region node_modules/lucide-react/dist/esm/icons/redo-2.mjs
1087
1523
  /**
1088
- * @license lucide-react v1.34.0 - ISC
1524
+ * @license lucide-react v1.45.0 - ISC
1089
1525
  *
1090
1526
  * This source code is licensed under the ISC license.
1091
1527
  * See the LICENSE file in the root directory of this source tree.
1092
1528
  */
1093
- var Redo2 = createLucideIcon("redo-2", [["path", {
1094
- d: "m15 14 5-5-5-5",
1095
- key: "12vg1m"
1096
- }], ["path", {
1097
- d: "M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13",
1098
- key: "6uklza"
1099
- }]]);
1529
+ var __iconData$17 = {
1530
+ name: "redo-2",
1531
+ size: 24,
1532
+ node: [["path", {
1533
+ d: "m15 14 5-5-5-5",
1534
+ key: "12vg1m"
1535
+ }], ["path", {
1536
+ d: "M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13",
1537
+ key: "6uklza"
1538
+ }]]
1539
+ };
1540
+ __iconData$17.node;
1541
+ var Redo2 = createLucideIcon(__iconData$17);
1542
+ //#endregion
1543
+ //#region node_modules/lucide-react/dist/esm/icons/repeat.mjs
1100
1544
  /**
1101
- * @license lucide-react v1.34.0 - ISC
1545
+ * @license lucide-react v1.45.0 - ISC
1102
1546
  *
1103
1547
  * This source code is licensed under the ISC license.
1104
1548
  * See the LICENSE file in the root directory of this source tree.
1105
1549
  */
1106
- var Repeat = createLucideIcon("repeat", [
1107
- ["path", {
1108
- d: "m17 2 4 4-4 4",
1109
- key: "nntrym"
1110
- }],
1111
- ["path", {
1112
- d: "M3 11v-1a4 4 0 0 1 4-4h14",
1113
- key: "84bu3i"
1114
- }],
1115
- ["path", {
1116
- d: "m7 22-4-4 4-4",
1117
- key: "1wqhfi"
1118
- }],
1119
- ["path", {
1120
- d: "M21 13v1a4 4 0 0 1-4 4H3",
1121
- key: "1rx37r"
1122
- }]
1123
- ]);
1550
+ var __iconData$16 = {
1551
+ name: "repeat",
1552
+ size: 24,
1553
+ node: [
1554
+ ["path", {
1555
+ d: "m17 2 4 4-4 4",
1556
+ key: "nntrym"
1557
+ }],
1558
+ ["path", {
1559
+ d: "M3 11v-1a4 4 0 0 1 4-4h14",
1560
+ key: "84bu3i"
1561
+ }],
1562
+ ["path", {
1563
+ d: "m7 22-4-4 4-4",
1564
+ key: "1wqhfi"
1565
+ }],
1566
+ ["path", {
1567
+ d: "M21 13v1a4 4 0 0 1-4 4H3",
1568
+ key: "1rx37r"
1569
+ }]
1570
+ ]
1571
+ };
1572
+ __iconData$16.node;
1573
+ var Repeat = createLucideIcon(__iconData$16);
1574
+ //#endregion
1575
+ //#region node_modules/lucide-react/dist/esm/icons/scale.mjs
1124
1576
  /**
1125
- * @license lucide-react v1.34.0 - ISC
1577
+ * @license lucide-react v1.45.0 - ISC
1126
1578
  *
1127
1579
  * This source code is licensed under the ISC license.
1128
1580
  * See the LICENSE file in the root directory of this source tree.
1129
1581
  */
1130
- var Scale = createLucideIcon("scale", [
1131
- ["path", {
1132
- d: "M12 3v18",
1133
- key: "108xh3"
1134
- }],
1135
- ["path", {
1136
- d: "m19 8 3 8a5 5 0 0 1-6 0zV7",
1137
- key: "zcdpyk"
1138
- }],
1139
- ["path", {
1140
- d: "M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1",
1141
- key: "1yorad"
1142
- }],
1143
- ["path", {
1144
- d: "m5 8 3 8a5 5 0 0 1-6 0zV7",
1145
- key: "eua70x"
1146
- }],
1147
- ["path", {
1148
- d: "M7 21h10",
1149
- key: "1b0cd5"
1150
- }]
1151
- ]);
1582
+ var __iconData$15 = {
1583
+ name: "scale",
1584
+ size: 24,
1585
+ node: [
1586
+ ["path", {
1587
+ d: "M12 3v18",
1588
+ key: "108xh3"
1589
+ }],
1590
+ ["path", {
1591
+ d: "m19 8 3 8a5 5 0 0 1-6 0zV7",
1592
+ key: "zcdpyk"
1593
+ }],
1594
+ ["path", {
1595
+ d: "M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1",
1596
+ key: "1yorad"
1597
+ }],
1598
+ ["path", {
1599
+ d: "m5 8 3 8a5 5 0 0 1-6 0zV7",
1600
+ key: "eua70x"
1601
+ }],
1602
+ ["path", {
1603
+ d: "M7 21h10",
1604
+ key: "1b0cd5"
1605
+ }]
1606
+ ]
1607
+ };
1608
+ __iconData$15.node;
1609
+ var Scale = createLucideIcon(__iconData$15);
1610
+ //#endregion
1611
+ //#region node_modules/lucide-react/dist/esm/icons/search.mjs
1152
1612
  /**
1153
- * @license lucide-react v1.34.0 - ISC
1613
+ * @license lucide-react v1.45.0 - ISC
1154
1614
  *
1155
1615
  * This source code is licensed under the ISC license.
1156
1616
  * See the LICENSE file in the root directory of this source tree.
1157
1617
  */
1158
- var Search = createLucideIcon("search", [["path", {
1159
- d: "m21 21-4.34-4.34",
1160
- key: "14j7rj"
1161
- }], ["circle", {
1162
- cx: "11",
1163
- cy: "11",
1164
- r: "8",
1165
- key: "4ej97u"
1166
- }]]);
1167
- /**
1168
- * @license lucide-react v1.34.0 - ISC
1618
+ var __iconData$14 = {
1619
+ name: "search",
1620
+ size: 24,
1621
+ node: [["path", {
1622
+ d: "m21 21-4.34-4.34",
1623
+ key: "14j7rj"
1624
+ }], ["circle", {
1625
+ cx: "11",
1626
+ cy: "11",
1627
+ r: "8",
1628
+ key: "4ej97u"
1629
+ }]]
1630
+ };
1631
+ __iconData$14.node;
1632
+ var Search = createLucideIcon(__iconData$14);
1633
+ //#endregion
1634
+ //#region node_modules/lucide-react/dist/esm/icons/settings-2.mjs
1635
+ /**
1636
+ * @license lucide-react v1.45.0 - ISC
1169
1637
  *
1170
1638
  * This source code is licensed under the ISC license.
1171
1639
  * See the LICENSE file in the root directory of this source tree.
1172
1640
  */
1173
- var Settings2 = createLucideIcon("settings-2", [
1174
- ["path", {
1175
- d: "M14 17H5",
1176
- key: "gfn3mx"
1177
- }],
1178
- ["path", {
1179
- d: "M19 7h-9",
1180
- key: "6i9tg"
1181
- }],
1182
- ["circle", {
1183
- cx: "17",
1184
- cy: "17",
1185
- r: "3",
1186
- key: "18b49y"
1187
- }],
1188
- ["circle", {
1189
- cx: "7",
1190
- cy: "7",
1191
- r: "3",
1192
- key: "dfmy0x"
1193
- }]
1194
- ]);
1641
+ var __iconData$13 = {
1642
+ name: "settings-2",
1643
+ size: 24,
1644
+ node: [
1645
+ ["path", {
1646
+ d: "M14 17H5",
1647
+ key: "gfn3mx"
1648
+ }],
1649
+ ["path", {
1650
+ d: "M19 7h-9",
1651
+ key: "6i9tg"
1652
+ }],
1653
+ ["circle", {
1654
+ cx: "17",
1655
+ cy: "17",
1656
+ r: "3",
1657
+ key: "18b49y"
1658
+ }],
1659
+ ["circle", {
1660
+ cx: "7",
1661
+ cy: "7",
1662
+ r: "3",
1663
+ key: "dfmy0x"
1664
+ }]
1665
+ ]
1666
+ };
1667
+ __iconData$13.node;
1668
+ var Settings2 = createLucideIcon(__iconData$13);
1669
+ //#endregion
1670
+ //#region node_modules/lucide-react/dist/esm/icons/skip-back.mjs
1195
1671
  /**
1196
- * @license lucide-react v1.34.0 - ISC
1672
+ * @license lucide-react v1.45.0 - ISC
1197
1673
  *
1198
1674
  * This source code is licensed under the ISC license.
1199
1675
  * See the LICENSE file in the root directory of this source tree.
1200
1676
  */
1201
- var SkipBack = createLucideIcon("skip-back", [["path", {
1202
- d: "M17.971 4.285A2 2 0 0 1 21 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z",
1203
- key: "15892j"
1204
- }], ["path", {
1205
- d: "M3 20V4",
1206
- key: "1ptbpl"
1207
- }]]);
1677
+ var __iconData$12 = {
1678
+ name: "skip-back",
1679
+ size: 24,
1680
+ node: [["path", {
1681
+ d: "M17.971 4.285A2 2 0 0 1 21 6v12a2 2 0 0 1-3.029 1.715l-9.997-5.998a2 2 0 0 1-.003-3.432z",
1682
+ key: "15892j"
1683
+ }], ["path", {
1684
+ d: "M3 20V4",
1685
+ key: "1ptbpl"
1686
+ }]]
1687
+ };
1688
+ __iconData$12.node;
1689
+ var SkipBack = createLucideIcon(__iconData$12);
1690
+ //#endregion
1691
+ //#region node_modules/lucide-react/dist/esm/icons/skip-forward.mjs
1208
1692
  /**
1209
- * @license lucide-react v1.34.0 - ISC
1693
+ * @license lucide-react v1.45.0 - ISC
1210
1694
  *
1211
1695
  * This source code is licensed under the ISC license.
1212
1696
  * See the LICENSE file in the root directory of this source tree.
1213
1697
  */
1214
- var SkipForward = createLucideIcon("skip-forward", [["path", {
1215
- d: "M21 4v16",
1216
- key: "7j8fe9"
1217
- }], ["path", {
1218
- d: "M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",
1219
- key: "zs4d6"
1220
- }]]);
1698
+ var __iconData$11 = {
1699
+ name: "skip-forward",
1700
+ size: 24,
1701
+ node: [["path", {
1702
+ d: "M21 4v16",
1703
+ key: "7j8fe9"
1704
+ }], ["path", {
1705
+ d: "M6.029 4.285A2 2 0 0 0 3 6v12a2 2 0 0 0 3.029 1.715l9.997-5.998a2 2 0 0 0 .003-3.432z",
1706
+ key: "zs4d6"
1707
+ }]]
1708
+ };
1709
+ __iconData$11.node;
1710
+ var SkipForward = createLucideIcon(__iconData$11);
1711
+ //#endregion
1712
+ //#region node_modules/lucide-react/dist/esm/icons/tag.mjs
1221
1713
  /**
1222
- * @license lucide-react v1.34.0 - ISC
1714
+ * @license lucide-react v1.45.0 - ISC
1223
1715
  *
1224
1716
  * This source code is licensed under the ISC license.
1225
1717
  * See the LICENSE file in the root directory of this source tree.
1226
1718
  */
1227
- var Tag = createLucideIcon("tag", [["path", {
1228
- d: "M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",
1229
- key: "vktsd0"
1230
- }], ["circle", {
1231
- cx: "7.5",
1232
- cy: "7.5",
1233
- r: ".5",
1234
- fill: "currentColor",
1235
- key: "kqv944"
1236
- }]]);
1237
- /**
1238
- * @license lucide-react v1.34.0 - ISC
1719
+ var __iconData$10 = {
1720
+ name: "tag",
1721
+ size: 24,
1722
+ node: [["path", {
1723
+ d: "M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",
1724
+ key: "vktsd0"
1725
+ }], ["circle", {
1726
+ cx: "7.5",
1727
+ cy: "7.5",
1728
+ r: ".5",
1729
+ fill: "currentColor",
1730
+ key: "kqv944"
1731
+ }]]
1732
+ };
1733
+ __iconData$10.node;
1734
+ var Tag = createLucideIcon(__iconData$10);
1735
+ //#endregion
1736
+ //#region node_modules/lucide-react/dist/esm/icons/text-align-start.mjs
1737
+ /**
1738
+ * @license lucide-react v1.45.0 - ISC
1239
1739
  *
1240
1740
  * This source code is licensed under the ISC license.
1241
1741
  * See the LICENSE file in the root directory of this source tree.
1242
1742
  */
1243
- var TextAlignStart = createLucideIcon("text-align-start", [
1244
- ["path", {
1245
- d: "M21 5H3",
1246
- key: "1fi0y6"
1247
- }],
1248
- ["path", {
1249
- d: "M15 12H3",
1250
- key: "6jk70r"
1251
- }],
1252
- ["path", {
1253
- d: "M17 19H3",
1254
- key: "z6ezky"
1255
- }]
1256
- ]);
1743
+ var __iconData$9 = {
1744
+ name: "text-align-start",
1745
+ size: 24,
1746
+ node: [
1747
+ ["path", {
1748
+ d: "M21 5H3",
1749
+ key: "1fi0y6"
1750
+ }],
1751
+ ["path", {
1752
+ d: "M15 12H3",
1753
+ key: "6jk70r"
1754
+ }],
1755
+ ["path", {
1756
+ d: "M17 19H3",
1757
+ key: "z6ezky"
1758
+ }]
1759
+ ],
1760
+ aliases: ["text", "align-left"]
1761
+ };
1762
+ __iconData$9.node;
1763
+ var TextAlignStart = createLucideIcon(__iconData$9);
1764
+ //#endregion
1765
+ //#region node_modules/lucide-react/dist/esm/icons/toggle-right.mjs
1257
1766
  /**
1258
- * @license lucide-react v1.34.0 - ISC
1767
+ * @license lucide-react v1.45.0 - ISC
1259
1768
  *
1260
1769
  * This source code is licensed under the ISC license.
1261
1770
  * See the LICENSE file in the root directory of this source tree.
1262
1771
  */
1263
- var ToggleLeft = createLucideIcon("toggle-left", [["circle", {
1264
- cx: "9",
1265
- cy: "12",
1266
- r: "3",
1267
- key: "u3jwor"
1268
- }], ["rect", {
1269
- width: "20",
1270
- height: "14",
1271
- x: "2",
1272
- y: "5",
1273
- rx: "7",
1274
- key: "g7kal2"
1275
- }]]);
1276
- /**
1277
- * @license lucide-react v1.34.0 - ISC
1772
+ var __iconData$8 = {
1773
+ name: "toggle-right",
1774
+ size: 24,
1775
+ node: [["circle", {
1776
+ cx: "15",
1777
+ cy: "12",
1778
+ r: "3",
1779
+ key: "1afu0r"
1780
+ }], ["rect", {
1781
+ width: "20",
1782
+ height: "14",
1783
+ x: "2",
1784
+ y: "5",
1785
+ rx: "7",
1786
+ key: "g7kal2"
1787
+ }]]
1788
+ };
1789
+ __iconData$8.node;
1790
+ var ToggleRight = createLucideIcon(__iconData$8);
1791
+ //#endregion
1792
+ //#region node_modules/lucide-react/dist/esm/icons/toggle-left.mjs
1793
+ /**
1794
+ * @license lucide-react v1.45.0 - ISC
1278
1795
  *
1279
1796
  * This source code is licensed under the ISC license.
1280
1797
  * See the LICENSE file in the root directory of this source tree.
1281
1798
  */
1282
- var ToggleRight = createLucideIcon("toggle-right", [["circle", {
1283
- cx: "15",
1284
- cy: "12",
1285
- r: "3",
1286
- key: "1afu0r"
1287
- }], ["rect", {
1288
- width: "20",
1289
- height: "14",
1290
- x: "2",
1291
- y: "5",
1292
- rx: "7",
1293
- key: "g7kal2"
1294
- }]]);
1295
- /**
1296
- * @license lucide-react v1.34.0 - ISC
1297
- *
1298
- * This source code is licensed under the ISC license.
1299
- * See the LICENSE file in the root directory of this source tree.
1799
+ var __iconData$7 = {
1800
+ name: "toggle-left",
1801
+ size: 24,
1802
+ node: [["circle", {
1803
+ cx: "9",
1804
+ cy: "12",
1805
+ r: "3",
1806
+ key: "u3jwor"
1807
+ }], ["rect", {
1808
+ width: "20",
1809
+ height: "14",
1810
+ x: "2",
1811
+ y: "5",
1812
+ rx: "7",
1813
+ key: "g7kal2"
1814
+ }]]
1815
+ };
1816
+ __iconData$7.node;
1817
+ var ToggleLeft = createLucideIcon(__iconData$7);
1818
+ //#endregion
1819
+ //#region node_modules/lucide-react/dist/esm/icons/trash.mjs
1820
+ /**
1821
+ * @license lucide-react v1.45.0 - ISC
1822
+ *
1823
+ * This source code is licensed under the ISC license.
1824
+ * See the LICENSE file in the root directory of this source tree.
1300
1825
  */
1301
- var Trash2 = createLucideIcon("trash-2", [
1302
- ["path", {
1303
- d: "M10 11v6",
1304
- key: "nco0om"
1305
- }],
1306
- ["path", {
1307
- d: "M14 11v6",
1308
- key: "outv1u"
1309
- }],
1310
- ["path", {
1311
- d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",
1312
- key: "miytrc"
1313
- }],
1314
- ["path", {
1315
- d: "M3 6h18",
1316
- key: "d0wm0j"
1317
- }],
1318
- ["path", {
1319
- d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",
1320
- key: "e791ji"
1321
- }]
1322
- ]);
1826
+ var __iconData$6 = {
1827
+ name: "trash",
1828
+ size: 24,
1829
+ node: [
1830
+ ["path", {
1831
+ d: "M10 11v6",
1832
+ key: "nco0om"
1833
+ }],
1834
+ ["path", {
1835
+ d: "M14 11v6",
1836
+ key: "outv1u"
1837
+ }],
1838
+ ["path", {
1839
+ d: "M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",
1840
+ key: "miytrc"
1841
+ }],
1842
+ ["path", {
1843
+ d: "M3 6h18",
1844
+ key: "d0wm0j"
1845
+ }],
1846
+ ["path", {
1847
+ d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",
1848
+ key: "e791ji"
1849
+ }]
1850
+ ],
1851
+ aliases: ["trash-2"]
1852
+ };
1853
+ __iconData$6.node;
1854
+ var Trash = createLucideIcon(__iconData$6);
1855
+ //#endregion
1856
+ //#region node_modules/lucide-react/dist/esm/icons/type.mjs
1323
1857
  /**
1324
- * @license lucide-react v1.34.0 - ISC
1858
+ * @license lucide-react v1.45.0 - ISC
1325
1859
  *
1326
1860
  * This source code is licensed under the ISC license.
1327
1861
  * See the LICENSE file in the root directory of this source tree.
1328
1862
  */
1329
- var Type = createLucideIcon("type", [
1330
- ["path", {
1331
- d: "M12 4v16",
1332
- key: "1654pz"
1333
- }],
1334
- ["path", {
1335
- d: "M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2",
1336
- key: "e0r10z"
1337
- }],
1338
- ["path", {
1339
- d: "M9 20h6",
1340
- key: "s66wpe"
1341
- }]
1342
- ]);
1863
+ var __iconData$5 = {
1864
+ name: "type",
1865
+ size: 24,
1866
+ node: [
1867
+ ["path", {
1868
+ d: "M12 4v16",
1869
+ key: "1654pz"
1870
+ }],
1871
+ ["path", {
1872
+ d: "M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2",
1873
+ key: "e0r10z"
1874
+ }],
1875
+ ["path", {
1876
+ d: "M9 20h6",
1877
+ key: "s66wpe"
1878
+ }]
1879
+ ]
1880
+ };
1881
+ __iconData$5.node;
1882
+ var Type = createLucideIcon(__iconData$5);
1883
+ //#endregion
1884
+ //#region node_modules/lucide-react/dist/esm/icons/undo-2.mjs
1343
1885
  /**
1344
- * @license lucide-react v1.34.0 - ISC
1886
+ * @license lucide-react v1.45.0 - ISC
1345
1887
  *
1346
1888
  * This source code is licensed under the ISC license.
1347
1889
  * See the LICENSE file in the root directory of this source tree.
1348
1890
  */
1349
- var Undo2 = createLucideIcon("undo-2", [["path", {
1350
- d: "M9 14 4 9l5-5",
1351
- key: "102s5s"
1352
- }], ["path", {
1353
- d: "M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",
1354
- key: "f3b9sd"
1355
- }]]);
1891
+ var __iconData$4 = {
1892
+ name: "undo-2",
1893
+ size: 24,
1894
+ node: [["path", {
1895
+ d: "M9 14 4 9l5-5",
1896
+ key: "102s5s"
1897
+ }], ["path", {
1898
+ d: "M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",
1899
+ key: "f3b9sd"
1900
+ }]]
1901
+ };
1902
+ __iconData$4.node;
1903
+ var Undo2 = createLucideIcon(__iconData$4);
1904
+ //#endregion
1905
+ //#region node_modules/lucide-react/dist/esm/icons/variable.mjs
1356
1906
  /**
1357
- * @license lucide-react v1.34.0 - ISC
1907
+ * @license lucide-react v1.45.0 - ISC
1358
1908
  *
1359
1909
  * This source code is licensed under the ISC license.
1360
1910
  * See the LICENSE file in the root directory of this source tree.
1361
1911
  */
1362
- var Variable = createLucideIcon("variable", [
1363
- ["path", {
1364
- d: "M8 21s-4-3-4-9 4-9 4-9",
1365
- key: "uto9ud"
1366
- }],
1367
- ["path", {
1368
- d: "M16 3s4 3 4 9-4 9-4 9",
1369
- key: "4w2vsq"
1370
- }],
1371
- ["line", {
1372
- x1: "15",
1373
- x2: "9",
1374
- y1: "9",
1375
- y2: "15",
1376
- key: "f7djnv"
1377
- }],
1378
- ["line", {
1379
- x1: "9",
1380
- x2: "15",
1381
- y1: "9",
1382
- y2: "15",
1383
- key: "1shsy8"
1384
- }]
1385
- ]);
1912
+ var __iconData$3 = {
1913
+ name: "variable",
1914
+ size: 24,
1915
+ node: [
1916
+ ["path", {
1917
+ d: "M8 21s-4-3-4-9 4-9 4-9",
1918
+ key: "uto9ud"
1919
+ }],
1920
+ ["path", {
1921
+ d: "M16 3s4 3 4 9-4 9-4 9",
1922
+ key: "4w2vsq"
1923
+ }],
1924
+ ["line", {
1925
+ x1: "15",
1926
+ x2: "9",
1927
+ y1: "9",
1928
+ y2: "15",
1929
+ key: "f7djnv"
1930
+ }],
1931
+ ["line", {
1932
+ x1: "9",
1933
+ x2: "15",
1934
+ y1: "9",
1935
+ y2: "15",
1936
+ key: "1shsy8"
1937
+ }]
1938
+ ]
1939
+ };
1940
+ __iconData$3.node;
1941
+ var Variable = createLucideIcon(__iconData$3);
1942
+ //#endregion
1943
+ //#region node_modules/lucide-react/dist/esm/icons/workflow.mjs
1386
1944
  /**
1387
- * @license lucide-react v1.34.0 - ISC
1945
+ * @license lucide-react v1.45.0 - ISC
1388
1946
  *
1389
1947
  * This source code is licensed under the ISC license.
1390
1948
  * See the LICENSE file in the root directory of this source tree.
1391
1949
  */
1392
- var Workflow = createLucideIcon("workflow", [
1393
- ["rect", {
1394
- width: "8",
1395
- height: "8",
1396
- x: "3",
1397
- y: "3",
1398
- rx: "2",
1399
- key: "by2w9f"
1400
- }],
1401
- ["path", {
1402
- d: "M7 11v4a2 2 0 0 0 2 2h4",
1403
- key: "xkn7yn"
1404
- }],
1405
- ["rect", {
1406
- width: "8",
1407
- height: "8",
1408
- x: "13",
1409
- y: "13",
1410
- rx: "2",
1411
- key: "1cgmvn"
1412
- }]
1413
- ]);
1950
+ var __iconData$2 = {
1951
+ name: "workflow",
1952
+ size: 24,
1953
+ node: [
1954
+ ["rect", {
1955
+ width: "8",
1956
+ height: "8",
1957
+ x: "3",
1958
+ y: "3",
1959
+ rx: "2",
1960
+ key: "by2w9f"
1961
+ }],
1962
+ ["path", {
1963
+ d: "M7 11v4a2 2 0 0 0 2 2h4",
1964
+ key: "xkn7yn"
1965
+ }],
1966
+ ["rect", {
1967
+ width: "8",
1968
+ height: "8",
1969
+ x: "13",
1970
+ y: "13",
1971
+ rx: "2",
1972
+ key: "1cgmvn"
1973
+ }]
1974
+ ]
1975
+ };
1976
+ __iconData$2.node;
1977
+ var Workflow = createLucideIcon(__iconData$2);
1978
+ //#endregion
1979
+ //#region node_modules/lucide-react/dist/esm/icons/x.mjs
1414
1980
  /**
1415
- * @license lucide-react v1.34.0 - ISC
1981
+ * @license lucide-react v1.45.0 - ISC
1416
1982
  *
1417
1983
  * This source code is licensed under the ISC license.
1418
1984
  * See the LICENSE file in the root directory of this source tree.
1419
1985
  */
1420
- var X$1 = createLucideIcon("x", [["path", {
1421
- d: "M18 6 6 18",
1422
- key: "1bl5f8"
1423
- }], ["path", {
1424
- d: "m6 6 12 12",
1425
- key: "d8bk6v"
1426
- }]]);
1986
+ var __iconData$1 = {
1987
+ name: "x",
1988
+ size: 24,
1989
+ node: [["path", {
1990
+ d: "M18 6 6 18",
1991
+ key: "1bl5f8"
1992
+ }], ["path", {
1993
+ d: "m6 6 12 12",
1994
+ key: "d8bk6v"
1995
+ }]]
1996
+ };
1997
+ __iconData$1.node;
1998
+ var X$1 = createLucideIcon(__iconData$1);
1999
+ //#endregion
2000
+ //#region node_modules/lucide-react/dist/esm/icons/zoom-in.mjs
1427
2001
  /**
1428
- * @license lucide-react v1.34.0 - ISC
2002
+ * @license lucide-react v1.45.0 - ISC
1429
2003
  *
1430
2004
  * This source code is licensed under the ISC license.
1431
2005
  * See the LICENSE file in the root directory of this source tree.
1432
2006
  */
1433
- var ZoomIn = createLucideIcon("zoom-in", [
1434
- ["circle", {
1435
- cx: "11",
1436
- cy: "11",
1437
- r: "8",
1438
- key: "4ej97u"
1439
- }],
1440
- ["line", {
1441
- x1: "21",
1442
- x2: "16.65",
1443
- y1: "21",
1444
- y2: "16.65",
1445
- key: "13gj7c"
1446
- }],
1447
- ["line", {
1448
- x1: "11",
1449
- x2: "11",
1450
- y1: "8",
1451
- y2: "14",
1452
- key: "1vmskp"
1453
- }],
1454
- ["line", {
1455
- x1: "8",
1456
- x2: "14",
1457
- y1: "11",
1458
- y2: "11",
1459
- key: "durymu"
1460
- }]
1461
- ]);
2007
+ var __iconData = {
2008
+ name: "zoom-in",
2009
+ size: 24,
2010
+ node: [
2011
+ ["circle", {
2012
+ cx: "11",
2013
+ cy: "11",
2014
+ r: "8",
2015
+ key: "4ej97u"
2016
+ }],
2017
+ ["line", {
2018
+ x1: "21",
2019
+ x2: "16.65",
2020
+ y1: "21",
2021
+ y2: "16.65",
2022
+ key: "13gj7c"
2023
+ }],
2024
+ ["line", {
2025
+ x1: "11",
2026
+ x2: "11",
2027
+ y1: "8",
2028
+ y2: "14",
2029
+ key: "1vmskp"
2030
+ }],
2031
+ ["line", {
2032
+ x1: "8",
2033
+ x2: "14",
2034
+ y1: "11",
2035
+ y2: "11",
2036
+ key: "durymu"
2037
+ }]
2038
+ ]
2039
+ };
2040
+ __iconData.node;
2041
+ var ZoomIn = createLucideIcon(__iconData);
1462
2042
  //#endregion
1463
2043
  //#region src/components/logic-editor/config/operators/variable.ts
1464
2044
  var variableOperators = {
@@ -7461,127 +8041,1044 @@ var flagdOperators = {
7461
8041
  ]
7462
8042
  },
7463
8043
  ui: {
7464
- icon: "boxes",
7465
- shortLabel: "frac",
7466
- nodeType: "operator",
7467
- addArgumentLabel: "Add Bucket"
8044
+ icon: "boxes",
8045
+ shortLabel: "frac",
8046
+ nodeType: "operator",
8047
+ addArgumentLabel: "Add Bucket"
8048
+ }
8049
+ },
8050
+ sem_ver: {
8051
+ name: "sem_ver",
8052
+ label: "Semantic Version",
8053
+ category: "flagd",
8054
+ description: "Compare two semantic versions",
8055
+ arity: {
8056
+ type: "ternary",
8057
+ min: 3,
8058
+ max: 3,
8059
+ args: [
8060
+ {
8061
+ name: "version",
8062
+ label: "Version",
8063
+ type: "string",
8064
+ required: true,
8065
+ description: "Version to test (e.g. {\"var\": \"app_version\"})"
8066
+ },
8067
+ {
8068
+ name: "operator",
8069
+ label: "Operator",
8070
+ type: "string",
8071
+ required: true,
8072
+ description: "One of =, !=, <, <=, >, >=, ^ (same major), ~ (same major.minor)"
8073
+ },
8074
+ {
8075
+ name: "target",
8076
+ label: "Target",
8077
+ type: "string",
8078
+ required: true,
8079
+ description: "Version to compare against"
8080
+ }
8081
+ ]
8082
+ },
8083
+ help: {
8084
+ summary: "Compare semantic versions with =, !=, <, <=, >, >=, ^ or ~",
8085
+ details: "Parses both versions per SemVer 2.0 (pre-release ordering included) and applies the operator. ^ matches the same major version, ~ the same major and minor. Inputs are normalized first: a leading v/V is stripped, partial versions are padded (\"1.2\" is \"1.2.0\"), numbers are coerced to strings and build metadata is dropped.",
8086
+ returnType: "boolean",
8087
+ examples: [
8088
+ {
8089
+ title: "Minimum version",
8090
+ rule: { sem_ver: [
8091
+ { var: "app_version" },
8092
+ ">=",
8093
+ "1.2.0"
8094
+ ] },
8095
+ data: { app_version: "1.3.0" },
8096
+ result: true
8097
+ },
8098
+ {
8099
+ title: "Caret: same major",
8100
+ rule: { sem_ver: [
8101
+ { var: "app_version" },
8102
+ "^",
8103
+ "1.0.0"
8104
+ ] },
8105
+ data: { app_version: "1.5.3" },
8106
+ result: true,
8107
+ note: "2.0.0 would be false"
8108
+ },
8109
+ {
8110
+ title: "Tilde: same major and minor",
8111
+ rule: { sem_ver: [
8112
+ { var: "app_version" },
8113
+ "~",
8114
+ "1.2.0"
8115
+ ] },
8116
+ data: { app_version: "1.3.0" },
8117
+ result: false,
8118
+ note: "1.2.5 would be true"
8119
+ },
8120
+ {
8121
+ title: "Normalized inputs",
8122
+ rule: { sem_ver: [
8123
+ "v1.2",
8124
+ "<",
8125
+ "1.2.1"
8126
+ ] },
8127
+ result: true,
8128
+ note: "v prefix stripped, \"1.2\" padded to \"1.2.0\""
8129
+ },
8130
+ {
8131
+ title: "Pre-release ordering",
8132
+ rule: { sem_ver: [
8133
+ "1.0.0-alpha",
8134
+ "<",
8135
+ "1.0.0"
8136
+ ] },
8137
+ result: true
8138
+ },
8139
+ {
8140
+ title: "Malformed version",
8141
+ rule: { sem_ver: [
8142
+ "not-a-version",
8143
+ ">",
8144
+ "1.0.0"
8145
+ ] },
8146
+ result: null,
8147
+ note: "Unparseable input or an unknown operator returns null, not an error"
8148
+ }
8149
+ ],
8150
+ notes: [
8151
+ "Operators: =, !=, <, <=, >, >=, ^ (same major), ~ (same major.minor)",
8152
+ "Normalizations: strip leading v/V, pad partial versions, coerce numbers, drop +build metadata",
8153
+ "Pre-releases sort before the release: 1.0.0-alpha < 1.0.0-beta < 1.0.0",
8154
+ "Malformed versions, wrong argument count or an unknown operator return null"
8155
+ ],
8156
+ seeAlso: [
8157
+ "fractional",
8158
+ "if",
8159
+ ">="
8160
+ ]
8161
+ },
8162
+ ui: {
8163
+ icon: "tag",
8164
+ shortLabel: "semver",
8165
+ nodeType: "operator"
8166
+ }
8167
+ }
8168
+ };
8169
+ //#endregion
8170
+ //#region src/components/logic-editor/config/operators/tensor.ts
8171
+ var DTYPES = "bool, i8, u8, i16, u16, i32, u32, i64, u64, f16, bf16, f32, f64";
8172
+ var tensorOperators = {
8173
+ tensor: {
8174
+ name: "tensor",
8175
+ label: "Tensor",
8176
+ category: "tensor",
8177
+ description: "Build a tensor, or pass one through",
8178
+ arity: {
8179
+ type: "range",
8180
+ min: 1,
8181
+ max: 2,
8182
+ args: [{
8183
+ name: "value",
8184
+ label: "Value",
8185
+ type: "any",
8186
+ required: true
8187
+ }, {
8188
+ name: "dtype",
8189
+ label: "Dtype",
8190
+ type: "string",
8191
+ required: false
8192
+ }]
8193
+ },
8194
+ help: {
8195
+ summary: "The family entry point: nested arrays, the wire form, or a tensor",
8196
+ details: `Nested JSON arrays need a declared dtype (${DTYPES}) and infer their shape from the nesting. The tagged \`{"tensor": {...}}\` wire form decodes from its base64, and an existing tensor passes through. An element that will not fit the dtype is an error, never a truncation.`,
8197
+ returnType: "any",
8198
+ examples: [{
8199
+ title: "From nested arrays",
8200
+ rule: { to_list: [{ tensor: [[[1, 2], [3, 4]], "f32"] }] },
8201
+ result: [[1, 2], [3, 4]]
8202
+ }, {
8203
+ title: "Read a tensor out of the data",
8204
+ rule: { shape: [{ tensor: [{ var: "prediction" }] }] },
8205
+ data: { prediction: { tensor: {
8206
+ dtype: "u8",
8207
+ shape: [3],
8208
+ data: "AQID"
8209
+ } } },
8210
+ result: [3]
8211
+ }],
8212
+ notes: ["A flat list plus a shape is `reshape` over this", "A bare scalar makes a 0-d tensor"],
8213
+ seeAlso: [
8214
+ "to_list",
8215
+ "reshape",
8216
+ "zeros"
8217
+ ]
8218
+ },
8219
+ ui: {
8220
+ icon: "layers",
8221
+ shortLabel: "tensor",
8222
+ nodeType: "operator"
8223
+ }
8224
+ },
8225
+ zeros: {
8226
+ name: "zeros",
8227
+ label: "Zeros",
8228
+ category: "tensor",
8229
+ description: "An all-zero tensor of a given shape",
8230
+ arity: {
8231
+ type: "binary",
8232
+ args: [{
8233
+ name: "shape",
8234
+ label: "Shape",
8235
+ type: "array",
8236
+ required: true
8237
+ }, {
8238
+ name: "dtype",
8239
+ label: "Dtype",
8240
+ type: "string",
8241
+ required: true
8242
+ }]
8243
+ },
8244
+ help: {
8245
+ summary: "Allocate a zero-filled tensor",
8246
+ details: "Needs no element support, so this works on every dtype including f16 / bf16 without the `tensor-half` feature.",
8247
+ returnType: "any",
8248
+ examples: [{
8249
+ title: "A 2x3 grid of zeros",
8250
+ rule: { to_list: [{ zeros: [[2, 3], "i32"] }] },
8251
+ result: [[
8252
+ 0,
8253
+ 0,
8254
+ 0
8255
+ ], [
8256
+ 0,
8257
+ 0,
8258
+ 0
8259
+ ]]
8260
+ }],
8261
+ seeAlso: ["full", "tensor"]
8262
+ },
8263
+ ui: {
8264
+ icon: "boxes",
8265
+ shortLabel: "zeros",
8266
+ nodeType: "operator"
8267
+ }
8268
+ },
8269
+ full: {
8270
+ name: "full",
8271
+ label: "Full",
8272
+ category: "tensor",
8273
+ description: "A tensor with every element set to one value",
8274
+ arity: {
8275
+ type: "ternary",
8276
+ args: [
8277
+ {
8278
+ name: "shape",
8279
+ label: "Shape",
8280
+ type: "array",
8281
+ required: true
8282
+ },
8283
+ {
8284
+ name: "dtype",
8285
+ label: "Dtype",
8286
+ type: "string",
8287
+ required: true
8288
+ },
8289
+ {
8290
+ name: "value",
8291
+ label: "Value",
8292
+ type: "any",
8293
+ required: true
8294
+ }
8295
+ ]
8296
+ },
8297
+ help: {
8298
+ summary: "Allocate a tensor filled with a constant",
8299
+ returnType: "any",
8300
+ examples: [{
8301
+ title: "A 2x2 of 1.5",
8302
+ rule: { to_list: [{ full: [
8303
+ [2, 2],
8304
+ "f32",
8305
+ 1.5
8306
+ ] }] },
8307
+ result: [[1.5, 1.5], [1.5, 1.5]]
8308
+ }],
8309
+ seeAlso: ["zeros", "scatter"]
8310
+ },
8311
+ ui: {
8312
+ icon: "boxes",
8313
+ shortLabel: "full",
8314
+ nodeType: "operator"
8315
+ }
8316
+ },
8317
+ scatter: {
8318
+ name: "scatter",
8319
+ label: "Scatter",
8320
+ category: "tensor",
8321
+ description: "Sparse writes into an otherwise-zero tensor",
8322
+ arity: {
8323
+ type: "range",
8324
+ min: 3,
8325
+ max: 4,
8326
+ args: [
8327
+ {
8328
+ name: "points",
8329
+ label: "Points",
8330
+ type: "array",
8331
+ required: true
8332
+ },
8333
+ {
8334
+ name: "shape",
8335
+ label: "Shape",
8336
+ type: "array",
8337
+ required: true
8338
+ },
8339
+ {
8340
+ name: "dtype",
8341
+ label: "Dtype",
8342
+ type: "string",
8343
+ required: true
8344
+ },
8345
+ {
8346
+ name: "value",
8347
+ label: "Value",
8348
+ type: "any",
8349
+ required: false
8350
+ }
8351
+ ]
8352
+ },
8353
+ help: {
8354
+ summary: "Write values at listed coordinates, zero everywhere else",
8355
+ details: "A point of length `rank` writes the default value (1 unless given); one extra trailing entry is the value to write. Out-of-range points are dropped rather than rejected, because the usual producer is a detector emitting coordinates that may fall outside the grid.",
8356
+ returnType: "any",
8357
+ examples: [{
8358
+ title: "Two points on a 2x2 grid",
8359
+ rule: { to_list: [{ scatter: [
8360
+ [[0, 1], [1, 0]],
8361
+ [2, 2],
8362
+ "u8"
8363
+ ] }] },
8364
+ result: [[0, 1], [1, 0]]
8365
+ }],
8366
+ notes: ["Out-of-range and negative coordinates are dropped"],
8367
+ seeAlso: [
8368
+ "rle_expand",
8369
+ "one_hot",
8370
+ "full"
8371
+ ]
8372
+ },
8373
+ ui: {
8374
+ icon: "hash",
8375
+ shortLabel: "scatter",
8376
+ nodeType: "operator"
8377
+ }
8378
+ },
8379
+ rle_expand: {
8380
+ name: "rle_expand",
8381
+ label: "RLE Expand",
8382
+ category: "tensor",
8383
+ description: "Run-length decode into a tensor",
8384
+ arity: {
8385
+ type: "ternary",
8386
+ args: [
8387
+ {
8388
+ name: "runs",
8389
+ label: "Runs",
8390
+ type: "array",
8391
+ required: true
8392
+ },
8393
+ {
8394
+ name: "shape",
8395
+ label: "Shape",
8396
+ type: "array",
8397
+ required: true
8398
+ },
8399
+ {
8400
+ name: "dtype",
8401
+ label: "Dtype",
8402
+ type: "string",
8403
+ required: true
8404
+ }
8405
+ ]
8406
+ },
8407
+ help: {
8408
+ summary: "Expand a flat [value, count, ...] list row-major",
8409
+ details: "The run lengths must sum to exactly the shape element count: a mask that decodes to the wrong size is a producer bug, and zero-filling the remainder would hide it.",
8410
+ returnType: "any",
8411
+ examples: [{
8412
+ title: "Two runs into a 2x2",
8413
+ rule: { to_list: [{ rle_expand: [
8414
+ [
8415
+ 0,
8416
+ 2,
8417
+ 1,
8418
+ 2
8419
+ ],
8420
+ [2, 2],
8421
+ "u8"
8422
+ ] }] },
8423
+ result: [[0, 0], [1, 1]]
8424
+ }],
8425
+ seeAlso: ["scatter", "one_hot"]
8426
+ },
8427
+ ui: {
8428
+ icon: "repeat",
8429
+ shortLabel: "rle",
8430
+ nodeType: "operator"
8431
+ }
8432
+ },
8433
+ one_hot: {
8434
+ name: "one_hot",
8435
+ label: "One-Hot",
8436
+ category: "tensor",
8437
+ description: "Build a [len, depth] indicator matrix",
8438
+ arity: {
8439
+ type: "ternary",
8440
+ args: [
8441
+ {
8442
+ name: "indices",
8443
+ label: "Indices",
8444
+ type: "array",
8445
+ required: true
8446
+ },
8447
+ {
8448
+ name: "depth",
8449
+ label: "Depth",
8450
+ type: "number",
8451
+ required: true
8452
+ },
8453
+ {
8454
+ name: "dtype",
8455
+ label: "Dtype",
8456
+ type: "string",
8457
+ required: true
8458
+ }
8459
+ ]
8460
+ },
8461
+ help: {
8462
+ summary: "Encode category indices as indicator rows",
8463
+ returnType: "any",
8464
+ examples: [{
8465
+ title: "Two categories out of three",
8466
+ rule: { to_list: [{ one_hot: [
8467
+ [0, 2],
8468
+ 3,
8469
+ "u8"
8470
+ ] }] },
8471
+ result: [[
8472
+ 1,
8473
+ 0,
8474
+ 0
8475
+ ], [
8476
+ 0,
8477
+ 0,
8478
+ 1
8479
+ ]]
8480
+ }],
8481
+ notes: ["An index outside 0..depth leaves its row all-zero"],
8482
+ seeAlso: ["scatter", "argmax"]
8483
+ },
8484
+ ui: {
8485
+ icon: "binary",
8486
+ shortLabel: "one_hot",
8487
+ nodeType: "operator"
8488
+ }
8489
+ },
8490
+ stack: {
8491
+ name: "stack",
8492
+ label: "Stack",
8493
+ category: "tensor",
8494
+ description: "Join equal-shaped tensors along a new axis",
8495
+ arity: {
8496
+ type: "binary",
8497
+ args: [{
8498
+ name: "tensors",
8499
+ label: "Tensors",
8500
+ type: "array",
8501
+ required: true
8502
+ }, {
8503
+ name: "axis",
8504
+ label: "Axis",
8505
+ type: "number",
8506
+ required: true
8507
+ }]
8508
+ },
8509
+ help: {
8510
+ summary: "Join along a new axis, raising the rank by one",
8511
+ returnType: "any",
8512
+ examples: [{
8513
+ title: "Two vectors into a matrix",
8514
+ rule: { to_list: [{ stack: [[{ tensor: [[1, 2], "u8"] }, { tensor: [[3, 4], "u8"] }], 0] }] },
8515
+ result: [[1, 2], [3, 4]]
8516
+ }],
8517
+ notes: ["Every tensor must share a shape and a dtype"],
8518
+ seeAlso: ["concat", "unstack"]
8519
+ },
8520
+ ui: {
8521
+ icon: "layers",
8522
+ shortLabel: "stack",
8523
+ nodeType: "operator"
8524
+ }
8525
+ },
8526
+ concat: {
8527
+ name: "concat",
8528
+ label: "Concat",
8529
+ category: "tensor",
8530
+ description: "Join tensors along an existing axis",
8531
+ arity: {
8532
+ type: "binary",
8533
+ args: [{
8534
+ name: "tensors",
8535
+ label: "Tensors",
8536
+ type: "array",
8537
+ required: true
8538
+ }, {
8539
+ name: "axis",
8540
+ label: "Axis",
8541
+ type: "number",
8542
+ required: true
8543
+ }]
8544
+ },
8545
+ help: {
8546
+ summary: "Join along an existing axis, keeping the rank",
8547
+ returnType: "any",
8548
+ examples: [{
8549
+ title: "Append along axis 0",
8550
+ rule: { to_list: [{ concat: [[{ tensor: [[1, 2], "u8"] }, { tensor: [[3], "u8"] }], 0] }] },
8551
+ result: [
8552
+ 1,
8553
+ 2,
8554
+ 3
8555
+ ]
8556
+ }],
8557
+ notes: ["Shapes must match on every axis but the joined one"],
8558
+ seeAlso: ["stack", "unstack"]
8559
+ },
8560
+ ui: {
8561
+ icon: "git-merge",
8562
+ shortLabel: "concat",
8563
+ nodeType: "operator"
8564
+ }
8565
+ },
8566
+ unstack: {
8567
+ name: "unstack",
8568
+ label: "Unstack",
8569
+ category: "tensor",
8570
+ description: "Split along an axis into an array of tensors",
8571
+ arity: {
8572
+ type: "binary",
8573
+ args: [{
8574
+ name: "tensor",
8575
+ label: "Tensor",
8576
+ type: "any",
8577
+ required: true
8578
+ }, {
8579
+ name: "axis",
8580
+ label: "Axis",
8581
+ type: "number",
8582
+ required: true
8583
+ }]
8584
+ },
8585
+ help: {
8586
+ summary: "The inverse of stack: split and drop the axis",
8587
+ returnType: "array",
8588
+ examples: [{
8589
+ title: "Rows of a matrix",
8590
+ rule: { map: [{ unstack: [{ tensor: [[[1, 2], [3, 4]], "u8"] }, 0] }, { to_list: [{ val: [] }] }] },
8591
+ result: [[1, 2], [3, 4]]
8592
+ }],
8593
+ seeAlso: ["stack", "gather"]
8594
+ },
8595
+ ui: {
8596
+ icon: "git-branch",
8597
+ shortLabel: "unstack",
8598
+ nodeType: "operator"
8599
+ }
8600
+ },
8601
+ reshape: {
8602
+ name: "reshape",
8603
+ label: "Reshape",
8604
+ category: "tensor",
8605
+ description: "Reinterpret the same bytes under a new shape",
8606
+ arity: {
8607
+ type: "binary",
8608
+ args: [{
8609
+ name: "tensor",
8610
+ label: "Tensor",
8611
+ type: "any",
8612
+ required: true
8613
+ }, {
8614
+ name: "shape",
8615
+ label: "Shape",
8616
+ type: "array",
8617
+ required: true
8618
+ }]
8619
+ },
8620
+ help: {
8621
+ summary: "A new header over the same payload — the one zero-copy operator",
8622
+ details: "The element count must match exactly; there is no inferred -1 dimension.",
8623
+ returnType: "any",
8624
+ examples: [{
8625
+ title: "A flat list into a matrix",
8626
+ rule: { to_list: [{ reshape: [{ tensor: [[
8627
+ 1,
8628
+ 2,
8629
+ 3,
8630
+ 4
8631
+ ], "u8"] }, [2, 2]] }] },
8632
+ result: [[1, 2], [3, 4]]
8633
+ }],
8634
+ seeAlso: ["transpose", "tensor"]
8635
+ },
8636
+ ui: {
8637
+ icon: "box",
8638
+ shortLabel: "reshape",
8639
+ nodeType: "operator"
8640
+ }
8641
+ },
8642
+ transpose: {
8643
+ name: "transpose",
8644
+ label: "Transpose",
8645
+ category: "tensor",
8646
+ description: "Permute the axes",
8647
+ arity: {
8648
+ type: "range",
8649
+ min: 1,
8650
+ max: 2,
8651
+ args: [{
8652
+ name: "tensor",
8653
+ label: "Tensor",
8654
+ type: "any",
8655
+ required: true
8656
+ }, {
8657
+ name: "perm",
8658
+ label: "Permutation",
8659
+ type: "array",
8660
+ required: false
8661
+ }]
8662
+ },
8663
+ help: {
8664
+ summary: "Reorder the axes; defaults to a full reversal",
8665
+ returnType: "any",
8666
+ examples: [{
8667
+ title: "Transpose a 2x2",
8668
+ rule: { to_list: [{ transpose: [{ tensor: [[[1, 2], [3, 4]], "u8"] }] }] },
8669
+ result: [[1, 3], [2, 4]]
8670
+ }],
8671
+ seeAlso: ["reshape", "gather"]
8672
+ },
8673
+ ui: {
8674
+ icon: "arrow-up",
8675
+ shortLabel: "transpose",
8676
+ nodeType: "operator"
8677
+ }
8678
+ },
8679
+ pad: {
8680
+ name: "pad",
8681
+ label: "Pad",
8682
+ category: "tensor",
8683
+ description: "Grow every axis by a leading and trailing margin",
8684
+ arity: {
8685
+ type: "range",
8686
+ min: 3,
8687
+ max: 4,
8688
+ args: [
8689
+ {
8690
+ name: "tensor",
8691
+ label: "Tensor",
8692
+ type: "any",
8693
+ required: true
8694
+ },
8695
+ {
8696
+ name: "before",
8697
+ label: "Before",
8698
+ type: "array",
8699
+ required: true
8700
+ },
8701
+ {
8702
+ name: "after",
8703
+ label: "After",
8704
+ type: "array",
8705
+ required: true
8706
+ },
8707
+ {
8708
+ name: "value",
8709
+ label: "Fill",
8710
+ type: "any",
8711
+ required: false
8712
+ }
8713
+ ]
8714
+ },
8715
+ help: {
8716
+ summary: "Add a margin around the tensor, filled with `value` (0 by default)",
8717
+ returnType: "any",
8718
+ examples: [{
8719
+ title: "One before, two after",
8720
+ rule: { to_list: [{ pad: [
8721
+ { tensor: [[1, 2], "u8"] },
8722
+ [1],
8723
+ [2]
8724
+ ] }] },
8725
+ result: [
8726
+ 0,
8727
+ 1,
8728
+ 2,
8729
+ 0,
8730
+ 0
8731
+ ]
8732
+ }],
8733
+ notes: ["`before` and `after` take one entry per axis"],
8734
+ seeAlso: ["crop"]
8735
+ },
8736
+ ui: {
8737
+ icon: "box",
8738
+ shortLabel: "pad",
8739
+ nodeType: "operator"
8740
+ }
8741
+ },
8742
+ crop: {
8743
+ name: "crop",
8744
+ label: "Crop",
8745
+ category: "tensor",
8746
+ description: "Cut a sub-block out of a tensor",
8747
+ arity: {
8748
+ type: "ternary",
8749
+ args: [
8750
+ {
8751
+ name: "tensor",
8752
+ label: "Tensor",
8753
+ type: "any",
8754
+ required: true
8755
+ },
8756
+ {
8757
+ name: "offset",
8758
+ label: "Offset",
8759
+ type: "array",
8760
+ required: true
8761
+ },
8762
+ {
8763
+ name: "shape",
8764
+ label: "Shape",
8765
+ type: "array",
8766
+ required: true
8767
+ }
8768
+ ]
8769
+ },
8770
+ help: {
8771
+ summary: "The inverse of pad: take a window, which must lie inside the input",
8772
+ returnType: "any",
8773
+ examples: [{
8774
+ title: "The middle two of four",
8775
+ rule: { to_list: [{ crop: [
8776
+ { tensor: [[
8777
+ 1,
8778
+ 2,
8779
+ 3,
8780
+ 4
8781
+ ], "u8"] },
8782
+ [1],
8783
+ [2]
8784
+ ] }] },
8785
+ result: [2, 3]
8786
+ }],
8787
+ seeAlso: ["pad", "gather"]
8788
+ },
8789
+ ui: {
8790
+ icon: "box",
8791
+ shortLabel: "crop",
8792
+ nodeType: "operator"
8793
+ }
8794
+ },
8795
+ cast: {
8796
+ name: "cast",
8797
+ label: "Cast",
8798
+ category: "tensor",
8799
+ description: "Convert a tensor to another dtype",
8800
+ arity: {
8801
+ type: "binary",
8802
+ args: [{
8803
+ name: "tensor",
8804
+ label: "Tensor",
8805
+ type: "any",
8806
+ required: true
8807
+ }, {
8808
+ name: "dtype",
8809
+ label: "Dtype",
8810
+ type: "string",
8811
+ required: true
8812
+ }]
8813
+ },
8814
+ help: {
8815
+ summary: "The one cross-dtype conversion, and deliberately lossy",
8816
+ details: "Narrowing saturates rather than wrapping (300 to u8 is 255, not 44) and NaN becomes 0. Values pivot through f64 internally, so i64 / u64 elements above 2^53 lose their low bits.",
8817
+ returnType: "any",
8818
+ examples: [{
8819
+ title: "Saturating narrowing",
8820
+ rule: { to_list: [{ cast: [{ tensor: [[
8821
+ 1.7,
8822
+ 300,
8823
+ -5
8824
+ ], "f64"] }, "u8"] }] },
8825
+ result: [
8826
+ 1,
8827
+ 255,
8828
+ 0
8829
+ ]
8830
+ }],
8831
+ seeAlso: ["normalize", "dtype"]
8832
+ },
8833
+ ui: {
8834
+ icon: "type",
8835
+ shortLabel: "cast",
8836
+ nodeType: "operator"
7468
8837
  }
7469
8838
  },
7470
- sem_ver: {
7471
- name: "sem_ver",
7472
- label: "Semantic Version",
7473
- category: "flagd",
7474
- description: "Compare two semantic versions",
8839
+ normalize: {
8840
+ name: "normalize",
8841
+ label: "Normalize",
8842
+ category: "tensor",
8843
+ description: "(x - mean) * scale, producing f32",
7475
8844
  arity: {
7476
- type: "ternary",
7477
- min: 3,
8845
+ type: "range",
8846
+ min: 2,
7478
8847
  max: 3,
7479
8848
  args: [
7480
8849
  {
7481
- name: "version",
7482
- label: "Version",
7483
- type: "string",
7484
- required: true,
7485
- description: "Version to test (e.g. {\"var\": \"app_version\"})"
8850
+ name: "tensor",
8851
+ label: "Tensor",
8852
+ type: "any",
8853
+ required: true
7486
8854
  },
7487
8855
  {
7488
- name: "operator",
7489
- label: "Operator",
7490
- type: "string",
7491
- required: true,
7492
- description: "One of =, !=, <, <=, >, >=, ^ (same major), ~ (same major.minor)"
8856
+ name: "mean",
8857
+ label: "Mean",
8858
+ type: "number",
8859
+ required: true
7493
8860
  },
7494
8861
  {
7495
- name: "target",
7496
- label: "Target",
7497
- type: "string",
7498
- required: true,
7499
- description: "Version to compare against"
8862
+ name: "scale",
8863
+ label: "Scale",
8864
+ type: "number",
8865
+ required: false
7500
8866
  }
7501
8867
  ]
7502
8868
  },
7503
8869
  help: {
7504
- summary: "Compare semantic versions with =, !=, <, <=, >, >=, ^ or ~",
7505
- details: "Parses both versions per SemVer 2.0 (pre-release ordering included) and applies the operator. ^ matches the same major version, ~ the same major and minor. Inputs are normalized first: a leading v/V is stripped, partial versions are padded (\"1.2\" is \"1.2.0\"), numbers are coerced to strings and build metadata is dropped.",
7506
- returnType: "boolean",
7507
- examples: [
7508
- {
7509
- title: "Minimum version",
7510
- rule: { sem_ver: [
7511
- { var: "app_version" },
7512
- ">=",
7513
- "1.2.0"
7514
- ] },
7515
- data: { app_version: "1.3.0" },
7516
- result: true
7517
- },
7518
- {
7519
- title: "Caret: same major",
7520
- rule: { sem_ver: [
7521
- { var: "app_version" },
7522
- "^",
7523
- "1.0.0"
7524
- ] },
7525
- data: { app_version: "1.5.3" },
7526
- result: true,
7527
- note: "2.0.0 would be false"
7528
- },
7529
- {
7530
- title: "Tilde: same major and minor",
7531
- rule: { sem_ver: [
7532
- { var: "app_version" },
7533
- "~",
7534
- "1.2.0"
7535
- ] },
7536
- data: { app_version: "1.3.0" },
7537
- result: false,
7538
- note: "1.2.5 would be true"
7539
- },
8870
+ summary: "Shift and scale into the float range a model expects",
8871
+ details: "The output dtype is always f32. `scale` defaults to 1, so the two-argument form is a plain mean subtraction. Per-channel normalization is unstack + normalize + stack.",
8872
+ returnType: "any",
8873
+ examples: [{
8874
+ title: "Pixel range to roughly -64..64",
8875
+ rule: { to_list: [{ normalize: [
8876
+ { tensor: [[0, 255], "u8"] },
8877
+ 127.5,
8878
+ .5
8879
+ ] }] },
8880
+ result: [-63.75, 63.75]
8881
+ }],
8882
+ seeAlso: ["cast", "unstack"]
8883
+ },
8884
+ ui: {
8885
+ icon: "calculator",
8886
+ shortLabel: "normalize",
8887
+ nodeType: "operator"
8888
+ }
8889
+ },
8890
+ argmax: {
8891
+ name: "argmax",
8892
+ label: "Argmax",
8893
+ category: "tensor",
8894
+ description: "Index of the largest element along an axis",
8895
+ arity: {
8896
+ type: "binary",
8897
+ args: [{
8898
+ name: "tensor",
8899
+ label: "Tensor",
8900
+ type: "any",
8901
+ required: true
8902
+ }, {
8903
+ name: "axis",
8904
+ label: "Axis",
8905
+ type: "number",
8906
+ required: true
8907
+ }]
8908
+ },
8909
+ help: {
8910
+ summary: "Reduce an axis to the index of its maximum, as plain JSON",
8911
+ details: "Returns nested arrays of indices, or a bare number when the input is 1-d — an index is something a rule goes on to compare, so it comes back as ordinary JSON rather than a tensor. Ties go to the first occurrence, and NaN never wins.",
8912
+ returnType: "any",
8913
+ examples: [{
8914
+ title: "Winning class per row",
8915
+ rule: { argmax: [{ tensor: [[[1, 9], [7, 3]], "f32"] }, 1] },
8916
+ result: [1, 0]
8917
+ }],
8918
+ seeAlso: ["to_list", "one_hot"]
8919
+ },
8920
+ ui: {
8921
+ icon: "search",
8922
+ shortLabel: "argmax",
8923
+ nodeType: "operator"
8924
+ }
8925
+ },
8926
+ gather: {
8927
+ name: "gather",
8928
+ label: "Gather",
8929
+ category: "tensor",
8930
+ description: "Select slices along an axis, in the order given",
8931
+ arity: {
8932
+ type: "range",
8933
+ min: 2,
8934
+ max: 3,
8935
+ args: [
7540
8936
  {
7541
- title: "Normalized inputs",
7542
- rule: { sem_ver: [
7543
- "v1.2",
7544
- "<",
7545
- "1.2.1"
7546
- ] },
7547
- result: true,
7548
- note: "v prefix stripped, \"1.2\" padded to \"1.2.0\""
8937
+ name: "tensor",
8938
+ label: "Tensor",
8939
+ type: "any",
8940
+ required: true
7549
8941
  },
7550
8942
  {
7551
- title: "Pre-release ordering",
7552
- rule: { sem_ver: [
7553
- "1.0.0-alpha",
7554
- "<",
7555
- "1.0.0"
7556
- ] },
7557
- result: true
8943
+ name: "indices",
8944
+ label: "Indices",
8945
+ type: "array",
8946
+ required: true
7558
8947
  },
7559
8948
  {
7560
- title: "Malformed version",
7561
- rule: { sem_ver: [
7562
- "not-a-version",
7563
- ">",
7564
- "1.0.0"
7565
- ] },
7566
- result: null,
7567
- note: "Unparseable input or an unknown operator returns null, not an error"
8949
+ name: "axis",
8950
+ label: "Axis",
8951
+ type: "number",
8952
+ required: false
7568
8953
  }
7569
- ],
7570
- notes: [
7571
- "Operators: =, !=, <, <=, >, >=, ^ (same major), ~ (same major.minor)",
7572
- "Normalizations: strip leading v/V, pad partial versions, coerce numbers, drop +build metadata",
7573
- "Pre-releases sort before the release: 1.0.0-alpha < 1.0.0-beta < 1.0.0",
7574
- "Malformed versions, wrong argument count or an unknown operator return null"
7575
- ],
8954
+ ]
8955
+ },
8956
+ help: {
8957
+ summary: "Reorder and resample along one axis; axis defaults to 0",
8958
+ returnType: "any",
8959
+ examples: [{
8960
+ title: "Pick and repeat",
8961
+ rule: { to_list: [{ gather: [{ tensor: [[
8962
+ 10,
8963
+ 20,
8964
+ 30
8965
+ ], "u8"] }, [
8966
+ 2,
8967
+ 0,
8968
+ 2
8969
+ ]] }] },
8970
+ result: [
8971
+ 30,
8972
+ 10,
8973
+ 30
8974
+ ]
8975
+ }],
8976
+ notes: ["Negative indices count from the end", "Every index must be in range — unlike scatter, dropping one would change the output shape"],
8977
+ seeAlso: ["crop", "unstack"]
8978
+ },
8979
+ ui: {
8980
+ icon: "list",
8981
+ shortLabel: "gather",
8982
+ nodeType: "operator"
8983
+ }
8984
+ },
8985
+ to_list: {
8986
+ name: "to_list",
8987
+ label: "To List",
8988
+ category: "tensor",
8989
+ description: "Expand a tensor into nested JSON arrays",
8990
+ arity: {
8991
+ type: "unary",
8992
+ args: [{
8993
+ name: "tensor",
8994
+ label: "Tensor",
8995
+ type: "any",
8996
+ required: true
8997
+ }]
8998
+ },
8999
+ help: {
9000
+ summary: "The general escape hatch, and expensive by design",
9001
+ details: "The one operator that turns a compact buffer back into one JSON node per element. Reach for argmax, shape or a comparison first.",
9002
+ returnType: "any",
9003
+ examples: [{
9004
+ title: "Back to plain arrays",
9005
+ rule: { to_list: [{ tensor: [[[1, 2], [3, 4]], "i32"] }] },
9006
+ result: [[1, 2], [3, 4]]
9007
+ }],
7576
9008
  seeAlso: [
7577
- "fractional",
7578
- "if",
7579
- ">="
9009
+ "tensor",
9010
+ "argmax",
9011
+ "shape"
7580
9012
  ]
7581
9013
  },
9014
+ ui: {
9015
+ icon: "list",
9016
+ shortLabel: "to_list",
9017
+ nodeType: "operator"
9018
+ }
9019
+ },
9020
+ shape: {
9021
+ name: "shape",
9022
+ label: "Shape",
9023
+ category: "tensor",
9024
+ description: "A tensor's dimensions",
9025
+ arity: {
9026
+ type: "unary",
9027
+ args: [{
9028
+ name: "tensor",
9029
+ label: "Tensor",
9030
+ type: "any",
9031
+ required: true
9032
+ }]
9033
+ },
9034
+ help: {
9035
+ summary: "Read the shape as an array of numbers",
9036
+ returnType: "array",
9037
+ examples: [{
9038
+ title: "Dimensions of a 1x3",
9039
+ rule: { shape: [{ tensor: [[[
9040
+ 1,
9041
+ 2,
9042
+ 3
9043
+ ]], "u8"] }] },
9044
+ result: [1, 3]
9045
+ }],
9046
+ seeAlso: ["dtype", "reshape"]
9047
+ },
7582
9048
  ui: {
7583
9049
  icon: "tag",
7584
- shortLabel: "semver",
9050
+ shortLabel: "shape",
9051
+ nodeType: "operator"
9052
+ }
9053
+ },
9054
+ dtype: {
9055
+ name: "dtype",
9056
+ label: "Dtype",
9057
+ category: "tensor",
9058
+ description: "A tensor's element type",
9059
+ arity: {
9060
+ type: "unary",
9061
+ args: [{
9062
+ name: "tensor",
9063
+ label: "Tensor",
9064
+ type: "any",
9065
+ required: true
9066
+ }]
9067
+ },
9068
+ help: {
9069
+ summary: "Read the dtype as its wire name",
9070
+ details: `One of: ${DTYPES}. Exactly what tensor, zeros, full and cast accept back.`,
9071
+ returnType: "string",
9072
+ examples: [{
9073
+ title: "The dtype of an f32 tensor",
9074
+ rule: { dtype: [{ tensor: [[1, 2], "f32"] }] },
9075
+ result: "f32"
9076
+ }],
9077
+ seeAlso: ["shape", "cast"]
9078
+ },
9079
+ ui: {
9080
+ icon: "type",
9081
+ shortLabel: "dtype",
7585
9082
  nodeType: "operator"
7586
9083
  }
7587
9084
  }
@@ -7604,7 +9101,8 @@ var operators = {
7604
9101
  ...validationOperators,
7605
9102
  ...errorOperators,
7606
9103
  ...utilityOperators,
7607
- ...flagdOperators
9104
+ ...flagdOperators,
9105
+ ...tensorOperators
7608
9106
  };
7609
9107
  /**
7610
9108
  * Get an operator by its name
@@ -7882,6 +9380,7 @@ var CATEGORY_COLORS = {
7882
9380
  utility: "#64748b",
7883
9381
  error: "#ef4444",
7884
9382
  flagd: "#f97316",
9383
+ tensor: "#db2777",
7885
9384
  literal: "#64748b"
7886
9385
  };
7887
9386
  //#endregion
@@ -8793,13 +10292,25 @@ function hasChildCell(cells) {
8793
10292
  }
8794
10293
  /** How an operator node renders — see the branches in UnifiedOperatorNode. */
8795
10294
  function operatorRenderKind(data) {
8796
- if (data.category === "variable" && !hasChildCell(data.cells)) return "tap";
10295
+ if (data.category === "variable" && hasVariableCells(data.cells) && !hasChildCell(data.cells)) return "tap";
8797
10296
  if (isIfOperator(data.operator) && isDecisionCells(data.cells)) return "decision";
8798
10297
  if (data.category === "logical" && data.cells.length > 0 && data.cells.every(isWiredCell)) return "gate-shape";
8799
10298
  const infix = data.category === "arithmetic" ? "infix-arith" : data.category === "comparison" ? "infix-gate" : data.category === "logical" && getOperator(data.operator)?.arity.type === "unary" ? "infix-gate" : null;
8800
10299
  if (infix && data.cells.length > 0 && !data.cells.some(isWiredCell)) return infix;
8801
10300
  return "card";
8802
10301
  }
10302
+ /**
10303
+ * The silhouette a node actually draws with. `shapeForOperator` names the
10304
+ * operator's ROLE; the tap silhouette, though, exists only in the tap render.
10305
+ * A var / val / exists with a computed path renders as a card (see
10306
+ * operatorRenderKind) and must not carry the tap class: the tap CSS makes the
10307
+ * node box transparent and paints its selection / debug rings as solid
10308
+ * clip-path fills behind the plug, which on a card sit on top of the rows.
10309
+ * Such a card draws as a plain value card (its signal colour stays data-teal).
10310
+ */
10311
+ function drawnShape(shape, renderKind) {
10312
+ return shape === "tap" && renderKind !== "tap" ? "value" : shape;
10313
+ }
8803
10314
  /** Display text of an operand cell (summary for wired, value/label for inline). */
8804
10315
  function cellDisplayText(cell) {
8805
10316
  return isWiredCell(cell) ? cell.summary?.label ?? cell.label ?? "…" : cell.label ?? String(cell.value ?? "…");
@@ -8933,6 +10444,14 @@ var categories = {
8933
10444
  color: "#f97316",
8934
10445
  icon: "toggle-right",
8935
10446
  docsPage: "flagd"
10447
+ },
10448
+ tensor: {
10449
+ name: "tensor",
10450
+ label: "Tensor",
10451
+ description: "Marshalling JSON to and from typed n-dimensional buffers",
10452
+ color: "#db2777",
10453
+ icon: "layers",
10454
+ docsPage: "tensor"
8936
10455
  }
8937
10456
  };
8938
10457
  /**
@@ -11668,8 +13187,8 @@ function gt(e, n) {
11668
13187
  let t = n.v, r = e.node(t).rank, o = n.w, i = e.node(o).rank, s = n.name, a = e.edge(n), l = a.labelRank;
11669
13188
  if (i === r + 1) return;
11670
13189
  e.removeEdge(n);
11671
- let u, d, c;
11672
- for (c = 0, ++r; r < i; ++c, ++r) a.points = [], d = {
13190
+ let u, d, c = 0;
13191
+ for (++r; r < i; ++c, ++r) a.points = [], d = {
11673
13192
  width: 0,
11674
13193
  height: 0,
11675
13194
  edgeLabel: a,
@@ -12479,17 +13998,13 @@ function rr(e, n, t) {
12479
13998
  case "l":
12480
13999
  u = -s.width / 2;
12481
14000
  break;
12482
- case "r":
12483
- u = s.width / 2;
12484
- break;
14001
+ case "r": u = s.width / 2;
12485
14002
  }
12486
14003
  if (u && (l += t ? u : -u), u = void 0, l += (s.dummy ? n : e) / 2, l += (a.dummy ? n : e) / 2, l += a.width / 2, Object.hasOwn(a, "labelpos")) switch (a.labelpos.toLowerCase()) {
12487
14004
  case "l":
12488
14005
  u = a.width / 2;
12489
14006
  break;
12490
- case "r":
12491
- u = -a.width / 2;
12492
- break;
14007
+ case "r": u = -a.width / 2;
12493
14008
  }
12494
14009
  return u && (l += t ? u : -u), l;
12495
14010
  };
@@ -12826,9 +14341,7 @@ function Lr(e) {
12826
14341
  case "l":
12827
14342
  t.x -= t.width / 2 + t.labeloffset;
12828
14343
  break;
12829
- case "r":
12830
- t.x += t.width / 2 + t.labeloffset;
12831
- break;
14344
+ case "r": t.x += t.width / 2 + t.labeloffset;
12832
14345
  }
12833
14346
  });
12834
14347
  }
@@ -13938,9 +15451,11 @@ var EditorContext = (0, react.createContext)(null);
13938
15451
  function panelValuesToNodeData(currentData, panelValues) {
13939
15452
  switch (currentData.type) {
13940
15453
  case "literal": return literalPanelToData(currentData, panelValues);
13941
- case "operator":
13942
- if (isVariableOperatorName(currentData.operator)) return variablePanelToData(currentData, panelValues);
15454
+ case "operator": {
15455
+ const opData = currentData;
15456
+ if (isVariableOperatorName(opData.operator) && hasVariableCells(opData.cells)) return variablePanelToData(currentData, panelValues);
13943
15457
  return currentData;
15458
+ }
13944
15459
  case "structure": return currentData;
13945
15460
  default: return currentData;
13946
15461
  }
@@ -16631,6 +18146,8 @@ var STRUCTURED_FIELDS = [
16631
18146
  "index",
16632
18147
  "length",
16633
18148
  "stage",
18149
+ "budget",
18150
+ "spent",
16634
18151
  "node_ids"
16635
18152
  ];
16636
18153
  function isStructuredError(value) {
@@ -16736,7 +18253,8 @@ var SUMMARY_LABELS = {
16736
18253
  division_by_zero: "div/0",
16737
18254
  loose_equality_errors: "loose ==",
16738
18255
  truthy_evaluator: "truthy",
16739
- max_recursion_depth: "depth"
18256
+ max_recursion_depth: "depth",
18257
+ ops_budget: "budget"
16740
18258
  };
16741
18259
  var COERCION_LABELS = {
16742
18260
  empty_string_to_zero: "\"\" to 0",
@@ -16798,7 +18316,7 @@ function useWasmEvaluator(options = {}) {
16798
18316
  try {
16799
18317
  setLoading(true);
16800
18318
  setError(null);
16801
- const wasm = await Promise.resolve().then(() => require("./datalogic_wasm-6KTmUP2q.cjs"));
18319
+ const wasm = await Promise.resolve().then(() => require("./datalogic_wasm-Bckz7njC.cjs"));
16802
18320
  await wasm.default();
16803
18321
  if (!cancelled) {
16804
18322
  moduleRef.current = { Engine: wasm.Engine };
@@ -16848,21 +18366,30 @@ function useWasmEvaluator(options = {}) {
16848
18366
  customOperators,
16849
18367
  latestCustomOperators
16850
18368
  ]);
18369
+ const evaluateMetered = (0, react.useCallback)((logic, data) => {
18370
+ const engine = getEngine();
18371
+ const logicStr = JSON.stringify(logic);
18372
+ const dataStr = JSON.stringify(data);
18373
+ try {
18374
+ if (!engine.evalMetered) return {
18375
+ value: JSON.parse(engine.evalStr(logicStr, dataStr)),
18376
+ ops: null
18377
+ };
18378
+ const envelope = JSON.parse(engine.evalMetered(logicStr, dataStr));
18379
+ return {
18380
+ value: envelope.result,
18381
+ ops: envelope.ops
18382
+ };
18383
+ } catch (err) {
18384
+ throw new DataLogicEvaluationError(parseStructuredError(err, "Evaluation failed"));
18385
+ }
18386
+ }, [getEngine]);
16851
18387
  return {
16852
18388
  ready,
16853
18389
  loading,
16854
18390
  error,
16855
- evaluate: (0, react.useCallback)((logic, data) => {
16856
- const engine = getEngine();
16857
- const logicStr = JSON.stringify(logic);
16858
- const dataStr = JSON.stringify(data);
16859
- try {
16860
- const resultStr = engine.evalStr(logicStr, dataStr);
16861
- return JSON.parse(resultStr);
16862
- } catch (err) {
16863
- throw new DataLogicEvaluationError(parseStructuredError(err, "Evaluation failed"));
16864
- }
16865
- }, [getEngine]),
18391
+ evaluate: (0, react.useCallback)((logic, data) => evaluateMetered(logic, data).value, [evaluateMetered]),
18392
+ evaluateMetered,
16866
18393
  evaluateWithTrace: (0, react.useCallback)((logic, data) => {
16867
18394
  const engine = getEngine();
16868
18395
  const logicStr = JSON.stringify(logic);
@@ -17641,8 +19168,8 @@ var GATE_SILHOUETTES = {
17641
19168
  };
17642
19169
  var UnifiedOperatorNode = (0, react.memo)(function UnifiedOperatorNode({ id, data, selected }) {
17643
19170
  const color = signalVar(signalForOperator(data.operator, data.category));
17644
- const shape = shapeForOperator(data.operator, data.category);
17645
19171
  const renderKind = operatorRenderKind(data);
19172
+ const shape = drawnShape(shapeForOperator(data.operator, data.category), renderKind);
17646
19173
  const isFlow = useIsFlowDirection();
17647
19174
  const debugClassName = useDebugClassName(id);
17648
19175
  const toggleNodeCollapse = useNodeCollapse(id);
@@ -20324,6 +21851,7 @@ function getInitialValuesFromNode(data) {
20324
21851
  function getOperatorInitialValues(data) {
20325
21852
  const raw = rawOperandOf(data.expression);
20326
21853
  const operands = raw === void 0 ? [] : Array.isArray(raw) ? raw : [raw];
21854
+ if (isVariableOperatorName(data.operator) && !hasVariableCells(data.cells)) return {};
20327
21855
  if (data.operator === "var") {
20328
21856
  const pathCell = data.cells.find((c) => c.fieldId === "path");
20329
21857
  const defaultCell = data.cells.find((c) => c.index === 1 && c.fieldId !== "path");
@@ -20549,7 +22077,7 @@ var SelectedNodePanel = (0, react.memo)((0, react.forwardRef)(function SelectedN
20549
22077
  title: canDelete ? "Delete this node and its children" : "Cannot delete root node",
20550
22078
  onClick: onDelete,
20551
22079
  disabled: !canDelete,
20552
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Trash2, { size: 14 }), "Delete Node"]
22080
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Trash, { size: 14 }), "Delete Node"]
20553
22081
  })
20554
22082
  })
20555
22083
  ]
@@ -21162,7 +22690,7 @@ function useContextMenuItems({ node, onEditProperties }) {
21162
22690
  items.push({
21163
22691
  id: "remove-argument",
21164
22692
  label: isIfOp ? "Remove Branch" : isSwitchOp ? "Remove Case" : "Remove Argument",
21165
- icon: react.default.createElement(Trash2, { size: 14 }),
22693
+ icon: react.default.createElement(Trash, { size: 14 }),
21166
22694
  submenu: removeItems
21167
22695
  });
21168
22696
  }
@@ -21241,7 +22769,7 @@ function useContextMenuItems({ node, onEditProperties }) {
21241
22769
  items.push({
21242
22770
  id: "delete",
21243
22771
  label: "Delete",
21244
- icon: react.default.createElement(Trash2, { size: 14 }),
22772
+ icon: react.default.createElement(Trash, { size: 14 }),
21245
22773
  shortcut: "⌫",
21246
22774
  danger: true,
21247
22775
  disabled: isRoot,