UNPKG

@ordojs/core

Version:

Core compiler and runtime for OrdoJS framework

66 lines 1.76 kB
/** * @fileoverview CSS Scoping System for OrdoJS Framework * Handles scoping CSS selectors to prevent style conflicts between components */ import { type StyleBlockNode } from '../types/index.js'; /** * CSS Scoping options */ export interface CSSScopingOptions { /** * Prefix to use for scoped selectors */ scopePrefix?: string; /** * Whether to use data attributes for scoping (true) or class names (false) */ useDataAttributes?: boolean; /** * Whether to preserve original selectors in addition to scoped ones */ preserveOriginalSelectors?: boolean; } /** * CSS Scoper for OrdoJS components */ export declare class OrdoJSCSSScoper { private options; constructor(options?: Partial<CSSScopingOptions>); /** * Scope CSS rules to a specific component */ scopeStyles(styleBlock: StyleBlockNode, componentName: string): StyleBlockNode; /** * Scope a single CSS rule */ private scopeRule; /** * Scope a CSS selector */ private scopeSelector; /** * Scope a single CSS selector (without commas) */ private scopeSingleSelector; /** * Scope a single selector part (no combinators) */ private scopeSelectorPart; /** * Generate a unique scope ID for a component */ private generateScopeId; /** * Generate a simple hash from a string */ private hashString; /** * Generate the data attribute or class name for component markup */ generateScopeAttribute(componentName: string): string; /** * Convert a scoped StyleBlockNode back to CSS text */ generateScopedCSS(styleBlock: StyleBlockNode): string; } //# sourceMappingURL=css-scoper.d.ts.map