@jogak/ui 0.1.0-alpha.12 → 0.1.0-alpha.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,21 @@ All notable changes to Jogak packages are documented here. The repository follow
5
5
 
6
6
  Version numbers apply to all packages in the workspace (synchronized release).
7
7
 
8
+ ## [0.1.0-alpha.14.1] — 2026-05-11
9
+
10
+ ### Added
11
+
12
+ - **`adapterFor()` dispatch 라우터** (`src/lib/adapter-for.ts`): framework별 어댑터를 dynamic import + Map 캐시로 lazy 로드. 단위 테스트 14건.
13
+
14
+ ### Changed
15
+
16
+ - **Preview / preview-frame의 hardcoded `reactAdapter` 제거**: 11개 호출을 `adapterFor(entry.meta.framework ?? 'react')`로 교체. React-only 사용자는 vue/svelte 모듈을 받지 않음.
17
+ - **Preview iframe-aware**: `previewIsolation === 'iframe'`일 때 `useEntry` skipHydrate로 chrome scope에서 component import를 건너뛰고 synthetic entry로 IframeMount에 위임.
18
+
19
+ ### Fixed
20
+
21
+ - **`format-usage`의 `component=null` 처리**: iframe isolation 모드 synthetic entry는 component=null. `resolveComponentName`이 title 마지막 segment fallback으로 직행.
22
+
8
23
  ## [0.1.0-alpha.10.3] — 2026-05-11
9
24
 
10
25
  ### Fixed
package/dist/index.cjs CHANGED
@@ -1,9 +1,9 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),c=require("react"),C=require("@jogak/core"),h=require("@jogak/core/renderers/react"),E=require("prism-react-renderer"),X=require("react-dom");function D(o){var e,t,r="";if(typeof o=="string"||typeof o=="number")r+=o;else if(typeof o=="object")if(Array.isArray(o)){var g=o.length;for(e=0;e<g;e++)o[e]&&(t=D(o[e]))&&(r&&(r+=" "),r+=t)}else for(t in o)o[t]&&(r&&(r+=" "),r+=t);return r}function v(){for(var o,e,t=0,r="",g=arguments.length;t<g;t++)(o=arguments[t])&&(e=D(o))&&(r&&(r+=" "),r+=e);return r}function B({selectedEntryId:o,selectedJogakName:e,onSelect:t}){const[r,g]=c.useState(""),{metaTree:s,searchMeta:n}=h.useRegistryMeta(),i=r.trim().length>0?n(r):null;return a.jsxs("aside",{"data-testid":"sidebar",className:"jogak:flex jogak:flex-col jogak:h-full jogak:overflow-auto jogak:border-r jogak:border-[var(--jogak-color-border)]",children:[a.jsx("div",{className:"jogak:p-3 jogak:border-b jogak:border-[var(--jogak-color-border)]",children:a.jsx("input",{type:"search",placeholder:"Search components...",value:r,onChange:j=>{g(j.target.value)},className:"jogak:w-full jogak:px-2 jogak:py-1.5 jogak:border jogak:border-[var(--jogak-color-border-strong)] jogak:rounded-[var(--jogak-radius-md)]","aria-label":"Search components"})}),a.jsx("nav",{className:"jogak:flex-1 jogak:overflow-auto jogak:py-2",children:i!==null?a.jsx(Y,{metas:i,selectedEntryId:o,selectedJogakName:e,onSelect:t}):a.jsx(W,{node:s,selectedEntryId:o,selectedJogakName:e,onSelect:t})})]})}function Y({metas:o,selectedEntryId:e,selectedJogakName:t,onSelect:r}){return o.length===0?a.jsx("p",{className:"jogak:px-3 jogak:text-[var(--jogak-color-fg-subtle)] jogak:text-[13px]",children:"No results"}):a.jsx("ul",{className:"jogak:list-none jogak:m-0 jogak:p-0",children:o.map(g=>a.jsx("li",{children:a.jsx(z,{meta:g,selectedEntryId:e,selectedJogakName:t,onSelect:r,indent:0})},g.id))})}function W({node:o,selectedEntryId:e,selectedJogakName:t,onSelect:r,depth:g=0}){return a.jsx("ul",{className:"jogak:list-none jogak:m-0 jogak:pr-0 jogak:py-0 jogak:pl-[var(--jogak-tree-pl)]",style:{"--jogak-tree-pl":`${g*12}px`},children:Object.entries(o).map(([s,n])=>a.jsx("li",{children:"id"in n?a.jsx(z,{meta:n,selectedEntryId:e,selectedJogakName:t,onSelect:r,indent:0}):a.jsx(Z,{label:s,node:n,selectedEntryId:e,selectedJogakName:t,onSelect:r,depth:g+1})},s))})}function Z({label:o,node:e,selectedEntryId:t,selectedJogakName:r,onSelect:g,depth:s}){const[n,i]=c.useState(!0);return a.jsxs("div",{children:[a.jsxs("button",{type:"button",onClick:()=>{i(j=>!j)},className:"jogak:flex jogak:items-center jogak:gap-1 jogak:w-full jogak:px-3 jogak:py-1 jogak:bg-transparent jogak:border-none jogak:cursor-pointer jogak:text-[12px] jogak:font-semibold jogak:text-[var(--jogak-color-fg-muted)] jogak:uppercase jogak:tracking-wider","aria-expanded":n,children:[a.jsx("span",{children:n?"▾":"▸"}),o]}),n&&a.jsx(W,{node:e,selectedEntryId:t,selectedJogakName:r,onSelect:g,depth:s})]})}function z({meta:o,selectedEntryId:e,selectedJogakName:t,onSelect:r,indent:g}){const s=o.id===e,[n,i]=c.useState(s);c.useEffect(()=>{s&&i(!0)},[s]);const j=o.title.split("/").pop()??o.title,d=16+g*12;return a.jsxs("div",{children:[a.jsxs("button",{type:"button",onClick:()=>{if(s)i(l=>!l);else{i(!0);const l=o.jogakNames[0];l!==void 0&&r(o.id,l)}},className:v("jogak:flex jogak:items-center jogak:gap-1.5 jogak:w-full jogak:pr-3 jogak:py-[5px]","jogak:pl-[var(--jogak-entry-pl)]","jogak:border-none jogak:cursor-pointer jogak:text-left jogak:text-[13px]",s?"jogak:bg-[var(--jogak-color-accent-bg)] jogak:text-[var(--jogak-color-accent)] jogak:font-medium":"jogak:bg-transparent jogak:text-[var(--jogak-color-fg)] jogak:font-normal"),style:{"--jogak-entry-pl":`${d}px`},"aria-expanded":n,children:[a.jsx("span",{className:"jogak:text-[10px] jogak:shrink-0 jogak:leading-none",children:n?"▾":"▸"}),j]}),n&&a.jsx("ul",{className:"jogak:list-none jogak:m-0 jogak:p-0",children:o.jogakNames.map(l=>{const k=s&&l===t;return a.jsx("li",{children:a.jsx("button",{type:"button",onClick:()=>{r(o.id,l)},className:v("jogak:block jogak:w-full jogak:text-left jogak:pr-3 jogak:py-1","jogak:pl-[var(--jogak-jogak-pl)]","jogak:border-none jogak:cursor-pointer jogak:text-[12px]",k?"jogak:bg-[var(--jogak-color-accent-bg-soft)] jogak:text-[var(--jogak-color-accent-fg)] jogak:font-medium":"jogak:bg-transparent jogak:text-[var(--jogak-color-fg-muted)] jogak:font-normal"),style:{"--jogak-jogak-pl":`${d+18}px`},"aria-current":k?"true":void 0,children:l})},l)})})]})}function K(o,e){const t=e==null?void 0:e.control,r=(e==null?void 0:e.action)!==void 0&&e.action!==!1,g=(e==null?void 0:e.type)==="function"||typeof o=="function";return r||g?"action":t==="boolean"||typeof o=="boolean"?"boolean":t==="number"||t==="range"||typeof o=="number"?"number":t==="select"||t==="radio"||(e==null?void 0:e.options)!==void 0&&e.options.length>0?"select":t==="text"||t==="color"||typeof o=="string"?"text":"json"}const _="jogak:px-2 jogak:py-1 jogak:border jogak:border-[var(--jogak-color-border-strong)] jogak:rounded-[var(--jogak-radius-md)] jogak:text-[13px] jogak:w-full jogak:max-w-[280px]",R="jogak:px-5 jogak:py-1.5 jogak:text-left jogak:text-[var(--jogak-color-fg-muted)] jogak:font-medium jogak:text-[12px] jogak:border-b jogak:border-[var(--jogak-color-border)]",A="jogak:px-5 jogak:py-2 jogak:align-middle jogak:border-b jogak:border-[var(--jogak-color-border-muted)]";function T({argKey:o,value:e,argType:t,onArgChange:r}){switch(K(e,t)){case"boolean":return a.jsx("input",{type:"checkbox",checked:e===!0,onChange:s=>{r(o,s.target.checked)},className:"jogak:cursor-pointer jogak:w-4 jogak:h-4 jogak:accent-[var(--jogak-color-accent)]"});case"number":return a.jsx("input",{type:"number",value:typeof e=="number"?e:"",onChange:s=>{r(o,s.target.valueAsNumber)},className:_});case"select":{const s=(t==null?void 0:t.options)??[];return a.jsx("select",{value:String(e??""),onChange:n=>{r(o,n.target.value)},className:_,children:s.map(n=>a.jsx("option",{value:String(n),children:String(n)},String(n)))})}case"text":return a.jsx("input",{type:"text",value:typeof e=="string"?e:String(e??""),onChange:s=>{r(o,s.target.value)},className:_});case"action":return a.jsx("span",{className:"jogak:inline-block jogak:px-2 jogak:py-0.5 jogak:text-[11px] jogak:font-semibold jogak:text-[var(--jogak-color-violet)] jogak:bg-[var(--jogak-color-violet-bg)] jogak:border jogak:border-[var(--jogak-color-violet-border)] jogak:rounded-[var(--jogak-radius-md)] jogak:font-[family-name:var(--jogak-font-mono)] jogak:leading-none",children:"(action)"});case"json":return a.jsx("code",{className:"jogak:text-[12px] jogak:text-[var(--jogak-color-fg-muted)] jogak:font-[family-name:var(--jogak-font-mono)]",children:JSON.stringify(e)})}}function H({args:o,argTypes:e,onArgChange:t}){const g=Array.from(new Set([...Object.keys(o),...Object.keys(e)])).map(n=>[n,o[n]]),s=g.some(([n])=>{var i;return((i=e[n])==null?void 0:i.defaultValue)!==void 0});return a.jsxs("div",{className:"jogak:border-t-2 jogak:border-[var(--jogak-color-border)]",children:[a.jsx("div",{className:"jogak:px-5 jogak:py-1.5 jogak:text-[11px] jogak:font-bold jogak:text-[var(--jogak-color-fg-subtle)] jogak:uppercase jogak:tracking-[0.08em] jogak:border-b jogak:border-[var(--jogak-color-border)] jogak:bg-[var(--jogak-color-bg-subtle)]",children:"Controls"}),g.length===0?a.jsx("div",{className:"jogak:px-5 jogak:py-3 jogak:text-[var(--jogak-color-fg-subtle)] jogak:text-[13px]",children:"No args defined"}):a.jsxs("table",{className:"jogak:w-full jogak:border-collapse jogak:text-[13px]",children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{className:R,children:"Name"}),a.jsx("th",{className:R,children:"Control"}),s&&a.jsx("th",{className:R,children:"Default"}),a.jsx("th",{className:R,children:"Description"})]})}),a.jsx("tbody",{children:g.map(([n,i])=>{const j=e[n];return a.jsxs("tr",{children:[a.jsx("td",{className:v(A,"jogak:font-[family-name:var(--jogak-font-mono)] jogak:text-[12px] jogak:text-[var(--jogak-color-fg)] jogak:whitespace-nowrap"),children:n}),a.jsx("td",{className:A,children:a.jsx(T,{argKey:n,value:i,argType:j,onArgChange:t})}),s&&a.jsx("td",{className:v(A,"jogak:font-[family-name:var(--jogak-font-mono)] jogak:text-[12px] jogak:text-[var(--jogak-color-fg-muted)] jogak:whitespace-nowrap"),children:(j==null?void 0:j.defaultValue)!==void 0?oo(j.defaultValue):""}),a.jsx("td",{className:v(A,"jogak:text-[var(--jogak-color-fg-subtle)]"),children:(j==null?void 0:j.description)??""})]},n)})})]})]})}function oo(o){if(typeof o=="string")return`'${o}'`;if(typeof o=="number"||typeof o=="boolean"||o===null)return String(o);try{return JSON.stringify(o)}catch{return String(o)}}function eo(o){if(o.length===0)return"()";try{return o.map(e=>{var t;if(e===null)return"null";if(e===void 0)return"undefined";if(typeof e=="function")return"[Function]";if(typeof e=="object"){const r=((t=e.constructor)==null?void 0:t.name)??"Object";return r!=="Object"&&r!=="Array"?`[${r}]`:JSON.stringify(e)}return JSON.stringify(e)}).join(", ")}catch{return"[unserializable]"}}function ao(o){const e=new Date(o),t=e.getHours().toString().padStart(2,"0"),r=e.getMinutes().toString().padStart(2,"0"),g=e.getSeconds().toString().padStart(2,"0"),s=e.getMilliseconds().toString().padStart(3,"0");return`${t}:${r}:${g}.${s}`}function F(){const[o,e]=c.useState(()=>C.defaultActionChannel.getLogs());c.useEffect(()=>C.defaultActionChannel.subscribe(e),[]);const t=o.length===0;return a.jsxs("div",{className:"jogak:h-full jogak:flex jogak:flex-col",children:[a.jsxs("div",{className:"jogak:px-5 jogak:py-1.5 jogak:text-[11px] jogak:font-bold jogak:text-[var(--jogak-color-fg-subtle)] jogak:uppercase jogak:tracking-[0.08em] jogak:border-b jogak:border-[var(--jogak-color-border)] jogak:bg-[var(--jogak-color-bg-subtle)] jogak:flex jogak:items-center jogak:justify-between jogak:shrink-0",children:[a.jsxs("span",{children:["Actions ",o.length>0&&`(${o.length.toString()})`]}),a.jsx("button",{type:"button",onClick:()=>{C.defaultActionChannel.clear()},disabled:t,className:v("jogak:text-[10px] jogak:font-semibold jogak:px-2 jogak:py-0.5 jogak:border jogak:border-[var(--jogak-color-border-strong)] jogak:rounded-[var(--jogak-radius-sm)] jogak:bg-[var(--jogak-color-bg)] jogak:normal-case jogak:tracking-normal",t?"jogak:text-[var(--jogak-color-fg-subtle)] jogak:cursor-default":"jogak:text-[var(--jogak-color-fg)] jogak:cursor-pointer"),children:"Clear"})]}),a.jsx("div",{className:"jogak:flex-1 jogak:overflow-auto",children:t?a.jsx("div",{className:"jogak:px-5 jogak:py-3 jogak:text-[var(--jogak-color-fg-subtle)] jogak:text-[13px] jogak:leading-none",children:"함수 prop이 호출되면 여기에 기록됩니다"}):a.jsx("ul",{className:"jogak:list-none jogak:m-0 jogak:p-0 jogak:font-[family-name:var(--jogak-font-mono)] jogak:text-[12px]",children:o.map(r=>a.jsxs("li",{className:"jogak:flex jogak:items-baseline jogak:gap-[10px] jogak:px-5 jogak:py-1.5 jogak:border-b jogak:border-[var(--jogak-color-border-muted)]",children:[a.jsx("span",{className:"jogak:text-[var(--jogak-color-fg-subtle)] jogak:text-[11px] jogak:min-w-[92px]",children:ao(r.timestamp)}),a.jsx("span",{className:"jogak:text-[var(--jogak-color-violet)] jogak:font-semibold",children:r.name}),a.jsxs("span",{className:"jogak:text-[var(--jogak-color-fg)] jogak:break-all jogak:flex-1",children:["(",eo(r.args),")"]})]},r.id))})})]})}function to({children:o,className:e,style:t,"data-testid":r}){const g=c.useRef(null),[s,n]=c.useState(null);return c.useEffect(()=>{const i=g.current;if(i===null)return;const j=i.shadowRoot??i.attachShadow({mode:"open"});n(j)},[]),a.jsx("div",{ref:g,className:e,"data-testid":r,style:t,children:s!==null?X.createPortal(o,s):null})}function ro({entry:o,args:e,userPreviewUrl:t,previewEntryPath:r,className:g,"data-testid":s}){const n=c.useRef(null),[i,j]=c.useState(!1),d=t!==""?`${t}${r}`:"/preview-frame.html";return c.useEffect(()=>{const l=k=>{const f=n.current;if(f===null||k.source!==f.contentWindow)return;const p=k.data;p==null||typeof p!="object"||p.type==="jogak:ready"&&j(!0)};return window.addEventListener("message",l),()=>{window.removeEventListener("message",l)}},[]),c.useEffect(()=>{var k;if(!i)return;const l=n.current;l!==null&&((k=l.contentWindow)==null||k.postMessage({type:"jogak:setProps",entryId:o.id,args:e},"*"))},[i,o,e]),c.useEffect(()=>{const l=n.current;return()=>{l!==null&&queueMicrotask(()=>{var k;(k=l.contentWindow)==null||k.postMessage({type:"jogak:unmount"},"*")})}},[]),a.jsx("iframe",{ref:n,src:d,title:"Preview",className:g,"data-testid":s})}const no=60;function so(o,e){const t=go(o),{children:r,restProps:g}=jo(e),s=Object.entries(g).filter(([,k])=>k!==void 0).map(([k,f])=>io(k,f)),n=lo(r),i=n!==null,j=s.length===0?"":" "+s.join(" "),d=i?`<${t}${j}>${n??""}</${t}>`:`<${t}${j} />`;if(d.length<=no&&!d.includes(`
2
- `))return d;const l=s.length===0?"":`
3
- `+s.join(`
1
+ "use strict";var oo=Object.create;var z=Object.defineProperty;var eo=Object.getOwnPropertyDescriptor;var ao=Object.getOwnPropertyNames;var to=Object.getPrototypeOf,ro=Object.prototype.hasOwnProperty;var no=(o,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of ao(e))!ro.call(o,n)&&n!==t&&z(o,n,{get:()=>e[n],enumerable:!(r=eo(e,n))||r.enumerable});return o};var $=(o,e,t)=>(t=o!=null?oo(to(o)):{},no(e||!o||!o.__esModule?z(t,"default",{value:o,enumerable:!0}):t,o));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),j=require("react"),S=require("@jogak/core"),E=require("@jogak/core/renderers/react"),L=require("prism-react-renderer"),so=require("react-dom");function F(o){var e,t,r="";if(typeof o=="string"||typeof o=="number")r+=o;else if(typeof o=="object")if(Array.isArray(o)){var n=o.length;for(e=0;e<n;e++)o[e]&&(t=F(o[e]))&&(r&&(r+=" "),r+=t)}else for(t in o)o[t]&&(r&&(r+=" "),r+=t);return r}function h(){for(var o,e,t=0,r="",n=arguments.length;t<n;t++)(o=arguments[t])&&(e=F(o))&&(r&&(r+=" "),r+=e);return r}function U({selectedEntryId:o,selectedJogakName:e,onSelect:t}){const[r,n]=j.useState(""),{metaTree:g,searchMeta:s}=E.useRegistryMeta(),l=r.trim().length>0?s(r):null;return a.jsxs("aside",{"data-testid":"sidebar",className:"jogak:flex jogak:flex-col jogak:h-full jogak:overflow-auto jogak:border-r jogak:border-[var(--jogak-color-border)]",children:[a.jsx("div",{className:"jogak:p-3 jogak:border-b jogak:border-[var(--jogak-color-border)]",children:a.jsx("input",{type:"search",placeholder:"Search components...",value:r,onChange:i=>{n(i.target.value)},className:"jogak:w-full jogak:px-2 jogak:py-1.5 jogak:border jogak:border-[var(--jogak-color-border-strong)] jogak:rounded-[var(--jogak-radius-md)]","aria-label":"Search components"})}),a.jsx("nav",{className:"jogak:flex-1 jogak:overflow-auto jogak:py-2",children:l!==null?a.jsx(go,{metas:l,selectedEntryId:o,selectedJogakName:e,onSelect:t}):a.jsx(G,{node:g,selectedEntryId:o,selectedJogakName:e,onSelect:t})})]})}function go({metas:o,selectedEntryId:e,selectedJogakName:t,onSelect:r}){return o.length===0?a.jsx("p",{className:"jogak:px-3 jogak:text-[var(--jogak-color-fg-subtle)] jogak:text-[13px]",children:"No results"}):a.jsx("ul",{className:"jogak:list-none jogak:m-0 jogak:p-0",children:o.map(n=>a.jsx("li",{children:a.jsx(I,{meta:n,selectedEntryId:e,selectedJogakName:t,onSelect:r,indent:0})},n.id))})}function G({node:o,selectedEntryId:e,selectedJogakName:t,onSelect:r,depth:n=0}){return a.jsx("ul",{className:"jogak:list-none jogak:m-0 jogak:pr-0 jogak:py-0 jogak:pl-[var(--jogak-tree-pl)]",style:{"--jogak-tree-pl":`${n*12}px`},children:Object.entries(o).map(([g,s])=>a.jsx("li",{children:"id"in s?a.jsx(I,{meta:s,selectedEntryId:e,selectedJogakName:t,onSelect:r,indent:0}):a.jsx(lo,{label:g,node:s,selectedEntryId:e,selectedJogakName:t,onSelect:r,depth:n+1})},g))})}function lo({label:o,node:e,selectedEntryId:t,selectedJogakName:r,onSelect:n,depth:g}){const[s,l]=j.useState(!0);return a.jsxs("div",{children:[a.jsxs("button",{type:"button",onClick:()=>{l(i=>!i)},className:"jogak:flex jogak:items-center jogak:gap-1 jogak:w-full jogak:px-3 jogak:py-1 jogak:bg-transparent jogak:border-none jogak:cursor-pointer jogak:text-[12px] jogak:font-semibold jogak:text-[var(--jogak-color-fg-muted)] jogak:uppercase jogak:tracking-wider","aria-expanded":s,children:[a.jsx("span",{children:s?"▾":"▸"}),o]}),s&&a.jsx(G,{node:e,selectedEntryId:t,selectedJogakName:r,onSelect:n,depth:g})]})}function I({meta:o,selectedEntryId:e,selectedJogakName:t,onSelect:r,indent:n}){const g=o.id===e,[s,l]=j.useState(g);j.useEffect(()=>{g&&l(!0)},[g]);const i=o.title.split("/").pop()??o.title,d=16+n*12;return a.jsxs("div",{children:[a.jsxs("button",{type:"button",onClick:()=>{if(g)l(c=>!c);else{l(!0);const c=o.jogakNames[0];c!==void 0&&r(o.id,c)}},className:h("jogak:flex jogak:items-center jogak:gap-1.5 jogak:w-full jogak:pr-3 jogak:py-[5px]","jogak:pl-[var(--jogak-entry-pl)]","jogak:border-none jogak:cursor-pointer jogak:text-left jogak:text-[13px]",g?"jogak:bg-[var(--jogak-color-accent-bg)] jogak:text-[var(--jogak-color-accent)] jogak:font-medium":"jogak:bg-transparent jogak:text-[var(--jogak-color-fg)] jogak:font-normal"),style:{"--jogak-entry-pl":`${d}px`},"aria-expanded":s,children:[a.jsx("span",{className:"jogak:text-[10px] jogak:shrink-0 jogak:leading-none",children:s?"▾":"▸"}),i]}),s&&a.jsx("ul",{className:"jogak:list-none jogak:m-0 jogak:p-0",children:o.jogakNames.map(c=>{const k=g&&c===t;return a.jsx("li",{children:a.jsx("button",{type:"button",onClick:()=>{r(o.id,c)},className:h("jogak:block jogak:w-full jogak:text-left jogak:pr-3 jogak:py-1","jogak:pl-[var(--jogak-jogak-pl)]","jogak:border-none jogak:cursor-pointer jogak:text-[12px]",k?"jogak:bg-[var(--jogak-color-accent-bg-soft)] jogak:text-[var(--jogak-color-accent-fg)] jogak:font-medium":"jogak:bg-transparent jogak:text-[var(--jogak-color-fg-muted)] jogak:font-normal"),style:{"--jogak-jogak-pl":`${d+18}px`},"aria-current":k?"true":void 0,children:c})},c)})})]})}const B=new Map,M=new Map;async function A(o){const e=o,t=B.get(e);if(t!==void 0)return t;const r=M.get(e);if(r!==void 0)return r;const n=io(e);M.set(e,n);try{const g=await n;return B.set(e,g),g}finally{M.delete(e)}}async function io(o){switch(o){case"react":case"next":return(await import("@jogak/core/renderers/react")).reactAdapter;case"vue":return(await import("@jogak/core/renderers/vue")).vueAdapter;case"svelte":return(await import("@jogak/core/renderers/svelte")).svelteAdapter;case"web-components":{const e=await import("@jogak/core/renderers/web-components");return ko(e.defineJogakElement)}default:throw new Error(`[jogak/ui] Unknown framework: '${o}'. Expected one of: 'react' | 'next' | 'vue' | 'svelte' | 'web-components'.`)}}function jo(o){return`jogak-${o.toLowerCase().replace(/[^a-z0-9]+/gu,"-").replace(/^-+|-+$/gu,"")||"entry"}`}function co(o){return o==null?null:typeof o=="string"?o:typeof o=="number"||typeof o=="boolean"?String(o):typeof o=="function"||typeof o=="object"?null:String(o)}function ko(o){return{framework:"web-components",render(e,t,r){const n=r,g=jo(e.id);o(g,e);let s=n._jogakWCElement;(s===void 0||n._jogakWCTagName!==g)&&(s!==void 0&&s.remove(),s=document.createElement(g),r.replaceChildren(s),n._jogakWCElement=s,n._jogakWCTagName=g);for(const[l,i]of Object.entries(t)){const d=co(i);d===null?s.removeAttribute(l):s.setAttribute(l,d)}},unmount(e){const t=e,r=t._jogakWCElement;r!==void 0&&r.remove(),delete t._jogakWCElement,delete t._jogakWCTagName}}}function uo(o,e){const t=e==null?void 0:e.control,r=(e==null?void 0:e.action)!==void 0&&e.action!==!1,n=(e==null?void 0:e.type)==="function"||typeof o=="function";return r||n?"action":t==="boolean"||typeof o=="boolean"?"boolean":t==="number"||t==="range"||typeof o=="number"?"number":t==="select"||t==="radio"||(e==null?void 0:e.options)!==void 0&&e.options.length>0?"select":t==="text"||t==="color"||typeof o=="string"?"text":"json"}const O="jogak:px-2 jogak:py-1 jogak:border jogak:border-[var(--jogak-color-border-strong)] jogak:rounded-[var(--jogak-radius-md)] jogak:text-[13px] jogak:w-full jogak:max-w-[280px]",R="jogak:px-5 jogak:py-1.5 jogak:text-left jogak:text-[var(--jogak-color-fg-muted)] jogak:font-medium jogak:text-[12px] jogak:border-b jogak:border-[var(--jogak-color-border)]",_="jogak:px-5 jogak:py-2 jogak:align-middle jogak:border-b jogak:border-[var(--jogak-color-border-muted)]";function fo({argKey:o,value:e,argType:t,onArgChange:r}){switch(uo(e,t)){case"boolean":return a.jsx("input",{type:"checkbox",checked:e===!0,onChange:g=>{r(o,g.target.checked)},className:"jogak:cursor-pointer jogak:w-4 jogak:h-4 jogak:accent-[var(--jogak-color-accent)]"});case"number":return a.jsx("input",{type:"number",value:typeof e=="number"?e:"",onChange:g=>{r(o,g.target.valueAsNumber)},className:O});case"select":{const g=(t==null?void 0:t.options)??[];return a.jsx("select",{value:String(e??""),onChange:s=>{r(o,s.target.value)},className:O,children:g.map(s=>a.jsx("option",{value:String(s),children:String(s)},String(s)))})}case"text":return a.jsx("input",{type:"text",value:typeof e=="string"?e:String(e??""),onChange:g=>{r(o,g.target.value)},className:O});case"action":return a.jsx("span",{className:"jogak:inline-block jogak:px-2 jogak:py-0.5 jogak:text-[11px] jogak:font-semibold jogak:text-[var(--jogak-color-violet)] jogak:bg-[var(--jogak-color-violet-bg)] jogak:border jogak:border-[var(--jogak-color-violet-border)] jogak:rounded-[var(--jogak-radius-md)] jogak:font-[family-name:var(--jogak-font-mono)] jogak:leading-none",children:"(action)"});case"json":return a.jsx("code",{className:"jogak:text-[12px] jogak:text-[var(--jogak-color-fg-muted)] jogak:font-[family-name:var(--jogak-font-mono)]",children:JSON.stringify(e)})}}function Q({args:o,argTypes:e,onArgChange:t}){const n=Array.from(new Set([...Object.keys(o),...Object.keys(e)])).map(s=>[s,o[s]]),g=n.some(([s])=>{var l;return((l=e[s])==null?void 0:l.defaultValue)!==void 0});return a.jsxs("div",{className:"jogak:border-t-2 jogak:border-[var(--jogak-color-border)]",children:[a.jsx("div",{className:"jogak:px-5 jogak:py-1.5 jogak:text-[11px] jogak:font-bold jogak:text-[var(--jogak-color-fg-subtle)] jogak:uppercase jogak:tracking-[0.08em] jogak:border-b jogak:border-[var(--jogak-color-border)] jogak:bg-[var(--jogak-color-bg-subtle)]",children:"Controls"}),n.length===0?a.jsx("div",{className:"jogak:px-5 jogak:py-3 jogak:text-[var(--jogak-color-fg-subtle)] jogak:text-[13px]",children:"No args defined"}):a.jsxs("table",{className:"jogak:w-full jogak:border-collapse jogak:text-[13px]",children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{className:R,children:"Name"}),a.jsx("th",{className:R,children:"Control"}),g&&a.jsx("th",{className:R,children:"Default"}),a.jsx("th",{className:R,children:"Description"})]})}),a.jsx("tbody",{children:n.map(([s,l])=>{const i=e[s];return a.jsxs("tr",{children:[a.jsx("td",{className:h(_,"jogak:font-[family-name:var(--jogak-font-mono)] jogak:text-[12px] jogak:text-[var(--jogak-color-fg)] jogak:whitespace-nowrap"),children:s}),a.jsx("td",{className:_,children:a.jsx(fo,{argKey:s,value:l,argType:i,onArgChange:t})}),g&&a.jsx("td",{className:h(_,"jogak:font-[family-name:var(--jogak-font-mono)] jogak:text-[12px] jogak:text-[var(--jogak-color-fg-muted)] jogak:whitespace-nowrap"),children:(i==null?void 0:i.defaultValue)!==void 0?po(i.defaultValue):""}),a.jsx("td",{className:h(_,"jogak:text-[var(--jogak-color-fg-subtle)]"),children:(i==null?void 0:i.description)??""})]},s)})})]})]})}function po(o){if(typeof o=="string")return`'${o}'`;if(typeof o=="number"||typeof o=="boolean"||o===null)return String(o);try{return JSON.stringify(o)}catch{return String(o)}}function mo(o){if(o.length===0)return"()";try{return o.map(e=>{var t;if(e===null)return"null";if(e===void 0)return"undefined";if(typeof e=="function")return"[Function]";if(typeof e=="object"){const r=((t=e.constructor)==null?void 0:t.name)??"Object";return r!=="Object"&&r!=="Array"?`[${r}]`:JSON.stringify(e)}return JSON.stringify(e)}).join(", ")}catch{return"[unserializable]"}}function xo(o){const e=new Date(o),t=e.getHours().toString().padStart(2,"0"),r=e.getMinutes().toString().padStart(2,"0"),n=e.getSeconds().toString().padStart(2,"0"),g=e.getMilliseconds().toString().padStart(3,"0");return`${t}:${r}:${n}.${g}`}function X(){const[o,e]=j.useState(()=>S.defaultActionChannel.getLogs());j.useEffect(()=>S.defaultActionChannel.subscribe(e),[]);const t=o.length===0;return a.jsxs("div",{className:"jogak:h-full jogak:flex jogak:flex-col",children:[a.jsxs("div",{className:"jogak:px-5 jogak:py-1.5 jogak:text-[11px] jogak:font-bold jogak:text-[var(--jogak-color-fg-subtle)] jogak:uppercase jogak:tracking-[0.08em] jogak:border-b jogak:border-[var(--jogak-color-border)] jogak:bg-[var(--jogak-color-bg-subtle)] jogak:flex jogak:items-center jogak:justify-between jogak:shrink-0",children:[a.jsxs("span",{children:["Actions ",o.length>0&&`(${o.length.toString()})`]}),a.jsx("button",{type:"button",onClick:()=>{S.defaultActionChannel.clear()},disabled:t,className:h("jogak:text-[10px] jogak:font-semibold jogak:px-2 jogak:py-0.5 jogak:border jogak:border-[var(--jogak-color-border-strong)] jogak:rounded-[var(--jogak-radius-sm)] jogak:bg-[var(--jogak-color-bg)] jogak:normal-case jogak:tracking-normal",t?"jogak:text-[var(--jogak-color-fg-subtle)] jogak:cursor-default":"jogak:text-[var(--jogak-color-fg)] jogak:cursor-pointer"),children:"Clear"})]}),a.jsx("div",{className:"jogak:flex-1 jogak:overflow-auto",children:t?a.jsx("div",{className:"jogak:px-5 jogak:py-3 jogak:text-[var(--jogak-color-fg-subtle)] jogak:text-[13px] jogak:leading-none",children:"함수 prop이 호출되면 여기에 기록됩니다"}):a.jsx("ul",{className:"jogak:list-none jogak:m-0 jogak:p-0 jogak:font-[family-name:var(--jogak-font-mono)] jogak:text-[12px]",children:o.map(r=>a.jsxs("li",{className:"jogak:flex jogak:items-baseline jogak:gap-[10px] jogak:px-5 jogak:py-1.5 jogak:border-b jogak:border-[var(--jogak-color-border-muted)]",children:[a.jsx("span",{className:"jogak:text-[var(--jogak-color-fg-subtle)] jogak:text-[11px] jogak:min-w-[92px]",children:xo(r.timestamp)}),a.jsx("span",{className:"jogak:text-[var(--jogak-color-violet)] jogak:font-semibold",children:r.name}),a.jsxs("span",{className:"jogak:text-[var(--jogak-color-fg)] jogak:break-all jogak:flex-1",children:["(",mo(r.args),")"]})]},r.id))})})]})}function bo({children:o,className:e,style:t,"data-testid":r}){const n=j.useRef(null),[g,s]=j.useState(null);return j.useEffect(()=>{const l=n.current;if(l===null)return;const i=l.shadowRoot??l.attachShadow({mode:"open"});s(i)},[]),a.jsx("div",{ref:n,className:e,"data-testid":r,style:t,children:g!==null?so.createPortal(o,g):null})}function ho({entry:o,args:e,userPreviewUrl:t,previewEntryPath:r,className:n,"data-testid":g}){const s=j.useRef(null),[l,i]=j.useState(!1),d=t!==""?`${t}${r}`:"/preview-frame.html";return j.useEffect(()=>{const c=k=>{const f=s.current;if(f===null||k.source!==f.contentWindow)return;const p=k.data;p==null||typeof p!="object"||p.type==="jogak:ready"&&i(!0)};return window.addEventListener("message",c),()=>{window.removeEventListener("message",c)}},[]),j.useEffect(()=>{var k;if(!l)return;const c=s.current;c!==null&&((k=c.contentWindow)==null||k.postMessage({type:"jogak:setProps",entryId:o.id,args:e},"*"))},[l,o,e]),j.useEffect(()=>{const c=s.current;return()=>{c!==null&&queueMicrotask(()=>{var k;(k=c.contentWindow)==null||k.postMessage({type:"jogak:unmount"},"*")})}},[]),a.jsx("iframe",{ref:s,src:d,title:"Preview",className:n,"data-testid":g})}const vo=60;function wo(o,e){const t=No(o),{children:r,restProps:n}=yo(e),g=Object.entries(n).filter(([,k])=>k!==void 0).map(([k,f])=>Co(k,f)),s=So(r),l=s!==null,i=g.length===0?"":" "+g.join(" "),d=l?`<${t}${i}>${s??""}</${t}>`:`<${t}${i} />`;if(d.length<=vo&&!d.includes(`
2
+ `))return d;const c=g.length===0?"":`
3
+ `+g.join(`
4
4
  `)+`
5
- `;if(i){const k=(n??"").split(`
5
+ `;if(l){const k=(s??"").split(`
6
6
  `).map(f=>` ${f}`).join(`
7
- `);return`<${t}${l}>
7
+ `);return`<${t}${c}>
8
8
  ${k}
9
- </${t}>`}return`<${t}${l}/>`}function go(o){const e=o.meta.component;if(e!==void 0){if(typeof e.displayName=="string"&&e.displayName.length>0)return e.displayName;if(typeof e.name=="string"&&e.name.length>0)return e.name}const t=o.title.split("/").pop();return t!==void 0&&t.length>0?t:"Component"}function jo(o){const{children:e,...t}=o;return{children:e,restProps:t}}function lo(o){return o==null?null:typeof o=="string"?o.length===0?null:o:typeof o=="number"||typeof o=="bigint"?`{${o.toString()}}`:typeof o=="boolean"?null:`{${I(o)}}`}function io(o,e){if(e===!0)return o;if(e===!1)return`${o}={false}`;if(e===null)return`${o}={null}`;if(typeof e=="string"){const t=e.replace(/"/gu,"&quot;");return`${o}="${t}"`}return typeof e=="number"||typeof e=="bigint"?`${o}={${e.toString()}}`:typeof e=="function"?`${o}={fn}`:`${o}={${I(e)}}`}function I(o){try{return JSON.stringify(o)}catch{return String(o)}}const U={mobile:375,tablet:768,desktop:"none"},co={mobile:"Mobile",tablet:"Tablet",desktop:"Desktop"},O={white:{"--jogak-canvas-bg":"#ffffff","--jogak-canvas-bg-image":"none","--jogak-canvas-bg-size":"auto","--jogak-canvas-bg-position":"0 0"},dark:{"--jogak-canvas-bg":"#1f2937","--jogak-canvas-bg-image":"none","--jogak-canvas-bg-size":"auto","--jogak-canvas-bg-position":"0 0"},transparent:{"--jogak-canvas-bg":"#ffffff","--jogak-canvas-bg-image":"linear-gradient(45deg, #e2e8f0 25%, transparent 25%), linear-gradient(-45deg, #e2e8f0 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #e2e8f0 75%), linear-gradient(-45deg, transparent 75%, #e2e8f0 75%)","--jogak-canvas-bg-size":"16px 16px","--jogak-canvas-bg-position":"0 0, 0 8px, 8px -8px, -8px 0px"}},P="jogak:bg-[var(--jogak-canvas-bg)] jogak:bg-[image:var(--jogak-canvas-bg-image)] jogak:bg-[length:var(--jogak-canvas-bg-size)] jogak:bg-[position:var(--jogak-canvas-bg-position)]";function ko(o){return E.themes[o]??E.themes.vsDark}function G({entryId:o,jogakName:e,overrideArgs:t,onArgChange:r,onReset:g,codeTheme:s,onResolveJogak:n,previewIsolation:i="iframe",userPreviewUrl:j="",previewEntryPath:d="/__jogak_preview__/index.html"}){const l=h.useEntry(o),[k,f]=c.useState("desktop"),[p,y]=c.useState("white"),[N,b]=c.useState("controls"),w=ko(s);return l.status==="unknown"?a.jsxs("div",{"data-testid":"preview-not-found",className:"jogak:p-6 jogak:text-[var(--jogak-color-error)]",children:["Entry not found: ",o]}):l.status==="error"?a.jsxs("div",{"data-testid":"preview-error",className:"jogak:p-6 jogak:text-[var(--jogak-color-error-fg)] jogak:bg-[var(--jogak-color-bg-error)] jogak:h-full jogak:flex jogak:flex-col jogak:gap-3 jogak:items-start",children:[a.jsxs("div",{className:"jogak:font-semibold",children:["Failed to load entry: ",o]}),a.jsx("pre",{className:"jogak:m-0 jogak:p-3 jogak:bg-[var(--jogak-color-bg)] jogak:border jogak:border-[var(--jogak-color-error-border)] jogak:rounded-[var(--jogak-radius-lg)] jogak:text-[12px] jogak:whitespace-pre-wrap jogak:max-w-full",children:l.error.message})]}):l.status==="loading"?a.jsx(uo,{meta:l.meta,jogakName:e,viewport:k,bgMode:p,onViewportChange:f,onBgModeChange:y}):a.jsx(fo,{entry:l.entry,jogakName:e,overrideArgs:t,onArgChange:r,onReset:g,onResolveJogak:n,viewport:k,bgMode:p,bottomTab:N,onViewportChange:f,onBgModeChange:y,onBottomTabChange:b,prismTheme:w,previewIsolation:i,userPreviewUrl:j,previewEntryPath:d})}function uo({meta:o,jogakName:e,viewport:t,bgMode:r,onViewportChange:g,onBgModeChange:s}){const n=e??o.jogakNames[0]??"...",i=U[t];return a.jsxs("div",{"data-testid":"preview-loading",className:"jogak:flex jogak:flex-col jogak:h-full",children:[a.jsx(Q,{title:o.title,jogakName:n,viewport:t,bgMode:r,onViewportChange:g,onBgModeChange:s,showReset:!1,onReset:()=>{}}),a.jsx("div",{className:`jogak:flex-1 jogak:overflow-auto jogak:min-h-[320px] ${P}`,style:O[r],children:a.jsx("div",{className:"jogak:mx-auto jogak:p-6 jogak:max-w-[var(--jogak-canvas-mw)]",style:{"--jogak-canvas-mw":i==="none"?"100%":`${i}px`},children:a.jsxs("div",{className:"jogak-skeleton-shimmer jogak:border jogak:border-dashed jogak:border-[var(--jogak-color-border)] jogak:rounded-[var(--jogak-radius-xl)] jogak:p-4 jogak:flex jogak:items-center jogak:justify-center jogak:text-[var(--jogak-color-fg-subtle)] jogak:text-[13px] jogak:min-h-[256px]",children:["Loading ",o.title,"…"]})})})]})}function fo({entry:o,jogakName:e,overrideArgs:t,onArgChange:r,onReset:g,onResolveJogak:s,viewport:n,bgMode:i,bottomTab:j,onViewportChange:d,onBgModeChange:l,onBottomTabChange:k,prismTheme:f,previewIsolation:p,userPreviewUrl:y,previewEntryPath:N}){var V;const b=e??((V=o.jogaks[0])==null?void 0:V.name)??null;if(c.useEffect(()=>{e===null&&b!==null&&s!==void 0&&s(o.id,b)},[e,b,o.id,s]),b===null)return a.jsxs("div",{className:"jogak:p-6 jogak:text-[var(--jogak-color-error)]",children:["Entry has no jogaks: ",o.id]});const w=o.jogaks.find(S=>S.name===b);if(w===void 0)return a.jsxs("div",{className:"jogak:p-6 jogak:text-[var(--jogak-color-error)]",children:["Jogak not found: ",b]});const $={...w.args??{},...t},u={...o.meta.argTypes??{},...w.argTypes??{}},x=Object.keys(t).length>0,m=U[n];return a.jsxs("div",{className:"jogak:flex jogak:flex-col jogak:h-full",children:[a.jsx(Q,{title:o.title,jogakName:w.name,viewport:n,bgMode:i,onViewportChange:d,onBgModeChange:l,showReset:x,onReset:g}),a.jsx("div",{className:`jogak:flex-1 jogak:overflow-auto jogak:min-h-[320px] ${P}`,style:O[i],children:a.jsx("div",{"data-jogak-content":!0,className:"jogak:mx-auto jogak:p-6 jogak:max-w-[var(--jogak-canvas-mw)]",style:{"--jogak-canvas-mw":m==="none"?"100%":`${m}px`},children:a.jsx(po,{entry:o,args:$,theme:f,previewIsolation:p,userPreviewUrl:y,previewEntryPath:N},`${o.id}/${w.name}`)})}),a.jsxs("div",{"data-testid":"bottom-panel",className:"jogak:h-[260px] jogak:shrink-0 jogak:flex jogak:flex-col jogak:border-t-2 jogak:border-[var(--jogak-color-border)]",children:[a.jsx("div",{role:"tablist",className:"jogak:flex jogak:gap-1 jogak:pt-1 jogak:px-3 jogak:pb-0 jogak:bg-[var(--jogak-color-bg)] jogak:border-b jogak:border-[var(--jogak-color-border)] jogak:shrink-0",children:["controls","actions"].map(S=>{const J=j===S;return a.jsx("button",{type:"button",role:"tab","aria-selected":J,onClick:()=>{k(S)},className:v("jogak:px-[14px] jogak:py-[6px] jogak:text-[12px] jogak:bg-transparent jogak:border-x-0 jogak:border-t-0 jogak:border-b-2 jogak:border-solid jogak:-mb-px jogak:cursor-pointer jogak:capitalize",J?"jogak:font-semibold jogak:text-[var(--jogak-color-fg-strong)] jogak:border-[var(--jogak-color-accent)]":"jogak:font-medium jogak:text-[var(--jogak-color-fg-muted)] jogak:border-transparent"),children:S},S)})}),a.jsx("div",{className:"jogak:flex-1 jogak:min-h-0 jogak:overflow-auto",children:j==="controls"?a.jsx(H,{args:$,argTypes:u,onArgChange:r}):a.jsx(F,{})})]})]})}function Q({title:o,jogakName:e,viewport:t,bgMode:r,onViewportChange:g,onBgModeChange:s,showReset:n,onReset:i}){return a.jsxs("div",{className:"jogak:flex jogak:items-center jogak:gap-[10px] jogak:px-[14px] jogak:py-[7px] jogak:border-b jogak:border-[var(--jogak-color-border)] jogak:bg-[var(--jogak-color-bg)] jogak:shrink-0",children:[a.jsxs("div",{className:"jogak:flex-1 jogak:text-[13px]",children:[a.jsx("span",{className:"jogak:text-[var(--jogak-color-fg-subtle)]",children:o}),a.jsx("span",{className:"jogak:text-[var(--jogak-color-border-strong)] jogak:mx-1.5 jogak:leading-none",children:"/"}),a.jsx("span",{className:"jogak:text-[var(--jogak-color-fg-strong)] jogak:font-semibold",children:e})]}),a.jsx("div",{className:"jogak:flex jogak:gap-0.5 jogak:bg-[var(--jogak-color-bg-subtle)] jogak:rounded-[var(--jogak-radius-lg)] jogak:p-0.5",children:["mobile","tablet","desktop"].map(j=>a.jsx("button",{type:"button",onClick:()=>{g(j)},"aria-pressed":t===j,className:v("jogak:px-[9px] jogak:py-[3px] jogak:text-[12px] jogak:border-none jogak:rounded-[var(--jogak-radius-md)] jogak:cursor-pointer jogak:transition-all jogak:duration-100",t===j?"jogak:bg-[var(--jogak-color-bg-elevated)] jogak:text-[var(--jogak-color-fg-strong)] jogak:font-semibold jogak:shadow-[0_1px_2px_rgba(0,0,0,0.08)]":"jogak:bg-transparent jogak:text-[var(--jogak-color-fg-muted)] jogak:font-normal jogak:shadow-none"),children:co[j]},j))}),a.jsx("div",{className:"jogak:flex jogak:gap-1 jogak:items-center",children:["white","dark","transparent"].map(j=>a.jsx("button",{type:"button",onClick:()=>{s(j)},"aria-pressed":r===j,"aria-label":`${j} background`,className:v("jogak:w-5 jogak:h-5 jogak:rounded-[var(--jogak-radius-md)] jogak:border-2 jogak:cursor-pointer jogak:p-0 jogak:shrink-0",P,r===j?"jogak:border-[var(--jogak-color-accent)]":"jogak:border-[var(--jogak-color-border-strong)]"),style:O[j]},j))}),n&&a.jsx("button",{type:"button",onClick:i,className:"jogak:px-[10px] jogak:py-[3px] jogak:text-[12px] jogak:border jogak:border-[var(--jogak-color-border-strong)] jogak:rounded-[var(--jogak-radius-md)] jogak:bg-[var(--jogak-color-bg)] jogak:cursor-pointer jogak:text-[var(--jogak-color-fg)] jogak:leading-none",children:"Reset"})]})}function po({entry:o,args:e,theme:t,previewIsolation:r,userPreviewUrl:g,previewEntryPath:s}){const[n,i]=c.useState(!1),j=so(o,e),d=a.jsxs("div",{className:"jogak:relative",children:[a.jsx(xo,{entry:o,args:e,previewIsolation:r,userPreviewUrl:g,previewEntryPath:s}),a.jsx("button",{type:"button",onClick:()=>{i(l=>!l)},"aria-pressed":n,"aria-label":n?"Hide source code":"Show source code",className:v("jogak:absolute jogak:bottom-2 jogak:right-2 jogak:px-[9px] jogak:py-1","jogak:text-[11px] jogak:font-[family-name:var(--jogak-font-mono)] jogak:font-semibold jogak:tracking-[0.02em]","jogak:text-[var(--jogak-color-bg)] jogak:border-none jogak:rounded-[5px] jogak:cursor-pointer","jogak:shadow-[0_1px_4px_rgba(0,0,0,0.2)] jogak:transition-[background-color] jogak:duration-150 jogak:leading-none",n?"jogak:bg-[var(--jogak-color-accent)]":"jogak:bg-[#1e293b]"),children:"</>"})]});return a.jsxs("div",{children:[d,n&&a.jsx("div",{className:"jogak:mt-2 jogak:rounded-[var(--jogak-radius-xl)] jogak:overflow-hidden jogak:h-[320px] jogak:shadow-[0_0_0_1px_rgba(0,0,0,0.08),_0_4px_16px_rgba(0,0,0,0.12)]",children:a.jsx(ho,{source:j,theme:t})})]})}const M="jogak:border jogak:border-dashed jogak:border-[var(--jogak-color-border)] jogak:rounded-[var(--jogak-radius-xl)] jogak:p-4 jogak:pb-9";function xo({entry:o,args:e,previewIsolation:t,userPreviewUrl:r,previewEntryPath:g}){return t==="shadow"?a.jsx(to,{"data-testid":"preview-content",className:M,children:a.jsx(bo,{entry:o,args:e})}):t==="iframe"?a.jsx(ro,{entry:o,args:e,userPreviewUrl:r,previewEntryPath:g,"data-testid":"preview-content",className:`${M} jogak:block jogak:w-full jogak:bg-transparent jogak:min-h-[256px]`}):a.jsx(mo,{entry:o,args:e})}function mo({entry:o,args:e}){const t=c.useRef(null);return c.useEffect(()=>{const r=t.current;if(r!==null)return h.reactAdapter.render(o,e,r),()=>{queueMicrotask(()=>{h.reactAdapter.unmount(r)})}},[o]),c.useEffect(()=>{const r=t.current;r!==null&&h.reactAdapter.render(o,e,r)},[o,e]),a.jsx("div",{ref:t,"data-testid":"preview-content",className:M})}function bo({entry:o,args:e}){const t=c.useRef(null);return c.useEffect(()=>{const r=t.current;if(r!==null)return h.reactAdapter.render(o,e,r),()=>{queueMicrotask(()=>{h.reactAdapter.unmount(r)})}},[o]),c.useEffect(()=>{const r=t.current;r!==null&&h.reactAdapter.render(o,e,r)},[o,e]),a.jsx("div",{ref:t,"data-testid":"preview-content-shadow"})}function ho({source:o,theme:e}){const[t,r]=c.useState(!1),g=e.plain.backgroundColor??"#1e293b";if(o===void 0)return a.jsx("div",{className:"jogak:h-full jogak:flex jogak:items-center jogak:justify-center jogak:bg-[var(--jogak-source-bg)] jogak:text-[#94a3b8] jogak:text-[13px]",style:{"--jogak-source-bg":g},children:"Source not available"});const s=()=>{navigator.clipboard.writeText(o).then(()=>{r(!0),setTimeout(()=>{r(!1)},2e3)})};return a.jsxs("div",{className:"jogak:relative jogak:h-full",children:[a.jsx("button",{type:"button",onClick:s,className:"jogak:absolute jogak:top-[10px] jogak:right-3 jogak:z-[1] jogak:px-[9px] jogak:py-[3px] jogak:text-[11px] jogak:bg-[rgba(255,255,255,0.1)] jogak:text-[#e2e8f0] jogak:border jogak:border-[rgba(255,255,255,0.18)] jogak:rounded-[var(--jogak-radius-md)] jogak:cursor-pointer jogak:leading-none",children:t?"✓ Copied":"Copy"}),a.jsx(E.Highlight,{code:o.trim(),language:"tsx",theme:e,children:({style:n,tokens:i,getLineProps:j,getTokenProps:d})=>a.jsx("pre",{className:"jogak:m-0 jogak:py-3 jogak:px-0 jogak:text-[12.5px] jogak:leading-[1.7] jogak:font-[family-name:var(--jogak-font-mono)] jogak:h-full jogak:box-border jogak:overflow-auto",style:n,children:i.map((l,k)=>a.jsxs("div",{...j({line:l}),className:"jogak:flex jogak:pr-6",style:j({line:l}).style,children:[a.jsx("span",{className:"jogak:select-none jogak:min-w-10 jogak:pl-[14px] jogak:pr-[14px] jogak:text-right jogak:text-[rgba(148,163,184,0.45)] jogak:shrink-0 jogak:leading-[1.7]",children:k+1}),a.jsx("span",{children:l.map((f,p)=>a.jsx("span",{...d({token:f})},p))})]},k))})})]})}function q(){if(typeof window>"u")return null;const o=new URLSearchParams(window.location.search),e=o.get("entry");if(e===null)return null;const t=o.get("jogak");return{entryId:e,jogakName:t}}function vo(o,e){const t=new URLSearchParams;t.set("entry",o),t.set("jogak",e),window.history.pushState({},"",`?${t.toString()}`)}function wo({entries:o,metas:e,codeTheme:t="vsDark",previewIsolation:r="iframe",userPreviewUrl:g="",previewEntryPath:s="/__jogak_preview__/index.html",userViteUrl:n}={}){const i=g!==""?g:n??"",j=c.useMemo(()=>{if(o!==void 0){e!==void 0&&console.warn("[jogak] JogakApp received both `entries` and `metas` — `entries` (eager) takes precedence.");const u=new C.ComponentRegistry;for(const x of o)u.register(x);return u}if(e!==void 0)for(const u of e)C.defaultRegistry.registerMeta(u);return C.defaultRegistry},[o,e]),d=c.useMemo(()=>q(),[]),[l,k]=c.useState((d==null?void 0:d.entryId)??null),[f,p]=c.useState((d==null?void 0:d.jogakName)??null),[y,N]=c.useState({});c.useEffect(()=>{const u=()=>{const x=q();x!==null?(k(x.entryId),p(x.jogakName),N({})):(k(null),p(null))};return window.addEventListener("popstate",u),()=>{window.removeEventListener("popstate",u)}},[]);const b=c.useCallback((u,x)=>{k(u),p(x),N({}),vo(u,x)},[]),w=c.useCallback((u,x)=>{if(k(m=>m===u?u:m),p(m=>m??x),typeof window<"u"){const m=new URLSearchParams(window.location.search);m.get("entry")===u&&m.get("jogak")===null&&(m.set("jogak",x),window.history.replaceState({},"",`?${m.toString()}`))}},[]),L=c.useCallback((u,x)=>{N(m=>({...m,[u]:x}))},[]),$=c.useCallback(()=>{N({})},[]);return a.jsx(h.JogakProvider,{registry:j,children:a.jsxs("div",{"data-jogak-shell":!0,className:"jogak:grid jogak:grid-cols-[260px_1fr] jogak:h-dvh jogak:overflow-hidden",children:[a.jsx(B,{selectedEntryId:l,selectedJogakName:f,onSelect:b}),a.jsx("main",{className:"jogak:overflow-hidden jogak:min-h-0",children:l!==null?a.jsx(G,{entryId:l,jogakName:f,overrideArgs:y,onArgChange:L,onReset:$,codeTheme:t,onResolveJogak:w,previewIsolation:r,userPreviewUrl:i,previewEntryPath:s}):a.jsx("div",{className:"jogak:flex jogak:items-center jogak:justify-center jogak:h-full jogak:text-[var(--jogak-color-fg-subtle)]",children:"Select a component from the sidebar"})})]})})}function No(){const o=h.useRegistry(),e=c.useMemo(()=>o.getAll(),[o]),t=c.useMemo(()=>o.getTree(),[o]),r=c.useMemo(()=>g=>o.search(g),[o]);return{entries:e,tree:t,search:r}}exports.Actions=F;exports.Controls=H;exports.JogakApp=wo;exports.Preview=G;exports.Sidebar=B;exports.useRegistry=No;
9
+ </${t}>`}return`<${t}${c}/>`}function No(o){const e=o.meta.component;if(e!=null){if(typeof e.displayName=="string"&&e.displayName.length>0)return e.displayName;if(typeof e.name=="string"&&e.name.length>0)return e.name}const t=o.title.split("/").pop();return t!==void 0&&t.length>0?t:"Component"}function yo(o){const{children:e,...t}=o;return{children:e,restProps:t}}function So(o){return o==null?null:typeof o=="string"?o.length===0?null:o:typeof o=="number"||typeof o=="bigint"?`{${o.toString()}}`:typeof o=="boolean"?null:`{${Y(o)}}`}function Co(o,e){if(e===!0)return o;if(e===!1)return`${o}={false}`;if(e===null)return`${o}={null}`;if(typeof e=="string"){const t=e.replace(/"/gu,"&quot;");return`${o}="${t}"`}return typeof e=="number"||typeof e=="bigint"?`${o}={${e.toString()}}`:typeof e=="function"?`${o}={fn}`:`${o}={${Y(e)}}`}function Y(o){try{return JSON.stringify(o)}catch{return String(o)}}const Z={mobile:375,tablet:768,desktop:"none"},$o={mobile:"Mobile",tablet:"Tablet",desktop:"Desktop"},W={white:{"--jogak-canvas-bg":"#ffffff","--jogak-canvas-bg-image":"none","--jogak-canvas-bg-size":"auto","--jogak-canvas-bg-position":"0 0"},dark:{"--jogak-canvas-bg":"#1f2937","--jogak-canvas-bg-image":"none","--jogak-canvas-bg-size":"auto","--jogak-canvas-bg-position":"0 0"},transparent:{"--jogak-canvas-bg":"#ffffff","--jogak-canvas-bg-image":"linear-gradient(45deg, #e2e8f0 25%, transparent 25%), linear-gradient(-45deg, #e2e8f0 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #e2e8f0 75%), linear-gradient(-45deg, transparent 75%, #e2e8f0 75%)","--jogak-canvas-bg-size":"16px 16px","--jogak-canvas-bg-position":"0 0, 0 8px, 8px -8px, -8px 0px"}},V="jogak:bg-[var(--jogak-canvas-bg)] jogak:bg-[image:var(--jogak-canvas-bg-image)] jogak:bg-[length:var(--jogak-canvas-bg-size)] jogak:bg-[position:var(--jogak-canvas-bg-position)]";function Ro(o){return L.themes[o]??L.themes.vsDark}function K({entryId:o,jogakName:e,overrideArgs:t,onArgChange:r,onReset:n,codeTheme:g,onResolveJogak:s,previewIsolation:l="iframe",userPreviewUrl:i="",previewEntryPath:d="/__jogak_preview__/index.html"}){const c=E.useEntry(o,{skipHydrate:l==="iframe"}),[k,f]=j.useState("desktop"),[p,N]=j.useState("white"),[w,b]=j.useState("controls"),v=Ro(g);return c.status==="unknown"?a.jsxs("div",{"data-testid":"preview-not-found",className:"jogak:p-6 jogak:text-[var(--jogak-color-error)]",children:["Entry not found: ",o]}):c.status==="error"?a.jsxs("div",{"data-testid":"preview-error",className:"jogak:p-6 jogak:text-[var(--jogak-color-error-fg)] jogak:bg-[var(--jogak-color-bg-error)] jogak:h-full jogak:flex jogak:flex-col jogak:gap-3 jogak:items-start",children:[a.jsxs("div",{className:"jogak:font-semibold",children:["Failed to load entry: ",o]}),a.jsx("pre",{className:"jogak:m-0 jogak:p-3 jogak:bg-[var(--jogak-color-bg)] jogak:border jogak:border-[var(--jogak-color-error-border)] jogak:rounded-[var(--jogak-radius-lg)] jogak:text-[12px] jogak:whitespace-pre-wrap jogak:max-w-full",children:c.error.message})]}):c.status==="loading"?a.jsx(_o,{meta:c.meta,jogakName:e,viewport:k,bgMode:p,onViewportChange:f,onBgModeChange:N}):a.jsx(Ao,{entry:c.entry,jogakName:e,overrideArgs:t,onArgChange:r,onReset:n,onResolveJogak:s,viewport:k,bgMode:p,bottomTab:w,onViewportChange:f,onBgModeChange:N,onBottomTabChange:b,prismTheme:v,previewIsolation:l,userPreviewUrl:i,previewEntryPath:d})}function _o({meta:o,jogakName:e,viewport:t,bgMode:r,onViewportChange:n,onBgModeChange:g}){const s=e??o.jogakNames[0]??"...",l=Z[t];return a.jsxs("div",{"data-testid":"preview-loading",className:"jogak:flex jogak:flex-col jogak:h-full",children:[a.jsx(T,{title:o.title,jogakName:s,viewport:t,bgMode:r,onViewportChange:n,onBgModeChange:g,showReset:!1,onReset:()=>{}}),a.jsx("div",{className:`jogak:flex-1 jogak:overflow-auto jogak:min-h-[320px] ${V}`,style:W[r],children:a.jsx("div",{className:"jogak:mx-auto jogak:p-6 jogak:max-w-[var(--jogak-canvas-mw)]",style:{"--jogak-canvas-mw":l==="none"?"100%":`${l}px`},children:a.jsxs("div",{className:"jogak-skeleton-shimmer jogak:border jogak:border-dashed jogak:border-[var(--jogak-color-border)] jogak:rounded-[var(--jogak-radius-xl)] jogak:p-4 jogak:flex jogak:items-center jogak:justify-center jogak:text-[var(--jogak-color-fg-subtle)] jogak:text-[13px] jogak:min-h-[256px]",children:["Loading ",o.title,"…"]})})})]})}function Ao({entry:o,jogakName:e,overrideArgs:t,onArgChange:r,onReset:n,onResolveJogak:g,viewport:s,bgMode:l,bottomTab:i,onViewportChange:d,onBgModeChange:c,onBottomTabChange:k,prismTheme:f,previewIsolation:p,userPreviewUrl:N,previewEntryPath:w}){var q;const b=e??((q=o.jogaks[0])==null?void 0:q.name)??null;if(j.useEffect(()=>{e===null&&b!==null&&g!==void 0&&g(o.id,b)},[e,b,o.id,g]),b===null)return a.jsxs("div",{className:"jogak:p-6 jogak:text-[var(--jogak-color-error)]",children:["Entry has no jogaks: ",o.id]});const v=o.jogaks.find(y=>y.name===b);if(v===void 0)return a.jsxs("div",{className:"jogak:p-6 jogak:text-[var(--jogak-color-error)]",children:["Jogak not found: ",b]});const C={...v.args??{},...t},u={...o.meta.argTypes??{},...v.argTypes??{}},m=Object.keys(t).length>0,x=Z[s];return a.jsxs("div",{className:"jogak:flex jogak:flex-col jogak:h-full",children:[a.jsx(T,{title:o.title,jogakName:v.name,viewport:s,bgMode:l,onViewportChange:d,onBgModeChange:c,showReset:m,onReset:n}),a.jsx("div",{className:`jogak:flex-1 jogak:overflow-auto jogak:min-h-[320px] ${V}`,style:W[l],children:a.jsx("div",{"data-jogak-content":!0,className:"jogak:mx-auto jogak:p-6 jogak:max-w-[var(--jogak-canvas-mw)]",style:{"--jogak-canvas-mw":x==="none"?"100%":`${x}px`},children:a.jsx(Eo,{entry:o,args:C,theme:f,previewIsolation:p,userPreviewUrl:N,previewEntryPath:w},`${o.id}/${v.name}`)})}),a.jsxs("div",{"data-testid":"bottom-panel",className:"jogak:h-[260px] jogak:shrink-0 jogak:flex jogak:flex-col jogak:border-t-2 jogak:border-[var(--jogak-color-border)]",children:[a.jsx("div",{role:"tablist",className:"jogak:flex jogak:gap-1 jogak:pt-1 jogak:px-3 jogak:pb-0 jogak:bg-[var(--jogak-color-bg)] jogak:border-b jogak:border-[var(--jogak-color-border)] jogak:shrink-0",children:["controls","actions"].map(y=>{const D=i===y;return a.jsx("button",{type:"button",role:"tab","aria-selected":D,onClick:()=>{k(y)},className:h("jogak:px-[14px] jogak:py-[6px] jogak:text-[12px] jogak:bg-transparent jogak:border-x-0 jogak:border-t-0 jogak:border-b-2 jogak:border-solid jogak:-mb-px jogak:cursor-pointer jogak:capitalize",D?"jogak:font-semibold jogak:text-[var(--jogak-color-fg-strong)] jogak:border-[var(--jogak-color-accent)]":"jogak:font-medium jogak:text-[var(--jogak-color-fg-muted)] jogak:border-transparent"),children:y},y)})}),a.jsx("div",{className:"jogak:flex-1 jogak:min-h-0 jogak:overflow-auto",children:i==="controls"?a.jsx(Q,{args:C,argTypes:u,onArgChange:r}):a.jsx(X,{})})]})]})}function T({title:o,jogakName:e,viewport:t,bgMode:r,onViewportChange:n,onBgModeChange:g,showReset:s,onReset:l}){return a.jsxs("div",{className:"jogak:flex jogak:items-center jogak:gap-[10px] jogak:px-[14px] jogak:py-[7px] jogak:border-b jogak:border-[var(--jogak-color-border)] jogak:bg-[var(--jogak-color-bg)] jogak:shrink-0",children:[a.jsxs("div",{className:"jogak:flex-1 jogak:text-[13px]",children:[a.jsx("span",{className:"jogak:text-[var(--jogak-color-fg-subtle)]",children:o}),a.jsx("span",{className:"jogak:text-[var(--jogak-color-border-strong)] jogak:mx-1.5 jogak:leading-none",children:"/"}),a.jsx("span",{className:"jogak:text-[var(--jogak-color-fg-strong)] jogak:font-semibold",children:e})]}),a.jsx("div",{className:"jogak:flex jogak:gap-0.5 jogak:bg-[var(--jogak-color-bg-subtle)] jogak:rounded-[var(--jogak-radius-lg)] jogak:p-0.5",children:["mobile","tablet","desktop"].map(i=>a.jsx("button",{type:"button",onClick:()=>{n(i)},"aria-pressed":t===i,className:h("jogak:px-[9px] jogak:py-[3px] jogak:text-[12px] jogak:border-none jogak:rounded-[var(--jogak-radius-md)] jogak:cursor-pointer jogak:transition-all jogak:duration-100",t===i?"jogak:bg-[var(--jogak-color-bg-elevated)] jogak:text-[var(--jogak-color-fg-strong)] jogak:font-semibold jogak:shadow-[0_1px_2px_rgba(0,0,0,0.08)]":"jogak:bg-transparent jogak:text-[var(--jogak-color-fg-muted)] jogak:font-normal jogak:shadow-none"),children:$o[i]},i))}),a.jsx("div",{className:"jogak:flex jogak:gap-1 jogak:items-center",children:["white","dark","transparent"].map(i=>a.jsx("button",{type:"button",onClick:()=>{g(i)},"aria-pressed":r===i,"aria-label":`${i} background`,className:h("jogak:w-5 jogak:h-5 jogak:rounded-[var(--jogak-radius-md)] jogak:border-2 jogak:cursor-pointer jogak:p-0 jogak:shrink-0",V,r===i?"jogak:border-[var(--jogak-color-accent)]":"jogak:border-[var(--jogak-color-border-strong)]"),style:W[i]},i))}),s&&a.jsx("button",{type:"button",onClick:l,className:"jogak:px-[10px] jogak:py-[3px] jogak:text-[12px] jogak:border jogak:border-[var(--jogak-color-border-strong)] jogak:rounded-[var(--jogak-radius-md)] jogak:bg-[var(--jogak-color-bg)] jogak:cursor-pointer jogak:text-[var(--jogak-color-fg)] jogak:leading-none",children:"Reset"})]})}function Eo({entry:o,args:e,theme:t,previewIsolation:r,userPreviewUrl:n,previewEntryPath:g}){const[s,l]=j.useState(!1),i=wo(o,e),d=a.jsxs("div",{className:"jogak:relative",children:[a.jsx(Mo,{entry:o,args:e,previewIsolation:r,userPreviewUrl:n,previewEntryPath:g}),a.jsx("button",{type:"button",onClick:()=>{l(c=>!c)},"aria-pressed":s,"aria-label":s?"Hide source code":"Show source code",className:h("jogak:absolute jogak:bottom-2 jogak:right-2 jogak:px-[9px] jogak:py-1","jogak:text-[11px] jogak:font-[family-name:var(--jogak-font-mono)] jogak:font-semibold jogak:tracking-[0.02em]","jogak:text-[var(--jogak-color-bg)] jogak:border-none jogak:rounded-[5px] jogak:cursor-pointer","jogak:shadow-[0_1px_4px_rgba(0,0,0,0.2)] jogak:transition-[background-color] jogak:duration-150 jogak:leading-none",s?"jogak:bg-[var(--jogak-color-accent)]":"jogak:bg-[#1e293b]"),children:"</>"})]});return a.jsxs("div",{children:[d,s&&a.jsx("div",{className:"jogak:mt-2 jogak:rounded-[var(--jogak-radius-xl)] jogak:overflow-hidden jogak:h-[320px] jogak:shadow-[0_0_0_1px_rgba(0,0,0,0.08),_0_4px_16px_rgba(0,0,0,0.12)]",children:a.jsx(Po,{source:i,theme:t})})]})}const P="jogak:border jogak:border-dashed jogak:border-[var(--jogak-color-border)] jogak:rounded-[var(--jogak-radius-xl)] jogak:p-4 jogak:pb-9";function Mo({entry:o,args:e,previewIsolation:t,userPreviewUrl:r,previewEntryPath:n}){return t==="shadow"?a.jsx(bo,{"data-testid":"preview-content",className:P,children:a.jsx(Lo,{entry:o,args:e})}):t==="iframe"?a.jsx(ho,{entry:o,args:e,userPreviewUrl:r,previewEntryPath:n,"data-testid":"preview-content",className:`${P} jogak:block jogak:w-full jogak:bg-transparent jogak:min-h-[256px]`}):a.jsx(Oo,{entry:o,args:e})}function Oo({entry:o,args:e}){const t=j.useRef(null),r=j.useRef(null);return j.useEffect(()=>{const n=t.current;if(n===null)return;let g=!1;const s=o.meta.framework??"react";return A(s).then(l=>{g||(r.current=l,l.render(o,e,n))}),()=>{g=!0;const l=r.current;l!==null&&queueMicrotask(()=>{l.unmount(n)})}},[o]),j.useEffect(()=>{const n=t.current;if(n===null)return;let g=!1;const s=r.current;if(s!==null){s.render(o,e,n);return}const l=o.meta.framework??"react";return A(l).then(i=>{g||(r.current=i,i.render(o,e,n))}),()=>{g=!0}},[o,e]),a.jsx("div",{ref:t,"data-testid":"preview-content",className:P})}function Lo({entry:o,args:e}){const t=j.useRef(null),r=j.useRef(null);return j.useEffect(()=>{const n=t.current;if(n===null)return;let g=!1;const s=o.meta.framework??"react";return A(s).then(l=>{g||(r.current=l,l.render(o,e,n))}),()=>{g=!0;const l=r.current;l!==null&&queueMicrotask(()=>{l.unmount(n)})}},[o]),j.useEffect(()=>{const n=t.current;if(n===null)return;let g=!1;const s=r.current;if(s!==null){s.render(o,e,n);return}const l=o.meta.framework??"react";return A(l).then(i=>{g||(r.current=i,i.render(o,e,n))}),()=>{g=!0}},[o,e]),a.jsx("div",{ref:t,"data-testid":"preview-content-shadow"})}function Po({source:o,theme:e}){const[t,r]=j.useState(!1),n=e.plain.backgroundColor??"#1e293b";if(o===void 0)return a.jsx("div",{className:"jogak:h-full jogak:flex jogak:items-center jogak:justify-center jogak:bg-[var(--jogak-source-bg)] jogak:text-[#94a3b8] jogak:text-[13px]",style:{"--jogak-source-bg":n},children:"Source not available"});const g=()=>{navigator.clipboard.writeText(o).then(()=>{r(!0),setTimeout(()=>{r(!1)},2e3)})};return a.jsxs("div",{className:"jogak:relative jogak:h-full",children:[a.jsx("button",{type:"button",onClick:g,className:"jogak:absolute jogak:top-[10px] jogak:right-3 jogak:z-[1] jogak:px-[9px] jogak:py-[3px] jogak:text-[11px] jogak:bg-[rgba(255,255,255,0.1)] jogak:text-[#e2e8f0] jogak:border jogak:border-[rgba(255,255,255,0.18)] jogak:rounded-[var(--jogak-radius-md)] jogak:cursor-pointer jogak:leading-none",children:t?"✓ Copied":"Copy"}),a.jsx(L.Highlight,{code:o.trim(),language:"tsx",theme:e,children:({style:s,tokens:l,getLineProps:i,getTokenProps:d})=>a.jsx("pre",{className:"jogak:m-0 jogak:py-3 jogak:px-0 jogak:text-[12.5px] jogak:leading-[1.7] jogak:font-[family-name:var(--jogak-font-mono)] jogak:h-full jogak:box-border jogak:overflow-auto",style:s,children:l.map((c,k)=>a.jsxs("div",{...i({line:c}),className:"jogak:flex jogak:pr-6",style:i({line:c}).style,children:[a.jsx("span",{className:"jogak:select-none jogak:min-w-10 jogak:pl-[14px] jogak:pr-[14px] jogak:text-right jogak:text-[rgba(148,163,184,0.45)] jogak:shrink-0 jogak:leading-[1.7]",children:k+1}),a.jsx("span",{children:c.map((f,p)=>a.jsx("span",{...d({token:f})},p))})]},k))})})]})}function H(){if(typeof window>"u")return null;const o=new URLSearchParams(window.location.search),e=o.get("entry");if(e===null)return null;const t=o.get("jogak");return{entryId:e,jogakName:t}}function Wo(o,e){const t=new URLSearchParams;t.set("entry",o),t.set("jogak",e),window.history.pushState({},"",`?${t.toString()}`)}function Vo({entries:o,metas:e,codeTheme:t="vsDark",previewIsolation:r="iframe",userPreviewUrl:n="",previewEntryPath:g="/__jogak_preview__/index.html",userViteUrl:s}={}){const l=n!==""?n:s??"",i=j.useMemo(()=>{if(o!==void 0){e!==void 0&&console.warn("[jogak] JogakApp received both `entries` and `metas` — `entries` (eager) takes precedence.");const u=new S.ComponentRegistry;for(const m of o)u.register(m);return u}if(e!==void 0)for(const u of e)S.defaultRegistry.registerMeta(u);return S.defaultRegistry},[o,e]),d=j.useMemo(()=>H(),[]),[c,k]=j.useState((d==null?void 0:d.entryId)??null),[f,p]=j.useState((d==null?void 0:d.jogakName)??null),[N,w]=j.useState({});j.useEffect(()=>{const u=()=>{const m=H();m!==null?(k(m.entryId),p(m.jogakName),w({})):(k(null),p(null))};return window.addEventListener("popstate",u),()=>{window.removeEventListener("popstate",u)}},[]);const b=j.useCallback((u,m)=>{k(u),p(m),w({}),Wo(u,m)},[]),v=j.useCallback((u,m)=>{if(k(x=>x===u?u:x),p(x=>x??m),typeof window<"u"){const x=new URLSearchParams(window.location.search);x.get("entry")===u&&x.get("jogak")===null&&(x.set("jogak",m),window.history.replaceState({},"",`?${x.toString()}`))}},[]),J=j.useCallback((u,m)=>{w(x=>({...x,[u]:m}))},[]),C=j.useCallback(()=>{w({})},[]);return a.jsx(E.JogakProvider,{registry:i,children:a.jsxs("div",{"data-jogak-shell":!0,className:"jogak:grid jogak:grid-cols-[260px_1fr] jogak:h-dvh jogak:overflow-hidden",children:[a.jsx(U,{selectedEntryId:c,selectedJogakName:f,onSelect:b}),a.jsx("main",{className:"jogak:overflow-hidden jogak:min-h-0",children:c!==null?a.jsx(K,{entryId:c,jogakName:f,overrideArgs:N,onArgChange:J,onReset:C,codeTheme:t,onResolveJogak:v,previewIsolation:r,userPreviewUrl:l,previewEntryPath:g}):a.jsx("div",{className:"jogak:flex jogak:items-center jogak:justify-center jogak:h-full jogak:text-[var(--jogak-color-fg-subtle)]",children:"Select a component from the sidebar"})})]})})}function Jo(){const o=E.useRegistry(),e=j.useMemo(()=>o.getAll(),[o]),t=j.useMemo(()=>o.getTree(),[o]),r=j.useMemo(()=>n=>o.search(n),[o]);return{entries:e,tree:t,search:r}}exports.Actions=X;exports.Controls=Q;exports.JogakApp=Vo;exports.Preview=K;exports.Sidebar=U;exports.useRegistry=Jo;