UNPKG

@franklinhelp/sdk-react

Version:

Embeddable AI-native help center for modern SaaS applications

154 lines (134 loc) 3.56 kB
/* Franklin SDK Styles */ @tailwind base; @tailwind components; @tailwind utilities; /* CSS Variables with Franklin prefix to avoid collisions */ :root { /* Layout */ --franklin-width: 420px; --franklin-radius: 8px; --franklin-font: "Inter", sans-serif; --franklin-z-index: 9999; /* Light Mode Colors (Franklin Design System) */ --franklin-background: #0b0d11; --franklin-surface: #111418; --franklin-surface-subtle: #161a20; --franklin-foreground: #f5f7fa; --franklin-muted: #9ba3b0; --franklin-accent: #3b82f6; --franklin-border: rgba(255, 255, 255, 0.08); --franklin-success: #22c55e; --franklin-warning: #facc15; --franklin-danger: #f87171; } body[data-franklin-theme="light"] { --franklin-background: #0b0d11; --franklin-surface: #111418; --franklin-surface-subtle: #161a20; --franklin-foreground: #f5f7fa; --franklin-muted: #9ba3b0; --franklin-accent: #3b82f6; --franklin-border: rgba(255, 255, 255, 0.08); --franklin-success: #22c55e; --franklin-warning: #facc15; --franklin-danger: #f87171; } body.dark, .dark, body[data-franklin-theme="dark"] { /* Dark Mode Colors (Franklin Design System) */ --franklin-background: #050608; --franklin-surface: #0c0f13; --franklin-surface-subtle: #0f1318; --franklin-foreground: #f8fafc; --franklin-muted: #8a92a1; --franklin-accent: #60a5fa; --franklin-border: rgba(255, 255, 255, 0.12); --franklin-success: #4ade80; --franklin-warning: #fbbf24; --franklin-danger: #fca5a5; } @media (prefers-color-scheme: dark) { body:not([data-franklin-theme]) { --franklin-background: #050608; --franklin-surface: #0c0f13; --franklin-surface-subtle: #0f1318; --franklin-foreground: #f8fafc; --franklin-muted: #8a92a1; --franklin-accent: #60a5fa; --franklin-border: rgba(255, 255, 255, 0.12); --franklin-success: #4ade80; --franklin-warning: #fbbf24; --franklin-danger: #fca5a5; } } /* Base styles for Franklin components */ .franklin-sidebar { font-family: var(--franklin-font); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* Push sidebar behavior - shifts content instead of overlaying */ body.franklin-sidebar-open { overflow-x: hidden; } [data-franklin-shift] { transition: margin-right 0.4s cubic-bezier(0.4, 0, 0.2, 1); } body.franklin-sidebar-open [data-franklin-shift] { margin-right: var(--franklin-width); } body[data-franklin-shift] { transition: margin-right 0.4s cubic-bezier(0.4, 0, 0.2, 1); } body.franklin-sidebar-open[data-franklin-shift] { margin-right: var(--franklin-width); } /* Animation keyframes */ @keyframes franklin-fade-in { from { opacity: 0; } to { opacity: 1; } } @keyframes franklin-slide-in { from { transform: translateX(100%); } to { transform: translateX(0); } } /* Utility classes */ .franklin-scroll-smooth { scroll-behavior: smooth; } .franklin-no-scrollbar::-webkit-scrollbar { display: none; } .franklin-no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; } /* Focus visible styles */ .franklin-focus-visible:focus-visible { outline: 2px solid var(--franklin-accent); outline-offset: 2px; } /* Responsive behavior */ @media (max-width: 768px) { /* On mobile, use overlay instead of push */ body.franklin-sidebar-open [data-franklin-shift] { margin-right: 0; } body.franklin-sidebar-open::after { content: ""; position: fixed; inset: 0; background: rgba(0, 0, 0, 0.2); backdrop-filter: blur(4px); z-index: 9998; } }