cirrojs 0.0.3 → 0.0.4

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,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
13
13
 
14
14
  ## [Unreleased]
15
15
 
16
+ ## [0.0.4] - 2026-06-17
17
+
18
+ ### Added
19
+ - CSS-in-JS system. The `css` and `genCssFn` functions generate scoped styles, and `initCssRegistry` and `getCssRegistry` manage the style registry. All are exported from the package entry point.
20
+ - `Properties` and `CssOpt` types.
21
+
16
22
  ## [0.0.3] - 2026-06-15
17
23
 
18
24
  ### Fixed
@@ -26,6 +32,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
26
32
  ## 0.0.1 - 2026-06-15
27
33
  - initial release
28
34
 
29
- [Unreleased]: https://github.com/osawa-naotaka/cirro/compare/v0.0.3...HEAD
35
+ [Unreleased]: https://github.com/osawa-naotaka/cirro/compare/v0.0.4...HEAD
36
+ [0.0.4]: https://github.com/osawa-naotaka/cirro/compare/v0.0.3...v0.0.4
30
37
  [0.0.3]: https://github.com/osawa-naotaka/cirro/compare/v0.0.2...v0.0.3
31
38
  [0.0.2]: https://github.com/osawa-naotaka/cirro/compare/v0.0.1...v0.0.2
package/dist/cli.js CHANGED
@@ -1 +1 @@
1
- import{r as e,t}from"./router-CJ9aQRbJ.js";import{Fragment as n,createElement as r}from"react";import{renderToStaticMarkup as i}from"react-dom/server";import{dirname 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,t){return r(n,null,e,r(`script`,{async:!0,type:`module`,src:t,key:`cirro-client`}))}function g(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 _(){await d();let n=await f({server:{middlewareMode:!0,hmr:!1},appType:`custom`}),r=p(n.environments.ssr);try{let d=n.config,f=g(d),p=d.root,m=s(p,d.build.outDir),_=s(p,f.routes),v=JSON.parse(await l(o(m,`.vite/manifest.json`),`utf-8`))[`virtual:cirro/client`];if(!v)throw Error(`cirro: manifest entry "virtual:cirro/client" not found`);let y=`/${v.file}`,{routes:b}=await r.import(_);for(let n of t(b)){let t=`<!DOCTYPE html>${i(h(n.render(),y))}`,r=o(m,e(n.url));await c(a(r),{recursive:!0}),await u(r,t),console.log(`wrote ${r} (url: ${n.url})`)}}finally{await n.close()}}function v(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 y(e=5173){let n=await f({server:{middlewareMode:!0},appType:`custom`}),r=p(n.environments.ssr),o=g(n.config),c=n.config.root,l=s(c,o.routes),u=a(s(c,o.islands)).replaceAll(`\\`,`/`),d=m((e,a)=>{n.middlewares(e,a,async()=>{let o=e.url??`/`;try{let{routes:e}=await r.import(l),s=t(e),c=new URL(o,`http://localhost`).pathname.replace(/\/+$/,``)||`/`,u=s.find(e=>(e.url.replace(/\/+$/,``)||`/`)===c);if(!u){a.statusCode=404,a.setHeader(`Content-Type`,`text/html; charset=utf-8`),a.end(`<!DOCTYPE html><meta charset="utf-8"><h1>404 Not Found</h1>`);return}let d=`<!DOCTYPE html>${i(h(u.render(),`/@id/__x00__virtual:cirro/client`))}`;d=await n.transformIndexHtml(o,d),a.statusCode=200,a.setHeader(`Content-Type`,`text/html; charset=utf-8`),a.end(d)}catch(e){a.statusCode=500,a.end(String(e))}})}),_=`${s(c,o.watchDir??`./src`).replaceAll(`\\`,`/`).replace(/\/+$/,``)}/`;n.watcher.on(`change`,e=>{let t=e.replaceAll(`\\`,`/`);t.startsWith(u)||t.startsWith(_)&&(v(n,e),n.ws.send({type:`full-reload`}))}),d.listen(e,()=>{console.log(`cirro dev: http://localhost:${e}`)})}async function b(e){let t=e[0];t===`dev`?await y():t===`build`?await _():(console.error(`usage: cirro <dev|build>`),process.exit(1))}export{b as main};
1
+ import{c as e,l as t,o as n,r}from"./css-BpSvZXlg.js";import{Fragment as i,createElement as a}from"react";import{renderToStaticMarkup as o}from"react-dom/server";import{dirname as s,join as c,resolve as l}from"node:path";import{mkdir as u,readFile as d,writeFile as f}from"node:fs/promises";import{build as p,createServer as m,createServerModuleRunner as h}from"vite";import{createServer as g}from"node:http";function _(e,t,n){return a(i,null,e,a(`script`,{async:!0,type:`module`,src:t,key:`cirro-client`}),a(`link`,{rel:`stylesheet`,href:n,key:`cirro-css`}))}function v(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 y(){await p();let i=await m({server:{middlewareMode:!0,hmr:!1},appType:`custom`}),a=h(i.environments.ssr);try{let p=i.config,m=v(p),h=p.root,g=l(h,p.build.outDir),y=l(h,m.routes),b=JSON.parse(await d(c(g,`.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,getCssRegistry:C,initCssRegistry:w}=await a.import(y);for(let i of n(S)){if(i.isCss){w(),o(i.render());let t=r(C()),n=c(g,e(i.url));await u(s(n),{recursive:!0}),await f(n,t),console.log(`wrote ${n} (url: ${i.url})`);continue}let n=`<!DOCTYPE html>${o(_(i.render(),x,i.cssPath))}`,a=c(g,t(i.url));await u(s(a),{recursive:!0}),await f(a,n),console.log(`wrote ${a} (url: ${i.url})`)}}finally{await i.close()}}function b(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 x(e=5173){let t=await m({server:{middlewareMode:!0},appType:`custom`}),i=h(t.environments.ssr),a=v(t.config),c=t.config.root,u=l(c,a.routes),d=s(l(c,a.islands)).replaceAll(`\\`,`/`),f=g((e,a)=>{t.middlewares(e,a,async()=>{let s=e.url??`/`;try{let{routes:e,getCssRegistry:c,initCssRegistry:l}=await i.import(u),d=n(e);if(s.endsWith(`.css`)){let e=d.find(e=>e.isCss&&e.url===s);if(!e){a.statusCode=404,a.end();return}l(),o(e.render());let t=r(c());a.statusCode=200,a.setHeader(`Content-Type`,`text/css; charset=utf-8`),a.end(t);return}let f=new URL(s,`http://localhost`).pathname.replace(/\/+$/,``)||`/`,p=d.find(e=>(e.url.replace(/\/+$/,``)||`/`)===f);if(!p){a.statusCode=404,a.setHeader(`Content-Type`,`text/html; charset=utf-8`),a.end(`<!DOCTYPE html><meta charset="utf-8"><h1>404 Not Found</h1>`);return}let m=`<!DOCTYPE html>${o(_(p.render(),`/@id/__x00__virtual:cirro/client`,p.cssPath))}`;m=await t.transformIndexHtml(s,m),a.statusCode=200,a.setHeader(`Content-Type`,`text/html; charset=utf-8`),a.end(m)}catch(e){a.statusCode=500,a.end(String(e))}})}),p=`${l(c,a.watchDir??`./src`).replaceAll(`\\`,`/`).replace(/\/+$/,``)}/`;t.watcher.on(`change`,e=>{let n=e.replaceAll(`\\`,`/`);n.startsWith(d)||n.startsWith(p)&&(b(t,e),t.ws.send({type:`full-reload`}))}),f.listen(e,()=>{console.log(`cirro dev: http://localhost:${e}`)})}async function S(e){let t=e[0];t===`dev`?await x():t===`build`?await y():(console.error(`usage: cirro <dev|build>`),process.exit(1))}export{S as main};
@@ -0,0 +1,4 @@
1
+ import{resolve as e}from"node:path";function t(e){return e}function n(t){let n=[];for(let r of t)if(`getStaticPaths`in r){for(let e of r.getStaticPaths())n.push({url:r.path(e),isCss:!1,cssPath:r.cssPath,render:()=>r.component({params:e})});n.push({url:r.cssPath,isCss:!0,cssPath:r.cssPath,render:()=>r.component({params:r.getStaticPaths()[0]})})}else n.push({url:r.path,isCss:!1,cssPath:e(r.path,`index.css`),render:()=>r.component({params:{}})}),n.push({url:e(r.path,`index.css`),isCss:!0,cssPath:e(r.path,`index.css`),render:()=>r.component({params:{}})});return n}function r(e){return e===`/`?`index.html`:`${e.replace(/^\/+|\/+$/g,``)}/index.html`}function i(e){return e===`/`?`index.css`:`${e.replace(/^\/+|\/+$/g,``)}`}let a=[];function o(e,t){a.push([e,t])}function s(){a=[]}function c(){return a}function l(e,t){let n=t?.selector??`&`,r=t?.atrules??[],i=p(e),a=`${t?.name??`cirro`}-${i.toString(16)}`;return f([...r,n],e,a),a}function u(e,t=`main`){return(n,r)=>l(n,{atrules:[`@layer ${t}`,`@media (${e})`],name:r?.name,selector:r?.selector})}function d(e){let t=`@charset "utf-8";
2
+ @layer base, font, low, main, high;
3
+ `;for(let[n,r]of e)t+=n.reduceRight((e,t)=>`${t} { ${e} }`,Object.entries(r).map(([e,t])=>`${e.replaceAll(`_`,`-`)}: ${t};`).join(` `)),t+=`
4
+ `;return t}function f(e,t,n){o(e.map(e=>e.replaceAll(`&`,`.${n}`)),t)}function p(...e){return m(e.map(e=>JSON.stringify(e)).join(``))}function m(e){let t=5381;for(let n of[...e])t=(t<<5)+t+n.charCodeAt(0)&4294967295;return t>>>0}export{s as a,i as c,c as i,r as l,u as n,n as o,d as r,t as s,l as t};
package/dist/index.d.ts CHANGED
@@ -57,6 +57,7 @@ type StaticRoute = {
57
57
  };
58
58
  type DynamicRoute<P extends Params = Params> = {
59
59
  path: (params: P) => string;
60
+ cssPath: string;
60
61
  getStaticPaths: () => P[];
61
62
  component: (props: {
62
63
  params: P;
@@ -67,9 +68,489 @@ declare function route<P extends Params>(def: DynamicRoute<P>): DynamicRoute<P>;
67
68
  declare function route(def: StaticRoute): StaticRoute;
68
69
  type ResolvedPage = {
69
70
  url: string;
71
+ isCss: boolean;
72
+ cssPath: string;
70
73
  render: () => ReactElement;
71
74
  };
72
75
  declare function expandRoutes(routes: AnyRoute[]): ResolvedPage[];
73
76
  declare function urlToFilePath(url: string): string;
74
77
  //#endregion
75
- export { type AnyRoute, type DynamicRoute, type MarkdownConfig, type Params, type RenderResult, type ResolvedPage, type StaticRoute, type ToC, createIsland, createMarkdown, expandRoutes, route, urlToFilePath };
78
+ //#region src/properties.d.ts
79
+ type AlignContentBaseKeyword = "normal" | "start" | "center" | "end" | "flex-start" | "flex-end" | "baseline" | "first baseline" | "last baseline" | "space-between" | "space-around" | "space-evenly" | "stretch";
80
+ type AlignContentKeyword = AlignContentBaseKeyword | ["safe", AlignContentBaseKeyword] | ["unsafe", AlignContentBaseKeyword];
81
+ type BackgroundPositionKeyword = "left" | "center" | "right" | "top" | "bottom";
82
+ type BackgroundPositionValue = BackgroundPositionKeyword | string;
83
+ type PInherit = "inherit";
84
+ type PInitial = "initial";
85
+ type PRevert = "revert";
86
+ type PRevertLayer = "revert-layer";
87
+ type PUnset = "unset";
88
+ type PGlobal = PInherit | PInitial | PRevert | PRevertLayer | PUnset;
89
+ type DisplayOutsideValue = "block" | "inline" | "run-in";
90
+ type DisplayInsideValue = "flow" | "flow-root" | "table" | "flex" | "grid" | "ruby";
91
+ type DisplayListItemValue = "list-item";
92
+ 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";
93
+ type DisplayBoxValue = "contents" | "none";
94
+ type DisplayLegacyValue = "inline-block" | "inline-table" | "inline-flex" | "inline-grid";
95
+ type DisplayValue = DisplayOutsideValue | DisplayInsideValue | DisplayListItemValue | DisplayInternalValue | DisplayBoxValue | DisplayLegacyValue | "table" | "inline-block" | "inline-flex" | "inline-grid";
96
+ type DisplayMultiValue = DisplayValue | DisplayValue[];
97
+ type PositionValue = "static" | "relative" | "absolute" | "fixed" | "sticky";
98
+ type PAnimationGlobal = PGlobal;
99
+ type PTransitionGlobal = PGlobal;
100
+ type PColorGlobal = PGlobal;
101
+ type PBoxModelGlobal = PGlobal;
102
+ type PFontGlobal = PGlobal;
103
+ type PPositionGlobal = PGlobal;
104
+ type FlexDirectionValue = "row" | "row-reverse" | "column" | "column-reverse";
105
+ type FlexWrapValue = "nowrap" | "wrap" | "wrap-reverse";
106
+ type FlexFlowSingleValue = FlexDirectionValue | FlexWrapValue;
107
+ type FlexFlowMultiValue = FlexFlowSingleValue | [FlexFlowSingleValue, FlexFlowSingleValue];
108
+ type JustifyContentValue = "flex-start" | "flex-end" | "center" | "space-between" | "space-around" | "space-evenly" | "start" | "end" | "left" | "right";
109
+ type AlignItemsSelfPosition = "center" | "start" | "end" | "self-start" | "self-end" | "flex-start" | "flex-end";
110
+ type AlignItemsValue = "normal" | "stretch" | "anchor-center" | "baseline" | "first baseline" | "last baseline" | AlignItemsSelfPosition | ["safe", AlignItemsSelfPosition] | ["unsafe", AlignItemsSelfPosition];
111
+ type AlignSelfValue = "auto" | "normal" | "stretch" | "baseline" | "first baseline" | "last baseline" | "anchor-center" | AlignItemsSelfPosition | ["unsafe", AlignItemsSelfPosition] | ["safe", AlignItemsSelfPosition];
112
+ type AlignmentBaselineValue = "baseline" | "text-bottom" | "alphabetic" | "ideographic" | "middle" | "central" | "mathematical" | "text-top";
113
+ type TextAlignValue = "left" | "right" | "center" | "justify" | "start" | "end";
114
+ type OverflowValue = "visible" | "hidden" | "scroll" | "auto" | "clip";
115
+ type OverflowMultiValue = OverflowValue | [OverflowValue, OverflowValue];
116
+ type TextDecorationLineValue = "none" | "underline" | "overline" | "line-through";
117
+ type TextDecorationStyleValue = "solid" | "double" | "dotted" | "dashed" | "wavy";
118
+ type TextDecorationColorValue = string;
119
+ type TextDecorationValue = TextDecorationLineValue | TextDecorationStyleValue | TextDecorationColorValue;
120
+ type TextDecorationMultiValue = TextDecorationValue | TextDecorationValue[];
121
+ type TextTransformValue = "none" | "capitalize" | "uppercase" | "lowercase" | "full-width";
122
+ type BorderStyleValue = "none" | "hidden" | "dotted" | "dashed" | "solid" | "double" | "groove" | "ridge" | "inset" | "outset";
123
+ type BorderWidthValue = "thin" | "medium" | "thick" | string;
124
+ type BorderColorValue = string;
125
+ type BorderValue = BorderStyleValue | BorderWidthValue | BorderColorValue;
126
+ type CursorValue = "auto" | "default" | "pointer" | "wait" | "text" | "move" | "not-allowed" | "grab" | "grabbing" | "zoom-in" | "zoom-out" | "help" | "crosshair";
127
+ type AnimationNameValue = string;
128
+ type AnimationDurationValue = string;
129
+ type AnimationTimingFunctionValue = "ease" | "ease-in" | "ease-out" | "ease-in-out" | "linear" | "step-start" | "step-end" | string;
130
+ type AnimationDelayValue = string;
131
+ type AnimationIterationCountValue = string | "infinite";
132
+ type AnimationDirectionValue = "normal" | "reverse" | "alternate" | "alternate-reverse";
133
+ type AnimationFillModeValue = "none" | "forwards" | "backwards" | "both";
134
+ type AnimationPlayStateValue = "running" | "paused";
135
+ type AnimationCompositionValue = "replace" | "add" | "accumulate";
136
+ type AnimationTimeline = string;
137
+ type AnimationValueBase = AnimationNameValue | AnimationDurationValue | AnimationTimingFunctionValue | AnimationDelayValue | AnimationIterationCountValue | AnimationDirectionValue | AnimationFillModeValue | AnimationPlayStateValue | AnimationTimeline;
138
+ type AnimationValue = AnimationValueBase | AnimationValueBase[] | AnimationValueBase[][];
139
+ type FontWeightValue = "normal" | "bold" | "bolder" | "lighter" | "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900";
140
+ type FontValue = string | string[] | string[];
141
+ type GridTemplateAreasValue = "none" | string | string[];
142
+ type GridTemplateValue = string | string[] | string[][];
143
+ type GridTemplateColumnsValue = string | string[] | string[][] | "none";
144
+ type GridTemplateRowsValue = string | string[] | string[][] | "none";
145
+ type TransformFunctionValue = string;
146
+ type TransformValue = "none" | TransformFunctionValue | TransformFunctionValue[] | string[];
147
+ type TransitionPropertyValue = string | "none" | "all";
148
+ type TransitionTimingFunctionValue = "ease" | "ease-in" | "ease-out" | "ease-in-out" | "linear" | "step-start" | "step-end" | string;
149
+ type TransitionValue = string | string[] | string[][];
150
+ type Properties = Partial<{
151
+ align_content: AlignContentKeyword | PGlobal;
152
+ align_items: AlignItemsValue | PGlobal;
153
+ align_self: AlignSelfValue | PGlobal;
154
+ alignment_baseline: AlignmentBaselineValue | PGlobal;
155
+ all: PGlobal;
156
+ anchor_name: string | string[][];
157
+ animation: AnimationValue | PAnimationGlobal;
158
+ animation_composition: AnimationCompositionValue | AnimationCompositionValue[] | PAnimationGlobal;
159
+ animation_delay: string | string[][] | PAnimationGlobal;
160
+ animation_direction: AnimationDirectionValue | AnimationDirectionValue[][] | PAnimationGlobal;
161
+ animation_duration: string | string[][] | PAnimationGlobal;
162
+ animation_fill_mode: AnimationFillModeValue | AnimationFillModeValue[][] | PAnimationGlobal;
163
+ animation_iteration_count: AnimationIterationCountValue | AnimationIterationCountValue[][] | PAnimationGlobal;
164
+ animation_name: string | string[][] | PAnimationGlobal;
165
+ animation_play_state: AnimationPlayStateValue | AnimationPlayStateValue[][] | PAnimationGlobal;
166
+ animation_range: string | string[] | string[][] | PAnimationGlobal;
167
+ animation_range_end: string | string[] | string[][] | PAnimationGlobal;
168
+ animation_range_start: string | string[] | string[][] | PAnimationGlobal;
169
+ animation_timeline: string | string[][] | PAnimationGlobal;
170
+ animation_timing_function: AnimationTimingFunctionValue | AnimationTimingFunctionValue[][] | PAnimationGlobal;
171
+ appearance: "none" | "auto" | PGlobal;
172
+ aspect_ratio: "auto" | string | [string, "/", string];
173
+ backdrop_filter: string | string[] | PGlobal;
174
+ backface_visibility: "visible" | "hidden" | PGlobal;
175
+ background: string | string[] | string[][] | PGlobal;
176
+ background_attachment: "scroll" | "fixed" | "local" | string | string[] | string[][] | PGlobal;
177
+ background_blend_mode: string | string[] | string[][] | PGlobal;
178
+ background_clip: "border-box" | "padding-box" | "content-box" | "text" | string | string[] | string[][] | PGlobal;
179
+ background_color: string | PColorGlobal;
180
+ background_image: string | string[] | string[][] | PGlobal;
181
+ background_origin: "border-box" | "padding-box" | "content-box" | string | string[] | string[][] | PGlobal;
182
+ background_position: BackgroundPositionValue | BackgroundPositionValue[] | BackgroundPositionValue[][] | PGlobal;
183
+ background_repeat: "repeat" | "repeat-x" | "repeat-y" | "no-repeat" | "space" | "round" | string | string[] | string[][] | PGlobal;
184
+ background_size: string | string[] | string[][] | PGlobal;
185
+ block_size: string | "auto" | PGlobal;
186
+ border: BorderValue | BorderValue[] | PGlobal;
187
+ border_block: string | PGlobal;
188
+ border_block_color: string | PGlobal;
189
+ border_block_end: BorderValue | BorderValue[] | PGlobal;
190
+ border_block_end_color: string | PGlobal;
191
+ border_block_end_style: BorderStyleValue | PGlobal;
192
+ border_block_end_width: string | PGlobal;
193
+ border_block_start: string | PGlobal;
194
+ border_block_start_color: string | PGlobal;
195
+ border_block_start_style: BorderStyleValue | PGlobal;
196
+ border_block_start_width: string | PGlobal;
197
+ border_block_style: BorderStyleValue | PGlobal;
198
+ border_block_width: string | PGlobal;
199
+ border_bottom: string | PGlobal;
200
+ border_bottom_color: string | PGlobal;
201
+ border_bottom_left_radius: string | PGlobal;
202
+ border_bottom_right_radius: string | PGlobal;
203
+ border_bottom_style: BorderStyleValue | PGlobal;
204
+ border_bottom_width: string | PGlobal;
205
+ border_collapse: "collapse" | "separate" | PGlobal;
206
+ border_color: string | string[] | PGlobal;
207
+ border_end_end_radius: string | PGlobal;
208
+ border_end_start_radius: string | PGlobal;
209
+ border_image: string | PGlobal;
210
+ border_image_outset: string | string[] | PGlobal;
211
+ border_image_repeat: "stretch" | "repeat" | "round" | "space" | string | string[] | PGlobal;
212
+ border_image_slice: string | string[] | PGlobal;
213
+ border_image_source: string | PGlobal;
214
+ border_image_width: string | string[] | PGlobal;
215
+ border_inline: string | PGlobal;
216
+ border_inline_color: string | PGlobal;
217
+ border_inline_end: string | PGlobal;
218
+ border_inline_end_color: string | PGlobal;
219
+ border_inline_end_style: BorderStyleValue | PGlobal;
220
+ border_inline_end_width: string | PGlobal;
221
+ border_inline_start: BorderValue | BorderValue[] | PGlobal;
222
+ border_inline_start_color: string | PGlobal;
223
+ border_inline_start_style: BorderStyleValue | PGlobal;
224
+ border_inline_start_width: string | PGlobal;
225
+ border_inline_style: BorderStyleValue | PGlobal;
226
+ border_inline_width: string | PGlobal;
227
+ border_left: string | PGlobal;
228
+ border_left_color: string | PGlobal;
229
+ border_left_style: BorderStyleValue | PGlobal;
230
+ border_left_width: string | PGlobal;
231
+ border_radius: string | string[] | PGlobal;
232
+ border_right: string | PGlobal;
233
+ border_right_color: string | PGlobal;
234
+ border_right_style: BorderStyleValue | PGlobal;
235
+ border_right_width: string | PGlobal;
236
+ border_spacing: string | string[] | PGlobal;
237
+ border_start_end_radius: string | PGlobal;
238
+ border_start_start_radius: string | PGlobal;
239
+ border_style: BorderStyleValue | string | string[] | PGlobal;
240
+ border_top: string | PGlobal;
241
+ border_top_color: string | PGlobal;
242
+ border_top_left_radius: string | PGlobal;
243
+ border_top_right_radius: string | PGlobal;
244
+ border_top_style: BorderStyleValue | PGlobal;
245
+ border_top_width: string | PGlobal;
246
+ border_width: string | string[] | PGlobal;
247
+ bottom: string | "auto" | PGlobal;
248
+ box_decoration_break: "slice" | "clone" | PGlobal;
249
+ box_shadow: string | string[] | string[][] | PGlobal;
250
+ box_sizing: "content-box" | "border-box" | PGlobal;
251
+ break_after: "auto" | "avoid" | "always" | "all" | "avoid-page" | "page" | "left" | "right" | "recto" | "verso" | "avoid-column" | "column" | "avoid-region" | "region" | PGlobal;
252
+ break_before: "auto" | "avoid" | "always" | "all" | "avoid-page" | "page" | "left" | "right" | "recto" | "verso" | "avoid-column" | "column" | "avoid-region" | "region" | PGlobal;
253
+ break_inside: "auto" | "avoid" | "avoid-page" | "avoid-column" | "avoid-region" | PGlobal;
254
+ caption_side: "top" | "bottom" | PGlobal;
255
+ caret_color: string | "auto" | PGlobal;
256
+ clear: "none" | "left" | "right" | "both" | "inline-start" | "inline-end" | PGlobal;
257
+ clip: string | "auto" | PGlobal;
258
+ clip_path: string | PGlobal;
259
+ color: string | PColorGlobal;
260
+ color_scheme: string | string[] | PGlobal;
261
+ column_count: string | "auto" | PGlobal;
262
+ column_fill: "auto" | "balance" | "balance-all" | PGlobal;
263
+ column_gap: string | "normal" | PGlobal;
264
+ column_rule: string | PGlobal;
265
+ column_rule_color: string | PGlobal;
266
+ column_rule_style: BorderStyleValue | PGlobal;
267
+ column_rule_width: string | PGlobal;
268
+ column_span: "none" | "all" | PGlobal;
269
+ column_width: string | "auto" | PGlobal;
270
+ columns: string | string[] | PGlobal;
271
+ contain: "none" | "strict" | "content" | "size" | "layout" | "style" | "paint" | string | string[] | PGlobal;
272
+ contain_intrinsic_block_size: string | "none" | PGlobal;
273
+ contain_intrinsic_height: string | "none" | PGlobal;
274
+ contain_intrinsic_inline_size: string | "none" | PGlobal;
275
+ contain_intrinsic_size: string | string[] | "none" | PGlobal;
276
+ contain_intrinsic_width: string | "none" | PGlobal;
277
+ content: string | "normal" | "none" | PGlobal;
278
+ content_visibility: "visible" | "auto" | "hidden" | PGlobal;
279
+ counter_increment: string | string[] | "none" | PGlobal;
280
+ counter_reset: string | string[] | "none" | PGlobal;
281
+ counter_set: string | string[] | "none" | PGlobal;
282
+ cursor: CursorValue | string | string[] | PGlobal;
283
+ direction: "ltr" | "rtl" | PGlobal;
284
+ display: DisplayValue | DisplayMultiValue | PGlobal;
285
+ empty_cells: "show" | "hide" | PGlobal;
286
+ filter: string | string[] | PGlobal;
287
+ flex: string | string[] | "auto" | "none" | PGlobal;
288
+ flex_basis: string | "auto" | "fill" | "max-content" | "min-content" | "fit-content" | PGlobal;
289
+ flex_direction: FlexDirectionValue | PGlobal;
290
+ flex_flow: FlexFlowMultiValue | PGlobal;
291
+ flex_grow: string | PGlobal;
292
+ flex_shrink: string | PGlobal;
293
+ flex_wrap: FlexWrapValue | PGlobal;
294
+ float: "left" | "right" | "none" | "inline-start" | "inline-end" | PGlobal;
295
+ font: FontValue | PFontGlobal;
296
+ font_family: string | string[] | string[][] | PFontGlobal;
297
+ font_feature_settings: string | string[] | "normal" | PFontGlobal;
298
+ font_kerning: "auto" | "normal" | "none" | PFontGlobal;
299
+ font_language_override: string | "normal" | PFontGlobal;
300
+ font_optical_sizing: "auto" | "none" | PFontGlobal;
301
+ font_size: string | PFontGlobal;
302
+ font_size_adjust: string | "none" | PFontGlobal;
303
+ font_stretch: string | PFontGlobal;
304
+ font_style: "normal" | "italic" | "oblique" | string | PFontGlobal;
305
+ font_synthesis: "none" | "weight" | "style" | string | string[] | PFontGlobal;
306
+ font_variant: string | string[] | "normal" | "none" | PFontGlobal;
307
+ font_variant_alternates: string | "normal" | PFontGlobal;
308
+ font_variant_caps: "normal" | "small-caps" | "all-small-caps" | "petite-caps" | "all-petite-caps" | "unicase" | "titling-caps" | PFontGlobal;
309
+ font_variant_east_asian: string | string[] | "normal" | PFontGlobal;
310
+ font_variant_ligatures: string | string[] | "normal" | "none" | PFontGlobal;
311
+ font_variant_numeric: string | string[] | "normal" | PFontGlobal;
312
+ font_variant_position: "normal" | "sub" | "super" | PFontGlobal;
313
+ font_variation_settings: string | string[] | "normal" | PFontGlobal;
314
+ font_weight: FontWeightValue | PFontGlobal;
315
+ gap: string | string[] | PGlobal;
316
+ grid: string | string[] | string[][] | PGlobal;
317
+ grid_area: string | PGlobal;
318
+ grid_auto_columns: string | string[] | PGlobal;
319
+ grid_auto_flow: "row" | "column" | "dense" | string | string[] | PGlobal;
320
+ grid_auto_rows: string | string[] | PGlobal;
321
+ grid_column: string | string[] | "auto" | PGlobal;
322
+ grid_column_end: string | "auto" | PGlobal;
323
+ grid_column_gap: string | PGlobal;
324
+ grid_column_start: string | "auto" | PGlobal;
325
+ grid_gap: string | string[] | PGlobal;
326
+ grid_row: string | string[] | "auto" | PGlobal;
327
+ grid_row_end: string | "auto" | PGlobal;
328
+ grid_row_gap: string | PGlobal;
329
+ grid_row_start: string | "auto" | PGlobal;
330
+ grid_template: GridTemplateValue | PGlobal;
331
+ grid_template_areas: GridTemplateAreasValue | PGlobal;
332
+ grid_template_columns: GridTemplateColumnsValue | PGlobal;
333
+ grid_template_rows: GridTemplateRowsValue | PGlobal;
334
+ hanging_punctuation: "none" | "first" | "last" | "force-end" | "allow-end" | string | string[] | PGlobal;
335
+ height: string | "auto" | "max-content" | "min-content" | "fit-content" | PGlobal;
336
+ hyphens: "none" | "manual" | "auto" | PGlobal;
337
+ image_orientation: string | "none" | "from-image" | PGlobal;
338
+ image_rendering: "auto" | "crisp-edges" | "pixelated" | PGlobal;
339
+ image_resolution: string | PGlobal;
340
+ inline_size: string | "auto" | PGlobal;
341
+ inset: string | string[] | "auto" | PGlobal;
342
+ inset_block: string | string[] | "auto" | PGlobal;
343
+ inset_block_end: string | "auto" | PGlobal;
344
+ inset_block_start: string | "auto" | PGlobal;
345
+ inset_inline: string | string[] | "auto" | PGlobal;
346
+ inset_inline_end: string | "auto" | PGlobal;
347
+ inset_inline_start: string | "auto" | PGlobal;
348
+ isolation: "auto" | "isolate" | PGlobal;
349
+ justify_content: JustifyContentValue | PGlobal;
350
+ justify_items: "start" | "end" | "center" | "stretch" | "self-start" | "self-end" | "flex-start" | "flex-end" | "left" | "right" | string | PGlobal;
351
+ justify_self: "auto" | "start" | "end" | "center" | "stretch" | "self-start" | "self-end" | "flex-start" | "flex-end" | "left" | "right" | PGlobal;
352
+ left: string | "auto" | PGlobal;
353
+ letter_spacing: string | "normal" | PGlobal;
354
+ line_break: "auto" | "loose" | "normal" | "strict" | "anywhere" | PGlobal;
355
+ line_height: string | "normal" | PGlobal;
356
+ list_style: string | string[] | PGlobal;
357
+ list_style_image: string | "none" | PGlobal;
358
+ list_style_position: "inside" | "outside" | PGlobal;
359
+ list_style_type: string | "none" | PGlobal;
360
+ margin: string | string[] | "auto" | PBoxModelGlobal;
361
+ margin_block: string | string[] | "auto" | PBoxModelGlobal;
362
+ margin_block_end: string | "auto" | PBoxModelGlobal;
363
+ margin_block_start: string | "auto" | PBoxModelGlobal;
364
+ margin_bottom: string | "auto" | PBoxModelGlobal;
365
+ margin_inline: string | string[] | "auto" | PBoxModelGlobal;
366
+ margin_inline_end: string | "auto" | PBoxModelGlobal;
367
+ margin_inline_start: string | "auto" | PBoxModelGlobal;
368
+ margin_left: string | "auto" | PBoxModelGlobal;
369
+ margin_right: string | "auto" | PBoxModelGlobal;
370
+ margin_top: string | "auto" | PBoxModelGlobal;
371
+ mask: string | string[] | PGlobal;
372
+ mask_border: string | PGlobal;
373
+ mask_border_mode: "luminance" | "alpha" | PGlobal;
374
+ mask_border_outset: string | string[] | PGlobal;
375
+ mask_border_repeat: string | string[] | PGlobal;
376
+ mask_border_slice: string | string[] | PGlobal;
377
+ mask_border_source: string | "none" | PGlobal;
378
+ mask_border_width: string | string[] | "auto" | PGlobal;
379
+ mask_clip: string | string[] | "content-box" | "padding-box" | "border-box" | "margin-box" | "fill-box" | "stroke-box" | "view-box" | "no-clip" | PGlobal;
380
+ mask_composite: string | string[] | PGlobal;
381
+ mask_image: string | string[] | "none" | PGlobal;
382
+ mask_mode: string | string[] | "alpha" | "luminance" | "match-source" | PGlobal;
383
+ mask_origin: string | string[] | "content-box" | "padding-box" | "border-box" | "margin-box" | "fill-box" | "stroke-box" | "view-box" | PGlobal;
384
+ mask_position: string | string[] | string[][] | PGlobal;
385
+ mask_repeat: string | string[] | PGlobal;
386
+ mask_size: string | string[] | "auto" | "cover" | "contain" | PGlobal;
387
+ mask_type: "luminance" | "alpha" | PGlobal;
388
+ max_block_size: string | "none" | PGlobal;
389
+ max_height: string | "none" | "max-content" | "min-content" | "fit-content" | PGlobal;
390
+ max_inline_size: string | "none" | PGlobal;
391
+ max_width: string | "none" | "max-content" | "min-content" | "fit-content" | PGlobal;
392
+ min_block_size: string | "auto" | PGlobal;
393
+ min_height: string | "auto" | "max-content" | "min-content" | "fit-content" | PGlobal;
394
+ min_inline_size: string | "auto" | PGlobal;
395
+ min_width: string | "auto" | "max-content" | "min-content" | "fit-content" | PGlobal;
396
+ mix_blend_mode: string | PGlobal;
397
+ object_fit: "fill" | "contain" | "cover" | "none" | "scale-down" | PGlobal;
398
+ object_position: string | string[] | PGlobal;
399
+ offset: string | string[] | PGlobal;
400
+ offset_anchor: string | string[] | "auto" | PGlobal;
401
+ offset_distance: string | PGlobal;
402
+ offset_path: string | "none" | PGlobal;
403
+ offset_rotate: string | "auto" | "reverse" | PGlobal;
404
+ opacity: string | PGlobal;
405
+ order: string | PGlobal;
406
+ orphans: string | PGlobal;
407
+ outline: string | string[] | PGlobal;
408
+ outline_color: string | "invert" | PGlobal;
409
+ outline_offset: string | PGlobal;
410
+ outline_style: BorderStyleValue | "auto" | PGlobal;
411
+ outline_width: string | PGlobal;
412
+ overflow: OverflowValue | OverflowMultiValue | PGlobal;
413
+ overflow_anchor: "auto" | "none" | PGlobal;
414
+ overflow_block: OverflowValue | PGlobal;
415
+ overflow_clip_margin: string | "content-box" | PGlobal;
416
+ overflow_inline: OverflowValue | PGlobal;
417
+ overflow_wrap: "normal" | "break-word" | "anywhere" | PGlobal;
418
+ overflow_x: OverflowValue | PGlobal;
419
+ overflow_y: OverflowValue | PGlobal;
420
+ overscroll_behavior: "auto" | "contain" | "none" | string | string[] | PGlobal;
421
+ overscroll_behavior_block: "auto" | "contain" | "none" | PGlobal;
422
+ overscroll_behavior_inline: "auto" | "contain" | "none" | PGlobal;
423
+ overscroll_behavior_x: "auto" | "contain" | "none" | PGlobal;
424
+ overscroll_behavior_y: "auto" | "contain" | "none" | PGlobal;
425
+ padding: string | string[] | PBoxModelGlobal;
426
+ padding_block: string | string[] | PBoxModelGlobal;
427
+ padding_block_end: string | PBoxModelGlobal;
428
+ padding_block_start: string | PBoxModelGlobal;
429
+ padding_bottom: string | PBoxModelGlobal;
430
+ padding_inline: string | string[] | PBoxModelGlobal;
431
+ padding_inline_end: string | PBoxModelGlobal;
432
+ padding_inline_start: string | PBoxModelGlobal;
433
+ padding_left: string | PBoxModelGlobal;
434
+ padding_right: string | PBoxModelGlobal;
435
+ padding_top: string | PBoxModelGlobal;
436
+ page_break_after: "auto" | "always" | "avoid" | "left" | "right" | PGlobal;
437
+ page_break_before: "auto" | "always" | "avoid" | "left" | "right" | PGlobal;
438
+ page_break_inside: "auto" | "avoid" | PGlobal;
439
+ paint_order: "normal" | "fill" | "stroke" | "markers" | string | string[] | PGlobal;
440
+ perspective: string | "none" | PGlobal;
441
+ perspective_origin: string | string[] | PGlobal;
442
+ place_content: string | string[] | PGlobal;
443
+ place_items: string | string[] | PGlobal;
444
+ place_self: string | string[] | PGlobal;
445
+ pointer_events: "auto" | "none" | "visiblePainted" | "visibleFill" | "visibleStroke" | "visible" | "painted" | "fill" | "stroke" | "all" | PGlobal;
446
+ position: PositionValue | PPositionGlobal;
447
+ quotes: string | string[] | "auto" | "none" | PGlobal;
448
+ resize: "none" | "both" | "horizontal" | "vertical" | "block" | "inline" | PGlobal;
449
+ right: string | "auto" | PGlobal;
450
+ rotate: string | "none" | PGlobal;
451
+ row_gap: string | "normal" | PGlobal;
452
+ scale: string | string[] | "none" | PGlobal;
453
+ scroll_behavior: "auto" | "smooth" | PGlobal;
454
+ scroll_margin: string | string[] | PGlobal;
455
+ scroll_margin_block: string | string[] | PGlobal;
456
+ scroll_margin_block_end: string | PGlobal;
457
+ scroll_margin_block_start: string | PGlobal;
458
+ scroll_margin_bottom: string | PGlobal;
459
+ scroll_margin_inline: string | string[] | PGlobal;
460
+ scroll_margin_inline_end: string | PGlobal;
461
+ scroll_margin_inline_start: string | PGlobal;
462
+ scroll_margin_left: string | PGlobal;
463
+ scroll_margin_right: string | PGlobal;
464
+ scroll_margin_top: string | PGlobal;
465
+ scroll_padding: string | string[] | "auto" | PGlobal;
466
+ scroll_padding_block: string | string[] | "auto" | PGlobal;
467
+ scroll_padding_block_end: string | "auto" | PGlobal;
468
+ scroll_padding_block_start: string | "auto" | PGlobal;
469
+ scroll_padding_bottom: string | "auto" | PGlobal;
470
+ scroll_padding_inline: string | string[] | "auto" | PGlobal;
471
+ scroll_padding_inline_end: string | "auto" | PGlobal;
472
+ scroll_padding_inline_start: string | "auto" | PGlobal;
473
+ scroll_padding_left: string | "auto" | PGlobal;
474
+ scroll_padding_right: string | "auto" | PGlobal;
475
+ scroll_padding_top: string | "auto" | PGlobal;
476
+ scroll_snap_align: "none" | "start" | "end" | "center" | string | string[] | PGlobal;
477
+ scroll_snap_stop: "normal" | "always" | PGlobal;
478
+ scroll_snap_type: "none" | "x" | "y" | "block" | "inline" | "both" | string | string[] | PGlobal;
479
+ scrollbar_color: string | string[] | "auto" | PGlobal;
480
+ scrollbar_width: "auto" | "thin" | "none" | PGlobal;
481
+ shape_image_threshold: string | PGlobal;
482
+ shape_margin: string | PGlobal;
483
+ shape_outside: "none" | "margin-box" | "content-box" | "border-box" | "padding-box" | string | PGlobal;
484
+ tab_size: string | PGlobal;
485
+ table_layout: "auto" | "fixed" | PGlobal;
486
+ text_align: TextAlignValue | PGlobal;
487
+ text_align_last: TextAlignValue | "auto" | PGlobal;
488
+ text_combine_upright: "none" | "all" | string | PGlobal;
489
+ text_decoration: TextDecorationMultiValue | PGlobal;
490
+ text_decoration_color: string | PGlobal;
491
+ text_decoration_line: TextDecorationLineValue | string | string[] | PGlobal;
492
+ text_decoration_skip: "none" | "objects" | "spaces" | "ink" | "edges" | "box-decoration" | string | string[] | PGlobal;
493
+ text_decoration_skip_ink: "auto" | "none" | "all" | PGlobal;
494
+ text_decoration_style: "solid" | "double" | "dotted" | "dashed" | "wavy" | PGlobal;
495
+ text_decoration_thickness: string | "auto" | "from-font" | PGlobal;
496
+ text_emphasis: string | string[] | PGlobal;
497
+ text_emphasis_color: string | PGlobal;
498
+ text_emphasis_position: string | string[] | PGlobal;
499
+ text_emphasis_style: "none" | "filled" | "open" | "dot" | "circle" | "double-circle" | "triangle" | "sesame" | string | PGlobal;
500
+ text_indent: string | PGlobal;
501
+ text_justify: "auto" | "inter-character" | "inter-word" | "none" | PGlobal;
502
+ text_orientation: "mixed" | "upright" | "sideways" | PGlobal;
503
+ text_overflow: "clip" | "ellipsis" | string | PGlobal;
504
+ text_rendering: "auto" | "optimizeSpeed" | "optimizeLegibility" | "geometricPrecision" | PGlobal;
505
+ text_shadow: string | string[] | string[][] | "none" | PGlobal;
506
+ text_size_adjust: "none" | "auto" | string | PGlobal;
507
+ text_transform: TextTransformValue | PGlobal;
508
+ text_underline_offset: string | "auto" | PGlobal;
509
+ text_underline_position: "auto" | "from-font" | "under" | "left" | "right" | string | string[] | PGlobal;
510
+ top: string | "auto" | PGlobal;
511
+ touch_action: "auto" | "none" | "pan-x" | "pan-y" | "pan-left" | "pan-right" | "pan-up" | "pan-down" | "pinch-zoom" | "manipulation" | string | string[] | PGlobal;
512
+ transform: TransformValue | PGlobal;
513
+ transform_box: "content-box" | "border-box" | "fill-box" | "stroke-box" | "view-box" | PGlobal;
514
+ transform_origin: string | string[] | string[][] | PGlobal;
515
+ transform_style: "flat" | "preserve-3d" | PGlobal;
516
+ transition: TransitionValue | PTransitionGlobal;
517
+ transition_delay: string | string[] | string[][] | PTransitionGlobal;
518
+ transition_duration: string | string[] | string[][] | PTransitionGlobal;
519
+ transition_property: TransitionPropertyValue | TransitionPropertyValue[] | TransitionPropertyValue[][] | PTransitionGlobal;
520
+ transition_timing_function: TransitionTimingFunctionValue | TransitionTimingFunctionValue[] | TransitionTimingFunctionValue[][] | PTransitionGlobal;
521
+ translate: string | string[] | "none" | PGlobal;
522
+ unicode_bidi: "normal" | "embed" | "isolate" | "bidi-override" | "isolate-override" | "plaintext" | PGlobal;
523
+ user_select: "auto" | "none" | "text" | "contain" | "all" | PGlobal;
524
+ vertical_align: "baseline" | "sub" | "super" | "text-top" | "text-bottom" | "middle" | "top" | "bottom" | string | PGlobal;
525
+ visibility: "visible" | "hidden" | "collapse" | PGlobal;
526
+ white_space: "normal" | "nowrap" | "pre" | "pre-wrap" | "pre-line" | "break-spaces" | PGlobal;
527
+ widows: string | PGlobal;
528
+ width: string | "auto" | "max-content" | "min-content" | "fit-content" | PGlobal;
529
+ will_change: string | string[] | "auto" | PGlobal;
530
+ word_break: "normal" | "break-all" | "keep-all" | "break-word" | PGlobal;
531
+ word_spacing: string | "normal" | PGlobal;
532
+ word_wrap: "normal" | "break-word" | PGlobal;
533
+ writing_mode: "horizontal-tb" | "vertical-rl" | "vertical-lr" | "sideways-rl" | "sideways-lr" | PGlobal;
534
+ z_index: string | "auto" | PGlobal;
535
+ [key: `--${string}`]: string;
536
+ }>;
537
+ //#endregion
538
+ //#region src/registry.d.ts
539
+ type Registry = [string[], Partial<Properties>][];
540
+ declare function initCssRegistry(): void;
541
+ declare function getCssRegistry(): Registry;
542
+ //#endregion
543
+ //#region src/css.d.ts
544
+ type CssOpt = {
545
+ name?: string;
546
+ atrules?: string[];
547
+ selector?: string;
548
+ };
549
+ declare function css(properties: Properties, opt?: CssOpt): string;
550
+ type CssFnT = (properties: Properties, opt?: {
551
+ name?: string;
552
+ selector?: string;
553
+ }) => string;
554
+ declare function genCssFn(mediaAtRule: string, layer?: string): CssFnT;
555
+ //#endregion
556
+ export { type AnyRoute, type CssOpt, type DynamicRoute, type MarkdownConfig, type Params, type Properties, type RenderResult, type ResolvedPage, type StaticRoute, type ToC, createIsland, createMarkdown, css, expandRoutes, genCssFn, getCssRegistry, initCssRegistry, route, urlToFilePath };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{n as e,r as t,t as n}from"./router-CJ9aQRbJ.js";import{createElement as r}from"react";import{renderToString as i}from"react-dom/server";import a from"rehype-prism";import o,{defaultSchema as s}from"rehype-sanitize";import c from"rehype-stringify";import l from"remark-export-toc";import u from"remark-parse";import d from"remark-rehype";import{unified as f}from"unified";import{jsx as p}from"react/jsx-runtime";function m(e){return function({name:t,props:n}){let a=i(r(e[t],n));return r(`div`,{"data-island":t,"data-props":JSON.stringify(n),dangerouslySetInnerHTML:{__html:a}})}}function h(e={}){let t={prefix:`heading`,startLevel:2,...typeof e.toc==`object`?e.toc:{}},n={...s,clobber:(s.clobber??[]).filter(e=>e!==`id`)},r=e.sanitizeSchema?e.sanitizeSchema(n):n,i=f().use(u).use(e.remarkPlugins??[]).use(e.toc?[[l,t]]:[]).use(d).use(e.rehypePlugins??[]).use(o,r).use(e.highlight?[a]:[]).use(c).freeze();function m(e,t){return p(`div`,{className:t,dangerouslySetInnerHTML:{__html:e}})}function h(e,t){let n=i.processSync(e),r=n.data.toc??[];return{body:m(String(n),t?.className),toc:r}}function g({source:e,className:t}){return h(e,{className:t}).body}return{Markdown:g,render:h}}export{m as createIsland,h as createMarkdown,n as expandRoutes,e as route,t as urlToFilePath};
1
+ import{a as e,i as t,l as n,n as r,o as i,s as a,t as o}from"./css-BpSvZXlg.js";import{createElement as s}from"react";import{renderToString as c}from"react-dom/server";import l from"rehype-prism";import u,{defaultSchema as d}from"rehype-sanitize";import f from"rehype-stringify";import p from"remark-export-toc";import m from"remark-parse";import h from"remark-rehype";import{unified as g}from"unified";import{jsx as _}from"react/jsx-runtime";function v(e){return function({name:t,props:n}){let r=c(s(e[t],n));return s(`div`,{"data-island":t,"data-props":JSON.stringify(n),dangerouslySetInnerHTML:{__html:r}})}}function y(e={}){let t={prefix:`heading`,startLevel:2,...typeof e.toc==`object`?e.toc:{}},n={...d,clobber:(d.clobber??[]).filter(e=>e!==`id`)},r=e.sanitizeSchema?e.sanitizeSchema(n):n,i=g().use(m).use(e.remarkPlugins??[]).use(e.toc?[[p,t]]:[]).use(h).use(e.rehypePlugins??[]).use(u,r).use(e.highlight?[l]:[]).use(f).freeze();function a(e,t){return _(`div`,{className:t,dangerouslySetInnerHTML:{__html:e}})}function o(e,t){let n=i.processSync(e),r=n.data.toc??[];return{body:a(String(n),t?.className),toc:r}}function s({source:e,className:t}){return o(e,{className:t}).body}return{Markdown:s,render:o}}export{v as createIsland,y as createMarkdown,o as css,i as expandRoutes,r as genCssFn,t as getCssRegistry,e as initCssRegistry,a as route,n as urlToFilePath};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cirrojs",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "React islands SSG with strict CSP (no unsafe-inline). Vite-based, MPA-first.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1 +0,0 @@
1
- function e(e){return e}function t(e){let t=[];for(let n of e)if(`getStaticPaths`in n)for(let e of n.getStaticPaths())t.push({url:n.path(e),render:()=>n.component({params:e})});else t.push({url:n.path,render:()=>n.component({params:{}})});return t}function n(e){return e===`/`?`index.html`:`${e.replace(/^\/+|\/+$/g,``)}/index.html`}export{e as n,n as r,t};