@ivy-interactive/ivy-design-system 1.1.27 → 1.1.28

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.
@@ -17,7 +17,7 @@ namespace Ivy.Themes
17
17
  /// Provides compile-time access to all design tokens
18
18
  /// </summary>
19
19
  /// <remarks>
20
- /// Generated on: 2026-04-07T08:39:46.646Z
20
+ /// Generated on: 2026-04-09T13:20:11.591Z
21
21
  /// Total tokens: 8
22
22
  /// </remarks>
23
23
  public static class IvyFrameworkBorderRadiusTokens
@@ -17,7 +17,7 @@ namespace Ivy.Themes
17
17
  /// Provides compile-time access to all design tokens
18
18
  /// </summary>
19
19
  /// <remarks>
20
- /// Generated on: 2026-04-07T08:39:46.646Z
20
+ /// Generated on: 2026-04-09T13:20:11.591Z
21
21
  /// Total tokens: 34
22
22
  /// </remarks>
23
23
  public static class IvyFrameworkChromaticTokens
@@ -128,7 +128,7 @@ namespace Ivy.Themes
128
128
  public static readonly string Rose = "#f43f5e";
129
129
 
130
130
  /// <summary>rose-foreground</summary>
131
- public static readonly string RoseForeground = "#ffffff";
131
+ public static readonly string RoseForeground = "#000000";
132
132
  }
133
133
 
134
134
  /// <summary>
@@ -17,7 +17,7 @@ namespace Ivy.Themes
17
17
  /// Provides compile-time access to all design tokens
18
18
  /// </summary>
19
19
  /// <remarks>
20
- /// Generated on: 2026-04-07T08:39:46.647Z
20
+ /// Generated on: 2026-04-09T13:20:11.593Z
21
21
  /// Total tokens: 25
22
22
  /// </remarks>
23
23
  public static class IvyFrameworkDarkThemeTokens
@@ -98,7 +98,7 @@ namespace Ivy.Themes
98
98
  public static readonly string CardForeground = "#f8f8f8";
99
99
 
100
100
  /// <summary>popover</summary>
101
- public static readonly string Popover = "#000000";
101
+ public static readonly string Popover = "#171717";
102
102
 
103
103
  /// <summary>popover-foreground</summary>
104
104
  public static readonly string PopoverForeground = "#f8f8f8";
@@ -17,7 +17,7 @@ namespace Ivy.Themes
17
17
  /// Provides compile-time access to all design tokens
18
18
  /// </summary>
19
19
  /// <remarks>
20
- /// Generated on: 2026-04-07T08:39:46.647Z
20
+ /// Generated on: 2026-04-09T13:20:11.592Z
21
21
  /// Total tokens: 25
22
22
  /// </remarks>
23
23
  public static class IvyFrameworkLightThemeTokens
@@ -17,7 +17,7 @@ namespace Ivy.Themes
17
17
  /// Provides compile-time access to all design tokens
18
18
  /// </summary>
19
19
  /// <remarks>
20
- /// Generated on: 2026-04-07T08:39:46.645Z
20
+ /// Generated on: 2026-04-09T13:20:11.590Z
21
21
  /// Total tokens: 14
22
22
  /// </remarks>
23
23
  public static class IvyFrameworkNeutralTokens
@@ -17,7 +17,7 @@ namespace Ivy.Themes
17
17
  /// Provides compile-time access to all design tokens
18
18
  /// </summary>
19
19
  /// <remarks>
20
- /// Generated on: 2026-04-07T08:39:46.647Z
20
+ /// Generated on: 2026-04-09T13:20:11.592Z
21
21
  /// Total tokens: 8
22
22
  /// </remarks>
23
23
  public static class IvyFrameworkPaddingTokens
@@ -0,0 +1,138 @@
1
+ //------------------------------------------------------------------------------
2
+ // <auto-generated>
3
+ // This code was generated by Ivy Design System build script.
4
+ // Changes to this file may cause incorrect behavior and will be lost if
5
+ // the code is regenerated.
6
+ // </auto-generated>
7
+ //------------------------------------------------------------------------------
8
+
9
+ #nullable enable
10
+
11
+ using System.Linq;
12
+
13
+ namespace Ivy.Themes
14
+ {
15
+ /// <summary>
16
+ /// Design System tokens generated from Ivy Design System
17
+ /// Provides compile-time access to all design tokens
18
+ /// </summary>
19
+ /// <remarks>
20
+ /// Generated on: 2026-04-09T13:20:11.592Z
21
+ /// Total tokens: 7
22
+ /// </remarks>
23
+ public static class IvyFrameworkShadowTokens
24
+ {
25
+
26
+ /// <summary>
27
+ /// Design tokens for shadow
28
+ /// </summary>
29
+ public static class Shadow
30
+ {
31
+ /// <summary>none</summary>
32
+ public static readonly string None = "none";
33
+
34
+ /// <summary>sm</summary>
35
+ public static readonly string Sm = "0 1px 2px 0 rgba(0, 0, 0, 0.05)";
36
+
37
+ /// <summary>md</summary>
38
+ public static readonly string Md = "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)";
39
+
40
+ /// <summary>lg</summary>
41
+ public static readonly string Lg = "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)";
42
+
43
+ /// <summary>xl</summary>
44
+ public static readonly string Xl = "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)";
45
+
46
+ /// <summary>2xl</summary>
47
+ public static readonly string _2xl = "0 25px 50px -12px rgba(0, 0, 0, 0.25)";
48
+
49
+ /// <summary>inner</summary>
50
+ public static readonly string Inner = "inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)";
51
+ }
52
+
53
+ /// <summary>
54
+ /// Generates CSS custom properties for all design tokens
55
+ /// </summary>
56
+ /// <param name="selector">CSS selector (default: ":root")</param>
57
+ /// <returns>CSS string with all custom properties</returns>
58
+ public static string GenerateCSS(string selector = ":root")
59
+ {
60
+ var css = new System.Text.StringBuilder();
61
+ css.AppendLine($"{selector} {{");
62
+
63
+ // Shadow tokens
64
+ foreach (var field in typeof(Shadow).GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static))
65
+ {
66
+ if (field.FieldType == typeof(string))
67
+ {
68
+ var name = string.Concat(field.Name.Select((x, i) => i > 0 && char.IsUpper(x) ? "-" + x.ToString() : x.ToString())).ToLower();
69
+ var value = field.GetValue(null);
70
+ css.AppendLine($" --{name}: {value};");
71
+ }
72
+ }
73
+
74
+ css.AppendLine("}");
75
+ return css.ToString();
76
+ }
77
+
78
+ /// <summary>
79
+ /// Gets a token value by its CSS variable name
80
+ /// </summary>
81
+ /// <param name="tokenName">Token name in kebab-case (e.g., "color-brand-primary")</param>
82
+ /// <returns>Token value or null if not found</returns>
83
+ public static string? GetToken(string tokenName)
84
+ {
85
+ var propertyName = string.Concat(tokenName.Split('-').Select(s =>
86
+ char.ToUpper(s[0]) + s.Substring(1)));
87
+
88
+ var category = tokenName.Split('-')[0];
89
+ var categoryClassName = char.ToUpper(category[0]) + category.Substring(1);
90
+
91
+ var type = typeof(IvyFrameworkShadowTokens).GetNestedType(categoryClassName);
92
+ if (type == null) return null;
93
+
94
+ var field = type.GetField(propertyName, System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static);
95
+ return field?.GetValue(null) as string;
96
+ }
97
+
98
+ /// <summary>
99
+ /// Gets all token names
100
+ /// </summary>
101
+ /// <returns>Array of all token names in kebab-case</returns>
102
+ public static string[] GetAllTokenNames()
103
+ {
104
+ return new string[]
105
+ {
106
+ "none",
107
+ "sm",
108
+ "md",
109
+ "lg",
110
+ "xl",
111
+ "2xl",
112
+ "inner"
113
+ };
114
+ }
115
+
116
+ /// <summary>
117
+ /// Gets all token values as a dictionary
118
+ /// </summary>
119
+ /// <returns>Dictionary of token name -> value</returns>
120
+ public static System.Collections.Generic.Dictionary<string, string> GetAllTokens()
121
+ {
122
+ var tokens = new System.Collections.Generic.Dictionary<string, string>();
123
+
124
+ // Shadow tokens
125
+ foreach (var field in typeof(Shadow).GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static))
126
+ {
127
+ if (field.FieldType == typeof(string))
128
+ {
129
+ var name = string.Concat(field.Name.Select((x, i) => i > 0 && char.IsUpper(x) ? "-" + x.ToString() : x.ToString())).ToLower();
130
+ var value = field.GetValue(null) as string;
131
+ if (value != null) tokens[name] = value;
132
+ }
133
+ }
134
+
135
+ return tokens;
136
+ }
137
+ }
138
+ }
@@ -17,7 +17,7 @@ namespace Ivy.Themes
17
17
  /// Provides compile-time access to all design tokens
18
18
  /// </summary>
19
19
  /// <remarks>
20
- /// Generated on: 2026-04-07T08:39:46.645Z
20
+ /// Generated on: 2026-04-09T13:20:11.590Z
21
21
  /// Total tokens: 60
22
22
  /// </remarks>
23
23
  public static class IvyFrameworkSourceTokens
@@ -17,7 +17,7 @@ namespace Ivy.Themes
17
17
  /// Provides compile-time access to all design tokens
18
18
  /// </summary>
19
19
  /// <remarks>
20
- /// Generated on: 2026-04-07T08:39:46.649Z
20
+ /// Generated on: 2026-04-09T13:20:11.594Z
21
21
  /// Total tokens: 24
22
22
  /// </remarks>
23
23
  public static class IvyWebDarkThemeTokens
@@ -17,7 +17,7 @@ namespace Ivy.Themes
17
17
  /// Provides compile-time access to all design tokens
18
18
  /// </summary>
19
19
  /// <remarks>
20
- /// Generated on: 2026-04-07T08:39:46.648Z
20
+ /// Generated on: 2026-04-09T13:20:11.594Z
21
21
  /// Total tokens: 24
22
22
  /// </remarks>
23
23
  public static class IvyWebLightThemeTokens
@@ -17,7 +17,7 @@ namespace Ivy.Themes
17
17
  /// Provides compile-time access to all design tokens
18
18
  /// </summary>
19
19
  /// <remarks>
20
- /// Generated on: 2026-04-07T08:39:46.648Z
20
+ /// Generated on: 2026-04-09T13:20:11.593Z
21
21
  /// Total tokens: 25
22
22
  /// </remarks>
23
23
  public static class IvyWebSourceTokens
@@ -33,6 +33,6 @@
33
33
  --pink: #ec4899;
34
34
  --pink-foreground: #ffffff;
35
35
  --rose: #f43f5e;
36
- --rose-foreground: #ffffff;
36
+ --rose-foreground: #000000;
37
37
  }
38
38
  }
@@ -33,6 +33,6 @@
33
33
  --color-pink: #ec4899;
34
34
  --color-pink-foreground: #ffffff;
35
35
  --color-rose: #f43f5e;
36
- --color-rose-foreground: #ffffff;
36
+ --color-rose-foreground: #000000;
37
37
  }
38
38
  }
@@ -23,7 +23,7 @@
23
23
  --accent-foreground: #f8f8f8;
24
24
  --card: #171717;
25
25
  --card-foreground: #f8f8f8;
26
- --popover: #000000;
26
+ --popover: #171717;
27
27
  --popover-foreground: #f8f8f8;
28
28
  }
29
29
  }
@@ -23,7 +23,7 @@
23
23
  --color-accent-foreground: #f8f8f8;
24
24
  --color-card: #171717;
25
25
  --color-card-foreground: #f8f8f8;
26
- --color-popover: #000000;
26
+ --color-popover: #171717;
27
27
  --color-popover-foreground: #f8f8f8;
28
28
  }
29
29
  }
@@ -0,0 +1,11 @@
1
+ @layer base {
2
+ :root {
3
+ --none: none;
4
+ --sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
5
+ --md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
6
+ --lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
7
+ --xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
8
+ --2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
9
+ --inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
10
+ }
11
+ }
@@ -0,0 +1,11 @@
1
+ @layer base {
2
+ :root {
3
+ --shadow-none: none;
4
+ --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
5
+ --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
6
+ --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
7
+ --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
8
+ --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
9
+ --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
10
+ }
11
+ }
@@ -446,7 +446,7 @@
446
446
  "type": "color"
447
447
  },
448
448
  "popover": {
449
- "value": "{ivy-framework.source.color.black}",
449
+ "value": "{ivy-framework.source.color.card-dark}",
450
450
  "type": "color"
451
451
  },
452
452
  "popover-foreground": {
@@ -651,7 +651,7 @@
651
651
  "type": "color"
652
652
  },
653
653
  "rose-foreground": {
654
- "value": "{ivy-framework.source.color.white}",
654
+ "value": "{ivy-framework.source.color.black}",
655
655
  "type": "color"
656
656
  }
657
657
  }
@@ -727,6 +727,38 @@
727
727
  "type": "spacing"
728
728
  }
729
729
  }
730
+ },
731
+ "shadow": {
732
+ "shadow": {
733
+ "none": {
734
+ "value": "none",
735
+ "type": "boxShadow"
736
+ },
737
+ "sm": {
738
+ "value": "0 1px 2px 0 rgba(0, 0, 0, 0.05)",
739
+ "type": "boxShadow"
740
+ },
741
+ "md": {
742
+ "value": "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",
743
+ "type": "boxShadow"
744
+ },
745
+ "lg": {
746
+ "value": "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)",
747
+ "type": "boxShadow"
748
+ },
749
+ "xl": {
750
+ "value": "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)",
751
+ "type": "boxShadow"
752
+ },
753
+ "2xl": {
754
+ "value": "0 25px 50px -12px rgba(0, 0, 0, 0.25)",
755
+ "type": "boxShadow"
756
+ },
757
+ "inner": {
758
+ "value": "inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)",
759
+ "type": "boxShadow"
760
+ }
761
+ }
730
762
  }
731
763
  },
732
764
  "ivy-web": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ivy-interactive/ivy-design-system",
3
- "version": "1.1.27",
3
+ "version": "1.1.28",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -25,6 +25,8 @@
25
25
  "./css/ivy-framework-chromatic.css": "./dist/css/ivy-framework-chromatic.css",
26
26
  "./css/ivy-framework-neutral": "./dist/css/ivy-framework-neutral.css",
27
27
  "./css/ivy-framework-neutral.css": "./dist/css/ivy-framework-neutral.css",
28
+ "./css/ivy-framework-shadow": "./dist/css/ivy-framework-shadow.css",
29
+ "./css/ivy-framework-shadow.css": "./dist/css/ivy-framework-shadow.css",
28
30
  "./css/ivy-web": "./dist/css/ivy-web-light.css",
29
31
  "./css/ivy-web-light": "./dist/css/ivy-web-light.css",
30
32
  "./css/ivy-web-dark": "./dist/css/ivy-web-dark.css",