cirrojs 0.0.8 → 0.0.9

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/CHANGELOG.md CHANGED
@@ -13,6 +13,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
13
13
 
14
14
  ## [Unreleased]
15
15
 
16
+ ## [0.0.9] - 2026-06-22
17
+
18
+ ### Fixed
19
+ - Client scripts no longer throw at runtime. The CSS registry pulled `node:async_hooks` (`AsyncLocalStorage`) into the client bundle, where it is unavailable, causing the script to fail before executing. The client now resolves the registry through the package's `browser` export condition to an async_hooks-free implementation: `css()` only needs the generated class name on the client, so CSS registration becomes a no-op.
20
+
16
21
  ## [0.0.8] - 2026-06-21
17
22
 
18
23
  ### Added
@@ -67,7 +72,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
67
72
  ## 0.0.1 - 2026-06-15
68
73
  - initial release
69
74
 
70
- [Unreleased]: https://github.com/osawa-naotaka/cirro/compare/v0.0.8...HEAD
75
+ [Unreleased]: https://github.com/osawa-naotaka/cirro/compare/v0.0.9...HEAD
76
+ [0.0.9]: https://github.com/osawa-naotaka/cirro/compare/v0.0.8...v0.0.9
71
77
  [0.0.8]: https://github.com/osawa-naotaka/cirro/compare/v0.0.7...v0.0.8
72
78
  [0.0.7]: https://github.com/osawa-naotaka/cirro/compare/v0.0.6...v0.0.7
73
79
  [0.0.6]: https://github.com/osawa-naotaka/cirro/compare/v0.0.5...v0.0.6
package/dist/cli.js CHANGED
@@ -1 +1 @@
1
- import{r as e}from"./css-L9LEkQky.js";import{Fragment as t,createElement as n}from"react";import{renderToStaticMarkup as r}from"react-dom/server";import{dirname as i,extname as a,join as o,resolve as s}from"node:path";import{mkdir as c,readFile as l,writeFile as u}from"node:fs/promises";import{build as d,createServer as f,createServerModuleRunner as p}from"vite";import{createServer as m}from"node:http";function h(e){let t=[];for(let n of e)switch(n.type){case`static`:t.push({type:`html`,path:n.path,cssPath:o(n.path,`index.css`),render:()=>n.component({params:{}})}),t.push({type:`css`,path:o(n.path,`index.css`),render:()=>n.component({params:{}})});break;case`dynamic`:for(let e of n.getStaticPaths())t.push({type:`html`,path:n.path(e),cssPath:n.cssPath,render:()=>n.component({params:e})});t.push({type:`css`,path:n.cssPath,render:()=>n.component({params:n.getStaticPaths()[0]})});break;case`file`:t.push({type:`file`,path:n.path,ext:a(n.path),render:()=>n.component({params:{}})});break}return t}function g(e){return e===`/`?`index.html`:`${e.replace(/^\/+|\/+$/g,``)}/index.html`}function _(e){return e===`/`?`index.css`:`${e.replace(/^\/+|\/+$/g,``)}`}function v(e,r,i){return n(t,null,e,n(`script`,{async:!0,type:`module`,src:r,key:`cirro-client`}),n(`link`,{rel:`stylesheet`,href:i,precedence:`default`,key:`cirro-css`}))}function y(e){for(let t of e.plugins){let e=t.api;if(t.name===`cirro`&&e?.options)return e.options}throw Error(`cirro: plugin not found in Vite config (did you add cirro() to plugins?)`)}async function b(){await d();let t=await f({server:{middlewareMode:!0,hmr:!1},appType:`custom`}),n=p(t.environments.ssr);try{let a=t.config,d=y(a),f=a.root,p=s(f,a.build.outDir),m=s(f,d.routes),b=JSON.parse(await l(o(p,`.vite/manifest.json`),`utf-8`))[`virtual:cirro/client`];if(!b)throw Error(`cirro: manifest entry "virtual:cirro/client" not found`);let x=`/${b.file}`,{routes:S,runWithRegistry:C}=await n.import(m);for(let t of h(S))switch(t.type){case`css`:{let{registry:n}=C(()=>r(t.render())),a=e(n),s=o(p,_(t.path));await c(i(s),{recursive:!0}),await u(s,a),console.log(`wrote ${s} (url: ${t.path})`);break}case`html`:{let{result:e}=C(()=>`<!DOCTYPE html>${r(v(t.render(),x,t.cssPath))}`),n=o(p,g(t.path));await c(i(n),{recursive:!0}),await u(n,e),console.log(`wrote ${n} (url: ${t.path})`);break}case`file`:{let e=t.render(),n=o(p,t.path);await c(i(n),{recursive:!0}),await u(n,e),console.log(`wrote ${n} (url: ${t.path})`);break}}}finally{await t.close()}}const x=[[`.aac`,`audio/aac`],[`.abw`,`application/x-abiword`],[`.arc`,`application/x-freearc`],[`.avi`,`video/x-msvideo`],[`.azw`,`application/vnd.amazon.ebook`],[`.bin`,`application/octet-stream`],[`.bmp`,`image/bmp`],[`.bz`,`application/x-bzip`],[`.bz2`,`application/x-bzip2`],[`.csh`,`application/x-csh`],[`.css`,`text/css`],[`.csv`,`text/csv`],[`.doc`,`application/msword`],[`.docx`,`application/vnd.openxmlformats-officedocument.wordprocessingml.document`],[`.eot`,`application/vnd.ms-fontobject`],[`.epub`,`application/epub+zip`],[`.gz`,`application/gzip`],[`.gif`,`image/gif`],[`.htm`,`text/html`],[`.html`,`text/html`],[`.ico`,`image/vnd.microsoft.icon`],[`.ics`,`text/calendar`],[`.jar`,`application/java-archive`],[`.jpeg`,`image/jpeg`],[`.jpg`,`image/jpeg`],[`.js`,`text/javascript`],[`.json`,`application/json`],[`.jsonld`,`application/ld+json`],[`.mid`,`audio/midi`],[`.midi`,`audio/x-midi`],[`.mjs`,`text/javascript`],[`.mp3`,`audio/mpeg`],[`.mpeg`,`video/mpeg`],[`.mpkg`,`application/vnd.apple.installer+xml`],[`.odp`,`application/vnd.oasis.opendocument.presentation`],[`.ods`,`application/vnd.oasis.opendocument.spreadsheet`],[`.odt`,`application/vnd.oasis.opendocument.text`],[`.oga`,`audio/ogg`],[`.ogv`,`video/ogg`],[`.ogx`,`application/ogg`],[`.opus`,`audio/opus`],[`.otf`,`font/otf`],[`.png`,`image/png`],[`.pdf`,`application/pdf`],[`.php`,`application/x-httpd-php`],[`.ppt`,`application/vnd.ms-powerpoint`],[`.pptx`,`application/vnd.openxmlformats-officedocument.presentationml.presentation`],[`.rar`,`application/vnd.rar`],[`.rtf`,`application/rtf`],[`.sh`,`application/x-sh`],[`.svg`,`image/svg+xml`],[`.swf`,`application/x-shockwave-flash`],[`.tar`,`application/x-tar`],[`.tif`,`image/tiff`],[`.tiff`,`image/tiff`],[`.ts`,`video/mp2t`],[`.ttf`,`font/ttf`],[`.txt`,`text/plain`],[`.vsd`,`application/vnd.visio`],[`.wav`,`audio/wav`],[`.weba`,`audio/webm`],[`.webm`,`video/webm`],[`.webp`,`image/webp`],[`.woff`,`font/woff`],[`.woff2`,`font/woff2`],[`.xhtml`,`application/xhtml+xml`],[`.xls`,`application/vnd.ms-excel`],[`.xlsx`,`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`],[`.xml`,`application/xml`],[`.xul`,`application/vnd.mozilla.xul+xml`],[`.zip`,`application/zip`],[`.3gp`,`video/3gpp`],[`.3g2`,`video/3gpp2`],[`.7z`,`application/x-7z-compressed`]];function S(e){return x.find(t=>t[0]===e)?.[1]||`text/plain`}function C(e,t){let n=[t,t.replaceAll(`\\`,`/`)];for(let t of Object.values(e.environments)){let e=t.moduleGraph;if(!e)continue;let r=new Set,i=t=>{if(!r.has(t)){r.add(t),e.invalidateModule(t);for(let e of t.importers)i(e)}};for(let t of n){let n=e.getModulesByFile(t);if(n)for(let e of n)i(e)}}}async function w(t=5173){let n=await f({server:{middlewareMode:!0},appType:`custom`}),a=p(n.environments.ssr),o=y(n.config),c=n.config.root,l=s(c,o.routes),u=i(s(c,o.islands)).replaceAll(`\\`,`/`),d=m((t,i)=>{function o(e,t){i.statusCode=200,i.setHeader(`Content-Type`,S(e)),i.end(t)}function s(e){i.statusCode=404,i.setHeader(`Content-Type`,S(e)),e===`.html`?i.end(`<!DOCTYPE html><meta charset="utf-8"><h1>404 Not Found</h1>`):i.end()}n.middlewares(t,i,async()=>{let c=t.url??`/`,u=new URL(c,`http://localhost`).pathname.replace(/\/+$/,``)||`/`;try{let{routes:t,runWithRegistry:i}=await a.import(l),d=h(t).find(e=>e.path===u);if(d===void 0){s(`.html`);return}switch(d.type){case`html`:{let{result:e}=i(()=>`<!DOCTYPE html>${r(v(d.render(),`/@id/__x00__virtual:cirro/client`,d.cssPath))}`);o(`.html`,await n.transformIndexHtml(c,e));break}case`css`:{let{registry:t}=i(()=>r(d.render()));o(`.css`,e(t));break}case`file`:{let e=d.render();o(d.ext,e);break}}return}catch(e){i.statusCode=500,i.end(String(e))}})}),g=`${s(c,o.watchDir??`./src`).replaceAll(`\\`,`/`).replace(/\/+$/,``)}/`;n.watcher.on(`change`,e=>{let t=e.replaceAll(`\\`,`/`);t.startsWith(u)||t.startsWith(g)&&(C(n,e),n.ws.send({type:`full-reload`}))}),d.listen(t,()=>{console.log(`cirro dev: http://localhost:${t}`)})}async function T(e){let t=e[0];t===`dev`?await w():t===`build`?await b():(console.error(`usage: cirro <dev|build>`),process.exit(1))}export{T as main};
1
+ import{r as e}from"./css-BZ1E8BDE.js";import{Fragment as t,createElement as n}from"react";import{renderToStaticMarkup as r}from"react-dom/server";import{dirname as i,extname as a,join as o,resolve as s}from"node:path";import{mkdir as c,readFile as l,writeFile as u}from"node:fs/promises";import{build as d,createServer as f,createServerModuleRunner as p}from"vite";import{createServer as m}from"node:http";function h(e){let t=[];for(let n of e)switch(n.type){case`static`:t.push({type:`html`,path:n.path,cssPath:o(n.path,`index.css`),render:()=>n.component({params:{}})}),t.push({type:`css`,path:o(n.path,`index.css`),render:()=>n.component({params:{}})});break;case`dynamic`:for(let e of n.getStaticPaths())t.push({type:`html`,path:n.path(e),cssPath:n.cssPath,render:()=>n.component({params:e})});t.push({type:`css`,path:n.cssPath,render:()=>n.component({params:n.getStaticPaths()[0]})});break;case`file`:t.push({type:`file`,path:n.path,ext:a(n.path),render:()=>n.component({params:{}})});break}return t}function g(e){return e===`/`?`index.html`:`${e.replace(/^\/+|\/+$/g,``)}/index.html`}function _(e){return e===`/`?`index.css`:`${e.replace(/^\/+|\/+$/g,``)}`}function v(e,r,i){return n(t,null,e,n(`script`,{async:!0,type:`module`,src:r,key:`cirro-client`}),n(`link`,{rel:`stylesheet`,href:i,precedence:`default`,key:`cirro-css`}))}function y(e){for(let t of e.plugins){let e=t.api;if(t.name===`cirro`&&e?.options)return e.options}throw Error(`cirro: plugin not found in Vite config (did you add cirro() to plugins?)`)}async function b(){await d();let t=await f({server:{middlewareMode:!0,hmr:!1},appType:`custom`}),n=p(t.environments.ssr);try{let a=t.config,d=y(a),f=a.root,p=s(f,a.build.outDir),m=s(f,d.routes),b=JSON.parse(await l(o(p,`.vite/manifest.json`),`utf-8`))[`virtual:cirro/client`];if(!b)throw Error(`cirro: manifest entry "virtual:cirro/client" not found`);let x=`/${b.file}`,{routes:S,runWithRegistry:C}=await n.import(m);for(let t of h(S))switch(t.type){case`css`:{let{registry:n}=C(()=>r(t.render())),a=e(n),s=o(p,_(t.path));await c(i(s),{recursive:!0}),await u(s,a),console.log(`wrote ${s} (url: ${t.path})`);break}case`html`:{let{result:e}=C(()=>`<!DOCTYPE html>${r(v(t.render(),x,t.cssPath))}`),n=o(p,g(t.path));await c(i(n),{recursive:!0}),await u(n,e),console.log(`wrote ${n} (url: ${t.path})`);break}case`file`:{let e=t.render(),n=o(p,t.path);await c(i(n),{recursive:!0}),await u(n,e),console.log(`wrote ${n} (url: ${t.path})`);break}}}finally{await t.close()}}const x=[[`.aac`,`audio/aac`],[`.abw`,`application/x-abiword`],[`.arc`,`application/x-freearc`],[`.avi`,`video/x-msvideo`],[`.azw`,`application/vnd.amazon.ebook`],[`.bin`,`application/octet-stream`],[`.bmp`,`image/bmp`],[`.bz`,`application/x-bzip`],[`.bz2`,`application/x-bzip2`],[`.csh`,`application/x-csh`],[`.css`,`text/css`],[`.csv`,`text/csv`],[`.doc`,`application/msword`],[`.docx`,`application/vnd.openxmlformats-officedocument.wordprocessingml.document`],[`.eot`,`application/vnd.ms-fontobject`],[`.epub`,`application/epub+zip`],[`.gz`,`application/gzip`],[`.gif`,`image/gif`],[`.htm`,`text/html`],[`.html`,`text/html`],[`.ico`,`image/vnd.microsoft.icon`],[`.ics`,`text/calendar`],[`.jar`,`application/java-archive`],[`.jpeg`,`image/jpeg`],[`.jpg`,`image/jpeg`],[`.js`,`text/javascript`],[`.json`,`application/json`],[`.jsonld`,`application/ld+json`],[`.mid`,`audio/midi`],[`.midi`,`audio/x-midi`],[`.mjs`,`text/javascript`],[`.mp3`,`audio/mpeg`],[`.mpeg`,`video/mpeg`],[`.mpkg`,`application/vnd.apple.installer+xml`],[`.odp`,`application/vnd.oasis.opendocument.presentation`],[`.ods`,`application/vnd.oasis.opendocument.spreadsheet`],[`.odt`,`application/vnd.oasis.opendocument.text`],[`.oga`,`audio/ogg`],[`.ogv`,`video/ogg`],[`.ogx`,`application/ogg`],[`.opus`,`audio/opus`],[`.otf`,`font/otf`],[`.png`,`image/png`],[`.pdf`,`application/pdf`],[`.php`,`application/x-httpd-php`],[`.ppt`,`application/vnd.ms-powerpoint`],[`.pptx`,`application/vnd.openxmlformats-officedocument.presentationml.presentation`],[`.rar`,`application/vnd.rar`],[`.rtf`,`application/rtf`],[`.sh`,`application/x-sh`],[`.svg`,`image/svg+xml`],[`.swf`,`application/x-shockwave-flash`],[`.tar`,`application/x-tar`],[`.tif`,`image/tiff`],[`.tiff`,`image/tiff`],[`.ts`,`video/mp2t`],[`.ttf`,`font/ttf`],[`.txt`,`text/plain`],[`.vsd`,`application/vnd.visio`],[`.wav`,`audio/wav`],[`.weba`,`audio/webm`],[`.webm`,`video/webm`],[`.webp`,`image/webp`],[`.woff`,`font/woff`],[`.woff2`,`font/woff2`],[`.xhtml`,`application/xhtml+xml`],[`.xls`,`application/vnd.ms-excel`],[`.xlsx`,`application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`],[`.xml`,`application/xml`],[`.xul`,`application/vnd.mozilla.xul+xml`],[`.zip`,`application/zip`],[`.3gp`,`video/3gpp`],[`.3g2`,`video/3gpp2`],[`.7z`,`application/x-7z-compressed`]];function S(e){return x.find(t=>t[0]===e)?.[1]||`text/plain`}function C(e,t){let n=[t,t.replaceAll(`\\`,`/`)];for(let t of Object.values(e.environments)){let e=t.moduleGraph;if(!e)continue;let r=new Set,i=t=>{if(!r.has(t)){r.add(t),e.invalidateModule(t);for(let e of t.importers)i(e)}};for(let t of n){let n=e.getModulesByFile(t);if(n)for(let e of n)i(e)}}}async function w(t=5173){let n=await f({server:{middlewareMode:!0},appType:`custom`}),a=p(n.environments.ssr),o=y(n.config),c=n.config.root,l=s(c,o.routes),u=i(s(c,o.islands)).replaceAll(`\\`,`/`),d=m((t,i)=>{function o(e,t){i.statusCode=200,i.setHeader(`Content-Type`,S(e)),i.end(t)}function s(e){i.statusCode=404,i.setHeader(`Content-Type`,S(e)),e===`.html`?i.end(`<!DOCTYPE html><meta charset="utf-8"><h1>404 Not Found</h1>`):i.end()}n.middlewares(t,i,async()=>{let c=t.url??`/`,u=new URL(c,`http://localhost`).pathname.replace(/\/+$/,``)||`/`;try{let{routes:t,runWithRegistry:i}=await a.import(l),d=h(t).find(e=>e.path===u);if(d===void 0){s(`.html`);return}switch(d.type){case`html`:{let{result:e}=i(()=>`<!DOCTYPE html>${r(v(d.render(),`/@id/__x00__virtual:cirro/client`,d.cssPath))}`);o(`.html`,await n.transformIndexHtml(c,e));break}case`css`:{let{registry:t}=i(()=>r(d.render()));o(`.css`,e(t));break}case`file`:{let e=d.render();o(d.ext,e);break}}return}catch(e){i.statusCode=500,i.end(String(e))}})}),g=`${s(c,o.watchDir??`./src`).replaceAll(`\\`,`/`).replace(/\/+$/,``)}/`;n.watcher.on(`change`,e=>{let t=e.replaceAll(`\\`,`/`);t.startsWith(u)||t.startsWith(g)&&(C(n,e),n.ws.send({type:`full-reload`}))}),d.listen(t,()=>{console.log(`cirro dev: http://localhost:${t}`)})}async function T(e){let t=e[0];t===`dev`?await w():t===`build`?await b():(console.error(`usage: cirro <dev|build>`),process.exit(1))}export{T as main};
@@ -0,0 +1,4 @@
1
+ import{registerCss as e}from"cirrojs/registry";function t(e,t){let n=t?.selector??`&`,r=t?.atrules??[],o=a({selector:n,atrules:r,properties:e}),s=`${t?.name??`cirro`}-${o.toString(16)}`;return i([...r,n],e,s),s}function n(e){let n=[];return e.layer&&n.push(`@layer ${e.layer}`),e.mediaAtRule&&n.push(`@media (${e.mediaAtRule})`),(e,r)=>t(e,{atrules:n,name:r?.name,selector:r?.selector})}function r(e){let t=`@charset "utf-8";
2
+ @layer base, font, low, main, high;
3
+ `;for(let[n,[r,i]]of e)t+=r.reduceRight((e,t)=>`${t} { ${e} }`,Object.entries(i).map(([e,t])=>`${e.replaceAll(`_`,`-`)}: ${t};`).join(` `)),t+=`
4
+ `;return t}function i(t,n,r){e(r,t.map(e=>e.replaceAll(`&`,`.${r}`)),n)}function a(...e){return o(e.map(e=>JSON.stringify(e)).join(``))}function o(e){let t=5381;for(let n of[...e])t=(t<<5)+t+n.charCodeAt(0)&4294967295;return t>>>0}export{n,r,t};
package/dist/index.d.ts CHANGED
@@ -1,472 +1,8 @@
1
+ import { t as Properties } from "./properties-FKQ-gJeC.js";
2
+ import { Registry } from "./registry.js";
3
+ import { runWithRegistry } from "cirrojs/registry";
1
4
  import { ReactElement } from "react";
2
5
 
3
- //#region src/properties.d.ts
4
- type AlignContentBaseKeyword = "normal" | "start" | "center" | "end" | "flex-start" | "flex-end" | "baseline" | "first baseline" | "last baseline" | "space-between" | "space-around" | "space-evenly" | "stretch";
5
- type AlignContentKeyword = AlignContentBaseKeyword | ["safe", AlignContentBaseKeyword] | ["unsafe", AlignContentBaseKeyword];
6
- type BackgroundPositionKeyword = "left" | "center" | "right" | "top" | "bottom";
7
- type BackgroundPositionValue = BackgroundPositionKeyword | string;
8
- type PInherit = "inherit";
9
- type PInitial = "initial";
10
- type PRevert = "revert";
11
- type PRevertLayer = "revert-layer";
12
- type PUnset = "unset";
13
- type PGlobal = PInherit | PInitial | PRevert | PRevertLayer | PUnset;
14
- type DisplayOutsideValue = "block" | "inline" | "run-in";
15
- type DisplayInsideValue = "flow" | "flow-root" | "table" | "flex" | "grid" | "ruby";
16
- type DisplayListItemValue = "list-item";
17
- type DisplayInternalValue = "table-row-group" | "table-header-group" | "table-footer-group" | "table-row" | "table-cell" | "table-column-group" | "table-column" | "table-caption" | "ruby-base" | "ruby-text" | "ruby-base-container" | "ruby-text-container";
18
- type DisplayBoxValue = "contents" | "none";
19
- type DisplayLegacyValue = "inline-block" | "inline-table" | "inline-flex" | "inline-grid";
20
- type DisplayValue = DisplayOutsideValue | DisplayInsideValue | DisplayListItemValue | DisplayInternalValue | DisplayBoxValue | DisplayLegacyValue | "table" | "inline-block" | "inline-flex" | "inline-grid";
21
- type DisplayMultiValue = DisplayValue | DisplayValue[];
22
- type PositionValue = "static" | "relative" | "absolute" | "fixed" | "sticky";
23
- type PAnimationGlobal = PGlobal;
24
- type PTransitionGlobal = PGlobal;
25
- type PColorGlobal = PGlobal;
26
- type PBoxModelGlobal = PGlobal;
27
- type PFontGlobal = PGlobal;
28
- type PPositionGlobal = PGlobal;
29
- type FlexDirectionValue = "row" | "row-reverse" | "column" | "column-reverse";
30
- type FlexWrapValue = "nowrap" | "wrap" | "wrap-reverse";
31
- type FlexFlowSingleValue = FlexDirectionValue | FlexWrapValue;
32
- type FlexFlowMultiValue = FlexFlowSingleValue | [FlexFlowSingleValue, FlexFlowSingleValue];
33
- type JustifyContentValue = "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly" | "start" | "end" | "left" | "right";
34
- type AlignItemsSelfPosition = "center" | "start" | "end" | "self-start" | "self-end" | "flex-start" | "flex-end";
35
- type AlignItemsValue = "normal" | "stretch" | "anchor-center" | "baseline" | "first baseline" | "last baseline" | AlignItemsSelfPosition | ["safe", AlignItemsSelfPosition] | ["unsafe", AlignItemsSelfPosition];
36
- type AlignSelfValue = "auto" | "normal" | "stretch" | "baseline" | "first baseline" | "last baseline" | "anchor-center" | AlignItemsSelfPosition | ["unsafe", AlignItemsSelfPosition] | ["safe", AlignItemsSelfPosition];
37
- type AlignmentBaselineValue = "baseline" | "text-bottom" | "alphabetic" | "ideographic" | "middle" | "central" | "mathematical" | "text-top";
38
- type TextAlignValue = "left" | "right" | "center" | "justify" | "start" | "end";
39
- type OverflowValue = "visible" | "hidden" | "scroll" | "auto" | "clip";
40
- type OverflowMultiValue = OverflowValue | [OverflowValue, OverflowValue];
41
- type TextDecorationLineValue = "none" | "underline" | "overline" | "line-through";
42
- type TextDecorationStyleValue = "solid" | "double" | "dotted" | "dashed" | "wavy";
43
- type TextDecorationColorValue = string;
44
- type TextDecorationValue = TextDecorationLineValue | TextDecorationStyleValue | TextDecorationColorValue;
45
- type TextDecorationMultiValue = TextDecorationValue | TextDecorationValue[];
46
- type TextTransformValue = "none" | "capitalize" | "uppercase" | "lowercase" | "full-width";
47
- type BorderStyleValue = "none" | "hidden" | "dotted" | "dashed" | "solid" | "double" | "groove" | "ridge" | "inset" | "outset";
48
- type BorderWidthValue = "thin" | "medium" | "thick" | string;
49
- type BorderColorValue = string;
50
- type BorderValue = BorderStyleValue | BorderWidthValue | BorderColorValue;
51
- type CursorValue = "auto" | "default" | "pointer" | "wait" | "text" | "move" | "not-allowed" | "grab" | "grabbing" | "zoom-in" | "zoom-out" | "help" | "crosshair";
52
- type AnimationNameValue = string;
53
- type AnimationDurationValue = string;
54
- type AnimationTimingFunctionValue = "ease" | "ease-in" | "ease-out" | "ease-in-out" | "linear" | "step-start" | "step-end" | string;
55
- type AnimationDelayValue = string;
56
- type AnimationIterationCountValue = string | "infinite";
57
- type AnimationDirectionValue = "normal" | "reverse" | "alternate" | "alternate-reverse";
58
- type AnimationFillModeValue = "none" | "forwards" | "backwards" | "both";
59
- type AnimationPlayStateValue = "running" | "paused";
60
- type AnimationCompositionValue = "replace" | "add" | "accumulate";
61
- type AnimationTimeline = string;
62
- type AnimationValueBase = AnimationNameValue | AnimationDurationValue | AnimationTimingFunctionValue | AnimationDelayValue | AnimationIterationCountValue | AnimationDirectionValue | AnimationFillModeValue | AnimationPlayStateValue | AnimationTimeline;
63
- type AnimationValue = AnimationValueBase | AnimationValueBase[] | AnimationValueBase[][];
64
- type FontWeightValue = "normal" | "bold" | "bolder" | "lighter" | "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900";
65
- type FontValue = string | string[] | string[];
66
- type GridTemplateAreasValue = "none" | string | string[];
67
- type GridTemplateValue = string | string[] | string[][];
68
- type GridTemplateColumnsValue = string | string[] | string[][] | "none";
69
- type GridTemplateRowsValue = string | string[] | string[][] | "none";
70
- type TransformFunctionValue = string;
71
- type TransformValue = "none" | TransformFunctionValue | TransformFunctionValue[] | string[];
72
- type TransitionPropertyValue = string | "none" | "all";
73
- type TransitionTimingFunctionValue = "ease" | "ease-in" | "ease-out" | "ease-in-out" | "linear" | "step-start" | "step-end" | string;
74
- type TransitionValue = string | string[] | string[][];
75
- type Properties = Partial<{
76
- align_content: AlignContentKeyword | PGlobal;
77
- align_items: AlignItemsValue | PGlobal;
78
- align_self: AlignSelfValue | PGlobal;
79
- alignment_baseline: AlignmentBaselineValue | PGlobal;
80
- all: PGlobal;
81
- anchor_name: string | string[][];
82
- animation: AnimationValue | PAnimationGlobal;
83
- animation_composition: AnimationCompositionValue | AnimationCompositionValue[] | PAnimationGlobal;
84
- animation_delay: string | string[][] | PAnimationGlobal;
85
- animation_direction: AnimationDirectionValue | AnimationDirectionValue[][] | PAnimationGlobal;
86
- animation_duration: string | string[][] | PAnimationGlobal;
87
- animation_fill_mode: AnimationFillModeValue | AnimationFillModeValue[][] | PAnimationGlobal;
88
- animation_iteration_count: AnimationIterationCountValue | AnimationIterationCountValue[][] | PAnimationGlobal;
89
- animation_name: string | string[][] | PAnimationGlobal;
90
- animation_play_state: AnimationPlayStateValue | AnimationPlayStateValue[][] | PAnimationGlobal;
91
- animation_range: string | string[] | string[][] | PAnimationGlobal;
92
- animation_range_end: string | string[] | string[][] | PAnimationGlobal;
93
- animation_range_start: string | string[] | string[][] | PAnimationGlobal;
94
- animation_timeline: string | string[][] | PAnimationGlobal;
95
- animation_timing_function: AnimationTimingFunctionValue | AnimationTimingFunctionValue[][] | PAnimationGlobal;
96
- appearance: "none" | "auto" | PGlobal;
97
- aspect_ratio: "auto" | string | [string, "/", string];
98
- backdrop_filter: string | string[] | PGlobal;
99
- backface_visibility: "visible" | "hidden" | PGlobal;
100
- background: string | string[] | string[][] | PGlobal;
101
- background_attachment: "scroll" | "fixed" | "local" | string | string[] | string[][] | PGlobal;
102
- background_blend_mode: string | string[] | string[][] | PGlobal;
103
- background_clip: "border-box" | "padding-box" | "content-box" | "text" | string | string[] | string[][] | PGlobal;
104
- background_color: string | PColorGlobal;
105
- background_image: string | string[] | string[][] | PGlobal;
106
- background_origin: "border-box" | "padding-box" | "content-box" | string | string[] | string[][] | PGlobal;
107
- background_position: BackgroundPositionValue | BackgroundPositionValue[] | BackgroundPositionValue[][] | PGlobal;
108
- background_repeat: "repeat" | "repeat-x" | "repeat-y" | "no-repeat" | "space" | "round" | string | string[] | string[][] | PGlobal;
109
- background_size: string | string[] | string[][] | PGlobal;
110
- block_size: string | "auto" | PGlobal;
111
- border: BorderValue | BorderValue[] | PGlobal;
112
- border_block: string | PGlobal;
113
- border_block_color: string | PGlobal;
114
- border_block_end: BorderValue | BorderValue[] | PGlobal;
115
- border_block_end_color: string | PGlobal;
116
- border_block_end_style: BorderStyleValue | PGlobal;
117
- border_block_end_width: string | PGlobal;
118
- border_block_start: string | PGlobal;
119
- border_block_start_color: string | PGlobal;
120
- border_block_start_style: BorderStyleValue | PGlobal;
121
- border_block_start_width: string | PGlobal;
122
- border_block_style: BorderStyleValue | PGlobal;
123
- border_block_width: string | PGlobal;
124
- border_bottom: string | PGlobal;
125
- border_bottom_color: string | PGlobal;
126
- border_bottom_left_radius: string | PGlobal;
127
- border_bottom_right_radius: string | PGlobal;
128
- border_bottom_style: BorderStyleValue | PGlobal;
129
- border_bottom_width: string | PGlobal;
130
- border_collapse: "collapse" | "separate" | PGlobal;
131
- border_color: string | string[] | PGlobal;
132
- border_end_end_radius: string | PGlobal;
133
- border_end_start_radius: string | PGlobal;
134
- border_image: string | PGlobal;
135
- border_image_outset: string | string[] | PGlobal;
136
- border_image_repeat: "stretch" | "repeat" | "round" | "space" | string | string[] | PGlobal;
137
- border_image_slice: string | string[] | PGlobal;
138
- border_image_source: string | PGlobal;
139
- border_image_width: string | string[] | PGlobal;
140
- border_inline: string | PGlobal;
141
- border_inline_color: string | PGlobal;
142
- border_inline_end: string | PGlobal;
143
- border_inline_end_color: string | PGlobal;
144
- border_inline_end_style: BorderStyleValue | PGlobal;
145
- border_inline_end_width: string | PGlobal;
146
- border_inline_start: BorderValue | BorderValue[] | PGlobal;
147
- border_inline_start_color: string | PGlobal;
148
- border_inline_start_style: BorderStyleValue | PGlobal;
149
- border_inline_start_width: string | PGlobal;
150
- border_inline_style: BorderStyleValue | PGlobal;
151
- border_inline_width: string | PGlobal;
152
- border_left: string | PGlobal;
153
- border_left_color: string | PGlobal;
154
- border_left_style: BorderStyleValue | PGlobal;
155
- border_left_width: string | PGlobal;
156
- border_radius: string | string[] | PGlobal;
157
- border_right: string | PGlobal;
158
- border_right_color: string | PGlobal;
159
- border_right_style: BorderStyleValue | PGlobal;
160
- border_right_width: string | PGlobal;
161
- border_spacing: string | string[] | PGlobal;
162
- border_start_end_radius: string | PGlobal;
163
- border_start_start_radius: string | PGlobal;
164
- border_style: BorderStyleValue | string | string[] | PGlobal;
165
- border_top: string | PGlobal;
166
- border_top_color: string | PGlobal;
167
- border_top_left_radius: string | PGlobal;
168
- border_top_right_radius: string | PGlobal;
169
- border_top_style: BorderStyleValue | PGlobal;
170
- border_top_width: string | PGlobal;
171
- border_width: string | string[] | PGlobal;
172
- bottom: string | "auto" | PGlobal;
173
- box_decoration_break: "slice" | "clone" | PGlobal;
174
- box_shadow: string | string[] | string[][] | PGlobal;
175
- box_sizing: "content-box" | "border-box" | PGlobal;
176
- break_after: "auto" | "avoid" | "always" | "all" | "avoid-page" | "page" | "left" | "right" | "recto" | "verso" | "avoid-column" | "column" | "avoid-region" | "region" | PGlobal;
177
- break_before: "auto" | "avoid" | "always" | "all" | "avoid-page" | "page" | "left" | "right" | "recto" | "verso" | "avoid-column" | "column" | "avoid-region" | "region" | PGlobal;
178
- break_inside: "auto" | "avoid" | "avoid-page" | "avoid-column" | "avoid-region" | PGlobal;
179
- caption_side: "top" | "bottom" | PGlobal;
180
- caret_color: string | "auto" | PGlobal;
181
- clear: "none" | "left" | "right" | "both" | "inline-start" | "inline-end" | PGlobal;
182
- clip: string | "auto" | PGlobal;
183
- clip_path: string | PGlobal;
184
- color: string | PColorGlobal;
185
- color_scheme: string | string[] | PGlobal;
186
- column_count: string | "auto" | PGlobal;
187
- column_fill: "auto" | "balance" | "balance-all" | PGlobal;
188
- column_gap: string | "normal" | PGlobal;
189
- column_rule: string | PGlobal;
190
- column_rule_color: string | PGlobal;
191
- column_rule_style: BorderStyleValue | PGlobal;
192
- column_rule_width: string | PGlobal;
193
- column_span: "none" | "all" | PGlobal;
194
- column_width: string | "auto" | PGlobal;
195
- columns: string | string[] | PGlobal;
196
- contain: "none" | "strict" | "content" | "size" | "layout" | "style" | "paint" | string | string[] | PGlobal;
197
- contain_intrinsic_block_size: string | "none" | PGlobal;
198
- contain_intrinsic_height: string | "none" | PGlobal;
199
- contain_intrinsic_inline_size: string | "none" | PGlobal;
200
- contain_intrinsic_size: string | string[] | "none" | PGlobal;
201
- contain_intrinsic_width: string | "none" | PGlobal;
202
- content: string | "normal" | "none" | PGlobal;
203
- content_visibility: "visible" | "auto" | "hidden" | PGlobal;
204
- counter_increment: string | string[] | "none" | PGlobal;
205
- counter_reset: string | string[] | "none" | PGlobal;
206
- counter_set: string | string[] | "none" | PGlobal;
207
- cursor: CursorValue | string | string[] | PGlobal;
208
- direction: "ltr" | "rtl" | PGlobal;
209
- display: DisplayValue | DisplayMultiValue | PGlobal;
210
- empty_cells: "show" | "hide" | PGlobal;
211
- filter: string | string[] | PGlobal;
212
- flex: string | string[] | "auto" | "none" | PGlobal;
213
- flex_basis: string | "auto" | "fill" | "max-content" | "min-content" | "fit-content" | PGlobal;
214
- flex_direction: FlexDirectionValue | PGlobal;
215
- flex_flow: FlexFlowMultiValue | PGlobal;
216
- flex_grow: string | PGlobal;
217
- flex_shrink: string | PGlobal;
218
- flex_wrap: FlexWrapValue | PGlobal;
219
- float: "left" | "right" | "none" | "inline-start" | "inline-end" | PGlobal;
220
- font: FontValue | PFontGlobal;
221
- font_family: string | string[] | string[][] | PFontGlobal;
222
- font_feature_settings: string | string[] | "normal" | PFontGlobal;
223
- font_kerning: "auto" | "normal" | "none" | PFontGlobal;
224
- font_language_override: string | "normal" | PFontGlobal;
225
- font_optical_sizing: "auto" | "none" | PFontGlobal;
226
- font_size: string | PFontGlobal;
227
- font_size_adjust: string | "none" | PFontGlobal;
228
- font_stretch: string | PFontGlobal;
229
- font_style: "normal" | "italic" | "oblique" | string | PFontGlobal;
230
- font_synthesis: "none" | "weight" | "style" | string | string[] | PFontGlobal;
231
- font_variant: string | string[] | "normal" | "none" | PFontGlobal;
232
- font_variant_alternates: string | "normal" | PFontGlobal;
233
- font_variant_caps: "normal" | "small-caps" | "all-small-caps" | "petite-caps" | "all-petite-caps" | "unicase" | "titling-caps" | PFontGlobal;
234
- font_variant_east_asian: string | string[] | "normal" | PFontGlobal;
235
- font_variant_ligatures: string | string[] | "normal" | "none" | PFontGlobal;
236
- font_variant_numeric: string | string[] | "normal" | PFontGlobal;
237
- font_variant_position: "normal" | "sub" | "super" | PFontGlobal;
238
- font_variation_settings: string | string[] | "normal" | PFontGlobal;
239
- font_weight: FontWeightValue | PFontGlobal;
240
- gap: string | string[] | PGlobal;
241
- grid: string | string[] | string[][] | PGlobal;
242
- grid_area: string | PGlobal;
243
- grid_auto_columns: string | string[] | PGlobal;
244
- grid_auto_flow: "row" | "column" | "dense" | string | string[] | PGlobal;
245
- grid_auto_rows: string | string[] | PGlobal;
246
- grid_column: string | string[] | "auto" | PGlobal;
247
- grid_column_end: string | "auto" | PGlobal;
248
- grid_column_gap: string | PGlobal;
249
- grid_column_start: string | "auto" | PGlobal;
250
- grid_gap: string | string[] | PGlobal;
251
- grid_row: string | string[] | "auto" | PGlobal;
252
- grid_row_end: string | "auto" | PGlobal;
253
- grid_row_gap: string | PGlobal;
254
- grid_row_start: string | "auto" | PGlobal;
255
- grid_template: GridTemplateValue | PGlobal;
256
- grid_template_areas: GridTemplateAreasValue | PGlobal;
257
- grid_template_columns: GridTemplateColumnsValue | PGlobal;
258
- grid_template_rows: GridTemplateRowsValue | PGlobal;
259
- hanging_punctuation: "none" | "first" | "last" | "force-end" | "allow-end" | string | string[] | PGlobal;
260
- height: string | "auto" | "max-content" | "min-content" | "fit-content" | PGlobal;
261
- hyphens: "none" | "manual" | "auto" | PGlobal;
262
- image_orientation: string | "none" | "from-image" | PGlobal;
263
- image_rendering: "auto" | "crisp-edges" | "pixelated" | PGlobal;
264
- image_resolution: string | PGlobal;
265
- inline_size: string | "auto" | PGlobal;
266
- inset: string | string[] | "auto" | PGlobal;
267
- inset_block: string | string[] | "auto" | PGlobal;
268
- inset_block_end: string | "auto" | PGlobal;
269
- inset_block_start: string | "auto" | PGlobal;
270
- inset_inline: string | string[] | "auto" | PGlobal;
271
- inset_inline_end: string | "auto" | PGlobal;
272
- inset_inline_start: string | "auto" | PGlobal;
273
- isolation: "auto" | "isolate" | PGlobal;
274
- justify_content: JustifyContentValue | PGlobal;
275
- justify_items: "start" | "end" | "center" | "stretch" | "self-start" | "self-end" | "flex-start" | "flex-end" | "left" | "right" | string | PGlobal;
276
- justify_self: "auto" | "start" | "end" | "center" | "stretch" | "self-start" | "self-end" | "flex-start" | "flex-end" | "left" | "right" | PGlobal;
277
- left: string | "auto" | PGlobal;
278
- letter_spacing: string | "normal" | PGlobal;
279
- line_break: "auto" | "loose" | "normal" | "strict" | "anywhere" | PGlobal;
280
- line_height: string | "normal" | PGlobal;
281
- list_style: string | string[] | PGlobal;
282
- list_style_image: string | "none" | PGlobal;
283
- list_style_position: "inside" | "outside" | PGlobal;
284
- list_style_type: string | "none" | PGlobal;
285
- margin: string | string[] | "auto" | PBoxModelGlobal;
286
- margin_block: string | string[] | "auto" | PBoxModelGlobal;
287
- margin_block_end: string | "auto" | PBoxModelGlobal;
288
- margin_block_start: string | "auto" | PBoxModelGlobal;
289
- margin_bottom: string | "auto" | PBoxModelGlobal;
290
- margin_inline: string | string[] | "auto" | PBoxModelGlobal;
291
- margin_inline_end: string | "auto" | PBoxModelGlobal;
292
- margin_inline_start: string | "auto" | PBoxModelGlobal;
293
- margin_left: string | "auto" | PBoxModelGlobal;
294
- margin_right: string | "auto" | PBoxModelGlobal;
295
- margin_top: string | "auto" | PBoxModelGlobal;
296
- mask: string | string[] | PGlobal;
297
- mask_border: string | PGlobal;
298
- mask_border_mode: "luminance" | "alpha" | PGlobal;
299
- mask_border_outset: string | string[] | PGlobal;
300
- mask_border_repeat: string | string[] | PGlobal;
301
- mask_border_slice: string | string[] | PGlobal;
302
- mask_border_source: string | "none" | PGlobal;
303
- mask_border_width: string | string[] | "auto" | PGlobal;
304
- mask_clip: string | string[] | "content-box" | "padding-box" | "border-box" | "margin-box" | "fill-box" | "stroke-box" | "view-box" | "no-clip" | PGlobal;
305
- mask_composite: string | string[] | PGlobal;
306
- mask_image: string | string[] | "none" | PGlobal;
307
- mask_mode: string | string[] | "alpha" | "luminance" | "match-source" | PGlobal;
308
- mask_origin: string | string[] | "content-box" | "padding-box" | "border-box" | "margin-box" | "fill-box" | "stroke-box" | "view-box" | PGlobal;
309
- mask_position: string | string[] | string[][] | PGlobal;
310
- mask_repeat: string | string[] | PGlobal;
311
- mask_size: string | string[] | "auto" | "cover" | "contain" | PGlobal;
312
- mask_type: "luminance" | "alpha" | PGlobal;
313
- max_block_size: string | "none" | PGlobal;
314
- max_height: string | "none" | "max-content" | "min-content" | "fit-content" | PGlobal;
315
- max_inline_size: string | "none" | PGlobal;
316
- max_width: string | "none" | "max-content" | "min-content" | "fit-content" | PGlobal;
317
- min_block_size: string | "auto" | PGlobal;
318
- min_height: string | "auto" | "max-content" | "min-content" | "fit-content" | PGlobal;
319
- min_inline_size: string | "auto" | PGlobal;
320
- min_width: string | "auto" | "max-content" | "min-content" | "fit-content" | PGlobal;
321
- mix_blend_mode: string | PGlobal;
322
- object_fit: "fill" | "contain" | "cover" | "none" | "scale-down" | PGlobal;
323
- object_position: string | string[] | PGlobal;
324
- offset: string | string[] | PGlobal;
325
- offset_anchor: string | string[] | "auto" | PGlobal;
326
- offset_distance: string | PGlobal;
327
- offset_path: string | "none" | PGlobal;
328
- offset_rotate: string | "auto" | "reverse" | PGlobal;
329
- opacity: string | PGlobal;
330
- order: string | PGlobal;
331
- orphans: string | PGlobal;
332
- outline: string | string[] | PGlobal;
333
- outline_color: string | "invert" | PGlobal;
334
- outline_offset: string | PGlobal;
335
- outline_style: BorderStyleValue | "auto" | PGlobal;
336
- outline_width: string | PGlobal;
337
- overflow: OverflowValue | OverflowMultiValue | PGlobal;
338
- overflow_anchor: "auto" | "none" | PGlobal;
339
- overflow_block: OverflowValue | PGlobal;
340
- overflow_clip_margin: string | "content-box" | PGlobal;
341
- overflow_inline: OverflowValue | PGlobal;
342
- overflow_wrap: "normal" | "break-word" | "anywhere" | PGlobal;
343
- overflow_x: OverflowValue | PGlobal;
344
- overflow_y: OverflowValue | PGlobal;
345
- overscroll_behavior: "auto" | "contain" | "none" | string | string[] | PGlobal;
346
- overscroll_behavior_block: "auto" | "contain" | "none" | PGlobal;
347
- overscroll_behavior_inline: "auto" | "contain" | "none" | PGlobal;
348
- overscroll_behavior_x: "auto" | "contain" | "none" | PGlobal;
349
- overscroll_behavior_y: "auto" | "contain" | "none" | PGlobal;
350
- padding: string | string[] | PBoxModelGlobal;
351
- padding_block: string | string[] | PBoxModelGlobal;
352
- padding_block_end: string | PBoxModelGlobal;
353
- padding_block_start: string | PBoxModelGlobal;
354
- padding_bottom: string | PBoxModelGlobal;
355
- padding_inline: string | string[] | PBoxModelGlobal;
356
- padding_inline_end: string | PBoxModelGlobal;
357
- padding_inline_start: string | PBoxModelGlobal;
358
- padding_left: string | PBoxModelGlobal;
359
- padding_right: string | PBoxModelGlobal;
360
- padding_top: string | PBoxModelGlobal;
361
- page_break_after: "auto" | "always" | "avoid" | "left" | "right" | PGlobal;
362
- page_break_before: "auto" | "always" | "avoid" | "left" | "right" | PGlobal;
363
- page_break_inside: "auto" | "avoid" | PGlobal;
364
- paint_order: "normal" | "fill" | "stroke" | "markers" | string | string[] | PGlobal;
365
- perspective: string | "none" | PGlobal;
366
- perspective_origin: string | string[] | PGlobal;
367
- place_content: string | string[] | PGlobal;
368
- place_items: string | string[] | PGlobal;
369
- place_self: string | string[] | PGlobal;
370
- pointer_events: "auto" | "none" | "visiblePainted" | "visibleFill" | "visibleStroke" | "visible" | "painted" | "fill" | "stroke" | "all" | PGlobal;
371
- position: PositionValue | PPositionGlobal;
372
- quotes: string | string[] | "auto" | "none" | PGlobal;
373
- resize: "none" | "both" | "horizontal" | "vertical" | "block" | "inline" | PGlobal;
374
- right: string | "auto" | PGlobal;
375
- rotate: string | "none" | PGlobal;
376
- row_gap: string | "normal" | PGlobal;
377
- scale: string | string[] | "none" | PGlobal;
378
- scroll_behavior: "auto" | "smooth" | PGlobal;
379
- scroll_margin: string | string[] | PGlobal;
380
- scroll_margin_block: string | string[] | PGlobal;
381
- scroll_margin_block_end: string | PGlobal;
382
- scroll_margin_block_start: string | PGlobal;
383
- scroll_margin_bottom: string | PGlobal;
384
- scroll_margin_inline: string | string[] | PGlobal;
385
- scroll_margin_inline_end: string | PGlobal;
386
- scroll_margin_inline_start: string | PGlobal;
387
- scroll_margin_left: string | PGlobal;
388
- scroll_margin_right: string | PGlobal;
389
- scroll_margin_top: string | PGlobal;
390
- scroll_padding: string | string[] | "auto" | PGlobal;
391
- scroll_padding_block: string | string[] | "auto" | PGlobal;
392
- scroll_padding_block_end: string | "auto" | PGlobal;
393
- scroll_padding_block_start: string | "auto" | PGlobal;
394
- scroll_padding_bottom: string | "auto" | PGlobal;
395
- scroll_padding_inline: string | string[] | "auto" | PGlobal;
396
- scroll_padding_inline_end: string | "auto" | PGlobal;
397
- scroll_padding_inline_start: string | "auto" | PGlobal;
398
- scroll_padding_left: string | "auto" | PGlobal;
399
- scroll_padding_right: string | "auto" | PGlobal;
400
- scroll_padding_top: string | "auto" | PGlobal;
401
- scroll_snap_align: "none" | "start" | "end" | "center" | string | string[] | PGlobal;
402
- scroll_snap_stop: "normal" | "always" | PGlobal;
403
- scroll_snap_type: "none" | "x" | "y" | "block" | "inline" | "both" | string | string[] | PGlobal;
404
- scrollbar_color: string | string[] | "auto" | PGlobal;
405
- scrollbar_width: "auto" | "thin" | "none" | PGlobal;
406
- shape_image_threshold: string | PGlobal;
407
- shape_margin: string | PGlobal;
408
- shape_outside: "none" | "margin-box" | "content-box" | "border-box" | "padding-box" | string | PGlobal;
409
- tab_size: string | PGlobal;
410
- table_layout: "auto" | "fixed" | PGlobal;
411
- text_align: TextAlignValue | PGlobal;
412
- text_align_last: TextAlignValue | "auto" | PGlobal;
413
- text_combine_upright: "none" | "all" | string | PGlobal;
414
- text_decoration: TextDecorationMultiValue | PGlobal;
415
- text_decoration_color: string | PGlobal;
416
- text_decoration_line: TextDecorationLineValue | string | string[] | PGlobal;
417
- text_decoration_skip: "none" | "objects" | "spaces" | "ink" | "edges" | "box-decoration" | string | string[] | PGlobal;
418
- text_decoration_skip_ink: "auto" | "none" | "all" | PGlobal;
419
- text_decoration_style: "solid" | "double" | "dotted" | "dashed" | "wavy" | PGlobal;
420
- text_decoration_thickness: string | "auto" | "from-font" | PGlobal;
421
- text_emphasis: string | string[] | PGlobal;
422
- text_emphasis_color: string | PGlobal;
423
- text_emphasis_position: string | string[] | PGlobal;
424
- text_emphasis_style: "none" | "filled" | "open" | "dot" | "circle" | "double-circle" | "triangle" | "sesame" | string | PGlobal;
425
- text_indent: string | PGlobal;
426
- text_justify: "auto" | "inter-character" | "inter-word" | "none" | PGlobal;
427
- text_orientation: "mixed" | "upright" | "sideways" | PGlobal;
428
- text_overflow: "clip" | "ellipsis" | string | PGlobal;
429
- text_rendering: "auto" | "optimizeSpeed" | "optimizeLegibility" | "geometricPrecision" | PGlobal;
430
- text_shadow: string | string[] | string[][] | "none" | PGlobal;
431
- text_size_adjust: "none" | "auto" | string | PGlobal;
432
- text_transform: TextTransformValue | PGlobal;
433
- text_underline_offset: string | "auto" | PGlobal;
434
- text_underline_position: "auto" | "from-font" | "under" | "left" | "right" | string | string[] | PGlobal;
435
- top: string | "auto" | PGlobal;
436
- touch_action: "auto" | "none" | "pan-x" | "pan-y" | "pan-left" | "pan-right" | "pan-up" | "pan-down" | "pinch-zoom" | "manipulation" | string | string[] | PGlobal;
437
- transform: TransformValue | PGlobal;
438
- transform_box: "content-box" | "border-box" | "fill-box" | "stroke-box" | "view-box" | PGlobal;
439
- transform_origin: string | string[] | string[][] | PGlobal;
440
- transform_style: "flat" | "preserve-3d" | PGlobal;
441
- transition: TransitionValue | PTransitionGlobal;
442
- transition_delay: string | string[] | string[][] | PTransitionGlobal;
443
- transition_duration: string | string[] | string[][] | PTransitionGlobal;
444
- transition_property: TransitionPropertyValue | TransitionPropertyValue[] | TransitionPropertyValue[][] | PTransitionGlobal;
445
- transition_timing_function: TransitionTimingFunctionValue | TransitionTimingFunctionValue[] | TransitionTimingFunctionValue[][] | PTransitionGlobal;
446
- translate: string | string[] | "none" | PGlobal;
447
- unicode_bidi: "normal" | "embed" | "isolate" | "bidi-override" | "isolate-override" | "plaintext" | PGlobal;
448
- user_select: "auto" | "none" | "text" | "contain" | "all" | PGlobal;
449
- vertical_align: "baseline" | "sub" | "super" | "text-top" | "text-bottom" | "middle" | "top" | "bottom" | string | PGlobal;
450
- visibility: "visible" | "hidden" | "collapse" | PGlobal;
451
- white_space: "normal" | "nowrap" | "pre" | "pre-wrap" | "pre-line" | "break-spaces" | PGlobal;
452
- widows: string | PGlobal;
453
- width: string | "auto" | "max-content" | "min-content" | "fit-content" | PGlobal;
454
- will_change: string | string[] | "auto" | PGlobal;
455
- word_break: "normal" | "break-all" | "keep-all" | "break-word" | PGlobal;
456
- word_spacing: string | "normal" | PGlobal;
457
- word_wrap: "normal" | "break-word" | PGlobal;
458
- writing_mode: "horizontal-tb" | "vertical-rl" | "vertical-lr" | "sideways-rl" | "sideways-lr" | PGlobal;
459
- z_index: string | "auto" | PGlobal;
460
- [key: `--${string}`]: string;
461
- }>;
462
- //#endregion
463
- //#region src/registry.d.ts
464
- type Registry = Map<string, [string[], Partial<Properties>]>;
465
- declare function runWithRegistry<T>(fn: () => T): {
466
- result: T;
467
- registry: Registry;
468
- };
469
- //#endregion
470
6
  //#region src/css.d.ts
471
7
  type CssOpt = {
472
8
  name?: string;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{i as e,n as t,t as n}from"./css-L9LEkQky.js";export{n as css,t as genCssFn,e as runWithRegistry};
1
+ import{n as e,t}from"./css-BZ1E8BDE.js";import{runWithRegistry as n}from"cirrojs/registry";export{t as css,e as genCssFn,n as runWithRegistry};
@@ -0,0 +1,461 @@
1
+ //#region src/properties.d.ts
2
+ type AlignContentBaseKeyword = "normal" | "start" | "center" | "end" | "flex-start" | "flex-end" | "baseline" | "first baseline" | "last baseline" | "space-between" | "space-around" | "space-evenly" | "stretch";
3
+ type AlignContentKeyword = AlignContentBaseKeyword | ["safe", AlignContentBaseKeyword] | ["unsafe", AlignContentBaseKeyword];
4
+ type BackgroundPositionKeyword = "left" | "center" | "right" | "top" | "bottom";
5
+ type BackgroundPositionValue = BackgroundPositionKeyword | string;
6
+ type PInherit = "inherit";
7
+ type PInitial = "initial";
8
+ type PRevert = "revert";
9
+ type PRevertLayer = "revert-layer";
10
+ type PUnset = "unset";
11
+ type PGlobal = PInherit | PInitial | PRevert | PRevertLayer | PUnset;
12
+ type DisplayOutsideValue = "block" | "inline" | "run-in";
13
+ type DisplayInsideValue = "flow" | "flow-root" | "table" | "flex" | "grid" | "ruby";
14
+ type DisplayListItemValue = "list-item";
15
+ type DisplayInternalValue = "table-row-group" | "table-header-group" | "table-footer-group" | "table-row" | "table-cell" | "table-column-group" | "table-column" | "table-caption" | "ruby-base" | "ruby-text" | "ruby-base-container" | "ruby-text-container";
16
+ type DisplayBoxValue = "contents" | "none";
17
+ type DisplayLegacyValue = "inline-block" | "inline-table" | "inline-flex" | "inline-grid";
18
+ type DisplayValue = DisplayOutsideValue | DisplayInsideValue | DisplayListItemValue | DisplayInternalValue | DisplayBoxValue | DisplayLegacyValue | "table" | "inline-block" | "inline-flex" | "inline-grid";
19
+ type DisplayMultiValue = DisplayValue | DisplayValue[];
20
+ type PositionValue = "static" | "relative" | "absolute" | "fixed" | "sticky";
21
+ type PAnimationGlobal = PGlobal;
22
+ type PTransitionGlobal = PGlobal;
23
+ type PColorGlobal = PGlobal;
24
+ type PBoxModelGlobal = PGlobal;
25
+ type PFontGlobal = PGlobal;
26
+ type PPositionGlobal = PGlobal;
27
+ type FlexDirectionValue = "row" | "row-reverse" | "column" | "column-reverse";
28
+ type FlexWrapValue = "nowrap" | "wrap" | "wrap-reverse";
29
+ type FlexFlowSingleValue = FlexDirectionValue | FlexWrapValue;
30
+ type FlexFlowMultiValue = FlexFlowSingleValue | [FlexFlowSingleValue, FlexFlowSingleValue];
31
+ type JustifyContentValue = "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly" | "start" | "end" | "left" | "right";
32
+ type AlignItemsSelfPosition = "center" | "start" | "end" | "self-start" | "self-end" | "flex-start" | "flex-end";
33
+ type AlignItemsValue = "normal" | "stretch" | "anchor-center" | "baseline" | "first baseline" | "last baseline" | AlignItemsSelfPosition | ["safe", AlignItemsSelfPosition] | ["unsafe", AlignItemsSelfPosition];
34
+ type AlignSelfValue = "auto" | "normal" | "stretch" | "baseline" | "first baseline" | "last baseline" | "anchor-center" | AlignItemsSelfPosition | ["unsafe", AlignItemsSelfPosition] | ["safe", AlignItemsSelfPosition];
35
+ type AlignmentBaselineValue = "baseline" | "text-bottom" | "alphabetic" | "ideographic" | "middle" | "central" | "mathematical" | "text-top";
36
+ type TextAlignValue = "left" | "right" | "center" | "justify" | "start" | "end";
37
+ type OverflowValue = "visible" | "hidden" | "scroll" | "auto" | "clip";
38
+ type OverflowMultiValue = OverflowValue | [OverflowValue, OverflowValue];
39
+ type TextDecorationLineValue = "none" | "underline" | "overline" | "line-through";
40
+ type TextDecorationStyleValue = "solid" | "double" | "dotted" | "dashed" | "wavy";
41
+ type TextDecorationColorValue = string;
42
+ type TextDecorationValue = TextDecorationLineValue | TextDecorationStyleValue | TextDecorationColorValue;
43
+ type TextDecorationMultiValue = TextDecorationValue | TextDecorationValue[];
44
+ type TextTransformValue = "none" | "capitalize" | "uppercase" | "lowercase" | "full-width";
45
+ type BorderStyleValue = "none" | "hidden" | "dotted" | "dashed" | "solid" | "double" | "groove" | "ridge" | "inset" | "outset";
46
+ type BorderWidthValue = "thin" | "medium" | "thick" | string;
47
+ type BorderColorValue = string;
48
+ type BorderValue = BorderStyleValue | BorderWidthValue | BorderColorValue;
49
+ type CursorValue = "auto" | "default" | "pointer" | "wait" | "text" | "move" | "not-allowed" | "grab" | "grabbing" | "zoom-in" | "zoom-out" | "help" | "crosshair";
50
+ type AnimationNameValue = string;
51
+ type AnimationDurationValue = string;
52
+ type AnimationTimingFunctionValue = "ease" | "ease-in" | "ease-out" | "ease-in-out" | "linear" | "step-start" | "step-end" | string;
53
+ type AnimationDelayValue = string;
54
+ type AnimationIterationCountValue = string | "infinite";
55
+ type AnimationDirectionValue = "normal" | "reverse" | "alternate" | "alternate-reverse";
56
+ type AnimationFillModeValue = "none" | "forwards" | "backwards" | "both";
57
+ type AnimationPlayStateValue = "running" | "paused";
58
+ type AnimationCompositionValue = "replace" | "add" | "accumulate";
59
+ type AnimationTimeline = string;
60
+ type AnimationValueBase = AnimationNameValue | AnimationDurationValue | AnimationTimingFunctionValue | AnimationDelayValue | AnimationIterationCountValue | AnimationDirectionValue | AnimationFillModeValue | AnimationPlayStateValue | AnimationTimeline;
61
+ type AnimationValue = AnimationValueBase | AnimationValueBase[] | AnimationValueBase[][];
62
+ type FontWeightValue = "normal" | "bold" | "bolder" | "lighter" | "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900";
63
+ type FontValue = string | string[] | string[];
64
+ type GridTemplateAreasValue = "none" | string | string[];
65
+ type GridTemplateValue = string | string[] | string[][];
66
+ type GridTemplateColumnsValue = string | string[] | string[][] | "none";
67
+ type GridTemplateRowsValue = string | string[] | string[][] | "none";
68
+ type TransformFunctionValue = string;
69
+ type TransformValue = "none" | TransformFunctionValue | TransformFunctionValue[] | string[];
70
+ type TransitionPropertyValue = string | "none" | "all";
71
+ type TransitionTimingFunctionValue = "ease" | "ease-in" | "ease-out" | "ease-in-out" | "linear" | "step-start" | "step-end" | string;
72
+ type TransitionValue = string | string[] | string[][];
73
+ type Properties = Partial<{
74
+ align_content: AlignContentKeyword | PGlobal;
75
+ align_items: AlignItemsValue | PGlobal;
76
+ align_self: AlignSelfValue | PGlobal;
77
+ alignment_baseline: AlignmentBaselineValue | PGlobal;
78
+ all: PGlobal;
79
+ anchor_name: string | string[][];
80
+ animation: AnimationValue | PAnimationGlobal;
81
+ animation_composition: AnimationCompositionValue | AnimationCompositionValue[] | PAnimationGlobal;
82
+ animation_delay: string | string[][] | PAnimationGlobal;
83
+ animation_direction: AnimationDirectionValue | AnimationDirectionValue[][] | PAnimationGlobal;
84
+ animation_duration: string | string[][] | PAnimationGlobal;
85
+ animation_fill_mode: AnimationFillModeValue | AnimationFillModeValue[][] | PAnimationGlobal;
86
+ animation_iteration_count: AnimationIterationCountValue | AnimationIterationCountValue[][] | PAnimationGlobal;
87
+ animation_name: string | string[][] | PAnimationGlobal;
88
+ animation_play_state: AnimationPlayStateValue | AnimationPlayStateValue[][] | PAnimationGlobal;
89
+ animation_range: string | string[] | string[][] | PAnimationGlobal;
90
+ animation_range_end: string | string[] | string[][] | PAnimationGlobal;
91
+ animation_range_start: string | string[] | string[][] | PAnimationGlobal;
92
+ animation_timeline: string | string[][] | PAnimationGlobal;
93
+ animation_timing_function: AnimationTimingFunctionValue | AnimationTimingFunctionValue[][] | PAnimationGlobal;
94
+ appearance: "none" | "auto" | PGlobal;
95
+ aspect_ratio: "auto" | string | [string, "/", string];
96
+ backdrop_filter: string | string[] | PGlobal;
97
+ backface_visibility: "visible" | "hidden" | PGlobal;
98
+ background: string | string[] | string[][] | PGlobal;
99
+ background_attachment: "scroll" | "fixed" | "local" | string | string[] | string[][] | PGlobal;
100
+ background_blend_mode: string | string[] | string[][] | PGlobal;
101
+ background_clip: "border-box" | "padding-box" | "content-box" | "text" | string | string[] | string[][] | PGlobal;
102
+ background_color: string | PColorGlobal;
103
+ background_image: string | string[] | string[][] | PGlobal;
104
+ background_origin: "border-box" | "padding-box" | "content-box" | string | string[] | string[][] | PGlobal;
105
+ background_position: BackgroundPositionValue | BackgroundPositionValue[] | BackgroundPositionValue[][] | PGlobal;
106
+ background_repeat: "repeat" | "repeat-x" | "repeat-y" | "no-repeat" | "space" | "round" | string | string[] | string[][] | PGlobal;
107
+ background_size: string | string[] | string[][] | PGlobal;
108
+ block_size: string | "auto" | PGlobal;
109
+ border: BorderValue | BorderValue[] | PGlobal;
110
+ border_block: string | PGlobal;
111
+ border_block_color: string | PGlobal;
112
+ border_block_end: BorderValue | BorderValue[] | PGlobal;
113
+ border_block_end_color: string | PGlobal;
114
+ border_block_end_style: BorderStyleValue | PGlobal;
115
+ border_block_end_width: string | PGlobal;
116
+ border_block_start: string | PGlobal;
117
+ border_block_start_color: string | PGlobal;
118
+ border_block_start_style: BorderStyleValue | PGlobal;
119
+ border_block_start_width: string | PGlobal;
120
+ border_block_style: BorderStyleValue | PGlobal;
121
+ border_block_width: string | PGlobal;
122
+ border_bottom: string | PGlobal;
123
+ border_bottom_color: string | PGlobal;
124
+ border_bottom_left_radius: string | PGlobal;
125
+ border_bottom_right_radius: string | PGlobal;
126
+ border_bottom_style: BorderStyleValue | PGlobal;
127
+ border_bottom_width: string | PGlobal;
128
+ border_collapse: "collapse" | "separate" | PGlobal;
129
+ border_color: string | string[] | PGlobal;
130
+ border_end_end_radius: string | PGlobal;
131
+ border_end_start_radius: string | PGlobal;
132
+ border_image: string | PGlobal;
133
+ border_image_outset: string | string[] | PGlobal;
134
+ border_image_repeat: "stretch" | "repeat" | "round" | "space" | string | string[] | PGlobal;
135
+ border_image_slice: string | string[] | PGlobal;
136
+ border_image_source: string | PGlobal;
137
+ border_image_width: string | string[] | PGlobal;
138
+ border_inline: string | PGlobal;
139
+ border_inline_color: string | PGlobal;
140
+ border_inline_end: string | PGlobal;
141
+ border_inline_end_color: string | PGlobal;
142
+ border_inline_end_style: BorderStyleValue | PGlobal;
143
+ border_inline_end_width: string | PGlobal;
144
+ border_inline_start: BorderValue | BorderValue[] | PGlobal;
145
+ border_inline_start_color: string | PGlobal;
146
+ border_inline_start_style: BorderStyleValue | PGlobal;
147
+ border_inline_start_width: string | PGlobal;
148
+ border_inline_style: BorderStyleValue | PGlobal;
149
+ border_inline_width: string | PGlobal;
150
+ border_left: string | PGlobal;
151
+ border_left_color: string | PGlobal;
152
+ border_left_style: BorderStyleValue | PGlobal;
153
+ border_left_width: string | PGlobal;
154
+ border_radius: string | string[] | PGlobal;
155
+ border_right: string | PGlobal;
156
+ border_right_color: string | PGlobal;
157
+ border_right_style: BorderStyleValue | PGlobal;
158
+ border_right_width: string | PGlobal;
159
+ border_spacing: string | string[] | PGlobal;
160
+ border_start_end_radius: string | PGlobal;
161
+ border_start_start_radius: string | PGlobal;
162
+ border_style: BorderStyleValue | string | string[] | PGlobal;
163
+ border_top: string | PGlobal;
164
+ border_top_color: string | PGlobal;
165
+ border_top_left_radius: string | PGlobal;
166
+ border_top_right_radius: string | PGlobal;
167
+ border_top_style: BorderStyleValue | PGlobal;
168
+ border_top_width: string | PGlobal;
169
+ border_width: string | string[] | PGlobal;
170
+ bottom: string | "auto" | PGlobal;
171
+ box_decoration_break: "slice" | "clone" | PGlobal;
172
+ box_shadow: string | string[] | string[][] | PGlobal;
173
+ box_sizing: "content-box" | "border-box" | PGlobal;
174
+ break_after: "auto" | "avoid" | "always" | "all" | "avoid-page" | "page" | "left" | "right" | "recto" | "verso" | "avoid-column" | "column" | "avoid-region" | "region" | PGlobal;
175
+ break_before: "auto" | "avoid" | "always" | "all" | "avoid-page" | "page" | "left" | "right" | "recto" | "verso" | "avoid-column" | "column" | "avoid-region" | "region" | PGlobal;
176
+ break_inside: "auto" | "avoid" | "avoid-page" | "avoid-column" | "avoid-region" | PGlobal;
177
+ caption_side: "top" | "bottom" | PGlobal;
178
+ caret_color: string | "auto" | PGlobal;
179
+ clear: "none" | "left" | "right" | "both" | "inline-start" | "inline-end" | PGlobal;
180
+ clip: string | "auto" | PGlobal;
181
+ clip_path: string | PGlobal;
182
+ color: string | PColorGlobal;
183
+ color_scheme: string | string[] | PGlobal;
184
+ column_count: string | "auto" | PGlobal;
185
+ column_fill: "auto" | "balance" | "balance-all" | PGlobal;
186
+ column_gap: string | "normal" | PGlobal;
187
+ column_rule: string | PGlobal;
188
+ column_rule_color: string | PGlobal;
189
+ column_rule_style: BorderStyleValue | PGlobal;
190
+ column_rule_width: string | PGlobal;
191
+ column_span: "none" | "all" | PGlobal;
192
+ column_width: string | "auto" | PGlobal;
193
+ columns: string | string[] | PGlobal;
194
+ contain: "none" | "strict" | "content" | "size" | "layout" | "style" | "paint" | string | string[] | PGlobal;
195
+ contain_intrinsic_block_size: string | "none" | PGlobal;
196
+ contain_intrinsic_height: string | "none" | PGlobal;
197
+ contain_intrinsic_inline_size: string | "none" | PGlobal;
198
+ contain_intrinsic_size: string | string[] | "none" | PGlobal;
199
+ contain_intrinsic_width: string | "none" | PGlobal;
200
+ content: string | "normal" | "none" | PGlobal;
201
+ content_visibility: "visible" | "auto" | "hidden" | PGlobal;
202
+ counter_increment: string | string[] | "none" | PGlobal;
203
+ counter_reset: string | string[] | "none" | PGlobal;
204
+ counter_set: string | string[] | "none" | PGlobal;
205
+ cursor: CursorValue | string | string[] | PGlobal;
206
+ direction: "ltr" | "rtl" | PGlobal;
207
+ display: DisplayValue | DisplayMultiValue | PGlobal;
208
+ empty_cells: "show" | "hide" | PGlobal;
209
+ filter: string | string[] | PGlobal;
210
+ flex: string | string[] | "auto" | "none" | PGlobal;
211
+ flex_basis: string | "auto" | "fill" | "max-content" | "min-content" | "fit-content" | PGlobal;
212
+ flex_direction: FlexDirectionValue | PGlobal;
213
+ flex_flow: FlexFlowMultiValue | PGlobal;
214
+ flex_grow: string | PGlobal;
215
+ flex_shrink: string | PGlobal;
216
+ flex_wrap: FlexWrapValue | PGlobal;
217
+ float: "left" | "right" | "none" | "inline-start" | "inline-end" | PGlobal;
218
+ font: FontValue | PFontGlobal;
219
+ font_family: string | string[] | string[][] | PFontGlobal;
220
+ font_feature_settings: string | string[] | "normal" | PFontGlobal;
221
+ font_kerning: "auto" | "normal" | "none" | PFontGlobal;
222
+ font_language_override: string | "normal" | PFontGlobal;
223
+ font_optical_sizing: "auto" | "none" | PFontGlobal;
224
+ font_size: string | PFontGlobal;
225
+ font_size_adjust: string | "none" | PFontGlobal;
226
+ font_stretch: string | PFontGlobal;
227
+ font_style: "normal" | "italic" | "oblique" | string | PFontGlobal;
228
+ font_synthesis: "none" | "weight" | "style" | string | string[] | PFontGlobal;
229
+ font_variant: string | string[] | "normal" | "none" | PFontGlobal;
230
+ font_variant_alternates: string | "normal" | PFontGlobal;
231
+ font_variant_caps: "normal" | "small-caps" | "all-small-caps" | "petite-caps" | "all-petite-caps" | "unicase" | "titling-caps" | PFontGlobal;
232
+ font_variant_east_asian: string | string[] | "normal" | PFontGlobal;
233
+ font_variant_ligatures: string | string[] | "normal" | "none" | PFontGlobal;
234
+ font_variant_numeric: string | string[] | "normal" | PFontGlobal;
235
+ font_variant_position: "normal" | "sub" | "super" | PFontGlobal;
236
+ font_variation_settings: string | string[] | "normal" | PFontGlobal;
237
+ font_weight: FontWeightValue | PFontGlobal;
238
+ gap: string | string[] | PGlobal;
239
+ grid: string | string[] | string[][] | PGlobal;
240
+ grid_area: string | PGlobal;
241
+ grid_auto_columns: string | string[] | PGlobal;
242
+ grid_auto_flow: "row" | "column" | "dense" | string | string[] | PGlobal;
243
+ grid_auto_rows: string | string[] | PGlobal;
244
+ grid_column: string | string[] | "auto" | PGlobal;
245
+ grid_column_end: string | "auto" | PGlobal;
246
+ grid_column_gap: string | PGlobal;
247
+ grid_column_start: string | "auto" | PGlobal;
248
+ grid_gap: string | string[] | PGlobal;
249
+ grid_row: string | string[] | "auto" | PGlobal;
250
+ grid_row_end: string | "auto" | PGlobal;
251
+ grid_row_gap: string | PGlobal;
252
+ grid_row_start: string | "auto" | PGlobal;
253
+ grid_template: GridTemplateValue | PGlobal;
254
+ grid_template_areas: GridTemplateAreasValue | PGlobal;
255
+ grid_template_columns: GridTemplateColumnsValue | PGlobal;
256
+ grid_template_rows: GridTemplateRowsValue | PGlobal;
257
+ hanging_punctuation: "none" | "first" | "last" | "force-end" | "allow-end" | string | string[] | PGlobal;
258
+ height: string | "auto" | "max-content" | "min-content" | "fit-content" | PGlobal;
259
+ hyphens: "none" | "manual" | "auto" | PGlobal;
260
+ image_orientation: string | "none" | "from-image" | PGlobal;
261
+ image_rendering: "auto" | "crisp-edges" | "pixelated" | PGlobal;
262
+ image_resolution: string | PGlobal;
263
+ inline_size: string | "auto" | PGlobal;
264
+ inset: string | string[] | "auto" | PGlobal;
265
+ inset_block: string | string[] | "auto" | PGlobal;
266
+ inset_block_end: string | "auto" | PGlobal;
267
+ inset_block_start: string | "auto" | PGlobal;
268
+ inset_inline: string | string[] | "auto" | PGlobal;
269
+ inset_inline_end: string | "auto" | PGlobal;
270
+ inset_inline_start: string | "auto" | PGlobal;
271
+ isolation: "auto" | "isolate" | PGlobal;
272
+ justify_content: JustifyContentValue | PGlobal;
273
+ justify_items: "start" | "end" | "center" | "stretch" | "self-start" | "self-end" | "flex-start" | "flex-end" | "left" | "right" | string | PGlobal;
274
+ justify_self: "auto" | "start" | "end" | "center" | "stretch" | "self-start" | "self-end" | "flex-start" | "flex-end" | "left" | "right" | PGlobal;
275
+ left: string | "auto" | PGlobal;
276
+ letter_spacing: string | "normal" | PGlobal;
277
+ line_break: "auto" | "loose" | "normal" | "strict" | "anywhere" | PGlobal;
278
+ line_height: string | "normal" | PGlobal;
279
+ list_style: string | string[] | PGlobal;
280
+ list_style_image: string | "none" | PGlobal;
281
+ list_style_position: "inside" | "outside" | PGlobal;
282
+ list_style_type: string | "none" | PGlobal;
283
+ margin: string | string[] | "auto" | PBoxModelGlobal;
284
+ margin_block: string | string[] | "auto" | PBoxModelGlobal;
285
+ margin_block_end: string | "auto" | PBoxModelGlobal;
286
+ margin_block_start: string | "auto" | PBoxModelGlobal;
287
+ margin_bottom: string | "auto" | PBoxModelGlobal;
288
+ margin_inline: string | string[] | "auto" | PBoxModelGlobal;
289
+ margin_inline_end: string | "auto" | PBoxModelGlobal;
290
+ margin_inline_start: string | "auto" | PBoxModelGlobal;
291
+ margin_left: string | "auto" | PBoxModelGlobal;
292
+ margin_right: string | "auto" | PBoxModelGlobal;
293
+ margin_top: string | "auto" | PBoxModelGlobal;
294
+ mask: string | string[] | PGlobal;
295
+ mask_border: string | PGlobal;
296
+ mask_border_mode: "luminance" | "alpha" | PGlobal;
297
+ mask_border_outset: string | string[] | PGlobal;
298
+ mask_border_repeat: string | string[] | PGlobal;
299
+ mask_border_slice: string | string[] | PGlobal;
300
+ mask_border_source: string | "none" | PGlobal;
301
+ mask_border_width: string | string[] | "auto" | PGlobal;
302
+ mask_clip: string | string[] | "content-box" | "padding-box" | "border-box" | "margin-box" | "fill-box" | "stroke-box" | "view-box" | "no-clip" | PGlobal;
303
+ mask_composite: string | string[] | PGlobal;
304
+ mask_image: string | string[] | "none" | PGlobal;
305
+ mask_mode: string | string[] | "alpha" | "luminance" | "match-source" | PGlobal;
306
+ mask_origin: string | string[] | "content-box" | "padding-box" | "border-box" | "margin-box" | "fill-box" | "stroke-box" | "view-box" | PGlobal;
307
+ mask_position: string | string[] | string[][] | PGlobal;
308
+ mask_repeat: string | string[] | PGlobal;
309
+ mask_size: string | string[] | "auto" | "cover" | "contain" | PGlobal;
310
+ mask_type: "luminance" | "alpha" | PGlobal;
311
+ max_block_size: string | "none" | PGlobal;
312
+ max_height: string | "none" | "max-content" | "min-content" | "fit-content" | PGlobal;
313
+ max_inline_size: string | "none" | PGlobal;
314
+ max_width: string | "none" | "max-content" | "min-content" | "fit-content" | PGlobal;
315
+ min_block_size: string | "auto" | PGlobal;
316
+ min_height: string | "auto" | "max-content" | "min-content" | "fit-content" | PGlobal;
317
+ min_inline_size: string | "auto" | PGlobal;
318
+ min_width: string | "auto" | "max-content" | "min-content" | "fit-content" | PGlobal;
319
+ mix_blend_mode: string | PGlobal;
320
+ object_fit: "fill" | "contain" | "cover" | "none" | "scale-down" | PGlobal;
321
+ object_position: string | string[] | PGlobal;
322
+ offset: string | string[] | PGlobal;
323
+ offset_anchor: string | string[] | "auto" | PGlobal;
324
+ offset_distance: string | PGlobal;
325
+ offset_path: string | "none" | PGlobal;
326
+ offset_rotate: string | "auto" | "reverse" | PGlobal;
327
+ opacity: string | PGlobal;
328
+ order: string | PGlobal;
329
+ orphans: string | PGlobal;
330
+ outline: string | string[] | PGlobal;
331
+ outline_color: string | "invert" | PGlobal;
332
+ outline_offset: string | PGlobal;
333
+ outline_style: BorderStyleValue | "auto" | PGlobal;
334
+ outline_width: string | PGlobal;
335
+ overflow: OverflowValue | OverflowMultiValue | PGlobal;
336
+ overflow_anchor: "auto" | "none" | PGlobal;
337
+ overflow_block: OverflowValue | PGlobal;
338
+ overflow_clip_margin: string | "content-box" | PGlobal;
339
+ overflow_inline: OverflowValue | PGlobal;
340
+ overflow_wrap: "normal" | "break-word" | "anywhere" | PGlobal;
341
+ overflow_x: OverflowValue | PGlobal;
342
+ overflow_y: OverflowValue | PGlobal;
343
+ overscroll_behavior: "auto" | "contain" | "none" | string | string[] | PGlobal;
344
+ overscroll_behavior_block: "auto" | "contain" | "none" | PGlobal;
345
+ overscroll_behavior_inline: "auto" | "contain" | "none" | PGlobal;
346
+ overscroll_behavior_x: "auto" | "contain" | "none" | PGlobal;
347
+ overscroll_behavior_y: "auto" | "contain" | "none" | PGlobal;
348
+ padding: string | string[] | PBoxModelGlobal;
349
+ padding_block: string | string[] | PBoxModelGlobal;
350
+ padding_block_end: string | PBoxModelGlobal;
351
+ padding_block_start: string | PBoxModelGlobal;
352
+ padding_bottom: string | PBoxModelGlobal;
353
+ padding_inline: string | string[] | PBoxModelGlobal;
354
+ padding_inline_end: string | PBoxModelGlobal;
355
+ padding_inline_start: string | PBoxModelGlobal;
356
+ padding_left: string | PBoxModelGlobal;
357
+ padding_right: string | PBoxModelGlobal;
358
+ padding_top: string | PBoxModelGlobal;
359
+ page_break_after: "auto" | "always" | "avoid" | "left" | "right" | PGlobal;
360
+ page_break_before: "auto" | "always" | "avoid" | "left" | "right" | PGlobal;
361
+ page_break_inside: "auto" | "avoid" | PGlobal;
362
+ paint_order: "normal" | "fill" | "stroke" | "markers" | string | string[] | PGlobal;
363
+ perspective: string | "none" | PGlobal;
364
+ perspective_origin: string | string[] | PGlobal;
365
+ place_content: string | string[] | PGlobal;
366
+ place_items: string | string[] | PGlobal;
367
+ place_self: string | string[] | PGlobal;
368
+ pointer_events: "auto" | "none" | "visiblePainted" | "visibleFill" | "visibleStroke" | "visible" | "painted" | "fill" | "stroke" | "all" | PGlobal;
369
+ position: PositionValue | PPositionGlobal;
370
+ quotes: string | string[] | "auto" | "none" | PGlobal;
371
+ resize: "none" | "both" | "horizontal" | "vertical" | "block" | "inline" | PGlobal;
372
+ right: string | "auto" | PGlobal;
373
+ rotate: string | "none" | PGlobal;
374
+ row_gap: string | "normal" | PGlobal;
375
+ scale: string | string[] | "none" | PGlobal;
376
+ scroll_behavior: "auto" | "smooth" | PGlobal;
377
+ scroll_margin: string | string[] | PGlobal;
378
+ scroll_margin_block: string | string[] | PGlobal;
379
+ scroll_margin_block_end: string | PGlobal;
380
+ scroll_margin_block_start: string | PGlobal;
381
+ scroll_margin_bottom: string | PGlobal;
382
+ scroll_margin_inline: string | string[] | PGlobal;
383
+ scroll_margin_inline_end: string | PGlobal;
384
+ scroll_margin_inline_start: string | PGlobal;
385
+ scroll_margin_left: string | PGlobal;
386
+ scroll_margin_right: string | PGlobal;
387
+ scroll_margin_top: string | PGlobal;
388
+ scroll_padding: string | string[] | "auto" | PGlobal;
389
+ scroll_padding_block: string | string[] | "auto" | PGlobal;
390
+ scroll_padding_block_end: string | "auto" | PGlobal;
391
+ scroll_padding_block_start: string | "auto" | PGlobal;
392
+ scroll_padding_bottom: string | "auto" | PGlobal;
393
+ scroll_padding_inline: string | string[] | "auto" | PGlobal;
394
+ scroll_padding_inline_end: string | "auto" | PGlobal;
395
+ scroll_padding_inline_start: string | "auto" | PGlobal;
396
+ scroll_padding_left: string | "auto" | PGlobal;
397
+ scroll_padding_right: string | "auto" | PGlobal;
398
+ scroll_padding_top: string | "auto" | PGlobal;
399
+ scroll_snap_align: "none" | "start" | "end" | "center" | string | string[] | PGlobal;
400
+ scroll_snap_stop: "normal" | "always" | PGlobal;
401
+ scroll_snap_type: "none" | "x" | "y" | "block" | "inline" | "both" | string | string[] | PGlobal;
402
+ scrollbar_color: string | string[] | "auto" | PGlobal;
403
+ scrollbar_width: "auto" | "thin" | "none" | PGlobal;
404
+ shape_image_threshold: string | PGlobal;
405
+ shape_margin: string | PGlobal;
406
+ shape_outside: "none" | "margin-box" | "content-box" | "border-box" | "padding-box" | string | PGlobal;
407
+ tab_size: string | PGlobal;
408
+ table_layout: "auto" | "fixed" | PGlobal;
409
+ text_align: TextAlignValue | PGlobal;
410
+ text_align_last: TextAlignValue | "auto" | PGlobal;
411
+ text_combine_upright: "none" | "all" | string | PGlobal;
412
+ text_decoration: TextDecorationMultiValue | PGlobal;
413
+ text_decoration_color: string | PGlobal;
414
+ text_decoration_line: TextDecorationLineValue | string | string[] | PGlobal;
415
+ text_decoration_skip: "none" | "objects" | "spaces" | "ink" | "edges" | "box-decoration" | string | string[] | PGlobal;
416
+ text_decoration_skip_ink: "auto" | "none" | "all" | PGlobal;
417
+ text_decoration_style: "solid" | "double" | "dotted" | "dashed" | "wavy" | PGlobal;
418
+ text_decoration_thickness: string | "auto" | "from-font" | PGlobal;
419
+ text_emphasis: string | string[] | PGlobal;
420
+ text_emphasis_color: string | PGlobal;
421
+ text_emphasis_position: string | string[] | PGlobal;
422
+ text_emphasis_style: "none" | "filled" | "open" | "dot" | "circle" | "double-circle" | "triangle" | "sesame" | string | PGlobal;
423
+ text_indent: string | PGlobal;
424
+ text_justify: "auto" | "inter-character" | "inter-word" | "none" | PGlobal;
425
+ text_orientation: "mixed" | "upright" | "sideways" | PGlobal;
426
+ text_overflow: "clip" | "ellipsis" | string | PGlobal;
427
+ text_rendering: "auto" | "optimizeSpeed" | "optimizeLegibility" | "geometricPrecision" | PGlobal;
428
+ text_shadow: string | string[] | string[][] | "none" | PGlobal;
429
+ text_size_adjust: "none" | "auto" | string | PGlobal;
430
+ text_transform: TextTransformValue | PGlobal;
431
+ text_underline_offset: string | "auto" | PGlobal;
432
+ text_underline_position: "auto" | "from-font" | "under" | "left" | "right" | string | string[] | PGlobal;
433
+ top: string | "auto" | PGlobal;
434
+ touch_action: "auto" | "none" | "pan-x" | "pan-y" | "pan-left" | "pan-right" | "pan-up" | "pan-down" | "pinch-zoom" | "manipulation" | string | string[] | PGlobal;
435
+ transform: TransformValue | PGlobal;
436
+ transform_box: "content-box" | "border-box" | "fill-box" | "stroke-box" | "view-box" | PGlobal;
437
+ transform_origin: string | string[] | string[][] | PGlobal;
438
+ transform_style: "flat" | "preserve-3d" | PGlobal;
439
+ transition: TransitionValue | PTransitionGlobal;
440
+ transition_delay: string | string[] | string[][] | PTransitionGlobal;
441
+ transition_duration: string | string[] | string[][] | PTransitionGlobal;
442
+ transition_property: TransitionPropertyValue | TransitionPropertyValue[] | TransitionPropertyValue[][] | PTransitionGlobal;
443
+ transition_timing_function: TransitionTimingFunctionValue | TransitionTimingFunctionValue[] | TransitionTimingFunctionValue[][] | PTransitionGlobal;
444
+ translate: string | string[] | "none" | PGlobal;
445
+ unicode_bidi: "normal" | "embed" | "isolate" | "bidi-override" | "isolate-override" | "plaintext" | PGlobal;
446
+ user_select: "auto" | "none" | "text" | "contain" | "all" | PGlobal;
447
+ vertical_align: "baseline" | "sub" | "super" | "text-top" | "text-bottom" | "middle" | "top" | "bottom" | string | PGlobal;
448
+ visibility: "visible" | "hidden" | "collapse" | PGlobal;
449
+ white_space: "normal" | "nowrap" | "pre" | "pre-wrap" | "pre-line" | "break-spaces" | PGlobal;
450
+ widows: string | PGlobal;
451
+ width: string | "auto" | "max-content" | "min-content" | "fit-content" | PGlobal;
452
+ will_change: string | string[] | "auto" | PGlobal;
453
+ word_break: "normal" | "break-all" | "keep-all" | "break-word" | PGlobal;
454
+ word_spacing: string | "normal" | PGlobal;
455
+ word_wrap: "normal" | "break-word" | PGlobal;
456
+ writing_mode: "horizontal-tb" | "vertical-rl" | "vertical-lr" | "sideways-rl" | "sideways-lr" | PGlobal;
457
+ z_index: string | "auto" | PGlobal;
458
+ [key: `--${string}`]: string;
459
+ }>;
460
+ //#endregion
461
+ export { Properties as t };
@@ -0,0 +1,15 @@
1
+ import { t as Properties } from "./properties-FKQ-gJeC.js";
2
+
3
+ //#region src/registry.browser.d.ts
4
+ type Registry = Map<string, [string[], Partial<Properties>]>;
5
+ declare function registerCss(_designator: string, _selectors: string[], _properties: Partial<Properties>): void;
6
+ declare function runWithRegistry<T>(_fn: () => T): {
7
+ result: T;
8
+ registry: Registry;
9
+ };
10
+ type RunWithRegistry<T> = (fn: () => T) => {
11
+ result: T;
12
+ registry: Registry;
13
+ };
14
+ //#endregion
15
+ export { Registry, RunWithRegistry, registerCss, runWithRegistry };
@@ -0,0 +1 @@
1
+ function e(e,t,n){}function t(e){throw Error(`cirro: runWithRegistry is server-only and must not be called on the client`)}export{e as registerCss,t as runWithRegistry};
@@ -0,0 +1,15 @@
1
+ import { t as Properties } from "./properties-FKQ-gJeC.js";
2
+
3
+ //#region src/registry.d.ts
4
+ type Registry = Map<string, [string[], Partial<Properties>]>;
5
+ declare function registerCss(designator: string, selectors: string[], properties: Partial<Properties>): void;
6
+ declare function runWithRegistry<T>(fn: () => T): {
7
+ result: T;
8
+ registry: Registry;
9
+ };
10
+ type RunWithRegistry<T> = (fn: () => T) => {
11
+ result: T;
12
+ registry: Registry;
13
+ };
14
+ //#endregion
15
+ export { Registry, RunWithRegistry, registerCss, runWithRegistry };
@@ -0,0 +1 @@
1
+ import{AsyncLocalStorage as e}from"node:async_hooks";const t=new e;function n(e,n,r){let i=t.getStore();if(!i)throw Error(`cirro: css() was called outside of a render context`);i.set(e,[n,r])}function r(e){let n=new Map;return{result:t.run(n,e),registry:n}}export{n as registerCss,r as runWithRegistry};
package/dist/vite.js CHANGED
@@ -1,2 +1,2 @@
1
- import{resolve as e}from"node:path";const t=`virtual:cirro/client`,n=`\0${t}`;function r(r){let i=r.islands;return{name:`cirro`,api:{options:r},config(){return{build:{manifest:!0,modulePreload:{polyfill:!1},assetsInlineLimit:0,rollupOptions:{input:{client:t},external:[`node:async_hooks`]}}}},configResolved(t){if(i=e(t.root,r.islands),!t.plugins.some(e=>e.name?.startsWith(`vite:react`)))throw Error(`cirro: React プラグインが見つかりません。vite.config の plugins に react()(@vitejs/plugin-react)を cirro() より前に追加してください。`)},resolveId(e){if(e===t)return n},load(e){if(e===n)return[`import { createElement } from "react";`,`import { hydrateRoot } from "react-dom/client";`,`import { islands } from ${JSON.stringify(i)};`,``,`for (const el of document.querySelectorAll("[data-island]")) {`,` const name = el.dataset.island;`,` if (!name || !(name in islands)) continue;`,` const props = el.dataset.props ? JSON.parse(el.dataset.props) : {};`,` hydrateRoot(el, createElement(islands[name], props));`,`}`].join(`
1
+ import{resolve as e}from"node:path";const t=`virtual:cirro/client`,n=`\0${t}`;function r(r){let i=r.islands;return{name:`cirro`,api:{options:r},config(){return{build:{manifest:!0,modulePreload:{polyfill:!1},assetsInlineLimit:0,rollupOptions:{input:{client:t}}}}},configResolved(t){if(i=e(t.root,r.islands),!t.plugins.some(e=>e.name?.startsWith(`vite:react`)))throw Error(`cirro: React プラグインが見つかりません。vite.config の plugins に react()(@vitejs/plugin-react)を cirro() より前に追加してください。`)},resolveId(e){if(e===t)return n},load(e){if(e===n)return[`import { createElement } from "react";`,`import { hydrateRoot } from "react-dom/client";`,`import { islands } from ${JSON.stringify(i)};`,``,`for (const el of document.querySelectorAll("[data-island]")) {`,` const name = el.dataset.island;`,` if (!name || !(name in islands)) continue;`,` const props = el.dataset.props ? JSON.parse(el.dataset.props) : {};`,` hydrateRoot(el, createElement(islands[name], props));`,`}`].join(`
2
2
  `)}}}export{r as cirro};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cirrojs",
3
- "version": "0.0.8",
3
+ "version": "0.0.9",
4
4
  "description": "React islands SSG with strict CSP (no unsafe-inline). Vite-based, MPA-first.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -30,6 +30,11 @@
30
30
  "./bin": {
31
31
  "types": "./dist/cli.d.ts",
32
32
  "default": "./dist/cli.js"
33
+ },
34
+ "./registry": {
35
+ "types": "./dist/registry.d.ts",
36
+ "browser": "./dist/registry.browser.js",
37
+ "default": "./dist/registry.js"
33
38
  }
34
39
  },
35
40
  "bin": {
@@ -1,4 +0,0 @@
1
- import{AsyncLocalStorage as e}from"node:async_hooks";const t=new e;function n(e,n,r){let i=t.getStore();if(!i)throw Error(`cirro: css() was called outside of a render context`);i.set(e,[n,r])}function r(e){let n=new Map;return{result:t.run(n,e),registry:n}}function i(e,t){let n=t?.selector??`&`,r=t?.atrules??[],i=c({selector:n,atrules:r,properties:e}),a=`${t?.name??`cirro`}-${i.toString(16)}`;return s([...r,n],e,a),a}function a(e){let t=[];return e.layer&&t.push(`@layer ${e.layer}`),e.mediaAtRule&&t.push(`@media (${e.mediaAtRule})`),(e,n)=>i(e,{atrules:t,name:n?.name,selector:n?.selector})}function o(e){let t=`@charset "utf-8";
2
- @layer base, font, low, main, high;
3
- `;for(let[n,[r,i]]of e)t+=r.reduceRight((e,t)=>`${t} { ${e} }`,Object.entries(i).map(([e,t])=>`${e.replaceAll(`_`,`-`)}: ${t};`).join(` `)),t+=`
4
- `;return t}function s(e,t,r){n(r,e.map(e=>e.replaceAll(`&`,`.${r}`)),t)}function c(...e){return l(e.map(e=>JSON.stringify(e)).join(``))}function l(e){let t=5381;for(let n of[...e])t=(t<<5)+t+n.charCodeAt(0)&4294967295;return t>>>0}export{r as i,a as n,o as r,i as t};