@xsolla/xui-core 0.65.0 → 0.66.0-pr91.1768892553

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/index.d.mts CHANGED
@@ -754,9 +754,9 @@ type ThemeColors = typeof darkTheme;
754
754
 
755
755
  declare const spacing: {
756
756
  xs: number;
757
- sm: number;
758
- md: number;
759
- lg: number;
757
+ s: number;
758
+ m: number;
759
+ l: number;
760
760
  xl: number;
761
761
  };
762
762
  declare const radius: {
@@ -1290,9 +1290,9 @@ declare const themeConfig: (mode?: ThemeMode) => {
1290
1290
  };
1291
1291
  spacing: {
1292
1292
  xs: number;
1293
- sm: number;
1294
- md: number;
1295
- lg: number;
1293
+ s: number;
1294
+ m: number;
1295
+ l: number;
1296
1296
  xl: number;
1297
1297
  };
1298
1298
  radius: {
@@ -1934,7 +1934,7 @@ declare const themeConfig: (mode?: ThemeMode) => {
1934
1934
  iconSize: number;
1935
1935
  fontSize: number;
1936
1936
  };
1937
- stepper: (size: "md" | "sm") => {
1937
+ stepper: (size: "m" | "s") => {
1938
1938
  iconSize: number;
1939
1939
  titleSize: number;
1940
1940
  descSize: number;
@@ -1953,6 +1953,71 @@ declare const themeConfig: (mode?: ThemeMode) => {
1953
1953
  currentPadding: number;
1954
1954
  tailSize: number;
1955
1955
  };
1956
+ contextMenu: (size: "xl" | "l" | "m" | "s") => {
1957
+ paddingVertical: number;
1958
+ itemPaddingHorizontal: number;
1959
+ itemPaddingVertical: number;
1960
+ fontSize: number;
1961
+ lineHeight: number;
1962
+ descriptionFontSize: number;
1963
+ iconSize: number;
1964
+ gap: number;
1965
+ minWidth: number;
1966
+ searchPaddingHorizontal: number;
1967
+ searchPaddingVertical: number;
1968
+ searchGap: number;
1969
+ searchFontSize: number;
1970
+ searchLineHeight: number;
1971
+ searchIconSize: number;
1972
+ } | {
1973
+ paddingVertical: number;
1974
+ itemPaddingHorizontal: number;
1975
+ itemPaddingVertical: number;
1976
+ fontSize: number;
1977
+ lineHeight: number;
1978
+ descriptionFontSize: number;
1979
+ iconSize: number;
1980
+ gap: number;
1981
+ minWidth: number;
1982
+ searchPaddingHorizontal: number;
1983
+ searchPaddingVertical: number;
1984
+ searchGap: number;
1985
+ searchFontSize: number;
1986
+ searchLineHeight: number;
1987
+ searchIconSize: number;
1988
+ } | {
1989
+ paddingVertical: number;
1990
+ itemPaddingHorizontal: number;
1991
+ itemPaddingVertical: number;
1992
+ fontSize: number;
1993
+ lineHeight: number;
1994
+ descriptionFontSize: number;
1995
+ iconSize: number;
1996
+ gap: number;
1997
+ minWidth: number;
1998
+ searchPaddingHorizontal: number;
1999
+ searchPaddingVertical: number;
2000
+ searchGap: number;
2001
+ searchFontSize: number;
2002
+ searchLineHeight: number;
2003
+ searchIconSize: number;
2004
+ } | {
2005
+ paddingVertical: number;
2006
+ itemPaddingHorizontal: number;
2007
+ itemPaddingVertical: number;
2008
+ fontSize: number;
2009
+ lineHeight: number;
2010
+ descriptionFontSize: number;
2011
+ iconSize: number;
2012
+ gap: number;
2013
+ minWidth: number;
2014
+ searchPaddingHorizontal: number;
2015
+ searchPaddingVertical: number;
2016
+ searchGap: number;
2017
+ searchFontSize: number;
2018
+ searchLineHeight: number;
2019
+ searchIconSize: number;
2020
+ };
1956
2021
  };
1957
2022
  };
1958
2023
  interface DesignSystemContextType {
package/index.d.ts CHANGED
@@ -754,9 +754,9 @@ type ThemeColors = typeof darkTheme;
754
754
 
755
755
  declare const spacing: {
756
756
  xs: number;
757
- sm: number;
758
- md: number;
759
- lg: number;
757
+ s: number;
758
+ m: number;
759
+ l: number;
760
760
  xl: number;
761
761
  };
762
762
  declare const radius: {
@@ -1290,9 +1290,9 @@ declare const themeConfig: (mode?: ThemeMode) => {
1290
1290
  };
1291
1291
  spacing: {
1292
1292
  xs: number;
1293
- sm: number;
1294
- md: number;
1295
- lg: number;
1293
+ s: number;
1294
+ m: number;
1295
+ l: number;
1296
1296
  xl: number;
1297
1297
  };
1298
1298
  radius: {
@@ -1934,7 +1934,7 @@ declare const themeConfig: (mode?: ThemeMode) => {
1934
1934
  iconSize: number;
1935
1935
  fontSize: number;
1936
1936
  };
1937
- stepper: (size: "md" | "sm") => {
1937
+ stepper: (size: "m" | "s") => {
1938
1938
  iconSize: number;
1939
1939
  titleSize: number;
1940
1940
  descSize: number;
@@ -1953,6 +1953,71 @@ declare const themeConfig: (mode?: ThemeMode) => {
1953
1953
  currentPadding: number;
1954
1954
  tailSize: number;
1955
1955
  };
1956
+ contextMenu: (size: "xl" | "l" | "m" | "s") => {
1957
+ paddingVertical: number;
1958
+ itemPaddingHorizontal: number;
1959
+ itemPaddingVertical: number;
1960
+ fontSize: number;
1961
+ lineHeight: number;
1962
+ descriptionFontSize: number;
1963
+ iconSize: number;
1964
+ gap: number;
1965
+ minWidth: number;
1966
+ searchPaddingHorizontal: number;
1967
+ searchPaddingVertical: number;
1968
+ searchGap: number;
1969
+ searchFontSize: number;
1970
+ searchLineHeight: number;
1971
+ searchIconSize: number;
1972
+ } | {
1973
+ paddingVertical: number;
1974
+ itemPaddingHorizontal: number;
1975
+ itemPaddingVertical: number;
1976
+ fontSize: number;
1977
+ lineHeight: number;
1978
+ descriptionFontSize: number;
1979
+ iconSize: number;
1980
+ gap: number;
1981
+ minWidth: number;
1982
+ searchPaddingHorizontal: number;
1983
+ searchPaddingVertical: number;
1984
+ searchGap: number;
1985
+ searchFontSize: number;
1986
+ searchLineHeight: number;
1987
+ searchIconSize: number;
1988
+ } | {
1989
+ paddingVertical: number;
1990
+ itemPaddingHorizontal: number;
1991
+ itemPaddingVertical: number;
1992
+ fontSize: number;
1993
+ lineHeight: number;
1994
+ descriptionFontSize: number;
1995
+ iconSize: number;
1996
+ gap: number;
1997
+ minWidth: number;
1998
+ searchPaddingHorizontal: number;
1999
+ searchPaddingVertical: number;
2000
+ searchGap: number;
2001
+ searchFontSize: number;
2002
+ searchLineHeight: number;
2003
+ searchIconSize: number;
2004
+ } | {
2005
+ paddingVertical: number;
2006
+ itemPaddingHorizontal: number;
2007
+ itemPaddingVertical: number;
2008
+ fontSize: number;
2009
+ lineHeight: number;
2010
+ descriptionFontSize: number;
2011
+ iconSize: number;
2012
+ gap: number;
2013
+ minWidth: number;
2014
+ searchPaddingHorizontal: number;
2015
+ searchPaddingVertical: number;
2016
+ searchGap: number;
2017
+ searchFontSize: number;
2018
+ searchLineHeight: number;
2019
+ searchIconSize: number;
2020
+ };
1956
2021
  };
1957
2022
  };
1958
2023
  interface DesignSystemContextType {
package/index.js CHANGED
@@ -555,9 +555,9 @@ var colors = {
555
555
  // src/tokens/spacing.ts
556
556
  var spacing = {
557
557
  xs: 4,
558
- sm: 8,
559
- md: 16,
560
- lg: 24,
558
+ s: 8,
559
+ m: 16,
560
+ l: 24,
561
561
  xl: 32
562
562
  };
563
563
  var radius = {
@@ -804,7 +804,7 @@ var themeConfig = (mode = "dark") => ({
804
804
  },
805
805
  l: {
806
806
  height: 56,
807
- padding: spacing.lg,
807
+ padding: spacing.l,
808
808
  fontSize: 18,
809
809
  iconSize: 28,
810
810
  radius: 4,
@@ -812,7 +812,7 @@ var themeConfig = (mode = "dark") => ({
812
812
  },
813
813
  m: {
814
814
  height: 48,
815
- padding: spacing.md,
815
+ padding: spacing.m,
816
816
  fontSize: 16,
817
817
  iconSize: 24,
818
818
  radius: 2,
@@ -820,7 +820,7 @@ var themeConfig = (mode = "dark") => ({
820
820
  },
821
821
  s: {
822
822
  height: 40,
823
- padding: spacing.sm,
823
+ padding: spacing.s,
824
824
  fontSize: 14,
825
825
  iconSize: 20,
826
826
  radius: 2,
@@ -850,9 +850,9 @@ var themeConfig = (mode = "dark") => ({
850
850
  textarea: (size) => {
851
851
  const configs = {
852
852
  xl: { height: 144, padding: spacing.xl, fontSize: 20, iconSize: 32 },
853
- l: { height: 128, padding: spacing.lg, fontSize: 18, iconSize: 28 },
854
- m: { height: 112, padding: spacing.md, fontSize: 16, iconSize: 24 },
855
- s: { height: 96, padding: spacing.sm, fontSize: 14, iconSize: 20 },
853
+ l: { height: 128, padding: spacing.l, fontSize: 18, iconSize: 28 },
854
+ m: { height: 112, padding: spacing.m, fontSize: 16, iconSize: 24 },
855
+ s: { height: 96, padding: spacing.s, fontSize: 14, iconSize: 20 },
856
856
  xs: { height: 80, padding: spacing.xs, fontSize: 12, iconSize: 16 }
857
857
  };
858
858
  return configs[size];
@@ -1175,7 +1175,7 @@ var themeConfig = (mode = "dark") => ({
1175
1175
  },
1176
1176
  stepper: (size) => {
1177
1177
  const configs = {
1178
- md: {
1178
+ m: {
1179
1179
  iconSize: 32,
1180
1180
  titleSize: 16,
1181
1181
  descSize: 14,
@@ -1185,7 +1185,7 @@ var themeConfig = (mode = "dark") => ({
1185
1185
  currentPadding: 24,
1186
1186
  tailSize: 5
1187
1187
  },
1188
- sm: {
1188
+ s: {
1189
1189
  iconSize: 24,
1190
1190
  titleSize: 14,
1191
1191
  descSize: 12,
@@ -1197,6 +1197,83 @@ var themeConfig = (mode = "dark") => ({
1197
1197
  }
1198
1198
  };
1199
1199
  return configs[size];
1200
+ },
1201
+ contextMenu: (size) => {
1202
+ const configs = {
1203
+ xl: {
1204
+ paddingVertical: 8,
1205
+ itemPaddingHorizontal: 16,
1206
+ itemPaddingVertical: 18,
1207
+ fontSize: 20,
1208
+ lineHeight: 22,
1209
+ descriptionFontSize: 18,
1210
+ iconSize: 18,
1211
+ gap: 12,
1212
+ minWidth: 276,
1213
+ // Search sizing from Figma
1214
+ searchPaddingHorizontal: 16,
1215
+ searchPaddingVertical: 18,
1216
+ searchGap: 18,
1217
+ searchFontSize: 20,
1218
+ searchLineHeight: 22,
1219
+ searchIconSize: 18
1220
+ },
1221
+ l: {
1222
+ paddingVertical: 8,
1223
+ itemPaddingHorizontal: 14,
1224
+ itemPaddingVertical: 14,
1225
+ fontSize: 18,
1226
+ lineHeight: 20,
1227
+ descriptionFontSize: 16,
1228
+ iconSize: 18,
1229
+ gap: 10,
1230
+ minWidth: 220,
1231
+ // Search sizing from Figma
1232
+ searchPaddingHorizontal: 14,
1233
+ searchPaddingVertical: 14,
1234
+ searchGap: 14,
1235
+ searchFontSize: 18,
1236
+ searchLineHeight: 20,
1237
+ searchIconSize: 18
1238
+ },
1239
+ m: {
1240
+ paddingVertical: 8,
1241
+ itemPaddingHorizontal: 12,
1242
+ itemPaddingVertical: 11,
1243
+ fontSize: 16,
1244
+ lineHeight: 18,
1245
+ descriptionFontSize: 14,
1246
+ iconSize: 18,
1247
+ gap: 8,
1248
+ minWidth: 172,
1249
+ // Search sizing from Figma
1250
+ searchPaddingHorizontal: 12,
1251
+ searchPaddingVertical: 11,
1252
+ searchGap: 10,
1253
+ searchFontSize: 16,
1254
+ searchLineHeight: 18,
1255
+ searchIconSize: 18
1256
+ },
1257
+ s: {
1258
+ paddingVertical: 8,
1259
+ itemPaddingHorizontal: 10,
1260
+ itemPaddingVertical: 8,
1261
+ fontSize: 14,
1262
+ lineHeight: 16,
1263
+ descriptionFontSize: 12,
1264
+ iconSize: 18,
1265
+ gap: 8,
1266
+ minWidth: 132,
1267
+ // Search sizing from Figma
1268
+ searchPaddingHorizontal: 10,
1269
+ searchPaddingVertical: 7,
1270
+ searchGap: 6,
1271
+ searchFontSize: 14,
1272
+ searchLineHeight: 16,
1273
+ searchIconSize: 18
1274
+ }
1275
+ };
1276
+ return configs[size];
1200
1277
  }
1201
1278
  }
1202
1279
  });
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.tsx","../src/tokens/xsolla-dark.json","../src/tokens/xsolla-light.json","../src/tokens/colors.ts","../src/tokens/spacing.ts","../src/tokens/shadows.ts","../src/tokens/fonts.ts","../src/platform.ts"],"sourcesContent":["import React, { createContext, useContext, useState, useMemo } from \"react\";\nimport { colors } from \"./tokens/colors\";\nimport { spacing, radius } from \"./tokens/spacing\";\nimport { shadow } from \"./tokens/shadows\";\nimport { fonts } from \"./tokens/fonts\";\n\nexport type ThemeMode = \"dark\" | \"light\";\n\nexport const themeConfig = (mode: ThemeMode = \"dark\") => ({\n colors: colors[mode],\n spacing,\n radius,\n shadow,\n fonts,\n typography: {\n primary: fonts.primary,\n },\n sizing: {\n button: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n height: 64,\n padding: 20,\n fontSize: 20,\n spinnerSize: 24,\n iconSize: 32,\n iconContainerSize: 64,\n iconPadding: 16,\n loadingPadding: 40,\n },\n l: {\n height: 56,\n padding: 20,\n fontSize: 18,\n spinnerSize: 24,\n iconSize: 28,\n iconContainerSize: 56,\n iconPadding: 14,\n loadingPadding: 36,\n },\n m: {\n height: 48,\n padding: 20,\n fontSize: 16,\n spinnerSize: 20,\n iconSize: 24,\n iconContainerSize: 48,\n iconPadding: 12,\n loadingPadding: 32,\n },\n s: {\n height: 40,\n padding: 20,\n fontSize: 14,\n spinnerSize: 16,\n iconSize: 20,\n iconContainerSize: 40,\n iconPadding: 10,\n loadingPadding: 28,\n },\n xs: {\n height: 32,\n padding: 20,\n fontSize: 12,\n spinnerSize: 16,\n iconSize: 16,\n iconContainerSize: 32,\n iconPadding: 8,\n loadingPadding: 28,\n },\n };\n return configs[size];\n },\n flexButton: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n height: 36,\n padding: 4,\n fontSize: 16,\n spinnerSize: 28,\n iconSize: 20,\n borderRadius: 4,\n },\n l: {\n height: 32,\n padding: 4,\n fontSize: 14,\n spinnerSize: 24,\n iconSize: 18,\n borderRadius: 4,\n },\n m: {\n height: 28,\n padding: 2,\n fontSize: 14,\n spinnerSize: 24,\n iconSize: 16,\n borderRadius: 2,\n },\n s: {\n height: 22,\n padding: 2,\n fontSize: 12,\n spinnerSize: 16,\n iconSize: 14,\n borderRadius: 2,\n },\n xs: {\n height: 20,\n padding: 2,\n fontSize: 12,\n spinnerSize: 16,\n iconSize: 12,\n borderRadius: 2,\n },\n };\n return configs[size];\n },\n checkbox: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n size: 22,\n fontSize: 18,\n descriptionFontSize: 16,\n labelGap: 12,\n textGap: 4,\n borderRadius: 2,\n },\n l: {\n size: 20,\n fontSize: 16,\n descriptionFontSize: 14,\n labelGap: 10,\n textGap: 2,\n borderRadius: 2,\n },\n m: {\n size: 18,\n fontSize: 16,\n descriptionFontSize: 14,\n labelGap: 8,\n textGap: 2,\n borderRadius: 2,\n },\n s: {\n size: 16,\n fontSize: 14,\n descriptionFontSize: 12,\n labelGap: 8,\n textGap: 0,\n borderRadius: 2,\n },\n };\n return configs[size];\n },\n radio: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n size: 24,\n fontSize: 20,\n lineHeight: 22,\n descriptionFontSize: 18,\n descriptionLineHeight: 20,\n labelGap: 12,\n textGap: 4,\n borderWidth: 2,\n },\n l: {\n size: 20,\n fontSize: 18,\n lineHeight: 20,\n descriptionFontSize: 16,\n descriptionLineHeight: 18,\n labelGap: 10,\n textGap: 2,\n borderWidth: 2,\n },\n m: {\n size: 18,\n fontSize: 16,\n lineHeight: 18,\n descriptionFontSize: 14,\n descriptionLineHeight: 16,\n labelGap: 8,\n textGap: 2,\n borderWidth: 1,\n },\n s: {\n size: 16,\n fontSize: 14,\n lineHeight: 16,\n descriptionFontSize: 12,\n descriptionLineHeight: 14,\n labelGap: 8,\n textGap: 0,\n borderWidth: 1,\n },\n };\n return configs[size];\n },\n input: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n height: 64,\n padding: spacing.xl,\n fontSize: 20,\n iconSize: 32,\n radius: 4,\n borderWidth: 2,\n },\n l: {\n height: 56,\n padding: spacing.lg,\n fontSize: 18,\n iconSize: 28,\n radius: 4,\n borderWidth: 2,\n },\n m: {\n height: 48,\n padding: spacing.md,\n fontSize: 16,\n iconSize: 24,\n radius: 2,\n borderWidth: 1,\n },\n s: {\n height: 40,\n padding: spacing.sm,\n fontSize: 14,\n iconSize: 20,\n radius: 2,\n borderWidth: 1,\n },\n xs: {\n height: 32,\n padding: spacing.xs,\n fontSize: 12,\n iconSize: 16,\n radius: 2,\n borderWidth: 1,\n },\n };\n return configs[size];\n },\n inputPin: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: { size: 64, gap: 10, fontSize: 20, radius: 4, borderWidth: 2 },\n l: { size: 56, gap: 8, fontSize: 18, radius: 4, borderWidth: 2 },\n m: { size: 48, gap: 6, fontSize: 16, radius: 2, borderWidth: 1 },\n s: { size: 40, gap: 4, fontSize: 14, radius: 2, borderWidth: 1 },\n xs: { size: 32, gap: 4, fontSize: 12, radius: 2, borderWidth: 1 },\n };\n return configs[size];\n },\n textarea: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: { height: 144, padding: spacing.xl, fontSize: 20, iconSize: 32 },\n l: { height: 128, padding: spacing.lg, fontSize: 18, iconSize: 28 },\n m: { height: 112, padding: spacing.md, fontSize: 16, iconSize: 24 },\n s: { height: 96, padding: spacing.sm, fontSize: 14, iconSize: 20 },\n xs: { height: 80, padding: spacing.xs, fontSize: 12, iconSize: 16 },\n };\n return configs[size];\n },\n switch: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n width: 40,\n height: 22,\n knobSize: 18,\n fontSize: 20,\n lineHeight: 22,\n descriptionFontSize: 18,\n descriptionLineHeight: 20,\n labelGap: 12,\n textGap: 4,\n frameBorderRadius: 4,\n knobBorderRadius: 2,\n },\n l: {\n width: 36,\n height: 20,\n knobSize: 16,\n fontSize: 18,\n lineHeight: 20,\n descriptionFontSize: 16,\n descriptionLineHeight: 18,\n labelGap: 10,\n textGap: 2,\n frameBorderRadius: 4,\n knobBorderRadius: 2,\n },\n m: {\n width: 32,\n height: 18,\n knobSize: 14,\n fontSize: 16,\n lineHeight: 18,\n descriptionFontSize: 14,\n descriptionLineHeight: 16,\n labelGap: 8,\n textGap: 2,\n frameBorderRadius: 2,\n knobBorderRadius: 2,\n },\n s: {\n width: 28,\n height: 16,\n knobSize: 12,\n fontSize: 14,\n lineHeight: 16,\n descriptionFontSize: 12,\n descriptionLineHeight: 14,\n labelGap: 8,\n textGap: 0,\n frameBorderRadius: 2,\n knobBorderRadius: 2,\n },\n };\n return configs[size];\n },\n avatar: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n // Badge offsets adjusted for XL badge size (20px)\n const configs = {\n xl: {\n size: 64,\n fontSize: 24,\n iconSize: 32,\n badgeSize: 20,\n badgeOffsetCircle: { right: -4, top: -4 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarLarge,\n borderRadiusCircle: radius.avatarCircle,\n },\n l: {\n size: 56,\n fontSize: 20,\n iconSize: 28,\n badgeSize: 20,\n badgeOffsetCircle: { right: -4, top: -4 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarLarge,\n borderRadiusCircle: radius.avatarCircle,\n },\n m: {\n size: 48,\n fontSize: 18,\n iconSize: 24,\n badgeSize: 20,\n badgeOffsetCircle: { right: -5, top: -5 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarLarge,\n borderRadiusCircle: radius.avatarCircle,\n },\n s: {\n size: 40,\n fontSize: 16,\n iconSize: 20,\n badgeSize: 20,\n badgeOffsetCircle: { right: -6, top: -6 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarLarge,\n borderRadiusCircle: radius.avatarCircle,\n },\n xs: {\n size: 32,\n fontSize: 14,\n iconSize: 16,\n badgeSize: 20,\n badgeOffsetCircle: { right: -6, top: -6 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarSmall,\n borderRadiusCircle: radius.avatarCircle,\n },\n };\n return configs[size];\n },\n tag: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n height: 48,\n padding: 20,\n fontSize: 20,\n gap: 10,\n iconSize: 24,\n radius: radius.tagLarge,\n },\n l: {\n height: 40,\n padding: 16,\n fontSize: 18,\n gap: 8,\n iconSize: 24,\n radius: radius.tagLarge,\n },\n m: {\n height: 32,\n padding: 12,\n fontSize: 16,\n gap: 6,\n iconSize: 16,\n radius: radius.tagSmall,\n },\n s: {\n height: 24,\n padding: 8,\n fontSize: 14,\n gap: 4,\n iconSize: 16,\n radius: radius.tagSmall,\n },\n xs: {\n height: 20,\n padding: 6,\n fontSize: 12,\n gap: 4,\n iconSize: 16,\n radius: radius.tagSmall,\n },\n };\n return configs[size];\n },\n divider: (size: \"l\" | \"m\" | \"s\") => {\n const configs = {\n l: { height: 18, fontSize: 16, lineWeight: 1 },\n m: { height: 16, fontSize: 14, lineWeight: 1 },\n s: { height: 14, fontSize: 12, lineWeight: 1 },\n };\n return configs[size];\n },\n spinner: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: { size: 96, strokeWidth: 10 },\n l: { size: 48, strokeWidth: 5 },\n m: { size: 24, strokeWidth: 2 },\n s: { size: 16, strokeWidth: 2 },\n xs: { size: 8, strokeWidth: 1 },\n };\n return configs[size];\n },\n tabs: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n height: 64,\n fontSize: 20,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n l: {\n height: 56,\n fontSize: 18,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n m: {\n height: 48,\n fontSize: 16,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n s: {\n height: 40,\n fontSize: 14,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n };\n return configs[size];\n },\n segmented: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n height: 64,\n fontSize: 20,\n iconSize: 24,\n gap: 8,\n padding: 20,\n },\n l: {\n height: 56,\n fontSize: 18,\n iconSize: 24,\n gap: 8,\n padding: 16,\n },\n m: {\n height: 48,\n fontSize: 16,\n iconSize: 24,\n gap: 8,\n padding: 12,\n },\n s: {\n height: 40,\n fontSize: 14,\n iconSize: 20,\n gap: 6,\n padding: 8,\n },\n };\n return configs[size];\n },\n badge: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n size: 20,\n fontSize: 12,\n lineHeight: 14,\n iconSize: 12,\n padding: 4,\n },\n l: { size: 16, fontSize: 10, lineHeight: 10, iconSize: 10, padding: 4 },\n m: { size: 12, fontSize: 10, lineHeight: 10, iconSize: 8, padding: 4 },\n s: { size: 8, fontSize: 8, lineHeight: 8, iconSize: 6, padding: 0 },\n xs: { size: 6, fontSize: 6, lineHeight: 6, iconSize: 4, padding: 0 },\n };\n return configs[size];\n },\n notification: (type: \"toast\" | \"inline\") => {\n const configs = {\n toast: {\n width: 400,\n paddingHorizontal: 20,\n paddingVertical: 16,\n gap: 16,\n titleSize: 18,\n messageSize: 14,\n iconSize: 20,\n iconWrapperSize: 32,\n radius: radius.card,\n },\n inline: {\n width: \"100%\",\n paddingHorizontal: 20,\n paddingVertical: 16,\n gap: 28,\n titleSize: 18,\n messageSize: 14,\n iconSize: 20,\n iconWrapperSize: 32,\n radius: radius.card,\n },\n };\n return configs[type];\n },\n progress: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\" | \"xxs\") => {\n const configs = {\n xl: { height: 10, labelSize: 16, helperSize: 14, gap: 10 },\n l: { height: 8, labelSize: 14, helperSize: 12, gap: 8 },\n m: { height: 6, labelSize: 12, helperSize: 12, gap: 6 },\n s: { height: 4, labelSize: 12, helperSize: 12, gap: 4 },\n xs: { height: 2, labelSize: 10, helperSize: 10, gap: 2 },\n xxs: { height: 2, labelSize: 10, helperSize: 10, gap: 2 },\n };\n return configs[size];\n },\n supportingText: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: { fontSize: 18, lineHeight: \"20px\", gap: 6, iconSize: 18 },\n l: { fontSize: 16, lineHeight: \"18px\", gap: 6, iconSize: 18 },\n m: { fontSize: 14, lineHeight: \"16px\", gap: 6, iconSize: 18 },\n s: { fontSize: 12, lineHeight: \"14px\", gap: 4, iconSize: 16 },\n xs: { fontSize: 10, lineHeight: \"10px\", gap: 4, iconSize: 16 },\n };\n return configs[size];\n },\n iconWrapper: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\" | \"xxs\") => {\n const configs = {\n xl: { size: 56, iconSize: 32, fontSize: 24 },\n l: { size: 48, iconSize: 28, fontSize: 20 },\n m: { size: 40, iconSize: 24, fontSize: 18 },\n s: { size: 32, iconSize: 20, fontSize: 16 },\n xs: { size: 24, iconSize: 16, fontSize: 14 },\n xxs: { size: 18, iconSize: 12, fontSize: 12 },\n };\n return configs[size];\n },\n stepper: (size: \"md\" | \"sm\") => {\n const configs = {\n md: {\n iconSize: 32,\n titleSize: 16,\n descSize: 14,\n gap: 12,\n currentTitleSize: 20,\n currentDescSize: 14,\n currentPadding: 24,\n tailSize: 5,\n },\n sm: {\n iconSize: 24,\n titleSize: 14,\n descSize: 12,\n gap: 8,\n currentTitleSize: 16,\n currentDescSize: 12,\n currentPadding: 20,\n tailSize: 3,\n },\n };\n return configs[size];\n },\n },\n});\n\ninterface DesignSystemContextType {\n mode: ThemeMode;\n setMode: (mode: ThemeMode) => void;\n theme: ReturnType<typeof themeConfig>;\n}\n\nconst DesignSystemContext = createContext<DesignSystemContextType | undefined>(\n undefined\n);\n\nexport const XUIProvider: React.FC<{\n children: React.ReactNode;\n initialMode?: ThemeMode;\n}> = ({ children, initialMode = \"dark\" }) => {\n const [mode, setMode] = useState<ThemeMode>(initialMode);\n\n const value = useMemo(\n () => ({\n mode,\n setMode,\n theme: themeConfig(mode),\n }),\n [mode]\n );\n\n return (\n <DesignSystemContext.Provider value={value}>\n {children}\n </DesignSystemContext.Provider>\n );\n};\n\nexport const useDesignSystem = () => {\n const context = useContext(DesignSystemContext);\n if (!context) {\n // Return default theme if provider is missing\n return {\n mode: \"dark\" as ThemeMode,\n setMode: () => {},\n theme: themeConfig(\"dark\"),\n };\n }\n return context;\n};\n\nlet idCounter = 0;\nexport const useId = () => {\n // @ts-ignore\n const reactUseId = React.useId;\n if (reactUseId) {\n return reactUseId();\n }\n\n const [id] = useState(() => `xui-${++idCounter}`);\n return id;\n};\n\nexport * from \"./tokens/colors\";\nexport * from \"./tokens/spacing\";\nexport * from \"./tokens/shadows\";\nexport * from \"./tokens/fonts\";\nexport * from \"./platform\";\n","{\n \"background\": {\n \"primary\": \"#202a2c\",\n \"secondary\": \"#151c1e\",\n \"inverse\": \"#ffffff\",\n\n \"brand\": {\n \"primary\": \"#66e6ff\",\n \"secondary\": \"#00aacc\"\n },\n \"brandExtra\": {\n \"primary\": \"#d9ff66\",\n \"secondary\": \"#bfff00\"\n },\n\n \"success\": {\n \"primary\": \"#80ffb5\",\n \"secondary\": \"#33ff88\"\n },\n \"warning\": {\n \"primary\": \"#ffee99\",\n \"secondary\": \"#ffdd33\"\n },\n \"alert\": {\n \"primary\": \"#ff8066\",\n \"secondary\": \"#ff5533\"\n },\n \"neutral\": {\n \"primary\": \"#aa99ff\",\n \"secondary\": \"#5533ff\"\n }\n },\n\n \"content\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"rgba(255, 255, 255, 0.72)\",\n \"tertiary\": \"rgba(255, 255, 255, 0.58)\",\n \"inverse\": \"#000000\",\n\n \"brand\": {\n \"primary\": \"#66e6ff\",\n \"secondary\": \"#00d4ff\"\n },\n \"brandExtra\": {\n \"primary\": \"#d9ff66\",\n \"secondary\": \"#bfff00\"\n },\n\n \"success\": {\n \"primary\": \"#66ffa6\",\n \"secondary\": \"#00ff6a\"\n },\n \"warning\": {\n \"primary\": \"#ffe566\",\n \"secondary\": \"#ffd400\"\n },\n \"alert\": {\n \"primary\": \"#ff8066\",\n \"secondary\": \"#ff2b00\"\n },\n \"neutral\": {\n \"primary\": \"#aa99ff\",\n \"secondary\": \"#8066ff\"\n },\n\n \"on\": {\n \"brand\": \"#000000\",\n \"brandExtra\": \"#000000\",\n \"success\": \"#000000\",\n \"warning\": \"#000000\",\n \"alert\": \"#ffffff\",\n \"neutral\": \"#ffffff\"\n },\n\n \"static\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#000000\"\n }\n },\n\n \"border\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"rgba(255, 255, 255, 0.16)\",\n \"inverse\": \"rgba(0, 0, 0, 0.15)\",\n\n \"brand\": \"#66e6ff\",\n \"brandExtra\": \"#d9ff66\",\n \"success\": \"#66ffa6\",\n \"warning\": \"#ffe566\",\n \"alert\": \"#ff8066\",\n \"neutral\": \"#aa99ff\"\n },\n\n \"overlay\": {\n \"mono\": \"rgba(255, 255, 255, 0.1)\",\n \"brand\": \"rgba(102, 230, 255, 0.3)\",\n \"brandExtra\": \"rgba(217, 255, 102, 0.3)\",\n \"success\": \"rgba(0, 255, 106, 0.3)\",\n \"warning\": \"rgba(255, 221, 51, 0.3)\",\n \"alert\": \"rgba(255, 85, 51, 0.3)\",\n \"neutral\": \"rgba(128, 102, 255, 0.3)\"\n },\n\n \"layer\": {\n \"scrim\": \"rgba(0, 0, 0, 0.5)\",\n \"float\": \"#202a2c\"\n },\n\n \"control\": {\n \"brand\": {\n \"primary\": {\n \"bg\": \"#66e6ff\",\n \"bgHover\": \"#99eeff\",\n \"bgPress\": \"#33ddff\",\n \"bgDisable\": \"#557177\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n \"borderDisable\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"#a6bbbf\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(102, 230, 255, 0.4)\",\n \"bgHover\": \"rgba(153, 238, 255, 0.4)\",\n \"bgPress\": \"rgba(51, 221, 255, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n }\n },\n\n \"brandExtra\": {\n \"primary\": {\n \"bg\": \"#d9ff66\",\n \"bgHover\": \"#ccff33\",\n \"bgPress\": \"#e6ff99\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(217, 255, 102, 0.4)\",\n \"bgHover\": \"rgba(204, 255, 51, 0.4)\",\n \"bgPress\": \"rgba(230, 255, 153, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n }\n },\n\n \"alert\": {\n \"primary\": {\n \"bg\": \"#ff8066\",\n \"bgHover\": \"#ffaa99\",\n \"bgPress\": \"#ff5533\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#ffffff\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(255, 128, 102, 0.4)\",\n \"bgHover\": \"rgba(255, 170, 153, 0.4)\",\n \"bgPress\": \"rgba(255, 85, 51, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#ffffff\"\n }\n }\n },\n\n \"mono\": {\n \"primary\": {\n \"bg\": \"#ffffff\",\n \"bgHover\": \"#f0f4f4\",\n \"bgPress\": \"#f6f8f9\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(255, 255, 255, 0.4)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.34)\",\n \"bgPress\": \"rgba(255, 255, 255, 0.44)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n }\n },\n\n \"input\": {\n \"bg\": \"rgba(255, 255, 255, 0.12)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.15)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0.25)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0.1)\",\n \"borderDisable\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": \"#ffffff\",\n \"textDisable\": \"rgba(255, 255, 255, 0.36)\",\n \"placeholder\": \"rgba(255, 255, 255, 0.55)\"\n },\n\n \"focus\": {\n \"bg\": \"rgba(255, 255, 255, 1)\"\n },\n\n \"check\": {\n \"bg\": \"#ffffff\",\n \"bgHover\": \"#f0f4f4\",\n \"bgDisable\": \"rgba(255, 255, 255, 0.2)\"\n },\n\n \"faint\": {\n \"bg\": \"rgba(255, 255, 255, 0.15)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.2)\",\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0.16)\"\n },\n\n \"switch\": {\n \"bg\": \"rgba(255, 255, 255, 0.1)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.15)\"\n },\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#ffffff\",\n \"faint\": \"#000000\",\n \"disable\": \"rgba(255, 255, 255, 0.4)\"\n },\n\n \"link\": {\n \"primary\": \"#66e6ff\",\n \"primaryHover\": \"rgba(102, 230, 255, 0.7)\",\n \"secondary\": \"#d9ff66\",\n \"secondaryHover\": \"rgba(217, 255, 102, 0.7)\"\n }\n }\n}\n","{\n \"background\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#f3f3f1\",\n \"inverse\": \"#000000\",\n\n \"brand\": {\n \"primary\": \"#66e6ff\",\n \"secondary\": \"#99eeff\"\n },\n \"brandExtra\": {\n \"primary\": \"#d9ff66\",\n \"secondary\": \"#e6ff99\"\n },\n\n \"success\": {\n \"primary\": \"#33ff88\",\n \"secondary\": \"#ccffe1\"\n },\n \"warning\": {\n \"primary\": \"#ffdd33\",\n \"secondary\": \"#fff7cc\"\n },\n \"alert\": {\n \"primary\": \"#ff5533\",\n \"secondary\": \"#ffd5cc\"\n },\n \"neutral\": {\n \"primary\": \"#5533ff\",\n \"secondary\": \"#eae5ff\"\n }\n },\n\n \"content\": {\n \"primary\": \"#000000\",\n \"secondary\": \"rgba(0, 0, 0, 0.75)\",\n \"tertiary\": \"rgba(0, 0, 0, 0.6)\",\n \"inverse\": \"#ffffff\",\n\n \"brand\": {\n \"primary\": \"#00aacc\",\n \"secondary\": \"#00d4ff\"\n },\n \"brandExtra\": {\n \"primary\": \"#739900\",\n \"secondary\": \"#99cc00\"\n },\n\n \"success\": {\n \"primary\": \"#009940\",\n \"secondary\": \"#00cc55\"\n },\n \"warning\": {\n \"primary\": \"#ccaa00\",\n \"secondary\": \"#ffdd33\"\n },\n \"alert\": {\n \"primary\": \"#cc2200\",\n \"secondary\": \"#ff5533\"\n },\n \"neutral\": {\n \"primary\": \"#2200cc\",\n \"secondary\": \"#2b00ff\"\n },\n\n \"on\": {\n \"brand\": \"#000000\",\n \"brandExtra\": \"#000000\",\n \"success\": \"#000000\",\n \"warning\": \"#000000\",\n \"alert\": \"#ffffff\",\n \"neutral\": \"#ffffff\"\n },\n\n \"static\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#000000\"\n }\n },\n\n \"border\": {\n \"primary\": \"#000000\",\n \"secondary\": \"rgba(0, 0, 0, 0.1)\",\n \"inverse\": \"rgba(255, 255, 255, 0.15)\",\n\n \"brand\": \"#00d4ff\",\n \"brandExtra\": \"#bfff00\",\n \"success\": \"#009940\",\n \"warning\": \"#ffd400\",\n \"alert\": \"#ff2b00\",\n \"neutral\": \"#2200cc\"\n },\n\n \"overlay\": {\n \"mono\": \"rgba(0, 0, 0, 0.05)\",\n \"brand\": \"rgba(102, 230, 255, 0.3)\",\n \"brandExtra\": \"rgba(194, 255, 102, 0.3)\",\n \"success\": \"rgba(0, 153, 92, 0.3)\",\n \"warning\": \"rgba(255, 178, 0, 0.3)\",\n \"alert\": \"rgba(255, 17, 0, 0.3)\",\n \"neutral\": \"rgba(0, 7, 204, 0.3)\"\n },\n\n \"layer\": {\n \"scrim\": \"rgba(0, 0, 0, 0.75)\",\n \"float\": \"#ffffff\"\n },\n\n \"control\": {\n \"brand\": {\n \"primary\": {\n \"bg\": \"#33ddff\",\n \"bgHover\": \"#66e6ff\",\n \"bgPress\": \"#00d4ff\",\n \"bgDisable\": \"#c4d1d4\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n \"borderDisable\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\",\n \"disable\": \"#89a4a9\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(51, 221, 255, 0.4)\",\n \"bgHover\": \"rgba(51, 221, 255, 0.2)\",\n \"bgPress\": \"rgba(51, 221, 255, 0.5)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\"\n }\n }\n },\n\n \"brandExtra\": {\n \"primary\": {\n \"bg\": \"#bfff00\",\n \"bgHover\": \"#ccff33\",\n \"bgPress\": \"#99cc00\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(191, 255, 0, 0.4)\",\n \"bgHover\": \"rgba(204, 255, 51, 0.4)\",\n \"bgPress\": \"rgba(153, 204, 0, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\"\n }\n }\n },\n\n \"alert\": {\n \"primary\": {\n \"bg\": \"#ff2b00\",\n \"bgHover\": \"#ff5533\",\n \"bgPress\": \"#cc2200\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#000000\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(255, 43, 0, 0.4)\",\n \"bgHover\": \"rgba(255, 85, 51, 0.4)\",\n \"bgPress\": \"rgba(204, 34, 0, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#000000\"\n }\n }\n },\n\n \"mono\": {\n \"primary\": {\n \"bg\": \"#000000\",\n \"bgHover\": \"#151c1e\",\n \"bgPress\": \"#202a2c\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#000000\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(0, 0, 0, 0.12)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.08)\",\n \"bgPress\": \"rgba(0, 0, 0, 0.15)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#000000\"\n }\n }\n },\n\n \"input\": {\n \"bg\": \"rgba(0, 0, 0, 0.07)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.1)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0.15)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0.1)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": \"#000000\",\n \"textDisable\": \"rgba(0, 0, 0, 0.36)\",\n \"placeholder\": \"rgba(0, 0, 0, 0.6)\"\n },\n\n \"focus\": {\n \"bg\": \"rgba(255, 255, 255, 1)\"\n },\n\n \"check\": {\n \"bg\": \"#000000\",\n \"bgHover\": \"#2b383b\",\n \"bgDisable\": \"rgba(0, 0, 0, 0.2)\"\n },\n\n \"faint\": {\n \"bg\": \"rgba(0, 0, 0, 0.15)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.2)\",\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0.1)\"\n },\n\n \"switch\": {\n \"bg\": \"rgba(0, 0, 0, 0.1)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.15)\"\n },\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\",\n \"faint\": \"#ffffff\",\n \"disable\": \"rgba(0, 0, 0, 0.4)\"\n },\n\n \"link\": {\n \"primary\": \"#008099\",\n \"primaryHover\": \"rgba(0, 128, 153, 0.5)\",\n \"secondary\": \"#739900\",\n \"secondaryHover\": \"rgba(77, 102, 0, 0.5)\"\n }\n }\n}\n","import darkTheme from \"./xsolla-dark.json\";\nimport lightTheme from \"./xsolla-light.json\";\n\nexport const colors = {\n dark: darkTheme,\n light: lightTheme,\n};\n\nexport type ThemeColors = typeof darkTheme;\n","export const spacing = {\n xs: 4,\n sm: 8,\n md: 16,\n lg: 24,\n xl: 32,\n};\n\nexport const radius = {\n button: 4,\n card: 12,\n input: 4,\n tagSmall: 2,\n tagLarge: 4,\n avatarSmall: 2,\n avatarLarge: 4,\n avatarCircle: 999,\n};\n","export const shadow = {\n active: \"0px 1px 2px rgba(7, 7, 8, 0.2), 0px 1px 3px 1px rgba(7, 7, 8, 0.1)\",\n surface: \"0px 1px 2px rgba(7, 7, 8, 0.2), 0px 2px 6px 2px rgba(7, 7, 8, 0.1)\",\n surfaceHover:\n \"0px 4px 8px 3px rgba(7, 7, 8, 0.1), 0px 1px 3px rgba(7, 7, 8, 0.2)\",\n popover:\n \"0px 6px 10px 4px rgba(7, 7, 8, 0.1), 0px 2px 3px rgba(7, 7, 8, 0.2)\",\n modal: \"0px 8px 12px 6px rgba(7, 7, 8, 0.1), 0px 4px 4px rgba(7, 7, 8, 0.2)\",\n};\n","export const fonts = {\n // Use a string that works for web but can be parsed/ignored by native\n primary:\n '\"Pilat Wide Bold\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif',\n};\n\nexport const typography = {\n button: {\n fontFamily: fonts.primary,\n fontWeight: \"bold\",\n },\n};\n","export const isWeb = typeof document !== \"undefined\";\nexport const isNative = !isWeb;\n\n// For native platforms, we can check specific globals if needed,\n// but usually we just care about isWeb vs isNative for common logic.\nexport const isIOS =\n isNative &&\n typeof global !== \"undefined\" &&\n (global as any).Platform?.OS === \"ios\";\nexport const isAndroid =\n isNative &&\n typeof global !== \"undefined\" &&\n (global as any).Platform?.OS === \"android\";\n"],"mappings":"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","names":["React"]}
1
+ {"version":3,"sources":["../src/index.tsx","../src/tokens/xsolla-dark.json","../src/tokens/xsolla-light.json","../src/tokens/colors.ts","../src/tokens/spacing.ts","../src/tokens/shadows.ts","../src/tokens/fonts.ts","../src/platform.ts"],"sourcesContent":["import React, { createContext, useContext, useState, useMemo } from \"react\";\nimport { colors } from \"./tokens/colors\";\nimport { spacing, radius } from \"./tokens/spacing\";\nimport { shadow } from \"./tokens/shadows\";\nimport { fonts } from \"./tokens/fonts\";\n\nexport type ThemeMode = \"dark\" | \"light\";\n\nexport const themeConfig = (mode: ThemeMode = \"dark\") => ({\n colors: colors[mode],\n spacing,\n radius,\n shadow,\n fonts,\n typography: {\n primary: fonts.primary,\n },\n sizing: {\n button: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n height: 64,\n padding: 20,\n fontSize: 20,\n spinnerSize: 24,\n iconSize: 32,\n iconContainerSize: 64,\n iconPadding: 16,\n loadingPadding: 40,\n },\n l: {\n height: 56,\n padding: 20,\n fontSize: 18,\n spinnerSize: 24,\n iconSize: 28,\n iconContainerSize: 56,\n iconPadding: 14,\n loadingPadding: 36,\n },\n m: {\n height: 48,\n padding: 20,\n fontSize: 16,\n spinnerSize: 20,\n iconSize: 24,\n iconContainerSize: 48,\n iconPadding: 12,\n loadingPadding: 32,\n },\n s: {\n height: 40,\n padding: 20,\n fontSize: 14,\n spinnerSize: 16,\n iconSize: 20,\n iconContainerSize: 40,\n iconPadding: 10,\n loadingPadding: 28,\n },\n xs: {\n height: 32,\n padding: 20,\n fontSize: 12,\n spinnerSize: 16,\n iconSize: 16,\n iconContainerSize: 32,\n iconPadding: 8,\n loadingPadding: 28,\n },\n };\n return configs[size];\n },\n flexButton: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n height: 36,\n padding: 4,\n fontSize: 16,\n spinnerSize: 28,\n iconSize: 20,\n borderRadius: 4,\n },\n l: {\n height: 32,\n padding: 4,\n fontSize: 14,\n spinnerSize: 24,\n iconSize: 18,\n borderRadius: 4,\n },\n m: {\n height: 28,\n padding: 2,\n fontSize: 14,\n spinnerSize: 24,\n iconSize: 16,\n borderRadius: 2,\n },\n s: {\n height: 22,\n padding: 2,\n fontSize: 12,\n spinnerSize: 16,\n iconSize: 14,\n borderRadius: 2,\n },\n xs: {\n height: 20,\n padding: 2,\n fontSize: 12,\n spinnerSize: 16,\n iconSize: 12,\n borderRadius: 2,\n },\n };\n return configs[size];\n },\n checkbox: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n size: 22,\n fontSize: 18,\n descriptionFontSize: 16,\n labelGap: 12,\n textGap: 4,\n borderRadius: 2,\n },\n l: {\n size: 20,\n fontSize: 16,\n descriptionFontSize: 14,\n labelGap: 10,\n textGap: 2,\n borderRadius: 2,\n },\n m: {\n size: 18,\n fontSize: 16,\n descriptionFontSize: 14,\n labelGap: 8,\n textGap: 2,\n borderRadius: 2,\n },\n s: {\n size: 16,\n fontSize: 14,\n descriptionFontSize: 12,\n labelGap: 8,\n textGap: 0,\n borderRadius: 2,\n },\n };\n return configs[size];\n },\n radio: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n size: 24,\n fontSize: 20,\n lineHeight: 22,\n descriptionFontSize: 18,\n descriptionLineHeight: 20,\n labelGap: 12,\n textGap: 4,\n borderWidth: 2,\n },\n l: {\n size: 20,\n fontSize: 18,\n lineHeight: 20,\n descriptionFontSize: 16,\n descriptionLineHeight: 18,\n labelGap: 10,\n textGap: 2,\n borderWidth: 2,\n },\n m: {\n size: 18,\n fontSize: 16,\n lineHeight: 18,\n descriptionFontSize: 14,\n descriptionLineHeight: 16,\n labelGap: 8,\n textGap: 2,\n borderWidth: 1,\n },\n s: {\n size: 16,\n fontSize: 14,\n lineHeight: 16,\n descriptionFontSize: 12,\n descriptionLineHeight: 14,\n labelGap: 8,\n textGap: 0,\n borderWidth: 1,\n },\n };\n return configs[size];\n },\n input: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n height: 64,\n padding: spacing.xl,\n fontSize: 20,\n iconSize: 32,\n radius: 4,\n borderWidth: 2,\n },\n l: {\n height: 56,\n padding: spacing.l,\n fontSize: 18,\n iconSize: 28,\n radius: 4,\n borderWidth: 2,\n },\n m: {\n height: 48,\n padding: spacing.m,\n fontSize: 16,\n iconSize: 24,\n radius: 2,\n borderWidth: 1,\n },\n s: {\n height: 40,\n padding: spacing.s,\n fontSize: 14,\n iconSize: 20,\n radius: 2,\n borderWidth: 1,\n },\n xs: {\n height: 32,\n padding: spacing.xs,\n fontSize: 12,\n iconSize: 16,\n radius: 2,\n borderWidth: 1,\n },\n };\n return configs[size];\n },\n inputPin: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: { size: 64, gap: 10, fontSize: 20, radius: 4, borderWidth: 2 },\n l: { size: 56, gap: 8, fontSize: 18, radius: 4, borderWidth: 2 },\n m: { size: 48, gap: 6, fontSize: 16, radius: 2, borderWidth: 1 },\n s: { size: 40, gap: 4, fontSize: 14, radius: 2, borderWidth: 1 },\n xs: { size: 32, gap: 4, fontSize: 12, radius: 2, borderWidth: 1 },\n };\n return configs[size];\n },\n textarea: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: { height: 144, padding: spacing.xl, fontSize: 20, iconSize: 32 },\n l: { height: 128, padding: spacing.l, fontSize: 18, iconSize: 28 },\n m: { height: 112, padding: spacing.m, fontSize: 16, iconSize: 24 },\n s: { height: 96, padding: spacing.s, fontSize: 14, iconSize: 20 },\n xs: { height: 80, padding: spacing.xs, fontSize: 12, iconSize: 16 },\n };\n return configs[size];\n },\n switch: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n width: 40,\n height: 22,\n knobSize: 18,\n fontSize: 20,\n lineHeight: 22,\n descriptionFontSize: 18,\n descriptionLineHeight: 20,\n labelGap: 12,\n textGap: 4,\n frameBorderRadius: 4,\n knobBorderRadius: 2,\n },\n l: {\n width: 36,\n height: 20,\n knobSize: 16,\n fontSize: 18,\n lineHeight: 20,\n descriptionFontSize: 16,\n descriptionLineHeight: 18,\n labelGap: 10,\n textGap: 2,\n frameBorderRadius: 4,\n knobBorderRadius: 2,\n },\n m: {\n width: 32,\n height: 18,\n knobSize: 14,\n fontSize: 16,\n lineHeight: 18,\n descriptionFontSize: 14,\n descriptionLineHeight: 16,\n labelGap: 8,\n textGap: 2,\n frameBorderRadius: 2,\n knobBorderRadius: 2,\n },\n s: {\n width: 28,\n height: 16,\n knobSize: 12,\n fontSize: 14,\n lineHeight: 16,\n descriptionFontSize: 12,\n descriptionLineHeight: 14,\n labelGap: 8,\n textGap: 0,\n frameBorderRadius: 2,\n knobBorderRadius: 2,\n },\n };\n return configs[size];\n },\n avatar: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n // Badge offsets adjusted for XL badge size (20px)\n const configs = {\n xl: {\n size: 64,\n fontSize: 24,\n iconSize: 32,\n badgeSize: 20,\n badgeOffsetCircle: { right: -4, top: -4 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarLarge,\n borderRadiusCircle: radius.avatarCircle,\n },\n l: {\n size: 56,\n fontSize: 20,\n iconSize: 28,\n badgeSize: 20,\n badgeOffsetCircle: { right: -4, top: -4 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarLarge,\n borderRadiusCircle: radius.avatarCircle,\n },\n m: {\n size: 48,\n fontSize: 18,\n iconSize: 24,\n badgeSize: 20,\n badgeOffsetCircle: { right: -5, top: -5 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarLarge,\n borderRadiusCircle: radius.avatarCircle,\n },\n s: {\n size: 40,\n fontSize: 16,\n iconSize: 20,\n badgeSize: 20,\n badgeOffsetCircle: { right: -6, top: -6 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarLarge,\n borderRadiusCircle: radius.avatarCircle,\n },\n xs: {\n size: 32,\n fontSize: 14,\n iconSize: 16,\n badgeSize: 20,\n badgeOffsetCircle: { right: -6, top: -6 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarSmall,\n borderRadiusCircle: radius.avatarCircle,\n },\n };\n return configs[size];\n },\n tag: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n height: 48,\n padding: 20,\n fontSize: 20,\n gap: 10,\n iconSize: 24,\n radius: radius.tagLarge,\n },\n l: {\n height: 40,\n padding: 16,\n fontSize: 18,\n gap: 8,\n iconSize: 24,\n radius: radius.tagLarge,\n },\n m: {\n height: 32,\n padding: 12,\n fontSize: 16,\n gap: 6,\n iconSize: 16,\n radius: radius.tagSmall,\n },\n s: {\n height: 24,\n padding: 8,\n fontSize: 14,\n gap: 4,\n iconSize: 16,\n radius: radius.tagSmall,\n },\n xs: {\n height: 20,\n padding: 6,\n fontSize: 12,\n gap: 4,\n iconSize: 16,\n radius: radius.tagSmall,\n },\n };\n return configs[size];\n },\n divider: (size: \"l\" | \"m\" | \"s\") => {\n const configs = {\n l: { height: 18, fontSize: 16, lineWeight: 1 },\n m: { height: 16, fontSize: 14, lineWeight: 1 },\n s: { height: 14, fontSize: 12, lineWeight: 1 },\n };\n return configs[size];\n },\n spinner: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: { size: 96, strokeWidth: 10 },\n l: { size: 48, strokeWidth: 5 },\n m: { size: 24, strokeWidth: 2 },\n s: { size: 16, strokeWidth: 2 },\n xs: { size: 8, strokeWidth: 1 },\n };\n return configs[size];\n },\n tabs: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n height: 64,\n fontSize: 20,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n l: {\n height: 56,\n fontSize: 18,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n m: {\n height: 48,\n fontSize: 16,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n s: {\n height: 40,\n fontSize: 14,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n };\n return configs[size];\n },\n segmented: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n height: 64,\n fontSize: 20,\n iconSize: 24,\n gap: 8,\n padding: 20,\n },\n l: {\n height: 56,\n fontSize: 18,\n iconSize: 24,\n gap: 8,\n padding: 16,\n },\n m: {\n height: 48,\n fontSize: 16,\n iconSize: 24,\n gap: 8,\n padding: 12,\n },\n s: {\n height: 40,\n fontSize: 14,\n iconSize: 20,\n gap: 6,\n padding: 8,\n },\n };\n return configs[size];\n },\n badge: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n size: 20,\n fontSize: 12,\n lineHeight: 14,\n iconSize: 12,\n padding: 4,\n },\n l: { size: 16, fontSize: 10, lineHeight: 10, iconSize: 10, padding: 4 },\n m: { size: 12, fontSize: 10, lineHeight: 10, iconSize: 8, padding: 4 },\n s: { size: 8, fontSize: 8, lineHeight: 8, iconSize: 6, padding: 0 },\n xs: { size: 6, fontSize: 6, lineHeight: 6, iconSize: 4, padding: 0 },\n };\n return configs[size];\n },\n notification: (type: \"toast\" | \"inline\") => {\n const configs = {\n toast: {\n width: 400,\n paddingHorizontal: 20,\n paddingVertical: 16,\n gap: 16,\n titleSize: 18,\n messageSize: 14,\n iconSize: 20,\n iconWrapperSize: 32,\n radius: radius.card,\n },\n inline: {\n width: \"100%\",\n paddingHorizontal: 20,\n paddingVertical: 16,\n gap: 28,\n titleSize: 18,\n messageSize: 14,\n iconSize: 20,\n iconWrapperSize: 32,\n radius: radius.card,\n },\n };\n return configs[type];\n },\n progress: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\" | \"xxs\") => {\n const configs = {\n xl: { height: 10, labelSize: 16, helperSize: 14, gap: 10 },\n l: { height: 8, labelSize: 14, helperSize: 12, gap: 8 },\n m: { height: 6, labelSize: 12, helperSize: 12, gap: 6 },\n s: { height: 4, labelSize: 12, helperSize: 12, gap: 4 },\n xs: { height: 2, labelSize: 10, helperSize: 10, gap: 2 },\n xxs: { height: 2, labelSize: 10, helperSize: 10, gap: 2 },\n };\n return configs[size];\n },\n supportingText: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: { fontSize: 18, lineHeight: \"20px\", gap: 6, iconSize: 18 },\n l: { fontSize: 16, lineHeight: \"18px\", gap: 6, iconSize: 18 },\n m: { fontSize: 14, lineHeight: \"16px\", gap: 6, iconSize: 18 },\n s: { fontSize: 12, lineHeight: \"14px\", gap: 4, iconSize: 16 },\n xs: { fontSize: 10, lineHeight: \"10px\", gap: 4, iconSize: 16 },\n };\n return configs[size];\n },\n iconWrapper: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\" | \"xxs\") => {\n const configs = {\n xl: { size: 56, iconSize: 32, fontSize: 24 },\n l: { size: 48, iconSize: 28, fontSize: 20 },\n m: { size: 40, iconSize: 24, fontSize: 18 },\n s: { size: 32, iconSize: 20, fontSize: 16 },\n xs: { size: 24, iconSize: 16, fontSize: 14 },\n xxs: { size: 18, iconSize: 12, fontSize: 12 },\n };\n return configs[size];\n },\n stepper: (size: \"m\" | \"s\") => {\n const configs = {\n m: {\n iconSize: 32,\n titleSize: 16,\n descSize: 14,\n gap: 12,\n currentTitleSize: 20,\n currentDescSize: 14,\n currentPadding: 24,\n tailSize: 5,\n },\n s: {\n iconSize: 24,\n titleSize: 14,\n descSize: 12,\n gap: 8,\n currentTitleSize: 16,\n currentDescSize: 12,\n currentPadding: 20,\n tailSize: 3,\n },\n };\n return configs[size];\n },\n contextMenu: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n // Sizing values from Figma design: node-id=5867-47111\n const configs = {\n xl: {\n paddingVertical: 8,\n itemPaddingHorizontal: 16,\n itemPaddingVertical: 18,\n fontSize: 20,\n lineHeight: 22,\n descriptionFontSize: 18,\n iconSize: 18,\n gap: 12,\n minWidth: 276,\n // Search sizing from Figma\n searchPaddingHorizontal: 16,\n searchPaddingVertical: 18,\n searchGap: 18,\n searchFontSize: 20,\n searchLineHeight: 22,\n searchIconSize: 18,\n },\n l: {\n paddingVertical: 8,\n itemPaddingHorizontal: 14,\n itemPaddingVertical: 14,\n fontSize: 18,\n lineHeight: 20,\n descriptionFontSize: 16,\n iconSize: 18,\n gap: 10,\n minWidth: 220,\n // Search sizing from Figma\n searchPaddingHorizontal: 14,\n searchPaddingVertical: 14,\n searchGap: 14,\n searchFontSize: 18,\n searchLineHeight: 20,\n searchIconSize: 18,\n },\n m: {\n paddingVertical: 8,\n itemPaddingHorizontal: 12,\n itemPaddingVertical: 11,\n fontSize: 16,\n lineHeight: 18,\n descriptionFontSize: 14,\n iconSize: 18,\n gap: 8,\n minWidth: 172,\n // Search sizing from Figma\n searchPaddingHorizontal: 12,\n searchPaddingVertical: 11,\n searchGap: 10,\n searchFontSize: 16,\n searchLineHeight: 18,\n searchIconSize: 18,\n },\n s: {\n paddingVertical: 8,\n itemPaddingHorizontal: 10,\n itemPaddingVertical: 8,\n fontSize: 14,\n lineHeight: 16,\n descriptionFontSize: 12,\n iconSize: 18,\n gap: 8,\n minWidth: 132,\n // Search sizing from Figma\n searchPaddingHorizontal: 10,\n searchPaddingVertical: 7,\n searchGap: 6,\n searchFontSize: 14,\n searchLineHeight: 16,\n searchIconSize: 18,\n },\n };\n return configs[size];\n },\n },\n});\n\ninterface DesignSystemContextType {\n mode: ThemeMode;\n setMode: (mode: ThemeMode) => void;\n theme: ReturnType<typeof themeConfig>;\n}\n\nconst DesignSystemContext = createContext<DesignSystemContextType | undefined>(\n undefined\n);\n\nexport const XUIProvider: React.FC<{\n children: React.ReactNode;\n initialMode?: ThemeMode;\n}> = ({ children, initialMode = \"dark\" }) => {\n const [mode, setMode] = useState<ThemeMode>(initialMode);\n\n const value = useMemo(\n () => ({\n mode,\n setMode,\n theme: themeConfig(mode),\n }),\n [mode]\n );\n\n return (\n <DesignSystemContext.Provider value={value}>\n {children}\n </DesignSystemContext.Provider>\n );\n};\n\nexport const useDesignSystem = () => {\n const context = useContext(DesignSystemContext);\n if (!context) {\n // Return default theme if provider is missing\n return {\n mode: \"dark\" as ThemeMode,\n setMode: () => {},\n theme: themeConfig(\"dark\"),\n };\n }\n return context;\n};\n\nlet idCounter = 0;\nexport const useId = () => {\n // @ts-ignore\n const reactUseId = React.useId;\n if (reactUseId) {\n return reactUseId();\n }\n\n const [id] = useState(() => `xui-${++idCounter}`);\n return id;\n};\n\nexport * from \"./tokens/colors\";\nexport * from \"./tokens/spacing\";\nexport * from \"./tokens/shadows\";\nexport * from \"./tokens/fonts\";\nexport * from \"./platform\";\n","{\n \"background\": {\n \"primary\": \"#202a2c\",\n \"secondary\": \"#151c1e\",\n \"inverse\": \"#ffffff\",\n\n \"brand\": {\n \"primary\": \"#66e6ff\",\n \"secondary\": \"#00aacc\"\n },\n \"brandExtra\": {\n \"primary\": \"#d9ff66\",\n \"secondary\": \"#bfff00\"\n },\n\n \"success\": {\n \"primary\": \"#80ffb5\",\n \"secondary\": \"#33ff88\"\n },\n \"warning\": {\n \"primary\": \"#ffee99\",\n \"secondary\": \"#ffdd33\"\n },\n \"alert\": {\n \"primary\": \"#ff8066\",\n \"secondary\": \"#ff5533\"\n },\n \"neutral\": {\n \"primary\": \"#aa99ff\",\n \"secondary\": \"#5533ff\"\n }\n },\n\n \"content\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"rgba(255, 255, 255, 0.72)\",\n \"tertiary\": \"rgba(255, 255, 255, 0.58)\",\n \"inverse\": \"#000000\",\n\n \"brand\": {\n \"primary\": \"#66e6ff\",\n \"secondary\": \"#00d4ff\"\n },\n \"brandExtra\": {\n \"primary\": \"#d9ff66\",\n \"secondary\": \"#bfff00\"\n },\n\n \"success\": {\n \"primary\": \"#66ffa6\",\n \"secondary\": \"#00ff6a\"\n },\n \"warning\": {\n \"primary\": \"#ffe566\",\n \"secondary\": \"#ffd400\"\n },\n \"alert\": {\n \"primary\": \"#ff8066\",\n \"secondary\": \"#ff2b00\"\n },\n \"neutral\": {\n \"primary\": \"#aa99ff\",\n \"secondary\": \"#8066ff\"\n },\n\n \"on\": {\n \"brand\": \"#000000\",\n \"brandExtra\": \"#000000\",\n \"success\": \"#000000\",\n \"warning\": \"#000000\",\n \"alert\": \"#ffffff\",\n \"neutral\": \"#ffffff\"\n },\n\n \"static\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#000000\"\n }\n },\n\n \"border\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"rgba(255, 255, 255, 0.16)\",\n \"inverse\": \"rgba(0, 0, 0, 0.15)\",\n\n \"brand\": \"#66e6ff\",\n \"brandExtra\": \"#d9ff66\",\n \"success\": \"#66ffa6\",\n \"warning\": \"#ffe566\",\n \"alert\": \"#ff8066\",\n \"neutral\": \"#aa99ff\"\n },\n\n \"overlay\": {\n \"mono\": \"rgba(255, 255, 255, 0.1)\",\n \"brand\": \"rgba(102, 230, 255, 0.3)\",\n \"brandExtra\": \"rgba(217, 255, 102, 0.3)\",\n \"success\": \"rgba(0, 255, 106, 0.3)\",\n \"warning\": \"rgba(255, 221, 51, 0.3)\",\n \"alert\": \"rgba(255, 85, 51, 0.3)\",\n \"neutral\": \"rgba(128, 102, 255, 0.3)\"\n },\n\n \"layer\": {\n \"scrim\": \"rgba(0, 0, 0, 0.5)\",\n \"float\": \"#202a2c\"\n },\n\n \"control\": {\n \"brand\": {\n \"primary\": {\n \"bg\": \"#66e6ff\",\n \"bgHover\": \"#99eeff\",\n \"bgPress\": \"#33ddff\",\n \"bgDisable\": \"#557177\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n \"borderDisable\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"#a6bbbf\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(102, 230, 255, 0.4)\",\n \"bgHover\": \"rgba(153, 238, 255, 0.4)\",\n \"bgPress\": \"rgba(51, 221, 255, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n }\n },\n\n \"brandExtra\": {\n \"primary\": {\n \"bg\": \"#d9ff66\",\n \"bgHover\": \"#ccff33\",\n \"bgPress\": \"#e6ff99\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(217, 255, 102, 0.4)\",\n \"bgHover\": \"rgba(204, 255, 51, 0.4)\",\n \"bgPress\": \"rgba(230, 255, 153, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n }\n },\n\n \"alert\": {\n \"primary\": {\n \"bg\": \"#ff8066\",\n \"bgHover\": \"#ffaa99\",\n \"bgPress\": \"#ff5533\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#ffffff\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(255, 128, 102, 0.4)\",\n \"bgHover\": \"rgba(255, 170, 153, 0.4)\",\n \"bgPress\": \"rgba(255, 85, 51, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#ffffff\"\n }\n }\n },\n\n \"mono\": {\n \"primary\": {\n \"bg\": \"#ffffff\",\n \"bgHover\": \"#f0f4f4\",\n \"bgPress\": \"#f6f8f9\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(255, 255, 255, 0.4)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.34)\",\n \"bgPress\": \"rgba(255, 255, 255, 0.44)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n }\n },\n\n \"input\": {\n \"bg\": \"rgba(255, 255, 255, 0.12)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.15)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0.25)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0.1)\",\n \"borderDisable\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": \"#ffffff\",\n \"textDisable\": \"rgba(255, 255, 255, 0.36)\",\n \"placeholder\": \"rgba(255, 255, 255, 0.55)\"\n },\n\n \"focus\": {\n \"bg\": \"rgba(255, 255, 255, 1)\"\n },\n\n \"check\": {\n \"bg\": \"#ffffff\",\n \"bgHover\": \"#f0f4f4\",\n \"bgDisable\": \"rgba(255, 255, 255, 0.2)\"\n },\n\n \"faint\": {\n \"bg\": \"rgba(255, 255, 255, 0.15)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.2)\",\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0.16)\"\n },\n\n \"switch\": {\n \"bg\": \"rgba(255, 255, 255, 0.1)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.15)\"\n },\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#ffffff\",\n \"faint\": \"#000000\",\n \"disable\": \"rgba(255, 255, 255, 0.4)\"\n },\n\n \"link\": {\n \"primary\": \"#66e6ff\",\n \"primaryHover\": \"rgba(102, 230, 255, 0.7)\",\n \"secondary\": \"#d9ff66\",\n \"secondaryHover\": \"rgba(217, 255, 102, 0.7)\"\n }\n }\n}\n","{\n \"background\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#f3f3f1\",\n \"inverse\": \"#000000\",\n\n \"brand\": {\n \"primary\": \"#66e6ff\",\n \"secondary\": \"#99eeff\"\n },\n \"brandExtra\": {\n \"primary\": \"#d9ff66\",\n \"secondary\": \"#e6ff99\"\n },\n\n \"success\": {\n \"primary\": \"#33ff88\",\n \"secondary\": \"#ccffe1\"\n },\n \"warning\": {\n \"primary\": \"#ffdd33\",\n \"secondary\": \"#fff7cc\"\n },\n \"alert\": {\n \"primary\": \"#ff5533\",\n \"secondary\": \"#ffd5cc\"\n },\n \"neutral\": {\n \"primary\": \"#5533ff\",\n \"secondary\": \"#eae5ff\"\n }\n },\n\n \"content\": {\n \"primary\": \"#000000\",\n \"secondary\": \"rgba(0, 0, 0, 0.75)\",\n \"tertiary\": \"rgba(0, 0, 0, 0.6)\",\n \"inverse\": \"#ffffff\",\n\n \"brand\": {\n \"primary\": \"#00aacc\",\n \"secondary\": \"#00d4ff\"\n },\n \"brandExtra\": {\n \"primary\": \"#739900\",\n \"secondary\": \"#99cc00\"\n },\n\n \"success\": {\n \"primary\": \"#009940\",\n \"secondary\": \"#00cc55\"\n },\n \"warning\": {\n \"primary\": \"#ccaa00\",\n \"secondary\": \"#ffdd33\"\n },\n \"alert\": {\n \"primary\": \"#cc2200\",\n \"secondary\": \"#ff5533\"\n },\n \"neutral\": {\n \"primary\": \"#2200cc\",\n \"secondary\": \"#2b00ff\"\n },\n\n \"on\": {\n \"brand\": \"#000000\",\n \"brandExtra\": \"#000000\",\n \"success\": \"#000000\",\n \"warning\": \"#000000\",\n \"alert\": \"#ffffff\",\n \"neutral\": \"#ffffff\"\n },\n\n \"static\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#000000\"\n }\n },\n\n \"border\": {\n \"primary\": \"#000000\",\n \"secondary\": \"rgba(0, 0, 0, 0.1)\",\n \"inverse\": \"rgba(255, 255, 255, 0.15)\",\n\n \"brand\": \"#00d4ff\",\n \"brandExtra\": \"#bfff00\",\n \"success\": \"#009940\",\n \"warning\": \"#ffd400\",\n \"alert\": \"#ff2b00\",\n \"neutral\": \"#2200cc\"\n },\n\n \"overlay\": {\n \"mono\": \"rgba(0, 0, 0, 0.05)\",\n \"brand\": \"rgba(102, 230, 255, 0.3)\",\n \"brandExtra\": \"rgba(194, 255, 102, 0.3)\",\n \"success\": \"rgba(0, 153, 92, 0.3)\",\n \"warning\": \"rgba(255, 178, 0, 0.3)\",\n \"alert\": \"rgba(255, 17, 0, 0.3)\",\n \"neutral\": \"rgba(0, 7, 204, 0.3)\"\n },\n\n \"layer\": {\n \"scrim\": \"rgba(0, 0, 0, 0.75)\",\n \"float\": \"#ffffff\"\n },\n\n \"control\": {\n \"brand\": {\n \"primary\": {\n \"bg\": \"#33ddff\",\n \"bgHover\": \"#66e6ff\",\n \"bgPress\": \"#00d4ff\",\n \"bgDisable\": \"#c4d1d4\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n \"borderDisable\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\",\n \"disable\": \"#89a4a9\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(51, 221, 255, 0.4)\",\n \"bgHover\": \"rgba(51, 221, 255, 0.2)\",\n \"bgPress\": \"rgba(51, 221, 255, 0.5)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\"\n }\n }\n },\n\n \"brandExtra\": {\n \"primary\": {\n \"bg\": \"#bfff00\",\n \"bgHover\": \"#ccff33\",\n \"bgPress\": \"#99cc00\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(191, 255, 0, 0.4)\",\n \"bgHover\": \"rgba(204, 255, 51, 0.4)\",\n \"bgPress\": \"rgba(153, 204, 0, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\"\n }\n }\n },\n\n \"alert\": {\n \"primary\": {\n \"bg\": \"#ff2b00\",\n \"bgHover\": \"#ff5533\",\n \"bgPress\": \"#cc2200\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#000000\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(255, 43, 0, 0.4)\",\n \"bgHover\": \"rgba(255, 85, 51, 0.4)\",\n \"bgPress\": \"rgba(204, 34, 0, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#000000\"\n }\n }\n },\n\n \"mono\": {\n \"primary\": {\n \"bg\": \"#000000\",\n \"bgHover\": \"#151c1e\",\n \"bgPress\": \"#202a2c\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#000000\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(0, 0, 0, 0.12)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.08)\",\n \"bgPress\": \"rgba(0, 0, 0, 0.15)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#000000\"\n }\n }\n },\n\n \"input\": {\n \"bg\": \"rgba(0, 0, 0, 0.07)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.1)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0.15)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0.1)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": \"#000000\",\n \"textDisable\": \"rgba(0, 0, 0, 0.36)\",\n \"placeholder\": \"rgba(0, 0, 0, 0.6)\"\n },\n\n \"focus\": {\n \"bg\": \"rgba(255, 255, 255, 1)\"\n },\n\n \"check\": {\n \"bg\": \"#000000\",\n \"bgHover\": \"#2b383b\",\n \"bgDisable\": \"rgba(0, 0, 0, 0.2)\"\n },\n\n \"faint\": {\n \"bg\": \"rgba(0, 0, 0, 0.15)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.2)\",\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0.1)\"\n },\n\n \"switch\": {\n \"bg\": \"rgba(0, 0, 0, 0.1)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.15)\"\n },\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\",\n \"faint\": \"#ffffff\",\n \"disable\": \"rgba(0, 0, 0, 0.4)\"\n },\n\n \"link\": {\n \"primary\": \"#008099\",\n \"primaryHover\": \"rgba(0, 128, 153, 0.5)\",\n \"secondary\": \"#739900\",\n \"secondaryHover\": \"rgba(77, 102, 0, 0.5)\"\n }\n }\n}\n","import darkTheme from \"./xsolla-dark.json\";\nimport lightTheme from \"./xsolla-light.json\";\n\nexport const colors = {\n dark: darkTheme,\n light: lightTheme,\n};\n\nexport type ThemeColors = typeof darkTheme;\n","export const spacing = {\n xs: 4,\n s: 8,\n m: 16,\n l: 24,\n xl: 32,\n};\n\nexport const radius = {\n button: 4,\n card: 12,\n input: 4,\n tagSmall: 2,\n tagLarge: 4,\n avatarSmall: 2,\n avatarLarge: 4,\n avatarCircle: 999,\n};\n","export const shadow = {\n active: \"0px 1px 2px rgba(7, 7, 8, 0.2), 0px 1px 3px 1px rgba(7, 7, 8, 0.1)\",\n surface: \"0px 1px 2px rgba(7, 7, 8, 0.2), 0px 2px 6px 2px rgba(7, 7, 8, 0.1)\",\n surfaceHover:\n \"0px 4px 8px 3px rgba(7, 7, 8, 0.1), 0px 1px 3px rgba(7, 7, 8, 0.2)\",\n popover:\n \"0px 6px 10px 4px rgba(7, 7, 8, 0.1), 0px 2px 3px rgba(7, 7, 8, 0.2)\",\n modal: \"0px 8px 12px 6px rgba(7, 7, 8, 0.1), 0px 4px 4px rgba(7, 7, 8, 0.2)\",\n};\n","export const fonts = {\n // Use a string that works for web but can be parsed/ignored by native\n primary:\n '\"Pilat Wide Bold\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif',\n};\n\nexport const typography = {\n button: {\n fontFamily: fonts.primary,\n fontWeight: \"bold\",\n },\n};\n","export const isWeb = typeof document !== \"undefined\";\nexport const isNative = !isWeb;\n\n// For native platforms, we can check specific globals if needed,\n// but usually we just care about isWeb vs isNative for common logic.\nexport const isIOS =\n isNative &&\n typeof global !== \"undefined\" &&\n (global as any).Platform?.OS === \"ios\";\nexport const isAndroid =\n isNative &&\n typeof global !== \"undefined\" &&\n (global as any).Platform?.OS === \"android\";\n"],"mappings":"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","names":["React"]}
package/index.mjs CHANGED
@@ -508,9 +508,9 @@ var colors = {
508
508
  // src/tokens/spacing.ts
509
509
  var spacing = {
510
510
  xs: 4,
511
- sm: 8,
512
- md: 16,
513
- lg: 24,
511
+ s: 8,
512
+ m: 16,
513
+ l: 24,
514
514
  xl: 32
515
515
  };
516
516
  var radius = {
@@ -757,7 +757,7 @@ var themeConfig = (mode = "dark") => ({
757
757
  },
758
758
  l: {
759
759
  height: 56,
760
- padding: spacing.lg,
760
+ padding: spacing.l,
761
761
  fontSize: 18,
762
762
  iconSize: 28,
763
763
  radius: 4,
@@ -765,7 +765,7 @@ var themeConfig = (mode = "dark") => ({
765
765
  },
766
766
  m: {
767
767
  height: 48,
768
- padding: spacing.md,
768
+ padding: spacing.m,
769
769
  fontSize: 16,
770
770
  iconSize: 24,
771
771
  radius: 2,
@@ -773,7 +773,7 @@ var themeConfig = (mode = "dark") => ({
773
773
  },
774
774
  s: {
775
775
  height: 40,
776
- padding: spacing.sm,
776
+ padding: spacing.s,
777
777
  fontSize: 14,
778
778
  iconSize: 20,
779
779
  radius: 2,
@@ -803,9 +803,9 @@ var themeConfig = (mode = "dark") => ({
803
803
  textarea: (size) => {
804
804
  const configs = {
805
805
  xl: { height: 144, padding: spacing.xl, fontSize: 20, iconSize: 32 },
806
- l: { height: 128, padding: spacing.lg, fontSize: 18, iconSize: 28 },
807
- m: { height: 112, padding: spacing.md, fontSize: 16, iconSize: 24 },
808
- s: { height: 96, padding: spacing.sm, fontSize: 14, iconSize: 20 },
806
+ l: { height: 128, padding: spacing.l, fontSize: 18, iconSize: 28 },
807
+ m: { height: 112, padding: spacing.m, fontSize: 16, iconSize: 24 },
808
+ s: { height: 96, padding: spacing.s, fontSize: 14, iconSize: 20 },
809
809
  xs: { height: 80, padding: spacing.xs, fontSize: 12, iconSize: 16 }
810
810
  };
811
811
  return configs[size];
@@ -1128,7 +1128,7 @@ var themeConfig = (mode = "dark") => ({
1128
1128
  },
1129
1129
  stepper: (size) => {
1130
1130
  const configs = {
1131
- md: {
1131
+ m: {
1132
1132
  iconSize: 32,
1133
1133
  titleSize: 16,
1134
1134
  descSize: 14,
@@ -1138,7 +1138,7 @@ var themeConfig = (mode = "dark") => ({
1138
1138
  currentPadding: 24,
1139
1139
  tailSize: 5
1140
1140
  },
1141
- sm: {
1141
+ s: {
1142
1142
  iconSize: 24,
1143
1143
  titleSize: 14,
1144
1144
  descSize: 12,
@@ -1150,6 +1150,83 @@ var themeConfig = (mode = "dark") => ({
1150
1150
  }
1151
1151
  };
1152
1152
  return configs[size];
1153
+ },
1154
+ contextMenu: (size) => {
1155
+ const configs = {
1156
+ xl: {
1157
+ paddingVertical: 8,
1158
+ itemPaddingHorizontal: 16,
1159
+ itemPaddingVertical: 18,
1160
+ fontSize: 20,
1161
+ lineHeight: 22,
1162
+ descriptionFontSize: 18,
1163
+ iconSize: 18,
1164
+ gap: 12,
1165
+ minWidth: 276,
1166
+ // Search sizing from Figma
1167
+ searchPaddingHorizontal: 16,
1168
+ searchPaddingVertical: 18,
1169
+ searchGap: 18,
1170
+ searchFontSize: 20,
1171
+ searchLineHeight: 22,
1172
+ searchIconSize: 18
1173
+ },
1174
+ l: {
1175
+ paddingVertical: 8,
1176
+ itemPaddingHorizontal: 14,
1177
+ itemPaddingVertical: 14,
1178
+ fontSize: 18,
1179
+ lineHeight: 20,
1180
+ descriptionFontSize: 16,
1181
+ iconSize: 18,
1182
+ gap: 10,
1183
+ minWidth: 220,
1184
+ // Search sizing from Figma
1185
+ searchPaddingHorizontal: 14,
1186
+ searchPaddingVertical: 14,
1187
+ searchGap: 14,
1188
+ searchFontSize: 18,
1189
+ searchLineHeight: 20,
1190
+ searchIconSize: 18
1191
+ },
1192
+ m: {
1193
+ paddingVertical: 8,
1194
+ itemPaddingHorizontal: 12,
1195
+ itemPaddingVertical: 11,
1196
+ fontSize: 16,
1197
+ lineHeight: 18,
1198
+ descriptionFontSize: 14,
1199
+ iconSize: 18,
1200
+ gap: 8,
1201
+ minWidth: 172,
1202
+ // Search sizing from Figma
1203
+ searchPaddingHorizontal: 12,
1204
+ searchPaddingVertical: 11,
1205
+ searchGap: 10,
1206
+ searchFontSize: 16,
1207
+ searchLineHeight: 18,
1208
+ searchIconSize: 18
1209
+ },
1210
+ s: {
1211
+ paddingVertical: 8,
1212
+ itemPaddingHorizontal: 10,
1213
+ itemPaddingVertical: 8,
1214
+ fontSize: 14,
1215
+ lineHeight: 16,
1216
+ descriptionFontSize: 12,
1217
+ iconSize: 18,
1218
+ gap: 8,
1219
+ minWidth: 132,
1220
+ // Search sizing from Figma
1221
+ searchPaddingHorizontal: 10,
1222
+ searchPaddingVertical: 7,
1223
+ searchGap: 6,
1224
+ searchFontSize: 14,
1225
+ searchLineHeight: 16,
1226
+ searchIconSize: 18
1227
+ }
1228
+ };
1229
+ return configs[size];
1153
1230
  }
1154
1231
  }
1155
1232
  });
package/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.tsx","../src/tokens/xsolla-dark.json","../src/tokens/xsolla-light.json","../src/tokens/colors.ts","../src/tokens/spacing.ts","../src/tokens/shadows.ts","../src/tokens/fonts.ts","../src/platform.ts"],"sourcesContent":["import React, { createContext, useContext, useState, useMemo } from \"react\";\nimport { colors } from \"./tokens/colors\";\nimport { spacing, radius } from \"./tokens/spacing\";\nimport { shadow } from \"./tokens/shadows\";\nimport { fonts } from \"./tokens/fonts\";\n\nexport type ThemeMode = \"dark\" | \"light\";\n\nexport const themeConfig = (mode: ThemeMode = \"dark\") => ({\n colors: colors[mode],\n spacing,\n radius,\n shadow,\n fonts,\n typography: {\n primary: fonts.primary,\n },\n sizing: {\n button: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n height: 64,\n padding: 20,\n fontSize: 20,\n spinnerSize: 24,\n iconSize: 32,\n iconContainerSize: 64,\n iconPadding: 16,\n loadingPadding: 40,\n },\n l: {\n height: 56,\n padding: 20,\n fontSize: 18,\n spinnerSize: 24,\n iconSize: 28,\n iconContainerSize: 56,\n iconPadding: 14,\n loadingPadding: 36,\n },\n m: {\n height: 48,\n padding: 20,\n fontSize: 16,\n spinnerSize: 20,\n iconSize: 24,\n iconContainerSize: 48,\n iconPadding: 12,\n loadingPadding: 32,\n },\n s: {\n height: 40,\n padding: 20,\n fontSize: 14,\n spinnerSize: 16,\n iconSize: 20,\n iconContainerSize: 40,\n iconPadding: 10,\n loadingPadding: 28,\n },\n xs: {\n height: 32,\n padding: 20,\n fontSize: 12,\n spinnerSize: 16,\n iconSize: 16,\n iconContainerSize: 32,\n iconPadding: 8,\n loadingPadding: 28,\n },\n };\n return configs[size];\n },\n flexButton: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n height: 36,\n padding: 4,\n fontSize: 16,\n spinnerSize: 28,\n iconSize: 20,\n borderRadius: 4,\n },\n l: {\n height: 32,\n padding: 4,\n fontSize: 14,\n spinnerSize: 24,\n iconSize: 18,\n borderRadius: 4,\n },\n m: {\n height: 28,\n padding: 2,\n fontSize: 14,\n spinnerSize: 24,\n iconSize: 16,\n borderRadius: 2,\n },\n s: {\n height: 22,\n padding: 2,\n fontSize: 12,\n spinnerSize: 16,\n iconSize: 14,\n borderRadius: 2,\n },\n xs: {\n height: 20,\n padding: 2,\n fontSize: 12,\n spinnerSize: 16,\n iconSize: 12,\n borderRadius: 2,\n },\n };\n return configs[size];\n },\n checkbox: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n size: 22,\n fontSize: 18,\n descriptionFontSize: 16,\n labelGap: 12,\n textGap: 4,\n borderRadius: 2,\n },\n l: {\n size: 20,\n fontSize: 16,\n descriptionFontSize: 14,\n labelGap: 10,\n textGap: 2,\n borderRadius: 2,\n },\n m: {\n size: 18,\n fontSize: 16,\n descriptionFontSize: 14,\n labelGap: 8,\n textGap: 2,\n borderRadius: 2,\n },\n s: {\n size: 16,\n fontSize: 14,\n descriptionFontSize: 12,\n labelGap: 8,\n textGap: 0,\n borderRadius: 2,\n },\n };\n return configs[size];\n },\n radio: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n size: 24,\n fontSize: 20,\n lineHeight: 22,\n descriptionFontSize: 18,\n descriptionLineHeight: 20,\n labelGap: 12,\n textGap: 4,\n borderWidth: 2,\n },\n l: {\n size: 20,\n fontSize: 18,\n lineHeight: 20,\n descriptionFontSize: 16,\n descriptionLineHeight: 18,\n labelGap: 10,\n textGap: 2,\n borderWidth: 2,\n },\n m: {\n size: 18,\n fontSize: 16,\n lineHeight: 18,\n descriptionFontSize: 14,\n descriptionLineHeight: 16,\n labelGap: 8,\n textGap: 2,\n borderWidth: 1,\n },\n s: {\n size: 16,\n fontSize: 14,\n lineHeight: 16,\n descriptionFontSize: 12,\n descriptionLineHeight: 14,\n labelGap: 8,\n textGap: 0,\n borderWidth: 1,\n },\n };\n return configs[size];\n },\n input: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n height: 64,\n padding: spacing.xl,\n fontSize: 20,\n iconSize: 32,\n radius: 4,\n borderWidth: 2,\n },\n l: {\n height: 56,\n padding: spacing.lg,\n fontSize: 18,\n iconSize: 28,\n radius: 4,\n borderWidth: 2,\n },\n m: {\n height: 48,\n padding: spacing.md,\n fontSize: 16,\n iconSize: 24,\n radius: 2,\n borderWidth: 1,\n },\n s: {\n height: 40,\n padding: spacing.sm,\n fontSize: 14,\n iconSize: 20,\n radius: 2,\n borderWidth: 1,\n },\n xs: {\n height: 32,\n padding: spacing.xs,\n fontSize: 12,\n iconSize: 16,\n radius: 2,\n borderWidth: 1,\n },\n };\n return configs[size];\n },\n inputPin: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: { size: 64, gap: 10, fontSize: 20, radius: 4, borderWidth: 2 },\n l: { size: 56, gap: 8, fontSize: 18, radius: 4, borderWidth: 2 },\n m: { size: 48, gap: 6, fontSize: 16, radius: 2, borderWidth: 1 },\n s: { size: 40, gap: 4, fontSize: 14, radius: 2, borderWidth: 1 },\n xs: { size: 32, gap: 4, fontSize: 12, radius: 2, borderWidth: 1 },\n };\n return configs[size];\n },\n textarea: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: { height: 144, padding: spacing.xl, fontSize: 20, iconSize: 32 },\n l: { height: 128, padding: spacing.lg, fontSize: 18, iconSize: 28 },\n m: { height: 112, padding: spacing.md, fontSize: 16, iconSize: 24 },\n s: { height: 96, padding: spacing.sm, fontSize: 14, iconSize: 20 },\n xs: { height: 80, padding: spacing.xs, fontSize: 12, iconSize: 16 },\n };\n return configs[size];\n },\n switch: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n width: 40,\n height: 22,\n knobSize: 18,\n fontSize: 20,\n lineHeight: 22,\n descriptionFontSize: 18,\n descriptionLineHeight: 20,\n labelGap: 12,\n textGap: 4,\n frameBorderRadius: 4,\n knobBorderRadius: 2,\n },\n l: {\n width: 36,\n height: 20,\n knobSize: 16,\n fontSize: 18,\n lineHeight: 20,\n descriptionFontSize: 16,\n descriptionLineHeight: 18,\n labelGap: 10,\n textGap: 2,\n frameBorderRadius: 4,\n knobBorderRadius: 2,\n },\n m: {\n width: 32,\n height: 18,\n knobSize: 14,\n fontSize: 16,\n lineHeight: 18,\n descriptionFontSize: 14,\n descriptionLineHeight: 16,\n labelGap: 8,\n textGap: 2,\n frameBorderRadius: 2,\n knobBorderRadius: 2,\n },\n s: {\n width: 28,\n height: 16,\n knobSize: 12,\n fontSize: 14,\n lineHeight: 16,\n descriptionFontSize: 12,\n descriptionLineHeight: 14,\n labelGap: 8,\n textGap: 0,\n frameBorderRadius: 2,\n knobBorderRadius: 2,\n },\n };\n return configs[size];\n },\n avatar: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n // Badge offsets adjusted for XL badge size (20px)\n const configs = {\n xl: {\n size: 64,\n fontSize: 24,\n iconSize: 32,\n badgeSize: 20,\n badgeOffsetCircle: { right: -4, top: -4 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarLarge,\n borderRadiusCircle: radius.avatarCircle,\n },\n l: {\n size: 56,\n fontSize: 20,\n iconSize: 28,\n badgeSize: 20,\n badgeOffsetCircle: { right: -4, top: -4 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarLarge,\n borderRadiusCircle: radius.avatarCircle,\n },\n m: {\n size: 48,\n fontSize: 18,\n iconSize: 24,\n badgeSize: 20,\n badgeOffsetCircle: { right: -5, top: -5 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarLarge,\n borderRadiusCircle: radius.avatarCircle,\n },\n s: {\n size: 40,\n fontSize: 16,\n iconSize: 20,\n badgeSize: 20,\n badgeOffsetCircle: { right: -6, top: -6 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarLarge,\n borderRadiusCircle: radius.avatarCircle,\n },\n xs: {\n size: 32,\n fontSize: 14,\n iconSize: 16,\n badgeSize: 20,\n badgeOffsetCircle: { right: -6, top: -6 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarSmall,\n borderRadiusCircle: radius.avatarCircle,\n },\n };\n return configs[size];\n },\n tag: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n height: 48,\n padding: 20,\n fontSize: 20,\n gap: 10,\n iconSize: 24,\n radius: radius.tagLarge,\n },\n l: {\n height: 40,\n padding: 16,\n fontSize: 18,\n gap: 8,\n iconSize: 24,\n radius: radius.tagLarge,\n },\n m: {\n height: 32,\n padding: 12,\n fontSize: 16,\n gap: 6,\n iconSize: 16,\n radius: radius.tagSmall,\n },\n s: {\n height: 24,\n padding: 8,\n fontSize: 14,\n gap: 4,\n iconSize: 16,\n radius: radius.tagSmall,\n },\n xs: {\n height: 20,\n padding: 6,\n fontSize: 12,\n gap: 4,\n iconSize: 16,\n radius: radius.tagSmall,\n },\n };\n return configs[size];\n },\n divider: (size: \"l\" | \"m\" | \"s\") => {\n const configs = {\n l: { height: 18, fontSize: 16, lineWeight: 1 },\n m: { height: 16, fontSize: 14, lineWeight: 1 },\n s: { height: 14, fontSize: 12, lineWeight: 1 },\n };\n return configs[size];\n },\n spinner: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: { size: 96, strokeWidth: 10 },\n l: { size: 48, strokeWidth: 5 },\n m: { size: 24, strokeWidth: 2 },\n s: { size: 16, strokeWidth: 2 },\n xs: { size: 8, strokeWidth: 1 },\n };\n return configs[size];\n },\n tabs: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n height: 64,\n fontSize: 20,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n l: {\n height: 56,\n fontSize: 18,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n m: {\n height: 48,\n fontSize: 16,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n s: {\n height: 40,\n fontSize: 14,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n };\n return configs[size];\n },\n segmented: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n height: 64,\n fontSize: 20,\n iconSize: 24,\n gap: 8,\n padding: 20,\n },\n l: {\n height: 56,\n fontSize: 18,\n iconSize: 24,\n gap: 8,\n padding: 16,\n },\n m: {\n height: 48,\n fontSize: 16,\n iconSize: 24,\n gap: 8,\n padding: 12,\n },\n s: {\n height: 40,\n fontSize: 14,\n iconSize: 20,\n gap: 6,\n padding: 8,\n },\n };\n return configs[size];\n },\n badge: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n size: 20,\n fontSize: 12,\n lineHeight: 14,\n iconSize: 12,\n padding: 4,\n },\n l: { size: 16, fontSize: 10, lineHeight: 10, iconSize: 10, padding: 4 },\n m: { size: 12, fontSize: 10, lineHeight: 10, iconSize: 8, padding: 4 },\n s: { size: 8, fontSize: 8, lineHeight: 8, iconSize: 6, padding: 0 },\n xs: { size: 6, fontSize: 6, lineHeight: 6, iconSize: 4, padding: 0 },\n };\n return configs[size];\n },\n notification: (type: \"toast\" | \"inline\") => {\n const configs = {\n toast: {\n width: 400,\n paddingHorizontal: 20,\n paddingVertical: 16,\n gap: 16,\n titleSize: 18,\n messageSize: 14,\n iconSize: 20,\n iconWrapperSize: 32,\n radius: radius.card,\n },\n inline: {\n width: \"100%\",\n paddingHorizontal: 20,\n paddingVertical: 16,\n gap: 28,\n titleSize: 18,\n messageSize: 14,\n iconSize: 20,\n iconWrapperSize: 32,\n radius: radius.card,\n },\n };\n return configs[type];\n },\n progress: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\" | \"xxs\") => {\n const configs = {\n xl: { height: 10, labelSize: 16, helperSize: 14, gap: 10 },\n l: { height: 8, labelSize: 14, helperSize: 12, gap: 8 },\n m: { height: 6, labelSize: 12, helperSize: 12, gap: 6 },\n s: { height: 4, labelSize: 12, helperSize: 12, gap: 4 },\n xs: { height: 2, labelSize: 10, helperSize: 10, gap: 2 },\n xxs: { height: 2, labelSize: 10, helperSize: 10, gap: 2 },\n };\n return configs[size];\n },\n supportingText: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: { fontSize: 18, lineHeight: \"20px\", gap: 6, iconSize: 18 },\n l: { fontSize: 16, lineHeight: \"18px\", gap: 6, iconSize: 18 },\n m: { fontSize: 14, lineHeight: \"16px\", gap: 6, iconSize: 18 },\n s: { fontSize: 12, lineHeight: \"14px\", gap: 4, iconSize: 16 },\n xs: { fontSize: 10, lineHeight: \"10px\", gap: 4, iconSize: 16 },\n };\n return configs[size];\n },\n iconWrapper: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\" | \"xxs\") => {\n const configs = {\n xl: { size: 56, iconSize: 32, fontSize: 24 },\n l: { size: 48, iconSize: 28, fontSize: 20 },\n m: { size: 40, iconSize: 24, fontSize: 18 },\n s: { size: 32, iconSize: 20, fontSize: 16 },\n xs: { size: 24, iconSize: 16, fontSize: 14 },\n xxs: { size: 18, iconSize: 12, fontSize: 12 },\n };\n return configs[size];\n },\n stepper: (size: \"md\" | \"sm\") => {\n const configs = {\n md: {\n iconSize: 32,\n titleSize: 16,\n descSize: 14,\n gap: 12,\n currentTitleSize: 20,\n currentDescSize: 14,\n currentPadding: 24,\n tailSize: 5,\n },\n sm: {\n iconSize: 24,\n titleSize: 14,\n descSize: 12,\n gap: 8,\n currentTitleSize: 16,\n currentDescSize: 12,\n currentPadding: 20,\n tailSize: 3,\n },\n };\n return configs[size];\n },\n },\n});\n\ninterface DesignSystemContextType {\n mode: ThemeMode;\n setMode: (mode: ThemeMode) => void;\n theme: ReturnType<typeof themeConfig>;\n}\n\nconst DesignSystemContext = createContext<DesignSystemContextType | undefined>(\n undefined\n);\n\nexport const XUIProvider: React.FC<{\n children: React.ReactNode;\n initialMode?: ThemeMode;\n}> = ({ children, initialMode = \"dark\" }) => {\n const [mode, setMode] = useState<ThemeMode>(initialMode);\n\n const value = useMemo(\n () => ({\n mode,\n setMode,\n theme: themeConfig(mode),\n }),\n [mode]\n );\n\n return (\n <DesignSystemContext.Provider value={value}>\n {children}\n </DesignSystemContext.Provider>\n );\n};\n\nexport const useDesignSystem = () => {\n const context = useContext(DesignSystemContext);\n if (!context) {\n // Return default theme if provider is missing\n return {\n mode: \"dark\" as ThemeMode,\n setMode: () => {},\n theme: themeConfig(\"dark\"),\n };\n }\n return context;\n};\n\nlet idCounter = 0;\nexport const useId = () => {\n // @ts-ignore\n const reactUseId = React.useId;\n if (reactUseId) {\n return reactUseId();\n }\n\n const [id] = useState(() => `xui-${++idCounter}`);\n return id;\n};\n\nexport * from \"./tokens/colors\";\nexport * from \"./tokens/spacing\";\nexport * from \"./tokens/shadows\";\nexport * from \"./tokens/fonts\";\nexport * from \"./platform\";\n","{\n \"background\": {\n \"primary\": \"#202a2c\",\n \"secondary\": \"#151c1e\",\n \"inverse\": \"#ffffff\",\n\n \"brand\": {\n \"primary\": \"#66e6ff\",\n \"secondary\": \"#00aacc\"\n },\n \"brandExtra\": {\n \"primary\": \"#d9ff66\",\n \"secondary\": \"#bfff00\"\n },\n\n \"success\": {\n \"primary\": \"#80ffb5\",\n \"secondary\": \"#33ff88\"\n },\n \"warning\": {\n \"primary\": \"#ffee99\",\n \"secondary\": \"#ffdd33\"\n },\n \"alert\": {\n \"primary\": \"#ff8066\",\n \"secondary\": \"#ff5533\"\n },\n \"neutral\": {\n \"primary\": \"#aa99ff\",\n \"secondary\": \"#5533ff\"\n }\n },\n\n \"content\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"rgba(255, 255, 255, 0.72)\",\n \"tertiary\": \"rgba(255, 255, 255, 0.58)\",\n \"inverse\": \"#000000\",\n\n \"brand\": {\n \"primary\": \"#66e6ff\",\n \"secondary\": \"#00d4ff\"\n },\n \"brandExtra\": {\n \"primary\": \"#d9ff66\",\n \"secondary\": \"#bfff00\"\n },\n\n \"success\": {\n \"primary\": \"#66ffa6\",\n \"secondary\": \"#00ff6a\"\n },\n \"warning\": {\n \"primary\": \"#ffe566\",\n \"secondary\": \"#ffd400\"\n },\n \"alert\": {\n \"primary\": \"#ff8066\",\n \"secondary\": \"#ff2b00\"\n },\n \"neutral\": {\n \"primary\": \"#aa99ff\",\n \"secondary\": \"#8066ff\"\n },\n\n \"on\": {\n \"brand\": \"#000000\",\n \"brandExtra\": \"#000000\",\n \"success\": \"#000000\",\n \"warning\": \"#000000\",\n \"alert\": \"#ffffff\",\n \"neutral\": \"#ffffff\"\n },\n\n \"static\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#000000\"\n }\n },\n\n \"border\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"rgba(255, 255, 255, 0.16)\",\n \"inverse\": \"rgba(0, 0, 0, 0.15)\",\n\n \"brand\": \"#66e6ff\",\n \"brandExtra\": \"#d9ff66\",\n \"success\": \"#66ffa6\",\n \"warning\": \"#ffe566\",\n \"alert\": \"#ff8066\",\n \"neutral\": \"#aa99ff\"\n },\n\n \"overlay\": {\n \"mono\": \"rgba(255, 255, 255, 0.1)\",\n \"brand\": \"rgba(102, 230, 255, 0.3)\",\n \"brandExtra\": \"rgba(217, 255, 102, 0.3)\",\n \"success\": \"rgba(0, 255, 106, 0.3)\",\n \"warning\": \"rgba(255, 221, 51, 0.3)\",\n \"alert\": \"rgba(255, 85, 51, 0.3)\",\n \"neutral\": \"rgba(128, 102, 255, 0.3)\"\n },\n\n \"layer\": {\n \"scrim\": \"rgba(0, 0, 0, 0.5)\",\n \"float\": \"#202a2c\"\n },\n\n \"control\": {\n \"brand\": {\n \"primary\": {\n \"bg\": \"#66e6ff\",\n \"bgHover\": \"#99eeff\",\n \"bgPress\": \"#33ddff\",\n \"bgDisable\": \"#557177\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n \"borderDisable\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"#a6bbbf\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(102, 230, 255, 0.4)\",\n \"bgHover\": \"rgba(153, 238, 255, 0.4)\",\n \"bgPress\": \"rgba(51, 221, 255, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n }\n },\n\n \"brandExtra\": {\n \"primary\": {\n \"bg\": \"#d9ff66\",\n \"bgHover\": \"#ccff33\",\n \"bgPress\": \"#e6ff99\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(217, 255, 102, 0.4)\",\n \"bgHover\": \"rgba(204, 255, 51, 0.4)\",\n \"bgPress\": \"rgba(230, 255, 153, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n }\n },\n\n \"alert\": {\n \"primary\": {\n \"bg\": \"#ff8066\",\n \"bgHover\": \"#ffaa99\",\n \"bgPress\": \"#ff5533\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#ffffff\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(255, 128, 102, 0.4)\",\n \"bgHover\": \"rgba(255, 170, 153, 0.4)\",\n \"bgPress\": \"rgba(255, 85, 51, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#ffffff\"\n }\n }\n },\n\n \"mono\": {\n \"primary\": {\n \"bg\": \"#ffffff\",\n \"bgHover\": \"#f0f4f4\",\n \"bgPress\": \"#f6f8f9\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(255, 255, 255, 0.4)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.34)\",\n \"bgPress\": \"rgba(255, 255, 255, 0.44)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n }\n },\n\n \"input\": {\n \"bg\": \"rgba(255, 255, 255, 0.12)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.15)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0.25)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0.1)\",\n \"borderDisable\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": \"#ffffff\",\n \"textDisable\": \"rgba(255, 255, 255, 0.36)\",\n \"placeholder\": \"rgba(255, 255, 255, 0.55)\"\n },\n\n \"focus\": {\n \"bg\": \"rgba(255, 255, 255, 1)\"\n },\n\n \"check\": {\n \"bg\": \"#ffffff\",\n \"bgHover\": \"#f0f4f4\",\n \"bgDisable\": \"rgba(255, 255, 255, 0.2)\"\n },\n\n \"faint\": {\n \"bg\": \"rgba(255, 255, 255, 0.15)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.2)\",\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0.16)\"\n },\n\n \"switch\": {\n \"bg\": \"rgba(255, 255, 255, 0.1)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.15)\"\n },\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#ffffff\",\n \"faint\": \"#000000\",\n \"disable\": \"rgba(255, 255, 255, 0.4)\"\n },\n\n \"link\": {\n \"primary\": \"#66e6ff\",\n \"primaryHover\": \"rgba(102, 230, 255, 0.7)\",\n \"secondary\": \"#d9ff66\",\n \"secondaryHover\": \"rgba(217, 255, 102, 0.7)\"\n }\n }\n}\n","{\n \"background\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#f3f3f1\",\n \"inverse\": \"#000000\",\n\n \"brand\": {\n \"primary\": \"#66e6ff\",\n \"secondary\": \"#99eeff\"\n },\n \"brandExtra\": {\n \"primary\": \"#d9ff66\",\n \"secondary\": \"#e6ff99\"\n },\n\n \"success\": {\n \"primary\": \"#33ff88\",\n \"secondary\": \"#ccffe1\"\n },\n \"warning\": {\n \"primary\": \"#ffdd33\",\n \"secondary\": \"#fff7cc\"\n },\n \"alert\": {\n \"primary\": \"#ff5533\",\n \"secondary\": \"#ffd5cc\"\n },\n \"neutral\": {\n \"primary\": \"#5533ff\",\n \"secondary\": \"#eae5ff\"\n }\n },\n\n \"content\": {\n \"primary\": \"#000000\",\n \"secondary\": \"rgba(0, 0, 0, 0.75)\",\n \"tertiary\": \"rgba(0, 0, 0, 0.6)\",\n \"inverse\": \"#ffffff\",\n\n \"brand\": {\n \"primary\": \"#00aacc\",\n \"secondary\": \"#00d4ff\"\n },\n \"brandExtra\": {\n \"primary\": \"#739900\",\n \"secondary\": \"#99cc00\"\n },\n\n \"success\": {\n \"primary\": \"#009940\",\n \"secondary\": \"#00cc55\"\n },\n \"warning\": {\n \"primary\": \"#ccaa00\",\n \"secondary\": \"#ffdd33\"\n },\n \"alert\": {\n \"primary\": \"#cc2200\",\n \"secondary\": \"#ff5533\"\n },\n \"neutral\": {\n \"primary\": \"#2200cc\",\n \"secondary\": \"#2b00ff\"\n },\n\n \"on\": {\n \"brand\": \"#000000\",\n \"brandExtra\": \"#000000\",\n \"success\": \"#000000\",\n \"warning\": \"#000000\",\n \"alert\": \"#ffffff\",\n \"neutral\": \"#ffffff\"\n },\n\n \"static\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#000000\"\n }\n },\n\n \"border\": {\n \"primary\": \"#000000\",\n \"secondary\": \"rgba(0, 0, 0, 0.1)\",\n \"inverse\": \"rgba(255, 255, 255, 0.15)\",\n\n \"brand\": \"#00d4ff\",\n \"brandExtra\": \"#bfff00\",\n \"success\": \"#009940\",\n \"warning\": \"#ffd400\",\n \"alert\": \"#ff2b00\",\n \"neutral\": \"#2200cc\"\n },\n\n \"overlay\": {\n \"mono\": \"rgba(0, 0, 0, 0.05)\",\n \"brand\": \"rgba(102, 230, 255, 0.3)\",\n \"brandExtra\": \"rgba(194, 255, 102, 0.3)\",\n \"success\": \"rgba(0, 153, 92, 0.3)\",\n \"warning\": \"rgba(255, 178, 0, 0.3)\",\n \"alert\": \"rgba(255, 17, 0, 0.3)\",\n \"neutral\": \"rgba(0, 7, 204, 0.3)\"\n },\n\n \"layer\": {\n \"scrim\": \"rgba(0, 0, 0, 0.75)\",\n \"float\": \"#ffffff\"\n },\n\n \"control\": {\n \"brand\": {\n \"primary\": {\n \"bg\": \"#33ddff\",\n \"bgHover\": \"#66e6ff\",\n \"bgPress\": \"#00d4ff\",\n \"bgDisable\": \"#c4d1d4\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n \"borderDisable\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\",\n \"disable\": \"#89a4a9\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(51, 221, 255, 0.4)\",\n \"bgHover\": \"rgba(51, 221, 255, 0.2)\",\n \"bgPress\": \"rgba(51, 221, 255, 0.5)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\"\n }\n }\n },\n\n \"brandExtra\": {\n \"primary\": {\n \"bg\": \"#bfff00\",\n \"bgHover\": \"#ccff33\",\n \"bgPress\": \"#99cc00\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(191, 255, 0, 0.4)\",\n \"bgHover\": \"rgba(204, 255, 51, 0.4)\",\n \"bgPress\": \"rgba(153, 204, 0, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\"\n }\n }\n },\n\n \"alert\": {\n \"primary\": {\n \"bg\": \"#ff2b00\",\n \"bgHover\": \"#ff5533\",\n \"bgPress\": \"#cc2200\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#000000\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(255, 43, 0, 0.4)\",\n \"bgHover\": \"rgba(255, 85, 51, 0.4)\",\n \"bgPress\": \"rgba(204, 34, 0, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#000000\"\n }\n }\n },\n\n \"mono\": {\n \"primary\": {\n \"bg\": \"#000000\",\n \"bgHover\": \"#151c1e\",\n \"bgPress\": \"#202a2c\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#000000\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(0, 0, 0, 0.12)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.08)\",\n \"bgPress\": \"rgba(0, 0, 0, 0.15)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#000000\"\n }\n }\n },\n\n \"input\": {\n \"bg\": \"rgba(0, 0, 0, 0.07)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.1)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0.15)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0.1)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": \"#000000\",\n \"textDisable\": \"rgba(0, 0, 0, 0.36)\",\n \"placeholder\": \"rgba(0, 0, 0, 0.6)\"\n },\n\n \"focus\": {\n \"bg\": \"rgba(255, 255, 255, 1)\"\n },\n\n \"check\": {\n \"bg\": \"#000000\",\n \"bgHover\": \"#2b383b\",\n \"bgDisable\": \"rgba(0, 0, 0, 0.2)\"\n },\n\n \"faint\": {\n \"bg\": \"rgba(0, 0, 0, 0.15)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.2)\",\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0.1)\"\n },\n\n \"switch\": {\n \"bg\": \"rgba(0, 0, 0, 0.1)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.15)\"\n },\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\",\n \"faint\": \"#ffffff\",\n \"disable\": \"rgba(0, 0, 0, 0.4)\"\n },\n\n \"link\": {\n \"primary\": \"#008099\",\n \"primaryHover\": \"rgba(0, 128, 153, 0.5)\",\n \"secondary\": \"#739900\",\n \"secondaryHover\": \"rgba(77, 102, 0, 0.5)\"\n }\n }\n}\n","import darkTheme from \"./xsolla-dark.json\";\nimport lightTheme from \"./xsolla-light.json\";\n\nexport const colors = {\n dark: darkTheme,\n light: lightTheme,\n};\n\nexport type ThemeColors = typeof darkTheme;\n","export const spacing = {\n xs: 4,\n sm: 8,\n md: 16,\n lg: 24,\n xl: 32,\n};\n\nexport const radius = {\n button: 4,\n card: 12,\n input: 4,\n tagSmall: 2,\n tagLarge: 4,\n avatarSmall: 2,\n avatarLarge: 4,\n avatarCircle: 999,\n};\n","export const shadow = {\n active: \"0px 1px 2px rgba(7, 7, 8, 0.2), 0px 1px 3px 1px rgba(7, 7, 8, 0.1)\",\n surface: \"0px 1px 2px rgba(7, 7, 8, 0.2), 0px 2px 6px 2px rgba(7, 7, 8, 0.1)\",\n surfaceHover:\n \"0px 4px 8px 3px rgba(7, 7, 8, 0.1), 0px 1px 3px rgba(7, 7, 8, 0.2)\",\n popover:\n \"0px 6px 10px 4px rgba(7, 7, 8, 0.1), 0px 2px 3px rgba(7, 7, 8, 0.2)\",\n modal: \"0px 8px 12px 6px rgba(7, 7, 8, 0.1), 0px 4px 4px rgba(7, 7, 8, 0.2)\",\n};\n","export const fonts = {\n // Use a string that works for web but can be parsed/ignored by native\n primary:\n '\"Pilat Wide Bold\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif',\n};\n\nexport const typography = {\n button: {\n fontFamily: fonts.primary,\n fontWeight: \"bold\",\n },\n};\n","export const isWeb = typeof document !== \"undefined\";\nexport const isNative = !isWeb;\n\n// For native platforms, we can check specific globals if needed,\n// but usually we just care about isWeb vs isNative for common logic.\nexport const isIOS =\n isNative &&\n typeof global !== \"undefined\" &&\n (global as any).Platform?.OS === \"ios\";\nexport const isAndroid =\n isNative &&\n typeof global !== \"undefined\" &&\n (global as any).Platform?.OS === \"android\";\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/index.tsx","../src/tokens/xsolla-dark.json","../src/tokens/xsolla-light.json","../src/tokens/colors.ts","../src/tokens/spacing.ts","../src/tokens/shadows.ts","../src/tokens/fonts.ts","../src/platform.ts"],"sourcesContent":["import React, { createContext, useContext, useState, useMemo } from \"react\";\nimport { colors } from \"./tokens/colors\";\nimport { spacing, radius } from \"./tokens/spacing\";\nimport { shadow } from \"./tokens/shadows\";\nimport { fonts } from \"./tokens/fonts\";\n\nexport type ThemeMode = \"dark\" | \"light\";\n\nexport const themeConfig = (mode: ThemeMode = \"dark\") => ({\n colors: colors[mode],\n spacing,\n radius,\n shadow,\n fonts,\n typography: {\n primary: fonts.primary,\n },\n sizing: {\n button: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n height: 64,\n padding: 20,\n fontSize: 20,\n spinnerSize: 24,\n iconSize: 32,\n iconContainerSize: 64,\n iconPadding: 16,\n loadingPadding: 40,\n },\n l: {\n height: 56,\n padding: 20,\n fontSize: 18,\n spinnerSize: 24,\n iconSize: 28,\n iconContainerSize: 56,\n iconPadding: 14,\n loadingPadding: 36,\n },\n m: {\n height: 48,\n padding: 20,\n fontSize: 16,\n spinnerSize: 20,\n iconSize: 24,\n iconContainerSize: 48,\n iconPadding: 12,\n loadingPadding: 32,\n },\n s: {\n height: 40,\n padding: 20,\n fontSize: 14,\n spinnerSize: 16,\n iconSize: 20,\n iconContainerSize: 40,\n iconPadding: 10,\n loadingPadding: 28,\n },\n xs: {\n height: 32,\n padding: 20,\n fontSize: 12,\n spinnerSize: 16,\n iconSize: 16,\n iconContainerSize: 32,\n iconPadding: 8,\n loadingPadding: 28,\n },\n };\n return configs[size];\n },\n flexButton: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n height: 36,\n padding: 4,\n fontSize: 16,\n spinnerSize: 28,\n iconSize: 20,\n borderRadius: 4,\n },\n l: {\n height: 32,\n padding: 4,\n fontSize: 14,\n spinnerSize: 24,\n iconSize: 18,\n borderRadius: 4,\n },\n m: {\n height: 28,\n padding: 2,\n fontSize: 14,\n spinnerSize: 24,\n iconSize: 16,\n borderRadius: 2,\n },\n s: {\n height: 22,\n padding: 2,\n fontSize: 12,\n spinnerSize: 16,\n iconSize: 14,\n borderRadius: 2,\n },\n xs: {\n height: 20,\n padding: 2,\n fontSize: 12,\n spinnerSize: 16,\n iconSize: 12,\n borderRadius: 2,\n },\n };\n return configs[size];\n },\n checkbox: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n size: 22,\n fontSize: 18,\n descriptionFontSize: 16,\n labelGap: 12,\n textGap: 4,\n borderRadius: 2,\n },\n l: {\n size: 20,\n fontSize: 16,\n descriptionFontSize: 14,\n labelGap: 10,\n textGap: 2,\n borderRadius: 2,\n },\n m: {\n size: 18,\n fontSize: 16,\n descriptionFontSize: 14,\n labelGap: 8,\n textGap: 2,\n borderRadius: 2,\n },\n s: {\n size: 16,\n fontSize: 14,\n descriptionFontSize: 12,\n labelGap: 8,\n textGap: 0,\n borderRadius: 2,\n },\n };\n return configs[size];\n },\n radio: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n size: 24,\n fontSize: 20,\n lineHeight: 22,\n descriptionFontSize: 18,\n descriptionLineHeight: 20,\n labelGap: 12,\n textGap: 4,\n borderWidth: 2,\n },\n l: {\n size: 20,\n fontSize: 18,\n lineHeight: 20,\n descriptionFontSize: 16,\n descriptionLineHeight: 18,\n labelGap: 10,\n textGap: 2,\n borderWidth: 2,\n },\n m: {\n size: 18,\n fontSize: 16,\n lineHeight: 18,\n descriptionFontSize: 14,\n descriptionLineHeight: 16,\n labelGap: 8,\n textGap: 2,\n borderWidth: 1,\n },\n s: {\n size: 16,\n fontSize: 14,\n lineHeight: 16,\n descriptionFontSize: 12,\n descriptionLineHeight: 14,\n labelGap: 8,\n textGap: 0,\n borderWidth: 1,\n },\n };\n return configs[size];\n },\n input: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n height: 64,\n padding: spacing.xl,\n fontSize: 20,\n iconSize: 32,\n radius: 4,\n borderWidth: 2,\n },\n l: {\n height: 56,\n padding: spacing.l,\n fontSize: 18,\n iconSize: 28,\n radius: 4,\n borderWidth: 2,\n },\n m: {\n height: 48,\n padding: spacing.m,\n fontSize: 16,\n iconSize: 24,\n radius: 2,\n borderWidth: 1,\n },\n s: {\n height: 40,\n padding: spacing.s,\n fontSize: 14,\n iconSize: 20,\n radius: 2,\n borderWidth: 1,\n },\n xs: {\n height: 32,\n padding: spacing.xs,\n fontSize: 12,\n iconSize: 16,\n radius: 2,\n borderWidth: 1,\n },\n };\n return configs[size];\n },\n inputPin: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: { size: 64, gap: 10, fontSize: 20, radius: 4, borderWidth: 2 },\n l: { size: 56, gap: 8, fontSize: 18, radius: 4, borderWidth: 2 },\n m: { size: 48, gap: 6, fontSize: 16, radius: 2, borderWidth: 1 },\n s: { size: 40, gap: 4, fontSize: 14, radius: 2, borderWidth: 1 },\n xs: { size: 32, gap: 4, fontSize: 12, radius: 2, borderWidth: 1 },\n };\n return configs[size];\n },\n textarea: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: { height: 144, padding: spacing.xl, fontSize: 20, iconSize: 32 },\n l: { height: 128, padding: spacing.l, fontSize: 18, iconSize: 28 },\n m: { height: 112, padding: spacing.m, fontSize: 16, iconSize: 24 },\n s: { height: 96, padding: spacing.s, fontSize: 14, iconSize: 20 },\n xs: { height: 80, padding: spacing.xs, fontSize: 12, iconSize: 16 },\n };\n return configs[size];\n },\n switch: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n width: 40,\n height: 22,\n knobSize: 18,\n fontSize: 20,\n lineHeight: 22,\n descriptionFontSize: 18,\n descriptionLineHeight: 20,\n labelGap: 12,\n textGap: 4,\n frameBorderRadius: 4,\n knobBorderRadius: 2,\n },\n l: {\n width: 36,\n height: 20,\n knobSize: 16,\n fontSize: 18,\n lineHeight: 20,\n descriptionFontSize: 16,\n descriptionLineHeight: 18,\n labelGap: 10,\n textGap: 2,\n frameBorderRadius: 4,\n knobBorderRadius: 2,\n },\n m: {\n width: 32,\n height: 18,\n knobSize: 14,\n fontSize: 16,\n lineHeight: 18,\n descriptionFontSize: 14,\n descriptionLineHeight: 16,\n labelGap: 8,\n textGap: 2,\n frameBorderRadius: 2,\n knobBorderRadius: 2,\n },\n s: {\n width: 28,\n height: 16,\n knobSize: 12,\n fontSize: 14,\n lineHeight: 16,\n descriptionFontSize: 12,\n descriptionLineHeight: 14,\n labelGap: 8,\n textGap: 0,\n frameBorderRadius: 2,\n knobBorderRadius: 2,\n },\n };\n return configs[size];\n },\n avatar: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n // Badge offsets adjusted for XL badge size (20px)\n const configs = {\n xl: {\n size: 64,\n fontSize: 24,\n iconSize: 32,\n badgeSize: 20,\n badgeOffsetCircle: { right: -4, top: -4 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarLarge,\n borderRadiusCircle: radius.avatarCircle,\n },\n l: {\n size: 56,\n fontSize: 20,\n iconSize: 28,\n badgeSize: 20,\n badgeOffsetCircle: { right: -4, top: -4 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarLarge,\n borderRadiusCircle: radius.avatarCircle,\n },\n m: {\n size: 48,\n fontSize: 18,\n iconSize: 24,\n badgeSize: 20,\n badgeOffsetCircle: { right: -5, top: -5 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarLarge,\n borderRadiusCircle: radius.avatarCircle,\n },\n s: {\n size: 40,\n fontSize: 16,\n iconSize: 20,\n badgeSize: 20,\n badgeOffsetCircle: { right: -6, top: -6 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarLarge,\n borderRadiusCircle: radius.avatarCircle,\n },\n xs: {\n size: 32,\n fontSize: 14,\n iconSize: 16,\n badgeSize: 20,\n badgeOffsetCircle: { right: -6, top: -6 },\n badgeOffsetSquare: { right: -8, top: -8 },\n borderRadiusSquare: radius.avatarSmall,\n borderRadiusCircle: radius.avatarCircle,\n },\n };\n return configs[size];\n },\n tag: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n height: 48,\n padding: 20,\n fontSize: 20,\n gap: 10,\n iconSize: 24,\n radius: radius.tagLarge,\n },\n l: {\n height: 40,\n padding: 16,\n fontSize: 18,\n gap: 8,\n iconSize: 24,\n radius: radius.tagLarge,\n },\n m: {\n height: 32,\n padding: 12,\n fontSize: 16,\n gap: 6,\n iconSize: 16,\n radius: radius.tagSmall,\n },\n s: {\n height: 24,\n padding: 8,\n fontSize: 14,\n gap: 4,\n iconSize: 16,\n radius: radius.tagSmall,\n },\n xs: {\n height: 20,\n padding: 6,\n fontSize: 12,\n gap: 4,\n iconSize: 16,\n radius: radius.tagSmall,\n },\n };\n return configs[size];\n },\n divider: (size: \"l\" | \"m\" | \"s\") => {\n const configs = {\n l: { height: 18, fontSize: 16, lineWeight: 1 },\n m: { height: 16, fontSize: 14, lineWeight: 1 },\n s: { height: 14, fontSize: 12, lineWeight: 1 },\n };\n return configs[size];\n },\n spinner: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: { size: 96, strokeWidth: 10 },\n l: { size: 48, strokeWidth: 5 },\n m: { size: 24, strokeWidth: 2 },\n s: { size: 16, strokeWidth: 2 },\n xs: { size: 8, strokeWidth: 1 },\n };\n return configs[size];\n },\n tabs: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n height: 64,\n fontSize: 20,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n l: {\n height: 56,\n fontSize: 18,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n m: {\n height: 48,\n fontSize: 16,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n s: {\n height: 40,\n fontSize: 14,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n };\n return configs[size];\n },\n segmented: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n const configs = {\n xl: {\n height: 64,\n fontSize: 20,\n iconSize: 24,\n gap: 8,\n padding: 20,\n },\n l: {\n height: 56,\n fontSize: 18,\n iconSize: 24,\n gap: 8,\n padding: 16,\n },\n m: {\n height: 48,\n fontSize: 16,\n iconSize: 24,\n gap: 8,\n padding: 12,\n },\n s: {\n height: 40,\n fontSize: 14,\n iconSize: 20,\n gap: 6,\n padding: 8,\n },\n };\n return configs[size];\n },\n badge: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: {\n size: 20,\n fontSize: 12,\n lineHeight: 14,\n iconSize: 12,\n padding: 4,\n },\n l: { size: 16, fontSize: 10, lineHeight: 10, iconSize: 10, padding: 4 },\n m: { size: 12, fontSize: 10, lineHeight: 10, iconSize: 8, padding: 4 },\n s: { size: 8, fontSize: 8, lineHeight: 8, iconSize: 6, padding: 0 },\n xs: { size: 6, fontSize: 6, lineHeight: 6, iconSize: 4, padding: 0 },\n };\n return configs[size];\n },\n notification: (type: \"toast\" | \"inline\") => {\n const configs = {\n toast: {\n width: 400,\n paddingHorizontal: 20,\n paddingVertical: 16,\n gap: 16,\n titleSize: 18,\n messageSize: 14,\n iconSize: 20,\n iconWrapperSize: 32,\n radius: radius.card,\n },\n inline: {\n width: \"100%\",\n paddingHorizontal: 20,\n paddingVertical: 16,\n gap: 28,\n titleSize: 18,\n messageSize: 14,\n iconSize: 20,\n iconWrapperSize: 32,\n radius: radius.card,\n },\n };\n return configs[type];\n },\n progress: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\" | \"xxs\") => {\n const configs = {\n xl: { height: 10, labelSize: 16, helperSize: 14, gap: 10 },\n l: { height: 8, labelSize: 14, helperSize: 12, gap: 8 },\n m: { height: 6, labelSize: 12, helperSize: 12, gap: 6 },\n s: { height: 4, labelSize: 12, helperSize: 12, gap: 4 },\n xs: { height: 2, labelSize: 10, helperSize: 10, gap: 2 },\n xxs: { height: 2, labelSize: 10, helperSize: 10, gap: 2 },\n };\n return configs[size];\n },\n supportingText: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\") => {\n const configs = {\n xl: { fontSize: 18, lineHeight: \"20px\", gap: 6, iconSize: 18 },\n l: { fontSize: 16, lineHeight: \"18px\", gap: 6, iconSize: 18 },\n m: { fontSize: 14, lineHeight: \"16px\", gap: 6, iconSize: 18 },\n s: { fontSize: 12, lineHeight: \"14px\", gap: 4, iconSize: 16 },\n xs: { fontSize: 10, lineHeight: \"10px\", gap: 4, iconSize: 16 },\n };\n return configs[size];\n },\n iconWrapper: (size: \"xl\" | \"l\" | \"m\" | \"s\" | \"xs\" | \"xxs\") => {\n const configs = {\n xl: { size: 56, iconSize: 32, fontSize: 24 },\n l: { size: 48, iconSize: 28, fontSize: 20 },\n m: { size: 40, iconSize: 24, fontSize: 18 },\n s: { size: 32, iconSize: 20, fontSize: 16 },\n xs: { size: 24, iconSize: 16, fontSize: 14 },\n xxs: { size: 18, iconSize: 12, fontSize: 12 },\n };\n return configs[size];\n },\n stepper: (size: \"m\" | \"s\") => {\n const configs = {\n m: {\n iconSize: 32,\n titleSize: 16,\n descSize: 14,\n gap: 12,\n currentTitleSize: 20,\n currentDescSize: 14,\n currentPadding: 24,\n tailSize: 5,\n },\n s: {\n iconSize: 24,\n titleSize: 14,\n descSize: 12,\n gap: 8,\n currentTitleSize: 16,\n currentDescSize: 12,\n currentPadding: 20,\n tailSize: 3,\n },\n };\n return configs[size];\n },\n contextMenu: (size: \"xl\" | \"l\" | \"m\" | \"s\") => {\n // Sizing values from Figma design: node-id=5867-47111\n const configs = {\n xl: {\n paddingVertical: 8,\n itemPaddingHorizontal: 16,\n itemPaddingVertical: 18,\n fontSize: 20,\n lineHeight: 22,\n descriptionFontSize: 18,\n iconSize: 18,\n gap: 12,\n minWidth: 276,\n // Search sizing from Figma\n searchPaddingHorizontal: 16,\n searchPaddingVertical: 18,\n searchGap: 18,\n searchFontSize: 20,\n searchLineHeight: 22,\n searchIconSize: 18,\n },\n l: {\n paddingVertical: 8,\n itemPaddingHorizontal: 14,\n itemPaddingVertical: 14,\n fontSize: 18,\n lineHeight: 20,\n descriptionFontSize: 16,\n iconSize: 18,\n gap: 10,\n minWidth: 220,\n // Search sizing from Figma\n searchPaddingHorizontal: 14,\n searchPaddingVertical: 14,\n searchGap: 14,\n searchFontSize: 18,\n searchLineHeight: 20,\n searchIconSize: 18,\n },\n m: {\n paddingVertical: 8,\n itemPaddingHorizontal: 12,\n itemPaddingVertical: 11,\n fontSize: 16,\n lineHeight: 18,\n descriptionFontSize: 14,\n iconSize: 18,\n gap: 8,\n minWidth: 172,\n // Search sizing from Figma\n searchPaddingHorizontal: 12,\n searchPaddingVertical: 11,\n searchGap: 10,\n searchFontSize: 16,\n searchLineHeight: 18,\n searchIconSize: 18,\n },\n s: {\n paddingVertical: 8,\n itemPaddingHorizontal: 10,\n itemPaddingVertical: 8,\n fontSize: 14,\n lineHeight: 16,\n descriptionFontSize: 12,\n iconSize: 18,\n gap: 8,\n minWidth: 132,\n // Search sizing from Figma\n searchPaddingHorizontal: 10,\n searchPaddingVertical: 7,\n searchGap: 6,\n searchFontSize: 14,\n searchLineHeight: 16,\n searchIconSize: 18,\n },\n };\n return configs[size];\n },\n },\n});\n\ninterface DesignSystemContextType {\n mode: ThemeMode;\n setMode: (mode: ThemeMode) => void;\n theme: ReturnType<typeof themeConfig>;\n}\n\nconst DesignSystemContext = createContext<DesignSystemContextType | undefined>(\n undefined\n);\n\nexport const XUIProvider: React.FC<{\n children: React.ReactNode;\n initialMode?: ThemeMode;\n}> = ({ children, initialMode = \"dark\" }) => {\n const [mode, setMode] = useState<ThemeMode>(initialMode);\n\n const value = useMemo(\n () => ({\n mode,\n setMode,\n theme: themeConfig(mode),\n }),\n [mode]\n );\n\n return (\n <DesignSystemContext.Provider value={value}>\n {children}\n </DesignSystemContext.Provider>\n );\n};\n\nexport const useDesignSystem = () => {\n const context = useContext(DesignSystemContext);\n if (!context) {\n // Return default theme if provider is missing\n return {\n mode: \"dark\" as ThemeMode,\n setMode: () => {},\n theme: themeConfig(\"dark\"),\n };\n }\n return context;\n};\n\nlet idCounter = 0;\nexport const useId = () => {\n // @ts-ignore\n const reactUseId = React.useId;\n if (reactUseId) {\n return reactUseId();\n }\n\n const [id] = useState(() => `xui-${++idCounter}`);\n return id;\n};\n\nexport * from \"./tokens/colors\";\nexport * from \"./tokens/spacing\";\nexport * from \"./tokens/shadows\";\nexport * from \"./tokens/fonts\";\nexport * from \"./platform\";\n","{\n \"background\": {\n \"primary\": \"#202a2c\",\n \"secondary\": \"#151c1e\",\n \"inverse\": \"#ffffff\",\n\n \"brand\": {\n \"primary\": \"#66e6ff\",\n \"secondary\": \"#00aacc\"\n },\n \"brandExtra\": {\n \"primary\": \"#d9ff66\",\n \"secondary\": \"#bfff00\"\n },\n\n \"success\": {\n \"primary\": \"#80ffb5\",\n \"secondary\": \"#33ff88\"\n },\n \"warning\": {\n \"primary\": \"#ffee99\",\n \"secondary\": \"#ffdd33\"\n },\n \"alert\": {\n \"primary\": \"#ff8066\",\n \"secondary\": \"#ff5533\"\n },\n \"neutral\": {\n \"primary\": \"#aa99ff\",\n \"secondary\": \"#5533ff\"\n }\n },\n\n \"content\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"rgba(255, 255, 255, 0.72)\",\n \"tertiary\": \"rgba(255, 255, 255, 0.58)\",\n \"inverse\": \"#000000\",\n\n \"brand\": {\n \"primary\": \"#66e6ff\",\n \"secondary\": \"#00d4ff\"\n },\n \"brandExtra\": {\n \"primary\": \"#d9ff66\",\n \"secondary\": \"#bfff00\"\n },\n\n \"success\": {\n \"primary\": \"#66ffa6\",\n \"secondary\": \"#00ff6a\"\n },\n \"warning\": {\n \"primary\": \"#ffe566\",\n \"secondary\": \"#ffd400\"\n },\n \"alert\": {\n \"primary\": \"#ff8066\",\n \"secondary\": \"#ff2b00\"\n },\n \"neutral\": {\n \"primary\": \"#aa99ff\",\n \"secondary\": \"#8066ff\"\n },\n\n \"on\": {\n \"brand\": \"#000000\",\n \"brandExtra\": \"#000000\",\n \"success\": \"#000000\",\n \"warning\": \"#000000\",\n \"alert\": \"#ffffff\",\n \"neutral\": \"#ffffff\"\n },\n\n \"static\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#000000\"\n }\n },\n\n \"border\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"rgba(255, 255, 255, 0.16)\",\n \"inverse\": \"rgba(0, 0, 0, 0.15)\",\n\n \"brand\": \"#66e6ff\",\n \"brandExtra\": \"#d9ff66\",\n \"success\": \"#66ffa6\",\n \"warning\": \"#ffe566\",\n \"alert\": \"#ff8066\",\n \"neutral\": \"#aa99ff\"\n },\n\n \"overlay\": {\n \"mono\": \"rgba(255, 255, 255, 0.1)\",\n \"brand\": \"rgba(102, 230, 255, 0.3)\",\n \"brandExtra\": \"rgba(217, 255, 102, 0.3)\",\n \"success\": \"rgba(0, 255, 106, 0.3)\",\n \"warning\": \"rgba(255, 221, 51, 0.3)\",\n \"alert\": \"rgba(255, 85, 51, 0.3)\",\n \"neutral\": \"rgba(128, 102, 255, 0.3)\"\n },\n\n \"layer\": {\n \"scrim\": \"rgba(0, 0, 0, 0.5)\",\n \"float\": \"#202a2c\"\n },\n\n \"control\": {\n \"brand\": {\n \"primary\": {\n \"bg\": \"#66e6ff\",\n \"bgHover\": \"#99eeff\",\n \"bgPress\": \"#33ddff\",\n \"bgDisable\": \"#557177\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n \"borderDisable\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"#a6bbbf\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(102, 230, 255, 0.4)\",\n \"bgHover\": \"rgba(153, 238, 255, 0.4)\",\n \"bgPress\": \"rgba(51, 221, 255, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n }\n },\n\n \"brandExtra\": {\n \"primary\": {\n \"bg\": \"#d9ff66\",\n \"bgHover\": \"#ccff33\",\n \"bgPress\": \"#e6ff99\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(217, 255, 102, 0.4)\",\n \"bgHover\": \"rgba(204, 255, 51, 0.4)\",\n \"bgPress\": \"rgba(230, 255, 153, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n }\n },\n\n \"alert\": {\n \"primary\": {\n \"bg\": \"#ff8066\",\n \"bgHover\": \"#ffaa99\",\n \"bgPress\": \"#ff5533\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#ffffff\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(255, 128, 102, 0.4)\",\n \"bgHover\": \"rgba(255, 170, 153, 0.4)\",\n \"bgPress\": \"rgba(255, 85, 51, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#ffffff\"\n }\n }\n },\n\n \"mono\": {\n \"primary\": {\n \"bg\": \"#ffffff\",\n \"bgHover\": \"#f0f4f4\",\n \"bgPress\": \"#f6f8f9\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(255, 255, 255, 0.4)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.34)\",\n \"bgPress\": \"rgba(255, 255, 255, 0.44)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#ffffff\"\n }\n }\n },\n\n \"input\": {\n \"bg\": \"rgba(255, 255, 255, 0.12)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.15)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0.25)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0.1)\",\n \"borderDisable\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": \"#ffffff\",\n \"textDisable\": \"rgba(255, 255, 255, 0.36)\",\n \"placeholder\": \"rgba(255, 255, 255, 0.55)\"\n },\n\n \"focus\": {\n \"bg\": \"rgba(255, 255, 255, 1)\"\n },\n\n \"check\": {\n \"bg\": \"#ffffff\",\n \"bgHover\": \"#f0f4f4\",\n \"bgDisable\": \"rgba(255, 255, 255, 0.2)\"\n },\n\n \"faint\": {\n \"bg\": \"rgba(255, 255, 255, 0.15)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.2)\",\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0.16)\"\n },\n\n \"switch\": {\n \"bg\": \"rgba(255, 255, 255, 0.1)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.15)\"\n },\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#ffffff\",\n \"faint\": \"#000000\",\n \"disable\": \"rgba(255, 255, 255, 0.4)\"\n },\n\n \"link\": {\n \"primary\": \"#66e6ff\",\n \"primaryHover\": \"rgba(102, 230, 255, 0.7)\",\n \"secondary\": \"#d9ff66\",\n \"secondaryHover\": \"rgba(217, 255, 102, 0.7)\"\n }\n }\n}\n","{\n \"background\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#f3f3f1\",\n \"inverse\": \"#000000\",\n\n \"brand\": {\n \"primary\": \"#66e6ff\",\n \"secondary\": \"#99eeff\"\n },\n \"brandExtra\": {\n \"primary\": \"#d9ff66\",\n \"secondary\": \"#e6ff99\"\n },\n\n \"success\": {\n \"primary\": \"#33ff88\",\n \"secondary\": \"#ccffe1\"\n },\n \"warning\": {\n \"primary\": \"#ffdd33\",\n \"secondary\": \"#fff7cc\"\n },\n \"alert\": {\n \"primary\": \"#ff5533\",\n \"secondary\": \"#ffd5cc\"\n },\n \"neutral\": {\n \"primary\": \"#5533ff\",\n \"secondary\": \"#eae5ff\"\n }\n },\n\n \"content\": {\n \"primary\": \"#000000\",\n \"secondary\": \"rgba(0, 0, 0, 0.75)\",\n \"tertiary\": \"rgba(0, 0, 0, 0.6)\",\n \"inverse\": \"#ffffff\",\n\n \"brand\": {\n \"primary\": \"#00aacc\",\n \"secondary\": \"#00d4ff\"\n },\n \"brandExtra\": {\n \"primary\": \"#739900\",\n \"secondary\": \"#99cc00\"\n },\n\n \"success\": {\n \"primary\": \"#009940\",\n \"secondary\": \"#00cc55\"\n },\n \"warning\": {\n \"primary\": \"#ccaa00\",\n \"secondary\": \"#ffdd33\"\n },\n \"alert\": {\n \"primary\": \"#cc2200\",\n \"secondary\": \"#ff5533\"\n },\n \"neutral\": {\n \"primary\": \"#2200cc\",\n \"secondary\": \"#2b00ff\"\n },\n\n \"on\": {\n \"brand\": \"#000000\",\n \"brandExtra\": \"#000000\",\n \"success\": \"#000000\",\n \"warning\": \"#000000\",\n \"alert\": \"#ffffff\",\n \"neutral\": \"#ffffff\"\n },\n\n \"static\": {\n \"light\": \"#ffffff\",\n \"dark\": \"#000000\"\n }\n },\n\n \"border\": {\n \"primary\": \"#000000\",\n \"secondary\": \"rgba(0, 0, 0, 0.1)\",\n \"inverse\": \"rgba(255, 255, 255, 0.15)\",\n\n \"brand\": \"#00d4ff\",\n \"brandExtra\": \"#bfff00\",\n \"success\": \"#009940\",\n \"warning\": \"#ffd400\",\n \"alert\": \"#ff2b00\",\n \"neutral\": \"#2200cc\"\n },\n\n \"overlay\": {\n \"mono\": \"rgba(0, 0, 0, 0.05)\",\n \"brand\": \"rgba(102, 230, 255, 0.3)\",\n \"brandExtra\": \"rgba(194, 255, 102, 0.3)\",\n \"success\": \"rgba(0, 153, 92, 0.3)\",\n \"warning\": \"rgba(255, 178, 0, 0.3)\",\n \"alert\": \"rgba(255, 17, 0, 0.3)\",\n \"neutral\": \"rgba(0, 7, 204, 0.3)\"\n },\n\n \"layer\": {\n \"scrim\": \"rgba(0, 0, 0, 0.75)\",\n \"float\": \"#ffffff\"\n },\n\n \"control\": {\n \"brand\": {\n \"primary\": {\n \"bg\": \"#33ddff\",\n \"bgHover\": \"#66e6ff\",\n \"bgPress\": \"#00d4ff\",\n \"bgDisable\": \"#c4d1d4\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n \"borderDisable\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\",\n \"disable\": \"#89a4a9\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(51, 221, 255, 0.4)\",\n \"bgHover\": \"rgba(51, 221, 255, 0.2)\",\n \"bgPress\": \"rgba(51, 221, 255, 0.5)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\"\n }\n }\n },\n\n \"brandExtra\": {\n \"primary\": {\n \"bg\": \"#bfff00\",\n \"bgHover\": \"#ccff33\",\n \"bgPress\": \"#99cc00\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(191, 255, 0, 0.4)\",\n \"bgHover\": \"rgba(204, 255, 51, 0.4)\",\n \"bgPress\": \"rgba(153, 204, 0, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\"\n }\n }\n },\n\n \"alert\": {\n \"primary\": {\n \"bg\": \"#ff2b00\",\n \"bgHover\": \"#ff5533\",\n \"bgPress\": \"#cc2200\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#000000\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(255, 43, 0, 0.4)\",\n \"bgHover\": \"rgba(255, 85, 51, 0.4)\",\n \"bgPress\": \"rgba(204, 34, 0, 0.4)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#000000\"\n }\n }\n },\n\n \"mono\": {\n \"primary\": {\n \"bg\": \"#000000\",\n \"bgHover\": \"#151c1e\",\n \"bgPress\": \"#202a2c\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#000000\"\n }\n },\n\n \"secondary\": {\n \"bg\": \"rgba(0, 0, 0, 0.12)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.08)\",\n \"bgPress\": \"rgba(0, 0, 0, 0.15)\",\n\n \"border\": \"rgba(255, 255, 255, 0)\",\n \"borderHover\": \"rgba(255, 255, 255, 0)\",\n \"borderPress\": \"rgba(255, 255, 255, 0)\",\n\n \"text\": {\n \"primary\": \"#ffffff\",\n \"secondary\": \"#000000\"\n }\n }\n },\n\n \"input\": {\n \"bg\": \"rgba(0, 0, 0, 0.07)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.1)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0.15)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0.1)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": \"#000000\",\n \"textDisable\": \"rgba(0, 0, 0, 0.36)\",\n \"placeholder\": \"rgba(0, 0, 0, 0.6)\"\n },\n\n \"focus\": {\n \"bg\": \"rgba(255, 255, 255, 1)\"\n },\n\n \"check\": {\n \"bg\": \"#000000\",\n \"bgHover\": \"#2b383b\",\n \"bgDisable\": \"rgba(0, 0, 0, 0.2)\"\n },\n\n \"faint\": {\n \"bg\": \"rgba(0, 0, 0, 0.15)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.2)\",\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0.1)\"\n },\n\n \"switch\": {\n \"bg\": \"rgba(0, 0, 0, 0.1)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.15)\"\n },\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\",\n \"faint\": \"#ffffff\",\n \"disable\": \"rgba(0, 0, 0, 0.4)\"\n },\n\n \"link\": {\n \"primary\": \"#008099\",\n \"primaryHover\": \"rgba(0, 128, 153, 0.5)\",\n \"secondary\": \"#739900\",\n \"secondaryHover\": \"rgba(77, 102, 0, 0.5)\"\n }\n }\n}\n","import darkTheme from \"./xsolla-dark.json\";\nimport lightTheme from \"./xsolla-light.json\";\n\nexport const colors = {\n dark: darkTheme,\n light: lightTheme,\n};\n\nexport type ThemeColors = typeof darkTheme;\n","export const spacing = {\n xs: 4,\n s: 8,\n m: 16,\n l: 24,\n xl: 32,\n};\n\nexport const radius = {\n button: 4,\n card: 12,\n input: 4,\n tagSmall: 2,\n tagLarge: 4,\n avatarSmall: 2,\n avatarLarge: 4,\n avatarCircle: 999,\n};\n","export const shadow = {\n active: \"0px 1px 2px rgba(7, 7, 8, 0.2), 0px 1px 3px 1px rgba(7, 7, 8, 0.1)\",\n surface: \"0px 1px 2px rgba(7, 7, 8, 0.2), 0px 2px 6px 2px rgba(7, 7, 8, 0.1)\",\n surfaceHover:\n \"0px 4px 8px 3px rgba(7, 7, 8, 0.1), 0px 1px 3px rgba(7, 7, 8, 0.2)\",\n popover:\n \"0px 6px 10px 4px rgba(7, 7, 8, 0.1), 0px 2px 3px rgba(7, 7, 8, 0.2)\",\n modal: \"0px 8px 12px 6px rgba(7, 7, 8, 0.1), 0px 4px 4px rgba(7, 7, 8, 0.2)\",\n};\n","export const fonts = {\n // Use a string that works for web but can be parsed/ignored by native\n primary:\n '\"Pilat Wide Bold\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif',\n};\n\nexport const typography = {\n button: {\n fontFamily: fonts.primary,\n fontWeight: \"bold\",\n },\n};\n","export const isWeb = typeof document !== \"undefined\";\nexport const isNative = !isWeb;\n\n// For native platforms, we can check specific globals if needed,\n// but usually we just care about isWeb vs isNative for common logic.\nexport const isIOS =\n isNative &&\n typeof global !== \"undefined\" &&\n (global as any).Platform?.OS === \"ios\";\nexport const isAndroid =\n isNative &&\n typeof global !== \"undefined\" &&\n (global as any).Platform?.OS === \"android\";\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xsolla/xui-core",
3
- "version": "0.65.0",
3
+ "version": "0.66.0-pr91.1768892553",
4
4
  "main": "./index.js",
5
5
  "module": "./index.mjs",
6
6
  "types": "./index.d.ts",