@monospaced/set-react 0.11.0 → 0.12.0
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/components/figure/figure.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +5 -4
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"figure.d.ts","sourceRoot":"","sources":["../../../src/components/figure/figure.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EACL,KAAK,cAAc,EAEnB,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAKxB,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,SAAS,CAAC,GAAG;IACvE,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,SAAS,CAAC;CACpB,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;AAEhC,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"figure.d.ts","sourceRoot":"","sources":["../../../src/components/figure/figure.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EACL,KAAK,cAAc,EAEnB,QAAQ,EACT,MAAM,gBAAgB,CAAC;AAKxB,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,SAAS,CAAC,GAAG;IACvE,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,SAAS,CAAC;CACpB,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;AAEhC,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAmBtE"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("@monospaced/set-core"),u=require("react"),ne={autocomplete:"autoComplete",class:"className",for:"htmlFor",readonly:"readOnly",spellcheck:"spellCheck",srcset:"srcSet","stroke-linecap":"strokeLinecap","stroke-linejoin":"strokeLinejoin","stroke-width":"strokeWidth",tabindex:"tabIndex"},re=new Set(["input","textarea","select"]);function ie(e){const t={};for(const[n,r]of Object.entries(e)){if(r==null||r===!1&&(n.startsWith("data-")||n.startsWith("aria-")))continue;const c=ne[n]??n;t[c]=r===!0&&n.startsWith("data-")?"":r}return t}function oe(e){const t=[],n=r=>{if(r.kind==="element"){re.has(r.tag)&&t.push(r);for(const c of r.children)n(c)}};return n(e),t}function se(e){const t={},n={};let r;for(const[s,i]of Object.entries(e))i!==void 0&&(s==="ref"?t[s]=i:s==="autoFocus"?r=i:n[s]=i);const c=r!==void 0?{autoFocus:r,...n}:{...n};return{rootExtras:t,primaryFirstExtras:c,primaryRestExtras:n}}function ce(e,t){if(t.primaries.length===0)return{};const n=t.primaries.indexOf(e);return n===0?t.primaryFirstExtras:n>0?t.primaryRestExtras:{}}function Z(e,t,n){const r={...ie(e.attrs),...t};if(e.tag==="textarea"&&e.children.length>0){const i=e.children.map(o=>o.kind==="text"?o.value:"").join("");return!("value"in r)&&i.length>0&&(r.defaultValue=i),{props:r,children:null}}if(e.children.some(i=>i.kind==="raw"&&!(i.html in n.slots)))return r.dangerouslySetInnerHTML={__html:e.children.map(l.serializeSetNode).join("")},{props:r,children:null};const s=e.children.map((i,o)=>i.kind==="raw"&&i.html in n.slots?u.createElement(u.Fragment,{key:o},n.slots[i.html]):ee(i,o,n));return{props:r,children:s}}function ee(e,t,n){if(e.kind==="text")return e.value in n.slots?u.createElement(u.Fragment,{key:t},n.slots[e.value]):e.value;if(e.kind==="raw")return e.html in n.slots?u.createElement(u.Fragment,{key:t},n.slots[e.html]):u.createElement("span",{key:t,dangerouslySetInnerHTML:{__html:e.html}});const{props:r,children:c}=Z(e,ce(e,n),n);return t!==void 0&&(r.key=t),c===null?u.createElement(e.tag,r):u.createElement(e.tag,r,...c)}function a(e,t={},n={}){if(e.kind!=="element"){const d={slots:n,primaries:[],primaryFirstExtras:{},primaryRestExtras:{}};return u.createElement(u.Fragment,null,ee(e,void 0,d))}const r=oe(e),c=r.length>0?se(t):{rootExtras:t,primaryFirstExtras:{},primaryRestExtras:{}},s={slots:n,primaries:r,primaryFirstExtras:c.primaryFirstExtras,primaryRestExtras:c.primaryRestExtras},{props:i,children:o}=Z(e,c.rootExtras,s);return o===null?u.createElement(e.tag,i):u.createElement(e.tag,i,...o)}function _(e){const t={};for(const[n,r]of Object.entries(e))r!==void 0&&(n==="ref"||n==="autoFocus"||n==="value"||n.startsWith("on"))&&(t[n]=r);return t}function le(e,t){typeof e=="function"?e(t):e&&(e.current=t)}function ae(e){const{onBeforeDismiss:t,onDismiss:n,ref:r,...c}=e;u.useEffect(()=>{l.defineSetAlert()},[]);const s=u.useRef(null);u.useEffect(()=>{const o=s.current;if(!(!o||!t))return o.addEventListener(l.SET_ALERT_EVENT_BEFORE_DISMISS,t),()=>o.removeEventListener(l.SET_ALERT_EVENT_BEFORE_DISMISS,t)},[t]),u.useEffect(()=>{const o=s.current;if(!(!o||!n))return o.addEventListener(l.SET_ALERT_EVENT_DISMISS,n),()=>o.removeEventListener(l.SET_ALERT_EVENT_DISMISS,n)},[n]);const i=u.useCallback(o=>{s.current=o,le(r,o)},[r]);return a(l.buildSetAlert(e),{..._(c),ref:i})}function _e(e){return a(l.buildSetAvatar(e),_(e))}function ue(e){return a(l.buildSetBadge(e),_(e))}function de(e,t){typeof e=="function"?e(t):e&&(e.current=t)}function Ee(e){const{onBeforeDismiss:t,onDismiss:n,ref:r,...c}=e;u.useEffect(()=>{l.defineSetBanner()},[]);const s=u.useRef(null);u.useEffect(()=>{const o=s.current;if(!(!o||!t))return o.addEventListener(l.SET_BANNER_EVENT_BEFORE_DISMISS,t),()=>o.removeEventListener(l.SET_BANNER_EVENT_BEFORE_DISMISS,t)},[t]),u.useEffect(()=>{const o=s.current;if(!(!o||!n))return o.addEventListener(l.SET_BANNER_EVENT_DISMISS,n),()=>o.removeEventListener(l.SET_BANNER_EVENT_DISMISS,n)},[n]);const i=u.useCallback(o=>{s.current=o,de(r,o)},[r]);return a(l.buildSetBanner(e),{..._(c),ref:i})}const C="__SET_SLOT_BLOCKQUOTE_QUOTE__",m="__SET_SLOT_BLOCKQUOTE_ATTRIBUTION__";function Se(e){const{align:t,attribution:n,id:r,measured:c,quote:s,responsive:i,size:o,...d}=e,E=l.buildSetBlockquote({align:t,attribution:m,id:r,measured:c,quote:C,responsive:i,size:o});return a(E,_(d),{[C]:s,[m]:n})}const b="__SET_SLOT_BOX_CHILDREN__";function fe(e){const{background:t,border:n,children:r,id:c,paddingBlock:s,paddingInline:i,radius:o,responsive:d,surface:E,...S}=e,f=r!=null&&r!==!1,T=l.buildSetBox({background:t,border:n,children:f?b:void 0,id:c,paddingBlock:s,paddingInline:i,radius:o,responsive:d,surface:E});return a(T,_(S),{...f?{[b]:r}:{}})}function Te(e){return a(l.buildSetButton(e),_(e))}const D="__SET_SLOT_CARD_DESCRIPTION__",g="__SET_SLOT_CARD_NOTE__";function Le(e){const{description:t,headingLevel:n,href:r,id:c,note:s,surface:i,title:o,...d}=e,E=s!=null&&s!==!1,S=l.buildSetCard({description:D,headingLevel:n,href:r,id:c,note:E?g:void 0,surface:i,title:o});return a(S,_(d),{[D]:t,...E?{[g]:s}:{}})}function Re(e){return a(l.buildSetCheckbox(e),_(e))}const v="__SET_SLOT_CONTAINER_CHILDREN__";function he(e){const{children:t,gutter:n,id:r,maxInlineSize:c,...s}=e,i=t!=null&&t!==!1,o=l.buildSetContainer({children:i?v:void 0,gutter:n,id:r,maxInlineSize:c});return a(o,_(s),{...i?{[v]:t}:{}})}const A="__SET_SLOT_DETAILS_CHILDREN__";function Ie(e){const{children:t,id:n,inlineSize:r,open:c,summary:s,...i}=e,o=t!=null&&t!==!1,d=l.buildSetDetails({children:o?A:void 0,id:n,inlineSize:r,open:c,summary:s});return a(d,_(i),{...o?{[A]:t}:{}})}function Oe(e){return a(l.buildSetDivider(e),_(e))}function Ne(e){return a(l.buildSetExpander(e),_(e))}const H="__SET_SLOT_FIELDSET_CHILDREN__";function Ce(e){const{children:t,description:n,disabled:r,id:c,invalid:s,legend:i,inlineSize:o,...d}=e,E=t!=null&&t!==!1,S=l.buildSetFieldset({children:E?H:void 0,description:n,disabled:r,id:c,invalid:s,legend:i,inlineSize:o});return a(S,_(d),{...E?{[H]:t}:{}})}const B="__SET_SLOT_FIGURE_CHILDREN__",P="__SET_SLOT_FIGURE_CAPTION__";function me(e){const{align:t,caption:n,children:r,id:c,responsive:s,...i}=e,o=l.buildSetFigure({align:t,caption:P,children:B,id:c,responsive:s});return a(o,_(i),{[B]:r,[P]:n})}const p="__SET_SLOT_GRID_CHILDREN__";function be(e){const{children:t,gap:n,id:r,...c}=e,s=t!=null&&t!==!1,i=l.buildSetGrid({children:s?p:void 0,gap:n,id:r});return a(i,_(c),{...s?{[p]:t}:{}})}const k="__SET_SLOT_GRID_ITEM_CHILDREN__";function De(e){const{children:t,align:n,justify:r,colSpan:c,colStart:s,id:i,rowSpan:o,rowSpanNarrow:d,rowSpanWide:E,rowStart:S,rowStartNarrow:f,rowStartWide:T,colSpanNarrow:L,colStartNarrow:R,colSpanWide:I,colStartWide:h,...O}=e,N=t!=null&&t!==!1,te=l.buildSetGridItem({children:N?k:void 0,align:n,justify:r,colSpan:c,colStart:s,id:i,rowSpan:o,rowSpanNarrow:d,rowSpanWide:E,rowStart:S,rowStartNarrow:f,rowStartWide:T,colSpanNarrow:L,colStartNarrow:R,colSpanWide:I,colStartWide:h});return a(te,_(O),{...N?{[k]:t}:{}})}function ge(e){return a(l.buildSetHeading(e),_(e))}function ve(e){return a(l.buildSetIcon(e),_(e))}function Ae(e){return a(l.buildSetImage(e),_(e))}const F="__SET_SLOT_INLINE_CHILDREN__";function He(e){const{as:t,align:n,children:r,gap:c,id:s,justify:i,nowrap:o,...d}=e,E=r!=null&&r!==!1,S=l.buildSetInline({as:t,align:n,children:E?F:void 0,gap:c,id:s,justify:i,nowrap:o});return a(S,_(d),{...E?{[F]:r}:{}})}function Be(e){return a(l.buildSetInput(e),_(e))}function Pe(e,t){typeof e=="function"?e(t):e&&(e.current=t)}function pe(e){const{onChange:t,ref:n,...r}=e;u.useEffect(()=>{l.defineSetLightswitch()},[]);const c=u.useRef(null);u.useEffect(()=>{const i=c.current;if(!(!i||!t))return i.addEventListener(l.SET_LIGHTSWITCH_EVENT_CHANGE,t),()=>i.removeEventListener(l.SET_LIGHTSWITCH_EVENT_CHANGE,t)},[t]);const s=u.useCallback(i=>{c.current=i,Pe(n,i)},[n]);return a(l.buildSetLightswitch(e),{..._(r),ref:s})}const y="__SET_SLOT_LINK_ICON__";function ke(e){const{appearance:t,current:n,download:r,href:c,id:s,icon:i,iconPlacement:o,label:d,labelVisibility:E,rel:S,size:f,target:T,tone:L,underline:R,...I}=e,h=i!=null&&i!==!1,O=l.buildSetLink({appearance:t,current:n,download:r,href:c,id:s,icon:h?y:void 0,iconPlacement:o,label:d,labelVisibility:E,rel:S,size:f,target:T,tone:L,underline:R});return a(O,_(I),{...h?{[y]:i}:{}})}function Fe(e){return a(l.buildSetLogo(e),_(e))}function ye(e,t){typeof e=="function"?e(t):e&&(e.current=t)}function xe(e){const{onChoose:t,ref:n,...r}=e;u.useEffect(()=>{l.defineSetMenu()},[]);const c=u.useRef(null);u.useEffect(()=>{const i=c.current;if(!(!i||!t))return i.addEventListener(l.SET_MENU_EVENT_CHOOSE,t),()=>i.removeEventListener(l.SET_MENU_EVENT_CHOOSE,t)},[t]);const s=u.useCallback(i=>{c.current=i,ye(n,i)},[n]);return a(l.buildSetMenu(e),{..._(r),ref:s})}function Ge(e){return u.useEffect(()=>{l.defineSetNav()},[]),a(l.buildSetNav(e),_(e))}const x="__SET_SLOT_PAGE_BANNER__",G="__SET_SLOT_PAGE_HEADER__",w="__SET_SLOT_PAGE_CHILDREN__",M="__SET_SLOT_PAGE_FOOTER__";function we(e){const{banner:t,children:n,centerMain:r,header:c,headerBorder:s,headerSize:i,id:o,stickyHeader:d,footer:E,...S}=e,f=t!=null&&t!==!1,T=n!=null&&n!==!1,L=l.buildSetPage({banner:f?x:void 0,children:T?w:void 0,centerMain:r,header:G,headerBorder:s,headerSize:i,id:o,stickyHeader:d,footer:M});return a(L,_(S),{...f?{[x]:t}:{},[G]:c,...T?{[w]:n}:{},[M]:E})}const V="__SET_SLOT_PANEL_CHILDREN__";function Me(e){const{children:t,id:n,padding:r,surface:c,...s}=e,i=t!=null&&t!==!1,o=l.buildSetPanel({children:i?V:void 0,id:n,padding:r,surface:c});return a(o,_(s),{...i?{[V]:t}:{}})}const U="__SET_SLOT_PATTERN_CHILDREN__";function Ve(e){const{children:t,id:n,tone:r,size:c,variant:s,...i}=e,o=t!=null&&t!==!1,d=l.buildSetPattern({children:o?U:void 0,id:n,tone:r,size:c,variant:s});return a(d,_(i),{...o?{[U]:t}:{}})}const j="__SET_SLOT_POSTER_MEDIA__",W="__SET_SLOT_POSTER_CHILDREN__";function Ue(e){const{children:t,contentTheme:n,id:r,media:c,surface:s,...i}=e,o=t!=null&&t!==!1,d=l.buildSetPoster({children:o?W:void 0,contentTheme:n,id:r,media:j,surface:s});return a(d,_(i),{[j]:c,...o?{[W]:t}:{}})}const z="__SET_SLOT_PROSE_CHILDREN__";function je(e){const{children:t,align:n,hangingPunctuation:r,id:c,linkVisited:s,measured:i,monospaced:o,responsive:d,...E}=e,S=l.buildSetProse({children:z,align:n,hangingPunctuation:r,id:c,linkVisited:s,measured:i,monospaced:o,responsive:d});return a(S,_(E),{[z]:t})}function We(e){return a(l.buildSetRadios(e),_(e))}function ze(e){return u.useEffect(()=>{l.defineSetRange()},[]),a(l.buildSetRange(e),_(e))}const K="__SET_SLOT_ROOT_CHILDREN__";function Ke(e){const{appOverscrollBehavior:t,appRoot:n,brand:r,children:c,dir:s,id:i,lang:o,theme:d,...E}=e,S=l.buildSetRoot({appOverscrollBehavior:t,appRoot:n,brand:r,children:K,dir:s,id:i,lang:o,theme:d});return a(S,_(E),{[K]:c})}const q="__SET_SLOT_SIDEBAR_HEADER__",Q="__SET_SLOT_SIDEBAR_CHILDREN__",X="__SET_SLOT_SIDEBAR_FOOTER__";function qe(e){const{aboveNotebook:t,buttonSize:n,children:r,collapseLabel:c,footer:s,header:i,id:o,surface:d,triggerLabel:E,...S}=e,f=i!=null&&i!==!1,T=r!=null&&r!==!1,L=s!=null&&s!==!1,R=l.buildSetSidebar({aboveNotebook:t,buttonSize:n,children:T?Q:void 0,collapseLabel:c,footer:L?X:void 0,header:f?q:void 0,id:o,surface:d,triggerLabel:E});return u.useEffect(()=>{l.defineSetSidebar()},[]),a(R,_(S),{...f?{[q]:i}:{},...T?{[Q]:r}:{},...L?{[X]:s}:{}})}function Qe(e){return a(l.buildSetSpinner(e),_(e))}const $="__SET_SLOT_STACK_CHILDREN__";function Xe(e){const{align:t,as:n,children:r,gap:c,id:s,responsive:i,...o}=e,d=r!=null&&r!==!1,E=l.buildSetStack({align:t,as:n,children:d?$:void 0,gap:c,id:s,responsive:i});return a(E,_(o),{...d?{[$]:r}:{}})}const Y="__SET_SLOT_SURFACE_CHILDREN__";function $e(e){const{children:t,contentTheme:n,id:r,variant:c,...s}=e,i=l.buildSetSurface({children:Y,contentTheme:n,id:r,variant:c});return a(i,_(s),{[Y]:t})}function Ye(e){return a(l.buildSetSwitch(e),_(e))}const J="__SET_SLOT_TEXT_CHILDREN__";function Je(e){const{as:t,children:n,id:r,linkVisited:c,responsive:s,align:i,measured:o,monospaced:d,size:E,tone:S,...f}=e,T=l.buildSetText({as:t,children:J,id:r,linkVisited:c,responsive:s,align:i,measured:o,monospaced:d,size:E,tone:S});return a(T,_(f),{[J]:n})}function Ze(e){return a(l.buildSetTextarea(e),_(e))}function et(e){return u.useEffect(()=>{l.defineSetVideo()},[]),a(l.buildSetVideo(e),_(e))}Object.defineProperty(exports,"defineSetAll",{enumerable:!0,get:()=>l.defineSetComponents});exports.Alert=ae;exports.Avatar=_e;exports.Badge=ue;exports.Banner=Ee;exports.Blockquote=Se;exports.Box=fe;exports.Button=Te;exports.Card=Le;exports.Checkbox=Re;exports.Container=he;exports.Details=Ie;exports.Divider=Oe;exports.Expander=Ne;exports.Fieldset=Ce;exports.Figure=me;exports.Grid=be;exports.GridItem=De;exports.Heading=ge;exports.Icon=ve;exports.Image=Ae;exports.Inline=He;exports.Input=Be;exports.Lightswitch=pe;exports.Link=ke;exports.Logo=Fe;exports.Menu=xe;exports.Nav=Ge;exports.Page=we;exports.Panel=Me;exports.Pattern=Ve;exports.Poster=Ue;exports.Prose=je;exports.Radios=We;exports.Range=ze;exports.Root=Ke;exports.Sidebar=qe;exports.Spinner=Qe;exports.Stack=Xe;exports.Surface=$e;exports.Switch=Ye;exports.Text=Je;exports.Textarea=Ze;exports.Video=et;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("@monospaced/set-core"),d=require("react"),ne={autocomplete:"autoComplete",class:"className",for:"htmlFor",readonly:"readOnly",spellcheck:"spellCheck",srcset:"srcSet","stroke-linecap":"strokeLinecap","stroke-linejoin":"strokeLinejoin","stroke-width":"strokeWidth",tabindex:"tabIndex"},re=new Set(["input","textarea","select"]);function ie(e){const t={};for(const[n,r]of Object.entries(e)){if(r==null||r===!1&&(n.startsWith("data-")||n.startsWith("aria-")))continue;const c=ne[n]??n;t[c]=r===!0&&n.startsWith("data-")?"":r}return t}function oe(e){const t=[],n=r=>{if(r.kind==="element"){re.has(r.tag)&&t.push(r);for(const c of r.children)n(c)}};return n(e),t}function se(e){const t={},n={};let r;for(const[s,i]of Object.entries(e))i!==void 0&&(s==="ref"?t[s]=i:s==="autoFocus"?r=i:n[s]=i);const c=r!==void 0?{autoFocus:r,...n}:{...n};return{rootExtras:t,primaryFirstExtras:c,primaryRestExtras:n}}function ce(e,t){if(t.primaries.length===0)return{};const n=t.primaries.indexOf(e);return n===0?t.primaryFirstExtras:n>0?t.primaryRestExtras:{}}function Z(e,t,n){const r={...ie(e.attrs),...t};if(e.tag==="textarea"&&e.children.length>0){const i=e.children.map(o=>o.kind==="text"?o.value:"").join("");return!("value"in r)&&i.length>0&&(r.defaultValue=i),{props:r,children:null}}if(e.children.some(i=>i.kind==="raw"&&!(i.html in n.slots)))return r.dangerouslySetInnerHTML={__html:e.children.map(l.serializeSetNode).join("")},{props:r,children:null};const s=e.children.map((i,o)=>i.kind==="raw"&&i.html in n.slots?d.createElement(d.Fragment,{key:o},n.slots[i.html]):ee(i,o,n));return{props:r,children:s}}function ee(e,t,n){if(e.kind==="text")return e.value in n.slots?d.createElement(d.Fragment,{key:t},n.slots[e.value]):e.value;if(e.kind==="raw")return e.html in n.slots?d.createElement(d.Fragment,{key:t},n.slots[e.html]):d.createElement("span",{key:t,dangerouslySetInnerHTML:{__html:e.html}});const{props:r,children:c}=Z(e,ce(e,n),n);return t!==void 0&&(r.key=t),c===null?d.createElement(e.tag,r):d.createElement(e.tag,r,...c)}function a(e,t={},n={}){if(e.kind!=="element"){const u={slots:n,primaries:[],primaryFirstExtras:{},primaryRestExtras:{}};return d.createElement(d.Fragment,null,ee(e,void 0,u))}const r=oe(e),c=r.length>0?se(t):{rootExtras:t,primaryFirstExtras:{},primaryRestExtras:{}},s={slots:n,primaries:r,primaryFirstExtras:c.primaryFirstExtras,primaryRestExtras:c.primaryRestExtras},{props:i,children:o}=Z(e,c.rootExtras,s);return o===null?d.createElement(e.tag,i):d.createElement(e.tag,i,...o)}function _(e){const t={};for(const[n,r]of Object.entries(e))r!==void 0&&(n==="ref"||n==="autoFocus"||n==="value"||n.startsWith("on"))&&(t[n]=r);return t}function le(e,t){typeof e=="function"?e(t):e&&(e.current=t)}function ae(e){const{onBeforeDismiss:t,onDismiss:n,ref:r,...c}=e;d.useEffect(()=>{l.defineSetAlert()},[]);const s=d.useRef(null);d.useEffect(()=>{const o=s.current;if(!(!o||!t))return o.addEventListener(l.SET_ALERT_EVENT_BEFORE_DISMISS,t),()=>o.removeEventListener(l.SET_ALERT_EVENT_BEFORE_DISMISS,t)},[t]),d.useEffect(()=>{const o=s.current;if(!(!o||!n))return o.addEventListener(l.SET_ALERT_EVENT_DISMISS,n),()=>o.removeEventListener(l.SET_ALERT_EVENT_DISMISS,n)},[n]);const i=d.useCallback(o=>{s.current=o,le(r,o)},[r]);return a(l.buildSetAlert(e),{..._(c),ref:i})}function _e(e){return a(l.buildSetAvatar(e),_(e))}function ue(e){return a(l.buildSetBadge(e),_(e))}function de(e,t){typeof e=="function"?e(t):e&&(e.current=t)}function Ee(e){const{onBeforeDismiss:t,onDismiss:n,ref:r,...c}=e;d.useEffect(()=>{l.defineSetBanner()},[]);const s=d.useRef(null);d.useEffect(()=>{const o=s.current;if(!(!o||!t))return o.addEventListener(l.SET_BANNER_EVENT_BEFORE_DISMISS,t),()=>o.removeEventListener(l.SET_BANNER_EVENT_BEFORE_DISMISS,t)},[t]),d.useEffect(()=>{const o=s.current;if(!(!o||!n))return o.addEventListener(l.SET_BANNER_EVENT_DISMISS,n),()=>o.removeEventListener(l.SET_BANNER_EVENT_DISMISS,n)},[n]);const i=d.useCallback(o=>{s.current=o,de(r,o)},[r]);return a(l.buildSetBanner(e),{..._(c),ref:i})}const C="__SET_SLOT_BLOCKQUOTE_QUOTE__",m="__SET_SLOT_BLOCKQUOTE_ATTRIBUTION__";function Se(e){const{align:t,attribution:n,id:r,measured:c,quote:s,responsive:i,size:o,...u}=e,E=l.buildSetBlockquote({align:t,attribution:m,id:r,measured:c,quote:C,responsive:i,size:o});return a(E,_(u),{[C]:s,[m]:n})}const b="__SET_SLOT_BOX_CHILDREN__";function fe(e){const{background:t,border:n,children:r,id:c,paddingBlock:s,paddingInline:i,radius:o,responsive:u,surface:E,...S}=e,f=r!=null&&r!==!1,T=l.buildSetBox({background:t,border:n,children:f?b:void 0,id:c,paddingBlock:s,paddingInline:i,radius:o,responsive:u,surface:E});return a(T,_(S),{...f?{[b]:r}:{}})}function Te(e){return a(l.buildSetButton(e),_(e))}const D="__SET_SLOT_CARD_DESCRIPTION__",g="__SET_SLOT_CARD_NOTE__";function Le(e){const{description:t,headingLevel:n,href:r,id:c,note:s,surface:i,title:o,...u}=e,E=s!=null&&s!==!1,S=l.buildSetCard({description:D,headingLevel:n,href:r,id:c,note:E?g:void 0,surface:i,title:o});return a(S,_(u),{[D]:t,...E?{[g]:s}:{}})}function Re(e){return a(l.buildSetCheckbox(e),_(e))}const v="__SET_SLOT_CONTAINER_CHILDREN__";function he(e){const{children:t,gutter:n,id:r,maxInlineSize:c,...s}=e,i=t!=null&&t!==!1,o=l.buildSetContainer({children:i?v:void 0,gutter:n,id:r,maxInlineSize:c});return a(o,_(s),{...i?{[v]:t}:{}})}const A="__SET_SLOT_DETAILS_CHILDREN__";function Ie(e){const{children:t,id:n,inlineSize:r,open:c,summary:s,...i}=e,o=t!=null&&t!==!1,u=l.buildSetDetails({children:o?A:void 0,id:n,inlineSize:r,open:c,summary:s});return a(u,_(i),{...o?{[A]:t}:{}})}function Oe(e){return a(l.buildSetDivider(e),_(e))}function Ne(e){return a(l.buildSetExpander(e),_(e))}const H="__SET_SLOT_FIELDSET_CHILDREN__";function Ce(e){const{children:t,description:n,disabled:r,id:c,invalid:s,legend:i,inlineSize:o,...u}=e,E=t!=null&&t!==!1,S=l.buildSetFieldset({children:E?H:void 0,description:n,disabled:r,id:c,invalid:s,legend:i,inlineSize:o});return a(S,_(u),{...E?{[H]:t}:{}})}const B="__SET_SLOT_FIGURE_CHILDREN__",P="__SET_SLOT_FIGURE_CAPTION__";function me(e){const{align:t,caption:n,children:r,id:c,inlineSize:s,responsive:i,...o}=e,u=l.buildSetFigure({align:t,caption:P,children:B,id:c,inlineSize:s,responsive:i});return a(u,_(o),{[B]:r,[P]:n})}const p="__SET_SLOT_GRID_CHILDREN__";function be(e){const{children:t,gap:n,id:r,...c}=e,s=t!=null&&t!==!1,i=l.buildSetGrid({children:s?p:void 0,gap:n,id:r});return a(i,_(c),{...s?{[p]:t}:{}})}const k="__SET_SLOT_GRID_ITEM_CHILDREN__";function De(e){const{children:t,align:n,justify:r,colSpan:c,colStart:s,id:i,rowSpan:o,rowSpanNarrow:u,rowSpanWide:E,rowStart:S,rowStartNarrow:f,rowStartWide:T,colSpanNarrow:L,colStartNarrow:R,colSpanWide:I,colStartWide:h,...O}=e,N=t!=null&&t!==!1,te=l.buildSetGridItem({children:N?k:void 0,align:n,justify:r,colSpan:c,colStart:s,id:i,rowSpan:o,rowSpanNarrow:u,rowSpanWide:E,rowStart:S,rowStartNarrow:f,rowStartWide:T,colSpanNarrow:L,colStartNarrow:R,colSpanWide:I,colStartWide:h});return a(te,_(O),{...N?{[k]:t}:{}})}function ge(e){return a(l.buildSetHeading(e),_(e))}function ve(e){return a(l.buildSetIcon(e),_(e))}function Ae(e){return a(l.buildSetImage(e),_(e))}const F="__SET_SLOT_INLINE_CHILDREN__";function He(e){const{as:t,align:n,children:r,gap:c,id:s,justify:i,nowrap:o,...u}=e,E=r!=null&&r!==!1,S=l.buildSetInline({as:t,align:n,children:E?F:void 0,gap:c,id:s,justify:i,nowrap:o});return a(S,_(u),{...E?{[F]:r}:{}})}function Be(e){return a(l.buildSetInput(e),_(e))}function Pe(e,t){typeof e=="function"?e(t):e&&(e.current=t)}function pe(e){const{onChange:t,ref:n,...r}=e;d.useEffect(()=>{l.defineSetLightswitch()},[]);const c=d.useRef(null);d.useEffect(()=>{const i=c.current;if(!(!i||!t))return i.addEventListener(l.SET_LIGHTSWITCH_EVENT_CHANGE,t),()=>i.removeEventListener(l.SET_LIGHTSWITCH_EVENT_CHANGE,t)},[t]);const s=d.useCallback(i=>{c.current=i,Pe(n,i)},[n]);return a(l.buildSetLightswitch(e),{..._(r),ref:s})}const y="__SET_SLOT_LINK_ICON__";function ke(e){const{appearance:t,current:n,download:r,href:c,id:s,icon:i,iconPlacement:o,label:u,labelVisibility:E,rel:S,size:f,target:T,tone:L,underline:R,...I}=e,h=i!=null&&i!==!1,O=l.buildSetLink({appearance:t,current:n,download:r,href:c,id:s,icon:h?y:void 0,iconPlacement:o,label:u,labelVisibility:E,rel:S,size:f,target:T,tone:L,underline:R});return a(O,_(I),{...h?{[y]:i}:{}})}function Fe(e){return a(l.buildSetLogo(e),_(e))}function ye(e,t){typeof e=="function"?e(t):e&&(e.current=t)}function xe(e){const{onChoose:t,ref:n,...r}=e;d.useEffect(()=>{l.defineSetMenu()},[]);const c=d.useRef(null);d.useEffect(()=>{const i=c.current;if(!(!i||!t))return i.addEventListener(l.SET_MENU_EVENT_CHOOSE,t),()=>i.removeEventListener(l.SET_MENU_EVENT_CHOOSE,t)},[t]);const s=d.useCallback(i=>{c.current=i,ye(n,i)},[n]);return a(l.buildSetMenu(e),{..._(r),ref:s})}function Ge(e){return d.useEffect(()=>{l.defineSetNav()},[]),a(l.buildSetNav(e),_(e))}const x="__SET_SLOT_PAGE_BANNER__",G="__SET_SLOT_PAGE_HEADER__",w="__SET_SLOT_PAGE_CHILDREN__",M="__SET_SLOT_PAGE_FOOTER__";function we(e){const{banner:t,children:n,centerMain:r,header:c,headerBorder:s,headerSize:i,id:o,stickyHeader:u,footer:E,...S}=e,f=t!=null&&t!==!1,T=n!=null&&n!==!1,L=l.buildSetPage({banner:f?x:void 0,children:T?w:void 0,centerMain:r,header:G,headerBorder:s,headerSize:i,id:o,stickyHeader:u,footer:M});return a(L,_(S),{...f?{[x]:t}:{},[G]:c,...T?{[w]:n}:{},[M]:E})}const V="__SET_SLOT_PANEL_CHILDREN__";function Me(e){const{children:t,id:n,padding:r,surface:c,...s}=e,i=t!=null&&t!==!1,o=l.buildSetPanel({children:i?V:void 0,id:n,padding:r,surface:c});return a(o,_(s),{...i?{[V]:t}:{}})}const U="__SET_SLOT_PATTERN_CHILDREN__";function Ve(e){const{children:t,id:n,tone:r,size:c,variant:s,...i}=e,o=t!=null&&t!==!1,u=l.buildSetPattern({children:o?U:void 0,id:n,tone:r,size:c,variant:s});return a(u,_(i),{...o?{[U]:t}:{}})}const j="__SET_SLOT_POSTER_MEDIA__",z="__SET_SLOT_POSTER_CHILDREN__";function Ue(e){const{children:t,contentTheme:n,id:r,media:c,surface:s,...i}=e,o=t!=null&&t!==!1,u=l.buildSetPoster({children:o?z:void 0,contentTheme:n,id:r,media:j,surface:s});return a(u,_(i),{[j]:c,...o?{[z]:t}:{}})}const W="__SET_SLOT_PROSE_CHILDREN__";function je(e){const{children:t,align:n,hangingPunctuation:r,id:c,linkVisited:s,measured:i,monospaced:o,responsive:u,...E}=e,S=l.buildSetProse({children:W,align:n,hangingPunctuation:r,id:c,linkVisited:s,measured:i,monospaced:o,responsive:u});return a(S,_(E),{[W]:t})}function ze(e){return a(l.buildSetRadios(e),_(e))}function We(e){return d.useEffect(()=>{l.defineSetRange()},[]),a(l.buildSetRange(e),_(e))}const K="__SET_SLOT_ROOT_CHILDREN__";function Ke(e){const{appOverscrollBehavior:t,appRoot:n,brand:r,children:c,dir:s,id:i,lang:o,theme:u,...E}=e,S=l.buildSetRoot({appOverscrollBehavior:t,appRoot:n,brand:r,children:K,dir:s,id:i,lang:o,theme:u});return a(S,_(E),{[K]:c})}const q="__SET_SLOT_SIDEBAR_HEADER__",Q="__SET_SLOT_SIDEBAR_CHILDREN__",X="__SET_SLOT_SIDEBAR_FOOTER__";function qe(e){const{aboveNotebook:t,buttonSize:n,children:r,collapseLabel:c,footer:s,header:i,id:o,surface:u,triggerLabel:E,...S}=e,f=i!=null&&i!==!1,T=r!=null&&r!==!1,L=s!=null&&s!==!1,R=l.buildSetSidebar({aboveNotebook:t,buttonSize:n,children:T?Q:void 0,collapseLabel:c,footer:L?X:void 0,header:f?q:void 0,id:o,surface:u,triggerLabel:E});return d.useEffect(()=>{l.defineSetSidebar()},[]),a(R,_(S),{...f?{[q]:i}:{},...T?{[Q]:r}:{},...L?{[X]:s}:{}})}function Qe(e){return a(l.buildSetSpinner(e),_(e))}const $="__SET_SLOT_STACK_CHILDREN__";function Xe(e){const{align:t,as:n,children:r,gap:c,id:s,responsive:i,...o}=e,u=r!=null&&r!==!1,E=l.buildSetStack({align:t,as:n,children:u?$:void 0,gap:c,id:s,responsive:i});return a(E,_(o),{...u?{[$]:r}:{}})}const Y="__SET_SLOT_SURFACE_CHILDREN__";function $e(e){const{children:t,contentTheme:n,id:r,variant:c,...s}=e,i=l.buildSetSurface({children:Y,contentTheme:n,id:r,variant:c});return a(i,_(s),{[Y]:t})}function Ye(e){return a(l.buildSetSwitch(e),_(e))}const J="__SET_SLOT_TEXT_CHILDREN__";function Je(e){const{as:t,children:n,id:r,linkVisited:c,responsive:s,align:i,measured:o,monospaced:u,size:E,tone:S,...f}=e,T=l.buildSetText({as:t,children:J,id:r,linkVisited:c,responsive:s,align:i,measured:o,monospaced:u,size:E,tone:S});return a(T,_(f),{[J]:n})}function Ze(e){return a(l.buildSetTextarea(e),_(e))}function et(e){return d.useEffect(()=>{l.defineSetVideo()},[]),a(l.buildSetVideo(e),_(e))}Object.defineProperty(exports,"defineSetAll",{enumerable:!0,get:()=>l.defineSetComponents});exports.Alert=ae;exports.Avatar=_e;exports.Badge=ue;exports.Banner=Ee;exports.Blockquote=Se;exports.Box=fe;exports.Button=Te;exports.Card=Le;exports.Checkbox=Re;exports.Container=he;exports.Details=Ie;exports.Divider=Oe;exports.Expander=Ne;exports.Fieldset=Ce;exports.Figure=me;exports.Grid=be;exports.GridItem=De;exports.Heading=ge;exports.Icon=ve;exports.Image=Ae;exports.Inline=He;exports.Input=Be;exports.Lightswitch=pe;exports.Link=ke;exports.Logo=Fe;exports.Menu=xe;exports.Nav=Ge;exports.Page=we;exports.Panel=Me;exports.Pattern=Ve;exports.Poster=Ue;exports.Prose=je;exports.Radios=ze;exports.Range=We;exports.Root=Ke;exports.Sidebar=qe;exports.Spinner=Qe;exports.Stack=Xe;exports.Surface=$e;exports.Switch=Ye;exports.Text=Je;exports.Textarea=Ze;exports.Video=et;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/reactify.tsx","../src/components/alert/alert.tsx","../src/components/avatar/avatar.tsx","../src/components/badge/badge.tsx","../src/components/banner/banner.tsx","../src/components/blockquote/blockquote.tsx","../src/components/box/box.tsx","../src/components/button/button.tsx","../src/components/card/card.tsx","../src/components/checkbox/checkbox.tsx","../src/components/container/container.tsx","../src/components/details/details.tsx","../src/components/divider/divider.tsx","../src/components/expander/expander.tsx","../src/components/fieldset/fieldset.tsx","../src/components/figure/figure.tsx","../src/components/grid/grid.tsx","../src/components/grid-item/grid-item.tsx","../src/components/heading/heading.tsx","../src/components/icon/icon.tsx","../src/components/image/image.tsx","../src/components/inline/inline.tsx","../src/components/input/input.tsx","../src/components/lightswitch/lightswitch.tsx","../src/components/link/link.tsx","../src/components/logo/logo.tsx","../src/components/menu/menu.tsx","../src/components/nav/nav.tsx","../src/components/page/page.tsx","../src/components/panel/panel.tsx","../src/components/pattern/pattern.tsx","../src/components/poster/poster.tsx","../src/components/prose/prose.tsx","../src/components/radios/radios.tsx","../src/components/range/range.tsx","../src/components/root/root.tsx","../src/components/sidebar/sidebar.tsx","../src/components/spinner/spinner.tsx","../src/components/stack/stack.tsx","../src/components/surface/surface.tsx","../src/components/switch/switch.tsx","../src/components/text/text.tsx","../src/components/textarea/textarea.tsx","../src/components/video/video.tsx"],"sourcesContent":["import { serializeSetNode, type SetNode } from \"@monospaced/set-core\";\nimport {\n createElement,\n type DOMAttributes,\n Fragment,\n type ReactNode,\n type Ref,\n} from \"react\";\n\n/**\n * HTML-canonical attribute names React renames. `aria-*` / `data-*` are\n * pass-through. Small, hand-maintained; add entries when SSR-parity tests\n * or React dev warnings surface a miss.\n */\nconst ATTR_NAME_MAP: Readonly<Record<string, string>> = {\n autocomplete: \"autoComplete\",\n class: \"className\",\n for: \"htmlFor\",\n readonly: \"readOnly\",\n spellcheck: \"spellCheck\",\n srcset: \"srcSet\",\n \"stroke-linecap\": \"strokeLinecap\",\n \"stroke-linejoin\": \"strokeLinejoin\",\n \"stroke-width\": \"strokeWidth\",\n tabindex: \"tabIndex\",\n};\n\n// Form-control tags. Caller event handlers route to these descendants\n// rather than the wrapper so React's controlled-input checks fire on the\n// right element.\nconst PRIMARY_CONTROL_TAGS = new Set([\"input\", \"textarea\", \"select\"]);\n\n/**\n * Native attrs a Set React wrapper forwards to the root element:\n * React's `DOMAttributes` surface (event handlers, minus `children` and\n * `dangerouslySetInnerHTML`) plus `ref` and `autoFocus`. Everything else\n * (class, data-*, aria-*, id, href, disabled, …) is owned by core's SPEC.\n * The generic element-specialises event handler types.\n */\nexport type NativeAttrsFor<E extends Element> = Omit<\n DOMAttributes<E>,\n \"children\" | \"dangerouslySetInnerHTML\"\n> & {\n ref?: Ref<E>;\n autoFocus?: boolean;\n};\n\n/**\n * Convert a Set IR attr record into React props. `false` is kept\n * for HTML boolean attrs (so React sees `checked={false}` as controlled,\n * not absent) but dropped for `data-*`/`aria-*` (matches SSR omit). `true`\n * on `data-*` becomes `\"\"` so React renders the bare attribute.\n */\nfunction toReactProps(\n attrs: Record<string, string | boolean | undefined>,\n): Record<string, unknown> {\n const out: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(attrs)) {\n if (value == null) continue;\n if (\n value === false &&\n (key.startsWith(\"data-\") || key.startsWith(\"aria-\"))\n ) {\n continue;\n }\n const reactKey = ATTR_NAME_MAP[key] ?? key;\n out[reactKey] = value === true && key.startsWith(\"data-\") ? \"\" : value;\n }\n return out;\n}\n\nfunction collectPrimaryControls(node: SetNode): SetNode[] {\n const out: SetNode[] = [];\n const visit = (n: SetNode): void => {\n if (n.kind !== \"element\") return;\n if (PRIMARY_CONTROL_TAGS.has(n.tag)) out.push(n);\n for (const child of n.children) visit(child);\n };\n visit(node);\n return out;\n}\n\ntype SplitExtras = {\n rootExtras: Record<string, unknown>;\n primaryFirstExtras: Record<string, unknown>;\n primaryRestExtras: Record<string, unknown>;\n};\n\n// `ref` stays on the wrapper; control extras route to every primary control;\n// `autoFocus` lands on the first primary only.\nfunction splitExtras(extras: Record<string, unknown>): SplitExtras {\n const rootExtras: Record<string, unknown> = {};\n const controlExtras: Record<string, unknown> = {};\n let autoFocus: unknown;\n for (const [key, value] of Object.entries(extras)) {\n if (value === undefined) continue;\n if (key === \"ref\") rootExtras[key] = value;\n else if (key === \"autoFocus\") autoFocus = value;\n else controlExtras[key] = value;\n }\n const primaryFirstExtras =\n autoFocus !== undefined\n ? { autoFocus, ...controlExtras }\n : { ...controlExtras };\n return { rootExtras, primaryFirstExtras, primaryRestExtras: controlExtras };\n}\n\ntype RenderCtx = {\n slots: Record<string, ReactNode>;\n primaries: SetNode[];\n primaryFirstExtras: Record<string, unknown>;\n primaryRestExtras: Record<string, unknown>;\n};\n\nfunction extrasForNode(node: SetNode, ctx: RenderCtx): Record<string, unknown> {\n if (ctx.primaries.length === 0) return {};\n const idx = ctx.primaries.indexOf(node);\n if (idx === 0) return ctx.primaryFirstExtras;\n if (idx > 0) return ctx.primaryRestExtras;\n return {};\n}\n\nfunction buildElementProps(\n node: Extract<SetNode, { kind: \"element\" }>,\n extras: Record<string, unknown>,\n ctx: RenderCtx,\n): { props: Record<string, unknown>; children: ReactNode[] | null } {\n const props: Record<string, unknown> = {\n ...toReactProps(node.attrs),\n ...extras,\n };\n // React's `<textarea>` takes content via `defaultValue` / `value`, not\n // children. Core emits SSR content as a text child; preserve controlled\n // `value` when the wrapper supplied one, otherwise use the child as the\n // uncontrolled initial value.\n if (node.tag === \"textarea\" && node.children.length > 0) {\n const content = node.children\n .map((child) => (child.kind === \"text\" ? child.value : \"\"))\n .join(\"\");\n if (!(\"value\" in props) && content.length > 0) props.defaultValue = content;\n return { props, children: null };\n }\n const hasUnmatchedRaw = node.children.some(\n (child) => child.kind === \"raw\" && !(child.html in ctx.slots),\n );\n if (hasUnmatchedRaw) {\n // React forbids mixing `dangerouslySetInnerHTML` with `children`, so when\n // any child is unmatched raw HTML we serialize every sibling into a\n // single HTML string. Wrappers must avoid placing slot sentinels\n // alongside unrelated raw HTML siblings.\n props.dangerouslySetInnerHTML = {\n __html: node.children.map(serializeSetNode).join(\"\"),\n };\n return { props, children: null };\n }\n const children = node.children.map((child, index) => {\n if (child.kind === \"raw\" && child.html in ctx.slots) {\n return createElement(Fragment, { key: index }, ctx.slots[child.html]);\n }\n return renderNode(child, index, ctx);\n });\n return { props, children };\n}\n\nfunction renderNode(\n node: SetNode,\n key: number | undefined,\n ctx: RenderCtx,\n): ReactNode {\n if (node.kind === \"text\") {\n if (node.value in ctx.slots) {\n return createElement(Fragment, { key }, ctx.slots[node.value]);\n }\n return node.value;\n }\n if (node.kind === \"raw\") {\n if (node.html in ctx.slots) {\n return createElement(Fragment, { key }, ctx.slots[node.html]);\n }\n // Raw nodes should be handled by the parent element. If a raw node\n // appears at the top level, wrap it in a fragment-like span.\n return createElement(\"span\", {\n key,\n dangerouslySetInnerHTML: { __html: node.html },\n });\n }\n const { props, children } = buildElementProps(\n node,\n extrasForNode(node, ctx),\n ctx,\n );\n if (key !== undefined) props.key = key;\n return children === null\n ? createElement(node.tag, props)\n : createElement(node.tag, props, ...children);\n}\n\n/**\n * Render a Set IR tree as React elements. `rootExtras` holds caller\n * passthrough props (event handlers, `ref`, `autoFocus`); these route to\n * the inner form control when the tree contains one (see `splitExtras`),\n * otherwise they land on the root. `slots` substitutes named sentinel\n * children with ReactNodes (e.g. `Page`).\n */\nexport function reactify(\n node: SetNode,\n rootExtras: Record<string, unknown> = {},\n slots: Record<string, ReactNode> = {},\n): ReactNode {\n if (node.kind !== \"element\") {\n const ctx: RenderCtx = {\n slots,\n primaries: [],\n primaryFirstExtras: {},\n primaryRestExtras: {},\n };\n return createElement(Fragment, null, renderNode(node, undefined, ctx));\n }\n const primaries = collectPrimaryControls(node);\n const split: SplitExtras =\n primaries.length > 0\n ? splitExtras(rootExtras)\n : {\n rootExtras,\n primaryFirstExtras: {},\n primaryRestExtras: {},\n };\n const ctx: RenderCtx = {\n slots,\n primaries,\n primaryFirstExtras: split.primaryFirstExtras,\n primaryRestExtras: split.primaryRestExtras,\n };\n const { props, children } = buildElementProps(node, split.rootExtras, ctx);\n return children === null\n ? createElement(node.tag, props)\n : createElement(node.tag, props, ...children);\n}\n\n/**\n * Picks the subset of caller props the adapter forwards through reactify:\n * `ref`, `autoFocus`, controlled `value`, and any `on*` event handler.\n */\nexport function pickNativeExtras(\n source: Record<string, unknown>,\n): Record<string, unknown> {\n const out: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(source)) {\n if (value === undefined) continue;\n if (\n key === \"ref\" ||\n key === \"autoFocus\" ||\n key === \"value\" ||\n key.startsWith(\"on\")\n ) {\n out[key] = value;\n }\n }\n return out;\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetAlert,\n defineSetAlert,\n SET_ALERT_EVENT_BEFORE_DISMISS,\n SET_ALERT_EVENT_DISMISS,\n type SetAlertProps,\n} from \"@monospaced/set-core\";\nimport {\n type Ref,\n type RefCallback,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nfunction assignRef<T>(ref: Ref<T> | undefined, value: T | null): void {\n if (typeof ref === \"function\") ref(value);\n else if (ref) (ref as { current: T | null }).current = value;\n}\n\nexport type AlertBeforeDismissHandler = (event: Event) => void;\n\nexport type AlertDismissHandler = (event: Event) => void;\n\nexport type AlertProps = SetAlertProps &\n NativeAttrsFor<HTMLElement> & {\n onBeforeDismiss?: AlertBeforeDismissHandler;\n onDismiss?: AlertDismissHandler;\n };\n\nexport function Alert(props: AlertProps): ReturnType<typeof reactify> {\n const { onBeforeDismiss, onDismiss, ref: callerRef, ...rest } = props;\n useEffect(() => {\n defineSetAlert();\n }, []);\n const elRef = useRef<HTMLElement | null>(null);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onBeforeDismiss) return;\n el.addEventListener(\n SET_ALERT_EVENT_BEFORE_DISMISS,\n onBeforeDismiss as EventListener,\n );\n return () =>\n el.removeEventListener(\n SET_ALERT_EVENT_BEFORE_DISMISS,\n onBeforeDismiss as EventListener,\n );\n }, [onBeforeDismiss]);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onDismiss) return;\n el.addEventListener(SET_ALERT_EVENT_DISMISS, onDismiss as EventListener);\n return () =>\n el.removeEventListener(\n SET_ALERT_EVENT_DISMISS,\n onDismiss as EventListener,\n );\n }, [onDismiss]);\n const mergedRef = useCallback<RefCallback<HTMLElement>>(\n (node) => {\n elRef.current = node;\n assignRef(callerRef, node);\n },\n [callerRef],\n );\n return reactify(buildSetAlert(props), {\n ...pickNativeExtras(rest as unknown as Record<string, unknown>),\n ref: mergedRef,\n });\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetAvatar, type SetAvatarProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type AvatarProps = SetAvatarProps & NativeAttrsFor<HTMLSpanElement>;\n\nexport function Avatar(props: AvatarProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetAvatar(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetBadge, type SetBadgeProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type BadgeProps = SetBadgeProps & NativeAttrsFor<HTMLSpanElement>;\n\nexport function Badge(props: BadgeProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetBadge(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetBanner,\n defineSetBanner,\n SET_BANNER_EVENT_BEFORE_DISMISS,\n SET_BANNER_EVENT_DISMISS,\n type SetBannerProps,\n} from \"@monospaced/set-core\";\nimport {\n type Ref,\n type RefCallback,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nfunction assignRef<T>(ref: Ref<T> | undefined, value: T | null): void {\n if (typeof ref === \"function\") ref(value);\n else if (ref) (ref as { current: T | null }).current = value;\n}\n\nexport type BannerBeforeDismissHandler = (event: Event) => void;\n\nexport type BannerDismissHandler = (event: Event) => void;\n\nexport type BannerProps = SetBannerProps &\n NativeAttrsFor<HTMLElement> & {\n onBeforeDismiss?: BannerBeforeDismissHandler;\n onDismiss?: BannerDismissHandler;\n };\n\nexport function Banner(props: BannerProps): ReturnType<typeof reactify> {\n const { onBeforeDismiss, onDismiss, ref: callerRef, ...rest } = props;\n useEffect(() => {\n defineSetBanner();\n }, []);\n const elRef = useRef<HTMLElement | null>(null);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onBeforeDismiss) return;\n el.addEventListener(\n SET_BANNER_EVENT_BEFORE_DISMISS,\n onBeforeDismiss as EventListener,\n );\n return () =>\n el.removeEventListener(\n SET_BANNER_EVENT_BEFORE_DISMISS,\n onBeforeDismiss as EventListener,\n );\n }, [onBeforeDismiss]);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onDismiss) return;\n el.addEventListener(SET_BANNER_EVENT_DISMISS, onDismiss as EventListener);\n return () =>\n el.removeEventListener(\n SET_BANNER_EVENT_DISMISS,\n onDismiss as EventListener,\n );\n }, [onDismiss]);\n const mergedRef = useCallback<RefCallback<HTMLElement>>(\n (node) => {\n elRef.current = node;\n assignRef(callerRef, node);\n },\n [callerRef],\n );\n return reactify(buildSetBanner(props), {\n ...pickNativeExtras(rest as unknown as Record<string, unknown>),\n ref: mergedRef,\n });\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetBlockquote,\n type SetBlockquoteProps,\n} from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_BLOCKQUOTE_QUOTE = \"__SET_SLOT_BLOCKQUOTE_QUOTE__\";\nconst SLOT_BLOCKQUOTE_ATTRIBUTION = \"__SET_SLOT_BLOCKQUOTE_ATTRIBUTION__\";\n\nexport type BlockquoteProps = Omit<\n SetBlockquoteProps,\n \"quote\" | \"attribution\"\n> & {\n quote: ReactNode;\n attribution: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Blockquote(\n props: BlockquoteProps,\n): ReturnType<typeof reactify> {\n const { align, attribution, id, measured, quote, responsive, size, ...rest } =\n props;\n const node = buildSetBlockquote({\n align,\n attribution:\n SLOT_BLOCKQUOTE_ATTRIBUTION as unknown as SetBlockquoteProps[\"attribution\"],\n id,\n measured,\n quote: SLOT_BLOCKQUOTE_QUOTE as unknown as SetBlockquoteProps[\"quote\"],\n responsive,\n size,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_BLOCKQUOTE_QUOTE]: quote,\n [SLOT_BLOCKQUOTE_ATTRIBUTION]: attribution,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetBox, type SetBoxProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_BOX_CHILDREN = \"__SET_SLOT_BOX_CHILDREN__\";\n\nexport type BoxProps = Omit<SetBoxProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Box(props: BoxProps): ReturnType<typeof reactify> {\n const {\n background,\n border,\n children,\n id,\n paddingBlock,\n paddingInline,\n radius,\n responsive,\n surface,\n ...rest\n } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetBox({\n background,\n border,\n children: hasChildren\n ? (SLOT_BOX_CHILDREN as unknown as SetBoxProps[\"children\"])\n : undefined,\n id,\n paddingBlock,\n paddingInline,\n radius,\n responsive,\n surface,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_BOX_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetButton, type SetButtonProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type ButtonProps = SetButtonProps & NativeAttrsFor<HTMLButtonElement>;\n\nexport function Button(props: ButtonProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetButton(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetCard, type SetCardProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_CARD_DESCRIPTION = \"__SET_SLOT_CARD_DESCRIPTION__\";\nconst SLOT_CARD_NOTE = \"__SET_SLOT_CARD_NOTE__\";\n\nexport type CardProps = Omit<SetCardProps, \"description\" | \"note\"> & {\n description: ReactNode;\n note?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Card(props: CardProps): ReturnType<typeof reactify> {\n const { description, headingLevel, href, id, note, surface, title, ...rest } =\n props;\n const hasNote = note != null && note !== false;\n const node = buildSetCard({\n description:\n SLOT_CARD_DESCRIPTION as unknown as SetCardProps[\"description\"],\n headingLevel,\n href,\n id,\n note: hasNote\n ? (SLOT_CARD_NOTE as unknown as SetCardProps[\"note\"])\n : undefined,\n surface,\n title,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_CARD_DESCRIPTION]: description,\n ...(hasNote ? { [SLOT_CARD_NOTE]: note } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetCheckbox, type SetCheckboxProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type CheckboxProps = SetCheckboxProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Checkbox(props: CheckboxProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetCheckbox(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetContainer,\n type SetContainerProps,\n} from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_CONTAINER_CHILDREN = \"__SET_SLOT_CONTAINER_CHILDREN__\";\n\nexport type ContainerProps = Omit<SetContainerProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Container(props: ContainerProps): ReturnType<typeof reactify> {\n const { children, gutter, id, maxInlineSize, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetContainer({\n children: hasChildren\n ? (SLOT_CONTAINER_CHILDREN as unknown as SetContainerProps[\"children\"])\n : undefined,\n gutter,\n id,\n maxInlineSize,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_CONTAINER_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetDetails, type SetDetailsProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_DETAILS_CHILDREN = \"__SET_SLOT_DETAILS_CHILDREN__\";\n\nexport type DetailsProps = Omit<SetDetailsProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDetailsElement>;\n\nexport function Details(props: DetailsProps): ReturnType<typeof reactify> {\n const { children, id, inlineSize, open, summary, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetDetails({\n children: hasChildren\n ? (SLOT_DETAILS_CHILDREN as unknown as SetDetailsProps[\"children\"])\n : undefined,\n id,\n inlineSize,\n open,\n summary,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_DETAILS_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetDivider, type SetDividerProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type DividerProps = SetDividerProps & NativeAttrsFor<HTMLElement>;\n\nexport function Divider(props: DividerProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetDivider(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetExpander, type SetExpanderProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type ExpanderProps = SetExpanderProps &\n NativeAttrsFor<HTMLButtonElement>;\n\nexport function Expander(props: ExpanderProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetExpander(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetFieldset, type SetFieldsetProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_FIELDSET_CHILDREN = \"__SET_SLOT_FIELDSET_CHILDREN__\";\n\nexport type FieldsetProps = Omit<SetFieldsetProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLFieldSetElement>;\n\nexport function Fieldset(props: FieldsetProps): ReturnType<typeof reactify> {\n const {\n children,\n description,\n disabled,\n id,\n invalid,\n legend,\n inlineSize,\n ...rest\n } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetFieldset({\n children: hasChildren\n ? (SLOT_FIELDSET_CHILDREN as unknown as SetFieldsetProps[\"children\"])\n : undefined,\n description,\n disabled,\n id,\n invalid,\n legend,\n inlineSize,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_FIELDSET_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetFigure, type SetFigureProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_FIGURE_CHILDREN = \"__SET_SLOT_FIGURE_CHILDREN__\";\nconst SLOT_FIGURE_CAPTION = \"__SET_SLOT_FIGURE_CAPTION__\";\n\nexport type FigureProps = Omit<SetFigureProps, \"children\" | \"caption\"> & {\n children: ReactNode;\n caption: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Figure(props: FigureProps): ReturnType<typeof reactify> {\n const { align, caption, children, id, responsive, ...rest } = props;\n const node = buildSetFigure({\n align,\n caption: SLOT_FIGURE_CAPTION as unknown as SetFigureProps[\"caption\"],\n children: SLOT_FIGURE_CHILDREN as unknown as SetFigureProps[\"children\"],\n id,\n responsive,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_FIGURE_CHILDREN]: children,\n [SLOT_FIGURE_CAPTION]: caption,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetGrid, type SetGridProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_GRID_CHILDREN = \"__SET_SLOT_GRID_CHILDREN__\";\n\nexport type GridProps = Omit<SetGridProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Grid(props: GridProps): ReturnType<typeof reactify> {\n const { children, gap, id, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetGrid({\n children: hasChildren\n ? (SLOT_GRID_CHILDREN as unknown as SetGridProps[\"children\"])\n : undefined,\n gap,\n id,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_GRID_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetGridItem, type SetGridItemProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_GRID_ITEM_CHILDREN = \"__SET_SLOT_GRID_ITEM_CHILDREN__\";\n\nexport type GridItemProps = Omit<SetGridItemProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function GridItem(props: GridItemProps): ReturnType<typeof reactify> {\n const {\n children,\n align,\n justify,\n colSpan,\n colStart,\n id,\n rowSpan,\n rowSpanNarrow,\n rowSpanWide,\n rowStart,\n rowStartNarrow,\n rowStartWide,\n colSpanNarrow,\n colStartNarrow,\n colSpanWide,\n colStartWide,\n ...rest\n } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetGridItem({\n children: hasChildren\n ? (SLOT_GRID_ITEM_CHILDREN as unknown as SetGridItemProps[\"children\"])\n : undefined,\n align,\n justify,\n colSpan,\n colStart,\n id,\n rowSpan,\n rowSpanNarrow,\n rowSpanWide,\n rowStart,\n rowStartNarrow,\n rowStartWide,\n colSpanNarrow,\n colStartNarrow,\n colSpanWide,\n colStartWide,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_GRID_ITEM_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetHeading, type SetHeadingProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type HeadingProps = SetHeadingProps & NativeAttrsFor<HTMLElement>;\n\nexport function Heading(props: HeadingProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetHeading(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetIcon, type SetIconProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type IconProps = SetIconProps & NativeAttrsFor<SVGSVGElement>;\n\nexport function Icon(props: IconProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetIcon(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetImage, type SetImageProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type ImageProps = SetImageProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Image(props: ImageProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetImage(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetInline, type SetInlineProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_INLINE_CHILDREN = \"__SET_SLOT_INLINE_CHILDREN__\";\n\nexport type InlineProps = Omit<SetInlineProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Inline(props: InlineProps): ReturnType<typeof reactify> {\n const { as, align, children, gap, id, justify, nowrap, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetInline({\n as,\n align,\n children: hasChildren\n ? (SLOT_INLINE_CHILDREN as unknown as SetInlineProps[\"children\"])\n : undefined,\n gap,\n id,\n justify,\n nowrap,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_INLINE_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetInput, type SetInputProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type InputProps = SetInputProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Input(props: InputProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetInput(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetLightswitch,\n defineSetLightswitch,\n SET_LIGHTSWITCH_EVENT_CHANGE,\n type SetLightswitchProps,\n} from \"@monospaced/set-core\";\nimport {\n type Ref,\n type RefCallback,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nfunction assignRef<T>(ref: Ref<T> | undefined, value: T | null): void {\n if (typeof ref === \"function\") ref(value);\n else if (ref) (ref as { current: T | null }).current = value;\n}\n\nexport type LightswitchChangeHandler = (event: Event) => void;\n\nexport type LightswitchProps = SetLightswitchProps &\n NativeAttrsFor<HTMLElement> & {\n onChange?: LightswitchChangeHandler;\n };\n\nexport function Lightswitch(\n props: LightswitchProps,\n): ReturnType<typeof reactify> {\n const { onChange, ref: callerRef, ...rest } = props;\n useEffect(() => {\n defineSetLightswitch();\n }, []);\n const elRef = useRef<HTMLElement | null>(null);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onChange) return;\n el.addEventListener(\n SET_LIGHTSWITCH_EVENT_CHANGE,\n onChange as EventListener,\n );\n return () =>\n el.removeEventListener(\n SET_LIGHTSWITCH_EVENT_CHANGE,\n onChange as EventListener,\n );\n }, [onChange]);\n const mergedRef = useCallback<RefCallback<HTMLElement>>(\n (node) => {\n elRef.current = node;\n assignRef(callerRef, node);\n },\n [callerRef],\n );\n return reactify(buildSetLightswitch(props), {\n ...pickNativeExtras(rest as unknown as Record<string, unknown>),\n ref: mergedRef,\n });\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetLink, type SetLinkProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_LINK_ICON = \"__SET_SLOT_LINK_ICON__\";\n\nexport type LinkProps = Omit<SetLinkProps, \"icon\"> & {\n icon?: ReactNode;\n} & NativeAttrsFor<HTMLAnchorElement>;\n\nexport function Link(props: LinkProps): ReturnType<typeof reactify> {\n const {\n appearance,\n current,\n download,\n href,\n id,\n icon,\n iconPlacement,\n label,\n labelVisibility,\n rel,\n size,\n target,\n tone,\n underline,\n ...rest\n } = props;\n const hasIcon = icon != null && icon !== false;\n const node = buildSetLink({\n appearance,\n current,\n download,\n href,\n id,\n icon: hasIcon\n ? (SLOT_LINK_ICON as unknown as SetLinkProps[\"icon\"])\n : undefined,\n iconPlacement,\n label,\n labelVisibility,\n rel,\n size,\n target,\n tone,\n underline,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasIcon ? { [SLOT_LINK_ICON]: icon } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetLogo, type SetLogoProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type LogoProps = SetLogoProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Logo(props: LogoProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetLogo(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetMenu,\n defineSetMenu,\n SET_MENU_EVENT_CHOOSE,\n type SetMenuProps,\n} from \"@monospaced/set-core\";\nimport {\n type Ref,\n type RefCallback,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nfunction assignRef<T>(ref: Ref<T> | undefined, value: T | null): void {\n if (typeof ref === \"function\") ref(value);\n else if (ref) (ref as { current: T | null }).current = value;\n}\n\nexport type MenuChooseDetail = { id?: string; index: number; label: string };\n\nexport type MenuChooseEvent = CustomEvent<MenuChooseDetail>;\n\nexport type MenuChooseHandler = (event: MenuChooseEvent) => void;\n\nexport type MenuProps = SetMenuProps &\n NativeAttrsFor<HTMLElement> & {\n onChoose?: MenuChooseHandler;\n };\n\nexport function Menu(props: MenuProps): ReturnType<typeof reactify> {\n const { onChoose, ref: callerRef, ...rest } = props;\n useEffect(() => {\n defineSetMenu();\n }, []);\n const elRef = useRef<HTMLElement | null>(null);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onChoose) return;\n el.addEventListener(SET_MENU_EVENT_CHOOSE, onChoose as EventListener);\n return () =>\n el.removeEventListener(SET_MENU_EVENT_CHOOSE, onChoose as EventListener);\n }, [onChoose]);\n const mergedRef = useCallback<RefCallback<HTMLElement>>(\n (node) => {\n elRef.current = node;\n assignRef(callerRef, node);\n },\n [callerRef],\n );\n return reactify(buildSetMenu(props), {\n ...pickNativeExtras(rest as unknown as Record<string, unknown>),\n ref: mergedRef,\n });\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetNav,\n defineSetNav,\n type SetNavProps,\n} from \"@monospaced/set-core\";\nimport { useEffect } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type NavProps = SetNavProps & NativeAttrsFor<HTMLElement>;\n\nexport function Nav(props: NavProps): ReturnType<typeof reactify> {\n useEffect(() => {\n defineSetNav();\n }, []);\n return reactify(\n buildSetNav(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetPage, type SetPageProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_PAGE_BANNER = \"__SET_SLOT_PAGE_BANNER__\";\nconst SLOT_PAGE_HEADER = \"__SET_SLOT_PAGE_HEADER__\";\nconst SLOT_PAGE_CHILDREN = \"__SET_SLOT_PAGE_CHILDREN__\";\nconst SLOT_PAGE_FOOTER = \"__SET_SLOT_PAGE_FOOTER__\";\n\nexport type PageProps = Omit<\n SetPageProps,\n \"banner\" | \"header\" | \"children\" | \"footer\"\n> & {\n banner?: ReactNode;\n header: ReactNode;\n children?: ReactNode;\n footer: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Page(props: PageProps): ReturnType<typeof reactify> {\n const {\n banner,\n children,\n centerMain,\n header,\n headerBorder,\n headerSize,\n id,\n stickyHeader,\n footer,\n ...rest\n } = props;\n const hasBanner = banner != null && banner !== false;\n const hasChildren = children != null && children !== false;\n const node = buildSetPage({\n banner: hasBanner\n ? (SLOT_PAGE_BANNER as unknown as SetPageProps[\"banner\"])\n : undefined,\n children: hasChildren\n ? (SLOT_PAGE_CHILDREN as unknown as SetPageProps[\"children\"])\n : undefined,\n centerMain,\n header: SLOT_PAGE_HEADER as unknown as SetPageProps[\"header\"],\n headerBorder,\n headerSize,\n id,\n stickyHeader,\n footer: SLOT_PAGE_FOOTER as unknown as SetPageProps[\"footer\"],\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasBanner ? { [SLOT_PAGE_BANNER]: banner } : {}),\n [SLOT_PAGE_HEADER]: header,\n ...(hasChildren ? { [SLOT_PAGE_CHILDREN]: children } : {}),\n [SLOT_PAGE_FOOTER]: footer,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetPanel, type SetPanelProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_PANEL_CHILDREN = \"__SET_SLOT_PANEL_CHILDREN__\";\n\nexport type PanelProps = Omit<SetPanelProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Panel(props: PanelProps): ReturnType<typeof reactify> {\n const { children, id, padding, surface, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetPanel({\n children: hasChildren\n ? (SLOT_PANEL_CHILDREN as unknown as SetPanelProps[\"children\"])\n : undefined,\n id,\n padding,\n surface,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_PANEL_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetPattern, type SetPatternProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_PATTERN_CHILDREN = \"__SET_SLOT_PATTERN_CHILDREN__\";\n\nexport type PatternProps = Omit<SetPatternProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Pattern(props: PatternProps): ReturnType<typeof reactify> {\n const { children, id, tone, size, variant, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetPattern({\n children: hasChildren\n ? (SLOT_PATTERN_CHILDREN as unknown as SetPatternProps[\"children\"])\n : undefined,\n id,\n tone,\n size,\n variant,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_PATTERN_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetPoster, type SetPosterProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_POSTER_MEDIA = \"__SET_SLOT_POSTER_MEDIA__\";\nconst SLOT_POSTER_CHILDREN = \"__SET_SLOT_POSTER_CHILDREN__\";\n\nexport type PosterProps = Omit<SetPosterProps, \"media\" | \"children\"> & {\n media: ReactNode;\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Poster(props: PosterProps): ReturnType<typeof reactify> {\n const { children, contentTheme, id, media, surface, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetPoster({\n children: hasChildren\n ? (SLOT_POSTER_CHILDREN as unknown as SetPosterProps[\"children\"])\n : undefined,\n contentTheme,\n id,\n media: SLOT_POSTER_MEDIA as unknown as SetPosterProps[\"media\"],\n surface,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_POSTER_MEDIA]: media,\n ...(hasChildren ? { [SLOT_POSTER_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetProse, type SetProseProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_PROSE_CHILDREN = \"__SET_SLOT_PROSE_CHILDREN__\";\n\nexport type ProseProps = Omit<SetProseProps, \"children\"> & {\n children: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Prose(props: ProseProps): ReturnType<typeof reactify> {\n const {\n children,\n align,\n hangingPunctuation,\n id,\n linkVisited,\n measured,\n monospaced,\n responsive,\n ...rest\n } = props;\n const node = buildSetProse({\n children: SLOT_PROSE_CHILDREN as unknown as SetProseProps[\"children\"],\n align,\n hangingPunctuation,\n id,\n linkVisited,\n measured,\n monospaced,\n responsive,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_PROSE_CHILDREN]: children,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetRadios, type SetRadiosProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type RadiosProps = SetRadiosProps & NativeAttrsFor<HTMLFieldSetElement>;\n\nexport function Radios(props: RadiosProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetRadios(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetRange,\n defineSetRange,\n type SetRangeProps,\n} from \"@monospaced/set-core\";\nimport { useEffect } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type RangeProps = SetRangeProps & NativeAttrsFor<HTMLElement>;\n\nexport function Range(props: RangeProps): ReturnType<typeof reactify> {\n useEffect(() => {\n defineSetRange();\n }, []);\n return reactify(\n buildSetRange(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetRoot, type SetRootProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_ROOT_CHILDREN = \"__SET_SLOT_ROOT_CHILDREN__\";\n\nexport type RootProps = Omit<SetRootProps, \"children\"> & {\n children: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Root(props: RootProps): ReturnType<typeof reactify> {\n const {\n appOverscrollBehavior,\n appRoot,\n brand,\n children,\n dir,\n id,\n lang,\n theme,\n ...rest\n } = props;\n const node = buildSetRoot({\n appOverscrollBehavior,\n appRoot,\n brand,\n children: SLOT_ROOT_CHILDREN as unknown as SetRootProps[\"children\"],\n dir,\n id,\n lang,\n theme,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_ROOT_CHILDREN]: children,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetSidebar,\n defineSetSidebar,\n type SetSidebarProps,\n} from \"@monospaced/set-core\";\nimport { type ReactNode, useEffect } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_SIDEBAR_HEADER = \"__SET_SLOT_SIDEBAR_HEADER__\";\nconst SLOT_SIDEBAR_CHILDREN = \"__SET_SLOT_SIDEBAR_CHILDREN__\";\nconst SLOT_SIDEBAR_FOOTER = \"__SET_SLOT_SIDEBAR_FOOTER__\";\n\nexport type SidebarProps = Omit<\n SetSidebarProps,\n \"header\" | \"children\" | \"footer\"\n> & {\n header?: ReactNode;\n children?: ReactNode;\n footer?: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Sidebar(props: SidebarProps): ReturnType<typeof reactify> {\n const {\n aboveNotebook,\n buttonSize,\n children,\n collapseLabel,\n footer,\n header,\n id,\n surface,\n triggerLabel,\n ...rest\n } = props;\n const hasHeader = header != null && header !== false;\n const hasChildren = children != null && children !== false;\n const hasFooter = footer != null && footer !== false;\n const node = buildSetSidebar({\n aboveNotebook,\n buttonSize,\n children: hasChildren\n ? (SLOT_SIDEBAR_CHILDREN as unknown as SetSidebarProps[\"children\"])\n : undefined,\n collapseLabel,\n footer: hasFooter\n ? (SLOT_SIDEBAR_FOOTER as unknown as SetSidebarProps[\"footer\"])\n : undefined,\n header: hasHeader\n ? (SLOT_SIDEBAR_HEADER as unknown as SetSidebarProps[\"header\"])\n : undefined,\n id,\n surface,\n triggerLabel,\n });\n useEffect(() => {\n defineSetSidebar();\n }, []);\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasHeader ? { [SLOT_SIDEBAR_HEADER]: header } : {}),\n ...(hasChildren ? { [SLOT_SIDEBAR_CHILDREN]: children } : {}),\n ...(hasFooter ? { [SLOT_SIDEBAR_FOOTER]: footer } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetSpinner, type SetSpinnerProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type SpinnerProps = SetSpinnerProps & NativeAttrsFor<HTMLSpanElement>;\n\nexport function Spinner(props: SpinnerProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetSpinner(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetStack, type SetStackProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_STACK_CHILDREN = \"__SET_SLOT_STACK_CHILDREN__\";\n\nexport type StackProps = Omit<SetStackProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Stack(props: StackProps): ReturnType<typeof reactify> {\n const { align, as, children, gap, id, responsive, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetStack({\n align,\n as,\n children: hasChildren\n ? (SLOT_STACK_CHILDREN as unknown as SetStackProps[\"children\"])\n : undefined,\n gap,\n id,\n responsive,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_STACK_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetSurface, type SetSurfaceProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_SURFACE_CHILDREN = \"__SET_SLOT_SURFACE_CHILDREN__\";\n\nexport type SurfaceProps = Omit<SetSurfaceProps, \"children\"> & {\n children: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Surface(props: SurfaceProps): ReturnType<typeof reactify> {\n const { children, contentTheme, id, variant, ...rest } = props;\n const node = buildSetSurface({\n children: SLOT_SURFACE_CHILDREN as unknown as SetSurfaceProps[\"children\"],\n contentTheme,\n id,\n variant,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_SURFACE_CHILDREN]: children,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetSwitch, type SetSwitchProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type SwitchProps = SetSwitchProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Switch(props: SwitchProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetSwitch(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetText, type SetTextProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_TEXT_CHILDREN = \"__SET_SLOT_TEXT_CHILDREN__\";\n\nexport type TextProps = Omit<SetTextProps, \"children\"> & {\n children: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Text(props: TextProps): ReturnType<typeof reactify> {\n const {\n as,\n children,\n id,\n linkVisited,\n responsive,\n align,\n measured,\n monospaced,\n size,\n tone,\n ...rest\n } = props;\n const node = buildSetText({\n as,\n children: SLOT_TEXT_CHILDREN as unknown as SetTextProps[\"children\"],\n id,\n linkVisited,\n responsive,\n align,\n measured,\n monospaced,\n size,\n tone,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_TEXT_CHILDREN]: children,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetTextarea, type SetTextareaProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type TextareaProps = SetTextareaProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Textarea(props: TextareaProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetTextarea(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetVideo,\n defineSetVideo,\n type SetVideoProps,\n} from \"@monospaced/set-core\";\nimport { useEffect } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type VideoProps = SetVideoProps & NativeAttrsFor<HTMLElement>;\n\nexport function Video(props: VideoProps): ReturnType<typeof reactify> {\n useEffect(() => {\n defineSetVideo();\n }, []);\n return reactify(\n buildSetVideo(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n"],"names":["ATTR_NAME_MAP","PRIMARY_CONTROL_TAGS","toReactProps","attrs","out","key","value","reactKey","collectPrimaryControls","node","visit","n","child","splitExtras","extras","rootExtras","controlExtras","autoFocus","primaryFirstExtras","extrasForNode","ctx","idx","buildElementProps","props","content","serializeSetNode","children","index","createElement","Fragment","renderNode","reactify","slots","primaries","split","pickNativeExtras","source","assignRef","ref","Alert","onBeforeDismiss","onDismiss","callerRef","rest","useEffect","defineSetAlert","elRef","useRef","el","SET_ALERT_EVENT_BEFORE_DISMISS","SET_ALERT_EVENT_DISMISS","mergedRef","useCallback","buildSetAlert","Avatar","buildSetAvatar","Badge","buildSetBadge","Banner","defineSetBanner","SET_BANNER_EVENT_BEFORE_DISMISS","SET_BANNER_EVENT_DISMISS","buildSetBanner","SLOT_BLOCKQUOTE_QUOTE","SLOT_BLOCKQUOTE_ATTRIBUTION","Blockquote","align","attribution","id","measured","quote","responsive","size","buildSetBlockquote","SLOT_BOX_CHILDREN","Box","background","border","paddingBlock","paddingInline","radius","surface","hasChildren","buildSetBox","Button","buildSetButton","SLOT_CARD_DESCRIPTION","SLOT_CARD_NOTE","Card","description","headingLevel","href","note","title","hasNote","buildSetCard","Checkbox","buildSetCheckbox","SLOT_CONTAINER_CHILDREN","Container","gutter","maxInlineSize","buildSetContainer","SLOT_DETAILS_CHILDREN","Details","inlineSize","open","summary","buildSetDetails","Divider","buildSetDivider","Expander","buildSetExpander","SLOT_FIELDSET_CHILDREN","Fieldset","disabled","invalid","legend","buildSetFieldset","SLOT_FIGURE_CHILDREN","SLOT_FIGURE_CAPTION","Figure","caption","buildSetFigure","SLOT_GRID_CHILDREN","Grid","gap","buildSetGrid","SLOT_GRID_ITEM_CHILDREN","GridItem","justify","colSpan","colStart","rowSpan","rowSpanNarrow","rowSpanWide","rowStart","rowStartNarrow","rowStartWide","colSpanNarrow","colStartNarrow","colSpanWide","colStartWide","buildSetGridItem","Heading","buildSetHeading","Icon","buildSetIcon","Image","buildSetImage","SLOT_INLINE_CHILDREN","Inline","as","nowrap","buildSetInline","Input","buildSetInput","Lightswitch","onChange","defineSetLightswitch","SET_LIGHTSWITCH_EVENT_CHANGE","buildSetLightswitch","SLOT_LINK_ICON","Link","appearance","current","download","icon","iconPlacement","label","labelVisibility","rel","target","tone","underline","hasIcon","buildSetLink","Logo","buildSetLogo","Menu","onChoose","defineSetMenu","SET_MENU_EVENT_CHOOSE","buildSetMenu","Nav","defineSetNav","buildSetNav","SLOT_PAGE_BANNER","SLOT_PAGE_HEADER","SLOT_PAGE_CHILDREN","SLOT_PAGE_FOOTER","Page","banner","centerMain","header","headerBorder","headerSize","stickyHeader","footer","hasBanner","buildSetPage","SLOT_PANEL_CHILDREN","Panel","padding","buildSetPanel","SLOT_PATTERN_CHILDREN","Pattern","variant","buildSetPattern","SLOT_POSTER_MEDIA","SLOT_POSTER_CHILDREN","Poster","contentTheme","media","buildSetPoster","SLOT_PROSE_CHILDREN","Prose","hangingPunctuation","linkVisited","monospaced","buildSetProse","Radios","buildSetRadios","Range","defineSetRange","buildSetRange","SLOT_ROOT_CHILDREN","Root","appOverscrollBehavior","appRoot","brand","dir","lang","theme","buildSetRoot","SLOT_SIDEBAR_HEADER","SLOT_SIDEBAR_CHILDREN","SLOT_SIDEBAR_FOOTER","Sidebar","aboveNotebook","buttonSize","collapseLabel","triggerLabel","hasHeader","hasFooter","buildSetSidebar","defineSetSidebar","Spinner","buildSetSpinner","SLOT_STACK_CHILDREN","Stack","buildSetStack","SLOT_SURFACE_CHILDREN","Surface","buildSetSurface","Switch","buildSetSwitch","SLOT_TEXT_CHILDREN","Text","buildSetText","Textarea","buildSetTextarea","Video","defineSetVideo","buildSetVideo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/reactify.tsx","../src/components/alert/alert.tsx","../src/components/avatar/avatar.tsx","../src/components/badge/badge.tsx","../src/components/banner/banner.tsx","../src/components/blockquote/blockquote.tsx","../src/components/box/box.tsx","../src/components/button/button.tsx","../src/components/card/card.tsx","../src/components/checkbox/checkbox.tsx","../src/components/container/container.tsx","../src/components/details/details.tsx","../src/components/divider/divider.tsx","../src/components/expander/expander.tsx","../src/components/fieldset/fieldset.tsx","../src/components/figure/figure.tsx","../src/components/grid/grid.tsx","../src/components/grid-item/grid-item.tsx","../src/components/heading/heading.tsx","../src/components/icon/icon.tsx","../src/components/image/image.tsx","../src/components/inline/inline.tsx","../src/components/input/input.tsx","../src/components/lightswitch/lightswitch.tsx","../src/components/link/link.tsx","../src/components/logo/logo.tsx","../src/components/menu/menu.tsx","../src/components/nav/nav.tsx","../src/components/page/page.tsx","../src/components/panel/panel.tsx","../src/components/pattern/pattern.tsx","../src/components/poster/poster.tsx","../src/components/prose/prose.tsx","../src/components/radios/radios.tsx","../src/components/range/range.tsx","../src/components/root/root.tsx","../src/components/sidebar/sidebar.tsx","../src/components/spinner/spinner.tsx","../src/components/stack/stack.tsx","../src/components/surface/surface.tsx","../src/components/switch/switch.tsx","../src/components/text/text.tsx","../src/components/textarea/textarea.tsx","../src/components/video/video.tsx"],"sourcesContent":["import { serializeSetNode, type SetNode } from \"@monospaced/set-core\";\nimport {\n createElement,\n type DOMAttributes,\n Fragment,\n type ReactNode,\n type Ref,\n} from \"react\";\n\n/**\n * HTML-canonical attribute names React renames. `aria-*` / `data-*` are\n * pass-through. Small, hand-maintained; add entries when SSR-parity tests\n * or React dev warnings surface a miss.\n */\nconst ATTR_NAME_MAP: Readonly<Record<string, string>> = {\n autocomplete: \"autoComplete\",\n class: \"className\",\n for: \"htmlFor\",\n readonly: \"readOnly\",\n spellcheck: \"spellCheck\",\n srcset: \"srcSet\",\n \"stroke-linecap\": \"strokeLinecap\",\n \"stroke-linejoin\": \"strokeLinejoin\",\n \"stroke-width\": \"strokeWidth\",\n tabindex: \"tabIndex\",\n};\n\n// Form-control tags. Caller event handlers route to these descendants\n// rather than the wrapper so React's controlled-input checks fire on the\n// right element.\nconst PRIMARY_CONTROL_TAGS = new Set([\"input\", \"textarea\", \"select\"]);\n\n/**\n * Native attrs a Set React wrapper forwards to the root element:\n * React's `DOMAttributes` surface (event handlers, minus `children` and\n * `dangerouslySetInnerHTML`) plus `ref` and `autoFocus`. Everything else\n * (class, data-*, aria-*, id, href, disabled, …) is owned by core's SPEC.\n * The generic element-specialises event handler types.\n */\nexport type NativeAttrsFor<E extends Element> = Omit<\n DOMAttributes<E>,\n \"children\" | \"dangerouslySetInnerHTML\"\n> & {\n ref?: Ref<E>;\n autoFocus?: boolean;\n};\n\n/**\n * Convert a Set IR attr record into React props. `false` is kept\n * for HTML boolean attrs (so React sees `checked={false}` as controlled,\n * not absent) but dropped for `data-*`/`aria-*` (matches SSR omit). `true`\n * on `data-*` becomes `\"\"` so React renders the bare attribute.\n */\nfunction toReactProps(\n attrs: Record<string, string | boolean | undefined>,\n): Record<string, unknown> {\n const out: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(attrs)) {\n if (value == null) continue;\n if (\n value === false &&\n (key.startsWith(\"data-\") || key.startsWith(\"aria-\"))\n ) {\n continue;\n }\n const reactKey = ATTR_NAME_MAP[key] ?? key;\n out[reactKey] = value === true && key.startsWith(\"data-\") ? \"\" : value;\n }\n return out;\n}\n\nfunction collectPrimaryControls(node: SetNode): SetNode[] {\n const out: SetNode[] = [];\n const visit = (n: SetNode): void => {\n if (n.kind !== \"element\") return;\n if (PRIMARY_CONTROL_TAGS.has(n.tag)) out.push(n);\n for (const child of n.children) visit(child);\n };\n visit(node);\n return out;\n}\n\ntype SplitExtras = {\n rootExtras: Record<string, unknown>;\n primaryFirstExtras: Record<string, unknown>;\n primaryRestExtras: Record<string, unknown>;\n};\n\n// `ref` stays on the wrapper; control extras route to every primary control;\n// `autoFocus` lands on the first primary only.\nfunction splitExtras(extras: Record<string, unknown>): SplitExtras {\n const rootExtras: Record<string, unknown> = {};\n const controlExtras: Record<string, unknown> = {};\n let autoFocus: unknown;\n for (const [key, value] of Object.entries(extras)) {\n if (value === undefined) continue;\n if (key === \"ref\") rootExtras[key] = value;\n else if (key === \"autoFocus\") autoFocus = value;\n else controlExtras[key] = value;\n }\n const primaryFirstExtras =\n autoFocus !== undefined\n ? { autoFocus, ...controlExtras }\n : { ...controlExtras };\n return { rootExtras, primaryFirstExtras, primaryRestExtras: controlExtras };\n}\n\ntype RenderCtx = {\n slots: Record<string, ReactNode>;\n primaries: SetNode[];\n primaryFirstExtras: Record<string, unknown>;\n primaryRestExtras: Record<string, unknown>;\n};\n\nfunction extrasForNode(node: SetNode, ctx: RenderCtx): Record<string, unknown> {\n if (ctx.primaries.length === 0) return {};\n const idx = ctx.primaries.indexOf(node);\n if (idx === 0) return ctx.primaryFirstExtras;\n if (idx > 0) return ctx.primaryRestExtras;\n return {};\n}\n\nfunction buildElementProps(\n node: Extract<SetNode, { kind: \"element\" }>,\n extras: Record<string, unknown>,\n ctx: RenderCtx,\n): { props: Record<string, unknown>; children: ReactNode[] | null } {\n const props: Record<string, unknown> = {\n ...toReactProps(node.attrs),\n ...extras,\n };\n // React's `<textarea>` takes content via `defaultValue` / `value`, not\n // children. Core emits SSR content as a text child; preserve controlled\n // `value` when the wrapper supplied one, otherwise use the child as the\n // uncontrolled initial value.\n if (node.tag === \"textarea\" && node.children.length > 0) {\n const content = node.children\n .map((child) => (child.kind === \"text\" ? child.value : \"\"))\n .join(\"\");\n if (!(\"value\" in props) && content.length > 0) props.defaultValue = content;\n return { props, children: null };\n }\n const hasUnmatchedRaw = node.children.some(\n (child) => child.kind === \"raw\" && !(child.html in ctx.slots),\n );\n if (hasUnmatchedRaw) {\n // React forbids mixing `dangerouslySetInnerHTML` with `children`, so when\n // any child is unmatched raw HTML we serialize every sibling into a\n // single HTML string. Wrappers must avoid placing slot sentinels\n // alongside unrelated raw HTML siblings.\n props.dangerouslySetInnerHTML = {\n __html: node.children.map(serializeSetNode).join(\"\"),\n };\n return { props, children: null };\n }\n const children = node.children.map((child, index) => {\n if (child.kind === \"raw\" && child.html in ctx.slots) {\n return createElement(Fragment, { key: index }, ctx.slots[child.html]);\n }\n return renderNode(child, index, ctx);\n });\n return { props, children };\n}\n\nfunction renderNode(\n node: SetNode,\n key: number | undefined,\n ctx: RenderCtx,\n): ReactNode {\n if (node.kind === \"text\") {\n if (node.value in ctx.slots) {\n return createElement(Fragment, { key }, ctx.slots[node.value]);\n }\n return node.value;\n }\n if (node.kind === \"raw\") {\n if (node.html in ctx.slots) {\n return createElement(Fragment, { key }, ctx.slots[node.html]);\n }\n // Raw nodes should be handled by the parent element. If a raw node\n // appears at the top level, wrap it in a fragment-like span.\n return createElement(\"span\", {\n key,\n dangerouslySetInnerHTML: { __html: node.html },\n });\n }\n const { props, children } = buildElementProps(\n node,\n extrasForNode(node, ctx),\n ctx,\n );\n if (key !== undefined) props.key = key;\n return children === null\n ? createElement(node.tag, props)\n : createElement(node.tag, props, ...children);\n}\n\n/**\n * Render a Set IR tree as React elements. `rootExtras` holds caller\n * passthrough props (event handlers, `ref`, `autoFocus`); these route to\n * the inner form control when the tree contains one (see `splitExtras`),\n * otherwise they land on the root. `slots` substitutes named sentinel\n * children with ReactNodes (e.g. `Page`).\n */\nexport function reactify(\n node: SetNode,\n rootExtras: Record<string, unknown> = {},\n slots: Record<string, ReactNode> = {},\n): ReactNode {\n if (node.kind !== \"element\") {\n const ctx: RenderCtx = {\n slots,\n primaries: [],\n primaryFirstExtras: {},\n primaryRestExtras: {},\n };\n return createElement(Fragment, null, renderNode(node, undefined, ctx));\n }\n const primaries = collectPrimaryControls(node);\n const split: SplitExtras =\n primaries.length > 0\n ? splitExtras(rootExtras)\n : {\n rootExtras,\n primaryFirstExtras: {},\n primaryRestExtras: {},\n };\n const ctx: RenderCtx = {\n slots,\n primaries,\n primaryFirstExtras: split.primaryFirstExtras,\n primaryRestExtras: split.primaryRestExtras,\n };\n const { props, children } = buildElementProps(node, split.rootExtras, ctx);\n return children === null\n ? createElement(node.tag, props)\n : createElement(node.tag, props, ...children);\n}\n\n/**\n * Picks the subset of caller props the adapter forwards through reactify:\n * `ref`, `autoFocus`, controlled `value`, and any `on*` event handler.\n */\nexport function pickNativeExtras(\n source: Record<string, unknown>,\n): Record<string, unknown> {\n const out: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(source)) {\n if (value === undefined) continue;\n if (\n key === \"ref\" ||\n key === \"autoFocus\" ||\n key === \"value\" ||\n key.startsWith(\"on\")\n ) {\n out[key] = value;\n }\n }\n return out;\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetAlert,\n defineSetAlert,\n SET_ALERT_EVENT_BEFORE_DISMISS,\n SET_ALERT_EVENT_DISMISS,\n type SetAlertProps,\n} from \"@monospaced/set-core\";\nimport {\n type Ref,\n type RefCallback,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nfunction assignRef<T>(ref: Ref<T> | undefined, value: T | null): void {\n if (typeof ref === \"function\") ref(value);\n else if (ref) (ref as { current: T | null }).current = value;\n}\n\nexport type AlertBeforeDismissHandler = (event: Event) => void;\n\nexport type AlertDismissHandler = (event: Event) => void;\n\nexport type AlertProps = SetAlertProps &\n NativeAttrsFor<HTMLElement> & {\n onBeforeDismiss?: AlertBeforeDismissHandler;\n onDismiss?: AlertDismissHandler;\n };\n\nexport function Alert(props: AlertProps): ReturnType<typeof reactify> {\n const { onBeforeDismiss, onDismiss, ref: callerRef, ...rest } = props;\n useEffect(() => {\n defineSetAlert();\n }, []);\n const elRef = useRef<HTMLElement | null>(null);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onBeforeDismiss) return;\n el.addEventListener(\n SET_ALERT_EVENT_BEFORE_DISMISS,\n onBeforeDismiss as EventListener,\n );\n return () =>\n el.removeEventListener(\n SET_ALERT_EVENT_BEFORE_DISMISS,\n onBeforeDismiss as EventListener,\n );\n }, [onBeforeDismiss]);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onDismiss) return;\n el.addEventListener(SET_ALERT_EVENT_DISMISS, onDismiss as EventListener);\n return () =>\n el.removeEventListener(\n SET_ALERT_EVENT_DISMISS,\n onDismiss as EventListener,\n );\n }, [onDismiss]);\n const mergedRef = useCallback<RefCallback<HTMLElement>>(\n (node) => {\n elRef.current = node;\n assignRef(callerRef, node);\n },\n [callerRef],\n );\n return reactify(buildSetAlert(props), {\n ...pickNativeExtras(rest as unknown as Record<string, unknown>),\n ref: mergedRef,\n });\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetAvatar, type SetAvatarProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type AvatarProps = SetAvatarProps & NativeAttrsFor<HTMLSpanElement>;\n\nexport function Avatar(props: AvatarProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetAvatar(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetBadge, type SetBadgeProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type BadgeProps = SetBadgeProps & NativeAttrsFor<HTMLSpanElement>;\n\nexport function Badge(props: BadgeProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetBadge(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetBanner,\n defineSetBanner,\n SET_BANNER_EVENT_BEFORE_DISMISS,\n SET_BANNER_EVENT_DISMISS,\n type SetBannerProps,\n} from \"@monospaced/set-core\";\nimport {\n type Ref,\n type RefCallback,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nfunction assignRef<T>(ref: Ref<T> | undefined, value: T | null): void {\n if (typeof ref === \"function\") ref(value);\n else if (ref) (ref as { current: T | null }).current = value;\n}\n\nexport type BannerBeforeDismissHandler = (event: Event) => void;\n\nexport type BannerDismissHandler = (event: Event) => void;\n\nexport type BannerProps = SetBannerProps &\n NativeAttrsFor<HTMLElement> & {\n onBeforeDismiss?: BannerBeforeDismissHandler;\n onDismiss?: BannerDismissHandler;\n };\n\nexport function Banner(props: BannerProps): ReturnType<typeof reactify> {\n const { onBeforeDismiss, onDismiss, ref: callerRef, ...rest } = props;\n useEffect(() => {\n defineSetBanner();\n }, []);\n const elRef = useRef<HTMLElement | null>(null);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onBeforeDismiss) return;\n el.addEventListener(\n SET_BANNER_EVENT_BEFORE_DISMISS,\n onBeforeDismiss as EventListener,\n );\n return () =>\n el.removeEventListener(\n SET_BANNER_EVENT_BEFORE_DISMISS,\n onBeforeDismiss as EventListener,\n );\n }, [onBeforeDismiss]);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onDismiss) return;\n el.addEventListener(SET_BANNER_EVENT_DISMISS, onDismiss as EventListener);\n return () =>\n el.removeEventListener(\n SET_BANNER_EVENT_DISMISS,\n onDismiss as EventListener,\n );\n }, [onDismiss]);\n const mergedRef = useCallback<RefCallback<HTMLElement>>(\n (node) => {\n elRef.current = node;\n assignRef(callerRef, node);\n },\n [callerRef],\n );\n return reactify(buildSetBanner(props), {\n ...pickNativeExtras(rest as unknown as Record<string, unknown>),\n ref: mergedRef,\n });\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetBlockquote,\n type SetBlockquoteProps,\n} from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_BLOCKQUOTE_QUOTE = \"__SET_SLOT_BLOCKQUOTE_QUOTE__\";\nconst SLOT_BLOCKQUOTE_ATTRIBUTION = \"__SET_SLOT_BLOCKQUOTE_ATTRIBUTION__\";\n\nexport type BlockquoteProps = Omit<\n SetBlockquoteProps,\n \"quote\" | \"attribution\"\n> & {\n quote: ReactNode;\n attribution: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Blockquote(\n props: BlockquoteProps,\n): ReturnType<typeof reactify> {\n const { align, attribution, id, measured, quote, responsive, size, ...rest } =\n props;\n const node = buildSetBlockquote({\n align,\n attribution:\n SLOT_BLOCKQUOTE_ATTRIBUTION as unknown as SetBlockquoteProps[\"attribution\"],\n id,\n measured,\n quote: SLOT_BLOCKQUOTE_QUOTE as unknown as SetBlockquoteProps[\"quote\"],\n responsive,\n size,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_BLOCKQUOTE_QUOTE]: quote,\n [SLOT_BLOCKQUOTE_ATTRIBUTION]: attribution,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetBox, type SetBoxProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_BOX_CHILDREN = \"__SET_SLOT_BOX_CHILDREN__\";\n\nexport type BoxProps = Omit<SetBoxProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Box(props: BoxProps): ReturnType<typeof reactify> {\n const {\n background,\n border,\n children,\n id,\n paddingBlock,\n paddingInline,\n radius,\n responsive,\n surface,\n ...rest\n } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetBox({\n background,\n border,\n children: hasChildren\n ? (SLOT_BOX_CHILDREN as unknown as SetBoxProps[\"children\"])\n : undefined,\n id,\n paddingBlock,\n paddingInline,\n radius,\n responsive,\n surface,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_BOX_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetButton, type SetButtonProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type ButtonProps = SetButtonProps & NativeAttrsFor<HTMLButtonElement>;\n\nexport function Button(props: ButtonProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetButton(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetCard, type SetCardProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_CARD_DESCRIPTION = \"__SET_SLOT_CARD_DESCRIPTION__\";\nconst SLOT_CARD_NOTE = \"__SET_SLOT_CARD_NOTE__\";\n\nexport type CardProps = Omit<SetCardProps, \"description\" | \"note\"> & {\n description: ReactNode;\n note?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Card(props: CardProps): ReturnType<typeof reactify> {\n const { description, headingLevel, href, id, note, surface, title, ...rest } =\n props;\n const hasNote = note != null && note !== false;\n const node = buildSetCard({\n description:\n SLOT_CARD_DESCRIPTION as unknown as SetCardProps[\"description\"],\n headingLevel,\n href,\n id,\n note: hasNote\n ? (SLOT_CARD_NOTE as unknown as SetCardProps[\"note\"])\n : undefined,\n surface,\n title,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_CARD_DESCRIPTION]: description,\n ...(hasNote ? { [SLOT_CARD_NOTE]: note } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetCheckbox, type SetCheckboxProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type CheckboxProps = SetCheckboxProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Checkbox(props: CheckboxProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetCheckbox(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetContainer,\n type SetContainerProps,\n} from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_CONTAINER_CHILDREN = \"__SET_SLOT_CONTAINER_CHILDREN__\";\n\nexport type ContainerProps = Omit<SetContainerProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Container(props: ContainerProps): ReturnType<typeof reactify> {\n const { children, gutter, id, maxInlineSize, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetContainer({\n children: hasChildren\n ? (SLOT_CONTAINER_CHILDREN as unknown as SetContainerProps[\"children\"])\n : undefined,\n gutter,\n id,\n maxInlineSize,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_CONTAINER_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetDetails, type SetDetailsProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_DETAILS_CHILDREN = \"__SET_SLOT_DETAILS_CHILDREN__\";\n\nexport type DetailsProps = Omit<SetDetailsProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDetailsElement>;\n\nexport function Details(props: DetailsProps): ReturnType<typeof reactify> {\n const { children, id, inlineSize, open, summary, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetDetails({\n children: hasChildren\n ? (SLOT_DETAILS_CHILDREN as unknown as SetDetailsProps[\"children\"])\n : undefined,\n id,\n inlineSize,\n open,\n summary,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_DETAILS_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetDivider, type SetDividerProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type DividerProps = SetDividerProps & NativeAttrsFor<HTMLElement>;\n\nexport function Divider(props: DividerProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetDivider(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetExpander, type SetExpanderProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type ExpanderProps = SetExpanderProps &\n NativeAttrsFor<HTMLButtonElement>;\n\nexport function Expander(props: ExpanderProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetExpander(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetFieldset, type SetFieldsetProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_FIELDSET_CHILDREN = \"__SET_SLOT_FIELDSET_CHILDREN__\";\n\nexport type FieldsetProps = Omit<SetFieldsetProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLFieldSetElement>;\n\nexport function Fieldset(props: FieldsetProps): ReturnType<typeof reactify> {\n const {\n children,\n description,\n disabled,\n id,\n invalid,\n legend,\n inlineSize,\n ...rest\n } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetFieldset({\n children: hasChildren\n ? (SLOT_FIELDSET_CHILDREN as unknown as SetFieldsetProps[\"children\"])\n : undefined,\n description,\n disabled,\n id,\n invalid,\n legend,\n inlineSize,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_FIELDSET_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetFigure, type SetFigureProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_FIGURE_CHILDREN = \"__SET_SLOT_FIGURE_CHILDREN__\";\nconst SLOT_FIGURE_CAPTION = \"__SET_SLOT_FIGURE_CAPTION__\";\n\nexport type FigureProps = Omit<SetFigureProps, \"children\" | \"caption\"> & {\n children: ReactNode;\n caption: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Figure(props: FigureProps): ReturnType<typeof reactify> {\n const { align, caption, children, id, inlineSize, responsive, ...rest } =\n props;\n const node = buildSetFigure({\n align,\n caption: SLOT_FIGURE_CAPTION as unknown as SetFigureProps[\"caption\"],\n children: SLOT_FIGURE_CHILDREN as unknown as SetFigureProps[\"children\"],\n id,\n inlineSize,\n responsive,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_FIGURE_CHILDREN]: children,\n [SLOT_FIGURE_CAPTION]: caption,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetGrid, type SetGridProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_GRID_CHILDREN = \"__SET_SLOT_GRID_CHILDREN__\";\n\nexport type GridProps = Omit<SetGridProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Grid(props: GridProps): ReturnType<typeof reactify> {\n const { children, gap, id, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetGrid({\n children: hasChildren\n ? (SLOT_GRID_CHILDREN as unknown as SetGridProps[\"children\"])\n : undefined,\n gap,\n id,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_GRID_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetGridItem, type SetGridItemProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_GRID_ITEM_CHILDREN = \"__SET_SLOT_GRID_ITEM_CHILDREN__\";\n\nexport type GridItemProps = Omit<SetGridItemProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function GridItem(props: GridItemProps): ReturnType<typeof reactify> {\n const {\n children,\n align,\n justify,\n colSpan,\n colStart,\n id,\n rowSpan,\n rowSpanNarrow,\n rowSpanWide,\n rowStart,\n rowStartNarrow,\n rowStartWide,\n colSpanNarrow,\n colStartNarrow,\n colSpanWide,\n colStartWide,\n ...rest\n } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetGridItem({\n children: hasChildren\n ? (SLOT_GRID_ITEM_CHILDREN as unknown as SetGridItemProps[\"children\"])\n : undefined,\n align,\n justify,\n colSpan,\n colStart,\n id,\n rowSpan,\n rowSpanNarrow,\n rowSpanWide,\n rowStart,\n rowStartNarrow,\n rowStartWide,\n colSpanNarrow,\n colStartNarrow,\n colSpanWide,\n colStartWide,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_GRID_ITEM_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetHeading, type SetHeadingProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type HeadingProps = SetHeadingProps & NativeAttrsFor<HTMLElement>;\n\nexport function Heading(props: HeadingProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetHeading(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetIcon, type SetIconProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type IconProps = SetIconProps & NativeAttrsFor<SVGSVGElement>;\n\nexport function Icon(props: IconProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetIcon(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetImage, type SetImageProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type ImageProps = SetImageProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Image(props: ImageProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetImage(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetInline, type SetInlineProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_INLINE_CHILDREN = \"__SET_SLOT_INLINE_CHILDREN__\";\n\nexport type InlineProps = Omit<SetInlineProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Inline(props: InlineProps): ReturnType<typeof reactify> {\n const { as, align, children, gap, id, justify, nowrap, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetInline({\n as,\n align,\n children: hasChildren\n ? (SLOT_INLINE_CHILDREN as unknown as SetInlineProps[\"children\"])\n : undefined,\n gap,\n id,\n justify,\n nowrap,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_INLINE_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetInput, type SetInputProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type InputProps = SetInputProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Input(props: InputProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetInput(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetLightswitch,\n defineSetLightswitch,\n SET_LIGHTSWITCH_EVENT_CHANGE,\n type SetLightswitchProps,\n} from \"@monospaced/set-core\";\nimport {\n type Ref,\n type RefCallback,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nfunction assignRef<T>(ref: Ref<T> | undefined, value: T | null): void {\n if (typeof ref === \"function\") ref(value);\n else if (ref) (ref as { current: T | null }).current = value;\n}\n\nexport type LightswitchChangeHandler = (event: Event) => void;\n\nexport type LightswitchProps = SetLightswitchProps &\n NativeAttrsFor<HTMLElement> & {\n onChange?: LightswitchChangeHandler;\n };\n\nexport function Lightswitch(\n props: LightswitchProps,\n): ReturnType<typeof reactify> {\n const { onChange, ref: callerRef, ...rest } = props;\n useEffect(() => {\n defineSetLightswitch();\n }, []);\n const elRef = useRef<HTMLElement | null>(null);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onChange) return;\n el.addEventListener(\n SET_LIGHTSWITCH_EVENT_CHANGE,\n onChange as EventListener,\n );\n return () =>\n el.removeEventListener(\n SET_LIGHTSWITCH_EVENT_CHANGE,\n onChange as EventListener,\n );\n }, [onChange]);\n const mergedRef = useCallback<RefCallback<HTMLElement>>(\n (node) => {\n elRef.current = node;\n assignRef(callerRef, node);\n },\n [callerRef],\n );\n return reactify(buildSetLightswitch(props), {\n ...pickNativeExtras(rest as unknown as Record<string, unknown>),\n ref: mergedRef,\n });\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetLink, type SetLinkProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_LINK_ICON = \"__SET_SLOT_LINK_ICON__\";\n\nexport type LinkProps = Omit<SetLinkProps, \"icon\"> & {\n icon?: ReactNode;\n} & NativeAttrsFor<HTMLAnchorElement>;\n\nexport function Link(props: LinkProps): ReturnType<typeof reactify> {\n const {\n appearance,\n current,\n download,\n href,\n id,\n icon,\n iconPlacement,\n label,\n labelVisibility,\n rel,\n size,\n target,\n tone,\n underline,\n ...rest\n } = props;\n const hasIcon = icon != null && icon !== false;\n const node = buildSetLink({\n appearance,\n current,\n download,\n href,\n id,\n icon: hasIcon\n ? (SLOT_LINK_ICON as unknown as SetLinkProps[\"icon\"])\n : undefined,\n iconPlacement,\n label,\n labelVisibility,\n rel,\n size,\n target,\n tone,\n underline,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasIcon ? { [SLOT_LINK_ICON]: icon } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetLogo, type SetLogoProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type LogoProps = SetLogoProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Logo(props: LogoProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetLogo(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetMenu,\n defineSetMenu,\n SET_MENU_EVENT_CHOOSE,\n type SetMenuProps,\n} from \"@monospaced/set-core\";\nimport {\n type Ref,\n type RefCallback,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nfunction assignRef<T>(ref: Ref<T> | undefined, value: T | null): void {\n if (typeof ref === \"function\") ref(value);\n else if (ref) (ref as { current: T | null }).current = value;\n}\n\nexport type MenuChooseDetail = { id?: string; index: number; label: string };\n\nexport type MenuChooseEvent = CustomEvent<MenuChooseDetail>;\n\nexport type MenuChooseHandler = (event: MenuChooseEvent) => void;\n\nexport type MenuProps = SetMenuProps &\n NativeAttrsFor<HTMLElement> & {\n onChoose?: MenuChooseHandler;\n };\n\nexport function Menu(props: MenuProps): ReturnType<typeof reactify> {\n const { onChoose, ref: callerRef, ...rest } = props;\n useEffect(() => {\n defineSetMenu();\n }, []);\n const elRef = useRef<HTMLElement | null>(null);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onChoose) return;\n el.addEventListener(SET_MENU_EVENT_CHOOSE, onChoose as EventListener);\n return () =>\n el.removeEventListener(SET_MENU_EVENT_CHOOSE, onChoose as EventListener);\n }, [onChoose]);\n const mergedRef = useCallback<RefCallback<HTMLElement>>(\n (node) => {\n elRef.current = node;\n assignRef(callerRef, node);\n },\n [callerRef],\n );\n return reactify(buildSetMenu(props), {\n ...pickNativeExtras(rest as unknown as Record<string, unknown>),\n ref: mergedRef,\n });\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetNav,\n defineSetNav,\n type SetNavProps,\n} from \"@monospaced/set-core\";\nimport { useEffect } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type NavProps = SetNavProps & NativeAttrsFor<HTMLElement>;\n\nexport function Nav(props: NavProps): ReturnType<typeof reactify> {\n useEffect(() => {\n defineSetNav();\n }, []);\n return reactify(\n buildSetNav(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetPage, type SetPageProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_PAGE_BANNER = \"__SET_SLOT_PAGE_BANNER__\";\nconst SLOT_PAGE_HEADER = \"__SET_SLOT_PAGE_HEADER__\";\nconst SLOT_PAGE_CHILDREN = \"__SET_SLOT_PAGE_CHILDREN__\";\nconst SLOT_PAGE_FOOTER = \"__SET_SLOT_PAGE_FOOTER__\";\n\nexport type PageProps = Omit<\n SetPageProps,\n \"banner\" | \"header\" | \"children\" | \"footer\"\n> & {\n banner?: ReactNode;\n header: ReactNode;\n children?: ReactNode;\n footer: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Page(props: PageProps): ReturnType<typeof reactify> {\n const {\n banner,\n children,\n centerMain,\n header,\n headerBorder,\n headerSize,\n id,\n stickyHeader,\n footer,\n ...rest\n } = props;\n const hasBanner = banner != null && banner !== false;\n const hasChildren = children != null && children !== false;\n const node = buildSetPage({\n banner: hasBanner\n ? (SLOT_PAGE_BANNER as unknown as SetPageProps[\"banner\"])\n : undefined,\n children: hasChildren\n ? (SLOT_PAGE_CHILDREN as unknown as SetPageProps[\"children\"])\n : undefined,\n centerMain,\n header: SLOT_PAGE_HEADER as unknown as SetPageProps[\"header\"],\n headerBorder,\n headerSize,\n id,\n stickyHeader,\n footer: SLOT_PAGE_FOOTER as unknown as SetPageProps[\"footer\"],\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasBanner ? { [SLOT_PAGE_BANNER]: banner } : {}),\n [SLOT_PAGE_HEADER]: header,\n ...(hasChildren ? { [SLOT_PAGE_CHILDREN]: children } : {}),\n [SLOT_PAGE_FOOTER]: footer,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetPanel, type SetPanelProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_PANEL_CHILDREN = \"__SET_SLOT_PANEL_CHILDREN__\";\n\nexport type PanelProps = Omit<SetPanelProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Panel(props: PanelProps): ReturnType<typeof reactify> {\n const { children, id, padding, surface, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetPanel({\n children: hasChildren\n ? (SLOT_PANEL_CHILDREN as unknown as SetPanelProps[\"children\"])\n : undefined,\n id,\n padding,\n surface,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_PANEL_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetPattern, type SetPatternProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_PATTERN_CHILDREN = \"__SET_SLOT_PATTERN_CHILDREN__\";\n\nexport type PatternProps = Omit<SetPatternProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Pattern(props: PatternProps): ReturnType<typeof reactify> {\n const { children, id, tone, size, variant, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetPattern({\n children: hasChildren\n ? (SLOT_PATTERN_CHILDREN as unknown as SetPatternProps[\"children\"])\n : undefined,\n id,\n tone,\n size,\n variant,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_PATTERN_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetPoster, type SetPosterProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_POSTER_MEDIA = \"__SET_SLOT_POSTER_MEDIA__\";\nconst SLOT_POSTER_CHILDREN = \"__SET_SLOT_POSTER_CHILDREN__\";\n\nexport type PosterProps = Omit<SetPosterProps, \"media\" | \"children\"> & {\n media: ReactNode;\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Poster(props: PosterProps): ReturnType<typeof reactify> {\n const { children, contentTheme, id, media, surface, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetPoster({\n children: hasChildren\n ? (SLOT_POSTER_CHILDREN as unknown as SetPosterProps[\"children\"])\n : undefined,\n contentTheme,\n id,\n media: SLOT_POSTER_MEDIA as unknown as SetPosterProps[\"media\"],\n surface,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_POSTER_MEDIA]: media,\n ...(hasChildren ? { [SLOT_POSTER_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetProse, type SetProseProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_PROSE_CHILDREN = \"__SET_SLOT_PROSE_CHILDREN__\";\n\nexport type ProseProps = Omit<SetProseProps, \"children\"> & {\n children: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Prose(props: ProseProps): ReturnType<typeof reactify> {\n const {\n children,\n align,\n hangingPunctuation,\n id,\n linkVisited,\n measured,\n monospaced,\n responsive,\n ...rest\n } = props;\n const node = buildSetProse({\n children: SLOT_PROSE_CHILDREN as unknown as SetProseProps[\"children\"],\n align,\n hangingPunctuation,\n id,\n linkVisited,\n measured,\n monospaced,\n responsive,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_PROSE_CHILDREN]: children,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetRadios, type SetRadiosProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type RadiosProps = SetRadiosProps & NativeAttrsFor<HTMLFieldSetElement>;\n\nexport function Radios(props: RadiosProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetRadios(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetRange,\n defineSetRange,\n type SetRangeProps,\n} from \"@monospaced/set-core\";\nimport { useEffect } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type RangeProps = SetRangeProps & NativeAttrsFor<HTMLElement>;\n\nexport function Range(props: RangeProps): ReturnType<typeof reactify> {\n useEffect(() => {\n defineSetRange();\n }, []);\n return reactify(\n buildSetRange(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetRoot, type SetRootProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_ROOT_CHILDREN = \"__SET_SLOT_ROOT_CHILDREN__\";\n\nexport type RootProps = Omit<SetRootProps, \"children\"> & {\n children: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Root(props: RootProps): ReturnType<typeof reactify> {\n const {\n appOverscrollBehavior,\n appRoot,\n brand,\n children,\n dir,\n id,\n lang,\n theme,\n ...rest\n } = props;\n const node = buildSetRoot({\n appOverscrollBehavior,\n appRoot,\n brand,\n children: SLOT_ROOT_CHILDREN as unknown as SetRootProps[\"children\"],\n dir,\n id,\n lang,\n theme,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_ROOT_CHILDREN]: children,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetSidebar,\n defineSetSidebar,\n type SetSidebarProps,\n} from \"@monospaced/set-core\";\nimport { type ReactNode, useEffect } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_SIDEBAR_HEADER = \"__SET_SLOT_SIDEBAR_HEADER__\";\nconst SLOT_SIDEBAR_CHILDREN = \"__SET_SLOT_SIDEBAR_CHILDREN__\";\nconst SLOT_SIDEBAR_FOOTER = \"__SET_SLOT_SIDEBAR_FOOTER__\";\n\nexport type SidebarProps = Omit<\n SetSidebarProps,\n \"header\" | \"children\" | \"footer\"\n> & {\n header?: ReactNode;\n children?: ReactNode;\n footer?: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Sidebar(props: SidebarProps): ReturnType<typeof reactify> {\n const {\n aboveNotebook,\n buttonSize,\n children,\n collapseLabel,\n footer,\n header,\n id,\n surface,\n triggerLabel,\n ...rest\n } = props;\n const hasHeader = header != null && header !== false;\n const hasChildren = children != null && children !== false;\n const hasFooter = footer != null && footer !== false;\n const node = buildSetSidebar({\n aboveNotebook,\n buttonSize,\n children: hasChildren\n ? (SLOT_SIDEBAR_CHILDREN as unknown as SetSidebarProps[\"children\"])\n : undefined,\n collapseLabel,\n footer: hasFooter\n ? (SLOT_SIDEBAR_FOOTER as unknown as SetSidebarProps[\"footer\"])\n : undefined,\n header: hasHeader\n ? (SLOT_SIDEBAR_HEADER as unknown as SetSidebarProps[\"header\"])\n : undefined,\n id,\n surface,\n triggerLabel,\n });\n useEffect(() => {\n defineSetSidebar();\n }, []);\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasHeader ? { [SLOT_SIDEBAR_HEADER]: header } : {}),\n ...(hasChildren ? { [SLOT_SIDEBAR_CHILDREN]: children } : {}),\n ...(hasFooter ? { [SLOT_SIDEBAR_FOOTER]: footer } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetSpinner, type SetSpinnerProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type SpinnerProps = SetSpinnerProps & NativeAttrsFor<HTMLSpanElement>;\n\nexport function Spinner(props: SpinnerProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetSpinner(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetStack, type SetStackProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_STACK_CHILDREN = \"__SET_SLOT_STACK_CHILDREN__\";\n\nexport type StackProps = Omit<SetStackProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Stack(props: StackProps): ReturnType<typeof reactify> {\n const { align, as, children, gap, id, responsive, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetStack({\n align,\n as,\n children: hasChildren\n ? (SLOT_STACK_CHILDREN as unknown as SetStackProps[\"children\"])\n : undefined,\n gap,\n id,\n responsive,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_STACK_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetSurface, type SetSurfaceProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_SURFACE_CHILDREN = \"__SET_SLOT_SURFACE_CHILDREN__\";\n\nexport type SurfaceProps = Omit<SetSurfaceProps, \"children\"> & {\n children: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Surface(props: SurfaceProps): ReturnType<typeof reactify> {\n const { children, contentTheme, id, variant, ...rest } = props;\n const node = buildSetSurface({\n children: SLOT_SURFACE_CHILDREN as unknown as SetSurfaceProps[\"children\"],\n contentTheme,\n id,\n variant,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_SURFACE_CHILDREN]: children,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetSwitch, type SetSwitchProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type SwitchProps = SetSwitchProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Switch(props: SwitchProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetSwitch(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetText, type SetTextProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_TEXT_CHILDREN = \"__SET_SLOT_TEXT_CHILDREN__\";\n\nexport type TextProps = Omit<SetTextProps, \"children\"> & {\n children: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Text(props: TextProps): ReturnType<typeof reactify> {\n const {\n as,\n children,\n id,\n linkVisited,\n responsive,\n align,\n measured,\n monospaced,\n size,\n tone,\n ...rest\n } = props;\n const node = buildSetText({\n as,\n children: SLOT_TEXT_CHILDREN as unknown as SetTextProps[\"children\"],\n id,\n linkVisited,\n responsive,\n align,\n measured,\n monospaced,\n size,\n tone,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_TEXT_CHILDREN]: children,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetTextarea, type SetTextareaProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type TextareaProps = SetTextareaProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Textarea(props: TextareaProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetTextarea(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetVideo,\n defineSetVideo,\n type SetVideoProps,\n} from \"@monospaced/set-core\";\nimport { useEffect } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type VideoProps = SetVideoProps & NativeAttrsFor<HTMLElement>;\n\nexport function Video(props: VideoProps): ReturnType<typeof reactify> {\n useEffect(() => {\n defineSetVideo();\n }, []);\n return reactify(\n buildSetVideo(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n"],"names":["ATTR_NAME_MAP","PRIMARY_CONTROL_TAGS","toReactProps","attrs","out","key","value","reactKey","collectPrimaryControls","node","visit","n","child","splitExtras","extras","rootExtras","controlExtras","autoFocus","primaryFirstExtras","extrasForNode","ctx","idx","buildElementProps","props","content","serializeSetNode","children","index","createElement","Fragment","renderNode","reactify","slots","primaries","split","pickNativeExtras","source","assignRef","ref","Alert","onBeforeDismiss","onDismiss","callerRef","rest","useEffect","defineSetAlert","elRef","useRef","el","SET_ALERT_EVENT_BEFORE_DISMISS","SET_ALERT_EVENT_DISMISS","mergedRef","useCallback","buildSetAlert","Avatar","buildSetAvatar","Badge","buildSetBadge","Banner","defineSetBanner","SET_BANNER_EVENT_BEFORE_DISMISS","SET_BANNER_EVENT_DISMISS","buildSetBanner","SLOT_BLOCKQUOTE_QUOTE","SLOT_BLOCKQUOTE_ATTRIBUTION","Blockquote","align","attribution","id","measured","quote","responsive","size","buildSetBlockquote","SLOT_BOX_CHILDREN","Box","background","border","paddingBlock","paddingInline","radius","surface","hasChildren","buildSetBox","Button","buildSetButton","SLOT_CARD_DESCRIPTION","SLOT_CARD_NOTE","Card","description","headingLevel","href","note","title","hasNote","buildSetCard","Checkbox","buildSetCheckbox","SLOT_CONTAINER_CHILDREN","Container","gutter","maxInlineSize","buildSetContainer","SLOT_DETAILS_CHILDREN","Details","inlineSize","open","summary","buildSetDetails","Divider","buildSetDivider","Expander","buildSetExpander","SLOT_FIELDSET_CHILDREN","Fieldset","disabled","invalid","legend","buildSetFieldset","SLOT_FIGURE_CHILDREN","SLOT_FIGURE_CAPTION","Figure","caption","buildSetFigure","SLOT_GRID_CHILDREN","Grid","gap","buildSetGrid","SLOT_GRID_ITEM_CHILDREN","GridItem","justify","colSpan","colStart","rowSpan","rowSpanNarrow","rowSpanWide","rowStart","rowStartNarrow","rowStartWide","colSpanNarrow","colStartNarrow","colSpanWide","colStartWide","buildSetGridItem","Heading","buildSetHeading","Icon","buildSetIcon","Image","buildSetImage","SLOT_INLINE_CHILDREN","Inline","as","nowrap","buildSetInline","Input","buildSetInput","Lightswitch","onChange","defineSetLightswitch","SET_LIGHTSWITCH_EVENT_CHANGE","buildSetLightswitch","SLOT_LINK_ICON","Link","appearance","current","download","icon","iconPlacement","label","labelVisibility","rel","target","tone","underline","hasIcon","buildSetLink","Logo","buildSetLogo","Menu","onChoose","defineSetMenu","SET_MENU_EVENT_CHOOSE","buildSetMenu","Nav","defineSetNav","buildSetNav","SLOT_PAGE_BANNER","SLOT_PAGE_HEADER","SLOT_PAGE_CHILDREN","SLOT_PAGE_FOOTER","Page","banner","centerMain","header","headerBorder","headerSize","stickyHeader","footer","hasBanner","buildSetPage","SLOT_PANEL_CHILDREN","Panel","padding","buildSetPanel","SLOT_PATTERN_CHILDREN","Pattern","variant","buildSetPattern","SLOT_POSTER_MEDIA","SLOT_POSTER_CHILDREN","Poster","contentTheme","media","buildSetPoster","SLOT_PROSE_CHILDREN","Prose","hangingPunctuation","linkVisited","monospaced","buildSetProse","Radios","buildSetRadios","Range","defineSetRange","buildSetRange","SLOT_ROOT_CHILDREN","Root","appOverscrollBehavior","appRoot","brand","dir","lang","theme","buildSetRoot","SLOT_SIDEBAR_HEADER","SLOT_SIDEBAR_CHILDREN","SLOT_SIDEBAR_FOOTER","Sidebar","aboveNotebook","buttonSize","collapseLabel","triggerLabel","hasHeader","hasFooter","buildSetSidebar","defineSetSidebar","Spinner","buildSetSpinner","SLOT_STACK_CHILDREN","Stack","buildSetStack","SLOT_SURFACE_CHILDREN","Surface","buildSetSurface","Switch","buildSetSwitch","SLOT_TEXT_CHILDREN","Text","buildSetText","Textarea","buildSetTextarea","Video","defineSetVideo","buildSetVideo"],"mappings":"2IAcMA,GAAkD,CACtD,aAAc,eACd,MAAO,YACP,IAAK,UACL,SAAU,WACV,WAAY,aACZ,OAAQ,SACR,iBAAkB,gBAClB,kBAAmB,iBACnB,eAAgB,cAChB,SAAU,UACZ,EAKMC,GAAuB,IAAI,IAAI,CAAC,QAAS,WAAY,QAAQ,CAAC,EAuBpE,SAASC,GACPC,EACyB,CACzB,MAAMC,EAA+B,CAAA,EACrC,SAAW,CAACC,EAAKC,CAAK,IAAK,OAAO,QAAQH,CAAK,EAAG,CAEhD,GADIG,GAAS,MAEXA,IAAU,KACTD,EAAI,WAAW,OAAO,GAAKA,EAAI,WAAW,OAAO,GAElD,SAEF,MAAME,EAAWP,GAAcK,CAAG,GAAKA,EACvCD,EAAIG,CAAQ,EAAID,IAAU,IAAQD,EAAI,WAAW,OAAO,EAAI,GAAKC,CACnE,CACA,OAAOF,CACT,CAEA,SAASI,GAAuBC,EAA0B,CACxD,MAAML,EAAiB,CAAA,EACjBM,EAASC,GAAqB,CAClC,GAAIA,EAAE,OAAS,UACf,CAAIV,GAAqB,IAAIU,EAAE,GAAG,GAAGP,EAAI,KAAKO,CAAC,EAC/C,UAAWC,KAASD,EAAE,SAAUD,EAAME,CAAK,EAC7C,EACA,OAAAF,EAAMD,CAAI,EACHL,CACT,CAUA,SAASS,GAAYC,EAA8C,CACjE,MAAMC,EAAsC,CAAA,EACtCC,EAAyC,CAAA,EAC/C,IAAIC,EACJ,SAAW,CAACZ,EAAKC,CAAK,IAAK,OAAO,QAAQQ,CAAM,EAC1CR,IAAU,SACVD,IAAQ,MAAOU,EAAWV,CAAG,EAAIC,EAC5BD,IAAQ,YAAaY,EAAYX,EACrCU,EAAcX,CAAG,EAAIC,GAE5B,MAAMY,EACJD,IAAc,OACV,CAAE,UAAAA,EAAW,GAAGD,CAAA,EAChB,CAAE,GAAGA,CAAA,EACX,MAAO,CAAE,WAAAD,EAAY,mBAAAG,EAAoB,kBAAmBF,CAAA,CAC9D,CASA,SAASG,GAAcV,EAAeW,EAAyC,CAC7E,GAAIA,EAAI,UAAU,SAAW,QAAU,CAAA,EACvC,MAAMC,EAAMD,EAAI,UAAU,QAAQX,CAAI,EACtC,OAAIY,IAAQ,EAAUD,EAAI,mBACtBC,EAAM,EAAUD,EAAI,kBACjB,CAAA,CACT,CAEA,SAASE,EACPb,EACAK,EACAM,EACkE,CAClE,MAAMG,EAAiC,CACrC,GAAGrB,GAAaO,EAAK,KAAK,EAC1B,GAAGK,CAAA,EAML,GAAIL,EAAK,MAAQ,YAAcA,EAAK,SAAS,OAAS,EAAG,CACvD,MAAMe,EAAUf,EAAK,SAClB,IAAKG,GAAWA,EAAM,OAAS,OAASA,EAAM,MAAQ,EAAG,EACzD,KAAK,EAAE,EACV,MAAI,EAAE,UAAWW,IAAUC,EAAQ,OAAS,MAAS,aAAeA,GAC7D,CAAE,MAAAD,EAAO,SAAU,IAAA,CAC5B,CAIA,GAHwBd,EAAK,SAAS,KACnCG,GAAUA,EAAM,OAAS,OAAS,EAAEA,EAAM,QAAQQ,EAAI,MAAA,EAOvD,OAAAG,EAAM,wBAA0B,CAC9B,OAAQd,EAAK,SAAS,IAAIgB,EAAAA,gBAAgB,EAAE,KAAK,EAAE,CAAA,EAE9C,CAAE,MAAAF,EAAO,SAAU,IAAA,EAE5B,MAAMG,EAAWjB,EAAK,SAAS,IAAI,CAACG,EAAOe,IACrCf,EAAM,OAAS,OAASA,EAAM,QAAQQ,EAAI,MACrCQ,EAAAA,cAAcC,WAAU,CAAE,IAAKF,GAASP,EAAI,MAAMR,EAAM,IAAI,CAAC,EAE/DkB,GAAWlB,EAAOe,EAAOP,CAAG,CACpC,EACD,MAAO,CAAE,MAAAG,EAAO,SAAAG,CAAA,CAClB,CAEA,SAASI,GACPrB,EACAJ,EACAe,EACW,CACX,GAAIX,EAAK,OAAS,OAChB,OAAIA,EAAK,SAASW,EAAI,MACbQ,EAAAA,cAAcC,EAAAA,SAAU,CAAE,IAAAxB,CAAA,EAAOe,EAAI,MAAMX,EAAK,KAAK,CAAC,EAExDA,EAAK,MAEd,GAAIA,EAAK,OAAS,MAChB,OAAIA,EAAK,QAAQW,EAAI,MACZQ,EAAAA,cAAcC,EAAAA,SAAU,CAAE,IAAAxB,CAAA,EAAOe,EAAI,MAAMX,EAAK,IAAI,CAAC,EAIvDmB,EAAAA,cAAc,OAAQ,CAC3B,IAAAvB,EACA,wBAAyB,CAAE,OAAQI,EAAK,IAAA,CAAK,CAC9C,EAEH,KAAM,CAAE,MAAAc,EAAO,SAAAG,CAAA,EAAaJ,EAC1Bb,EACAU,GAAcV,EAAMW,CAAG,EACvBA,CAAA,EAEF,OAAIf,IAAQ,SAAWkB,EAAM,IAAMlB,GAC5BqB,IAAa,KAChBE,gBAAcnB,EAAK,IAAKc,CAAK,EAC7BK,EAAAA,cAAcnB,EAAK,IAAKc,EAAO,GAAGG,CAAQ,CAChD,CASO,SAASK,EACdtB,EACAM,EAAsC,CAAA,EACtCiB,EAAmC,CAAA,EACxB,CACX,GAAIvB,EAAK,OAAS,UAAW,CAC3B,MAAMW,EAAiB,CACrB,MAAAY,EACA,UAAW,CAAA,EACX,mBAAoB,CAAA,EACpB,kBAAmB,CAAA,CAAC,EAEtB,OAAOJ,EAAAA,cAAcC,EAAAA,SAAU,KAAMC,GAAWrB,EAAM,OAAWW,CAAG,CAAC,CACvE,CACA,MAAMa,EAAYzB,GAAuBC,CAAI,EACvCyB,EACJD,EAAU,OAAS,EACfpB,GAAYE,CAAU,EACtB,CACE,WAAAA,EACA,mBAAoB,CAAA,EACpB,kBAAmB,CAAA,CAAC,EAEtBK,EAAiB,CACrB,MAAAY,EACA,UAAAC,EACA,mBAAoBC,EAAM,mBAC1B,kBAAmBA,EAAM,iBAAA,EAErB,CAAE,MAAAX,EAAO,SAAAG,GAAaJ,EAAkBb,EAAMyB,EAAM,WAAYd,CAAG,EACzE,OAAOM,IAAa,KAChBE,gBAAcnB,EAAK,IAAKc,CAAK,EAC7BK,EAAAA,cAAcnB,EAAK,IAAKc,EAAO,GAAGG,CAAQ,CAChD,CAMO,SAASS,EACdC,EACyB,CACzB,MAAMhC,EAA+B,CAAA,EACrC,SAAW,CAACC,EAAKC,CAAK,IAAK,OAAO,QAAQ8B,CAAM,EAC1C9B,IAAU,SAEZD,IAAQ,OACRA,IAAQ,aACRA,IAAQ,SACRA,EAAI,WAAW,IAAI,KAEnBD,EAAIC,CAAG,EAAIC,GAGf,OAAOF,CACT,CC5OA,SAASiC,GAAaC,EAAyBhC,EAAuB,CAChE,OAAOgC,GAAQ,WAAYA,EAAIhC,CAAK,EAC/BgC,IAAMA,EAA8B,QAAUhC,EACzD,CAYO,SAASiC,GAAMhB,EAAgD,CACpE,KAAM,CAAE,gBAAAiB,EAAiB,UAAAC,EAAW,IAAKC,EAAW,GAAGC,GAASpB,EAChEqB,EAAAA,UAAU,IAAM,CACdC,iBAAA,CACF,EAAG,CAAA,CAAE,EACL,MAAMC,EAAQC,EAAAA,OAA2B,IAAI,EAC7CH,EAAAA,UAAU,IAAM,CACd,MAAMI,EAAKF,EAAM,QACjB,GAAI,GAACE,GAAM,CAACR,GACZ,OAAAQ,EAAG,iBACDC,EAAAA,+BACAT,CAAA,EAEK,IACLQ,EAAG,oBACDC,EAAAA,+BACAT,CAAA,CAEN,EAAG,CAACA,CAAe,CAAC,EACpBI,EAAAA,UAAU,IAAM,CACd,MAAMI,EAAKF,EAAM,QACjB,GAAI,GAACE,GAAM,CAACP,GACZ,OAAAO,EAAG,iBAAiBE,EAAAA,wBAAyBT,CAA0B,EAChE,IACLO,EAAG,oBACDE,EAAAA,wBACAT,CAAA,CAEN,EAAG,CAACA,CAAS,CAAC,EACd,MAAMU,EAAYC,EAAAA,YACf3C,GAAS,CACRqC,EAAM,QAAUrC,EAChB4B,GAAUK,EAAWjC,CAAI,CAC3B,EACA,CAACiC,CAAS,CAAA,EAEZ,OAAOX,EAASsB,gBAAc9B,CAAK,EAAG,CACpC,GAAGY,EAAiBQ,CAA0C,EAC9D,IAAKQ,CAAA,CACN,CACH,CClEO,SAASG,GAAO/B,EAAiD,CACtE,OAAOQ,EACLwB,EAAAA,eAAehC,CAAK,EACpBY,EAAiBZ,CAA2C,CAAA,CAEhE,CCLO,SAASiC,GAAMjC,EAAgD,CACpE,OAAOQ,EACL0B,EAAAA,cAAclC,CAAK,EACnBY,EAAiBZ,CAA2C,CAAA,CAEhE,CCMA,SAASc,GAAaC,EAAyBhC,EAAuB,CAChE,OAAOgC,GAAQ,WAAYA,EAAIhC,CAAK,EAC/BgC,IAAMA,EAA8B,QAAUhC,EACzD,CAYO,SAASoD,GAAOnC,EAAiD,CACtE,KAAM,CAAE,gBAAAiB,EAAiB,UAAAC,EAAW,IAAKC,EAAW,GAAGC,GAASpB,EAChEqB,EAAAA,UAAU,IAAM,CACde,kBAAA,CACF,EAAG,CAAA,CAAE,EACL,MAAMb,EAAQC,EAAAA,OAA2B,IAAI,EAC7CH,EAAAA,UAAU,IAAM,CACd,MAAMI,EAAKF,EAAM,QACjB,GAAI,GAACE,GAAM,CAACR,GACZ,OAAAQ,EAAG,iBACDY,EAAAA,gCACApB,CAAA,EAEK,IACLQ,EAAG,oBACDY,EAAAA,gCACApB,CAAA,CAEN,EAAG,CAACA,CAAe,CAAC,EACpBI,EAAAA,UAAU,IAAM,CACd,MAAMI,EAAKF,EAAM,QACjB,GAAI,GAACE,GAAM,CAACP,GACZ,OAAAO,EAAG,iBAAiBa,EAAAA,yBAA0BpB,CAA0B,EACjE,IACLO,EAAG,oBACDa,EAAAA,yBACApB,CAAA,CAEN,EAAG,CAACA,CAAS,CAAC,EACd,MAAMU,EAAYC,EAAAA,YACf3C,GAAS,CACRqC,EAAM,QAAUrC,EAChB4B,GAAUK,EAAWjC,CAAI,CAC3B,EACA,CAACiC,CAAS,CAAA,EAEZ,OAAOX,EAAS+B,iBAAevC,CAAK,EAAG,CACrC,GAAGY,EAAiBQ,CAA0C,EAC9D,IAAKQ,CAAA,CACN,CACH,CChEA,MAAMY,EAAwB,gCACxBC,EAA8B,sCAU7B,SAASC,GACd1C,EAC6B,CAC7B,KAAM,CAAE,MAAA2C,EAAO,YAAAC,EAAa,GAAAC,EAAI,SAAAC,EAAU,MAAAC,EAAO,WAAAC,EAAY,KAAAC,EAAM,GAAG7B,CAAA,EACpEpB,EACId,EAAOgE,EAAAA,mBAAmB,CAC9B,MAAAP,EACA,YACEF,EACF,GAAAI,EACA,SAAAC,EACA,MAAON,EACP,WAAAQ,EACA,KAAAC,CAAA,CACD,EACD,OAAOzC,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,CAACoB,CAAqB,EAAGO,EACzB,CAACN,CAA2B,EAAGG,CAAA,CACjC,CAEJ,CCrCA,MAAMO,EAAoB,4BAMnB,SAASC,GAAIpD,EAA8C,CAChE,KAAM,CACJ,WAAAqD,EACA,OAAAC,EACA,SAAAnD,EACA,GAAA0C,EACA,aAAAU,EACA,cAAAC,EACA,OAAAC,EACA,WAAAT,EACA,QAAAU,EACA,GAAGtC,CAAA,EACDpB,EACE2D,EAAcxD,GAAY,MAAQA,IAAa,GAC/CjB,EAAO0E,EAAAA,YAAY,CACvB,WAAAP,EACA,OAAAC,EACA,SAAUK,EACLR,EACD,OACJ,GAAAN,EACA,aAAAU,EACA,cAAAC,EACA,OAAAC,EACA,WAAAT,EACA,QAAAU,CAAA,CACD,EACD,OAAOlD,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,GAAIuC,EAAc,CAAE,CAACR,CAAiB,EAAGhD,CAAA,EAAa,CAAA,CAAC,CACzD,CAEJ,CCvCO,SAAS0D,GAAO7D,EAAiD,CACtE,OAAOQ,EACLsD,EAAAA,eAAe9D,CAAK,EACpBY,EAAiBZ,CAA2C,CAAA,CAEhE,CCNA,MAAM+D,EAAwB,gCACxBC,EAAiB,yBAOhB,SAASC,GAAKjE,EAA+C,CAClE,KAAM,CAAE,YAAAkE,EAAa,aAAAC,EAAc,KAAAC,EAAM,GAAAvB,EAAI,KAAAwB,EAAM,QAAAX,EAAS,MAAAY,EAAO,GAAGlD,CAAA,EACpEpB,EACIuE,EAAUF,GAAQ,MAAQA,IAAS,GACnCnF,EAAOsF,EAAAA,aAAa,CACxB,YACET,EACF,aAAAI,EACA,KAAAC,EACA,GAAAvB,EACA,KAAM0B,EACDP,EACD,OACJ,QAAAN,EACA,MAAAY,CAAA,CACD,EACD,OAAO9D,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,CAAC2C,CAAqB,EAAGG,EACzB,GAAIK,EAAU,CAAE,CAACP,CAAc,EAAGK,CAAA,EAAS,CAAA,CAAC,CAC9C,CAEJ,CC/BO,SAASI,GAASzE,EAAmD,CAC1E,OAAOQ,EACLkE,EAAAA,iBAAiB1E,CAAK,EACtBY,EAAiBZ,CAA2C,CAAA,CAEhE,CCHA,MAAM2E,EAA0B,kCAMzB,SAASC,GAAU5E,EAAoD,CAC5E,KAAM,CAAE,SAAAG,EAAU,OAAA0E,EAAQ,GAAAhC,EAAI,cAAAiC,EAAe,GAAG1D,GAASpB,EACnD2D,EAAcxD,GAAY,MAAQA,IAAa,GAC/CjB,EAAO6F,EAAAA,kBAAkB,CAC7B,SAAUpB,EACLgB,EACD,OACJ,OAAAE,EACA,GAAAhC,EACA,cAAAiC,CAAA,CACD,EACD,OAAOtE,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,GAAIuC,EAAc,CAAE,CAACgB,CAAuB,EAAGxE,CAAA,EAAa,CAAA,CAAC,CAC/D,CAEJ,CC3BA,MAAM6E,EAAwB,gCAMvB,SAASC,GAAQjF,EAAkD,CACxE,KAAM,CAAE,SAAAG,EAAU,GAAA0C,EAAI,WAAAqC,EAAY,KAAAC,EAAM,QAAAC,EAAS,GAAGhE,GAASpB,EACvD2D,EAAcxD,GAAY,MAAQA,IAAa,GAC/CjB,EAAOmG,EAAAA,gBAAgB,CAC3B,SAAU1B,EACLqB,EACD,OACJ,GAAAnC,EACA,WAAAqC,EACA,KAAAC,EACA,QAAAC,CAAA,CACD,EACD,OAAO5E,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,GAAIuC,EAAc,CAAE,CAACqB,CAAqB,EAAG7E,CAAA,EAAa,CAAA,CAAC,CAC7D,CAEJ,CCxBO,SAASmF,GAAQtF,EAAkD,CACxE,OAAOQ,EACL+E,EAAAA,gBAAgBvF,CAAK,EACrBY,EAAiBZ,CAA2C,CAAA,CAEhE,CCJO,SAASwF,GAASxF,EAAmD,CAC1E,OAAOQ,EACLiF,EAAAA,iBAAiBzF,CAAK,EACtBY,EAAiBZ,CAA2C,CAAA,CAEhE,CCPA,MAAM0F,EAAyB,iCAMxB,SAASC,GAAS3F,EAAmD,CAC1E,KAAM,CACJ,SAAAG,EACA,YAAA+D,EACA,SAAA0B,EACA,GAAA/C,EACA,QAAAgD,EACA,OAAAC,EACA,WAAAZ,EACA,GAAG9D,CAAA,EACDpB,EACE2D,EAAcxD,GAAY,MAAQA,IAAa,GAC/CjB,EAAO6G,EAAAA,iBAAiB,CAC5B,SAAUpC,EACL+B,EACD,OACJ,YAAAxB,EACA,SAAA0B,EACA,GAAA/C,EACA,QAAAgD,EACA,OAAAC,EACA,WAAAZ,CAAA,CACD,EACD,OAAO1E,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,GAAIuC,EAAc,CAAE,CAAC+B,CAAsB,EAAGvF,CAAA,EAAa,CAAA,CAAC,CAC9D,CAEJ,CCpCA,MAAM6F,EAAuB,+BACvBC,EAAsB,8BAOrB,SAASC,GAAOlG,EAAiD,CACtE,KAAM,CAAE,MAAA2C,EAAO,QAAAwD,EAAS,SAAAhG,EAAU,GAAA0C,EAAI,WAAAqC,EAAY,WAAAlC,EAAY,GAAG5B,CAAA,EAC/DpB,EACId,EAAOkH,EAAAA,eAAe,CAC1B,MAAAzD,EACA,QAASsD,EACT,SAAUD,EACV,GAAAnD,EACA,WAAAqC,EACA,WAAAlC,CAAA,CACD,EACD,OAAOxC,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,CAAC4E,CAAoB,EAAG7F,EACxB,CAAC8F,CAAmB,EAAGE,CAAA,CACzB,CAEJ,CC3BA,MAAME,EAAqB,6BAMpB,SAASC,GAAKtG,EAA+C,CAClE,KAAM,CAAE,SAAAG,EAAU,IAAAoG,EAAK,GAAA1D,EAAI,GAAGzB,GAASpB,EACjC2D,EAAcxD,GAAY,MAAQA,IAAa,GAC/CjB,EAAOsH,EAAAA,aAAa,CACxB,SAAU7C,EACL0C,EACD,OACJ,IAAAE,EACA,GAAA1D,CAAA,CACD,EACD,OAAOrC,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,GAAIuC,EAAc,CAAE,CAAC0C,CAAkB,EAAGlG,CAAA,EAAa,CAAA,CAAC,CAC1D,CAEJ,CCvBA,MAAMsG,EAA0B,kCAMzB,SAASC,GAAS1G,EAAmD,CAC1E,KAAM,CACJ,SAAAG,EACA,MAAAwC,EACA,QAAAgE,EACA,QAAAC,EACA,SAAAC,EACA,GAAAhE,EACA,QAAAiE,EACA,cAAAC,EACA,YAAAC,EACA,SAAAC,EACA,eAAAC,EACA,aAAAC,EACA,cAAAC,EACA,eAAAC,EACA,YAAAC,EACA,aAAAC,EACA,GAAGnG,CAAA,EACDpB,EACE2D,EAAcxD,GAAY,MAAQA,IAAa,GAC/CjB,GAAOsI,EAAAA,iBAAiB,CAC5B,SAAU7D,EACL8C,EACD,OACJ,MAAA9D,EACA,QAAAgE,EACA,QAAAC,EACA,SAAAC,EACA,GAAAhE,EACA,QAAAiE,EACA,cAAAC,EACA,YAAAC,EACA,SAAAC,EACA,eAAAC,EACA,aAAAC,EACA,cAAAC,EACA,eAAAC,EACA,YAAAC,EACA,aAAAC,CAAA,CACD,EACD,OAAO/G,EACLtB,GACA0B,EAAiBQ,CAA0C,EAC3D,CACE,GAAIuC,EAAc,CAAE,CAAC8C,CAAuB,EAAGtG,CAAA,EAAa,CAAA,CAAC,CAC/D,CAEJ,CCrDO,SAASsH,GAAQzH,EAAkD,CACxE,OAAOQ,EACLkH,EAAAA,gBAAgB1H,CAAK,EACrBY,EAAiBZ,CAA2C,CAAA,CAEhE,CCLO,SAAS2H,GAAK3H,EAA+C,CAClE,OAAOQ,EACLoH,EAAAA,aAAa5H,CAAK,EAClBY,EAAiBZ,CAA2C,CAAA,CAEhE,CCLO,SAAS6H,GAAM7H,EAAgD,CACpE,OAAOQ,EACLsH,EAAAA,cAAc9H,CAAK,EACnBY,EAAiBZ,CAA2C,CAAA,CAEhE,CCNA,MAAM+H,EAAuB,+BAMtB,SAASC,GAAOhI,EAAiD,CACtE,KAAM,CAAE,GAAAiI,EAAI,MAAAtF,EAAO,SAAAxC,EAAU,IAAAoG,EAAK,GAAA1D,EAAI,QAAA8D,EAAS,OAAAuB,EAAQ,GAAG9G,CAAA,EAASpB,EAC7D2D,EAAcxD,GAAY,MAAQA,IAAa,GAC/CjB,EAAOiJ,EAAAA,eAAe,CAC1B,GAAAF,EACA,MAAAtF,EACA,SAAUgB,EACLoE,EACD,OACJ,IAAAxB,EACA,GAAA1D,EACA,QAAA8D,EACA,OAAAuB,CAAA,CACD,EACD,OAAO1H,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,GAAIuC,EAAc,CAAE,CAACoE,CAAoB,EAAG5H,CAAA,EAAa,CAAA,CAAC,CAC5D,CAEJ,CC1BO,SAASiI,GAAMpI,EAAgD,CACpE,OAAOQ,EACL6H,EAAAA,cAAcrI,CAAK,EACnBY,EAAiBZ,CAA2C,CAAA,CAEhE,CCKA,SAASc,GAAaC,EAAyBhC,EAAuB,CAChE,OAAOgC,GAAQ,WAAYA,EAAIhC,CAAK,EAC/BgC,IAAMA,EAA8B,QAAUhC,EACzD,CASO,SAASuJ,GACdtI,EAC6B,CAC7B,KAAM,CAAE,SAAAuI,EAAU,IAAKpH,EAAW,GAAGC,GAASpB,EAC9CqB,EAAAA,UAAU,IAAM,CACdmH,uBAAA,CACF,EAAG,CAAA,CAAE,EACL,MAAMjH,EAAQC,EAAAA,OAA2B,IAAI,EAC7CH,EAAAA,UAAU,IAAM,CACd,MAAMI,EAAKF,EAAM,QACjB,GAAI,GAACE,GAAM,CAAC8G,GACZ,OAAA9G,EAAG,iBACDgH,EAAAA,6BACAF,CAAA,EAEK,IACL9G,EAAG,oBACDgH,EAAAA,6BACAF,CAAA,CAEN,EAAG,CAACA,CAAQ,CAAC,EACb,MAAM3G,EAAYC,EAAAA,YACf3C,GAAS,CACRqC,EAAM,QAAUrC,EAChB4B,GAAUK,EAAWjC,CAAI,CAC3B,EACA,CAACiC,CAAS,CAAA,EAEZ,OAAOX,EAASkI,sBAAoB1I,CAAK,EAAG,CAC1C,GAAGY,EAAiBQ,CAA0C,EAC9D,IAAKQ,CAAA,CACN,CACH,CCvDA,MAAM+G,EAAiB,yBAMhB,SAASC,GAAK5I,EAA+C,CAClE,KAAM,CACJ,WAAA6I,EACA,QAAAC,EACA,SAAAC,EACA,KAAA3E,EACA,GAAAvB,EACA,KAAAmG,EACA,cAAAC,EACA,MAAAC,EACA,gBAAAC,EACA,IAAAC,EACA,KAAAnG,EACA,OAAAoG,EACA,KAAAC,EACA,UAAAC,EACA,GAAGnI,CAAA,EACDpB,EACEwJ,EAAUR,GAAQ,MAAQA,IAAS,GACnC9J,EAAOuK,EAAAA,aAAa,CACxB,WAAAZ,EACA,QAAAC,EACA,SAAAC,EACA,KAAA3E,EACA,GAAAvB,EACA,KAAM2G,EACDb,EACD,OACJ,cAAAM,EACA,MAAAC,EACA,gBAAAC,EACA,IAAAC,EACA,KAAAnG,EACA,OAAAoG,EACA,KAAAC,EACA,UAAAC,CAAA,CACD,EACD,OAAO/I,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,GAAIoI,EAAU,CAAE,CAACb,CAAc,EAAGK,CAAA,EAAS,CAAA,CAAC,CAC9C,CAEJ,CCjDO,SAASU,GAAK1J,EAA+C,CAClE,OAAOQ,EACLmJ,EAAAA,aAAa3J,CAAK,EAClBY,EAAiBZ,CAA2C,CAAA,CAEhE,CCKA,SAASc,GAAaC,EAAyBhC,EAAuB,CAChE,OAAOgC,GAAQ,WAAYA,EAAIhC,CAAK,EAC/BgC,IAAMA,EAA8B,QAAUhC,EACzD,CAaO,SAAS6K,GAAK5J,EAA+C,CAClE,KAAM,CAAE,SAAA6J,EAAU,IAAK1I,EAAW,GAAGC,GAASpB,EAC9CqB,EAAAA,UAAU,IAAM,CACdyI,gBAAA,CACF,EAAG,CAAA,CAAE,EACL,MAAMvI,EAAQC,EAAAA,OAA2B,IAAI,EAC7CH,EAAAA,UAAU,IAAM,CACd,MAAMI,EAAKF,EAAM,QACjB,GAAI,GAACE,GAAM,CAACoI,GACZ,OAAApI,EAAG,iBAAiBsI,EAAAA,sBAAuBF,CAAyB,EAC7D,IACLpI,EAAG,oBAAoBsI,EAAAA,sBAAuBF,CAAyB,CAC3E,EAAG,CAACA,CAAQ,CAAC,EACb,MAAMjI,EAAYC,EAAAA,YACf3C,GAAS,CACRqC,EAAM,QAAUrC,EAChB4B,GAAUK,EAAWjC,CAAI,CAC3B,EACA,CAACiC,CAAS,CAAA,EAEZ,OAAOX,EAASwJ,eAAahK,CAAK,EAAG,CACnC,GAAGY,EAAiBQ,CAA0C,EAC9D,IAAKQ,CAAA,CACN,CACH,CC7CO,SAASqI,GAAIjK,EAA8C,CAChEqB,OAAAA,EAAAA,UAAU,IAAM,CACd6I,eAAA,CACF,EAAG,CAAA,CAAE,EACE1J,EACL2J,EAAAA,YAAYnK,CAAK,EACjBY,EAAiBZ,CAA2C,CAAA,CAEhE,CCdA,MAAMoK,EAAmB,2BACnBC,EAAmB,2BACnBC,EAAqB,6BACrBC,EAAmB,2BAYlB,SAASC,GAAKxK,EAA+C,CAClE,KAAM,CACJ,OAAAyK,EACA,SAAAtK,EACA,WAAAuK,EACA,OAAAC,EACA,aAAAC,EACA,WAAAC,EACA,GAAAhI,EACA,aAAAiI,EACA,OAAAC,EACA,GAAG3J,CAAA,EACDpB,EACEgL,EAAYP,GAAU,MAAQA,IAAW,GACzC9G,EAAcxD,GAAY,MAAQA,IAAa,GAC/CjB,EAAO+L,EAAAA,aAAa,CACxB,OAAQD,EACHZ,EACD,OACJ,SAAUzG,EACL2G,EACD,OACJ,WAAAI,EACA,OAAQL,EACR,aAAAO,EACA,WAAAC,EACA,GAAAhI,EACA,aAAAiI,EACA,OAAQP,CAAA,CACT,EACD,OAAO/J,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,GAAI4J,EAAY,CAAE,CAACZ,CAAgB,EAAGK,CAAA,EAAW,CAAA,EACjD,CAACJ,CAAgB,EAAGM,EACpB,GAAIhH,EAAc,CAAE,CAAC2G,CAAkB,EAAGnK,CAAA,EAAa,CAAA,EACvD,CAACoK,CAAgB,EAAGQ,CAAA,CACtB,CAEJ,CCvDA,MAAMG,EAAsB,8BAMrB,SAASC,GAAMnL,EAAgD,CACpE,KAAM,CAAE,SAAAG,EAAU,GAAA0C,EAAI,QAAAuI,EAAS,QAAA1H,EAAS,GAAGtC,GAASpB,EAC9C2D,EAAcxD,GAAY,MAAQA,IAAa,GAC/CjB,EAAOmM,EAAAA,cAAc,CACzB,SAAU1H,EACLuH,EACD,OACJ,GAAArI,EACA,QAAAuI,EACA,QAAA1H,CAAA,CACD,EACD,OAAOlD,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,GAAIuC,EAAc,CAAE,CAACuH,CAAmB,EAAG/K,CAAA,EAAa,CAAA,CAAC,CAC3D,CAEJ,CCxBA,MAAMmL,EAAwB,gCAMvB,SAASC,GAAQvL,EAAkD,CACxE,KAAM,CAAE,SAAAG,EAAU,GAAA0C,EAAI,KAAAyG,EAAM,KAAArG,EAAM,QAAAuI,EAAS,GAAGpK,GAASpB,EACjD2D,EAAcxD,GAAY,MAAQA,IAAa,GAC/CjB,EAAOuM,EAAAA,gBAAgB,CAC3B,SAAU9H,EACL2H,EACD,OACJ,GAAAzI,EACA,KAAAyG,EACA,KAAArG,EACA,QAAAuI,CAAA,CACD,EACD,OAAOhL,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,GAAIuC,EAAc,CAAE,CAAC2H,CAAqB,EAAGnL,CAAA,EAAa,CAAA,CAAC,CAC7D,CAEJ,CCzBA,MAAMuL,EAAoB,4BACpBC,EAAuB,+BAOtB,SAASC,GAAO5L,EAAiD,CACtE,KAAM,CAAE,SAAAG,EAAU,aAAA0L,EAAc,GAAAhJ,EAAI,MAAAiJ,EAAO,QAAApI,EAAS,GAAGtC,GAASpB,EAC1D2D,EAAcxD,GAAY,MAAQA,IAAa,GAC/CjB,EAAO6M,EAAAA,eAAe,CAC1B,SAAUpI,EACLgI,EACD,OACJ,aAAAE,EACA,GAAAhJ,EACA,MAAO6I,EACP,QAAAhI,CAAA,CACD,EACD,OAAOlD,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,CAACsK,CAAiB,EAAGI,EACrB,GAAInI,EAAc,CAAE,CAACgI,CAAoB,EAAGxL,CAAA,EAAa,CAAA,CAAC,CAC5D,CAEJ,CC5BA,MAAM6L,EAAsB,8BAMrB,SAASC,GAAMjM,EAAgD,CACpE,KAAM,CACJ,SAAAG,EACA,MAAAwC,EACA,mBAAAuJ,EACA,GAAArJ,EACA,YAAAsJ,EACA,SAAArJ,EACA,WAAAsJ,EACA,WAAApJ,EACA,GAAG5B,CAAA,EACDpB,EACEd,EAAOmN,EAAAA,cAAc,CACzB,SAAUL,EACV,MAAArJ,EACA,mBAAAuJ,EACA,GAAArJ,EACA,YAAAsJ,EACA,SAAArJ,EACA,WAAAsJ,EACA,WAAApJ,CAAA,CACD,EACD,OAAOxC,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,CAAC4K,CAAmB,EAAG7L,CAAA,CACzB,CAEJ,CClCO,SAASmM,GAAOtM,EAAiD,CACtE,OAAOQ,EACL+L,EAAAA,eAAevM,CAAK,EACpBY,EAAiBZ,CAA2C,CAAA,CAEhE,CCAO,SAASwM,GAAMxM,EAAgD,CACpEqB,OAAAA,EAAAA,UAAU,IAAM,CACdoL,iBAAA,CACF,EAAG,CAAA,CAAE,EACEjM,EACLkM,EAAAA,cAAc1M,CAAK,EACnBY,EAAiBZ,CAA2C,CAAA,CAEhE,CCdA,MAAM2M,EAAqB,6BAMpB,SAASC,GAAK5M,EAA+C,CAClE,KAAM,CACJ,sBAAA6M,EACA,QAAAC,EACA,MAAAC,EACA,SAAA5M,EACA,IAAA6M,EACA,GAAAnK,EACA,KAAAoK,EACA,MAAAC,EACA,GAAG9L,CAAA,EACDpB,EACEd,EAAOiO,EAAAA,aAAa,CACxB,sBAAAN,EACA,QAAAC,EACA,MAAAC,EACA,SAAUJ,EACV,IAAAK,EACA,GAAAnK,EACA,KAAAoK,EACA,MAAAC,CAAA,CACD,EACD,OAAO1M,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,CAACuL,CAAkB,EAAGxM,CAAA,CACxB,CAEJ,CC/BA,MAAMiN,EAAsB,8BACtBC,EAAwB,gCACxBC,EAAsB,8BAWrB,SAASC,GAAQvN,EAAkD,CACxE,KAAM,CACJ,cAAAwN,EACA,WAAAC,EACA,SAAAtN,EACA,cAAAuN,EACA,OAAA3C,EACA,OAAAJ,EACA,GAAA9H,EACA,QAAAa,EACA,aAAAiK,EACA,GAAGvM,CAAA,EACDpB,EACE4N,EAAYjD,GAAU,MAAQA,IAAW,GACzChH,EAAcxD,GAAY,MAAQA,IAAa,GAC/C0N,EAAY9C,GAAU,MAAQA,IAAW,GACzC7L,EAAO4O,EAAAA,gBAAgB,CAC3B,cAAAN,EACA,WAAAC,EACA,SAAU9J,EACL0J,EACD,OACJ,cAAAK,EACA,OAAQG,EACHP,EACD,OACJ,OAAQM,EACHR,EACD,OACJ,GAAAvK,EACA,QAAAa,EACA,aAAAiK,CAAA,CACD,EACDtM,OAAAA,EAAAA,UAAU,IAAM,CACd0M,mBAAA,CACF,EAAG,CAAA,CAAE,EACEvN,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,GAAIwM,EAAY,CAAE,CAACR,CAAmB,EAAGzC,CAAA,EAAW,CAAA,EACpD,GAAIhH,EAAc,CAAE,CAAC0J,CAAqB,EAAGlN,CAAA,EAAa,CAAA,EAC1D,GAAI0N,EAAY,CAAE,CAACP,CAAmB,EAAGvC,CAAA,EAAW,CAAA,CAAC,CACvD,CAEJ,CC7DO,SAASiD,GAAQhO,EAAkD,CACxE,OAAOQ,EACLyN,EAAAA,gBAAgBjO,CAAK,EACrBY,EAAiBZ,CAA2C,CAAA,CAEhE,CCNA,MAAMkO,EAAsB,8BAMrB,SAASC,GAAMnO,EAAgD,CACpE,KAAM,CAAE,MAAA2C,EAAO,GAAAsF,EAAI,SAAA9H,EAAU,IAAAoG,EAAK,GAAA1D,EAAI,WAAAG,EAAY,GAAG5B,CAAA,EAASpB,EACxD2D,EAAcxD,GAAY,MAAQA,IAAa,GAC/CjB,EAAOkP,EAAAA,cAAc,CACzB,MAAAzL,EACA,GAAAsF,EACA,SAAUtE,EACLuK,EACD,OACJ,IAAA3H,EACA,GAAA1D,EACA,WAAAG,CAAA,CACD,EACD,OAAOxC,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,GAAIuC,EAAc,CAAE,CAACuK,CAAmB,EAAG/N,CAAA,EAAa,CAAA,CAAC,CAC3D,CAEJ,CC1BA,MAAMkO,EAAwB,gCAMvB,SAASC,GAAQtO,EAAkD,CACxE,KAAM,CAAE,SAAAG,EAAU,aAAA0L,EAAc,GAAAhJ,EAAI,QAAA2I,EAAS,GAAGpK,GAASpB,EACnDd,EAAOqP,EAAAA,gBAAgB,CAC3B,SAAUF,EACV,aAAAxC,EACA,GAAAhJ,EACA,QAAA2I,CAAA,CACD,EACD,OAAOhL,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,CAACiN,CAAqB,EAAGlO,CAAA,CAC3B,CAEJ,CCpBO,SAASqO,GAAOxO,EAAiD,CACtE,OAAOQ,EACLiO,EAAAA,eAAezO,CAAK,EACpBY,EAAiBZ,CAA2C,CAAA,CAEhE,CCNA,MAAM0O,EAAqB,6BAMpB,SAASC,GAAK3O,EAA+C,CAClE,KAAM,CACJ,GAAAiI,EACA,SAAA9H,EACA,GAAA0C,EACA,YAAAsJ,EACA,WAAAnJ,EACA,MAAAL,EACA,SAAAG,EACA,WAAAsJ,EACA,KAAAnJ,EACA,KAAAqG,EACA,GAAGlI,CAAA,EACDpB,EACEd,EAAO0P,EAAAA,aAAa,CACxB,GAAA3G,EACA,SAAUyG,EACV,GAAA7L,EACA,YAAAsJ,EACA,WAAAnJ,EACA,MAAAL,EACA,SAAAG,EACA,WAAAsJ,EACA,KAAAnJ,EACA,KAAAqG,CAAA,CACD,EACD,OAAO9I,EACLtB,EACA0B,EAAiBQ,CAA0C,EAC3D,CACE,CAACsN,CAAkB,EAAGvO,CAAA,CACxB,CAEJ,CCtCO,SAAS0O,GAAS7O,EAAmD,CAC1E,OAAOQ,EACLsO,EAAAA,iBAAiB9O,CAAK,EACtBY,EAAiBZ,CAA2C,CAAA,CAEhE,CCAO,SAAS+O,GAAM/O,EAAgD,CACpEqB,OAAAA,EAAAA,UAAU,IAAM,CACd2N,iBAAA,CACF,EAAG,CAAA,CAAE,EACExO,EACLyO,EAAAA,cAAcjP,CAAK,EACnBY,EAAiBZ,CAA2C,CAAA,CAEhE"}
|
package/dist/index.js
CHANGED
|
@@ -351,16 +351,17 @@ function Fn(e) {
|
|
|
351
351
|
}
|
|
352
352
|
const M = "__SET_SLOT_FIGURE_CHILDREN__", U = "__SET_SLOT_FIGURE_CAPTION__";
|
|
353
353
|
function xn(e) {
|
|
354
|
-
const { align: n, caption: t, children: r, id: c,
|
|
354
|
+
const { align: n, caption: t, children: r, id: c, inlineSize: s, responsive: i, ...o } = e, a = ge({
|
|
355
355
|
align: n,
|
|
356
356
|
caption: U,
|
|
357
357
|
children: M,
|
|
358
358
|
id: c,
|
|
359
|
-
|
|
359
|
+
inlineSize: s,
|
|
360
|
+
responsive: i
|
|
360
361
|
});
|
|
361
362
|
return l(
|
|
362
|
-
|
|
363
|
-
_(
|
|
363
|
+
a,
|
|
364
|
+
_(o),
|
|
364
365
|
{
|
|
365
366
|
[M]: r,
|
|
366
367
|
[U]: t
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/reactify.tsx","../src/components/alert/alert.tsx","../src/components/avatar/avatar.tsx","../src/components/badge/badge.tsx","../src/components/banner/banner.tsx","../src/components/blockquote/blockquote.tsx","../src/components/box/box.tsx","../src/components/button/button.tsx","../src/components/card/card.tsx","../src/components/checkbox/checkbox.tsx","../src/components/container/container.tsx","../src/components/details/details.tsx","../src/components/divider/divider.tsx","../src/components/expander/expander.tsx","../src/components/fieldset/fieldset.tsx","../src/components/figure/figure.tsx","../src/components/grid/grid.tsx","../src/components/grid-item/grid-item.tsx","../src/components/heading/heading.tsx","../src/components/icon/icon.tsx","../src/components/image/image.tsx","../src/components/inline/inline.tsx","../src/components/input/input.tsx","../src/components/lightswitch/lightswitch.tsx","../src/components/link/link.tsx","../src/components/logo/logo.tsx","../src/components/menu/menu.tsx","../src/components/nav/nav.tsx","../src/components/page/page.tsx","../src/components/panel/panel.tsx","../src/components/pattern/pattern.tsx","../src/components/poster/poster.tsx","../src/components/prose/prose.tsx","../src/components/radios/radios.tsx","../src/components/range/range.tsx","../src/components/root/root.tsx","../src/components/sidebar/sidebar.tsx","../src/components/spinner/spinner.tsx","../src/components/stack/stack.tsx","../src/components/surface/surface.tsx","../src/components/switch/switch.tsx","../src/components/text/text.tsx","../src/components/textarea/textarea.tsx","../src/components/video/video.tsx"],"sourcesContent":["import { serializeSetNode, type SetNode } from \"@monospaced/set-core\";\nimport {\n createElement,\n type DOMAttributes,\n Fragment,\n type ReactNode,\n type Ref,\n} from \"react\";\n\n/**\n * HTML-canonical attribute names React renames. `aria-*` / `data-*` are\n * pass-through. Small, hand-maintained; add entries when SSR-parity tests\n * or React dev warnings surface a miss.\n */\nconst ATTR_NAME_MAP: Readonly<Record<string, string>> = {\n autocomplete: \"autoComplete\",\n class: \"className\",\n for: \"htmlFor\",\n readonly: \"readOnly\",\n spellcheck: \"spellCheck\",\n srcset: \"srcSet\",\n \"stroke-linecap\": \"strokeLinecap\",\n \"stroke-linejoin\": \"strokeLinejoin\",\n \"stroke-width\": \"strokeWidth\",\n tabindex: \"tabIndex\",\n};\n\n// Form-control tags. Caller event handlers route to these descendants\n// rather than the wrapper so React's controlled-input checks fire on the\n// right element.\nconst PRIMARY_CONTROL_TAGS = new Set([\"input\", \"textarea\", \"select\"]);\n\n/**\n * Native attrs a Set React wrapper forwards to the root element:\n * React's `DOMAttributes` surface (event handlers, minus `children` and\n * `dangerouslySetInnerHTML`) plus `ref` and `autoFocus`. Everything else\n * (class, data-*, aria-*, id, href, disabled, …) is owned by core's SPEC.\n * The generic element-specialises event handler types.\n */\nexport type NativeAttrsFor<E extends Element> = Omit<\n DOMAttributes<E>,\n \"children\" | \"dangerouslySetInnerHTML\"\n> & {\n ref?: Ref<E>;\n autoFocus?: boolean;\n};\n\n/**\n * Convert a Set IR attr record into React props. `false` is kept\n * for HTML boolean attrs (so React sees `checked={false}` as controlled,\n * not absent) but dropped for `data-*`/`aria-*` (matches SSR omit). `true`\n * on `data-*` becomes `\"\"` so React renders the bare attribute.\n */\nfunction toReactProps(\n attrs: Record<string, string | boolean | undefined>,\n): Record<string, unknown> {\n const out: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(attrs)) {\n if (value == null) continue;\n if (\n value === false &&\n (key.startsWith(\"data-\") || key.startsWith(\"aria-\"))\n ) {\n continue;\n }\n const reactKey = ATTR_NAME_MAP[key] ?? key;\n out[reactKey] = value === true && key.startsWith(\"data-\") ? \"\" : value;\n }\n return out;\n}\n\nfunction collectPrimaryControls(node: SetNode): SetNode[] {\n const out: SetNode[] = [];\n const visit = (n: SetNode): void => {\n if (n.kind !== \"element\") return;\n if (PRIMARY_CONTROL_TAGS.has(n.tag)) out.push(n);\n for (const child of n.children) visit(child);\n };\n visit(node);\n return out;\n}\n\ntype SplitExtras = {\n rootExtras: Record<string, unknown>;\n primaryFirstExtras: Record<string, unknown>;\n primaryRestExtras: Record<string, unknown>;\n};\n\n// `ref` stays on the wrapper; control extras route to every primary control;\n// `autoFocus` lands on the first primary only.\nfunction splitExtras(extras: Record<string, unknown>): SplitExtras {\n const rootExtras: Record<string, unknown> = {};\n const controlExtras: Record<string, unknown> = {};\n let autoFocus: unknown;\n for (const [key, value] of Object.entries(extras)) {\n if (value === undefined) continue;\n if (key === \"ref\") rootExtras[key] = value;\n else if (key === \"autoFocus\") autoFocus = value;\n else controlExtras[key] = value;\n }\n const primaryFirstExtras =\n autoFocus !== undefined\n ? { autoFocus, ...controlExtras }\n : { ...controlExtras };\n return { rootExtras, primaryFirstExtras, primaryRestExtras: controlExtras };\n}\n\ntype RenderCtx = {\n slots: Record<string, ReactNode>;\n primaries: SetNode[];\n primaryFirstExtras: Record<string, unknown>;\n primaryRestExtras: Record<string, unknown>;\n};\n\nfunction extrasForNode(node: SetNode, ctx: RenderCtx): Record<string, unknown> {\n if (ctx.primaries.length === 0) return {};\n const idx = ctx.primaries.indexOf(node);\n if (idx === 0) return ctx.primaryFirstExtras;\n if (idx > 0) return ctx.primaryRestExtras;\n return {};\n}\n\nfunction buildElementProps(\n node: Extract<SetNode, { kind: \"element\" }>,\n extras: Record<string, unknown>,\n ctx: RenderCtx,\n): { props: Record<string, unknown>; children: ReactNode[] | null } {\n const props: Record<string, unknown> = {\n ...toReactProps(node.attrs),\n ...extras,\n };\n // React's `<textarea>` takes content via `defaultValue` / `value`, not\n // children. Core emits SSR content as a text child; preserve controlled\n // `value` when the wrapper supplied one, otherwise use the child as the\n // uncontrolled initial value.\n if (node.tag === \"textarea\" && node.children.length > 0) {\n const content = node.children\n .map((child) => (child.kind === \"text\" ? child.value : \"\"))\n .join(\"\");\n if (!(\"value\" in props) && content.length > 0) props.defaultValue = content;\n return { props, children: null };\n }\n const hasUnmatchedRaw = node.children.some(\n (child) => child.kind === \"raw\" && !(child.html in ctx.slots),\n );\n if (hasUnmatchedRaw) {\n // React forbids mixing `dangerouslySetInnerHTML` with `children`, so when\n // any child is unmatched raw HTML we serialize every sibling into a\n // single HTML string. Wrappers must avoid placing slot sentinels\n // alongside unrelated raw HTML siblings.\n props.dangerouslySetInnerHTML = {\n __html: node.children.map(serializeSetNode).join(\"\"),\n };\n return { props, children: null };\n }\n const children = node.children.map((child, index) => {\n if (child.kind === \"raw\" && child.html in ctx.slots) {\n return createElement(Fragment, { key: index }, ctx.slots[child.html]);\n }\n return renderNode(child, index, ctx);\n });\n return { props, children };\n}\n\nfunction renderNode(\n node: SetNode,\n key: number | undefined,\n ctx: RenderCtx,\n): ReactNode {\n if (node.kind === \"text\") {\n if (node.value in ctx.slots) {\n return createElement(Fragment, { key }, ctx.slots[node.value]);\n }\n return node.value;\n }\n if (node.kind === \"raw\") {\n if (node.html in ctx.slots) {\n return createElement(Fragment, { key }, ctx.slots[node.html]);\n }\n // Raw nodes should be handled by the parent element. If a raw node\n // appears at the top level, wrap it in a fragment-like span.\n return createElement(\"span\", {\n key,\n dangerouslySetInnerHTML: { __html: node.html },\n });\n }\n const { props, children } = buildElementProps(\n node,\n extrasForNode(node, ctx),\n ctx,\n );\n if (key !== undefined) props.key = key;\n return children === null\n ? createElement(node.tag, props)\n : createElement(node.tag, props, ...children);\n}\n\n/**\n * Render a Set IR tree as React elements. `rootExtras` holds caller\n * passthrough props (event handlers, `ref`, `autoFocus`); these route to\n * the inner form control when the tree contains one (see `splitExtras`),\n * otherwise they land on the root. `slots` substitutes named sentinel\n * children with ReactNodes (e.g. `Page`).\n */\nexport function reactify(\n node: SetNode,\n rootExtras: Record<string, unknown> = {},\n slots: Record<string, ReactNode> = {},\n): ReactNode {\n if (node.kind !== \"element\") {\n const ctx: RenderCtx = {\n slots,\n primaries: [],\n primaryFirstExtras: {},\n primaryRestExtras: {},\n };\n return createElement(Fragment, null, renderNode(node, undefined, ctx));\n }\n const primaries = collectPrimaryControls(node);\n const split: SplitExtras =\n primaries.length > 0\n ? splitExtras(rootExtras)\n : {\n rootExtras,\n primaryFirstExtras: {},\n primaryRestExtras: {},\n };\n const ctx: RenderCtx = {\n slots,\n primaries,\n primaryFirstExtras: split.primaryFirstExtras,\n primaryRestExtras: split.primaryRestExtras,\n };\n const { props, children } = buildElementProps(node, split.rootExtras, ctx);\n return children === null\n ? createElement(node.tag, props)\n : createElement(node.tag, props, ...children);\n}\n\n/**\n * Picks the subset of caller props the adapter forwards through reactify:\n * `ref`, `autoFocus`, controlled `value`, and any `on*` event handler.\n */\nexport function pickNativeExtras(\n source: Record<string, unknown>,\n): Record<string, unknown> {\n const out: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(source)) {\n if (value === undefined) continue;\n if (\n key === \"ref\" ||\n key === \"autoFocus\" ||\n key === \"value\" ||\n key.startsWith(\"on\")\n ) {\n out[key] = value;\n }\n }\n return out;\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetAlert,\n defineSetAlert,\n SET_ALERT_EVENT_BEFORE_DISMISS,\n SET_ALERT_EVENT_DISMISS,\n type SetAlertProps,\n} from \"@monospaced/set-core\";\nimport {\n type Ref,\n type RefCallback,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nfunction assignRef<T>(ref: Ref<T> | undefined, value: T | null): void {\n if (typeof ref === \"function\") ref(value);\n else if (ref) (ref as { current: T | null }).current = value;\n}\n\nexport type AlertBeforeDismissHandler = (event: Event) => void;\n\nexport type AlertDismissHandler = (event: Event) => void;\n\nexport type AlertProps = SetAlertProps &\n NativeAttrsFor<HTMLElement> & {\n onBeforeDismiss?: AlertBeforeDismissHandler;\n onDismiss?: AlertDismissHandler;\n };\n\nexport function Alert(props: AlertProps): ReturnType<typeof reactify> {\n const { onBeforeDismiss, onDismiss, ref: callerRef, ...rest } = props;\n useEffect(() => {\n defineSetAlert();\n }, []);\n const elRef = useRef<HTMLElement | null>(null);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onBeforeDismiss) return;\n el.addEventListener(\n SET_ALERT_EVENT_BEFORE_DISMISS,\n onBeforeDismiss as EventListener,\n );\n return () =>\n el.removeEventListener(\n SET_ALERT_EVENT_BEFORE_DISMISS,\n onBeforeDismiss as EventListener,\n );\n }, [onBeforeDismiss]);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onDismiss) return;\n el.addEventListener(SET_ALERT_EVENT_DISMISS, onDismiss as EventListener);\n return () =>\n el.removeEventListener(\n SET_ALERT_EVENT_DISMISS,\n onDismiss as EventListener,\n );\n }, [onDismiss]);\n const mergedRef = useCallback<RefCallback<HTMLElement>>(\n (node) => {\n elRef.current = node;\n assignRef(callerRef, node);\n },\n [callerRef],\n );\n return reactify(buildSetAlert(props), {\n ...pickNativeExtras(rest as unknown as Record<string, unknown>),\n ref: mergedRef,\n });\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetAvatar, type SetAvatarProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type AvatarProps = SetAvatarProps & NativeAttrsFor<HTMLSpanElement>;\n\nexport function Avatar(props: AvatarProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetAvatar(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetBadge, type SetBadgeProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type BadgeProps = SetBadgeProps & NativeAttrsFor<HTMLSpanElement>;\n\nexport function Badge(props: BadgeProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetBadge(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetBanner,\n defineSetBanner,\n SET_BANNER_EVENT_BEFORE_DISMISS,\n SET_BANNER_EVENT_DISMISS,\n type SetBannerProps,\n} from \"@monospaced/set-core\";\nimport {\n type Ref,\n type RefCallback,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nfunction assignRef<T>(ref: Ref<T> | undefined, value: T | null): void {\n if (typeof ref === \"function\") ref(value);\n else if (ref) (ref as { current: T | null }).current = value;\n}\n\nexport type BannerBeforeDismissHandler = (event: Event) => void;\n\nexport type BannerDismissHandler = (event: Event) => void;\n\nexport type BannerProps = SetBannerProps &\n NativeAttrsFor<HTMLElement> & {\n onBeforeDismiss?: BannerBeforeDismissHandler;\n onDismiss?: BannerDismissHandler;\n };\n\nexport function Banner(props: BannerProps): ReturnType<typeof reactify> {\n const { onBeforeDismiss, onDismiss, ref: callerRef, ...rest } = props;\n useEffect(() => {\n defineSetBanner();\n }, []);\n const elRef = useRef<HTMLElement | null>(null);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onBeforeDismiss) return;\n el.addEventListener(\n SET_BANNER_EVENT_BEFORE_DISMISS,\n onBeforeDismiss as EventListener,\n );\n return () =>\n el.removeEventListener(\n SET_BANNER_EVENT_BEFORE_DISMISS,\n onBeforeDismiss as EventListener,\n );\n }, [onBeforeDismiss]);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onDismiss) return;\n el.addEventListener(SET_BANNER_EVENT_DISMISS, onDismiss as EventListener);\n return () =>\n el.removeEventListener(\n SET_BANNER_EVENT_DISMISS,\n onDismiss as EventListener,\n );\n }, [onDismiss]);\n const mergedRef = useCallback<RefCallback<HTMLElement>>(\n (node) => {\n elRef.current = node;\n assignRef(callerRef, node);\n },\n [callerRef],\n );\n return reactify(buildSetBanner(props), {\n ...pickNativeExtras(rest as unknown as Record<string, unknown>),\n ref: mergedRef,\n });\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetBlockquote,\n type SetBlockquoteProps,\n} from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_BLOCKQUOTE_QUOTE = \"__SET_SLOT_BLOCKQUOTE_QUOTE__\";\nconst SLOT_BLOCKQUOTE_ATTRIBUTION = \"__SET_SLOT_BLOCKQUOTE_ATTRIBUTION__\";\n\nexport type BlockquoteProps = Omit<\n SetBlockquoteProps,\n \"quote\" | \"attribution\"\n> & {\n quote: ReactNode;\n attribution: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Blockquote(\n props: BlockquoteProps,\n): ReturnType<typeof reactify> {\n const { align, attribution, id, measured, quote, responsive, size, ...rest } =\n props;\n const node = buildSetBlockquote({\n align,\n attribution:\n SLOT_BLOCKQUOTE_ATTRIBUTION as unknown as SetBlockquoteProps[\"attribution\"],\n id,\n measured,\n quote: SLOT_BLOCKQUOTE_QUOTE as unknown as SetBlockquoteProps[\"quote\"],\n responsive,\n size,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_BLOCKQUOTE_QUOTE]: quote,\n [SLOT_BLOCKQUOTE_ATTRIBUTION]: attribution,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetBox, type SetBoxProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_BOX_CHILDREN = \"__SET_SLOT_BOX_CHILDREN__\";\n\nexport type BoxProps = Omit<SetBoxProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Box(props: BoxProps): ReturnType<typeof reactify> {\n const {\n background,\n border,\n children,\n id,\n paddingBlock,\n paddingInline,\n radius,\n responsive,\n surface,\n ...rest\n } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetBox({\n background,\n border,\n children: hasChildren\n ? (SLOT_BOX_CHILDREN as unknown as SetBoxProps[\"children\"])\n : undefined,\n id,\n paddingBlock,\n paddingInline,\n radius,\n responsive,\n surface,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_BOX_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetButton, type SetButtonProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type ButtonProps = SetButtonProps & NativeAttrsFor<HTMLButtonElement>;\n\nexport function Button(props: ButtonProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetButton(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetCard, type SetCardProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_CARD_DESCRIPTION = \"__SET_SLOT_CARD_DESCRIPTION__\";\nconst SLOT_CARD_NOTE = \"__SET_SLOT_CARD_NOTE__\";\n\nexport type CardProps = Omit<SetCardProps, \"description\" | \"note\"> & {\n description: ReactNode;\n note?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Card(props: CardProps): ReturnType<typeof reactify> {\n const { description, headingLevel, href, id, note, surface, title, ...rest } =\n props;\n const hasNote = note != null && note !== false;\n const node = buildSetCard({\n description:\n SLOT_CARD_DESCRIPTION as unknown as SetCardProps[\"description\"],\n headingLevel,\n href,\n id,\n note: hasNote\n ? (SLOT_CARD_NOTE as unknown as SetCardProps[\"note\"])\n : undefined,\n surface,\n title,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_CARD_DESCRIPTION]: description,\n ...(hasNote ? { [SLOT_CARD_NOTE]: note } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetCheckbox, type SetCheckboxProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type CheckboxProps = SetCheckboxProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Checkbox(props: CheckboxProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetCheckbox(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetContainer,\n type SetContainerProps,\n} from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_CONTAINER_CHILDREN = \"__SET_SLOT_CONTAINER_CHILDREN__\";\n\nexport type ContainerProps = Omit<SetContainerProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Container(props: ContainerProps): ReturnType<typeof reactify> {\n const { children, gutter, id, maxInlineSize, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetContainer({\n children: hasChildren\n ? (SLOT_CONTAINER_CHILDREN as unknown as SetContainerProps[\"children\"])\n : undefined,\n gutter,\n id,\n maxInlineSize,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_CONTAINER_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetDetails, type SetDetailsProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_DETAILS_CHILDREN = \"__SET_SLOT_DETAILS_CHILDREN__\";\n\nexport type DetailsProps = Omit<SetDetailsProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDetailsElement>;\n\nexport function Details(props: DetailsProps): ReturnType<typeof reactify> {\n const { children, id, inlineSize, open, summary, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetDetails({\n children: hasChildren\n ? (SLOT_DETAILS_CHILDREN as unknown as SetDetailsProps[\"children\"])\n : undefined,\n id,\n inlineSize,\n open,\n summary,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_DETAILS_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetDivider, type SetDividerProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type DividerProps = SetDividerProps & NativeAttrsFor<HTMLElement>;\n\nexport function Divider(props: DividerProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetDivider(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetExpander, type SetExpanderProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type ExpanderProps = SetExpanderProps &\n NativeAttrsFor<HTMLButtonElement>;\n\nexport function Expander(props: ExpanderProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetExpander(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetFieldset, type SetFieldsetProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_FIELDSET_CHILDREN = \"__SET_SLOT_FIELDSET_CHILDREN__\";\n\nexport type FieldsetProps = Omit<SetFieldsetProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLFieldSetElement>;\n\nexport function Fieldset(props: FieldsetProps): ReturnType<typeof reactify> {\n const {\n children,\n description,\n disabled,\n id,\n invalid,\n legend,\n inlineSize,\n ...rest\n } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetFieldset({\n children: hasChildren\n ? (SLOT_FIELDSET_CHILDREN as unknown as SetFieldsetProps[\"children\"])\n : undefined,\n description,\n disabled,\n id,\n invalid,\n legend,\n inlineSize,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_FIELDSET_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetFigure, type SetFigureProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_FIGURE_CHILDREN = \"__SET_SLOT_FIGURE_CHILDREN__\";\nconst SLOT_FIGURE_CAPTION = \"__SET_SLOT_FIGURE_CAPTION__\";\n\nexport type FigureProps = Omit<SetFigureProps, \"children\" | \"caption\"> & {\n children: ReactNode;\n caption: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Figure(props: FigureProps): ReturnType<typeof reactify> {\n const { align, caption, children, id, responsive, ...rest } = props;\n const node = buildSetFigure({\n align,\n caption: SLOT_FIGURE_CAPTION as unknown as SetFigureProps[\"caption\"],\n children: SLOT_FIGURE_CHILDREN as unknown as SetFigureProps[\"children\"],\n id,\n responsive,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_FIGURE_CHILDREN]: children,\n [SLOT_FIGURE_CAPTION]: caption,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetGrid, type SetGridProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_GRID_CHILDREN = \"__SET_SLOT_GRID_CHILDREN__\";\n\nexport type GridProps = Omit<SetGridProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Grid(props: GridProps): ReturnType<typeof reactify> {\n const { children, gap, id, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetGrid({\n children: hasChildren\n ? (SLOT_GRID_CHILDREN as unknown as SetGridProps[\"children\"])\n : undefined,\n gap,\n id,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_GRID_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetGridItem, type SetGridItemProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_GRID_ITEM_CHILDREN = \"__SET_SLOT_GRID_ITEM_CHILDREN__\";\n\nexport type GridItemProps = Omit<SetGridItemProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function GridItem(props: GridItemProps): ReturnType<typeof reactify> {\n const {\n children,\n align,\n justify,\n colSpan,\n colStart,\n id,\n rowSpan,\n rowSpanNarrow,\n rowSpanWide,\n rowStart,\n rowStartNarrow,\n rowStartWide,\n colSpanNarrow,\n colStartNarrow,\n colSpanWide,\n colStartWide,\n ...rest\n } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetGridItem({\n children: hasChildren\n ? (SLOT_GRID_ITEM_CHILDREN as unknown as SetGridItemProps[\"children\"])\n : undefined,\n align,\n justify,\n colSpan,\n colStart,\n id,\n rowSpan,\n rowSpanNarrow,\n rowSpanWide,\n rowStart,\n rowStartNarrow,\n rowStartWide,\n colSpanNarrow,\n colStartNarrow,\n colSpanWide,\n colStartWide,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_GRID_ITEM_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetHeading, type SetHeadingProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type HeadingProps = SetHeadingProps & NativeAttrsFor<HTMLElement>;\n\nexport function Heading(props: HeadingProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetHeading(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetIcon, type SetIconProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type IconProps = SetIconProps & NativeAttrsFor<SVGSVGElement>;\n\nexport function Icon(props: IconProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetIcon(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetImage, type SetImageProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type ImageProps = SetImageProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Image(props: ImageProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetImage(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetInline, type SetInlineProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_INLINE_CHILDREN = \"__SET_SLOT_INLINE_CHILDREN__\";\n\nexport type InlineProps = Omit<SetInlineProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Inline(props: InlineProps): ReturnType<typeof reactify> {\n const { as, align, children, gap, id, justify, nowrap, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetInline({\n as,\n align,\n children: hasChildren\n ? (SLOT_INLINE_CHILDREN as unknown as SetInlineProps[\"children\"])\n : undefined,\n gap,\n id,\n justify,\n nowrap,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_INLINE_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetInput, type SetInputProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type InputProps = SetInputProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Input(props: InputProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetInput(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetLightswitch,\n defineSetLightswitch,\n SET_LIGHTSWITCH_EVENT_CHANGE,\n type SetLightswitchProps,\n} from \"@monospaced/set-core\";\nimport {\n type Ref,\n type RefCallback,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nfunction assignRef<T>(ref: Ref<T> | undefined, value: T | null): void {\n if (typeof ref === \"function\") ref(value);\n else if (ref) (ref as { current: T | null }).current = value;\n}\n\nexport type LightswitchChangeHandler = (event: Event) => void;\n\nexport type LightswitchProps = SetLightswitchProps &\n NativeAttrsFor<HTMLElement> & {\n onChange?: LightswitchChangeHandler;\n };\n\nexport function Lightswitch(\n props: LightswitchProps,\n): ReturnType<typeof reactify> {\n const { onChange, ref: callerRef, ...rest } = props;\n useEffect(() => {\n defineSetLightswitch();\n }, []);\n const elRef = useRef<HTMLElement | null>(null);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onChange) return;\n el.addEventListener(\n SET_LIGHTSWITCH_EVENT_CHANGE,\n onChange as EventListener,\n );\n return () =>\n el.removeEventListener(\n SET_LIGHTSWITCH_EVENT_CHANGE,\n onChange as EventListener,\n );\n }, [onChange]);\n const mergedRef = useCallback<RefCallback<HTMLElement>>(\n (node) => {\n elRef.current = node;\n assignRef(callerRef, node);\n },\n [callerRef],\n );\n return reactify(buildSetLightswitch(props), {\n ...pickNativeExtras(rest as unknown as Record<string, unknown>),\n ref: mergedRef,\n });\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetLink, type SetLinkProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_LINK_ICON = \"__SET_SLOT_LINK_ICON__\";\n\nexport type LinkProps = Omit<SetLinkProps, \"icon\"> & {\n icon?: ReactNode;\n} & NativeAttrsFor<HTMLAnchorElement>;\n\nexport function Link(props: LinkProps): ReturnType<typeof reactify> {\n const {\n appearance,\n current,\n download,\n href,\n id,\n icon,\n iconPlacement,\n label,\n labelVisibility,\n rel,\n size,\n target,\n tone,\n underline,\n ...rest\n } = props;\n const hasIcon = icon != null && icon !== false;\n const node = buildSetLink({\n appearance,\n current,\n download,\n href,\n id,\n icon: hasIcon\n ? (SLOT_LINK_ICON as unknown as SetLinkProps[\"icon\"])\n : undefined,\n iconPlacement,\n label,\n labelVisibility,\n rel,\n size,\n target,\n tone,\n underline,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasIcon ? { [SLOT_LINK_ICON]: icon } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetLogo, type SetLogoProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type LogoProps = SetLogoProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Logo(props: LogoProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetLogo(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetMenu,\n defineSetMenu,\n SET_MENU_EVENT_CHOOSE,\n type SetMenuProps,\n} from \"@monospaced/set-core\";\nimport {\n type Ref,\n type RefCallback,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nfunction assignRef<T>(ref: Ref<T> | undefined, value: T | null): void {\n if (typeof ref === \"function\") ref(value);\n else if (ref) (ref as { current: T | null }).current = value;\n}\n\nexport type MenuChooseDetail = { id?: string; index: number; label: string };\n\nexport type MenuChooseEvent = CustomEvent<MenuChooseDetail>;\n\nexport type MenuChooseHandler = (event: MenuChooseEvent) => void;\n\nexport type MenuProps = SetMenuProps &\n NativeAttrsFor<HTMLElement> & {\n onChoose?: MenuChooseHandler;\n };\n\nexport function Menu(props: MenuProps): ReturnType<typeof reactify> {\n const { onChoose, ref: callerRef, ...rest } = props;\n useEffect(() => {\n defineSetMenu();\n }, []);\n const elRef = useRef<HTMLElement | null>(null);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onChoose) return;\n el.addEventListener(SET_MENU_EVENT_CHOOSE, onChoose as EventListener);\n return () =>\n el.removeEventListener(SET_MENU_EVENT_CHOOSE, onChoose as EventListener);\n }, [onChoose]);\n const mergedRef = useCallback<RefCallback<HTMLElement>>(\n (node) => {\n elRef.current = node;\n assignRef(callerRef, node);\n },\n [callerRef],\n );\n return reactify(buildSetMenu(props), {\n ...pickNativeExtras(rest as unknown as Record<string, unknown>),\n ref: mergedRef,\n });\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetNav,\n defineSetNav,\n type SetNavProps,\n} from \"@monospaced/set-core\";\nimport { useEffect } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type NavProps = SetNavProps & NativeAttrsFor<HTMLElement>;\n\nexport function Nav(props: NavProps): ReturnType<typeof reactify> {\n useEffect(() => {\n defineSetNav();\n }, []);\n return reactify(\n buildSetNav(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetPage, type SetPageProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_PAGE_BANNER = \"__SET_SLOT_PAGE_BANNER__\";\nconst SLOT_PAGE_HEADER = \"__SET_SLOT_PAGE_HEADER__\";\nconst SLOT_PAGE_CHILDREN = \"__SET_SLOT_PAGE_CHILDREN__\";\nconst SLOT_PAGE_FOOTER = \"__SET_SLOT_PAGE_FOOTER__\";\n\nexport type PageProps = Omit<\n SetPageProps,\n \"banner\" | \"header\" | \"children\" | \"footer\"\n> & {\n banner?: ReactNode;\n header: ReactNode;\n children?: ReactNode;\n footer: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Page(props: PageProps): ReturnType<typeof reactify> {\n const {\n banner,\n children,\n centerMain,\n header,\n headerBorder,\n headerSize,\n id,\n stickyHeader,\n footer,\n ...rest\n } = props;\n const hasBanner = banner != null && banner !== false;\n const hasChildren = children != null && children !== false;\n const node = buildSetPage({\n banner: hasBanner\n ? (SLOT_PAGE_BANNER as unknown as SetPageProps[\"banner\"])\n : undefined,\n children: hasChildren\n ? (SLOT_PAGE_CHILDREN as unknown as SetPageProps[\"children\"])\n : undefined,\n centerMain,\n header: SLOT_PAGE_HEADER as unknown as SetPageProps[\"header\"],\n headerBorder,\n headerSize,\n id,\n stickyHeader,\n footer: SLOT_PAGE_FOOTER as unknown as SetPageProps[\"footer\"],\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasBanner ? { [SLOT_PAGE_BANNER]: banner } : {}),\n [SLOT_PAGE_HEADER]: header,\n ...(hasChildren ? { [SLOT_PAGE_CHILDREN]: children } : {}),\n [SLOT_PAGE_FOOTER]: footer,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetPanel, type SetPanelProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_PANEL_CHILDREN = \"__SET_SLOT_PANEL_CHILDREN__\";\n\nexport type PanelProps = Omit<SetPanelProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Panel(props: PanelProps): ReturnType<typeof reactify> {\n const { children, id, padding, surface, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetPanel({\n children: hasChildren\n ? (SLOT_PANEL_CHILDREN as unknown as SetPanelProps[\"children\"])\n : undefined,\n id,\n padding,\n surface,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_PANEL_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetPattern, type SetPatternProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_PATTERN_CHILDREN = \"__SET_SLOT_PATTERN_CHILDREN__\";\n\nexport type PatternProps = Omit<SetPatternProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Pattern(props: PatternProps): ReturnType<typeof reactify> {\n const { children, id, tone, size, variant, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetPattern({\n children: hasChildren\n ? (SLOT_PATTERN_CHILDREN as unknown as SetPatternProps[\"children\"])\n : undefined,\n id,\n tone,\n size,\n variant,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_PATTERN_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetPoster, type SetPosterProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_POSTER_MEDIA = \"__SET_SLOT_POSTER_MEDIA__\";\nconst SLOT_POSTER_CHILDREN = \"__SET_SLOT_POSTER_CHILDREN__\";\n\nexport type PosterProps = Omit<SetPosterProps, \"media\" | \"children\"> & {\n media: ReactNode;\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Poster(props: PosterProps): ReturnType<typeof reactify> {\n const { children, contentTheme, id, media, surface, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetPoster({\n children: hasChildren\n ? (SLOT_POSTER_CHILDREN as unknown as SetPosterProps[\"children\"])\n : undefined,\n contentTheme,\n id,\n media: SLOT_POSTER_MEDIA as unknown as SetPosterProps[\"media\"],\n surface,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_POSTER_MEDIA]: media,\n ...(hasChildren ? { [SLOT_POSTER_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetProse, type SetProseProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_PROSE_CHILDREN = \"__SET_SLOT_PROSE_CHILDREN__\";\n\nexport type ProseProps = Omit<SetProseProps, \"children\"> & {\n children: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Prose(props: ProseProps): ReturnType<typeof reactify> {\n const {\n children,\n align,\n hangingPunctuation,\n id,\n linkVisited,\n measured,\n monospaced,\n responsive,\n ...rest\n } = props;\n const node = buildSetProse({\n children: SLOT_PROSE_CHILDREN as unknown as SetProseProps[\"children\"],\n align,\n hangingPunctuation,\n id,\n linkVisited,\n measured,\n monospaced,\n responsive,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_PROSE_CHILDREN]: children,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetRadios, type SetRadiosProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type RadiosProps = SetRadiosProps & NativeAttrsFor<HTMLFieldSetElement>;\n\nexport function Radios(props: RadiosProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetRadios(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetRange,\n defineSetRange,\n type SetRangeProps,\n} from \"@monospaced/set-core\";\nimport { useEffect } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type RangeProps = SetRangeProps & NativeAttrsFor<HTMLElement>;\n\nexport function Range(props: RangeProps): ReturnType<typeof reactify> {\n useEffect(() => {\n defineSetRange();\n }, []);\n return reactify(\n buildSetRange(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetRoot, type SetRootProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_ROOT_CHILDREN = \"__SET_SLOT_ROOT_CHILDREN__\";\n\nexport type RootProps = Omit<SetRootProps, \"children\"> & {\n children: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Root(props: RootProps): ReturnType<typeof reactify> {\n const {\n appOverscrollBehavior,\n appRoot,\n brand,\n children,\n dir,\n id,\n lang,\n theme,\n ...rest\n } = props;\n const node = buildSetRoot({\n appOverscrollBehavior,\n appRoot,\n brand,\n children: SLOT_ROOT_CHILDREN as unknown as SetRootProps[\"children\"],\n dir,\n id,\n lang,\n theme,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_ROOT_CHILDREN]: children,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetSidebar,\n defineSetSidebar,\n type SetSidebarProps,\n} from \"@monospaced/set-core\";\nimport { type ReactNode, useEffect } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_SIDEBAR_HEADER = \"__SET_SLOT_SIDEBAR_HEADER__\";\nconst SLOT_SIDEBAR_CHILDREN = \"__SET_SLOT_SIDEBAR_CHILDREN__\";\nconst SLOT_SIDEBAR_FOOTER = \"__SET_SLOT_SIDEBAR_FOOTER__\";\n\nexport type SidebarProps = Omit<\n SetSidebarProps,\n \"header\" | \"children\" | \"footer\"\n> & {\n header?: ReactNode;\n children?: ReactNode;\n footer?: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Sidebar(props: SidebarProps): ReturnType<typeof reactify> {\n const {\n aboveNotebook,\n buttonSize,\n children,\n collapseLabel,\n footer,\n header,\n id,\n surface,\n triggerLabel,\n ...rest\n } = props;\n const hasHeader = header != null && header !== false;\n const hasChildren = children != null && children !== false;\n const hasFooter = footer != null && footer !== false;\n const node = buildSetSidebar({\n aboveNotebook,\n buttonSize,\n children: hasChildren\n ? (SLOT_SIDEBAR_CHILDREN as unknown as SetSidebarProps[\"children\"])\n : undefined,\n collapseLabel,\n footer: hasFooter\n ? (SLOT_SIDEBAR_FOOTER as unknown as SetSidebarProps[\"footer\"])\n : undefined,\n header: hasHeader\n ? (SLOT_SIDEBAR_HEADER as unknown as SetSidebarProps[\"header\"])\n : undefined,\n id,\n surface,\n triggerLabel,\n });\n useEffect(() => {\n defineSetSidebar();\n }, []);\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasHeader ? { [SLOT_SIDEBAR_HEADER]: header } : {}),\n ...(hasChildren ? { [SLOT_SIDEBAR_CHILDREN]: children } : {}),\n ...(hasFooter ? { [SLOT_SIDEBAR_FOOTER]: footer } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetSpinner, type SetSpinnerProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type SpinnerProps = SetSpinnerProps & NativeAttrsFor<HTMLSpanElement>;\n\nexport function Spinner(props: SpinnerProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetSpinner(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetStack, type SetStackProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_STACK_CHILDREN = \"__SET_SLOT_STACK_CHILDREN__\";\n\nexport type StackProps = Omit<SetStackProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Stack(props: StackProps): ReturnType<typeof reactify> {\n const { align, as, children, gap, id, responsive, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetStack({\n align,\n as,\n children: hasChildren\n ? (SLOT_STACK_CHILDREN as unknown as SetStackProps[\"children\"])\n : undefined,\n gap,\n id,\n responsive,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_STACK_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetSurface, type SetSurfaceProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_SURFACE_CHILDREN = \"__SET_SLOT_SURFACE_CHILDREN__\";\n\nexport type SurfaceProps = Omit<SetSurfaceProps, \"children\"> & {\n children: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Surface(props: SurfaceProps): ReturnType<typeof reactify> {\n const { children, contentTheme, id, variant, ...rest } = props;\n const node = buildSetSurface({\n children: SLOT_SURFACE_CHILDREN as unknown as SetSurfaceProps[\"children\"],\n contentTheme,\n id,\n variant,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_SURFACE_CHILDREN]: children,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetSwitch, type SetSwitchProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type SwitchProps = SetSwitchProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Switch(props: SwitchProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetSwitch(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetText, type SetTextProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_TEXT_CHILDREN = \"__SET_SLOT_TEXT_CHILDREN__\";\n\nexport type TextProps = Omit<SetTextProps, \"children\"> & {\n children: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Text(props: TextProps): ReturnType<typeof reactify> {\n const {\n as,\n children,\n id,\n linkVisited,\n responsive,\n align,\n measured,\n monospaced,\n size,\n tone,\n ...rest\n } = props;\n const node = buildSetText({\n as,\n children: SLOT_TEXT_CHILDREN as unknown as SetTextProps[\"children\"],\n id,\n linkVisited,\n responsive,\n align,\n measured,\n monospaced,\n size,\n tone,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_TEXT_CHILDREN]: children,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetTextarea, type SetTextareaProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type TextareaProps = SetTextareaProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Textarea(props: TextareaProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetTextarea(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetVideo,\n defineSetVideo,\n type SetVideoProps,\n} from \"@monospaced/set-core\";\nimport { useEffect } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type VideoProps = SetVideoProps & NativeAttrsFor<HTMLElement>;\n\nexport function Video(props: VideoProps): ReturnType<typeof reactify> {\n useEffect(() => {\n defineSetVideo();\n }, []);\n return reactify(\n buildSetVideo(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n"],"names":["ATTR_NAME_MAP","PRIMARY_CONTROL_TAGS","toReactProps","attrs","out","key","value","reactKey","collectPrimaryControls","node","visit","n","child","splitExtras","extras","rootExtras","controlExtras","autoFocus","primaryFirstExtras","extrasForNode","ctx","idx","buildElementProps","props","content","serializeSetNode","children","index","createElement","Fragment","renderNode","reactify","slots","primaries","split","pickNativeExtras","source","assignRef","ref","Alert","onBeforeDismiss","onDismiss","callerRef","rest","useEffect","defineSetAlert","elRef","useRef","el","SET_ALERT_EVENT_BEFORE_DISMISS","SET_ALERT_EVENT_DISMISS","mergedRef","useCallback","buildSetAlert","Avatar","buildSetAvatar","Badge","buildSetBadge","Banner","defineSetBanner","SET_BANNER_EVENT_BEFORE_DISMISS","SET_BANNER_EVENT_DISMISS","buildSetBanner","SLOT_BLOCKQUOTE_QUOTE","SLOT_BLOCKQUOTE_ATTRIBUTION","Blockquote","align","attribution","id","measured","quote","responsive","size","buildSetBlockquote","SLOT_BOX_CHILDREN","Box","background","border","paddingBlock","paddingInline","radius","surface","hasChildren","buildSetBox","Button","buildSetButton","SLOT_CARD_DESCRIPTION","SLOT_CARD_NOTE","Card","description","headingLevel","href","note","title","hasNote","buildSetCard","Checkbox","buildSetCheckbox","SLOT_CONTAINER_CHILDREN","Container","gutter","maxInlineSize","buildSetContainer","SLOT_DETAILS_CHILDREN","Details","inlineSize","open","summary","buildSetDetails","Divider","buildSetDivider","Expander","buildSetExpander","SLOT_FIELDSET_CHILDREN","Fieldset","disabled","invalid","legend","buildSetFieldset","SLOT_FIGURE_CHILDREN","SLOT_FIGURE_CAPTION","Figure","caption","buildSetFigure","SLOT_GRID_CHILDREN","Grid","gap","buildSetGrid","SLOT_GRID_ITEM_CHILDREN","GridItem","justify","colSpan","colStart","rowSpan","rowSpanNarrow","rowSpanWide","rowStart","rowStartNarrow","rowStartWide","colSpanNarrow","colStartNarrow","colSpanWide","colStartWide","buildSetGridItem","Heading","buildSetHeading","Icon","buildSetIcon","Image","buildSetImage","SLOT_INLINE_CHILDREN","Inline","as","nowrap","buildSetInline","Input","buildSetInput","Lightswitch","onChange","defineSetLightswitch","SET_LIGHTSWITCH_EVENT_CHANGE","buildSetLightswitch","SLOT_LINK_ICON","Link","appearance","current","download","icon","iconPlacement","label","labelVisibility","rel","target","tone","underline","hasIcon","buildSetLink","Logo","buildSetLogo","Menu","onChoose","defineSetMenu","SET_MENU_EVENT_CHOOSE","buildSetMenu","Nav","defineSetNav","buildSetNav","SLOT_PAGE_BANNER","SLOT_PAGE_HEADER","SLOT_PAGE_CHILDREN","SLOT_PAGE_FOOTER","Page","banner","centerMain","header","headerBorder","headerSize","stickyHeader","footer","hasBanner","buildSetPage","SLOT_PANEL_CHILDREN","Panel","padding","buildSetPanel","SLOT_PATTERN_CHILDREN","Pattern","variant","buildSetPattern","SLOT_POSTER_MEDIA","SLOT_POSTER_CHILDREN","Poster","contentTheme","media","buildSetPoster","SLOT_PROSE_CHILDREN","Prose","hangingPunctuation","linkVisited","monospaced","buildSetProse","Radios","buildSetRadios","Range","defineSetRange","buildSetRange","SLOT_ROOT_CHILDREN","Root","appOverscrollBehavior","appRoot","brand","dir","lang","theme","buildSetRoot","SLOT_SIDEBAR_HEADER","SLOT_SIDEBAR_CHILDREN","SLOT_SIDEBAR_FOOTER","Sidebar","aboveNotebook","buttonSize","collapseLabel","triggerLabel","hasHeader","hasFooter","buildSetSidebar","defineSetSidebar","Spinner","buildSetSpinner","SLOT_STACK_CHILDREN","Stack","buildSetStack","SLOT_SURFACE_CHILDREN","Surface","buildSetSurface","Switch","buildSetSwitch","SLOT_TEXT_CHILDREN","Text","buildSetText","Textarea","buildSetTextarea","Video","defineSetVideo","buildSetVideo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/reactify.tsx","../src/components/alert/alert.tsx","../src/components/avatar/avatar.tsx","../src/components/badge/badge.tsx","../src/components/banner/banner.tsx","../src/components/blockquote/blockquote.tsx","../src/components/box/box.tsx","../src/components/button/button.tsx","../src/components/card/card.tsx","../src/components/checkbox/checkbox.tsx","../src/components/container/container.tsx","../src/components/details/details.tsx","../src/components/divider/divider.tsx","../src/components/expander/expander.tsx","../src/components/fieldset/fieldset.tsx","../src/components/figure/figure.tsx","../src/components/grid/grid.tsx","../src/components/grid-item/grid-item.tsx","../src/components/heading/heading.tsx","../src/components/icon/icon.tsx","../src/components/image/image.tsx","../src/components/inline/inline.tsx","../src/components/input/input.tsx","../src/components/lightswitch/lightswitch.tsx","../src/components/link/link.tsx","../src/components/logo/logo.tsx","../src/components/menu/menu.tsx","../src/components/nav/nav.tsx","../src/components/page/page.tsx","../src/components/panel/panel.tsx","../src/components/pattern/pattern.tsx","../src/components/poster/poster.tsx","../src/components/prose/prose.tsx","../src/components/radios/radios.tsx","../src/components/range/range.tsx","../src/components/root/root.tsx","../src/components/sidebar/sidebar.tsx","../src/components/spinner/spinner.tsx","../src/components/stack/stack.tsx","../src/components/surface/surface.tsx","../src/components/switch/switch.tsx","../src/components/text/text.tsx","../src/components/textarea/textarea.tsx","../src/components/video/video.tsx"],"sourcesContent":["import { serializeSetNode, type SetNode } from \"@monospaced/set-core\";\nimport {\n createElement,\n type DOMAttributes,\n Fragment,\n type ReactNode,\n type Ref,\n} from \"react\";\n\n/**\n * HTML-canonical attribute names React renames. `aria-*` / `data-*` are\n * pass-through. Small, hand-maintained; add entries when SSR-parity tests\n * or React dev warnings surface a miss.\n */\nconst ATTR_NAME_MAP: Readonly<Record<string, string>> = {\n autocomplete: \"autoComplete\",\n class: \"className\",\n for: \"htmlFor\",\n readonly: \"readOnly\",\n spellcheck: \"spellCheck\",\n srcset: \"srcSet\",\n \"stroke-linecap\": \"strokeLinecap\",\n \"stroke-linejoin\": \"strokeLinejoin\",\n \"stroke-width\": \"strokeWidth\",\n tabindex: \"tabIndex\",\n};\n\n// Form-control tags. Caller event handlers route to these descendants\n// rather than the wrapper so React's controlled-input checks fire on the\n// right element.\nconst PRIMARY_CONTROL_TAGS = new Set([\"input\", \"textarea\", \"select\"]);\n\n/**\n * Native attrs a Set React wrapper forwards to the root element:\n * React's `DOMAttributes` surface (event handlers, minus `children` and\n * `dangerouslySetInnerHTML`) plus `ref` and `autoFocus`. Everything else\n * (class, data-*, aria-*, id, href, disabled, …) is owned by core's SPEC.\n * The generic element-specialises event handler types.\n */\nexport type NativeAttrsFor<E extends Element> = Omit<\n DOMAttributes<E>,\n \"children\" | \"dangerouslySetInnerHTML\"\n> & {\n ref?: Ref<E>;\n autoFocus?: boolean;\n};\n\n/**\n * Convert a Set IR attr record into React props. `false` is kept\n * for HTML boolean attrs (so React sees `checked={false}` as controlled,\n * not absent) but dropped for `data-*`/`aria-*` (matches SSR omit). `true`\n * on `data-*` becomes `\"\"` so React renders the bare attribute.\n */\nfunction toReactProps(\n attrs: Record<string, string | boolean | undefined>,\n): Record<string, unknown> {\n const out: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(attrs)) {\n if (value == null) continue;\n if (\n value === false &&\n (key.startsWith(\"data-\") || key.startsWith(\"aria-\"))\n ) {\n continue;\n }\n const reactKey = ATTR_NAME_MAP[key] ?? key;\n out[reactKey] = value === true && key.startsWith(\"data-\") ? \"\" : value;\n }\n return out;\n}\n\nfunction collectPrimaryControls(node: SetNode): SetNode[] {\n const out: SetNode[] = [];\n const visit = (n: SetNode): void => {\n if (n.kind !== \"element\") return;\n if (PRIMARY_CONTROL_TAGS.has(n.tag)) out.push(n);\n for (const child of n.children) visit(child);\n };\n visit(node);\n return out;\n}\n\ntype SplitExtras = {\n rootExtras: Record<string, unknown>;\n primaryFirstExtras: Record<string, unknown>;\n primaryRestExtras: Record<string, unknown>;\n};\n\n// `ref` stays on the wrapper; control extras route to every primary control;\n// `autoFocus` lands on the first primary only.\nfunction splitExtras(extras: Record<string, unknown>): SplitExtras {\n const rootExtras: Record<string, unknown> = {};\n const controlExtras: Record<string, unknown> = {};\n let autoFocus: unknown;\n for (const [key, value] of Object.entries(extras)) {\n if (value === undefined) continue;\n if (key === \"ref\") rootExtras[key] = value;\n else if (key === \"autoFocus\") autoFocus = value;\n else controlExtras[key] = value;\n }\n const primaryFirstExtras =\n autoFocus !== undefined\n ? { autoFocus, ...controlExtras }\n : { ...controlExtras };\n return { rootExtras, primaryFirstExtras, primaryRestExtras: controlExtras };\n}\n\ntype RenderCtx = {\n slots: Record<string, ReactNode>;\n primaries: SetNode[];\n primaryFirstExtras: Record<string, unknown>;\n primaryRestExtras: Record<string, unknown>;\n};\n\nfunction extrasForNode(node: SetNode, ctx: RenderCtx): Record<string, unknown> {\n if (ctx.primaries.length === 0) return {};\n const idx = ctx.primaries.indexOf(node);\n if (idx === 0) return ctx.primaryFirstExtras;\n if (idx > 0) return ctx.primaryRestExtras;\n return {};\n}\n\nfunction buildElementProps(\n node: Extract<SetNode, { kind: \"element\" }>,\n extras: Record<string, unknown>,\n ctx: RenderCtx,\n): { props: Record<string, unknown>; children: ReactNode[] | null } {\n const props: Record<string, unknown> = {\n ...toReactProps(node.attrs),\n ...extras,\n };\n // React's `<textarea>` takes content via `defaultValue` / `value`, not\n // children. Core emits SSR content as a text child; preserve controlled\n // `value` when the wrapper supplied one, otherwise use the child as the\n // uncontrolled initial value.\n if (node.tag === \"textarea\" && node.children.length > 0) {\n const content = node.children\n .map((child) => (child.kind === \"text\" ? child.value : \"\"))\n .join(\"\");\n if (!(\"value\" in props) && content.length > 0) props.defaultValue = content;\n return { props, children: null };\n }\n const hasUnmatchedRaw = node.children.some(\n (child) => child.kind === \"raw\" && !(child.html in ctx.slots),\n );\n if (hasUnmatchedRaw) {\n // React forbids mixing `dangerouslySetInnerHTML` with `children`, so when\n // any child is unmatched raw HTML we serialize every sibling into a\n // single HTML string. Wrappers must avoid placing slot sentinels\n // alongside unrelated raw HTML siblings.\n props.dangerouslySetInnerHTML = {\n __html: node.children.map(serializeSetNode).join(\"\"),\n };\n return { props, children: null };\n }\n const children = node.children.map((child, index) => {\n if (child.kind === \"raw\" && child.html in ctx.slots) {\n return createElement(Fragment, { key: index }, ctx.slots[child.html]);\n }\n return renderNode(child, index, ctx);\n });\n return { props, children };\n}\n\nfunction renderNode(\n node: SetNode,\n key: number | undefined,\n ctx: RenderCtx,\n): ReactNode {\n if (node.kind === \"text\") {\n if (node.value in ctx.slots) {\n return createElement(Fragment, { key }, ctx.slots[node.value]);\n }\n return node.value;\n }\n if (node.kind === \"raw\") {\n if (node.html in ctx.slots) {\n return createElement(Fragment, { key }, ctx.slots[node.html]);\n }\n // Raw nodes should be handled by the parent element. If a raw node\n // appears at the top level, wrap it in a fragment-like span.\n return createElement(\"span\", {\n key,\n dangerouslySetInnerHTML: { __html: node.html },\n });\n }\n const { props, children } = buildElementProps(\n node,\n extrasForNode(node, ctx),\n ctx,\n );\n if (key !== undefined) props.key = key;\n return children === null\n ? createElement(node.tag, props)\n : createElement(node.tag, props, ...children);\n}\n\n/**\n * Render a Set IR tree as React elements. `rootExtras` holds caller\n * passthrough props (event handlers, `ref`, `autoFocus`); these route to\n * the inner form control when the tree contains one (see `splitExtras`),\n * otherwise they land on the root. `slots` substitutes named sentinel\n * children with ReactNodes (e.g. `Page`).\n */\nexport function reactify(\n node: SetNode,\n rootExtras: Record<string, unknown> = {},\n slots: Record<string, ReactNode> = {},\n): ReactNode {\n if (node.kind !== \"element\") {\n const ctx: RenderCtx = {\n slots,\n primaries: [],\n primaryFirstExtras: {},\n primaryRestExtras: {},\n };\n return createElement(Fragment, null, renderNode(node, undefined, ctx));\n }\n const primaries = collectPrimaryControls(node);\n const split: SplitExtras =\n primaries.length > 0\n ? splitExtras(rootExtras)\n : {\n rootExtras,\n primaryFirstExtras: {},\n primaryRestExtras: {},\n };\n const ctx: RenderCtx = {\n slots,\n primaries,\n primaryFirstExtras: split.primaryFirstExtras,\n primaryRestExtras: split.primaryRestExtras,\n };\n const { props, children } = buildElementProps(node, split.rootExtras, ctx);\n return children === null\n ? createElement(node.tag, props)\n : createElement(node.tag, props, ...children);\n}\n\n/**\n * Picks the subset of caller props the adapter forwards through reactify:\n * `ref`, `autoFocus`, controlled `value`, and any `on*` event handler.\n */\nexport function pickNativeExtras(\n source: Record<string, unknown>,\n): Record<string, unknown> {\n const out: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(source)) {\n if (value === undefined) continue;\n if (\n key === \"ref\" ||\n key === \"autoFocus\" ||\n key === \"value\" ||\n key.startsWith(\"on\")\n ) {\n out[key] = value;\n }\n }\n return out;\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetAlert,\n defineSetAlert,\n SET_ALERT_EVENT_BEFORE_DISMISS,\n SET_ALERT_EVENT_DISMISS,\n type SetAlertProps,\n} from \"@monospaced/set-core\";\nimport {\n type Ref,\n type RefCallback,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nfunction assignRef<T>(ref: Ref<T> | undefined, value: T | null): void {\n if (typeof ref === \"function\") ref(value);\n else if (ref) (ref as { current: T | null }).current = value;\n}\n\nexport type AlertBeforeDismissHandler = (event: Event) => void;\n\nexport type AlertDismissHandler = (event: Event) => void;\n\nexport type AlertProps = SetAlertProps &\n NativeAttrsFor<HTMLElement> & {\n onBeforeDismiss?: AlertBeforeDismissHandler;\n onDismiss?: AlertDismissHandler;\n };\n\nexport function Alert(props: AlertProps): ReturnType<typeof reactify> {\n const { onBeforeDismiss, onDismiss, ref: callerRef, ...rest } = props;\n useEffect(() => {\n defineSetAlert();\n }, []);\n const elRef = useRef<HTMLElement | null>(null);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onBeforeDismiss) return;\n el.addEventListener(\n SET_ALERT_EVENT_BEFORE_DISMISS,\n onBeforeDismiss as EventListener,\n );\n return () =>\n el.removeEventListener(\n SET_ALERT_EVENT_BEFORE_DISMISS,\n onBeforeDismiss as EventListener,\n );\n }, [onBeforeDismiss]);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onDismiss) return;\n el.addEventListener(SET_ALERT_EVENT_DISMISS, onDismiss as EventListener);\n return () =>\n el.removeEventListener(\n SET_ALERT_EVENT_DISMISS,\n onDismiss as EventListener,\n );\n }, [onDismiss]);\n const mergedRef = useCallback<RefCallback<HTMLElement>>(\n (node) => {\n elRef.current = node;\n assignRef(callerRef, node);\n },\n [callerRef],\n );\n return reactify(buildSetAlert(props), {\n ...pickNativeExtras(rest as unknown as Record<string, unknown>),\n ref: mergedRef,\n });\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetAvatar, type SetAvatarProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type AvatarProps = SetAvatarProps & NativeAttrsFor<HTMLSpanElement>;\n\nexport function Avatar(props: AvatarProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetAvatar(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetBadge, type SetBadgeProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type BadgeProps = SetBadgeProps & NativeAttrsFor<HTMLSpanElement>;\n\nexport function Badge(props: BadgeProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetBadge(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetBanner,\n defineSetBanner,\n SET_BANNER_EVENT_BEFORE_DISMISS,\n SET_BANNER_EVENT_DISMISS,\n type SetBannerProps,\n} from \"@monospaced/set-core\";\nimport {\n type Ref,\n type RefCallback,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nfunction assignRef<T>(ref: Ref<T> | undefined, value: T | null): void {\n if (typeof ref === \"function\") ref(value);\n else if (ref) (ref as { current: T | null }).current = value;\n}\n\nexport type BannerBeforeDismissHandler = (event: Event) => void;\n\nexport type BannerDismissHandler = (event: Event) => void;\n\nexport type BannerProps = SetBannerProps &\n NativeAttrsFor<HTMLElement> & {\n onBeforeDismiss?: BannerBeforeDismissHandler;\n onDismiss?: BannerDismissHandler;\n };\n\nexport function Banner(props: BannerProps): ReturnType<typeof reactify> {\n const { onBeforeDismiss, onDismiss, ref: callerRef, ...rest } = props;\n useEffect(() => {\n defineSetBanner();\n }, []);\n const elRef = useRef<HTMLElement | null>(null);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onBeforeDismiss) return;\n el.addEventListener(\n SET_BANNER_EVENT_BEFORE_DISMISS,\n onBeforeDismiss as EventListener,\n );\n return () =>\n el.removeEventListener(\n SET_BANNER_EVENT_BEFORE_DISMISS,\n onBeforeDismiss as EventListener,\n );\n }, [onBeforeDismiss]);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onDismiss) return;\n el.addEventListener(SET_BANNER_EVENT_DISMISS, onDismiss as EventListener);\n return () =>\n el.removeEventListener(\n SET_BANNER_EVENT_DISMISS,\n onDismiss as EventListener,\n );\n }, [onDismiss]);\n const mergedRef = useCallback<RefCallback<HTMLElement>>(\n (node) => {\n elRef.current = node;\n assignRef(callerRef, node);\n },\n [callerRef],\n );\n return reactify(buildSetBanner(props), {\n ...pickNativeExtras(rest as unknown as Record<string, unknown>),\n ref: mergedRef,\n });\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetBlockquote,\n type SetBlockquoteProps,\n} from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_BLOCKQUOTE_QUOTE = \"__SET_SLOT_BLOCKQUOTE_QUOTE__\";\nconst SLOT_BLOCKQUOTE_ATTRIBUTION = \"__SET_SLOT_BLOCKQUOTE_ATTRIBUTION__\";\n\nexport type BlockquoteProps = Omit<\n SetBlockquoteProps,\n \"quote\" | \"attribution\"\n> & {\n quote: ReactNode;\n attribution: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Blockquote(\n props: BlockquoteProps,\n): ReturnType<typeof reactify> {\n const { align, attribution, id, measured, quote, responsive, size, ...rest } =\n props;\n const node = buildSetBlockquote({\n align,\n attribution:\n SLOT_BLOCKQUOTE_ATTRIBUTION as unknown as SetBlockquoteProps[\"attribution\"],\n id,\n measured,\n quote: SLOT_BLOCKQUOTE_QUOTE as unknown as SetBlockquoteProps[\"quote\"],\n responsive,\n size,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_BLOCKQUOTE_QUOTE]: quote,\n [SLOT_BLOCKQUOTE_ATTRIBUTION]: attribution,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetBox, type SetBoxProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_BOX_CHILDREN = \"__SET_SLOT_BOX_CHILDREN__\";\n\nexport type BoxProps = Omit<SetBoxProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Box(props: BoxProps): ReturnType<typeof reactify> {\n const {\n background,\n border,\n children,\n id,\n paddingBlock,\n paddingInline,\n radius,\n responsive,\n surface,\n ...rest\n } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetBox({\n background,\n border,\n children: hasChildren\n ? (SLOT_BOX_CHILDREN as unknown as SetBoxProps[\"children\"])\n : undefined,\n id,\n paddingBlock,\n paddingInline,\n radius,\n responsive,\n surface,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_BOX_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetButton, type SetButtonProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type ButtonProps = SetButtonProps & NativeAttrsFor<HTMLButtonElement>;\n\nexport function Button(props: ButtonProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetButton(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetCard, type SetCardProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_CARD_DESCRIPTION = \"__SET_SLOT_CARD_DESCRIPTION__\";\nconst SLOT_CARD_NOTE = \"__SET_SLOT_CARD_NOTE__\";\n\nexport type CardProps = Omit<SetCardProps, \"description\" | \"note\"> & {\n description: ReactNode;\n note?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Card(props: CardProps): ReturnType<typeof reactify> {\n const { description, headingLevel, href, id, note, surface, title, ...rest } =\n props;\n const hasNote = note != null && note !== false;\n const node = buildSetCard({\n description:\n SLOT_CARD_DESCRIPTION as unknown as SetCardProps[\"description\"],\n headingLevel,\n href,\n id,\n note: hasNote\n ? (SLOT_CARD_NOTE as unknown as SetCardProps[\"note\"])\n : undefined,\n surface,\n title,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_CARD_DESCRIPTION]: description,\n ...(hasNote ? { [SLOT_CARD_NOTE]: note } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetCheckbox, type SetCheckboxProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type CheckboxProps = SetCheckboxProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Checkbox(props: CheckboxProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetCheckbox(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetContainer,\n type SetContainerProps,\n} from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_CONTAINER_CHILDREN = \"__SET_SLOT_CONTAINER_CHILDREN__\";\n\nexport type ContainerProps = Omit<SetContainerProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Container(props: ContainerProps): ReturnType<typeof reactify> {\n const { children, gutter, id, maxInlineSize, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetContainer({\n children: hasChildren\n ? (SLOT_CONTAINER_CHILDREN as unknown as SetContainerProps[\"children\"])\n : undefined,\n gutter,\n id,\n maxInlineSize,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_CONTAINER_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetDetails, type SetDetailsProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_DETAILS_CHILDREN = \"__SET_SLOT_DETAILS_CHILDREN__\";\n\nexport type DetailsProps = Omit<SetDetailsProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDetailsElement>;\n\nexport function Details(props: DetailsProps): ReturnType<typeof reactify> {\n const { children, id, inlineSize, open, summary, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetDetails({\n children: hasChildren\n ? (SLOT_DETAILS_CHILDREN as unknown as SetDetailsProps[\"children\"])\n : undefined,\n id,\n inlineSize,\n open,\n summary,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_DETAILS_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetDivider, type SetDividerProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type DividerProps = SetDividerProps & NativeAttrsFor<HTMLElement>;\n\nexport function Divider(props: DividerProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetDivider(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetExpander, type SetExpanderProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type ExpanderProps = SetExpanderProps &\n NativeAttrsFor<HTMLButtonElement>;\n\nexport function Expander(props: ExpanderProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetExpander(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetFieldset, type SetFieldsetProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_FIELDSET_CHILDREN = \"__SET_SLOT_FIELDSET_CHILDREN__\";\n\nexport type FieldsetProps = Omit<SetFieldsetProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLFieldSetElement>;\n\nexport function Fieldset(props: FieldsetProps): ReturnType<typeof reactify> {\n const {\n children,\n description,\n disabled,\n id,\n invalid,\n legend,\n inlineSize,\n ...rest\n } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetFieldset({\n children: hasChildren\n ? (SLOT_FIELDSET_CHILDREN as unknown as SetFieldsetProps[\"children\"])\n : undefined,\n description,\n disabled,\n id,\n invalid,\n legend,\n inlineSize,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_FIELDSET_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetFigure, type SetFigureProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_FIGURE_CHILDREN = \"__SET_SLOT_FIGURE_CHILDREN__\";\nconst SLOT_FIGURE_CAPTION = \"__SET_SLOT_FIGURE_CAPTION__\";\n\nexport type FigureProps = Omit<SetFigureProps, \"children\" | \"caption\"> & {\n children: ReactNode;\n caption: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Figure(props: FigureProps): ReturnType<typeof reactify> {\n const { align, caption, children, id, inlineSize, responsive, ...rest } =\n props;\n const node = buildSetFigure({\n align,\n caption: SLOT_FIGURE_CAPTION as unknown as SetFigureProps[\"caption\"],\n children: SLOT_FIGURE_CHILDREN as unknown as SetFigureProps[\"children\"],\n id,\n inlineSize,\n responsive,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_FIGURE_CHILDREN]: children,\n [SLOT_FIGURE_CAPTION]: caption,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetGrid, type SetGridProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_GRID_CHILDREN = \"__SET_SLOT_GRID_CHILDREN__\";\n\nexport type GridProps = Omit<SetGridProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Grid(props: GridProps): ReturnType<typeof reactify> {\n const { children, gap, id, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetGrid({\n children: hasChildren\n ? (SLOT_GRID_CHILDREN as unknown as SetGridProps[\"children\"])\n : undefined,\n gap,\n id,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_GRID_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetGridItem, type SetGridItemProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_GRID_ITEM_CHILDREN = \"__SET_SLOT_GRID_ITEM_CHILDREN__\";\n\nexport type GridItemProps = Omit<SetGridItemProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function GridItem(props: GridItemProps): ReturnType<typeof reactify> {\n const {\n children,\n align,\n justify,\n colSpan,\n colStart,\n id,\n rowSpan,\n rowSpanNarrow,\n rowSpanWide,\n rowStart,\n rowStartNarrow,\n rowStartWide,\n colSpanNarrow,\n colStartNarrow,\n colSpanWide,\n colStartWide,\n ...rest\n } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetGridItem({\n children: hasChildren\n ? (SLOT_GRID_ITEM_CHILDREN as unknown as SetGridItemProps[\"children\"])\n : undefined,\n align,\n justify,\n colSpan,\n colStart,\n id,\n rowSpan,\n rowSpanNarrow,\n rowSpanWide,\n rowStart,\n rowStartNarrow,\n rowStartWide,\n colSpanNarrow,\n colStartNarrow,\n colSpanWide,\n colStartWide,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_GRID_ITEM_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetHeading, type SetHeadingProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type HeadingProps = SetHeadingProps & NativeAttrsFor<HTMLElement>;\n\nexport function Heading(props: HeadingProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetHeading(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetIcon, type SetIconProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type IconProps = SetIconProps & NativeAttrsFor<SVGSVGElement>;\n\nexport function Icon(props: IconProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetIcon(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetImage, type SetImageProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type ImageProps = SetImageProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Image(props: ImageProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetImage(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetInline, type SetInlineProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_INLINE_CHILDREN = \"__SET_SLOT_INLINE_CHILDREN__\";\n\nexport type InlineProps = Omit<SetInlineProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Inline(props: InlineProps): ReturnType<typeof reactify> {\n const { as, align, children, gap, id, justify, nowrap, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetInline({\n as,\n align,\n children: hasChildren\n ? (SLOT_INLINE_CHILDREN as unknown as SetInlineProps[\"children\"])\n : undefined,\n gap,\n id,\n justify,\n nowrap,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_INLINE_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetInput, type SetInputProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type InputProps = SetInputProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Input(props: InputProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetInput(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetLightswitch,\n defineSetLightswitch,\n SET_LIGHTSWITCH_EVENT_CHANGE,\n type SetLightswitchProps,\n} from \"@monospaced/set-core\";\nimport {\n type Ref,\n type RefCallback,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nfunction assignRef<T>(ref: Ref<T> | undefined, value: T | null): void {\n if (typeof ref === \"function\") ref(value);\n else if (ref) (ref as { current: T | null }).current = value;\n}\n\nexport type LightswitchChangeHandler = (event: Event) => void;\n\nexport type LightswitchProps = SetLightswitchProps &\n NativeAttrsFor<HTMLElement> & {\n onChange?: LightswitchChangeHandler;\n };\n\nexport function Lightswitch(\n props: LightswitchProps,\n): ReturnType<typeof reactify> {\n const { onChange, ref: callerRef, ...rest } = props;\n useEffect(() => {\n defineSetLightswitch();\n }, []);\n const elRef = useRef<HTMLElement | null>(null);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onChange) return;\n el.addEventListener(\n SET_LIGHTSWITCH_EVENT_CHANGE,\n onChange as EventListener,\n );\n return () =>\n el.removeEventListener(\n SET_LIGHTSWITCH_EVENT_CHANGE,\n onChange as EventListener,\n );\n }, [onChange]);\n const mergedRef = useCallback<RefCallback<HTMLElement>>(\n (node) => {\n elRef.current = node;\n assignRef(callerRef, node);\n },\n [callerRef],\n );\n return reactify(buildSetLightswitch(props), {\n ...pickNativeExtras(rest as unknown as Record<string, unknown>),\n ref: mergedRef,\n });\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetLink, type SetLinkProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_LINK_ICON = \"__SET_SLOT_LINK_ICON__\";\n\nexport type LinkProps = Omit<SetLinkProps, \"icon\"> & {\n icon?: ReactNode;\n} & NativeAttrsFor<HTMLAnchorElement>;\n\nexport function Link(props: LinkProps): ReturnType<typeof reactify> {\n const {\n appearance,\n current,\n download,\n href,\n id,\n icon,\n iconPlacement,\n label,\n labelVisibility,\n rel,\n size,\n target,\n tone,\n underline,\n ...rest\n } = props;\n const hasIcon = icon != null && icon !== false;\n const node = buildSetLink({\n appearance,\n current,\n download,\n href,\n id,\n icon: hasIcon\n ? (SLOT_LINK_ICON as unknown as SetLinkProps[\"icon\"])\n : undefined,\n iconPlacement,\n label,\n labelVisibility,\n rel,\n size,\n target,\n tone,\n underline,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasIcon ? { [SLOT_LINK_ICON]: icon } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetLogo, type SetLogoProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type LogoProps = SetLogoProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Logo(props: LogoProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetLogo(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetMenu,\n defineSetMenu,\n SET_MENU_EVENT_CHOOSE,\n type SetMenuProps,\n} from \"@monospaced/set-core\";\nimport {\n type Ref,\n type RefCallback,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nfunction assignRef<T>(ref: Ref<T> | undefined, value: T | null): void {\n if (typeof ref === \"function\") ref(value);\n else if (ref) (ref as { current: T | null }).current = value;\n}\n\nexport type MenuChooseDetail = { id?: string; index: number; label: string };\n\nexport type MenuChooseEvent = CustomEvent<MenuChooseDetail>;\n\nexport type MenuChooseHandler = (event: MenuChooseEvent) => void;\n\nexport type MenuProps = SetMenuProps &\n NativeAttrsFor<HTMLElement> & {\n onChoose?: MenuChooseHandler;\n };\n\nexport function Menu(props: MenuProps): ReturnType<typeof reactify> {\n const { onChoose, ref: callerRef, ...rest } = props;\n useEffect(() => {\n defineSetMenu();\n }, []);\n const elRef = useRef<HTMLElement | null>(null);\n useEffect(() => {\n const el = elRef.current;\n if (!el || !onChoose) return;\n el.addEventListener(SET_MENU_EVENT_CHOOSE, onChoose as EventListener);\n return () =>\n el.removeEventListener(SET_MENU_EVENT_CHOOSE, onChoose as EventListener);\n }, [onChoose]);\n const mergedRef = useCallback<RefCallback<HTMLElement>>(\n (node) => {\n elRef.current = node;\n assignRef(callerRef, node);\n },\n [callerRef],\n );\n return reactify(buildSetMenu(props), {\n ...pickNativeExtras(rest as unknown as Record<string, unknown>),\n ref: mergedRef,\n });\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetNav,\n defineSetNav,\n type SetNavProps,\n} from \"@monospaced/set-core\";\nimport { useEffect } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type NavProps = SetNavProps & NativeAttrsFor<HTMLElement>;\n\nexport function Nav(props: NavProps): ReturnType<typeof reactify> {\n useEffect(() => {\n defineSetNav();\n }, []);\n return reactify(\n buildSetNav(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetPage, type SetPageProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_PAGE_BANNER = \"__SET_SLOT_PAGE_BANNER__\";\nconst SLOT_PAGE_HEADER = \"__SET_SLOT_PAGE_HEADER__\";\nconst SLOT_PAGE_CHILDREN = \"__SET_SLOT_PAGE_CHILDREN__\";\nconst SLOT_PAGE_FOOTER = \"__SET_SLOT_PAGE_FOOTER__\";\n\nexport type PageProps = Omit<\n SetPageProps,\n \"banner\" | \"header\" | \"children\" | \"footer\"\n> & {\n banner?: ReactNode;\n header: ReactNode;\n children?: ReactNode;\n footer: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Page(props: PageProps): ReturnType<typeof reactify> {\n const {\n banner,\n children,\n centerMain,\n header,\n headerBorder,\n headerSize,\n id,\n stickyHeader,\n footer,\n ...rest\n } = props;\n const hasBanner = banner != null && banner !== false;\n const hasChildren = children != null && children !== false;\n const node = buildSetPage({\n banner: hasBanner\n ? (SLOT_PAGE_BANNER as unknown as SetPageProps[\"banner\"])\n : undefined,\n children: hasChildren\n ? (SLOT_PAGE_CHILDREN as unknown as SetPageProps[\"children\"])\n : undefined,\n centerMain,\n header: SLOT_PAGE_HEADER as unknown as SetPageProps[\"header\"],\n headerBorder,\n headerSize,\n id,\n stickyHeader,\n footer: SLOT_PAGE_FOOTER as unknown as SetPageProps[\"footer\"],\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasBanner ? { [SLOT_PAGE_BANNER]: banner } : {}),\n [SLOT_PAGE_HEADER]: header,\n ...(hasChildren ? { [SLOT_PAGE_CHILDREN]: children } : {}),\n [SLOT_PAGE_FOOTER]: footer,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetPanel, type SetPanelProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_PANEL_CHILDREN = \"__SET_SLOT_PANEL_CHILDREN__\";\n\nexport type PanelProps = Omit<SetPanelProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Panel(props: PanelProps): ReturnType<typeof reactify> {\n const { children, id, padding, surface, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetPanel({\n children: hasChildren\n ? (SLOT_PANEL_CHILDREN as unknown as SetPanelProps[\"children\"])\n : undefined,\n id,\n padding,\n surface,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_PANEL_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetPattern, type SetPatternProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_PATTERN_CHILDREN = \"__SET_SLOT_PATTERN_CHILDREN__\";\n\nexport type PatternProps = Omit<SetPatternProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Pattern(props: PatternProps): ReturnType<typeof reactify> {\n const { children, id, tone, size, variant, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetPattern({\n children: hasChildren\n ? (SLOT_PATTERN_CHILDREN as unknown as SetPatternProps[\"children\"])\n : undefined,\n id,\n tone,\n size,\n variant,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_PATTERN_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetPoster, type SetPosterProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_POSTER_MEDIA = \"__SET_SLOT_POSTER_MEDIA__\";\nconst SLOT_POSTER_CHILDREN = \"__SET_SLOT_POSTER_CHILDREN__\";\n\nexport type PosterProps = Omit<SetPosterProps, \"media\" | \"children\"> & {\n media: ReactNode;\n children?: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Poster(props: PosterProps): ReturnType<typeof reactify> {\n const { children, contentTheme, id, media, surface, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetPoster({\n children: hasChildren\n ? (SLOT_POSTER_CHILDREN as unknown as SetPosterProps[\"children\"])\n : undefined,\n contentTheme,\n id,\n media: SLOT_POSTER_MEDIA as unknown as SetPosterProps[\"media\"],\n surface,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_POSTER_MEDIA]: media,\n ...(hasChildren ? { [SLOT_POSTER_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetProse, type SetProseProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_PROSE_CHILDREN = \"__SET_SLOT_PROSE_CHILDREN__\";\n\nexport type ProseProps = Omit<SetProseProps, \"children\"> & {\n children: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Prose(props: ProseProps): ReturnType<typeof reactify> {\n const {\n children,\n align,\n hangingPunctuation,\n id,\n linkVisited,\n measured,\n monospaced,\n responsive,\n ...rest\n } = props;\n const node = buildSetProse({\n children: SLOT_PROSE_CHILDREN as unknown as SetProseProps[\"children\"],\n align,\n hangingPunctuation,\n id,\n linkVisited,\n measured,\n monospaced,\n responsive,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_PROSE_CHILDREN]: children,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetRadios, type SetRadiosProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type RadiosProps = SetRadiosProps & NativeAttrsFor<HTMLFieldSetElement>;\n\nexport function Radios(props: RadiosProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetRadios(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetRange,\n defineSetRange,\n type SetRangeProps,\n} from \"@monospaced/set-core\";\nimport { useEffect } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type RangeProps = SetRangeProps & NativeAttrsFor<HTMLElement>;\n\nexport function Range(props: RangeProps): ReturnType<typeof reactify> {\n useEffect(() => {\n defineSetRange();\n }, []);\n return reactify(\n buildSetRange(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetRoot, type SetRootProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_ROOT_CHILDREN = \"__SET_SLOT_ROOT_CHILDREN__\";\n\nexport type RootProps = Omit<SetRootProps, \"children\"> & {\n children: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Root(props: RootProps): ReturnType<typeof reactify> {\n const {\n appOverscrollBehavior,\n appRoot,\n brand,\n children,\n dir,\n id,\n lang,\n theme,\n ...rest\n } = props;\n const node = buildSetRoot({\n appOverscrollBehavior,\n appRoot,\n brand,\n children: SLOT_ROOT_CHILDREN as unknown as SetRootProps[\"children\"],\n dir,\n id,\n lang,\n theme,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_ROOT_CHILDREN]: children,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetSidebar,\n defineSetSidebar,\n type SetSidebarProps,\n} from \"@monospaced/set-core\";\nimport { type ReactNode, useEffect } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_SIDEBAR_HEADER = \"__SET_SLOT_SIDEBAR_HEADER__\";\nconst SLOT_SIDEBAR_CHILDREN = \"__SET_SLOT_SIDEBAR_CHILDREN__\";\nconst SLOT_SIDEBAR_FOOTER = \"__SET_SLOT_SIDEBAR_FOOTER__\";\n\nexport type SidebarProps = Omit<\n SetSidebarProps,\n \"header\" | \"children\" | \"footer\"\n> & {\n header?: ReactNode;\n children?: ReactNode;\n footer?: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Sidebar(props: SidebarProps): ReturnType<typeof reactify> {\n const {\n aboveNotebook,\n buttonSize,\n children,\n collapseLabel,\n footer,\n header,\n id,\n surface,\n triggerLabel,\n ...rest\n } = props;\n const hasHeader = header != null && header !== false;\n const hasChildren = children != null && children !== false;\n const hasFooter = footer != null && footer !== false;\n const node = buildSetSidebar({\n aboveNotebook,\n buttonSize,\n children: hasChildren\n ? (SLOT_SIDEBAR_CHILDREN as unknown as SetSidebarProps[\"children\"])\n : undefined,\n collapseLabel,\n footer: hasFooter\n ? (SLOT_SIDEBAR_FOOTER as unknown as SetSidebarProps[\"footer\"])\n : undefined,\n header: hasHeader\n ? (SLOT_SIDEBAR_HEADER as unknown as SetSidebarProps[\"header\"])\n : undefined,\n id,\n surface,\n triggerLabel,\n });\n useEffect(() => {\n defineSetSidebar();\n }, []);\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasHeader ? { [SLOT_SIDEBAR_HEADER]: header } : {}),\n ...(hasChildren ? { [SLOT_SIDEBAR_CHILDREN]: children } : {}),\n ...(hasFooter ? { [SLOT_SIDEBAR_FOOTER]: footer } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetSpinner, type SetSpinnerProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type SpinnerProps = SetSpinnerProps & NativeAttrsFor<HTMLSpanElement>;\n\nexport function Spinner(props: SpinnerProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetSpinner(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetStack, type SetStackProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_STACK_CHILDREN = \"__SET_SLOT_STACK_CHILDREN__\";\n\nexport type StackProps = Omit<SetStackProps, \"children\"> & {\n children?: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Stack(props: StackProps): ReturnType<typeof reactify> {\n const { align, as, children, gap, id, responsive, ...rest } = props;\n const hasChildren = children != null && children !== false;\n const node = buildSetStack({\n align,\n as,\n children: hasChildren\n ? (SLOT_STACK_CHILDREN as unknown as SetStackProps[\"children\"])\n : undefined,\n gap,\n id,\n responsive,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n ...(hasChildren ? { [SLOT_STACK_CHILDREN]: children } : {}),\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetSurface, type SetSurfaceProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_SURFACE_CHILDREN = \"__SET_SLOT_SURFACE_CHILDREN__\";\n\nexport type SurfaceProps = Omit<SetSurfaceProps, \"children\"> & {\n children: ReactNode;\n} & NativeAttrsFor<HTMLDivElement>;\n\nexport function Surface(props: SurfaceProps): ReturnType<typeof reactify> {\n const { children, contentTheme, id, variant, ...rest } = props;\n const node = buildSetSurface({\n children: SLOT_SURFACE_CHILDREN as unknown as SetSurfaceProps[\"children\"],\n contentTheme,\n id,\n variant,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_SURFACE_CHILDREN]: children,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetSwitch, type SetSwitchProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type SwitchProps = SetSwitchProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Switch(props: SwitchProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetSwitch(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetText, type SetTextProps } from \"@monospaced/set-core\";\nimport type { ReactNode } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nconst SLOT_TEXT_CHILDREN = \"__SET_SLOT_TEXT_CHILDREN__\";\n\nexport type TextProps = Omit<SetTextProps, \"children\"> & {\n children: ReactNode;\n} & NativeAttrsFor<HTMLElement>;\n\nexport function Text(props: TextProps): ReturnType<typeof reactify> {\n const {\n as,\n children,\n id,\n linkVisited,\n responsive,\n align,\n measured,\n monospaced,\n size,\n tone,\n ...rest\n } = props;\n const node = buildSetText({\n as,\n children: SLOT_TEXT_CHILDREN as unknown as SetTextProps[\"children\"],\n id,\n linkVisited,\n responsive,\n align,\n measured,\n monospaced,\n size,\n tone,\n });\n return reactify(\n node,\n pickNativeExtras(rest as unknown as Record<string, unknown>),\n {\n [SLOT_TEXT_CHILDREN]: children,\n },\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport { buildSetTextarea, type SetTextareaProps } from \"@monospaced/set-core\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type TextareaProps = SetTextareaProps & NativeAttrsFor<HTMLDivElement>;\n\nexport function Textarea(props: TextareaProps): ReturnType<typeof reactify> {\n return reactify(\n buildSetTextarea(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n","// Generated by @monospaced/set-adapter — do not edit directly.\n// Regenerate with `pnpm react:generate` (runs automatically on `pnpm react:build`).\nimport {\n buildSetVideo,\n defineSetVideo,\n type SetVideoProps,\n} from \"@monospaced/set-core\";\nimport { useEffect } from \"react\";\n\nimport {\n type NativeAttrsFor,\n pickNativeExtras,\n reactify,\n} from \"../../reactify\";\n\nexport type VideoProps = SetVideoProps & NativeAttrsFor<HTMLElement>;\n\nexport function Video(props: VideoProps): ReturnType<typeof reactify> {\n useEffect(() => {\n defineSetVideo();\n }, []);\n return reactify(\n buildSetVideo(props),\n pickNativeExtras(props as unknown as Record<string, unknown>),\n );\n}\n"],"names":["ATTR_NAME_MAP","PRIMARY_CONTROL_TAGS","toReactProps","attrs","out","key","value","reactKey","collectPrimaryControls","node","visit","n","child","splitExtras","extras","rootExtras","controlExtras","autoFocus","primaryFirstExtras","extrasForNode","ctx","idx","buildElementProps","props","content","serializeSetNode","children","index","createElement","Fragment","renderNode","reactify","slots","primaries","split","pickNativeExtras","source","assignRef","ref","Alert","onBeforeDismiss","onDismiss","callerRef","rest","useEffect","defineSetAlert","elRef","useRef","el","SET_ALERT_EVENT_BEFORE_DISMISS","SET_ALERT_EVENT_DISMISS","mergedRef","useCallback","buildSetAlert","Avatar","buildSetAvatar","Badge","buildSetBadge","Banner","defineSetBanner","SET_BANNER_EVENT_BEFORE_DISMISS","SET_BANNER_EVENT_DISMISS","buildSetBanner","SLOT_BLOCKQUOTE_QUOTE","SLOT_BLOCKQUOTE_ATTRIBUTION","Blockquote","align","attribution","id","measured","quote","responsive","size","buildSetBlockquote","SLOT_BOX_CHILDREN","Box","background","border","paddingBlock","paddingInline","radius","surface","hasChildren","buildSetBox","Button","buildSetButton","SLOT_CARD_DESCRIPTION","SLOT_CARD_NOTE","Card","description","headingLevel","href","note","title","hasNote","buildSetCard","Checkbox","buildSetCheckbox","SLOT_CONTAINER_CHILDREN","Container","gutter","maxInlineSize","buildSetContainer","SLOT_DETAILS_CHILDREN","Details","inlineSize","open","summary","buildSetDetails","Divider","buildSetDivider","Expander","buildSetExpander","SLOT_FIELDSET_CHILDREN","Fieldset","disabled","invalid","legend","buildSetFieldset","SLOT_FIGURE_CHILDREN","SLOT_FIGURE_CAPTION","Figure","caption","buildSetFigure","SLOT_GRID_CHILDREN","Grid","gap","buildSetGrid","SLOT_GRID_ITEM_CHILDREN","GridItem","justify","colSpan","colStart","rowSpan","rowSpanNarrow","rowSpanWide","rowStart","rowStartNarrow","rowStartWide","colSpanNarrow","colStartNarrow","colSpanWide","colStartWide","buildSetGridItem","Heading","buildSetHeading","Icon","buildSetIcon","Image","buildSetImage","SLOT_INLINE_CHILDREN","Inline","as","nowrap","buildSetInline","Input","buildSetInput","Lightswitch","onChange","defineSetLightswitch","SET_LIGHTSWITCH_EVENT_CHANGE","buildSetLightswitch","SLOT_LINK_ICON","Link","appearance","current","download","icon","iconPlacement","label","labelVisibility","rel","target","tone","underline","hasIcon","buildSetLink","Logo","buildSetLogo","Menu","onChoose","defineSetMenu","SET_MENU_EVENT_CHOOSE","buildSetMenu","Nav","defineSetNav","buildSetNav","SLOT_PAGE_BANNER","SLOT_PAGE_HEADER","SLOT_PAGE_CHILDREN","SLOT_PAGE_FOOTER","Page","banner","centerMain","header","headerBorder","headerSize","stickyHeader","footer","hasBanner","buildSetPage","SLOT_PANEL_CHILDREN","Panel","padding","buildSetPanel","SLOT_PATTERN_CHILDREN","Pattern","variant","buildSetPattern","SLOT_POSTER_MEDIA","SLOT_POSTER_CHILDREN","Poster","contentTheme","media","buildSetPoster","SLOT_PROSE_CHILDREN","Prose","hangingPunctuation","linkVisited","monospaced","buildSetProse","Radios","buildSetRadios","Range","defineSetRange","buildSetRange","SLOT_ROOT_CHILDREN","Root","appOverscrollBehavior","appRoot","brand","dir","lang","theme","buildSetRoot","SLOT_SIDEBAR_HEADER","SLOT_SIDEBAR_CHILDREN","SLOT_SIDEBAR_FOOTER","Sidebar","aboveNotebook","buttonSize","collapseLabel","triggerLabel","hasHeader","hasFooter","buildSetSidebar","defineSetSidebar","Spinner","buildSetSpinner","SLOT_STACK_CHILDREN","Stack","buildSetStack","SLOT_SURFACE_CHILDREN","Surface","buildSetSurface","Switch","buildSetSwitch","SLOT_TEXT_CHILDREN","Text","buildSetText","Textarea","buildSetTextarea","Video","defineSetVideo","buildSetVideo"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@monospaced/set-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "React adapter for Set. Typed React wrappers over the core custom-element library.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@monospaced/set-core": "0.
|
|
23
|
+
"@monospaced/set-core": "0.12.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@types/node": "^25.8.0",
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
"typescript": "^5.9.3",
|
|
33
33
|
"vite": "^7.3.2",
|
|
34
34
|
"vitest": "^4.1.6",
|
|
35
|
-
"@monospaced/set-
|
|
36
|
-
"@monospaced/set-
|
|
35
|
+
"@monospaced/set-config": "0.12.0",
|
|
36
|
+
"@monospaced/set-adapter": "0.12.0"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
39
39
|
"react": "^19.2.6",
|