beacon-ui 3.1.4
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/CHANGELOG.md +50 -0
- package/README.md +175 -0
- package/dist/components/Avatar.d.ts +20 -0
- package/dist/components/Avatar.d.ts.map +1 -0
- package/dist/components/Avatar.js +174 -0
- package/dist/components/Button.d.ts +21 -0
- package/dist/components/Button.d.ts.map +1 -0
- package/dist/components/Button.js +227 -0
- package/dist/components/Card.d.ts +40 -0
- package/dist/components/Card.d.ts.map +1 -0
- package/dist/components/Card.js +517 -0
- package/dist/components/Checkbox.d.ts +12 -0
- package/dist/components/Checkbox.d.ts.map +1 -0
- package/dist/components/Checkbox.js +64 -0
- package/dist/components/CheckboxPreview.d.ts +13 -0
- package/dist/components/CheckboxPreview.d.ts.map +1 -0
- package/dist/components/CheckboxPreview.js +155 -0
- package/dist/components/Chip.d.ts +15 -0
- package/dist/components/Chip.d.ts.map +1 -0
- package/dist/components/Chip.js +99 -0
- package/dist/components/Input.d.ts +24 -0
- package/dist/components/Input.d.ts.map +1 -0
- package/dist/components/Input.js +138 -0
- package/dist/components/Menu.d.ts +20 -0
- package/dist/components/Menu.d.ts.map +1 -0
- package/dist/components/Menu.js +252 -0
- package/dist/components/RadioButton.d.ts +13 -0
- package/dist/components/RadioButton.d.ts.map +1 -0
- package/dist/components/RadioButton.js +140 -0
- package/dist/components/Switch.d.ts +11 -0
- package/dist/components/Switch.d.ts.map +1 -0
- package/dist/components/Switch.js +64 -0
- package/dist/components/SwitchPreview.d.ts +14 -0
- package/dist/components/SwitchPreview.d.ts.map +1 -0
- package/dist/components/SwitchPreview.js +281 -0
- package/dist/icons/index.d.ts +97 -0
- package/dist/icons/index.d.ts.map +1 -0
- package/dist/icons/index.js +383 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/providers/ThemeProvider.d.ts +23 -0
- package/dist/providers/ThemeProvider.d.ts.map +1 -0
- package/dist/providers/ThemeProvider.js +79 -0
- package/dist/tokens/types.d.ts +14 -0
- package/dist/tokens/types.d.ts.map +1 -0
- package/dist/tokens/types.js +5 -0
- package/dist/utils/patternPaths.d.ts +28 -0
- package/dist/utils/patternPaths.d.ts.map +1 -0
- package/dist/utils/patternPaths.js +92 -0
- package/package.json +51 -0
- package/tokens/generated/brand-dark.css +86 -0
- package/tokens/generated/brand-light.css +86 -0
- package/tokens/generated/effects.css +10 -0
- package/tokens/generated/index.css +804 -0
- package/tokens/generated/primitives.css +116 -0
- package/tokens/generated/responsive.css +235 -0
- package/tokens/generated/semantic.css +138 -0
- package/tokens/generated/typography.css +124 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { Button } from "./components/Button";
|
|
2
|
+
export { Card } from "./components/Card";
|
|
3
|
+
export { Checkbox } from "./components/Checkbox";
|
|
4
|
+
export { Switch } from "./components/Switch";
|
|
5
|
+
export { Input } from "./components/Input";
|
|
6
|
+
export { Avatar } from "./components/Avatar";
|
|
7
|
+
export { Chip } from "./components/Chip";
|
|
8
|
+
export { Menu } from "./components/Menu";
|
|
9
|
+
export { RadioButton } from "./components/RadioButton";
|
|
10
|
+
export { ThemeProvider, useTheme, useThemeSafe } from "./providers/ThemeProvider";
|
|
11
|
+
export type { Theme, HueVariant } from "./tokens/types";
|
|
12
|
+
export type { ColorPrimitive, SemanticColor, SpacingToken, BackgroundToken, ForegroundToken, BorderToken, } from "./tokens/types";
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGlF,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,eAAe,EACf,eAAe,EACf,WAAW,GACZ,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Components
|
|
2
|
+
export { Button } from "./components/Button";
|
|
3
|
+
export { Card } from "./components/Card";
|
|
4
|
+
export { Checkbox } from "./components/Checkbox";
|
|
5
|
+
export { Switch } from "./components/Switch";
|
|
6
|
+
export { Input } from "./components/Input";
|
|
7
|
+
export { Avatar } from "./components/Avatar";
|
|
8
|
+
export { Chip } from "./components/Chip";
|
|
9
|
+
export { Menu } from "./components/Menu";
|
|
10
|
+
export { RadioButton } from "./components/RadioButton";
|
|
11
|
+
// Providers
|
|
12
|
+
export { ThemeProvider, useTheme, useThemeSafe } from "./providers/ThemeProvider";
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
import type { Theme, HueVariant } from "../tokens/types";
|
|
3
|
+
interface ThemeContextValue {
|
|
4
|
+
theme: Theme;
|
|
5
|
+
hue: HueVariant;
|
|
6
|
+
setTheme: (theme: Theme) => void;
|
|
7
|
+
setHue: (hue: HueVariant) => void;
|
|
8
|
+
toggleTheme: () => void;
|
|
9
|
+
}
|
|
10
|
+
interface ThemeProviderProps {
|
|
11
|
+
children: ReactNode;
|
|
12
|
+
defaultTheme?: Theme;
|
|
13
|
+
defaultHue?: HueVariant;
|
|
14
|
+
}
|
|
15
|
+
export declare function ThemeProvider({ children, defaultTheme, defaultHue, }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare function useTheme(): ThemeContextValue;
|
|
17
|
+
/**
|
|
18
|
+
* Safe hook that returns undefined if not within provider.
|
|
19
|
+
* Useful for optional theme access.
|
|
20
|
+
*/
|
|
21
|
+
export declare function useThemeSafe(): ThemeContextValue | null;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=ThemeProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../src/providers/ThemeProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEzD,UAAU,iBAAiB;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,UAAU,CAAC;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,MAAM,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,CAAC;IAClC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAOD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,YAAqB,EACrB,UAAsB,GACvB,EAAE,kBAAkB,2CA+EpB;AAED,wBAAgB,QAAQ,IAAI,iBAAiB,CAM5C;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,iBAAiB,GAAG,IAAI,CAEvD"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { createContext, useContext, useEffect, useState, useCallback, } from "react";
|
|
4
|
+
const ThemeContext = createContext(null);
|
|
5
|
+
const THEME_STORAGE_KEY = "design-system-theme";
|
|
6
|
+
const HUE_STORAGE_KEY = "design-system-hue";
|
|
7
|
+
export function ThemeProvider({ children, defaultTheme = "dark", defaultHue = "hue-sky", }) {
|
|
8
|
+
const [theme, setThemeState] = useState(defaultTheme);
|
|
9
|
+
const [hue, setHueState] = useState(defaultHue);
|
|
10
|
+
const [mounted, setMounted] = useState(false);
|
|
11
|
+
// Initialize theme from storage or use default
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
setMounted(true);
|
|
14
|
+
// Check localStorage first
|
|
15
|
+
const storedTheme = localStorage.getItem(THEME_STORAGE_KEY);
|
|
16
|
+
const storedHue = localStorage.getItem(HUE_STORAGE_KEY);
|
|
17
|
+
if (storedTheme) {
|
|
18
|
+
setThemeState(storedTheme);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
// Use default theme (dark) for first-time users
|
|
22
|
+
setThemeState(defaultTheme);
|
|
23
|
+
}
|
|
24
|
+
if (storedHue) {
|
|
25
|
+
setHueState(storedHue);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
// Use default hue (hue-indigo) for first-time users
|
|
29
|
+
setHueState(defaultHue);
|
|
30
|
+
}
|
|
31
|
+
}, [defaultTheme, defaultHue]);
|
|
32
|
+
// Apply theme to document
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
if (!mounted)
|
|
35
|
+
return;
|
|
36
|
+
const root = document.documentElement;
|
|
37
|
+
root.setAttribute("data-theme", theme);
|
|
38
|
+
root.setAttribute("data-hue", hue);
|
|
39
|
+
// Update meta theme-color for mobile browsers
|
|
40
|
+
const metaThemeColor = document.querySelector('meta[name="theme-color"]');
|
|
41
|
+
if (metaThemeColor) {
|
|
42
|
+
metaThemeColor.setAttribute("content", theme === "dark" ? "#151414" : "#f7fafc");
|
|
43
|
+
}
|
|
44
|
+
}, [theme, hue, mounted]);
|
|
45
|
+
// Note: System preference detection removed to use dark theme as default
|
|
46
|
+
// Users can still manually change theme, which will be saved to localStorage
|
|
47
|
+
const setTheme = useCallback((newTheme) => {
|
|
48
|
+
setThemeState(newTheme);
|
|
49
|
+
localStorage.setItem(THEME_STORAGE_KEY, newTheme);
|
|
50
|
+
}, []);
|
|
51
|
+
const setHue = useCallback((newHue) => {
|
|
52
|
+
setHueState(newHue);
|
|
53
|
+
localStorage.setItem(HUE_STORAGE_KEY, newHue);
|
|
54
|
+
}, []);
|
|
55
|
+
const toggleTheme = useCallback(() => {
|
|
56
|
+
setTheme(theme === "light" ? "dark" : "light");
|
|
57
|
+
}, [theme, setTheme]);
|
|
58
|
+
return (_jsx(ThemeContext.Provider, { value: {
|
|
59
|
+
theme,
|
|
60
|
+
hue,
|
|
61
|
+
setTheme,
|
|
62
|
+
setHue,
|
|
63
|
+
toggleTheme,
|
|
64
|
+
}, children: _jsx("div", { style: { visibility: mounted ? "visible" : "hidden" }, children: children }) }));
|
|
65
|
+
}
|
|
66
|
+
export function useTheme() {
|
|
67
|
+
const context = useContext(ThemeContext);
|
|
68
|
+
if (context === null) {
|
|
69
|
+
throw new Error("useTheme must be used within a ThemeProvider");
|
|
70
|
+
}
|
|
71
|
+
return context;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Safe hook that returns undefined if not within provider.
|
|
75
|
+
* Useful for optional theme access.
|
|
76
|
+
*/
|
|
77
|
+
export function useThemeSafe() {
|
|
78
|
+
return useContext(ThemeContext);
|
|
79
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-generated token types
|
|
3
|
+
* Do not edit directly - regenerate with `npm run build:tokens`
|
|
4
|
+
*/
|
|
5
|
+
export type ColorPrimitive = "Color.Purple.100" | "Color.Purple.200" | "Color.Purple.300" | "Color.Purple.400" | "Color.Purple.500" | "Color.Purple.600" | "Color.Purple.700" | "Color.Purple.800" | "Color.Purple.900" | "Color.Blue.100" | "Color.Blue.200" | "Color.Blue.300" | "Color.Blue.400" | "Color.Blue.500" | "Color.Blue.600" | "Color.Blue.700" | "Color.Blue.800" | "Color.Blue.900" | "Color.Chromatic.100" | "Color.Chromatic.200" | "Color.Chromatic.300" | "Color.Chromatic.400" | "Color.Chromatic.500" | "Color.Chromatic.600" | "Color.Chromatic.700" | "Color.Chromatic.800" | "Color.Chromatic.900" | "Color.Gray.50" | "Color.Gray.100" | "Color.Gray.200" | "Color.Gray.300" | "Color.Gray.400" | "Color.Gray.500" | "Color.Gray.600" | "Color.Gray.700" | "Color.Gray.800" | "Color.Gray.900" | "Color.Green.100" | "Color.Green.200" | "Color.Green.300" | "Color.Green.400" | "Color.Green.500" | "Color.Green.600" | "Color.Green.700" | "Color.Green.800" | "Color.Red.100" | "Color.Red.200" | "Color.Red.300" | "Color.Red.400" | "Color.Red.500" | "Color.Red.600" | "Color.Red.700" | "Color.Red.800" | "Color.Orange.100" | "Color.Orange.200" | "Color.Orange.300" | "Color.Orange.400" | "Color.Orange.500" | "Color.Orange.600" | "Color.Orange.700" | "Color.Orange.800" | "Color.Black.0" | "Color.Black.100" | "Color.Black.200" | "Color.Black.300" | "Color.Black.400" | "Color.Black.500" | "Color.Black.600" | "Color.Black.700" | "Color.Black.800" | "Color.Black.1000" | "Color.White.0" | "Color.White.100" | "Color.White.200" | "Color.White.300" | "Color.White.400" | "Color.White.500" | "Color.White.600" | "Color.White.700" | "Color.White.800" | "Color.White.1000";
|
|
6
|
+
export type ScaleToken = "Scale.0" | "Scale.25" | "Scale.50" | "Scale.100" | "Scale.150" | "Scale.200" | "Scale.300" | "Scale.400" | "Scale.450" | "Scale.500" | "Scale.550" | "Scale.600" | "Scale.650" | "Scale.700" | "Scale.800" | "Scale.900" | "Scale.1000" | "Scale.2000";
|
|
7
|
+
export type SemanticColor = "Color.Primary.100" | "Color.Primary.200" | "Color.Primary.300" | "Color.Primary.400" | "Color.Primary.500" | "Color.Primary.600" | "Color.Primary.700" | "Color.Primary.800" | "Color.Primary.900" | "Color.Neutral.50" | "Color.Neutral.100" | "Color.Neutral.200" | "Color.Neutral.300" | "Color.Neutral.400" | "Color.Neutral.500" | "Color.Neutral.600" | "Color.Neutral.700" | "Color.Neutral.800" | "Color.Neutral.White" | "Color.Neutral.Black" | "Color.Success.100" | "Color.Success.200" | "Color.Success.300" | "Color.Success.400" | "Color.Success.500" | "Color.Success.600" | "Color.Success.700" | "Color.Success.800" | "Color.Warning.100" | "Color.Warning.200" | "Color.Warning.300" | "Color.Warning.400" | "Color.Warning.500" | "Color.Warning.600" | "Color.Warning.700" | "Color.Warning.800" | "Color.Critical.100" | "Color.Critical.200" | "Color.Critical.300" | "Color.Critical.400" | "Color.Critical.500" | "Color.Critical.600" | "Color.Critical.700" | "Color.Critical.800" | "Color.Alpha-Neutral.White-0" | "Color.Alpha-Neutral.White-100" | "Color.Alpha-Neutral.White-200" | "Color.Alpha-Neutral.White-300" | "Color.Alpha-Neutral.White-400" | "Color.Alpha-Neutral.White-500" | "Color.Alpha-Neutral.White-600" | "Color.Alpha-Neutral.White-700" | "Color.Alpha-Neutral.White-800" | "Color.Alpha-Neutral.White-1000" | "Color.Alpha-Neutral.Black-0" | "Color.Alpha-Neutral.Black-100" | "Color.Alpha-Neutral.Black-200" | "Color.Alpha-Neutral.Black-300" | "Color.Alpha-Neutral.Black-400" | "Color.Alpha-Neutral.Black-500" | "Color.Alpha-Neutral.Black-600" | "Color.Alpha-Neutral.Black-700" | "Color.Alpha-Neutral.Black-800" | "Color.Alpha-Neutral.Black-1000";
|
|
8
|
+
export type SpacingToken = "Spacing.50" | "Spacing.100" | "Spacing.200" | "Spacing.300" | "Spacing.400" | "Spacing.450" | "Spacing.500" | "Spacing.600" | "Spacing.650" | "Spacing.700" | "Spacing.800" | "Spacing.900" | "Spacing.1000" | "Spacing.2000" | "Spacing.None";
|
|
9
|
+
export type BackgroundToken = "Background.White" | "Background.Page_Primary" | "Background.Page_Secondary" | "Background.Page_Tertiary" | "Background.Disabled" | "Background.Primary" | "Background.Primary_Tonal" | "Background.Primary_Pressed" | "Background.Primary_Disabled" | "Background.Primary_Dark" | "Background.Primary-On_Hover" | "Background.Primary_Tonal-On_Hover" | "Background.Primary-On_Focused" | "Background.Success" | "Background.Success_Tonal" | "Background.Success_Dark" | "Background.Success_Disabled" | "Background.Success-On_Hover" | "Background.Warning" | "Background.Warning_Tonal" | "Background.Warning_Dark" | "Background.Warning_Disabled" | "Background.Warning-On_Hover" | "Background.Critical" | "Background.Critical_Tonal" | "Background.Critical_Dark" | "Background.Critical_Disabled" | "Background.Critical-On_Hover" | "Background.Transparent";
|
|
10
|
+
export type ForegroundToken = "Foreground.Neutral" | "Foreground.Neutral_Secondary" | "Foreground.Neutral_Tertiary" | "Foreground.Primary" | "Foreground.Primary_Disabled" | "Foreground.Primary_Pressed" | "Foreground.Primary_-_On_Tonal" | "Foreground.Primary-_On_Focus" | "Foreground.Primary-_On_Hover" | "Foreground.Critical" | "Foreground.Critical_Tonal" | "Foreground.Critical-_On_Tonal" | "Foreground.Warning" | "Foreground.Warning-_On_Tonal" | "Foreground.Success" | "Foreground.Success-_On_Tonal" | "Foreground.On_Action" | "Foreground.White" | "Foreground.Disabled" | "Foreground.On_Disabled";
|
|
11
|
+
export type BorderToken = "Border.Strong" | "Border.Strong-100" | "Border.Strong-200" | "Border.Neutral_Primary" | "Border.Neutral_Secondary" | "Border.Neutral_Tertiary" | "Border.Primary" | "Border.Primary_Tonal" | "Border.Primary_Disabled" | "Border.Primary-_On_Hover" | "Border.Primary_Pressed" | "Border.Critical" | "Border.Critical_Tonal" | "Border.Warning" | "Border.Warning_Tonal" | "Border.Success" | "Border.Success_Tonal" | "Border.On_Action" | "Border.White" | "Border.Disabled";
|
|
12
|
+
export type Theme = "light" | "dark";
|
|
13
|
+
export type HueVariant = "chromatic-prime" | "hue-sky" | "hue-indigo";
|
|
14
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tokens/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Background pattern configurations
|
|
3
|
+
* Patterns are 128px x 128px frames with tiled images inside
|
|
4
|
+
* Images automatically tile to fill the space while maintaining pattern
|
|
5
|
+
*/
|
|
6
|
+
export type PatternType = "default" | "cubes" | "mathematics" | "dots" | "diagonal" | "smudge" | "paper" | "denim" | "squares" | "mosaic" | "cotton";
|
|
7
|
+
export interface PatternConfig {
|
|
8
|
+
imageUrl: string;
|
|
9
|
+
backgroundSize: string;
|
|
10
|
+
backgroundPosition?: string;
|
|
11
|
+
inset?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Pattern configurations with image URLs and tiling settings
|
|
15
|
+
* Note: These URLs are from Figma and expire after 7 days.
|
|
16
|
+
* For production, download these images and store them in public/images/patterns/
|
|
17
|
+
*/
|
|
18
|
+
export declare const PATTERN_CONFIGS: Record<PatternType, PatternConfig>;
|
|
19
|
+
/**
|
|
20
|
+
* Get pattern configuration by type
|
|
21
|
+
*/
|
|
22
|
+
export declare function getPatternConfig(type?: PatternType): PatternConfig;
|
|
23
|
+
/**
|
|
24
|
+
* Get pattern image URL
|
|
25
|
+
* For production, replace with local paths: `/images/patterns/${type}.png`
|
|
26
|
+
*/
|
|
27
|
+
export declare function getPatternImageUrl(type: PatternType): string;
|
|
28
|
+
//# sourceMappingURL=patternPaths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patternPaths.d.ts","sourceRoot":"","sources":["../../src/utils/patternPaths.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,OAAO,GACP,aAAa,GACb,MAAM,GACN,UAAU,GACV,QAAQ,GACR,OAAO,GACP,OAAO,GACP,SAAS,GACT,QAAQ,GACR,QAAQ,CAAC;AAEb,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,WAAW,EAAE,aAAa,CAgE9D,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,WAAuB,GAAG,aAAa,CAE7E;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAM5D"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Background pattern configurations
|
|
3
|
+
* Patterns are 128px x 128px frames with tiled images inside
|
|
4
|
+
* Images automatically tile to fill the space while maintaining pattern
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Pattern configurations with image URLs and tiling settings
|
|
8
|
+
* Note: These URLs are from Figma and expire after 7 days.
|
|
9
|
+
* For production, download these images and store them in public/images/patterns/
|
|
10
|
+
*/
|
|
11
|
+
export const PATTERN_CONFIGS = {
|
|
12
|
+
default: {
|
|
13
|
+
imageUrl: "", // No pattern for default
|
|
14
|
+
backgroundSize: "128px 128px",
|
|
15
|
+
},
|
|
16
|
+
cubes: {
|
|
17
|
+
imageUrl: "https://www.figma.com/api/mcp/asset/3594165a-11de-4be4-818c-90c23daf0172",
|
|
18
|
+
backgroundSize: "33.5px 50px",
|
|
19
|
+
backgroundPosition: "top left",
|
|
20
|
+
},
|
|
21
|
+
mathematics: {
|
|
22
|
+
imageUrl: "https://www.figma.com/api/mcp/asset/db1da532-dc86-42e2-8edb-cebd1f4583d9",
|
|
23
|
+
backgroundSize: "64px 128px",
|
|
24
|
+
backgroundPosition: "top left",
|
|
25
|
+
inset: "0 -322px -322px 0",
|
|
26
|
+
},
|
|
27
|
+
dots: {
|
|
28
|
+
imageUrl: "https://www.figma.com/api/mcp/asset/c320aab8-9413-4f04-b5d9-5dab473bf72c",
|
|
29
|
+
backgroundSize: "186px 186px",
|
|
30
|
+
backgroundPosition: "top left",
|
|
31
|
+
inset: "0 -322px -322px 0",
|
|
32
|
+
},
|
|
33
|
+
diagonal: {
|
|
34
|
+
imageUrl: "https://www.figma.com/api/mcp/asset/63f95452-d091-48c8-9315-17b2db88811f",
|
|
35
|
+
backgroundSize: "7px 7px",
|
|
36
|
+
backgroundPosition: "top left",
|
|
37
|
+
inset: "0 -322px -322px 0",
|
|
38
|
+
},
|
|
39
|
+
smudge: {
|
|
40
|
+
imageUrl: "https://www.figma.com/api/mcp/asset/953c58bc-519e-453a-801e-aa7771123bf0",
|
|
41
|
+
backgroundSize: "200px 200px",
|
|
42
|
+
backgroundPosition: "top left",
|
|
43
|
+
inset: "0 -322px -322px 0",
|
|
44
|
+
},
|
|
45
|
+
paper: {
|
|
46
|
+
imageUrl: "https://www.figma.com/api/mcp/asset/6cac21b4-e9cb-4b07-9655-9da328879b35",
|
|
47
|
+
backgroundSize: "158px 158px",
|
|
48
|
+
backgroundPosition: "top left",
|
|
49
|
+
inset: "0 -322px -322px 0",
|
|
50
|
+
},
|
|
51
|
+
denim: {
|
|
52
|
+
imageUrl: "https://www.figma.com/api/mcp/asset/df4b639a-4aa8-47b3-a356-1704c5d0e8ca",
|
|
53
|
+
backgroundSize: "210px 163px",
|
|
54
|
+
backgroundPosition: "top left",
|
|
55
|
+
inset: "0 -322px -322px 0",
|
|
56
|
+
},
|
|
57
|
+
squares: {
|
|
58
|
+
imageUrl: "https://www.figma.com/api/mcp/asset/7d44ab02-5237-4466-9957-80d02eac70a8",
|
|
59
|
+
backgroundSize: "32px 32px",
|
|
60
|
+
backgroundPosition: "top left",
|
|
61
|
+
inset: "0 -322px -322px 0",
|
|
62
|
+
},
|
|
63
|
+
mosaic: {
|
|
64
|
+
imageUrl: "https://www.figma.com/api/mcp/asset/d78c45bb-6e59-4444-a78b-740387c8d790",
|
|
65
|
+
backgroundSize: "355px 288px",
|
|
66
|
+
backgroundPosition: "top left",
|
|
67
|
+
inset: "0 -322px -322px 0",
|
|
68
|
+
},
|
|
69
|
+
cotton: {
|
|
70
|
+
imageUrl: "https://www.figma.com/api/mcp/asset/9010e582-f104-4247-9a42-450d3c28fa71",
|
|
71
|
+
backgroundSize: "157.5px 157.5px",
|
|
72
|
+
backgroundPosition: "top left",
|
|
73
|
+
inset: "0 -322px -322px 0",
|
|
74
|
+
},
|
|
75
|
+
};
|
|
76
|
+
/**
|
|
77
|
+
* Get pattern configuration by type
|
|
78
|
+
*/
|
|
79
|
+
export function getPatternConfig(type = "default") {
|
|
80
|
+
return PATTERN_CONFIGS[type] || PATTERN_CONFIGS.default;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Get pattern image URL
|
|
84
|
+
* For production, replace with local paths: `/images/patterns/${type}.png`
|
|
85
|
+
*/
|
|
86
|
+
export function getPatternImageUrl(type) {
|
|
87
|
+
const config = getPatternConfig(type);
|
|
88
|
+
if (type === "default" || !config.imageUrl) {
|
|
89
|
+
return "";
|
|
90
|
+
}
|
|
91
|
+
return config.imageUrl;
|
|
92
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "beacon-ui",
|
|
3
|
+
"version": "3.1.4",
|
|
4
|
+
"description": "Beacon Design System - Components and tokens",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist",
|
|
9
|
+
"tokens",
|
|
10
|
+
"README.md",
|
|
11
|
+
"CHANGELOG.md"
|
|
12
|
+
],
|
|
13
|
+
"exports": {
|
|
14
|
+
".": {
|
|
15
|
+
"types": "./dist/index.d.ts",
|
|
16
|
+
"default": "./dist/index.js"
|
|
17
|
+
},
|
|
18
|
+
"./tokens": "./tokens/generated/index.css",
|
|
19
|
+
"./tokens/*": "./tokens/generated/*.css"
|
|
20
|
+
},
|
|
21
|
+
"scripts": {
|
|
22
|
+
"build": "tsc && npm run build:tokens",
|
|
23
|
+
"build:tokens": "tsx ../../scripts/build-tokens.ts --output-dir=./tokens/generated --types-output=./src/tokens/types.ts",
|
|
24
|
+
"prepublishOnly": "npm run build"
|
|
25
|
+
},
|
|
26
|
+
"peerDependencies": {
|
|
27
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
28
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@types/react": "^19.2.7",
|
|
32
|
+
"@types/react-dom": "^19.2.3",
|
|
33
|
+
"tsx": "^4.21.0",
|
|
34
|
+
"typescript": "^5.9.3"
|
|
35
|
+
},
|
|
36
|
+
"keywords": [
|
|
37
|
+
"design-system",
|
|
38
|
+
"components",
|
|
39
|
+
"react",
|
|
40
|
+
"tokens"
|
|
41
|
+
],
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "https://github.com/raza-ahmed/beacon.git"
|
|
45
|
+
},
|
|
46
|
+
"license": "MIT",
|
|
47
|
+
"publishConfig": {
|
|
48
|
+
"access": "public"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/* Brand tokens - dark theme */
|
|
2
|
+
[data-theme="dark"] {
|
|
3
|
+
--bg-white: var(--color-neutral-800);
|
|
4
|
+
--bg-page-primary: var(--color-neutral-800);
|
|
5
|
+
--bg-page-secondary: var(--color-neutral-700);
|
|
6
|
+
--bg-page-tertiary: var(--color-neutral-600);
|
|
7
|
+
--bg-disabled: var(--color-neutral-700);
|
|
8
|
+
--bg-primary: var(--color-primary-500);
|
|
9
|
+
--bg-primary-tonal: var(--color-primary-800);
|
|
10
|
+
--bg-primary-pressed: var(--color-primary-700);
|
|
11
|
+
--bg-primary-disabled: var(--color-primary-700);
|
|
12
|
+
--bg-primary-dark: var(--color-primary-100);
|
|
13
|
+
--bg-primary-on-hover: var(--color-primary-400);
|
|
14
|
+
--bg-primary-tonal-on-hover: var(--color-primary-700);
|
|
15
|
+
--bg-primary-on-focused: var(--color-primary-400);
|
|
16
|
+
--bg-success: var(--color-success-500);
|
|
17
|
+
--bg-success-tonal: var(--color-success-800);
|
|
18
|
+
--bg-success-dark: var(--color-success-100);
|
|
19
|
+
--bg-success-disabled: var(--color-success-700);
|
|
20
|
+
--bg-success-on-hover: var(--color-success-400);
|
|
21
|
+
--bg-warning: var(--color-warning-500);
|
|
22
|
+
--bg-warning-tonal: var(--color-warning-800);
|
|
23
|
+
--bg-warning-dark: var(--color-warning-100);
|
|
24
|
+
--bg-warning-disabled: var(--color-warning-700);
|
|
25
|
+
--bg-warning-on-hover: var(--color-warning-400);
|
|
26
|
+
--bg-critical: var(--color-critical-500);
|
|
27
|
+
--bg-critical-tonal: var(--color-critical-800);
|
|
28
|
+
--bg-critical-dark: var(--color-critical-100);
|
|
29
|
+
--bg-critical-disabled: var(--color-critical-700);
|
|
30
|
+
--bg-critical-on-hover: var(--color-critical-400);
|
|
31
|
+
--bg-transparent: var(--color-alpha-neutral-black-0);
|
|
32
|
+
--fg-neutral: var(--color-neutral-100);
|
|
33
|
+
--fg-neutral-secondary: var(--color-neutral-200);
|
|
34
|
+
--fg-neutral-tertiary: var(--color-neutral-300);
|
|
35
|
+
--fg-primary: var(--color-primary-500);
|
|
36
|
+
--fg-primary-disabled: var(--color-primary-700);
|
|
37
|
+
--fg-primary-pressed: var(--color-primary-400);
|
|
38
|
+
--fg-primary-on-tonal: var(--color-primary-300);
|
|
39
|
+
--fg-primary-on-focus: var(--color-primary-500);
|
|
40
|
+
--fg-primary-on-hover: var(--color-primary-400);
|
|
41
|
+
--fg-critical: var(--color-critical-500);
|
|
42
|
+
--fg-critical-tonal: var(--color-critical-800);
|
|
43
|
+
--fg-critical-on-tonal: var(--color-critical-100);
|
|
44
|
+
--fg-warning: var(--color-orange-500);
|
|
45
|
+
--fg-warning-on-tonal: var(--color-orange-100);
|
|
46
|
+
--fg-success: var(--color-green-500);
|
|
47
|
+
--fg-success-on-tonal: var(--color-green-100);
|
|
48
|
+
--fg-on-action: var(--color-alpha-neutral-white-1000);
|
|
49
|
+
--fg-white: var(--color-alpha-neutral-white-1000);
|
|
50
|
+
--fg-disabled: var(--color-neutral-400);
|
|
51
|
+
--fg-on-disabled: var(--color-neutral-300);
|
|
52
|
+
--border-strong: var(--color-alpha-neutral-white-1000);
|
|
53
|
+
--border-strong-100: var(--color-alpha-neutral-white-100);
|
|
54
|
+
--border-strong-200: var(--color-alpha-neutral-white-200);
|
|
55
|
+
--border-neutral-primary: var(--color-neutral-600);
|
|
56
|
+
--border-neutral-secondary: var(--color-neutral-700);
|
|
57
|
+
--border-neutral-tertiary: var(--color-neutral-800);
|
|
58
|
+
--border-primary: var(--color-primary-500);
|
|
59
|
+
--border-primary-tonal: var(--color-primary-800);
|
|
60
|
+
--border-primary-disabled: var(--color-primary-700);
|
|
61
|
+
--border-primary-on-hover: var(--color-primary-400);
|
|
62
|
+
--border-primary-pressed: var(--color-primary-400);
|
|
63
|
+
--border-critical: var(--color-critical-500);
|
|
64
|
+
--border-critical-tonal: var(--color-critical-800);
|
|
65
|
+
--border-warning: var(--color-orange-500);
|
|
66
|
+
--border-warning-tonal: var(--color-orange-800);
|
|
67
|
+
--border-success: var(--color-green-500);
|
|
68
|
+
--border-success-tonal: var(--color-green-800);
|
|
69
|
+
--border-on-action: var(--color-alpha-neutral-white-1000);
|
|
70
|
+
--border-white: var(--color-alpha-neutral-white-1000);
|
|
71
|
+
--border-disabled: var(--color-neutral-700);
|
|
72
|
+
--static-light-on-dark: var(--color-alpha-neutral-black-1000);
|
|
73
|
+
--static-primary: var(--color-primary-500);
|
|
74
|
+
--static-primary-black: var(--color-primary-900);
|
|
75
|
+
--static-white: var(--color-alpha-neutral-white-1000);
|
|
76
|
+
--static-black: var(--color-alpha-neutral-black-1000);
|
|
77
|
+
--util-overlay-dull: var(--color-alpha-neutral-black-200);
|
|
78
|
+
--util-overlay-light: var(--color-alpha-neutral-black-300);
|
|
79
|
+
--util-overlay-medium: var(--color-alpha-neutral-black-500);
|
|
80
|
+
--util-overlay-strong: var(--color-alpha-neutral-black-700);
|
|
81
|
+
--shadow-none: var(--color-alpha-neutral-black-0);
|
|
82
|
+
--shadow-subtle: var(--color-alpha-neutral-black-100);
|
|
83
|
+
--shadow-normal: var(--color-alpha-neutral-black-200);
|
|
84
|
+
--shadow-medium: var(--color-alpha-neutral-black-300);
|
|
85
|
+
--shadow-strong: var(--color-alpha-neutral-black-400);
|
|
86
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/* Brand tokens - light theme */
|
|
2
|
+
:root, [data-theme="light"] {
|
|
3
|
+
--bg-white: var(--color-alpha-neutral-white-1000);
|
|
4
|
+
--bg-page-primary: var(--color-neutral-50);
|
|
5
|
+
--bg-page-secondary: var(--color-neutral-100);
|
|
6
|
+
--bg-page-tertiary: var(--color-neutral-200);
|
|
7
|
+
--bg-disabled: var(--color-neutral-100);
|
|
8
|
+
--bg-primary: var(--color-primary-500);
|
|
9
|
+
--bg-primary-tonal: var(--color-primary-100);
|
|
10
|
+
--bg-primary-pressed: var(--color-primary-700);
|
|
11
|
+
--bg-primary-disabled: var(--color-primary-200);
|
|
12
|
+
--bg-primary-dark: var(--color-primary-800);
|
|
13
|
+
--bg-primary-on-hover: var(--color-primary-700);
|
|
14
|
+
--bg-primary-tonal-on-hover: var(--color-primary-200);
|
|
15
|
+
--bg-primary-on-focused: var(--color-primary-600);
|
|
16
|
+
--bg-success: var(--color-green-500);
|
|
17
|
+
--bg-success-tonal: var(--color-success-100);
|
|
18
|
+
--bg-success-dark: var(--color-green-800);
|
|
19
|
+
--bg-success-disabled: var(--color-green-300);
|
|
20
|
+
--bg-success-on-hover: var(--color-green-600);
|
|
21
|
+
--bg-warning: var(--color-warning-500);
|
|
22
|
+
--bg-warning-tonal: var(--color-warning-100);
|
|
23
|
+
--bg-warning-dark: var(--color-warning-800);
|
|
24
|
+
--bg-warning-disabled: var(--color-warning-300);
|
|
25
|
+
--bg-warning-on-hover: var(--color-warning-600);
|
|
26
|
+
--bg-critical: var(--color-critical-500);
|
|
27
|
+
--bg-critical-tonal: var(--color-critical-100);
|
|
28
|
+
--bg-critical-dark: var(--color-critical-800);
|
|
29
|
+
--bg-critical-disabled: var(--color-critical-300);
|
|
30
|
+
--bg-critical-on-hover: var(--color-critical-600);
|
|
31
|
+
--bg-transparent: var(--color-alpha-neutral-white-0);
|
|
32
|
+
--fg-neutral: var(--color-neutral-800);
|
|
33
|
+
--fg-neutral-secondary: var(--color-neutral-700);
|
|
34
|
+
--fg-neutral-tertiary: var(--color-neutral-600);
|
|
35
|
+
--fg-primary: var(--color-primary-500);
|
|
36
|
+
--fg-primary-disabled: var(--color-primary-400);
|
|
37
|
+
--fg-primary-pressed: var(--color-primary-700);
|
|
38
|
+
--fg-primary-on-tonal: var(--color-primary-500);
|
|
39
|
+
--fg-primary-on-focus: var(--color-primary-500);
|
|
40
|
+
--fg-primary-on-hover: var(--color-primary-600);
|
|
41
|
+
--fg-critical: var(--color-critical-500);
|
|
42
|
+
--fg-critical-tonal: var(--color-critical-100);
|
|
43
|
+
--fg-critical-on-tonal: var(--color-critical-500);
|
|
44
|
+
--fg-warning: var(--color-orange-500);
|
|
45
|
+
--fg-warning-on-tonal: var(--color-orange-500);
|
|
46
|
+
--fg-success: var(--color-green-500);
|
|
47
|
+
--fg-success-on-tonal: var(--color-green-500);
|
|
48
|
+
--fg-on-action: var(--color-alpha-neutral-white-1000);
|
|
49
|
+
--fg-white: var(--color-alpha-neutral-white-1000);
|
|
50
|
+
--fg-disabled: var(--color-neutral-300);
|
|
51
|
+
--fg-on-disabled: var(--color-neutral-400);
|
|
52
|
+
--border-strong: var(--color-neutral-800);
|
|
53
|
+
--border-strong-100: var(--color-alpha-neutral-black-100);
|
|
54
|
+
--border-strong-200: var(--color-alpha-neutral-black-200);
|
|
55
|
+
--border-neutral-primary: var(--color-neutral-400);
|
|
56
|
+
--border-neutral-secondary: var(--color-neutral-300);
|
|
57
|
+
--border-neutral-tertiary: var(--color-neutral-200);
|
|
58
|
+
--border-primary: var(--color-primary-500);
|
|
59
|
+
--border-primary-tonal: var(--color-primary-100);
|
|
60
|
+
--border-primary-disabled: var(--color-primary-300);
|
|
61
|
+
--border-primary-on-hover: var(--color-primary-600);
|
|
62
|
+
--border-primary-pressed: var(--color-primary-700);
|
|
63
|
+
--border-critical: var(--color-critical-500);
|
|
64
|
+
--border-critical-tonal: var(--color-critical-100);
|
|
65
|
+
--border-warning: var(--color-orange-500);
|
|
66
|
+
--border-warning-tonal: var(--color-orange-100);
|
|
67
|
+
--border-success: var(--color-green-500);
|
|
68
|
+
--border-success-tonal: var(--color-green-100);
|
|
69
|
+
--border-on-action: var(--color-alpha-neutral-white-1000);
|
|
70
|
+
--border-white: var(--color-alpha-neutral-white-1000);
|
|
71
|
+
--border-disabled: var(--color-neutral-300);
|
|
72
|
+
--static-light-on-dark: var(--color-alpha-neutral-black-1000);
|
|
73
|
+
--static-primary: var(--color-primary-500);
|
|
74
|
+
--static-primary-black: var(--color-primary-900);
|
|
75
|
+
--static-white: var(--color-alpha-neutral-white-1000);
|
|
76
|
+
--static-black: var(--color-alpha-neutral-black-1000);
|
|
77
|
+
--util-overlay-dull: var(--color-alpha-neutral-black-200);
|
|
78
|
+
--util-overlay-light: var(--color-alpha-neutral-black-300);
|
|
79
|
+
--util-overlay-medium: var(--color-alpha-neutral-black-500);
|
|
80
|
+
--util-overlay-strong: var(--color-alpha-neutral-black-700);
|
|
81
|
+
--shadow-none: var(--color-alpha-neutral-black-0);
|
|
82
|
+
--shadow-subtle: var(--color-alpha-neutral-black-100);
|
|
83
|
+
--shadow-normal: var(--color-alpha-neutral-black-200);
|
|
84
|
+
--shadow-medium: var(--color-alpha-neutral-black-300);
|
|
85
|
+
--shadow-strong: var(--color-alpha-neutral-black-400);
|
|
86
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/* Effect tokens - shadows */
|
|
2
|
+
:root {
|
|
3
|
+
--drop-shadow-0: 0px 2px 12px 0px var(--shadow-none);
|
|
4
|
+
--drop-shadow-50: 0px 1px 8px -2px var(--shadow-subtle), 0px 1px 8px -8px var(--shadow-subtle);
|
|
5
|
+
--drop-shadow-100: 0px 1px 4px 0px var(--shadow-subtle), 0px 1px 4px -2px var(--shadow-subtle);
|
|
6
|
+
--drop-shadow-200: 0px -4px 9px -6px var(--shadow-subtle), 0px 4px 6px -2px var(--shadow-subtle);
|
|
7
|
+
--drop-shadow-300: 0px -6px 16px -8px var(--shadow-subtle), 0px 4px 6px 0px var(--shadow-subtle);
|
|
8
|
+
--drop-shadow-400: 0px 12px 42px -4px var(--shadow-subtle), 0px 8px 18px -6px var(--shadow-subtle);
|
|
9
|
+
--drop-shadow-500: 0px 18px 88px -4px var(--shadow-subtle), 0px 8px 28px -6px var(--shadow-subtle);
|
|
10
|
+
}
|