@almadar/ui 5.26.0 → 5.26.1

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.
@@ -164,18 +164,22 @@ var init_SvgBranch = __esm({
164
164
  "components/core/atoms/svg/SvgBranch.tsx"() {
165
165
  "use client";
166
166
  exports.SvgBranch = ({
167
- x,
168
- y,
167
+ x = 5,
168
+ y = 50,
169
169
  variant = "fork",
170
170
  branches = 2,
171
171
  size = 1,
172
172
  color = "var(--color-primary)",
173
173
  opacity = 1,
174
- className
174
+ className,
175
+ asRoot = true,
176
+ width = 100,
177
+ height = 100
175
178
  }) => {
179
+ let inner;
176
180
  if (variant === "diamond") {
177
181
  const points = buildDiamondPoints(x, y, size);
178
- return /* @__PURE__ */ jsxRuntime.jsx("g", { className, opacity, children: /* @__PURE__ */ jsxRuntime.jsx(
182
+ inner = /* @__PURE__ */ jsxRuntime.jsx("g", { className, opacity, children: /* @__PURE__ */ jsxRuntime.jsx(
179
183
  "polygon",
180
184
  {
181
185
  points,
@@ -185,23 +189,28 @@ var init_SvgBranch = __esm({
185
189
  strokeLinejoin: "round"
186
190
  }
187
191
  ) });
192
+ } else {
193
+ const paths = variant === "fork" ? buildForkPaths(x, y, branches, size) : buildMergePaths(x, y, branches, size);
194
+ inner = /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
195
+ paths.map((d, i) => /* @__PURE__ */ jsxRuntime.jsx(
196
+ "path",
197
+ {
198
+ d,
199
+ fill: "none",
200
+ stroke: color,
201
+ strokeWidth: 2,
202
+ strokeLinecap: "round"
203
+ },
204
+ i
205
+ )),
206
+ variant === "fork" && /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x + 30 * size, cy: y, r: 3, fill: color }),
207
+ variant === "merge" && /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x + 30 * size, cy: y, r: 3, fill: color })
208
+ ] });
188
209
  }
189
- const paths = variant === "fork" ? buildForkPaths(x, y, branches, size) : buildMergePaths(x, y, branches, size);
190
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
191
- paths.map((d, i) => /* @__PURE__ */ jsxRuntime.jsx(
192
- "path",
193
- {
194
- d,
195
- fill: "none",
196
- stroke: color,
197
- strokeWidth: 2,
198
- strokeLinecap: "round"
199
- },
200
- i
201
- )),
202
- variant === "fork" && /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x + 30 * size, cy: y, r: 3, fill: color }),
203
- variant === "merge" && /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x + 30 * size, cy: y, r: 3, fill: color })
204
- ] });
210
+ if (asRoot) {
211
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
212
+ }
213
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: inner });
205
214
  };
206
215
  exports.SvgBranch.displayName = "SvgBranch";
207
216
  }
@@ -211,20 +220,23 @@ var init_SvgConnection = __esm({
211
220
  "components/core/atoms/svg/SvgConnection.tsx"() {
212
221
  "use client";
213
222
  exports.SvgConnection = ({
214
- x1,
215
- y1,
216
- x2,
217
- y2,
223
+ x1 = 10,
224
+ y1 = 50,
225
+ x2 = 90,
226
+ y2 = 50,
218
227
  variant = "solid",
219
228
  color = "var(--color-primary)",
220
229
  strokeWidth = 1.5,
221
230
  opacity = 1,
222
- className
231
+ className,
232
+ asRoot = true,
233
+ width = 100,
234
+ height = 100
223
235
  }) => {
224
236
  const dashProps = variant === "solid" ? {} : {
225
237
  strokeDasharray: "8 6"
226
238
  };
227
- return /* @__PURE__ */ jsxRuntime.jsx(
239
+ const inner = /* @__PURE__ */ jsxRuntime.jsx(
228
240
  "line",
229
241
  {
230
242
  className: [
@@ -242,22 +254,30 @@ var init_SvgConnection = __esm({
242
254
  ...dashProps
243
255
  }
244
256
  );
257
+ if (asRoot) {
258
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
259
+ }
260
+ return inner;
245
261
  };
246
262
  exports.SvgConnection.displayName = "SvgConnection";
247
263
  }
248
264
  });
249
- var flowIdCounter; exports.SvgFlow = void 0;
265
+ var flowIdCounter, DEFAULT_POINTS; exports.SvgFlow = void 0;
250
266
  var init_SvgFlow = __esm({
251
267
  "components/core/atoms/svg/SvgFlow.tsx"() {
252
268
  "use client";
253
269
  flowIdCounter = 0;
270
+ DEFAULT_POINTS = [[10, 50], [50, 20], [90, 50]];
254
271
  exports.SvgFlow = ({
255
- points,
272
+ points = DEFAULT_POINTS,
256
273
  color = "var(--color-primary)",
257
274
  strokeWidth = 1.5,
258
275
  animated = false,
259
276
  opacity = 1,
260
- className
277
+ className,
278
+ asRoot = true,
279
+ width = 100,
280
+ height = 100
261
281
  }) => {
262
282
  const markerId = React79__namespace.default.useMemo(() => {
263
283
  flowIdCounter += 1;
@@ -267,7 +287,7 @@ var init_SvgFlow = __esm({
267
287
  return null;
268
288
  }
269
289
  const pathData = points.map((pt, i) => `${i === 0 ? "M" : "L"}${pt[0]},${pt[1]}`).join(" ");
270
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
290
+ const inner = /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
271
291
  /* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsx(
272
292
  "marker",
273
293
  {
@@ -296,6 +316,10 @@ var init_SvgFlow = __esm({
296
316
  }
297
317
  )
298
318
  ] });
319
+ if (asRoot) {
320
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
321
+ }
322
+ return inner;
299
323
  };
300
324
  exports.SvgFlow.displayName = "SvgFlow";
301
325
  }
@@ -305,8 +329,8 @@ var init_SvgGrid = __esm({
305
329
  "components/core/atoms/svg/SvgGrid.tsx"() {
306
330
  "use client";
307
331
  exports.SvgGrid = ({
308
- x,
309
- y,
332
+ x = 10,
333
+ y = 10,
310
334
  cols = 4,
311
335
  rows: rows2 = 3,
312
336
  spacing = 20,
@@ -314,10 +338,13 @@ var init_SvgGrid = __esm({
314
338
  color = "var(--color-primary)",
315
339
  opacity = 1,
316
340
  className,
317
- highlights = []
341
+ highlights = [],
342
+ asRoot = true,
343
+ width = 100,
344
+ height = 100
318
345
  }) => {
319
346
  const highlightSet = new Set(highlights);
320
- return /* @__PURE__ */ jsxRuntime.jsx("g", { className, opacity, children: Array.from({ length: rows2 }).map(
347
+ const inner = /* @__PURE__ */ jsxRuntime.jsx("g", { className, opacity, children: Array.from({ length: rows2 }).map(
321
348
  (_, row) => Array.from({ length: cols }).map((_2, col) => {
322
349
  const index = row * cols + col;
323
350
  const isHighlighted = highlightSet.has(index);
@@ -336,6 +363,10 @@ var init_SvgGrid = __esm({
336
363
  );
337
364
  })
338
365
  ) });
366
+ if (asRoot) {
367
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
368
+ }
369
+ return inner;
339
370
  };
340
371
  exports.SvgGrid.displayName = "SvgGrid";
341
372
  }
@@ -345,15 +376,18 @@ var init_SvgLobe = __esm({
345
376
  "components/core/atoms/svg/SvgLobe.tsx"() {
346
377
  "use client";
347
378
  exports.SvgLobe = ({
348
- cx,
349
- cy,
379
+ cx = 50,
380
+ cy = 50,
350
381
  rx = 14,
351
382
  ry = 20,
352
383
  rotation = 0,
353
384
  shells = 2,
354
385
  color = "var(--color-primary)",
355
386
  opacity = 1,
356
- className
387
+ className,
388
+ asRoot = true,
389
+ width = 100,
390
+ height = 100
357
391
  }) => {
358
392
  const clampedShells = Math.max(1, Math.min(3, shells));
359
393
  const renderShell = (shellIndex) => {
@@ -388,7 +422,7 @@ var init_SvgLobe = __esm({
388
422
  )
389
423
  ] }, shellIndex);
390
424
  };
391
- return /* @__PURE__ */ jsxRuntime.jsx(
425
+ const inner = /* @__PURE__ */ jsxRuntime.jsx(
392
426
  "g",
393
427
  {
394
428
  className,
@@ -397,6 +431,10 @@ var init_SvgLobe = __esm({
397
431
  children: Array.from({ length: clampedShells }, (_, i) => renderShell(i))
398
432
  }
399
433
  );
434
+ if (asRoot) {
435
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
436
+ }
437
+ return inner;
400
438
  };
401
439
  exports.SvgLobe.displayName = "SvgLobe";
402
440
  }
@@ -425,18 +463,21 @@ var init_SvgMesh = __esm({
425
463
  "components/core/atoms/svg/SvgMesh.tsx"() {
426
464
  "use client";
427
465
  exports.SvgMesh = ({
428
- cx,
429
- cy,
466
+ cx = 60,
467
+ cy = 60,
430
468
  nodes = 6,
431
469
  radius = 50,
432
470
  color = "var(--color-primary)",
433
471
  connectionDensity = 0.5,
434
472
  opacity = 1,
435
- className
473
+ className,
474
+ asRoot = true,
475
+ width = 120,
476
+ height = 120
436
477
  }) => {
437
478
  const positions = getNodePositions(cx, cy, nodes, radius);
438
479
  const connections = getConnections(nodes, connectionDensity);
439
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
480
+ const inner = /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
440
481
  connections.map(([a, b]) => /* @__PURE__ */ jsxRuntime.jsx(
441
482
  "line",
442
483
  {
@@ -461,6 +502,10 @@ var init_SvgMesh = __esm({
461
502
  i
462
503
  ))
463
504
  ] });
505
+ if (asRoot) {
506
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
507
+ }
508
+ return inner;
464
509
  };
465
510
  exports.SvgMesh.displayName = "SvgMesh";
466
511
  }
@@ -602,74 +647,82 @@ var init_SvgMorph = __esm({
602
647
  };
603
648
  FlowArrow.displayName = "FlowArrow";
604
649
  exports.SvgMorph = ({
605
- x,
606
- y,
650
+ x = 5,
651
+ y = 10,
607
652
  size = 1,
608
653
  variant = "generic",
609
654
  color = "var(--color-primary)",
610
655
  opacity = 1,
611
- className
656
+ className,
657
+ asRoot = true,
658
+ width = 130,
659
+ height = 50
612
660
  }) => {
613
661
  const gap = 40 * size;
614
662
  const midY = y + 10 * size;
663
+ let inner;
615
664
  if (variant === "text-to-code") {
616
665
  const leftEnd = x + 30 * size;
617
666
  const rightStart = leftEnd + gap;
618
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
667
+ inner = /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
619
668
  /* @__PURE__ */ jsxRuntime.jsx(TextLines, { x, y, scale: size, color }),
620
669
  /* @__PURE__ */ jsxRuntime.jsx(FlowArrow, { x1: leftEnd, y: midY, x2: rightStart, scale: size, color }),
621
670
  /* @__PURE__ */ jsxRuntime.jsx(CodeBrackets, { x: rightStart, y, scale: size, color })
622
671
  ] });
623
- }
624
- if (variant === "code-to-app") {
672
+ } else if (variant === "code-to-app") {
625
673
  const leftEnd = x + 26 * size;
626
674
  const rightStart = leftEnd + gap;
627
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
675
+ inner = /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
628
676
  /* @__PURE__ */ jsxRuntime.jsx(CodeBrackets, { x, y, scale: size, color }),
629
677
  /* @__PURE__ */ jsxRuntime.jsx(FlowArrow, { x1: leftEnd, y: midY, x2: rightStart, scale: size, color }),
630
678
  /* @__PURE__ */ jsxRuntime.jsx(AppRect, { x: rightStart, y, scale: size, color })
631
679
  ] });
680
+ } else {
681
+ const circleR = 10 * size;
682
+ const circleX = x + circleR;
683
+ const squareStart = x + circleR * 2 + gap;
684
+ const squareSize = circleR * 2;
685
+ inner = /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
686
+ /* @__PURE__ */ jsxRuntime.jsx(
687
+ "circle",
688
+ {
689
+ cx: circleX,
690
+ cy: midY,
691
+ r: circleR,
692
+ fill: "none",
693
+ stroke: color,
694
+ strokeWidth: 2 * size
695
+ }
696
+ ),
697
+ /* @__PURE__ */ jsxRuntime.jsx(
698
+ FlowArrow,
699
+ {
700
+ x1: circleX + circleR + 2 * size,
701
+ y: midY,
702
+ x2: squareStart,
703
+ scale: size,
704
+ color
705
+ }
706
+ ),
707
+ /* @__PURE__ */ jsxRuntime.jsx(
708
+ "rect",
709
+ {
710
+ x: squareStart,
711
+ y: midY - circleR,
712
+ width: squareSize,
713
+ height: squareSize,
714
+ rx: 3 * size,
715
+ fill: "none",
716
+ stroke: color,
717
+ strokeWidth: 2 * size
718
+ }
719
+ )
720
+ ] });
632
721
  }
633
- const circleR = 10 * size;
634
- const circleX = x + circleR;
635
- const squareStart = x + circleR * 2 + gap;
636
- const squareSize = circleR * 2;
637
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
638
- /* @__PURE__ */ jsxRuntime.jsx(
639
- "circle",
640
- {
641
- cx: circleX,
642
- cy: midY,
643
- r: circleR,
644
- fill: "none",
645
- stroke: color,
646
- strokeWidth: 2 * size
647
- }
648
- ),
649
- /* @__PURE__ */ jsxRuntime.jsx(
650
- FlowArrow,
651
- {
652
- x1: circleX + circleR + 2 * size,
653
- y: midY,
654
- x2: squareStart,
655
- scale: size,
656
- color
657
- }
658
- ),
659
- /* @__PURE__ */ jsxRuntime.jsx(
660
- "rect",
661
- {
662
- x: squareStart,
663
- y: midY - circleR,
664
- width: squareSize,
665
- height: squareSize,
666
- rx: 3 * size,
667
- fill: "none",
668
- stroke: color,
669
- strokeWidth: 2 * size
670
- }
671
- )
672
- ] });
722
+ if (asRoot) {
723
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
724
+ }
725
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: inner });
673
726
  };
674
727
  exports.SvgMorph.displayName = "SvgMorph";
675
728
  }
@@ -679,16 +732,19 @@ var init_SvgNode = __esm({
679
732
  "components/core/atoms/svg/SvgNode.tsx"() {
680
733
  "use client";
681
734
  exports.SvgNode = ({
682
- x,
683
- y,
735
+ x = 50,
736
+ y = 50,
684
737
  r = 6,
685
738
  variant = "filled",
686
739
  color = "var(--color-primary)",
687
740
  opacity = 1,
688
741
  className,
689
- label
742
+ label,
743
+ asRoot = true,
744
+ width = 100,
745
+ height = 100
690
746
  }) => {
691
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
747
+ const inner = /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
692
748
  variant === "pulse" && /* @__PURE__ */ jsxRuntime.jsx(
693
749
  "circle",
694
750
  {
@@ -726,6 +782,10 @@ var init_SvgNode = __esm({
726
782
  }
727
783
  )
728
784
  ] });
785
+ if (asRoot) {
786
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
787
+ }
788
+ return inner;
729
789
  };
730
790
  exports.SvgNode.displayName = "SvgNode";
731
791
  }
@@ -747,16 +807,19 @@ var init_SvgPulse = __esm({
747
807
  }
748
808
  `;
749
809
  exports.SvgPulse = ({
750
- cx,
751
- cy,
810
+ cx = 70,
811
+ cy = 70,
752
812
  rings = 3,
753
813
  maxRadius = 60,
754
814
  color = "var(--color-primary)",
755
815
  animated = true,
756
816
  opacity = 1,
757
- className
817
+ className,
818
+ asRoot = true,
819
+ width = 140,
820
+ height = 140
758
821
  }) => {
759
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
822
+ const inner = /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
760
823
  animated && /* @__PURE__ */ jsxRuntime.jsx("style", { children: PULSE_KEYFRAMES }),
761
824
  Array.from({ length: rings }).map((_, i) => {
762
825
  const ringRadius = (i + 1) / rings * maxRadius;
@@ -782,6 +845,10 @@ var init_SvgPulse = __esm({
782
845
  }),
783
846
  /* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r: 3, fill: color })
784
847
  ] });
848
+ if (asRoot) {
849
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
850
+ }
851
+ return inner;
785
852
  };
786
853
  exports.SvgPulse.displayName = "SvgPulse";
787
854
  }
@@ -792,21 +859,24 @@ var init_SvgRing = __esm({
792
859
  "use client";
793
860
  ringIdCounter = 0;
794
861
  exports.SvgRing = ({
795
- cx,
796
- cy,
862
+ cx = 50,
863
+ cy = 50,
797
864
  r = 40,
798
865
  variant = "solid",
799
866
  color = "var(--color-primary)",
800
867
  strokeWidth = 1.5,
801
868
  opacity = 1,
802
869
  className,
803
- label
870
+ label,
871
+ asRoot = true,
872
+ width = 100,
873
+ height = 100
804
874
  }) => {
805
875
  const gradientId = React79__namespace.default.useMemo(() => {
806
876
  ringIdCounter += 1;
807
877
  return `almadar-ring-glow-${ringIdCounter}`;
808
878
  }, []);
809
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
879
+ const inner = /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
810
880
  variant === "glow" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
811
881
  /* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsxs("radialGradient", { id: gradientId, cx: "50%", cy: "50%", r: "50%", children: [
812
882
  /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "0%", stopColor: color, stopOpacity: 0.15 }),
@@ -839,6 +909,10 @@ var init_SvgRing = __esm({
839
909
  }
840
910
  )
841
911
  ] });
912
+ if (asRoot) {
913
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
914
+ }
915
+ return inner;
842
916
  };
843
917
  exports.SvgRing.displayName = "SvgRing";
844
918
  }
@@ -850,15 +924,18 @@ var init_SvgShield = __esm({
850
924
  SHIELD_PATH = "M15,2 C15,2 5,5 2,6 C2,6 2,18 5,24 C8,30 15,34 15,34 C15,34 22,30 25,24 C28,18 28,6 28,6 C25,5 15,2 15,2 Z";
851
925
  CHECK_PATH = "M10,18 L14,22 L21,13";
852
926
  exports.SvgShield = ({
853
- x,
854
- y,
927
+ x = 50,
928
+ y = 50,
855
929
  size = 1,
856
930
  variant = "outline",
857
931
  color = "var(--color-primary)",
858
932
  opacity = 1,
859
- className
933
+ className,
934
+ asRoot = true,
935
+ width = 100,
936
+ height = 100
860
937
  }) => {
861
- return /* @__PURE__ */ jsxRuntime.jsxs(
938
+ const inner = /* @__PURE__ */ jsxRuntime.jsxs(
862
939
  "g",
863
940
  {
864
941
  className,
@@ -889,6 +966,10 @@ var init_SvgShield = __esm({
889
966
  ]
890
967
  }
891
968
  );
969
+ if (asRoot) {
970
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
971
+ }
972
+ return inner;
892
973
  };
893
974
  exports.SvgShield.displayName = "SvgShield";
894
975
  }
@@ -898,20 +979,23 @@ var init_SvgStack = __esm({
898
979
  "components/core/atoms/svg/SvgStack.tsx"() {
899
980
  "use client";
900
981
  exports.SvgStack = ({
901
- x,
902
- y,
982
+ x = 10,
983
+ y = 40,
903
984
  layers: rawLayers = 3,
904
985
  width = 60,
905
986
  height = 40,
906
987
  color = "var(--color-primary)",
907
988
  opacity = 1,
908
989
  className,
909
- labels
990
+ labels,
991
+ asRoot = true,
992
+ svgWidth = 90,
993
+ svgHeight = 80
910
994
  }) => {
911
995
  const layers = Math.max(2, Math.min(4, rawLayers));
912
996
  const verticalOffset = 8;
913
997
  const horizontalOffset = 4;
914
- return /* @__PURE__ */ jsxRuntime.jsx("g", { className, opacity, children: Array.from({ length: layers }).map((_, i) => {
998
+ const inner = /* @__PURE__ */ jsxRuntime.jsx("g", { className, opacity, children: Array.from({ length: layers }).map((_, i) => {
915
999
  const layerIndex = layers - 1 - i;
916
1000
  const layerX = x + layerIndex * horizontalOffset;
917
1001
  const layerY = y - layerIndex * verticalOffset;
@@ -949,6 +1033,10 @@ var init_SvgStack = __esm({
949
1033
  )
950
1034
  ] }, layerIndex);
951
1035
  }) });
1036
+ if (asRoot) {
1037
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${svgWidth} ${svgHeight}`, width: svgWidth, height: svgHeight, children: inner });
1038
+ }
1039
+ return inner;
952
1040
  };
953
1041
  exports.SvgStack.displayName = "SvgStack";
954
1042
  }
@@ -3199,10 +3287,11 @@ var init_ProgressBar = __esm({
3199
3287
  const effectiveColor = color ?? variant;
3200
3288
  const effectiveShowPercentage = showPercentage || showLabel;
3201
3289
  if (progressType === "linear") {
3290
+ const showHeader = label || effectiveShowPercentage;
3202
3291
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("w-full", className), children: [
3203
- label && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-1.5", children: [
3204
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold text-foreground", children: label }),
3205
- effectiveShowPercentage && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm text-foreground font-medium", children: [
3292
+ showHeader && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-1.5", children: [
3293
+ label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold text-foreground", children: label }),
3294
+ effectiveShowPercentage && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("text-sm text-foreground font-medium", !label && "ml-auto"), children: [
3206
3295
  Math.round(percentage),
3207
3296
  "%"
3208
3297
  ] })
@@ -3287,10 +3376,11 @@ var init_ProgressBar = __esm({
3287
3376
  const stepValue = max / steps;
3288
3377
  const activeSteps = Math.floor(value / stepValue);
3289
3378
  const partialStep = value % stepValue / stepValue;
3379
+ const showStepHeader = label || effectiveShowPercentage;
3290
3380
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("w-full", className), children: [
3291
- label && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-2", children: [
3292
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-foreground", children: label }),
3293
- effectiveShowPercentage && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm text-muted-foreground", children: [
3381
+ showStepHeader && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-2", children: [
3382
+ label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-foreground", children: label }),
3383
+ effectiveShowPercentage && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("text-sm text-muted-foreground", !label && "ml-auto"), children: [
3294
3384
  Math.round(percentage),
3295
3385
  "%"
3296
3386
  ] })
@@ -9633,7 +9723,7 @@ var init_AuthLayout = __esm({
9633
9723
  init_Stack();
9634
9724
  init_Typography();
9635
9725
  exports.AuthLayout = ({
9636
- appName = "{{APP_TITLE}}",
9726
+ appName = "My App",
9637
9727
  logo,
9638
9728
  backgroundImage,
9639
9729
  showBranding = true,
@@ -13256,7 +13346,7 @@ var init_MarkdownContent = __esm({
13256
13346
  init_CodeBlock();
13257
13347
  init_cn();
13258
13348
  exports.MarkdownContent = React79__namespace.default.memo(
13259
- ({ content, direction, className }) => {
13349
+ ({ content, direction = "ltr", className }) => {
13260
13350
  const { t: _t } = hooks.useTranslate();
13261
13351
  const safeContent = typeof content === "string" ? content : String(content ?? "");
13262
13352
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -47686,6 +47776,7 @@ var init_component_registry_generated = __esm({
47686
47776
  init_StatDisplay();
47687
47777
  init_StateArchitectBoard();
47688
47778
  init_StateIndicator();
47779
+ init_StateJsonView();
47689
47780
  init_StateMachineView();
47690
47781
  init_StateNode();
47691
47782
  init_StatsGrid();
@@ -48000,6 +48091,7 @@ var init_component_registry_generated = __esm({
48000
48091
  "StatDisplay": exports.StatDisplay,
48001
48092
  "StateArchitectBoard": StateArchitectBoard,
48002
48093
  "StateIndicator": StateIndicator,
48094
+ "StateJsonView": StateJsonView,
48003
48095
  "StateMachineView": exports.StateMachineView,
48004
48096
  "StateNode": StateNode2,
48005
48097
  "StatsGrid": exports.StatsGrid,