@mui/internal-docs-infra
Version:
MUI Infra - internal documentation creation tools.
42 lines • 1.67 kB
text/typescript
import type { Element } from 'hast';
import type { LanguageCapabilities } from "./getLanguageCapabilities.mjs";
/**
* Converts a prop path (array of property names) to a kebab-case dotted string.
* Each segment is independently converted.
* Example: ["homeAddress", "streetName"] → "home-address.street-name"
*/
export declare function propPathToString(propPath: string[], propName: string): string;
/**
* Checks if an element is a linkable span (pl-c1 or pl-en).
* In CSS contexts, pl-v (CSS variables) and pl-e (class selectors) are also linkable.
* Only spans are considered linkable - not anchors we've already created.
*/
export declare function isLinkableSpan(element: Element, lang?: LanguageCapabilities): boolean;
/**
* Checks if an element is a property span (pl-v or pl-e).
*/
export declare function isPropertySpan(element: Element): boolean;
/**
* Checks if an element is a keyword span (pl-k).
*/
export declare function isKeywordSpan(element: Element): boolean;
/**
* Checks if an element is a comment span (pl-c).
*/
export declare function isCommentSpan(element: Element): boolean;
/**
* Checks if an element is an identifier reference span (pl-smi).
*/
export declare function isSmiSpan(element: Element): boolean;
/**
* Checks if an element is a string literal span (pl-s).
*/
export declare function isStringLiteralSpan(element: Element): boolean;
/**
* Gets the text content of an element (concatenates all text children).
*/
export declare function getTextContent(element: Element): string;
/**
* Gets the class names from an element's properties.
*/
export declare function getClassName(element: Element): string[] | undefined;