@kuniversedev/design-tokens 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tailwind-plugin.ts","../src/index.ts"],"sourcesContent":["/**\n * @k-universe/design-tokens — Tailwind CSS v3 plugin\n *\n * Maps all design tokens to Tailwind theme extensions and\n * registers CSS custom properties on :root via addBase.\n *\n * Usage in tailwind.config.ts:\n * ```typescript\n * import kuPlugin from '@k-universe/design-tokens/tailwind'\n *\n * export default {\n * plugins: [kuPlugin],\n * }\n * ```\n *\n * // Package exports needed: \"./tailwind\": \"./src/tailwind-plugin.ts\"\n */\n\nimport plugin from 'tailwindcss/plugin'\nimport { tokens } from './index.js'\n\n// ---------------------------------------------------------------------------\n// CSS custom property names — single source of mapping truth\n// ---------------------------------------------------------------------------\n\nconst cssVars = {\n // Colors — base\n colorBlack: '--color-black',\n colorWhite: '--color-white',\n colorGray100: '--color-gray-100',\n colorGray300: '--color-gray-300',\n colorGray500: '--color-gray-500',\n colorGray700: '--color-gray-700',\n colorGray900: '--color-gray-900',\n // Colors — semantic surfaces\n colorBackground: '--color-background',\n colorSurface: '--color-surface',\n colorForeground: '--color-foreground',\n colorMuted: '--color-muted',\n colorBorder: '--color-border',\n // Colors — accent/status\n colorPrimary: '--color-primary',\n colorSecondary: '--color-secondary',\n colorSuccess: '--color-success',\n colorError: '--color-error',\n colorWarning: '--color-warning',\n // Typography — font families\n fontFamilySans: '--font-family-sans',\n fontFamilyMono: '--font-family-mono',\n fontFamilyDisplay: '--font-family-display',\n // Typography — scale sizes\n fontSizeHero: '--font-size-hero',\n fontSizeH1: '--font-size-h1',\n fontSizeH2: '--font-size-h2',\n fontSizeH3: '--font-size-h3',\n fontSizeBody: '--font-size-body',\n fontSizeSmall: '--font-size-small',\n fontSizeTiny: '--font-size-tiny',\n // Typography — font weights\n fontWeightThin: '--font-weight-thin',\n fontWeightLight: '--font-weight-light',\n fontWeightRegular: '--font-weight-regular',\n fontWeightMedium: '--font-weight-medium',\n fontWeightSemibold: '--font-weight-semibold',\n fontWeightBold: '--font-weight-bold',\n fontWeightBlack: '--font-weight-black',\n // Motion — durations\n durationInstant: '--duration-instant',\n durationFast: '--duration-fast',\n durationDefault: '--duration-default',\n durationSlow: '--duration-slow',\n durationCrawl: '--duration-crawl',\n // Motion — easings\n easingDefault: '--easing-default',\n easingSmooth: '--easing-smooth',\n easingSharp: '--easing-sharp',\n easingAccelerate: '--easing-accelerate',\n easingDecelerate: '--easing-decelerate',\n // Layout\n layoutMargin: '--layout-margin',\n layoutSectionSpacing: '--layout-section-spacing',\n layoutContainerSm: '--layout-container-sm',\n layoutContainerMd: '--layout-container-md',\n layoutContainerLg: '--layout-container-lg',\n layoutContainerXl: '--layout-container-xl',\n layoutContainerMax: '--layout-container-max',\n layoutMeasure: '--layout-measure',\n // Border radius\n radiusNone: '--radius-none',\n radiusXs: '--radius-xs',\n radiusSm: '--radius-sm',\n radiusMd: '--radius-md',\n radiusLg: '--radius-lg',\n radiusXl: '--radius-xl',\n radius2xl: '--radius-2xl',\n radius3xl: '--radius-3xl',\n radiusRound: '--radius-round',\n // Shadows\n shadowXs: '--shadow-xs',\n shadowSm: '--shadow-sm',\n shadowMd: '--shadow-md',\n shadowLg: '--shadow-lg',\n shadowXl: '--shadow-xl',\n shadow2xl: '--shadow-2xl',\n shadowInner: '--shadow-inner',\n shadowCardHover: '--shadow-card-hover',\n shadowElevated: '--shadow-elevated',\n // Z-index\n zBg: '--z-bg',\n zBase: '--z-base',\n zContent: '--z-content',\n zDropdown: '--z-dropdown',\n zSticky: '--z-sticky',\n zOverlay: '--z-overlay',\n zModal: '--z-modal',\n zPopover: '--z-popover',\n zTooltip: '--z-tooltip',\n zToast: '--z-toast',\n // Border widths\n borderWidthThin: '--border-width-thin',\n borderWidthBase: '--border-width-base',\n borderWidthThick: '--border-width-thick',\n} as const\n\n// ---------------------------------------------------------------------------\n// Plugin\n// ---------------------------------------------------------------------------\n\nconst kuPlugin = plugin(\n function ({ addBase, addUtilities }) {\n // -------------------------------------------------------------------------\n // :root CSS custom properties — all token values as variables\n // -------------------------------------------------------------------------\n addBase({\n ':root': {\n // Colors — base neutrals\n [cssVars.colorBlack]: tokens.colors.black,\n [cssVars.colorWhite]: tokens.colors.white,\n [cssVars.colorGray100]: tokens.colors.gray[100],\n [cssVars.colorGray300]: tokens.colors.gray[300],\n [cssVars.colorGray500]: tokens.colors.gray[500],\n [cssVars.colorGray700]: tokens.colors.gray[700],\n [cssVars.colorGray900]: tokens.colors.gray[900],\n // Colors — semantic surfaces\n [cssVars.colorBackground]: tokens.colors.background,\n [cssVars.colorSurface]: tokens.colors.surface,\n [cssVars.colorForeground]: tokens.colors.foreground,\n [cssVars.colorMuted]: tokens.colors.muted,\n [cssVars.colorBorder]: tokens.colors.border,\n // Colors — accent/status\n [cssVars.colorPrimary]: tokens.colors.primary,\n [cssVars.colorSecondary]: tokens.colors.secondary,\n [cssVars.colorSuccess]: tokens.colors.success,\n [cssVars.colorError]: tokens.colors.error,\n [cssVars.colorWarning]: tokens.colors.warning,\n // Typography — font families\n [cssVars.fontFamilySans]: tokens.typography.fontFamily.sans,\n [cssVars.fontFamilyMono]: tokens.typography.fontFamily.mono,\n [cssVars.fontFamilyDisplay]: tokens.typography.fontFamily.display,\n // Typography — scale sizes\n [cssVars.fontSizeHero]: tokens.typography.scale.hero.size,\n [cssVars.fontSizeH1]: tokens.typography.scale.h1.size,\n [cssVars.fontSizeH2]: tokens.typography.scale.h2.size,\n [cssVars.fontSizeH3]: tokens.typography.scale.h3.size,\n [cssVars.fontSizeBody]: tokens.typography.scale.body.size,\n [cssVars.fontSizeSmall]: tokens.typography.scale.small.size,\n [cssVars.fontSizeTiny]: tokens.typography.scale.tiny.size,\n // Typography — font weights\n [cssVars.fontWeightThin]: String(tokens.typography.fontWeight.thin),\n [cssVars.fontWeightLight]: String(tokens.typography.fontWeight.light),\n [cssVars.fontWeightRegular]: String(tokens.typography.fontWeight.regular),\n [cssVars.fontWeightMedium]: String(tokens.typography.fontWeight.medium),\n [cssVars.fontWeightSemibold]: String(tokens.typography.fontWeight.semibold),\n [cssVars.fontWeightBold]: String(tokens.typography.fontWeight.bold),\n [cssVars.fontWeightBlack]: String(tokens.typography.fontWeight.black),\n // Motion — durations\n [cssVars.durationInstant]: tokens.motion.duration.instant,\n [cssVars.durationFast]: tokens.motion.duration.fast,\n [cssVars.durationDefault]: tokens.motion.duration.default,\n [cssVars.durationSlow]: tokens.motion.duration.slow,\n [cssVars.durationCrawl]: tokens.motion.duration.crawl,\n // Motion — easings\n [cssVars.easingDefault]: tokens.motion.easing.default,\n [cssVars.easingSmooth]: tokens.motion.easing.smooth,\n [cssVars.easingSharp]: tokens.motion.easing.sharp,\n [cssVars.easingAccelerate]: tokens.motion.easing.accelerate,\n [cssVars.easingDecelerate]: tokens.motion.easing.decelerate,\n // Layout\n [cssVars.layoutMargin]: tokens.layout.margin,\n [cssVars.layoutSectionSpacing]: tokens.layout.sectionSpacing,\n [cssVars.layoutContainerSm]: tokens.layout.container.sm,\n [cssVars.layoutContainerMd]: tokens.layout.container.md,\n [cssVars.layoutContainerLg]: tokens.layout.container.lg,\n [cssVars.layoutContainerXl]: tokens.layout.container.xl,\n [cssVars.layoutContainerMax]: tokens.layout.container.max,\n [cssVars.layoutMeasure]: tokens.layout.measure,\n // Border radius\n [cssVars.radiusNone]: tokens.radius.none,\n [cssVars.radiusXs]: tokens.radius.xs,\n [cssVars.radiusSm]: tokens.radius.sm,\n [cssVars.radiusMd]: tokens.radius.md,\n [cssVars.radiusLg]: tokens.radius.lg,\n [cssVars.radiusXl]: tokens.radius.xl,\n [cssVars.radius2xl]: tokens.radius['2xl'],\n [cssVars.radius3xl]: tokens.radius['3xl'],\n [cssVars.radiusRound]: tokens.radius.round,\n // Shadows\n [cssVars.shadowXs]: tokens.shadows.xs,\n [cssVars.shadowSm]: tokens.shadows.sm,\n [cssVars.shadowMd]: tokens.shadows.md,\n [cssVars.shadowLg]: tokens.shadows.lg,\n [cssVars.shadowXl]: tokens.shadows.xl,\n [cssVars.shadow2xl]: tokens.shadows['2xl'],\n [cssVars.shadowInner]: tokens.shadows.inner,\n [cssVars.shadowCardHover]: tokens.shadows.cardHover,\n [cssVars.shadowElevated]: tokens.shadows.elevated,\n // Z-index\n [cssVars.zBg]: String(tokens.zIndex.bg),\n [cssVars.zBase]: String(tokens.zIndex.base),\n [cssVars.zContent]: String(tokens.zIndex.content),\n [cssVars.zDropdown]: String(tokens.zIndex.dropdown),\n [cssVars.zSticky]: String(tokens.zIndex.sticky),\n [cssVars.zOverlay]: String(tokens.zIndex.overlay),\n [cssVars.zModal]: String(tokens.zIndex.modal),\n [cssVars.zPopover]: String(tokens.zIndex.popover),\n [cssVars.zTooltip]: String(tokens.zIndex.tooltip),\n [cssVars.zToast]: String(tokens.zIndex.toast),\n // Border widths\n [cssVars.borderWidthThin]: tokens.borderWidth.thin,\n [cssVars.borderWidthBase]: tokens.borderWidth.base,\n [cssVars.borderWidthThick]: tokens.borderWidth.thick,\n },\n })\n\n // -------------------------------------------------------------------------\n // Utility classes\n // -------------------------------------------------------------------------\n addUtilities({\n '.glow': {\n 'box-shadow': '0 0 20px rgba(0, 102, 255, 0.3)',\n },\n '.glow-strong': {\n 'box-shadow': '0 0 40px rgba(0, 102, 255, 0.5)',\n },\n '.text-balance': {\n 'text-wrap': 'balance',\n },\n '.text-pretty': {\n 'text-wrap': 'pretty',\n },\n })\n },\n {\n theme: {\n extend: {\n // -----------------------------------------------------------------------\n // Colors — CSS var references enable runtime [data-theme] switching\n // -----------------------------------------------------------------------\n colors: {\n background: `var(${cssVars.colorBackground})`,\n surface: `var(${cssVars.colorSurface})`,\n foreground: `var(${cssVars.colorForeground})`,\n muted: `var(${cssVars.colorMuted})`,\n border: `var(${cssVars.colorBorder})`,\n primary: `var(${cssVars.colorPrimary})`,\n secondary: `var(${cssVars.colorSecondary})`,\n success: `var(${cssVars.colorSuccess})`,\n error: `var(${cssVars.colorError})`,\n warning: `var(${cssVars.colorWarning})`,\n gray: {\n 100: `var(${cssVars.colorGray100})`,\n 300: `var(${cssVars.colorGray300})`,\n 500: `var(${cssVars.colorGray500})`,\n 700: `var(${cssVars.colorGray700})`,\n 900: `var(${cssVars.colorGray900})`,\n },\n },\n\n // -----------------------------------------------------------------------\n // Font families\n // -----------------------------------------------------------------------\n fontFamily: {\n sans: `var(${cssVars.fontFamilySans})`,\n mono: `var(${cssVars.fontFamilyMono})`,\n display: `var(${cssVars.fontFamilyDisplay})`,\n },\n\n // -----------------------------------------------------------------------\n // Font sizes — with companion lineHeight + fontWeight defaults\n // -----------------------------------------------------------------------\n fontSize: {\n hero: [`var(${cssVars.fontSizeHero})`, { lineHeight: '1.125', fontWeight: '700' }],\n h1: [`var(${cssVars.fontSizeH1})`, { lineHeight: '1.167', fontWeight: '700' }],\n h2: [`var(${cssVars.fontSizeH2})`, { lineHeight: '1.25', fontWeight: '600' }],\n h3: [`var(${cssVars.fontSizeH3})`, { lineHeight: '1.333', fontWeight: '600' }],\n body: [`var(${cssVars.fontSizeBody})`, { lineHeight: '1.5', fontWeight: '400' }],\n small: [`var(${cssVars.fontSizeSmall})`, { lineHeight: '1.429', fontWeight: '400' }],\n tiny: [`var(${cssVars.fontSizeTiny})`, { lineHeight: '1.333', fontWeight: '400' }],\n },\n\n // -----------------------------------------------------------------------\n // Font weights\n // -----------------------------------------------------------------------\n fontWeight: {\n thin: String(tokens.typography.fontWeight.thin),\n light: String(tokens.typography.fontWeight.light),\n regular: String(tokens.typography.fontWeight.regular),\n medium: String(tokens.typography.fontWeight.medium),\n semibold: String(tokens.typography.fontWeight.semibold),\n bold: String(tokens.typography.fontWeight.bold),\n black: String(tokens.typography.fontWeight.black),\n },\n\n // -----------------------------------------------------------------------\n // Spacing — 8px base grid, includes the 60px margin principle at [15]\n // -----------------------------------------------------------------------\n spacing: {\n 0: tokens.spacing[0],\n 1: tokens.spacing[1],\n 2: tokens.spacing[2],\n 3: tokens.spacing[3],\n 4: tokens.spacing[4],\n 5: tokens.spacing[5],\n 6: tokens.spacing[6],\n 7: tokens.spacing[7],\n 8: tokens.spacing[8],\n 9: tokens.spacing[9],\n 10: tokens.spacing[10],\n 12: tokens.spacing[12],\n 14: tokens.spacing[14],\n 15: tokens.spacing[15], // 60px — K-Universe margin principle\n 16: tokens.spacing[16],\n 18: tokens.spacing[18],\n 20: tokens.spacing[20],\n 24: tokens.spacing[24],\n 32: tokens.spacing[32],\n },\n\n // -----------------------------------------------------------------------\n // Border radius\n // -----------------------------------------------------------------------\n borderRadius: {\n none: `var(${cssVars.radiusNone})`,\n xs: `var(${cssVars.radiusXs})`,\n sm: `var(${cssVars.radiusSm})`,\n md: `var(${cssVars.radiusMd})`,\n lg: `var(${cssVars.radiusLg})`,\n xl: `var(${cssVars.radiusXl})`,\n '2xl': `var(${cssVars.radius2xl})`,\n '3xl': `var(${cssVars.radius3xl})`,\n round: `var(${cssVars.radiusRound})`,\n full: `var(${cssVars.radiusRound})`, // Tailwind-idiomatic alias\n },\n\n // -----------------------------------------------------------------------\n // Box shadows\n // -----------------------------------------------------------------------\n boxShadow: {\n xs: `var(${cssVars.shadowXs})`,\n sm: `var(${cssVars.shadowSm})`,\n md: `var(${cssVars.shadowMd})`,\n lg: `var(${cssVars.shadowLg})`,\n xl: `var(${cssVars.shadowXl})`,\n '2xl': `var(${cssVars.shadow2xl})`,\n inner: `var(${cssVars.shadowInner})`,\n card: `var(${cssVars.shadowCardHover})`,\n elevated: `var(${cssVars.shadowElevated})`,\n },\n\n // -----------------------------------------------------------------------\n // Transition durations\n // -----------------------------------------------------------------------\n transitionDuration: {\n instant: tokens.motion.duration.instant, // '100ms'\n fast: tokens.motion.duration.fast, // '200ms'\n default: tokens.motion.duration.default, // '300ms'\n slow: tokens.motion.duration.slow, // '500ms'\n crawl: tokens.motion.duration.crawl, // '800ms'\n },\n\n // -----------------------------------------------------------------------\n // Transition timing functions (easings)\n // -----------------------------------------------------------------------\n transitionTimingFunction: {\n default: tokens.motion.easing.default,\n smooth: tokens.motion.easing.smooth,\n sharp: tokens.motion.easing.sharp,\n accelerate: tokens.motion.easing.accelerate,\n decelerate: tokens.motion.easing.decelerate,\n },\n\n // -----------------------------------------------------------------------\n // Z-index\n // -----------------------------------------------------------------------\n zIndex: {\n bg: String(tokens.zIndex.bg),\n base: String(tokens.zIndex.base),\n content: String(tokens.zIndex.content),\n dropdown: String(tokens.zIndex.dropdown),\n sticky: String(tokens.zIndex.sticky),\n overlay: String(tokens.zIndex.overlay),\n modal: String(tokens.zIndex.modal),\n popover: String(tokens.zIndex.popover),\n tooltip: String(tokens.zIndex.tooltip),\n toast: String(tokens.zIndex.toast),\n },\n\n // -----------------------------------------------------------------------\n // Max widths — container sizes\n // -----------------------------------------------------------------------\n maxWidth: {\n 'container': tokens.layout.container.max, // 1320px — K-Universe max\n 'container-sm': tokens.layout.container.sm,\n 'container-md': tokens.layout.container.md,\n 'container-lg': tokens.layout.container.lg,\n 'container-xl': tokens.layout.container.xl,\n 'measure': tokens.layout.measure, // 65ch\n },\n\n // -----------------------------------------------------------------------\n // Border widths\n // -----------------------------------------------------------------------\n borderWidth: {\n thin: tokens.borderWidth.thin,\n base: tokens.borderWidth.base,\n thick: tokens.borderWidth.thick,\n },\n },\n },\n },\n)\n\nexport default kuPlugin\nexport { kuPlugin as kuUniversePlugin }\n","/**\n * @k-universe/design-tokens\n *\n * Foundational design token implementation for K-Universe.\n * All values are authoritative — derived from the K-Universe design system spec.\n *\n * @example\n * ```typescript\n * import { tokens } from \"@k-universe/design-tokens\";\n *\n * tokens.colors.background // '#0A0A0A'\n * tokens.colors.foreground // '#FFFFFF'\n * tokens.colors.secondary // '#00CC88'\n * tokens.typography.fontFamily.sans // 'Power Grotesk, ...'\n * ```\n */\n\n// Re-export all types from the types module\nexport type {\n ColorToken,\n DimensionToken,\n DurationToken,\n EasingToken,\n ShadowToken,\n ColorScale,\n ColorTokens,\n TypeScaleEntry,\n FontFamilyTokens,\n TypeScaleTokens,\n FontWeightTokens,\n TypographyTokens,\n SpacingTokens,\n DurationTokens,\n EasingTokens,\n MotionTokens,\n ContainerTokens,\n LayoutTokens,\n RadiusTokens,\n ShadowTokens,\n ZIndexTokens,\n BorderWidthTokens,\n DesignTokens,\n} from './types.js';\n\nimport type { DesignTokens } from './types.js';\n\n// ---------------------------------------------------------------------------\n// Colors\n// ---------------------------------------------------------------------------\n\nconst colorsImpl = {\n // Base neutrals\n black: '#000000',\n white: '#FFFFFF',\n gray: {\n 100: '#F5F5F5',\n 300: '#D4D4D4',\n 500: '#737373',\n 700: '#404040',\n 900: '#171717',\n },\n\n // Dark mode semantic surfaces\n background: '#0A0A0A',\n surface: '#1A1A1A',\n foreground: '#FFFFFF',\n muted: '#2A2A2A',\n border: '#333333',\n\n // Accent / status\n primary: '#0066FF',\n secondary: '#00CC88',\n success: '#00DD77',\n error: '#FF3333',\n warning: '#FFAA00',\n} as const satisfies DesignTokens['colors'];\n\n// ---------------------------------------------------------------------------\n// Typography\n// ---------------------------------------------------------------------------\n\nconst typographyImpl = {\n fontFamily: {\n sans: 'Power Grotesk, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif',\n mono: 'JetBrains Mono, \"Fira Code\", monospace',\n display: 'Power Grotesk, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif',\n },\n\n scale: {\n hero: { size: '4rem', lineHeight: '1.125', weight: 700 }, // 64px\n h1: { size: '3rem', lineHeight: '1.167', weight: 700 }, // 48px\n h2: { size: '2rem', lineHeight: '1.25', weight: 600 }, // 32px\n h3: { size: '1.5rem', lineHeight: '1.333', weight: 600 }, // 24px\n body: { size: '1rem', lineHeight: '1.5', weight: 400 }, // 16px\n small: { size: '0.875rem', lineHeight: '1.429', weight: 400 }, // 14px\n tiny: { size: '0.75rem', lineHeight: '1.333', weight: 400 }, // 12px\n },\n\n fontWeight: {\n thin: 200,\n light: 300,\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n black: 900,\n },\n} as const satisfies DesignTokens['typography'];\n\n// ---------------------------------------------------------------------------\n// Spacing — 8px base grid\n// ---------------------------------------------------------------------------\n\nconst spacingImpl = {\n 0: '0',\n 1: '4px',\n 2: '8px',\n 3: '12px',\n 4: '16px',\n 5: '20px',\n 6: '24px',\n 7: '28px',\n 8: '32px',\n 9: '36px',\n 10: '40px',\n 12: '48px',\n 14: '56px',\n 15: '60px', // K-Universe 60px margin principle\n 16: '64px',\n 18: '72px',\n 20: '80px',\n 24: '96px',\n 32: '128px',\n} as const satisfies DesignTokens['spacing'];\n\n// ---------------------------------------------------------------------------\n// Motion\n// ---------------------------------------------------------------------------\n\nconst motionImpl = {\n duration: {\n instant: '100ms',\n fast: '200ms',\n default: '300ms',\n slow: '500ms',\n crawl: '800ms',\n },\n\n easing: {\n default: 'cubic-bezier(0.4, 0, 0.2, 1)',\n smooth: 'cubic-bezier(0.25, 0.1, 0.25, 1)',\n sharp: 'cubic-bezier(0.4, 0, 0.6, 1)',\n accelerate: 'cubic-bezier(0.4, 0, 1, 1)',\n decelerate: 'cubic-bezier(0, 0, 0.2, 1)',\n },\n} as const satisfies DesignTokens['motion'];\n\n// ---------------------------------------------------------------------------\n// Layout\n// ---------------------------------------------------------------------------\n\nconst layoutImpl = {\n margin: '60px', // primary horizontal landmark\n sectionSpacing: '96px',\n container: {\n sm: '640px',\n md: '768px',\n lg: '1024px',\n xl: '1280px',\n max: '1320px', // K-Universe max-width\n },\n measure: '65ch',\n} as const satisfies DesignTokens['layout'];\n\n// ---------------------------------------------------------------------------\n// Border radius\n// ---------------------------------------------------------------------------\n\nconst radiusImpl = {\n none: '0',\n xs: '2px',\n sm: '4px',\n md: '6px',\n lg: '8px',\n xl: '12px',\n '2xl': '16px',\n '3xl': '24px',\n round: '9999px',\n} as const satisfies DesignTokens['radius'];\n\n// ---------------------------------------------------------------------------\n// Shadows — neutral black only, no colored glow\n// ---------------------------------------------------------------------------\n\nconst shadowsImpl = {\n xs: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',\n sm: '0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px -1px rgba(0, 0, 0, 0.1)',\n md: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)',\n lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)',\n xl: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)',\n '2xl': '0 25px 50px -12px rgba(0, 0, 0, 0.25)',\n inner: 'inset 0 2px 4px 0 rgba(0, 0, 0, 0.05)',\n cardHover: '0 20px 55px rgba(0, 0, 0, 0.55)',\n elevated: '0 24px 60px rgba(0, 0, 0, 0.45)',\n} as const satisfies DesignTokens['shadows'];\n\n// ---------------------------------------------------------------------------\n// Z-index\n// ---------------------------------------------------------------------------\n\nconst zIndexImpl = {\n bg: -1,\n base: 0,\n content: 10,\n dropdown: 100,\n sticky: 200,\n overlay: 300,\n modal: 400,\n popover: 500,\n tooltip: 600,\n toast: 700,\n} as const satisfies DesignTokens['zIndex'];\n\n// ---------------------------------------------------------------------------\n// Border width\n// ---------------------------------------------------------------------------\n\nconst borderWidthImpl = {\n thin: '1px',\n base: '2px',\n thick: '4px',\n} as const satisfies DesignTokens['borderWidth'];\n\n// ---------------------------------------------------------------------------\n// Root tokens object\n// ---------------------------------------------------------------------------\n\n/**\n * Primary design tokens export.\n *\n * @example\n * ```typescript\n * import { tokens } from \"@k-universe/design-tokens\";\n *\n * tokens.colors.background // '#0A0A0A'\n * tokens.colors.foreground // '#FFFFFF'\n * tokens.colors.secondary // '#00CC88'\n * tokens.typography.fontFamily.sans // 'Power Grotesk, ...'\n * tokens.spacing[15] // '60px' — 60px margin principle\n * tokens.motion.duration.default // '300ms'\n * ```\n */\nexport const tokens: DesignTokens = {\n colors: colorsImpl,\n typography: typographyImpl,\n spacing: spacingImpl,\n motion: motionImpl,\n layout: layoutImpl,\n radius: radiusImpl,\n shadows: shadowsImpl,\n zIndex: zIndexImpl,\n borderWidth: borderWidthImpl,\n};\n\n// ---------------------------------------------------------------------------\n// Convenience shortcut exports\n// ---------------------------------------------------------------------------\n\n/** Alias for tokens — backwards compatibility. */\nexport const designTokens: DesignTokens = tokens;\n\n/** Shortcut: tokens.colors */\nexport const colors = tokens.colors;\n\n/** Shortcut: tokens.typography */\nexport const typography = tokens.typography;\n\n/** Shortcut: tokens.spacing */\nexport const spacing = tokens.spacing;\n\n/** Shortcut: tokens.motion */\nexport const motion = tokens.motion;\n\n/** Shortcut: tokens.layout */\nexport const layout = tokens.layout;\n\n/** Shortcut: tokens.radius */\nexport const radius = tokens.radius;\n\n/** Shortcut: tokens.shadows */\nexport const shadows = tokens.shadows;\n\n/** Shortcut: tokens.zIndex */\nexport const zIndex = tokens.zIndex;\n\n/** Shortcut: tokens.borderWidth */\nexport const borderWidth = tokens.borderWidth;\n\n// ---------------------------------------------------------------------------\n// Utility: mergeTokens\n// ---------------------------------------------------------------------------\n\ntype DeepPartial<T> = {\n [K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K];\n};\n\n/**\n * Deep-merges override tokens into a base token set.\n * Returns a new object — does not mutate the base.\n *\n * @example\n * ```typescript\n * import { tokens, mergeTokens } from \"@k-universe/design-tokens\";\n *\n * const theme = mergeTokens(tokens, {\n * colors: { primary: '#FF6600' },\n * });\n * ```\n */\nexport function mergeTokens(\n base: DesignTokens,\n overrides: DeepPartial<DesignTokens>,\n): DesignTokens {\n return deepMerge(base, overrides) as DesignTokens;\n}\n\nfunction deepMerge<T extends object>(target: T, source: DeepPartial<T>): T {\n const result: T = { ...target };\n\n for (const key in source) {\n if (!Object.prototype.hasOwnProperty.call(source, key)) continue;\n\n const sourceVal = source[key as keyof typeof source];\n const targetVal = target[key as keyof T];\n\n if (\n sourceVal !== null &&\n typeof sourceVal === 'object' &&\n !Array.isArray(sourceVal) &&\n targetVal !== null &&\n typeof targetVal === 'object' &&\n !Array.isArray(targetVal)\n ) {\n (result as Record<string, unknown>)[key] = deepMerge(\n targetVal as object,\n sourceVal as DeepPartial<typeof targetVal>,\n );\n } else if (sourceVal !== undefined) {\n (result as Record<string, unknown>)[key] = sourceVal;\n }\n }\n\n return result;\n}\n\n// ---------------------------------------------------------------------------\n// Utility: getTokenByPath\n// ---------------------------------------------------------------------------\n\n/**\n * Retrieves a token value using dot-notation path access.\n *\n * @param obj - The token object to traverse (typically `tokens`).\n * @param path - Dot-notation path string, e.g. `'colors.primary'`.\n * @returns The value at the given path, or `undefined` if not found.\n *\n * @example\n * ```typescript\n * import { tokens, getTokenByPath } from \"@k-universe/design-tokens\";\n *\n * getTokenByPath(tokens, 'colors.primary') // '#0066FF'\n * getTokenByPath(tokens, 'motion.duration.default') // '300ms'\n * getTokenByPath(tokens, 'spacing.15') // '60px'\n * ```\n */\nexport function getTokenByPath(\n obj: unknown,\n path: string,\n): unknown {\n if (!path) return obj;\n\n const segments = path.split('.');\n let current: unknown = obj;\n\n for (const segment of segments) {\n if (current === null || current === undefined) return undefined;\n if (typeof current !== 'object') return undefined;\n current = (current as Record<string, unknown>)[segment];\n }\n\n return current;\n}\n"],"mappings":"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","names":["plugin"]}
@@ -0,0 +1,25 @@
1
+ import * as tailwindcss_types_config_js from 'tailwindcss/types/config.js';
2
+
3
+ /**
4
+ * @k-universe/design-tokens — Tailwind CSS v3 plugin
5
+ *
6
+ * Maps all design tokens to Tailwind theme extensions and
7
+ * registers CSS custom properties on :root via addBase.
8
+ *
9
+ * Usage in tailwind.config.ts:
10
+ * ```typescript
11
+ * import kuPlugin from '@k-universe/design-tokens/tailwind'
12
+ *
13
+ * export default {
14
+ * plugins: [kuPlugin],
15
+ * }
16
+ * ```
17
+ *
18
+ * // Package exports needed: "./tailwind": "./src/tailwind-plugin.ts"
19
+ */
20
+ declare const kuPlugin: {
21
+ handler: tailwindcss_types_config_js.PluginCreator;
22
+ config?: Partial<tailwindcss_types_config_js.Config>;
23
+ };
24
+
25
+ export { kuPlugin as default, kuPlugin as kuUniversePlugin };
@@ -0,0 +1,25 @@
1
+ import * as tailwindcss_types_config_js from 'tailwindcss/types/config.js';
2
+
3
+ /**
4
+ * @k-universe/design-tokens — Tailwind CSS v3 plugin
5
+ *
6
+ * Maps all design tokens to Tailwind theme extensions and
7
+ * registers CSS custom properties on :root via addBase.
8
+ *
9
+ * Usage in tailwind.config.ts:
10
+ * ```typescript
11
+ * import kuPlugin from '@k-universe/design-tokens/tailwind'
12
+ *
13
+ * export default {
14
+ * plugins: [kuPlugin],
15
+ * }
16
+ * ```
17
+ *
18
+ * // Package exports needed: "./tailwind": "./src/tailwind-plugin.ts"
19
+ */
20
+ declare const kuPlugin: {
21
+ handler: tailwindcss_types_config_js.PluginCreator;
22
+ config?: Partial<tailwindcss_types_config_js.Config>;
23
+ };
24
+
25
+ export { kuPlugin as default, kuPlugin as kuUniversePlugin };