@ivy-interactive/ivy-design-system 1.1.26 → 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-02T16:14:39.561Z
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-02T16:14:39.561Z
20
+ /// Generated on: 2026-04-09T13:20:11.591Z
21
21
  /// Total tokens: 34
22
22
  /// </remarks>
23
23
  public static class IvyFrameworkChromaticTokens
@@ -74,55 +74,55 @@ namespace Ivy.Themes
74
74
  public static readonly string Teal = "#14b8a6";
75
75
 
76
76
  /// <summary>teal-foreground</summary>
77
- public static readonly string TealForeground = "#ffffff";
77
+ public static readonly string TealForeground = "#000000";
78
78
 
79
79
  /// <summary>cyan</summary>
80
80
  public static readonly string Cyan = "#06b6d4";
81
81
 
82
82
  /// <summary>cyan-foreground</summary>
83
- public static readonly string CyanForeground = "#ffffff";
83
+ public static readonly string CyanForeground = "#000000";
84
84
 
85
85
  /// <summary>sky</summary>
86
86
  public static readonly string Sky = "#0ea5e9";
87
87
 
88
88
  /// <summary>sky-foreground</summary>
89
- public static readonly string SkyForeground = "#ffffff";
89
+ public static readonly string SkyForeground = "#000000";
90
90
 
91
91
  /// <summary>blue</summary>
92
92
  public static readonly string Blue = "#3b82f6";
93
93
 
94
94
  /// <summary>blue-foreground</summary>
95
- public static readonly string BlueForeground = "#ffffff";
95
+ public static readonly string BlueForeground = "#000000";
96
96
 
97
97
  /// <summary>indigo</summary>
98
98
  public static readonly string Indigo = "#6366f1";
99
99
 
100
100
  /// <summary>indigo-foreground</summary>
101
- public static readonly string IndigoForeground = "#ffffff";
101
+ public static readonly string IndigoForeground = "#000000";
102
102
 
103
103
  /// <summary>violet</summary>
104
104
  public static readonly string Violet = "#8b5cf6";
105
105
 
106
106
  /// <summary>violet-foreground</summary>
107
- public static readonly string VioletForeground = "#ffffff";
107
+ public static readonly string VioletForeground = "#000000";
108
108
 
109
109
  /// <summary>purple</summary>
110
110
  public static readonly string Purple = "#a855f7";
111
111
 
112
112
  /// <summary>purple-foreground</summary>
113
- public static readonly string PurpleForeground = "#ffffff";
113
+ public static readonly string PurpleForeground = "#000000";
114
114
 
115
115
  /// <summary>fuchsia</summary>
116
116
  public static readonly string Fuchsia = "#d946ef";
117
117
 
118
118
  /// <summary>fuchsia-foreground</summary>
119
- public static readonly string FuchsiaForeground = "#000000";
119
+ public static readonly string FuchsiaForeground = "#ffffff";
120
120
 
121
121
  /// <summary>pink</summary>
122
122
  public static readonly string Pink = "#ec4899";
123
123
 
124
124
  /// <summary>pink-foreground</summary>
125
- public static readonly string PinkForeground = "#000000";
125
+ public static readonly string PinkForeground = "#ffffff";
126
126
 
127
127
  /// <summary>rose</summary>
128
128
  public static readonly string Rose = "#f43f5e";
@@ -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-02T16:14:39.562Z
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-02T16:14:39.562Z
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-02T16:14:39.561Z
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-02T16:14:39.562Z
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-02T16:14:39.560Z
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-02T16:14:39.563Z
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-02T16:14:39.563Z
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-02T16:14:39.563Z
20
+ /// Generated on: 2026-04-09T13:20:11.593Z
21
21
  /// Total tokens: 25
22
22
  /// </remarks>
23
23
  public static class IvyWebSourceTokens
@@ -15,23 +15,23 @@
15
15
  --emerald: #10b981;
16
16
  --emerald-foreground: #000000;
17
17
  --teal: #14b8a6;
18
- --teal-foreground: #ffffff;
18
+ --teal-foreground: #000000;
19
19
  --cyan: #06b6d4;
20
- --cyan-foreground: #ffffff;
20
+ --cyan-foreground: #000000;
21
21
  --sky: #0ea5e9;
22
- --sky-foreground: #ffffff;
22
+ --sky-foreground: #000000;
23
23
  --blue: #3b82f6;
24
- --blue-foreground: #ffffff;
24
+ --blue-foreground: #000000;
25
25
  --indigo: #6366f1;
26
- --indigo-foreground: #ffffff;
26
+ --indigo-foreground: #000000;
27
27
  --violet: #8b5cf6;
28
- --violet-foreground: #ffffff;
28
+ --violet-foreground: #000000;
29
29
  --purple: #a855f7;
30
- --purple-foreground: #ffffff;
30
+ --purple-foreground: #000000;
31
31
  --fuchsia: #d946ef;
32
- --fuchsia-foreground: #000000;
32
+ --fuchsia-foreground: #ffffff;
33
33
  --pink: #ec4899;
34
- --pink-foreground: #000000;
34
+ --pink-foreground: #ffffff;
35
35
  --rose: #f43f5e;
36
36
  --rose-foreground: #000000;
37
37
  }
@@ -15,23 +15,23 @@
15
15
  --color-emerald: #10b981;
16
16
  --color-emerald-foreground: #000000;
17
17
  --color-teal: #14b8a6;
18
- --color-teal-foreground: #ffffff;
18
+ --color-teal-foreground: #000000;
19
19
  --color-cyan: #06b6d4;
20
- --color-cyan-foreground: #ffffff;
20
+ --color-cyan-foreground: #000000;
21
21
  --color-sky: #0ea5e9;
22
- --color-sky-foreground: #ffffff;
22
+ --color-sky-foreground: #000000;
23
23
  --color-blue: #3b82f6;
24
- --color-blue-foreground: #ffffff;
24
+ --color-blue-foreground: #000000;
25
25
  --color-indigo: #6366f1;
26
- --color-indigo-foreground: #ffffff;
26
+ --color-indigo-foreground: #000000;
27
27
  --color-violet: #8b5cf6;
28
- --color-violet-foreground: #ffffff;
28
+ --color-violet-foreground: #000000;
29
29
  --color-purple: #a855f7;
30
- --color-purple-foreground: #ffffff;
30
+ --color-purple-foreground: #000000;
31
31
  --color-fuchsia: #d946ef;
32
- --color-fuchsia-foreground: #000000;
32
+ --color-fuchsia-foreground: #ffffff;
33
33
  --color-pink: #ec4899;
34
- --color-pink-foreground: #000000;
34
+ --color-pink-foreground: #ffffff;
35
35
  --color-rose: #f43f5e;
36
36
  --color-rose-foreground: #000000;
37
37
  }
@@ -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": {
@@ -579,7 +579,7 @@
579
579
  "type": "color"
580
580
  },
581
581
  "teal-foreground": {
582
- "value": "{ivy-framework.source.color.white}",
582
+ "value": "{ivy-framework.source.color.black}",
583
583
  "type": "color"
584
584
  },
585
585
  "cyan": {
@@ -587,7 +587,7 @@
587
587
  "type": "color"
588
588
  },
589
589
  "cyan-foreground": {
590
- "value": "{ivy-framework.source.color.white}",
590
+ "value": "{ivy-framework.source.color.black}",
591
591
  "type": "color"
592
592
  },
593
593
  "sky": {
@@ -595,7 +595,7 @@
595
595
  "type": "color"
596
596
  },
597
597
  "sky-foreground": {
598
- "value": "{ivy-framework.source.color.white}",
598
+ "value": "{ivy-framework.source.color.black}",
599
599
  "type": "color"
600
600
  },
601
601
  "blue": {
@@ -603,7 +603,7 @@
603
603
  "type": "color"
604
604
  },
605
605
  "blue-foreground": {
606
- "value": "{ivy-framework.source.color.white}",
606
+ "value": "{ivy-framework.source.color.black}",
607
607
  "type": "color"
608
608
  },
609
609
  "indigo": {
@@ -611,7 +611,7 @@
611
611
  "type": "color"
612
612
  },
613
613
  "indigo-foreground": {
614
- "value": "{ivy-framework.source.color.white}",
614
+ "value": "{ivy-framework.source.color.black}",
615
615
  "type": "color"
616
616
  },
617
617
  "violet": {
@@ -619,7 +619,7 @@
619
619
  "type": "color"
620
620
  },
621
621
  "violet-foreground": {
622
- "value": "{ivy-framework.source.color.white}",
622
+ "value": "{ivy-framework.source.color.black}",
623
623
  "type": "color"
624
624
  },
625
625
  "purple": {
@@ -627,7 +627,7 @@
627
627
  "type": "color"
628
628
  },
629
629
  "purple-foreground": {
630
- "value": "{ivy-framework.source.color.white}",
630
+ "value": "{ivy-framework.source.color.black}",
631
631
  "type": "color"
632
632
  },
633
633
  "fuchsia": {
@@ -635,7 +635,7 @@
635
635
  "type": "color"
636
636
  },
637
637
  "fuchsia-foreground": {
638
- "value": "{ivy-framework.source.color.black}",
638
+ "value": "{ivy-framework.source.color.white}",
639
639
  "type": "color"
640
640
  },
641
641
  "pink": {
@@ -643,7 +643,7 @@
643
643
  "type": "color"
644
644
  },
645
645
  "pink-foreground": {
646
- "value": "{ivy-framework.source.color.black}",
646
+ "value": "{ivy-framework.source.color.white}",
647
647
  "type": "color"
648
648
  },
649
649
  "rose": {
@@ -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.26",
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",