@ash-cloud/ash-ui 0.1.0 → 0.1.1
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/dist/design-tokens.cjs +20 -0
- package/dist/design-tokens.cjs.map +1 -1
- package/dist/design-tokens.d.cts +31 -1
- package/dist/design-tokens.d.ts +31 -1
- package/dist/design-tokens.js +20 -1
- package/dist/design-tokens.js.map +1 -1
- package/dist/icons.cjs +23 -0
- package/dist/icons.cjs.map +1 -1
- package/dist/icons.d.cts +4 -1
- package/dist/icons.d.ts +4 -1
- package/dist/icons.js +21 -1
- package/dist/icons.js.map +1 -1
- package/dist/index.cjs +592 -115
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +402 -22
- package/dist/index.d.ts +402 -22
- package/dist/index.js +610 -142
- package/dist/index.js.map +1 -1
- package/dist/styles-full.css +1 -1
- package/dist/styles.css +1 -1
- package/dist/types.cjs +8 -0
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.cts +149 -1
- package/dist/types.d.ts +149 -1
- package/dist/types.js +8 -1
- package/dist/types.js.map +1 -1
- package/package.json +13 -13
package/dist/design-tokens.cjs
CHANGED
|
@@ -103,6 +103,21 @@ var typography = {
|
|
|
103
103
|
relaxed: "1.75"
|
|
104
104
|
}
|
|
105
105
|
};
|
|
106
|
+
var cssVars = {
|
|
107
|
+
fontSize: {
|
|
108
|
+
base: "--ash-font-size-base",
|
|
109
|
+
sm: "--ash-font-size-sm",
|
|
110
|
+
xs: "--ash-font-size-xs",
|
|
111
|
+
code: "--ash-font-size-code"
|
|
112
|
+
},
|
|
113
|
+
accent: "--ash-accent",
|
|
114
|
+
accentForeground: "--ash-accent-foreground",
|
|
115
|
+
surfaceDark: "--ash-surface-dark",
|
|
116
|
+
surfaceDarker: "--ash-surface-darker",
|
|
117
|
+
surfaceCard: "--ash-surface-card",
|
|
118
|
+
surfaceElevated: "--ash-surface-elevated",
|
|
119
|
+
surfaceBorder: "--ash-surface-border"
|
|
120
|
+
};
|
|
106
121
|
var keyframes = {
|
|
107
122
|
slideUp: {
|
|
108
123
|
from: { opacity: "0", transform: "translateY(20px)" },
|
|
@@ -221,6 +236,10 @@ function tokensToCssVariables(prefix = "ash") {
|
|
|
221
236
|
if (key !== "DEFAULT") vars[`--${prefix}-border-${key}`] = value;
|
|
222
237
|
else vars[`--${prefix}-border`] = value;
|
|
223
238
|
});
|
|
239
|
+
vars[`--${prefix}-font-size-base`] = "14px";
|
|
240
|
+
vars[`--${prefix}-font-size-sm`] = "12px";
|
|
241
|
+
vars[`--${prefix}-font-size-xs`] = "11px";
|
|
242
|
+
vars[`--${prefix}-font-size-code`] = "13px";
|
|
224
243
|
return vars;
|
|
225
244
|
}
|
|
226
245
|
var inlineStyles = {
|
|
@@ -261,6 +280,7 @@ var inlineStyles = {
|
|
|
261
280
|
exports.allKeyframesCss = allKeyframesCss;
|
|
262
281
|
exports.borderRadius = borderRadius;
|
|
263
282
|
exports.colors = colors;
|
|
283
|
+
exports.cssVars = cssVars;
|
|
264
284
|
exports.inlineStyles = inlineStyles;
|
|
265
285
|
exports.keyframes = keyframes;
|
|
266
286
|
exports.keyframesCss = keyframesCss;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/design-tokens.ts"],"names":[],"mappings":"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","file":"design-tokens.cjs","sourcesContent":["/**\n * ASH UI Design Tokens\n *\n * Single source of truth for colors, spacing, animations, and other design values.\n * Used by both ash-ui components (via Tailwind/CSS) and the embed widget (via inline styles).\n *\n * @example\n * ```ts\n * import { colors, animations, shadows } from '@ash-cloud/ash-ui/tokens';\n *\n * // In embed widget (inline styles)\n * const style = { backgroundColor: colors.surface.dark };\n *\n * // In Tailwind config\n * module.exports = {\n * theme: {\n * extend: {\n * colors: colors,\n * }\n * }\n * };\n * ```\n */\n\n// =============================================================================\n// Colors\n// =============================================================================\n\nexport const colors = {\n // Primary accent color (lime green)\n accent: {\n DEFAULT: '#ccff00',\n 50: '#f8ffe5',\n 100: '#eeffb8',\n 200: '#e0ff85',\n 300: '#d4ff52',\n 400: '#ccff00',\n 500: '#b8e600',\n 600: '#99cc00',\n 700: '#739900',\n 800: '#4d6600',\n 900: '#263300',\n },\n\n // Surface colors (dark theme)\n surface: {\n dark: '#0a0a0a',\n darker: '#050505',\n card: '#0c0c0c',\n elevated: '#111111',\n },\n\n // Text colors\n text: {\n primary: '#ffffff',\n secondary: 'rgba(255, 255, 255, 0.7)',\n muted: 'rgba(255, 255, 255, 0.5)',\n disabled: 'rgba(255, 255, 255, 0.3)',\n },\n\n // Border colors\n border: {\n DEFAULT: 'rgba(255, 255, 255, 0.1)',\n hover: 'rgba(255, 255, 255, 0.2)',\n accent: 'rgba(204, 255, 0, 0.3)',\n accentHover: 'rgba(204, 255, 0, 0.5)',\n },\n\n // Status colors\n status: {\n success: '#10b981',\n warning: '#eab308',\n error: '#ef4444',\n info: '#3b82f6',\n },\n\n // User message background\n user: {\n bg: 'rgba(204, 255, 0, 0.1)',\n border: 'rgba(204, 255, 0, 0.2)',\n },\n\n // Assistant message background\n assistant: {\n bg: 'rgba(255, 255, 255, 0.05)',\n border: 'rgba(255, 255, 255, 0.1)',\n },\n} as const;\n\n// =============================================================================\n// Spacing\n// =============================================================================\n\nexport const spacing = {\n xs: '4px',\n sm: '8px',\n md: '12px',\n lg: '16px',\n xl: '24px',\n '2xl': '32px',\n '3xl': '48px',\n} as const;\n\n// =============================================================================\n// Border Radius\n// =============================================================================\n\nexport const borderRadius = {\n sm: '8px',\n md: '12px',\n lg: '16px',\n xl: '20px',\n '2xl': '24px',\n full: '9999px',\n} as const;\n\n// =============================================================================\n// Shadows\n// =============================================================================\n\nexport const shadows = {\n sm: '0 1px 2px rgba(0, 0, 0, 0.3)',\n md: '0 4px 6px rgba(0, 0, 0, 0.4)',\n lg: '0 10px 15px rgba(0, 0, 0, 0.5)',\n xl: '0 20px 25px rgba(0, 0, 0, 0.6)',\n glow: {\n sm: '0 0 10px rgba(204, 255, 0, 0.2)',\n md: '0 0 20px rgba(204, 255, 0, 0.3)',\n lg: '0 0 30px rgba(204, 255, 0, 0.5)',\n },\n panel: '0 25px 50px rgba(0, 0, 0, 0.5)',\n} as const;\n\n// =============================================================================\n// Typography\n// =============================================================================\n\nexport const typography = {\n fontFamily: {\n sans: 'system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif',\n mono: 'ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, monospace',\n },\n fontSize: {\n xs: '12px',\n sm: '14px',\n base: '16px',\n lg: '18px',\n xl: '20px',\n '2xl': '24px',\n },\n lineHeight: {\n tight: '1.25',\n normal: '1.5',\n relaxed: '1.75',\n },\n} as const;\n\n// =============================================================================\n// Animations - Keyframes as objects for inline style injection\n// =============================================================================\n\nexport const keyframes = {\n slideUp: {\n from: { opacity: '0', transform: 'translateY(20px)' },\n to: { opacity: '1', transform: 'translateY(0)' },\n },\n fadeIn: {\n from: { opacity: '0', transform: 'translateY(10px)' },\n to: { opacity: '1', transform: 'translateY(0)' },\n },\n blink: {\n '0%, 50%': { opacity: '1' },\n '51%, 100%': { opacity: '0' },\n },\n bounce: {\n '0%, 80%, 100%': { transform: 'scale(0)' },\n '40%': { transform: 'scale(1)' },\n },\n pulse: {\n '0%, 100%': { opacity: '1' },\n '50%': { opacity: '0.5' },\n },\n glowPulse: {\n '0%, 100%': { boxShadow: '0 0 20px rgba(204, 255, 0, 0.3)' },\n '50%': { boxShadow: '0 0 40px rgba(204, 255, 0, 0.5)' },\n },\n} as const;\n\n// CSS keyframe strings for injection into style tags\nexport const keyframesCss = {\n slideUp: `\n @keyframes ash-slide-up {\n from { opacity: 0; transform: translateY(20px); }\n to { opacity: 1; transform: translateY(0); }\n }\n `,\n fadeIn: `\n @keyframes ash-fade-in {\n from { opacity: 0; transform: translateY(10px); }\n to { opacity: 1; transform: translateY(0); }\n }\n `,\n blink: `\n @keyframes ash-blink {\n 0%, 50% { opacity: 1; }\n 51%, 100% { opacity: 0; }\n }\n `,\n bounce: `\n @keyframes ash-bounce {\n 0%, 80%, 100% { transform: scale(0); }\n 40% { transform: scale(1); }\n }\n `,\n pulse: `\n @keyframes ash-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.5; }\n }\n `,\n glowPulse: `\n @keyframes ash-glow-pulse {\n 0%, 100% { box-shadow: 0 0 20px rgba(204, 255, 0, 0.3); }\n 50% { box-shadow: 0 0 40px rgba(204, 255, 0, 0.5); }\n }\n `,\n} as const;\n\n// All keyframes combined for easy injection\nexport const allKeyframesCss = Object.values(keyframesCss).join('\\n');\n\n// =============================================================================\n// Transitions\n// =============================================================================\n\nexport const transitions = {\n fast: '150ms ease-out',\n normal: '300ms ease-out',\n slow: '500ms ease-out',\n spring: '400ms cubic-bezier(0.16, 1, 0.3, 1)',\n} as const;\n\n// =============================================================================\n// Z-Index Scale\n// =============================================================================\n\nexport const zIndex = {\n base: 0,\n dropdown: 100,\n modal: 200,\n tooltip: 300,\n widget: 999999,\n} as const;\n\n// =============================================================================\n// Widget-Specific Dimensions\n// =============================================================================\n\nexport const widget = {\n launcher: {\n size: '60px',\n iconSize: '28px',\n },\n panel: {\n width: '400px',\n height: '600px',\n maxHeight: '80vh',\n },\n header: {\n height: '60px',\n },\n input: {\n minHeight: '60px',\n maxHeight: '150px',\n },\n message: {\n maxWidth: '85%',\n avatarSize: '32px',\n },\n gap: '20px', // Gap from edge of screen\n} as const;\n\n// =============================================================================\n// Helper: Convert tokens to CSS variables\n// =============================================================================\n\nexport function tokensToCssVariables(prefix = 'ash'): Record<string, string> {\n const vars: Record<string, string> = {};\n\n // Colors\n vars[`--${prefix}-accent`] = colors.accent.DEFAULT;\n Object.entries(colors.accent).forEach(([key, value]) => {\n if (key !== 'DEFAULT') vars[`--${prefix}-accent-${key}`] = value;\n });\n\n Object.entries(colors.surface).forEach(([key, value]) => {\n vars[`--${prefix}-surface-${key}`] = value;\n });\n\n Object.entries(colors.text).forEach(([key, value]) => {\n vars[`--${prefix}-text-${key}`] = value;\n });\n\n Object.entries(colors.border).forEach(([key, value]) => {\n if (key !== 'DEFAULT') vars[`--${prefix}-border-${key}`] = value;\n else vars[`--${prefix}-border`] = value;\n });\n\n return vars;\n}\n\n// =============================================================================\n// Helper: Generate inline styles from token names\n// =============================================================================\n\nexport const inlineStyles = {\n // Glass panel effect\n glassPanel: {\n backgroundColor: 'rgba(255, 255, 255, 0.05)',\n backdropFilter: 'blur(24px)',\n WebkitBackdropFilter: 'blur(24px)',\n border: `1px solid ${colors.border.DEFAULT}`,\n },\n\n // Accent button\n accentButton: {\n backgroundColor: colors.accent.DEFAULT,\n color: '#000000',\n border: `1px solid ${colors.accent.DEFAULT}`,\n boxShadow: shadows.glow.md,\n },\n\n // Ghost button\n ghostButton: {\n backgroundColor: 'transparent',\n color: colors.text.secondary,\n border: '1px solid transparent',\n },\n\n // User message bubble\n userMessage: {\n backgroundColor: colors.user.bg,\n border: `1px solid ${colors.user.border}`,\n borderRadius: borderRadius.lg,\n },\n\n // Assistant message bubble\n assistantMessage: {\n backgroundColor: colors.assistant.bg,\n border: `1px solid ${colors.assistant.border}`,\n borderRadius: borderRadius.lg,\n },\n} as const;\n\n// =============================================================================\n// Type exports\n// =============================================================================\n\nexport type Colors = typeof colors;\nexport type Spacing = typeof spacing;\nexport type BorderRadius = typeof borderRadius;\nexport type Shadows = typeof shadows;\nexport type Typography = typeof typography;\nexport type Keyframes = typeof keyframes;\nexport type Transitions = typeof transitions;\nexport type ZIndex = typeof zIndex;\nexport type Widget = typeof widget;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/design-tokens.ts"],"names":[],"mappings":"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","file":"design-tokens.cjs","sourcesContent":["/**\n * ASH UI Design Tokens\n *\n * Single source of truth for colors, spacing, animations, and other design values.\n * Used by both ash-ui components (via Tailwind/CSS) and the embed widget (via inline styles).\n *\n * @example\n * ```ts\n * import { colors, animations, shadows } from '@ash-cloud/ash-ui/tokens';\n *\n * // In embed widget (inline styles)\n * const style = { backgroundColor: colors.surface.dark };\n *\n * // In Tailwind config\n * module.exports = {\n * theme: {\n * extend: {\n * colors: colors,\n * }\n * }\n * };\n * ```\n */\n\n// =============================================================================\n// Colors\n// =============================================================================\n\nexport const colors = {\n // Primary accent color (lime green)\n accent: {\n DEFAULT: '#ccff00',\n 50: '#f8ffe5',\n 100: '#eeffb8',\n 200: '#e0ff85',\n 300: '#d4ff52',\n 400: '#ccff00',\n 500: '#b8e600',\n 600: '#99cc00',\n 700: '#739900',\n 800: '#4d6600',\n 900: '#263300',\n },\n\n // Surface colors (dark theme)\n surface: {\n dark: '#0a0a0a',\n darker: '#050505',\n card: '#0c0c0c',\n elevated: '#111111',\n },\n\n // Text colors\n text: {\n primary: '#ffffff',\n secondary: 'rgba(255, 255, 255, 0.7)',\n muted: 'rgba(255, 255, 255, 0.5)',\n disabled: 'rgba(255, 255, 255, 0.3)',\n },\n\n // Border colors\n border: {\n DEFAULT: 'rgba(255, 255, 255, 0.1)',\n hover: 'rgba(255, 255, 255, 0.2)',\n accent: 'rgba(204, 255, 0, 0.3)',\n accentHover: 'rgba(204, 255, 0, 0.5)',\n },\n\n // Status colors\n status: {\n success: '#10b981',\n warning: '#eab308',\n error: '#ef4444',\n info: '#3b82f6',\n },\n\n // User message background\n user: {\n bg: 'rgba(204, 255, 0, 0.1)',\n border: 'rgba(204, 255, 0, 0.2)',\n },\n\n // Assistant message background\n assistant: {\n bg: 'rgba(255, 255, 255, 0.05)',\n border: 'rgba(255, 255, 255, 0.1)',\n },\n} as const;\n\n// =============================================================================\n// Spacing\n// =============================================================================\n\nexport const spacing = {\n xs: '4px',\n sm: '8px',\n md: '12px',\n lg: '16px',\n xl: '24px',\n '2xl': '32px',\n '3xl': '48px',\n} as const;\n\n// =============================================================================\n// Border Radius\n// =============================================================================\n\nexport const borderRadius = {\n sm: '8px',\n md: '12px',\n lg: '16px',\n xl: '20px',\n '2xl': '24px',\n full: '9999px',\n} as const;\n\n// =============================================================================\n// Shadows\n// =============================================================================\n\nexport const shadows = {\n sm: '0 1px 2px rgba(0, 0, 0, 0.3)',\n md: '0 4px 6px rgba(0, 0, 0, 0.4)',\n lg: '0 10px 15px rgba(0, 0, 0, 0.5)',\n xl: '0 20px 25px rgba(0, 0, 0, 0.6)',\n glow: {\n sm: '0 0 10px rgba(204, 255, 0, 0.2)',\n md: '0 0 20px rgba(204, 255, 0, 0.3)',\n lg: '0 0 30px rgba(204, 255, 0, 0.5)',\n },\n panel: '0 25px 50px rgba(0, 0, 0, 0.5)',\n} as const;\n\n// =============================================================================\n// Typography\n// =============================================================================\n\nexport const typography = {\n fontFamily: {\n sans: 'system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif',\n mono: 'ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, monospace',\n },\n fontSize: {\n xs: '12px',\n sm: '14px',\n base: '16px',\n lg: '18px',\n xl: '20px',\n '2xl': '24px',\n },\n lineHeight: {\n tight: '1.25',\n normal: '1.5',\n relaxed: '1.75',\n },\n} as const;\n\n// =============================================================================\n// CSS Variable Names\n// =============================================================================\n\n/**\n * CSS custom property names for font sizes.\n * Override these in your CSS to customize typography.\n *\n * @example\n * ```css\n * :root {\n * --ash-font-size-base: 16px;\n * --ash-font-size-sm: 14px;\n * --ash-font-size-xs: 12px;\n * --ash-font-size-code: 14px;\n * }\n * ```\n */\nexport const cssVars = {\n fontSize: {\n base: '--ash-font-size-base',\n sm: '--ash-font-size-sm',\n xs: '--ash-font-size-xs',\n code: '--ash-font-size-code',\n },\n accent: '--ash-accent',\n accentForeground: '--ash-accent-foreground',\n surfaceDark: '--ash-surface-dark',\n surfaceDarker: '--ash-surface-darker',\n surfaceCard: '--ash-surface-card',\n surfaceElevated: '--ash-surface-elevated',\n surfaceBorder: '--ash-surface-border',\n} as const;\n\n// =============================================================================\n// Animations - Keyframes as objects for inline style injection\n// =============================================================================\n\nexport const keyframes = {\n slideUp: {\n from: { opacity: '0', transform: 'translateY(20px)' },\n to: { opacity: '1', transform: 'translateY(0)' },\n },\n fadeIn: {\n from: { opacity: '0', transform: 'translateY(10px)' },\n to: { opacity: '1', transform: 'translateY(0)' },\n },\n blink: {\n '0%, 50%': { opacity: '1' },\n '51%, 100%': { opacity: '0' },\n },\n bounce: {\n '0%, 80%, 100%': { transform: 'scale(0)' },\n '40%': { transform: 'scale(1)' },\n },\n pulse: {\n '0%, 100%': { opacity: '1' },\n '50%': { opacity: '0.5' },\n },\n glowPulse: {\n '0%, 100%': { boxShadow: '0 0 20px rgba(204, 255, 0, 0.3)' },\n '50%': { boxShadow: '0 0 40px rgba(204, 255, 0, 0.5)' },\n },\n} as const;\n\n// CSS keyframe strings for injection into style tags\nexport const keyframesCss = {\n slideUp: `\n @keyframes ash-slide-up {\n from { opacity: 0; transform: translateY(20px); }\n to { opacity: 1; transform: translateY(0); }\n }\n `,\n fadeIn: `\n @keyframes ash-fade-in {\n from { opacity: 0; transform: translateY(10px); }\n to { opacity: 1; transform: translateY(0); }\n }\n `,\n blink: `\n @keyframes ash-blink {\n 0%, 50% { opacity: 1; }\n 51%, 100% { opacity: 0; }\n }\n `,\n bounce: `\n @keyframes ash-bounce {\n 0%, 80%, 100% { transform: scale(0); }\n 40% { transform: scale(1); }\n }\n `,\n pulse: `\n @keyframes ash-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.5; }\n }\n `,\n glowPulse: `\n @keyframes ash-glow-pulse {\n 0%, 100% { box-shadow: 0 0 20px rgba(204, 255, 0, 0.3); }\n 50% { box-shadow: 0 0 40px rgba(204, 255, 0, 0.5); }\n }\n `,\n} as const;\n\n// All keyframes combined for easy injection\nexport const allKeyframesCss = Object.values(keyframesCss).join('\\n');\n\n// =============================================================================\n// Transitions\n// =============================================================================\n\nexport const transitions = {\n fast: '150ms ease-out',\n normal: '300ms ease-out',\n slow: '500ms ease-out',\n spring: '400ms cubic-bezier(0.16, 1, 0.3, 1)',\n} as const;\n\n// =============================================================================\n// Z-Index Scale\n// =============================================================================\n\nexport const zIndex = {\n base: 0,\n dropdown: 100,\n modal: 200,\n tooltip: 300,\n widget: 999999,\n} as const;\n\n// =============================================================================\n// Widget-Specific Dimensions\n// =============================================================================\n\nexport const widget = {\n launcher: {\n size: '60px',\n iconSize: '28px',\n },\n panel: {\n width: '400px',\n height: '600px',\n maxHeight: '80vh',\n },\n header: {\n height: '60px',\n },\n input: {\n minHeight: '60px',\n maxHeight: '150px',\n },\n message: {\n maxWidth: '85%',\n avatarSize: '32px',\n },\n gap: '20px', // Gap from edge of screen\n} as const;\n\n// =============================================================================\n// Helper: Convert tokens to CSS variables\n// =============================================================================\n\nexport function tokensToCssVariables(prefix = 'ash'): Record<string, string> {\n const vars: Record<string, string> = {};\n\n // Colors\n vars[`--${prefix}-accent`] = colors.accent.DEFAULT;\n Object.entries(colors.accent).forEach(([key, value]) => {\n if (key !== 'DEFAULT') vars[`--${prefix}-accent-${key}`] = value;\n });\n\n Object.entries(colors.surface).forEach(([key, value]) => {\n vars[`--${prefix}-surface-${key}`] = value;\n });\n\n Object.entries(colors.text).forEach(([key, value]) => {\n vars[`--${prefix}-text-${key}`] = value;\n });\n\n Object.entries(colors.border).forEach(([key, value]) => {\n if (key !== 'DEFAULT') vars[`--${prefix}-border-${key}`] = value;\n else vars[`--${prefix}-border`] = value;\n });\n\n // Font sizes (default values that can be overridden)\n vars[`--${prefix}-font-size-base`] = '14px';\n vars[`--${prefix}-font-size-sm`] = '12px';\n vars[`--${prefix}-font-size-xs`] = '11px';\n vars[`--${prefix}-font-size-code`] = '13px';\n\n return vars;\n}\n\n// =============================================================================\n// Helper: Generate inline styles from token names\n// =============================================================================\n\nexport const inlineStyles = {\n // Glass panel effect\n glassPanel: {\n backgroundColor: 'rgba(255, 255, 255, 0.05)',\n backdropFilter: 'blur(24px)',\n WebkitBackdropFilter: 'blur(24px)',\n border: `1px solid ${colors.border.DEFAULT}`,\n },\n\n // Accent button\n accentButton: {\n backgroundColor: colors.accent.DEFAULT,\n color: '#000000',\n border: `1px solid ${colors.accent.DEFAULT}`,\n boxShadow: shadows.glow.md,\n },\n\n // Ghost button\n ghostButton: {\n backgroundColor: 'transparent',\n color: colors.text.secondary,\n border: '1px solid transparent',\n },\n\n // User message bubble\n userMessage: {\n backgroundColor: colors.user.bg,\n border: `1px solid ${colors.user.border}`,\n borderRadius: borderRadius.lg,\n },\n\n // Assistant message bubble\n assistantMessage: {\n backgroundColor: colors.assistant.bg,\n border: `1px solid ${colors.assistant.border}`,\n borderRadius: borderRadius.lg,\n },\n} as const;\n\n// =============================================================================\n// Type exports\n// =============================================================================\n\nexport type Colors = typeof colors;\nexport type Spacing = typeof spacing;\nexport type BorderRadius = typeof borderRadius;\nexport type Shadows = typeof shadows;\nexport type Typography = typeof typography;\nexport type CssVars = typeof cssVars;\nexport type Keyframes = typeof keyframes;\nexport type Transitions = typeof transitions;\nexport type ZIndex = typeof zIndex;\nexport type Widget = typeof widget;\n"]}
|
package/dist/design-tokens.d.cts
CHANGED
|
@@ -116,6 +116,35 @@ declare const typography: {
|
|
|
116
116
|
readonly relaxed: "1.75";
|
|
117
117
|
};
|
|
118
118
|
};
|
|
119
|
+
/**
|
|
120
|
+
* CSS custom property names for font sizes.
|
|
121
|
+
* Override these in your CSS to customize typography.
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```css
|
|
125
|
+
* :root {
|
|
126
|
+
* --ash-font-size-base: 16px;
|
|
127
|
+
* --ash-font-size-sm: 14px;
|
|
128
|
+
* --ash-font-size-xs: 12px;
|
|
129
|
+
* --ash-font-size-code: 14px;
|
|
130
|
+
* }
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
declare const cssVars: {
|
|
134
|
+
readonly fontSize: {
|
|
135
|
+
readonly base: "--ash-font-size-base";
|
|
136
|
+
readonly sm: "--ash-font-size-sm";
|
|
137
|
+
readonly xs: "--ash-font-size-xs";
|
|
138
|
+
readonly code: "--ash-font-size-code";
|
|
139
|
+
};
|
|
140
|
+
readonly accent: "--ash-accent";
|
|
141
|
+
readonly accentForeground: "--ash-accent-foreground";
|
|
142
|
+
readonly surfaceDark: "--ash-surface-dark";
|
|
143
|
+
readonly surfaceDarker: "--ash-surface-darker";
|
|
144
|
+
readonly surfaceCard: "--ash-surface-card";
|
|
145
|
+
readonly surfaceElevated: "--ash-surface-elevated";
|
|
146
|
+
readonly surfaceBorder: "--ash-surface-border";
|
|
147
|
+
};
|
|
119
148
|
declare const keyframes: {
|
|
120
149
|
readonly slideUp: {
|
|
121
150
|
readonly from: {
|
|
@@ -250,9 +279,10 @@ type Spacing = typeof spacing;
|
|
|
250
279
|
type BorderRadius = typeof borderRadius;
|
|
251
280
|
type Shadows = typeof shadows;
|
|
252
281
|
type Typography = typeof typography;
|
|
282
|
+
type CssVars = typeof cssVars;
|
|
253
283
|
type Keyframes = typeof keyframes;
|
|
254
284
|
type Transitions = typeof transitions;
|
|
255
285
|
type ZIndex = typeof zIndex;
|
|
256
286
|
type Widget = typeof widget;
|
|
257
287
|
|
|
258
|
-
export { type BorderRadius, type Colors, type Keyframes, type Shadows, type Spacing, type Transitions, type Typography, type Widget, type ZIndex, allKeyframesCss, borderRadius, colors, inlineStyles, keyframes, keyframesCss, shadows, spacing, tokensToCssVariables, transitions, typography, widget, zIndex };
|
|
288
|
+
export { type BorderRadius, type Colors, type CssVars, type Keyframes, type Shadows, type Spacing, type Transitions, type Typography, type Widget, type ZIndex, allKeyframesCss, borderRadius, colors, cssVars, inlineStyles, keyframes, keyframesCss, shadows, spacing, tokensToCssVariables, transitions, typography, widget, zIndex };
|
package/dist/design-tokens.d.ts
CHANGED
|
@@ -116,6 +116,35 @@ declare const typography: {
|
|
|
116
116
|
readonly relaxed: "1.75";
|
|
117
117
|
};
|
|
118
118
|
};
|
|
119
|
+
/**
|
|
120
|
+
* CSS custom property names for font sizes.
|
|
121
|
+
* Override these in your CSS to customize typography.
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```css
|
|
125
|
+
* :root {
|
|
126
|
+
* --ash-font-size-base: 16px;
|
|
127
|
+
* --ash-font-size-sm: 14px;
|
|
128
|
+
* --ash-font-size-xs: 12px;
|
|
129
|
+
* --ash-font-size-code: 14px;
|
|
130
|
+
* }
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
declare const cssVars: {
|
|
134
|
+
readonly fontSize: {
|
|
135
|
+
readonly base: "--ash-font-size-base";
|
|
136
|
+
readonly sm: "--ash-font-size-sm";
|
|
137
|
+
readonly xs: "--ash-font-size-xs";
|
|
138
|
+
readonly code: "--ash-font-size-code";
|
|
139
|
+
};
|
|
140
|
+
readonly accent: "--ash-accent";
|
|
141
|
+
readonly accentForeground: "--ash-accent-foreground";
|
|
142
|
+
readonly surfaceDark: "--ash-surface-dark";
|
|
143
|
+
readonly surfaceDarker: "--ash-surface-darker";
|
|
144
|
+
readonly surfaceCard: "--ash-surface-card";
|
|
145
|
+
readonly surfaceElevated: "--ash-surface-elevated";
|
|
146
|
+
readonly surfaceBorder: "--ash-surface-border";
|
|
147
|
+
};
|
|
119
148
|
declare const keyframes: {
|
|
120
149
|
readonly slideUp: {
|
|
121
150
|
readonly from: {
|
|
@@ -250,9 +279,10 @@ type Spacing = typeof spacing;
|
|
|
250
279
|
type BorderRadius = typeof borderRadius;
|
|
251
280
|
type Shadows = typeof shadows;
|
|
252
281
|
type Typography = typeof typography;
|
|
282
|
+
type CssVars = typeof cssVars;
|
|
253
283
|
type Keyframes = typeof keyframes;
|
|
254
284
|
type Transitions = typeof transitions;
|
|
255
285
|
type ZIndex = typeof zIndex;
|
|
256
286
|
type Widget = typeof widget;
|
|
257
287
|
|
|
258
|
-
export { type BorderRadius, type Colors, type Keyframes, type Shadows, type Spacing, type Transitions, type Typography, type Widget, type ZIndex, allKeyframesCss, borderRadius, colors, inlineStyles, keyframes, keyframesCss, shadows, spacing, tokensToCssVariables, transitions, typography, widget, zIndex };
|
|
288
|
+
export { type BorderRadius, type Colors, type CssVars, type Keyframes, type Shadows, type Spacing, type Transitions, type Typography, type Widget, type ZIndex, allKeyframesCss, borderRadius, colors, cssVars, inlineStyles, keyframes, keyframesCss, shadows, spacing, tokensToCssVariables, transitions, typography, widget, zIndex };
|
package/dist/design-tokens.js
CHANGED
|
@@ -101,6 +101,21 @@ var typography = {
|
|
|
101
101
|
relaxed: "1.75"
|
|
102
102
|
}
|
|
103
103
|
};
|
|
104
|
+
var cssVars = {
|
|
105
|
+
fontSize: {
|
|
106
|
+
base: "--ash-font-size-base",
|
|
107
|
+
sm: "--ash-font-size-sm",
|
|
108
|
+
xs: "--ash-font-size-xs",
|
|
109
|
+
code: "--ash-font-size-code"
|
|
110
|
+
},
|
|
111
|
+
accent: "--ash-accent",
|
|
112
|
+
accentForeground: "--ash-accent-foreground",
|
|
113
|
+
surfaceDark: "--ash-surface-dark",
|
|
114
|
+
surfaceDarker: "--ash-surface-darker",
|
|
115
|
+
surfaceCard: "--ash-surface-card",
|
|
116
|
+
surfaceElevated: "--ash-surface-elevated",
|
|
117
|
+
surfaceBorder: "--ash-surface-border"
|
|
118
|
+
};
|
|
104
119
|
var keyframes = {
|
|
105
120
|
slideUp: {
|
|
106
121
|
from: { opacity: "0", transform: "translateY(20px)" },
|
|
@@ -219,6 +234,10 @@ function tokensToCssVariables(prefix = "ash") {
|
|
|
219
234
|
if (key !== "DEFAULT") vars[`--${prefix}-border-${key}`] = value;
|
|
220
235
|
else vars[`--${prefix}-border`] = value;
|
|
221
236
|
});
|
|
237
|
+
vars[`--${prefix}-font-size-base`] = "14px";
|
|
238
|
+
vars[`--${prefix}-font-size-sm`] = "12px";
|
|
239
|
+
vars[`--${prefix}-font-size-xs`] = "11px";
|
|
240
|
+
vars[`--${prefix}-font-size-code`] = "13px";
|
|
222
241
|
return vars;
|
|
223
242
|
}
|
|
224
243
|
var inlineStyles = {
|
|
@@ -256,6 +275,6 @@ var inlineStyles = {
|
|
|
256
275
|
}
|
|
257
276
|
};
|
|
258
277
|
|
|
259
|
-
export { allKeyframesCss, borderRadius, colors, inlineStyles, keyframes, keyframesCss, shadows, spacing, tokensToCssVariables, transitions, typography, widget, zIndex };
|
|
278
|
+
export { allKeyframesCss, borderRadius, colors, cssVars, inlineStyles, keyframes, keyframesCss, shadows, spacing, tokensToCssVariables, transitions, typography, widget, zIndex };
|
|
260
279
|
//# sourceMappingURL=design-tokens.js.map
|
|
261
280
|
//# sourceMappingURL=design-tokens.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/design-tokens.ts"],"names":[],"mappings":"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","file":"design-tokens.js","sourcesContent":["/**\n * ASH UI Design Tokens\n *\n * Single source of truth for colors, spacing, animations, and other design values.\n * Used by both ash-ui components (via Tailwind/CSS) and the embed widget (via inline styles).\n *\n * @example\n * ```ts\n * import { colors, animations, shadows } from '@ash-cloud/ash-ui/tokens';\n *\n * // In embed widget (inline styles)\n * const style = { backgroundColor: colors.surface.dark };\n *\n * // In Tailwind config\n * module.exports = {\n * theme: {\n * extend: {\n * colors: colors,\n * }\n * }\n * };\n * ```\n */\n\n// =============================================================================\n// Colors\n// =============================================================================\n\nexport const colors = {\n // Primary accent color (lime green)\n accent: {\n DEFAULT: '#ccff00',\n 50: '#f8ffe5',\n 100: '#eeffb8',\n 200: '#e0ff85',\n 300: '#d4ff52',\n 400: '#ccff00',\n 500: '#b8e600',\n 600: '#99cc00',\n 700: '#739900',\n 800: '#4d6600',\n 900: '#263300',\n },\n\n // Surface colors (dark theme)\n surface: {\n dark: '#0a0a0a',\n darker: '#050505',\n card: '#0c0c0c',\n elevated: '#111111',\n },\n\n // Text colors\n text: {\n primary: '#ffffff',\n secondary: 'rgba(255, 255, 255, 0.7)',\n muted: 'rgba(255, 255, 255, 0.5)',\n disabled: 'rgba(255, 255, 255, 0.3)',\n },\n\n // Border colors\n border: {\n DEFAULT: 'rgba(255, 255, 255, 0.1)',\n hover: 'rgba(255, 255, 255, 0.2)',\n accent: 'rgba(204, 255, 0, 0.3)',\n accentHover: 'rgba(204, 255, 0, 0.5)',\n },\n\n // Status colors\n status: {\n success: '#10b981',\n warning: '#eab308',\n error: '#ef4444',\n info: '#3b82f6',\n },\n\n // User message background\n user: {\n bg: 'rgba(204, 255, 0, 0.1)',\n border: 'rgba(204, 255, 0, 0.2)',\n },\n\n // Assistant message background\n assistant: {\n bg: 'rgba(255, 255, 255, 0.05)',\n border: 'rgba(255, 255, 255, 0.1)',\n },\n} as const;\n\n// =============================================================================\n// Spacing\n// =============================================================================\n\nexport const spacing = {\n xs: '4px',\n sm: '8px',\n md: '12px',\n lg: '16px',\n xl: '24px',\n '2xl': '32px',\n '3xl': '48px',\n} as const;\n\n// =============================================================================\n// Border Radius\n// =============================================================================\n\nexport const borderRadius = {\n sm: '8px',\n md: '12px',\n lg: '16px',\n xl: '20px',\n '2xl': '24px',\n full: '9999px',\n} as const;\n\n// =============================================================================\n// Shadows\n// =============================================================================\n\nexport const shadows = {\n sm: '0 1px 2px rgba(0, 0, 0, 0.3)',\n md: '0 4px 6px rgba(0, 0, 0, 0.4)',\n lg: '0 10px 15px rgba(0, 0, 0, 0.5)',\n xl: '0 20px 25px rgba(0, 0, 0, 0.6)',\n glow: {\n sm: '0 0 10px rgba(204, 255, 0, 0.2)',\n md: '0 0 20px rgba(204, 255, 0, 0.3)',\n lg: '0 0 30px rgba(204, 255, 0, 0.5)',\n },\n panel: '0 25px 50px rgba(0, 0, 0, 0.5)',\n} as const;\n\n// =============================================================================\n// Typography\n// =============================================================================\n\nexport const typography = {\n fontFamily: {\n sans: 'system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif',\n mono: 'ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, monospace',\n },\n fontSize: {\n xs: '12px',\n sm: '14px',\n base: '16px',\n lg: '18px',\n xl: '20px',\n '2xl': '24px',\n },\n lineHeight: {\n tight: '1.25',\n normal: '1.5',\n relaxed: '1.75',\n },\n} as const;\n\n// =============================================================================\n// Animations - Keyframes as objects for inline style injection\n// =============================================================================\n\nexport const keyframes = {\n slideUp: {\n from: { opacity: '0', transform: 'translateY(20px)' },\n to: { opacity: '1', transform: 'translateY(0)' },\n },\n fadeIn: {\n from: { opacity: '0', transform: 'translateY(10px)' },\n to: { opacity: '1', transform: 'translateY(0)' },\n },\n blink: {\n '0%, 50%': { opacity: '1' },\n '51%, 100%': { opacity: '0' },\n },\n bounce: {\n '0%, 80%, 100%': { transform: 'scale(0)' },\n '40%': { transform: 'scale(1)' },\n },\n pulse: {\n '0%, 100%': { opacity: '1' },\n '50%': { opacity: '0.5' },\n },\n glowPulse: {\n '0%, 100%': { boxShadow: '0 0 20px rgba(204, 255, 0, 0.3)' },\n '50%': { boxShadow: '0 0 40px rgba(204, 255, 0, 0.5)' },\n },\n} as const;\n\n// CSS keyframe strings for injection into style tags\nexport const keyframesCss = {\n slideUp: `\n @keyframes ash-slide-up {\n from { opacity: 0; transform: translateY(20px); }\n to { opacity: 1; transform: translateY(0); }\n }\n `,\n fadeIn: `\n @keyframes ash-fade-in {\n from { opacity: 0; transform: translateY(10px); }\n to { opacity: 1; transform: translateY(0); }\n }\n `,\n blink: `\n @keyframes ash-blink {\n 0%, 50% { opacity: 1; }\n 51%, 100% { opacity: 0; }\n }\n `,\n bounce: `\n @keyframes ash-bounce {\n 0%, 80%, 100% { transform: scale(0); }\n 40% { transform: scale(1); }\n }\n `,\n pulse: `\n @keyframes ash-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.5; }\n }\n `,\n glowPulse: `\n @keyframes ash-glow-pulse {\n 0%, 100% { box-shadow: 0 0 20px rgba(204, 255, 0, 0.3); }\n 50% { box-shadow: 0 0 40px rgba(204, 255, 0, 0.5); }\n }\n `,\n} as const;\n\n// All keyframes combined for easy injection\nexport const allKeyframesCss = Object.values(keyframesCss).join('\\n');\n\n// =============================================================================\n// Transitions\n// =============================================================================\n\nexport const transitions = {\n fast: '150ms ease-out',\n normal: '300ms ease-out',\n slow: '500ms ease-out',\n spring: '400ms cubic-bezier(0.16, 1, 0.3, 1)',\n} as const;\n\n// =============================================================================\n// Z-Index Scale\n// =============================================================================\n\nexport const zIndex = {\n base: 0,\n dropdown: 100,\n modal: 200,\n tooltip: 300,\n widget: 999999,\n} as const;\n\n// =============================================================================\n// Widget-Specific Dimensions\n// =============================================================================\n\nexport const widget = {\n launcher: {\n size: '60px',\n iconSize: '28px',\n },\n panel: {\n width: '400px',\n height: '600px',\n maxHeight: '80vh',\n },\n header: {\n height: '60px',\n },\n input: {\n minHeight: '60px',\n maxHeight: '150px',\n },\n message: {\n maxWidth: '85%',\n avatarSize: '32px',\n },\n gap: '20px', // Gap from edge of screen\n} as const;\n\n// =============================================================================\n// Helper: Convert tokens to CSS variables\n// =============================================================================\n\nexport function tokensToCssVariables(prefix = 'ash'): Record<string, string> {\n const vars: Record<string, string> = {};\n\n // Colors\n vars[`--${prefix}-accent`] = colors.accent.DEFAULT;\n Object.entries(colors.accent).forEach(([key, value]) => {\n if (key !== 'DEFAULT') vars[`--${prefix}-accent-${key}`] = value;\n });\n\n Object.entries(colors.surface).forEach(([key, value]) => {\n vars[`--${prefix}-surface-${key}`] = value;\n });\n\n Object.entries(colors.text).forEach(([key, value]) => {\n vars[`--${prefix}-text-${key}`] = value;\n });\n\n Object.entries(colors.border).forEach(([key, value]) => {\n if (key !== 'DEFAULT') vars[`--${prefix}-border-${key}`] = value;\n else vars[`--${prefix}-border`] = value;\n });\n\n return vars;\n}\n\n// =============================================================================\n// Helper: Generate inline styles from token names\n// =============================================================================\n\nexport const inlineStyles = {\n // Glass panel effect\n glassPanel: {\n backgroundColor: 'rgba(255, 255, 255, 0.05)',\n backdropFilter: 'blur(24px)',\n WebkitBackdropFilter: 'blur(24px)',\n border: `1px solid ${colors.border.DEFAULT}`,\n },\n\n // Accent button\n accentButton: {\n backgroundColor: colors.accent.DEFAULT,\n color: '#000000',\n border: `1px solid ${colors.accent.DEFAULT}`,\n boxShadow: shadows.glow.md,\n },\n\n // Ghost button\n ghostButton: {\n backgroundColor: 'transparent',\n color: colors.text.secondary,\n border: '1px solid transparent',\n },\n\n // User message bubble\n userMessage: {\n backgroundColor: colors.user.bg,\n border: `1px solid ${colors.user.border}`,\n borderRadius: borderRadius.lg,\n },\n\n // Assistant message bubble\n assistantMessage: {\n backgroundColor: colors.assistant.bg,\n border: `1px solid ${colors.assistant.border}`,\n borderRadius: borderRadius.lg,\n },\n} as const;\n\n// =============================================================================\n// Type exports\n// =============================================================================\n\nexport type Colors = typeof colors;\nexport type Spacing = typeof spacing;\nexport type BorderRadius = typeof borderRadius;\nexport type Shadows = typeof shadows;\nexport type Typography = typeof typography;\nexport type Keyframes = typeof keyframes;\nexport type Transitions = typeof transitions;\nexport type ZIndex = typeof zIndex;\nexport type Widget = typeof widget;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/design-tokens.ts"],"names":[],"mappings":";AA4BO,IAAM,MAAA,GAAS;AAAA;AAAA,EAEpB,MAAA,EAAQ;AAAA,IACN,OAAA,EAAS,SAAA;AAAA,IACT,EAAA,EAAI,SAAA;AAAA,IACJ,GAAA,EAAK,SAAA;AAAA,IACL,GAAA,EAAK,SAAA;AAAA,IACL,GAAA,EAAK,SAAA;AAAA,IACL,GAAA,EAAK,SAAA;AAAA,IACL,GAAA,EAAK,SAAA;AAAA,IACL,GAAA,EAAK,SAAA;AAAA,IACL,GAAA,EAAK,SAAA;AAAA,IACL,GAAA,EAAK,SAAA;AAAA,IACL,GAAA,EAAK;AAAA,GACP;AAAA;AAAA,EAGA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,SAAA;AAAA,IACN,MAAA,EAAQ,SAAA;AAAA,IACR,IAAA,EAAM,SAAA;AAAA,IACN,QAAA,EAAU;AAAA,GACZ;AAAA;AAAA,EAGA,IAAA,EAAM;AAAA,IACJ,OAAA,EAAS,SAAA;AAAA,IACT,SAAA,EAAW,0BAAA;AAAA,IACX,KAAA,EAAO,0BAAA;AAAA,IACP,QAAA,EAAU;AAAA,GACZ;AAAA;AAAA,EAGA,MAAA,EAAQ;AAAA,IACN,OAAA,EAAS,0BAAA;AAAA,IACT,KAAA,EAAO,0BAAA;AAAA,IACP,MAAA,EAAQ,wBAAA;AAAA,IACR,WAAA,EAAa;AAAA,GACf;AAAA;AAAA,EAGA,MAAA,EAAQ;AAAA,IACN,OAAA,EAAS,SAAA;AAAA,IACT,OAAA,EAAS,SAAA;AAAA,IACT,KAAA,EAAO,SAAA;AAAA,IACP,IAAA,EAAM;AAAA,GACR;AAAA;AAAA,EAGA,IAAA,EAAM;AAAA,IACJ,EAAA,EAAI,wBAAA;AAAA,IACJ,MAAA,EAAQ;AAAA,GACV;AAAA;AAAA,EAGA,SAAA,EAAW;AAAA,IACT,EAAA,EAAI,2BAAA;AAAA,IACJ,MAAA,EAAQ;AAAA;AAEZ;AAMO,IAAM,OAAA,GAAU;AAAA,EACrB,EAAA,EAAI,KAAA;AAAA,EACJ,EAAA,EAAI,KAAA;AAAA,EACJ,EAAA,EAAI,MAAA;AAAA,EACJ,EAAA,EAAI,MAAA;AAAA,EACJ,EAAA,EAAI,MAAA;AAAA,EACJ,KAAA,EAAO,MAAA;AAAA,EACP,KAAA,EAAO;AACT;AAMO,IAAM,YAAA,GAAe;AAAA,EAC1B,EAAA,EAAI,KAAA;AAAA,EACJ,EAAA,EAAI,MAAA;AAAA,EACJ,EAAA,EAAI,MAAA;AAAA,EACJ,EAAA,EAAI,MAAA;AAAA,EACJ,KAAA,EAAO,MAAA;AAAA,EACP,IAAA,EAAM;AACR;AAMO,IAAM,OAAA,GAAU;AAAA,EACrB,EAAA,EAAI,8BAAA;AAAA,EACJ,EAAA,EAAI,8BAAA;AAAA,EACJ,EAAA,EAAI,gCAAA;AAAA,EACJ,EAAA,EAAI,gCAAA;AAAA,EACJ,IAAA,EAAM;AAAA,IACJ,EAAA,EAAI,iCAAA;AAAA,IACJ,EAAA,EAAI,iCAAA;AAAA,IACJ,EAAA,EAAI;AAAA,GACN;AAAA,EACA,KAAA,EAAO;AACT;AAMO,IAAM,UAAA,GAAa;AAAA,EACxB,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,8EAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EACA,QAAA,EAAU;AAAA,IACR,EAAA,EAAI,MAAA;AAAA,IACJ,EAAA,EAAI,MAAA;AAAA,IACJ,IAAA,EAAM,MAAA;AAAA,IACN,EAAA,EAAI,MAAA;AAAA,IACJ,EAAA,EAAI,MAAA;AAAA,IACJ,KAAA,EAAO;AAAA,GACT;AAAA,EACA,UAAA,EAAY;AAAA,IACV,KAAA,EAAO,MAAA;AAAA,IACP,MAAA,EAAQ,KAAA;AAAA,IACR,OAAA,EAAS;AAAA;AAEb;AAoBO,IAAM,OAAA,GAAU;AAAA,EACrB,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,sBAAA;AAAA,IACN,EAAA,EAAI,oBAAA;AAAA,IACJ,EAAA,EAAI,oBAAA;AAAA,IACJ,IAAA,EAAM;AAAA,GACR;AAAA,EACA,MAAA,EAAQ,cAAA;AAAA,EACR,gBAAA,EAAkB,yBAAA;AAAA,EAClB,WAAA,EAAa,oBAAA;AAAA,EACb,aAAA,EAAe,sBAAA;AAAA,EACf,WAAA,EAAa,oBAAA;AAAA,EACb,eAAA,EAAiB,wBAAA;AAAA,EACjB,aAAA,EAAe;AACjB;AAMO,IAAM,SAAA,GAAY;AAAA,EACvB,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,EAAE,OAAA,EAAS,GAAA,EAAK,WAAW,kBAAA,EAAmB;AAAA,IACpD,EAAA,EAAI,EAAE,OAAA,EAAS,GAAA,EAAK,WAAW,eAAA;AAAgB,GACjD;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,EAAE,OAAA,EAAS,GAAA,EAAK,WAAW,kBAAA,EAAmB;AAAA,IACpD,EAAA,EAAI,EAAE,OAAA,EAAS,GAAA,EAAK,WAAW,eAAA;AAAgB,GACjD;AAAA,EACA,KAAA,EAAO;AAAA,IACL,SAAA,EAAW,EAAE,OAAA,EAAS,GAAA,EAAI;AAAA,IAC1B,WAAA,EAAa,EAAE,OAAA,EAAS,GAAA;AAAI,GAC9B;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,eAAA,EAAiB,EAAE,SAAA,EAAW,UAAA,EAAW;AAAA,IACzC,KAAA,EAAO,EAAE,SAAA,EAAW,UAAA;AAAW,GACjC;AAAA,EACA,KAAA,EAAO;AAAA,IACL,UAAA,EAAY,EAAE,OAAA,EAAS,GAAA,EAAI;AAAA,IAC3B,KAAA,EAAO,EAAE,OAAA,EAAS,KAAA;AAAM,GAC1B;AAAA,EACA,SAAA,EAAW;AAAA,IACT,UAAA,EAAY,EAAE,SAAA,EAAW,iCAAA,EAAkC;AAAA,IAC3D,KAAA,EAAO,EAAE,SAAA,EAAW,iCAAA;AAAkC;AAE1D;AAGO,IAAM,YAAA,GAAe;AAAA,EAC1B,OAAA,EAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA,CAAA;AAAA,EAMT,MAAA,EAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA,CAAA;AAAA,EAMR,KAAA,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA,CAAA;AAAA,EAMP,MAAA,EAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA,CAAA;AAAA,EAMR,KAAA,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA,CAAA;AAAA,EAMP,SAAA,EAAW;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA;AAMb;AAGO,IAAM,kBAAkB,MAAA,CAAO,MAAA,CAAO,YAAY,CAAA,CAAE,KAAK,IAAI;AAM7D,IAAM,WAAA,GAAc;AAAA,EACzB,IAAA,EAAM,gBAAA;AAAA,EACN,MAAA,EAAQ,gBAAA;AAAA,EACR,IAAA,EAAM,gBAAA;AAAA,EACN,MAAA,EAAQ;AACV;AAMO,IAAM,MAAA,GAAS;AAAA,EACpB,IAAA,EAAM,CAAA;AAAA,EACN,QAAA,EAAU,GAAA;AAAA,EACV,KAAA,EAAO,GAAA;AAAA,EACP,OAAA,EAAS,GAAA;AAAA,EACT,MAAA,EAAQ;AACV;AAMO,IAAM,MAAA,GAAS;AAAA,EACpB,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,MAAA;AAAA,IACN,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,KAAA,EAAO;AAAA,IACL,KAAA,EAAO,OAAA;AAAA,IACP,MAAA,EAAQ,OAAA;AAAA,IACR,SAAA,EAAW;AAAA,GACb;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,MAAA,EAAQ;AAAA,GACV;AAAA,EACA,KAAA,EAAO;AAAA,IACL,SAAA,EAAW,MAAA;AAAA,IACX,SAAA,EAAW;AAAA,GACb;AAAA,EACA,OAAA,EAAS;AAAA,IACP,QAAA,EAAU,KAAA;AAAA,IACV,UAAA,EAAY;AAAA,GACd;AAAA,EACA,GAAA,EAAK;AAAA;AACP;AAMO,SAAS,oBAAA,CAAqB,SAAS,KAAA,EAA+B;AAC3E,EAAA,MAAM,OAA+B,EAAC;AAGtC,EAAA,IAAA,CAAK,CAAA,EAAA,EAAK,MAAM,CAAA,OAAA,CAAS,CAAA,GAAI,OAAO,MAAA,CAAO,OAAA;AAC3C,EAAA,MAAA,CAAO,OAAA,CAAQ,OAAO,MAAM,CAAA,CAAE,QAAQ,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAM;AACtD,IAAA,IAAI,GAAA,KAAQ,WAAW,IAAA,CAAK,CAAA,EAAA,EAAK,MAAM,CAAA,QAAA,EAAW,GAAG,EAAE,CAAA,GAAI,KAAA;AAAA,EAC7D,CAAC,CAAA;AAED,EAAA,MAAA,CAAO,OAAA,CAAQ,OAAO,OAAO,CAAA,CAAE,QAAQ,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAM;AACvD,IAAA,IAAA,CAAK,CAAA,EAAA,EAAK,MAAM,CAAA,SAAA,EAAY,GAAG,EAAE,CAAA,GAAI,KAAA;AAAA,EACvC,CAAC,CAAA;AAED,EAAA,MAAA,CAAO,OAAA,CAAQ,OAAO,IAAI,CAAA,CAAE,QAAQ,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAM;AACpD,IAAA,IAAA,CAAK,CAAA,EAAA,EAAK,MAAM,CAAA,MAAA,EAAS,GAAG,EAAE,CAAA,GAAI,KAAA;AAAA,EACpC,CAAC,CAAA;AAED,EAAA,MAAA,CAAO,OAAA,CAAQ,OAAO,MAAM,CAAA,CAAE,QAAQ,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAM;AACtD,IAAA,IAAI,GAAA,KAAQ,WAAW,IAAA,CAAK,CAAA,EAAA,EAAK,MAAM,CAAA,QAAA,EAAW,GAAG,EAAE,CAAA,GAAI,KAAA;AAAA,SACtD,IAAA,CAAK,CAAA,EAAA,EAAK,MAAM,CAAA,OAAA,CAAS,CAAA,GAAI,KAAA;AAAA,EACpC,CAAC,CAAA;AAGD,EAAA,IAAA,CAAK,CAAA,EAAA,EAAK,MAAM,CAAA,eAAA,CAAiB,CAAA,GAAI,MAAA;AACrC,EAAA,IAAA,CAAK,CAAA,EAAA,EAAK,MAAM,CAAA,aAAA,CAAe,CAAA,GAAI,MAAA;AACnC,EAAA,IAAA,CAAK,CAAA,EAAA,EAAK,MAAM,CAAA,aAAA,CAAe,CAAA,GAAI,MAAA;AACnC,EAAA,IAAA,CAAK,CAAA,EAAA,EAAK,MAAM,CAAA,eAAA,CAAiB,CAAA,GAAI,MAAA;AAErC,EAAA,OAAO,IAAA;AACT;AAMO,IAAM,YAAA,GAAe;AAAA;AAAA,EAE1B,UAAA,EAAY;AAAA,IACV,eAAA,EAAiB,2BAAA;AAAA,IACjB,cAAA,EAAgB,YAAA;AAAA,IAChB,oBAAA,EAAsB,YAAA;AAAA,IACtB,MAAA,EAAQ,CAAA,UAAA,EAAa,MAAA,CAAO,MAAA,CAAO,OAAO,CAAA;AAAA,GAC5C;AAAA;AAAA,EAGA,YAAA,EAAc;AAAA,IACZ,eAAA,EAAiB,OAAO,MAAA,CAAO,OAAA;AAAA,IAC/B,KAAA,EAAO,SAAA;AAAA,IACP,MAAA,EAAQ,CAAA,UAAA,EAAa,MAAA,CAAO,MAAA,CAAO,OAAO,CAAA,CAAA;AAAA,IAC1C,SAAA,EAAW,QAAQ,IAAA,CAAK;AAAA,GAC1B;AAAA;AAAA,EAGA,WAAA,EAAa;AAAA,IACX,eAAA,EAAiB,aAAA;AAAA,IACjB,KAAA,EAAO,OAAO,IAAA,CAAK,SAAA;AAAA,IACnB,MAAA,EAAQ;AAAA,GACV;AAAA;AAAA,EAGA,WAAA,EAAa;AAAA,IACX,eAAA,EAAiB,OAAO,IAAA,CAAK,EAAA;AAAA,IAC7B,MAAA,EAAQ,CAAA,UAAA,EAAa,MAAA,CAAO,IAAA,CAAK,MAAM,CAAA,CAAA;AAAA,IACvC,cAAc,YAAA,CAAa;AAAA,GAC7B;AAAA;AAAA,EAGA,gBAAA,EAAkB;AAAA,IAChB,eAAA,EAAiB,OAAO,SAAA,CAAU,EAAA;AAAA,IAClC,MAAA,EAAQ,CAAA,UAAA,EAAa,MAAA,CAAO,SAAA,CAAU,MAAM,CAAA,CAAA;AAAA,IAC5C,cAAc,YAAA,CAAa;AAAA;AAE/B","file":"design-tokens.js","sourcesContent":["/**\n * ASH UI Design Tokens\n *\n * Single source of truth for colors, spacing, animations, and other design values.\n * Used by both ash-ui components (via Tailwind/CSS) and the embed widget (via inline styles).\n *\n * @example\n * ```ts\n * import { colors, animations, shadows } from '@ash-cloud/ash-ui/tokens';\n *\n * // In embed widget (inline styles)\n * const style = { backgroundColor: colors.surface.dark };\n *\n * // In Tailwind config\n * module.exports = {\n * theme: {\n * extend: {\n * colors: colors,\n * }\n * }\n * };\n * ```\n */\n\n// =============================================================================\n// Colors\n// =============================================================================\n\nexport const colors = {\n // Primary accent color (lime green)\n accent: {\n DEFAULT: '#ccff00',\n 50: '#f8ffe5',\n 100: '#eeffb8',\n 200: '#e0ff85',\n 300: '#d4ff52',\n 400: '#ccff00',\n 500: '#b8e600',\n 600: '#99cc00',\n 700: '#739900',\n 800: '#4d6600',\n 900: '#263300',\n },\n\n // Surface colors (dark theme)\n surface: {\n dark: '#0a0a0a',\n darker: '#050505',\n card: '#0c0c0c',\n elevated: '#111111',\n },\n\n // Text colors\n text: {\n primary: '#ffffff',\n secondary: 'rgba(255, 255, 255, 0.7)',\n muted: 'rgba(255, 255, 255, 0.5)',\n disabled: 'rgba(255, 255, 255, 0.3)',\n },\n\n // Border colors\n border: {\n DEFAULT: 'rgba(255, 255, 255, 0.1)',\n hover: 'rgba(255, 255, 255, 0.2)',\n accent: 'rgba(204, 255, 0, 0.3)',\n accentHover: 'rgba(204, 255, 0, 0.5)',\n },\n\n // Status colors\n status: {\n success: '#10b981',\n warning: '#eab308',\n error: '#ef4444',\n info: '#3b82f6',\n },\n\n // User message background\n user: {\n bg: 'rgba(204, 255, 0, 0.1)',\n border: 'rgba(204, 255, 0, 0.2)',\n },\n\n // Assistant message background\n assistant: {\n bg: 'rgba(255, 255, 255, 0.05)',\n border: 'rgba(255, 255, 255, 0.1)',\n },\n} as const;\n\n// =============================================================================\n// Spacing\n// =============================================================================\n\nexport const spacing = {\n xs: '4px',\n sm: '8px',\n md: '12px',\n lg: '16px',\n xl: '24px',\n '2xl': '32px',\n '3xl': '48px',\n} as const;\n\n// =============================================================================\n// Border Radius\n// =============================================================================\n\nexport const borderRadius = {\n sm: '8px',\n md: '12px',\n lg: '16px',\n xl: '20px',\n '2xl': '24px',\n full: '9999px',\n} as const;\n\n// =============================================================================\n// Shadows\n// =============================================================================\n\nexport const shadows = {\n sm: '0 1px 2px rgba(0, 0, 0, 0.3)',\n md: '0 4px 6px rgba(0, 0, 0, 0.4)',\n lg: '0 10px 15px rgba(0, 0, 0, 0.5)',\n xl: '0 20px 25px rgba(0, 0, 0, 0.6)',\n glow: {\n sm: '0 0 10px rgba(204, 255, 0, 0.2)',\n md: '0 0 20px rgba(204, 255, 0, 0.3)',\n lg: '0 0 30px rgba(204, 255, 0, 0.5)',\n },\n panel: '0 25px 50px rgba(0, 0, 0, 0.5)',\n} as const;\n\n// =============================================================================\n// Typography\n// =============================================================================\n\nexport const typography = {\n fontFamily: {\n sans: 'system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif',\n mono: 'ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, monospace',\n },\n fontSize: {\n xs: '12px',\n sm: '14px',\n base: '16px',\n lg: '18px',\n xl: '20px',\n '2xl': '24px',\n },\n lineHeight: {\n tight: '1.25',\n normal: '1.5',\n relaxed: '1.75',\n },\n} as const;\n\n// =============================================================================\n// CSS Variable Names\n// =============================================================================\n\n/**\n * CSS custom property names for font sizes.\n * Override these in your CSS to customize typography.\n *\n * @example\n * ```css\n * :root {\n * --ash-font-size-base: 16px;\n * --ash-font-size-sm: 14px;\n * --ash-font-size-xs: 12px;\n * --ash-font-size-code: 14px;\n * }\n * ```\n */\nexport const cssVars = {\n fontSize: {\n base: '--ash-font-size-base',\n sm: '--ash-font-size-sm',\n xs: '--ash-font-size-xs',\n code: '--ash-font-size-code',\n },\n accent: '--ash-accent',\n accentForeground: '--ash-accent-foreground',\n surfaceDark: '--ash-surface-dark',\n surfaceDarker: '--ash-surface-darker',\n surfaceCard: '--ash-surface-card',\n surfaceElevated: '--ash-surface-elevated',\n surfaceBorder: '--ash-surface-border',\n} as const;\n\n// =============================================================================\n// Animations - Keyframes as objects for inline style injection\n// =============================================================================\n\nexport const keyframes = {\n slideUp: {\n from: { opacity: '0', transform: 'translateY(20px)' },\n to: { opacity: '1', transform: 'translateY(0)' },\n },\n fadeIn: {\n from: { opacity: '0', transform: 'translateY(10px)' },\n to: { opacity: '1', transform: 'translateY(0)' },\n },\n blink: {\n '0%, 50%': { opacity: '1' },\n '51%, 100%': { opacity: '0' },\n },\n bounce: {\n '0%, 80%, 100%': { transform: 'scale(0)' },\n '40%': { transform: 'scale(1)' },\n },\n pulse: {\n '0%, 100%': { opacity: '1' },\n '50%': { opacity: '0.5' },\n },\n glowPulse: {\n '0%, 100%': { boxShadow: '0 0 20px rgba(204, 255, 0, 0.3)' },\n '50%': { boxShadow: '0 0 40px rgba(204, 255, 0, 0.5)' },\n },\n} as const;\n\n// CSS keyframe strings for injection into style tags\nexport const keyframesCss = {\n slideUp: `\n @keyframes ash-slide-up {\n from { opacity: 0; transform: translateY(20px); }\n to { opacity: 1; transform: translateY(0); }\n }\n `,\n fadeIn: `\n @keyframes ash-fade-in {\n from { opacity: 0; transform: translateY(10px); }\n to { opacity: 1; transform: translateY(0); }\n }\n `,\n blink: `\n @keyframes ash-blink {\n 0%, 50% { opacity: 1; }\n 51%, 100% { opacity: 0; }\n }\n `,\n bounce: `\n @keyframes ash-bounce {\n 0%, 80%, 100% { transform: scale(0); }\n 40% { transform: scale(1); }\n }\n `,\n pulse: `\n @keyframes ash-pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.5; }\n }\n `,\n glowPulse: `\n @keyframes ash-glow-pulse {\n 0%, 100% { box-shadow: 0 0 20px rgba(204, 255, 0, 0.3); }\n 50% { box-shadow: 0 0 40px rgba(204, 255, 0, 0.5); }\n }\n `,\n} as const;\n\n// All keyframes combined for easy injection\nexport const allKeyframesCss = Object.values(keyframesCss).join('\\n');\n\n// =============================================================================\n// Transitions\n// =============================================================================\n\nexport const transitions = {\n fast: '150ms ease-out',\n normal: '300ms ease-out',\n slow: '500ms ease-out',\n spring: '400ms cubic-bezier(0.16, 1, 0.3, 1)',\n} as const;\n\n// =============================================================================\n// Z-Index Scale\n// =============================================================================\n\nexport const zIndex = {\n base: 0,\n dropdown: 100,\n modal: 200,\n tooltip: 300,\n widget: 999999,\n} as const;\n\n// =============================================================================\n// Widget-Specific Dimensions\n// =============================================================================\n\nexport const widget = {\n launcher: {\n size: '60px',\n iconSize: '28px',\n },\n panel: {\n width: '400px',\n height: '600px',\n maxHeight: '80vh',\n },\n header: {\n height: '60px',\n },\n input: {\n minHeight: '60px',\n maxHeight: '150px',\n },\n message: {\n maxWidth: '85%',\n avatarSize: '32px',\n },\n gap: '20px', // Gap from edge of screen\n} as const;\n\n// =============================================================================\n// Helper: Convert tokens to CSS variables\n// =============================================================================\n\nexport function tokensToCssVariables(prefix = 'ash'): Record<string, string> {\n const vars: Record<string, string> = {};\n\n // Colors\n vars[`--${prefix}-accent`] = colors.accent.DEFAULT;\n Object.entries(colors.accent).forEach(([key, value]) => {\n if (key !== 'DEFAULT') vars[`--${prefix}-accent-${key}`] = value;\n });\n\n Object.entries(colors.surface).forEach(([key, value]) => {\n vars[`--${prefix}-surface-${key}`] = value;\n });\n\n Object.entries(colors.text).forEach(([key, value]) => {\n vars[`--${prefix}-text-${key}`] = value;\n });\n\n Object.entries(colors.border).forEach(([key, value]) => {\n if (key !== 'DEFAULT') vars[`--${prefix}-border-${key}`] = value;\n else vars[`--${prefix}-border`] = value;\n });\n\n // Font sizes (default values that can be overridden)\n vars[`--${prefix}-font-size-base`] = '14px';\n vars[`--${prefix}-font-size-sm`] = '12px';\n vars[`--${prefix}-font-size-xs`] = '11px';\n vars[`--${prefix}-font-size-code`] = '13px';\n\n return vars;\n}\n\n// =============================================================================\n// Helper: Generate inline styles from token names\n// =============================================================================\n\nexport const inlineStyles = {\n // Glass panel effect\n glassPanel: {\n backgroundColor: 'rgba(255, 255, 255, 0.05)',\n backdropFilter: 'blur(24px)',\n WebkitBackdropFilter: 'blur(24px)',\n border: `1px solid ${colors.border.DEFAULT}`,\n },\n\n // Accent button\n accentButton: {\n backgroundColor: colors.accent.DEFAULT,\n color: '#000000',\n border: `1px solid ${colors.accent.DEFAULT}`,\n boxShadow: shadows.glow.md,\n },\n\n // Ghost button\n ghostButton: {\n backgroundColor: 'transparent',\n color: colors.text.secondary,\n border: '1px solid transparent',\n },\n\n // User message bubble\n userMessage: {\n backgroundColor: colors.user.bg,\n border: `1px solid ${colors.user.border}`,\n borderRadius: borderRadius.lg,\n },\n\n // Assistant message bubble\n assistantMessage: {\n backgroundColor: colors.assistant.bg,\n border: `1px solid ${colors.assistant.border}`,\n borderRadius: borderRadius.lg,\n },\n} as const;\n\n// =============================================================================\n// Type exports\n// =============================================================================\n\nexport type Colors = typeof colors;\nexport type Spacing = typeof spacing;\nexport type BorderRadius = typeof borderRadius;\nexport type Shadows = typeof shadows;\nexport type Typography = typeof typography;\nexport type CssVars = typeof cssVars;\nexport type Keyframes = typeof keyframes;\nexport type Transitions = typeof transitions;\nexport type ZIndex = typeof zIndex;\nexport type Widget = typeof widget;\n"]}
|
package/dist/icons.cjs
CHANGED
|
@@ -253,9 +253,30 @@ function ErrorIcon({ className }) {
|
|
|
253
253
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: "9", y1: "9", x2: "15", y2: "15" })
|
|
254
254
|
] });
|
|
255
255
|
}
|
|
256
|
+
function MicrophoneIcon({ className }) {
|
|
257
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { className, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [
|
|
258
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z" }),
|
|
259
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M19 10v2a7 7 0 0 1-14 0v-2" }),
|
|
260
|
+
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: "12", y1: "19", x2: "12", y2: "23" }),
|
|
261
|
+
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: "8", y1: "23", x2: "16", y2: "23" })
|
|
262
|
+
] });
|
|
263
|
+
}
|
|
264
|
+
function HomeIcon({ className }) {
|
|
265
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { className, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [
|
|
266
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" }),
|
|
267
|
+
/* @__PURE__ */ jsxRuntime.jsx("polyline", { points: "9 22 9 12 15 12 15 22" })
|
|
268
|
+
] });
|
|
269
|
+
}
|
|
270
|
+
function ArrowUpIcon({ className }) {
|
|
271
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { className, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [
|
|
272
|
+
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: "12", y1: "19", x2: "12", y2: "5" }),
|
|
273
|
+
/* @__PURE__ */ jsxRuntime.jsx("polyline", { points: "5 12 12 5 19 12" })
|
|
274
|
+
] });
|
|
275
|
+
}
|
|
256
276
|
|
|
257
277
|
exports.AlertCircleIcon = AlertCircleIcon;
|
|
258
278
|
exports.AlertTriangleIcon = AlertTriangleIcon;
|
|
279
|
+
exports.ArrowUpIcon = ArrowUpIcon;
|
|
259
280
|
exports.BotIcon = BotIcon;
|
|
260
281
|
exports.BrainIcon = BrainIcon;
|
|
261
282
|
exports.BugIcon = BugIcon;
|
|
@@ -276,10 +297,12 @@ exports.FileIcon = FileIcon;
|
|
|
276
297
|
exports.FilePlusIcon = FilePlusIcon;
|
|
277
298
|
exports.FolderSearchIcon = FolderSearchIcon;
|
|
278
299
|
exports.GlobeIcon = GlobeIcon;
|
|
300
|
+
exports.HomeIcon = HomeIcon;
|
|
279
301
|
exports.InfoIcon = InfoIcon;
|
|
280
302
|
exports.ListChecksIcon = ListChecksIcon;
|
|
281
303
|
exports.LoaderIcon = LoaderIcon;
|
|
282
304
|
exports.MessageSquareIcon = MessageSquareIcon;
|
|
305
|
+
exports.MicrophoneIcon = MicrophoneIcon;
|
|
283
306
|
exports.MoonIcon = MoonIcon;
|
|
284
307
|
exports.PaperclipIcon = PaperclipIcon;
|
|
285
308
|
exports.PlugIcon = PlugIcon;
|
package/dist/icons.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/icons.tsx"],"names":["jsxs","jsx"],"mappings":"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","file":"icons.cjs","sourcesContent":["/**\n * @ash-cloud/ash-ui - Icon Components\n *\n * Inline SVG icons for minimal dependencies. These icons follow\n * the Feather Icons style:\n * - 24x24 viewBox\n * - 2px stroke width\n * - No fill (stroke-based)\n */\n\n// =============================================================================\n// Icon Props Type\n// =============================================================================\n\nexport interface IconProps {\n className?: string;\n}\n\n// =============================================================================\n// Navigation & UI Icons\n// =============================================================================\n\nexport function SunIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"5\" />\n <line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\" />\n <line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\" />\n <line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\" />\n <line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\" />\n <line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\" />\n <line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\" />\n <line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\" />\n <line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\" />\n </svg>\n );\n}\n\nexport function MoonIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\" />\n </svg>\n );\n}\n\nexport function ChevronDownIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n );\n}\n\nexport function ChevronRightIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <polyline points=\"9 18 15 12 9 6\" />\n </svg>\n );\n}\n\nexport function ChevronLeftIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <polyline points=\"15 18 9 12 15 6\" />\n </svg>\n );\n}\n\nexport function ChevronUpIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <polyline points=\"18 15 12 9 6 15\" />\n </svg>\n );\n}\n\n// =============================================================================\n// Tool & Action Icons\n// =============================================================================\n\nexport function TerminalIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <polyline points=\"4 17 10 11 4 5\" />\n <line x1=\"12\" y1=\"19\" x2=\"20\" y2=\"19\" />\n </svg>\n );\n}\n\nexport function FileIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\" />\n <polyline points=\"14 2 14 8 20 8\" />\n <line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\" />\n <line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\" />\n </svg>\n );\n}\n\nexport function EditIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\" />\n <path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\" />\n </svg>\n );\n}\n\nexport function FilePlusIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\" />\n <polyline points=\"14 2 14 8 20 8\" />\n <line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"12\" />\n <line x1=\"9\" y1=\"15\" x2=\"15\" y2=\"15\" />\n </svg>\n );\n}\n\nexport function SearchIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n );\n}\n\nexport function GlobeIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\" />\n <path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\" />\n </svg>\n );\n}\n\nexport function PlugIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M12 2v6\" />\n <path d=\"M6 6v4a6 6 0 0 0 12 0V6\" />\n <path d=\"M12 16v6\" />\n </svg>\n );\n}\n\nexport function ToolIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z\" />\n </svg>\n );\n}\n\nexport function FolderSearchIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\" />\n <circle cx=\"11\" cy=\"13\" r=\"3\" />\n <line x1=\"15\" y1=\"16\" x2=\"17\" y2=\"18\" />\n </svg>\n );\n}\n\nexport function CodeIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <polyline points=\"16 18 22 12 16 6\" />\n <polyline points=\"8 6 2 12 8 18\" />\n </svg>\n );\n}\n\nexport function CopyIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\" />\n <path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\" />\n </svg>\n );\n}\n\nexport function CheckIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n );\n}\n\nexport function XIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n );\n}\n\nexport function LoaderIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"6\" />\n <line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"22\" />\n <line x1=\"4.93\" y1=\"4.93\" x2=\"7.76\" y2=\"7.76\" />\n <line x1=\"16.24\" y1=\"16.24\" x2=\"19.07\" y2=\"19.07\" />\n <line x1=\"2\" y1=\"12\" x2=\"6\" y2=\"12\" />\n <line x1=\"18\" y1=\"12\" x2=\"22\" y2=\"12\" />\n <line x1=\"4.93\" y1=\"19.07\" x2=\"7.76\" y2=\"16.24\" />\n <line x1=\"16.24\" y1=\"7.76\" x2=\"19.07\" y2=\"4.93\" />\n </svg>\n );\n}\n\n// =============================================================================\n// Status & Alert Icons\n// =============================================================================\n\nexport function InfoIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\" />\n <line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\" />\n </svg>\n );\n}\n\nexport function AlertTriangleIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\" />\n <line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\" />\n <line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\" />\n </svg>\n );\n}\n\nexport function AlertCircleIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\" />\n <line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\" />\n </svg>\n );\n}\n\nexport function BugIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <rect x=\"8\" y=\"6\" width=\"8\" height=\"14\" rx=\"4\" />\n <path d=\"M3 10h2\" />\n <path d=\"M19 10h2\" />\n <path d=\"M3 14h2\" />\n <path d=\"M19 14h2\" />\n <path d=\"M9 2h6\" />\n <path d=\"M12 2v4\" />\n </svg>\n );\n}\n\nexport function CheckCircleIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M9 12l2 2 4-4\" />\n </svg>\n );\n}\n\nexport function XCircleIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\" />\n <line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\" />\n </svg>\n );\n}\n\n// =============================================================================\n// Communication & Misc Icons\n// =============================================================================\n\nexport function SendIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <line x1=\"22\" y1=\"2\" x2=\"11\" y2=\"13\" />\n <polygon points=\"22 2 15 22 11 13 2 9 22 2\" />\n </svg>\n );\n}\n\nexport function PaperclipIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48\" />\n </svg>\n );\n}\n\nexport function StopCircleIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <rect x=\"9\" y=\"9\" width=\"6\" height=\"6\" />\n </svg>\n );\n}\n\nexport function MessageSquareIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\" />\n </svg>\n );\n}\n\nexport function SparklesIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5L12 3z\" />\n <path d=\"M5 19l.5 1.5L7 21l-1.5.5L5 23l-.5-1.5L3 21l1.5-.5L5 19z\" />\n <path d=\"M19 11l.5 1.5L21 13l-1.5.5L19 15l-.5-1.5L17 13l1.5-.5L19 11z\" />\n </svg>\n );\n}\n\nexport function BrainIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M9.5 2A2.5 2.5 0 0 1 12 4.5v15a2.5 2.5 0 0 1-4.96.44 2.5 2.5 0 0 1-2.96-3.08 3 3 0 0 1-.34-5.58 2.5 2.5 0 0 1 1.32-4.24 2.5 2.5 0 0 1 4.44-1.54\" />\n <path d=\"M14.5 2A2.5 2.5 0 0 0 12 4.5v15a2.5 2.5 0 0 0 4.96.44 2.5 2.5 0 0 0 2.96-3.08 3 3 0 0 0 .34-5.58 2.5 2.5 0 0 0-1.32-4.24 2.5 2.5 0 0 0-4.44-1.54\" />\n </svg>\n );\n}\n\nexport function BotIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M12 8V4H8\" />\n <rect x=\"5\" y=\"8\" width=\"14\" height=\"12\" rx=\"2\" />\n <path d=\"M2 14h2\" />\n <path d=\"M20 14h2\" />\n <path d=\"M9 13v2\" />\n <path d=\"M15 13v2\" />\n </svg>\n );\n}\n\nexport function UserIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n );\n}\n\n// =============================================================================\n// Todo & Task Icons\n// =============================================================================\n\nexport function CircleIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n </svg>\n );\n}\n\nexport function ListChecksIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M10 6h11\" />\n <path d=\"M10 12h11\" />\n <path d=\"M10 18h11\" />\n <path d=\"M3 6l2 2 4-4\" />\n <path d=\"M3 12l2 2 4-4\" />\n <path d=\"M3 18l2 2 4-4\" />\n </svg>\n );\n}\n\nexport function ClipboardListIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <rect x=\"8\" y=\"2\" width=\"8\" height=\"4\" rx=\"1\" ry=\"1\" />\n <path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\" />\n <path d=\"M12 11h4\" />\n <path d=\"M12 16h4\" />\n <path d=\"M8 11h.01\" />\n <path d=\"M8 16h.01\" />\n </svg>\n );\n}\n\n// =============================================================================\n// Time Icons\n// =============================================================================\n\nexport function ClockIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <polyline points=\"12 6 12 12 16 14\" />\n </svg>\n );\n}\n\n// =============================================================================\n// Spinner & Loading Icons\n// =============================================================================\n\nexport function SpinnerIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M21 12a9 9 0 1 1-6.219-8.56\" />\n </svg>\n );\n}\n\nexport function ErrorIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\" />\n <line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\" />\n </svg>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/icons.tsx"],"names":["jsxs","jsx"],"mappings":"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","file":"icons.cjs","sourcesContent":["/**\n * @ash-cloud/ash-ui - Icon Components\n *\n * Inline SVG icons for minimal dependencies. These icons follow\n * the Feather Icons style:\n * - 24x24 viewBox\n * - 2px stroke width\n * - No fill (stroke-based)\n */\n\n// =============================================================================\n// Icon Props Type\n// =============================================================================\n\nexport interface IconProps {\n className?: string;\n}\n\n// =============================================================================\n// Navigation & UI Icons\n// =============================================================================\n\nexport function SunIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"5\" />\n <line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\" />\n <line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\" />\n <line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\" />\n <line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\" />\n <line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\" />\n <line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\" />\n <line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\" />\n <line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\" />\n </svg>\n );\n}\n\nexport function MoonIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\" />\n </svg>\n );\n}\n\nexport function ChevronDownIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <polyline points=\"6 9 12 15 18 9\" />\n </svg>\n );\n}\n\nexport function ChevronRightIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <polyline points=\"9 18 15 12 9 6\" />\n </svg>\n );\n}\n\nexport function ChevronLeftIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <polyline points=\"15 18 9 12 15 6\" />\n </svg>\n );\n}\n\nexport function ChevronUpIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <polyline points=\"18 15 12 9 6 15\" />\n </svg>\n );\n}\n\n// =============================================================================\n// Tool & Action Icons\n// =============================================================================\n\nexport function TerminalIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <polyline points=\"4 17 10 11 4 5\" />\n <line x1=\"12\" y1=\"19\" x2=\"20\" y2=\"19\" />\n </svg>\n );\n}\n\nexport function FileIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\" />\n <polyline points=\"14 2 14 8 20 8\" />\n <line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\" />\n <line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\" />\n </svg>\n );\n}\n\nexport function EditIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\" />\n <path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\" />\n </svg>\n );\n}\n\nexport function FilePlusIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\" />\n <polyline points=\"14 2 14 8 20 8\" />\n <line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"12\" />\n <line x1=\"9\" y1=\"15\" x2=\"15\" y2=\"15\" />\n </svg>\n );\n}\n\nexport function SearchIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\" />\n </svg>\n );\n}\n\nexport function GlobeIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\" />\n <path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\" />\n </svg>\n );\n}\n\nexport function PlugIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M12 2v6\" />\n <path d=\"M6 6v4a6 6 0 0 0 12 0V6\" />\n <path d=\"M12 16v6\" />\n </svg>\n );\n}\n\nexport function ToolIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z\" />\n </svg>\n );\n}\n\nexport function FolderSearchIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\" />\n <circle cx=\"11\" cy=\"13\" r=\"3\" />\n <line x1=\"15\" y1=\"16\" x2=\"17\" y2=\"18\" />\n </svg>\n );\n}\n\nexport function CodeIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <polyline points=\"16 18 22 12 16 6\" />\n <polyline points=\"8 6 2 12 8 18\" />\n </svg>\n );\n}\n\nexport function CopyIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\" />\n <path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\" />\n </svg>\n );\n}\n\nexport function CheckIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n );\n}\n\nexport function XIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\" />\n <line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\" />\n </svg>\n );\n}\n\nexport function LoaderIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"6\" />\n <line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"22\" />\n <line x1=\"4.93\" y1=\"4.93\" x2=\"7.76\" y2=\"7.76\" />\n <line x1=\"16.24\" y1=\"16.24\" x2=\"19.07\" y2=\"19.07\" />\n <line x1=\"2\" y1=\"12\" x2=\"6\" y2=\"12\" />\n <line x1=\"18\" y1=\"12\" x2=\"22\" y2=\"12\" />\n <line x1=\"4.93\" y1=\"19.07\" x2=\"7.76\" y2=\"16.24\" />\n <line x1=\"16.24\" y1=\"7.76\" x2=\"19.07\" y2=\"4.93\" />\n </svg>\n );\n}\n\n// =============================================================================\n// Status & Alert Icons\n// =============================================================================\n\nexport function InfoIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\" />\n <line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\" />\n </svg>\n );\n}\n\nexport function AlertTriangleIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\" />\n <line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\" />\n <line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\" />\n </svg>\n );\n}\n\nexport function AlertCircleIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\" />\n <line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\" />\n </svg>\n );\n}\n\nexport function BugIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <rect x=\"8\" y=\"6\" width=\"8\" height=\"14\" rx=\"4\" />\n <path d=\"M3 10h2\" />\n <path d=\"M19 10h2\" />\n <path d=\"M3 14h2\" />\n <path d=\"M19 14h2\" />\n <path d=\"M9 2h6\" />\n <path d=\"M12 2v4\" />\n </svg>\n );\n}\n\nexport function CheckCircleIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <path d=\"M9 12l2 2 4-4\" />\n </svg>\n );\n}\n\nexport function XCircleIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\" />\n <line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\" />\n </svg>\n );\n}\n\n// =============================================================================\n// Communication & Misc Icons\n// =============================================================================\n\nexport function SendIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <line x1=\"22\" y1=\"2\" x2=\"11\" y2=\"13\" />\n <polygon points=\"22 2 15 22 11 13 2 9 22 2\" />\n </svg>\n );\n}\n\nexport function PaperclipIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48\" />\n </svg>\n );\n}\n\nexport function StopCircleIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <rect x=\"9\" y=\"9\" width=\"6\" height=\"6\" />\n </svg>\n );\n}\n\nexport function MessageSquareIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\" />\n </svg>\n );\n}\n\nexport function SparklesIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M12 3l1.5 4.5L18 9l-4.5 1.5L12 15l-1.5-4.5L6 9l4.5-1.5L12 3z\" />\n <path d=\"M5 19l.5 1.5L7 21l-1.5.5L5 23l-.5-1.5L3 21l1.5-.5L5 19z\" />\n <path d=\"M19 11l.5 1.5L21 13l-1.5.5L19 15l-.5-1.5L17 13l1.5-.5L19 11z\" />\n </svg>\n );\n}\n\nexport function BrainIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M9.5 2A2.5 2.5 0 0 1 12 4.5v15a2.5 2.5 0 0 1-4.96.44 2.5 2.5 0 0 1-2.96-3.08 3 3 0 0 1-.34-5.58 2.5 2.5 0 0 1 1.32-4.24 2.5 2.5 0 0 1 4.44-1.54\" />\n <path d=\"M14.5 2A2.5 2.5 0 0 0 12 4.5v15a2.5 2.5 0 0 0 4.96.44 2.5 2.5 0 0 0 2.96-3.08 3 3 0 0 0 .34-5.58 2.5 2.5 0 0 0-1.32-4.24 2.5 2.5 0 0 0-4.44-1.54\" />\n </svg>\n );\n}\n\nexport function BotIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M12 8V4H8\" />\n <rect x=\"5\" y=\"8\" width=\"14\" height=\"12\" rx=\"2\" />\n <path d=\"M2 14h2\" />\n <path d=\"M20 14h2\" />\n <path d=\"M9 13v2\" />\n <path d=\"M15 13v2\" />\n </svg>\n );\n}\n\nexport function UserIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\" />\n <circle cx=\"12\" cy=\"7\" r=\"4\" />\n </svg>\n );\n}\n\n// =============================================================================\n// Todo & Task Icons\n// =============================================================================\n\nexport function CircleIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n </svg>\n );\n}\n\nexport function ListChecksIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M10 6h11\" />\n <path d=\"M10 12h11\" />\n <path d=\"M10 18h11\" />\n <path d=\"M3 6l2 2 4-4\" />\n <path d=\"M3 12l2 2 4-4\" />\n <path d=\"M3 18l2 2 4-4\" />\n </svg>\n );\n}\n\nexport function ClipboardListIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <rect x=\"8\" y=\"2\" width=\"8\" height=\"4\" rx=\"1\" ry=\"1\" />\n <path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\" />\n <path d=\"M12 11h4\" />\n <path d=\"M12 16h4\" />\n <path d=\"M8 11h.01\" />\n <path d=\"M8 16h.01\" />\n </svg>\n );\n}\n\n// =============================================================================\n// Time Icons\n// =============================================================================\n\nexport function ClockIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <polyline points=\"12 6 12 12 16 14\" />\n </svg>\n );\n}\n\n// =============================================================================\n// Spinner & Loading Icons\n// =============================================================================\n\nexport function SpinnerIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M21 12a9 9 0 1 1-6.219-8.56\" />\n </svg>\n );\n}\n\nexport function ErrorIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <circle cx=\"12\" cy=\"12\" r=\"10\" />\n <line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\" />\n <line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\" />\n </svg>\n );\n}\n\n// =============================================================================\n// ChatGPT-Style UI Icons\n// =============================================================================\n\nexport function MicrophoneIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z\" />\n <path d=\"M19 10v2a7 7 0 0 1-14 0v-2\" />\n <line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"23\" />\n <line x1=\"8\" y1=\"23\" x2=\"16\" y2=\"23\" />\n </svg>\n );\n}\n\nexport function HomeIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <path d=\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\" />\n <polyline points=\"9 22 9 12 15 12 15 22\" />\n </svg>\n );\n}\n\nexport function ArrowUpIcon({ className }: IconProps) {\n return (\n <svg className={className} viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\">\n <line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"5\" />\n <polyline points=\"5 12 12 5 19 12\" />\n </svg>\n );\n}\n"]}
|
package/dist/icons.d.cts
CHANGED
|
@@ -52,5 +52,8 @@ declare function ClipboardListIcon({ className }: IconProps): react_jsx_runtime.
|
|
|
52
52
|
declare function ClockIcon({ className }: IconProps): react_jsx_runtime.JSX.Element;
|
|
53
53
|
declare function SpinnerIcon({ className }: IconProps): react_jsx_runtime.JSX.Element;
|
|
54
54
|
declare function ErrorIcon({ className }: IconProps): react_jsx_runtime.JSX.Element;
|
|
55
|
+
declare function MicrophoneIcon({ className }: IconProps): react_jsx_runtime.JSX.Element;
|
|
56
|
+
declare function HomeIcon({ className }: IconProps): react_jsx_runtime.JSX.Element;
|
|
57
|
+
declare function ArrowUpIcon({ className }: IconProps): react_jsx_runtime.JSX.Element;
|
|
55
58
|
|
|
56
|
-
export { AlertCircleIcon, AlertTriangleIcon, BotIcon, BrainIcon, BugIcon, CheckCircleIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, CircleIcon, ClipboardListIcon, ClockIcon, CodeIcon, CopyIcon, EditIcon, ErrorIcon, FileIcon, FilePlusIcon, FolderSearchIcon, GlobeIcon, type IconProps, InfoIcon, ListChecksIcon, LoaderIcon, MessageSquareIcon, MoonIcon, PaperclipIcon, PlugIcon, SearchIcon, SendIcon, SparklesIcon, SpinnerIcon, StopCircleIcon, SunIcon, TerminalIcon, ToolIcon, UserIcon, XCircleIcon, XIcon };
|
|
59
|
+
export { AlertCircleIcon, AlertTriangleIcon, ArrowUpIcon, BotIcon, BrainIcon, BugIcon, CheckCircleIcon, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, CircleIcon, ClipboardListIcon, ClockIcon, CodeIcon, CopyIcon, EditIcon, ErrorIcon, FileIcon, FilePlusIcon, FolderSearchIcon, GlobeIcon, HomeIcon, type IconProps, InfoIcon, ListChecksIcon, LoaderIcon, MessageSquareIcon, MicrophoneIcon, MoonIcon, PaperclipIcon, PlugIcon, SearchIcon, SendIcon, SparklesIcon, SpinnerIcon, StopCircleIcon, SunIcon, TerminalIcon, ToolIcon, UserIcon, XCircleIcon, XIcon };
|