// src/helper/css/index.ts import { raw } from "../../helper/html/index.js"; import { DOM_RENDERER } from "../../jsx/constants.js"; import { createCssJsxDomObjects } from "../../jsx/dom/css.js"; import { SELECTOR, CLASS_NAME, STYLE_STRING, SELECTORS, PSEUDO_GLOBAL_SELECTOR, DEFAULT_STYLE_ID, cssCommon, cxCommon, keyframesCommon, viewTransitionCommon } from "./common.js"; import { rawCssString } from "./common.js"; var createCssContext = ({ id }) => { const [cssJsxDomObject, StyleRenderToDom] = createCssJsxDomObjects({ id }); const contextMap = /* @__PURE__ */ new WeakMap(); const replaceStyleRe = new RegExp(`()`); const newCssClassNameObject = (cssClassName) => { const appendStyle = ({ buffer, context }) => { const [toAdd, added] = contextMap.get(context); const names = Object.keys(toAdd); if (!names.length) { return; } let stylesStr = ""; names.forEach((className2) => { added[className2] = true; stylesStr += className2.startsWith(PSEUDO_GLOBAL_SELECTOR) ? toAdd[className2] : `${className2[0] === "@" ? "" : "."}${className2}{${toAdd[className2]}}`; }); contextMap.set(context, [{}, added]); if (buffer && replaceStyleRe.test(buffer[0])) { buffer[0] = buffer[0].replace(replaceStyleRe, (_, pre, post) => `${pre}${stylesStr}${post}`); return; } const appendStyleScript = `