@almadar/ui 5.26.0 → 5.26.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/avl/index.js CHANGED
@@ -6094,18 +6094,22 @@ var init_SvgBranch = __esm({
6094
6094
  "components/core/atoms/svg/SvgBranch.tsx"() {
6095
6095
  "use client";
6096
6096
  SvgBranch = ({
6097
- x,
6098
- y,
6097
+ x = 5,
6098
+ y = 50,
6099
6099
  variant = "fork",
6100
6100
  branches = 2,
6101
6101
  size = 1,
6102
6102
  color = "var(--color-primary)",
6103
6103
  opacity = 1,
6104
- className
6104
+ className,
6105
+ asRoot = true,
6106
+ width = 100,
6107
+ height = 100
6105
6108
  }) => {
6109
+ let inner;
6106
6110
  if (variant === "diamond") {
6107
6111
  const points = buildDiamondPoints(x, y, size);
6108
- return /* @__PURE__ */ jsx("g", { className, opacity, children: /* @__PURE__ */ jsx(
6112
+ inner = /* @__PURE__ */ jsx("g", { className, opacity, children: /* @__PURE__ */ jsx(
6109
6113
  "polygon",
6110
6114
  {
6111
6115
  points,
@@ -6115,23 +6119,28 @@ var init_SvgBranch = __esm({
6115
6119
  strokeLinejoin: "round"
6116
6120
  }
6117
6121
  ) });
6122
+ } else {
6123
+ const paths = variant === "fork" ? buildForkPaths(x, y, branches, size) : buildMergePaths(x, y, branches, size);
6124
+ inner = /* @__PURE__ */ jsxs("g", { className, opacity, children: [
6125
+ paths.map((d, i) => /* @__PURE__ */ jsx(
6126
+ "path",
6127
+ {
6128
+ d,
6129
+ fill: "none",
6130
+ stroke: color,
6131
+ strokeWidth: 2,
6132
+ strokeLinecap: "round"
6133
+ },
6134
+ i
6135
+ )),
6136
+ variant === "fork" && /* @__PURE__ */ jsx("circle", { cx: x + 30 * size, cy: y, r: 3, fill: color }),
6137
+ variant === "merge" && /* @__PURE__ */ jsx("circle", { cx: x + 30 * size, cy: y, r: 3, fill: color })
6138
+ ] });
6118
6139
  }
6119
- const paths = variant === "fork" ? buildForkPaths(x, y, branches, size) : buildMergePaths(x, y, branches, size);
6120
- return /* @__PURE__ */ jsxs("g", { className, opacity, children: [
6121
- paths.map((d, i) => /* @__PURE__ */ jsx(
6122
- "path",
6123
- {
6124
- d,
6125
- fill: "none",
6126
- stroke: color,
6127
- strokeWidth: 2,
6128
- strokeLinecap: "round"
6129
- },
6130
- i
6131
- )),
6132
- variant === "fork" && /* @__PURE__ */ jsx("circle", { cx: x + 30 * size, cy: y, r: 3, fill: color }),
6133
- variant === "merge" && /* @__PURE__ */ jsx("circle", { cx: x + 30 * size, cy: y, r: 3, fill: color })
6134
- ] });
6140
+ if (asRoot) {
6141
+ return /* @__PURE__ */ jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
6142
+ }
6143
+ return /* @__PURE__ */ jsx(Fragment, { children: inner });
6135
6144
  };
6136
6145
  SvgBranch.displayName = "SvgBranch";
6137
6146
  }
@@ -6141,20 +6150,23 @@ var init_SvgConnection = __esm({
6141
6150
  "components/core/atoms/svg/SvgConnection.tsx"() {
6142
6151
  "use client";
6143
6152
  SvgConnection = ({
6144
- x1,
6145
- y1,
6146
- x2,
6147
- y2,
6153
+ x1 = 10,
6154
+ y1 = 50,
6155
+ x2 = 90,
6156
+ y2 = 50,
6148
6157
  variant = "solid",
6149
6158
  color = "var(--color-primary)",
6150
6159
  strokeWidth = 1.5,
6151
6160
  opacity = 1,
6152
- className
6161
+ className,
6162
+ asRoot = true,
6163
+ width = 100,
6164
+ height = 100
6153
6165
  }) => {
6154
6166
  const dashProps = variant === "solid" ? {} : {
6155
6167
  strokeDasharray: "8 6"
6156
6168
  };
6157
- return /* @__PURE__ */ jsx(
6169
+ const inner = /* @__PURE__ */ jsx(
6158
6170
  "line",
6159
6171
  {
6160
6172
  className: [
@@ -6172,22 +6184,30 @@ var init_SvgConnection = __esm({
6172
6184
  ...dashProps
6173
6185
  }
6174
6186
  );
6187
+ if (asRoot) {
6188
+ return /* @__PURE__ */ jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
6189
+ }
6190
+ return inner;
6175
6191
  };
6176
6192
  SvgConnection.displayName = "SvgConnection";
6177
6193
  }
6178
6194
  });
6179
- var flowIdCounter, SvgFlow;
6195
+ var flowIdCounter, DEFAULT_POINTS, SvgFlow;
6180
6196
  var init_SvgFlow = __esm({
6181
6197
  "components/core/atoms/svg/SvgFlow.tsx"() {
6182
6198
  "use client";
6183
6199
  flowIdCounter = 0;
6200
+ DEFAULT_POINTS = [[10, 50], [50, 20], [90, 50]];
6184
6201
  SvgFlow = ({
6185
- points,
6202
+ points = DEFAULT_POINTS,
6186
6203
  color = "var(--color-primary)",
6187
6204
  strokeWidth = 1.5,
6188
6205
  animated = false,
6189
6206
  opacity = 1,
6190
- className
6207
+ className,
6208
+ asRoot = true,
6209
+ width = 100,
6210
+ height = 100
6191
6211
  }) => {
6192
6212
  const markerId = React93__default.useMemo(() => {
6193
6213
  flowIdCounter += 1;
@@ -6197,7 +6217,7 @@ var init_SvgFlow = __esm({
6197
6217
  return null;
6198
6218
  }
6199
6219
  const pathData = points.map((pt, i) => `${i === 0 ? "M" : "L"}${pt[0]},${pt[1]}`).join(" ");
6200
- return /* @__PURE__ */ jsxs("g", { className, opacity, children: [
6220
+ const inner = /* @__PURE__ */ jsxs("g", { className, opacity, children: [
6201
6221
  /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx(
6202
6222
  "marker",
6203
6223
  {
@@ -6226,6 +6246,10 @@ var init_SvgFlow = __esm({
6226
6246
  }
6227
6247
  )
6228
6248
  ] });
6249
+ if (asRoot) {
6250
+ return /* @__PURE__ */ jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
6251
+ }
6252
+ return inner;
6229
6253
  };
6230
6254
  SvgFlow.displayName = "SvgFlow";
6231
6255
  }
@@ -6235,8 +6259,8 @@ var init_SvgGrid = __esm({
6235
6259
  "components/core/atoms/svg/SvgGrid.tsx"() {
6236
6260
  "use client";
6237
6261
  SvgGrid = ({
6238
- x,
6239
- y,
6262
+ x = 10,
6263
+ y = 10,
6240
6264
  cols = 4,
6241
6265
  rows: rows2 = 3,
6242
6266
  spacing = 20,
@@ -6244,10 +6268,13 @@ var init_SvgGrid = __esm({
6244
6268
  color = "var(--color-primary)",
6245
6269
  opacity = 1,
6246
6270
  className,
6247
- highlights = []
6271
+ highlights = [],
6272
+ asRoot = true,
6273
+ width = 100,
6274
+ height = 100
6248
6275
  }) => {
6249
6276
  const highlightSet = new Set(highlights);
6250
- return /* @__PURE__ */ jsx("g", { className, opacity, children: Array.from({ length: rows2 }).map(
6277
+ const inner = /* @__PURE__ */ jsx("g", { className, opacity, children: Array.from({ length: rows2 }).map(
6251
6278
  (_, row) => Array.from({ length: cols }).map((_2, col) => {
6252
6279
  const index = row * cols + col;
6253
6280
  const isHighlighted = highlightSet.has(index);
@@ -6266,6 +6293,10 @@ var init_SvgGrid = __esm({
6266
6293
  );
6267
6294
  })
6268
6295
  ) });
6296
+ if (asRoot) {
6297
+ return /* @__PURE__ */ jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
6298
+ }
6299
+ return inner;
6269
6300
  };
6270
6301
  SvgGrid.displayName = "SvgGrid";
6271
6302
  }
@@ -6275,15 +6306,18 @@ var init_SvgLobe = __esm({
6275
6306
  "components/core/atoms/svg/SvgLobe.tsx"() {
6276
6307
  "use client";
6277
6308
  SvgLobe = ({
6278
- cx,
6279
- cy,
6309
+ cx = 50,
6310
+ cy = 50,
6280
6311
  rx = 14,
6281
6312
  ry = 20,
6282
6313
  rotation = 0,
6283
6314
  shells = 2,
6284
6315
  color = "var(--color-primary)",
6285
6316
  opacity = 1,
6286
- className
6317
+ className,
6318
+ asRoot = true,
6319
+ width = 100,
6320
+ height = 100
6287
6321
  }) => {
6288
6322
  const clampedShells = Math.max(1, Math.min(3, shells));
6289
6323
  const renderShell = (shellIndex) => {
@@ -6318,7 +6352,7 @@ var init_SvgLobe = __esm({
6318
6352
  )
6319
6353
  ] }, shellIndex);
6320
6354
  };
6321
- return /* @__PURE__ */ jsx(
6355
+ const inner = /* @__PURE__ */ jsx(
6322
6356
  "g",
6323
6357
  {
6324
6358
  className,
@@ -6327,6 +6361,10 @@ var init_SvgLobe = __esm({
6327
6361
  children: Array.from({ length: clampedShells }, (_, i) => renderShell(i))
6328
6362
  }
6329
6363
  );
6364
+ if (asRoot) {
6365
+ return /* @__PURE__ */ jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
6366
+ }
6367
+ return inner;
6330
6368
  };
6331
6369
  SvgLobe.displayName = "SvgLobe";
6332
6370
  }
@@ -6355,18 +6393,21 @@ var init_SvgMesh = __esm({
6355
6393
  "components/core/atoms/svg/SvgMesh.tsx"() {
6356
6394
  "use client";
6357
6395
  SvgMesh = ({
6358
- cx,
6359
- cy,
6396
+ cx = 60,
6397
+ cy = 60,
6360
6398
  nodes = 6,
6361
6399
  radius = 50,
6362
6400
  color = "var(--color-primary)",
6363
6401
  connectionDensity = 0.5,
6364
6402
  opacity = 1,
6365
- className
6403
+ className,
6404
+ asRoot = true,
6405
+ width = 120,
6406
+ height = 120
6366
6407
  }) => {
6367
6408
  const positions = getNodePositions(cx, cy, nodes, radius);
6368
6409
  const connections = getConnections(nodes, connectionDensity);
6369
- return /* @__PURE__ */ jsxs("g", { className, opacity, children: [
6410
+ const inner = /* @__PURE__ */ jsxs("g", { className, opacity, children: [
6370
6411
  connections.map(([a, b]) => /* @__PURE__ */ jsx(
6371
6412
  "line",
6372
6413
  {
@@ -6391,6 +6432,10 @@ var init_SvgMesh = __esm({
6391
6432
  i
6392
6433
  ))
6393
6434
  ] });
6435
+ if (asRoot) {
6436
+ return /* @__PURE__ */ jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
6437
+ }
6438
+ return inner;
6394
6439
  };
6395
6440
  SvgMesh.displayName = "SvgMesh";
6396
6441
  }
@@ -6532,74 +6577,82 @@ var init_SvgMorph = __esm({
6532
6577
  };
6533
6578
  FlowArrow.displayName = "FlowArrow";
6534
6579
  SvgMorph = ({
6535
- x,
6536
- y,
6580
+ x = 5,
6581
+ y = 10,
6537
6582
  size = 1,
6538
6583
  variant = "generic",
6539
6584
  color = "var(--color-primary)",
6540
6585
  opacity = 1,
6541
- className
6586
+ className,
6587
+ asRoot = true,
6588
+ width = 130,
6589
+ height = 50
6542
6590
  }) => {
6543
6591
  const gap = 40 * size;
6544
6592
  const midY = y + 10 * size;
6593
+ let inner;
6545
6594
  if (variant === "text-to-code") {
6546
6595
  const leftEnd = x + 30 * size;
6547
6596
  const rightStart = leftEnd + gap;
6548
- return /* @__PURE__ */ jsxs("g", { className, opacity, children: [
6597
+ inner = /* @__PURE__ */ jsxs("g", { className, opacity, children: [
6549
6598
  /* @__PURE__ */ jsx(TextLines, { x, y, scale: size, color }),
6550
6599
  /* @__PURE__ */ jsx(FlowArrow, { x1: leftEnd, y: midY, x2: rightStart, scale: size, color }),
6551
6600
  /* @__PURE__ */ jsx(CodeBrackets, { x: rightStart, y, scale: size, color })
6552
6601
  ] });
6553
- }
6554
- if (variant === "code-to-app") {
6602
+ } else if (variant === "code-to-app") {
6555
6603
  const leftEnd = x + 26 * size;
6556
6604
  const rightStart = leftEnd + gap;
6557
- return /* @__PURE__ */ jsxs("g", { className, opacity, children: [
6605
+ inner = /* @__PURE__ */ jsxs("g", { className, opacity, children: [
6558
6606
  /* @__PURE__ */ jsx(CodeBrackets, { x, y, scale: size, color }),
6559
6607
  /* @__PURE__ */ jsx(FlowArrow, { x1: leftEnd, y: midY, x2: rightStart, scale: size, color }),
6560
6608
  /* @__PURE__ */ jsx(AppRect, { x: rightStart, y, scale: size, color })
6561
6609
  ] });
6610
+ } else {
6611
+ const circleR = 10 * size;
6612
+ const circleX = x + circleR;
6613
+ const squareStart = x + circleR * 2 + gap;
6614
+ const squareSize = circleR * 2;
6615
+ inner = /* @__PURE__ */ jsxs("g", { className, opacity, children: [
6616
+ /* @__PURE__ */ jsx(
6617
+ "circle",
6618
+ {
6619
+ cx: circleX,
6620
+ cy: midY,
6621
+ r: circleR,
6622
+ fill: "none",
6623
+ stroke: color,
6624
+ strokeWidth: 2 * size
6625
+ }
6626
+ ),
6627
+ /* @__PURE__ */ jsx(
6628
+ FlowArrow,
6629
+ {
6630
+ x1: circleX + circleR + 2 * size,
6631
+ y: midY,
6632
+ x2: squareStart,
6633
+ scale: size,
6634
+ color
6635
+ }
6636
+ ),
6637
+ /* @__PURE__ */ jsx(
6638
+ "rect",
6639
+ {
6640
+ x: squareStart,
6641
+ y: midY - circleR,
6642
+ width: squareSize,
6643
+ height: squareSize,
6644
+ rx: 3 * size,
6645
+ fill: "none",
6646
+ stroke: color,
6647
+ strokeWidth: 2 * size
6648
+ }
6649
+ )
6650
+ ] });
6562
6651
  }
6563
- const circleR = 10 * size;
6564
- const circleX = x + circleR;
6565
- const squareStart = x + circleR * 2 + gap;
6566
- const squareSize = circleR * 2;
6567
- return /* @__PURE__ */ jsxs("g", { className, opacity, children: [
6568
- /* @__PURE__ */ jsx(
6569
- "circle",
6570
- {
6571
- cx: circleX,
6572
- cy: midY,
6573
- r: circleR,
6574
- fill: "none",
6575
- stroke: color,
6576
- strokeWidth: 2 * size
6577
- }
6578
- ),
6579
- /* @__PURE__ */ jsx(
6580
- FlowArrow,
6581
- {
6582
- x1: circleX + circleR + 2 * size,
6583
- y: midY,
6584
- x2: squareStart,
6585
- scale: size,
6586
- color
6587
- }
6588
- ),
6589
- /* @__PURE__ */ jsx(
6590
- "rect",
6591
- {
6592
- x: squareStart,
6593
- y: midY - circleR,
6594
- width: squareSize,
6595
- height: squareSize,
6596
- rx: 3 * size,
6597
- fill: "none",
6598
- stroke: color,
6599
- strokeWidth: 2 * size
6600
- }
6601
- )
6602
- ] });
6652
+ if (asRoot) {
6653
+ return /* @__PURE__ */ jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
6654
+ }
6655
+ return /* @__PURE__ */ jsx(Fragment, { children: inner });
6603
6656
  };
6604
6657
  SvgMorph.displayName = "SvgMorph";
6605
6658
  }
@@ -6609,16 +6662,19 @@ var init_SvgNode = __esm({
6609
6662
  "components/core/atoms/svg/SvgNode.tsx"() {
6610
6663
  "use client";
6611
6664
  SvgNode = ({
6612
- x,
6613
- y,
6665
+ x = 50,
6666
+ y = 50,
6614
6667
  r: r2 = 6,
6615
6668
  variant = "filled",
6616
6669
  color = "var(--color-primary)",
6617
6670
  opacity = 1,
6618
6671
  className,
6619
- label
6672
+ label,
6673
+ asRoot = true,
6674
+ width = 100,
6675
+ height = 100
6620
6676
  }) => {
6621
- return /* @__PURE__ */ jsxs("g", { className, opacity, children: [
6677
+ const inner = /* @__PURE__ */ jsxs("g", { className, opacity, children: [
6622
6678
  variant === "pulse" && /* @__PURE__ */ jsx(
6623
6679
  "circle",
6624
6680
  {
@@ -6656,6 +6712,10 @@ var init_SvgNode = __esm({
6656
6712
  }
6657
6713
  )
6658
6714
  ] });
6715
+ if (asRoot) {
6716
+ return /* @__PURE__ */ jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
6717
+ }
6718
+ return inner;
6659
6719
  };
6660
6720
  SvgNode.displayName = "SvgNode";
6661
6721
  }
@@ -6677,16 +6737,19 @@ var init_SvgPulse = __esm({
6677
6737
  }
6678
6738
  `;
6679
6739
  SvgPulse = ({
6680
- cx,
6681
- cy,
6740
+ cx = 70,
6741
+ cy = 70,
6682
6742
  rings = 3,
6683
6743
  maxRadius = 60,
6684
6744
  color = "var(--color-primary)",
6685
6745
  animated = true,
6686
6746
  opacity = 1,
6687
- className
6747
+ className,
6748
+ asRoot = true,
6749
+ width = 140,
6750
+ height = 140
6688
6751
  }) => {
6689
- return /* @__PURE__ */ jsxs("g", { className, opacity, children: [
6752
+ const inner = /* @__PURE__ */ jsxs("g", { className, opacity, children: [
6690
6753
  animated && /* @__PURE__ */ jsx("style", { children: PULSE_KEYFRAMES }),
6691
6754
  Array.from({ length: rings }).map((_, i) => {
6692
6755
  const ringRadius = (i + 1) / rings * maxRadius;
@@ -6712,6 +6775,10 @@ var init_SvgPulse = __esm({
6712
6775
  }),
6713
6776
  /* @__PURE__ */ jsx("circle", { cx, cy, r: 3, fill: color })
6714
6777
  ] });
6778
+ if (asRoot) {
6779
+ return /* @__PURE__ */ jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
6780
+ }
6781
+ return inner;
6715
6782
  };
6716
6783
  SvgPulse.displayName = "SvgPulse";
6717
6784
  }
@@ -6722,21 +6789,24 @@ var init_SvgRing = __esm({
6722
6789
  "use client";
6723
6790
  ringIdCounter = 0;
6724
6791
  SvgRing = ({
6725
- cx,
6726
- cy,
6792
+ cx = 50,
6793
+ cy = 50,
6727
6794
  r: r2 = 40,
6728
6795
  variant = "solid",
6729
6796
  color = "var(--color-primary)",
6730
6797
  strokeWidth = 1.5,
6731
6798
  opacity = 1,
6732
6799
  className,
6733
- label
6800
+ label,
6801
+ asRoot = true,
6802
+ width = 100,
6803
+ height = 100
6734
6804
  }) => {
6735
6805
  const gradientId = React93__default.useMemo(() => {
6736
6806
  ringIdCounter += 1;
6737
6807
  return `almadar-ring-glow-${ringIdCounter}`;
6738
6808
  }, []);
6739
- return /* @__PURE__ */ jsxs("g", { className, opacity, children: [
6809
+ const inner = /* @__PURE__ */ jsxs("g", { className, opacity, children: [
6740
6810
  variant === "glow" && /* @__PURE__ */ jsxs(Fragment, { children: [
6741
6811
  /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("radialGradient", { id: gradientId, cx: "50%", cy: "50%", r: "50%", children: [
6742
6812
  /* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: color, stopOpacity: 0.15 }),
@@ -6769,6 +6839,10 @@ var init_SvgRing = __esm({
6769
6839
  }
6770
6840
  )
6771
6841
  ] });
6842
+ if (asRoot) {
6843
+ return /* @__PURE__ */ jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
6844
+ }
6845
+ return inner;
6772
6846
  };
6773
6847
  SvgRing.displayName = "SvgRing";
6774
6848
  }
@@ -6780,15 +6854,18 @@ var init_SvgShield = __esm({
6780
6854
  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";
6781
6855
  CHECK_PATH = "M10,18 L14,22 L21,13";
6782
6856
  SvgShield = ({
6783
- x,
6784
- y,
6857
+ x = 50,
6858
+ y = 50,
6785
6859
  size = 1,
6786
6860
  variant = "outline",
6787
6861
  color = "var(--color-primary)",
6788
6862
  opacity = 1,
6789
- className
6863
+ className,
6864
+ asRoot = true,
6865
+ width = 100,
6866
+ height = 100
6790
6867
  }) => {
6791
- return /* @__PURE__ */ jsxs(
6868
+ const inner = /* @__PURE__ */ jsxs(
6792
6869
  "g",
6793
6870
  {
6794
6871
  className,
@@ -6819,6 +6896,10 @@ var init_SvgShield = __esm({
6819
6896
  ]
6820
6897
  }
6821
6898
  );
6899
+ if (asRoot) {
6900
+ return /* @__PURE__ */ jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
6901
+ }
6902
+ return inner;
6822
6903
  };
6823
6904
  SvgShield.displayName = "SvgShield";
6824
6905
  }
@@ -6828,20 +6909,23 @@ var init_SvgStack = __esm({
6828
6909
  "components/core/atoms/svg/SvgStack.tsx"() {
6829
6910
  "use client";
6830
6911
  SvgStack = ({
6831
- x,
6832
- y,
6912
+ x = 10,
6913
+ y = 40,
6833
6914
  layers: rawLayers = 3,
6834
6915
  width = 60,
6835
6916
  height = 40,
6836
6917
  color = "var(--color-primary)",
6837
6918
  opacity = 1,
6838
6919
  className,
6839
- labels
6920
+ labels,
6921
+ asRoot = true,
6922
+ svgWidth = 90,
6923
+ svgHeight = 80
6840
6924
  }) => {
6841
6925
  const layers = Math.max(2, Math.min(4, rawLayers));
6842
6926
  const verticalOffset = 8;
6843
6927
  const horizontalOffset = 4;
6844
- return /* @__PURE__ */ jsx("g", { className, opacity, children: Array.from({ length: layers }).map((_, i) => {
6928
+ const inner = /* @__PURE__ */ jsx("g", { className, opacity, children: Array.from({ length: layers }).map((_, i) => {
6845
6929
  const layerIndex = layers - 1 - i;
6846
6930
  const layerX = x + layerIndex * horizontalOffset;
6847
6931
  const layerY = y - layerIndex * verticalOffset;
@@ -6879,6 +6963,10 @@ var init_SvgStack = __esm({
6879
6963
  )
6880
6964
  ] }, layerIndex);
6881
6965
  }) });
6966
+ if (asRoot) {
6967
+ return /* @__PURE__ */ jsx("svg", { viewBox: `0 0 ${svgWidth} ${svgHeight}`, width: svgWidth, height: svgHeight, children: inner });
6968
+ }
6969
+ return inner;
6882
6970
  };
6883
6971
  SvgStack.displayName = "SvgStack";
6884
6972
  }
@@ -7715,10 +7803,11 @@ var init_ProgressBar = __esm({
7715
7803
  const effectiveColor = color ?? variant;
7716
7804
  const effectiveShowPercentage = showPercentage || showLabel;
7717
7805
  if (progressType === "linear") {
7806
+ const showHeader = label || effectiveShowPercentage;
7718
7807
  return /* @__PURE__ */ jsxs("div", { className: cn("w-full", className), children: [
7719
- label && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-1.5", children: [
7720
- /* @__PURE__ */ jsx("span", { className: "text-sm font-bold text-foreground", children: label }),
7721
- effectiveShowPercentage && /* @__PURE__ */ jsxs("span", { className: "text-sm text-foreground font-medium", children: [
7808
+ showHeader && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-1.5", children: [
7809
+ label && /* @__PURE__ */ jsx("span", { className: "text-sm font-bold text-foreground", children: label }),
7810
+ effectiveShowPercentage && /* @__PURE__ */ jsxs("span", { className: cn("text-sm text-foreground font-medium", !label && "ml-auto"), children: [
7722
7811
  Math.round(percentage),
7723
7812
  "%"
7724
7813
  ] })
@@ -7803,10 +7892,11 @@ var init_ProgressBar = __esm({
7803
7892
  const stepValue = max / steps;
7804
7893
  const activeSteps = Math.floor(value / stepValue);
7805
7894
  const partialStep = value % stepValue / stepValue;
7895
+ const showStepHeader = label || effectiveShowPercentage;
7806
7896
  return /* @__PURE__ */ jsxs("div", { className: cn("w-full", className), children: [
7807
- label && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-2", children: [
7808
- /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-foreground", children: label }),
7809
- effectiveShowPercentage && /* @__PURE__ */ jsxs("span", { className: "text-sm text-muted-foreground", children: [
7897
+ showStepHeader && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between mb-2", children: [
7898
+ label && /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-foreground", children: label }),
7899
+ effectiveShowPercentage && /* @__PURE__ */ jsxs("span", { className: cn("text-sm text-muted-foreground", !label && "ml-auto"), children: [
7810
7900
  Math.round(percentage),
7811
7901
  "%"
7812
7902
  ] })
@@ -14241,7 +14331,7 @@ var init_AuthLayout = __esm({
14241
14331
  init_Stack();
14242
14332
  init_Typography();
14243
14333
  AuthLayout = ({
14244
- appName = "{{APP_TITLE}}",
14334
+ appName = "My App",
14245
14335
  logo,
14246
14336
  backgroundImage,
14247
14337
  showBranding = true,
@@ -17136,7 +17226,7 @@ var init_MarkdownContent = __esm({
17136
17226
  init_CodeBlock();
17137
17227
  init_cn();
17138
17228
  MarkdownContent = React93__default.memo(
17139
- ({ content, direction, className }) => {
17229
+ ({ content, direction = "ltr", className }) => {
17140
17230
  const { t: _t } = useTranslate();
17141
17231
  const safeContent = typeof content === "string" ? content : String(content ?? "");
17142
17232
  return /* @__PURE__ */ jsx(
@@ -1,12 +1,16 @@
1
1
  import React from 'react';
2
2
  export interface SvgBranchProps {
3
- x: number;
4
- y: number;
3
+ x?: number;
4
+ y?: number;
5
5
  variant?: 'fork' | 'merge' | 'diamond';
6
6
  branches?: number;
7
7
  size?: number;
8
8
  color?: string;
9
9
  opacity?: number;
10
10
  className?: string;
11
+ /** When true (default), wraps in a standalone <svg> so the shape is visible without a parent SVG context. */
12
+ asRoot?: boolean;
13
+ width?: number;
14
+ height?: number;
11
15
  }
12
16
  export declare const SvgBranch: React.FC<SvgBranchProps>;
@@ -1,13 +1,17 @@
1
1
  import React from 'react';
2
2
  export interface SvgConnectionProps {
3
- x1: number;
4
- y1: number;
5
- x2: number;
6
- y2: number;
3
+ x1?: number;
4
+ y1?: number;
5
+ x2?: number;
6
+ y2?: number;
7
7
  variant?: 'solid' | 'dashed' | 'animated';
8
8
  color?: string;
9
9
  strokeWidth?: number;
10
10
  opacity?: number;
11
11
  className?: string;
12
+ /** When true (default), wraps in a standalone <svg> so the shape is visible without a parent SVG context. */
13
+ asRoot?: boolean;
14
+ width?: number;
15
+ height?: number;
12
16
  }
13
17
  export declare const SvgConnection: React.FC<SvgConnectionProps>;
@@ -1,10 +1,14 @@
1
1
  import React from 'react';
2
2
  export interface SvgFlowProps {
3
- points: Array<[number, number]>;
3
+ points?: Array<[number, number]>;
4
4
  color?: string;
5
5
  strokeWidth?: number;
6
6
  animated?: boolean;
7
7
  opacity?: number;
8
8
  className?: string;
9
+ /** When true (default), wraps in a standalone <svg> so the shape is visible without a parent SVG context. */
10
+ asRoot?: boolean;
11
+ width?: number;
12
+ height?: number;
9
13
  }
10
14
  export declare const SvgFlow: React.FC<SvgFlowProps>;