@xsolla/xui-core 0.93.0 → 0.94.0
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 +16 -0
- package/index.d.ts +16 -0
- package/index.js +16 -0
- package/index.js.flow +17 -0
- package/index.js.map +1 -1
- package/index.mjs +16 -0
- package/index.mjs.map +1 -1
- package/package.json +1 -1
package/index.d.mts
CHANGED
|
@@ -2400,6 +2400,22 @@ declare const themeConfig: (mode?: ThemeMode) => {
|
|
|
2400
2400
|
iconWrapperSize: number;
|
|
2401
2401
|
radius: number;
|
|
2402
2402
|
};
|
|
2403
|
+
notificationPanel: () => {
|
|
2404
|
+
minHeight: number;
|
|
2405
|
+
iconFrameWidth: number;
|
|
2406
|
+
iconSize: number;
|
|
2407
|
+
borderRadius: number;
|
|
2408
|
+
bodyPaddingHorizontal: number;
|
|
2409
|
+
bodyPaddingVertical: number;
|
|
2410
|
+
textGap: number;
|
|
2411
|
+
contentGap: number;
|
|
2412
|
+
buttonsGap: number;
|
|
2413
|
+
closeButtonSize: number;
|
|
2414
|
+
titleFontSize: number;
|
|
2415
|
+
titleLineHeight: number;
|
|
2416
|
+
descriptionFontSize: number;
|
|
2417
|
+
descriptionLineHeight: number;
|
|
2418
|
+
};
|
|
2403
2419
|
progress: (size: "xl" | "lg" | "md" | "sm" | "xs" | "xxs") => {
|
|
2404
2420
|
height: number;
|
|
2405
2421
|
labelSize: number;
|
package/index.d.ts
CHANGED
|
@@ -2400,6 +2400,22 @@ declare const themeConfig: (mode?: ThemeMode) => {
|
|
|
2400
2400
|
iconWrapperSize: number;
|
|
2401
2401
|
radius: number;
|
|
2402
2402
|
};
|
|
2403
|
+
notificationPanel: () => {
|
|
2404
|
+
minHeight: number;
|
|
2405
|
+
iconFrameWidth: number;
|
|
2406
|
+
iconSize: number;
|
|
2407
|
+
borderRadius: number;
|
|
2408
|
+
bodyPaddingHorizontal: number;
|
|
2409
|
+
bodyPaddingVertical: number;
|
|
2410
|
+
textGap: number;
|
|
2411
|
+
contentGap: number;
|
|
2412
|
+
buttonsGap: number;
|
|
2413
|
+
closeButtonSize: number;
|
|
2414
|
+
titleFontSize: number;
|
|
2415
|
+
titleLineHeight: number;
|
|
2416
|
+
descriptionFontSize: number;
|
|
2417
|
+
descriptionLineHeight: number;
|
|
2418
|
+
};
|
|
2403
2419
|
progress: (size: "xl" | "lg" | "md" | "sm" | "xs" | "xxs") => {
|
|
2404
2420
|
height: number;
|
|
2405
2421
|
labelSize: number;
|
package/index.js
CHANGED
|
@@ -1452,6 +1452,22 @@ var themeConfig = (mode = "dark") => ({
|
|
|
1452
1452
|
};
|
|
1453
1453
|
return configs[type];
|
|
1454
1454
|
},
|
|
1455
|
+
notificationPanel: () => ({
|
|
1456
|
+
minHeight: 66,
|
|
1457
|
+
iconFrameWidth: 54,
|
|
1458
|
+
iconSize: 24,
|
|
1459
|
+
borderRadius: 8,
|
|
1460
|
+
bodyPaddingHorizontal: 16,
|
|
1461
|
+
bodyPaddingVertical: 12,
|
|
1462
|
+
textGap: 2,
|
|
1463
|
+
contentGap: 24,
|
|
1464
|
+
buttonsGap: 8,
|
|
1465
|
+
closeButtonSize: 32,
|
|
1466
|
+
titleFontSize: 16,
|
|
1467
|
+
titleLineHeight: 20,
|
|
1468
|
+
descriptionFontSize: 14,
|
|
1469
|
+
descriptionLineHeight: 20
|
|
1470
|
+
}),
|
|
1455
1471
|
progress: (size) => {
|
|
1456
1472
|
const configs = {
|
|
1457
1473
|
xl: { height: 10, labelSize: 16, helperSize: 14, gap: 10 },
|
package/index.js.flow
CHANGED
|
@@ -2148,6 +2148,23 @@ iconSize: number,
|
|
|
2148
2148
|
iconWrapperSize: number,
|
|
2149
2149
|
radius: number,...
|
|
2150
2150
|
},
|
|
2151
|
+
notificationPanel: (
|
|
2152
|
+
) => {
|
|
2153
|
+
minHeight: number,
|
|
2154
|
+
iconFrameWidth: number,
|
|
2155
|
+
iconSize: number,
|
|
2156
|
+
borderRadius: number,
|
|
2157
|
+
bodyPaddingHorizontal: number,
|
|
2158
|
+
bodyPaddingVertical: number,
|
|
2159
|
+
textGap: number,
|
|
2160
|
+
contentGap: number,
|
|
2161
|
+
buttonsGap: number,
|
|
2162
|
+
closeButtonSize: number,
|
|
2163
|
+
titleFontSize: number,
|
|
2164
|
+
titleLineHeight: number,
|
|
2165
|
+
descriptionFontSize: number,
|
|
2166
|
+
descriptionLineHeight: number,...
|
|
2167
|
+
},
|
|
2151
2168
|
progress: (
|
|
2152
2169
|
size: "xl"
|
|
2153
2170
|
| "lg"
|
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\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: {\n height: 64,\n padding: 20,\n fontSize: 20,\n sublabelFontSize: 18,\n spinnerSize: 24,\n iconSize: 32,\n iconContainerSize: 64,\n iconPadding: 20,\n loadingPadding: 40,\n borderRadius: 4,\n labelIconSize: 18,\n labelIconGap: 6,\n },\n lg: {\n height: 56,\n padding: 20,\n fontSize: 18,\n sublabelFontSize: 16,\n spinnerSize: 24,\n iconSize: 32,\n iconContainerSize: 56,\n iconPadding: 20,\n loadingPadding: 36,\n borderRadius: 4,\n labelIconSize: 16,\n labelIconGap: 6,\n },\n md: {\n height: 48,\n padding: 20,\n fontSize: 16,\n sublabelFontSize: 14,\n spinnerSize: 20,\n iconSize: 28,\n iconContainerSize: 48,\n iconPadding: 20,\n loadingPadding: 32,\n borderRadius: 2,\n labelIconSize: 14,\n labelIconGap: 4,\n },\n sm: {\n height: 40,\n padding: 20,\n fontSize: 14,\n sublabelFontSize: 12,\n spinnerSize: 16,\n iconSize: 28,\n iconContainerSize: 40,\n iconPadding: 20,\n loadingPadding: 28,\n borderRadius: 2,\n labelIconSize: 12,\n labelIconGap: 4,\n },\n xs: {\n height: 32,\n padding: 20,\n fontSize: 12,\n sublabelFontSize: 10,\n spinnerSize: 16,\n iconSize: 24,\n iconContainerSize: 32,\n iconPadding: 20,\n loadingPadding: 28,\n borderRadius: 2,\n labelIconSize: 10,\n labelIconGap: 4,\n },\n };\n return configs[size];\n },\n flexButton: (size: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"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 lg: {\n height: 32,\n padding: 4,\n fontSize: 14,\n spinnerSize: 24,\n iconSize: 18,\n borderRadius: 4,\n },\n md: {\n height: 28,\n padding: 2,\n fontSize: 14,\n spinnerSize: 24,\n iconSize: 16,\n borderRadius: 2,\n },\n sm: {\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\" | \"lg\" | \"md\" | \"sm\") => {\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 lg: {\n size: 20,\n fontSize: 16,\n descriptionFontSize: 14,\n labelGap: 10,\n textGap: 2,\n borderRadius: 2,\n },\n md: {\n size: 18,\n fontSize: 16,\n descriptionFontSize: 14,\n labelGap: 8,\n textGap: 2,\n borderRadius: 2,\n },\n sm: {\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\" | \"lg\" | \"md\" | \"sm\") => {\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 lg: {\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 md: {\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 sm: {\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\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: {\n height: 64,\n paddingVertical: 12,\n paddingHorizontal: 12,\n fontSize: 20,\n iconSize: 18,\n radius: 4,\n borderWidth: 2,\n fieldGap: 8,\n lineHeight: 20,\n },\n lg: {\n height: 56,\n paddingVertical: 14,\n paddingHorizontal: 12,\n fontSize: 18,\n iconSize: 18,\n radius: 4,\n borderWidth: 2,\n fieldGap: 6,\n lineHeight: 18,\n },\n md: {\n height: 48,\n paddingVertical: 11,\n paddingHorizontal: 12,\n fontSize: 16,\n iconSize: 18,\n radius: 2,\n borderWidth: 1,\n fieldGap: 4,\n lineHeight: 16,\n },\n sm: {\n height: 40,\n paddingVertical: 7,\n paddingHorizontal: 10,\n fontSize: 14,\n iconSize: 18,\n radius: 2,\n borderWidth: 1,\n fieldGap: 4,\n lineHeight: 14,\n },\n xs: {\n height: 32,\n paddingVertical: 7,\n paddingHorizontal: 10,\n fontSize: 12,\n iconSize: 18,\n radius: 2,\n borderWidth: 1,\n fieldGap: 4,\n lineHeight: 10,\n },\n };\n return configs[size];\n },\n inputPin: (size: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: { size: 64, gap: 10, fontSize: 20, radius: 4, borderWidth: 2 },\n lg: { size: 56, gap: 8, fontSize: 18, radius: 4, borderWidth: 2 },\n md: { size: 48, gap: 6, fontSize: 16, radius: 2, borderWidth: 1 },\n sm: { 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\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: { height: 144, padding: spacing.xl, fontSize: 20, iconSize: 32 },\n lg: { height: 128, padding: spacing.l, fontSize: 18, iconSize: 28 },\n md: { height: 112, padding: spacing.m, fontSize: 16, iconSize: 24 },\n sm: { 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\" | \"lg\" | \"md\" | \"sm\") => {\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 lg: {\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 md: {\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 sm: {\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\" | \"lg\" | \"md\" | \"sm\" | \"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 lg: {\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 md: {\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 sm: {\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\" | \"lg\" | \"md\" | \"sm\" | \"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 lg: {\n height: 40,\n padding: 16,\n fontSize: 18,\n gap: 8,\n iconSize: 24,\n radius: radius.tagLarge,\n },\n md: {\n height: 32,\n padding: 12,\n fontSize: 16,\n gap: 6,\n iconSize: 16,\n radius: radius.tagSmall,\n },\n sm: {\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: \"lg\" | \"md\" | \"sm\") => {\n const configs = {\n lg: { height: 18, fontSize: 16, lineWeight: 1 },\n md: { height: 16, fontSize: 14, lineWeight: 1 },\n sm: { height: 14, fontSize: 12, lineWeight: 1 },\n };\n return configs[size];\n },\n spinner: (size: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: { size: 96, strokeWidth: 10 },\n lg: { size: 48, strokeWidth: 5 },\n md: { size: 24, strokeWidth: 2 },\n sm: { size: 16, strokeWidth: 2 },\n xs: { size: 8, strokeWidth: 1 },\n };\n return configs[size];\n },\n tabs: (size: \"xl\" | \"lg\" | \"md\" | \"sm\") => {\n const configs = {\n xl: {\n height: 64,\n fontSize: 20,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n lg: {\n height: 56,\n fontSize: 18,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n md: {\n height: 48,\n fontSize: 16,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n sm: {\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\" | \"lg\" | \"md\" | \"sm\") => {\n const configs = {\n xl: {\n height: 64,\n fontSize: 20,\n iconSize: 24,\n gap: 8,\n padding: 20,\n },\n lg: {\n height: 56,\n fontSize: 18,\n iconSize: 24,\n gap: 8,\n padding: 16,\n },\n md: {\n height: 48,\n fontSize: 16,\n iconSize: 24,\n gap: 8,\n padding: 12,\n },\n sm: {\n height: 40,\n fontSize: 14,\n iconSize: 20,\n gap: 6,\n padding: 8,\n },\n };\n return configs[size];\n },\n tabsSegmented: (size: \"xl\" | \"lg\" | \"md\" | \"sm\") => {\n // Sizing based on Figma: node-id=5986-3922\n const configs = {\n xl: {\n height: 64,\n containerPadding: 4,\n containerRadius: 4,\n itemPaddingHorizontal: 16,\n itemPaddingVertical: 18,\n itemRadius: 2,\n fontSize: 20,\n lineHeight: 22,\n iconSize: 24,\n gap: 8,\n },\n lg: {\n height: 56,\n containerPadding: 4,\n containerRadius: 4,\n itemPaddingHorizontal: 16,\n itemPaddingVertical: 14,\n itemRadius: 2,\n fontSize: 18,\n lineHeight: 20,\n iconSize: 24,\n gap: 8,\n },\n md: {\n height: 48,\n containerPadding: 4,\n containerRadius: 4,\n itemPaddingHorizontal: 12,\n itemPaddingVertical: 11,\n itemRadius: 2,\n fontSize: 16,\n lineHeight: 18,\n iconSize: 24,\n gap: 6,\n },\n sm: {\n height: 40,\n containerPadding: 3,\n containerRadius: 2,\n itemPaddingHorizontal: 12,\n itemPaddingVertical: 8,\n itemRadius: 2,\n fontSize: 14,\n lineHeight: 16,\n iconSize: 20,\n gap: 6,\n },\n };\n return configs[size];\n },\n checkboxTagGroup: (size: \"xl\" | \"lg\" | \"md\" | \"sm\") => {\n const configs = {\n xl: {\n height: 64,\n paddingHorizontal: 16,\n paddingVertical: 21,\n fontSize: 20,\n lineHeight: 22,\n gap: 8,\n borderRadius: 4,\n },\n lg: {\n height: 56,\n paddingHorizontal: 16,\n paddingVertical: 18,\n fontSize: 18,\n lineHeight: 20,\n gap: 8,\n borderRadius: 4,\n },\n md: {\n height: 48,\n paddingHorizontal: 12,\n paddingVertical: 15,\n fontSize: 16,\n lineHeight: 18,\n gap: 8,\n borderRadius: 2,\n },\n sm: {\n height: 40,\n paddingHorizontal: 12,\n paddingVertical: 11,\n fontSize: 14,\n lineHeight: 16,\n gap: 4,\n borderRadius: 2,\n },\n };\n return configs[size];\n },\n badge: (size: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: {\n size: 20,\n fontSize: 12,\n lineHeight: 14,\n iconSize: 12,\n padding: 4,\n },\n lg: {\n size: 16,\n fontSize: 10,\n lineHeight: 10,\n iconSize: 10,\n padding: 4,\n },\n md: { size: 12, fontSize: 10, lineHeight: 10, iconSize: 8, padding: 4 },\n sm: { 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\" | \"lg\" | \"md\" | \"sm\" | \"xs\" | \"xxs\") => {\n const configs = {\n xl: { height: 10, labelSize: 16, helperSize: 14, gap: 10 },\n lg: { height: 8, labelSize: 14, helperSize: 12, gap: 8 },\n md: { height: 6, labelSize: 12, helperSize: 12, gap: 6 },\n sm: { 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\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: { fontSize: 18, lineHeight: \"20px\", gap: 6, iconSize: 18 },\n lg: { fontSize: 16, lineHeight: \"18px\", gap: 6, iconSize: 18 },\n md: { fontSize: 14, lineHeight: \"16px\", gap: 6, iconSize: 18 },\n sm: { 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\" | \"lg\" | \"md\" | \"sm\" | \"xs\" | \"xxs\") => {\n const configs = {\n xl: { size: 56, iconSize: 32, fontSize: 24 },\n lg: { size: 48, iconSize: 28, fontSize: 20 },\n md: { size: 40, iconSize: 24, fontSize: 18 },\n sm: { 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 contextMenu: (size: \"xl\" | \"lg\" | \"md\" | \"sm\") => {\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 lg: {\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 md: {\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 sm: {\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 toast: () => {\n // Sizing values from Figma design: node-id=3044-8872\n return {\n minHeight: 64,\n paddingHorizontal: 12,\n paddingVertical: 8,\n borderRadius: 4,\n gap: 12,\n iconSize: 24,\n closeButtonSize: 24,\n closeIconSize: 20,\n fontSize: 16,\n lineHeight: 20,\n maxWidth: 400,\n containerPadding: 12,\n groupGap: 4,\n };\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;\n\nconst hasReactUseId = typeof React.useId === \"function\";\n\nconst useIdFallback = (): string => {\n const [id] = useState(() => `xui-${++idCounter}`);\n return id;\n};\n\nexport const useId: () => string = hasReactUseId ? React.useId : useIdFallback;\n\n/**\n * Context for the current modal's ID.\n * Used by portal-based components (tooltips, dropdowns) to mark their content\n * as belonging to a modal, preventing click-outside from closing the modal.\n */\nexport const ModalIdContext = createContext<string | null>(null);\n\n/**\n * Returns the current modal's ID for use with portal content.\n * Apply as `data-modal-id={modalId}` to portal containers.\n * Returns null if not inside a modal.\n */\nexport const useModalId = (): string | null => useContext(ModalIdContext);\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 \"bgDisable\": \"rgba(102, 230, 255, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(255, 255, 255, 0)\",\n \"bgHover\": \"rgba(102, 230, 255, 0.12)\",\n \"bgPress\": \"rgba(102, 230, 255, 0.08)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0)\",\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\": \"#66e6ff\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(102, 230, 255, 0.4)\"\n }\n }\n },\n\n \"brandExtra\": {\n \"primary\": {\n \"bg\": \"#d9ff66\",\n \"bgHover\": \"#ccff33\",\n \"bgPress\": \"#e6ff99\",\n \"bgDisable\": \"#6b7755\",\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\": \"#a6b5a0\"\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 \"bgDisable\": \"rgba(217, 255, 102, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(255, 255, 255, 0)\",\n \"bgHover\": \"rgba(217, 255, 102, 0.12)\",\n \"bgPress\": \"rgba(217, 255, 102, 0.08)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0)\",\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\": \"#d9ff66\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(217, 255, 102, 0.4)\"\n }\n }\n },\n\n \"alert\": {\n \"primary\": {\n \"bg\": \"#ff8066\",\n \"bgHover\": \"#ffaa99\",\n \"bgPress\": \"#ff5533\",\n \"bgDisable\": \"#775555\",\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\": \"#ffffff\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"#bfa6a6\"\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 \"bgDisable\": \"rgba(255, 128, 102, 0.2)\",\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\": \"#ffffff\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(255, 255, 255, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(255, 255, 255, 0)\",\n \"bgHover\": \"rgba(255, 128, 102, 0.12)\",\n \"bgPress\": \"rgba(255, 128, 102, 0.08)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0)\",\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\": \"#ff8066\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(255, 128, 102, 0.4)\"\n }\n }\n },\n\n \"mono\": {\n \"primary\": {\n \"bg\": \"#ffffff\",\n \"bgHover\": \"#f0f4f4\",\n \"bgPress\": \"#f6f8f9\",\n \"bgDisable\": \"#707777\",\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\": \"#a6b5b5\"\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 \"bgDisable\": \"rgba(255, 255, 255, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(255, 255, 255, 0)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.12)\",\n \"bgPress\": \"rgba(255, 255, 255, 0.08)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0)\",\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\": \"#ffffff\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(255, 255, 255, 0.4)\"\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 \"segmented\": {\n \"bg\": \"rgba(255, 255, 255, 0.08)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.10)\",\n \"bgActive\": \"#ffffff\",\n \"textActive\": \"#1a1a1a\"\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 \"bgDisable\": \"rgba(51, 221, 255, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(0, 0, 0, 0)\",\n \"bgHover\": \"rgba(51, 221, 255, 0.12)\",\n \"bgPress\": \"rgba(51, 221, 255, 0.08)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0)\",\n \"borderPress\": \"rgba(0, 0, 0, 0)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": {\n \"primary\": \"#00aacc\",\n \"secondary\": \"#000000\",\n \"disable\": \"rgba(0, 170, 204, 0.4)\"\n }\n }\n },\n\n \"brandExtra\": {\n \"primary\": {\n \"bg\": \"#bfff00\",\n \"bgHover\": \"#ccff33\",\n \"bgPress\": \"#99cc00\",\n \"bgDisable\": \"#d4d9c4\",\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\": \"#8a9480\"\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 \"bgDisable\": \"rgba(191, 255, 0, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(0, 0, 0, 0)\",\n \"bgHover\": \"rgba(191, 255, 0, 0.12)\",\n \"bgPress\": \"rgba(191, 255, 0, 0.08)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0)\",\n \"borderPress\": \"rgba(0, 0, 0, 0)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": {\n \"primary\": \"#739900\",\n \"secondary\": \"#000000\",\n \"disable\": \"rgba(115, 153, 0, 0.4)\"\n }\n }\n },\n\n \"alert\": {\n \"primary\": {\n \"bg\": \"#ff2b00\",\n \"bgHover\": \"#ff5533\",\n \"bgPress\": \"#cc2200\",\n \"bgDisable\": \"#d9c4c4\",\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\": \"#ffffff\",\n \"secondary\": \"#000000\",\n \"disable\": \"#a08080\"\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 \"bgDisable\": \"rgba(255, 43, 0, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(0, 0, 0, 0)\",\n \"bgHover\": \"rgba(255, 43, 0, 0.12)\",\n \"bgPress\": \"rgba(255, 43, 0, 0.08)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0)\",\n \"borderPress\": \"rgba(0, 0, 0, 0)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": {\n \"primary\": \"#cc2200\",\n \"secondary\": \"#000000\",\n \"disable\": \"rgba(204, 34, 0, 0.4)\"\n }\n }\n },\n\n \"mono\": {\n \"primary\": {\n \"bg\": \"#000000\",\n \"bgHover\": \"#151c1e\",\n \"bgPress\": \"#202a2c\",\n \"bgDisable\": \"#b0b0b0\",\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\": \"#ffffff\",\n \"secondary\": \"#000000\",\n \"disable\": \"#707070\"\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 \"bgDisable\": \"rgba(0, 0, 0, 0.06)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(0, 0, 0, 0)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.08)\",\n \"bgPress\": \"rgba(0, 0, 0, 0.05)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0)\",\n \"borderPress\": \"rgba(0, 0, 0, 0)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\",\n \"disable\": \"rgba(0, 0, 0, 0.4)\"\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 \"segmented\": {\n \"bg\": \"rgba(0, 0, 0, 0.08)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.10)\",\n \"bgActive\": \"#ffffff\",\n \"textActive\": \"#1a1a1a\"\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"]}
|
|
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\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: {\n height: 64,\n padding: 20,\n fontSize: 20,\n sublabelFontSize: 18,\n spinnerSize: 24,\n iconSize: 32,\n iconContainerSize: 64,\n iconPadding: 20,\n loadingPadding: 40,\n borderRadius: 4,\n labelIconSize: 18,\n labelIconGap: 6,\n },\n lg: {\n height: 56,\n padding: 20,\n fontSize: 18,\n sublabelFontSize: 16,\n spinnerSize: 24,\n iconSize: 32,\n iconContainerSize: 56,\n iconPadding: 20,\n loadingPadding: 36,\n borderRadius: 4,\n labelIconSize: 16,\n labelIconGap: 6,\n },\n md: {\n height: 48,\n padding: 20,\n fontSize: 16,\n sublabelFontSize: 14,\n spinnerSize: 20,\n iconSize: 28,\n iconContainerSize: 48,\n iconPadding: 20,\n loadingPadding: 32,\n borderRadius: 2,\n labelIconSize: 14,\n labelIconGap: 4,\n },\n sm: {\n height: 40,\n padding: 20,\n fontSize: 14,\n sublabelFontSize: 12,\n spinnerSize: 16,\n iconSize: 28,\n iconContainerSize: 40,\n iconPadding: 20,\n loadingPadding: 28,\n borderRadius: 2,\n labelIconSize: 12,\n labelIconGap: 4,\n },\n xs: {\n height: 32,\n padding: 20,\n fontSize: 12,\n sublabelFontSize: 10,\n spinnerSize: 16,\n iconSize: 24,\n iconContainerSize: 32,\n iconPadding: 20,\n loadingPadding: 28,\n borderRadius: 2,\n labelIconSize: 10,\n labelIconGap: 4,\n },\n };\n return configs[size];\n },\n flexButton: (size: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"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 lg: {\n height: 32,\n padding: 4,\n fontSize: 14,\n spinnerSize: 24,\n iconSize: 18,\n borderRadius: 4,\n },\n md: {\n height: 28,\n padding: 2,\n fontSize: 14,\n spinnerSize: 24,\n iconSize: 16,\n borderRadius: 2,\n },\n sm: {\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\" | \"lg\" | \"md\" | \"sm\") => {\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 lg: {\n size: 20,\n fontSize: 16,\n descriptionFontSize: 14,\n labelGap: 10,\n textGap: 2,\n borderRadius: 2,\n },\n md: {\n size: 18,\n fontSize: 16,\n descriptionFontSize: 14,\n labelGap: 8,\n textGap: 2,\n borderRadius: 2,\n },\n sm: {\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\" | \"lg\" | \"md\" | \"sm\") => {\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 lg: {\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 md: {\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 sm: {\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\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: {\n height: 64,\n paddingVertical: 12,\n paddingHorizontal: 12,\n fontSize: 20,\n iconSize: 18,\n radius: 4,\n borderWidth: 2,\n fieldGap: 8,\n lineHeight: 20,\n },\n lg: {\n height: 56,\n paddingVertical: 14,\n paddingHorizontal: 12,\n fontSize: 18,\n iconSize: 18,\n radius: 4,\n borderWidth: 2,\n fieldGap: 6,\n lineHeight: 18,\n },\n md: {\n height: 48,\n paddingVertical: 11,\n paddingHorizontal: 12,\n fontSize: 16,\n iconSize: 18,\n radius: 2,\n borderWidth: 1,\n fieldGap: 4,\n lineHeight: 16,\n },\n sm: {\n height: 40,\n paddingVertical: 7,\n paddingHorizontal: 10,\n fontSize: 14,\n iconSize: 18,\n radius: 2,\n borderWidth: 1,\n fieldGap: 4,\n lineHeight: 14,\n },\n xs: {\n height: 32,\n paddingVertical: 7,\n paddingHorizontal: 10,\n fontSize: 12,\n iconSize: 18,\n radius: 2,\n borderWidth: 1,\n fieldGap: 4,\n lineHeight: 10,\n },\n };\n return configs[size];\n },\n inputPin: (size: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: { size: 64, gap: 10, fontSize: 20, radius: 4, borderWidth: 2 },\n lg: { size: 56, gap: 8, fontSize: 18, radius: 4, borderWidth: 2 },\n md: { size: 48, gap: 6, fontSize: 16, radius: 2, borderWidth: 1 },\n sm: { 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\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: { height: 144, padding: spacing.xl, fontSize: 20, iconSize: 32 },\n lg: { height: 128, padding: spacing.l, fontSize: 18, iconSize: 28 },\n md: { height: 112, padding: spacing.m, fontSize: 16, iconSize: 24 },\n sm: { 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\" | \"lg\" | \"md\" | \"sm\") => {\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 lg: {\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 md: {\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 sm: {\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\" | \"lg\" | \"md\" | \"sm\" | \"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 lg: {\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 md: {\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 sm: {\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\" | \"lg\" | \"md\" | \"sm\" | \"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 lg: {\n height: 40,\n padding: 16,\n fontSize: 18,\n gap: 8,\n iconSize: 24,\n radius: radius.tagLarge,\n },\n md: {\n height: 32,\n padding: 12,\n fontSize: 16,\n gap: 6,\n iconSize: 16,\n radius: radius.tagSmall,\n },\n sm: {\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: \"lg\" | \"md\" | \"sm\") => {\n const configs = {\n lg: { height: 18, fontSize: 16, lineWeight: 1 },\n md: { height: 16, fontSize: 14, lineWeight: 1 },\n sm: { height: 14, fontSize: 12, lineWeight: 1 },\n };\n return configs[size];\n },\n spinner: (size: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: { size: 96, strokeWidth: 10 },\n lg: { size: 48, strokeWidth: 5 },\n md: { size: 24, strokeWidth: 2 },\n sm: { size: 16, strokeWidth: 2 },\n xs: { size: 8, strokeWidth: 1 },\n };\n return configs[size];\n },\n tabs: (size: \"xl\" | \"lg\" | \"md\" | \"sm\") => {\n const configs = {\n xl: {\n height: 64,\n fontSize: 20,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n lg: {\n height: 56,\n fontSize: 18,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n md: {\n height: 48,\n fontSize: 16,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n sm: {\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\" | \"lg\" | \"md\" | \"sm\") => {\n const configs = {\n xl: {\n height: 64,\n fontSize: 20,\n iconSize: 24,\n gap: 8,\n padding: 20,\n },\n lg: {\n height: 56,\n fontSize: 18,\n iconSize: 24,\n gap: 8,\n padding: 16,\n },\n md: {\n height: 48,\n fontSize: 16,\n iconSize: 24,\n gap: 8,\n padding: 12,\n },\n sm: {\n height: 40,\n fontSize: 14,\n iconSize: 20,\n gap: 6,\n padding: 8,\n },\n };\n return configs[size];\n },\n tabsSegmented: (size: \"xl\" | \"lg\" | \"md\" | \"sm\") => {\n // Sizing based on Figma: node-id=5986-3922\n const configs = {\n xl: {\n height: 64,\n containerPadding: 4,\n containerRadius: 4,\n itemPaddingHorizontal: 16,\n itemPaddingVertical: 18,\n itemRadius: 2,\n fontSize: 20,\n lineHeight: 22,\n iconSize: 24,\n gap: 8,\n },\n lg: {\n height: 56,\n containerPadding: 4,\n containerRadius: 4,\n itemPaddingHorizontal: 16,\n itemPaddingVertical: 14,\n itemRadius: 2,\n fontSize: 18,\n lineHeight: 20,\n iconSize: 24,\n gap: 8,\n },\n md: {\n height: 48,\n containerPadding: 4,\n containerRadius: 4,\n itemPaddingHorizontal: 12,\n itemPaddingVertical: 11,\n itemRadius: 2,\n fontSize: 16,\n lineHeight: 18,\n iconSize: 24,\n gap: 6,\n },\n sm: {\n height: 40,\n containerPadding: 3,\n containerRadius: 2,\n itemPaddingHorizontal: 12,\n itemPaddingVertical: 8,\n itemRadius: 2,\n fontSize: 14,\n lineHeight: 16,\n iconSize: 20,\n gap: 6,\n },\n };\n return configs[size];\n },\n checkboxTagGroup: (size: \"xl\" | \"lg\" | \"md\" | \"sm\") => {\n const configs = {\n xl: {\n height: 64,\n paddingHorizontal: 16,\n paddingVertical: 21,\n fontSize: 20,\n lineHeight: 22,\n gap: 8,\n borderRadius: 4,\n },\n lg: {\n height: 56,\n paddingHorizontal: 16,\n paddingVertical: 18,\n fontSize: 18,\n lineHeight: 20,\n gap: 8,\n borderRadius: 4,\n },\n md: {\n height: 48,\n paddingHorizontal: 12,\n paddingVertical: 15,\n fontSize: 16,\n lineHeight: 18,\n gap: 8,\n borderRadius: 2,\n },\n sm: {\n height: 40,\n paddingHorizontal: 12,\n paddingVertical: 11,\n fontSize: 14,\n lineHeight: 16,\n gap: 4,\n borderRadius: 2,\n },\n };\n return configs[size];\n },\n badge: (size: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: {\n size: 20,\n fontSize: 12,\n lineHeight: 14,\n iconSize: 12,\n padding: 4,\n },\n lg: {\n size: 16,\n fontSize: 10,\n lineHeight: 10,\n iconSize: 10,\n padding: 4,\n },\n md: { size: 12, fontSize: 10, lineHeight: 10, iconSize: 8, padding: 4 },\n sm: { 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 notificationPanel: () => ({\n minHeight: 66,\n iconFrameWidth: 54,\n iconSize: 24,\n borderRadius: 8,\n bodyPaddingHorizontal: 16,\n bodyPaddingVertical: 12,\n textGap: 2,\n contentGap: 24,\n buttonsGap: 8,\n closeButtonSize: 32,\n titleFontSize: 16,\n titleLineHeight: 20,\n descriptionFontSize: 14,\n descriptionLineHeight: 20,\n }),\n progress: (size: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"xs\" | \"xxs\") => {\n const configs = {\n xl: { height: 10, labelSize: 16, helperSize: 14, gap: 10 },\n lg: { height: 8, labelSize: 14, helperSize: 12, gap: 8 },\n md: { height: 6, labelSize: 12, helperSize: 12, gap: 6 },\n sm: { 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\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: { fontSize: 18, lineHeight: \"20px\", gap: 6, iconSize: 18 },\n lg: { fontSize: 16, lineHeight: \"18px\", gap: 6, iconSize: 18 },\n md: { fontSize: 14, lineHeight: \"16px\", gap: 6, iconSize: 18 },\n sm: { 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\" | \"lg\" | \"md\" | \"sm\" | \"xs\" | \"xxs\") => {\n const configs = {\n xl: { size: 56, iconSize: 32, fontSize: 24 },\n lg: { size: 48, iconSize: 28, fontSize: 20 },\n md: { size: 40, iconSize: 24, fontSize: 18 },\n sm: { 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 contextMenu: (size: \"xl\" | \"lg\" | \"md\" | \"sm\") => {\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 lg: {\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 md: {\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 sm: {\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 toast: () => {\n // Sizing values from Figma design: node-id=3044-8872\n return {\n minHeight: 64,\n paddingHorizontal: 12,\n paddingVertical: 8,\n borderRadius: 4,\n gap: 12,\n iconSize: 24,\n closeButtonSize: 24,\n closeIconSize: 20,\n fontSize: 16,\n lineHeight: 20,\n maxWidth: 400,\n containerPadding: 12,\n groupGap: 4,\n };\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;\n\nconst hasReactUseId = typeof React.useId === \"function\";\n\nconst useIdFallback = (): string => {\n const [id] = useState(() => `xui-${++idCounter}`);\n return id;\n};\n\nexport const useId: () => string = hasReactUseId ? React.useId : useIdFallback;\n\n/**\n * Context for the current modal's ID.\n * Used by portal-based components (tooltips, dropdowns) to mark their content\n * as belonging to a modal, preventing click-outside from closing the modal.\n */\nexport const ModalIdContext = createContext<string | null>(null);\n\n/**\n * Returns the current modal's ID for use with portal content.\n * Apply as `data-modal-id={modalId}` to portal containers.\n * Returns null if not inside a modal.\n */\nexport const useModalId = (): string | null => useContext(ModalIdContext);\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 \"bgDisable\": \"rgba(102, 230, 255, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(255, 255, 255, 0)\",\n \"bgHover\": \"rgba(102, 230, 255, 0.12)\",\n \"bgPress\": \"rgba(102, 230, 255, 0.08)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0)\",\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\": \"#66e6ff\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(102, 230, 255, 0.4)\"\n }\n }\n },\n\n \"brandExtra\": {\n \"primary\": {\n \"bg\": \"#d9ff66\",\n \"bgHover\": \"#ccff33\",\n \"bgPress\": \"#e6ff99\",\n \"bgDisable\": \"#6b7755\",\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\": \"#a6b5a0\"\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 \"bgDisable\": \"rgba(217, 255, 102, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(255, 255, 255, 0)\",\n \"bgHover\": \"rgba(217, 255, 102, 0.12)\",\n \"bgPress\": \"rgba(217, 255, 102, 0.08)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0)\",\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\": \"#d9ff66\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(217, 255, 102, 0.4)\"\n }\n }\n },\n\n \"alert\": {\n \"primary\": {\n \"bg\": \"#ff8066\",\n \"bgHover\": \"#ffaa99\",\n \"bgPress\": \"#ff5533\",\n \"bgDisable\": \"#775555\",\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\": \"#ffffff\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"#bfa6a6\"\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 \"bgDisable\": \"rgba(255, 128, 102, 0.2)\",\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\": \"#ffffff\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(255, 255, 255, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(255, 255, 255, 0)\",\n \"bgHover\": \"rgba(255, 128, 102, 0.12)\",\n \"bgPress\": \"rgba(255, 128, 102, 0.08)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0)\",\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\": \"#ff8066\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(255, 128, 102, 0.4)\"\n }\n }\n },\n\n \"mono\": {\n \"primary\": {\n \"bg\": \"#ffffff\",\n \"bgHover\": \"#f0f4f4\",\n \"bgPress\": \"#f6f8f9\",\n \"bgDisable\": \"#707777\",\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\": \"#a6b5b5\"\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 \"bgDisable\": \"rgba(255, 255, 255, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(255, 255, 255, 0)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.12)\",\n \"bgPress\": \"rgba(255, 255, 255, 0.08)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0)\",\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\": \"#ffffff\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(255, 255, 255, 0.4)\"\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 \"segmented\": {\n \"bg\": \"rgba(255, 255, 255, 0.08)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.10)\",\n \"bgActive\": \"#ffffff\",\n \"textActive\": \"#1a1a1a\"\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 \"bgDisable\": \"rgba(51, 221, 255, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(0, 0, 0, 0)\",\n \"bgHover\": \"rgba(51, 221, 255, 0.12)\",\n \"bgPress\": \"rgba(51, 221, 255, 0.08)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0)\",\n \"borderPress\": \"rgba(0, 0, 0, 0)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": {\n \"primary\": \"#00aacc\",\n \"secondary\": \"#000000\",\n \"disable\": \"rgba(0, 170, 204, 0.4)\"\n }\n }\n },\n\n \"brandExtra\": {\n \"primary\": {\n \"bg\": \"#bfff00\",\n \"bgHover\": \"#ccff33\",\n \"bgPress\": \"#99cc00\",\n \"bgDisable\": \"#d4d9c4\",\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\": \"#8a9480\"\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 \"bgDisable\": \"rgba(191, 255, 0, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(0, 0, 0, 0)\",\n \"bgHover\": \"rgba(191, 255, 0, 0.12)\",\n \"bgPress\": \"rgba(191, 255, 0, 0.08)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0)\",\n \"borderPress\": \"rgba(0, 0, 0, 0)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": {\n \"primary\": \"#739900\",\n \"secondary\": \"#000000\",\n \"disable\": \"rgba(115, 153, 0, 0.4)\"\n }\n }\n },\n\n \"alert\": {\n \"primary\": {\n \"bg\": \"#ff2b00\",\n \"bgHover\": \"#ff5533\",\n \"bgPress\": \"#cc2200\",\n \"bgDisable\": \"#d9c4c4\",\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\": \"#ffffff\",\n \"secondary\": \"#000000\",\n \"disable\": \"#a08080\"\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 \"bgDisable\": \"rgba(255, 43, 0, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(0, 0, 0, 0)\",\n \"bgHover\": \"rgba(255, 43, 0, 0.12)\",\n \"bgPress\": \"rgba(255, 43, 0, 0.08)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0)\",\n \"borderPress\": \"rgba(0, 0, 0, 0)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": {\n \"primary\": \"#cc2200\",\n \"secondary\": \"#000000\",\n \"disable\": \"rgba(204, 34, 0, 0.4)\"\n }\n }\n },\n\n \"mono\": {\n \"primary\": {\n \"bg\": \"#000000\",\n \"bgHover\": \"#151c1e\",\n \"bgPress\": \"#202a2c\",\n \"bgDisable\": \"#b0b0b0\",\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\": \"#ffffff\",\n \"secondary\": \"#000000\",\n \"disable\": \"#707070\"\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 \"bgDisable\": \"rgba(0, 0, 0, 0.06)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(0, 0, 0, 0)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.08)\",\n \"bgPress\": \"rgba(0, 0, 0, 0.05)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0)\",\n \"borderPress\": \"rgba(0, 0, 0, 0)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\",\n \"disable\": \"rgba(0, 0, 0, 0.4)\"\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 \"segmented\": {\n \"bg\": \"rgba(0, 0, 0, 0.08)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.10)\",\n \"bgActive\": \"#ffffff\",\n \"textActive\": \"#1a1a1a\"\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
|
@@ -1403,6 +1403,22 @@ var themeConfig = (mode = "dark") => ({
|
|
|
1403
1403
|
};
|
|
1404
1404
|
return configs[type];
|
|
1405
1405
|
},
|
|
1406
|
+
notificationPanel: () => ({
|
|
1407
|
+
minHeight: 66,
|
|
1408
|
+
iconFrameWidth: 54,
|
|
1409
|
+
iconSize: 24,
|
|
1410
|
+
borderRadius: 8,
|
|
1411
|
+
bodyPaddingHorizontal: 16,
|
|
1412
|
+
bodyPaddingVertical: 12,
|
|
1413
|
+
textGap: 2,
|
|
1414
|
+
contentGap: 24,
|
|
1415
|
+
buttonsGap: 8,
|
|
1416
|
+
closeButtonSize: 32,
|
|
1417
|
+
titleFontSize: 16,
|
|
1418
|
+
titleLineHeight: 20,
|
|
1419
|
+
descriptionFontSize: 14,
|
|
1420
|
+
descriptionLineHeight: 20
|
|
1421
|
+
}),
|
|
1406
1422
|
progress: (size) => {
|
|
1407
1423
|
const configs = {
|
|
1408
1424
|
xl: { height: 10, labelSize: 16, helperSize: 14, gap: 10 },
|
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\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: {\n height: 64,\n padding: 20,\n fontSize: 20,\n sublabelFontSize: 18,\n spinnerSize: 24,\n iconSize: 32,\n iconContainerSize: 64,\n iconPadding: 20,\n loadingPadding: 40,\n borderRadius: 4,\n labelIconSize: 18,\n labelIconGap: 6,\n },\n lg: {\n height: 56,\n padding: 20,\n fontSize: 18,\n sublabelFontSize: 16,\n spinnerSize: 24,\n iconSize: 32,\n iconContainerSize: 56,\n iconPadding: 20,\n loadingPadding: 36,\n borderRadius: 4,\n labelIconSize: 16,\n labelIconGap: 6,\n },\n md: {\n height: 48,\n padding: 20,\n fontSize: 16,\n sublabelFontSize: 14,\n spinnerSize: 20,\n iconSize: 28,\n iconContainerSize: 48,\n iconPadding: 20,\n loadingPadding: 32,\n borderRadius: 2,\n labelIconSize: 14,\n labelIconGap: 4,\n },\n sm: {\n height: 40,\n padding: 20,\n fontSize: 14,\n sublabelFontSize: 12,\n spinnerSize: 16,\n iconSize: 28,\n iconContainerSize: 40,\n iconPadding: 20,\n loadingPadding: 28,\n borderRadius: 2,\n labelIconSize: 12,\n labelIconGap: 4,\n },\n xs: {\n height: 32,\n padding: 20,\n fontSize: 12,\n sublabelFontSize: 10,\n spinnerSize: 16,\n iconSize: 24,\n iconContainerSize: 32,\n iconPadding: 20,\n loadingPadding: 28,\n borderRadius: 2,\n labelIconSize: 10,\n labelIconGap: 4,\n },\n };\n return configs[size];\n },\n flexButton: (size: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"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 lg: {\n height: 32,\n padding: 4,\n fontSize: 14,\n spinnerSize: 24,\n iconSize: 18,\n borderRadius: 4,\n },\n md: {\n height: 28,\n padding: 2,\n fontSize: 14,\n spinnerSize: 24,\n iconSize: 16,\n borderRadius: 2,\n },\n sm: {\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\" | \"lg\" | \"md\" | \"sm\") => {\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 lg: {\n size: 20,\n fontSize: 16,\n descriptionFontSize: 14,\n labelGap: 10,\n textGap: 2,\n borderRadius: 2,\n },\n md: {\n size: 18,\n fontSize: 16,\n descriptionFontSize: 14,\n labelGap: 8,\n textGap: 2,\n borderRadius: 2,\n },\n sm: {\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\" | \"lg\" | \"md\" | \"sm\") => {\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 lg: {\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 md: {\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 sm: {\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\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: {\n height: 64,\n paddingVertical: 12,\n paddingHorizontal: 12,\n fontSize: 20,\n iconSize: 18,\n radius: 4,\n borderWidth: 2,\n fieldGap: 8,\n lineHeight: 20,\n },\n lg: {\n height: 56,\n paddingVertical: 14,\n paddingHorizontal: 12,\n fontSize: 18,\n iconSize: 18,\n radius: 4,\n borderWidth: 2,\n fieldGap: 6,\n lineHeight: 18,\n },\n md: {\n height: 48,\n paddingVertical: 11,\n paddingHorizontal: 12,\n fontSize: 16,\n iconSize: 18,\n radius: 2,\n borderWidth: 1,\n fieldGap: 4,\n lineHeight: 16,\n },\n sm: {\n height: 40,\n paddingVertical: 7,\n paddingHorizontal: 10,\n fontSize: 14,\n iconSize: 18,\n radius: 2,\n borderWidth: 1,\n fieldGap: 4,\n lineHeight: 14,\n },\n xs: {\n height: 32,\n paddingVertical: 7,\n paddingHorizontal: 10,\n fontSize: 12,\n iconSize: 18,\n radius: 2,\n borderWidth: 1,\n fieldGap: 4,\n lineHeight: 10,\n },\n };\n return configs[size];\n },\n inputPin: (size: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: { size: 64, gap: 10, fontSize: 20, radius: 4, borderWidth: 2 },\n lg: { size: 56, gap: 8, fontSize: 18, radius: 4, borderWidth: 2 },\n md: { size: 48, gap: 6, fontSize: 16, radius: 2, borderWidth: 1 },\n sm: { 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\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: { height: 144, padding: spacing.xl, fontSize: 20, iconSize: 32 },\n lg: { height: 128, padding: spacing.l, fontSize: 18, iconSize: 28 },\n md: { height: 112, padding: spacing.m, fontSize: 16, iconSize: 24 },\n sm: { 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\" | \"lg\" | \"md\" | \"sm\") => {\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 lg: {\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 md: {\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 sm: {\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\" | \"lg\" | \"md\" | \"sm\" | \"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 lg: {\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 md: {\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 sm: {\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\" | \"lg\" | \"md\" | \"sm\" | \"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 lg: {\n height: 40,\n padding: 16,\n fontSize: 18,\n gap: 8,\n iconSize: 24,\n radius: radius.tagLarge,\n },\n md: {\n height: 32,\n padding: 12,\n fontSize: 16,\n gap: 6,\n iconSize: 16,\n radius: radius.tagSmall,\n },\n sm: {\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: \"lg\" | \"md\" | \"sm\") => {\n const configs = {\n lg: { height: 18, fontSize: 16, lineWeight: 1 },\n md: { height: 16, fontSize: 14, lineWeight: 1 },\n sm: { height: 14, fontSize: 12, lineWeight: 1 },\n };\n return configs[size];\n },\n spinner: (size: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: { size: 96, strokeWidth: 10 },\n lg: { size: 48, strokeWidth: 5 },\n md: { size: 24, strokeWidth: 2 },\n sm: { size: 16, strokeWidth: 2 },\n xs: { size: 8, strokeWidth: 1 },\n };\n return configs[size];\n },\n tabs: (size: \"xl\" | \"lg\" | \"md\" | \"sm\") => {\n const configs = {\n xl: {\n height: 64,\n fontSize: 20,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n lg: {\n height: 56,\n fontSize: 18,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n md: {\n height: 48,\n fontSize: 16,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n sm: {\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\" | \"lg\" | \"md\" | \"sm\") => {\n const configs = {\n xl: {\n height: 64,\n fontSize: 20,\n iconSize: 24,\n gap: 8,\n padding: 20,\n },\n lg: {\n height: 56,\n fontSize: 18,\n iconSize: 24,\n gap: 8,\n padding: 16,\n },\n md: {\n height: 48,\n fontSize: 16,\n iconSize: 24,\n gap: 8,\n padding: 12,\n },\n sm: {\n height: 40,\n fontSize: 14,\n iconSize: 20,\n gap: 6,\n padding: 8,\n },\n };\n return configs[size];\n },\n tabsSegmented: (size: \"xl\" | \"lg\" | \"md\" | \"sm\") => {\n // Sizing based on Figma: node-id=5986-3922\n const configs = {\n xl: {\n height: 64,\n containerPadding: 4,\n containerRadius: 4,\n itemPaddingHorizontal: 16,\n itemPaddingVertical: 18,\n itemRadius: 2,\n fontSize: 20,\n lineHeight: 22,\n iconSize: 24,\n gap: 8,\n },\n lg: {\n height: 56,\n containerPadding: 4,\n containerRadius: 4,\n itemPaddingHorizontal: 16,\n itemPaddingVertical: 14,\n itemRadius: 2,\n fontSize: 18,\n lineHeight: 20,\n iconSize: 24,\n gap: 8,\n },\n md: {\n height: 48,\n containerPadding: 4,\n containerRadius: 4,\n itemPaddingHorizontal: 12,\n itemPaddingVertical: 11,\n itemRadius: 2,\n fontSize: 16,\n lineHeight: 18,\n iconSize: 24,\n gap: 6,\n },\n sm: {\n height: 40,\n containerPadding: 3,\n containerRadius: 2,\n itemPaddingHorizontal: 12,\n itemPaddingVertical: 8,\n itemRadius: 2,\n fontSize: 14,\n lineHeight: 16,\n iconSize: 20,\n gap: 6,\n },\n };\n return configs[size];\n },\n checkboxTagGroup: (size: \"xl\" | \"lg\" | \"md\" | \"sm\") => {\n const configs = {\n xl: {\n height: 64,\n paddingHorizontal: 16,\n paddingVertical: 21,\n fontSize: 20,\n lineHeight: 22,\n gap: 8,\n borderRadius: 4,\n },\n lg: {\n height: 56,\n paddingHorizontal: 16,\n paddingVertical: 18,\n fontSize: 18,\n lineHeight: 20,\n gap: 8,\n borderRadius: 4,\n },\n md: {\n height: 48,\n paddingHorizontal: 12,\n paddingVertical: 15,\n fontSize: 16,\n lineHeight: 18,\n gap: 8,\n borderRadius: 2,\n },\n sm: {\n height: 40,\n paddingHorizontal: 12,\n paddingVertical: 11,\n fontSize: 14,\n lineHeight: 16,\n gap: 4,\n borderRadius: 2,\n },\n };\n return configs[size];\n },\n badge: (size: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: {\n size: 20,\n fontSize: 12,\n lineHeight: 14,\n iconSize: 12,\n padding: 4,\n },\n lg: {\n size: 16,\n fontSize: 10,\n lineHeight: 10,\n iconSize: 10,\n padding: 4,\n },\n md: { size: 12, fontSize: 10, lineHeight: 10, iconSize: 8, padding: 4 },\n sm: { 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\" | \"lg\" | \"md\" | \"sm\" | \"xs\" | \"xxs\") => {\n const configs = {\n xl: { height: 10, labelSize: 16, helperSize: 14, gap: 10 },\n lg: { height: 8, labelSize: 14, helperSize: 12, gap: 8 },\n md: { height: 6, labelSize: 12, helperSize: 12, gap: 6 },\n sm: { 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\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: { fontSize: 18, lineHeight: \"20px\", gap: 6, iconSize: 18 },\n lg: { fontSize: 16, lineHeight: \"18px\", gap: 6, iconSize: 18 },\n md: { fontSize: 14, lineHeight: \"16px\", gap: 6, iconSize: 18 },\n sm: { 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\" | \"lg\" | \"md\" | \"sm\" | \"xs\" | \"xxs\") => {\n const configs = {\n xl: { size: 56, iconSize: 32, fontSize: 24 },\n lg: { size: 48, iconSize: 28, fontSize: 20 },\n md: { size: 40, iconSize: 24, fontSize: 18 },\n sm: { 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 contextMenu: (size: \"xl\" | \"lg\" | \"md\" | \"sm\") => {\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 lg: {\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 md: {\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 sm: {\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 toast: () => {\n // Sizing values from Figma design: node-id=3044-8872\n return {\n minHeight: 64,\n paddingHorizontal: 12,\n paddingVertical: 8,\n borderRadius: 4,\n gap: 12,\n iconSize: 24,\n closeButtonSize: 24,\n closeIconSize: 20,\n fontSize: 16,\n lineHeight: 20,\n maxWidth: 400,\n containerPadding: 12,\n groupGap: 4,\n };\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;\n\nconst hasReactUseId = typeof React.useId === \"function\";\n\nconst useIdFallback = (): string => {\n const [id] = useState(() => `xui-${++idCounter}`);\n return id;\n};\n\nexport const useId: () => string = hasReactUseId ? React.useId : useIdFallback;\n\n/**\n * Context for the current modal's ID.\n * Used by portal-based components (tooltips, dropdowns) to mark their content\n * as belonging to a modal, preventing click-outside from closing the modal.\n */\nexport const ModalIdContext = createContext<string | null>(null);\n\n/**\n * Returns the current modal's ID for use with portal content.\n * Apply as `data-modal-id={modalId}` to portal containers.\n * Returns null if not inside a modal.\n */\nexport const useModalId = (): string | null => useContext(ModalIdContext);\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 \"bgDisable\": \"rgba(102, 230, 255, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(255, 255, 255, 0)\",\n \"bgHover\": \"rgba(102, 230, 255, 0.12)\",\n \"bgPress\": \"rgba(102, 230, 255, 0.08)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0)\",\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\": \"#66e6ff\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(102, 230, 255, 0.4)\"\n }\n }\n },\n\n \"brandExtra\": {\n \"primary\": {\n \"bg\": \"#d9ff66\",\n \"bgHover\": \"#ccff33\",\n \"bgPress\": \"#e6ff99\",\n \"bgDisable\": \"#6b7755\",\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\": \"#a6b5a0\"\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 \"bgDisable\": \"rgba(217, 255, 102, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(255, 255, 255, 0)\",\n \"bgHover\": \"rgba(217, 255, 102, 0.12)\",\n \"bgPress\": \"rgba(217, 255, 102, 0.08)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0)\",\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\": \"#d9ff66\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(217, 255, 102, 0.4)\"\n }\n }\n },\n\n \"alert\": {\n \"primary\": {\n \"bg\": \"#ff8066\",\n \"bgHover\": \"#ffaa99\",\n \"bgPress\": \"#ff5533\",\n \"bgDisable\": \"#775555\",\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\": \"#ffffff\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"#bfa6a6\"\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 \"bgDisable\": \"rgba(255, 128, 102, 0.2)\",\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\": \"#ffffff\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(255, 255, 255, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(255, 255, 255, 0)\",\n \"bgHover\": \"rgba(255, 128, 102, 0.12)\",\n \"bgPress\": \"rgba(255, 128, 102, 0.08)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0)\",\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\": \"#ff8066\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(255, 128, 102, 0.4)\"\n }\n }\n },\n\n \"mono\": {\n \"primary\": {\n \"bg\": \"#ffffff\",\n \"bgHover\": \"#f0f4f4\",\n \"bgPress\": \"#f6f8f9\",\n \"bgDisable\": \"#707777\",\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\": \"#a6b5b5\"\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 \"bgDisable\": \"rgba(255, 255, 255, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(255, 255, 255, 0)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.12)\",\n \"bgPress\": \"rgba(255, 255, 255, 0.08)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0)\",\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\": \"#ffffff\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(255, 255, 255, 0.4)\"\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 \"segmented\": {\n \"bg\": \"rgba(255, 255, 255, 0.08)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.10)\",\n \"bgActive\": \"#ffffff\",\n \"textActive\": \"#1a1a1a\"\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 \"bgDisable\": \"rgba(51, 221, 255, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(0, 0, 0, 0)\",\n \"bgHover\": \"rgba(51, 221, 255, 0.12)\",\n \"bgPress\": \"rgba(51, 221, 255, 0.08)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0)\",\n \"borderPress\": \"rgba(0, 0, 0, 0)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": {\n \"primary\": \"#00aacc\",\n \"secondary\": \"#000000\",\n \"disable\": \"rgba(0, 170, 204, 0.4)\"\n }\n }\n },\n\n \"brandExtra\": {\n \"primary\": {\n \"bg\": \"#bfff00\",\n \"bgHover\": \"#ccff33\",\n \"bgPress\": \"#99cc00\",\n \"bgDisable\": \"#d4d9c4\",\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\": \"#8a9480\"\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 \"bgDisable\": \"rgba(191, 255, 0, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(0, 0, 0, 0)\",\n \"bgHover\": \"rgba(191, 255, 0, 0.12)\",\n \"bgPress\": \"rgba(191, 255, 0, 0.08)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0)\",\n \"borderPress\": \"rgba(0, 0, 0, 0)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": {\n \"primary\": \"#739900\",\n \"secondary\": \"#000000\",\n \"disable\": \"rgba(115, 153, 0, 0.4)\"\n }\n }\n },\n\n \"alert\": {\n \"primary\": {\n \"bg\": \"#ff2b00\",\n \"bgHover\": \"#ff5533\",\n \"bgPress\": \"#cc2200\",\n \"bgDisable\": \"#d9c4c4\",\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\": \"#ffffff\",\n \"secondary\": \"#000000\",\n \"disable\": \"#a08080\"\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 \"bgDisable\": \"rgba(255, 43, 0, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(0, 0, 0, 0)\",\n \"bgHover\": \"rgba(255, 43, 0, 0.12)\",\n \"bgPress\": \"rgba(255, 43, 0, 0.08)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0)\",\n \"borderPress\": \"rgba(0, 0, 0, 0)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": {\n \"primary\": \"#cc2200\",\n \"secondary\": \"#000000\",\n \"disable\": \"rgba(204, 34, 0, 0.4)\"\n }\n }\n },\n\n \"mono\": {\n \"primary\": {\n \"bg\": \"#000000\",\n \"bgHover\": \"#151c1e\",\n \"bgPress\": \"#202a2c\",\n \"bgDisable\": \"#b0b0b0\",\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\": \"#ffffff\",\n \"secondary\": \"#000000\",\n \"disable\": \"#707070\"\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 \"bgDisable\": \"rgba(0, 0, 0, 0.06)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(0, 0, 0, 0)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.08)\",\n \"bgPress\": \"rgba(0, 0, 0, 0.05)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0)\",\n \"borderPress\": \"rgba(0, 0, 0, 0)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\",\n \"disable\": \"rgba(0, 0, 0, 0.4)\"\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 \"segmented\": {\n \"bg\": \"rgba(0, 0, 0, 0.08)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.10)\",\n \"bgActive\": \"#ffffff\",\n \"textActive\": \"#1a1a1a\"\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":";AAAA,OAAO,SAAS,eAAe,YAAY,UAAU,eAAe;;;ACApE;AAAA,EACE,YAAc;AAAA,IACZ,SAAW;AAAA,IACX,WAAa;AAAA,IACb,SAAW;AAAA,IAEX,OAAS;AAAA,MACP,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IACA,YAAc;AAAA,MACZ,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IAEA,SAAW;AAAA,MACT,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IACA,SAAW;AAAA,MACT,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IACA,OAAS;AAAA,MACP,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IACA,SAAW;AAAA,MACT,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,EACF;AAAA,EAEA,SAAW;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,IACb,UAAY;AAAA,IACZ,SAAW;AAAA,IAEX,OAAS;AAAA,MACP,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IACA,YAAc;AAAA,MACZ,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IAEA,SAAW;AAAA,MACT,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IACA,SAAW;AAAA,MACT,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IACA,OAAS;AAAA,MACP,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IACA,SAAW;AAAA,MACT,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IAEA,IAAM;AAAA,MACJ,OAAS;AAAA,MACT,YAAc;AAAA,MACd,SAAW;AAAA,MACX,SAAW;AAAA,MACX,OAAS;AAAA,MACT,SAAW;AAAA,IACb;AAAA,IAEA,QAAU;AAAA,MACR,OAAS;AAAA,MACT,MAAQ;AAAA,IACV;AAAA,EACF;AAAA,EAEA,QAAU;AAAA,IACR,SAAW;AAAA,IACX,WAAa;AAAA,IACb,SAAW;AAAA,IAEX,OAAS;AAAA,IACT,YAAc;AAAA,IACd,SAAW;AAAA,IACX,SAAW;AAAA,IACX,OAAS;AAAA,IACT,SAAW;AAAA,EACb;AAAA,EAEA,SAAW;AAAA,IACT,MAAQ;AAAA,IACR,OAAS;AAAA,IACT,YAAc;AAAA,IACd,SAAW;AAAA,IACX,SAAW;AAAA,IACX,OAAS;AAAA,IACT,SAAW;AAAA,EACb;AAAA,EAEA,OAAS;AAAA,IACP,OAAS;AAAA,IACT,OAAS;AAAA,EACX;AAAA,EAEA,SAAW;AAAA,IACT,OAAS;AAAA,MACP,SAAW;AAAA,QACT,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,MAEA,WAAa;AAAA,QACX,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,MAEA,UAAY;AAAA,QACV,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAAA,IAEA,YAAc;AAAA,MACZ,SAAW;AAAA,QACT,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,MAEA,WAAa;AAAA,QACX,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,MAEA,UAAY;AAAA,QACV,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAAA,IAEA,OAAS;AAAA,MACP,SAAW;AAAA,QACT,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,MAEA,WAAa;AAAA,QACX,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,MAEA,UAAY;AAAA,QACV,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAAA,IAEA,MAAQ;AAAA,MACN,SAAW;AAAA,QACT,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,MAEA,WAAa;AAAA,QACX,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,MAEA,UAAY;AAAA,QACV,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAAA,IAEA,OAAS;AAAA,MACP,IAAM;AAAA,MACN,SAAW;AAAA,MACX,WAAa;AAAA,MAEb,QAAU;AAAA,MACV,aAAe;AAAA,MACf,eAAiB;AAAA,MAEjB,MAAQ;AAAA,MACR,aAAe;AAAA,MACf,aAAe;AAAA,IACjB;AAAA,IAEA,OAAS;AAAA,MACP,IAAM;AAAA,IACR;AAAA,IAEA,OAAS;AAAA,MACP,IAAM;AAAA,MACN,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IAEA,OAAS;AAAA,MACP,IAAM;AAAA,MACN,SAAW;AAAA,MACX,QAAU;AAAA,MACV,aAAe;AAAA,IACjB;AAAA,IAEA,QAAU;AAAA,MACR,IAAM;AAAA,MACN,SAAW;AAAA,IACb;AAAA,IAEA,WAAa;AAAA,MACX,IAAM;AAAA,MACN,SAAW;AAAA,MACX,UAAY;AAAA,MACZ,YAAc;AAAA,IAChB;AAAA,IAEA,MAAQ;AAAA,MACN,SAAW;AAAA,MACX,WAAa;AAAA,MACb,OAAS;AAAA,MACT,SAAW;AAAA,IACb;AAAA,IAEA,MAAQ;AAAA,MACN,SAAW;AAAA,MACX,cAAgB;AAAA,MAChB,WAAa;AAAA,MACb,gBAAkB;AAAA,IACpB;AAAA,EACF;AACF;;;ACtYA;AAAA,EACE,YAAc;AAAA,IACZ,SAAW;AAAA,IACX,WAAa;AAAA,IACb,SAAW;AAAA,IAEX,OAAS;AAAA,MACP,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IACA,YAAc;AAAA,MACZ,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IAEA,SAAW;AAAA,MACT,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IACA,SAAW;AAAA,MACT,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IACA,OAAS;AAAA,MACP,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IACA,SAAW;AAAA,MACT,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,EACF;AAAA,EAEA,SAAW;AAAA,IACT,SAAW;AAAA,IACX,WAAa;AAAA,IACb,UAAY;AAAA,IACZ,SAAW;AAAA,IAEX,OAAS;AAAA,MACP,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IACA,YAAc;AAAA,MACZ,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IAEA,SAAW;AAAA,MACT,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IACA,SAAW;AAAA,MACT,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IACA,OAAS;AAAA,MACP,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IACA,SAAW;AAAA,MACT,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IAEA,IAAM;AAAA,MACJ,OAAS;AAAA,MACT,YAAc;AAAA,MACd,SAAW;AAAA,MACX,SAAW;AAAA,MACX,OAAS;AAAA,MACT,SAAW;AAAA,IACb;AAAA,IAEA,QAAU;AAAA,MACR,OAAS;AAAA,MACT,MAAQ;AAAA,IACV;AAAA,EACF;AAAA,EAEA,QAAU;AAAA,IACR,SAAW;AAAA,IACX,WAAa;AAAA,IACb,SAAW;AAAA,IAEX,OAAS;AAAA,IACT,YAAc;AAAA,IACd,SAAW;AAAA,IACX,SAAW;AAAA,IACX,OAAS;AAAA,IACT,SAAW;AAAA,EACb;AAAA,EAEA,SAAW;AAAA,IACT,MAAQ;AAAA,IACR,OAAS;AAAA,IACT,YAAc;AAAA,IACd,SAAW;AAAA,IACX,SAAW;AAAA,IACX,OAAS;AAAA,IACT,SAAW;AAAA,EACb;AAAA,EAEA,OAAS;AAAA,IACP,OAAS;AAAA,IACT,OAAS;AAAA,EACX;AAAA,EAEA,SAAW;AAAA,IACT,OAAS;AAAA,MACP,SAAW;AAAA,QACT,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,MAEA,WAAa;AAAA,QACX,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,MAEA,UAAY;AAAA,QACV,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAAA,IAEA,YAAc;AAAA,MACZ,SAAW;AAAA,QACT,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,MAEA,WAAa;AAAA,QACX,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,MAEA,UAAY;AAAA,QACV,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAAA,IAEA,OAAS;AAAA,MACP,SAAW;AAAA,QACT,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,MAEA,WAAa;AAAA,QACX,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,MAEA,UAAY;AAAA,QACV,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAAA,IAEA,MAAQ;AAAA,MACN,SAAW;AAAA,QACT,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,MAEA,WAAa;AAAA,QACX,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,MAEA,UAAY;AAAA,QACV,IAAM;AAAA,QACN,SAAW;AAAA,QACX,SAAW;AAAA,QACX,WAAa;AAAA,QAEb,QAAU;AAAA,QACV,aAAe;AAAA,QACf,aAAe;AAAA,QACf,eAAiB;AAAA,QAEjB,MAAQ;AAAA,UACN,SAAW;AAAA,UACX,WAAa;AAAA,UACb,SAAW;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAAA,IAEA,OAAS;AAAA,MACP,IAAM;AAAA,MACN,SAAW;AAAA,MACX,WAAa;AAAA,MAEb,QAAU;AAAA,MACV,aAAe;AAAA,MACf,eAAiB;AAAA,MAEjB,MAAQ;AAAA,MACR,aAAe;AAAA,MACf,aAAe;AAAA,IACjB;AAAA,IAEA,OAAS;AAAA,MACP,IAAM;AAAA,IACR;AAAA,IAEA,OAAS;AAAA,MACP,IAAM;AAAA,MACN,SAAW;AAAA,MACX,WAAa;AAAA,IACf;AAAA,IAEA,OAAS;AAAA,MACP,IAAM;AAAA,MACN,SAAW;AAAA,MACX,QAAU;AAAA,MACV,aAAe;AAAA,IACjB;AAAA,IAEA,QAAU;AAAA,MACR,IAAM;AAAA,MACN,SAAW;AAAA,IACb;AAAA,IAEA,WAAa;AAAA,MACX,IAAM;AAAA,MACN,SAAW;AAAA,MACX,UAAY;AAAA,MACZ,YAAc;AAAA,IAChB;AAAA,IAEA,MAAQ;AAAA,MACN,SAAW;AAAA,MACX,WAAa;AAAA,MACb,OAAS;AAAA,MACT,SAAW;AAAA,IACb;AAAA,IAEA,MAAQ;AAAA,MACN,SAAW;AAAA,MACX,cAAgB;AAAA,MAChB,WAAa;AAAA,MACb,gBAAkB;AAAA,IACpB;AAAA,EACF;AACF;;;ACnYO,IAAM,SAAS;AAAA,EACpB,MAAM;AAAA,EACN,OAAO;AACT;;;ACNO,IAAM,UAAU;AAAA,EACrB,IAAI;AAAA,EACJ,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AAAA,EACH,IAAI;AACN;AAEO,IAAM,SAAS;AAAA,EACpB,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,aAAa;AAAA,EACb,aAAa;AAAA,EACb,cAAc;AAChB;;;ACjBO,IAAM,SAAS;AAAA,EACpB,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,cACE;AAAA,EACF,SACE;AAAA,EACF,OAAO;AACT;;;ACRO,IAAM,QAAQ;AAAA;AAAA,EAEnB,SACE;AACJ;AAEO,IAAM,aAAa;AAAA,EACxB,QAAQ;AAAA,IACN,YAAY,MAAM;AAAA,IAClB,YAAY;AAAA,EACd;AACF;;;ACXO,IAAM,QAAQ,OAAO,aAAa;AAClC,IAAM,WAAW,CAAC;AAIlB,IAAM,QACX,YACA,OAAO,WAAW,eACjB,OAAe,UAAU,OAAO;AAC5B,IAAM,YACX,YACA,OAAO,WAAW,eACjB,OAAe,UAAU,OAAO;;;APw1B/B;AA51BG,IAAM,cAAc,CAAC,OAAkB,YAAY;AAAA,EACxD,QAAQ,OAAO,IAAI;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,IACV,SAAS,MAAM;AAAA,EACjB;AAAA,EACA,QAAQ;AAAA,IACN,QAAQ,CAAC,SAA2C;AAClD,YAAM,UAAU;AAAA,QACd,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU;AAAA,UACV,kBAAkB;AAAA,UAClB,aAAa;AAAA,UACb,UAAU;AAAA,UACV,mBAAmB;AAAA,UACnB,aAAa;AAAA,UACb,gBAAgB;AAAA,UAChB,cAAc;AAAA,UACd,eAAe;AAAA,UACf,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU;AAAA,UACV,kBAAkB;AAAA,UAClB,aAAa;AAAA,UACb,UAAU;AAAA,UACV,mBAAmB;AAAA,UACnB,aAAa;AAAA,UACb,gBAAgB;AAAA,UAChB,cAAc;AAAA,UACd,eAAe;AAAA,UACf,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU;AAAA,UACV,kBAAkB;AAAA,UAClB,aAAa;AAAA,UACb,UAAU;AAAA,UACV,mBAAmB;AAAA,UACnB,aAAa;AAAA,UACb,gBAAgB;AAAA,UAChB,cAAc;AAAA,UACd,eAAe;AAAA,UACf,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU;AAAA,UACV,kBAAkB;AAAA,UAClB,aAAa;AAAA,UACb,UAAU;AAAA,UACV,mBAAmB;AAAA,UACnB,aAAa;AAAA,UACb,gBAAgB;AAAA,UAChB,cAAc;AAAA,UACd,eAAe;AAAA,UACf,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU;AAAA,UACV,kBAAkB;AAAA,UAClB,aAAa;AAAA,UACb,UAAU;AAAA,UACV,mBAAmB;AAAA,UACnB,aAAa;AAAA,UACb,gBAAgB;AAAA,UAChB,cAAc;AAAA,UACd,eAAe;AAAA,UACf,cAAc;AAAA,QAChB;AAAA,MACF;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,YAAY,CAAC,SAA2C;AACtD,YAAM,UAAU;AAAA,QACd,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU;AAAA,UACV,aAAa;AAAA,UACb,UAAU;AAAA,UACV,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU;AAAA,UACV,aAAa;AAAA,UACb,UAAU;AAAA,UACV,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU;AAAA,UACV,aAAa;AAAA,UACb,UAAU;AAAA,UACV,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU;AAAA,UACV,aAAa;AAAA,UACb,UAAU;AAAA,UACV,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU;AAAA,UACV,aAAa;AAAA,UACb,UAAU;AAAA,UACV,cAAc;AAAA,QAChB;AAAA,MACF;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,UAAU,CAAC,SAAoC;AAC7C,YAAM,UAAU;AAAA,QACd,IAAI;AAAA,UACF,MAAM;AAAA,UACN,UAAU;AAAA,UACV,qBAAqB;AAAA,UACrB,UAAU;AAAA,UACV,SAAS;AAAA,UACT,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,UACF,MAAM;AAAA,UACN,UAAU;AAAA,UACV,qBAAqB;AAAA,UACrB,UAAU;AAAA,UACV,SAAS;AAAA,UACT,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,UACF,MAAM;AAAA,UACN,UAAU;AAAA,UACV,qBAAqB;AAAA,UACrB,UAAU;AAAA,UACV,SAAS;AAAA,UACT,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,UACF,MAAM;AAAA,UACN,UAAU;AAAA,UACV,qBAAqB;AAAA,UACrB,UAAU;AAAA,UACV,SAAS;AAAA,UACT,cAAc;AAAA,QAChB;AAAA,MACF;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,OAAO,CAAC,SAAoC;AAC1C,YAAM,UAAU;AAAA,QACd,IAAI;AAAA,UACF,MAAM;AAAA,UACN,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,qBAAqB;AAAA,UACrB,uBAAuB;AAAA,UACvB,UAAU;AAAA,UACV,SAAS;AAAA,UACT,aAAa;AAAA,QACf;AAAA,QACA,IAAI;AAAA,UACF,MAAM;AAAA,UACN,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,qBAAqB;AAAA,UACrB,uBAAuB;AAAA,UACvB,UAAU;AAAA,UACV,SAAS;AAAA,UACT,aAAa;AAAA,QACf;AAAA,QACA,IAAI;AAAA,UACF,MAAM;AAAA,UACN,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,qBAAqB;AAAA,UACrB,uBAAuB;AAAA,UACvB,UAAU;AAAA,UACV,SAAS;AAAA,UACT,aAAa;AAAA,QACf;AAAA,QACA,IAAI;AAAA,UACF,MAAM;AAAA,UACN,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,qBAAqB;AAAA,UACrB,uBAAuB;AAAA,UACvB,UAAU;AAAA,UACV,SAAS;AAAA,UACT,aAAa;AAAA,QACf;AAAA,MACF;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,OAAO,CAAC,SAA2C;AACjD,YAAM,UAAU;AAAA,QACd,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,iBAAiB;AAAA,UACjB,mBAAmB;AAAA,UACnB,UAAU;AAAA,UACV,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,aAAa;AAAA,UACb,UAAU;AAAA,UACV,YAAY;AAAA,QACd;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,iBAAiB;AAAA,UACjB,mBAAmB;AAAA,UACnB,UAAU;AAAA,UACV,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,aAAa;AAAA,UACb,UAAU;AAAA,UACV,YAAY;AAAA,QACd;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,iBAAiB;AAAA,UACjB,mBAAmB;AAAA,UACnB,UAAU;AAAA,UACV,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,aAAa;AAAA,UACb,UAAU;AAAA,UACV,YAAY;AAAA,QACd;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,iBAAiB;AAAA,UACjB,mBAAmB;AAAA,UACnB,UAAU;AAAA,UACV,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,aAAa;AAAA,UACb,UAAU;AAAA,UACV,YAAY;AAAA,QACd;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,iBAAiB;AAAA,UACjB,mBAAmB;AAAA,UACnB,UAAU;AAAA,UACV,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,aAAa;AAAA,UACb,UAAU;AAAA,UACV,YAAY;AAAA,QACd;AAAA,MACF;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,UAAU,CAAC,SAA2C;AACpD,YAAM,UAAU;AAAA,QACd,IAAI,EAAE,MAAM,IAAI,KAAK,IAAI,UAAU,IAAI,QAAQ,GAAG,aAAa,EAAE;AAAA,QACjE,IAAI,EAAE,MAAM,IAAI,KAAK,GAAG,UAAU,IAAI,QAAQ,GAAG,aAAa,EAAE;AAAA,QAChE,IAAI,EAAE,MAAM,IAAI,KAAK,GAAG,UAAU,IAAI,QAAQ,GAAG,aAAa,EAAE;AAAA,QAChE,IAAI,EAAE,MAAM,IAAI,KAAK,GAAG,UAAU,IAAI,QAAQ,GAAG,aAAa,EAAE;AAAA,QAChE,IAAI,EAAE,MAAM,IAAI,KAAK,GAAG,UAAU,IAAI,QAAQ,GAAG,aAAa,EAAE;AAAA,MAClE;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,UAAU,CAAC,SAA2C;AACpD,YAAM,UAAU;AAAA,QACd,IAAI,EAAE,QAAQ,KAAK,SAAS,QAAQ,IAAI,UAAU,IAAI,UAAU,GAAG;AAAA,QACnE,IAAI,EAAE,QAAQ,KAAK,SAAS,QAAQ,GAAG,UAAU,IAAI,UAAU,GAAG;AAAA,QAClE,IAAI,EAAE,QAAQ,KAAK,SAAS,QAAQ,GAAG,UAAU,IAAI,UAAU,GAAG;AAAA,QAClE,IAAI,EAAE,QAAQ,IAAI,SAAS,QAAQ,GAAG,UAAU,IAAI,UAAU,GAAG;AAAA,QACjE,IAAI,EAAE,QAAQ,IAAI,SAAS,QAAQ,IAAI,UAAU,IAAI,UAAU,GAAG;AAAA,MACpE;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,QAAQ,CAAC,SAAoC;AAC3C,YAAM,UAAU;AAAA,QACd,IAAI;AAAA,UACF,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,qBAAqB;AAAA,UACrB,uBAAuB;AAAA,UACvB,UAAU;AAAA,UACV,SAAS;AAAA,UACT,mBAAmB;AAAA,UACnB,kBAAkB;AAAA,QACpB;AAAA,QACA,IAAI;AAAA,UACF,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,qBAAqB;AAAA,UACrB,uBAAuB;AAAA,UACvB,UAAU;AAAA,UACV,SAAS;AAAA,UACT,mBAAmB;AAAA,UACnB,kBAAkB;AAAA,QACpB;AAAA,QACA,IAAI;AAAA,UACF,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,qBAAqB;AAAA,UACrB,uBAAuB;AAAA,UACvB,UAAU;AAAA,UACV,SAAS;AAAA,UACT,mBAAmB;AAAA,UACnB,kBAAkB;AAAA,QACpB;AAAA,QACA,IAAI;AAAA,UACF,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,qBAAqB;AAAA,UACrB,uBAAuB;AAAA,UACvB,UAAU;AAAA,UACV,SAAS;AAAA,UACT,mBAAmB;AAAA,UACnB,kBAAkB;AAAA,QACpB;AAAA,MACF;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,QAAQ,CAAC,SAA2C;AAElD,YAAM,UAAU;AAAA,QACd,IAAI;AAAA,UACF,MAAM;AAAA,UACN,UAAU;AAAA,UACV,UAAU;AAAA,UACV,WAAW;AAAA,UACX,mBAAmB,EAAE,OAAO,IAAI,KAAK,GAAG;AAAA,UACxC,mBAAmB,EAAE,OAAO,IAAI,KAAK,GAAG;AAAA,UACxC,oBAAoB,OAAO;AAAA,UAC3B,oBAAoB,OAAO;AAAA,QAC7B;AAAA,QACA,IAAI;AAAA,UACF,MAAM;AAAA,UACN,UAAU;AAAA,UACV,UAAU;AAAA,UACV,WAAW;AAAA,UACX,mBAAmB,EAAE,OAAO,IAAI,KAAK,GAAG;AAAA,UACxC,mBAAmB,EAAE,OAAO,IAAI,KAAK,GAAG;AAAA,UACxC,oBAAoB,OAAO;AAAA,UAC3B,oBAAoB,OAAO;AAAA,QAC7B;AAAA,QACA,IAAI;AAAA,UACF,MAAM;AAAA,UACN,UAAU;AAAA,UACV,UAAU;AAAA,UACV,WAAW;AAAA,UACX,mBAAmB,EAAE,OAAO,IAAI,KAAK,GAAG;AAAA,UACxC,mBAAmB,EAAE,OAAO,IAAI,KAAK,GAAG;AAAA,UACxC,oBAAoB,OAAO;AAAA,UAC3B,oBAAoB,OAAO;AAAA,QAC7B;AAAA,QACA,IAAI;AAAA,UACF,MAAM;AAAA,UACN,UAAU;AAAA,UACV,UAAU;AAAA,UACV,WAAW;AAAA,UACX,mBAAmB,EAAE,OAAO,IAAI,KAAK,GAAG;AAAA,UACxC,mBAAmB,EAAE,OAAO,IAAI,KAAK,GAAG;AAAA,UACxC,oBAAoB,OAAO;AAAA,UAC3B,oBAAoB,OAAO;AAAA,QAC7B;AAAA,QACA,IAAI;AAAA,UACF,MAAM;AAAA,UACN,UAAU;AAAA,UACV,UAAU;AAAA,UACV,WAAW;AAAA,UACX,mBAAmB,EAAE,OAAO,IAAI,KAAK,GAAG;AAAA,UACxC,mBAAmB,EAAE,OAAO,IAAI,KAAK,GAAG;AAAA,UACxC,oBAAoB,OAAO;AAAA,UAC3B,oBAAoB,OAAO;AAAA,QAC7B;AAAA,MACF;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,KAAK,CAAC,SAA2C;AAC/C,YAAM,UAAU;AAAA,QACd,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAU;AAAA,UACV,QAAQ,OAAO;AAAA,QACjB;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAU;AAAA,UACV,QAAQ,OAAO;AAAA,QACjB;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAU;AAAA,UACV,QAAQ,OAAO;AAAA,QACjB;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAU;AAAA,UACV,QAAQ,OAAO;AAAA,QACjB;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAU;AAAA,UACV,QAAQ,OAAO;AAAA,QACjB;AAAA,MACF;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,SAAS,CAAC,SAA6B;AACrC,YAAM,UAAU;AAAA,QACd,IAAI,EAAE,QAAQ,IAAI,UAAU,IAAI,YAAY,EAAE;AAAA,QAC9C,IAAI,EAAE,QAAQ,IAAI,UAAU,IAAI,YAAY,EAAE;AAAA,QAC9C,IAAI,EAAE,QAAQ,IAAI,UAAU,IAAI,YAAY,EAAE;AAAA,MAChD;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,SAAS,CAAC,SAA2C;AACnD,YAAM,UAAU;AAAA,QACd,IAAI,EAAE,MAAM,IAAI,aAAa,GAAG;AAAA,QAChC,IAAI,EAAE,MAAM,IAAI,aAAa,EAAE;AAAA,QAC/B,IAAI,EAAE,MAAM,IAAI,aAAa,EAAE;AAAA,QAC/B,IAAI,EAAE,MAAM,IAAI,aAAa,EAAE;AAAA,QAC/B,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE;AAAA,MAChC;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,MAAM,CAAC,SAAoC;AACzC,YAAM,UAAU;AAAA,QACd,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,UAAU;AAAA,UACV,KAAK;AAAA,UACL,mBAAmB;AAAA,QACrB;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,UAAU;AAAA,UACV,KAAK;AAAA,UACL,mBAAmB;AAAA,QACrB;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,UAAU;AAAA,UACV,KAAK;AAAA,UACL,mBAAmB;AAAA,QACrB;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,UAAU;AAAA,UACV,KAAK;AAAA,UACL,mBAAmB;AAAA,QACrB;AAAA,MACF;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,WAAW,CAAC,SAAoC;AAC9C,YAAM,UAAU;AAAA,QACd,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,UAAU;AAAA,UACV,KAAK;AAAA,UACL,SAAS;AAAA,QACX;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,UAAU;AAAA,UACV,KAAK;AAAA,UACL,SAAS;AAAA,QACX;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,UAAU;AAAA,UACV,KAAK;AAAA,UACL,SAAS;AAAA,QACX;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,UAAU;AAAA,UACV,KAAK;AAAA,UACL,SAAS;AAAA,QACX;AAAA,MACF;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,eAAe,CAAC,SAAoC;AAElD,YAAM,UAAU;AAAA,QACd,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,kBAAkB;AAAA,UAClB,iBAAiB;AAAA,UACjB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,YAAY;AAAA,UACZ,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,UAAU;AAAA,UACV,KAAK;AAAA,QACP;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,kBAAkB;AAAA,UAClB,iBAAiB;AAAA,UACjB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,YAAY;AAAA,UACZ,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,UAAU;AAAA,UACV,KAAK;AAAA,QACP;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,kBAAkB;AAAA,UAClB,iBAAiB;AAAA,UACjB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,YAAY;AAAA,UACZ,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,UAAU;AAAA,UACV,KAAK;AAAA,QACP;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,kBAAkB;AAAA,UAClB,iBAAiB;AAAA,UACjB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,YAAY;AAAA,UACZ,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,UAAU;AAAA,UACV,KAAK;AAAA,QACP;AAAA,MACF;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,kBAAkB,CAAC,SAAoC;AACrD,YAAM,UAAU;AAAA,QACd,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,mBAAmB;AAAA,UACnB,iBAAiB;AAAA,UACjB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,KAAK;AAAA,UACL,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,mBAAmB;AAAA,UACnB,iBAAiB;AAAA,UACjB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,KAAK;AAAA,UACL,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,mBAAmB;AAAA,UACnB,iBAAiB;AAAA,UACjB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,KAAK;AAAA,UACL,cAAc;AAAA,QAChB;AAAA,QACA,IAAI;AAAA,UACF,QAAQ;AAAA,UACR,mBAAmB;AAAA,UACnB,iBAAiB;AAAA,UACjB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,KAAK;AAAA,UACL,cAAc;AAAA,QAChB;AAAA,MACF;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,OAAO,CAAC,SAA2C;AACjD,YAAM,UAAU;AAAA,QACd,IAAI;AAAA,UACF,MAAM;AAAA,UACN,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,UAAU;AAAA,UACV,SAAS;AAAA,QACX;AAAA,QACA,IAAI;AAAA,UACF,MAAM;AAAA,UACN,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,UAAU;AAAA,UACV,SAAS;AAAA,QACX;AAAA,QACA,IAAI,EAAE,MAAM,IAAI,UAAU,IAAI,YAAY,IAAI,UAAU,GAAG,SAAS,EAAE;AAAA,QACtE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,EAAE;AAAA,QACnE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,EAAE;AAAA,MACrE;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,cAAc,CAAC,SAA6B;AAC1C,YAAM,UAAU;AAAA,QACd,OAAO;AAAA,UACL,OAAO;AAAA,UACP,mBAAmB;AAAA,UACnB,iBAAiB;AAAA,UACjB,KAAK;AAAA,UACL,WAAW;AAAA,UACX,aAAa;AAAA,UACb,UAAU;AAAA,UACV,iBAAiB;AAAA,UACjB,QAAQ,OAAO;AAAA,QACjB;AAAA,QACA,QAAQ;AAAA,UACN,OAAO;AAAA,UACP,mBAAmB;AAAA,UACnB,iBAAiB;AAAA,UACjB,KAAK;AAAA,UACL,WAAW;AAAA,UACX,aAAa;AAAA,UACb,UAAU;AAAA,UACV,iBAAiB;AAAA,UACjB,QAAQ,OAAO;AAAA,QACjB;AAAA,MACF;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,UAAU,CAAC,SAAmD;AAC5D,YAAM,UAAU;AAAA,QACd,IAAI,EAAE,QAAQ,IAAI,WAAW,IAAI,YAAY,IAAI,KAAK,GAAG;AAAA,QACzD,IAAI,EAAE,QAAQ,GAAG,WAAW,IAAI,YAAY,IAAI,KAAK,EAAE;AAAA,QACvD,IAAI,EAAE,QAAQ,GAAG,WAAW,IAAI,YAAY,IAAI,KAAK,EAAE;AAAA,QACvD,IAAI,EAAE,QAAQ,GAAG,WAAW,IAAI,YAAY,IAAI,KAAK,EAAE;AAAA,QACvD,IAAI,EAAE,QAAQ,GAAG,WAAW,IAAI,YAAY,IAAI,KAAK,EAAE;AAAA,QACvD,KAAK,EAAE,QAAQ,GAAG,WAAW,IAAI,YAAY,IAAI,KAAK,EAAE;AAAA,MAC1D;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,gBAAgB,CAAC,SAA2C;AAC1D,YAAM,UAAU;AAAA,QACd,IAAI,EAAE,UAAU,IAAI,YAAY,QAAQ,KAAK,GAAG,UAAU,GAAG;AAAA,QAC7D,IAAI,EAAE,UAAU,IAAI,YAAY,QAAQ,KAAK,GAAG,UAAU,GAAG;AAAA,QAC7D,IAAI,EAAE,UAAU,IAAI,YAAY,QAAQ,KAAK,GAAG,UAAU,GAAG;AAAA,QAC7D,IAAI,EAAE,UAAU,IAAI,YAAY,QAAQ,KAAK,GAAG,UAAU,GAAG;AAAA,QAC7D,IAAI,EAAE,UAAU,IAAI,YAAY,QAAQ,KAAK,GAAG,UAAU,GAAG;AAAA,MAC/D;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,aAAa,CAAC,SAAmD;AAC/D,YAAM,UAAU;AAAA,QACd,IAAI,EAAE,MAAM,IAAI,UAAU,IAAI,UAAU,GAAG;AAAA,QAC3C,IAAI,EAAE,MAAM,IAAI,UAAU,IAAI,UAAU,GAAG;AAAA,QAC3C,IAAI,EAAE,MAAM,IAAI,UAAU,IAAI,UAAU,GAAG;AAAA,QAC3C,IAAI,EAAE,MAAM,IAAI,UAAU,IAAI,UAAU,GAAG;AAAA,QAC3C,IAAI,EAAE,MAAM,IAAI,UAAU,IAAI,UAAU,GAAG;AAAA,QAC3C,KAAK,EAAE,MAAM,IAAI,UAAU,IAAI,UAAU,GAAG;AAAA,MAC9C;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,SAAS,CAAC,SAAsB;AAC9B,YAAM,UAAU;AAAA,QACd,IAAI;AAAA,UACF,UAAU;AAAA,UACV,WAAW;AAAA,UACX,UAAU;AAAA,UACV,KAAK;AAAA,UACL,kBAAkB;AAAA,UAClB,iBAAiB;AAAA,UACjB,gBAAgB;AAAA,UAChB,UAAU;AAAA,QACZ;AAAA,QACA,IAAI;AAAA,UACF,UAAU;AAAA,UACV,WAAW;AAAA,UACX,UAAU;AAAA,UACV,KAAK;AAAA,UACL,kBAAkB;AAAA,UAClB,iBAAiB;AAAA,UACjB,gBAAgB;AAAA,UAChB,UAAU;AAAA,QACZ;AAAA,MACF;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,aAAa,CAAC,SAAoC;AAEhD,YAAM,UAAU;AAAA,QACd,IAAI;AAAA,UACF,iBAAiB;AAAA,UACjB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,qBAAqB;AAAA,UACrB,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAU;AAAA;AAAA,UAEV,yBAAyB;AAAA,UACzB,uBAAuB;AAAA,UACvB,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,kBAAkB;AAAA,UAClB,gBAAgB;AAAA,QAClB;AAAA,QACA,IAAI;AAAA,UACF,iBAAiB;AAAA,UACjB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,qBAAqB;AAAA,UACrB,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAU;AAAA;AAAA,UAEV,yBAAyB;AAAA,UACzB,uBAAuB;AAAA,UACvB,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,kBAAkB;AAAA,UAClB,gBAAgB;AAAA,QAClB;AAAA,QACA,IAAI;AAAA,UACF,iBAAiB;AAAA,UACjB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,qBAAqB;AAAA,UACrB,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAU;AAAA;AAAA,UAEV,yBAAyB;AAAA,UACzB,uBAAuB;AAAA,UACvB,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,kBAAkB;AAAA,UAClB,gBAAgB;AAAA,QAClB;AAAA,QACA,IAAI;AAAA,UACF,iBAAiB;AAAA,UACjB,uBAAuB;AAAA,UACvB,qBAAqB;AAAA,UACrB,UAAU;AAAA,UACV,YAAY;AAAA,UACZ,qBAAqB;AAAA,UACrB,UAAU;AAAA,UACV,KAAK;AAAA,UACL,UAAU;AAAA;AAAA,UAEV,yBAAyB;AAAA,UACzB,uBAAuB;AAAA,UACvB,WAAW;AAAA,UACX,gBAAgB;AAAA,UAChB,kBAAkB;AAAA,UAClB,gBAAgB;AAAA,QAClB;AAAA,MACF;AACA,aAAO,QAAQ,IAAI;AAAA,IACrB;AAAA,IACA,OAAO,MAAM;AAEX,aAAO;AAAA,QACL,WAAW;AAAA,QACX,mBAAmB;AAAA,QACnB,iBAAiB;AAAA,QACjB,cAAc;AAAA,QACd,KAAK;AAAA,QACL,UAAU;AAAA,QACV,iBAAiB;AAAA,QACjB,eAAe;AAAA,QACf,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,kBAAkB;AAAA,QAClB,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AACF;AAQA,IAAM,sBAAsB;AAAA,EAC1B;AACF;AAEO,IAAM,cAGR,CAAC,EAAE,UAAU,cAAc,OAAO,MAAM;AAC3C,QAAM,CAAC,MAAM,OAAO,IAAI,SAAoB,WAAW;AAEvD,QAAM,QAAQ;AAAA,IACZ,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,OAAO,YAAY,IAAI;AAAA,IACzB;AAAA,IACA,CAAC,IAAI;AAAA,EACP;AAEA,SACE,oBAAC,oBAAoB,UAApB,EAA6B,OAC3B,UACH;AAEJ;AAEO,IAAM,kBAAkB,MAAM;AACnC,QAAM,UAAU,WAAW,mBAAmB;AAC9C,MAAI,CAAC,SAAS;AAEZ,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAM;AAAA,MAAC;AAAA,MAChB,OAAO,YAAY,MAAM;AAAA,IAC3B;AAAA,EACF;AACA,SAAO;AACT;AAEA,IAAI,YAAY;AAEhB,IAAM,gBAAgB,OAAO,MAAM,UAAU;AAE7C,IAAM,gBAAgB,MAAc;AAClC,QAAM,CAAC,EAAE,IAAI,SAAS,MAAM,OAAO,EAAE,SAAS,EAAE;AAChD,SAAO;AACT;AAEO,IAAM,QAAsB,gBAAgB,MAAM,QAAQ;AAO1D,IAAM,iBAAiB,cAA6B,IAAI;AAOxD,IAAM,aAAa,MAAqB,WAAW,cAAc;","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\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: {\n height: 64,\n padding: 20,\n fontSize: 20,\n sublabelFontSize: 18,\n spinnerSize: 24,\n iconSize: 32,\n iconContainerSize: 64,\n iconPadding: 20,\n loadingPadding: 40,\n borderRadius: 4,\n labelIconSize: 18,\n labelIconGap: 6,\n },\n lg: {\n height: 56,\n padding: 20,\n fontSize: 18,\n sublabelFontSize: 16,\n spinnerSize: 24,\n iconSize: 32,\n iconContainerSize: 56,\n iconPadding: 20,\n loadingPadding: 36,\n borderRadius: 4,\n labelIconSize: 16,\n labelIconGap: 6,\n },\n md: {\n height: 48,\n padding: 20,\n fontSize: 16,\n sublabelFontSize: 14,\n spinnerSize: 20,\n iconSize: 28,\n iconContainerSize: 48,\n iconPadding: 20,\n loadingPadding: 32,\n borderRadius: 2,\n labelIconSize: 14,\n labelIconGap: 4,\n },\n sm: {\n height: 40,\n padding: 20,\n fontSize: 14,\n sublabelFontSize: 12,\n spinnerSize: 16,\n iconSize: 28,\n iconContainerSize: 40,\n iconPadding: 20,\n loadingPadding: 28,\n borderRadius: 2,\n labelIconSize: 12,\n labelIconGap: 4,\n },\n xs: {\n height: 32,\n padding: 20,\n fontSize: 12,\n sublabelFontSize: 10,\n spinnerSize: 16,\n iconSize: 24,\n iconContainerSize: 32,\n iconPadding: 20,\n loadingPadding: 28,\n borderRadius: 2,\n labelIconSize: 10,\n labelIconGap: 4,\n },\n };\n return configs[size];\n },\n flexButton: (size: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"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 lg: {\n height: 32,\n padding: 4,\n fontSize: 14,\n spinnerSize: 24,\n iconSize: 18,\n borderRadius: 4,\n },\n md: {\n height: 28,\n padding: 2,\n fontSize: 14,\n spinnerSize: 24,\n iconSize: 16,\n borderRadius: 2,\n },\n sm: {\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\" | \"lg\" | \"md\" | \"sm\") => {\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 lg: {\n size: 20,\n fontSize: 16,\n descriptionFontSize: 14,\n labelGap: 10,\n textGap: 2,\n borderRadius: 2,\n },\n md: {\n size: 18,\n fontSize: 16,\n descriptionFontSize: 14,\n labelGap: 8,\n textGap: 2,\n borderRadius: 2,\n },\n sm: {\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\" | \"lg\" | \"md\" | \"sm\") => {\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 lg: {\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 md: {\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 sm: {\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\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: {\n height: 64,\n paddingVertical: 12,\n paddingHorizontal: 12,\n fontSize: 20,\n iconSize: 18,\n radius: 4,\n borderWidth: 2,\n fieldGap: 8,\n lineHeight: 20,\n },\n lg: {\n height: 56,\n paddingVertical: 14,\n paddingHorizontal: 12,\n fontSize: 18,\n iconSize: 18,\n radius: 4,\n borderWidth: 2,\n fieldGap: 6,\n lineHeight: 18,\n },\n md: {\n height: 48,\n paddingVertical: 11,\n paddingHorizontal: 12,\n fontSize: 16,\n iconSize: 18,\n radius: 2,\n borderWidth: 1,\n fieldGap: 4,\n lineHeight: 16,\n },\n sm: {\n height: 40,\n paddingVertical: 7,\n paddingHorizontal: 10,\n fontSize: 14,\n iconSize: 18,\n radius: 2,\n borderWidth: 1,\n fieldGap: 4,\n lineHeight: 14,\n },\n xs: {\n height: 32,\n paddingVertical: 7,\n paddingHorizontal: 10,\n fontSize: 12,\n iconSize: 18,\n radius: 2,\n borderWidth: 1,\n fieldGap: 4,\n lineHeight: 10,\n },\n };\n return configs[size];\n },\n inputPin: (size: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: { size: 64, gap: 10, fontSize: 20, radius: 4, borderWidth: 2 },\n lg: { size: 56, gap: 8, fontSize: 18, radius: 4, borderWidth: 2 },\n md: { size: 48, gap: 6, fontSize: 16, radius: 2, borderWidth: 1 },\n sm: { 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\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: { height: 144, padding: spacing.xl, fontSize: 20, iconSize: 32 },\n lg: { height: 128, padding: spacing.l, fontSize: 18, iconSize: 28 },\n md: { height: 112, padding: spacing.m, fontSize: 16, iconSize: 24 },\n sm: { 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\" | \"lg\" | \"md\" | \"sm\") => {\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 lg: {\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 md: {\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 sm: {\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\" | \"lg\" | \"md\" | \"sm\" | \"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 lg: {\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 md: {\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 sm: {\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\" | \"lg\" | \"md\" | \"sm\" | \"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 lg: {\n height: 40,\n padding: 16,\n fontSize: 18,\n gap: 8,\n iconSize: 24,\n radius: radius.tagLarge,\n },\n md: {\n height: 32,\n padding: 12,\n fontSize: 16,\n gap: 6,\n iconSize: 16,\n radius: radius.tagSmall,\n },\n sm: {\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: \"lg\" | \"md\" | \"sm\") => {\n const configs = {\n lg: { height: 18, fontSize: 16, lineWeight: 1 },\n md: { height: 16, fontSize: 14, lineWeight: 1 },\n sm: { height: 14, fontSize: 12, lineWeight: 1 },\n };\n return configs[size];\n },\n spinner: (size: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: { size: 96, strokeWidth: 10 },\n lg: { size: 48, strokeWidth: 5 },\n md: { size: 24, strokeWidth: 2 },\n sm: { size: 16, strokeWidth: 2 },\n xs: { size: 8, strokeWidth: 1 },\n };\n return configs[size];\n },\n tabs: (size: \"xl\" | \"lg\" | \"md\" | \"sm\") => {\n const configs = {\n xl: {\n height: 64,\n fontSize: 20,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n lg: {\n height: 56,\n fontSize: 18,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n md: {\n height: 48,\n fontSize: 16,\n iconSize: 18,\n gap: 6,\n paddingHorizontal: 20,\n },\n sm: {\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\" | \"lg\" | \"md\" | \"sm\") => {\n const configs = {\n xl: {\n height: 64,\n fontSize: 20,\n iconSize: 24,\n gap: 8,\n padding: 20,\n },\n lg: {\n height: 56,\n fontSize: 18,\n iconSize: 24,\n gap: 8,\n padding: 16,\n },\n md: {\n height: 48,\n fontSize: 16,\n iconSize: 24,\n gap: 8,\n padding: 12,\n },\n sm: {\n height: 40,\n fontSize: 14,\n iconSize: 20,\n gap: 6,\n padding: 8,\n },\n };\n return configs[size];\n },\n tabsSegmented: (size: \"xl\" | \"lg\" | \"md\" | \"sm\") => {\n // Sizing based on Figma: node-id=5986-3922\n const configs = {\n xl: {\n height: 64,\n containerPadding: 4,\n containerRadius: 4,\n itemPaddingHorizontal: 16,\n itemPaddingVertical: 18,\n itemRadius: 2,\n fontSize: 20,\n lineHeight: 22,\n iconSize: 24,\n gap: 8,\n },\n lg: {\n height: 56,\n containerPadding: 4,\n containerRadius: 4,\n itemPaddingHorizontal: 16,\n itemPaddingVertical: 14,\n itemRadius: 2,\n fontSize: 18,\n lineHeight: 20,\n iconSize: 24,\n gap: 8,\n },\n md: {\n height: 48,\n containerPadding: 4,\n containerRadius: 4,\n itemPaddingHorizontal: 12,\n itemPaddingVertical: 11,\n itemRadius: 2,\n fontSize: 16,\n lineHeight: 18,\n iconSize: 24,\n gap: 6,\n },\n sm: {\n height: 40,\n containerPadding: 3,\n containerRadius: 2,\n itemPaddingHorizontal: 12,\n itemPaddingVertical: 8,\n itemRadius: 2,\n fontSize: 14,\n lineHeight: 16,\n iconSize: 20,\n gap: 6,\n },\n };\n return configs[size];\n },\n checkboxTagGroup: (size: \"xl\" | \"lg\" | \"md\" | \"sm\") => {\n const configs = {\n xl: {\n height: 64,\n paddingHorizontal: 16,\n paddingVertical: 21,\n fontSize: 20,\n lineHeight: 22,\n gap: 8,\n borderRadius: 4,\n },\n lg: {\n height: 56,\n paddingHorizontal: 16,\n paddingVertical: 18,\n fontSize: 18,\n lineHeight: 20,\n gap: 8,\n borderRadius: 4,\n },\n md: {\n height: 48,\n paddingHorizontal: 12,\n paddingVertical: 15,\n fontSize: 16,\n lineHeight: 18,\n gap: 8,\n borderRadius: 2,\n },\n sm: {\n height: 40,\n paddingHorizontal: 12,\n paddingVertical: 11,\n fontSize: 14,\n lineHeight: 16,\n gap: 4,\n borderRadius: 2,\n },\n };\n return configs[size];\n },\n badge: (size: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: {\n size: 20,\n fontSize: 12,\n lineHeight: 14,\n iconSize: 12,\n padding: 4,\n },\n lg: {\n size: 16,\n fontSize: 10,\n lineHeight: 10,\n iconSize: 10,\n padding: 4,\n },\n md: { size: 12, fontSize: 10, lineHeight: 10, iconSize: 8, padding: 4 },\n sm: { 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 notificationPanel: () => ({\n minHeight: 66,\n iconFrameWidth: 54,\n iconSize: 24,\n borderRadius: 8,\n bodyPaddingHorizontal: 16,\n bodyPaddingVertical: 12,\n textGap: 2,\n contentGap: 24,\n buttonsGap: 8,\n closeButtonSize: 32,\n titleFontSize: 16,\n titleLineHeight: 20,\n descriptionFontSize: 14,\n descriptionLineHeight: 20,\n }),\n progress: (size: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"xs\" | \"xxs\") => {\n const configs = {\n xl: { height: 10, labelSize: 16, helperSize: 14, gap: 10 },\n lg: { height: 8, labelSize: 14, helperSize: 12, gap: 8 },\n md: { height: 6, labelSize: 12, helperSize: 12, gap: 6 },\n sm: { 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\" | \"lg\" | \"md\" | \"sm\" | \"xs\") => {\n const configs = {\n xl: { fontSize: 18, lineHeight: \"20px\", gap: 6, iconSize: 18 },\n lg: { fontSize: 16, lineHeight: \"18px\", gap: 6, iconSize: 18 },\n md: { fontSize: 14, lineHeight: \"16px\", gap: 6, iconSize: 18 },\n sm: { 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\" | \"lg\" | \"md\" | \"sm\" | \"xs\" | \"xxs\") => {\n const configs = {\n xl: { size: 56, iconSize: 32, fontSize: 24 },\n lg: { size: 48, iconSize: 28, fontSize: 20 },\n md: { size: 40, iconSize: 24, fontSize: 18 },\n sm: { 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 contextMenu: (size: \"xl\" | \"lg\" | \"md\" | \"sm\") => {\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 lg: {\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 md: {\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 sm: {\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 toast: () => {\n // Sizing values from Figma design: node-id=3044-8872\n return {\n minHeight: 64,\n paddingHorizontal: 12,\n paddingVertical: 8,\n borderRadius: 4,\n gap: 12,\n iconSize: 24,\n closeButtonSize: 24,\n closeIconSize: 20,\n fontSize: 16,\n lineHeight: 20,\n maxWidth: 400,\n containerPadding: 12,\n groupGap: 4,\n };\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;\n\nconst hasReactUseId = typeof React.useId === \"function\";\n\nconst useIdFallback = (): string => {\n const [id] = useState(() => `xui-${++idCounter}`);\n return id;\n};\n\nexport const useId: () => string = hasReactUseId ? React.useId : useIdFallback;\n\n/**\n * Context for the current modal's ID.\n * Used by portal-based components (tooltips, dropdowns) to mark their content\n * as belonging to a modal, preventing click-outside from closing the modal.\n */\nexport const ModalIdContext = createContext<string | null>(null);\n\n/**\n * Returns the current modal's ID for use with portal content.\n * Apply as `data-modal-id={modalId}` to portal containers.\n * Returns null if not inside a modal.\n */\nexport const useModalId = (): string | null => useContext(ModalIdContext);\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 \"bgDisable\": \"rgba(102, 230, 255, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(255, 255, 255, 0)\",\n \"bgHover\": \"rgba(102, 230, 255, 0.12)\",\n \"bgPress\": \"rgba(102, 230, 255, 0.08)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0)\",\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\": \"#66e6ff\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(102, 230, 255, 0.4)\"\n }\n }\n },\n\n \"brandExtra\": {\n \"primary\": {\n \"bg\": \"#d9ff66\",\n \"bgHover\": \"#ccff33\",\n \"bgPress\": \"#e6ff99\",\n \"bgDisable\": \"#6b7755\",\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\": \"#a6b5a0\"\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 \"bgDisable\": \"rgba(217, 255, 102, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(255, 255, 255, 0)\",\n \"bgHover\": \"rgba(217, 255, 102, 0.12)\",\n \"bgPress\": \"rgba(217, 255, 102, 0.08)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0)\",\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\": \"#d9ff66\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(217, 255, 102, 0.4)\"\n }\n }\n },\n\n \"alert\": {\n \"primary\": {\n \"bg\": \"#ff8066\",\n \"bgHover\": \"#ffaa99\",\n \"bgPress\": \"#ff5533\",\n \"bgDisable\": \"#775555\",\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\": \"#ffffff\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"#bfa6a6\"\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 \"bgDisable\": \"rgba(255, 128, 102, 0.2)\",\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\": \"#ffffff\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(255, 255, 255, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(255, 255, 255, 0)\",\n \"bgHover\": \"rgba(255, 128, 102, 0.12)\",\n \"bgPress\": \"rgba(255, 128, 102, 0.08)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0)\",\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\": \"#ff8066\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(255, 128, 102, 0.4)\"\n }\n }\n },\n\n \"mono\": {\n \"primary\": {\n \"bg\": \"#ffffff\",\n \"bgHover\": \"#f0f4f4\",\n \"bgPress\": \"#f6f8f9\",\n \"bgDisable\": \"#707777\",\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\": \"#a6b5b5\"\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 \"bgDisable\": \"rgba(255, 255, 255, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(255, 255, 255, 0)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.12)\",\n \"bgPress\": \"rgba(255, 255, 255, 0.08)\",\n \"bgDisable\": \"rgba(255, 255, 255, 0)\",\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\": \"#ffffff\",\n \"secondary\": \"#ffffff\",\n \"disable\": \"rgba(255, 255, 255, 0.4)\"\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 \"segmented\": {\n \"bg\": \"rgba(255, 255, 255, 0.08)\",\n \"bgHover\": \"rgba(255, 255, 255, 0.10)\",\n \"bgActive\": \"#ffffff\",\n \"textActive\": \"#1a1a1a\"\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 \"bgDisable\": \"rgba(51, 221, 255, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(0, 0, 0, 0)\",\n \"bgHover\": \"rgba(51, 221, 255, 0.12)\",\n \"bgPress\": \"rgba(51, 221, 255, 0.08)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0)\",\n \"borderPress\": \"rgba(0, 0, 0, 0)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": {\n \"primary\": \"#00aacc\",\n \"secondary\": \"#000000\",\n \"disable\": \"rgba(0, 170, 204, 0.4)\"\n }\n }\n },\n\n \"brandExtra\": {\n \"primary\": {\n \"bg\": \"#bfff00\",\n \"bgHover\": \"#ccff33\",\n \"bgPress\": \"#99cc00\",\n \"bgDisable\": \"#d4d9c4\",\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\": \"#8a9480\"\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 \"bgDisable\": \"rgba(191, 255, 0, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(0, 0, 0, 0)\",\n \"bgHover\": \"rgba(191, 255, 0, 0.12)\",\n \"bgPress\": \"rgba(191, 255, 0, 0.08)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0)\",\n \"borderPress\": \"rgba(0, 0, 0, 0)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": {\n \"primary\": \"#739900\",\n \"secondary\": \"#000000\",\n \"disable\": \"rgba(115, 153, 0, 0.4)\"\n }\n }\n },\n\n \"alert\": {\n \"primary\": {\n \"bg\": \"#ff2b00\",\n \"bgHover\": \"#ff5533\",\n \"bgPress\": \"#cc2200\",\n \"bgDisable\": \"#d9c4c4\",\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\": \"#ffffff\",\n \"secondary\": \"#000000\",\n \"disable\": \"#a08080\"\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 \"bgDisable\": \"rgba(255, 43, 0, 0.2)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(0, 0, 0, 0)\",\n \"bgHover\": \"rgba(255, 43, 0, 0.12)\",\n \"bgPress\": \"rgba(255, 43, 0, 0.08)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0)\",\n \"borderPress\": \"rgba(0, 0, 0, 0)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": {\n \"primary\": \"#cc2200\",\n \"secondary\": \"#000000\",\n \"disable\": \"rgba(204, 34, 0, 0.4)\"\n }\n }\n },\n\n \"mono\": {\n \"primary\": {\n \"bg\": \"#000000\",\n \"bgHover\": \"#151c1e\",\n \"bgPress\": \"#202a2c\",\n \"bgDisable\": \"#b0b0b0\",\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\": \"#ffffff\",\n \"secondary\": \"#000000\",\n \"disable\": \"#707070\"\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 \"bgDisable\": \"rgba(0, 0, 0, 0.06)\",\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\": \"rgba(0, 0, 0, 0.4)\"\n }\n },\n\n \"tertiary\": {\n \"bg\": \"rgba(0, 0, 0, 0)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.08)\",\n \"bgPress\": \"rgba(0, 0, 0, 0.05)\",\n \"bgDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"border\": \"rgba(0, 0, 0, 0)\",\n \"borderHover\": \"rgba(0, 0, 0, 0)\",\n \"borderPress\": \"rgba(0, 0, 0, 0)\",\n \"borderDisable\": \"rgba(0, 0, 0, 0)\",\n\n \"text\": {\n \"primary\": \"#000000\",\n \"secondary\": \"#000000\",\n \"disable\": \"rgba(0, 0, 0, 0.4)\"\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 \"segmented\": {\n \"bg\": \"rgba(0, 0, 0, 0.08)\",\n \"bgHover\": \"rgba(0, 0, 0, 0.10)\",\n \"bgActive\": \"#ffffff\",\n \"textActive\": \"#1a1a1a\"\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":[]}
|