@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.
@@ -2066,8 +2066,15 @@ var coreLocale = coreMessages;
2066
2066
  var I18nContext = createContext({
2067
2067
  locale: "en",
2068
2068
  direction: "ltr",
2069
- t: (key) => coreLocale[key] ?? key
2070
- // core locale fallback
2069
+ t: (key, params) => {
2070
+ let msg = coreLocale[key] ?? key;
2071
+ if (params) {
2072
+ for (const [k, v] of Object.entries(params)) {
2073
+ msg = msg.split(`{{${k}}}`).join(String(v));
2074
+ }
2075
+ }
2076
+ return msg;
2077
+ }
2071
2078
  });
2072
2079
  I18nContext.displayName = "I18nContext";
2073
2080
  var I18nProvider = I18nContext.Provider;
@@ -2582,18 +2582,22 @@ var init_SvgBranch = __esm({
2582
2582
  "components/core/atoms/svg/SvgBranch.tsx"() {
2583
2583
  "use client";
2584
2584
  SvgBranch = ({
2585
- x,
2586
- y,
2585
+ x = 5,
2586
+ y = 50,
2587
2587
  variant = "fork",
2588
2588
  branches = 2,
2589
2589
  size = 1,
2590
2590
  color = "var(--color-primary)",
2591
2591
  opacity = 1,
2592
- className
2592
+ className,
2593
+ asRoot = true,
2594
+ width = 100,
2595
+ height = 100
2593
2596
  }) => {
2597
+ let inner;
2594
2598
  if (variant === "diamond") {
2595
2599
  const points = buildDiamondPoints(x, y, size);
2596
- return /* @__PURE__ */ jsxRuntime.jsx("g", { className, opacity, children: /* @__PURE__ */ jsxRuntime.jsx(
2600
+ inner = /* @__PURE__ */ jsxRuntime.jsx("g", { className, opacity, children: /* @__PURE__ */ jsxRuntime.jsx(
2597
2601
  "polygon",
2598
2602
  {
2599
2603
  points,
@@ -2603,23 +2607,28 @@ var init_SvgBranch = __esm({
2603
2607
  strokeLinejoin: "round"
2604
2608
  }
2605
2609
  ) });
2610
+ } else {
2611
+ const paths = variant === "fork" ? buildForkPaths(x, y, branches, size) : buildMergePaths(x, y, branches, size);
2612
+ inner = /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
2613
+ paths.map((d, i) => /* @__PURE__ */ jsxRuntime.jsx(
2614
+ "path",
2615
+ {
2616
+ d,
2617
+ fill: "none",
2618
+ stroke: color,
2619
+ strokeWidth: 2,
2620
+ strokeLinecap: "round"
2621
+ },
2622
+ i
2623
+ )),
2624
+ variant === "fork" && /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x + 30 * size, cy: y, r: 3, fill: color }),
2625
+ variant === "merge" && /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x + 30 * size, cy: y, r: 3, fill: color })
2626
+ ] });
2606
2627
  }
2607
- const paths = variant === "fork" ? buildForkPaths(x, y, branches, size) : buildMergePaths(x, y, branches, size);
2608
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
2609
- paths.map((d, i) => /* @__PURE__ */ jsxRuntime.jsx(
2610
- "path",
2611
- {
2612
- d,
2613
- fill: "none",
2614
- stroke: color,
2615
- strokeWidth: 2,
2616
- strokeLinecap: "round"
2617
- },
2618
- i
2619
- )),
2620
- variant === "fork" && /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x + 30 * size, cy: y, r: 3, fill: color }),
2621
- variant === "merge" && /* @__PURE__ */ jsxRuntime.jsx("circle", { cx: x + 30 * size, cy: y, r: 3, fill: color })
2622
- ] });
2628
+ if (asRoot) {
2629
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
2630
+ }
2631
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: inner });
2623
2632
  };
2624
2633
  SvgBranch.displayName = "SvgBranch";
2625
2634
  }
@@ -2629,20 +2638,23 @@ var init_SvgConnection = __esm({
2629
2638
  "components/core/atoms/svg/SvgConnection.tsx"() {
2630
2639
  "use client";
2631
2640
  SvgConnection = ({
2632
- x1,
2633
- y1,
2634
- x2,
2635
- y2,
2641
+ x1 = 10,
2642
+ y1 = 50,
2643
+ x2 = 90,
2644
+ y2 = 50,
2636
2645
  variant = "solid",
2637
2646
  color = "var(--color-primary)",
2638
2647
  strokeWidth = 1.5,
2639
2648
  opacity = 1,
2640
- className
2649
+ className,
2650
+ asRoot = true,
2651
+ width = 100,
2652
+ height = 100
2641
2653
  }) => {
2642
2654
  const dashProps = variant === "solid" ? {} : {
2643
2655
  strokeDasharray: "8 6"
2644
2656
  };
2645
- return /* @__PURE__ */ jsxRuntime.jsx(
2657
+ const inner = /* @__PURE__ */ jsxRuntime.jsx(
2646
2658
  "line",
2647
2659
  {
2648
2660
  className: [
@@ -2660,22 +2672,30 @@ var init_SvgConnection = __esm({
2660
2672
  ...dashProps
2661
2673
  }
2662
2674
  );
2675
+ if (asRoot) {
2676
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
2677
+ }
2678
+ return inner;
2663
2679
  };
2664
2680
  SvgConnection.displayName = "SvgConnection";
2665
2681
  }
2666
2682
  });
2667
- var flowIdCounter, SvgFlow;
2683
+ var flowIdCounter, DEFAULT_POINTS, SvgFlow;
2668
2684
  var init_SvgFlow = __esm({
2669
2685
  "components/core/atoms/svg/SvgFlow.tsx"() {
2670
2686
  "use client";
2671
2687
  flowIdCounter = 0;
2688
+ DEFAULT_POINTS = [[10, 50], [50, 20], [90, 50]];
2672
2689
  SvgFlow = ({
2673
- points,
2690
+ points = DEFAULT_POINTS,
2674
2691
  color = "var(--color-primary)",
2675
2692
  strokeWidth = 1.5,
2676
2693
  animated = false,
2677
2694
  opacity = 1,
2678
- className
2695
+ className,
2696
+ asRoot = true,
2697
+ width = 100,
2698
+ height = 100
2679
2699
  }) => {
2680
2700
  const markerId = React85__namespace.default.useMemo(() => {
2681
2701
  flowIdCounter += 1;
@@ -2685,7 +2705,7 @@ var init_SvgFlow = __esm({
2685
2705
  return null;
2686
2706
  }
2687
2707
  const pathData = points.map((pt, i) => `${i === 0 ? "M" : "L"}${pt[0]},${pt[1]}`).join(" ");
2688
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
2708
+ const inner = /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
2689
2709
  /* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsx(
2690
2710
  "marker",
2691
2711
  {
@@ -2714,6 +2734,10 @@ var init_SvgFlow = __esm({
2714
2734
  }
2715
2735
  )
2716
2736
  ] });
2737
+ if (asRoot) {
2738
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
2739
+ }
2740
+ return inner;
2717
2741
  };
2718
2742
  SvgFlow.displayName = "SvgFlow";
2719
2743
  }
@@ -2723,8 +2747,8 @@ var init_SvgGrid = __esm({
2723
2747
  "components/core/atoms/svg/SvgGrid.tsx"() {
2724
2748
  "use client";
2725
2749
  SvgGrid = ({
2726
- x,
2727
- y,
2750
+ x = 10,
2751
+ y = 10,
2728
2752
  cols = 4,
2729
2753
  rows: rows2 = 3,
2730
2754
  spacing = 20,
@@ -2732,10 +2756,13 @@ var init_SvgGrid = __esm({
2732
2756
  color = "var(--color-primary)",
2733
2757
  opacity = 1,
2734
2758
  className,
2735
- highlights = []
2759
+ highlights = [],
2760
+ asRoot = true,
2761
+ width = 100,
2762
+ height = 100
2736
2763
  }) => {
2737
2764
  const highlightSet = new Set(highlights);
2738
- return /* @__PURE__ */ jsxRuntime.jsx("g", { className, opacity, children: Array.from({ length: rows2 }).map(
2765
+ const inner = /* @__PURE__ */ jsxRuntime.jsx("g", { className, opacity, children: Array.from({ length: rows2 }).map(
2739
2766
  (_, row) => Array.from({ length: cols }).map((_2, col) => {
2740
2767
  const index = row * cols + col;
2741
2768
  const isHighlighted = highlightSet.has(index);
@@ -2754,6 +2781,10 @@ var init_SvgGrid = __esm({
2754
2781
  );
2755
2782
  })
2756
2783
  ) });
2784
+ if (asRoot) {
2785
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
2786
+ }
2787
+ return inner;
2757
2788
  };
2758
2789
  SvgGrid.displayName = "SvgGrid";
2759
2790
  }
@@ -2763,15 +2794,18 @@ var init_SvgLobe = __esm({
2763
2794
  "components/core/atoms/svg/SvgLobe.tsx"() {
2764
2795
  "use client";
2765
2796
  SvgLobe = ({
2766
- cx,
2767
- cy,
2797
+ cx = 50,
2798
+ cy = 50,
2768
2799
  rx = 14,
2769
2800
  ry = 20,
2770
2801
  rotation = 0,
2771
2802
  shells = 2,
2772
2803
  color = "var(--color-primary)",
2773
2804
  opacity = 1,
2774
- className
2805
+ className,
2806
+ asRoot = true,
2807
+ width = 100,
2808
+ height = 100
2775
2809
  }) => {
2776
2810
  const clampedShells = Math.max(1, Math.min(3, shells));
2777
2811
  const renderShell = (shellIndex) => {
@@ -2806,7 +2840,7 @@ var init_SvgLobe = __esm({
2806
2840
  )
2807
2841
  ] }, shellIndex);
2808
2842
  };
2809
- return /* @__PURE__ */ jsxRuntime.jsx(
2843
+ const inner = /* @__PURE__ */ jsxRuntime.jsx(
2810
2844
  "g",
2811
2845
  {
2812
2846
  className,
@@ -2815,6 +2849,10 @@ var init_SvgLobe = __esm({
2815
2849
  children: Array.from({ length: clampedShells }, (_, i) => renderShell(i))
2816
2850
  }
2817
2851
  );
2852
+ if (asRoot) {
2853
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
2854
+ }
2855
+ return inner;
2818
2856
  };
2819
2857
  SvgLobe.displayName = "SvgLobe";
2820
2858
  }
@@ -2843,18 +2881,21 @@ var init_SvgMesh = __esm({
2843
2881
  "components/core/atoms/svg/SvgMesh.tsx"() {
2844
2882
  "use client";
2845
2883
  SvgMesh = ({
2846
- cx,
2847
- cy,
2884
+ cx = 60,
2885
+ cy = 60,
2848
2886
  nodes = 6,
2849
2887
  radius = 50,
2850
2888
  color = "var(--color-primary)",
2851
2889
  connectionDensity = 0.5,
2852
2890
  opacity = 1,
2853
- className
2891
+ className,
2892
+ asRoot = true,
2893
+ width = 120,
2894
+ height = 120
2854
2895
  }) => {
2855
2896
  const positions = getNodePositions(cx, cy, nodes, radius);
2856
2897
  const connections = getConnections(nodes, connectionDensity);
2857
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
2898
+ const inner = /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
2858
2899
  connections.map(([a, b]) => /* @__PURE__ */ jsxRuntime.jsx(
2859
2900
  "line",
2860
2901
  {
@@ -2879,6 +2920,10 @@ var init_SvgMesh = __esm({
2879
2920
  i
2880
2921
  ))
2881
2922
  ] });
2923
+ if (asRoot) {
2924
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
2925
+ }
2926
+ return inner;
2882
2927
  };
2883
2928
  SvgMesh.displayName = "SvgMesh";
2884
2929
  }
@@ -3020,74 +3065,82 @@ var init_SvgMorph = __esm({
3020
3065
  };
3021
3066
  FlowArrow.displayName = "FlowArrow";
3022
3067
  SvgMorph = ({
3023
- x,
3024
- y,
3068
+ x = 5,
3069
+ y = 10,
3025
3070
  size = 1,
3026
3071
  variant = "generic",
3027
3072
  color = "var(--color-primary)",
3028
3073
  opacity = 1,
3029
- className
3074
+ className,
3075
+ asRoot = true,
3076
+ width = 130,
3077
+ height = 50
3030
3078
  }) => {
3031
3079
  const gap = 40 * size;
3032
3080
  const midY = y + 10 * size;
3081
+ let inner;
3033
3082
  if (variant === "text-to-code") {
3034
3083
  const leftEnd = x + 30 * size;
3035
3084
  const rightStart = leftEnd + gap;
3036
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
3085
+ inner = /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
3037
3086
  /* @__PURE__ */ jsxRuntime.jsx(TextLines, { x, y, scale: size, color }),
3038
3087
  /* @__PURE__ */ jsxRuntime.jsx(FlowArrow, { x1: leftEnd, y: midY, x2: rightStart, scale: size, color }),
3039
3088
  /* @__PURE__ */ jsxRuntime.jsx(CodeBrackets, { x: rightStart, y, scale: size, color })
3040
3089
  ] });
3041
- }
3042
- if (variant === "code-to-app") {
3090
+ } else if (variant === "code-to-app") {
3043
3091
  const leftEnd = x + 26 * size;
3044
3092
  const rightStart = leftEnd + gap;
3045
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
3093
+ inner = /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
3046
3094
  /* @__PURE__ */ jsxRuntime.jsx(CodeBrackets, { x, y, scale: size, color }),
3047
3095
  /* @__PURE__ */ jsxRuntime.jsx(FlowArrow, { x1: leftEnd, y: midY, x2: rightStart, scale: size, color }),
3048
3096
  /* @__PURE__ */ jsxRuntime.jsx(AppRect, { x: rightStart, y, scale: size, color })
3049
3097
  ] });
3098
+ } else {
3099
+ const circleR = 10 * size;
3100
+ const circleX = x + circleR;
3101
+ const squareStart = x + circleR * 2 + gap;
3102
+ const squareSize = circleR * 2;
3103
+ inner = /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
3104
+ /* @__PURE__ */ jsxRuntime.jsx(
3105
+ "circle",
3106
+ {
3107
+ cx: circleX,
3108
+ cy: midY,
3109
+ r: circleR,
3110
+ fill: "none",
3111
+ stroke: color,
3112
+ strokeWidth: 2 * size
3113
+ }
3114
+ ),
3115
+ /* @__PURE__ */ jsxRuntime.jsx(
3116
+ FlowArrow,
3117
+ {
3118
+ x1: circleX + circleR + 2 * size,
3119
+ y: midY,
3120
+ x2: squareStart,
3121
+ scale: size,
3122
+ color
3123
+ }
3124
+ ),
3125
+ /* @__PURE__ */ jsxRuntime.jsx(
3126
+ "rect",
3127
+ {
3128
+ x: squareStart,
3129
+ y: midY - circleR,
3130
+ width: squareSize,
3131
+ height: squareSize,
3132
+ rx: 3 * size,
3133
+ fill: "none",
3134
+ stroke: color,
3135
+ strokeWidth: 2 * size
3136
+ }
3137
+ )
3138
+ ] });
3050
3139
  }
3051
- const circleR = 10 * size;
3052
- const circleX = x + circleR;
3053
- const squareStart = x + circleR * 2 + gap;
3054
- const squareSize = circleR * 2;
3055
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
3056
- /* @__PURE__ */ jsxRuntime.jsx(
3057
- "circle",
3058
- {
3059
- cx: circleX,
3060
- cy: midY,
3061
- r: circleR,
3062
- fill: "none",
3063
- stroke: color,
3064
- strokeWidth: 2 * size
3065
- }
3066
- ),
3067
- /* @__PURE__ */ jsxRuntime.jsx(
3068
- FlowArrow,
3069
- {
3070
- x1: circleX + circleR + 2 * size,
3071
- y: midY,
3072
- x2: squareStart,
3073
- scale: size,
3074
- color
3075
- }
3076
- ),
3077
- /* @__PURE__ */ jsxRuntime.jsx(
3078
- "rect",
3079
- {
3080
- x: squareStart,
3081
- y: midY - circleR,
3082
- width: squareSize,
3083
- height: squareSize,
3084
- rx: 3 * size,
3085
- fill: "none",
3086
- stroke: color,
3087
- strokeWidth: 2 * size
3088
- }
3089
- )
3090
- ] });
3140
+ if (asRoot) {
3141
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
3142
+ }
3143
+ return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: inner });
3091
3144
  };
3092
3145
  SvgMorph.displayName = "SvgMorph";
3093
3146
  }
@@ -3097,16 +3150,19 @@ var init_SvgNode = __esm({
3097
3150
  "components/core/atoms/svg/SvgNode.tsx"() {
3098
3151
  "use client";
3099
3152
  SvgNode = ({
3100
- x,
3101
- y,
3153
+ x = 50,
3154
+ y = 50,
3102
3155
  r = 6,
3103
3156
  variant = "filled",
3104
3157
  color = "var(--color-primary)",
3105
3158
  opacity = 1,
3106
3159
  className,
3107
- label
3160
+ label,
3161
+ asRoot = true,
3162
+ width = 100,
3163
+ height = 100
3108
3164
  }) => {
3109
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
3165
+ const inner = /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
3110
3166
  variant === "pulse" && /* @__PURE__ */ jsxRuntime.jsx(
3111
3167
  "circle",
3112
3168
  {
@@ -3144,6 +3200,10 @@ var init_SvgNode = __esm({
3144
3200
  }
3145
3201
  )
3146
3202
  ] });
3203
+ if (asRoot) {
3204
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
3205
+ }
3206
+ return inner;
3147
3207
  };
3148
3208
  SvgNode.displayName = "SvgNode";
3149
3209
  }
@@ -3165,16 +3225,19 @@ var init_SvgPulse = __esm({
3165
3225
  }
3166
3226
  `;
3167
3227
  SvgPulse = ({
3168
- cx,
3169
- cy,
3228
+ cx = 70,
3229
+ cy = 70,
3170
3230
  rings = 3,
3171
3231
  maxRadius = 60,
3172
3232
  color = "var(--color-primary)",
3173
3233
  animated = true,
3174
3234
  opacity = 1,
3175
- className
3235
+ className,
3236
+ asRoot = true,
3237
+ width = 140,
3238
+ height = 140
3176
3239
  }) => {
3177
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
3240
+ const inner = /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
3178
3241
  animated && /* @__PURE__ */ jsxRuntime.jsx("style", { children: PULSE_KEYFRAMES }),
3179
3242
  Array.from({ length: rings }).map((_, i) => {
3180
3243
  const ringRadius = (i + 1) / rings * maxRadius;
@@ -3200,6 +3263,10 @@ var init_SvgPulse = __esm({
3200
3263
  }),
3201
3264
  /* @__PURE__ */ jsxRuntime.jsx("circle", { cx, cy, r: 3, fill: color })
3202
3265
  ] });
3266
+ if (asRoot) {
3267
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
3268
+ }
3269
+ return inner;
3203
3270
  };
3204
3271
  SvgPulse.displayName = "SvgPulse";
3205
3272
  }
@@ -3210,21 +3277,24 @@ var init_SvgRing = __esm({
3210
3277
  "use client";
3211
3278
  ringIdCounter = 0;
3212
3279
  SvgRing = ({
3213
- cx,
3214
- cy,
3280
+ cx = 50,
3281
+ cy = 50,
3215
3282
  r = 40,
3216
3283
  variant = "solid",
3217
3284
  color = "var(--color-primary)",
3218
3285
  strokeWidth = 1.5,
3219
3286
  opacity = 1,
3220
3287
  className,
3221
- label
3288
+ label,
3289
+ asRoot = true,
3290
+ width = 100,
3291
+ height = 100
3222
3292
  }) => {
3223
3293
  const gradientId = React85__namespace.default.useMemo(() => {
3224
3294
  ringIdCounter += 1;
3225
3295
  return `almadar-ring-glow-${ringIdCounter}`;
3226
3296
  }, []);
3227
- return /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
3297
+ const inner = /* @__PURE__ */ jsxRuntime.jsxs("g", { className, opacity, children: [
3228
3298
  variant === "glow" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3229
3299
  /* @__PURE__ */ jsxRuntime.jsx("defs", { children: /* @__PURE__ */ jsxRuntime.jsxs("radialGradient", { id: gradientId, cx: "50%", cy: "50%", r: "50%", children: [
3230
3300
  /* @__PURE__ */ jsxRuntime.jsx("stop", { offset: "0%", stopColor: color, stopOpacity: 0.15 }),
@@ -3257,6 +3327,10 @@ var init_SvgRing = __esm({
3257
3327
  }
3258
3328
  )
3259
3329
  ] });
3330
+ if (asRoot) {
3331
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
3332
+ }
3333
+ return inner;
3260
3334
  };
3261
3335
  SvgRing.displayName = "SvgRing";
3262
3336
  }
@@ -3268,15 +3342,18 @@ var init_SvgShield = __esm({
3268
3342
  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";
3269
3343
  CHECK_PATH = "M10,18 L14,22 L21,13";
3270
3344
  SvgShield = ({
3271
- x,
3272
- y,
3345
+ x = 50,
3346
+ y = 50,
3273
3347
  size = 1,
3274
3348
  variant = "outline",
3275
3349
  color = "var(--color-primary)",
3276
3350
  opacity = 1,
3277
- className
3351
+ className,
3352
+ asRoot = true,
3353
+ width = 100,
3354
+ height = 100
3278
3355
  }) => {
3279
- return /* @__PURE__ */ jsxRuntime.jsxs(
3356
+ const inner = /* @__PURE__ */ jsxRuntime.jsxs(
3280
3357
  "g",
3281
3358
  {
3282
3359
  className,
@@ -3307,6 +3384,10 @@ var init_SvgShield = __esm({
3307
3384
  ]
3308
3385
  }
3309
3386
  );
3387
+ if (asRoot) {
3388
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${width} ${height}`, width, height, children: inner });
3389
+ }
3390
+ return inner;
3310
3391
  };
3311
3392
  SvgShield.displayName = "SvgShield";
3312
3393
  }
@@ -3316,20 +3397,23 @@ var init_SvgStack = __esm({
3316
3397
  "components/core/atoms/svg/SvgStack.tsx"() {
3317
3398
  "use client";
3318
3399
  SvgStack = ({
3319
- x,
3320
- y,
3400
+ x = 10,
3401
+ y = 40,
3321
3402
  layers: rawLayers = 3,
3322
3403
  width = 60,
3323
3404
  height = 40,
3324
3405
  color = "var(--color-primary)",
3325
3406
  opacity = 1,
3326
3407
  className,
3327
- labels
3408
+ labels,
3409
+ asRoot = true,
3410
+ svgWidth = 90,
3411
+ svgHeight = 80
3328
3412
  }) => {
3329
3413
  const layers = Math.max(2, Math.min(4, rawLayers));
3330
3414
  const verticalOffset = 8;
3331
3415
  const horizontalOffset = 4;
3332
- return /* @__PURE__ */ jsxRuntime.jsx("g", { className, opacity, children: Array.from({ length: layers }).map((_, i) => {
3416
+ const inner = /* @__PURE__ */ jsxRuntime.jsx("g", { className, opacity, children: Array.from({ length: layers }).map((_, i) => {
3333
3417
  const layerIndex = layers - 1 - i;
3334
3418
  const layerX = x + layerIndex * horizontalOffset;
3335
3419
  const layerY = y - layerIndex * verticalOffset;
@@ -3367,6 +3451,10 @@ var init_SvgStack = __esm({
3367
3451
  )
3368
3452
  ] }, layerIndex);
3369
3453
  }) });
3454
+ if (asRoot) {
3455
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: `0 0 ${svgWidth} ${svgHeight}`, width: svgWidth, height: svgHeight, children: inner });
3456
+ }
3457
+ return inner;
3370
3458
  };
3371
3459
  SvgStack.displayName = "SvgStack";
3372
3460
  }
@@ -4203,10 +4291,11 @@ var init_ProgressBar = __esm({
4203
4291
  const effectiveColor = color ?? variant;
4204
4292
  const effectiveShowPercentage = showPercentage || showLabel;
4205
4293
  if (progressType === "linear") {
4294
+ const showHeader = label || effectiveShowPercentage;
4206
4295
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("w-full", className), children: [
4207
- label && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-1.5", children: [
4208
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold text-foreground", children: label }),
4209
- effectiveShowPercentage && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm text-foreground font-medium", children: [
4296
+ showHeader && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-1.5", children: [
4297
+ label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-bold text-foreground", children: label }),
4298
+ effectiveShowPercentage && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("text-sm text-foreground font-medium", !label && "ml-auto"), children: [
4210
4299
  Math.round(percentage),
4211
4300
  "%"
4212
4301
  ] })
@@ -4291,10 +4380,11 @@ var init_ProgressBar = __esm({
4291
4380
  const stepValue = max / steps;
4292
4381
  const activeSteps = Math.floor(value / stepValue);
4293
4382
  const partialStep = value % stepValue / stepValue;
4383
+ const showStepHeader = label || effectiveShowPercentage;
4294
4384
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("w-full", className), children: [
4295
- label && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-2", children: [
4296
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-foreground", children: label }),
4297
- effectiveShowPercentage && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-sm text-muted-foreground", children: [
4385
+ showStepHeader && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-2", children: [
4386
+ label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm font-medium text-foreground", children: label }),
4387
+ effectiveShowPercentage && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: cn("text-sm text-muted-foreground", !label && "ml-auto"), children: [
4298
4388
  Math.round(percentage),
4299
4389
  "%"
4300
4390
  ] })
@@ -10996,7 +11086,7 @@ var init_AuthLayout = __esm({
10996
11086
  init_Stack();
10997
11087
  init_Typography();
10998
11088
  AuthLayout = ({
10999
- appName = "{{APP_TITLE}}",
11089
+ appName = "My App",
11000
11090
  logo,
11001
11091
  backgroundImage,
11002
11092
  showBranding = true,
@@ -14708,7 +14798,7 @@ var init_MarkdownContent = __esm({
14708
14798
  init_CodeBlock();
14709
14799
  init_cn();
14710
14800
  MarkdownContent = React85__namespace.default.memo(
14711
- ({ content, direction, className }) => {
14801
+ ({ content, direction = "ltr", className }) => {
14712
14802
  const { t: _t } = hooks.useTranslate();
14713
14803
  const safeContent = typeof content === "string" ? content : String(content ?? "");
14714
14804
  return /* @__PURE__ */ jsxRuntime.jsx(