@clepit/react 0.3.0 → 0.3.1-beta.570

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/dist/index.cjs CHANGED
@@ -1,2 +1,6 @@
1
- "use strict";var h=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var $=Object.getOwnPropertyNames;var x=Object.prototype.hasOwnProperty;var I=(e,n)=>{for(var t in n)h(e,t,{get:n[t],enumerable:!0})},S=(e,n,t,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of $(n))!x.call(e,s)&&s!==t&&h(e,s,{get:()=>n[s],enumerable:!(a=B(n,s))||a.enumerable});return e};var v=e=>S(h({},"__esModule",{value:!0}),e);var A={};I(A,{ClepitContent:()=>w});module.exports=v(A);var C=require("./content-shell.cjs"),l=require("@clepit/core"),o=require("react/jsx-runtime"),D=e=>{let n=2166136261;for(let t=0;t<e.length;t++)n^=e.charCodeAt(t),n=Math.imul(n,16777619);return(n>>>0).toString(36)},E=new Set(["code","openapi","table"]),m=(e,n)=>e.map((t,a)=>{let s=`${n}-${a}`,r=t;return t.type==="collapsible"&&(r={...t,data:{...t.data,children:m(t.data.children??[],s)}}),t.type==="columns"&&(r={...t,data:{...t.data,columns:t.data.columns.map((i,c)=>m(i,`${s}-${c}`))}}),r.id?r:{...r,id:`clepit-anon-${s}`}}),y=e=>E.has(e.type)?!0:e.type==="collapsible"?(e.data.children??[]).some(y):e.type==="columns"?e.data.columns.some(n=>n.some(y)):!1,w=({className:e,context:n,data:t,testId:a,theme:s="auto",themeOverrides:r,transformHtml:i})=>{let c=m(Array.isArray(t?.blocks)?t.blocks:[],"cb"),u=(0,l.renderBlocks)(c,n),T=i?i(u):u,d="",p="";if(r){let f=r.light??{},g=r.dark??{};p=`clepit-ov-${D((0,l.tokensToLightDarkBlock)(f,g,"&"))}`,d=(0,l.tokensToLightDarkBlock)(f,g,`.${p}`)}let k=["clepit-renderer-content",p,e].filter(Boolean).join(" ");return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{href:"clepit-core-stylesheet",precedence:"clepit",children:(0,l.pageStylesheet)()}),d?(0,o.jsx)("style",{href:`clepit-overrides-${p}`,precedence:"clepit",children:d}):null,(0,o.jsx)(C.ContentShell,{blocks:c.filter(y),className:k,html:T,testId:a,theme:s})]})};0&&(module.exports={ClepitContent});
1
+ "use strict";var h=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var S=(e,n)=>{for(var t in n)h(e,t,{get:n[t],enumerable:!0})},w=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of x(n))!I.call(e,s)&&s!==t&&h(e,s,{get:()=>n[s],enumerable:!(r=v(n,s))||r.enumerable});return e};var D=e=>w(h({},"__esModule",{value:!0}),e);var P={};S(P,{ClepitContent:()=>N});module.exports=D(P);var T=require("./content-shell.cjs"),l=require("@clepit/core"),o=require("react/jsx-runtime"),E=e=>{let n=2166136261;for(let t=0;t<e.length;t++)n^=e.charCodeAt(t),n=Math.imul(n,16777619);return(n>>>0).toString(36)},A=new Set(["code","openapi","table"]),m=(e,n)=>e.map((t,r)=>{let s=`${n}-${r}`,i=t;return t.type==="collapsible"&&(i={...t,data:{...t.data,children:m(t.data.children??[],s)}}),t.type==="columns"&&(i={...t,data:{...t.data,columns:t.data.columns.map((a,p)=>m(a,`${s}-${p}`))}}),i.id?i:{...i,id:`clepit-anon-${s}`}}),g=e=>A.has(e.type)?!0:e.type==="collapsible"?(e.data.children??[]).some(g):e.type==="columns"?e.data.columns.some(n=>n.some(g)):!1,$=(e,n)=>{if(!n)return e;let t=[],r=e.replace(/@property\s+[\w-]+\s*\{[^{}]*\}/g,s=>(t.push(s),""));return`${t.join(`
2
+ `)}
3
+ @layer ${n} {
4
+ ${r}
5
+ }`},N=({className:e,context:n,data:t,layer:r,testId:s,theme:i="auto",themeOverrides:a,transformHtml:p})=>{let u=m(Array.isArray(t?.blocks)?t.blocks:[],"cb"),y=(0,l.renderBlocks)(u,n),k=p?p(y):y,d="",c="";if(a){let f=a.light??{},C=a.dark??{};c=`clepit-ov-${E((0,l.tokensToLightDarkBlock)(f,C,"&"))}`,d=(0,l.tokensToLightDarkBlock)(f,C,`.${c}`)}let B=["clepit-renderer-content",c,e].filter(Boolean).join(" ");return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{href:r?`clepit-core-stylesheet-${r}`:"clepit-core-stylesheet",precedence:"clepit",children:$((0,l.pageStylesheet)(),r)}),d?(0,o.jsx)("style",{href:r?`clepit-overrides-${c}-${r}`:`clepit-overrides-${c}`,precedence:"clepit",children:$(d,r)}):null,(0,o.jsx)(T.ContentShell,{blocks:u.filter(g),className:B,html:k,testId:s,theme:i})]})};0&&(module.exports={ClepitContent});
2
6
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.ts CHANGED
@@ -6,6 +6,10 @@ type ClepitContentProps = {
6
6
  className?: string;
7
7
  /** Passed through to `renderBlocks`: `docHref` for doc-card links, `mapsEmbedKey` for map embeds, `activeVariant` for code blocks. */
8
8
  context?: DrawContext;
9
+ /** A cascade layer to hold the stylesheet, for a host whose own layered
10
+ * styles have to win over Clepit's. Without it the stylesheet keeps its
11
+ * own cascade, as every existing host expects. */
12
+ layer?: string;
9
13
  testId?: string;
10
14
  theme?: 'auto' | 'light' | 'dark';
11
15
  themeOverrides?: {
@@ -17,6 +21,6 @@ type ClepitContentProps = {
17
21
  * hydration, and the two results must match. */
18
22
  transformHtml?: (html: string) => string;
19
23
  };
20
- declare const ClepitContent: ({ className, context, data, testId, theme, themeOverrides, transformHtml }: ClepitContentProps) => react.JSX.Element;
24
+ declare const ClepitContent: ({ className, context, data, layer, testId, theme, themeOverrides, transformHtml }: ClepitContentProps) => react.JSX.Element;
21
25
 
22
26
  export { ClepitContent, type ClepitContentProps };
package/dist/index.js CHANGED
@@ -1,2 +1,6 @@
1
- import{ContentShell as T}from"./content-shell.js";import{pageStylesheet as k,renderBlocks as B,tokensToLightDarkBlock as f}from"@clepit/core";import{Fragment as I,jsx as p,jsxs as S}from"react/jsx-runtime";var $=e=>{let n=2166136261;for(let t=0;t<e.length;t++)n^=e.charCodeAt(t),n=Math.imul(n,16777619);return(n>>>0).toString(36)},x=new Set(["code","openapi","table"]),d=(e,n)=>e.map((t,i)=>{let r=`${n}-${i}`,s=t;return t.type==="collapsible"&&(s={...t,data:{...t.data,children:d(t.data.children??[],r)}}),t.type==="columns"&&(s={...t,data:{...t.data,columns:t.data.columns.map((o,l)=>d(o,`${r}-${l}`))}}),s.id?s:{...s,id:`clepit-anon-${r}`}}),h=e=>x.has(e.type)?!0:e.type==="collapsible"?(e.data.children??[]).some(h):e.type==="columns"?e.data.columns.some(n=>n.some(h)):!1,w=({className:e,context:n,data:t,testId:i,theme:r="auto",themeOverrides:s,transformHtml:o})=>{let l=d(Array.isArray(t?.blocks)?t.blocks:[],"cb"),m=B(l,n),g=o?o(m):m,c="",a="";if(s){let y=s.light??{},u=s.dark??{};a=`clepit-ov-${$(f(y,u,"&"))}`,c=f(y,u,`.${a}`)}let C=["clepit-renderer-content",a,e].filter(Boolean).join(" ");return S(I,{children:[p("style",{href:"clepit-core-stylesheet",precedence:"clepit",children:k()}),c?p("style",{href:`clepit-overrides-${a}`,precedence:"clepit",children:c}):null,p(T,{blocks:l.filter(h),className:C,html:g,testId:i,theme:r})]})};export{w as ClepitContent};
1
+ import{ContentShell as k}from"./content-shell.js";import{pageStylesheet as B,renderBlocks as v,tokensToLightDarkBlock as f}from"@clepit/core";import{Fragment as S,jsx as p,jsxs as w}from"react/jsx-runtime";var x=e=>{let n=2166136261;for(let t=0;t<e.length;t++)n^=e.charCodeAt(t),n=Math.imul(n,16777619);return(n>>>0).toString(36)},I=new Set(["code","openapi","table"]),d=(e,n)=>e.map((t,r)=>{let s=`${n}-${r}`,o=t;return t.type==="collapsible"&&(o={...t,data:{...t.data,children:d(t.data.children??[],s)}}),t.type==="columns"&&(o={...t,data:{...t.data,columns:t.data.columns.map((i,a)=>d(i,`${s}-${a}`))}}),o.id?o:{...o,id:`clepit-anon-${s}`}}),h=e=>I.has(e.type)?!0:e.type==="collapsible"?(e.data.children??[]).some(h):e.type==="columns"?e.data.columns.some(n=>n.some(h)):!1,C=(e,n)=>{if(!n)return e;let t=[],r=e.replace(/@property\s+[\w-]+\s*\{[^{}]*\}/g,s=>(t.push(s),""));return`${t.join(`
2
+ `)}
3
+ @layer ${n} {
4
+ ${r}
5
+ }`},N=({className:e,context:n,data:t,layer:r,testId:s,theme:o="auto",themeOverrides:i,transformHtml:a})=>{let m=d(Array.isArray(t?.blocks)?t.blocks:[],"cb"),g=v(m,n),$=a?a(g):g,c="",l="";if(i){let u=i.light??{},y=i.dark??{};l=`clepit-ov-${x(f(u,y,"&"))}`,c=f(u,y,`.${l}`)}let T=["clepit-renderer-content",l,e].filter(Boolean).join(" ");return w(S,{children:[p("style",{href:r?`clepit-core-stylesheet-${r}`:"clepit-core-stylesheet",precedence:"clepit",children:C(B(),r)}),c?p("style",{href:r?`clepit-overrides-${l}-${r}`:`clepit-overrides-${l}`,precedence:"clepit",children:C(c,r)}):null,p(k,{blocks:m.filter(h),className:T,html:$,testId:s,theme:o})]})};export{N as ClepitContent};
2
6
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -3,14 +3,14 @@
3
3
  "description": "React components for the Clepit block-style editor: server-first content rendering and a client-only editor component",
4
4
  "devDependencies": {
5
5
  "@bomdisoft/typescript-config": "0.0.0",
6
- "@clepit/core": "0.6.0",
7
- "@happy-dom/global-registrator": "^20.14.5",
6
+ "@clepit/core": "0.8.0",
7
+ "@happy-dom/global-registrator": "^20.14.6",
8
8
  "@testing-library/react": "^16.3.3",
9
- "@types/bun": "^1.4.2",
10
- "@types/react": "^19.2.18",
11
- "@types/react-dom": "^19.2.4",
12
- "react": "19.2.8",
13
- "react-dom": "19.2.8",
9
+ "@types/bun": "^1.4.4",
10
+ "@types/react": "^19.3.0",
11
+ "@types/react-dom": "^19.3.0",
12
+ "react": "19.3.1",
13
+ "react-dom": "19.3.1",
14
14
  "tsup": "8.5.1",
15
15
  "typescript": "^6.0.3"
16
16
  },
@@ -35,7 +35,7 @@
35
35
  "module": "./dist/index.js",
36
36
  "name": "@clepit/react",
37
37
  "peerDependencies": {
38
- "@clepit/core": "^0.6.0",
38
+ "@clepit/core": "^0.7.0 || ^0.8.0",
39
39
  "react": ">=19"
40
40
  },
41
41
  "publishConfig": {
@@ -54,5 +54,5 @@
54
54
  "sideEffects": false,
55
55
  "type": "module",
56
56
  "types": "./dist/index.d.ts",
57
- "version": "0.3.0"
57
+ "version": "0.3.1-beta.570"
58
58
  }