@llmnative/react 1.25.2 → 1.25.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -4
- package/dist/index.mjs.map +1 -1
- package/dist/types/src/components/ui/Modal.d.ts +2 -2
- package/llms-full.txt +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./logHeader-CUsdmGAo.js");let t=require("react");t=e.r(t);let n=require("react-router-dom"),r=require("clsx"),i=require("tailwind-merge"),a=require("lucide-react");a=e.r(a);let o=require("@phosphor-icons/react");o=e.r(o);let s=require("react-dom"),c=require("firebase/app"),l=require("firebase/auth"),u=require("firebase/firestore"),d=require("@supabase/supabase-js"),f=require("firebase/storage"),p=require("papaparse");p=e.r(p);let m=require("react-markdown");m=e.r(m);let h=require("remark-gfm");h=e.r(h);let g=require("rehype-slug");g=e.r(g);let _=require("rehype-autolink-headings");_=e.r(_);let v=require("rehype-sanitize");v=e.r(v);let y=require("firebase/database");require("react-dom/server");function b(e){let t=new Date(typeof e==`number`||/^\d+$/.test(String(e))?Number(e):e);if(isNaN(t.getTime()))return{year:``,shortYear:``,month:``,day:``,hours:``,minutes:``,seconds:``,hour:``,minute:``,second:``};let n=e=>e.toString().padStart(2,`0`);return{year:t.getFullYear().toString(),shortYear:t.getFullYear().toString().slice(-2),month:n(t.getMonth()+1),day:n(t.getDate()),hours:n(t.getHours()),minutes:n(t.getMinutes()),seconds:n(t.getSeconds()),hour:t.getHours().toString(),minute:t.getMinutes().toString(),second:t.getSeconds().toString()}}function x(e,t){let{year:n,shortYear:r,month:i,day:a,hours:o,minutes:s,seconds:c,hour:l,minute:u,second:d}=b(e),f={YYYY:n,YY:r,MM:i,DD:a,hh:o,mm:s,ss:c,h:l,m:u,s:d};return t.replace(/YYYY|YY|MM|DD|hh|mm|ss|h|m|s/g,e=>f[e]||e)}function S(){let e=new Date;return new Intl.DateTimeFormat(void 0,{year:`numeric`,month:`2-digit`,day:`2-digit`}).formatToParts(e).map(e=>{switch(e.type){case`year`:return`YYYY`;case`month`:return`MM`;case`day`:return`DD`;default:return e.value}}).join(``)}function C(){let e=new Date;return new Intl.DateTimeFormat(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1}).formatToParts(e).map(e=>{switch(e.type){case`hour`:return`hh`;case`minute`:return`mm`;case`second`:return`ss`;default:return e.value}}).join(``)}var w=(e,t,n,r)=>{if(!e||!t)return``;let i=t.split(`.`),a=e;for(let e=0;e<i.length;e++){let t=i[e];if(a==null)return``;if(t.endsWith(`[]`)){let o=t.slice(0,-2),s=a[o];if(!Array.isArray(s))return``;let c=i.slice(e+1).join(`.`);if(!c)return n?(n.key&&(n.value[n.key]=s)||(n.value=s),``):s;let l=n?.value??{};for(let e in s){let t=(()=>{let t=w(s[e],c);return r?.(t)??t})();n&&(!n.hideEmpty||t!==``)&&(l[e]=n.key?{...l[e]??{},[n.key]:t}:t)}return n?``:l}a=a[t]}return a=r?.(a)??a,n&&(!n.hideEmpty||a!==``)?(n.key&&(n.value[n.key]=a)||(n.value=a),``):a},T={parse:(e,t,n=void 0,r=void 0)=>typeof t==`string`?D(E(t.replace(/{([^}:]+)(?::([^}:]+))?(?::([^}:]+))?}/g,(t,i,a,o)=>{let[s,c]=(i||``).indexOf(`(`)===-1?[``,i]:i.split(`(`,2),[l,u]=(a||``).indexOf(`)`)===-1?[a,``]:a.split(`)`,2),d=w(e,c,n,r);return!T?.[l]||!d?d||``:s+T[l](d,o)+u}))):t,toDate:(e,t=void 0)=>{let n=S();return t===`ISO`?x(e,`YYYY-MM-DD`):x(e,t||n)},toTime:(e,t=void 0)=>{let n=C();return t===`ISO`?x(e,`hh:mm:ss`):x(e,t||n)},toDateTime:(e,t=void 0)=>{let n=`${S()} ${C()}`;return t===`ISO`?x(e,`YYYY-MM-DD hh:mm:ss`):x(e,t||n)},toCamel:(e,t=``,n=[`-`,`_`,` `])=>{let r=e.split(`/`),i=r.pop()||``,a=n.map(e=>`\\`+e).join(``),o=RegExp(`(?:[${a}]+|^)(.)`,`g`),s=i.toLowerCase().replace(o,(e,n)=>t+n.toUpperCase());return[...r,s].join(`/`)},toUpper:e=>e.toUpperCase(),toLower:e=>e.toLowerCase(),toSlug:e=>N(e),toNumberFormat:(e,t=navigator.language)=>new Intl.NumberFormat(t).format(Number(e)),splitLast:(e,t,n=void 0)=>{let r=t=>{let r=e.split(t);if(r.length<=1)return null;let i=r.pop()||``;for(;r.length&&n?.test(r[r.length-1]);)i=r.pop()+t+i;return[r.join(t),i]},i=typeof t==`string`?[t]:Array.isArray(t)?t:[];for(let e of i){let t=r(e);if(t)return t}return[e,``]},splitFirst:(e,t,n=void 0)=>{let r=t=>{let r=e.split(t);if(r.length<=1)return null;let i=r.shift()||``;for(;r.length&&n?.test(r[0]);)i+=t+r.shift();return[i,r.join(t)]},i=typeof t==`string`?[t]:Array.isArray(t)?t:[];for(let e of i){let t=r(e);if(t)return t}return[e,``]},padLeft:(e,t,n=` `,r=void 0)=>r?e.replace(r,e=>e.padStart(t,n)):e.padStart(t,n),padRight:(e,t,n=` `,r=void 0)=>r?e.replace(r,e=>e.padEnd(t,n)):e.padEnd(t,n),toQueryString:(e,t=`?`,n=void 0)=>{let r=Object.keys(e);return(r.length>0?t:``)+r.map(t=>`${encodeURIComponent(t)}=${encodeURIComponent(n===void 0?e[t]:n)}`).join(`&`)},fillObject:(e,t=void 0)=>{let n={};for(let r in e)n[r]=t;return n},subStringCount:(e,t)=>t===``?0:e.split(t).length-1,truncate:(e,t=100)=>e.length>t?e.substring(0,t):e};function E(e){return e.replace(/replace\(([^,]+),([^,]+),([^)]+)\)/gi,(e,t,n,r)=>t.replaceAll(n,r))}function D(e){return e.replace(/split\(([^,]+),([^,]+),([^)]+)\)/gi,(e,t,n,r=0)=>t.split(n)[r])}var O=e=>{try{let t=e.split(`.`),n=atob(t[1]);return JSON.parse(n)}catch(e){console.error(`Errore durante la decodifica del token:`,e)}},k=e=>{try{navigator.clipboard.writeText(e).then(()=>{console.log(`Selettore HTML copiato negli appunti:`,e)}).catch(e=>{console.error(`Errore durante la copia del selettore HTML negli appunti:`,e)})}catch(e){console.error(`Clipboard API non supportata:`,e)}},A=e=>j(e).replace(/\/$/,``).replace(/^\//,``),j=e=>e?e.replaceAll(` `,`-`).replaceAll(`'`,`-`).replaceAll(`"`,`-`).toLowerCase().replace(/[^a-z0-9\-/]+/g,``).replace(/-+/g,`-`).replace(/\/+/g,`/`):``,M=e=>typeof e==`number`?String(e):typeof e==`boolean`?e?`true`:`false`:e?e.startsWith(`/`)?e.substring(1):e:``,N=e=>M(e).replaceAll(`/`,`|`).replaceAll(` `,`-`).replaceAll(`'`,`-`).replaceAll(`"`,`-`).replaceAll(`.`,`-`).replaceAll(`@`,`-`).replaceAll(`#`,`-`).replaceAll(`$`,`-`).replaceAll(`[`,`-`).replaceAll(`]`,`-`).replaceAll(`_`,`-`).toLowerCase().replace(/[^a-z0-9\-|]+/g,``).replace(/^-+|-+$/g,``).replace(/-+/g,`-`),P=e=>{if(!e)return``;e=e.replace(/\/$/,``);let t=e.split(`/`);return t.pop(),t.join(`/`)};async function F(e){return new Promise(t=>setTimeout(t,e))}function I(e=null){return`${Date.now().toString(36)}-${e||Math.random().toString(36).substring(2)}`}function L(e,t){let n=e.target;if(n.tagName.toLowerCase()===t.toLowerCase())return n;for(;n.parentNode;){let e=n.parentNode;if(e.tagName.toLowerCase()===t.toLowerCase())return e;n=e}return null}var R=(e,t)=>e.split(t).length-1,z=(e,t)=>e.replace(/\$(\d+)/g,(e,n)=>t[parseInt(n)]||``).trim(),B=(e,t,n)=>{for(let r of e){let e=j(re(r.key,t)),i=j(z(re(r.value,t),n));if((r.operator===`==`||r.operator===`=`)&&e===i||r.operator===`!=`&&e!==i||r.operator===`>`&&e>i||r.operator===`<`&&e<i||r.operator===`>=`&&e>=i||r.operator===`<=`&&e<=i||r.operator===`contains`&&e.includes(i)||r.operator===`not contains`&&!e.includes(i))return!0}return!1},ee=e=>{let t=[];for(let e=0;e<256;e++){let n=e;for(let e=0;e<8;e++)n&1?n=3988292384^n>>>1:n>>>=1;t[e]=n}let n=-1;for(let r=0;r<e.length;r++)n=n>>>8^t[(n^e.charCodeAt(r))&255];return(n^-1)>>>0},V=e=>e?e.charAt(0).toUpperCase()+e.slice(1):``,te=e=>{if(!e.length)return;let t=document.createDocumentFragment();e.forEach(({src:e,clean:n,...r})=>{if(!e)return;let i=document.createElement(`script`);i.setAttribute(`src`,String(e)),Object.entries(r).forEach(([e,t])=>{i.setAttribute(e,String(t))}),n&&(i.onload=()=>document.body.removeChild(i)),t.appendChild(i)}),document.body.appendChild(t)},ne=(e,t)=>{let n={};for(let r in e)e.hasOwnProperty(r)&&r in t&&(n[r]=e[r]);return n},re=(e,t)=>((e.match(/{[^}]*}/g)||[]).forEach(n=>{let r=n.slice(1,-1).split(`:`),i=r[0],a=r[1],o=(a&&typeof T[a]==`function`?T[a](t[i]):t[i])||``;e=e.replaceAll(n,o)}),e),H=(e,t)=>{if(t){let n=new Set;return e.filter(e=>{let r=e[t];return!n.has(r)&&(n.add(r),!0)})}return[...new Set(e)]},ie=e=>e==null||e===``||e===!1||e===`0`||e===0||typeof e==`object`&&!!e&&Object.keys(e).length===0;function U(e,n=new WeakMap){if(typeof e!=`object`||!e||t.default.isValidElement(e))return e;if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e.source,e.flags);if(n.has(e))return n.get(e);if(Array.isArray(e)){let t=[];return n.set(e,t),e.forEach((e,r)=>{t[r]=U(e,n)}),t}if(e instanceof Map){let t=new Map;return n.set(e,t),e.forEach((e,r)=>{t.set(U(r,n),U(e,n))}),t}if(e instanceof Set){let t=new Set;return n.set(e,t),e.forEach(e=>{t.add(U(e,n))}),t}let r=Object.getPrototypeOf(e);if(r&&r!==Object.prototype)return e;let i={};return n.set(e,i),Object.entries(e).forEach(([e,t])=>{i[e]=U(t,n)}),i}function W(e){if(typeof structuredClone!=`function`)return U(e);try{return structuredClone(e)}catch{return U(e)}}function G(e){return(typeof e==`string`?Buffer.from(e,`utf8`):e instanceof ArrayBuffer?Buffer.from(new Uint8Array(e)):Buffer.from(e)).toString(`base64`).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}function ae(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function oe(e){return e.replace(/[^a-zA-Z0-9-_:.]/g,`_`)}function K(e,t){let n=e.target,r=!!(n.closest(`a`)||n.closest(`button`)||n.closest(`input`)||n.closest(`textarea`)||n.closest(`select`));return t?r&&!n.closest(t):r}var se=e=>{let t=new Uint8Array(e),n=``;for(let e=0;e<t.byteLength;e++)n+=String.fromCharCode(t[e]);return btoa(n)},ce=(e,t)=>{try{let n=e.includes(`,`)?e.split(`,`)[1]:e,r=atob(n),i=Array(r.length);for(let e=0;e<r.length;e++)i[e]=r.charCodeAt(e);let a=new Uint8Array(i);return new Blob([a],{type:t})}catch(e){console.warn(`Failed to create blob from base64:`,e);return}},q=(e,t)=>{let n=ce(e,t);return n?URL.createObjectURL(n):void 0},le=(e,t)=>{if(e&&t)return t.split(`.`).reduce((e,t)=>{if(e!=null&&!(typeof e!=`object`||Array.isArray(e)))return e[t]},e)},ue=e=>{let t={};if(!e)return t;if(e instanceof File)return{name:e.name,type:e.type,size:e.size,lastModified:e.lastModified};for(let[n,r]of Object.entries(e))n&&(Array.isArray(r)?t[n]=r.map(e=>typeof e==`object`?ue(e):e).filter(e=>e!==void 0):r&&typeof r==`object`?t[n]=ue(r):r!==void 0&&(t[n]=r));return t},de=e=>`${e.name}${e.type}${e.size}${e.lastModified}`;function fe(e,t){if(e===t)return!0;if(e instanceof File||t instanceof File)return e instanceof File&&t instanceof File&&de(e)===de(t);if(Array.isArray(e)||Array.isArray(t)){if(!Array.isArray(e)||!Array.isArray(t))return!1;let n=e.filter(e=>e!==void 0),r=t.filter(e=>e!==void 0);if(n.length!==r.length)return!1;for(let e=0;e<n.length;e++)if(!fe(n[e],r[e]))return!1;return!0}let n=!!e&&typeof e==`object`;if(n!==(!!t&&typeof t==`object`))return!1;if(!n)return e===t;let r=e,i=t,a=new Set([...Object.keys(r),...Object.keys(i)]);for(let e of a){if(!e)continue;let t=r[e],n=i[e];if((t!==void 0||n!==void 0)&&!fe(t,n))return!1}return!0}var pe=e=>e==null||e===``||typeof e!=`string`?e:/^(true|false)$/i.test(e)?e.toLowerCase()===`true`:/^0\d+$/.test(e)?e:/^-?\d+(\.\d+)?$/.test(e)?Number(e):e.trim(),me=/auth|key|token|secret/i,he=[`key`,`apikey`,`api_key`,`access_token`,`token`,`secret`];function ge(e){return e?(e instanceof Headers?Array.from(e.entries()):Array.isArray(e)?e:Object.entries(e)).reduce((e,[t,n])=>(e[t]=me.test(t)?`[REDACTED]`:n,e),{}):{}}function _e(e){return{...e,headers:ge(e.headers)}}function ve(e){try{let t=new URL(e,`http://placeholder-base.invalid`),n=!1;for(let e of he)t.searchParams.has(e)&&(t.searchParams.set(e,`[REDACTED]`),n=!0);return n?e.startsWith(`http`)?t.toString():`${t.pathname}${t.search}${t.hash}`:e}catch{return e}}function ye(e){let{body:t,headers:n}=e,r=n?.[`Content-Type`]||``;return(Array.isArray(t)||typeof t==`object`?[`application/json`,`application/x-www-form-urlencoded`,`multipart/form-data`]:[`text/plain`,`text/html`]).includes(r)?r:typeof t==`object`?`application/json`:typeof t==`string`&&t.startsWith(`<`)?`text/html`:`text/plain`}async function be(e,t=null,n=globalThis.fetch){let r={redirect:`follow`,method:t?.method?.toUpperCase()||`GET`,headers:t?.headers||{},signal:t?.signal};if(t?.body){if([`GET`,`HEAD`].includes(r.method))e+=(e.includes(`?`)?`&`:`?`)+new URLSearchParams(t.body);else switch(ye(t)){case`application/json`:r.body=JSON.stringify(t.body);break;case`application/x-www-form-urlencoded`:r.body=new URLSearchParams(t.body);break;case`multipart/form-data`:{let e=new FormData,n=t.body;for(let t in n)e.append(t,n[t]);r.body=e;break}case`text/html`:case`text/plain`:if(typeof t.body!=`string`)throw Error(`Fetch: Body must be a string for text/plain or text/html content types.`);r.body=t.body;break;default:throw Error(`Fetch: Unsupported Content-Type`)}}return n(e,r).then(e=>{if(!e.ok)return e.text().then(t=>{throw{response:e,text:t}});let n=t?.headers?.Accept,r=e.headers.get(`Content-Type`)?.split(`;`)[0];return n&&n.split(`;`)[0]!==r?e.text().then(t=>{throw{response:e,text:t}}):e?.headers&&e.headers.get(`Content-Type`)===`application/json`?e.json():e.text()}).catch(n=>{if(n.message)return console.warn(`fetch: ${n.message}`,ve(e),_e(r)),null;let{response:i,text:a}=n;function o(){let n=i?.headers.get(`Content-Type`)?.split(`;`)[0]||``;if(n===`application/json`&&(a.startsWith(`{`)||a.startsWith(`[`))){let t=JSON.parse(a);return console.warn(`fetch: Error`,ve(e),_e(r),i.status,t),t}{let o=t?.headers?.Accept?.split(`;`)[0]||``,s=o===n?o===`application/json`?`Request Accept header is application/json but response is not JSON`:null:`Request Accept header does not match response Content-Type (Accept: `+o+`, Content-Type: `+n+`)`;return console.warn(`fetch: ${s}`,ve(e),_e(r),i.status,a),s&&o===`application/json`?{error:a,status:520}:a}}throw o()})}async function xe(e,t=null,n=globalThis.fetch){return be(e,{...t,headers:{Accept:`application/json`,"Content-Type":`application/json`,...t?.headers}},n).then(e=>{if(e?.error)throw e;return e})}async function Se(e,t={},n=3,r=[429],i=globalThis.fetch){return i(e,t).then(a=>a.ok?a.json():!r.includes(a.status)&&n>0?(console.log(`Retrying...`,n,ve(e),_e(t)),F(500).then(()=>Se(e,t,n-1,r,i))):(console.error(a),a)).catch(e=>console.error(e,`BBBBBBBBBBBBBBBBBBBBBBB`))}var Ce={mode:`light`,radius:.5,colors:{background:`0 0% 100%`,foreground:`222.2 84% 4.9%`,card:`0 0% 100%`,cardForeground:`222.2 84% 4.9%`,popover:`0 0% 100%`,popoverForeground:`222.2 84% 4.9%`,primary:`221.2 83.2% 53.3%`,primaryForeground:`210 40% 98%`,secondary:`210 40% 96.1%`,secondaryForeground:`222.2 47.4% 11.2%`,muted:`210 40% 96.1%`,mutedForeground:`215.4 16.3% 46.9%`,accent:`210 40% 96.1%`,accentForeground:`222.2 47.4% 11.2%`,destructive:`0 84.2% 60.2%`,destructiveForeground:`210 40% 98%`,success:`142.1 76.2% 36.3%`,successForeground:`0 0% 100%`,warning:`32.1 94.6% 43.7%`,warningForeground:`0 0% 100%`,info:`198.6 88.7% 48.4%`,infoForeground:`0 0% 100%`,border:`214.3 31.8% 91.4%`,input:`214.3 31.8% 91.4%`,ring:`221.2 83.2% 53.3%`},dark:{background:`222.2 84% 4.9%`,foreground:`210 40% 98%`,card:`222.2 84% 4.9%`,cardForeground:`210 40% 98%`,popover:`222.2 84% 4.9%`,popoverForeground:`210 40% 98%`,primary:`217.2 91.2% 59.8%`,primaryForeground:`222.2 47.4% 11.2%`,secondary:`217.2 32.6% 17.5%`,secondaryForeground:`210 40% 98%`,muted:`217.2 32.6% 17.5%`,mutedForeground:`215 20.2% 65.1%`,accent:`217.2 32.6% 17.5%`,accentForeground:`210 40% 98%`,destructive:`0 62.8% 30.6%`,destructiveForeground:`210 40% 98%`,success:`142.1 70.6% 45.3%`,successForeground:`0 0% 100%`,warning:`32.1 94.6% 55%`,warningForeground:`0 0% 100%`,info:`198.6 88.7% 60%`,infoForeground:`0 0% 100%`,border:`217.2 32.6% 17.5%`,input:`217.2 32.6% 17.5%`,ring:`224.3 76.3% 48%`}},we={none:{from:{},to:{},transition:{duration:0,easing:`linear`,properties:[`opacity`,`transform`,`box-shadow`]},reducedMotion:`always`},fade:{from:{opacity:0},to:{opacity:1},transition:{duration:160,easing:`cubic-bezier(0.2, 0, 0, 1)`,properties:[`opacity`]},reducedMotion:`respect-user`},fadeUp:{from:{opacity:0,transform:`translateY(8px)`},to:{opacity:1,transform:`translateY(0)`},transition:{duration:160,easing:`cubic-bezier(0.2, 0, 0, 1)`,properties:[`opacity`,`transform`]},reducedMotion:`respect-user`},fadeDown:{from:{opacity:0,transform:`translateY(-8px)`},to:{opacity:1,transform:`translateY(0)`},transition:{duration:140,easing:`cubic-bezier(0.2, 0, 0, 1)`,properties:[`opacity`,`transform`,`visibility`]},reducedMotion:`respect-user`},slideFromRight:{from:{opacity:0,transform:`translateX(100%)`},to:{opacity:1,transform:`translateX(0)`},transition:{duration:220,easing:`cubic-bezier(0.16, 1, 0.3, 1)`,properties:[`opacity`,`transform`]},reducedMotion:`respect-user`},slideFromLeft:{from:{opacity:0,transform:`translateX(-100%)`},to:{opacity:1,transform:`translateX(0)`},transition:{duration:220,easing:`cubic-bezier(0.16, 1, 0.3, 1)`,properties:[`opacity`,`transform`]},reducedMotion:`respect-user`},slideFromTop:{from:{opacity:0,transform:`translateY(-100%)`},to:{opacity:1,transform:`translateY(0)`},transition:{duration:220,easing:`cubic-bezier(0.16, 1, 0.3, 1)`,properties:[`opacity`,`transform`]},reducedMotion:`respect-user`},slideFromBottom:{from:{opacity:0,transform:`translateY(100%)`},to:{opacity:1,transform:`translateY(0)`},transition:{duration:220,easing:`cubic-bezier(0.16, 1, 0.3, 1)`,properties:[`opacity`,`transform`]},reducedMotion:`respect-user`},press:{from:{},to:{transform:`scale(0.98)`},transition:{duration:100,easing:`cubic-bezier(0.2, 0, 0, 1)`,properties:[`transform`,`box-shadow`]},reducedMotion:`respect-user`},imageZoom:{from:{transform:`scale(1)`},to:{transform:`scale(1.06)`},transition:{duration:300,easing:`cubic-bezier(0.2, 0, 0, 1)`,properties:[`transform`]},reducedMotion:`respect-user`}},Te={Grid:{Card:{wrapperClassName:``,className:`rounded-none border-0 bg-transparent shadow-none`,headerClassName:`flex justify-between border-b-0 bg-transparent px-0 py-2`,bodyClassName:`p-0 mt-2`,footerClassName:`border-t-0 bg-transparent px-0 py-2`,loading:!1},Table:{wrapperClassName:`rounded-lg border border-border bg-card shadow-sm`,className:``,headerClassName:``,bodyClassName:``,footerClassName:``,scrollClassName:`overflow-x-auto`,selectedClassName:`bg-primary/10`},Gallery:{wrapperClassName:`rounded-lg border border-border bg-card shadow-sm p-3`,className:``,scrollClassName:``,headerClassName:``,bodyClassName:``,footerClassName:``,selectedClassName:`bg-primary/20`,gap:1,rowCols:4},Modal:{mode:`form`,size:`lg`,position:`center`,wrapperClassName:``,className:``,headerClassName:``,titleClassName:``,subtitleClassName:`pr-1 text-muted-foreground`,bodyClassName:``,footerClassName:``,iconExpand:`fullscreen`,iconCollapse:`fullscreen-exit`,motion:{center:`fade`,top:`slideFromTop`,left:`slideFromLeft`,right:`slideFromRight`,bottom:`slideFromBottom`,backdrop:`fade`}}},Table:{wrapperClassName:``,className:``,headerClassName:``,bodyClassName:``,footerClassName:``,scrollClassName:`overflow-x-auto`,selectedClassName:`bg-primary/10`},Gallery:{wrapperClassName:``,className:``,scrollClassName:``,headerClassName:``,bodyClassName:``,footerClassName:``,selectedClassName:`bg-primary/20`,gap:4,rowCols:2},Pagination:{wrapperClassName:``,className:``,stickyClassName:`fixed bottom-0 left-0 right-0 mx-5`,scrollToTop:!1,scrollBehavior:`auto`,maxItems:5,sticky:!0,align:`end`},Carousel:{showIndicators:!0,showControls:!0,showCaption:!0,dark:!1,autoPlay:!0},Card:{wrapperClassName:``,className:``,headerClassName:`flex justify-between bg-white/[.15] font-normal`,bodyClassName:`flex flex-col`,footerClassName:``,loading:!1},Loader:{wrapperClassName:``,className:``,icon:`loader-2`,title:`Loading..`,description:``},ActionButton:{className:`btn-primary`,badgeClassName:`rounded-full bg-destructive text-destructive-foreground`,motion:{press:`press`}},LoadingButton:{className:`btn-primary`,badgeClassName:`rounded-full bg-destructive text-destructive-foreground`,motion:{press:`press`}},LinkButton:{className:`btn-outline-secondary`},Alert:{className:``},Badge:{className:``},Modal:{size:`lg`,position:`center`,wrapperClassName:``,className:``,headerClassName:``,titleClassName:``,subtitleClassName:`pr-1 text-muted-foreground`,bodyClassName:``,footerClassName:``,iconExpand:`fullscreen`,iconCollapse:`fullscreen-exit`,motion:{center:`fade`,top:`slideFromTop`,left:`slideFromLeft`,right:`slideFromRight`,bottom:`slideFromBottom`,backdrop:`fade`}},Dropdown:{wrapperClassName:``,className:``,triggerClassName:`btn btn-outline-primary`,badgeClassName:``,menuClassName:`border-border/60 bg-popover/95 shadow-xl shadow-black/5 backdrop-blur supports-[backdrop-filter]:bg-popover/90 dark:shadow-black/20`,menuHeaderClass:`text-muted-foreground/70`,menuItemClass:``,menuDividerClass:`bg-border/60`,headerClassName:``,footerClassName:``,Menu:{wrapperClassName:``,className:`list-none p-0 m-0`,headerClassName:``,itemClassName:``,linkClassName:`flex items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-accent`,iconClassName:`text-muted-foreground`,textClassName:``,badgeClassName:``,arrowClassName:``,submenuClassName:``},motion:{open:`fadeDown`,close:`fadeDown`,press:`press`}},Notifications:{wrapperClassName:``,Dropdown:{className:``,triggerClassName:`btn btn-link`,menuClassName:`mt-1 text-[11px] w-[300px] pt-1`}},Select:{wrapperClassName:``,className:``},Autocomplete:{wrapperClassName:``,className:``,listClassName:``,optionClassName:``},AddressAutocomplete:{wrapperClassName:``,className:``,menuClassName:`border-border/60 bg-popover/95 shadow-xl shadow-black/5 backdrop-blur supports-[backdrop-filter]:bg-popover/90 dark:shadow-black/20`,itemClassName:``},Form:{wrapperClassName:``,buttonSaveClass:`btn-outline-primary`,buttonDeleteClass:`btn-outline-danger`,buttonBackClass:`btn-link`,Card:{headerClassName:``,bodyClassName:``,footerClassName:`flex items-center justify-end gap-3`}},Menu:{wrapperClassName:`flex-1 overflow-auto p-4`,className:`flex flex-col mb-auto`,headerClassName:``,itemClassName:``,linkClassName:`flex items-center gap-2 rounded-md px-3 py-2 text-sm font-medium text-muted-foreground transition-colors hover:bg-accent/50 hover:text-foreground`,iconClassName:`mr-1 shrink-0`,textClassName:`flex-1`,badgeClassName:`ml-1`,arrowClassName:``,submenuClassName:`mt-1 flex flex-col gap-1 pl-4`},SideNav:{wrapperClassName:``,shellClassName:`border-r border-border bg-card/80 text-foreground backdrop-blur supports-[backdrop-filter]:bg-card/70`,overlayClassName:`shadow-xl`,headerClassName:`border-b border-border/60 px-1.5 py-2`,navClassName:`px-1.5 py-2`,bottomNavClassName:`border-t border-border/60 px-1.5 py-2`,footerClassName:`border-t border-border/60 px-1.5 py-2`,groupLabelClassName:`text-[10.5px] font-semibold uppercase tracking-widest text-muted-foreground/60 select-none`,groupDividerClassName:`bg-border/50`,itemClassName:`rounded-lg`,itemActiveClassName:`bg-primary/10 text-primary font-medium shadow-sm`,itemChildActiveClassName:`bg-accent/80 text-foreground font-medium`,itemInactiveClassName:`text-muted-foreground hover:text-foreground hover:bg-accent/70`,itemIconClassName:``,itemTextClassName:``,itemBadgeClassName:`ml-auto shrink-0 text-[10px] font-semibold leading-none px-1.5 py-[3px] rounded-full bg-primary/15 text-primary`,itemCollapsedBadgeClassName:`absolute -top-0.5 -right-1 h-[7px] w-[7px] rounded-full bg-primary ring-1 ring-card`,itemToggleClassName:`shrink-0 flex items-center justify-center w-6 h-6 rounded-md transition-colors text-muted-foreground/50 hover:text-foreground hover:bg-accent/70`,subItemClassName:`rounded-md`,subItemActiveClassName:`bg-primary/10 text-primary font-medium`,subItemInactiveClassName:`text-muted-foreground hover:text-foreground hover:bg-accent/70`,collapseButtonClassName:`shrink-0 flex items-center justify-center rounded-md w-8 h-8 transition-colors text-muted-foreground hover:text-foreground hover:bg-accent/70`},Toolbar:{wrapperClassName:`z-20 w-full`,stickyClassName:`sticky top-0`,restingClassName:`bg-transparent border-transparent shadow-none`,scrolledClassName:`border-b border-border/60 bg-background/85 backdrop-blur supports-[backdrop-filter]:bg-background/75`,innerClassName:`flex min-h-14 items-center gap-3 px-4 md:px-6`,leadingClassName:`flex min-w-0 items-center gap-2 shrink-0`,centerClassName:`flex min-w-0 flex-1 items-center gap-3`,trailingClassName:`flex items-center gap-2 shrink-0`},ListCard:{wrapperClassName:``,className:`shadow-sm`,activeClassName:`border-primary/30 bg-primary/10 shadow-sm`,inactiveClassName:`hover:bg-accent/40`,disabledClassName:`cursor-not-allowed opacity-60`,dashedClassName:`border-dashed`,compactClassName:`p-3`,leadingClassName:``,bodyClassName:``,headerClassName:``,titleClassName:``,descriptionClassName:``,metaClassName:``,badgeClassName:``,trailingClassName:``,footerClassName:``,motion:{press:`press`}},ProviderSwitcher:{wrapperClassName:`w-full`,className:`w-full`,triggerClassName:`flex w-full items-center gap-2 rounded-xl px-1.5 py-1.5 text-left text-sm font-semibold text-foreground transition-colors hover:bg-accent/40`,disabledClassName:`pointer-events-none opacity-60`,iconWrapperClassName:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary`,labelClassName:`block truncate`,captionClassName:`block truncate text-[11px] font-normal text-muted-foreground/80`,chevronClassName:`ml-auto shrink-0 text-muted-foreground/70`,itemClassName:``,itemActiveClassName:``,itemInactiveClassName:``,itemMetaClassName:`text-xs text-muted-foreground`,checkClassName:`text-primary`},Brand:{wrapperClassName:``,className:`flex items-center`,logoClassName:`flex items-center gap-2 font-semibold`,labelClassName:`text-sm font-medium`},SignIn:{className:`flex items-center`,avatarClass:`mx-2 rounded-full object-cover`},Image:{wrapperClassName:``,className:``,motion:{enter:`fade`,hover:!1}},ImageAvatar:{wrapperClassName:``,className:``,motion:{enter:`fade`,hover:!1}},Percentage:{wrapperClassName:``,className:``},Tree:{wrapperClassName:``,className:``,itemClassName:``,selectedClassName:``},DescriptionList:{wrapperClassName:``,className:``,itemClassName:``,labelClassName:``,valueClassName:``},Tab:{wrapperClassName:``,className:``,menuClassName:``,itemClassName:``,contentClassName:``,triggerClassName:``,activeTriggerClassName:``,inactiveTriggerClassName:``,motion:{enter:`fadeUp`}},Code:{wrapperClassName:``,className:``},CodeEditor:{wrapperClassName:``,className:``},Prompt:{wrapperClassName:``,className:``},Repeat:{itemClassName:``,inlineItemClassName:``,addButtonClassName:``}},Ee={preset:Ce,motion:we,components:Te},De={preset:{mode:`light`,radius:.125,colors:{background:`0 0% 98%`,foreground:`215 25% 16%`,card:`0 0% 100%`,cardForeground:`215 25% 16%`,popover:`0 0% 100%`,popoverForeground:`215 25% 16%`,primary:`215 25% 27%`,primaryForeground:`210 40% 98%`,secondary:`215 15% 93%`,secondaryForeground:`215 25% 27%`,muted:`215 15% 93%`,mutedForeground:`215 15% 50%`,accent:`215 15% 90%`,accentForeground:`215 25% 27%`,destructive:`0 72% 51%`,destructiveForeground:`0 0% 100%`,success:`142.1 76.2% 36.3%`,successForeground:`0 0% 100%`,warning:`32.1 94.6% 43.7%`,warningForeground:`0 0% 100%`,info:`198.6 88.7% 48.4%`,infoForeground:`0 0% 100%`,border:`215 15% 85%`,input:`215 15% 85%`,ring:`215 25% 27%`},dark:{background:`215 20% 12%`,foreground:`215 10% 85%`,card:`215 20% 15%`,cardForeground:`215 10% 85%`,popover:`215 20% 15%`,popoverForeground:`215 10% 85%`,primary:`215 35% 55%`,primaryForeground:`0 0% 100%`,secondary:`215 20% 20%`,secondaryForeground:`215 10% 75%`,muted:`215 20% 20%`,mutedForeground:`215 10% 55%`,accent:`215 20% 22%`,accentForeground:`215 10% 85%`,destructive:`0 62% 40%`,destructiveForeground:`0 0% 100%`,success:`142.1 70.6% 45.3%`,successForeground:`0 0% 100%`,warning:`32.1 94.6% 55%`,warningForeground:`0 0% 100%`,info:`198.6 88.7% 60%`,infoForeground:`0 0% 100%`,border:`215 20% 22%`,input:`215 20% 22%`,ring:`215 35% 55%`}},motion:{none:{from:{},to:{},transition:{duration:0,easing:`linear`,properties:[`opacity`,`transform`,`box-shadow`]},reducedMotion:`always`},fade:{from:{opacity:0},to:{opacity:1},transition:{duration:140,easing:`cubic-bezier(0.2, 0, 0, 1)`,properties:[`opacity`]},reducedMotion:`respect-user`},fadeUp:{from:{opacity:0,transform:`translateY(4px)`},to:{opacity:1,transform:`translateY(0)`},transition:{duration:140,easing:`cubic-bezier(0.2, 0, 0, 1)`,properties:[`opacity`,`transform`]},reducedMotion:`respect-user`},fadeDown:{from:{opacity:0,transform:`translateY(-4px)`},to:{opacity:1,transform:`translateY(0)`},transition:{duration:120,easing:`cubic-bezier(0.2, 0, 0, 1)`,properties:[`opacity`,`transform`,`visibility`]},reducedMotion:`respect-user`},slideFromRight:{from:{opacity:0,transform:`translateX(100%)`},to:{opacity:1,transform:`translateX(0)`},transition:{duration:180,easing:`cubic-bezier(0.16, 1, 0.3, 1)`,properties:[`opacity`,`transform`]},reducedMotion:`respect-user`},slideFromLeft:{from:{opacity:0,transform:`translateX(-100%)`},to:{opacity:1,transform:`translateX(0)`},transition:{duration:180,easing:`cubic-bezier(0.16, 1, 0.3, 1)`,properties:[`opacity`,`transform`]},reducedMotion:`respect-user`},slideFromTop:{from:{opacity:0,transform:`translateY(-100%)`},to:{opacity:1,transform:`translateY(0)`},transition:{duration:180,easing:`cubic-bezier(0.16, 1, 0.3, 1)`,properties:[`opacity`,`transform`]},reducedMotion:`respect-user`},slideFromBottom:{from:{opacity:0,transform:`translateY(100%)`},to:{opacity:1,transform:`translateY(0)`},transition:{duration:180,easing:`cubic-bezier(0.16, 1, 0.3, 1)`,properties:[`opacity`,`transform`]},reducedMotion:`respect-user`},press:{from:{},to:{transform:`scale(0.99)`},transition:{duration:90,easing:`cubic-bezier(0.2, 0, 0, 1)`,properties:[`transform`,`box-shadow`]},reducedMotion:`respect-user`},imageZoom:{from:{transform:`scale(1)`},to:{transform:`scale(1.06)`},transition:{duration:300,easing:`cubic-bezier(0.2, 0, 0, 1)`,properties:[`transform`]},reducedMotion:`respect-user`}},components:{Grid:{Card:{wrapperClassName:``,className:`rounded-none border-0 bg-transparent shadow-none`,headerClassName:`flex justify-between border-b-0 bg-transparent px-0 py-2`,bodyClassName:`p-0 mt-2`,footerClassName:`border-t-0 bg-transparent px-0 py-2`,loading:!1},Table:{wrapperClassName:`rounded-lg border border-border bg-card shadow-sm`,className:``,headerClassName:``,bodyClassName:``,footerClassName:``,scrollClassName:`overflow-x-auto`,selectedClassName:`bg-primary/10`},Gallery:{wrapperClassName:`rounded-lg border border-border bg-card shadow-sm p-3`,className:``,scrollClassName:``,headerClassName:``,bodyClassName:``,footerClassName:``,selectedClassName:`bg-primary/20`,gap:1,rowCols:4},Modal:{mode:`form`,size:`lg`,position:`center`,wrapperClassName:``,className:``,headerClassName:``,titleClassName:``,subtitleClassName:`pr-1 text-muted-foreground`,bodyClassName:``,footerClassName:``,iconExpand:`fullscreen`,iconCollapse:`fullscreen-exit`,motion:{center:`fade`,top:`slideFromTop`,left:`slideFromLeft`,right:`slideFromRight`,bottom:`slideFromBottom`,backdrop:`fade`}}},Table:{wrapperClassName:``,className:``,headerClassName:``,bodyClassName:``,footerClassName:``,scrollClassName:`overflow-x-auto`,selectedClassName:`bg-primary/10`},Gallery:{wrapperClassName:``,className:``,scrollClassName:``,headerClassName:``,bodyClassName:``,footerClassName:``,selectedClassName:`bg-primary/20`,gap:4,rowCols:2},Pagination:{wrapperClassName:``,className:``,stickyClassName:`fixed bottom-0 left-0 right-0 mx-5`,scrollToTop:!1,scrollBehavior:`auto`,maxItems:5,sticky:!0,align:`end`},Carousel:{showIndicators:!0,showControls:!0,showCaption:!0,dark:!1,autoPlay:!0},Card:{wrapperClassName:``,className:``,headerClassName:`flex justify-between bg-white/[.15] font-normal`,bodyClassName:`flex flex-col`,footerClassName:``,loading:!1},Loader:{wrapperClassName:``,className:``,icon:`loader-2`,title:`Loading..`,description:``},ActionButton:{className:`btn-primary`,badgeClassName:`rounded-full bg-destructive text-destructive-foreground`,motion:{press:`press`}},LoadingButton:{className:`btn-primary`,badgeClassName:`rounded-full bg-destructive text-destructive-foreground`,motion:{press:`press`}},LinkButton:{className:`btn-outline-secondary`},Alert:{className:``},Badge:{className:``},Modal:{size:`lg`,position:`center`,wrapperClassName:``,className:``,headerClassName:``,titleClassName:``,subtitleClassName:`pr-1 text-muted-foreground`,bodyClassName:``,footerClassName:``,iconExpand:`fullscreen`,iconCollapse:`fullscreen-exit`,motion:{center:`fade`,top:`slideFromTop`,left:`slideFromLeft`,right:`slideFromRight`,bottom:`slideFromBottom`,backdrop:`fade`}},Dropdown:{wrapperClassName:``,className:``,triggerClassName:`btn btn-outline-primary`,badgeClassName:``,menuClassName:`border-border/60 bg-popover/95 shadow-lg shadow-black/5 supports-[backdrop-filter]:bg-popover/92`,menuHeaderClass:`text-muted-foreground/70`,menuItemClass:``,menuDividerClass:`bg-border/60`,headerClassName:``,footerClassName:``,Menu:{wrapperClassName:``,className:`list-none p-0 m-0`,headerClassName:``,itemClassName:``,linkClassName:`flex items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-accent`,iconClassName:`text-muted-foreground`,textClassName:``,badgeClassName:``,arrowClassName:``,submenuClassName:``},motion:{open:`fadeDown`,close:`fadeDown`,press:`press`}},Notifications:{wrapperClassName:``,Dropdown:{className:``,triggerClassName:`btn btn-link`,menuClassName:`mt-1 text-[11px] w-[300px] pt-1`}},Select:{wrapperClassName:``,className:``},Autocomplete:{wrapperClassName:``,className:``,listClassName:``,optionClassName:``},AddressAutocomplete:{wrapperClassName:``,className:``,menuClassName:`border-border/60 bg-popover/95 shadow-lg shadow-black/5 supports-[backdrop-filter]:bg-popover/92`,itemClassName:``},Form:{wrapperClassName:``,buttonSaveClass:`btn-outline-primary`,buttonDeleteClass:`btn-outline-danger`,buttonBackClass:`btn-link`,Card:{headerClassName:``,bodyClassName:``,footerClassName:`flex items-center justify-end gap-3`}},Menu:{wrapperClassName:`flex-1 overflow-auto p-4`,className:`flex flex-col mb-auto`,headerClassName:``,itemClassName:``,linkClassName:`flex items-center gap-2 rounded-md px-3 py-2 text-sm font-medium text-muted-foreground transition-colors hover:bg-accent/50 hover:text-foreground`,iconClassName:`mr-1 shrink-0`,textClassName:`flex-1`,badgeClassName:`ml-1`,arrowClassName:``,submenuClassName:`mt-1 flex flex-col gap-1 pl-4`},SideNav:{wrapperClassName:``,shellClassName:`border-r border-border bg-card text-foreground`,overlayClassName:`shadow-lg`,headerClassName:`border-b border-border px-1.5 py-2`,navClassName:`px-1.5 py-2`,bottomNavClassName:`border-t border-border px-1.5 py-2`,footerClassName:`border-t border-border px-1.5 py-2`,groupLabelClassName:`text-[10px] font-semibold uppercase tracking-[0.16em] text-muted-foreground/70 select-none`,groupDividerClassName:`bg-border/60`,itemClassName:`rounded-md`,itemActiveClassName:`bg-primary/10 text-primary font-medium`,itemChildActiveClassName:`bg-accent text-foreground font-medium`,itemInactiveClassName:`text-muted-foreground hover:text-foreground hover:bg-accent/80`,itemIconClassName:``,itemTextClassName:``,itemBadgeClassName:`ml-auto shrink-0 text-[10px] font-semibold leading-none px-1.5 py-[3px] rounded-full bg-primary/15 text-primary`,itemCollapsedBadgeClassName:`absolute -top-0.5 -right-1 h-[7px] w-[7px] rounded-full bg-primary ring-1 ring-card`,itemToggleClassName:`shrink-0 flex items-center justify-center w-6 h-6 rounded transition-colors text-muted-foreground/50 hover:text-foreground hover:bg-accent/80`,subItemClassName:`rounded-sm`,subItemActiveClassName:`bg-primary/10 text-primary font-medium`,subItemInactiveClassName:`text-muted-foreground hover:text-foreground hover:bg-accent/80`,collapseButtonClassName:`shrink-0 flex items-center justify-center rounded-md w-8 h-8 transition-colors text-muted-foreground hover:text-foreground hover:bg-accent/80`},Toolbar:{wrapperClassName:`z-20 w-full`,stickyClassName:`sticky top-0`,restingClassName:`bg-transparent border-transparent shadow-none`,scrolledClassName:`border-b border-border bg-background/90 backdrop-blur supports-[backdrop-filter]:bg-background/85`,innerClassName:`flex min-h-13 items-center gap-3 px-4 md:px-5`,leadingClassName:`flex min-w-0 items-center gap-2 shrink-0`,centerClassName:`flex min-w-0 flex-1 items-center gap-3`,trailingClassName:`flex items-center gap-2 shrink-0`},ListCard:{wrapperClassName:``,className:``,activeClassName:`border-primary/30 bg-primary/10`,inactiveClassName:`hover:bg-accent/60`,disabledClassName:`cursor-not-allowed opacity-60`,dashedClassName:`border-dashed`,compactClassName:`p-3`,leadingClassName:``,bodyClassName:``,headerClassName:``,titleClassName:``,descriptionClassName:``,metaClassName:``,badgeClassName:``,trailingClassName:``,footerClassName:``,motion:{press:`press`}},ProviderSwitcher:{wrapperClassName:`w-full`,className:`w-full`,triggerClassName:`flex w-full items-center gap-2 rounded-xl px-1.5 py-1.5 text-left text-sm font-semibold text-foreground transition-colors hover:bg-accent/60`,disabledClassName:`pointer-events-none opacity-60`,iconWrapperClassName:`flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-primary`,labelClassName:`block truncate`,captionClassName:`block truncate text-[11px] font-normal text-muted-foreground/80`,chevronClassName:`ml-auto shrink-0 text-muted-foreground/70`,itemClassName:``,itemActiveClassName:``,itemInactiveClassName:``,itemMetaClassName:`text-xs text-muted-foreground`,checkClassName:`text-primary`},Brand:{wrapperClassName:``,className:`flex items-center`,logoClassName:`flex items-center gap-2 font-semibold`,labelClassName:`text-sm font-medium`},SignIn:{className:`flex items-center`,avatarClass:`mx-2 rounded-full object-cover`},Image:{wrapperClassName:``,className:``,motion:{enter:`fade`,hover:!1}},ImageAvatar:{wrapperClassName:``,className:``,motion:{enter:`fade`,hover:!1}},Percentage:{wrapperClassName:``,className:``},Tree:{wrapperClassName:``,className:``,itemClassName:``,selectedClassName:``},DescriptionList:{wrapperClassName:``,className:``,itemClassName:``,labelClassName:``,valueClassName:``},Tab:{wrapperClassName:``,className:``,menuClassName:``,itemClassName:``,contentClassName:``,triggerClassName:``,activeTriggerClassName:``,inactiveTriggerClassName:``,motion:{enter:`fadeUp`}},Code:{wrapperClassName:``,className:``},CodeEditor:{wrapperClassName:``,className:``},Prompt:{wrapperClassName:``,className:``},Repeat:{itemClassName:``,inlineItemClassName:``,addButtonClassName:``}}},Oe={preset:{mode:`dark`,radius:0,colors:{background:`0 0% 98%`,foreground:`215 25% 16%`,card:`0 0% 100%`,cardForeground:`215 25% 16%`,popover:`0 0% 100%`,popoverForeground:`215 25% 16%`,primary:`160 84% 39%`,primaryForeground:`0 0% 0%`,secondary:`160 20% 92%`,secondaryForeground:`160 25% 20%`,muted:`160 15% 93%`,mutedForeground:`215 15% 50%`,accent:`160 30% 90%`,accentForeground:`160 84% 25%`,destructive:`0 72% 51%`,destructiveForeground:`0 0% 100%`,success:`160 84% 39%`,successForeground:`0 0% 0%`,warning:`45 96% 48%`,warningForeground:`0 0% 0%`,info:`199 89% 48%`,infoForeground:`0 0% 0%`,border:`160 20% 85%`,input:`160 20% 85%`,ring:`160 84% 39%`},dark:{background:`220 20% 7%`,foreground:`160 10% 90%`,card:`220 20% 10%`,cardForeground:`160 10% 90%`,popover:`220 20% 10%`,popoverForeground:`160 10% 90%`,primary:`160 84% 39%`,primaryForeground:`0 0% 0%`,secondary:`220 20% 15%`,secondaryForeground:`160 10% 75%`,muted:`220 20% 14%`,mutedForeground:`220 10% 55%`,accent:`160 60% 15%`,accentForeground:`160 84% 70%`,destructive:`0 72% 51%`,destructiveForeground:`0 0% 100%`,success:`160 84% 45%`,successForeground:`0 0% 0%`,warning:`45 96% 55%`,warningForeground:`0 0% 0%`,info:`199 89% 55%`,infoForeground:`0 0% 0%`,border:`220 20% 18%`,input:`220 20% 18%`,ring:`160 84% 39%`}},motion:{none:{from:{},to:{},transition:{duration:0,easing:`linear`,properties:[`opacity`,`transform`,`box-shadow`]},reducedMotion:`always`},fade:{from:{opacity:0},to:{opacity:1},transition:{duration:180,easing:`cubic-bezier(0.16, 1, 0.3, 1)`,properties:[`opacity`]},reducedMotion:`respect-user`},fadeUp:{from:{opacity:0,transform:`translateY(10px)`},to:{opacity:1,transform:`translateY(0)`},transition:{duration:200,easing:`cubic-bezier(0.16, 1, 0.3, 1)`,properties:[`opacity`,`transform`]},reducedMotion:`respect-user`},fadeDown:{from:{opacity:0,transform:`translateY(-10px)`},to:{opacity:1,transform:`translateY(0)`},transition:{duration:180,easing:`cubic-bezier(0.16, 1, 0.3, 1)`,properties:[`opacity`,`transform`,`visibility`]},reducedMotion:`respect-user`},slideFromRight:{from:{opacity:0,transform:`translateX(100%)`},to:{opacity:1,transform:`translateX(0)`},transition:{duration:220,easing:`cubic-bezier(0.16, 1, 0.3, 1)`,properties:[`opacity`,`transform`]},reducedMotion:`respect-user`},slideFromLeft:{from:{opacity:0,transform:`translateX(-100%)`},to:{opacity:1,transform:`translateX(0)`},transition:{duration:220,easing:`cubic-bezier(0.16, 1, 0.3, 1)`,properties:[`opacity`,`transform`]},reducedMotion:`respect-user`},slideFromTop:{from:{opacity:0,transform:`translateY(-100%)`},to:{opacity:1,transform:`translateY(0)`},transition:{duration:220,easing:`cubic-bezier(0.16, 1, 0.3, 1)`,properties:[`opacity`,`transform`]},reducedMotion:`respect-user`},slideFromBottom:{from:{opacity:0,transform:`translateY(100%)`},to:{opacity:1,transform:`translateY(0)`},transition:{duration:220,easing:`cubic-bezier(0.16, 1, 0.3, 1)`,properties:[`opacity`,`transform`]},reducedMotion:`respect-user`},press:{from:{},to:{transform:`scale(0.97)`},transition:{duration:110,easing:`cubic-bezier(0.16, 1, 0.3, 1)`,properties:[`transform`,`box-shadow`]},reducedMotion:`respect-user`},imageZoom:{from:{transform:`scale(1)`},to:{transform:`scale(1.06)`},transition:{duration:280,easing:`cubic-bezier(0.16, 1, 0.3, 1)`,properties:[`transform`]},reducedMotion:`respect-user`}},components:{Grid:{Card:{wrapperClassName:``,className:`rounded-none border-0 bg-transparent shadow-none`,headerClassName:`flex justify-between border-b-0 bg-transparent px-0 py-2`,bodyClassName:`p-0 mt-2`,footerClassName:`border-t-0 bg-transparent px-0 py-2`,loading:!1},Table:{wrapperClassName:`rounded-lg border border-border bg-card shadow-sm`,className:``,headerClassName:``,bodyClassName:``,footerClassName:``,scrollClassName:`overflow-x-auto`,selectedClassName:`bg-primary/10`},Gallery:{wrapperClassName:`rounded-lg border border-border bg-card shadow-sm p-3`,className:``,scrollClassName:``,headerClassName:``,bodyClassName:``,footerClassName:``,selectedClassName:`bg-primary/20`,gap:1,rowCols:4},Modal:{mode:`form`,size:`lg`,position:`center`,wrapperClassName:``,className:``,headerClassName:``,titleClassName:``,subtitleClassName:`pr-1 text-muted-foreground`,bodyClassName:``,footerClassName:``,iconExpand:`fullscreen`,iconCollapse:`fullscreen-exit`,motion:{center:`fade`,top:`slideFromTop`,left:`slideFromLeft`,right:`slideFromRight`,bottom:`slideFromBottom`,backdrop:`fade`}}},Table:{wrapperClassName:``,className:``,headerClassName:``,bodyClassName:``,footerClassName:``,scrollClassName:`overflow-x-auto`,selectedClassName:`bg-primary/10`},Gallery:{wrapperClassName:``,className:``,scrollClassName:``,headerClassName:``,bodyClassName:``,footerClassName:``,selectedClassName:`bg-primary/20`,gap:4,rowCols:2},Pagination:{wrapperClassName:``,className:``,stickyClassName:`fixed bottom-0 left-0 right-0 mx-5`,scrollToTop:!1,scrollBehavior:`auto`,maxItems:5,sticky:!0,align:`end`},Carousel:{showIndicators:!0,showControls:!0,showCaption:!0,dark:!1,autoPlay:!0},Card:{wrapperClassName:``,className:``,headerClassName:`flex justify-between bg-white/[.15] font-normal`,bodyClassName:`flex flex-col`,footerClassName:``,loading:!1},Loader:{wrapperClassName:``,className:``,icon:`loader-2`,title:`Loading..`,description:``},ActionButton:{className:`btn-primary`,badgeClassName:`rounded-full bg-destructive text-destructive-foreground`,motion:{press:`press`}},LoadingButton:{className:`btn-primary`,badgeClassName:`rounded-full bg-destructive text-destructive-foreground`,motion:{press:`press`}},LinkButton:{className:`btn-outline-secondary`},Alert:{className:``},Badge:{className:``},Modal:{size:`lg`,position:`center`,wrapperClassName:``,className:``,headerClassName:``,titleClassName:``,subtitleClassName:`pr-1 text-muted-foreground`,bodyClassName:``,footerClassName:``,iconExpand:`fullscreen`,iconCollapse:`fullscreen-exit`,motion:{center:`fade`,top:`slideFromTop`,left:`slideFromLeft`,right:`slideFromRight`,bottom:`slideFromBottom`,backdrop:`fade`}},Dropdown:{wrapperClassName:``,className:``,triggerClassName:`btn btn-outline-primary`,badgeClassName:``,menuClassName:`rounded-none border-border/70 bg-popover/95 shadow-[0_0_0_1px_hsl(var(--border)/0.55),0_12px_32px_rgba(0,0,0,0.35)] supports-[backdrop-filter]:bg-popover/92`,menuHeaderClass:`text-muted-foreground/75`,menuItemClass:``,menuDividerClass:`bg-border/70`,headerClassName:``,footerClassName:``,Menu:{wrapperClassName:``,className:`list-none p-0 m-0`,headerClassName:``,itemClassName:``,linkClassName:`flex items-center gap-2 rounded-sm px-2 py-1.5 text-sm hover:bg-accent`,iconClassName:`text-muted-foreground`,textClassName:``,badgeClassName:``,arrowClassName:``,submenuClassName:``},motion:{open:`fadeDown`,close:`fadeDown`,press:`press`}},Notifications:{wrapperClassName:``,Dropdown:{className:``,triggerClassName:`btn btn-link`,menuClassName:`mt-1 text-[11px] w-[300px] pt-1`}},Select:{wrapperClassName:``,className:``},Autocomplete:{wrapperClassName:``,className:``,listClassName:``,optionClassName:``},AddressAutocomplete:{wrapperClassName:``,className:``,menuClassName:`rounded-none border-border/70 bg-popover/95 shadow-[0_0_0_1px_hsl(var(--border)/0.55),0_12px_32px_rgba(0,0,0,0.35)] supports-[backdrop-filter]:bg-popover/92`,itemClassName:``},Form:{wrapperClassName:``,buttonSaveClass:`btn-outline-primary`,buttonDeleteClass:`btn-outline-danger`,buttonBackClass:`btn-link`,Card:{headerClassName:``,bodyClassName:``,footerClassName:`flex items-center justify-end gap-3`}},Menu:{wrapperClassName:`flex-1 overflow-auto p-4`,className:`flex flex-col mb-auto`,headerClassName:``,itemClassName:``,linkClassName:`flex items-center gap-2 rounded-md px-3 py-2 text-sm font-medium text-muted-foreground transition-colors hover:bg-accent/50 hover:text-foreground`,iconClassName:`mr-1 shrink-0`,textClassName:`flex-1`,badgeClassName:`ml-1`,arrowClassName:``,submenuClassName:`mt-1 flex flex-col gap-1 pl-4`},SideNav:{wrapperClassName:``,shellClassName:`border-r border-border bg-card/95 text-foreground`,overlayClassName:`shadow-[0_0_32px_rgba(16,185,129,0.18)]`,headerClassName:`border-b border-border px-1.5 py-2`,navClassName:`px-1.5 py-2`,bottomNavClassName:`border-t border-border px-1.5 py-2`,footerClassName:`border-t border-border px-1.5 py-2`,groupLabelClassName:`text-[10px] font-semibold uppercase tracking-[0.18em] text-muted-foreground/70 select-none`,groupDividerClassName:`bg-border/70`,itemClassName:`rounded-none`,itemActiveClassName:`bg-primary/12 text-primary font-medium`,itemChildActiveClassName:`bg-accent/90 text-foreground font-medium`,itemInactiveClassName:`text-muted-foreground hover:text-foreground hover:bg-accent/80`,itemIconClassName:``,itemTextClassName:``,itemBadgeClassName:`ml-auto shrink-0 text-[10px] font-semibold leading-none px-1.5 py-[3px] rounded-none bg-primary/15 text-primary`,itemCollapsedBadgeClassName:`absolute -top-0.5 -right-1 h-[7px] w-[7px] rounded-none bg-primary ring-1 ring-card`,itemToggleClassName:`shrink-0 flex items-center justify-center w-6 h-6 rounded-none transition-colors text-muted-foreground/50 hover:text-foreground hover:bg-accent/80`,subItemClassName:`rounded-none`,subItemActiveClassName:`bg-primary/12 text-primary font-medium`,subItemInactiveClassName:`text-muted-foreground hover:text-foreground hover:bg-accent/80`,collapseButtonClassName:`shrink-0 flex items-center justify-center rounded-none w-8 h-8 transition-colors text-muted-foreground hover:text-foreground hover:bg-accent/80`},Toolbar:{wrapperClassName:`z-20 w-full`,stickyClassName:`sticky top-0`,restingClassName:`bg-transparent border-transparent shadow-none`,scrolledClassName:`border-b border-border bg-background/90 backdrop-blur supports-[backdrop-filter]:bg-background/85`,innerClassName:`flex min-h-14 items-center gap-3 px-4 md:px-6`,leadingClassName:`flex min-w-0 items-center gap-2 shrink-0`,centerClassName:`flex min-w-0 flex-1 items-center gap-3`,trailingClassName:`flex items-center gap-2 shrink-0`},ListCard:{wrapperClassName:``,className:`rounded-none shadow-[0_0_0_1px_hsl(var(--border)/0.7)]`,activeClassName:`border-primary/50 bg-primary/10 text-foreground`,inactiveClassName:`hover:bg-accent/70`,disabledClassName:`cursor-not-allowed opacity-60`,dashedClassName:`border-dashed`,compactClassName:`p-3`,leadingClassName:`rounded-none`,bodyClassName:``,headerClassName:``,titleClassName:``,descriptionClassName:``,metaClassName:``,badgeClassName:``,trailingClassName:``,footerClassName:``,motion:{press:`press`}},ProviderSwitcher:{wrapperClassName:`w-full`,className:`w-full`,triggerClassName:`flex w-full items-center gap-2 rounded-none px-1.5 py-1.5 text-left text-sm font-semibold text-foreground transition-colors hover:bg-accent/70`,disabledClassName:`pointer-events-none opacity-60`,iconWrapperClassName:`flex h-8 w-8 shrink-0 items-center justify-center rounded-none bg-primary/10 text-primary`,labelClassName:`block truncate`,captionClassName:`block truncate text-[11px] font-normal text-muted-foreground/80`,chevronClassName:`ml-auto shrink-0 text-muted-foreground/70`,itemClassName:`rounded-none`,itemActiveClassName:``,itemInactiveClassName:``,itemMetaClassName:`text-xs text-muted-foreground`,checkClassName:`text-primary`},Brand:{wrapperClassName:``,className:`flex items-center`,logoClassName:`flex items-center gap-2 font-semibold`,labelClassName:`text-sm font-medium`},SignIn:{className:`flex items-center`,avatarClass:`mx-2 rounded-full object-cover`},Image:{wrapperClassName:``,className:``,motion:{enter:`fade`,hover:`imageZoom`}},ImageAvatar:{wrapperClassName:``,className:``,motion:{enter:`fade`,hover:`imageZoom`}},Percentage:{wrapperClassName:``,className:``},Tree:{wrapperClassName:``,className:``,itemClassName:``,selectedClassName:``},DescriptionList:{wrapperClassName:``,className:``,itemClassName:``,labelClassName:``,valueClassName:``},Tab:{wrapperClassName:``,className:``,menuClassName:``,itemClassName:``,contentClassName:``,triggerClassName:``,activeTriggerClassName:``,inactiveTriggerClassName:``,motion:{enter:`fadeUp`}},Code:{wrapperClassName:``,className:``},CodeEditor:{wrapperClassName:``,className:``},Prompt:{wrapperClassName:``,className:``},Repeat:{itemClassName:``,inlineItemClassName:``,addButtonClassName:``}}},ke={...Ee,preset:{...Ee.preset,mode:`dark`,colors:{...Ee.preset.colors},dark:{...Ee.preset.dark,background:`0 0% 11.8%`,foreground:`0 0% 83.1%`,cardForeground:`0 0% 83.1%`,popover:`240 1.3% 14.7%`,popoverForeground:`0 0% 80%`,primaryForeground:`0 0% 11.8%`,secondaryForeground:`0 0% 83.1%`,accentForeground:`0 0% 83.1%`}}},Ae={...Ee,preset:{...Ee.preset,mode:`light`,colors:{...Ee.preset.colors,background:`0 0% 100%`,foreground:`0 0% 0%`,cardForeground:`0 0% 0%`,popoverForeground:`0 0% 0%`,primaryForeground:`0 0% 100%`,secondaryForeground:`0 0% 0%`,accent:`0 0% 91%`,accentForeground:`0 0% 0%`},dark:{...Ee.preset.dark}}},je={...Ee,preset:{...Ee.preset,mode:`dark`,colors:{...Ee.preset.colors},dark:{...Ee.preset.dark,background:`235 18.8% 12.5%`,foreground:`229.3 35.4% 75.1%`,card:`240 15.4% 10.2%`,cardForeground:`232.7 13.9% 53.5%`,popover:`240 14.9% 9.2%`,popoverForeground:`232.7 13.9% 53.5%`,primary:`217.3 39.8% 55.7%`,primaryForeground:`0 0% 100%`,secondary:`240 15.4% 10.2%`,secondaryForeground:`232.7 13.9% 53.5%`,muted:`235.4 18.8% 13.5%`,mutedForeground:`230.3 16.1% 37.8%`,accent:`228.8 20% 15.7%`,accentForeground:`229.3 35.4% 75.1%`,border:`240 11.1% 7.1%`,input:`240 14.9% 9.2%`,ring:`228.7 72.6% 85.7%`}}},Me={...Ee,preset:{...Ee.preset,mode:`light`,colors:{...Ee.preset.colors,background:`231.4 16.3% 91.6%`,foreground:`228.6 26.2% 27.6%`,card:`226.7 12.3% 85.7%`,cardForeground:`224.3 17.6% 25.7%`,popover:`231.4 16.3% 91.6%`,popoverForeground:`224.3 17.6% 25.7%`,primary:`217.7 61.1% 41.4%`,primaryForeground:`0 0% 100%`,secondary:`226.7 12.3% 85.7%`,secondaryForeground:`224.3 17.6% 25.7%`,muted:`231.4 16.3% 91.6%`,mutedForeground:`232.5 6.7% 47.1%`,accent:`231.4 16.3% 91.6%`,accentForeground:`224.3 17.6% 25.7%`,border:`230 5.1% 76.9%`,input:`231.4 16.3% 91.6%`,ring:`224.3 17.6% 25.7%`},dark:{...Ee.preset.dark}}},J=[`default`,`flat`,`cyber`,`vscode-dark-plus`,`vscode-light-plus`,`tokyo-night`,`tokyo-night-light`],Ne=(0,t.createContext)(Te),Pe=(0,t.createContext)(Ee.motion),Fe=(0,t.createContext)(null),Ie={default:Ee,flat:De,cyber:Oe,"vscode-dark-plus":ke,"vscode-light-plus":Ae,"tokyo-night":je,"tokyo-night-light":Me},Le=(e,t)=>{let n=e,r=t;for(let e in r)Object.prototype.hasOwnProperty.call(r,e)&&(typeof r[e]==`object`&&r[e]!==null?(n[e]||(n[e]={}),Le(n[e],r[e])):r[e]!==null&&(n[e]=r[e]));return e},Re=e=>Le({},e);function ze(e){return typeof e==`object`&&!!e&&`preset`in e&&`motion`in e&&`components`in e}function Be(e){return typeof e==`string`||e===void 0?{theme:e??`default`,themes:{...Ie}}:ze(e)?{theme:`custom`,themes:{...Ie,custom:e}}:{defaultMode:e.defaultMode,theme:e.theme??`default`,themes:{...Ie,...e.themes??{}},themeOverride:e.themeOverride}}var Ve=`llmnative.theme.activeTheme`,He=`llmnative.theme.mode`;function Ue(e){if(typeof window<`u`)try{let t=window.localStorage.getItem(Ve);return t&&e[t]?t:void 0}catch{return}}function We(){if(typeof window<`u`)try{let e=window.localStorage.getItem(He);return e===`light`||e===`dark`||e===`system`?e:void 0}catch{return}}function Ge(e,t){if(typeof window<`u`)try{window.localStorage.setItem(Ve,e),window.localStorage.setItem(He,t)}catch{}}function Ke(e){return e===`system`?typeof window>`u`||!window.matchMedia?`light`:window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:e}function qe(e){return`--rf-`+e.replace(/([A-Z])/g,e=>`-${e.toLowerCase()}`)}function Je({mode:e,radius:t,fontSans:n,fontMono:r,colors:i,dark:a,variables:o}){if(typeof document>`u`)return;document.documentElement.classList.toggle(`dark`,Ke(e)===`dark`);let s={},c={};for(let[e,t]of Object.entries(i??{}))t!==void 0&&(s[qe(e)]=t);for(let[e,t]of Object.entries(a??{}))t!==void 0&&(c[qe(e)]=t);s[`--radius`]=`${t}rem`,s[`--radius-sm`]=`${(t*.5).toFixed(4).replace(/\.?0+$/,``)}rem`,s[`--radius-md`]=`${(t*.75).toFixed(4).replace(/\.?0+$/,``)}rem`,s[`--radius-lg`]=`${t}rem`,s[`--radius-xl`]=`${(t*1.5).toFixed(4).replace(/\.?0+$/,``)}rem`,s[`--radius-2xl`]=`${(t*2).toFixed(4).replace(/\.?0+$/,``)}rem`,s[`--radius-3xl`]=`${(t*3).toFixed(4).replace(/\.?0+$/,``)}rem`,n&&(s[`--font-sans`]=n),r&&(s[`--font-mono`]=r);for(let[e,t]of Object.entries(o??{}))s[e.startsWith(`--`)?e:`--${e}`]=t;let l=document.getElementById(`rf-theme-vars`);l||(l=document.createElement(`style`),l.id=`rf-theme-vars`,document.head.appendChild(l));let u=e=>Object.entries(e).map(([e,t])=>` ${e}: ${t};`).join(`
|
|
2
2
|
`);l.textContent=[Object.keys(s).length?`:root {\n${u(s)}\n}`:``,Object.keys(c).length?`.dark {\n${u(c)}\n}`:``].filter(Boolean).join(`
|
|
3
|
-
`)}var Ye=`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='50' fill='%23eef2f7'/%3E%3Ccircle cx='50' cy='38' r='16' fill='%2364758b'/%3E%3Cpath d='M22 84c3.8-20 19-31 28-31s24.2 11 28 31c.5 2.8-1.7 5-4.5 5h-47c-2.8 0-5-2.2-4.5-5z' fill='%2364758b'/%3E%3C/svg%3E`,Xe=({children:e,config:n=void 0})=>{let r=(0,t.useMemo)(()=>Be(n),[n]),i=Ue(r.themes)??r.theme,a=r.themes[i]??r.themes.default,o=a.preset,[s,c]=(0,t.useState)(r.themes),[l,u]=(0,t.useState)(i),[d,f]=(0,t.useState)(We()??r.defaultMode??o.mode??`light`),[p,m]=(0,t.useState)(o.radius??Ie.default.preset.radius),[h,g]=(0,t.useState)(o.fontSans??``),[_,v]=(0,t.useState)(o.fontMono??``),[y,b]=(0,t.useState)(o.colors),[x,S]=(0,t.useState)(o.dark),[C,w]=(0,t.useState)(()=>Re(a.components)),[T,E]=(0,t.useState)(a.motion);(0,t.useEffect)(()=>{let e=Ue(r.themes)??r.theme,t=r.themes[e]??r.themes.default,n=t.preset;c(r.themes),u(e),f(We()??r.defaultMode??n.mode??`light`),m(n.radius??Ie.default.preset.radius),g(n.fontSans??``),v(n.fontMono??``),b(n.colors),S(n.dark),E(t.motion)},[r]),(0,t.useEffect)(()=>{let e=s[l]??s.default,t=Re(e.components);Le(t,r.themeOverride??{}),w(t),E(e.motion)},[l,r.themeOverride,s]),(0,t.useEffect)(()=>{Ge(l,d)},[l,d]),(0,t.useEffect)(()=>{let e=(s[l]??s.default).preset;Je({mode:d,radius:p,fontSans:h,fontMono:_,colors:y,dark:x,variables:e.variables})},[d,s,l,p,h,_,y,x]);let D=(0,t.useMemo)(()=>({mode:d,resolvedMode:Ke(d),theme:l,primary:y?.primary??Ie.default.preset.colors.primary,primaryForeground:y?.primaryForeground??Ie.default.preset.colors.primaryForeground,radius:p,fontSans:h,fontMono:_,colors:y,dark:x,themes:s,setMode:f,toggleMode(){f(e=>Ke(e)===`dark`?`light`:`dark`)},applyTheme(e){s[e]||(process.env.NODE_ENV!==`production`&&console.warn(`[ThemeProvider] Unknown theme "${e}", falling back to "default".`),e=`default`);let t=(s[e]??s.default).preset;u(e),f(t.mode??`light`),m(t.radius??Ie.default.preset.radius),g(t.fontSans??``),v(t.fontMono??``),b(t.colors),S(t.dark)},setPrimary(e){let t=e.split(` `)[0];b(n=>({...n,primary:e,ring:e,secondary:`${t} 40% 96%`,secondaryForeground:`${t} 47% 11%`,accent:`${t} 40% 94%`,accentForeground:`${t} 47% 11%`})),S(n=>({...n,primary:e,ring:e,secondary:`${t} 30% 18%`,secondaryForeground:`${t} 10% 96%`,accent:`${t} 30% 18%`,accentForeground:`${t} 10% 96%`}))},setRadius:m,setFont(e,t){g(e),t!==void 0&&v(t)},setColors(e){b(e)},setTokens(e){b(t=>({...t,...e})),S(t=>({...t,...e}))}}),[d,l,p,h,_,y,x,s]);return t.default.createElement(Fe.Provider,{value:D},t.default.createElement(Pe.Provider,{value:T},t.default.createElement(Ne.Provider,{value:C},e)))},Y=e=>(0,t.useContext)(Ne),Ze=()=>(0,t.useContext)(Pe),Qe=()=>{let e=(0,t.useContext)(Fe);if(!e)throw Error(`useThemeController must be used inside <App> or <ThemeProvider>.`);return e},$e={common:{save:`Save`,cancel:`Cancel`,delete:`Delete`,close:`Close`,back:`Back`,search:`Search`,loading:`Loading...`,noDataFound:`No data found`,pageNavigation:`Page navigation`,previous:`Previous`,next:`Next`,notFoundMessage:`Oops! Page not found.`,goHome:`Go to Home`},auth:{signIn:`Sign in`,signOut:`Sign out`,connect:`Connect`,connected:`Connected`,authenticated:`Authenticated`,notConfigured:`Auth provider "{provider}" is not configured. Add the required client key before using this action.`,notImplemented:`AuthProvider does not implement signIn().`},form:{headerAdd:`New record`,headerEdit:`Edit record`,buttonSave:`Save`,buttonDelete:`Delete`,buttonBack:`Back`,requiredField:`{field} is required`,requiredFieldGeneric:`Required field`,saveSuccess:`Record saved successfully`,deleteSuccess:`Record deleted successfully`,noticeRequiredFields:`Please fill in all required fields`,noChangesToSave:`No changes to save`,draftRestoreTitle:`Unsaved changes found`,draftRestoreMessage:`A local draft is available for this form. Restore it or discard it.`,draftRestoreAction:`Restore`,draftDiscardAction:`Discard`,draftRestoredTitle:`Draft restored`,draftRestoredMessage:`The local draft has been restored. You can still discard it for a few seconds.`,draftSaveError:`Could not save a local draft — the change is too large for browser storage (e.g. an unsent image upload). Save the form to keep it.`},grid:{buttonAdd:`Add`,deleteConfirm:`Delete record`,emptyState:`No records found`,filtersButton:`Filters`,filtersPanelTitle:`Filters`,filtersClearAll:`Clear all`,filtersSelectPlaceholder:`All`,filtersRangeFrom:`From`,filtersRangeTo:`To`,filtersRangeMin:`Min`,filtersRangeMax:`Max`,filtersSelectedCountTemplate:`{count} selected`},select:{placeholder:`Select...`,loading:`Loading...`},modal:{save:`Save`,delete:`Delete`,cancel:`Cancel`,close:`Close`,ok:`Ok`,yes:`Yes`,no:`No`},upload:{clickOrDrag:`Click to upload or drag and drop`,dropToUpload:`Drop to upload`,uploadMore:`Upload more files`,editFileName:`Edit file name`,editorImage:`Edit image`,loaded:`Loaded`,removeFile:`Remove`,uploadAnother:`Upload another file`,dropToParse:`Drop to parse`,insertFromUrl:`Insert from URL`,urlPlaceholder:`https://…/image.png`,invalidUrl:`Enter a valid URL`},notifications:{title:`Notifications`,seeAll:`See all`},code:{copyCode:`Copy code`,copy:`Copy`,copied:`Copied`,codeLanguageDefault:`text`},table:{noDataFound:`No data found`,selectAllRows:`Select all rows`,sortBy:`Sort by {label}`,sortByCurrent:`Sort by {label}, currently {direction}`,selectRow:`Select row {key}`,reorderRow:`Reorder row {key}`},gallery:{selectItem:`Select item {key}`},crop:{enableCrop:`Click {scale} to enable this crop`,variants:`Variants`,outputFile:`Output file`,active:`active`,removeVariant:`Remove {scale} variant`,fileName:`File name`,altText:`Alt text`,altTextPlaceholder:`Describe this image…`},imageEditor:{title:`Image Editor`,save:`Save`,undo:`Undo`,redo:`Redo`,zoomOut:`Zoom Out`,zoomIn:`Zoom In`,crop:`Crop`,flipHorizontal:`Flip horizontal`,flipVertical:`Flip vertical`,rotate:`Rotate 90°`,freeDrawing:`Free drawing`,arrow:`Arrow`,text:`Text`,rectangle:`Rectangle`,circle:`Circle`,triangle:`Triangle`},prompt:{noProviders:`No AI providers are registered.`,aiNotConfiguredEdit:`AI is not configured. You can still edit and save this prompt.`,aiNotConfiguredRun:`AI is not configured. Prompt execution is unavailable.`,aiNotConfiguredShort:`AI not configured`,toggleOnTitle:`Prompt ON. In PromptRun, this textarea is treated as the prompt template and can be executed against the current record. Turn OFF to skip the prompt system and use the plain fallback text instead.`,toggleOffTitle:`Prompt OFF. In PromptRun, the prompt system is skipped and the plain fallback text is used directly. Turn ON to use this textarea as the prompt template.`,closeEditor:`Close prompt editor`,editSettings:`Edit prompt settings`,attachFiles:`Attach files`,dropFilesHere:`Drop files to attach`,modelPricing:`Input / output, USD per 1M tokens`,modelPriceNotFound:`Price not found`,attachmentsNotSupported:`The selected AI provider does not support image or document attachments.`,run:`Run prompt`,runFailed:`Prompt execution failed.`,noMatchingCommands:`No matching commands`,tokenUsage:`Token usage`,tokenInput:`Input: {count} tok`,tokenOutput:`Output: {count} tok`,tokenContext:`Context: {percent}%`,tokenCost:"Cost: ~${amount}",tokenTime:`Time: {seconds}s`,tokenUsageEmpty:`Run the prompt to see token usage.`,hidePreview:`Hide preview`,showPreview:`Show resolved preview`,noProvider:`No AI provider is available for this prompt.`,noResponse:`The AI provider returned no response.`,promptLabel:`Prompt: `,defaultOption:`Default`},layout:{maxElements:`You already have 12 items in the row: remove one before adding another.`,noSpace:`No space available: cannot resize items enough to insert this field.`,dragToMove:`Drag to move`,remove:`Remove`,dragToResize:`Drag to resize`,dragHere:`Drag an element here`},sideNav:{expandGroup:`Expand`,collapseGroup:`Collapse`,expandSidebar:`Expand sidebar`,collapseSidebar:`Collapse sidebar`},autocomplete:{noResults:`No results`,create:`Create «{value}»`,createPlaceholder:`Type or press Enter to create...`,remove:`Remove`},addressAutocomplete:{placeholder:`Search an address...`,noResults:`No matching address`,searching:`Searching...`,notConfigured:`Address search is not configured (missing Google Maps API key).`,loadError:`Could not load address search.`}};function et(e){return e}function tt(e){return e}function nt(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>String(t[n]??`{${n}}`))}function rt(e,t){let n=e=>typeof e==`object`&&!!e&&!Array.isArray(e),r=(e,t)=>{if(!n(e)||!n(t))return t??e;let i={...e};for(let e of Object.keys(t))i[e]=e in i?r(i[e],t[e]):t[e];return i};return r(e,t)}var it=`llmnative_locale`,at=31536e3;function ot(){if(typeof document>`u`)return null;let e=document.cookie.match(/(?:^|;\s*)llmnative_locale=([^;]+)/);return e?decodeURIComponent(e[1]):null}function st(e){typeof document<`u`&&(document.cookie=`${it}=${encodeURIComponent(e)}; max-age=${at}; path=/; SameSite=Lax`)}var ct=(0,t.createContext)(null),lt=({children:e,config:n})=>{let[r,i]=(0,t.useState)({}),a=(0,t.useMemo)(()=>{let e=[...Object.keys(n?.translations??{}),...Object.keys(r)];return Array.from(new Set([`en`,...e.filter(e=>e!==`en`)]))},[n?.translations,r]),[o,s]=(0,t.useState)(()=>{let e=ot();return e&&a.includes(e)?e:n?.locale??`en`}),c=(0,t.useMemo)(()=>{let e=n?.translations?.[o],t=r[o],i=$e;return e&&(i=rt(i,e)),t&&(i=rt(i,t)),i},[o,n?.translations,r]),l=(0,t.useCallback)(e=>{st(e),s(e)},[]),u=(0,t.useCallback)((e,t)=>{i(n=>{let r=n[e],i=r?rt(r,t):t;return{...n,[e]:i}})},[]),d=(0,t.useMemo)(()=>({dict:c,locale:o,availableLocales:a,setLocale:l,registerTranslations:u}),[c,o,a,l,u]);return t.default.createElement(ct.Provider,{value:d},e)};function ut(e){let n=(0,t.useContext)(ct);if(!n)throw Error(`useI18n must be used inside <App> or <I18nProvider>.`);return e===void 0?n:e.split(`.`).reduce((e,t)=>e?.[t],n.dict)}function X(...e){return(0,i.twMerge)((0,r.clsx)(e))}var dt=`mx-auto w-full px-3 sm:max-w-[540px] md:max-w-[720px] lg:max-w-[960px] xl:max-w-[1140px] 2xl:max-w-[1320px]`,ft=`rf-row`,pt=`rf-col`,mt=`rf-col-fill`,ht=`rf-col-12`,gt=(e,t)=>e===`xs`?`rf-col-${t}`:`rf-col-${e}-${t}`,_t=e=>e===`xs`?`rf-col-auto`:`rf-col-${e}-auto`,vt=e=>({auto:_t(e),1:gt(e,1),2:gt(e,2),3:gt(e,3),4:gt(e,4),5:gt(e,5),6:gt(e,6),7:gt(e,7),8:gt(e,8),9:gt(e,9),10:gt(e,10),11:gt(e,11),12:gt(e,12)}),yt={xs:vt(`xs`),sm:vt(`sm`),md:vt(`md`),lg:vt(`lg`),xl:vt(`xl`),xxl:vt(`xxl`)},bt=(e,t)=>{let n=String(t);return yt[e][n]},Z=({children:e=void 0,className:n=void 0,style:r=void 0,onClick:i=void 0})=>n?t.default.createElement(`div`,{className:n,style:r,onClick:i},e):t.default.createElement(t.default.Fragment,null,e),xt=({children:e=void 0,className:n=void 0,style:r=void 0})=>t.default.createElement(`div`,{className:X(dt,n),style:r},e),St=({children:e=void 0,className:n=void 0,style:r=void 0})=>t.default.createElement(`div`,{className:X(ft,n),style:r},e),Ct=({children:e=void 0,className:n=void 0,style:r=void 0,defaultSize:i=void 0,xxl:a=void 0,xl:o=void 0,lg:s=void 0,md:c=void 0,sm:l=void 0,xs:u=void 0})=>{let d=u??i,f=[pt,d===void 0&&l===void 0&&c===void 0&&s===void 0&&o===void 0&&a===void 0?mt:d===void 0?ht:bt(`xs`,d),l===void 0?void 0:bt(`sm`,l),c===void 0?void 0:bt(`md`,c),s===void 0?void 0:bt(`lg`,s),o===void 0?void 0:bt(`xl`,o),a===void 0?void 0:bt(`xxl`,a),n];return t.default.createElement(`div`,{className:X(f),style:r},e)};function wt(e){return typeof e==`object`&&!!e&&!t.default.isValidElement(e)&&`content`in e}function Tt(e,t=`info`,n){if(e!=null&&e!==!1)return wt(e)?{...e,variant:e.variant||t,className:X(e.className,n)}:{content:e,variant:t,className:n}}var Et=({badge:e,content:n=void 0,variant:r=void 0,defaultType:i=`info`,className:a=void 0,descriptorOnly:o=!1,children:s=void 0})=>{let c=n===void 0?e:{content:n,variant:r,className:a};if(o&&n===void 0&&!wt(e))return e??null;let l=Tt(c,r||i,a);return l?s===void 0?t.default.createElement(Dt,{variant:l.variant,className:l.className},l.content):t.default.createElement(Dt,{variant:l.variant,after:l.content,className:l.className},s):s??null},Dt=({children:e,variant:n=`info`,before:r=void 0,after:i=void 0,wrapperClassName:a=void 0,className:o=void 0})=>{let s=Y(`badge`);if(t.default.isValidElement(e)){let c=X(`badge badge-overlay badge-`+n,`absolute top-0 z-10`,o||s.Badge.className);return t.default.createElement(`span`,{className:X(`relative inline-flex`,a)},e,r!==void 0&&t.default.createElement(`span`,{className:X(c,`left-0 -translate-x-1/2 -translate-y-1/2`)},r),i!==void 0&&t.default.createElement(`span`,{className:X(c,`right-0 translate-x-1/2 -translate-y-1/2`)},i),r===void 0&&i===void 0&&t.default.createElement(`span`,{className:X(c,`right-0 translate-x-1/2 -translate-y-1/2 !p-0 !min-w-0 w-2.5 h-2.5 rounded-full`)}))}return t.default.createElement(Z,{className:a},r,t.default.createElement(`span`,{className:X(`badge badge-`+n,o||s.Badge.className)},e),i)},Ot={from:{},to:{},transition:{duration:0,easing:`linear`,delay:0,properties:[`opacity`,`transform`,`box-shadow`]},reducedMotion:`always`},kt={from:{},to:{},transition:{duration:160,easing:`cubic-bezier(0.2, 0, 0, 1)`,delay:0,properties:[`opacity`,`transform`,`box-shadow`]},reducedMotion:`respect-user`},At=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,jt=(e,t,n=`fade`)=>{let r=e===void 0?n:e;return r===!1?Ot:typeof r==`string`?t[r]??t.none??Ot:r},Mt=e=>e.properties.map(t=>`${t} ${e.duration}ms ${e.easing} ${e.delay}ms`).join(`, `),Nt=(e,t={},n)=>{let r=jt(n,t,`fade`),i=jt(e,t,n),a={...kt.transition,...r.transition,...i.transition},o=i.reducedMotion??r.reducedMotion??kt.reducedMotion,s=o===`always`||o===`respect-user`&&At(),c={duration:s?0:a.duration,easing:s?`linear`:a.easing,delay:s?0:a.delay,properties:a.properties};return{from:s?{}:{...r.from??{},...i.from??{}},to:s?{}:{...r.to??{},...i.to??{}},transition:c,reducedMotion:o,transitionValue:Mt(c)}},Pt=(e,n)=>{let r=Ze();return t.default.useMemo(()=>Nt(e,r,n),[e,r,n])},Ft=(e,n,r,i)=>{let a=Pt(n,r);return t.default.useMemo(()=>({...i,...e?a.to:a.from,transition:[i?.transition,a.transitionValue].filter(Boolean).join(`, `)}),[e,i,a])},It=(e=!1,n,r,i=`press`)=>{let a=Pt(r,i),[o,s]=t.default.useState(!1);return{style:t.default.useMemo(()=>({...n,...o&&!e?a.to:a.from,transition:[n?.transition,a.transitionValue].filter(Boolean).join(`, `)}),[n,e,a,o]),pressHandlers:{onMouseDown:()=>!e&&s(!0),onMouseUp:()=>s(!1),onMouseLeave:()=>s(!1),onBlur:()=>s(!1)}}},Lt=(e,n,r=`fadeUp`)=>{let[i,a]=t.default.useState(!1);return t.default.useEffect(()=>{a(!1);let e=window.requestAnimationFrame(()=>a(!0));return()=>window.cancelAnimationFrame(e)},[n,r]),Ft(i,n,r,e)},Rt={add:`Plus`,"arrow-arc-left":`Undo2`,"arrow-arc-right":`Redo2`,"arrow-line-down":`FlipVertical`,"arrow-line-right":`FlipHorizontal`,"camera-rotate":`RotateCw`,"caret-down":`ChevronDown`,"caret-right":`ChevronRight`,close:`X`,dashboard:`LayoutDashboard`,edit:`Pencil`,file:`FileText`,"floppy-disk":`Save`,fullscreen:`Maximize`,"fullscreen-exit":`Minimize`,github:`GitBranch`,"house-door":`Home`,"link-break":`Unlink`,"magnifying-glass-minus":`ZoomOut`,"magnifying-glass-plus":`ZoomIn`,rectangle:`Square`,"text-t":`Type`,trash:`Trash2`,warning:`TriangleAlert`};function zt(e){return e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}var Bt=class{id=`lucide`;resolve(e){let t=Rt[e]??zt(e);return a[t]??null}},Vt={add:`Plus`,"arrow-arc-left":`ArrowArcLeft`,"arrow-arc-right":`ArrowArcRight`,"arrow-line-down":`ArrowLineDown`,"arrow-line-right":`ArrowLineRight`,"camera-rotate":`CameraRotate`,"caret-down":`CaretDown`,"caret-right":`CaretRight`,close:`X`,dashboard:`SquaresFour`,edit:`PencilSimple`,"external-link":`ArrowSquareOut`,file:`FileText`,"floppy-disk":`FloppyDisk`,fullscreen:`CornersOut`,"fullscreen-exit":`CornersIn`,github:`GithubLogo`,"house-door":`House`,"link-break":`LinkBreak`,"magnifying-glass-minus":`MagnifyingGlassMinus`,"magnifying-glass-plus":`MagnifyingGlassPlus`,menu:`List`,rectangle:`Rectangle`,search:`MagnifyingGlass`,settings:`Gear`,"text-t":`TextT`,trash:`Trash`,warning:`Warning`,layers:`Stack`};function Ht(e){return e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}var Ut=class{weight;id=`phosphor`;_cache=new Map;constructor(e=`regular`){this.weight=e}resolve(e){let n=this._cache.get(e);if(n)return n;let r=Vt[e]??Ht(e),i=o[r];if(!i)return null;let a=this.weight,s=e=>t.default.createElement(i,{weight:a,...e});return this._cache.set(e,s),s}},Wt=t.default.createContext(null),Gt=t.default.createContext(null),Kt={lucide:new Bt,phosphor:new Ut},qt=`lucide`;function Jt(e){return!!e&&typeof e==`object`&&typeof e.id==`string`&&typeof e.resolve==`function`}function Yt(e){if(!e)return{defaultId:qt,providers:{...Kt},aliases:{}};if(typeof e==`string`)return{defaultId:e,providers:{...Kt},aliases:{}};if(Jt(e))return{defaultId:e.id,providers:{...Kt,[e.id]:e},aliases:{}};if(`default`in e&&`providers`in e){let t=e;return{defaultId:t.default,providers:{...Kt,...t.providers},aliases:t.aliases??{}}}return{defaultId:e.provider.id,providers:{...Kt,[e.provider.id]:e.provider},aliases:e.aliases??{}}}function Xt(e,t){return Object.keys(t).length===0?e:{id:e.id,resolve(n){return e.resolve(t[n]??n)}}}function Zt({provider:e,config:n,children:r}){let i=t.default.useMemo(()=>Yt(n??e),[n,e]),[a,o]=t.default.useState(i.providers),[s,c]=t.default.useState(i.defaultId);t.default.useEffect(()=>{o(i.providers),c(i.defaultId)},[i]);let l=a[s]??a[qt],u=t.default.useMemo(()=>l?Xt(l,i.aliases):null,[l,i.aliases]),d=t.default.useMemo(()=>({providerId:l?.id??qt,providers:a,aliases:i.aliases,setProvider(e){if(a[e]){c(e);return}process.env.NODE_ENV!==`production`&&console.warn(`[IconProvider] Unknown provider "${e}", falling back to "${qt}".`),c(qt)},registerProvider(e,t){o(n=>({...n,[e]:t}))},resolve(e){return u?.resolve(e)??null}}),[l,a,i.aliases,u]);return t.default.createElement(Gt.Provider,{value:d},t.default.createElement(Wt.Provider,{value:u},r))}function Qt(){return t.default.useContext(Wt)}function $t(){let e=t.default.useContext(Gt);if(!e)throw Error(`useIconController must be used inside <App> or <IconProvider>.`);return e}var en=new Bt,Q=({name:e,size:n=16,className:r,style:i,provider:a,label:o,weight:s})=>{let c=Qt(),l=a??c??en;if(!l||typeof e!=`string`||!e.trim())return null;let u=l.resolve(e);return u?t.default.createElement(u,{size:n,className:r,style:i,weight:s,"aria-label":o,"aria-hidden":!o||void 0}):null},tn=`btn`,nn=`btn-primary`,rn=`btn-secondary`,an=`btn-danger`,on=`btn-success`,sn=`btn-warning`,cn=`btn-info`,ln=`btn-light`,un=`btn-dark`,dn=`btn-outline-primary`,fn=`btn-outline-secondary`,pn=`btn-outline-danger`,mn=`btn-outline-success`,hn=`btn-link`,gn=e=>{switch(e){case`primary`:return nn;case`secondary`:return rn;case`danger`:return an;case`success`:return on;case`warning`:return sn;case`info`:return cn;case`light`:return ln;case`dark`:return un;case`outline-primary`:return dn;case`outline-secondary`:return fn;case`outline-danger`:return pn;case`outline-success`:return mn;case`link`:return hn;default:return}},_n=({onClick:e,icon:n=void 0,label:r=void 0,badge:i=void 0,title:a=void 0,ariaLabel:o=void 0,disabled:s=!1,loading:c=!1,before:l=void 0,after:u=void 0,wrapperClassName:d=void 0,className:f=void 0,iconClassName:p=void 0,style:m=void 0,loadingLabel:h=void 0,variant:g=void 0,motion:_=void 0}={})=>{let[v,y]=(0,t.useState)(c),[b,x]=(0,t.useState)(s),[S,C]=(0,t.useState)(``),w=e=>{C(e.message??``)},T=Y(`button`),E=It(b||v,m,_??T.LoadingButton.motion?.press??`press`),D=h??(S||(typeof r==`string`?`${r}...`:r));(0,t.useEffect)(()=>{y(c),x(s)},[c,s]);let O=t.default.createElement(`button`,{type:`button`,title:a,"aria-label":o||n&&!r&&a||void 0,className:X(`btn`,g?gn(g):f||T.LoadingButton.className,g?f:void 0,v&&`whitespace-nowrap`),style:E.style,disabled:b||v,...E.pressHandlers,onClick:async t=>{t.stopPropagation(),x(!0),y(!0),await e?.(t,w),y(!1),x(!1)}},v&&t.default.createElement(t.default.Fragment,null,t.default.createElement(`span`,{className:X(D&&`mr-1`,`inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`)}),D&&t.default.createElement(`span`,null,D)),n&&!v&&t.default.createElement(Q,{name:n,className:X(r&&`mr-1`,p)}),!v&&r);return t.default.createElement(Z,{className:d},l,t.default.createElement(Et,{badge:v?void 0:i},O),u)},vn=({onClick:e,icon:n=void 0,label:r=void 0,badge:i=void 0,title:a=void 0,ariaLabel:o=void 0,disabled:s=!1,before:c=void 0,after:l=void 0,wrapperClassName:u=void 0,className:d=void 0,iconClassName:f=void 0,style:p=void 0,variant:m=void 0,motion:h=void 0}={})=>{let g=Y(`button`),_=It(s,p,h??g.ActionButton.motion?.press??`press`),v=t.default.createElement(`button`,{type:`button`,title:a,"aria-label":o||n&&!r&&a||void 0,className:X(`btn`,m?gn(m):d||g.ActionButton.className,m?d:void 0),style:_.style,disabled:s,..._.pressHandlers,onClick:t=>{t.preventDefault(),t.stopPropagation(),e?.(t)}},n&&t.default.createElement(Q,{name:n,className:X(r&&`mr-1`,f)}),r);return t.default.createElement(Z,{className:u},c,t.default.createElement(`span`,{title:s?a:void 0,style:s?{cursor:`not-allowed`}:void 0},t.default.createElement(Et,{badge:i},v)),l)},yn=({label:e=void 0,before:r=void 0,after:i=void 0,wrapperClassName:a=void 0,className:o=void 0})=>{let s=(0,n.useNavigate)(),c=Y(`button`),l=ut(`common`);return t.default.createElement(Z,{className:a},r,t.default.createElement(`a`,{href:`#`,className:X(`btn`,o||c.LinkButton.className),onClick:e=>{e.preventDefault(),s(-1)}},e??l.back),i)},bn=({label:e,href:n,before:r=void 0,after:i=void 0,wrapperClassName:a=void 0,className:o=void 0})=>(Y(`button`),t.default.createElement(Z,{className:a},r,t.default.createElement(`h1`,{className:X(`m-0 text-2xl font-bold`,o)},e+` `,t.default.createElement(`a`,{href:n,target:`_blank`,rel:`noopener noreferrer`},t.default.createElement(Q,{name:`external-link`}))),i)),xn=({title:e,href:n,imageSrc:r,width:i,before:a=void 0,after:o=void 0,wrapperClassName:s=void 0,className:c=void 0})=>t.default.createElement(Z,{className:s},a,t.default.createElement(`a`,{href:n,className:X(`mr-1`,c),target:`_blank`,title:e,rel:`noopener noreferrer`},t.default.createElement(`img`,{src:r,width:i||`100`,height:`30`,alt:e})),o),Sn=`globalVars`,Cn=(0,t.createContext)(void 0),wn=()=>JSON.parse(localStorage.getItem(Sn)||`{}`),Tn=({children:e})=>{let[n,r]=(0,t.useState)(()=>wn());(0,t.useEffect)(()=>{let e=e=>{e.storageArea===localStorage&&e.key===Sn&&r(wn())};return window.addEventListener(`storage`,e),()=>{window.removeEventListener(`storage`,e)}},[]);let i=e=>{localStorage.setItem(Sn,JSON.stringify(e)),r(e)};return t.default.createElement(Cn.Provider,{value:{globalVars:n,setGlobalVars:(e,t)=>{let r={...n,[t]:e};i(r)},removeGlobalVars:e=>{let t={...n};delete t[e],i(t)}}},e)},En=e=>{let n=(0,t.useContext)(Cn);if(!n)throw Error(`useGlobalVars must be used within a GlobalProvider`);let{globalVars:r,setGlobalVars:i,removeGlobalVars:a}=n;return[r[e]??null,t=>i(t,e),()=>a(e)]},Dn=(e=null)=>{let t=wn();return e?t[e]||{}:t},On=(e,t)=>{let n={...wn(),[t]:e};localStorage.setItem(Sn,JSON.stringify(n))},kn=e=>{let t={...wn()};delete t[e],localStorage.setItem(Sn,JSON.stringify(t))},An=(0,t.createContext)(null),jn=({registry:e,defaultKey:n,children:r})=>{let i=(0,t.useMemo)(()=>({registry:e,defaultKey:n}),[e,n]);return t.default.createElement(An.Provider,{value:i},r)},Mn=e=>{let n=(0,t.useContext)(An);if(!n)throw Error(`useAuthProvider must be used inside <App providers={...} />.`);let r=e??n.defaultKey,i=n.registry[r];if(!i)throw Error(`AuthProvider '${r}' is not registered. Available: ${Object.keys(n.registry).join(`, `)}`);return i},Nn={basename:e=>e.split(`/`).filter(Boolean).pop()||``,extname:e=>{let t=e.lastIndexOf(`.`);return t>0?e.slice(t):``},dirname:e=>{let t=e.split(`/`).filter(Boolean);return t.pop(),`/`+t.join(`/`)},filename:e=>{let t=e.split(`/`).pop()||``,n=t.includes(`.`)?t.slice(t.lastIndexOf(`.`)):``;return t.replace(n,``)},parentBasename:e=>{let t=e.split(`/`).filter(Boolean);return t.pop(),t.pop()||``},parentDirname:e=>{let t=e.split(`/`).filter(Boolean);return t.pop(),t.pop(),`/`+t.join(`/`)},parentFilename:e=>{let t=e.split(`/`).filter(Boolean);t.pop();let n=t.pop()||``,r=n.includes(`.`)?n.slice(n.lastIndexOf(`.`)):``;return n.replace(r,``)},append:(e,t)=>{let n=e.split(`/`).slice(0,-1).join(`/`),r=e.split(`/`).pop()||``,i=r.includes(`.`)?r.slice(r.lastIndexOf(`.`)):``,a=r.replace(i,``);return(n?n+`/`:``)+a+t+i},prepend:(e,t)=>{let n=e.split(`/`).slice(0,-1).join(`/`),r=e.split(`/`).pop()||``,i=r.includes(`.`)?r.slice(r.lastIndexOf(`.`)):``,a=r.replace(i,``);return(n?n+`/`:``)+t+a+i},changeFilename:(e,{prefix:t=``,suffix:n=``,ext:r=null}={})=>{let i=e.split(`/`).slice(0,-1).join(`/`),a=e.split(`/`).pop()||``,o=a.includes(`.`)?a.slice(a.lastIndexOf(`.`)):``,s=a.replace(o,``),c=r===null?o:r?r.startsWith(`.`)?r:`.`+r:``;return(i?i+`/`:``)+t+s+n+c},join:(...e)=>e.join(`/`).replace(/\/+/g,`/`),parse:e=>{let t=Nn.extname(e),n=Nn.basename(e),r=Nn.dirname(e);return{root:e.startsWith(`/`)?`/`:``,dir:r,base:n,ext:t,name:n.replace(t,``)}}},Pn=({src:e,width:n=void 0,height:r=void 0,title:i=void 0,alt:a=void 0,fit:o=`cover`,badge:s=void 0,feedback:c=void 0,before:l=void 0,after:u=void 0,wrapperClassName:d=void 0,className:f=void 0})=>{let p=Y(`image`),[m,h]=(0,t.useState)(Ye),g=p.ImageAvatar?.motion?.enter??!1,_=p.ImageAvatar?.motion?.hover??!1,v=_!==!1,y=Lt(void 0,g,!1),[b,x]=(0,t.useState)(!1),S=Ft(b,_,!1),C=e&&e.split(`?`)[0],w=`avatar::${C}`,T=`avatar-fetch-failed::${C}`,E=a||i||Nn.filename(e||`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='50' fill='%23eef2f7'/%3E%3Ccircle cx='50' cy='38' r='16' fill='%2364758b'/%3E%3Cpath d='M22 84c3.8-20 19-31 28-31s24.2 11 28 31c.5 2.8-1.7 5-4.5 5h-47c-2.8 0-5-2.2-4.5-5z' fill='%2364758b'/%3E%3C/svg%3E`);(0,t.useEffect)(()=>{if(!e||e.startsWith(`data:`)){h(e||`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='50' fill='%23eef2f7'/%3E%3Ccircle cx='50' cy='38' r='16' fill='%2364758b'/%3E%3Cpath d='M22 84c3.8-20 19-31 28-31s24.2 11 28 31c.5 2.8-1.7 5-4.5 5h-47c-2.8 0-5-2.2-4.5-5z' fill='%2364758b'/%3E%3C/svg%3E`);return}let t=localStorage.getItem(w);if(t){h(t);return}h(e);let n=Number(localStorage.getItem(T)||0);n&&Date.now()-n<864e5||fetch(e).then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);return e.blob()}).then(e=>{let t=new FileReader;t.onloadend=()=>{let e=t.result;localStorage.setItem(w,e),localStorage.removeItem(T),h(e)},t.readAsDataURL(e)}).catch(e=>{console.warn(`ImageAvatar:`,e.message),localStorage.setItem(T,String(Date.now()))})},[e,w,T]);let D=n??r??void 0,O={...n&&r?{width:n,height:r,objectFit:o}:D?{width:D,height:D,objectFit:o}:{objectFit:o},...v?S:{}};return t.default.createElement(Z,{className:X(`flex items-center gap-3`,d||p.ImageAvatar?.wrapperClassName)},l&&t.default.createElement(`div`,{className:`shrink-0 self-center`},l),t.default.createElement(`div`,{className:X(`relative shrink-0`,v&&`overflow-hidden`),style:y,onMouseEnter:v?()=>x(!0):void 0,onMouseLeave:v?()=>x(!1):void 0},t.default.createElement(`img`,{src:m,alt:E,width:n??D,height:r??D,className:X(f||p.ImageAvatar?.className),title:i,style:O,onError:()=>h(Ye)}),s&&t.default.createElement(`span`,{className:X(`badge badge-overlay absolute top-0 right-0 translate-x-1/4 -translate-y-1/4 z-10`,`badge-`+(s.variant||`success`),!s.content&&`!p-0 !min-w-0 w-3 h-3 rounded-full`,s.className)},s.content),c&&t.default.createElement(`div`,{className:`mt-1 text-xs text-center`},c)),u&&t.default.createElement(`div`,{className:`min-w-0 self-center`},u))},Fn=(e,t,n=``)=>t.filter(t=>{let n=e?.[t];return n==null||n===``}).map(e=>`${n}${e}`),In=(e,t)=>({configured:t.length===0,missingKeys:t,reason:t.length?`${e} is not configured. Missing: ${t.join(`, `)}.`:void 0}),Ln=(e,t=`Provider`)=>{if(!e)return{configured:!1,reason:`${t} is not registered.`};if(e.getConfigurationState)return e.getConfigurationState();if(e.isConfigured){let n=e.isConfigured();return{configured:n,reason:n?void 0:`${t} is not configured.`}}return{configured:!0}},Rn=`/__/authorize`,zn=`auths`;function Bn(){let e=new Uint32Array(28);return window.crypto.getRandomValues(e),Array.from(e,e=>`0${e.toString(16)}`.substr(-2)).join(``)}async function Vn(e){let t=new TextEncoder().encode(e),n=await window.crypto.subtle.digest(`SHA-256`,t);return btoa(String.fromCharCode(...new Uint8Array(n))).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}var Hn=(e,t,n)=>{let r=window.screen.width/2-n/2,i=`width=${n},height=${n},top=${window.screen.height/2-n/2},left=${r}`;return window.open(e,t,i)};function Un({authServer:e,clientID:t,scopes:n=void 0,refreshParamName:r=`access_type`}){let i=Bn();localStorage.setItem(`authChallenge`,JSON.stringify({authServer:e,clientID:t,codeVerifier:i})),Vn(i).then(i=>{Hn(`https://${e}/authorize?${new URLSearchParams({response_type:`code`,client_id:t,redirect_uri:`${window.location.origin}${Rn}`,scope:n?n.join(` `):``,code_challenge:i,code_challenge_method:`S256`,[r]:`offline`}).toString()}`,`auth`,600)})}var Wn=(e,t,n)=>{On({[t]:{...n,server:e,client_id:t,iat:Math.floor(Date.now()/1e3)}},zn)},Gn=()=>{let e=(0,n.useLocation)().search,r=ut(`common`);return(0,t.useEffect)(()=>{let t=new URLSearchParams(e).get(`code`),n=((e,t)=>{try{return JSON.parse(localStorage.getItem(e)||``)||t}catch{return t}})(`authChallenge`);if(!t||!n)return;let{authServer:r,clientID:i,codeVerifier:a}=n;be(`https://${r}/token`,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:{grant_type:`authorization_code`,client_id:i,code:t,redirect_uri:`${window.location.origin}${Rn}`,code_verifier:a}}).then(e=>{Wn(r,i,e),localStorage.removeItem(`authChallenge`),window.close()}).catch(e=>console.error(`Error:`,e))},[e]),t.default.createElement(`div`,null,r.loading)},Kn=(e,t,n)=>be(`https://${e}/token`,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:{grant_type:`refresh_token`,client_id:t,refresh_token:n}}).then(n=>(Wn(e,t,n),n.access_token)).catch(e=>(console.error(`Error:`,e),localStorage.removeItem(zn),null)),qn=(e,t=!0)=>{let[n]=En(zn),r=n?.[e]||{},i=Math.floor(Date.now()/1e3)>=(r?.iat??0)+(r?.expires_in??0);return!!(r&&r?.access_token&&(!i||t&&i&&r.refresh_token&&(Kn(r.server??``,r.client_id??``,r.refresh_token)||1)))},Jn=e=>Dn(zn)?.[e],Yn=e=>{let t=Dn(zn)||{};t[e]&&(delete t[e],On(t,zn))},Xn=e=>{let t=Jn(e),n=Math.floor(Date.now()/1e3)>(t?.iat??0)+(t?.expires_in??0);return!n&&t?.access_token?Promise.resolve(t.access_token):n&&t?.refresh_token?Kn(t.server??``,t.client_id??``,t.refresh_token):Promise.resolve(null)},Zn=e=>e===`signOut`||e===`disconnect`,Qn=({provider:e,intent:n=`signIn`,aspect:r=`button`,scopes:i=void 0,iconLogout:a=`log-out`,avatarClass:o=void 0,options:s={},label:c=void 0,icon:l=void 0,title:u=void 0,className:d=void 0,disabled:f=!1,...p})=>{let m=Mn(e),h=Y(`auth`),g=ut(`auth`),_=e||`AuthProvider`,v=t.default.useCallback(()=>Ln(m,_),[m,_]),y=t.default.useMemo(()=>v(),[v]),b=y.configured,[x,S]=t.default.useState(()=>b?m.getUser():null),[C,w]=t.default.useState(()=>b&&(m.isAuthenticated?.()??!!m.getUser())),[T,E]=t.default.useState(!1),D=t.default.useRef(null),O=y.reason||nt(g.notConfigured,{provider:_});t.default.useEffect(()=>v().configured?(S(m.getUser()),w(m.isAuthenticated?.()??!!m.getUser()),m.onAuthChange(e=>{S(e),w(m.isAuthenticated?.()??!!e)})):(S(null),w(!1),E(!1),()=>{}),[m,v]),t.default.useEffect(()=>{if(!T)return()=>{};let e=e=>{D.current?.contains(e.target)||E(!1)},t=e=>{e.key===`Escape`&&E(!1)};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[T]);let k=()=>{if(!v().configured){S(null),w(!1);return}let e=m.getUser();S(e),w(m.isAuthenticated?.()??!!e)},A=async()=>{if(v().configured){if(Zn(n)){await m.signOut(),k();return}if(!m.signIn)throw Error(g.notImplemented);await m.signIn({scopes:i,intent:n}),k()}},j={...p,...s,label:s.label??c??(C?g.connected:n===`signIn`?g.signIn:g.connect),icon:s.icon??l??(C?`link`:`link-break`),title:b?s.title??u:O,className:s.className??d,disabled:!b||(s.disabled??f),style:b?s.style??p.style:{...p.style||{},...s.style||{},opacity:.55,cursor:`not-allowed`}};if(r===`avatar`){let e=x?.displayName??x?.email??(C?g.authenticated:g.signIn);return t.default.createElement(`div`,{ref:D,className:d||h.SignIn.className,style:{position:`relative`,display:`inline-flex`},title:b?void 0:O},t.default.createElement(`button`,{type:`button`,className:`cursor-pointer border-0 bg-transparent p-0`,title:b?e:O,"aria-label":e,"aria-expanded":T,"aria-haspopup":`menu`,disabled:!b||f,"aria-disabled":!b||f,style:b?void 0:{opacity:.55,cursor:`not-allowed`},onClick:e=>{e.preventDefault(),e.stopPropagation(),b&&!f&&E(e=>!e)}},t.default.createElement(Pn,{src:x?.photoURL??`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='50' fill='%23eef2f7'/%3E%3Ccircle cx='50' cy='38' r='16' fill='%2364758b'/%3E%3Cpath d='M22 84c3.8-20 19-31 28-31s24.2 11 28 31c.5 2.8-1.7 5-4.5 5h-47c-2.8 0-5-2.2-4.5-5z' fill='%2364758b'/%3E%3C/svg%3E`,title:b?e:O,height:36,className:o||h.SignIn.avatarClass})),T&&t.default.createElement(`div`,{role:`menu`,className:`absolute right-0 top-full z-50 mt-2 min-w-40 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md`},!C&&t.default.createElement(`button`,{type:`button`,role:`menuitem`,className:`flex w-full cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-left text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground`,onClick:A},c??g.signIn.toUpperCase()),C&&t.default.createElement(`button`,{type:`button`,role:`menuitem`,className:`flex w-full cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-left text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground`,onClick:async()=>{await m.signOut(),k(),E(!1)}},a&&t.default.createElement(Q,{name:a,className:`mr-2`}),g.signOut.toUpperCase())))}return t.default.createElement(vn,{...j,onClick:A})},$n=(0,t.createContext)(null),er=({registry:e,defaultKey:n,children:r})=>{let i=(0,t.useMemo)(()=>({registry:e,defaultKey:n}),[e,n]);return t.default.createElement($n.Provider,{value:i},r)},tr=e=>{let n=(0,t.useContext)($n);if(!n)throw Error(`useDataProvider must be used inside <App>.`);let r=e??n.defaultKey,i=n.registry[r];if(!i)throw Error(`DataProvider '${r}' is not registered. Available: ${Object.keys(n.registry).join(`, `)}`);return i};function nr({children:e,show:n=!1,icon:r=void 0,title:i=void 0,description:a=void 0,minHeight:o=`200px`,before:s=void 0,after:c=void 0,wrapperClassName:l=void 0,className:u=void 0}){let d=Y(`loader`);return r||=d.Loader.icon,i||=d.Loader.title,a||=d.Loader.description,n?t.default.createElement(Z,{className:l||d.Loader.wrapperClassName},t.default.createElement(`div`,{className:`relative `+(u||d.Loader.className),style:{minHeight:o}},t.default.createElement(`div`,{className:`absolute top-0 bottom-0 left-0 right-0 z-10 bg-background/60 backdrop-blur-[2px]`},s,(r||i||a)&&t.default.createElement(`div`,{className:`flex flex-col items-center justify-center gap-2 p-4 text-center`},r&&t.default.createElement(Q,{name:r,size:32,className:`animate-spin text-primary`}),i&&t.default.createElement(`p`,{className:`text-sm font-semibold text-foreground`},i),a&&t.default.createElement(`p`,{className:`text-xs text-muted-foreground`},a)),c),e)):e}var rr=`rounded-lg border border-border bg-card text-card-foreground shadow-sm`,ir=`flex items-center gap-3 border-b border-border px-4 py-3`,ar=`p-4`,or=`border-t border-border px-4 py-3`,sr=({children:e,title:n=void 0,header:r=void 0,footer:i=void 0,loading:a=void 0,loaderMinHeight:o=void 0,wrapperClassName:s=void 0,className:c=void 0,headerClassName:l=void 0,bodyClassName:u=void 0,footerClassName:d=void 0,before:f=void 0,after:p=void 0})=>{let m=Y(`card`),h=s??m.Card.wrapperClassName??(f||p?`flex items-center gap-2`:void 0);return t.default.createElement(Z,{className:h},f,t.default.createElement(`div`,{className:X(rr,m.Card.className,c)},r||n?t.default.createElement(`div`,{className:X(ir,m.Card.headerClassName,l)},n?t.default.createElement(`h5`,{className:`m-0 whitespace-nowrap text-base leading-none font-semibold`},n):null,r):null,t.default.createElement(`div`,{className:X(ar,m.Card.bodyClassName,u)},t.default.createElement(nr,{show:a??m.Card.loading,...o===void 0?{}:{minHeight:o}},e)),i?t.default.createElement(`div`,{className:X(or,m.Card.footerClassName,d)},i):null),p)},cr=1.1,lr=[],ur=new Set,dr=()=>ur.forEach(e=>e()),fr=e=>{let t=lr.find(t=>t.dialog===e);if(!t)return;let n=lr.filter(e=>e.side===t.side);if(!(n.length<2))return n[0].natural*cr**(n.length-1-n.indexOf(t))},pr=[],mr=e=>t.default.createElement(hr,e),hr=({children:e,title:n=void 0,header:r=void 0,footer:i=void 0,onClose:a=void 0,onSave:o=void 0,onDelete:c=void 0,size:l=void 0,position:u=void 0,allowFullscreen:d=!1,showCancel:f=!0,before:p=void 0,after:m=void 0,wrapperClassName:h=void 0,className:g=void 0,headerClassName:_=void 0,titleClassName:v=void 0,subtitleClassName:y=void 0,bodyClassName:b=void 0,footerClassName:x=void 0,closeOnBackdrop:S=!0,closeOnEscape:C=!0,zIndex:w=void 0,stackedBehind:T=!1,rightInset:E=void 0,closeSlot:D=void 0,motion:O=void 0})=>{let k=Y(`modal`),A=ut(`modal`),[j,M]=t.default.useState(!1),N=t.default.useRef(!1),P=t.default.useRef(null),[,F]=t.default.useReducer(e=>e+1,0),I=t.default.useRef(void 0),L=t.default.useRef(()=>void 0),R=t.default.useRef(void 0),[z,B]=(0,t.useState)(l),ee={sm:`max-w-sm`,md:`max-w-md`,lg:`max-w-2xl`,xl:`max-w-4xl`,"2xl":`max-w-6xl`,fullscreen:`max-w-none w-screen h-dvh rounded-none`}[z||k.Modal.size||`lg`],V={sm:`w-72`,md:`w-96`,lg:`w-[36rem]`,xl:`w-[48rem]`,"2xl":`w-[64rem]`,fullscreen:`w-screen`}[z||k.Modal.size||`lg`],te={sm:`max-h-[30vh]`,md:`max-h-[45vh]`,lg:`max-h-[60vh]`,xl:`max-h-[85vh]`,"2xl":`max-h-[90vh]`,fullscreen:`h-dvh max-h-none`}[z||k.Modal.size||`lg`],ne={center:{coverClass:`fixed inset-0 z-50 flex items-center justify-center overflow-y-auto p-4`,dialogClass:X(`relative z-50 flex w-full flex-col overflow-hidden rounded-lg border border-border/60 bg-card shadow-xl`,z!==`fullscreen`&&`max-h-[calc(100dvh-2rem)]`,ee,h||k.Modal.wrapperClassName),contentClass:X(`flex min-h-0 flex-1 flex-col`,g||k.Modal.className),headerClassName:X(`flex items-center justify-between gap-3 border-b border-border/60 px-4 py-3`,_||k.Modal.headerClassName),titleClassName:X(`text-lg font-semibold leading-none`,v||k.Modal.titleClassName),subtitleClassName:X(`mt-1 text-sm text-muted-foreground`,y||k.Modal.subtitleClassName),bodyClassName:X(`min-h-0 flex-1 overflow-auto p-4`,b||k.Modal.bodyClassName),footerClassName:X(`flex items-center justify-end gap-3 border-t border-border/60 px-4 py-3`,x||k.Modal.footerClassName)},top:{coverClass:`fixed inset-0 z-50`,dialogClass:X(`fixed left-0 right-0 top-0 z-50 flex flex-col border-b border-border/60 bg-card shadow-xl`,te,h||k.Modal.wrapperClassName),contentClass:X(`flex min-h-0 flex-1 flex-col`,g||k.Modal.className),headerClassName:X(`flex items-center justify-between gap-3 border-b border-border/60 px-4 py-3`,_||k.Modal.headerClassName),titleClassName:X(`text-lg font-semibold leading-none`,v||k.Modal.titleClassName),subtitleClassName:X(`mt-1 text-sm text-muted-foreground`,y||k.Modal.subtitleClassName),bodyClassName:X(`min-h-0 flex-1 overflow-auto p-4`,b||k.Modal.bodyClassName),footerClassName:X(`flex items-center justify-end gap-3 border-t border-border/60 px-4 py-3`,x||k.Modal.footerClassName)},left:{coverClass:`fixed inset-0 z-50`,dialogClass:X(`fixed bottom-0 left-0 top-0 z-50 flex max-w-full flex-col border-r border-border/60 bg-card shadow-xl`,V,h||k.Modal.wrapperClassName),contentClass:X(`flex min-h-0 flex-1 flex-col`,g||k.Modal.className),headerClassName:X(`flex items-center justify-between gap-3 border-b border-border/60 px-4 py-3`,_||k.Modal.headerClassName),titleClassName:X(`text-lg font-semibold leading-none`,v||k.Modal.titleClassName),subtitleClassName:X(`mt-1 text-sm text-muted-foreground`,y||k.Modal.subtitleClassName),bodyClassName:X(`min-h-0 flex-1 overflow-auto p-4`,b||k.Modal.bodyClassName),footerClassName:X(`flex items-center justify-end gap-3 border-t border-border/60 px-4 py-3`,x||k.Modal.footerClassName)},right:{coverClass:`fixed inset-0 z-50`,dialogClass:X(`fixed bottom-0 right-0 top-0 z-50 flex max-w-full flex-col border-l border-border/60 bg-card shadow-xl`,V,h||k.Modal.wrapperClassName),contentClass:X(`flex min-h-0 flex-1 flex-col`,g||k.Modal.className),headerClassName:X(`flex items-center justify-between gap-3 border-b border-border/60 px-4 py-3`,_||k.Modal.headerClassName),titleClassName:X(`text-lg font-semibold leading-none`,v||k.Modal.titleClassName),subtitleClassName:X(`mt-1 text-sm text-muted-foreground`,y||k.Modal.subtitleClassName),bodyClassName:X(`min-h-0 flex-1 overflow-auto p-4`,b||k.Modal.bodyClassName),footerClassName:X(`flex items-center justify-end gap-3 border-t border-border/60 px-4 py-3`,x||k.Modal.footerClassName)},bottom:{coverClass:`fixed inset-0 z-50`,dialogClass:X(`fixed bottom-0 left-0 right-0 z-50 flex flex-col border-t border-border/60 bg-card shadow-xl`,te,h||k.Modal.wrapperClassName),contentClass:X(`flex min-h-0 flex-1 flex-col`,g||k.Modal.className),headerClassName:X(`flex items-center justify-between gap-3 border-b border-border/60 px-4 py-3`,_||k.Modal.headerClassName),titleClassName:X(`text-lg font-semibold leading-none`,v||k.Modal.titleClassName),subtitleClassName:X(`mt-1 text-sm text-muted-foreground`,y||k.Modal.subtitleClassName),bodyClassName:X(`min-h-0 flex-1 overflow-auto p-4`,b||k.Modal.bodyClassName),footerClassName:X(`flex items-center justify-end gap-3 border-t border-border/60 px-4 py-3`,x||k.Modal.footerClassName)}},re=z===`fullscreen`?`center`:u||k.Modal.position,H=ne[re],ie=z===`fullscreen`?X(H.coverClass,`!overflow-hidden !p-0`):H.coverClass;t.default.useEffect(()=>{let e=window.document.body.style.overflow;window.document.body.style.overflow=`hidden`;let t=window.requestAnimationFrame(()=>M(!0));return()=>{window.cancelAnimationFrame(t),R.current!==void 0&&window.clearTimeout(R.current),window.document.body.style.overflow=e||`auto`}},[]);let U=O??k.Modal.motion?.[re]??`fade`,W=Pt(U,U),G=t.default.useRef(()=>void 0),ae=C&&!!a;t.default.useEffect(()=>{if(T||!ae)return;let e=Symbol(`modal`);pr.push(e);let t=t=>{t.key===`Escape`&&pr[pr.length-1]===e&&(t.preventDefault(),G.current())};return window.document.addEventListener(`keydown`,t),()=>{window.document.removeEventListener(`keydown`,t);let n=pr.indexOf(e);n!==-1&&pr.splice(n,1)}},[T,ae]);let oe=()=>{if(N.current)return;N.current=!0,I.current=fr(P.current),L.current(),M(!1),window.document.body.style.overflow=`auto`;let e=W.transition.duration+W.transition.delay;R.current=window.setTimeout(()=>{a?.()},e)};G.current=oe;let K=Ft(j,U,U),se=E?{right:E}:{},ce={...Ft(j,k.Modal.motion?.backdrop??`fade`,k.Modal.motion?.backdrop??`fade`),...T?{opacity:0,pointerEvents:`none`}:{},cursor:S&&a?`pointer`:`default`,...w===void 0?{}:{zIndex:w-10},...se},q={cursor:S&&a?`pointer`:`default`,...w===void 0?{}:{zIndex:w},...T?{pointerEvents:`none`}:{},...se},le=re===`right`||re===`left`?re:void 0;t.default.useLayoutEffect(()=>{let e=P.current;if(!e||!le)return;let t={dialog:e,side:le,natural:e.offsetWidth};lr.push(t),ur.add(F);let n=!1,r=()=>{if(n)return;n=!0;let e=lr.indexOf(t);e!==-1&&lr.splice(e,1),dr()};return L.current=r,dr(),()=>{ur.delete(F),r()}},[le]);let ue=N.current?I.current:fr(P.current),de=ue===void 0?{}:{width:ue,maxWidth:`100%`,transition:[K.transition,W.transition.duration?`width ${W.transition.duration}ms ${W.transition.easing}`:``].filter(Boolean).join(`, `)},fe={opacity:+!!T,transition:W.transition.duration?`opacity ${W.transition.duration}ms ${W.transition.easing}`:void 0},pe=i!==!1&&(i||o||c||f&&a),me=(0,t.useId)(),he=n||typeof r==`string`&&r?me:void 0,ge=`inline-flex h-9 w-9 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`;return(0,s.createPortal)(t.default.createElement(t.default.Fragment,null,t.default.createElement(`div`,{className:ie,style:q,onClick:()=>{S&&a&&oe()}},t.default.createElement(`div`,{ref:P,role:`dialog`,"aria-modal":!T||void 0,"aria-labelledby":he,className:H.dialogClass,style:{...K,...de,...w===void 0?{}:{zIndex:w},...re===`right`?se:{}},onClick:e=>e.stopPropagation()},p,t.default.createElement(`div`,{className:H.contentClass},(r||n||d||a||D)&&t.default.createElement(`div`,{className:H.headerClassName},t.default.createElement(`div`,{className:`min-w-0`},n&&t.default.createElement(`h3`,{id:me,className:H.titleClassName},n),n&&r&&t.default.createElement(`div`,{className:H.subtitleClassName},r),!n&&r&&(typeof r==`string`?t.default.createElement(`h3`,{id:me,className:H.titleClassName},r):r)),(d||a||D)&&t.default.createElement(`div`,{className:`ml-auto flex shrink-0 items-center gap-1`},d&&t.default.createElement(`button`,{type:`button`,title:z===`fullscreen`?`Exit fullscreen`:`Enter fullscreen`,"aria-label":z===`fullscreen`?`Exit fullscreen`:`Enter fullscreen`,className:ge,onClick:e=>{e.preventDefault(),e.stopPropagation(),B(e=>e===`fullscreen`?l===`fullscreen`?`lg`:l:`fullscreen`)}},t.default.createElement(Q,{name:z===`fullscreen`?k.Modal.iconCollapse:k.Modal.iconExpand,size:18})),D??(a&&t.default.createElement(`button`,{type:`button`,title:A.close,"aria-label":A.close,className:ge,onClick:e=>{e.preventDefault(),e.stopPropagation(),oe()}},t.default.createElement(Q,{name:`x`,size:20}))))),t.default.createElement(`div`,{className:H.bodyClassName},e),pe&&t.default.createElement(`div`,{className:H.footerClassName},i,!i&&o&&t.default.createElement(_n,{variant:`primary`,label:A.save,onClick:async e=>{e.preventDefault(),await o(e)&&oe()}}),!i&&c&&t.default.createElement(_n,{variant:`danger`,label:A.delete,onClick:async e=>{e.preventDefault(),await c(e),oe()}}),!i&&f&&a&&t.default.createElement(vn,{variant:`link`,label:A.cancel,onClick:oe}))),m,t.default.createElement(`div`,{"data-rf-modal-veil":``,"aria-hidden":`true`,className:`pointer-events-none absolute inset-0 z-10 bg-black/40`,style:fe}))),t.default.createElement(`div`,{"data-rf-modal-backdrop":``,"aria-hidden":`true`,className:`fixed inset-0 z-40 bg-black/60 backdrop-blur-sm`,style:ce,onClick:()=>{S&&a&&oe()}})),document.body)},gr=({children:e,title:n=void 0,onYes:r=void 0,onNo:i=void 0,onClose:a=void 0})=>{let o=ut(`modal`);return t.default.createElement(hr,{title:n,onClose:a,allowFullscreen:!1,footer:t.default.createElement(t.default.Fragment,null,r&&t.default.createElement(_n,{variant:`primary`,label:o.yes,onClick:async e=>{e.preventDefault(),await r(e),a?.()}}),i&&t.default.createElement(_n,{variant:`secondary`,label:o.no,onClick:async e=>{e.preventDefault(),await i(e),a?.()}}))},e)},_r=({children:e,title:n=void 0,onClose:r=void 0})=>{let i=ut(`modal`);return t.default.createElement(hr,{title:n,onClose:r,allowFullscreen:!1,footer:t.default.createElement(t.default.Fragment,null,t.default.createElement(vn,{variant:`primary`,label:i.ok,onClick:r}))},e)},vr=({menuKey:e,as:r=`ul`,badges:i={},before:a=void 0,after:o=void 0,wrapperClassName:s=void 0,className:c=void 0,headerClassName:l=void 0,itemClassName:u=void 0,linkClassName:d=void 0,iconClassName:f=void 0,textClassName:p=void 0,badgeClassName:m=void 0,arrowClassName:h=void 0,submenuClassName:g=void 0})=>{let _=Th(e),v=Y(`menu`),y=({item:e,index:a})=>{let[o,s]=(0,t.useState)(e.active);(0,t.useEffect)(()=>{s(e.active)},[e]);let c=(e.children?.length??0)>0,_=(e.title??``).toLowerCase(),b=()=>t.default.createElement(`span`,{className:f??v.Menu.iconClassName},t.default.createElement(Q,{name:e.icon}));return e.path?t.default.createElement(`li`,{className:X(u??v.Menu.itemClassName)},t.default.createElement(n.Link,{to:e.path.split(`*`)[0],className:X(d??v.Menu.linkClassName,e.active&&`bg-primary/10 text-primary`),...c&&{},onClick:e=>{c&&!K(e,`a`)&&(e.preventDefault(),s(e=>!e))}},e.icon&&t.default.createElement(b,null),t.default.createElement(`span`,{className:p??v.Menu.textClassName},e.title),i[_]&&t.default.createElement(Dt,{variant:i[_].type,className:m??v.Menu.badgeClassName},i[_].children),c&&t.default.createElement(`span`,{className:X(h??v.Menu.arrowClassName,`ml-auto inline-flex shrink-0 items-center justify-center text-muted-foreground transition-transform duration-200`,o&&`rotate-90`)},t.default.createElement(Q,{name:`chevron-right`,size:14}))),c&&t.default.createElement(`div`,{className:X(`grid transition-[grid-template-rows,opacity] duration-200 ease-out`,o?`grid-rows-[1fr] opacity-100`:`grid-rows-[0fr] opacity-0`)},t.default.createElement(`div`,{className:`min-h-0 overflow-hidden`},(()=>{let n=r;return t.default.createElement(n,{className:g??v.Menu.submenuClassName},e.children.map((e,n)=>t.default.createElement(y,{key:n,item:e,index:n})))})()))):t.default.createElement(`li`,{key:a,className:l??v.Menu.headerClassName},e.icon&&t.default.createElement(b,null),e.title&&(/^-+$/.test(e.title)?t.default.createElement(`hr`,{className:`m-0`}):t.default.createElement(`span`,null,e.title)))},b=r;return t.default.createElement(Z,{className:s??v.Menu.wrapperClassName},a,t.default.createElement(b,{className:c??v.Menu.className},_.map((e,n)=>t.default.createElement(y,{key:n,item:e,index:n}))),o)},yr=t.default.createContext(null),br=({children:e,trigger:n,badge:r=void 0,header:i=void 0,footer:a=void 0,defaultOpen:o=!1,open:c=void 0,onOpenChange:l=void 0,closeOnSelect:u=!0,staticOpen:d=!1,position:f=void 0,placement:p=`bottom`,strategy:m=`fixed`,wrapperClassName:h=void 0,className:g=void 0,before:_=void 0,after:v=void 0,triggerClassName:y=void 0,menuClassName:b=void 0,badgeClassName:x=void 0,headerClassName:S=void 0,footerClassName:C=void 0,motion:w=void 0})=>{let T=Y(`dropdown`),[E,D]=t.default.useState(o),O=t.default.useRef(null),k=t.default.useRef(null),A=t.default.useRef(null),j=t.default.useId(),M=d?!0:c??E,[N,P]=t.default.useState(`bottom`),[F,I]=t.default.useState(void 0),[L,R]=t.default.useState(null),z=!d&&n!==void 0,B=Ft(M,w??T.Dropdown.motion?.open??`fadeDown`,T.Dropdown.motion?.open??`fadeDown`),ee=t.default.useCallback(e=>{d||(c===void 0&&D(e),l?.(e))},[d,c,l]);t.default.useEffect(()=>{if(!M||d)return;let e=e=>{let t=e.target;!O.current?.contains(t)&&!A.current?.contains(t)&&ee(!1)},t=e=>{e.key===`Escape`&&ee(!1)};return window.document.addEventListener(`pointerdown`,e),window.document.addEventListener(`keydown`,t),()=>{window.document.removeEventListener(`pointerdown`,e),window.document.removeEventListener(`keydown`,t)}},[d,M,ee]),t.default.useEffect(()=>{if(!M||d||!k.current)return;let e=k.current.getBoundingClientRect(),t=window.innerHeight-e.bottom-8,n=e.top-8,r;if(p===`auto`?(r=t<(A.current?A.current.scrollHeight:240)+8?`top`:`bottom`,P(r)):r=p===`top`?`top`:`bottom`,I(Math.max(160,r===`top`?n:t)),m===`absolute`)return;let i=f===`end`;R(r===`top`?{bottom:window.innerHeight-e.top+4,...i?{right:window.innerWidth-e.right}:{left:e.left}}:{top:e.bottom+4,...i?{right:window.innerWidth-e.right}:{left:e.left}})},[M,p,f,d,m]);function V(e){return typeof e==`object`&&!!e&&!t.default.isValidElement(e)&&(`icon`in e||`text`in e)}let te=z?t.default.createElement(Sr,{className:y,badge:r,badgeClassName:x,motion:w,title:V(n)?n.title:void 0,onToggle:()=>ee(!M),open:M,menuId:j,buttonRef:k},V(n)?t.default.createElement(t.default.Fragment,null,n.icon&&t.default.createElement(Q,{name:n.icon,className:n.text?`mr-2`:void 0}),n.text):n):null,ne=h??T.Dropdown.wrapperClassName??(_||v?`flex items-center gap-2`:void 0),re=N===`top`?`bottom-full mb-1`:`top-full mt-1`,H=f===`end`?`right-0`:`left-0`,ie=t.default.createElement(yr.Provider,{value:{closeOnSelect:u,close:()=>ee(!1)}},t.default.createElement(`div`,{ref:A,id:j,role:`menu`,"aria-hidden":!M,className:X(`min-w-56 overflow-y-auto rounded-xl border border-border/60 bg-popover/95 p-1 text-popover-foreground shadow-xl shadow-black/5 outline-none backdrop-blur supports-[backdrop-filter]:bg-popover/90 dark:shadow-black/20`,d?`relative`:m===`absolute`?`absolute z-[200] ${re} ${H}`:`fixed z-[200]`,b||T.Dropdown.menuClassName),style:d?void 0:{...B,opacity:+!!M,visibility:M?`visible`:`hidden`,pointerEvents:M?void 0:`none`,maxHeight:F,minWidth:k.current?k.current.offsetWidth:void 0,...m===`fixed`?L??{}:{}},onClick:e=>{e.stopPropagation()}},i&&t.default.createElement(`div`,{className:X(`px-2 py-1.5 text-sm font-semibold`,S||T.Dropdown.headerClassName)},i,t.default.createElement(Tr,null)),e,a&&t.default.createElement(`div`,{className:C||T.Dropdown.footerClassName},t.default.createElement(Tr,null),a))),U=!d&&m===`fixed`&&typeof document<`u`;return t.default.createElement(Z,{className:ne},_,t.default.createElement(`div`,{ref:O,className:X(d?`inline-block text-left`:`relative inline-block text-left`,g||T.Dropdown.className)},te,U?(0,s.createPortal)(ie,document.body):ie),v)};function xr({loadItems:e,getItemId:n,renderItem:r,onSelect:i,selectedId:a=void 0,searchPlaceholder:o=void 0,emptyState:s=void 0,loadingState:c=void 0,errorState:l=void 0,debounceMs:u=200,closeOnSelect:d=!0,inputClassName:f=void 0,selectedClassName:p=void 0,header:m=void 0,open:h=void 0,defaultOpen:g=!1,onOpenChange:_=void 0,footer:v=void 0,headerClassName:y=void 0,staticOpen:b=!1,...x}){let S=ut(`common`),[C,w]=t.default.useState(g),[T,E]=t.default.useState(``),[D,O]=t.default.useState([]),[k,A]=t.default.useState(!1),[j,M]=t.default.useState(null),N=t.default.useRef(0),P=b||(h??C),F=t.default.useCallback(e=>{h===void 0&&w(e),e||E(``),_?.(e)},[h,_]);t.default.useEffect(()=>{if(!P)return;let t=new AbortController,n=++N.current,r=window.setTimeout(()=>{A(!0),M(null),e(T,t.signal).then(e=>{!t.signal.aborted&&n===N.current&&O(e)}).catch(e=>{!t.signal.aborted&&n===N.current&&(M(e),O([]))}).finally(()=>{!t.signal.aborted&&n===N.current&&A(!1)})},T?u:0);return()=>{window.clearTimeout(r),t.abort()}},[P,T,u,e]);let I=t.default.useCallback(async e=>{let t=await i(e);d&&t!==!1&&F(!1)},[d,i,F]);return t.default.createElement(br,{...x,closeOnSelect:!1,staticOpen:b,open:P,onOpenChange:F,header:t.default.createElement(t.default.Fragment,null,t.default.createElement(`div`,{className:`relative`},t.default.createElement(Q,{name:`search`,size:14,className:`pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground/60`}),t.default.createElement(`input`,{autoFocus:!0,value:T,onChange:e=>E(e.target.value),placeholder:o??S.search,className:X(`w-full rounded-md border border-border/60 bg-background py-1.5 pl-8 pr-2 text-sm font-normal text-foreground outline-none placeholder:text-muted-foreground focus:border-primary/50`,f)})),m),headerClassName:X(`px-2 pt-2 pb-1.5`,y),footer:v},k?t.default.createElement(`div`,{className:`px-2 py-3 text-center text-sm text-muted-foreground`},c??S.loading):j?t.default.createElement(`div`,{className:`px-2 py-3 text-center text-sm text-destructive`},l?.(j)??(j instanceof Error?j.message:S.noDataFound)):D.length===0?t.default.createElement(`div`,{className:`px-2 py-3 text-center text-sm text-muted-foreground`},s??S.noDataFound):D.map(e=>{let i=n(e);return t.default.createElement(Cr,{key:i,onClick:()=>{I(e)},className:X(i===a&&`bg-accent text-accent-foreground`,p)},r(e))}))}var Sr=({children:e,badge:n=void 0,display:r=`dynamic`,className:i=void 0,badgeClassName:a=void 0,motion:o=void 0,title:s=void 0,onToggle:c=void 0,open:l=!1,menuId:u=void 0,buttonRef:d=void 0})=>{let f=Y(`dropdown`),p=It(!1,{cursor:`pointer`},o??f.Dropdown.motion?.press??`press`),m=t.default.createElement(`button`,{ref:d,type:`button`,title:s,className:X(`inline-flex items-center justify-center gap-2`,i||f.Dropdown.triggerClassName),style:p.style,"aria-haspopup":`menu`,"aria-expanded":l,"aria-controls":u,onClick:c,...p.pressHandlers,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),c?.())},"data-display":r},e);return t.default.createElement(Et,{badge:n,className:a||f.Dropdown.badgeClassName},m)},Cr=({children:e,url:r=void 0,onClick:i=void 0,icon:a=void 0,className:o=void 0})=>{let s=Y(`dropdown`),c=t.default.useContext(yr),l=e=>{i?.(e),!e.defaultPrevented&&c?.closeOnSelect&&c.close()},u=a?t.default.createElement(`span`,{className:`inline-flex min-w-0 items-center gap-2`},t.default.createElement(`span`,{className:`inline-flex h-4 w-4 shrink-0 items-center justify-center text-muted-foreground`},t.default.createElement(Q,{name:a,size:16})),t.default.createElement(`span`,{className:`min-w-0`},e)):e;return r?t.default.createElement(n.Link,{to:r,onClick:l,role:`menuitem`,className:X(`flex w-full cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground`,o||s.Dropdown.menuItemClass)},u):i?t.default.createElement(`button`,{onClick:l,role:`menuitem`,className:X(`flex w-full cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-left text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground`,o||s.Dropdown.menuItemClass)},u):t.default.createElement(`span`,{role:`menuitem`,className:X(`flex w-full select-none items-center rounded-sm px-2 py-1.5 text-sm`,o||s.Dropdown.menuItemClass)},u)},wr=({children:e,className:n})=>{let r=Y(`dropdown`);return t.default.createElement(`div`,{className:X(`px-2 py-1.5 text-xs font-medium uppercase tracking-wide text-muted-foreground`,n||r.Dropdown.menuHeaderClass)},e)},Tr=({className:e})=>{let n=Y(`dropdown`);return t.default.createElement(`div`,{className:X(`-mx-1 my-1 h-px bg-border/60`,e||n.Dropdown.menuDividerClass)})},Er=({menuKey:e,as:n=`ul`,badges:r={},before:i=void 0,after:a=void 0})=>{let o=Y(`dropdown`);return t.default.createElement(vr,{menuKey:e,as:n,badges:r,before:i,after:a,wrapperClassName:o.Dropdown.Menu.wrapperClassName,className:o.Dropdown.Menu.className,headerClassName:o.Dropdown.Menu.headerClassName,itemClassName:o.Dropdown.Menu.itemClassName,linkClassName:o.Dropdown.Menu.linkClassName,iconClassName:o.Dropdown.Menu.iconClassName,textClassName:o.Dropdown.Menu.textClassName,badgeClassName:o.Dropdown.Menu.badgeClassName,arrowClassName:o.Dropdown.Menu.arrowClassName,submenuClassName:o.Dropdown.Menu.submenuClassName})},Dr=({src:e,placeholder:n=void 0,label:r=void 0,title:i=void 0,fit:a=void 0,position:o=void 0,feedback:s=void 0,width:c=void 0,height:l=void 0,srcset:u=void 0,sizes:d=void 0,before:f=void 0,after:p=void 0,wrapperClassName:m=void 0,className:h=void 0})=>{let g=Y(`image`),_=g.Image.motion?.enter??!1,v=g.Image.motion?.hover??!1,y=v!==!1,b=Lt(void 0,_,!1),[x,S]=(0,t.useState)(!1),C=Ft(x,v,!1);return t.default.createElement(Z,{className:X(`flex items-center gap-4`,m||g.Image.wrapperClassName)},f&&t.default.createElement(`div`,{className:`shrink-0 self-center`},f),t.default.createElement(`div`,{className:X(`flex min-w-0 flex-col`,y&&`overflow-hidden`),style:b,onMouseEnter:y?()=>S(!0):void 0,onMouseLeave:y?()=>S(!1):void 0},t.default.createElement(`img`,{src:e||n||`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9InRyYW5zcGFyZW50Ii8+PGNpcmNsZSBjeD0iNjUiIGN5PSIzNSIgcj0iMTAiIGZpbGw9IiM5Y2EzYWYiLz48cGF0aCBkPSJNMTAsNzUgTDMyLDUwIEw1Miw3MCBMNjgsNTIgTDkwLDcyIEw5MCw4MCBIMTAgWiIgZmlsbD0iIzljYTNhZiIvPjwvc3ZnPg==`,alt:r||i||e,title:i,className:h||g.Image.className,style:{...c&&l?{maxWidth:c,aspectRatio:`${c} / ${l}`,width:`100%`}:c?{maxWidth:c,width:`100%`}:l?{height:l}:{},...a?{objectFit:a}:{},...o?{objectPosition:o}:{},...y?C:{}},width:c,height:l,srcSet:u,sizes:d}),s&&t.default.createElement(`div`,{className:`mt-2 text-sm text-muted-foreground`},s)),p&&t.default.createElement(`div`,{className:`shrink-0 self-center`},p))},Or=({url:e=void 0,label:r=void 0,logo:i=void 0,width:a=void 0,height:o=36,wrapperClassName:s=void 0,className:c=void 0,logoClassName:l=void 0,labelClassName:u=void 0})=>{let d=Y(`brand`),f=t.default.createElement(t.default.Fragment,null,t.default.createElement(Dr,{src:i||`data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZD0iTTUwIDE1IEw4NSA1MCBMNTAgODUgTDE1IDUwIFoiIGZpbGw9IiNjY2MiIG9wYWNpdHk9IjAuMiIvPjxwYXRoIGQ9Ik01MCAzMCBMNzAgNTAgTDUwIDcwIEwzMCA1MCBaIiBmaWxsPSIjY2NjIi8+PC9zdmc+`,width:a,height:o}),r&&t.default.createElement(`span`,{className:u||d.Brand.labelClassName},r));return t.default.createElement(Z,{className:s},t.default.createElement(`div`,{className:c||d.Brand.className},e?t.default.createElement(n.Link,{to:e,className:l||d.Brand.logoClassName},f):t.default.createElement(`span`,{className:l||d.Brand.logoClassName},f)))};function kr(e){let{items:t,rootItem:n,baseUrl:r,stringify:i=!1}=e,a={"@context":`https://schema.org`,"@type":`BreadcrumbList`,itemListElement:[...n?[n]:[],...t].map((e,t)=>({"@type":`ListItem`,position:t+1,name:e.label,...e.href?{item:`${r}${e.href}`}:{}}))};return i?JSON.stringify(a):a}function Ar(e,t){if(Array.isArray(e))return e;let n=M(e||t).split(`/`).filter(Boolean),r=``,i=n.map(e=>(r+=`/${e}`,{label:e,href:r}));return i.length===0?i:[...i.slice(0,-1),{label:i[i.length-1].label}]}function jr(e){if(e)return typeof e==`string`?{label:e}:e}var Mr=()=>t.default.createElement(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":!0},t.default.createElement(`polyline`,{points:`9 18 15 12 9 6`})),Nr=({value:e})=>t.default.createElement(`span`,{className:`text-muted-foreground/60 select-none flex items-center`,"aria-hidden":!0},e===`chevron`?t.default.createElement(Mr,null):e),Pr=({href:e,label:r})=>t.default.createElement(n.Link,{to:e,className:`text-muted-foreground hover:text-foreground transition-colors`},r),Fr=({label:e})=>t.default.createElement(`span`,{className:`text-foreground font-medium`,"aria-current":`page`},e),Ir=({trail:e=void 0,rootItem:r=void 0,separator:i=`/`,jsonLd:a=!1,baseUrl:o=void 0,className:s=void 0})=>{let c=Ar(e,(0,n.useLocation)().pathname),l=jr(r),u=[];if(l){let e=l.href?t.default.createElement(Pr,{href:l.href,label:l.label}):t.default.createElement(`span`,{className:`text-muted-foreground`},l.label);u.push({key:`__root`,node:e})}if(c.forEach((e,n)=>{let r=`${e.href??`__item`}-${n}`,i=e.node?e.node:e.href?t.default.createElement(Pr,{href:e.href,label:e.label}):t.default.createElement(Fr,{label:e.label});u.push({key:r,node:i})}),!u.length)return null;let d=a?kr({items:c,rootItem:l,baseUrl:o??(typeof window<`u`?window.location.origin:``),stringify:!0}):null;return t.default.createElement(t.default.Fragment,null,t.default.createElement(`nav`,{"aria-label":`Breadcrumb`,className:s},t.default.createElement(`ol`,{className:`flex flex-wrap items-center gap-1.5 text-sm`},u.map((e,n)=>t.default.createElement(t.default.Fragment,{key:e.key},n>0&&t.default.createElement(`li`,null,t.default.createElement(Nr,{value:i})),t.default.createElement(`li`,null,e.node))))),d&&t.default.createElement(`script`,{type:`application/ld+json`,dangerouslySetInnerHTML:{__html:d}}))},Lr=({children:e,showIndicators:n=!1,showControls:r=!1,showCaption:i=!1,dark:a=!1,autoPlay:o=void 0,initialSlide:s=0,renderCaption:c=void 0,onSlideClick:l=void 0})=>{let u=Y(`carousel`),d=ut(`common`),f=t.default.Children.toArray(e).filter(t.default.isValidElement),p=f.length;n||=u.Carousel.showIndicators,r||=u.Carousel.showControls,i||=u.Carousel.showCaption,a||=u.Carousel.dark;let m=u.Carousel.autoPlay;o||=typeof m==`object`?m:void 0;let h=p>0?Math.min(Math.max(s,0),p-1):0,[g,_]=t.default.useState(!1),[v,y]=t.default.useState(h);t.default.useEffect(()=>{y(h)},[h]);let b=t.default.useCallback(e=>{if(!(p<=0)){if(o?.wrap??!0){let t=(e+p)%p;y(t);return}y(Math.min(Math.max(e,0),p-1))}},[o?.wrap,p]),x=t.default.useCallback(()=>b(v-1),[v,b]),S=t.default.useCallback(()=>b(v+1),[v,b]);t.default.useEffect(()=>{if(!o||p<=1||o.pause===`hover`&&g)return;let e=window.setInterval(()=>{y(e=>{let t=e+1;return t<p?t:o.wrap?0:e})},o.interval||2e3);return()=>window.clearInterval(e)},[o,g,p]);let C=e=>{if(!i)return null;if(c)return c(e);let{alt:n,description:r}=e.props;return!n&&!r?null:t.default.createElement(`div`,{className:X(`absolute inset-x-4 bottom-4 hidden rounded-lg px-4 py-3 md:block`,a?`bg-white/80 text-slate-900`:`bg-black/60 text-white`)},n&&t.default.createElement(`h5`,{className:`text-sm font-semibold`},n),r&&t.default.createElement(`p`,{className:`mt-1 text-sm opacity-90`},r))};return p===0?null:t.default.createElement(`div`,{className:`relative overflow-hidden rounded-xl`,onMouseEnter:()=>_(!0),onMouseLeave:()=>_(!1)},t.default.createElement(`div`,{className:X(`relative min-h-0`,l&&`cursor-pointer`),onClick:l},f.map((e,o)=>{let s=o===v;return t.default.createElement(`div`,{key:o,"aria-hidden":!s,className:X(`relative transition-opacity duration-300 ease-out`,s?`opacity-100`:`pointer-events-none absolute inset-0 opacity-0`)},e,(n||r||i)&&g&&t.default.createElement(`div`,{className:X(`pointer-events-none absolute inset-0 opacity-20`,a?`bg-white`:`bg-black`)}),g&&C(e))})),n&&p>1&&t.default.createElement(`ol`,{className:`absolute inset-x-0 bottom-4 z-10 flex items-center justify-center gap-2 px-4`},f.map((e,n)=>t.default.createElement(`li`,{key:n},t.default.createElement(`button`,{type:`button`,"aria-label":`${d.pageNavigation} ${n+1}`,"aria-current":n===v?`true`:void 0,onClick:()=>b(n),className:X(`h-2.5 w-2.5 rounded-full border transition-all`,n===v?`scale-110 border-white bg-white`:`border-white/60 bg-white/30 hover:bg-white/60`)})))),r&&g&&p>1&&t.default.createElement(t.default.Fragment,null,t.default.createElement(`button`,{type:`button`,"aria-label":d.previous,onClick:e=>{e.stopPropagation(),x()},className:`absolute left-3 top-1/2 z-10 inline-flex h-10 w-10 -translate-y-1/2 items-center justify-center rounded-full bg-background/85 text-foreground shadow-md transition-colors hover:bg-background`},t.default.createElement(Q,{name:`chevron-left`,size:18})),t.default.createElement(`button`,{type:`button`,"aria-label":d.next,onClick:e=>{e.stopPropagation(),S()},className:`absolute right-3 top-1/2 z-10 inline-flex h-10 w-10 -translate-y-1/2 items-center justify-center rounded-full bg-background/85 text-foreground shadow-md transition-colors hover:bg-background`},t.default.createElement(Q,{name:`chevron-right`,size:18}))))};function Rr({items:e=[],badge:r,seeAllUrl:i,onMarkAllRead:a,motion:o,className:s}){let c=ut(`notifications`),l=e.length>0,u=Lt(void 0,o??`fadeDown`,o??`fadeDown`);return t.default.createElement(br,{trigger:t.default.createElement(Q,{name:`bell`,size:18}),triggerClassName:`flex items-center justify-center w-9 h-9 rounded-md text-muted-foreground hover:text-foreground hover:bg-accent transition-colors`,badge:r,position:`end`,placement:`auto`,menuClassName:`w-80`,motion:o,className:s},t.default.createElement(`div`,{className:`flex items-center justify-between px-3 py-2`},t.default.createElement(`span`,{className:`text-sm font-semibold text-foreground`},c.title||`Notifications`),l&&a&&t.default.createElement(`button`,{onClick:a,className:`text-xs text-primary hover:underline transition-colors`},`Mark all read`)),t.default.createElement(Tr,null),!l&&t.default.createElement(`div`,{className:`flex flex-col items-center justify-center py-8 px-4 text-center`},t.default.createElement(`div`,{className:`w-10 h-10 rounded-full bg-muted flex items-center justify-center mb-3`},t.default.createElement(Q,{name:`bell-off`,size:18,className:`text-muted-foreground`})),t.default.createElement(`p`,{className:`text-sm font-medium text-foreground mb-1`},`No notifications`),t.default.createElement(`p`,{className:`text-xs text-muted-foreground`},`You're all caught up`)),e.map((e,r)=>t.default.createElement(n.Link,{key:r,to:e.url,className:`flex items-start gap-3 px-3 py-2.5 rounded-sm hover:bg-accent transition-colors`,style:{...u,transitionDelay:`${r*30}ms`}},t.default.createElement(`div`,{className:`mt-0.5 shrink-0 w-8 h-8 rounded-full flex items-center justify-center ${e.read?`bg-muted`:`bg-primary/10`}`},t.default.createElement(Q,{name:e.icon,size:15,className:e.read?`text-muted-foreground`:`text-primary`})),t.default.createElement(`div`,{className:`flex-1 min-w-0`},t.default.createElement(`p`,{className:`text-sm leading-snug ${e.read?`text-muted-foreground`:`text-foreground font-medium`}`},e.title),t.default.createElement(`p`,{className:`text-xs text-muted-foreground mt-0.5`},e.time)),!e.read&&t.default.createElement(`span`,{className:`mt-2 shrink-0 w-1.5 h-1.5 rounded-full bg-primary`}))),l&&i&&t.default.createElement(t.default.Fragment,null,t.default.createElement(Tr,null),t.default.createElement(`div`,{className:`px-1 py-1`},t.default.createElement(n.Link,{to:i,className:`flex items-center justify-center w-full rounded-sm px-2 py-1.5 text-sm text-muted-foreground hover:text-foreground hover:bg-accent transition-colors`},c.seeAll||`See all notifications`,t.default.createElement(Q,{name:`arrow-right`,size:13,className:`ml-1.5 opacity-60`})))))}var zr=()=>t.default.createElement(`div`,{className:`inline-flex`},t.default.createElement(n.Link,{to:`/#`,"data-toggle-class":`app-header-menu-search-toggled`,"data-toggle-target":`.app`,className:`inline-flex items-center gap-2 rounded-md px-3 py-2 text-sm font-medium text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`},t.default.createElement(`div`,{className:`flex items-center justify-center`},t.default.createElement(Q,{name:`search`,className:`h-4 w-4`}))));function Br({onQueryChange:e=void 0}){let n=ut(`common`);return t.default.createElement(`div`,null,t.default.createElement(zr,null),t.default.createElement(`input`,{className:`hidden`,type:`text`,placeholder:n.search,onChange:e}))}function Vr(e){return e?`current`in e?e.current??window:e:window}function Hr(e){return e instanceof Window?e.scrollY:e.scrollTop}function Ur({leading:e=void 0,center:n=void 0,trailing:r=void 0,children:i=void 0,sticky:a=!0,elevateOnScroll:o=!0,scrollTarget:s=void 0,scrollThreshold:c=8,className:l=void 0,innerClassName:u=void 0,leadingClassName:d=void 0,centerClassName:f=void 0,trailingClassName:p=void 0}){let m=Y(`toolbar`),h=n??i,[g,_]=(0,t.useState)(!1);(0,t.useEffect)(()=>{if(!o||typeof window>`u`){_(!1);return}let e=Vr(s),t=()=>_(Hr(e)>c);return t(),e.addEventListener(`scroll`,t,{passive:!0}),()=>{e.removeEventListener(`scroll`,t)}},[o,s,c]);let v=(0,t.useMemo)(()=>X(`w-full border-b border-transparent transition-[background-color,border-color,box-shadow,backdrop-filter] duration-200`,m.Toolbar.wrapperClassName,a&&m.Toolbar.stickyClassName,o?g?m.Toolbar.scrolledClassName:m.Toolbar.restingClassName:m.Toolbar.scrolledClassName,l),[m,a,o,g,l]);return t.default.createElement(`header`,{className:v},t.default.createElement(`div`,{className:X(`flex min-h-14 items-center gap-3 px-4`,m.Toolbar.innerClassName,u)},e?t.default.createElement(`div`,{className:X(`flex min-w-0 items-center gap-2 shrink-0`,m.Toolbar.leadingClassName,d)},e):null,h?t.default.createElement(`div`,{className:X(`flex min-w-0 flex-1 items-center gap-3`,m.Toolbar.centerClassName,f)},h):t.default.createElement(`div`,{className:`flex-1`}),r?t.default.createElement(`div`,{className:X(`flex shrink-0 items-center gap-2`,m.Toolbar.trailingClassName,p)},r):null))}var Wr=[{label:`Blue`,value:`221.2 83.2% 53.3%`,hex:`#3b82f6`},{label:`Violet`,value:`262.1 83.3% 57.8%`,hex:`#8b5cf6`},{label:`Green`,value:`142.1 76.2% 36.3%`,hex:`#16a34a`},{label:`Rose`,value:`346.8 77.2% 49.8%`,hex:`#e11d48`},{label:`Orange`,value:`24.6 95% 53.1%`,hex:`#f97316`},{label:`Slate`,value:`215.4 16.3% 46.9%`,hex:`#64748b`}],Gr=[{label:`System`,fontSans:`-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif`,fontMono:`ui-monospace, 'SFMono-Regular', monospace`},{label:`Inter`,fontSans:`'Inter', sans-serif`,fontMono:`'JetBrains Mono', monospace`},{label:`Geist`,fontSans:`'Geist', sans-serif`,fontMono:`'Geist Mono', monospace`},{label:`Outfit`,fontSans:`'Outfit', sans-serif`,fontMono:`'JetBrains Mono', monospace`},{label:`Plus Jakarta Sans`,fontSans:`'Plus Jakarta Sans', sans-serif`,fontMono:`'Fira Code', monospace`},{label:`DM Sans`,fontSans:`'DM Sans', sans-serif`,fontMono:`'JetBrains Mono', monospace`},{label:`Nunito`,fontSans:`'Nunito', sans-serif`,fontMono:`'Fira Code', monospace`},{label:`Figtree`,fontSans:`'Figtree', sans-serif`,fontMono:`'Source Code Pro', monospace`},{label:`Poppins`,fontSans:`'Poppins', sans-serif`,fontMono:`'Fira Code', monospace`},{label:`Montserrat`,fontSans:`'Montserrat', sans-serif`,fontMono:`'Source Code Pro', monospace`}],Kr=[{label:`Success`,key:`success`,fgKey:`successForeground`,swatches:[{value:`142.1 76.2% 36.3%`,fgValue:`0 0% 100%`,hex:`#16a34a`},{value:`160 84% 39%`,fgValue:`0 0% 0%`,hex:`#10b981`},{value:`84 55% 46%`,fgValue:`0 0% 100%`,hex:`#65a30d`}]},{label:`Warning`,key:`warning`,fgKey:`warningForeground`,swatches:[{value:`32.1 94.6% 43.7%`,fgValue:`0 0% 100%`,hex:`#d97706`},{value:`24.6 95% 53.1%`,fgValue:`0 0% 100%`,hex:`#f97316`},{value:`45 96% 48%`,fgValue:`0 0% 0%`,hex:`#eab308`}]},{label:`Info`,key:`info`,fgKey:`infoForeground`,swatches:[{value:`198.6 88.7% 48.4%`,fgValue:`0 0% 100%`,hex:`#0ea5e9`},{value:`221.2 83.2% 53.3%`,fgValue:`0 0% 100%`,hex:`#3b82f6`},{value:`262.1 83.3% 57.8%`,fgValue:`0 0% 100%`,hex:`#8b5cf6`}]},{label:`Danger`,key:`destructive`,fgKey:`destructiveForeground`,swatches:[{value:`0 84.2% 60.2%`,fgValue:`0 0% 100%`,hex:`#ef4444`},{value:`346.8 77.2% 49.8%`,fgValue:`0 0% 100%`,hex:`#e11d48`},{value:`0 72% 51%`,fgValue:`0 0% 100%`,hex:`#dc2626`}]}],qr=[{label:`Lucide`,value:`lucide`,description:`Clean outline icon set`},{label:`Phosphor`,value:`phosphor`,description:`Flexible icon weights and styles`}],Jr=[{label:`Thin`,value:`thin`},{label:`Light`,value:`light`},{label:`Regular`,value:`regular`},{label:`Bold`,value:`bold`},{label:`Fill`,value:`fill`}];function Yr(e){return e.split(`-`).map(e=>e&&e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function Xr({open:e=!0,onClose:n=void 0,surface:r=`flat`,showHeader:i=void 0,title:a=`Customize theme`,subtitle:o=`Live theme tokens and mode controls with no reload.`,headerActions:s=void 0,themeOptions:c=void 0,showModeSection:l=!0,showPrimarySection:u=!0,showRadiusSection:d=!0,showFontSection:f=!0,showStatusSection:p=!0,showThemeSection:m=!0,showIconLibrarySection:h=!0,className:g=void 0,wrapperClassName:_=void 0}){let{resolvedMode:v,primary:y,radius:b,fontSans:x,theme:S,colors:C,themes:w,toggleMode:T,setPrimary:E,setRadius:D,setFont:O,applyTheme:k,setTokens:A}=Qe(),{providerId:j,setProvider:M,registerProvider:N}=$t(),P=j===`phosphor`?`phosphor`:`lucide`,F=(0,t.useMemo)(()=>Object.keys(w).map(e=>({value:e,label:c?.[e]?.label??Yr(e),description:c?.[e]?.description??`Theme available in the current registry.`})),[c,w]),I=i??r===`modal`,L=t.default.createElement(`div`,{className:`flex min-w-0 items-center justify-between gap-3`},t.default.createElement(`div`,{className:`min-w-0`},t.default.createElement(`h3`,{className:`truncate text-lg font-semibold leading-none`},a),o?t.default.createElement(`div`,{className:`mt-1 truncate text-sm text-muted-foreground`},o):null),s?t.default.createElement(`div`,{className:`flex shrink-0 items-center gap-2`},s):null),R=t.default.createElement(t.default.Fragment,null,l?t.default.createElement(`div`,null,t.default.createElement(`label`,{className:`mb-3 block text-xs font-semibold uppercase tracking-wider text-muted-foreground`},`Color mode`),t.default.createElement(`div`,{className:`flex gap-2`},[`light`,`dark`].map(e=>t.default.createElement(`button`,{key:e,type:`button`,onClick:()=>v!==e&&T(),className:`flex flex-1 cursor-pointer items-center justify-center gap-2 rounded-md border py-2 text-sm font-medium transition-colors ${v===e?`border-primary bg-primary/10 text-primary`:`border-border text-muted-foreground hover:bg-accent`}`},t.default.createElement(Q,{name:e===`light`?`sun`:`moon`,size:14}),e.charAt(0).toUpperCase()+e.slice(1))))):null,u?t.default.createElement(`div`,null,t.default.createElement(`label`,{className:`mb-3 block text-xs font-semibold uppercase tracking-wider text-muted-foreground`},`Primary color`),t.default.createElement(`div`,{className:`flex flex-wrap gap-2`},Wr.map(e=>t.default.createElement(`button`,{key:e.label,type:`button`,onClick:()=>E(e.value),title:e.label,className:`h-8 w-8 cursor-pointer rounded-full border-2 transition-transform hover:scale-110 ${y===e.value?`scale-110 border-foreground`:`border-transparent`}`,style:{backgroundColor:e.hex},"aria-label":e.label})))):null,d?t.default.createElement(`div`,null,t.default.createElement(`div`,{className:`mb-3 flex items-center justify-between`},t.default.createElement(`label`,{className:`text-xs font-semibold uppercase tracking-wider text-muted-foreground`},`Border radius`),t.default.createElement(`span`,{className:`text-xs font-mono text-muted-foreground`},b.toFixed(2),`rem`)),t.default.createElement(`input`,{type:`range`,min:0,max:1,step:.05,value:b,onChange:e=>D(parseFloat(e.target.value)),className:`w-full accent-primary`}),t.default.createElement(`div`,{className:`mt-1 flex justify-between text-xs text-muted-foreground`},t.default.createElement(`span`,null,`Sharp`),t.default.createElement(`span`,null,`Rounded`))):null,f?t.default.createElement(`div`,null,t.default.createElement(`label`,{className:`mb-3 block text-xs font-semibold uppercase tracking-wider text-muted-foreground`},`Font`),t.default.createElement(`div`,{className:`relative`},t.default.createElement(`select`,{value:(Gr.find(e=>e.fontSans===x)??Gr[0]).fontSans,onChange:e=>{let t=Gr.find(t=>t.fontSans===e.target.value);t&&O(t.fontSans,t.fontMono)},className:`w-full appearance-none rounded-md border border-border bg-background px-3 py-2 pr-8 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring`},Gr.map(e=>t.default.createElement(`option`,{key:e.label,value:e.fontSans},e.label))),t.default.createElement(Q,{name:`chevron-down`,size:14,className:`pointer-events-none absolute right-2.5 top-1/2 -translate-y-1/2 text-muted-foreground`}))):null,p?t.default.createElement(`div`,null,t.default.createElement(`label`,{className:`mb-3 block text-xs font-semibold uppercase tracking-wider text-muted-foreground`},`Status colors`),t.default.createElement(`div`,{className:`space-y-2`},Kr.map(({label:e,key:n,fgKey:r,swatches:i})=>t.default.createElement(`div`,{key:n,className:`flex items-center gap-2`},t.default.createElement(`span`,{className:`w-14 shrink-0 text-xs text-muted-foreground`},e),t.default.createElement(`div`,{className:`flex gap-1.5`},i.map(i=>t.default.createElement(`button`,{key:i.hex,type:`button`,onClick:()=>A({[n]:i.value,[r]:i.fgValue}),title:`${e} - ${i.hex}`,className:`h-6 w-6 cursor-pointer rounded-full border-2 transition-transform hover:scale-110 ${C?.[n]===i.value?`scale-110 border-foreground`:`border-transparent`}`,style:{backgroundColor:i.hex},"aria-label":`${e} ${i.hex}`}))))))):null,m?t.default.createElement(`div`,null,t.default.createElement(`label`,{className:`mb-3 block text-xs font-semibold uppercase tracking-wider text-muted-foreground`},`Theme`),t.default.createElement(`div`,{className:`space-y-2`},F.map(e=>t.default.createElement(`button`,{key:e.value,type:`button`,onClick:()=>k(e.value),className:`w-full cursor-pointer rounded-md border px-3 py-2.5 text-left text-sm transition-colors ${S===e.value?`border-primary bg-primary/10`:`border-border hover:bg-accent`}`},t.default.createElement(`span`,{className:`font-medium ${S===e.value?`text-primary`:`text-foreground`}`},e.label),t.default.createElement(`span`,{className:`mt-0.5 block text-xs text-muted-foreground`},e.description))))):null,h?t.default.createElement(`div`,null,t.default.createElement(`label`,{className:`mb-3 block text-xs font-semibold uppercase tracking-wider text-muted-foreground`},`Icon library`),t.default.createElement(`div`,{className:`space-y-2`},qr.map(e=>t.default.createElement(`button`,{key:e.value,type:`button`,onClick:()=>M(e.value),className:`w-full cursor-pointer rounded-md border px-3 py-2.5 text-left text-sm transition-colors ${P===e.value?`border-primary bg-primary/10`:`border-border hover:bg-accent`}`},t.default.createElement(`span`,{className:`flex items-center gap-2 font-medium ${P===e.value?`text-primary`:`text-foreground`}`},t.default.createElement(Q,{name:`palette`,size:12}),e.label),t.default.createElement(`span`,{className:`mt-0.5 block text-xs text-muted-foreground`},e.description)))),P===`phosphor`?t.default.createElement(`div`,{className:`mt-3`},t.default.createElement(`p`,{className:`mb-2 text-xs text-muted-foreground`},`Weight`),t.default.createElement(`div`,{className:`flex flex-wrap gap-1`},Jr.map(e=>t.default.createElement(`button`,{key:e.value,type:`button`,onClick:()=>{N(`phosphor`,new Ut(e.value)),M(`phosphor`)},className:`cursor-pointer rounded border border-border px-2 py-1 text-xs transition-colors hover:bg-accent`},e.label)))):null,t.default.createElement(`div`,{className:`mt-3 flex items-center gap-3 px-1`},[`sun`,`moon`,`bell`,`settings`,`search`,`trash`].map(e=>t.default.createElement(Q,{key:e,name:e,size:16,className:`text-muted-foreground`})))):null),z=t.default.createElement(`div`,{className:X(`space-y-6`,r===`flat`&&`rounded-xl border border-border/60 bg-card p-5`,g)},r===`flat`&&I?t.default.createElement(`div`,{className:`border-b border-border/60 pb-4`},L):null,R);return r===`modal`?e?t.default.createElement(mr,{position:`right`,header:I?L:void 0,onClose:n,allowFullscreen:!1,headerClassName:`h-14 !py-0 px-4`,className:g,wrapperClassName:_},t.default.createElement(`div`,{className:`space-y-6`},R)):null:t.default.createElement(`div`,{className:_},z)}var Zr=(0,t.createContext)(null),Qr=({registries:e,setProvider:n,children:r})=>t.default.createElement(Zr.Provider,{value:{registries:e,setProvider:n}},r),$r=()=>{let e=(0,t.useContext)(Zr);if(!e)throw Error(`useSetProvider/useProvider must be used inside <App>.`);return e},ei=()=>$r().setProvider,ti=(e,t)=>{let{registries:n}=$r(),r=n[e],i=t??r?.defaultKey,a=i?r?.registry[i]:void 0;if(!a)throw Error(`Provider '${i??e}' is not registered in category '${e}'. Available: ${Object.keys(r?.registry??{}).join(`, `)}`);return a},ni=void 0,ri=(0,t.createContext)(null),ii=(0,t.createContext)(()=>{}),ai=new Set,oi=e=>{ai.add(e),ni&&e(ni,null)},si=({children:e,defaultConfig:n})=>{let[r,i]=(0,t.useState)(ci(n)),a=(0,t.useRef)(null);return(0,t.useEffect)(()=>{let e=a.current;if(e!==r){ni=r;for(let t of ai)t(r,e)}a.current=r},[r]),t.default.createElement(ri.Provider,{value:r},t.default.createElement(ii.Provider,{value:i},t.default.createElement(Tn,null,e)))},ci=e=>{ni=e;for(let e of ai)e(ni,null);return ni},li=ni?.google;typeof oi==`function`&&oi(e=>{li=e.google});var ui=e=>li?.[e],di=`scrape`,fi=`[DEFAULT]`,pi=new Map,mi=(e,t=fi)=>{pi.set(t,e)},hi=(e=fi)=>In(`FirebaseProvider`,Fn(pi.get(e),[`apiKey`,`authDomain`,`databaseURL`,`projectId`,`storageBucket`,`messagingSenderId`,`appId`],`firebase.`)),gi=(e=fi)=>In(`FirestoreProvider`,Fn(pi.get(e),[`apiKey`,`authDomain`,`projectId`,`appId`],`firebase.`)),_i=(e=fi)=>{try{return e===fi?(0,l.getAuth)():(0,l.getAuth)((0,c.getApp)(e))}catch(e){return console.error(`FirebaseAuthorization`,e instanceof Error?e.message:`Error: check Configuration`),null}},vi=async e=>{let t=_i();if(!t)return!1;try{return await(0,l.setPersistence)(t,l.inMemoryPersistence),await(0,l.signInWithCustomToken)(t,e),!0}catch(e){let n=t.app.options?.apiKey;return console.error(`Firebase custom token sign-in error: `,e,`— app "${t.app.name}" options.apiKey: ${n?`${n.slice(0,6)}… (len ${n.length})`:String(n)}`),!1}},yi=async(e,t=fi)=>{mi(e,t);let n=(0,c.getApps)().find(e=>e.name===t);if(n){if(n.options?.appId===e.appId)return`${t}`,n;await(0,c.deleteApp)(n)}return t===fi?(0,c.initializeApp)(e):(0,c.initializeApp)(e,t)};async function bi(e,t,n=fi,r){let{getFunctions:i,httpsCallable:a}=await import(`firebase/functions`),{data:o}=await a(i(n===fi?(0,c.getApp)():(0,c.getApp)(n),r),e)(t);return o}var xi=`_key`,Si=e=>e.replace(/^\/+|\/+$/g,``),Ci=e=>Si(e).split(`/`).filter(Boolean),wi=e=>Ci(e).length%2==0,Ti=(e,t,n)=>{let r=`Error during ${e}: ${String(t)}`;if(n)throw Error(r);console.error(r)},Ei={eq:`==`,lt:`<`,lte:`<=`,gt:`>`,gte:`>=`,in:`in`,nin:`not-in`},Di=(e,t)=>{let n=[];if(e)for(let[t,r]of Object.entries(e)){let e=typeof r==`object`&&r&&!Array.isArray(r)?r:Array.isArray(r)?{in:r}:{eq:r};for(let[r,i]of Object.entries(e)){let e=Ei[r];e&&n.push((0,u.where)(t,e,i))}}if(t)for(let[e,r]of Object.entries(t))n.push((0,u.orderBy)(e,r));return n},Oi=`@key`,ki=(e,t)=>{if(!t)return e.docs.map((e,t)=>({[xi]:e.id,_index:t,...e.data()}));let n=Object.keys(t);return e.docs.map((e,r)=>{let i={[Oi]:e.id,...e.data()},a={};for(let r of n){let n=t[r];a[r]=n.includes(`{`)?T.parse(i,n):n===Oi?e.id:i[n]}return{[xi]:e.id,_index:r,...a}})},Ai=e=>Object.fromEntries(e.map(e=>[e[xi],e])),ji=class e{static listenerRegistered=!1;databaseId;constructor(t={}){this.databaseId=t.databaseId,!e.listenerRegistered&&typeof oi==`function`&&(e.listenerRegistered=!0,oi(e=>{e.firebase&&yi(e.firebase)}))}getDb=()=>this.databaseId?(0,u.getFirestore)((0,c.getApp)(),this.databaseId):(0,u.getFirestore)();dispose=async()=>{try{await(0,u.terminate)(this.getDb())}catch{}};getConfigurationState(){return gi()}isConfigured(){return this.getConfigurationState().configured}read=async(e,{where:t,order:n,toArray:r=!1,exception:i=!1}={})=>{let a=Si(e);try{let o=this.getDb();if(wi(e)){let t=await(0,u.getDoc)((0,u.doc)(o,a));if(!t.exists()){if(i)throw Error(`Document not found: ${e}`);return}return`${e}`,{[xi]:t.id,...t.data()}}let s=Di(t,n),c=s.length?(0,u.query)((0,u.collection)(o,a),...s):(0,u.collection)(o,a),l=await(0,u.getDocs)(c);`${l.size}${e}`;let d=ki(l);return r?d:Ai(d)}catch(t){Ti(`reading data in Firestore for ${e}`,t,i)}};set=async(e,t,n=!1)=>{let r=Si(e);try{let n=this.getDb();wi(e)?await(0,u.setDoc)((0,u.doc)(n,r),t):await(0,u.addDoc)((0,u.collection)(n,r),t),`${e}`}catch(t){Ti(`setting data in Firestore for ${e}`,t,n)}};update=async(e,t,n=!1)=>{let r=Si(e);try{let n=this.getDb();wi(e)?await(0,u.updateDoc)((0,u.doc)(n,r),t):await(0,u.addDoc)((0,u.collection)(n,r),t),`${e}`}catch(t){Ti(`updating data in Firestore for ${e}`,t,n)}};remove=async(e,t=!1)=>{let n=Si(e);try{let t=this.getDb();if(wi(e))await(0,u.deleteDoc)((0,u.doc)(t,n));else throw Error(`Deleting an entire collection is not supported. Remove individual documents.`);`${e}`}catch(n){Ti(`removing data in Firestore for ${e}`,n,t)}};count=async e=>{if(wi(e))return 1;let t=this.getDb();try{return(await(0,u.getCountFromServer)((0,u.collection)(t,Si(e)))).data().count}catch{return(await(0,u.getDocs)((0,u.collection)(t,Si(e)))).size}};subscribe=(e,t,{where:n,order:r,fieldMap:i,onLoad:a}={})=>{let o=_i();if(!o||!e)return()=>void 0;let s=()=>{let o=this.getDb(),s=Si(e);if(wi(e))return(0,u.onSnapshot)((0,u.doc)(o,s),e=>{if(!e.exists()){t([]);return}t([{[xi]:e.id,_index:0,...e.data()}])},e=>console.error(`Firestore onSnapshot error:`,e));let c=Di(n,r),l=c.length?(0,u.query)((0,u.collection)(o,s),...c):(0,u.collection)(o,s);return(0,u.onSnapshot)(l,e=>{if(e.metadata?.fromCache&&e.size===0)return;let n=ki(e,i);if(a){let e=a(Ai(n));t(Object.entries(e).map(([e,t],n)=>({[xi]:e,_index:n,...typeof t==`object`&&t?t:{}})))}else t(n)},e=>console.error(`Firestore onSnapshot error:`,e))},c,d=(0,l.onIdTokenChanged)(o,e=>{c?.(),c=void 0,e?c=s():t([])});return()=>{c?.(),d()}};readShallow=async(e,t=!1)=>{let n=Si(e);try{let t=this.getDb();if(wi(e)){let e=await(0,u.getDoc)((0,u.doc)(t,n));return e.exists()?Object.keys(e.data()??{}):[]}return(await(0,u.getDocs)((0,u.collection)(t,n))).docs.map(e=>e.id)}catch(n){return Ti(`reading shallow data in Firestore for ${e}`,n,t??!1),[]}};setChunks=async(e,t,{chunkSize:n=500,purge:r=!1,onProgress:i}={})=>{let a=Si(e),o=Math.min(n,500);try{let n=this.getDb();if(r){i?.(0,0,`Purging existing data at ${e}`);let t=(await(0,u.getDocs)((0,u.collection)(n,a))).docs.map(e=>e.id);for(let e=0;e<t.length;e+=o){let r=(0,u.writeBatch)(n);t.slice(e,e+o).forEach(e=>r.delete((0,u.doc)(n,a,e))),await r.commit()}}let s=Object.entries(t),c=Math.ceil(s.length/o);for(let e=0;e<s.length;e+=o){let t=(0,u.writeBatch)(n);s.slice(e,e+o).forEach(([e,r])=>{t.set((0,u.doc)(n,a,e),r)}),await t.commit();let r=Math.floor(e/o)+1;i?.(r,c,`Saving batch ${r}/${c}`)}`${e}${s.length}`}catch(t){Ti(`setting data in chunks in Firestore for ${e}`,t,!1)}}},Mi=new Map;function Ni(e,t){return Mi.has(e)||Mi.set(e,(0,d.createClient)(e,t)),Mi.get(e)}function Pi(e,t,n){return(0,d.createClient)(e,t,{auth:{persistSession:!1,autoRefreshToken:!1,detectSessionInUrl:!1},global:n?{headers:{Authorization:`Bearer ${n}`}}:void 0})}async function Fi(e){await e.removeAllChannels()}function Ii(e){return In(`Supabase`,Fn(e,[`url`,`anonKey`],`supabase.`))}var Li=e=>e.replace(/^\/+|\/+$/g,``);function Ri(e){let t=Li(e).split(`/`).filter(Boolean);return{table:t[0]??``,id:t.length>=2?t.slice(1).join(`/`):null}}function zi(e,t,n){let r=`SupabaseDataProvider.${e}: ${t instanceof Error?t.message:String(t)}`;if(n)throw Error(r);console.error(r)}function Bi(e,t){for(let[n,r]of Object.entries(t))if(r==null)e=e.is(n,null);else if(typeof r!=`object`||Array.isArray(r))e=e.eq(n,r);else{let t=r;t.eq!==void 0&&(e=e.eq(n,t.eq)),t.lt!==void 0&&(e=e.lt(n,t.lt)),t.lte!==void 0&&(e=e.lte(n,t.lte)),t.gt!==void 0&&(e=e.gt(n,t.gt)),t.gte!==void 0&&(e=e.gte(n,t.gte)),t.in&&(e=e.in(n,t.in)),t.nin&&(e=e.not(n,`in`,t.nin))}return e}function Vi(e,t){for(let[n,r]of Object.entries(t))e=e.order(n,{ascending:r===`asc`});return e}function Hi(e,t,n){let{_key:r,_index:i,...a}=e;return t&&(a[n]=t),a}function Ui(e,t,n=0){return{...e,[xi]:String(e[t]??n),_index:n}}var Wi=class{config;get pk(){return this.config.primaryKey??`id`}scopedClient;get client(){return this.config.accessToken?(this.scopedClient||=Pi(this.config.url,this.config.anonKey,this.config.accessToken),this.scopedClient):Ni(this.config.url,this.config.anonKey)}constructor(e){this.config=e}dispose=async()=>{this.scopedClient&&await Fi(this.scopedClient)};getConfigurationState(){return Ii(this.config)}isConfigured(){return this.getConfigurationState().configured}read=async(e,t={})=>{let{table:n,id:r}=Ri(e);if(n)try{if(r){let{data:e,error:t}=await this.client.from(n).select(`*`).eq(this.pk,r).maybeSingle();if(t)throw t;return e?Ui(e,this.pk):void 0}let e=this.client.from(n).select(`*`);t.where&&(e=Bi(e,t.where)),t.order&&(e=Vi(e,t.order));let{data:i,error:a}=await e;if(a)throw a;if(!i||i.length===0)return t.toArray?[]:{};let o=i.map((e,t)=>Ui(e,this.pk,t));return t.toArray?o:Object.fromEntries(o.map(e=>[String(e[this.pk]??e._key),e]))}catch(e){return zi(`read`,e,t.exception??!1),t.toArray?[]:void 0}};set=async(e,t,n=!1)=>{let{table:r,id:i}=Ri(e);if(!r){zi(`set`,`path must include a table name`,n);return}try{let e=Hi(t,i,this.pk),{error:n}=await this.client.from(r).upsert(e,{onConflict:this.pk});if(n)throw n}catch(e){zi(`set`,e,n)}};update=async(e,t,n=!1)=>{let{table:r,id:i}=Ri(e);if(!r){zi(`update`,`path must include a table name`,n);return}try{let{_key:e,_index:n,...a}=t;if(i){let{data:e}=await this.client.from(r).select(`*`).eq(this.pk,i).maybeSingle(),t={...e??{},...a,[this.pk]:i},{error:n}=await this.client.from(r).upsert(t,{onConflict:this.pk});if(n)throw n}else{let{error:e}=await this.client.from(r).insert(a);if(e)throw e}}catch(e){zi(`update`,e,n)}};remove=async(e,t=!1)=>{let{table:n,id:r}=Ri(e);if(!n||!r){zi(`remove`,`path must include both table and id`,t);return}try{let{error:e}=await this.client.from(n).delete().eq(this.pk,r);if(e)throw e}catch(e){zi(`remove`,e,t)}};subscribe=(e,t,n={})=>{if(!e)return()=>void 0;let{table:r}=Ri(e);if(!r)return()=>void 0;let i=null,a=!0,o=async()=>{if(a)try{let e=this.client.from(r).select(`*`);n.where&&(e=Bi(e,n.where)),n.order&&(e=Vi(e,n.order));let{data:i}=await e;if(!a)return;t((i??[]).map((e,t)=>Ui(e,this.pk,t)))}catch{t([])}};o();try{i=this.client.channel(`llmnative:${r}`).on(`postgres_changes`,{event:`*`,schema:`public`,table:r},()=>void o()).subscribe()}catch{}return()=>{a=!1,i&&=(this.client.removeChannel(i).catch(()=>{}),null)}};count=async e=>{let{table:t}=Ri(e);if(!t)return 0;try{let{count:e,error:n}=await this.client.from(t).select(`*`,{count:`exact`,head:!0});if(n)throw n;return e??0}catch(e){return console.error(`SupabaseDataProvider.count:`,e),0}};setChunks=async(e,t,n={})=>{let{table:r}=Ri(e);if(!r)return;let{chunkSize:i=500,purge:a=!1,onProgress:o}=n,s=Object.entries(t);try{a&&await this.client.from(r).delete().neq(this.pk,`__purge_all__`);for(let e=0;e<s.length;e+=i){let t=s.slice(e,e+i).map(([e,t])=>Hi(t,e,this.pk)),{error:n}=await this.client.from(r).upsert(t,{onConflict:this.pk});if(n)throw n;o?.(Math.min(e+i,s.length),s.length,`Wrote ${Math.min(e+i,s.length)}/${s.length}`)}}catch(e){throw console.error(`SupabaseDataProvider.setChunks:`,e),e}}},Gi={key:`@key`,value:`@value`};function Ki(e,t){if(!t)return e;let n=t.split(`.`),r=e;for(let e of n){if(r==null)return;r=r[e]}return r}function qi(e,t){return e===t?0:e==null?-1:t==null?1:typeof e==`number`&&typeof t==`number`?e-t:typeof e==`boolean`&&typeof t==`boolean`?Number(e)-Number(t):globalThis.String(e).localeCompare(globalThis.String(t),void 0,{numeric:!0,sensitivity:`base`})}function Ji(e,t){let n=typeof t==`object`&&t&&!Array.isArray(t)?t:{eq:t};for(let[t,r]of Object.entries(n))switch(t){case`eq`:if(e!==r)return!1;break;case`gt`:if(!(e>r))return!1;break;case`gte`:if(!(e>=r))return!1;break;case`lt`:if(!(e<r))return!1;break;case`lte`:if(!(e<=r))return!1;break;case`in`:if(!Array.isArray(r)||!r.includes(e))return!1;break;case`nin`:if(Array.isArray(r)&&r.includes(e))return!1;break;default:return!1}return!0}function Yi(e,t,n){let r=Object.entries(n||{}),i=Object.entries(t||{}),a=Object.entries(e);return i.length&&(a=a.filter(([,e])=>i.every(([t,n])=>Ji(Ki(e,t),n)))),r.length&&a.sort((e,t)=>{for(let[n,i]of r){let r=qi(Ki(e[1],n),Ki(t[1],n));if(r)return i===`desc`?-r:r}return 0}),Object.fromEntries(a)}function Xi(e,t){let n=Object.entries(e);if(!t)return n.map(([e,t],n)=>typeof t==`object`&&t?{_index:n,[xi]:e,...t}:{_index:n,[xi]:e,[Gi.value]:t});let r=Object.keys(t);return n.map(([e,n],i)=>{let a=typeof n==`object`&&n?{[Gi.key]:e,...n}:{[Gi.key]:e,[Gi.value]:n},o={};for(let i of r){let r=t[i];o[i]=r.includes(`{`)?T.parse(a,r):r===Gi.key?e:r===Gi.value?n:a[r]}return{[xi]:e,_index:i,...o}})}var Zi=class{store={};listeners=new Map;persistKey;constructor(e,t){this.persistKey=t?.persist?t.storageKey??`llmnative:mock`:null;let n=this.persistKey?this.loadStore()??e:e;if(n)for(let[e,t]of Object.entries(n)){let n=e.startsWith(`/`)?e:`/${e}`;this.store[n]={...t}}}loadStore(){if(!this.persistKey||typeof window>`u`)return null;try{let e=window.localStorage.getItem(this.persistKey);if(!e)return null;let t=JSON.parse(e);return typeof t==`object`&&t&&!Array.isArray(t)?t:null}catch{return null}}saveStore(){if(this.persistKey&&typeof window<`u`)try{window.localStorage.setItem(this.persistKey,JSON.stringify(this.store))}catch{}}isConfigured(){return!0}getConfigurationState(){return{configured:!0}}getCollection(e){return this.store[e]||(this.store[e]={}),this.store[e]}resolvePath(e){let t=e.startsWith(`/`)?e:`/${e}`;if(this.store[t])return{collection:t};let n=Object.keys(this.store).filter(e=>t.startsWith(`${e}/`)&&!t.slice(e.length+1).includes(`/`)).sort((e,t)=>t.length-e.length)[0];if(n)return{collection:n,id:t.slice(n.length+1)};let r=t.replace(/^\/+/,``).split(`/`).filter(Boolean);return r.length%2==1?{collection:`/${r.join(`/`)}`}:{collection:`/${r.slice(0,-1).join(`/`)}`,id:r[r.length-1]}}notify(e){this.listeners.get(e)?.forEach(e=>e())}read=async(e,t={})=>{let{collection:n,id:r}=this.resolvePath(e),i=this.getCollection(n);if(r)return i[r]?{...i[r]}:void 0;let a=Yi(i,t.where,t.order);return t.toArray?Object.values(a).map(e=>({...e})):Object.fromEntries(Object.entries(a).map(([e,t])=>[e,{...t}]))};set=async(e,t)=>{let{collection:n,id:r}=this.resolvePath(e),i=this.getCollection(n);r?i[r]={...t}:this.store[n]={...t},this.saveStore(),this.notify(n)};update=async(e,t)=>{let{collection:n,id:r}=this.resolvePath(e),i=this.getCollection(n);r?i[r]={...i[r]||{},...t}:this.store[n]={...i,...t},this.saveStore(),this.notify(n)};remove=async e=>{let{collection:t,id:n}=this.resolvePath(e);n?delete this.getCollection(t)[n]:delete this.store[t],this.saveStore(),this.notify(t)};subscribe=(e,t,n)=>{if(!e)return()=>void 0;let r=e.startsWith(`/`)?e:`/${e}`,i=()=>{let e=Yi(this.getCollection(r),n?.where,n?.order);t(Xi(n?.onLoad?n.onLoad(e):e,n?.fieldMap))};return i(),this.listeners.has(r)||this.listeners.set(r,new Set),this.listeners.get(r).add(i),()=>{this.listeners.get(r)?.delete(i)}}};function Qi(e,t){let n=e.split(`.`).pop()?.toLowerCase()??``;return(Array.isArray(t)?t.map(e=>e.toLowerCase().replace(/^\./,``)):[t.toLowerCase().replace(/^\./,``)]).includes(n)}function $i(e,t){let n=e;return t.filterByExtension!==void 0&&(n=n.filter(e=>e.isFolder||Qi(e.name,t.filterByExtension))),t.limit!==void 0&&t.limit>0&&(n=n.slice(0,t.limit)),n}var ea=e=>e?(0,f.getStorage)((0,c.getApp)(),e):(0,f.getStorage)(),ta=e=>({name:e.name,path:e.fullPath}),na=async e=>{try{let t=await(0,f.getMetadata)(e);return{name:e.name,path:e.fullPath,size:t.size,contentType:t.contentType,updatedAt:t.updated}}catch{return ta(e)}},ra=class e{static listenerRegistered=!1;defaultBucket;constructor(t={}){this.defaultBucket=t.defaultBucket,!e.listenerRegistered&&typeof oi==`function`&&(e.listenerRegistered=!0,oi(e=>{e.firebase&&yi(e.firebase)}))}resolveBucket=e=>e??this.defaultBucket;getConfigurationState(){return hi()}isConfigured(){return this.getConfigurationState().configured}upload=async(e,t,n={})=>{if(e)try{let r=(0,f.ref)(ea(this.resolveBucket(n.bucket)),t);if(typeof e==`string`){let t=await(0,f.uploadString)(r,e,`data_url`);return await(0,f.getDownloadURL)(t.ref)}return await new Promise((t,i)=>{let a=n.contentType?{contentType:n.contentType}:e instanceof File&&e.type?{contentType:e.type}:void 0,o=(0,f.uploadBytesResumable)(r,e,a);n.onProgress&&o.on(`state_changed`,e=>{let t=e.totalBytes>0?Math.round(e.bytesTransferred/e.totalBytes*100):0;n.onProgress(t)}),o.then(async e=>t(await(0,f.getDownloadURL)(e.ref))).catch(i)})}catch(e){console.error(`[FirebaseStorage] upload error:`,e)}};createUpload=(e,t,n={})=>{let r=(0,f.ref)(ea(this.resolveBucket(n.bucket)),t);if(typeof e==`string`){let t=!1;return{url:(async()=>{if(!t)try{let t=await(0,f.uploadString)(r,e,`data_url`);return await(0,f.getDownloadURL)(t.ref)}catch{return}})(),pause:()=>{},resume:()=>{},cancel:()=>{t=!0}}}let i=n.contentType?{contentType:n.contentType}:e instanceof File&&e.type?{contentType:e.type}:void 0,a=(0,f.uploadBytesResumable)(r,e,i);return n.onProgress&&a.on(`state_changed`,e=>{let t=e.totalBytes>0?Math.round(e.bytesTransferred/e.totalBytes*100):0;n.onProgress(t)}),{url:(async()=>{try{return await(0,f.getDownloadURL)((await a).ref)}catch{return}})(),pause:()=>{a.pause()},resume:()=>{a.resume()},cancel:()=>{a.cancel()}}};rename=async(e,t,n={})=>await this.move(e,t,n)>0;move=async(e,t,n={})=>{if(n.recursive){let r=await this.list(e,{bucket:n.bucket,recursive:!0}),i=e.endsWith(`/`)?e:`${e}/`;return(await Promise.all(r.map(async r=>{let a=`${t}/${r.path.startsWith(i)?r.path.slice(i.length):r.path.slice(e.length)}`;return this._moveFile(r.path,a,n)}))).filter(Boolean).length}return+!!await this._moveFile(e,t,n)};_moveFile=async(e,t,n)=>{try{let r=await this.download(e,n);if(!r)return!1;let i=await this.getFileInfo(e,n);return await this.upload(r,t,{bucket:n.destBucket??n.bucket,contentType:i?.contentType})?(await this.delete(e,{bucket:n.bucket}),!0):!1}catch(n){return console.error(`[FirebaseStorage] move error ${e} → ${t}:`,n),!1}};getURL=async(e,t={})=>{try{return await(0,f.getDownloadURL)((0,f.ref)(ea(this.resolveBucket(t.bucket)),e))}catch(t){console.error(`[FirebaseStorage] getURL error for ${e}:`,t)}};getFileInfo=async(e,t={})=>{try{let n=(0,f.ref)(ea(this.resolveBucket(t.bucket)),e),r=await(0,f.getMetadata)(n);return{name:n.name,path:n.fullPath,size:r.size,contentType:r.contentType,updatedAt:r.updated}}catch(t){if(t.code===`storage/object-not-found`)return;console.error(`[FirebaseStorage] getFileInfo error for ${e}:`,t);return}};download=async(e,t={})=>{let n=await this.getURL(e,t);if(n)try{let e=await fetch(n);if(!e.ok)throw Error(`HTTP ${e.status}`);return await e.blob()}catch(t){console.error(`[FirebaseStorage] download error for ${e}:`,t)}};delete=async(e,t={})=>{if(t.recursive)return this._deleteFolder(e,t);try{return await(0,f.deleteObject)((0,f.ref)(ea(this.resolveBucket(t.bucket)),e)),1}catch(t){return t.code===`storage/object-not-found`||console.error(`[FirebaseStorage] delete error for ${e}:`,t),0}};_deleteFolder=async(e,t)=>{try{let n=(0,f.ref)(ea(this.resolveBucket(t.bucket)),e),{items:r,prefixes:i}=await(0,f.listAll)(n),a=0;await Promise.all(r.map(async e=>{try{await(0,f.deleteObject)(e),a++}catch(t){t.code!==`storage/object-not-found`&&console.error(`[FirebaseStorage] delete failed for ${e.fullPath}:`,t)}}));let o=await Promise.all(i.map(e=>this._deleteFolder(e.fullPath,t)));return a+o.reduce((e,t)=>e+t,0)}catch(t){return console.error(`[FirebaseStorage] deleteFolder error for ${e}:`,t),0}};list=async(e,t={})=>$i(await this._listLevel(e,t),t);_listLevel=async(e,t)=>{let n=t.includeFiles!==!1,r=t.includeFolders===!0;try{let i=(0,f.ref)(ea(this.resolveBucket(t.bucket)),e),{items:a,prefixes:o}=await(0,f.listAll)(i),s=n?t.metadata?await Promise.all(a.map(na)):a.map(ta):[],c=r?o.map(e=>({name:e.name,path:e.fullPath,isFolder:!0})):[],l=[...s,...c];if(!t.recursive||o.length===0)return l;let u=await Promise.all(o.map(e=>this._listLevel(e.fullPath,t)));return[...l,...u.flat()]}catch(t){return console.error(`[FirebaseStorage] list error for ${e}:`,t),[]}}};new ra;var ia=class{config;constructor(e){this.config=e}getConfigurationState(){return In(`SupabaseStorageProvider`,Fn(this.config,[`url`,`anonKey`],`supabase.`))}isConfigured(){return this.getConfigurationState().configured}resolveBucket(e){return e??this.config.bucket??`public`}authHeaders(){return{apikey:this.config.anonKey,Authorization:`Bearer ${this.config.accessToken??this.config.anonKey}`}}upload=async(e,t,n={})=>{let r=this.resolveBucket(n.bucket),i,a=n.contentType;if(typeof e==`string`){let[t,n]=e.split(`,`);a??=t.match(/:(.*?);/)?.[1];let r=atob(n),o=new Uint8Array(r.length);for(let e=0;e<r.length;e++)o[e]=r.charCodeAt(e);i=new Blob([o],a?{type:a}:void 0)}else i=e,e instanceof File&&(a??=e.type||void 0);let o=await fetch(`${this.config.url}/storage/v1/object/${r}/${t}`,{method:`POST`,headers:{...this.authHeaders(),...a?{"Content-Type":a}:{}},body:i});if(!o.ok){console.error(`[SupabaseStorage] upload error:`,await o.text());return}return this.getURL(t,{bucket:r})};createUpload=(e,t,n={})=>{let r=new AbortController,i=this.resolveBucket(n.bucket);return{url:(async()=>{let a,o=n.contentType;if(typeof e==`string`){let[t,n]=e.split(`,`);o??=t.match(/:(.*?);/)?.[1];let r=atob(n),i=new Uint8Array(r.length);for(let e=0;e<r.length;e++)i[e]=r.charCodeAt(e);a=new Blob([i],o?{type:o}:void 0)}else a=e,e instanceof File&&(o??=e.type||void 0);try{return(await fetch(`${this.config.url}/storage/v1/object/${i}/${t}`,{method:`POST`,headers:{...this.authHeaders(),...o?{"Content-Type":o}:{}},body:a,signal:r.signal})).ok?this.getURL(t,{bucket:i}):void 0}catch{return}})(),pause:()=>{},resume:()=>{},cancel:()=>r.abort()}};rename=async(e,t,n={})=>await this.move(e,t,n)>0;move=async(e,t,n={})=>{if(n.recursive){let r=await this.list(e,{bucket:n.bucket,recursive:!0}),i=e.endsWith(`/`)?e:`${e}/`;return(await Promise.all(r.map(async r=>{let a=`${t}/${r.path.startsWith(i)?r.path.slice(i.length):r.path.slice(e.length)}`;return this._moveFile(r.path,a,n)}))).filter(Boolean).length}return+!!await this._moveFile(e,t,n)};_moveFile=async(e,t,n)=>{let r=this.resolveBucket(n.bucket),i=this.resolveBucket(n.destBucket??n.bucket);try{return(await fetch(`${this.config.url}/storage/v1/object/move`,{method:`POST`,headers:{...this.authHeaders(),"Content-Type":`application/json`},body:JSON.stringify({bucketId:r,sourceKey:e,destinationBucket:i,destinationKey:t})})).ok}catch(n){return console.error(`[SupabaseStorage] move error ${e} → ${t}:`,n),!1}};getURL=async(e,t={})=>{let n=this.resolveBucket(t.bucket);return`${this.config.url}/storage/v1/object/public/${n}/${e}`};getFileInfo=async(e,t={})=>{let n=e.split(`/`),r=n.pop(),i=n.join(`/`);return(await this.list(i,{...t,metadata:!0})).find(e=>e.name===r)};download=async(e,t={})=>{let n=await this.getURL(e,t);if(n)try{let e=await fetch(n);if(!e.ok)throw Error(`HTTP ${e.status}`);return await e.blob()}catch(t){console.error(`[SupabaseStorage] download error for ${e}:`,t)}};delete=async(e,t={})=>{let n=this.resolveBucket(t.bucket),r;if(t.recursive){let n=await this.list(e,{...t,recursive:!0});if(n.length===0)return 0;r=n.map(e=>e.path)}else r=[e];try{let e=await fetch(`${this.config.url}/storage/v1/object/${n}`,{method:`DELETE`,headers:{...this.authHeaders(),"Content-Type":`application/json`},body:JSON.stringify({prefixes:r})});return e.status===404?0:e.ok?r.length:(console.error(`[SupabaseStorage] delete error:`,await e.text()),0)}catch(t){return console.error(`[SupabaseStorage] delete error for ${e}:`,t),0}};list=async(e,t={})=>$i(await this._listLevel(e,t),t);_listLevel=async(e,t)=>{let n=t.includeFiles!==!1,r=t.includeFolders===!0,i=this.resolveBucket(t.bucket);try{let a=await fetch(`${this.config.url}/storage/v1/object/list/${i}`,{method:`POST`,headers:{...this.authHeaders(),"Content-Type":`application/json`},body:JSON.stringify({prefix:e,limit:1e3,offset:0})});if(!a.ok)return console.error(`[SupabaseStorage] list error:`,await a.text()),[];let o=await a.json(),s=o.filter(e=>e.id!==null&&e.name&&!e.name.endsWith(`/`)),c=o.filter(e=>e.id===null&&e.name),l=n?s.map(t=>({name:t.name??``,path:e?`${e}/${t.name}`:t.name??``,size:t.metadata?.size,contentType:t.metadata?.mimetype,updatedAt:t.updated_at})):[],u=r?c.map(t=>({name:t.name??``,path:e?`${e}/${t.name}`:t.name??``,isFolder:!0})):[],d=[...l,...u];if(!t.recursive||c.length===0)return d;let f=await Promise.all(c.map(n=>this._listLevel(e?`${e}/${n.name}`:n.name??``,t)));return[...d,...f.flat()]}catch(t){return console.error(`[SupabaseStorage] list error for ${e}:`,t),[]}}},aa={},oa=(e,t,n)=>{(aa[e]??={})[t]=n},sa=e=>typeof e.credential?.token==`string`?e.credential.token:void 0,ca=async e=>{await yi(e.publicConfig),e.credential?.type===`firebaseCustomToken`&&await vi(e.credential.token)},la=`(default)`;oa(`data`,`mock`,e=>new Zi(e.publicConfig.seed,{persist:!1})),oa(`data`,`firebase`,async e=>(await ca(e),new ji({databaseId:la}))),oa(`data`,`supabase`,e=>new Wi({url:e.publicConfig.url,anonKey:e.publicConfig.anonKey,accessToken:sa(e)})),oa(`storage`,`firebase`,async e=>(await ca(e),new ra)),oa(`storage`,`supabase`,e=>new ia({url:e.publicConfig.url,anonKey:e.publicConfig.anonKey,accessToken:sa(e)}));var ua=new WeakMap,da=e=>{let t=ua.get(e);if(t)return t;let n={sequence:0,queue:Promise.resolve(),pending:new Map};return ua.set(e,n),n},fa=()=>{let e=ei();return{switchSession:(0,t.useCallback)((t,n)=>{let r=n?.sessionKey,i=da(e);if(r){let e=i.pending.get(r);if(e?.sequence===i.sequence)return e.promise;if(i.activeKey===r&&i.pending.size===0)return Promise.resolve(i.activeResult??{applied:[],skipped:[]})}let a=async()=>{let r;if(typeof t==`function`)r=await t();else{let e=await fetch(t,n?.fetchOptions);if(!e.ok)throw Error(`Provider session request failed: ${e.status} ${e.statusText}`);r=await e.json()}n?.onResponse&&(r=await n.onResponse(r));let i={applied:[],skipped:[]};for(let[t,n]of Object.entries(r.providers)){let r=aa[t]?.[n.type];if(!r){console.warn(`ProviderSession: no factory registered for category "${t}" type "${n.type}" — discarding. Register one with registerProviderSessionFactory().`),i.skipped.push({category:t,type:n.type});continue}let a=await r(n);await e(t,`custom`,a),i.applied.push(t)}return i};if(!r)return a();let o=++i.sequence,s=i.queue.then(a,a);return i.queue=s.then(()=>void 0,()=>void 0),i.pending.set(r,{sequence:o,promise:s}),s.then(e=>{i.activeKey=r,i.activeResult=e}).finally(()=>{i.pending.get(r)?.promise===s&&i.pending.delete(r)}),s},[e]),setProvider:e}};function pa(e,n){return e?typeof e==`string`?t.default.createElement(Q,{name:e,size:15,className:n}):e:null}function ma({items:e,itemsLoading:n=!1,activeId:r=null,onSelect:i=void 0,onError:a=void 0,onResponse:o=void 0,endpoint:s,authorization:c=void 0,requestBody:l=void 0,method:u=`POST`,icon:d=`layers`,caption:f=void 0,listLabel:p=void 0,placeholder:m=void 0,disabled:h=!1,open:g=void 0,onOpenChange:_=void 0,footer:v=void 0,before:y=void 0,after:b=void 0,wrapperClassName:x=void 0,className:S=void 0,triggerClassName:C=void 0,listClassName:w=void 0,itemClassName:T=void 0}){let E=Y(`providerSwitcher`),D=ut(`select`),{switchSession:O}=fa(),k=Mn(),[A,j]=(0,t.useState)(!1),[M,N]=(0,t.useState)(null),P=e.find(e=>e.id===r)??null,F=g??A,I=_??j,L=M!==null||n,R=(0,t.useRef)(null),z=async()=>c?typeof c==`function`?c():c:k.getAccessToken?.(),B=async e=>{if(R.current!==e.id){N(e.id);try{if(typeof s==`function`)await O(()=>s(e.id),{onResponse:o,sessionKey:e.id});else{let t=await z();await O(s,{onResponse:o,sessionKey:e.id,fetchOptions:{method:u,headers:{"Content-Type":`application/json`,...t?{Authorization:`Bearer ${t}`}:{}},body:JSON.stringify(l?l(e.id):{id:e.id})}})}R.current=e.id,i?.(e.id)}catch(t){a?.(e.id,t)}finally{N(null)}}},ee=e=>{I(!1),B(e)};return(0,t.useEffect)(()=>{if(!r||r===R.current)return;let t=e.find(e=>e.id===r);t&&B(t)},[r]),t.default.createElement(t.default.Fragment,null,y,t.default.createElement(br,{open:F,onOpenChange:I,placement:`auto`,wrapperClassName:X(E.ProviderSwitcher.wrapperClassName,x),className:X(E.ProviderSwitcher.className,S),triggerClassName:X(E.ProviderSwitcher.triggerClassName,(h||L)&&E.ProviderSwitcher.disabledClassName,C),footer:v,trigger:t.default.createElement(`span`,{className:`flex w-full min-w-0 items-center gap-2.5`},t.default.createElement(`span`,{className:X(E.ProviderSwitcher.iconWrapperClassName)},pa(P?.icon??d)),t.default.createElement(`span`,{className:`min-w-0 flex-1 pr-2`},t.default.createElement(`span`,{className:X(E.ProviderSwitcher.labelClassName)},P?.label??(n?D.loading:m??D.placeholder)),f?t.default.createElement(`span`,{className:X(E.ProviderSwitcher.captionClassName)},f):null),t.default.createElement(Q,{name:L?`loader-2`:`chevrons-up-down`,size:12,className:X(E.ProviderSwitcher.chevronClassName,L&&`animate-spin`)}))},p??f?t.default.createElement(wr,null,p??f):null,e.map(e=>t.default.createElement(Cr,{key:e.id,onClick:h||L?void 0:()=>ee(e),className:X(E.ProviderSwitcher.itemClassName,e.id===r?E.ProviderSwitcher.itemActiveClassName:E.ProviderSwitcher.itemInactiveClassName,T,w)},t.default.createElement(`span`,{className:`flex w-full min-w-0 items-center gap-2`},t.default.createElement(`span`,{className:X(`w-3.5 shrink-0`,E.ProviderSwitcher.checkClassName)},e.id===r?t.default.createElement(Q,{name:`check`,size:13}):null),t.default.createElement(`span`,{className:`flex-1 truncate`},e.label),e.meta?t.default.createElement(`span`,{className:X(`shrink-0`,E.ProviderSwitcher.itemMetaClassName)},e.meta):null)))),b)}var ha={info:`text-blue-600`,success:`text-green-600`,warning:`text-yellow-600`,danger:`text-red-600`,primary:`text-primary`,secondary:`text-secondary`,light:`text-gray-400`,dark:`text-gray-800`},ga=`bg-card supports-[backdrop-filter]:backdrop-blur-sm`,_a=({children:e,variant:n=`info`,appearance:r=`default`,placement:i=`inline`,anchorRef:a=void 0,timeout:o=void 0,onClose:c=void 0,icon:l=!0,before:u=void 0,after:d=void 0,wrapperClassName:f=void 0,className:p=void 0})=>{let m=Y(`alert`),[h,g]=(0,t.useState)(null);(0,t.useLayoutEffect)(()=>{if(i!==`sticky`){g(null);return}let e=0,t=null,n=!1,r=()=>{let i=a?.current;if(!n){if(!i){e=requestAnimationFrame(r);return}t=document.createElement(`div`),t.style.cssText=`position:sticky;top:0;left:0;right:0;z-index:50;width:100%`,i.prepend(t),g(t)}};return r(),()=>{n=!0,e&&cancelAnimationFrame(e),t&&t.remove(),g(null)}},[i,a]);let _=l===!1?null:l===!0?{info:`info`,success:`check`,warning:`warning`,danger:`x-circle`,primary:``,secondary:``,light:``,dark:``}[n]||null:l||null;(0,t.useEffect)(()=>{if(typeof c==`function`){let e=setTimeout(()=>{c()},o??5e3);return()=>clearTimeout(e)}},[c,o]);let v=r===`text`?t.default.createElement(`span`,{role:`status`,className:X(`inline-flex items-center gap-1 text-sm font-medium`,ha[n]??`text-foreground`,p)},_&&t.default.createElement(Q,{name:_,size:14,className:`shrink-0`}),e):t.default.createElement(`div`,{role:`alert`,className:X(`alert alert-`+n,p||m.Alert.className,(i===`fixed`||i===`sticky`)&&[`w-full rounded-none border-x-0 shadow-md`,ga])},_&&t.default.createElement(Q,{name:_,size:16,className:`shrink-0`}),e);if(i===`fixed`){let e=(()=>{let e=`__alert-portal-fixed__`,t=document.getElementById(e);return t||(t=document.createElement(`div`),t.id=e,t.style.cssText=`position:fixed;top:0;left:0;right:0;z-index:9999;width:100%`,document.body.appendChild(t)),t})();return(0,s.createPortal)(v,e)}if(i===`sticky`)return h?(0,s.createPortal)(v,h):null;let y=f??(u||d?`flex items-center gap-2`:void 0);return t.default.createElement(Z,{className:y},u,v,d)},va={1:`grid-cols-1`,2:`grid-cols-1 sm:grid-cols-2`,3:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3`,4:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-4`,5:`grid-cols-1 sm:grid-cols-3 lg:grid-cols-5`,6:`grid-cols-1 sm:grid-cols-3 lg:grid-cols-6`},ya=e=>e==null||e===``;function ba({items:e,layout:n=`horizontal`,columns:r=1,labelWidth:i=`12rem`,emptyValue:a=`—`,truncate:o=!1,wrapperClassName:s=void 0,className:c=void 0,itemClassName:l=void 0,labelClassName:u=void 0,valueClassName:d=void 0}){let f=Y(`descriptionList`).DescriptionList,p=n===`horizontal`,m=t.default.createElement(`dl`,{className:X(`grid`,p?`gap-y-3`:X(`gap-x-8 gap-y-4`,va[r]),c||f?.className),"data-layout":n},e.map((e,n)=>{let r=ya(e.value),s=e.title??(o&&typeof e.value==`string`?e.value:void 0),c=e.key??(typeof e.label==`string`?e.label:String(n));return t.default.createElement(`div`,{key:c,className:X(`min-w-0`,p&&`grid gap-1 sm:grid-cols-[var(--rf-dl-label-width)_minmax(0,1fr)] sm:gap-4`,l||f?.itemClassName),style:p?{"--rf-dl-label-width":i}:void 0},t.default.createElement(`dt`,{className:X(p?`text-sm text-muted-foreground`:`text-[10px] font-medium uppercase tracking-widest text-muted-foreground`,u||f?.labelClassName)},e.label),t.default.createElement(`dd`,{className:X(`m-0 text-sm font-medium`,r?`text-muted-foreground`:`text-foreground`,!p&&`mt-1`,o?`truncate`:`break-words`,d||f?.valueClassName),title:s},r?a:e.value))}));return s||f?.wrapperClassName?t.default.createElement(`div`,{className:X(s||f?.wrapperClassName)},m):m}var xa=e=>!!e.children?.length;function Sa(e){return e.flatMap(e=>xa(e)?[e.id,...Sa(e.children)]:[])}function Ca(e,t,n=1,r){return e.flatMap(e=>[{node:e,level:n,parent:r},...xa(e)&&t.has(e.id)?Ca(e.children,t,n+1,e):[]])}function wa({nodes:e,selectedId:n=void 0,defaultSelectedId:r=null,onSelect:i=void 0,expanded:a=void 0,defaultExpanded:o=void 0,onExpandedChange:s=void 0,selectableBranches:c=!1,ariaLabel:l=void 0,wrapperClassName:u=void 0,className:d=void 0,itemClassName:f=void 0,selectedClassName:p=void 0}){let m=Y(`tree`).Tree,[h,g]=(0,t.useState)(()=>o===!0?Sa(e):[...o??[]]),[_,v]=(0,t.useState)(r),y=(0,t.useMemo)(()=>new Set(a??h),[a,h]),b=n===void 0?_:n,x=(0,t.useMemo)(()=>Ca(e,y),[e,y]),[S,C]=(0,t.useState)(null),w=(0,t.useRef)(new Map),T=x.find(e=>e.node.id===S)?.node.id??x.find(e=>e.node.id===b)?.node.id??x[0]?.node.id,E=(e,t)=>{let n=t?[...y,e]:[...y].filter(t=>t!==e);a===void 0&&g(n),s?.(n)},D=e=>{e.disabled||(n===void 0&&v(e.id),i?.(e))},O=e=>{e&&(C(e),w.current.get(e)?.focus())},k=e=>{xa(e)?(E(e.id,!y.has(e.id)),c&&D(e)):D(e)},A=(e,t)=>{let n=x.findIndex(e=>e.node.id===t.node.id),r=xa(t.node);switch(e.key){case`ArrowDown`:O(x[n+1]?.node.id);break;case`ArrowUp`:O(x[n-1]?.node.id);break;case`Home`:O(x[0]?.node.id);break;case`End`:O(x[x.length-1]?.node.id);break;case`ArrowRight`:r&&!y.has(t.node.id)?E(t.node.id,!0):r&&O(t.node.children[0]?.id);break;case`ArrowLeft`:r&&y.has(t.node.id)?E(t.node.id,!1):O(t.parent?.id);break;case`Enter`:case` `:k(t.node);break;default:return}e.preventDefault()},j=(e,n,r)=>e.map(e=>{let i=xa(e),a=i&&y.has(e.id),o=b===e.id,s={node:e,level:n,parent:r};return t.default.createElement(`div`,{key:e.id,role:`none`},t.default.createElement(`div`,{ref:t=>{t?w.current.set(e.id,t):w.current.delete(e.id)},role:`treeitem`,"aria-level":n,"aria-expanded":i?a:void 0,"aria-selected":!i||c?o:void 0,"aria-disabled":e.disabled||void 0,tabIndex:e.id===T?0:-1,"data-selected":o||void 0,className:X(`flex cursor-pointer select-none items-center gap-1.5 rounded-md py-1 pe-2 text-sm outline-none`,`hover:bg-muted focus-visible:ring-2 focus-visible:ring-ring`,e.disabled&&`cursor-not-allowed opacity-50`,f||m?.itemClassName,o&&X(`bg-primary/10 font-medium text-primary`,p||m?.selectedClassName)),style:{paddingInlineStart:`${(n-1)*1+.25}rem`},onClick:()=>{C(e.id),k(e)},onKeyDown:e=>A(e,s)},t.default.createElement(`span`,{className:`inline-flex w-4 shrink-0 justify-center text-muted-foreground`},i&&t.default.createElement(Q,{name:a?`chevron-down`:`chevron-right`,size:14})),t.default.createElement(Q,{name:e.icon??(i?a?`folder-open`:`folder`:`file`),size:16,className:`shrink-0 text-muted-foreground`}),t.default.createElement(`span`,{className:`min-w-0 truncate`},e.label),e.description&&t.default.createElement(`span`,{className:`min-w-0 truncate text-xs font-normal text-muted-foreground`},e.description),e.badge&&t.default.createElement(`span`,{className:`ms-auto shrink-0`},e.badge)),a&&t.default.createElement(`div`,{role:`group`},j(e.children,n+1,e)))}),M=t.default.createElement(`div`,{role:`tree`,"aria-label":l,className:X(`space-y-0.5`,d||m?.className)},j(e,1));return u||m?.wrapperClassName?t.default.createElement(`div`,{className:u||m?.wrapperClassName},M):M}function Ta(e,t){let n={node:{id:``,label:``},folders:new Map,files:[]};for(let r of e){let e=r.split(`/`).filter(Boolean),i=n;e.slice(0,-1).forEach((t,n)=>{let r=`${e.slice(0,n+1).join(`/`)}/`;i.folders.has(t)||i.folders.set(t,{node:{id:r,label:t},folders:new Map,files:[]}),i=i.folders.get(t)}),i.files.push({id:r,label:e[e.length-1]??r,...t?.(r)})}let r=e=>[...[...e.folders.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([,e])=>({...e.node,children:r(e)})),...e.files.sort((e,t)=>e.id.localeCompare(t.id))];return r(n)}var Ea={markup:()=>import(`prismjs/components/prism-markup`),html:()=>import(`prismjs/components/prism-markup`),xml:()=>import(`prismjs/components/prism-markup`),svg:()=>import(`prismjs/components/prism-markup`),mathml:()=>import(`prismjs/components/prism-markup`),css:()=>import(`prismjs/components/prism-css`),clike:()=>import(`prismjs/components/prism-clike`),javascript:()=>import(`prismjs/components/prism-javascript`),js:()=>import(`prismjs/components/prism-javascript`),jsx:()=>import(`prismjs/components/prism-jsx`),typescript:()=>import(`prismjs/components/prism-typescript`),tsx:()=>import(`prismjs/components/prism-tsx`),json:()=>import(`prismjs/components/prism-json`),bash:()=>import(`prismjs/components/prism-bash`),shell:()=>import(`prismjs/components/prism-bash`),python:()=>import(`prismjs/components/prism-python`),java:()=>import(`prismjs/components/prism-java`),c:()=>import(`prismjs/components/prism-c`),cpp:()=>import(`prismjs/components/prism-cpp`),csharp:()=>import(`prismjs/components/prism-csharp`),go:()=>import(`prismjs/components/prism-go`),sql:()=>import(`prismjs/components/prism-sql`),php:()=>import(`prismjs/components/prism-php`),ruby:()=>import(`prismjs/components/prism-ruby`),yaml:()=>import(`prismjs/components/prism-yaml`),ini:()=>import(`prismjs/components/prism-ini`),docker:()=>import(`prismjs/components/prism-docker`),powershell:()=>import(`prismjs/components/prism-powershell`),git:()=>import(`prismjs/components/prism-git`),graphql:()=>import(`prismjs/components/prism-graphql`)},Da={html:[`markup`],xml:[`markup`],svg:[`markup`],mathml:[`markup`],javascript:[`clike`],js:[`clike`,`javascript`],jsx:[`markup`,`clike`,`javascript`],typescript:[`clike`,`javascript`],tsx:[`markup`,`clike`,`javascript`,`jsx`,`typescript`],c:[`clike`],cpp:[`c`],csharp:[`clike`],java:[`clike`],php:[`markup`]},Oa={prism:`rf-code-theme-prism`,dark:`rf-code-theme-dark`,coy:`rf-code-theme-coy`,funky:`rf-code-theme-funky`,okaidia:`rf-code-theme-okaidia`,solarizedlight:`rf-code-theme-solarizedlight`,tomorrow:`rf-code-theme-tomorrow`,twilight:`rf-code-theme-twilight`},ka={primary:`bg-primary text-primary-foreground`,secondary:`bg-secondary text-secondary-foreground`,success:`bg-success text-success-foreground`,danger:`bg-destructive text-destructive-foreground`,warning:`bg-warning text-warning-foreground`,info:`bg-info text-info-foreground`,light:`bg-muted text-muted-foreground`,dark:`bg-foreground text-background`,white:`bg-white text-slate-950`,black:`bg-black text-white`,transparent:`bg-transparent`,default:void 0};function Aa(e,t){return typeof t==`string`&&t in e}async function ja(e,t=new Set){if(!t.has(e)){for(let n of Da[e]??[])Aa(Ea,n)&&await ja(n,t);await Ea[e]?.(),t.add(e)}}var Ma=!1;async function Na(){Ma||(Ma=!0,await Promise.resolve().then(()=>require("./prism-themes-BvRk9kiK.js")))}var Pa=({language:e,children:n,before:r,after:i,wrapperClassName:a,className:o,showCopy:s=!0,theme:c=`tomorrow`,background:l=`default`})=>{let u=(0,t.useRef)(null),d=Y(`code`),f=ut(`code`),p=typeof n==`string`?n:String(n??``),m=Aa(Ea,e)?e:`tsx`,h=Aa(Oa,c)?c:`tomorrow`,g=Aa(ka,l)?l:`transparent`;return(0,t.useEffect)(()=>{let e=!1;return(async()=>{await Na(),window.Prism?.highlightElement||(window.Prism={...window.Prism??{},manual:!0});let t;try{t=(await import(`prismjs`)).default,window.Prism=t}catch(e){console.warn(`Errore nel caricare Prism core`,e);return}try{await ja(m)}catch(e){console.warn(`Errore nel caricare il linguaggio Prism "${m}"`,e)}if(!e&&u.current)try{t.highlightElement(u.current)}catch(e){console.warn(`Errore nell'evidenziare il blocco Prism "${m}"`,e)}})(),()=>{e=!0}},[p,m]),t.default.createElement(Z,{className:a||d.Code.wrapperClassName},t.default.createElement(`div`,{className:X(`flex w-full items-stretch gap-2`,(r||i)&&`overflow-x-auto`)},r&&t.default.createElement(`div`,{className:`flex shrink-0 items-center text-sm text-muted-foreground`},r),t.default.createElement(`pre`,{"data-rf-code-theme":h,"data-rf-code-background":g,className:X(`relative min-w-0 flex-1 overflow-auto rounded-md border border-border p-4 text-sm`,Oa[h],ka[g],o||d.Code.className)},s&&t.default.createElement(`button`,{onClick:()=>k(p),className:`absolute right-2 top-2 inline-flex items-center justify-center rounded-md bg-secondary px-2 py-1 text-xs font-medium text-secondary-foreground transition-colors hover:bg-secondary/80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,title:f.copyCode,"aria-label":f.copyCode},t.default.createElement(Q,{name:`clipboard`,size:14})),t.default.createElement(`code`,{ref:u,className:`language-${m}`},p)),i&&t.default.createElement(`div`,{className:`flex shrink-0 items-center text-sm text-muted-foreground`},i)))},Fa={en:`English`,it:`Italiano`,fr:`Français`,de:`Deutsch`,es:`Español`,pt:`Português`,nl:`Nederlands`,pl:`Polski`,ru:`Русский`,zh:`中文`,ja:`日本語`,ko:`한국어`,ar:`العربية`},Ia=({icon:e=`Globe`,label:n,labels:r,appearance:i=`code`,className:a=``})=>{let{locale:o,availableLocales:s,setLocale:c}=ut();if(s.length<=1)return null;let l={...Fa,...r},u=e=>i===`code`?e.toUpperCase():l[e]??e.toUpperCase();return t.default.createElement(`div`,{className:`flex items-center gap-1.5 ${a}`.trim()},t.default.createElement(Q,{name:e,size:16,"aria-hidden":!0}),n&&t.default.createElement(`span`,{className:`text-sm`},n),t.default.createElement(`select`,{value:o,onChange:e=>c(e.target.value),className:`cursor-pointer rounded border border-border bg-transparent py-0.5 pl-1 pr-5 text-sm focus:outline-none focus:ring-1 focus:ring-ring`,style:{width:`auto`},"aria-label":n??`Select language`},s.map(e=>t.default.createElement(`option`,{key:e,value:e},u(e)))))},La={primary:`primary`,secondary:`secondary`,success:`success`,warning:`warning`,danger:`destructive`,info:`info`,light:`muted`,dark:`foreground`},Ra={primary:`primary-foreground`,secondary:`secondary-foreground`,success:`success-foreground`,warning:`warning-foreground`,danger:`destructive-foreground`,info:`info-foreground`,light:`muted-foreground`,dark:`background`},za=(e,t)=>`hsl(var(--rf-${e})${t===void 0?``:` / ${t}`})`,Ba=({progress:e,variant:n,thickness:r,showText:i,trackVariant:a,size:o,fontSize:s,className:c})=>{let l=za(La[a],a===`secondary`||a===`light`?.55:.16),u=za(La[n]),d=za(e>=12?Ra[n]:`foreground`);return t.default.createElement(`div`,{className:X(`relative overflow-hidden rounded-full border border-border shadow-sm`,c),style:{height:`${r}px`,width:`${o}%`,minWidth:o<100?120:void 0,backgroundColor:l},role:`progressbar`,"aria-valuenow":e,"aria-valuemin":0,"aria-valuemax":100},t.default.createElement(`div`,{className:`h-full rounded-full transition-all duration-300`,style:{width:`${e}%`,backgroundColor:u}}),i&&t.default.createElement(`span`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center font-medium tabular-nums`,style:{fontSize:`${s}px`,color:d}},e,`%`))},Va=({progress:e,variant:n,thickness:r,showText:i,trackVariant:a,size:o,fontSize:s,className:c})=>{let l=o/2,u=l-r/2,d=2*Math.PI*u,f=d*((100-e)/100),p=za(La[a],a===`secondary`||a===`light`?.55:.18),m=za(La[n]),h=za(`foreground`);return t.default.createElement(`span`,{className:X(`inline-flex items-center justify-center`,c),role:`progressbar`,"aria-valuenow":e,"aria-valuemin":0,"aria-valuemax":100},t.default.createElement(`svg`,{width:o,height:o,viewBox:`0 0 ${o} ${o}`},t.default.createElement(`circle`,{r:u,cx:l,cy:l,fill:`none`,stroke:p,strokeWidth:r}),t.default.createElement(`circle`,{r:u,cx:l,cy:l,fill:`none`,stroke:m,strokeWidth:r,strokeLinecap:`round`,strokeDasharray:d,strokeDashoffset:f,style:{transform:`rotate(-90deg)`,transformOrigin:`center`,transition:`stroke-dashoffset 300ms ease`}}),i&&t.default.createElement(`text`,{x:`50%`,y:`50%`,textAnchor:`middle`,dominantBaseline:`middle`,fontWeight:700,fontSize:s,fill:h},`${e}%`)))},Ha=({value:e=0,max:n=100,min:r=0,appearance:i=`bar`,variant:a=`primary`,trackVariant:o=`secondary`,thickness:s=10,showText:c=!0,size:l=100,fontSize:u=16,label:d=void 0,before:f=void 0,after:p=void 0,wrapperClassName:m=void 0,className:h=void 0})=>{let g=Y(`percentage`),_=n-r,v=_<=0?0:Math.round(Math.max(0,Math.min(100,(e-r)/_*100))),y=h||g.Percentage?.className||``;return t.default.createElement(Z,{className:m||g.Percentage?.wrapperClassName},f,d&&t.default.createElement(Co,{label:d}),i===`bar`?t.default.createElement(Ba,{progress:v,variant:a,thickness:s,showText:c,trackVariant:o,size:l,fontSize:u,className:y}):t.default.createElement(Va,{progress:v,variant:a,thickness:s,showText:c,trackVariant:o,size:l,fontSize:u,className:y}),p)},Ua={container:xt,wrapper:Z,row:St,col:Ct};function Wa({minHeight:e=200,maxHeight:n=600,paddingOffset:r=0}){return(0,t.useMemo)(()=>{let t=e===`fill`,i=t?0:e;return{fill:t,adjustedMinHeight:i-r,wrapperStyle:t?{height:`100%`,overflowY:`auto`}:{maxHeight:n,overflowY:n?`auto`:void 0},resolvedMinHeight:i,resolvedMaxHeight:t?void 0:n}},[e,n,r])}var Ga=`mb-1 block text-sm font-medium leading-5 text-foreground`,Ka=`mt-1 text-xs text-muted-foreground`,qa=`flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,Ja=`flex min-h-[5rem] w-full rounded-md border border-input bg-background px-3 py-2 text-sm shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,Ya=`flex w-full items-stretch`,Xa=`inline-flex shrink-0 items-center border border-input bg-muted px-3 py-1 text-sm text-muted-foreground`,Za=`relative`,Qa=`pointer-events-none absolute left-3 top-2 z-10 origin-[0] bg-background px-1 text-xs font-medium normal-case tracking-normal text-muted-foreground transition-all duration-150 peer-placeholder-shown:top-1/2 peer-placeholder-shown:-translate-y-1/2 peer-placeholder-shown:px-0 peer-placeholder-shown:text-sm peer-placeholder-shown:font-normal peer-placeholder-shown:normal-case peer-placeholder-shown:tracking-normal peer-focus:top-2 peer-focus:-translate-y-0 peer-focus:px-1 peer-focus:text-xs peer-focus:font-medium peer-focus:tracking-normal peer-focus:text-foreground`,$a=`pointer-events-none absolute left-3 top-2 z-10 origin-[0] bg-background px-1 text-xs font-medium normal-case tracking-normal text-muted-foreground transition-all duration-150 peer-placeholder-shown:top-2 peer-placeholder-shown:translate-y-0 peer-placeholder-shown:px-0 peer-placeholder-shown:text-sm peer-placeholder-shown:font-normal peer-placeholder-shown:normal-case peer-placeholder-shown:tracking-normal peer-focus:top-2 peer-focus:translate-y-0 peer-focus:px-1 peer-focus:text-xs peer-focus:font-medium peer-focus:tracking-normal peer-focus:text-foreground`,eo=`peer h-14 px-3 pt-6 pb-2`,to=`peer px-3 pt-6 pb-2`,no=(e,{before:t,after:n})=>X(e,t&&`!rounded-l-none`,n&&`!rounded-r-none`),ro=({children:e,side:n})=>t.default.createElement(`span`,{className:X(Xa,n===`before`?`rounded-l-md rounded-r-none border-r-0`:`rounded-l-none rounded-r-md border-l-0`)},e),io=({message:e})=>t.default.createElement(`div`,{className:`mt-1 flex items-center gap-1 text-xs text-destructive`,role:`alert`,"aria-live":`polite`},t.default.createElement(Q,{name:`warning-circle`,size:12,className:`shrink-0`}),t.default.createElement(`span`,null,e)),ao=({name:e,onChange:n,wrapperClassName:r,defaultValue:i,valueChecked:a,inheritWrapperClassName:o})=>{let s=e=>e==null?``:`${e}`,{value:c,handleChange:l,formWrapClass:u}=Vu({name:e,onChange:n,wrapperClassName:r,inputType:typeof a==`number`?`number`:`text`,defaultValue:i===void 0?void 0:s(i)===s(a)?s(a):``,inheritWrapperClassName:o});return{id:(0,t.useId)(),checked:s(c)===s(a),formWrapClass:u,handleCheckboxChange:t=>{l?.({target:{name:e,value:t.target.checked?a:``}})}}},oo=({name:e,onChange:n=void 0,defaultValue:r=void 0,placeholder:i=void 0,label:a=void 0,type:o=`text`,required:s=!1,readOnlyAfterSet:c=!1,disabled:l=!1,before:u=void 0,after:d=void 0,afterInset:f=void 0,feedback:p=void 0,min:m=void 0,max:h=void 0,step:g=void 0,id:_=void 0,labelClassName:v=void 0,inheritWrapperClassName:y=!0,wrapperClassName:b=void 0,className:x=void 0,validator:S=void 0,labelMode:C=`default`})=>{let{value:w,handleChange:T,formWrapClass:E}=Vu({name:e,onChange:n,wrapperClassName:b,inputType:o,defaultValue:r,inheritWrapperClassName:y}),D=Bu(e,{required:s,label:a,validator:S}),O=(0,t.useId)(),k=_??O,A=Hu({name:e,value:w,handleChange:T}),j=!(C!==`floating`||!a||u||d||f),M=j?` `:i;return t.default.createElement(Z,{className:E},!j&&a&&t.default.createElement(Co,{label:a,required:s,htmlFor:k,className:v}),t.default.createElement(Z,{className:X(u||d?Ya:``,f&&`relative`,j&&Za)},u&&t.default.createElement(ro,{side:`before`},u),t.default.createElement(`input`,{id:k,type:o,name:e,className:no(X(qa,j&&eo,D&&`border-destructive focus-visible:ring-destructive/20`,f&&`pr-9`,x),{before:u,after:d}),placeholder:M,required:s,disabled:l||c&&!ie(w),value:w??``,onChange:T,min:m,max:h,step:g,onDragOver:e=>e.preventDefault(),onDrop:A}),j&&t.default.createElement(`label`,{htmlFor:k,className:X(Qa,v)},a,` `,s&&t.default.createElement(`span`,{className:`text-destructive`},`*`)),d&&t.default.createElement(ro,{side:`after`},d),f&&t.default.createElement(`span`,{className:`pointer-events-none absolute inset-y-0 right-0 flex items-center pr-1.5 [&>*]:pointer-events-auto`},f)),D?t.default.createElement(io,{message:D}):p&&t.default.createElement(`div`,{className:`mt-1 text-xs text-muted-foreground`},p))},so=e=>t.default.createElement(oo,{...e,type:`text`}),co=e=>t.default.createElement(oo,{...e,type:`number`}),lo=e=>t.default.createElement(oo,{...e,type:`email`}),uo=e=>{let[n,r]=(0,t.useState)(!1);return t.default.createElement(oo,{...e,type:n?`text`:`password`,afterInset:t.default.createElement(`button`,{type:`button`,tabIndex:-1,onClick:()=>r(!n),className:`h-7 w-7 inline-flex items-center justify-center rounded text-muted-foreground hover:text-foreground transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`},t.default.createElement(Q,{name:n?`eye`:`eye-off`,size:15}))})},fo=({className:e,...n})=>t.default.createElement(oo,{...n,type:`color`,className:X(`w-10 shrink-0 cursor-pointer p-0.5`,e)}),po=e=>t.default.createElement(oo,{...e,type:`date`}),mo=e=>t.default.createElement(oo,{...e,type:`time`}),ho=e=>t.default.createElement(oo,{...e,type:`datetime-local`}),go=e=>t.default.createElement(oo,{...e,type:`week`}),_o=e=>t.default.createElement(oo,{...e,type:`month`}),vo=e=>t.default.createElement(oo,{...e,type:`range`,className:X(`!border-0 !bg-transparent !shadow-none !px-0 !py-0 !h-auto cursor-pointer accent-primary`,e.className)}),yo=e=>t.default.createElement(oo,{...e,type:`url`}),bo=({name:e,onChange:n=void 0,defaultValue:r=void 0,value:i=void 0,id:a=void 0,inheritWrapperClassName:o=!0,wrapperClassName:s=void 0})=>{let{value:c,handleChange:l}=Vu({name:e,onChange:n,wrapperClassName:s,defaultValue:r??i,inheritWrapperClassName:o}),u=(0,t.useId)(),d=a??u,f=t.default.useMemo(()=>JSON.stringify(i??null),[i]),p=t.default.useMemo(()=>JSON.stringify(c??null),[c]);return(0,t.useEffect)(()=>{i!==void 0&&f!==p&&l({target:{name:e,value:i}})},[l,e,f,p,i]),t.default.createElement(`input`,{id:d,type:`hidden`,name:e,value:typeof c==`string`?c:c==null?``:JSON.stringify(c),readOnly:!0})},xo=({name:e,onChange:n=void 0,defaultValue:r=void 0,label:i=void 0,title:a=void 0,ariaLabel:o=void 0,required:s=!1,valueChecked:c=`on`,before:l=void 0,after:u=void 0,inheritWrapperClassName:d=!0,wrapperClassName:f=void 0,className:p=void 0})=>{let{id:m,checked:h,formWrapClass:g,handleCheckboxChange:_}=ao({name:e,onChange:n,wrapperClassName:f,defaultValue:r,valueChecked:c,inheritWrapperClassName:d}),v=Bu(e,{required:s,label:i});return t.default.createElement(Z,{className:g},t.default.createElement(`div`,{className:`flex items-center gap-2`},l,t.default.createElement(`input`,{type:`checkbox`,id:m,name:e,title:a,"aria-label":o,className:X(`h-4 w-4 shrink-0 rounded-sm border border-input bg-background text-primary shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,p),checked:h,onChange:_}),i&&t.default.createElement(`label`,{className:`text-sm font-medium leading-none text-foreground`,htmlFor:m},i,s&&t.default.createElement(`span`,{className:`text-destructive`},`\xA0*`)),u),v&&t.default.createElement(io,{message:v}))},So=({name:e,onChange:n=void 0,defaultValue:r=void 0,label:i=void 0,title:a=void 0,ariaLabel:o=void 0,required:s=!1,valueChecked:c=`on`,before:l=void 0,after:u=void 0,inheritWrapperClassName:d=!0,wrapperClassName:f=void 0,className:p=void 0})=>{let{id:m,checked:h,formWrapClass:g,handleCheckboxChange:_}=ao({name:e,onChange:n,wrapperClassName:f,defaultValue:r,valueChecked:c,inheritWrapperClassName:d}),v=Bu(e,{required:s,label:i});return t.default.createElement(Z,{className:g},t.default.createElement(`div`,{className:`flex items-center gap-2`},l,t.default.createElement(`label`,{className:`inline-flex cursor-pointer items-center gap-2 select-none`},t.default.createElement(`span`,{className:`relative inline-flex h-5 w-9 shrink-0 items-center`},t.default.createElement(`input`,{id:m,name:e,type:`checkbox`,title:a,"aria-label":o,checked:h,onChange:_,className:`peer absolute inset-0 m-0 h-full w-full cursor-pointer opacity-0`}),t.default.createElement(`span`,{"aria-hidden":`true`,className:X(`pointer-events-none absolute inset-0 rounded-full transition-colors duration-200 ease-out peer-focus-visible:ring-2 peer-focus-visible:ring-ring peer-focus-visible:ring-offset-2`,h?`bg-primary`:`bg-muted-foreground/35`,p)},t.default.createElement(`span`,{className:X(`pointer-events-none absolute top-0.5 left-0.5 h-4 w-4 rounded-full bg-background shadow-sm transition-transform duration-200 ease-out`,h&&`translate-x-4`)}))),i&&t.default.createElement(`span`,{className:`text-sm font-medium leading-none text-foreground`},i,s&&t.default.createElement(`span`,{className:`text-destructive`},`\xA0*`))),u),v&&t.default.createElement(io,{message:v}))},Co=({label:e,required:n=!1,htmlFor:r=void 0,className:i=void 0})=>t.default.createElement(`label`,{htmlFor:r,className:X(Ga,i)},e,` `,n&&t.default.createElement(`span`,{className:`text-destructive`},`*`)),wo=({name:e,onChange:n=void 0,defaultValue:r=void 0,placeholder:i=void 0,label:a=void 0,required:o=!1,readOnlyAfterSet:s=!1,disabled:c=!1,minHeight:l=96,maxHeight:u=void 0,textareaRef:d=void 0,before:f=void 0,after:p=void 0,feedback:m=void 0,id:h=void 0,labelClassName:g=void 0,inheritWrapperClassName:_=!0,className:v=void 0,wrapperClassName:y=void 0,validator:b=void 0,onKeyDown:x=void 0,onClick:S=void 0,onBlur:C=void 0,labelMode:w=`default`})=>{let{value:T,handleChange:E,formWrapClass:D}=Vu({name:e,onChange:n,wrapperClassName:y,defaultValue:r,inheritWrapperClassName:_}),O=Bu(e,{required:o,label:a,validator:b}),k=Wa({minHeight:l,maxHeight:u}),A=(0,t.useId)(),j=h??A,M=Hu({name:e,value:T,handleChange:E}),N=t.default.useRef(null),P=!(w!==`floating`||!a||f||p),F=P?` `:i;return(0,t.useEffect)(()=>{if(!N.current)return;let e=N.current;e.style.height=`auto`;let t=Math.max(e.scrollHeight,k.resolvedMinHeight),n=k.resolvedMaxHeight?Math.min(t,k.resolvedMaxHeight):t;e.style.minHeight=`${k.resolvedMinHeight}px`,e.style.maxHeight=k.resolvedMaxHeight?`${k.resolvedMaxHeight}px`:``,e.style.height=`${n}px`,e.style.overflowY=k.resolvedMaxHeight&&t>k.resolvedMaxHeight?`auto`:`hidden`},[T,k.resolvedMinHeight,k.resolvedMaxHeight]),t.default.createElement(Z,{className:D},!P&&a&&t.default.createElement(Co,{required:o,label:a,htmlFor:j,className:g}),t.default.createElement(Z,{className:X(f||p?Ya:``,P&&Za)},f&&t.default.createElement(ro,{side:`before`},f),t.default.createElement(`textarea`,{id:j,name:e,className:no(X(Ja,`resize-none`,P&&to,O&&`border-destructive focus-visible:ring-destructive/20`,v),{before:f,after:p}),ref:e=>{if(N.current=e,typeof d==`function`){d(e);return}d&&typeof d==`object`&&`current`in d&&(d.current=e)},placeholder:F,required:o,disabled:c||s&&!ie(T),value:T??``,onChange:E,onKeyDown:x,onClick:S,onBlur:C,onDragOver:e=>e.preventDefault(),onDrop:M}),P&&t.default.createElement(`label`,{htmlFor:j,className:X($a,g)},a,` `,o&&t.default.createElement(`span`,{className:`text-destructive`},`*`)),p&&t.default.createElement(ro,{side:`after`},p)),O?t.default.createElement(io,{message:O}):m&&t.default.createElement(`div`,{className:`mt-1 text-xs text-muted-foreground`},m))},To=({children:e,onClick:n=void 0,label:r=void 0,activeIndices:i=void 0,draggable:a=void 0,onDrop:o=void 0,disabledIndices:s=void 0,loadingIndices:c=void 0,before:l=void 0,after:u=void 0,wrapperClassName:d=void 0,className:f=void 0,itemClassName:p=void 0})=>{let m=X(`flex flex-col divide-y divide-border rounded-md border bg-card`,f),h=e=>{let n=e=>e==null||typeof e==`boolean`?``:typeof e==`string`||typeof e==`number`?`${e}`:Array.isArray(e)?e.map(n).join(` `):t.default.isValidElement(e)?n(e.props.children):``;return n(e).replace(/\s+/g,` `).trim()},g=(e,t)=>{e.dataTransfer.setData(`text/plain`,o?.(t)??t)};return t.default.createElement(Z,{className:d},l,r&&t.default.createElement(`div`,null,r),t.default.createElement(`div`,{className:m},e.map((e,r)=>{let o=i?.includes(r),l=s?.includes(r),u=c?.includes(r),d=X(`flex items-center gap-2 px-3 py-2 text-sm transition-colors`,n&&`cursor-pointer hover:bg-accent hover:text-accent-foreground`,o&&`bg-primary/8 text-foreground`,l&&`pointer-events-none opacity-50`,u&&`animate-pulse`,p);return n?t.default.createElement(`div`,{key:r,onClick:e=>{!u&&!K(e)&&n(e,r)},className:d,style:{cursor:`pointer`}},e):t.default.createElement(`span`,{key:r,className:d,draggable:a,onDragStart:a?t=>g(t,h(e)):void 0,style:{cursor:a?`grab`:`default`}},a&&t.default.createElement(Q,{name:`grip-vertical`}),e)})),u)},Eo={field:``,dir:`asc`},Do=e=>typeof e==`string`&&!Number.isNaN(Date.parse(e)),Oo=(e,t)=>e==null&&t==null?0:e==null?1:t==null?-1:typeof e==`number`&&typeof t==`number`?e-t:typeof e==`boolean`&&typeof t==`boolean`?Number(e)-Number(t):e instanceof Date&&t instanceof Date?e.getTime()-t.getTime():Do(e)&&Do(t)?Date.parse(e)-Date.parse(t):String(e).localeCompare(String(t),void 0,{numeric:!0,sensitivity:`base`}),ko={normalize(e){if(e?.field)return{field:e.field,dir:e.dir===`desc`?`desc`:`asc`}},toggle(e,t){return!e||e.field!==t?{field:t,dir:`asc`}:{field:t,dir:e.dir===`asc`?`desc`:`asc`}},compareValues(e,t,n=`asc`){let r=Oo(e,t);return n===`desc`?-r:r},compareRecords(e,t,n){let r=this.normalize(n);if(!r)return 0;let i=le(e,r.field),a=le(t,r.field);return this.compareValues(i,a,r.dir)},records(e,t){if(!e)return e;let n=this.normalize(t);return n?[...e].sort((e,t)=>this.compareRecords(e,t,n)):[...e]}};function Ao(e){let n=[],r=e=>{if(e!=null&&typeof e!=`boolean`){if(typeof e==`string`||typeof e==`number`||typeof e==`bigint`){n.push(String(e));return}if(Array.isArray(e)){e.forEach(r);return}t.default.isValidElement(e)&&r(e.props.children)}};return r(e),n.join(` `).replace(/\s+/g,` `).trim()}var jo=e=>e==null||e===``||typeof e==`boolean`||typeof e==`object`&&!Array.isArray(e)?[]:typeof e==`string`||typeof e==`number`?e.toString().split(`,`):e,Mo=e=>e?typeof e==`object`?{label:String(e?.label??``)||``,value:String(e?.value??``)||``}:{label:e?.toString()||``,value:e?.toString()||``}:{label:`@value`,value:`@value`},No=e=>e.map(e=>Mo({label:e.label??e.name??e.title??e._key??``,value:e.value??e._key??e.label??e.name??``}));function Po(e){return{fieldMap:e?.fieldMap,where:e?.where,order:e?.order,onLoad:e?.onLoad}}var Fo=(e,t,n)=>{let r=e?.[n.field],[i]=Object.entries(t||{});if(!i||!r)return!1;let[a,o]=i;return a===r&&o===n.dir},Io=(e,t,n,r,i)=>{let a=n||{...Eo,field:`label`},o=[...e.map(Mo),...t];return e.length===0&&Fo(i,r,a)?o:ko.records(o,a)||[]},Lo=({children:e,side:n})=>t.default.createElement(`span`,{className:X(Xa,n===`before`?`rounded-l-md rounded-r-none border-r-0`:`rounded-l-none rounded-r-md border-l-0`)},e),Ro=({name:e,onChange:n=void 0,defaultValue:r=void 0,required:i=!1,readOnlyAfterSet:a=!1,disabled:o=!1,placeholderOption:s=void 0,label:c=void 0,title:l=void 0,before:u=void 0,after:d=void 0,feedback:f=void 0,options:p=[],optionsSource:m=void 0,order:h=void 0,inheritWrapperClassName:g=!0,wrapperClassName:_=void 0,className:v=void 0,validator:y=void 0})=>{let{value:b,handleChange:x,formWrapClass:S}=Vu({name:e,onChange:n,wrapperClassName:_,defaultValue:r,inheritWrapperClassName:g}),C=Bu(e,{required:i,label:c,validator:y}),w=Y(`select`),T=ut(`select`),E=s??{label:T.placeholder,value:``},D=(0,t.useMemo)(()=>Po(m),[m?.fieldMap,m?.where,m?.order,m?.onLoad]),O=tr(),[k,A]=(0,t.useState)([]);(0,t.useEffect)(()=>O.subscribe(m?.path,e=>A(No(e)),D),[O,m?.path,D]);let j=(0,t.useMemo)(()=>{let e=Io(p,k,h,m?.order,D.fieldMap);return H(b&&!e.length?[...e,{label:`× ${b.toString()}`,value:b.toString()}]:e)},[p,k,h,m?.order,D.fieldMap,b]);!b&&!E&&j.length>0&&x?.({target:{name:e,value:j[0].value}});let M=(0,t.useId)();return t.default.createElement(Z,{className:S||w.Select.wrapperClassName},c&&t.default.createElement(Co,{label:c,required:i,htmlFor:M}),t.default.createElement(Z,{className:u||d?X(Ya,`flex-nowrap`):``},u&&t.default.createElement(Lo,{side:`before`},u),t.default.createElement(`select`,{id:M,name:e,className:X(qa,`appearance-none pr-8`,u&&`!rounded-l-none`,d&&`!rounded-r-none`,C&&`border-destructive focus-visible:ring-destructive/20`,v||w.Select.className),value:b??``,required:i,disabled:o||a&&!ie(b),onChange:x,title:l},E&&t.default.createElement(`option`,{key:`${M}-empty`,value:E.value},E.label),j.some(e=>e.group)?Object.entries(j.reduce((e,t)=>{let n=t.group??``;return(e[n]??=[]).push(t),e},{})).map(([e,n])=>e?t.default.createElement(`optgroup`,{key:e,label:e},n.map((n,r)=>t.default.createElement(`option`,{key:`${M}-${e}-${r}`,value:n.value},n.label))):n.map((e,n)=>t.default.createElement(`option`,{key:`${M}-nogroup-${n}`,value:e.value},e.label))):j.map((e,n)=>t.default.createElement(`option`,{key:`${M}-${n}`,value:e.value},e.label))),d&&t.default.createElement(Lo,{side:`after`},d)),C?t.default.createElement(io,{message:C}):f&&t.default.createElement(`div`,{className:`mt-1 text-xs text-muted-foreground`},f))},zo=e=>e.toLocaleLowerCase().normalize(`NFD`).replace(/[̀-ͯ]/g,``),Bo=({name:e,defaultValue:n=void 0,minItems:r=void 0,maxItems:i=void 0,onChange:a=void 0,required:o=!1,readOnlyAfterSet:c=!1,disabled:l=!1,label:u=void 0,title:d=void 0,placeholder:f=void 0,before:p=void 0,after:m=void 0,feedback:h=void 0,options:g=[],optionsSource:_=void 0,order:v=void 0,inheritWrapperClassName:y=!0,wrapperClassName:b=void 0,className:x=void 0,listClassName:S=void 0,optionClassName:C=void 0,validator:w=void 0,creatable:T=!1,onCreate:E=void 0})=>{let{value:D,handleChange:O,formWrapClass:k}=Vu({name:e,onChange:a,wrapperClassName:b,defaultValue:n,inheritWrapperClassName:y}),A=Bu(e,{required:o,label:u,validator:w}),j=Y(`select`),M=ut(`autocomplete`),N=(0,t.useMemo)(()=>jo(D),[D]),[P,F]=(0,t.useState)(()=>N);(0,t.useEffect)(()=>{ae(N,P)||F(N)},[N,P]);let I=(0,t.useMemo)(()=>Po(_),[_?.fieldMap,_?.where,_?.order,_?.onLoad]),L=tr(),[R,z]=(0,t.useState)([]);(0,t.useEffect)(()=>L.subscribe(_?.path,e=>z(No(e)),I),[L,_?.path,I]);let[B,ee]=(0,t.useState)([]),V=(0,t.useMemo)(()=>H(Io([...g,...B],R,v,_?.order,I.fieldMap),`value`),[g,B,R,v,_?.order,I.fieldMap]),te=(0,t.useMemo)(()=>new Map(V.map(e=>[e.value,e.label||e.value])),[V]),[ne,re]=(0,t.useState)(``),[U,W]=(0,t.useState)(!1),[G,oe]=(0,t.useState)(0),[K,se]=(0,t.useState)(null),ce=(0,t.useRef)(null),q=(0,t.useRef)(null),le=(0,t.useRef)(null),ue=P,de=!i||ue.length<i,fe=l||c&&!ie(D),pe=(0,t.useMemo)(()=>{let e=ne.trim(),t=zo(e),n=V.filter(e=>!ue.includes(e.value)).filter(e=>!t||zo(e.label||e.value).includes(t)||zo(e.value).includes(t)).map(e=>({kind:`option`,option:e})),r=!!e&&V.some(n=>zo(n.label||n.value)===t||n.value===e);return T&&e&&!r?[...n,{kind:`create`,text:e}]:n},[V,ue,ne,T]),me=(0,t.useId)(),he=`${me}-options`,ge=e=>`${me}-option-${e}`,_e=U&&de&&!fe,ve=(0,t.useCallback)(()=>{let e=ce.current;if(!e)return;let t=e.getBoundingClientRect(),n=window.innerHeight-t.bottom-8,r=t.top-8,i=n>=200||n>=r;se({...i?{top:t.bottom+4}:{bottom:window.innerHeight-t.top+4},left:t.left,width:t.width,maxHeight:Math.max(120,Math.min(288,i?n:r))})},[]);(0,t.useEffect)(()=>{if(!_e)return;ve();let e=()=>ve(),t=e=>{let t=e.target;ce.current?.contains(t)||le.current?.contains(t)||W(!1)};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),document.addEventListener(`mousedown`,t),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0),document.removeEventListener(`mousedown`,t)}},[_e,ve,ue.length]),(0,t.useEffect)(()=>{oe(e=>Math.min(e,Math.max(0,pe.length-1)))},[pe.length]),(0,t.useEffect)(()=>{if(!_e)return;let e=document.getElementById(ge(G));e&&typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`nearest`})},[G,_e]);let ye=t=>{F(t),O?.({target:{name:e,value:t}})},be=e=>{if(!e||ue.includes(e)||!de)return;let t=[...ue,e];ye(t),re(``),oe(0),i&&t.length>=i&&W(!1)},xe=async e=>{if(re(``),oe(0),await E?.(e)===!1){W(!1);return}ee(t=>t.some(t=>t.value===e)?t:[...t,{label:e,value:e}]),be(e)},Se=e=>{e&&(e.kind===`option`?be(e.option.value):xe(e.text))},Ce=e=>{ye(ue.filter(t=>t!==e))},we=e=>{if(e.key===`ArrowDown`){if(e.preventDefault(),!U){W(!0);return}oe(e=>Math.min(e+1,Math.max(0,pe.length-1)))}else if(e.key===`ArrowUp`)e.preventDefault(),oe(e=>Math.max(e-1,0));else if(e.key===`Enter`){if(e.preventDefault(),_e&&pe[G]){Se(pe[G]);return}let t=ne.trim();if(!t)return;let n=V.find(e=>e.value===t||zo(e.label||e.value)===zo(t));n?be(n.value):T&&xe(t)}else if(e.key===`Escape`){if(!_e)return;e.preventDefault(),e.nativeEvent.stopPropagation(),W(!1)}else e.key===`Tab`?W(!1):e.key===`Backspace`&&!ne&&ue.length>0&&Ce(ue[ue.length-1])},Te=_e&&K&&t.default.createElement(`ul`,{ref:le,id:he,role:`listbox`,"aria-label":Ao(u)||d||e,className:X(`fixed z-[250] overflow-y-auto rounded-xl border border-border/60 bg-popover/95 p-1 text-sm text-popover-foreground shadow-xl shadow-black/5 backdrop-blur supports-[backdrop-filter]:bg-popover/90 dark:shadow-black/20`,S||j.Autocomplete.listClassName),style:{top:K.top,bottom:K.bottom,left:K.left,width:K.width,maxHeight:K.maxHeight}},pe.length===0?t.default.createElement(`li`,{role:`presentation`,className:`px-2.5 py-2 text-muted-foreground`},M.noResults):pe.map((e,n)=>t.default.createElement(`li`,{key:e.kind===`option`?`option-${e.option.value}`:`create-${e.text}`,id:ge(n),role:`option`,"aria-selected":n===G,className:X(`cursor-pointer select-none rounded-md px-2.5 py-2 transition-colors`,n===G?`bg-accent text-accent-foreground`:`hover:bg-accent/60`,e.kind===`create`&&`font-medium`,C||j.Autocomplete.optionClassName),onMouseDown:e=>e.preventDefault(),onMouseEnter:()=>oe(n),onClick:()=>Se(e)},e.kind===`option`?e.option.label||e.option.value:M.create.replace(`{value}`,e.text))));return t.default.createElement(Z,{className:k||j.Autocomplete.wrapperClassName},u&&t.default.createElement(Co,{label:u,required:o,htmlFor:me}),t.default.createElement(Z,{className:p||m?X(Ya,`flex-nowrap`):``},p&&t.default.createElement(Lo,{side:`before`},p),t.default.createElement(`div`,{ref:ce,className:X(qa,`h-auto min-h-9 flex-wrap items-center gap-1 py-1.5 px-2`,p&&`rounded-l-none`,m&&`rounded-r-none`,A&&`border-destructive focus-within:ring-destructive/20`),onClick:()=>{fe||(q.current?.focus(),W(!0))}},ue.map(e=>t.default.createElement(`span`,{className:`inline-flex max-w-full items-center gap-1 rounded-full border border-primary/20 bg-primary/10 px-2 py-0.5 text-xs font-medium text-primary`,key:e},t.default.createElement(`span`,{className:`truncate`},te.get(e)??e),!fe&&t.default.createElement(`button`,{type:`button`,"aria-label":`${M.remove} ${te.get(e)??e}`,className:`ml-0.5 cursor-pointer opacity-60 transition-opacity hover:opacity-100`,onClick:t=>{t.stopPropagation(),Ce(e)}},`×`))),de&&t.default.createElement(`input`,{ref:q,id:me,type:`text`,role:`combobox`,"aria-expanded":!!(_e&&K),"aria-controls":he,"aria-autocomplete":`list`,"aria-activedescendant":_e&&pe[G]?ge(G):void 0,autoComplete:`off`,className:X(`min-w-[120px] flex-1 border-none bg-transparent text-sm outline-none placeholder:text-muted-foreground`,x||j.Autocomplete.className),required:o&&ue.length<(r||0),disabled:fe,placeholder:T?f??M.createPlaceholder:f,title:d,value:ne,onChange:e=>{re(e.target.value),oe(0),W(!0)},onFocus:()=>W(!0),onBlur:()=>W(!1),onKeyDown:we})),m&&t.default.createElement(Lo,{side:`after`},m)),Te&&typeof document<`u`?(0,s.createPortal)(Te,document.body):null,A?t.default.createElement(io,{message:A}):h&&t.default.createElement(`div`,{className:`mt-1 text-xs text-muted-foreground`},h))},Vo=({name:e,defaultValue:n=void 0,onChange:r=void 0,required:i=!1,readOnlyAfterSet:a=!1,disabled:o=!1,label:s=void 0,title:c=void 0,before:l=void 0,after:u=void 0,feedback:d=void 0,options:f=[],optionsSource:p=void 0,order:m=void 0,inheritWrapperClassName:h=!0,wrapperClassName:g=void 0,className:_=void 0,validator:v=void 0,itemClassName:y=void 0})=>{let{value:b,handleChange:x,formWrapClass:S}=Vu({name:e,onChange:r,wrapperClassName:g,defaultValue:n,inheritWrapperClassName:h}),C=Bu(e,{required:i,label:s,validator:v}),w=(0,t.useMemo)(()=>jo(b),[b]),[T,E]=(0,t.useState)(()=>w);(0,t.useEffect)(()=>{ae(w,T)||E(w)},[w,T]);let D=(0,t.useMemo)(()=>Po(p),[p?.fieldMap,p?.where,p?.order,p?.onLoad]),O=tr(),[k,A]=(0,t.useState)([]);(0,t.useEffect)(()=>O.subscribe(p?.path,e=>A(No(e)),D),[O,p?.path,D]);let j=(0,t.useMemo)(()=>H(Io(f,k,m,p?.order,D.fieldMap),`value`),[f,k,m,p?.order,D.fieldMap]),M=t=>{E(n=>{let r=n.filter(e=>e!==t);return setTimeout(()=>{x?.({target:{name:e,value:r}})},0),r})},N=t=>{let n=t.target.value;if(!t.target.checked){M(n);return}j.filter(e=>e.value===n).length!==0&&(T.includes(n)||E(t=>{let r=[...t,n];return setTimeout(()=>{x?.({target:{name:e,value:r}})},0),r}))},P=(0,t.useId)(),F=o||a&&T.length>0,I=t.default.createElement(Z,{className:X(l||u?X(qa,`h-auto min-h-9 w-full min-w-0 flex-col items-start py-2 px-3`):``,`space-y-1`)},j.map(n=>{let r=oe(`cl-${P}-${e}-${n.value}`);return t.default.createElement(`div`,{key:r,className:X(`flex w-full items-center gap-2`,y)},t.default.createElement(`input`,{className:`h-4 w-4 shrink-0 rounded-sm border border-input bg-background text-primary shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,type:`checkbox`,id:r,name:e,value:n.value,onChange:N,checked:T.includes(n.value),disabled:F,title:c}),t.default.createElement(`label`,{htmlFor:r,className:`text-sm font-medium leading-none text-foreground`},n.label))}));return t.default.createElement(Z,{className:X(S,_)},s&&t.default.createElement(t.default.Fragment,null,t.default.createElement(Co,{label:s,required:i}),t.default.createElement(`hr`,{className:`mt-0`})),l||u?t.default.createElement(Z,{className:X(Ya,`flex-nowrap items-stretch`)},l&&t.default.createElement(Lo,{side:`before`},l),I,u&&t.default.createElement(Lo,{side:`after`},u)):I,C?t.default.createElement(io,{message:C}):d&&t.default.createElement(`div`,{className:`mt-1 text-xs text-muted-foreground`},d))};function Ho(e,t){if(!t)return e;let n=e.indexOf(`?`),r=n===-1?e:e.slice(0,n),i=n===-1?``:e.slice(n),a=r.lastIndexOf(`.`);return a===-1?`${r}${t}${i}`:`${r.slice(0,a)}${t}${r.slice(a)}${i}`}function Uo(e,t){return t.mode===`explicit`?t.variants.map(e=>`width`in e?`${e.src} ${e.width}w`:`${e.src} ${e.density}x`).join(`, `):t.mode===`density`?(t.densities??[1,2]).map(n=>`${Ho(e,t.suffix?t.suffix(n):n===1?``:`@${n}x`)} ${n}x`).join(`, `):t.widths.map(n=>`${Ho(e,t.suffix?t.suffix(n):`-${n}w`)} ${n}w`).join(`, `)}function Wo(e,t){let n=e.priority?`eager`:e.loading??`lazy`,r={src:e.src,alt:e.alt,width:e.width,height:e.height,loading:n,decoding:e.decoding??`async`,...e.priority&&{fetchpriority:`high`},...e.title&&{title:e.title},...e.className&&{class:e.className},...e.crossorigin&&{crossorigin:e.crossorigin},...e.referrerpolicy&&{referrerpolicy:e.referrerpolicy}},i=[];return e.fit&&i.push(`object-fit: ${e.fit}`),e.position&&i.push(`object-position: ${e.position}`),i.length&&(r.style=i.join(`; `)),t&&(r.srcset=Uo(e.src,t),t.mode!==`density`&&t.sizes&&(r.sizes=t.sizes)),Object.fromEntries(Object.entries(r).filter(([,e])=>e!==void 0))}function Go(e){let t=[`src`,`srcset`,`sizes`,`alt`,`title`,`width`,`height`,`style`,`class`,`loading`,`decoding`,`fetchpriority`,`crossorigin`,`referrerpolicy`].filter(t=>e[t]!==void 0).map(t=>`${t}="${String(e[t])}"`);if(t.length===0)return`<img />`;let[n,...r]=t;return r.length===0?`<img ${n} />`:`<img ${n}\n ${r.join(`
|
|
3
|
+
`)}var Ye=`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='50' fill='%23eef2f7'/%3E%3Ccircle cx='50' cy='38' r='16' fill='%2364758b'/%3E%3Cpath d='M22 84c3.8-20 19-31 28-31s24.2 11 28 31c.5 2.8-1.7 5-4.5 5h-47c-2.8 0-5-2.2-4.5-5z' fill='%2364758b'/%3E%3C/svg%3E`,Xe=({children:e,config:n=void 0})=>{let r=(0,t.useMemo)(()=>Be(n),[n]),i=Ue(r.themes)??r.theme,a=r.themes[i]??r.themes.default,o=a.preset,[s,c]=(0,t.useState)(r.themes),[l,u]=(0,t.useState)(i),[d,f]=(0,t.useState)(We()??r.defaultMode??o.mode??`light`),[p,m]=(0,t.useState)(o.radius??Ie.default.preset.radius),[h,g]=(0,t.useState)(o.fontSans??``),[_,v]=(0,t.useState)(o.fontMono??``),[y,b]=(0,t.useState)(o.colors),[x,S]=(0,t.useState)(o.dark),[C,w]=(0,t.useState)(()=>Re(a.components)),[T,E]=(0,t.useState)(a.motion);(0,t.useEffect)(()=>{let e=Ue(r.themes)??r.theme,t=r.themes[e]??r.themes.default,n=t.preset;c(r.themes),u(e),f(We()??r.defaultMode??n.mode??`light`),m(n.radius??Ie.default.preset.radius),g(n.fontSans??``),v(n.fontMono??``),b(n.colors),S(n.dark),E(t.motion)},[r]),(0,t.useEffect)(()=>{let e=s[l]??s.default,t=Re(e.components);Le(t,r.themeOverride??{}),w(t),E(e.motion)},[l,r.themeOverride,s]),(0,t.useEffect)(()=>{Ge(l,d)},[l,d]),(0,t.useEffect)(()=>{let e=(s[l]??s.default).preset;Je({mode:d,radius:p,fontSans:h,fontMono:_,colors:y,dark:x,variables:e.variables})},[d,s,l,p,h,_,y,x]);let D=(0,t.useMemo)(()=>({mode:d,resolvedMode:Ke(d),theme:l,primary:y?.primary??Ie.default.preset.colors.primary,primaryForeground:y?.primaryForeground??Ie.default.preset.colors.primaryForeground,radius:p,fontSans:h,fontMono:_,colors:y,dark:x,themes:s,setMode:f,toggleMode(){f(e=>Ke(e)===`dark`?`light`:`dark`)},applyTheme(e){s[e]||(process.env.NODE_ENV!==`production`&&console.warn(`[ThemeProvider] Unknown theme "${e}", falling back to "default".`),e=`default`);let t=(s[e]??s.default).preset;u(e),f(t.mode??`light`),m(t.radius??Ie.default.preset.radius),g(t.fontSans??``),v(t.fontMono??``),b(t.colors),S(t.dark)},setPrimary(e){let t=e.split(` `)[0];b(n=>({...n,primary:e,ring:e,secondary:`${t} 40% 96%`,secondaryForeground:`${t} 47% 11%`,accent:`${t} 40% 94%`,accentForeground:`${t} 47% 11%`})),S(n=>({...n,primary:e,ring:e,secondary:`${t} 30% 18%`,secondaryForeground:`${t} 10% 96%`,accent:`${t} 30% 18%`,accentForeground:`${t} 10% 96%`}))},setRadius:m,setFont(e,t){g(e),t!==void 0&&v(t)},setColors(e){b(e)},setTokens(e){b(t=>({...t,...e})),S(t=>({...t,...e}))}}),[d,l,p,h,_,y,x,s]);return t.default.createElement(Fe.Provider,{value:D},t.default.createElement(Pe.Provider,{value:T},t.default.createElement(Ne.Provider,{value:C},e)))},Y=e=>(0,t.useContext)(Ne),Ze=()=>(0,t.useContext)(Pe),Qe=()=>{let e=(0,t.useContext)(Fe);if(!e)throw Error(`useThemeController must be used inside <App> or <ThemeProvider>.`);return e},$e={common:{save:`Save`,cancel:`Cancel`,delete:`Delete`,close:`Close`,back:`Back`,search:`Search`,loading:`Loading...`,noDataFound:`No data found`,pageNavigation:`Page navigation`,previous:`Previous`,next:`Next`,notFoundMessage:`Oops! Page not found.`,goHome:`Go to Home`},auth:{signIn:`Sign in`,signOut:`Sign out`,connect:`Connect`,connected:`Connected`,authenticated:`Authenticated`,notConfigured:`Auth provider "{provider}" is not configured. Add the required client key before using this action.`,notImplemented:`AuthProvider does not implement signIn().`},form:{headerAdd:`New record`,headerEdit:`Edit record`,buttonSave:`Save`,buttonDelete:`Delete`,buttonBack:`Back`,requiredField:`{field} is required`,requiredFieldGeneric:`Required field`,saveSuccess:`Record saved successfully`,deleteSuccess:`Record deleted successfully`,noticeRequiredFields:`Please fill in all required fields`,noChangesToSave:`No changes to save`,draftRestoreTitle:`Unsaved changes found`,draftRestoreMessage:`A local draft is available for this form. Restore it or discard it.`,draftRestoreAction:`Restore`,draftDiscardAction:`Discard`,draftRestoredTitle:`Draft restored`,draftRestoredMessage:`The local draft has been restored. You can still discard it for a few seconds.`,draftSaveError:`Could not save a local draft — the change is too large for browser storage (e.g. an unsent image upload). Save the form to keep it.`},grid:{buttonAdd:`Add`,deleteConfirm:`Delete record`,emptyState:`No records found`,filtersButton:`Filters`,filtersPanelTitle:`Filters`,filtersClearAll:`Clear all`,filtersSelectPlaceholder:`All`,filtersRangeFrom:`From`,filtersRangeTo:`To`,filtersRangeMin:`Min`,filtersRangeMax:`Max`,filtersSelectedCountTemplate:`{count} selected`},select:{placeholder:`Select...`,loading:`Loading...`},modal:{save:`Save`,delete:`Delete`,cancel:`Cancel`,close:`Close`,ok:`Ok`,yes:`Yes`,no:`No`},upload:{clickOrDrag:`Click to upload or drag and drop`,dropToUpload:`Drop to upload`,uploadMore:`Upload more files`,editFileName:`Edit file name`,editorImage:`Edit image`,loaded:`Loaded`,removeFile:`Remove`,uploadAnother:`Upload another file`,dropToParse:`Drop to parse`,insertFromUrl:`Insert from URL`,urlPlaceholder:`https://…/image.png`,invalidUrl:`Enter a valid URL`},notifications:{title:`Notifications`,seeAll:`See all`},code:{copyCode:`Copy code`,copy:`Copy`,copied:`Copied`,codeLanguageDefault:`text`},table:{noDataFound:`No data found`,selectAllRows:`Select all rows`,sortBy:`Sort by {label}`,sortByCurrent:`Sort by {label}, currently {direction}`,selectRow:`Select row {key}`,reorderRow:`Reorder row {key}`},gallery:{selectItem:`Select item {key}`},crop:{enableCrop:`Click {scale} to enable this crop`,variants:`Variants`,outputFile:`Output file`,active:`active`,removeVariant:`Remove {scale} variant`,fileName:`File name`,altText:`Alt text`,altTextPlaceholder:`Describe this image…`},imageEditor:{title:`Image Editor`,save:`Save`,undo:`Undo`,redo:`Redo`,zoomOut:`Zoom Out`,zoomIn:`Zoom In`,crop:`Crop`,flipHorizontal:`Flip horizontal`,flipVertical:`Flip vertical`,rotate:`Rotate 90°`,freeDrawing:`Free drawing`,arrow:`Arrow`,text:`Text`,rectangle:`Rectangle`,circle:`Circle`,triangle:`Triangle`},prompt:{noProviders:`No AI providers are registered.`,aiNotConfiguredEdit:`AI is not configured. You can still edit and save this prompt.`,aiNotConfiguredRun:`AI is not configured. Prompt execution is unavailable.`,aiNotConfiguredShort:`AI not configured`,toggleOnTitle:`Prompt ON. In PromptRun, this textarea is treated as the prompt template and can be executed against the current record. Turn OFF to skip the prompt system and use the plain fallback text instead.`,toggleOffTitle:`Prompt OFF. In PromptRun, the prompt system is skipped and the plain fallback text is used directly. Turn ON to use this textarea as the prompt template.`,closeEditor:`Close prompt editor`,editSettings:`Edit prompt settings`,attachFiles:`Attach files`,dropFilesHere:`Drop files to attach`,modelPricing:`Input / output, USD per 1M tokens`,modelPriceNotFound:`Price not found`,attachmentsNotSupported:`The selected AI provider does not support image or document attachments.`,run:`Run prompt`,runFailed:`Prompt execution failed.`,noMatchingCommands:`No matching commands`,tokenUsage:`Token usage`,tokenInput:`Input: {count} tok`,tokenOutput:`Output: {count} tok`,tokenContext:`Context: {percent}%`,tokenCost:"Cost: ~${amount}",tokenTime:`Time: {seconds}s`,tokenUsageEmpty:`Run the prompt to see token usage.`,hidePreview:`Hide preview`,showPreview:`Show resolved preview`,noProvider:`No AI provider is available for this prompt.`,noResponse:`The AI provider returned no response.`,promptLabel:`Prompt: `,defaultOption:`Default`},layout:{maxElements:`You already have 12 items in the row: remove one before adding another.`,noSpace:`No space available: cannot resize items enough to insert this field.`,dragToMove:`Drag to move`,remove:`Remove`,dragToResize:`Drag to resize`,dragHere:`Drag an element here`},sideNav:{expandGroup:`Expand`,collapseGroup:`Collapse`,expandSidebar:`Expand sidebar`,collapseSidebar:`Collapse sidebar`},autocomplete:{noResults:`No results`,create:`Create «{value}»`,createPlaceholder:`Type or press Enter to create...`,remove:`Remove`},addressAutocomplete:{placeholder:`Search an address...`,noResults:`No matching address`,searching:`Searching...`,notConfigured:`Address search is not configured (missing Google Maps API key).`,loadError:`Could not load address search.`}};function et(e){return e}function tt(e){return e}function nt(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>String(t[n]??`{${n}}`))}function rt(e,t){let n=e=>typeof e==`object`&&!!e&&!Array.isArray(e),r=(e,t)=>{if(!n(e)||!n(t))return t??e;let i={...e};for(let e of Object.keys(t))i[e]=e in i?r(i[e],t[e]):t[e];return i};return r(e,t)}var it=`llmnative_locale`,at=31536e3;function ot(){if(typeof document>`u`)return null;let e=document.cookie.match(/(?:^|;\s*)llmnative_locale=([^;]+)/);return e?decodeURIComponent(e[1]):null}function st(e){typeof document<`u`&&(document.cookie=`${it}=${encodeURIComponent(e)}; max-age=${at}; path=/; SameSite=Lax`)}var ct=(0,t.createContext)(null),lt=({children:e,config:n})=>{let[r,i]=(0,t.useState)({}),a=(0,t.useMemo)(()=>{let e=[...Object.keys(n?.translations??{}),...Object.keys(r)];return Array.from(new Set([`en`,...e.filter(e=>e!==`en`)]))},[n?.translations,r]),[o,s]=(0,t.useState)(()=>{let e=ot();return e&&a.includes(e)?e:n?.locale??`en`}),c=(0,t.useMemo)(()=>{let e=n?.translations?.[o],t=r[o],i=$e;return e&&(i=rt(i,e)),t&&(i=rt(i,t)),i},[o,n?.translations,r]),l=(0,t.useCallback)(e=>{st(e),s(e)},[]),u=(0,t.useCallback)((e,t)=>{i(n=>{let r=n[e],i=r?rt(r,t):t;return{...n,[e]:i}})},[]),d=(0,t.useMemo)(()=>({dict:c,locale:o,availableLocales:a,setLocale:l,registerTranslations:u}),[c,o,a,l,u]);return t.default.createElement(ct.Provider,{value:d},e)};function ut(e){let n=(0,t.useContext)(ct);if(!n)throw Error(`useI18n must be used inside <App> or <I18nProvider>.`);return e===void 0?n:e.split(`.`).reduce((e,t)=>e?.[t],n.dict)}function X(...e){return(0,i.twMerge)((0,r.clsx)(e))}var dt=`mx-auto w-full px-3 sm:max-w-[540px] md:max-w-[720px] lg:max-w-[960px] xl:max-w-[1140px] 2xl:max-w-[1320px]`,ft=`rf-row`,pt=`rf-col`,mt=`rf-col-fill`,ht=`rf-col-12`,gt=(e,t)=>e===`xs`?`rf-col-${t}`:`rf-col-${e}-${t}`,_t=e=>e===`xs`?`rf-col-auto`:`rf-col-${e}-auto`,vt=e=>({auto:_t(e),1:gt(e,1),2:gt(e,2),3:gt(e,3),4:gt(e,4),5:gt(e,5),6:gt(e,6),7:gt(e,7),8:gt(e,8),9:gt(e,9),10:gt(e,10),11:gt(e,11),12:gt(e,12)}),yt={xs:vt(`xs`),sm:vt(`sm`),md:vt(`md`),lg:vt(`lg`),xl:vt(`xl`),xxl:vt(`xxl`)},bt=(e,t)=>{let n=String(t);return yt[e][n]},Z=({children:e=void 0,className:n=void 0,style:r=void 0,onClick:i=void 0})=>n?t.default.createElement(`div`,{className:n,style:r,onClick:i},e):t.default.createElement(t.default.Fragment,null,e),xt=({children:e=void 0,className:n=void 0,style:r=void 0})=>t.default.createElement(`div`,{className:X(dt,n),style:r},e),St=({children:e=void 0,className:n=void 0,style:r=void 0})=>t.default.createElement(`div`,{className:X(ft,n),style:r},e),Ct=({children:e=void 0,className:n=void 0,style:r=void 0,defaultSize:i=void 0,xxl:a=void 0,xl:o=void 0,lg:s=void 0,md:c=void 0,sm:l=void 0,xs:u=void 0})=>{let d=u??i,f=[pt,d===void 0&&l===void 0&&c===void 0&&s===void 0&&o===void 0&&a===void 0?mt:d===void 0?ht:bt(`xs`,d),l===void 0?void 0:bt(`sm`,l),c===void 0?void 0:bt(`md`,c),s===void 0?void 0:bt(`lg`,s),o===void 0?void 0:bt(`xl`,o),a===void 0?void 0:bt(`xxl`,a),n];return t.default.createElement(`div`,{className:X(f),style:r},e)};function wt(e){return typeof e==`object`&&!!e&&!t.default.isValidElement(e)&&`content`in e}function Tt(e,t=`info`,n){if(e!=null&&e!==!1)return wt(e)?{...e,variant:e.variant||t,className:X(e.className,n)}:{content:e,variant:t,className:n}}var Et=({badge:e,content:n=void 0,variant:r=void 0,defaultType:i=`info`,className:a=void 0,descriptorOnly:o=!1,children:s=void 0})=>{let c=n===void 0?e:{content:n,variant:r,className:a};if(o&&n===void 0&&!wt(e))return e??null;let l=Tt(c,r||i,a);return l?s===void 0?t.default.createElement(Dt,{variant:l.variant,className:l.className},l.content):t.default.createElement(Dt,{variant:l.variant,after:l.content,className:l.className},s):s??null},Dt=({children:e,variant:n=`info`,before:r=void 0,after:i=void 0,wrapperClassName:a=void 0,className:o=void 0})=>{let s=Y(`badge`);if(t.default.isValidElement(e)){let c=X(`badge badge-overlay badge-`+n,`absolute top-0 z-10`,o||s.Badge.className);return t.default.createElement(`span`,{className:X(`relative inline-flex`,a)},e,r!==void 0&&t.default.createElement(`span`,{className:X(c,`left-0 -translate-x-1/2 -translate-y-1/2`)},r),i!==void 0&&t.default.createElement(`span`,{className:X(c,`right-0 translate-x-1/2 -translate-y-1/2`)},i),r===void 0&&i===void 0&&t.default.createElement(`span`,{className:X(c,`right-0 translate-x-1/2 -translate-y-1/2 !p-0 !min-w-0 w-2.5 h-2.5 rounded-full`)}))}return t.default.createElement(Z,{className:a},r,t.default.createElement(`span`,{className:X(`badge badge-`+n,o||s.Badge.className)},e),i)},Ot={from:{},to:{},transition:{duration:0,easing:`linear`,delay:0,properties:[`opacity`,`transform`,`box-shadow`]},reducedMotion:`always`},kt={from:{},to:{},transition:{duration:160,easing:`cubic-bezier(0.2, 0, 0, 1)`,delay:0,properties:[`opacity`,`transform`,`box-shadow`]},reducedMotion:`respect-user`},At=()=>typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,jt=(e,t,n=`fade`)=>{let r=e===void 0?n:e;return r===!1?Ot:typeof r==`string`?t[r]??t.none??Ot:r},Mt=e=>e.properties.map(t=>`${t} ${e.duration}ms ${e.easing} ${e.delay}ms`).join(`, `),Nt=(e,t={},n)=>{let r=jt(n,t,`fade`),i=jt(e,t,n),a={...kt.transition,...r.transition,...i.transition},o=i.reducedMotion??r.reducedMotion??kt.reducedMotion,s=o===`always`||o===`respect-user`&&At(),c={duration:s?0:a.duration,easing:s?`linear`:a.easing,delay:s?0:a.delay,properties:a.properties};return{from:s?{}:{...r.from??{},...i.from??{}},to:s?{}:{...r.to??{},...i.to??{}},transition:c,reducedMotion:o,transitionValue:Mt(c)}},Pt=(e,n)=>{let r=Ze();return t.default.useMemo(()=>Nt(e,r,n),[e,r,n])},Ft=(e,n,r,i)=>{let a=Pt(n,r);return t.default.useMemo(()=>({...i,...e?a.to:a.from,transition:[i?.transition,a.transitionValue].filter(Boolean).join(`, `)}),[e,i,a])},It=(e=!1,n,r,i=`press`)=>{let a=Pt(r,i),[o,s]=t.default.useState(!1);return{style:t.default.useMemo(()=>({...n,...o&&!e?a.to:a.from,transition:[n?.transition,a.transitionValue].filter(Boolean).join(`, `)}),[n,e,a,o]),pressHandlers:{onMouseDown:()=>!e&&s(!0),onMouseUp:()=>s(!1),onMouseLeave:()=>s(!1),onBlur:()=>s(!1)}}},Lt=(e,n,r=`fadeUp`)=>{let[i,a]=t.default.useState(!1);return t.default.useEffect(()=>{a(!1);let e=window.requestAnimationFrame(()=>a(!0));return()=>window.cancelAnimationFrame(e)},[n,r]),Ft(i,n,r,e)},Rt={add:`Plus`,"arrow-arc-left":`Undo2`,"arrow-arc-right":`Redo2`,"arrow-line-down":`FlipVertical`,"arrow-line-right":`FlipHorizontal`,"camera-rotate":`RotateCw`,"caret-down":`ChevronDown`,"caret-right":`ChevronRight`,close:`X`,dashboard:`LayoutDashboard`,edit:`Pencil`,file:`FileText`,"floppy-disk":`Save`,fullscreen:`Maximize`,"fullscreen-exit":`Minimize`,github:`GitBranch`,"house-door":`Home`,"link-break":`Unlink`,"magnifying-glass-minus":`ZoomOut`,"magnifying-glass-plus":`ZoomIn`,rectangle:`Square`,"text-t":`Type`,trash:`Trash2`,warning:`TriangleAlert`};function zt(e){return e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}var Bt=class{id=`lucide`;resolve(e){let t=Rt[e]??zt(e);return a[t]??null}},Vt={add:`Plus`,"arrow-arc-left":`ArrowArcLeft`,"arrow-arc-right":`ArrowArcRight`,"arrow-line-down":`ArrowLineDown`,"arrow-line-right":`ArrowLineRight`,"camera-rotate":`CameraRotate`,"caret-down":`CaretDown`,"caret-right":`CaretRight`,close:`X`,dashboard:`SquaresFour`,edit:`PencilSimple`,"external-link":`ArrowSquareOut`,file:`FileText`,"floppy-disk":`FloppyDisk`,fullscreen:`CornersOut`,"fullscreen-exit":`CornersIn`,github:`GithubLogo`,"house-door":`House`,"link-break":`LinkBreak`,"magnifying-glass-minus":`MagnifyingGlassMinus`,"magnifying-glass-plus":`MagnifyingGlassPlus`,menu:`List`,rectangle:`Rectangle`,search:`MagnifyingGlass`,settings:`Gear`,"text-t":`TextT`,trash:`Trash`,warning:`Warning`,layers:`Stack`};function Ht(e){return e.split(`-`).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(``)}var Ut=class{weight;id=`phosphor`;_cache=new Map;constructor(e=`regular`){this.weight=e}resolve(e){let n=this._cache.get(e);if(n)return n;let r=Vt[e]??Ht(e),i=o[r];if(!i)return null;let a=this.weight,s=e=>t.default.createElement(i,{weight:a,...e});return this._cache.set(e,s),s}},Wt=t.default.createContext(null),Gt=t.default.createContext(null),Kt={lucide:new Bt,phosphor:new Ut},qt=`lucide`;function Jt(e){return!!e&&typeof e==`object`&&typeof e.id==`string`&&typeof e.resolve==`function`}function Yt(e){if(!e)return{defaultId:qt,providers:{...Kt},aliases:{}};if(typeof e==`string`)return{defaultId:e,providers:{...Kt},aliases:{}};if(Jt(e))return{defaultId:e.id,providers:{...Kt,[e.id]:e},aliases:{}};if(`default`in e&&`providers`in e){let t=e;return{defaultId:t.default,providers:{...Kt,...t.providers},aliases:t.aliases??{}}}return{defaultId:e.provider.id,providers:{...Kt,[e.provider.id]:e.provider},aliases:e.aliases??{}}}function Xt(e,t){return Object.keys(t).length===0?e:{id:e.id,resolve(n){return e.resolve(t[n]??n)}}}function Zt({provider:e,config:n,children:r}){let i=t.default.useMemo(()=>Yt(n??e),[n,e]),[a,o]=t.default.useState(i.providers),[s,c]=t.default.useState(i.defaultId);t.default.useEffect(()=>{o(i.providers),c(i.defaultId)},[i]);let l=a[s]??a[qt],u=t.default.useMemo(()=>l?Xt(l,i.aliases):null,[l,i.aliases]),d=t.default.useMemo(()=>({providerId:l?.id??qt,providers:a,aliases:i.aliases,setProvider(e){if(a[e]){c(e);return}process.env.NODE_ENV!==`production`&&console.warn(`[IconProvider] Unknown provider "${e}", falling back to "${qt}".`),c(qt)},registerProvider(e,t){o(n=>({...n,[e]:t}))},resolve(e){return u?.resolve(e)??null}}),[l,a,i.aliases,u]);return t.default.createElement(Gt.Provider,{value:d},t.default.createElement(Wt.Provider,{value:u},r))}function Qt(){return t.default.useContext(Wt)}function $t(){let e=t.default.useContext(Gt);if(!e)throw Error(`useIconController must be used inside <App> or <IconProvider>.`);return e}var en=new Bt,Q=({name:e,size:n=16,className:r,style:i,provider:a,label:o,weight:s})=>{let c=Qt(),l=a??c??en;if(!l||typeof e!=`string`||!e.trim())return null;let u=l.resolve(e);return u?t.default.createElement(u,{size:n,className:r,style:i,weight:s,"aria-label":o,"aria-hidden":!o||void 0}):null},tn=`btn`,nn=`btn-primary`,rn=`btn-secondary`,an=`btn-danger`,on=`btn-success`,sn=`btn-warning`,cn=`btn-info`,ln=`btn-light`,un=`btn-dark`,dn=`btn-outline-primary`,fn=`btn-outline-secondary`,pn=`btn-outline-danger`,mn=`btn-outline-success`,hn=`btn-link`,gn=e=>{switch(e){case`primary`:return nn;case`secondary`:return rn;case`danger`:return an;case`success`:return on;case`warning`:return sn;case`info`:return cn;case`light`:return ln;case`dark`:return un;case`outline-primary`:return dn;case`outline-secondary`:return fn;case`outline-danger`:return pn;case`outline-success`:return mn;case`link`:return hn;default:return}},_n=({onClick:e,icon:n=void 0,label:r=void 0,badge:i=void 0,title:a=void 0,ariaLabel:o=void 0,disabled:s=!1,loading:c=!1,before:l=void 0,after:u=void 0,wrapperClassName:d=void 0,className:f=void 0,iconClassName:p=void 0,style:m=void 0,loadingLabel:h=void 0,variant:g=void 0,motion:_=void 0}={})=>{let[v,y]=(0,t.useState)(c),[b,x]=(0,t.useState)(s),[S,C]=(0,t.useState)(``),w=e=>{C(e.message??``)},T=Y(`button`),E=It(b||v,m,_??T.LoadingButton.motion?.press??`press`),D=h??(S||(typeof r==`string`?`${r}...`:r));(0,t.useEffect)(()=>{y(c),x(s)},[c,s]);let O=t.default.createElement(`button`,{type:`button`,title:a,"aria-label":o||n&&!r&&a||void 0,className:X(`btn`,g?gn(g):f||T.LoadingButton.className,g?f:void 0,v&&`whitespace-nowrap`),style:E.style,disabled:b||v,...E.pressHandlers,onClick:async t=>{t.stopPropagation(),x(!0),y(!0),await e?.(t,w),y(!1),x(!1)}},v&&t.default.createElement(t.default.Fragment,null,t.default.createElement(`span`,{className:X(D&&`mr-1`,`inline-block h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent`)}),D&&t.default.createElement(`span`,null,D)),n&&!v&&t.default.createElement(Q,{name:n,className:X(r&&`mr-1`,p)}),!v&&r);return t.default.createElement(Z,{className:d},l,t.default.createElement(Et,{badge:v?void 0:i},O),u)},vn=({onClick:e,icon:n=void 0,label:r=void 0,badge:i=void 0,title:a=void 0,ariaLabel:o=void 0,disabled:s=!1,before:c=void 0,after:l=void 0,wrapperClassName:u=void 0,className:d=void 0,iconClassName:f=void 0,style:p=void 0,variant:m=void 0,motion:h=void 0}={})=>{let g=Y(`button`),_=It(s,p,h??g.ActionButton.motion?.press??`press`),v=t.default.createElement(`button`,{type:`button`,title:a,"aria-label":o||n&&!r&&a||void 0,className:X(`btn`,m?gn(m):d||g.ActionButton.className,m?d:void 0),style:_.style,disabled:s,..._.pressHandlers,onClick:t=>{t.preventDefault(),t.stopPropagation(),e?.(t)}},n&&t.default.createElement(Q,{name:n,className:X(r&&`mr-1`,f)}),r);return t.default.createElement(Z,{className:u},c,t.default.createElement(`span`,{title:s?a:void 0,style:s?{cursor:`not-allowed`}:void 0},t.default.createElement(Et,{badge:i},v)),l)},yn=({label:e=void 0,before:r=void 0,after:i=void 0,wrapperClassName:a=void 0,className:o=void 0})=>{let s=(0,n.useNavigate)(),c=Y(`button`),l=ut(`common`);return t.default.createElement(Z,{className:a},r,t.default.createElement(`a`,{href:`#`,className:X(`btn`,o||c.LinkButton.className),onClick:e=>{e.preventDefault(),s(-1)}},e??l.back),i)},bn=({label:e,href:n,before:r=void 0,after:i=void 0,wrapperClassName:a=void 0,className:o=void 0})=>(Y(`button`),t.default.createElement(Z,{className:a},r,t.default.createElement(`h1`,{className:X(`m-0 text-2xl font-bold`,o)},e+` `,t.default.createElement(`a`,{href:n,target:`_blank`,rel:`noopener noreferrer`},t.default.createElement(Q,{name:`external-link`}))),i)),xn=({title:e,href:n,imageSrc:r,width:i,before:a=void 0,after:o=void 0,wrapperClassName:s=void 0,className:c=void 0})=>t.default.createElement(Z,{className:s},a,t.default.createElement(`a`,{href:n,className:X(`mr-1`,c),target:`_blank`,title:e,rel:`noopener noreferrer`},t.default.createElement(`img`,{src:r,width:i||`100`,height:`30`,alt:e})),o),Sn=`globalVars`,Cn=(0,t.createContext)(void 0),wn=()=>JSON.parse(localStorage.getItem(Sn)||`{}`),Tn=({children:e})=>{let[n,r]=(0,t.useState)(()=>wn());(0,t.useEffect)(()=>{let e=e=>{e.storageArea===localStorage&&e.key===Sn&&r(wn())};return window.addEventListener(`storage`,e),()=>{window.removeEventListener(`storage`,e)}},[]);let i=e=>{localStorage.setItem(Sn,JSON.stringify(e)),r(e)};return t.default.createElement(Cn.Provider,{value:{globalVars:n,setGlobalVars:(e,t)=>{let r={...n,[t]:e};i(r)},removeGlobalVars:e=>{let t={...n};delete t[e],i(t)}}},e)},En=e=>{let n=(0,t.useContext)(Cn);if(!n)throw Error(`useGlobalVars must be used within a GlobalProvider`);let{globalVars:r,setGlobalVars:i,removeGlobalVars:a}=n;return[r[e]??null,t=>i(t,e),()=>a(e)]},Dn=(e=null)=>{let t=wn();return e?t[e]||{}:t},On=(e,t)=>{let n={...wn(),[t]:e};localStorage.setItem(Sn,JSON.stringify(n))},kn=e=>{let t={...wn()};delete t[e],localStorage.setItem(Sn,JSON.stringify(t))},An=(0,t.createContext)(null),jn=({registry:e,defaultKey:n,children:r})=>{let i=(0,t.useMemo)(()=>({registry:e,defaultKey:n}),[e,n]);return t.default.createElement(An.Provider,{value:i},r)},Mn=e=>{let n=(0,t.useContext)(An);if(!n)throw Error(`useAuthProvider must be used inside <App providers={...} />.`);let r=e??n.defaultKey,i=n.registry[r];if(!i)throw Error(`AuthProvider '${r}' is not registered. Available: ${Object.keys(n.registry).join(`, `)}`);return i},Nn={basename:e=>e.split(`/`).filter(Boolean).pop()||``,extname:e=>{let t=e.lastIndexOf(`.`);return t>0?e.slice(t):``},dirname:e=>{let t=e.split(`/`).filter(Boolean);return t.pop(),`/`+t.join(`/`)},filename:e=>{let t=e.split(`/`).pop()||``,n=t.includes(`.`)?t.slice(t.lastIndexOf(`.`)):``;return t.replace(n,``)},parentBasename:e=>{let t=e.split(`/`).filter(Boolean);return t.pop(),t.pop()||``},parentDirname:e=>{let t=e.split(`/`).filter(Boolean);return t.pop(),t.pop(),`/`+t.join(`/`)},parentFilename:e=>{let t=e.split(`/`).filter(Boolean);t.pop();let n=t.pop()||``,r=n.includes(`.`)?n.slice(n.lastIndexOf(`.`)):``;return n.replace(r,``)},append:(e,t)=>{let n=e.split(`/`).slice(0,-1).join(`/`),r=e.split(`/`).pop()||``,i=r.includes(`.`)?r.slice(r.lastIndexOf(`.`)):``,a=r.replace(i,``);return(n?n+`/`:``)+a+t+i},prepend:(e,t)=>{let n=e.split(`/`).slice(0,-1).join(`/`),r=e.split(`/`).pop()||``,i=r.includes(`.`)?r.slice(r.lastIndexOf(`.`)):``,a=r.replace(i,``);return(n?n+`/`:``)+t+a+i},changeFilename:(e,{prefix:t=``,suffix:n=``,ext:r=null}={})=>{let i=e.split(`/`).slice(0,-1).join(`/`),a=e.split(`/`).pop()||``,o=a.includes(`.`)?a.slice(a.lastIndexOf(`.`)):``,s=a.replace(o,``),c=r===null?o:r?r.startsWith(`.`)?r:`.`+r:``;return(i?i+`/`:``)+t+s+n+c},join:(...e)=>e.join(`/`).replace(/\/+/g,`/`),parse:e=>{let t=Nn.extname(e),n=Nn.basename(e),r=Nn.dirname(e);return{root:e.startsWith(`/`)?`/`:``,dir:r,base:n,ext:t,name:n.replace(t,``)}}},Pn=({src:e,width:n=void 0,height:r=void 0,title:i=void 0,alt:a=void 0,fit:o=`cover`,badge:s=void 0,feedback:c=void 0,before:l=void 0,after:u=void 0,wrapperClassName:d=void 0,className:f=void 0})=>{let p=Y(`image`),[m,h]=(0,t.useState)(Ye),g=p.ImageAvatar?.motion?.enter??!1,_=p.ImageAvatar?.motion?.hover??!1,v=_!==!1,y=Lt(void 0,g,!1),[b,x]=(0,t.useState)(!1),S=Ft(b,_,!1),C=e&&e.split(`?`)[0],w=`avatar::${C}`,T=`avatar-fetch-failed::${C}`,E=a||i||Nn.filename(e||`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='50' fill='%23eef2f7'/%3E%3Ccircle cx='50' cy='38' r='16' fill='%2364758b'/%3E%3Cpath d='M22 84c3.8-20 19-31 28-31s24.2 11 28 31c.5 2.8-1.7 5-4.5 5h-47c-2.8 0-5-2.2-4.5-5z' fill='%2364758b'/%3E%3C/svg%3E`);(0,t.useEffect)(()=>{if(!e||e.startsWith(`data:`)){h(e||`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='50' fill='%23eef2f7'/%3E%3Ccircle cx='50' cy='38' r='16' fill='%2364758b'/%3E%3Cpath d='M22 84c3.8-20 19-31 28-31s24.2 11 28 31c.5 2.8-1.7 5-4.5 5h-47c-2.8 0-5-2.2-4.5-5z' fill='%2364758b'/%3E%3C/svg%3E`);return}let t=localStorage.getItem(w);if(t){h(t);return}h(e);let n=Number(localStorage.getItem(T)||0);n&&Date.now()-n<864e5||fetch(e).then(e=>{if(!e.ok)throw Error(`HTTP ${e.status}`);return e.blob()}).then(e=>{let t=new FileReader;t.onloadend=()=>{let e=t.result;localStorage.setItem(w,e),localStorage.removeItem(T),h(e)},t.readAsDataURL(e)}).catch(e=>{console.warn(`ImageAvatar:`,e.message),localStorage.setItem(T,String(Date.now()))})},[e,w,T]);let D=n??r??void 0,O={...n&&r?{width:n,height:r,objectFit:o}:D?{width:D,height:D,objectFit:o}:{objectFit:o},...v?S:{}};return t.default.createElement(Z,{className:X(`flex items-center gap-3`,d||p.ImageAvatar?.wrapperClassName)},l&&t.default.createElement(`div`,{className:`shrink-0 self-center`},l),t.default.createElement(`div`,{className:X(`relative shrink-0`,v&&`overflow-hidden`),style:y,onMouseEnter:v?()=>x(!0):void 0,onMouseLeave:v?()=>x(!1):void 0},t.default.createElement(`img`,{src:m,alt:E,width:n??D,height:r??D,className:X(f||p.ImageAvatar?.className),title:i,style:O,onError:()=>h(Ye)}),s&&t.default.createElement(`span`,{className:X(`badge badge-overlay absolute top-0 right-0 translate-x-1/4 -translate-y-1/4 z-10`,`badge-`+(s.variant||`success`),!s.content&&`!p-0 !min-w-0 w-3 h-3 rounded-full`,s.className)},s.content),c&&t.default.createElement(`div`,{className:`mt-1 text-xs text-center`},c)),u&&t.default.createElement(`div`,{className:`min-w-0 self-center`},u))},Fn=(e,t,n=``)=>t.filter(t=>{let n=e?.[t];return n==null||n===``}).map(e=>`${n}${e}`),In=(e,t)=>({configured:t.length===0,missingKeys:t,reason:t.length?`${e} is not configured. Missing: ${t.join(`, `)}.`:void 0}),Ln=(e,t=`Provider`)=>{if(!e)return{configured:!1,reason:`${t} is not registered.`};if(e.getConfigurationState)return e.getConfigurationState();if(e.isConfigured){let n=e.isConfigured();return{configured:n,reason:n?void 0:`${t} is not configured.`}}return{configured:!0}},Rn=`/__/authorize`,zn=`auths`;function Bn(){let e=new Uint32Array(28);return window.crypto.getRandomValues(e),Array.from(e,e=>`0${e.toString(16)}`.substr(-2)).join(``)}async function Vn(e){let t=new TextEncoder().encode(e),n=await window.crypto.subtle.digest(`SHA-256`,t);return btoa(String.fromCharCode(...new Uint8Array(n))).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``)}var Hn=(e,t,n)=>{let r=window.screen.width/2-n/2,i=`width=${n},height=${n},top=${window.screen.height/2-n/2},left=${r}`;return window.open(e,t,i)};function Un({authServer:e,clientID:t,scopes:n=void 0,refreshParamName:r=`access_type`}){let i=Bn();localStorage.setItem(`authChallenge`,JSON.stringify({authServer:e,clientID:t,codeVerifier:i})),Vn(i).then(i=>{Hn(`https://${e}/authorize?${new URLSearchParams({response_type:`code`,client_id:t,redirect_uri:`${window.location.origin}${Rn}`,scope:n?n.join(` `):``,code_challenge:i,code_challenge_method:`S256`,[r]:`offline`}).toString()}`,`auth`,600)})}var Wn=(e,t,n)=>{On({[t]:{...n,server:e,client_id:t,iat:Math.floor(Date.now()/1e3)}},zn)},Gn=()=>{let e=(0,n.useLocation)().search,r=ut(`common`);return(0,t.useEffect)(()=>{let t=new URLSearchParams(e).get(`code`),n=((e,t)=>{try{return JSON.parse(localStorage.getItem(e)||``)||t}catch{return t}})(`authChallenge`);if(!t||!n)return;let{authServer:r,clientID:i,codeVerifier:a}=n;be(`https://${r}/token`,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:{grant_type:`authorization_code`,client_id:i,code:t,redirect_uri:`${window.location.origin}${Rn}`,code_verifier:a}}).then(e=>{Wn(r,i,e),localStorage.removeItem(`authChallenge`),window.close()}).catch(e=>console.error(`Error:`,e))},[e]),t.default.createElement(`div`,null,r.loading)},Kn=(e,t,n)=>be(`https://${e}/token`,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`},body:{grant_type:`refresh_token`,client_id:t,refresh_token:n}}).then(n=>(Wn(e,t,n),n.access_token)).catch(e=>(console.error(`Error:`,e),localStorage.removeItem(zn),null)),qn=(e,t=!0)=>{let[n]=En(zn),r=n?.[e]||{},i=Math.floor(Date.now()/1e3)>=(r?.iat??0)+(r?.expires_in??0);return!!(r&&r?.access_token&&(!i||t&&i&&r.refresh_token&&(Kn(r.server??``,r.client_id??``,r.refresh_token)||1)))},Jn=e=>Dn(zn)?.[e],Yn=e=>{let t=Dn(zn)||{};t[e]&&(delete t[e],On(t,zn))},Xn=e=>{let t=Jn(e),n=Math.floor(Date.now()/1e3)>(t?.iat??0)+(t?.expires_in??0);return!n&&t?.access_token?Promise.resolve(t.access_token):n&&t?.refresh_token?Kn(t.server??``,t.client_id??``,t.refresh_token):Promise.resolve(null)},Zn=e=>e===`signOut`||e===`disconnect`,Qn=({provider:e,intent:n=`signIn`,aspect:r=`button`,scopes:i=void 0,iconLogout:a=`log-out`,avatarClass:o=void 0,options:s={},label:c=void 0,icon:l=void 0,title:u=void 0,className:d=void 0,disabled:f=!1,...p})=>{let m=Mn(e),h=Y(`auth`),g=ut(`auth`),_=e||`AuthProvider`,v=t.default.useCallback(()=>Ln(m,_),[m,_]),y=t.default.useMemo(()=>v(),[v]),b=y.configured,[x,S]=t.default.useState(()=>b?m.getUser():null),[C,w]=t.default.useState(()=>b&&(m.isAuthenticated?.()??!!m.getUser())),[T,E]=t.default.useState(!1),D=t.default.useRef(null),O=y.reason||nt(g.notConfigured,{provider:_});t.default.useEffect(()=>v().configured?(S(m.getUser()),w(m.isAuthenticated?.()??!!m.getUser()),m.onAuthChange(e=>{S(e),w(m.isAuthenticated?.()??!!e)})):(S(null),w(!1),E(!1),()=>{}),[m,v]),t.default.useEffect(()=>{if(!T)return()=>{};let e=e=>{D.current?.contains(e.target)||E(!1)},t=e=>{e.key===`Escape`&&E(!1)};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[T]);let k=()=>{if(!v().configured){S(null),w(!1);return}let e=m.getUser();S(e),w(m.isAuthenticated?.()??!!e)},A=async()=>{if(v().configured){if(Zn(n)){await m.signOut(),k();return}if(!m.signIn)throw Error(g.notImplemented);await m.signIn({scopes:i,intent:n}),k()}},j={...p,...s,label:s.label??c??(C?g.connected:n===`signIn`?g.signIn:g.connect),icon:s.icon??l??(C?`link`:`link-break`),title:b?s.title??u:O,className:s.className??d,disabled:!b||(s.disabled??f),style:b?s.style??p.style:{...p.style||{},...s.style||{},opacity:.55,cursor:`not-allowed`}};if(r===`avatar`){let e=x?.displayName??x?.email??(C?g.authenticated:g.signIn);return t.default.createElement(`div`,{ref:D,className:d||h.SignIn.className,style:{position:`relative`,display:`inline-flex`},title:b?void 0:O},t.default.createElement(`button`,{type:`button`,className:`cursor-pointer border-0 bg-transparent p-0`,title:b?e:O,"aria-label":e,"aria-expanded":T,"aria-haspopup":`menu`,disabled:!b||f,"aria-disabled":!b||f,style:b?void 0:{opacity:.55,cursor:`not-allowed`},onClick:e=>{e.preventDefault(),e.stopPropagation(),b&&!f&&E(e=>!e)}},t.default.createElement(Pn,{src:x?.photoURL??`data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Ccircle cx='50' cy='50' r='50' fill='%23eef2f7'/%3E%3Ccircle cx='50' cy='38' r='16' fill='%2364758b'/%3E%3Cpath d='M22 84c3.8-20 19-31 28-31s24.2 11 28 31c.5 2.8-1.7 5-4.5 5h-47c-2.8 0-5-2.2-4.5-5z' fill='%2364758b'/%3E%3C/svg%3E`,title:b?e:O,height:36,className:o||h.SignIn.avatarClass})),T&&t.default.createElement(`div`,{role:`menu`,className:`absolute right-0 top-full z-50 mt-2 min-w-40 overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md`},!C&&t.default.createElement(`button`,{type:`button`,role:`menuitem`,className:`flex w-full cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-left text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground`,onClick:A},c??g.signIn.toUpperCase()),C&&t.default.createElement(`button`,{type:`button`,role:`menuitem`,className:`flex w-full cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-left text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground`,onClick:async()=>{await m.signOut(),k(),E(!1)}},a&&t.default.createElement(Q,{name:a,className:`mr-2`}),g.signOut.toUpperCase())))}return t.default.createElement(vn,{...j,onClick:A})},$n=(0,t.createContext)(null),er=({registry:e,defaultKey:n,children:r})=>{let i=(0,t.useMemo)(()=>({registry:e,defaultKey:n}),[e,n]);return t.default.createElement($n.Provider,{value:i},r)},tr=e=>{let n=(0,t.useContext)($n);if(!n)throw Error(`useDataProvider must be used inside <App>.`);let r=e??n.defaultKey,i=n.registry[r];if(!i)throw Error(`DataProvider '${r}' is not registered. Available: ${Object.keys(n.registry).join(`, `)}`);return i};function nr({children:e,show:n=!1,icon:r=void 0,title:i=void 0,description:a=void 0,minHeight:o=`200px`,before:s=void 0,after:c=void 0,wrapperClassName:l=void 0,className:u=void 0}){let d=Y(`loader`);return r||=d.Loader.icon,i||=d.Loader.title,a||=d.Loader.description,n?t.default.createElement(Z,{className:l||d.Loader.wrapperClassName},t.default.createElement(`div`,{className:`relative `+(u||d.Loader.className),style:{minHeight:o}},t.default.createElement(`div`,{className:`absolute top-0 bottom-0 left-0 right-0 z-10 bg-background/60 backdrop-blur-[2px]`},s,(r||i||a)&&t.default.createElement(`div`,{className:`flex flex-col items-center justify-center gap-2 p-4 text-center`},r&&t.default.createElement(Q,{name:r,size:32,className:`animate-spin text-primary`}),i&&t.default.createElement(`p`,{className:`text-sm font-semibold text-foreground`},i),a&&t.default.createElement(`p`,{className:`text-xs text-muted-foreground`},a)),c),e)):e}var rr=`rounded-lg border border-border bg-card text-card-foreground shadow-sm`,ir=`flex items-center gap-3 border-b border-border px-4 py-3`,ar=`p-4`,or=`border-t border-border px-4 py-3`,sr=({children:e,title:n=void 0,header:r=void 0,footer:i=void 0,loading:a=void 0,loaderMinHeight:o=void 0,wrapperClassName:s=void 0,className:c=void 0,headerClassName:l=void 0,bodyClassName:u=void 0,footerClassName:d=void 0,before:f=void 0,after:p=void 0})=>{let m=Y(`card`),h=s??m.Card.wrapperClassName??(f||p?`flex items-center gap-2`:void 0);return t.default.createElement(Z,{className:h},f,t.default.createElement(`div`,{className:X(rr,m.Card.className,c)},r||n?t.default.createElement(`div`,{className:X(ir,m.Card.headerClassName,l)},n?t.default.createElement(`h5`,{className:`m-0 whitespace-nowrap text-base leading-none font-semibold`},n):null,r):null,t.default.createElement(`div`,{className:X(ar,m.Card.bodyClassName,u)},t.default.createElement(nr,{show:a??m.Card.loading,...o===void 0?{}:{minHeight:o}},e)),i?t.default.createElement(`div`,{className:X(or,m.Card.footerClassName,d)},i):null),p)},cr=1.1,lr=[],ur=new Set,dr=()=>ur.forEach(e=>e()),fr=e=>{let t=lr.find(t=>t.dialog===e);if(!t)return;let n=lr.filter(e=>e.side===t.side);if(!(n.length<2))return n[0].natural*cr**(n.length-1-n.indexOf(t))},pr=[],mr=e=>t.default.createElement(hr,e),hr=({children:e,title:n=void 0,header:r=void 0,footer:i=void 0,onClose:a=void 0,onSave:o=void 0,onDelete:c=void 0,size:l=void 0,position:u=void 0,allowFullscreen:d=!1,showCancel:f=!0,before:p=void 0,after:m=void 0,wrapperClassName:h=void 0,className:g=void 0,headerClassName:_=void 0,titleClassName:v=void 0,subtitleClassName:y=void 0,bodyClassName:b=void 0,footerClassName:x=void 0,closeOnBackdrop:S=!0,closeOnEscape:C=!0,zIndex:w=void 0,stackedBehind:T=!1,rightInset:E=void 0,closeSlot:D=void 0,motion:O=void 0})=>{let k=Y(`modal`),A=ut(`modal`),[j,M]=t.default.useState(!1),N=t.default.useRef(!1),P=t.default.useRef(null),[,F]=t.default.useReducer(e=>e+1,0),I=t.default.useRef(void 0),L=t.default.useRef(()=>void 0),R=t.default.useRef(void 0),[z,B]=(0,t.useState)(l),ee={sm:`max-w-sm`,md:`max-w-md`,lg:`max-w-2xl`,xl:`max-w-4xl`,"2xl":`max-w-6xl`,fullscreen:`max-w-none w-screen h-dvh rounded-none`}[z||k.Modal.size||`lg`],V={sm:`w-72`,md:`w-96`,lg:`w-[36rem]`,xl:`w-[48rem]`,"2xl":`w-[64rem]`,fullscreen:`w-screen`}[z||k.Modal.size||`lg`],te={sm:`max-h-[30vh]`,md:`max-h-[45vh]`,lg:`max-h-[60vh]`,xl:`max-h-[85vh]`,"2xl":`max-h-[90vh]`,fullscreen:`h-dvh max-h-none`}[z||k.Modal.size||`lg`],ne={center:{coverClass:`fixed inset-0 z-50 flex items-center justify-center overflow-y-auto p-4`,dialogClass:X(`relative z-50 flex w-full flex-col overflow-hidden rounded-lg border border-border/60 bg-card shadow-xl`,z!==`fullscreen`&&`max-h-[calc(100dvh-2rem)]`,ee,h||k.Modal.wrapperClassName),contentClass:X(`flex min-h-0 flex-1 flex-col`,g||k.Modal.className),headerClassName:X(`flex items-center justify-between gap-3 border-b border-border/60 px-4 py-3`,_||k.Modal.headerClassName),titleClassName:X(`text-lg font-semibold leading-none`,v||k.Modal.titleClassName),subtitleClassName:X(`mt-1 text-sm text-muted-foreground`,y||k.Modal.subtitleClassName),bodyClassName:X(`min-h-0 flex-1 overflow-auto p-4`,b||k.Modal.bodyClassName),footerClassName:X(`flex items-center justify-end gap-3 border-t border-border/60 px-4 py-3`,x||k.Modal.footerClassName)},top:{coverClass:`fixed inset-0 z-50`,dialogClass:X(`fixed left-0 right-0 top-0 z-50 flex flex-col border-b border-border/60 bg-card shadow-xl`,te,h||k.Modal.wrapperClassName),contentClass:X(`flex min-h-0 flex-1 flex-col`,g||k.Modal.className),headerClassName:X(`flex items-center justify-between gap-3 border-b border-border/60 px-4 py-3`,_||k.Modal.headerClassName),titleClassName:X(`text-lg font-semibold leading-none`,v||k.Modal.titleClassName),subtitleClassName:X(`mt-1 text-sm text-muted-foreground`,y||k.Modal.subtitleClassName),bodyClassName:X(`min-h-0 flex-1 overflow-auto p-4`,b||k.Modal.bodyClassName),footerClassName:X(`flex items-center justify-end gap-3 border-t border-border/60 px-4 py-3`,x||k.Modal.footerClassName)},left:{coverClass:`fixed inset-0 z-50`,dialogClass:X(`fixed bottom-0 left-0 top-0 z-50 flex max-w-full flex-col border-r border-border/60 bg-card shadow-xl`,V,h||k.Modal.wrapperClassName),contentClass:X(`flex min-h-0 flex-1 flex-col`,g||k.Modal.className),headerClassName:X(`flex items-center justify-between gap-3 border-b border-border/60 px-4 py-3`,_||k.Modal.headerClassName),titleClassName:X(`text-lg font-semibold leading-none`,v||k.Modal.titleClassName),subtitleClassName:X(`mt-1 text-sm text-muted-foreground`,y||k.Modal.subtitleClassName),bodyClassName:X(`min-h-0 flex-1 overflow-auto p-4`,b||k.Modal.bodyClassName),footerClassName:X(`flex items-center justify-end gap-3 border-t border-border/60 px-4 py-3`,x||k.Modal.footerClassName)},right:{coverClass:`fixed inset-0 z-50`,dialogClass:X(`fixed bottom-0 right-0 top-0 z-50 flex max-w-full flex-col border-l border-border/60 bg-card shadow-xl`,V,h||k.Modal.wrapperClassName),contentClass:X(`flex min-h-0 flex-1 flex-col`,g||k.Modal.className),headerClassName:X(`flex items-center justify-between gap-3 border-b border-border/60 px-4 py-3`,_||k.Modal.headerClassName),titleClassName:X(`text-lg font-semibold leading-none`,v||k.Modal.titleClassName),subtitleClassName:X(`mt-1 text-sm text-muted-foreground`,y||k.Modal.subtitleClassName),bodyClassName:X(`min-h-0 flex-1 overflow-auto p-4`,b||k.Modal.bodyClassName),footerClassName:X(`flex items-center justify-end gap-3 border-t border-border/60 px-4 py-3`,x||k.Modal.footerClassName)},bottom:{coverClass:`fixed inset-0 z-50`,dialogClass:X(`fixed bottom-0 left-0 right-0 z-50 flex flex-col border-t border-border/60 bg-card shadow-xl`,te,h||k.Modal.wrapperClassName),contentClass:X(`flex min-h-0 flex-1 flex-col`,g||k.Modal.className),headerClassName:X(`flex items-center justify-between gap-3 border-b border-border/60 px-4 py-3`,_||k.Modal.headerClassName),titleClassName:X(`text-lg font-semibold leading-none`,v||k.Modal.titleClassName),subtitleClassName:X(`mt-1 text-sm text-muted-foreground`,y||k.Modal.subtitleClassName),bodyClassName:X(`min-h-0 flex-1 overflow-auto p-4`,b||k.Modal.bodyClassName),footerClassName:X(`flex items-center justify-end gap-3 border-t border-border/60 px-4 py-3`,x||k.Modal.footerClassName)}},re=z===`fullscreen`?`center`:u||k.Modal.position,H=ne[re],ie=z===`fullscreen`?X(H.coverClass,`!overflow-hidden !p-0`):H.coverClass;t.default.useEffect(()=>{let e=window.document.body.style.overflow;window.document.body.style.overflow=`hidden`;let t=window.requestAnimationFrame(()=>M(!0));return()=>{window.cancelAnimationFrame(t),R.current!==void 0&&window.clearTimeout(R.current),window.document.body.style.overflow=e||`auto`}},[]);let U=O??k.Modal.motion?.[re]??`fade`,W=Pt(U,U),G=t.default.useRef(()=>void 0),ae=C&&!!a;t.default.useEffect(()=>{if(T||!ae)return;let e=Symbol(`modal`);pr.push(e);let t=t=>{t.key===`Escape`&&pr[pr.length-1]===e&&(t.preventDefault(),G.current())};return window.document.addEventListener(`keydown`,t),()=>{window.document.removeEventListener(`keydown`,t);let n=pr.indexOf(e);n!==-1&&pr.splice(n,1)}},[T,ae]);let oe=()=>{if(N.current)return;N.current=!0,I.current=fr(P.current),L.current(),M(!1),window.document.body.style.overflow=`auto`;let e=W.transition.duration+W.transition.delay;R.current=window.setTimeout(()=>{a?.()},e)};G.current=oe;let K=Ft(j,U,U),se=E?{right:E}:{},ce={...Ft(j,k.Modal.motion?.backdrop??`fade`,k.Modal.motion?.backdrop??`fade`),...T?{pointerEvents:`none`}:{},cursor:S&&a?`pointer`:`default`,...w===void 0?{}:{zIndex:w-10},...se},q={cursor:S&&a?`pointer`:`default`,...w===void 0?{}:{zIndex:w},...T?{pointerEvents:`none`}:{},...se},le=re===`right`||re===`left`?re:void 0;t.default.useLayoutEffect(()=>{let e=P.current;if(!e||!le)return;let t={dialog:e,side:le,natural:e.offsetWidth};lr.push(t),ur.add(F);let n=!1,r=()=>{if(n)return;n=!0;let e=lr.indexOf(t);e!==-1&&lr.splice(e,1),dr()};return L.current=r,dr(),()=>{ur.delete(F),r()}},[le]);let ue=N.current?I.current:fr(P.current),de=ue===void 0?{}:{width:ue,maxWidth:`100%`,transition:[K.transition,W.transition.duration?`width ${W.transition.duration}ms ${W.transition.easing}`:``].filter(Boolean).join(`, `)},fe={opacity:+!!T,transition:W.transition.duration?`opacity ${W.transition.duration}ms ${W.transition.easing}`:void 0},pe=i!==!1&&(i||o||c||f&&a),me=(0,t.useId)(),he=n||typeof r==`string`&&r?me:void 0,ge=`inline-flex h-9 w-9 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`;return(0,s.createPortal)(t.default.createElement(t.default.Fragment,null,t.default.createElement(`div`,{className:ie,style:q,onClick:()=>{S&&a&&oe()}},t.default.createElement(`div`,{ref:P,role:`dialog`,"aria-modal":!T||void 0,"aria-labelledby":he,className:H.dialogClass,style:{...K,...de,...w===void 0?{}:{zIndex:w},...re===`right`?se:{}},onClick:e=>e.stopPropagation()},p,t.default.createElement(`div`,{className:H.contentClass},(r||n||d||a||D)&&t.default.createElement(`div`,{className:H.headerClassName},t.default.createElement(`div`,{className:`min-w-0`},n&&t.default.createElement(`h3`,{id:me,className:H.titleClassName},n),n&&r&&t.default.createElement(`div`,{className:H.subtitleClassName},r),!n&&r&&(typeof r==`string`?t.default.createElement(`h3`,{id:me,className:H.titleClassName},r):r)),(d||a||D)&&t.default.createElement(`div`,{className:`ml-auto flex shrink-0 items-center gap-1`},d&&t.default.createElement(`button`,{type:`button`,title:z===`fullscreen`?`Exit fullscreen`:`Enter fullscreen`,"aria-label":z===`fullscreen`?`Exit fullscreen`:`Enter fullscreen`,className:ge,onClick:e=>{e.preventDefault(),e.stopPropagation(),B(e=>e===`fullscreen`?l===`fullscreen`?`lg`:l:`fullscreen`)}},t.default.createElement(Q,{name:z===`fullscreen`?k.Modal.iconCollapse:k.Modal.iconExpand,size:18})),D??(a&&t.default.createElement(`button`,{type:`button`,title:A.close,"aria-label":A.close,className:ge,onClick:e=>{e.preventDefault(),e.stopPropagation(),oe()}},t.default.createElement(Q,{name:`x`,size:20}))))),t.default.createElement(`div`,{className:H.bodyClassName},e),pe&&t.default.createElement(`div`,{className:H.footerClassName},i,!i&&o&&t.default.createElement(_n,{variant:`primary`,label:A.save,onClick:async e=>{e.preventDefault(),await o(e)&&oe()}}),!i&&c&&t.default.createElement(_n,{variant:`danger`,label:A.delete,onClick:async e=>{e.preventDefault(),await c(e),oe()}}),!i&&f&&a&&t.default.createElement(vn,{variant:`link`,label:A.cancel,onClick:oe}))),m,t.default.createElement(`div`,{"data-rf-modal-veil":``,"aria-hidden":`true`,className:`pointer-events-none absolute inset-0 z-10 bg-black/40`,style:fe}))),t.default.createElement(`div`,{"data-rf-modal-backdrop":``,"aria-hidden":`true`,className:`fixed inset-0 z-40 bg-black/60 backdrop-blur-sm`,style:ce,onClick:()=>{S&&a&&oe()}})),document.body)},gr=({children:e,title:n=void 0,onYes:r=void 0,onNo:i=void 0,onClose:a=void 0})=>{let o=ut(`modal`);return t.default.createElement(hr,{title:n,onClose:a,allowFullscreen:!1,footer:t.default.createElement(t.default.Fragment,null,r&&t.default.createElement(_n,{variant:`primary`,label:o.yes,onClick:async e=>{e.preventDefault(),await r(e),a?.()}}),i&&t.default.createElement(_n,{variant:`secondary`,label:o.no,onClick:async e=>{e.preventDefault(),await i(e),a?.()}}))},e)},_r=({children:e,title:n=void 0,onClose:r=void 0})=>{let i=ut(`modal`);return t.default.createElement(hr,{title:n,onClose:r,allowFullscreen:!1,footer:t.default.createElement(t.default.Fragment,null,t.default.createElement(vn,{variant:`primary`,label:i.ok,onClick:r}))},e)},vr=({menuKey:e,as:r=`ul`,badges:i={},before:a=void 0,after:o=void 0,wrapperClassName:s=void 0,className:c=void 0,headerClassName:l=void 0,itemClassName:u=void 0,linkClassName:d=void 0,iconClassName:f=void 0,textClassName:p=void 0,badgeClassName:m=void 0,arrowClassName:h=void 0,submenuClassName:g=void 0})=>{let _=Th(e),v=Y(`menu`),y=({item:e,index:a})=>{let[o,s]=(0,t.useState)(e.active);(0,t.useEffect)(()=>{s(e.active)},[e]);let c=(e.children?.length??0)>0,_=(e.title??``).toLowerCase(),b=()=>t.default.createElement(`span`,{className:f??v.Menu.iconClassName},t.default.createElement(Q,{name:e.icon}));return e.path?t.default.createElement(`li`,{className:X(u??v.Menu.itemClassName)},t.default.createElement(n.Link,{to:e.path.split(`*`)[0],className:X(d??v.Menu.linkClassName,e.active&&`bg-primary/10 text-primary`),...c&&{},onClick:e=>{c&&!K(e,`a`)&&(e.preventDefault(),s(e=>!e))}},e.icon&&t.default.createElement(b,null),t.default.createElement(`span`,{className:p??v.Menu.textClassName},e.title),i[_]&&t.default.createElement(Dt,{variant:i[_].type,className:m??v.Menu.badgeClassName},i[_].children),c&&t.default.createElement(`span`,{className:X(h??v.Menu.arrowClassName,`ml-auto inline-flex shrink-0 items-center justify-center text-muted-foreground transition-transform duration-200`,o&&`rotate-90`)},t.default.createElement(Q,{name:`chevron-right`,size:14}))),c&&t.default.createElement(`div`,{className:X(`grid transition-[grid-template-rows,opacity] duration-200 ease-out`,o?`grid-rows-[1fr] opacity-100`:`grid-rows-[0fr] opacity-0`)},t.default.createElement(`div`,{className:`min-h-0 overflow-hidden`},(()=>{let n=r;return t.default.createElement(n,{className:g??v.Menu.submenuClassName},e.children.map((e,n)=>t.default.createElement(y,{key:n,item:e,index:n})))})()))):t.default.createElement(`li`,{key:a,className:l??v.Menu.headerClassName},e.icon&&t.default.createElement(b,null),e.title&&(/^-+$/.test(e.title)?t.default.createElement(`hr`,{className:`m-0`}):t.default.createElement(`span`,null,e.title)))},b=r;return t.default.createElement(Z,{className:s??v.Menu.wrapperClassName},a,t.default.createElement(b,{className:c??v.Menu.className},_.map((e,n)=>t.default.createElement(y,{key:n,item:e,index:n}))),o)},yr=t.default.createContext(null),br=({children:e,trigger:n,badge:r=void 0,header:i=void 0,footer:a=void 0,defaultOpen:o=!1,open:c=void 0,onOpenChange:l=void 0,closeOnSelect:u=!0,staticOpen:d=!1,position:f=void 0,placement:p=`bottom`,strategy:m=`fixed`,wrapperClassName:h=void 0,className:g=void 0,before:_=void 0,after:v=void 0,triggerClassName:y=void 0,menuClassName:b=void 0,badgeClassName:x=void 0,headerClassName:S=void 0,footerClassName:C=void 0,motion:w=void 0})=>{let T=Y(`dropdown`),[E,D]=t.default.useState(o),O=t.default.useRef(null),k=t.default.useRef(null),A=t.default.useRef(null),j=t.default.useId(),M=d?!0:c??E,[N,P]=t.default.useState(`bottom`),[F,I]=t.default.useState(void 0),[L,R]=t.default.useState(null),z=!d&&n!==void 0,B=Ft(M,w??T.Dropdown.motion?.open??`fadeDown`,T.Dropdown.motion?.open??`fadeDown`),ee=t.default.useCallback(e=>{d||(c===void 0&&D(e),l?.(e))},[d,c,l]);t.default.useEffect(()=>{if(!M||d)return;let e=e=>{let t=e.target;!O.current?.contains(t)&&!A.current?.contains(t)&&ee(!1)},t=e=>{e.key===`Escape`&&ee(!1)};return window.document.addEventListener(`pointerdown`,e),window.document.addEventListener(`keydown`,t),()=>{window.document.removeEventListener(`pointerdown`,e),window.document.removeEventListener(`keydown`,t)}},[d,M,ee]),t.default.useEffect(()=>{if(!M||d||!k.current)return;let e=k.current.getBoundingClientRect(),t=window.innerHeight-e.bottom-8,n=e.top-8,r;if(p===`auto`?(r=t<(A.current?A.current.scrollHeight:240)+8?`top`:`bottom`,P(r)):r=p===`top`?`top`:`bottom`,I(Math.max(160,r===`top`?n:t)),m===`absolute`)return;let i=f===`end`;R(r===`top`?{bottom:window.innerHeight-e.top+4,...i?{right:window.innerWidth-e.right}:{left:e.left}}:{top:e.bottom+4,...i?{right:window.innerWidth-e.right}:{left:e.left}})},[M,p,f,d,m]);function V(e){return typeof e==`object`&&!!e&&!t.default.isValidElement(e)&&(`icon`in e||`text`in e)}let te=z?t.default.createElement(Sr,{className:y,badge:r,badgeClassName:x,motion:w,title:V(n)?n.title:void 0,onToggle:()=>ee(!M),open:M,menuId:j,buttonRef:k},V(n)?t.default.createElement(t.default.Fragment,null,n.icon&&t.default.createElement(Q,{name:n.icon,className:n.text?`mr-2`:void 0}),n.text):n):null,ne=h??T.Dropdown.wrapperClassName??(_||v?`flex items-center gap-2`:void 0),re=N===`top`?`bottom-full mb-1`:`top-full mt-1`,H=f===`end`?`right-0`:`left-0`,ie=t.default.createElement(yr.Provider,{value:{closeOnSelect:u,close:()=>ee(!1)}},t.default.createElement(`div`,{ref:A,id:j,role:`menu`,"aria-hidden":!M,className:X(`min-w-56 overflow-y-auto rounded-xl border border-border/60 bg-popover/95 p-1 text-popover-foreground shadow-xl shadow-black/5 outline-none backdrop-blur supports-[backdrop-filter]:bg-popover/90 dark:shadow-black/20`,d?`relative`:m===`absolute`?`absolute z-[200] ${re} ${H}`:`fixed z-[200]`,b||T.Dropdown.menuClassName),style:d?void 0:{...B,opacity:+!!M,visibility:M?`visible`:`hidden`,pointerEvents:M?void 0:`none`,maxHeight:F,minWidth:k.current?k.current.offsetWidth:void 0,...m===`fixed`?L??{}:{}},onClick:e=>{e.stopPropagation()}},i&&t.default.createElement(`div`,{className:X(`px-2 py-1.5 text-sm font-semibold`,S||T.Dropdown.headerClassName)},i,t.default.createElement(Tr,null)),e,a&&t.default.createElement(`div`,{className:C||T.Dropdown.footerClassName},t.default.createElement(Tr,null),a))),U=!d&&m===`fixed`&&typeof document<`u`;return t.default.createElement(Z,{className:ne},_,t.default.createElement(`div`,{ref:O,className:X(d?`inline-block text-left`:`relative inline-block text-left`,g||T.Dropdown.className)},te,U?(0,s.createPortal)(ie,document.body):ie),v)};function xr({loadItems:e,getItemId:n,renderItem:r,onSelect:i,selectedId:a=void 0,searchPlaceholder:o=void 0,emptyState:s=void 0,loadingState:c=void 0,errorState:l=void 0,debounceMs:u=200,closeOnSelect:d=!0,inputClassName:f=void 0,selectedClassName:p=void 0,header:m=void 0,open:h=void 0,defaultOpen:g=!1,onOpenChange:_=void 0,footer:v=void 0,headerClassName:y=void 0,staticOpen:b=!1,...x}){let S=ut(`common`),[C,w]=t.default.useState(g),[T,E]=t.default.useState(``),[D,O]=t.default.useState([]),[k,A]=t.default.useState(!1),[j,M]=t.default.useState(null),N=t.default.useRef(0),P=b||(h??C),F=t.default.useCallback(e=>{h===void 0&&w(e),e||E(``),_?.(e)},[h,_]);t.default.useEffect(()=>{if(!P)return;let t=new AbortController,n=++N.current,r=window.setTimeout(()=>{A(!0),M(null),e(T,t.signal).then(e=>{!t.signal.aborted&&n===N.current&&O(e)}).catch(e=>{!t.signal.aborted&&n===N.current&&(M(e),O([]))}).finally(()=>{!t.signal.aborted&&n===N.current&&A(!1)})},T?u:0);return()=>{window.clearTimeout(r),t.abort()}},[P,T,u,e]);let I=t.default.useCallback(async e=>{let t=await i(e);d&&t!==!1&&F(!1)},[d,i,F]);return t.default.createElement(br,{...x,closeOnSelect:!1,staticOpen:b,open:P,onOpenChange:F,header:t.default.createElement(t.default.Fragment,null,t.default.createElement(`div`,{className:`relative`},t.default.createElement(Q,{name:`search`,size:14,className:`pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground/60`}),t.default.createElement(`input`,{autoFocus:!0,value:T,onChange:e=>E(e.target.value),placeholder:o??S.search,className:X(`w-full rounded-md border border-border/60 bg-background py-1.5 pl-8 pr-2 text-sm font-normal text-foreground outline-none placeholder:text-muted-foreground focus:border-primary/50`,f)})),m),headerClassName:X(`px-2 pt-2 pb-1.5`,y),footer:v},k?t.default.createElement(`div`,{className:`px-2 py-3 text-center text-sm text-muted-foreground`},c??S.loading):j?t.default.createElement(`div`,{className:`px-2 py-3 text-center text-sm text-destructive`},l?.(j)??(j instanceof Error?j.message:S.noDataFound)):D.length===0?t.default.createElement(`div`,{className:`px-2 py-3 text-center text-sm text-muted-foreground`},s??S.noDataFound):D.map(e=>{let i=n(e);return t.default.createElement(Cr,{key:i,onClick:()=>{I(e)},className:X(i===a&&`bg-accent text-accent-foreground`,p)},r(e))}))}var Sr=({children:e,badge:n=void 0,display:r=`dynamic`,className:i=void 0,badgeClassName:a=void 0,motion:o=void 0,title:s=void 0,onToggle:c=void 0,open:l=!1,menuId:u=void 0,buttonRef:d=void 0})=>{let f=Y(`dropdown`),p=It(!1,{cursor:`pointer`},o??f.Dropdown.motion?.press??`press`),m=t.default.createElement(`button`,{ref:d,type:`button`,title:s,className:X(`inline-flex items-center justify-center gap-2`,i||f.Dropdown.triggerClassName),style:p.style,"aria-haspopup":`menu`,"aria-expanded":l,"aria-controls":u,onClick:c,...p.pressHandlers,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),c?.())},"data-display":r},e);return t.default.createElement(Et,{badge:n,className:a||f.Dropdown.badgeClassName},m)},Cr=({children:e,url:r=void 0,onClick:i=void 0,icon:a=void 0,className:o=void 0})=>{let s=Y(`dropdown`),c=t.default.useContext(yr),l=e=>{i?.(e),!e.defaultPrevented&&c?.closeOnSelect&&c.close()},u=a?t.default.createElement(`span`,{className:`inline-flex min-w-0 items-center gap-2`},t.default.createElement(`span`,{className:`inline-flex h-4 w-4 shrink-0 items-center justify-center text-muted-foreground`},t.default.createElement(Q,{name:a,size:16})),t.default.createElement(`span`,{className:`min-w-0`},e)):e;return r?t.default.createElement(n.Link,{to:r,onClick:l,role:`menuitem`,className:X(`flex w-full cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground`,o||s.Dropdown.menuItemClass)},u):i?t.default.createElement(`button`,{onClick:l,role:`menuitem`,className:X(`flex w-full cursor-pointer select-none items-center rounded-sm px-2 py-1.5 text-left text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground`,o||s.Dropdown.menuItemClass)},u):t.default.createElement(`span`,{role:`menuitem`,className:X(`flex w-full select-none items-center rounded-sm px-2 py-1.5 text-sm`,o||s.Dropdown.menuItemClass)},u)},wr=({children:e,className:n})=>{let r=Y(`dropdown`);return t.default.createElement(`div`,{className:X(`px-2 py-1.5 text-xs font-medium uppercase tracking-wide text-muted-foreground`,n||r.Dropdown.menuHeaderClass)},e)},Tr=({className:e})=>{let n=Y(`dropdown`);return t.default.createElement(`div`,{className:X(`-mx-1 my-1 h-px bg-border/60`,e||n.Dropdown.menuDividerClass)})},Er=({menuKey:e,as:n=`ul`,badges:r={},before:i=void 0,after:a=void 0})=>{let o=Y(`dropdown`);return t.default.createElement(vr,{menuKey:e,as:n,badges:r,before:i,after:a,wrapperClassName:o.Dropdown.Menu.wrapperClassName,className:o.Dropdown.Menu.className,headerClassName:o.Dropdown.Menu.headerClassName,itemClassName:o.Dropdown.Menu.itemClassName,linkClassName:o.Dropdown.Menu.linkClassName,iconClassName:o.Dropdown.Menu.iconClassName,textClassName:o.Dropdown.Menu.textClassName,badgeClassName:o.Dropdown.Menu.badgeClassName,arrowClassName:o.Dropdown.Menu.arrowClassName,submenuClassName:o.Dropdown.Menu.submenuClassName})},Dr=({src:e,placeholder:n=void 0,label:r=void 0,title:i=void 0,fit:a=void 0,position:o=void 0,feedback:s=void 0,width:c=void 0,height:l=void 0,srcset:u=void 0,sizes:d=void 0,before:f=void 0,after:p=void 0,wrapperClassName:m=void 0,className:h=void 0})=>{let g=Y(`image`),_=g.Image.motion?.enter??!1,v=g.Image.motion?.hover??!1,y=v!==!1,b=Lt(void 0,_,!1),[x,S]=(0,t.useState)(!1),C=Ft(x,v,!1);return t.default.createElement(Z,{className:X(`flex items-center gap-4`,m||g.Image.wrapperClassName)},f&&t.default.createElement(`div`,{className:`shrink-0 self-center`},f),t.default.createElement(`div`,{className:X(`flex min-w-0 flex-col`,y&&`overflow-hidden`),style:b,onMouseEnter:y?()=>S(!0):void 0,onMouseLeave:y?()=>S(!1):void 0},t.default.createElement(`img`,{src:e||n||`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9InRyYW5zcGFyZW50Ii8+PGNpcmNsZSBjeD0iNjUiIGN5PSIzNSIgcj0iMTAiIGZpbGw9IiM5Y2EzYWYiLz48cGF0aCBkPSJNMTAsNzUgTDMyLDUwIEw1Miw3MCBMNjgsNTIgTDkwLDcyIEw5MCw4MCBIMTAgWiIgZmlsbD0iIzljYTNhZiIvPjwvc3ZnPg==`,alt:r||i||e,title:i,className:h||g.Image.className,style:{...c&&l?{maxWidth:c,aspectRatio:`${c} / ${l}`,width:`100%`}:c?{maxWidth:c,width:`100%`}:l?{height:l}:{},...a?{objectFit:a}:{},...o?{objectPosition:o}:{},...y?C:{}},width:c,height:l,srcSet:u,sizes:d}),s&&t.default.createElement(`div`,{className:`mt-2 text-sm text-muted-foreground`},s)),p&&t.default.createElement(`div`,{className:`shrink-0 self-center`},p))},Or=({url:e=void 0,label:r=void 0,logo:i=void 0,width:a=void 0,height:o=36,wrapperClassName:s=void 0,className:c=void 0,logoClassName:l=void 0,labelClassName:u=void 0})=>{let d=Y(`brand`),f=t.default.createElement(t.default.Fragment,null,t.default.createElement(Dr,{src:i||`data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZD0iTTUwIDE1IEw4NSA1MCBMNTAgODUgTDE1IDUwIFoiIGZpbGw9IiNjY2MiIG9wYWNpdHk9IjAuMiIvPjxwYXRoIGQ9Ik01MCAzMCBMNzAgNTAgTDUwIDcwIEwzMCA1MCBaIiBmaWxsPSIjY2NjIi8+PC9zdmc+`,width:a,height:o}),r&&t.default.createElement(`span`,{className:u||d.Brand.labelClassName},r));return t.default.createElement(Z,{className:s},t.default.createElement(`div`,{className:c||d.Brand.className},e?t.default.createElement(n.Link,{to:e,className:l||d.Brand.logoClassName},f):t.default.createElement(`span`,{className:l||d.Brand.logoClassName},f)))};function kr(e){let{items:t,rootItem:n,baseUrl:r,stringify:i=!1}=e,a={"@context":`https://schema.org`,"@type":`BreadcrumbList`,itemListElement:[...n?[n]:[],...t].map((e,t)=>({"@type":`ListItem`,position:t+1,name:e.label,...e.href?{item:`${r}${e.href}`}:{}}))};return i?JSON.stringify(a):a}function Ar(e,t){if(Array.isArray(e))return e;let n=M(e||t).split(`/`).filter(Boolean),r=``,i=n.map(e=>(r+=`/${e}`,{label:e,href:r}));return i.length===0?i:[...i.slice(0,-1),{label:i[i.length-1].label}]}function jr(e){if(e)return typeof e==`string`?{label:e}:e}var Mr=()=>t.default.createElement(`svg`,{width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":!0},t.default.createElement(`polyline`,{points:`9 18 15 12 9 6`})),Nr=({value:e})=>t.default.createElement(`span`,{className:`text-muted-foreground/60 select-none flex items-center`,"aria-hidden":!0},e===`chevron`?t.default.createElement(Mr,null):e),Pr=({href:e,label:r})=>t.default.createElement(n.Link,{to:e,className:`text-muted-foreground hover:text-foreground transition-colors`},r),Fr=({label:e})=>t.default.createElement(`span`,{className:`text-foreground font-medium`,"aria-current":`page`},e),Ir=({trail:e=void 0,rootItem:r=void 0,separator:i=`/`,jsonLd:a=!1,baseUrl:o=void 0,className:s=void 0})=>{let c=Ar(e,(0,n.useLocation)().pathname),l=jr(r),u=[];if(l){let e=l.href?t.default.createElement(Pr,{href:l.href,label:l.label}):t.default.createElement(`span`,{className:`text-muted-foreground`},l.label);u.push({key:`__root`,node:e})}if(c.forEach((e,n)=>{let r=`${e.href??`__item`}-${n}`,i=e.node?e.node:e.href?t.default.createElement(Pr,{href:e.href,label:e.label}):t.default.createElement(Fr,{label:e.label});u.push({key:r,node:i})}),!u.length)return null;let d=a?kr({items:c,rootItem:l,baseUrl:o??(typeof window<`u`?window.location.origin:``),stringify:!0}):null;return t.default.createElement(t.default.Fragment,null,t.default.createElement(`nav`,{"aria-label":`Breadcrumb`,className:s},t.default.createElement(`ol`,{className:`flex flex-wrap items-center gap-1.5 text-sm`},u.map((e,n)=>t.default.createElement(t.default.Fragment,{key:e.key},n>0&&t.default.createElement(`li`,null,t.default.createElement(Nr,{value:i})),t.default.createElement(`li`,null,e.node))))),d&&t.default.createElement(`script`,{type:`application/ld+json`,dangerouslySetInnerHTML:{__html:d}}))},Lr=({children:e,showIndicators:n=!1,showControls:r=!1,showCaption:i=!1,dark:a=!1,autoPlay:o=void 0,initialSlide:s=0,renderCaption:c=void 0,onSlideClick:l=void 0})=>{let u=Y(`carousel`),d=ut(`common`),f=t.default.Children.toArray(e).filter(t.default.isValidElement),p=f.length;n||=u.Carousel.showIndicators,r||=u.Carousel.showControls,i||=u.Carousel.showCaption,a||=u.Carousel.dark;let m=u.Carousel.autoPlay;o||=typeof m==`object`?m:void 0;let h=p>0?Math.min(Math.max(s,0),p-1):0,[g,_]=t.default.useState(!1),[v,y]=t.default.useState(h);t.default.useEffect(()=>{y(h)},[h]);let b=t.default.useCallback(e=>{if(!(p<=0)){if(o?.wrap??!0){let t=(e+p)%p;y(t);return}y(Math.min(Math.max(e,0),p-1))}},[o?.wrap,p]),x=t.default.useCallback(()=>b(v-1),[v,b]),S=t.default.useCallback(()=>b(v+1),[v,b]);t.default.useEffect(()=>{if(!o||p<=1||o.pause===`hover`&&g)return;let e=window.setInterval(()=>{y(e=>{let t=e+1;return t<p?t:o.wrap?0:e})},o.interval||2e3);return()=>window.clearInterval(e)},[o,g,p]);let C=e=>{if(!i)return null;if(c)return c(e);let{alt:n,description:r}=e.props;return!n&&!r?null:t.default.createElement(`div`,{className:X(`absolute inset-x-4 bottom-4 hidden rounded-lg px-4 py-3 md:block`,a?`bg-white/80 text-slate-900`:`bg-black/60 text-white`)},n&&t.default.createElement(`h5`,{className:`text-sm font-semibold`},n),r&&t.default.createElement(`p`,{className:`mt-1 text-sm opacity-90`},r))};return p===0?null:t.default.createElement(`div`,{className:`relative overflow-hidden rounded-xl`,onMouseEnter:()=>_(!0),onMouseLeave:()=>_(!1)},t.default.createElement(`div`,{className:X(`relative min-h-0`,l&&`cursor-pointer`),onClick:l},f.map((e,o)=>{let s=o===v;return t.default.createElement(`div`,{key:o,"aria-hidden":!s,className:X(`relative transition-opacity duration-300 ease-out`,s?`opacity-100`:`pointer-events-none absolute inset-0 opacity-0`)},e,(n||r||i)&&g&&t.default.createElement(`div`,{className:X(`pointer-events-none absolute inset-0 opacity-20`,a?`bg-white`:`bg-black`)}),g&&C(e))})),n&&p>1&&t.default.createElement(`ol`,{className:`absolute inset-x-0 bottom-4 z-10 flex items-center justify-center gap-2 px-4`},f.map((e,n)=>t.default.createElement(`li`,{key:n},t.default.createElement(`button`,{type:`button`,"aria-label":`${d.pageNavigation} ${n+1}`,"aria-current":n===v?`true`:void 0,onClick:()=>b(n),className:X(`h-2.5 w-2.5 rounded-full border transition-all`,n===v?`scale-110 border-white bg-white`:`border-white/60 bg-white/30 hover:bg-white/60`)})))),r&&g&&p>1&&t.default.createElement(t.default.Fragment,null,t.default.createElement(`button`,{type:`button`,"aria-label":d.previous,onClick:e=>{e.stopPropagation(),x()},className:`absolute left-3 top-1/2 z-10 inline-flex h-10 w-10 -translate-y-1/2 items-center justify-center rounded-full bg-background/85 text-foreground shadow-md transition-colors hover:bg-background`},t.default.createElement(Q,{name:`chevron-left`,size:18})),t.default.createElement(`button`,{type:`button`,"aria-label":d.next,onClick:e=>{e.stopPropagation(),S()},className:`absolute right-3 top-1/2 z-10 inline-flex h-10 w-10 -translate-y-1/2 items-center justify-center rounded-full bg-background/85 text-foreground shadow-md transition-colors hover:bg-background`},t.default.createElement(Q,{name:`chevron-right`,size:18}))))};function Rr({items:e=[],badge:r,seeAllUrl:i,onMarkAllRead:a,motion:o,className:s}){let c=ut(`notifications`),l=e.length>0,u=Lt(void 0,o??`fadeDown`,o??`fadeDown`);return t.default.createElement(br,{trigger:t.default.createElement(Q,{name:`bell`,size:18}),triggerClassName:`flex items-center justify-center w-9 h-9 rounded-md text-muted-foreground hover:text-foreground hover:bg-accent transition-colors`,badge:r,position:`end`,placement:`auto`,menuClassName:`w-80`,motion:o,className:s},t.default.createElement(`div`,{className:`flex items-center justify-between px-3 py-2`},t.default.createElement(`span`,{className:`text-sm font-semibold text-foreground`},c.title||`Notifications`),l&&a&&t.default.createElement(`button`,{onClick:a,className:`text-xs text-primary hover:underline transition-colors`},`Mark all read`)),t.default.createElement(Tr,null),!l&&t.default.createElement(`div`,{className:`flex flex-col items-center justify-center py-8 px-4 text-center`},t.default.createElement(`div`,{className:`w-10 h-10 rounded-full bg-muted flex items-center justify-center mb-3`},t.default.createElement(Q,{name:`bell-off`,size:18,className:`text-muted-foreground`})),t.default.createElement(`p`,{className:`text-sm font-medium text-foreground mb-1`},`No notifications`),t.default.createElement(`p`,{className:`text-xs text-muted-foreground`},`You're all caught up`)),e.map((e,r)=>t.default.createElement(n.Link,{key:r,to:e.url,className:`flex items-start gap-3 px-3 py-2.5 rounded-sm hover:bg-accent transition-colors`,style:{...u,transitionDelay:`${r*30}ms`}},t.default.createElement(`div`,{className:`mt-0.5 shrink-0 w-8 h-8 rounded-full flex items-center justify-center ${e.read?`bg-muted`:`bg-primary/10`}`},t.default.createElement(Q,{name:e.icon,size:15,className:e.read?`text-muted-foreground`:`text-primary`})),t.default.createElement(`div`,{className:`flex-1 min-w-0`},t.default.createElement(`p`,{className:`text-sm leading-snug ${e.read?`text-muted-foreground`:`text-foreground font-medium`}`},e.title),t.default.createElement(`p`,{className:`text-xs text-muted-foreground mt-0.5`},e.time)),!e.read&&t.default.createElement(`span`,{className:`mt-2 shrink-0 w-1.5 h-1.5 rounded-full bg-primary`}))),l&&i&&t.default.createElement(t.default.Fragment,null,t.default.createElement(Tr,null),t.default.createElement(`div`,{className:`px-1 py-1`},t.default.createElement(n.Link,{to:i,className:`flex items-center justify-center w-full rounded-sm px-2 py-1.5 text-sm text-muted-foreground hover:text-foreground hover:bg-accent transition-colors`},c.seeAll||`See all notifications`,t.default.createElement(Q,{name:`arrow-right`,size:13,className:`ml-1.5 opacity-60`})))))}var zr=()=>t.default.createElement(`div`,{className:`inline-flex`},t.default.createElement(n.Link,{to:`/#`,"data-toggle-class":`app-header-menu-search-toggled`,"data-toggle-target":`.app`,className:`inline-flex items-center gap-2 rounded-md px-3 py-2 text-sm font-medium text-muted-foreground transition-colors hover:bg-accent hover:text-foreground`},t.default.createElement(`div`,{className:`flex items-center justify-center`},t.default.createElement(Q,{name:`search`,className:`h-4 w-4`}))));function Br({onQueryChange:e=void 0}){let n=ut(`common`);return t.default.createElement(`div`,null,t.default.createElement(zr,null),t.default.createElement(`input`,{className:`hidden`,type:`text`,placeholder:n.search,onChange:e}))}function Vr(e){return e?`current`in e?e.current??window:e:window}function Hr(e){return e instanceof Window?e.scrollY:e.scrollTop}function Ur({leading:e=void 0,center:n=void 0,trailing:r=void 0,children:i=void 0,sticky:a=!0,elevateOnScroll:o=!0,scrollTarget:s=void 0,scrollThreshold:c=8,className:l=void 0,innerClassName:u=void 0,leadingClassName:d=void 0,centerClassName:f=void 0,trailingClassName:p=void 0}){let m=Y(`toolbar`),h=n??i,[g,_]=(0,t.useState)(!1);(0,t.useEffect)(()=>{if(!o||typeof window>`u`){_(!1);return}let e=Vr(s),t=()=>_(Hr(e)>c);return t(),e.addEventListener(`scroll`,t,{passive:!0}),()=>{e.removeEventListener(`scroll`,t)}},[o,s,c]);let v=(0,t.useMemo)(()=>X(`w-full border-b border-transparent transition-[background-color,border-color,box-shadow,backdrop-filter] duration-200`,m.Toolbar.wrapperClassName,a&&m.Toolbar.stickyClassName,o?g?m.Toolbar.scrolledClassName:m.Toolbar.restingClassName:m.Toolbar.scrolledClassName,l),[m,a,o,g,l]);return t.default.createElement(`header`,{className:v},t.default.createElement(`div`,{className:X(`flex min-h-14 items-center gap-3 px-4`,m.Toolbar.innerClassName,u)},e?t.default.createElement(`div`,{className:X(`flex min-w-0 items-center gap-2 shrink-0`,m.Toolbar.leadingClassName,d)},e):null,h?t.default.createElement(`div`,{className:X(`flex min-w-0 flex-1 items-center gap-3`,m.Toolbar.centerClassName,f)},h):t.default.createElement(`div`,{className:`flex-1`}),r?t.default.createElement(`div`,{className:X(`flex shrink-0 items-center gap-2`,m.Toolbar.trailingClassName,p)},r):null))}var Wr=[{label:`Blue`,value:`221.2 83.2% 53.3%`,hex:`#3b82f6`},{label:`Violet`,value:`262.1 83.3% 57.8%`,hex:`#8b5cf6`},{label:`Green`,value:`142.1 76.2% 36.3%`,hex:`#16a34a`},{label:`Rose`,value:`346.8 77.2% 49.8%`,hex:`#e11d48`},{label:`Orange`,value:`24.6 95% 53.1%`,hex:`#f97316`},{label:`Slate`,value:`215.4 16.3% 46.9%`,hex:`#64748b`}],Gr=[{label:`System`,fontSans:`-apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif`,fontMono:`ui-monospace, 'SFMono-Regular', monospace`},{label:`Inter`,fontSans:`'Inter', sans-serif`,fontMono:`'JetBrains Mono', monospace`},{label:`Geist`,fontSans:`'Geist', sans-serif`,fontMono:`'Geist Mono', monospace`},{label:`Outfit`,fontSans:`'Outfit', sans-serif`,fontMono:`'JetBrains Mono', monospace`},{label:`Plus Jakarta Sans`,fontSans:`'Plus Jakarta Sans', sans-serif`,fontMono:`'Fira Code', monospace`},{label:`DM Sans`,fontSans:`'DM Sans', sans-serif`,fontMono:`'JetBrains Mono', monospace`},{label:`Nunito`,fontSans:`'Nunito', sans-serif`,fontMono:`'Fira Code', monospace`},{label:`Figtree`,fontSans:`'Figtree', sans-serif`,fontMono:`'Source Code Pro', monospace`},{label:`Poppins`,fontSans:`'Poppins', sans-serif`,fontMono:`'Fira Code', monospace`},{label:`Montserrat`,fontSans:`'Montserrat', sans-serif`,fontMono:`'Source Code Pro', monospace`}],Kr=[{label:`Success`,key:`success`,fgKey:`successForeground`,swatches:[{value:`142.1 76.2% 36.3%`,fgValue:`0 0% 100%`,hex:`#16a34a`},{value:`160 84% 39%`,fgValue:`0 0% 0%`,hex:`#10b981`},{value:`84 55% 46%`,fgValue:`0 0% 100%`,hex:`#65a30d`}]},{label:`Warning`,key:`warning`,fgKey:`warningForeground`,swatches:[{value:`32.1 94.6% 43.7%`,fgValue:`0 0% 100%`,hex:`#d97706`},{value:`24.6 95% 53.1%`,fgValue:`0 0% 100%`,hex:`#f97316`},{value:`45 96% 48%`,fgValue:`0 0% 0%`,hex:`#eab308`}]},{label:`Info`,key:`info`,fgKey:`infoForeground`,swatches:[{value:`198.6 88.7% 48.4%`,fgValue:`0 0% 100%`,hex:`#0ea5e9`},{value:`221.2 83.2% 53.3%`,fgValue:`0 0% 100%`,hex:`#3b82f6`},{value:`262.1 83.3% 57.8%`,fgValue:`0 0% 100%`,hex:`#8b5cf6`}]},{label:`Danger`,key:`destructive`,fgKey:`destructiveForeground`,swatches:[{value:`0 84.2% 60.2%`,fgValue:`0 0% 100%`,hex:`#ef4444`},{value:`346.8 77.2% 49.8%`,fgValue:`0 0% 100%`,hex:`#e11d48`},{value:`0 72% 51%`,fgValue:`0 0% 100%`,hex:`#dc2626`}]}],qr=[{label:`Lucide`,value:`lucide`,description:`Clean outline icon set`},{label:`Phosphor`,value:`phosphor`,description:`Flexible icon weights and styles`}],Jr=[{label:`Thin`,value:`thin`},{label:`Light`,value:`light`},{label:`Regular`,value:`regular`},{label:`Bold`,value:`bold`},{label:`Fill`,value:`fill`}];function Yr(e){return e.split(`-`).map(e=>e&&e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function Xr({open:e=!0,onClose:n=void 0,surface:r=`flat`,showHeader:i=void 0,title:a=`Customize theme`,subtitle:o=`Live theme tokens and mode controls with no reload.`,headerActions:s=void 0,themeOptions:c=void 0,showModeSection:l=!0,showPrimarySection:u=!0,showRadiusSection:d=!0,showFontSection:f=!0,showStatusSection:p=!0,showThemeSection:m=!0,showIconLibrarySection:h=!0,className:g=void 0,wrapperClassName:_=void 0}){let{resolvedMode:v,primary:y,radius:b,fontSans:x,theme:S,colors:C,themes:w,toggleMode:T,setPrimary:E,setRadius:D,setFont:O,applyTheme:k,setTokens:A}=Qe(),{providerId:j,setProvider:M,registerProvider:N}=$t(),P=j===`phosphor`?`phosphor`:`lucide`,F=(0,t.useMemo)(()=>Object.keys(w).map(e=>({value:e,label:c?.[e]?.label??Yr(e),description:c?.[e]?.description??`Theme available in the current registry.`})),[c,w]),I=i??r===`modal`,L=t.default.createElement(`div`,{className:`flex min-w-0 items-center justify-between gap-3`},t.default.createElement(`div`,{className:`min-w-0`},t.default.createElement(`h3`,{className:`truncate text-lg font-semibold leading-none`},a),o?t.default.createElement(`div`,{className:`mt-1 truncate text-sm text-muted-foreground`},o):null),s?t.default.createElement(`div`,{className:`flex shrink-0 items-center gap-2`},s):null),R=t.default.createElement(t.default.Fragment,null,l?t.default.createElement(`div`,null,t.default.createElement(`label`,{className:`mb-3 block text-xs font-semibold uppercase tracking-wider text-muted-foreground`},`Color mode`),t.default.createElement(`div`,{className:`flex gap-2`},[`light`,`dark`].map(e=>t.default.createElement(`button`,{key:e,type:`button`,onClick:()=>v!==e&&T(),className:`flex flex-1 cursor-pointer items-center justify-center gap-2 rounded-md border py-2 text-sm font-medium transition-colors ${v===e?`border-primary bg-primary/10 text-primary`:`border-border text-muted-foreground hover:bg-accent`}`},t.default.createElement(Q,{name:e===`light`?`sun`:`moon`,size:14}),e.charAt(0).toUpperCase()+e.slice(1))))):null,u?t.default.createElement(`div`,null,t.default.createElement(`label`,{className:`mb-3 block text-xs font-semibold uppercase tracking-wider text-muted-foreground`},`Primary color`),t.default.createElement(`div`,{className:`flex flex-wrap gap-2`},Wr.map(e=>t.default.createElement(`button`,{key:e.label,type:`button`,onClick:()=>E(e.value),title:e.label,className:`h-8 w-8 cursor-pointer rounded-full border-2 transition-transform hover:scale-110 ${y===e.value?`scale-110 border-foreground`:`border-transparent`}`,style:{backgroundColor:e.hex},"aria-label":e.label})))):null,d?t.default.createElement(`div`,null,t.default.createElement(`div`,{className:`mb-3 flex items-center justify-between`},t.default.createElement(`label`,{className:`text-xs font-semibold uppercase tracking-wider text-muted-foreground`},`Border radius`),t.default.createElement(`span`,{className:`text-xs font-mono text-muted-foreground`},b.toFixed(2),`rem`)),t.default.createElement(`input`,{type:`range`,min:0,max:1,step:.05,value:b,onChange:e=>D(parseFloat(e.target.value)),className:`w-full accent-primary`}),t.default.createElement(`div`,{className:`mt-1 flex justify-between text-xs text-muted-foreground`},t.default.createElement(`span`,null,`Sharp`),t.default.createElement(`span`,null,`Rounded`))):null,f?t.default.createElement(`div`,null,t.default.createElement(`label`,{className:`mb-3 block text-xs font-semibold uppercase tracking-wider text-muted-foreground`},`Font`),t.default.createElement(`div`,{className:`relative`},t.default.createElement(`select`,{value:(Gr.find(e=>e.fontSans===x)??Gr[0]).fontSans,onChange:e=>{let t=Gr.find(t=>t.fontSans===e.target.value);t&&O(t.fontSans,t.fontMono)},className:`w-full appearance-none rounded-md border border-border bg-background px-3 py-2 pr-8 text-sm text-foreground focus:outline-none focus:ring-2 focus:ring-ring`},Gr.map(e=>t.default.createElement(`option`,{key:e.label,value:e.fontSans},e.label))),t.default.createElement(Q,{name:`chevron-down`,size:14,className:`pointer-events-none absolute right-2.5 top-1/2 -translate-y-1/2 text-muted-foreground`}))):null,p?t.default.createElement(`div`,null,t.default.createElement(`label`,{className:`mb-3 block text-xs font-semibold uppercase tracking-wider text-muted-foreground`},`Status colors`),t.default.createElement(`div`,{className:`space-y-2`},Kr.map(({label:e,key:n,fgKey:r,swatches:i})=>t.default.createElement(`div`,{key:n,className:`flex items-center gap-2`},t.default.createElement(`span`,{className:`w-14 shrink-0 text-xs text-muted-foreground`},e),t.default.createElement(`div`,{className:`flex gap-1.5`},i.map(i=>t.default.createElement(`button`,{key:i.hex,type:`button`,onClick:()=>A({[n]:i.value,[r]:i.fgValue}),title:`${e} - ${i.hex}`,className:`h-6 w-6 cursor-pointer rounded-full border-2 transition-transform hover:scale-110 ${C?.[n]===i.value?`scale-110 border-foreground`:`border-transparent`}`,style:{backgroundColor:i.hex},"aria-label":`${e} ${i.hex}`}))))))):null,m?t.default.createElement(`div`,null,t.default.createElement(`label`,{className:`mb-3 block text-xs font-semibold uppercase tracking-wider text-muted-foreground`},`Theme`),t.default.createElement(`div`,{className:`space-y-2`},F.map(e=>t.default.createElement(`button`,{key:e.value,type:`button`,onClick:()=>k(e.value),className:`w-full cursor-pointer rounded-md border px-3 py-2.5 text-left text-sm transition-colors ${S===e.value?`border-primary bg-primary/10`:`border-border hover:bg-accent`}`},t.default.createElement(`span`,{className:`font-medium ${S===e.value?`text-primary`:`text-foreground`}`},e.label),t.default.createElement(`span`,{className:`mt-0.5 block text-xs text-muted-foreground`},e.description))))):null,h?t.default.createElement(`div`,null,t.default.createElement(`label`,{className:`mb-3 block text-xs font-semibold uppercase tracking-wider text-muted-foreground`},`Icon library`),t.default.createElement(`div`,{className:`space-y-2`},qr.map(e=>t.default.createElement(`button`,{key:e.value,type:`button`,onClick:()=>M(e.value),className:`w-full cursor-pointer rounded-md border px-3 py-2.5 text-left text-sm transition-colors ${P===e.value?`border-primary bg-primary/10`:`border-border hover:bg-accent`}`},t.default.createElement(`span`,{className:`flex items-center gap-2 font-medium ${P===e.value?`text-primary`:`text-foreground`}`},t.default.createElement(Q,{name:`palette`,size:12}),e.label),t.default.createElement(`span`,{className:`mt-0.5 block text-xs text-muted-foreground`},e.description)))),P===`phosphor`?t.default.createElement(`div`,{className:`mt-3`},t.default.createElement(`p`,{className:`mb-2 text-xs text-muted-foreground`},`Weight`),t.default.createElement(`div`,{className:`flex flex-wrap gap-1`},Jr.map(e=>t.default.createElement(`button`,{key:e.value,type:`button`,onClick:()=>{N(`phosphor`,new Ut(e.value)),M(`phosphor`)},className:`cursor-pointer rounded border border-border px-2 py-1 text-xs transition-colors hover:bg-accent`},e.label)))):null,t.default.createElement(`div`,{className:`mt-3 flex items-center gap-3 px-1`},[`sun`,`moon`,`bell`,`settings`,`search`,`trash`].map(e=>t.default.createElement(Q,{key:e,name:e,size:16,className:`text-muted-foreground`})))):null),z=t.default.createElement(`div`,{className:X(`space-y-6`,r===`flat`&&`rounded-xl border border-border/60 bg-card p-5`,g)},r===`flat`&&I?t.default.createElement(`div`,{className:`border-b border-border/60 pb-4`},L):null,R);return r===`modal`?e?t.default.createElement(mr,{position:`right`,header:I?L:void 0,onClose:n,allowFullscreen:!1,headerClassName:`h-14 !py-0 px-4`,className:g,wrapperClassName:_},t.default.createElement(`div`,{className:`space-y-6`},R)):null:t.default.createElement(`div`,{className:_},z)}var Zr=(0,t.createContext)(null),Qr=({registries:e,setProvider:n,children:r})=>t.default.createElement(Zr.Provider,{value:{registries:e,setProvider:n}},r),$r=()=>{let e=(0,t.useContext)(Zr);if(!e)throw Error(`useSetProvider/useProvider must be used inside <App>.`);return e},ei=()=>$r().setProvider,ti=(e,t)=>{let{registries:n}=$r(),r=n[e],i=t??r?.defaultKey,a=i?r?.registry[i]:void 0;if(!a)throw Error(`Provider '${i??e}' is not registered in category '${e}'. Available: ${Object.keys(r?.registry??{}).join(`, `)}`);return a},ni=void 0,ri=(0,t.createContext)(null),ii=(0,t.createContext)(()=>{}),ai=new Set,oi=e=>{ai.add(e),ni&&e(ni,null)},si=({children:e,defaultConfig:n})=>{let[r,i]=(0,t.useState)(ci(n)),a=(0,t.useRef)(null);return(0,t.useEffect)(()=>{let e=a.current;if(e!==r){ni=r;for(let t of ai)t(r,e)}a.current=r},[r]),t.default.createElement(ri.Provider,{value:r},t.default.createElement(ii.Provider,{value:i},t.default.createElement(Tn,null,e)))},ci=e=>{ni=e;for(let e of ai)e(ni,null);return ni},li=ni?.google;typeof oi==`function`&&oi(e=>{li=e.google});var ui=e=>li?.[e],di=`scrape`,fi=`[DEFAULT]`,pi=new Map,mi=(e,t=fi)=>{pi.set(t,e)},hi=(e=fi)=>In(`FirebaseProvider`,Fn(pi.get(e),[`apiKey`,`authDomain`,`databaseURL`,`projectId`,`storageBucket`,`messagingSenderId`,`appId`],`firebase.`)),gi=(e=fi)=>In(`FirestoreProvider`,Fn(pi.get(e),[`apiKey`,`authDomain`,`projectId`,`appId`],`firebase.`)),_i=(e=fi)=>{try{return e===fi?(0,l.getAuth)():(0,l.getAuth)((0,c.getApp)(e))}catch(e){return console.error(`FirebaseAuthorization`,e instanceof Error?e.message:`Error: check Configuration`),null}},vi=async e=>{let t=_i();if(!t)return!1;try{return await(0,l.setPersistence)(t,l.inMemoryPersistence),await(0,l.signInWithCustomToken)(t,e),!0}catch(e){let n=t.app.options?.apiKey;return console.error(`Firebase custom token sign-in error: `,e,`— app "${t.app.name}" options.apiKey: ${n?`${n.slice(0,6)}… (len ${n.length})`:String(n)}`),!1}},yi=async(e,t=fi)=>{mi(e,t);let n=(0,c.getApps)().find(e=>e.name===t);if(n){if(n.options?.appId===e.appId)return`${t}`,n;await(0,c.deleteApp)(n)}return t===fi?(0,c.initializeApp)(e):(0,c.initializeApp)(e,t)};async function bi(e,t,n=fi,r){let{getFunctions:i,httpsCallable:a}=await import(`firebase/functions`),{data:o}=await a(i(n===fi?(0,c.getApp)():(0,c.getApp)(n),r),e)(t);return o}var xi=`_key`,Si=e=>e.replace(/^\/+|\/+$/g,``),Ci=e=>Si(e).split(`/`).filter(Boolean),wi=e=>Ci(e).length%2==0,Ti=(e,t,n)=>{let r=`Error during ${e}: ${String(t)}`;if(n)throw Error(r);console.error(r)},Ei={eq:`==`,lt:`<`,lte:`<=`,gt:`>`,gte:`>=`,in:`in`,nin:`not-in`},Di=(e,t)=>{let n=[];if(e)for(let[t,r]of Object.entries(e)){let e=typeof r==`object`&&r&&!Array.isArray(r)?r:Array.isArray(r)?{in:r}:{eq:r};for(let[r,i]of Object.entries(e)){let e=Ei[r];e&&n.push((0,u.where)(t,e,i))}}if(t)for(let[e,r]of Object.entries(t))n.push((0,u.orderBy)(e,r));return n},Oi=`@key`,ki=(e,t)=>{if(!t)return e.docs.map((e,t)=>({[xi]:e.id,_index:t,...e.data()}));let n=Object.keys(t);return e.docs.map((e,r)=>{let i={[Oi]:e.id,...e.data()},a={};for(let r of n){let n=t[r];a[r]=n.includes(`{`)?T.parse(i,n):n===Oi?e.id:i[n]}return{[xi]:e.id,_index:r,...a}})},Ai=e=>Object.fromEntries(e.map(e=>[e[xi],e])),ji=class e{static listenerRegistered=!1;databaseId;constructor(t={}){this.databaseId=t.databaseId,!e.listenerRegistered&&typeof oi==`function`&&(e.listenerRegistered=!0,oi(e=>{e.firebase&&yi(e.firebase)}))}getDb=()=>this.databaseId?(0,u.getFirestore)((0,c.getApp)(),this.databaseId):(0,u.getFirestore)();dispose=async()=>{try{await(0,u.terminate)(this.getDb())}catch{}};getConfigurationState(){return gi()}isConfigured(){return this.getConfigurationState().configured}read=async(e,{where:t,order:n,toArray:r=!1,exception:i=!1}={})=>{let a=Si(e);try{let o=this.getDb();if(wi(e)){let t=await(0,u.getDoc)((0,u.doc)(o,a));if(!t.exists()){if(i)throw Error(`Document not found: ${e}`);return}return`${e}`,{[xi]:t.id,...t.data()}}let s=Di(t,n),c=s.length?(0,u.query)((0,u.collection)(o,a),...s):(0,u.collection)(o,a),l=await(0,u.getDocs)(c);`${l.size}${e}`;let d=ki(l);return r?d:Ai(d)}catch(t){Ti(`reading data in Firestore for ${e}`,t,i)}};set=async(e,t,n=!1)=>{let r=Si(e);try{let n=this.getDb();wi(e)?await(0,u.setDoc)((0,u.doc)(n,r),t):await(0,u.addDoc)((0,u.collection)(n,r),t),`${e}`}catch(t){Ti(`setting data in Firestore for ${e}`,t,n)}};update=async(e,t,n=!1)=>{let r=Si(e);try{let n=this.getDb();wi(e)?await(0,u.updateDoc)((0,u.doc)(n,r),t):await(0,u.addDoc)((0,u.collection)(n,r),t),`${e}`}catch(t){Ti(`updating data in Firestore for ${e}`,t,n)}};remove=async(e,t=!1)=>{let n=Si(e);try{let t=this.getDb();if(wi(e))await(0,u.deleteDoc)((0,u.doc)(t,n));else throw Error(`Deleting an entire collection is not supported. Remove individual documents.`);`${e}`}catch(n){Ti(`removing data in Firestore for ${e}`,n,t)}};count=async e=>{if(wi(e))return 1;let t=this.getDb();try{return(await(0,u.getCountFromServer)((0,u.collection)(t,Si(e)))).data().count}catch{return(await(0,u.getDocs)((0,u.collection)(t,Si(e)))).size}};subscribe=(e,t,{where:n,order:r,fieldMap:i,onLoad:a}={})=>{let o=_i();if(!o||!e)return()=>void 0;let s=()=>{let o=this.getDb(),s=Si(e);if(wi(e))return(0,u.onSnapshot)((0,u.doc)(o,s),e=>{if(!e.exists()){t([]);return}t([{[xi]:e.id,_index:0,...e.data()}])},e=>console.error(`Firestore onSnapshot error:`,e));let c=Di(n,r),l=c.length?(0,u.query)((0,u.collection)(o,s),...c):(0,u.collection)(o,s);return(0,u.onSnapshot)(l,e=>{if(e.metadata?.fromCache&&e.size===0)return;let n=ki(e,i);if(a){let e=a(Ai(n));t(Object.entries(e).map(([e,t],n)=>({[xi]:e,_index:n,...typeof t==`object`&&t?t:{}})))}else t(n)},e=>console.error(`Firestore onSnapshot error:`,e))},c,d=(0,l.onIdTokenChanged)(o,e=>{c?.(),c=void 0,e?c=s():t([])});return()=>{c?.(),d()}};readShallow=async(e,t=!1)=>{let n=Si(e);try{let t=this.getDb();if(wi(e)){let e=await(0,u.getDoc)((0,u.doc)(t,n));return e.exists()?Object.keys(e.data()??{}):[]}return(await(0,u.getDocs)((0,u.collection)(t,n))).docs.map(e=>e.id)}catch(n){return Ti(`reading shallow data in Firestore for ${e}`,n,t??!1),[]}};setChunks=async(e,t,{chunkSize:n=500,purge:r=!1,onProgress:i}={})=>{let a=Si(e),o=Math.min(n,500);try{let n=this.getDb();if(r){i?.(0,0,`Purging existing data at ${e}`);let t=(await(0,u.getDocs)((0,u.collection)(n,a))).docs.map(e=>e.id);for(let e=0;e<t.length;e+=o){let r=(0,u.writeBatch)(n);t.slice(e,e+o).forEach(e=>r.delete((0,u.doc)(n,a,e))),await r.commit()}}let s=Object.entries(t),c=Math.ceil(s.length/o);for(let e=0;e<s.length;e+=o){let t=(0,u.writeBatch)(n);s.slice(e,e+o).forEach(([e,r])=>{t.set((0,u.doc)(n,a,e),r)}),await t.commit();let r=Math.floor(e/o)+1;i?.(r,c,`Saving batch ${r}/${c}`)}`${e}${s.length}`}catch(t){Ti(`setting data in chunks in Firestore for ${e}`,t,!1)}}},Mi=new Map;function Ni(e,t){return Mi.has(e)||Mi.set(e,(0,d.createClient)(e,t)),Mi.get(e)}function Pi(e,t,n){return(0,d.createClient)(e,t,{auth:{persistSession:!1,autoRefreshToken:!1,detectSessionInUrl:!1},global:n?{headers:{Authorization:`Bearer ${n}`}}:void 0})}async function Fi(e){await e.removeAllChannels()}function Ii(e){return In(`Supabase`,Fn(e,[`url`,`anonKey`],`supabase.`))}var Li=e=>e.replace(/^\/+|\/+$/g,``);function Ri(e){let t=Li(e).split(`/`).filter(Boolean);return{table:t[0]??``,id:t.length>=2?t.slice(1).join(`/`):null}}function zi(e,t,n){let r=`SupabaseDataProvider.${e}: ${t instanceof Error?t.message:String(t)}`;if(n)throw Error(r);console.error(r)}function Bi(e,t){for(let[n,r]of Object.entries(t))if(r==null)e=e.is(n,null);else if(typeof r!=`object`||Array.isArray(r))e=e.eq(n,r);else{let t=r;t.eq!==void 0&&(e=e.eq(n,t.eq)),t.lt!==void 0&&(e=e.lt(n,t.lt)),t.lte!==void 0&&(e=e.lte(n,t.lte)),t.gt!==void 0&&(e=e.gt(n,t.gt)),t.gte!==void 0&&(e=e.gte(n,t.gte)),t.in&&(e=e.in(n,t.in)),t.nin&&(e=e.not(n,`in`,t.nin))}return e}function Vi(e,t){for(let[n,r]of Object.entries(t))e=e.order(n,{ascending:r===`asc`});return e}function Hi(e,t,n){let{_key:r,_index:i,...a}=e;return t&&(a[n]=t),a}function Ui(e,t,n=0){return{...e,[xi]:String(e[t]??n),_index:n}}var Wi=class{config;get pk(){return this.config.primaryKey??`id`}scopedClient;get client(){return this.config.accessToken?(this.scopedClient||=Pi(this.config.url,this.config.anonKey,this.config.accessToken),this.scopedClient):Ni(this.config.url,this.config.anonKey)}constructor(e){this.config=e}dispose=async()=>{this.scopedClient&&await Fi(this.scopedClient)};getConfigurationState(){return Ii(this.config)}isConfigured(){return this.getConfigurationState().configured}read=async(e,t={})=>{let{table:n,id:r}=Ri(e);if(n)try{if(r){let{data:e,error:t}=await this.client.from(n).select(`*`).eq(this.pk,r).maybeSingle();if(t)throw t;return e?Ui(e,this.pk):void 0}let e=this.client.from(n).select(`*`);t.where&&(e=Bi(e,t.where)),t.order&&(e=Vi(e,t.order));let{data:i,error:a}=await e;if(a)throw a;if(!i||i.length===0)return t.toArray?[]:{};let o=i.map((e,t)=>Ui(e,this.pk,t));return t.toArray?o:Object.fromEntries(o.map(e=>[String(e[this.pk]??e._key),e]))}catch(e){return zi(`read`,e,t.exception??!1),t.toArray?[]:void 0}};set=async(e,t,n=!1)=>{let{table:r,id:i}=Ri(e);if(!r){zi(`set`,`path must include a table name`,n);return}try{let e=Hi(t,i,this.pk),{error:n}=await this.client.from(r).upsert(e,{onConflict:this.pk});if(n)throw n}catch(e){zi(`set`,e,n)}};update=async(e,t,n=!1)=>{let{table:r,id:i}=Ri(e);if(!r){zi(`update`,`path must include a table name`,n);return}try{let{_key:e,_index:n,...a}=t;if(i){let{data:e}=await this.client.from(r).select(`*`).eq(this.pk,i).maybeSingle(),t={...e??{},...a,[this.pk]:i},{error:n}=await this.client.from(r).upsert(t,{onConflict:this.pk});if(n)throw n}else{let{error:e}=await this.client.from(r).insert(a);if(e)throw e}}catch(e){zi(`update`,e,n)}};remove=async(e,t=!1)=>{let{table:n,id:r}=Ri(e);if(!n||!r){zi(`remove`,`path must include both table and id`,t);return}try{let{error:e}=await this.client.from(n).delete().eq(this.pk,r);if(e)throw e}catch(e){zi(`remove`,e,t)}};subscribe=(e,t,n={})=>{if(!e)return()=>void 0;let{table:r}=Ri(e);if(!r)return()=>void 0;let i=null,a=!0,o=async()=>{if(a)try{let e=this.client.from(r).select(`*`);n.where&&(e=Bi(e,n.where)),n.order&&(e=Vi(e,n.order));let{data:i}=await e;if(!a)return;t((i??[]).map((e,t)=>Ui(e,this.pk,t)))}catch{t([])}};o();try{i=this.client.channel(`llmnative:${r}`).on(`postgres_changes`,{event:`*`,schema:`public`,table:r},()=>void o()).subscribe()}catch{}return()=>{a=!1,i&&=(this.client.removeChannel(i).catch(()=>{}),null)}};count=async e=>{let{table:t}=Ri(e);if(!t)return 0;try{let{count:e,error:n}=await this.client.from(t).select(`*`,{count:`exact`,head:!0});if(n)throw n;return e??0}catch(e){return console.error(`SupabaseDataProvider.count:`,e),0}};setChunks=async(e,t,n={})=>{let{table:r}=Ri(e);if(!r)return;let{chunkSize:i=500,purge:a=!1,onProgress:o}=n,s=Object.entries(t);try{a&&await this.client.from(r).delete().neq(this.pk,`__purge_all__`);for(let e=0;e<s.length;e+=i){let t=s.slice(e,e+i).map(([e,t])=>Hi(t,e,this.pk)),{error:n}=await this.client.from(r).upsert(t,{onConflict:this.pk});if(n)throw n;o?.(Math.min(e+i,s.length),s.length,`Wrote ${Math.min(e+i,s.length)}/${s.length}`)}}catch(e){throw console.error(`SupabaseDataProvider.setChunks:`,e),e}}},Gi={key:`@key`,value:`@value`};function Ki(e,t){if(!t)return e;let n=t.split(`.`),r=e;for(let e of n){if(r==null)return;r=r[e]}return r}function qi(e,t){return e===t?0:e==null?-1:t==null?1:typeof e==`number`&&typeof t==`number`?e-t:typeof e==`boolean`&&typeof t==`boolean`?Number(e)-Number(t):globalThis.String(e).localeCompare(globalThis.String(t),void 0,{numeric:!0,sensitivity:`base`})}function Ji(e,t){let n=typeof t==`object`&&t&&!Array.isArray(t)?t:{eq:t};for(let[t,r]of Object.entries(n))switch(t){case`eq`:if(e!==r)return!1;break;case`gt`:if(!(e>r))return!1;break;case`gte`:if(!(e>=r))return!1;break;case`lt`:if(!(e<r))return!1;break;case`lte`:if(!(e<=r))return!1;break;case`in`:if(!Array.isArray(r)||!r.includes(e))return!1;break;case`nin`:if(Array.isArray(r)&&r.includes(e))return!1;break;default:return!1}return!0}function Yi(e,t,n){let r=Object.entries(n||{}),i=Object.entries(t||{}),a=Object.entries(e);return i.length&&(a=a.filter(([,e])=>i.every(([t,n])=>Ji(Ki(e,t),n)))),r.length&&a.sort((e,t)=>{for(let[n,i]of r){let r=qi(Ki(e[1],n),Ki(t[1],n));if(r)return i===`desc`?-r:r}return 0}),Object.fromEntries(a)}function Xi(e,t){let n=Object.entries(e);if(!t)return n.map(([e,t],n)=>typeof t==`object`&&t?{_index:n,[xi]:e,...t}:{_index:n,[xi]:e,[Gi.value]:t});let r=Object.keys(t);return n.map(([e,n],i)=>{let a=typeof n==`object`&&n?{[Gi.key]:e,...n}:{[Gi.key]:e,[Gi.value]:n},o={};for(let i of r){let r=t[i];o[i]=r.includes(`{`)?T.parse(a,r):r===Gi.key?e:r===Gi.value?n:a[r]}return{[xi]:e,_index:i,...o}})}var Zi=class{store={};listeners=new Map;persistKey;constructor(e,t){this.persistKey=t?.persist?t.storageKey??`llmnative:mock`:null;let n=this.persistKey?this.loadStore()??e:e;if(n)for(let[e,t]of Object.entries(n)){let n=e.startsWith(`/`)?e:`/${e}`;this.store[n]={...t}}}loadStore(){if(!this.persistKey||typeof window>`u`)return null;try{let e=window.localStorage.getItem(this.persistKey);if(!e)return null;let t=JSON.parse(e);return typeof t==`object`&&t&&!Array.isArray(t)?t:null}catch{return null}}saveStore(){if(this.persistKey&&typeof window<`u`)try{window.localStorage.setItem(this.persistKey,JSON.stringify(this.store))}catch{}}isConfigured(){return!0}getConfigurationState(){return{configured:!0}}getCollection(e){return this.store[e]||(this.store[e]={}),this.store[e]}resolvePath(e){let t=e.startsWith(`/`)?e:`/${e}`;if(this.store[t])return{collection:t};let n=Object.keys(this.store).filter(e=>t.startsWith(`${e}/`)&&!t.slice(e.length+1).includes(`/`)).sort((e,t)=>t.length-e.length)[0];if(n)return{collection:n,id:t.slice(n.length+1)};let r=t.replace(/^\/+/,``).split(`/`).filter(Boolean);return r.length%2==1?{collection:`/${r.join(`/`)}`}:{collection:`/${r.slice(0,-1).join(`/`)}`,id:r[r.length-1]}}notify(e){this.listeners.get(e)?.forEach(e=>e())}read=async(e,t={})=>{let{collection:n,id:r}=this.resolvePath(e),i=this.getCollection(n);if(r)return i[r]?{...i[r]}:void 0;let a=Yi(i,t.where,t.order);return t.toArray?Object.values(a).map(e=>({...e})):Object.fromEntries(Object.entries(a).map(([e,t])=>[e,{...t}]))};set=async(e,t)=>{let{collection:n,id:r}=this.resolvePath(e),i=this.getCollection(n);r?i[r]={...t}:this.store[n]={...t},this.saveStore(),this.notify(n)};update=async(e,t)=>{let{collection:n,id:r}=this.resolvePath(e),i=this.getCollection(n);r?i[r]={...i[r]||{},...t}:this.store[n]={...i,...t},this.saveStore(),this.notify(n)};remove=async e=>{let{collection:t,id:n}=this.resolvePath(e);n?delete this.getCollection(t)[n]:delete this.store[t],this.saveStore(),this.notify(t)};subscribe=(e,t,n)=>{if(!e)return()=>void 0;let r=e.startsWith(`/`)?e:`/${e}`,i=()=>{let e=Yi(this.getCollection(r),n?.where,n?.order);t(Xi(n?.onLoad?n.onLoad(e):e,n?.fieldMap))};return i(),this.listeners.has(r)||this.listeners.set(r,new Set),this.listeners.get(r).add(i),()=>{this.listeners.get(r)?.delete(i)}}};function Qi(e,t){let n=e.split(`.`).pop()?.toLowerCase()??``;return(Array.isArray(t)?t.map(e=>e.toLowerCase().replace(/^\./,``)):[t.toLowerCase().replace(/^\./,``)]).includes(n)}function $i(e,t){let n=e;return t.filterByExtension!==void 0&&(n=n.filter(e=>e.isFolder||Qi(e.name,t.filterByExtension))),t.limit!==void 0&&t.limit>0&&(n=n.slice(0,t.limit)),n}var ea=e=>e?(0,f.getStorage)((0,c.getApp)(),e):(0,f.getStorage)(),ta=e=>({name:e.name,path:e.fullPath}),na=async e=>{try{let t=await(0,f.getMetadata)(e);return{name:e.name,path:e.fullPath,size:t.size,contentType:t.contentType,updatedAt:t.updated}}catch{return ta(e)}},ra=class e{static listenerRegistered=!1;defaultBucket;constructor(t={}){this.defaultBucket=t.defaultBucket,!e.listenerRegistered&&typeof oi==`function`&&(e.listenerRegistered=!0,oi(e=>{e.firebase&&yi(e.firebase)}))}resolveBucket=e=>e??this.defaultBucket;getConfigurationState(){return hi()}isConfigured(){return this.getConfigurationState().configured}upload=async(e,t,n={})=>{if(e)try{let r=(0,f.ref)(ea(this.resolveBucket(n.bucket)),t);if(typeof e==`string`){let t=await(0,f.uploadString)(r,e,`data_url`);return await(0,f.getDownloadURL)(t.ref)}return await new Promise((t,i)=>{let a=n.contentType?{contentType:n.contentType}:e instanceof File&&e.type?{contentType:e.type}:void 0,o=(0,f.uploadBytesResumable)(r,e,a);n.onProgress&&o.on(`state_changed`,e=>{let t=e.totalBytes>0?Math.round(e.bytesTransferred/e.totalBytes*100):0;n.onProgress(t)}),o.then(async e=>t(await(0,f.getDownloadURL)(e.ref))).catch(i)})}catch(e){console.error(`[FirebaseStorage] upload error:`,e)}};createUpload=(e,t,n={})=>{let r=(0,f.ref)(ea(this.resolveBucket(n.bucket)),t);if(typeof e==`string`){let t=!1;return{url:(async()=>{if(!t)try{let t=await(0,f.uploadString)(r,e,`data_url`);return await(0,f.getDownloadURL)(t.ref)}catch{return}})(),pause:()=>{},resume:()=>{},cancel:()=>{t=!0}}}let i=n.contentType?{contentType:n.contentType}:e instanceof File&&e.type?{contentType:e.type}:void 0,a=(0,f.uploadBytesResumable)(r,e,i);return n.onProgress&&a.on(`state_changed`,e=>{let t=e.totalBytes>0?Math.round(e.bytesTransferred/e.totalBytes*100):0;n.onProgress(t)}),{url:(async()=>{try{return await(0,f.getDownloadURL)((await a).ref)}catch{return}})(),pause:()=>{a.pause()},resume:()=>{a.resume()},cancel:()=>{a.cancel()}}};rename=async(e,t,n={})=>await this.move(e,t,n)>0;move=async(e,t,n={})=>{if(n.recursive){let r=await this.list(e,{bucket:n.bucket,recursive:!0}),i=e.endsWith(`/`)?e:`${e}/`;return(await Promise.all(r.map(async r=>{let a=`${t}/${r.path.startsWith(i)?r.path.slice(i.length):r.path.slice(e.length)}`;return this._moveFile(r.path,a,n)}))).filter(Boolean).length}return+!!await this._moveFile(e,t,n)};_moveFile=async(e,t,n)=>{try{let r=await this.download(e,n);if(!r)return!1;let i=await this.getFileInfo(e,n);return await this.upload(r,t,{bucket:n.destBucket??n.bucket,contentType:i?.contentType})?(await this.delete(e,{bucket:n.bucket}),!0):!1}catch(n){return console.error(`[FirebaseStorage] move error ${e} → ${t}:`,n),!1}};getURL=async(e,t={})=>{try{return await(0,f.getDownloadURL)((0,f.ref)(ea(this.resolveBucket(t.bucket)),e))}catch(t){console.error(`[FirebaseStorage] getURL error for ${e}:`,t)}};getFileInfo=async(e,t={})=>{try{let n=(0,f.ref)(ea(this.resolveBucket(t.bucket)),e),r=await(0,f.getMetadata)(n);return{name:n.name,path:n.fullPath,size:r.size,contentType:r.contentType,updatedAt:r.updated}}catch(t){if(t.code===`storage/object-not-found`)return;console.error(`[FirebaseStorage] getFileInfo error for ${e}:`,t);return}};download=async(e,t={})=>{let n=await this.getURL(e,t);if(n)try{let e=await fetch(n);if(!e.ok)throw Error(`HTTP ${e.status}`);return await e.blob()}catch(t){console.error(`[FirebaseStorage] download error for ${e}:`,t)}};delete=async(e,t={})=>{if(t.recursive)return this._deleteFolder(e,t);try{return await(0,f.deleteObject)((0,f.ref)(ea(this.resolveBucket(t.bucket)),e)),1}catch(t){return t.code===`storage/object-not-found`||console.error(`[FirebaseStorage] delete error for ${e}:`,t),0}};_deleteFolder=async(e,t)=>{try{let n=(0,f.ref)(ea(this.resolveBucket(t.bucket)),e),{items:r,prefixes:i}=await(0,f.listAll)(n),a=0;await Promise.all(r.map(async e=>{try{await(0,f.deleteObject)(e),a++}catch(t){t.code!==`storage/object-not-found`&&console.error(`[FirebaseStorage] delete failed for ${e.fullPath}:`,t)}}));let o=await Promise.all(i.map(e=>this._deleteFolder(e.fullPath,t)));return a+o.reduce((e,t)=>e+t,0)}catch(t){return console.error(`[FirebaseStorage] deleteFolder error for ${e}:`,t),0}};list=async(e,t={})=>$i(await this._listLevel(e,t),t);_listLevel=async(e,t)=>{let n=t.includeFiles!==!1,r=t.includeFolders===!0;try{let i=(0,f.ref)(ea(this.resolveBucket(t.bucket)),e),{items:a,prefixes:o}=await(0,f.listAll)(i),s=n?t.metadata?await Promise.all(a.map(na)):a.map(ta):[],c=r?o.map(e=>({name:e.name,path:e.fullPath,isFolder:!0})):[],l=[...s,...c];if(!t.recursive||o.length===0)return l;let u=await Promise.all(o.map(e=>this._listLevel(e.fullPath,t)));return[...l,...u.flat()]}catch(t){return console.error(`[FirebaseStorage] list error for ${e}:`,t),[]}}};new ra;var ia=class{config;constructor(e){this.config=e}getConfigurationState(){return In(`SupabaseStorageProvider`,Fn(this.config,[`url`,`anonKey`],`supabase.`))}isConfigured(){return this.getConfigurationState().configured}resolveBucket(e){return e??this.config.bucket??`public`}authHeaders(){return{apikey:this.config.anonKey,Authorization:`Bearer ${this.config.accessToken??this.config.anonKey}`}}upload=async(e,t,n={})=>{let r=this.resolveBucket(n.bucket),i,a=n.contentType;if(typeof e==`string`){let[t,n]=e.split(`,`);a??=t.match(/:(.*?);/)?.[1];let r=atob(n),o=new Uint8Array(r.length);for(let e=0;e<r.length;e++)o[e]=r.charCodeAt(e);i=new Blob([o],a?{type:a}:void 0)}else i=e,e instanceof File&&(a??=e.type||void 0);let o=await fetch(`${this.config.url}/storage/v1/object/${r}/${t}`,{method:`POST`,headers:{...this.authHeaders(),...a?{"Content-Type":a}:{}},body:i});if(!o.ok){console.error(`[SupabaseStorage] upload error:`,await o.text());return}return this.getURL(t,{bucket:r})};createUpload=(e,t,n={})=>{let r=new AbortController,i=this.resolveBucket(n.bucket);return{url:(async()=>{let a,o=n.contentType;if(typeof e==`string`){let[t,n]=e.split(`,`);o??=t.match(/:(.*?);/)?.[1];let r=atob(n),i=new Uint8Array(r.length);for(let e=0;e<r.length;e++)i[e]=r.charCodeAt(e);a=new Blob([i],o?{type:o}:void 0)}else a=e,e instanceof File&&(o??=e.type||void 0);try{return(await fetch(`${this.config.url}/storage/v1/object/${i}/${t}`,{method:`POST`,headers:{...this.authHeaders(),...o?{"Content-Type":o}:{}},body:a,signal:r.signal})).ok?this.getURL(t,{bucket:i}):void 0}catch{return}})(),pause:()=>{},resume:()=>{},cancel:()=>r.abort()}};rename=async(e,t,n={})=>await this.move(e,t,n)>0;move=async(e,t,n={})=>{if(n.recursive){let r=await this.list(e,{bucket:n.bucket,recursive:!0}),i=e.endsWith(`/`)?e:`${e}/`;return(await Promise.all(r.map(async r=>{let a=`${t}/${r.path.startsWith(i)?r.path.slice(i.length):r.path.slice(e.length)}`;return this._moveFile(r.path,a,n)}))).filter(Boolean).length}return+!!await this._moveFile(e,t,n)};_moveFile=async(e,t,n)=>{let r=this.resolveBucket(n.bucket),i=this.resolveBucket(n.destBucket??n.bucket);try{return(await fetch(`${this.config.url}/storage/v1/object/move`,{method:`POST`,headers:{...this.authHeaders(),"Content-Type":`application/json`},body:JSON.stringify({bucketId:r,sourceKey:e,destinationBucket:i,destinationKey:t})})).ok}catch(n){return console.error(`[SupabaseStorage] move error ${e} → ${t}:`,n),!1}};getURL=async(e,t={})=>{let n=this.resolveBucket(t.bucket);return`${this.config.url}/storage/v1/object/public/${n}/${e}`};getFileInfo=async(e,t={})=>{let n=e.split(`/`),r=n.pop(),i=n.join(`/`);return(await this.list(i,{...t,metadata:!0})).find(e=>e.name===r)};download=async(e,t={})=>{let n=await this.getURL(e,t);if(n)try{let e=await fetch(n);if(!e.ok)throw Error(`HTTP ${e.status}`);return await e.blob()}catch(t){console.error(`[SupabaseStorage] download error for ${e}:`,t)}};delete=async(e,t={})=>{let n=this.resolveBucket(t.bucket),r;if(t.recursive){let n=await this.list(e,{...t,recursive:!0});if(n.length===0)return 0;r=n.map(e=>e.path)}else r=[e];try{let e=await fetch(`${this.config.url}/storage/v1/object/${n}`,{method:`DELETE`,headers:{...this.authHeaders(),"Content-Type":`application/json`},body:JSON.stringify({prefixes:r})});return e.status===404?0:e.ok?r.length:(console.error(`[SupabaseStorage] delete error:`,await e.text()),0)}catch(t){return console.error(`[SupabaseStorage] delete error for ${e}:`,t),0}};list=async(e,t={})=>$i(await this._listLevel(e,t),t);_listLevel=async(e,t)=>{let n=t.includeFiles!==!1,r=t.includeFolders===!0,i=this.resolveBucket(t.bucket);try{let a=await fetch(`${this.config.url}/storage/v1/object/list/${i}`,{method:`POST`,headers:{...this.authHeaders(),"Content-Type":`application/json`},body:JSON.stringify({prefix:e,limit:1e3,offset:0})});if(!a.ok)return console.error(`[SupabaseStorage] list error:`,await a.text()),[];let o=await a.json(),s=o.filter(e=>e.id!==null&&e.name&&!e.name.endsWith(`/`)),c=o.filter(e=>e.id===null&&e.name),l=n?s.map(t=>({name:t.name??``,path:e?`${e}/${t.name}`:t.name??``,size:t.metadata?.size,contentType:t.metadata?.mimetype,updatedAt:t.updated_at})):[],u=r?c.map(t=>({name:t.name??``,path:e?`${e}/${t.name}`:t.name??``,isFolder:!0})):[],d=[...l,...u];if(!t.recursive||c.length===0)return d;let f=await Promise.all(c.map(n=>this._listLevel(e?`${e}/${n.name}`:n.name??``,t)));return[...d,...f.flat()]}catch(t){return console.error(`[SupabaseStorage] list error for ${e}:`,t),[]}}},aa={},oa=(e,t,n)=>{(aa[e]??={})[t]=n},sa=e=>typeof e.credential?.token==`string`?e.credential.token:void 0,ca=async e=>{await yi(e.publicConfig),e.credential?.type===`firebaseCustomToken`&&await vi(e.credential.token)},la=`(default)`;oa(`data`,`mock`,e=>new Zi(e.publicConfig.seed,{persist:!1})),oa(`data`,`firebase`,async e=>(await ca(e),new ji({databaseId:la}))),oa(`data`,`supabase`,e=>new Wi({url:e.publicConfig.url,anonKey:e.publicConfig.anonKey,accessToken:sa(e)})),oa(`storage`,`firebase`,async e=>(await ca(e),new ra)),oa(`storage`,`supabase`,e=>new ia({url:e.publicConfig.url,anonKey:e.publicConfig.anonKey,accessToken:sa(e)}));var ua=new WeakMap,da=e=>{let t=ua.get(e);if(t)return t;let n={sequence:0,queue:Promise.resolve(),pending:new Map};return ua.set(e,n),n},fa=()=>{let e=ei();return{switchSession:(0,t.useCallback)((t,n)=>{let r=n?.sessionKey,i=da(e);if(r){let e=i.pending.get(r);if(e?.sequence===i.sequence)return e.promise;if(i.activeKey===r&&i.pending.size===0)return Promise.resolve(i.activeResult??{applied:[],skipped:[]})}let a=async()=>{let r;if(typeof t==`function`)r=await t();else{let e=await fetch(t,n?.fetchOptions);if(!e.ok)throw Error(`Provider session request failed: ${e.status} ${e.statusText}`);r=await e.json()}n?.onResponse&&(r=await n.onResponse(r));let i={applied:[],skipped:[]};for(let[t,n]of Object.entries(r.providers)){let r=aa[t]?.[n.type];if(!r){console.warn(`ProviderSession: no factory registered for category "${t}" type "${n.type}" — discarding. Register one with registerProviderSessionFactory().`),i.skipped.push({category:t,type:n.type});continue}let a=await r(n);await e(t,`custom`,a),i.applied.push(t)}return i};if(!r)return a();let o=++i.sequence,s=i.queue.then(a,a);return i.queue=s.then(()=>void 0,()=>void 0),i.pending.set(r,{sequence:o,promise:s}),s.then(e=>{i.activeKey=r,i.activeResult=e}).finally(()=>{i.pending.get(r)?.promise===s&&i.pending.delete(r)}),s},[e]),setProvider:e}};function pa(e,n){return e?typeof e==`string`?t.default.createElement(Q,{name:e,size:15,className:n}):e:null}function ma({items:e,itemsLoading:n=!1,activeId:r=null,onSelect:i=void 0,onError:a=void 0,onResponse:o=void 0,endpoint:s,authorization:c=void 0,requestBody:l=void 0,method:u=`POST`,icon:d=`layers`,caption:f=void 0,listLabel:p=void 0,placeholder:m=void 0,disabled:h=!1,open:g=void 0,onOpenChange:_=void 0,footer:v=void 0,before:y=void 0,after:b=void 0,wrapperClassName:x=void 0,className:S=void 0,triggerClassName:C=void 0,listClassName:w=void 0,itemClassName:T=void 0}){let E=Y(`providerSwitcher`),D=ut(`select`),{switchSession:O}=fa(),k=Mn(),[A,j]=(0,t.useState)(!1),[M,N]=(0,t.useState)(null),P=e.find(e=>e.id===r)??null,F=g??A,I=_??j,L=M!==null||n,R=(0,t.useRef)(null),z=async()=>c?typeof c==`function`?c():c:k.getAccessToken?.(),B=async e=>{if(R.current!==e.id){N(e.id);try{if(typeof s==`function`)await O(()=>s(e.id),{onResponse:o,sessionKey:e.id});else{let t=await z();await O(s,{onResponse:o,sessionKey:e.id,fetchOptions:{method:u,headers:{"Content-Type":`application/json`,...t?{Authorization:`Bearer ${t}`}:{}},body:JSON.stringify(l?l(e.id):{id:e.id})}})}R.current=e.id,i?.(e.id)}catch(t){a?.(e.id,t)}finally{N(null)}}},ee=e=>{I(!1),B(e)};return(0,t.useEffect)(()=>{if(!r||r===R.current)return;let t=e.find(e=>e.id===r);t&&B(t)},[r]),t.default.createElement(t.default.Fragment,null,y,t.default.createElement(br,{open:F,onOpenChange:I,placement:`auto`,wrapperClassName:X(E.ProviderSwitcher.wrapperClassName,x),className:X(E.ProviderSwitcher.className,S),triggerClassName:X(E.ProviderSwitcher.triggerClassName,(h||L)&&E.ProviderSwitcher.disabledClassName,C),footer:v,trigger:t.default.createElement(`span`,{className:`flex w-full min-w-0 items-center gap-2.5`},t.default.createElement(`span`,{className:X(E.ProviderSwitcher.iconWrapperClassName)},pa(P?.icon??d)),t.default.createElement(`span`,{className:`min-w-0 flex-1 pr-2`},t.default.createElement(`span`,{className:X(E.ProviderSwitcher.labelClassName)},P?.label??(n?D.loading:m??D.placeholder)),f?t.default.createElement(`span`,{className:X(E.ProviderSwitcher.captionClassName)},f):null),t.default.createElement(Q,{name:L?`loader-2`:`chevrons-up-down`,size:12,className:X(E.ProviderSwitcher.chevronClassName,L&&`animate-spin`)}))},p??f?t.default.createElement(wr,null,p??f):null,e.map(e=>t.default.createElement(Cr,{key:e.id,onClick:h||L?void 0:()=>ee(e),className:X(E.ProviderSwitcher.itemClassName,e.id===r?E.ProviderSwitcher.itemActiveClassName:E.ProviderSwitcher.itemInactiveClassName,T,w)},t.default.createElement(`span`,{className:`flex w-full min-w-0 items-center gap-2`},t.default.createElement(`span`,{className:X(`w-3.5 shrink-0`,E.ProviderSwitcher.checkClassName)},e.id===r?t.default.createElement(Q,{name:`check`,size:13}):null),t.default.createElement(`span`,{className:`flex-1 truncate`},e.label),e.meta?t.default.createElement(`span`,{className:X(`shrink-0`,E.ProviderSwitcher.itemMetaClassName)},e.meta):null)))),b)}var ha={info:`text-blue-600`,success:`text-green-600`,warning:`text-yellow-600`,danger:`text-red-600`,primary:`text-primary`,secondary:`text-secondary`,light:`text-gray-400`,dark:`text-gray-800`},ga=`bg-card supports-[backdrop-filter]:backdrop-blur-sm`,_a=({children:e,variant:n=`info`,appearance:r=`default`,placement:i=`inline`,anchorRef:a=void 0,timeout:o=void 0,onClose:c=void 0,icon:l=!0,before:u=void 0,after:d=void 0,wrapperClassName:f=void 0,className:p=void 0})=>{let m=Y(`alert`),[h,g]=(0,t.useState)(null);(0,t.useLayoutEffect)(()=>{if(i!==`sticky`){g(null);return}let e=0,t=null,n=!1,r=()=>{let i=a?.current;if(!n){if(!i){e=requestAnimationFrame(r);return}t=document.createElement(`div`),t.style.cssText=`position:sticky;top:0;left:0;right:0;z-index:50;width:100%`,i.prepend(t),g(t)}};return r(),()=>{n=!0,e&&cancelAnimationFrame(e),t&&t.remove(),g(null)}},[i,a]);let _=l===!1?null:l===!0?{info:`info`,success:`check`,warning:`warning`,danger:`x-circle`,primary:``,secondary:``,light:``,dark:``}[n]||null:l||null;(0,t.useEffect)(()=>{if(typeof c==`function`){let e=setTimeout(()=>{c()},o??5e3);return()=>clearTimeout(e)}},[c,o]);let v=r===`text`?t.default.createElement(`span`,{role:`status`,className:X(`inline-flex items-center gap-1 text-sm font-medium`,ha[n]??`text-foreground`,p)},_&&t.default.createElement(Q,{name:_,size:14,className:`shrink-0`}),e):t.default.createElement(`div`,{role:`alert`,className:X(`alert alert-`+n,p||m.Alert.className,(i===`fixed`||i===`sticky`)&&[`w-full rounded-none border-x-0 shadow-md`,ga])},_&&t.default.createElement(Q,{name:_,size:16,className:`shrink-0`}),e);if(i===`fixed`){let e=(()=>{let e=`__alert-portal-fixed__`,t=document.getElementById(e);return t||(t=document.createElement(`div`),t.id=e,t.style.cssText=`position:fixed;top:0;left:0;right:0;z-index:9999;width:100%`,document.body.appendChild(t)),t})();return(0,s.createPortal)(v,e)}if(i===`sticky`)return h?(0,s.createPortal)(v,h):null;let y=f??(u||d?`flex items-center gap-2`:void 0);return t.default.createElement(Z,{className:y},u,v,d)},va={1:`grid-cols-1`,2:`grid-cols-1 sm:grid-cols-2`,3:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3`,4:`grid-cols-1 sm:grid-cols-2 lg:grid-cols-4`,5:`grid-cols-1 sm:grid-cols-3 lg:grid-cols-5`,6:`grid-cols-1 sm:grid-cols-3 lg:grid-cols-6`},ya=e=>e==null||e===``;function ba({items:e,layout:n=`horizontal`,columns:r=1,labelWidth:i=`12rem`,emptyValue:a=`—`,truncate:o=!1,wrapperClassName:s=void 0,className:c=void 0,itemClassName:l=void 0,labelClassName:u=void 0,valueClassName:d=void 0}){let f=Y(`descriptionList`).DescriptionList,p=n===`horizontal`,m=t.default.createElement(`dl`,{className:X(`grid`,p?`gap-y-3`:X(`gap-x-8 gap-y-4`,va[r]),c||f?.className),"data-layout":n},e.map((e,n)=>{let r=ya(e.value),s=e.title??(o&&typeof e.value==`string`?e.value:void 0),c=e.key??(typeof e.label==`string`?e.label:String(n));return t.default.createElement(`div`,{key:c,className:X(`min-w-0`,p&&`grid gap-1 sm:grid-cols-[var(--rf-dl-label-width)_minmax(0,1fr)] sm:gap-4`,l||f?.itemClassName),style:p?{"--rf-dl-label-width":i}:void 0},t.default.createElement(`dt`,{className:X(p?`text-sm text-muted-foreground`:`text-[10px] font-medium uppercase tracking-widest text-muted-foreground`,u||f?.labelClassName)},e.label),t.default.createElement(`dd`,{className:X(`m-0 text-sm font-medium`,r?`text-muted-foreground`:`text-foreground`,!p&&`mt-1`,o?`truncate`:`break-words`,d||f?.valueClassName),title:s},r?a:e.value))}));return s||f?.wrapperClassName?t.default.createElement(`div`,{className:X(s||f?.wrapperClassName)},m):m}var xa=e=>!!e.children?.length;function Sa(e){return e.flatMap(e=>xa(e)?[e.id,...Sa(e.children)]:[])}function Ca(e,t,n=1,r){return e.flatMap(e=>[{node:e,level:n,parent:r},...xa(e)&&t.has(e.id)?Ca(e.children,t,n+1,e):[]])}function wa({nodes:e,selectedId:n=void 0,defaultSelectedId:r=null,onSelect:i=void 0,expanded:a=void 0,defaultExpanded:o=void 0,onExpandedChange:s=void 0,selectableBranches:c=!1,ariaLabel:l=void 0,wrapperClassName:u=void 0,className:d=void 0,itemClassName:f=void 0,selectedClassName:p=void 0}){let m=Y(`tree`).Tree,[h,g]=(0,t.useState)(()=>o===!0?Sa(e):[...o??[]]),[_,v]=(0,t.useState)(r),y=(0,t.useMemo)(()=>new Set(a??h),[a,h]),b=n===void 0?_:n,x=(0,t.useMemo)(()=>Ca(e,y),[e,y]),[S,C]=(0,t.useState)(null),w=(0,t.useRef)(new Map),T=x.find(e=>e.node.id===S)?.node.id??x.find(e=>e.node.id===b)?.node.id??x[0]?.node.id,E=(e,t)=>{let n=t?[...y,e]:[...y].filter(t=>t!==e);a===void 0&&g(n),s?.(n)},D=e=>{e.disabled||(n===void 0&&v(e.id),i?.(e))},O=e=>{e&&(C(e),w.current.get(e)?.focus())},k=e=>{xa(e)?(E(e.id,!y.has(e.id)),c&&D(e)):D(e)},A=(e,t)=>{let n=x.findIndex(e=>e.node.id===t.node.id),r=xa(t.node);switch(e.key){case`ArrowDown`:O(x[n+1]?.node.id);break;case`ArrowUp`:O(x[n-1]?.node.id);break;case`Home`:O(x[0]?.node.id);break;case`End`:O(x[x.length-1]?.node.id);break;case`ArrowRight`:r&&!y.has(t.node.id)?E(t.node.id,!0):r&&O(t.node.children[0]?.id);break;case`ArrowLeft`:r&&y.has(t.node.id)?E(t.node.id,!1):O(t.parent?.id);break;case`Enter`:case` `:k(t.node);break;default:return}e.preventDefault()},j=(e,n,r)=>e.map(e=>{let i=xa(e),a=i&&y.has(e.id),o=b===e.id,s={node:e,level:n,parent:r};return t.default.createElement(`div`,{key:e.id,role:`none`},t.default.createElement(`div`,{ref:t=>{t?w.current.set(e.id,t):w.current.delete(e.id)},role:`treeitem`,"aria-level":n,"aria-expanded":i?a:void 0,"aria-selected":!i||c?o:void 0,"aria-disabled":e.disabled||void 0,tabIndex:e.id===T?0:-1,"data-selected":o||void 0,className:X(`flex cursor-pointer select-none items-center gap-1.5 rounded-md py-1 pe-2 text-sm outline-none`,`hover:bg-muted focus-visible:ring-2 focus-visible:ring-ring`,e.disabled&&`cursor-not-allowed opacity-50`,f||m?.itemClassName,o&&X(`bg-primary/10 font-medium text-primary`,p||m?.selectedClassName)),style:{paddingInlineStart:`${(n-1)*1+.25}rem`},onClick:()=>{C(e.id),k(e)},onKeyDown:e=>A(e,s)},t.default.createElement(`span`,{className:`inline-flex w-4 shrink-0 justify-center text-muted-foreground`},i&&t.default.createElement(Q,{name:a?`chevron-down`:`chevron-right`,size:14})),t.default.createElement(Q,{name:e.icon??(i?a?`folder-open`:`folder`:`file`),size:16,className:`shrink-0 text-muted-foreground`}),t.default.createElement(`span`,{className:`min-w-0 truncate`},e.label),e.description&&t.default.createElement(`span`,{className:`min-w-0 truncate text-xs font-normal text-muted-foreground`},e.description),e.badge&&t.default.createElement(`span`,{className:`ms-auto shrink-0`},e.badge)),a&&t.default.createElement(`div`,{role:`group`},j(e.children,n+1,e)))}),M=t.default.createElement(`div`,{role:`tree`,"aria-label":l,className:X(`space-y-0.5`,d||m?.className)},j(e,1));return u||m?.wrapperClassName?t.default.createElement(`div`,{className:u||m?.wrapperClassName},M):M}function Ta(e,t){let n={node:{id:``,label:``},folders:new Map,files:[]};for(let r of e){let e=r.split(`/`).filter(Boolean),i=n;e.slice(0,-1).forEach((t,n)=>{let r=`${e.slice(0,n+1).join(`/`)}/`;i.folders.has(t)||i.folders.set(t,{node:{id:r,label:t},folders:new Map,files:[]}),i=i.folders.get(t)}),i.files.push({id:r,label:e[e.length-1]??r,...t?.(r)})}let r=e=>[...[...e.folders.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([,e])=>({...e.node,children:r(e)})),...e.files.sort((e,t)=>e.id.localeCompare(t.id))];return r(n)}var Ea={markup:()=>import(`prismjs/components/prism-markup`),html:()=>import(`prismjs/components/prism-markup`),xml:()=>import(`prismjs/components/prism-markup`),svg:()=>import(`prismjs/components/prism-markup`),mathml:()=>import(`prismjs/components/prism-markup`),css:()=>import(`prismjs/components/prism-css`),clike:()=>import(`prismjs/components/prism-clike`),javascript:()=>import(`prismjs/components/prism-javascript`),js:()=>import(`prismjs/components/prism-javascript`),jsx:()=>import(`prismjs/components/prism-jsx`),typescript:()=>import(`prismjs/components/prism-typescript`),tsx:()=>import(`prismjs/components/prism-tsx`),json:()=>import(`prismjs/components/prism-json`),bash:()=>import(`prismjs/components/prism-bash`),shell:()=>import(`prismjs/components/prism-bash`),python:()=>import(`prismjs/components/prism-python`),java:()=>import(`prismjs/components/prism-java`),c:()=>import(`prismjs/components/prism-c`),cpp:()=>import(`prismjs/components/prism-cpp`),csharp:()=>import(`prismjs/components/prism-csharp`),go:()=>import(`prismjs/components/prism-go`),sql:()=>import(`prismjs/components/prism-sql`),php:()=>import(`prismjs/components/prism-php`),ruby:()=>import(`prismjs/components/prism-ruby`),yaml:()=>import(`prismjs/components/prism-yaml`),ini:()=>import(`prismjs/components/prism-ini`),docker:()=>import(`prismjs/components/prism-docker`),powershell:()=>import(`prismjs/components/prism-powershell`),git:()=>import(`prismjs/components/prism-git`),graphql:()=>import(`prismjs/components/prism-graphql`)},Da={html:[`markup`],xml:[`markup`],svg:[`markup`],mathml:[`markup`],javascript:[`clike`],js:[`clike`,`javascript`],jsx:[`markup`,`clike`,`javascript`],typescript:[`clike`,`javascript`],tsx:[`markup`,`clike`,`javascript`,`jsx`,`typescript`],c:[`clike`],cpp:[`c`],csharp:[`clike`],java:[`clike`],php:[`markup`]},Oa={prism:`rf-code-theme-prism`,dark:`rf-code-theme-dark`,coy:`rf-code-theme-coy`,funky:`rf-code-theme-funky`,okaidia:`rf-code-theme-okaidia`,solarizedlight:`rf-code-theme-solarizedlight`,tomorrow:`rf-code-theme-tomorrow`,twilight:`rf-code-theme-twilight`},ka={primary:`bg-primary text-primary-foreground`,secondary:`bg-secondary text-secondary-foreground`,success:`bg-success text-success-foreground`,danger:`bg-destructive text-destructive-foreground`,warning:`bg-warning text-warning-foreground`,info:`bg-info text-info-foreground`,light:`bg-muted text-muted-foreground`,dark:`bg-foreground text-background`,white:`bg-white text-slate-950`,black:`bg-black text-white`,transparent:`bg-transparent`,default:void 0};function Aa(e,t){return typeof t==`string`&&t in e}async function ja(e,t=new Set){if(!t.has(e)){for(let n of Da[e]??[])Aa(Ea,n)&&await ja(n,t);await Ea[e]?.(),t.add(e)}}var Ma=!1;async function Na(){Ma||(Ma=!0,await Promise.resolve().then(()=>require("./prism-themes-BvRk9kiK.js")))}var Pa=({language:e,children:n,before:r,after:i,wrapperClassName:a,className:o,showCopy:s=!0,theme:c=`tomorrow`,background:l=`default`})=>{let u=(0,t.useRef)(null),d=Y(`code`),f=ut(`code`),p=typeof n==`string`?n:String(n??``),m=Aa(Ea,e)?e:`tsx`,h=Aa(Oa,c)?c:`tomorrow`,g=Aa(ka,l)?l:`transparent`;return(0,t.useEffect)(()=>{let e=!1;return(async()=>{await Na(),window.Prism?.highlightElement||(window.Prism={...window.Prism??{},manual:!0});let t;try{t=(await import(`prismjs`)).default,window.Prism=t}catch(e){console.warn(`Errore nel caricare Prism core`,e);return}try{await ja(m)}catch(e){console.warn(`Errore nel caricare il linguaggio Prism "${m}"`,e)}if(!e&&u.current)try{t.highlightElement(u.current)}catch(e){console.warn(`Errore nell'evidenziare il blocco Prism "${m}"`,e)}})(),()=>{e=!0}},[p,m]),t.default.createElement(Z,{className:a||d.Code.wrapperClassName},t.default.createElement(`div`,{className:X(`flex w-full items-stretch gap-2`,(r||i)&&`overflow-x-auto`)},r&&t.default.createElement(`div`,{className:`flex shrink-0 items-center text-sm text-muted-foreground`},r),t.default.createElement(`pre`,{"data-rf-code-theme":h,"data-rf-code-background":g,className:X(`relative min-w-0 flex-1 overflow-auto rounded-md border border-border p-4 text-sm`,Oa[h],ka[g],o||d.Code.className)},s&&t.default.createElement(`button`,{onClick:()=>k(p),className:`absolute right-2 top-2 inline-flex items-center justify-center rounded-md bg-secondary px-2 py-1 text-xs font-medium text-secondary-foreground transition-colors hover:bg-secondary/80 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,title:f.copyCode,"aria-label":f.copyCode},t.default.createElement(Q,{name:`clipboard`,size:14})),t.default.createElement(`code`,{ref:u,className:`language-${m}`},p)),i&&t.default.createElement(`div`,{className:`flex shrink-0 items-center text-sm text-muted-foreground`},i)))},Fa={en:`English`,it:`Italiano`,fr:`Français`,de:`Deutsch`,es:`Español`,pt:`Português`,nl:`Nederlands`,pl:`Polski`,ru:`Русский`,zh:`中文`,ja:`日本語`,ko:`한국어`,ar:`العربية`},Ia=({icon:e=`Globe`,label:n,labels:r,appearance:i=`code`,className:a=``})=>{let{locale:o,availableLocales:s,setLocale:c}=ut();if(s.length<=1)return null;let l={...Fa,...r},u=e=>i===`code`?e.toUpperCase():l[e]??e.toUpperCase();return t.default.createElement(`div`,{className:`flex items-center gap-1.5 ${a}`.trim()},t.default.createElement(Q,{name:e,size:16,"aria-hidden":!0}),n&&t.default.createElement(`span`,{className:`text-sm`},n),t.default.createElement(`select`,{value:o,onChange:e=>c(e.target.value),className:`cursor-pointer rounded border border-border bg-transparent py-0.5 pl-1 pr-5 text-sm focus:outline-none focus:ring-1 focus:ring-ring`,style:{width:`auto`},"aria-label":n??`Select language`},s.map(e=>t.default.createElement(`option`,{key:e,value:e},u(e)))))},La={primary:`primary`,secondary:`secondary`,success:`success`,warning:`warning`,danger:`destructive`,info:`info`,light:`muted`,dark:`foreground`},Ra={primary:`primary-foreground`,secondary:`secondary-foreground`,success:`success-foreground`,warning:`warning-foreground`,danger:`destructive-foreground`,info:`info-foreground`,light:`muted-foreground`,dark:`background`},za=(e,t)=>`hsl(var(--rf-${e})${t===void 0?``:` / ${t}`})`,Ba=({progress:e,variant:n,thickness:r,showText:i,trackVariant:a,size:o,fontSize:s,className:c})=>{let l=za(La[a],a===`secondary`||a===`light`?.55:.16),u=za(La[n]),d=za(e>=12?Ra[n]:`foreground`);return t.default.createElement(`div`,{className:X(`relative overflow-hidden rounded-full border border-border shadow-sm`,c),style:{height:`${r}px`,width:`${o}%`,minWidth:o<100?120:void 0,backgroundColor:l},role:`progressbar`,"aria-valuenow":e,"aria-valuemin":0,"aria-valuemax":100},t.default.createElement(`div`,{className:`h-full rounded-full transition-all duration-300`,style:{width:`${e}%`,backgroundColor:u}}),i&&t.default.createElement(`span`,{className:`pointer-events-none absolute inset-0 flex items-center justify-center font-medium tabular-nums`,style:{fontSize:`${s}px`,color:d}},e,`%`))},Va=({progress:e,variant:n,thickness:r,showText:i,trackVariant:a,size:o,fontSize:s,className:c})=>{let l=o/2,u=l-r/2,d=2*Math.PI*u,f=d*((100-e)/100),p=za(La[a],a===`secondary`||a===`light`?.55:.18),m=za(La[n]),h=za(`foreground`);return t.default.createElement(`span`,{className:X(`inline-flex items-center justify-center`,c),role:`progressbar`,"aria-valuenow":e,"aria-valuemin":0,"aria-valuemax":100},t.default.createElement(`svg`,{width:o,height:o,viewBox:`0 0 ${o} ${o}`},t.default.createElement(`circle`,{r:u,cx:l,cy:l,fill:`none`,stroke:p,strokeWidth:r}),t.default.createElement(`circle`,{r:u,cx:l,cy:l,fill:`none`,stroke:m,strokeWidth:r,strokeLinecap:`round`,strokeDasharray:d,strokeDashoffset:f,style:{transform:`rotate(-90deg)`,transformOrigin:`center`,transition:`stroke-dashoffset 300ms ease`}}),i&&t.default.createElement(`text`,{x:`50%`,y:`50%`,textAnchor:`middle`,dominantBaseline:`middle`,fontWeight:700,fontSize:s,fill:h},`${e}%`)))},Ha=({value:e=0,max:n=100,min:r=0,appearance:i=`bar`,variant:a=`primary`,trackVariant:o=`secondary`,thickness:s=10,showText:c=!0,size:l=100,fontSize:u=16,label:d=void 0,before:f=void 0,after:p=void 0,wrapperClassName:m=void 0,className:h=void 0})=>{let g=Y(`percentage`),_=n-r,v=_<=0?0:Math.round(Math.max(0,Math.min(100,(e-r)/_*100))),y=h||g.Percentage?.className||``;return t.default.createElement(Z,{className:m||g.Percentage?.wrapperClassName},f,d&&t.default.createElement(Co,{label:d}),i===`bar`?t.default.createElement(Ba,{progress:v,variant:a,thickness:s,showText:c,trackVariant:o,size:l,fontSize:u,className:y}):t.default.createElement(Va,{progress:v,variant:a,thickness:s,showText:c,trackVariant:o,size:l,fontSize:u,className:y}),p)},Ua={container:xt,wrapper:Z,row:St,col:Ct};function Wa({minHeight:e=200,maxHeight:n=600,paddingOffset:r=0}){return(0,t.useMemo)(()=>{let t=e===`fill`,i=t?0:e;return{fill:t,adjustedMinHeight:i-r,wrapperStyle:t?{height:`100%`,overflowY:`auto`}:{maxHeight:n,overflowY:n?`auto`:void 0},resolvedMinHeight:i,resolvedMaxHeight:t?void 0:n}},[e,n,r])}var Ga=`mb-1 block text-sm font-medium leading-5 text-foreground`,Ka=`mt-1 text-xs text-muted-foreground`,qa=`flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,Ja=`flex min-h-[5rem] w-full rounded-md border border-input bg-background px-3 py-2 text-sm shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,Ya=`flex w-full items-stretch`,Xa=`inline-flex shrink-0 items-center border border-input bg-muted px-3 py-1 text-sm text-muted-foreground`,Za=`relative`,Qa=`pointer-events-none absolute left-3 top-2 z-10 origin-[0] bg-background px-1 text-xs font-medium normal-case tracking-normal text-muted-foreground transition-all duration-150 peer-placeholder-shown:top-1/2 peer-placeholder-shown:-translate-y-1/2 peer-placeholder-shown:px-0 peer-placeholder-shown:text-sm peer-placeholder-shown:font-normal peer-placeholder-shown:normal-case peer-placeholder-shown:tracking-normal peer-focus:top-2 peer-focus:-translate-y-0 peer-focus:px-1 peer-focus:text-xs peer-focus:font-medium peer-focus:tracking-normal peer-focus:text-foreground`,$a=`pointer-events-none absolute left-3 top-2 z-10 origin-[0] bg-background px-1 text-xs font-medium normal-case tracking-normal text-muted-foreground transition-all duration-150 peer-placeholder-shown:top-2 peer-placeholder-shown:translate-y-0 peer-placeholder-shown:px-0 peer-placeholder-shown:text-sm peer-placeholder-shown:font-normal peer-placeholder-shown:normal-case peer-placeholder-shown:tracking-normal peer-focus:top-2 peer-focus:translate-y-0 peer-focus:px-1 peer-focus:text-xs peer-focus:font-medium peer-focus:tracking-normal peer-focus:text-foreground`,eo=`peer h-14 px-3 pt-6 pb-2`,to=`peer px-3 pt-6 pb-2`,no=(e,{before:t,after:n})=>X(e,t&&`!rounded-l-none`,n&&`!rounded-r-none`),ro=({children:e,side:n})=>t.default.createElement(`span`,{className:X(Xa,n===`before`?`rounded-l-md rounded-r-none border-r-0`:`rounded-l-none rounded-r-md border-l-0`)},e),io=({message:e})=>t.default.createElement(`div`,{className:`mt-1 flex items-center gap-1 text-xs text-destructive`,role:`alert`,"aria-live":`polite`},t.default.createElement(Q,{name:`warning-circle`,size:12,className:`shrink-0`}),t.default.createElement(`span`,null,e)),ao=({name:e,onChange:n,wrapperClassName:r,defaultValue:i,valueChecked:a,inheritWrapperClassName:o})=>{let s=e=>e==null?``:`${e}`,{value:c,handleChange:l,formWrapClass:u}=Vu({name:e,onChange:n,wrapperClassName:r,inputType:typeof a==`number`?`number`:`text`,defaultValue:i===void 0?void 0:s(i)===s(a)?s(a):``,inheritWrapperClassName:o});return{id:(0,t.useId)(),checked:s(c)===s(a),formWrapClass:u,handleCheckboxChange:t=>{l?.({target:{name:e,value:t.target.checked?a:``}})}}},oo=({name:e,onChange:n=void 0,defaultValue:r=void 0,placeholder:i=void 0,label:a=void 0,type:o=`text`,required:s=!1,readOnlyAfterSet:c=!1,disabled:l=!1,before:u=void 0,after:d=void 0,afterInset:f=void 0,feedback:p=void 0,min:m=void 0,max:h=void 0,step:g=void 0,id:_=void 0,labelClassName:v=void 0,inheritWrapperClassName:y=!0,wrapperClassName:b=void 0,className:x=void 0,validator:S=void 0,labelMode:C=`default`})=>{let{value:w,handleChange:T,formWrapClass:E}=Vu({name:e,onChange:n,wrapperClassName:b,inputType:o,defaultValue:r,inheritWrapperClassName:y}),D=Bu(e,{required:s,label:a,validator:S}),O=(0,t.useId)(),k=_??O,A=Hu({name:e,value:w,handleChange:T}),j=!(C!==`floating`||!a||u||d||f),M=j?` `:i;return t.default.createElement(Z,{className:E},!j&&a&&t.default.createElement(Co,{label:a,required:s,htmlFor:k,className:v}),t.default.createElement(Z,{className:X(u||d?Ya:``,f&&`relative`,j&&Za)},u&&t.default.createElement(ro,{side:`before`},u),t.default.createElement(`input`,{id:k,type:o,name:e,className:no(X(qa,j&&eo,D&&`border-destructive focus-visible:ring-destructive/20`,f&&`pr-9`,x),{before:u,after:d}),placeholder:M,required:s,disabled:l||c&&!ie(w),value:w??``,onChange:T,min:m,max:h,step:g,onDragOver:e=>e.preventDefault(),onDrop:A}),j&&t.default.createElement(`label`,{htmlFor:k,className:X(Qa,v)},a,` `,s&&t.default.createElement(`span`,{className:`text-destructive`},`*`)),d&&t.default.createElement(ro,{side:`after`},d),f&&t.default.createElement(`span`,{className:`pointer-events-none absolute inset-y-0 right-0 flex items-center pr-1.5 [&>*]:pointer-events-auto`},f)),D?t.default.createElement(io,{message:D}):p&&t.default.createElement(`div`,{className:`mt-1 text-xs text-muted-foreground`},p))},so=e=>t.default.createElement(oo,{...e,type:`text`}),co=e=>t.default.createElement(oo,{...e,type:`number`}),lo=e=>t.default.createElement(oo,{...e,type:`email`}),uo=e=>{let[n,r]=(0,t.useState)(!1);return t.default.createElement(oo,{...e,type:n?`text`:`password`,afterInset:t.default.createElement(`button`,{type:`button`,tabIndex:-1,onClick:()=>r(!n),className:`h-7 w-7 inline-flex items-center justify-center rounded text-muted-foreground hover:text-foreground transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`},t.default.createElement(Q,{name:n?`eye`:`eye-off`,size:15}))})},fo=({className:e,...n})=>t.default.createElement(oo,{...n,type:`color`,className:X(`w-10 shrink-0 cursor-pointer p-0.5`,e)}),po=e=>t.default.createElement(oo,{...e,type:`date`}),mo=e=>t.default.createElement(oo,{...e,type:`time`}),ho=e=>t.default.createElement(oo,{...e,type:`datetime-local`}),go=e=>t.default.createElement(oo,{...e,type:`week`}),_o=e=>t.default.createElement(oo,{...e,type:`month`}),vo=e=>t.default.createElement(oo,{...e,type:`range`,className:X(`!border-0 !bg-transparent !shadow-none !px-0 !py-0 !h-auto cursor-pointer accent-primary`,e.className)}),yo=e=>t.default.createElement(oo,{...e,type:`url`}),bo=({name:e,onChange:n=void 0,defaultValue:r=void 0,value:i=void 0,id:a=void 0,inheritWrapperClassName:o=!0,wrapperClassName:s=void 0})=>{let{value:c,handleChange:l}=Vu({name:e,onChange:n,wrapperClassName:s,defaultValue:r??i,inheritWrapperClassName:o}),u=(0,t.useId)(),d=a??u,f=t.default.useMemo(()=>JSON.stringify(i??null),[i]),p=t.default.useMemo(()=>JSON.stringify(c??null),[c]);return(0,t.useEffect)(()=>{i!==void 0&&f!==p&&l({target:{name:e,value:i}})},[l,e,f,p,i]),t.default.createElement(`input`,{id:d,type:`hidden`,name:e,value:typeof c==`string`?c:c==null?``:JSON.stringify(c),readOnly:!0})},xo=({name:e,onChange:n=void 0,defaultValue:r=void 0,label:i=void 0,title:a=void 0,ariaLabel:o=void 0,required:s=!1,valueChecked:c=`on`,before:l=void 0,after:u=void 0,inheritWrapperClassName:d=!0,wrapperClassName:f=void 0,className:p=void 0})=>{let{id:m,checked:h,formWrapClass:g,handleCheckboxChange:_}=ao({name:e,onChange:n,wrapperClassName:f,defaultValue:r,valueChecked:c,inheritWrapperClassName:d}),v=Bu(e,{required:s,label:i});return t.default.createElement(Z,{className:g},t.default.createElement(`div`,{className:`flex items-center gap-2`},l,t.default.createElement(`input`,{type:`checkbox`,id:m,name:e,title:a,"aria-label":o,className:X(`h-4 w-4 shrink-0 rounded-sm border border-input bg-background text-primary shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,p),checked:h,onChange:_}),i&&t.default.createElement(`label`,{className:`text-sm font-medium leading-none text-foreground`,htmlFor:m},i,s&&t.default.createElement(`span`,{className:`text-destructive`},`\xA0*`)),u),v&&t.default.createElement(io,{message:v}))},So=({name:e,onChange:n=void 0,defaultValue:r=void 0,label:i=void 0,title:a=void 0,ariaLabel:o=void 0,required:s=!1,valueChecked:c=`on`,before:l=void 0,after:u=void 0,inheritWrapperClassName:d=!0,wrapperClassName:f=void 0,className:p=void 0})=>{let{id:m,checked:h,formWrapClass:g,handleCheckboxChange:_}=ao({name:e,onChange:n,wrapperClassName:f,defaultValue:r,valueChecked:c,inheritWrapperClassName:d}),v=Bu(e,{required:s,label:i});return t.default.createElement(Z,{className:g},t.default.createElement(`div`,{className:`flex items-center gap-2`},l,t.default.createElement(`label`,{className:`inline-flex cursor-pointer items-center gap-2 select-none`},t.default.createElement(`span`,{className:`relative inline-flex h-5 w-9 shrink-0 items-center`},t.default.createElement(`input`,{id:m,name:e,type:`checkbox`,title:a,"aria-label":o,checked:h,onChange:_,className:`peer absolute inset-0 m-0 h-full w-full cursor-pointer opacity-0`}),t.default.createElement(`span`,{"aria-hidden":`true`,className:X(`pointer-events-none absolute inset-0 rounded-full transition-colors duration-200 ease-out peer-focus-visible:ring-2 peer-focus-visible:ring-ring peer-focus-visible:ring-offset-2`,h?`bg-primary`:`bg-muted-foreground/35`,p)},t.default.createElement(`span`,{className:X(`pointer-events-none absolute top-0.5 left-0.5 h-4 w-4 rounded-full bg-background shadow-sm transition-transform duration-200 ease-out`,h&&`translate-x-4`)}))),i&&t.default.createElement(`span`,{className:`text-sm font-medium leading-none text-foreground`},i,s&&t.default.createElement(`span`,{className:`text-destructive`},`\xA0*`))),u),v&&t.default.createElement(io,{message:v}))},Co=({label:e,required:n=!1,htmlFor:r=void 0,className:i=void 0})=>t.default.createElement(`label`,{htmlFor:r,className:X(Ga,i)},e,` `,n&&t.default.createElement(`span`,{className:`text-destructive`},`*`)),wo=({name:e,onChange:n=void 0,defaultValue:r=void 0,placeholder:i=void 0,label:a=void 0,required:o=!1,readOnlyAfterSet:s=!1,disabled:c=!1,minHeight:l=96,maxHeight:u=void 0,textareaRef:d=void 0,before:f=void 0,after:p=void 0,feedback:m=void 0,id:h=void 0,labelClassName:g=void 0,inheritWrapperClassName:_=!0,className:v=void 0,wrapperClassName:y=void 0,validator:b=void 0,onKeyDown:x=void 0,onClick:S=void 0,onBlur:C=void 0,labelMode:w=`default`})=>{let{value:T,handleChange:E,formWrapClass:D}=Vu({name:e,onChange:n,wrapperClassName:y,defaultValue:r,inheritWrapperClassName:_}),O=Bu(e,{required:o,label:a,validator:b}),k=Wa({minHeight:l,maxHeight:u}),A=(0,t.useId)(),j=h??A,M=Hu({name:e,value:T,handleChange:E}),N=t.default.useRef(null),P=!(w!==`floating`||!a||f||p),F=P?` `:i;return(0,t.useEffect)(()=>{if(!N.current)return;let e=N.current;e.style.height=`auto`;let t=Math.max(e.scrollHeight,k.resolvedMinHeight),n=k.resolvedMaxHeight?Math.min(t,k.resolvedMaxHeight):t;e.style.minHeight=`${k.resolvedMinHeight}px`,e.style.maxHeight=k.resolvedMaxHeight?`${k.resolvedMaxHeight}px`:``,e.style.height=`${n}px`,e.style.overflowY=k.resolvedMaxHeight&&t>k.resolvedMaxHeight?`auto`:`hidden`},[T,k.resolvedMinHeight,k.resolvedMaxHeight]),t.default.createElement(Z,{className:D},!P&&a&&t.default.createElement(Co,{required:o,label:a,htmlFor:j,className:g}),t.default.createElement(Z,{className:X(f||p?Ya:``,P&&Za)},f&&t.default.createElement(ro,{side:`before`},f),t.default.createElement(`textarea`,{id:j,name:e,className:no(X(Ja,`resize-none`,P&&to,O&&`border-destructive focus-visible:ring-destructive/20`,v),{before:f,after:p}),ref:e=>{if(N.current=e,typeof d==`function`){d(e);return}d&&typeof d==`object`&&`current`in d&&(d.current=e)},placeholder:F,required:o,disabled:c||s&&!ie(T),value:T??``,onChange:E,onKeyDown:x,onClick:S,onBlur:C,onDragOver:e=>e.preventDefault(),onDrop:M}),P&&t.default.createElement(`label`,{htmlFor:j,className:X($a,g)},a,` `,o&&t.default.createElement(`span`,{className:`text-destructive`},`*`)),p&&t.default.createElement(ro,{side:`after`},p)),O?t.default.createElement(io,{message:O}):m&&t.default.createElement(`div`,{className:`mt-1 text-xs text-muted-foreground`},m))},To=({children:e,onClick:n=void 0,label:r=void 0,activeIndices:i=void 0,draggable:a=void 0,onDrop:o=void 0,disabledIndices:s=void 0,loadingIndices:c=void 0,before:l=void 0,after:u=void 0,wrapperClassName:d=void 0,className:f=void 0,itemClassName:p=void 0})=>{let m=X(`flex flex-col divide-y divide-border rounded-md border bg-card`,f),h=e=>{let n=e=>e==null||typeof e==`boolean`?``:typeof e==`string`||typeof e==`number`?`${e}`:Array.isArray(e)?e.map(n).join(` `):t.default.isValidElement(e)?n(e.props.children):``;return n(e).replace(/\s+/g,` `).trim()},g=(e,t)=>{e.dataTransfer.setData(`text/plain`,o?.(t)??t)};return t.default.createElement(Z,{className:d},l,r&&t.default.createElement(`div`,null,r),t.default.createElement(`div`,{className:m},e.map((e,r)=>{let o=i?.includes(r),l=s?.includes(r),u=c?.includes(r),d=X(`flex items-center gap-2 px-3 py-2 text-sm transition-colors`,n&&`cursor-pointer hover:bg-accent hover:text-accent-foreground`,o&&`bg-primary/8 text-foreground`,l&&`pointer-events-none opacity-50`,u&&`animate-pulse`,p);return n?t.default.createElement(`div`,{key:r,onClick:e=>{!u&&!K(e)&&n(e,r)},className:d,style:{cursor:`pointer`}},e):t.default.createElement(`span`,{key:r,className:d,draggable:a,onDragStart:a?t=>g(t,h(e)):void 0,style:{cursor:a?`grab`:`default`}},a&&t.default.createElement(Q,{name:`grip-vertical`}),e)})),u)},Eo={field:``,dir:`asc`},Do=e=>typeof e==`string`&&!Number.isNaN(Date.parse(e)),Oo=(e,t)=>e==null&&t==null?0:e==null?1:t==null?-1:typeof e==`number`&&typeof t==`number`?e-t:typeof e==`boolean`&&typeof t==`boolean`?Number(e)-Number(t):e instanceof Date&&t instanceof Date?e.getTime()-t.getTime():Do(e)&&Do(t)?Date.parse(e)-Date.parse(t):String(e).localeCompare(String(t),void 0,{numeric:!0,sensitivity:`base`}),ko={normalize(e){if(e?.field)return{field:e.field,dir:e.dir===`desc`?`desc`:`asc`}},toggle(e,t){return!e||e.field!==t?{field:t,dir:`asc`}:{field:t,dir:e.dir===`asc`?`desc`:`asc`}},compareValues(e,t,n=`asc`){let r=Oo(e,t);return n===`desc`?-r:r},compareRecords(e,t,n){let r=this.normalize(n);if(!r)return 0;let i=le(e,r.field),a=le(t,r.field);return this.compareValues(i,a,r.dir)},records(e,t){if(!e)return e;let n=this.normalize(t);return n?[...e].sort((e,t)=>this.compareRecords(e,t,n)):[...e]}};function Ao(e){let n=[],r=e=>{if(e!=null&&typeof e!=`boolean`){if(typeof e==`string`||typeof e==`number`||typeof e==`bigint`){n.push(String(e));return}if(Array.isArray(e)){e.forEach(r);return}t.default.isValidElement(e)&&r(e.props.children)}};return r(e),n.join(` `).replace(/\s+/g,` `).trim()}var jo=e=>e==null||e===``||typeof e==`boolean`||typeof e==`object`&&!Array.isArray(e)?[]:typeof e==`string`||typeof e==`number`?e.toString().split(`,`):e,Mo=e=>e?typeof e==`object`?{label:String(e?.label??``)||``,value:String(e?.value??``)||``}:{label:e?.toString()||``,value:e?.toString()||``}:{label:`@value`,value:`@value`},No=e=>e.map(e=>Mo({label:e.label??e.name??e.title??e._key??``,value:e.value??e._key??e.label??e.name??``}));function Po(e){return{fieldMap:e?.fieldMap,where:e?.where,order:e?.order,onLoad:e?.onLoad}}var Fo=(e,t,n)=>{let r=e?.[n.field],[i]=Object.entries(t||{});if(!i||!r)return!1;let[a,o]=i;return a===r&&o===n.dir},Io=(e,t,n,r,i)=>{let a=n||{...Eo,field:`label`},o=[...e.map(Mo),...t];return e.length===0&&Fo(i,r,a)?o:ko.records(o,a)||[]},Lo=({children:e,side:n})=>t.default.createElement(`span`,{className:X(Xa,n===`before`?`rounded-l-md rounded-r-none border-r-0`:`rounded-l-none rounded-r-md border-l-0`)},e),Ro=({name:e,onChange:n=void 0,defaultValue:r=void 0,required:i=!1,readOnlyAfterSet:a=!1,disabled:o=!1,placeholderOption:s=void 0,label:c=void 0,title:l=void 0,before:u=void 0,after:d=void 0,feedback:f=void 0,options:p=[],optionsSource:m=void 0,order:h=void 0,inheritWrapperClassName:g=!0,wrapperClassName:_=void 0,className:v=void 0,validator:y=void 0})=>{let{value:b,handleChange:x,formWrapClass:S}=Vu({name:e,onChange:n,wrapperClassName:_,defaultValue:r,inheritWrapperClassName:g}),C=Bu(e,{required:i,label:c,validator:y}),w=Y(`select`),T=ut(`select`),E=s??{label:T.placeholder,value:``},D=(0,t.useMemo)(()=>Po(m),[m?.fieldMap,m?.where,m?.order,m?.onLoad]),O=tr(),[k,A]=(0,t.useState)([]);(0,t.useEffect)(()=>O.subscribe(m?.path,e=>A(No(e)),D),[O,m?.path,D]);let j=(0,t.useMemo)(()=>{let e=Io(p,k,h,m?.order,D.fieldMap);return H(b&&!e.length?[...e,{label:`× ${b.toString()}`,value:b.toString()}]:e)},[p,k,h,m?.order,D.fieldMap,b]);!b&&!E&&j.length>0&&x?.({target:{name:e,value:j[0].value}});let M=(0,t.useId)();return t.default.createElement(Z,{className:S||w.Select.wrapperClassName},c&&t.default.createElement(Co,{label:c,required:i,htmlFor:M}),t.default.createElement(Z,{className:u||d?X(Ya,`flex-nowrap`):``},u&&t.default.createElement(Lo,{side:`before`},u),t.default.createElement(`select`,{id:M,name:e,className:X(qa,`appearance-none pr-8`,u&&`!rounded-l-none`,d&&`!rounded-r-none`,C&&`border-destructive focus-visible:ring-destructive/20`,v||w.Select.className),value:b??``,required:i,disabled:o||a&&!ie(b),onChange:x,title:l},E&&t.default.createElement(`option`,{key:`${M}-empty`,value:E.value},E.label),j.some(e=>e.group)?Object.entries(j.reduce((e,t)=>{let n=t.group??``;return(e[n]??=[]).push(t),e},{})).map(([e,n])=>e?t.default.createElement(`optgroup`,{key:e,label:e},n.map((n,r)=>t.default.createElement(`option`,{key:`${M}-${e}-${r}`,value:n.value},n.label))):n.map((e,n)=>t.default.createElement(`option`,{key:`${M}-nogroup-${n}`,value:e.value},e.label))):j.map((e,n)=>t.default.createElement(`option`,{key:`${M}-${n}`,value:e.value},e.label))),d&&t.default.createElement(Lo,{side:`after`},d)),C?t.default.createElement(io,{message:C}):f&&t.default.createElement(`div`,{className:`mt-1 text-xs text-muted-foreground`},f))},zo=e=>e.toLocaleLowerCase().normalize(`NFD`).replace(/[̀-ͯ]/g,``),Bo=({name:e,defaultValue:n=void 0,minItems:r=void 0,maxItems:i=void 0,onChange:a=void 0,required:o=!1,readOnlyAfterSet:c=!1,disabled:l=!1,label:u=void 0,title:d=void 0,placeholder:f=void 0,before:p=void 0,after:m=void 0,feedback:h=void 0,options:g=[],optionsSource:_=void 0,order:v=void 0,inheritWrapperClassName:y=!0,wrapperClassName:b=void 0,className:x=void 0,listClassName:S=void 0,optionClassName:C=void 0,validator:w=void 0,creatable:T=!1,onCreate:E=void 0})=>{let{value:D,handleChange:O,formWrapClass:k}=Vu({name:e,onChange:a,wrapperClassName:b,defaultValue:n,inheritWrapperClassName:y}),A=Bu(e,{required:o,label:u,validator:w}),j=Y(`select`),M=ut(`autocomplete`),N=(0,t.useMemo)(()=>jo(D),[D]),[P,F]=(0,t.useState)(()=>N);(0,t.useEffect)(()=>{ae(N,P)||F(N)},[N,P]);let I=(0,t.useMemo)(()=>Po(_),[_?.fieldMap,_?.where,_?.order,_?.onLoad]),L=tr(),[R,z]=(0,t.useState)([]);(0,t.useEffect)(()=>L.subscribe(_?.path,e=>z(No(e)),I),[L,_?.path,I]);let[B,ee]=(0,t.useState)([]),V=(0,t.useMemo)(()=>H(Io([...g,...B],R,v,_?.order,I.fieldMap),`value`),[g,B,R,v,_?.order,I.fieldMap]),te=(0,t.useMemo)(()=>new Map(V.map(e=>[e.value,e.label||e.value])),[V]),[ne,re]=(0,t.useState)(``),[U,W]=(0,t.useState)(!1),[G,oe]=(0,t.useState)(0),[K,se]=(0,t.useState)(null),ce=(0,t.useRef)(null),q=(0,t.useRef)(null),le=(0,t.useRef)(null),ue=P,de=!i||ue.length<i,fe=l||c&&!ie(D),pe=(0,t.useMemo)(()=>{let e=ne.trim(),t=zo(e),n=V.filter(e=>!ue.includes(e.value)).filter(e=>!t||zo(e.label||e.value).includes(t)||zo(e.value).includes(t)).map(e=>({kind:`option`,option:e})),r=!!e&&V.some(n=>zo(n.label||n.value)===t||n.value===e);return T&&e&&!r?[...n,{kind:`create`,text:e}]:n},[V,ue,ne,T]),me=(0,t.useId)(),he=`${me}-options`,ge=e=>`${me}-option-${e}`,_e=U&&de&&!fe,ve=(0,t.useCallback)(()=>{let e=ce.current;if(!e)return;let t=e.getBoundingClientRect(),n=window.innerHeight-t.bottom-8,r=t.top-8,i=n>=200||n>=r;se({...i?{top:t.bottom+4}:{bottom:window.innerHeight-t.top+4},left:t.left,width:t.width,maxHeight:Math.max(120,Math.min(288,i?n:r))})},[]);(0,t.useEffect)(()=>{if(!_e)return;ve();let e=()=>ve(),t=e=>{let t=e.target;ce.current?.contains(t)||le.current?.contains(t)||W(!1)};return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),document.addEventListener(`mousedown`,t),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0),document.removeEventListener(`mousedown`,t)}},[_e,ve,ue.length]),(0,t.useEffect)(()=>{oe(e=>Math.min(e,Math.max(0,pe.length-1)))},[pe.length]),(0,t.useEffect)(()=>{if(!_e)return;let e=document.getElementById(ge(G));e&&typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`nearest`})},[G,_e]);let ye=t=>{F(t),O?.({target:{name:e,value:t}})},be=e=>{if(!e||ue.includes(e)||!de)return;let t=[...ue,e];ye(t),re(``),oe(0),i&&t.length>=i&&W(!1)},xe=async e=>{if(re(``),oe(0),await E?.(e)===!1){W(!1);return}ee(t=>t.some(t=>t.value===e)?t:[...t,{label:e,value:e}]),be(e)},Se=e=>{e&&(e.kind===`option`?be(e.option.value):xe(e.text))},Ce=e=>{ye(ue.filter(t=>t!==e))},we=e=>{if(e.key===`ArrowDown`){if(e.preventDefault(),!U){W(!0);return}oe(e=>Math.min(e+1,Math.max(0,pe.length-1)))}else if(e.key===`ArrowUp`)e.preventDefault(),oe(e=>Math.max(e-1,0));else if(e.key===`Enter`){if(e.preventDefault(),_e&&pe[G]){Se(pe[G]);return}let t=ne.trim();if(!t)return;let n=V.find(e=>e.value===t||zo(e.label||e.value)===zo(t));n?be(n.value):T&&xe(t)}else if(e.key===`Escape`){if(!_e)return;e.preventDefault(),e.nativeEvent.stopPropagation(),W(!1)}else e.key===`Tab`?W(!1):e.key===`Backspace`&&!ne&&ue.length>0&&Ce(ue[ue.length-1])},Te=_e&&K&&t.default.createElement(`ul`,{ref:le,id:he,role:`listbox`,"aria-label":Ao(u)||d||e,className:X(`fixed z-[250] overflow-y-auto rounded-xl border border-border/60 bg-popover/95 p-1 text-sm text-popover-foreground shadow-xl shadow-black/5 backdrop-blur supports-[backdrop-filter]:bg-popover/90 dark:shadow-black/20`,S||j.Autocomplete.listClassName),style:{top:K.top,bottom:K.bottom,left:K.left,width:K.width,maxHeight:K.maxHeight}},pe.length===0?t.default.createElement(`li`,{role:`presentation`,className:`px-2.5 py-2 text-muted-foreground`},M.noResults):pe.map((e,n)=>t.default.createElement(`li`,{key:e.kind===`option`?`option-${e.option.value}`:`create-${e.text}`,id:ge(n),role:`option`,"aria-selected":n===G,className:X(`cursor-pointer select-none rounded-md px-2.5 py-2 transition-colors`,n===G?`bg-accent text-accent-foreground`:`hover:bg-accent/60`,e.kind===`create`&&`font-medium`,C||j.Autocomplete.optionClassName),onMouseDown:e=>e.preventDefault(),onMouseEnter:()=>oe(n),onClick:()=>Se(e)},e.kind===`option`?e.option.label||e.option.value:M.create.replace(`{value}`,e.text))));return t.default.createElement(Z,{className:k||j.Autocomplete.wrapperClassName},u&&t.default.createElement(Co,{label:u,required:o,htmlFor:me}),t.default.createElement(Z,{className:p||m?X(Ya,`flex-nowrap`):``},p&&t.default.createElement(Lo,{side:`before`},p),t.default.createElement(`div`,{ref:ce,className:X(qa,`h-auto min-h-9 flex-wrap items-center gap-1 py-1.5 px-2`,p&&`rounded-l-none`,m&&`rounded-r-none`,A&&`border-destructive focus-within:ring-destructive/20`),onClick:()=>{fe||(q.current?.focus(),W(!0))}},ue.map(e=>t.default.createElement(`span`,{className:`inline-flex max-w-full items-center gap-1 rounded-full border border-primary/20 bg-primary/10 px-2 py-0.5 text-xs font-medium text-primary`,key:e},t.default.createElement(`span`,{className:`truncate`},te.get(e)??e),!fe&&t.default.createElement(`button`,{type:`button`,"aria-label":`${M.remove} ${te.get(e)??e}`,className:`ml-0.5 cursor-pointer opacity-60 transition-opacity hover:opacity-100`,onClick:t=>{t.stopPropagation(),Ce(e)}},`×`))),de&&t.default.createElement(`input`,{ref:q,id:me,type:`text`,role:`combobox`,"aria-expanded":!!(_e&&K),"aria-controls":he,"aria-autocomplete":`list`,"aria-activedescendant":_e&&pe[G]?ge(G):void 0,autoComplete:`off`,className:X(`min-w-[120px] flex-1 border-none bg-transparent text-sm outline-none placeholder:text-muted-foreground`,x||j.Autocomplete.className),required:o&&ue.length<(r||0),disabled:fe,placeholder:T?f??M.createPlaceholder:f,title:d,value:ne,onChange:e=>{re(e.target.value),oe(0),W(!0)},onFocus:()=>W(!0),onBlur:()=>W(!1),onKeyDown:we})),m&&t.default.createElement(Lo,{side:`after`},m)),Te&&typeof document<`u`?(0,s.createPortal)(Te,document.body):null,A?t.default.createElement(io,{message:A}):h&&t.default.createElement(`div`,{className:`mt-1 text-xs text-muted-foreground`},h))},Vo=({name:e,defaultValue:n=void 0,onChange:r=void 0,required:i=!1,readOnlyAfterSet:a=!1,disabled:o=!1,label:s=void 0,title:c=void 0,before:l=void 0,after:u=void 0,feedback:d=void 0,options:f=[],optionsSource:p=void 0,order:m=void 0,inheritWrapperClassName:h=!0,wrapperClassName:g=void 0,className:_=void 0,validator:v=void 0,itemClassName:y=void 0})=>{let{value:b,handleChange:x,formWrapClass:S}=Vu({name:e,onChange:r,wrapperClassName:g,defaultValue:n,inheritWrapperClassName:h}),C=Bu(e,{required:i,label:s,validator:v}),w=(0,t.useMemo)(()=>jo(b),[b]),[T,E]=(0,t.useState)(()=>w);(0,t.useEffect)(()=>{ae(w,T)||E(w)},[w,T]);let D=(0,t.useMemo)(()=>Po(p),[p?.fieldMap,p?.where,p?.order,p?.onLoad]),O=tr(),[k,A]=(0,t.useState)([]);(0,t.useEffect)(()=>O.subscribe(p?.path,e=>A(No(e)),D),[O,p?.path,D]);let j=(0,t.useMemo)(()=>H(Io(f,k,m,p?.order,D.fieldMap),`value`),[f,k,m,p?.order,D.fieldMap]),M=t=>{E(n=>{let r=n.filter(e=>e!==t);return setTimeout(()=>{x?.({target:{name:e,value:r}})},0),r})},N=t=>{let n=t.target.value;if(!t.target.checked){M(n);return}j.filter(e=>e.value===n).length!==0&&(T.includes(n)||E(t=>{let r=[...t,n];return setTimeout(()=>{x?.({target:{name:e,value:r}})},0),r}))},P=(0,t.useId)(),F=o||a&&T.length>0,I=t.default.createElement(Z,{className:X(l||u?X(qa,`h-auto min-h-9 w-full min-w-0 flex-col items-start py-2 px-3`):``,`space-y-1`)},j.map(n=>{let r=oe(`cl-${P}-${e}-${n.value}`);return t.default.createElement(`div`,{key:r,className:X(`flex w-full items-center gap-2`,y)},t.default.createElement(`input`,{className:`h-4 w-4 shrink-0 rounded-sm border border-input bg-background text-primary shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`,type:`checkbox`,id:r,name:e,value:n.value,onChange:N,checked:T.includes(n.value),disabled:F,title:c}),t.default.createElement(`label`,{htmlFor:r,className:`text-sm font-medium leading-none text-foreground`},n.label))}));return t.default.createElement(Z,{className:X(S,_)},s&&t.default.createElement(t.default.Fragment,null,t.default.createElement(Co,{label:s,required:i}),t.default.createElement(`hr`,{className:`mt-0`})),l||u?t.default.createElement(Z,{className:X(Ya,`flex-nowrap items-stretch`)},l&&t.default.createElement(Lo,{side:`before`},l),I,u&&t.default.createElement(Lo,{side:`after`},u)):I,C?t.default.createElement(io,{message:C}):d&&t.default.createElement(`div`,{className:`mt-1 text-xs text-muted-foreground`},d))};function Ho(e,t){if(!t)return e;let n=e.indexOf(`?`),r=n===-1?e:e.slice(0,n),i=n===-1?``:e.slice(n),a=r.lastIndexOf(`.`);return a===-1?`${r}${t}${i}`:`${r.slice(0,a)}${t}${r.slice(a)}${i}`}function Uo(e,t){return t.mode===`explicit`?t.variants.map(e=>`width`in e?`${e.src} ${e.width}w`:`${e.src} ${e.density}x`).join(`, `):t.mode===`density`?(t.densities??[1,2]).map(n=>`${Ho(e,t.suffix?t.suffix(n):n===1?``:`@${n}x`)} ${n}x`).join(`, `):t.widths.map(n=>`${Ho(e,t.suffix?t.suffix(n):`-${n}w`)} ${n}w`).join(`, `)}function Wo(e,t){let n=e.priority?`eager`:e.loading??`lazy`,r={src:e.src,alt:e.alt,width:e.width,height:e.height,loading:n,decoding:e.decoding??`async`,...e.priority&&{fetchpriority:`high`},...e.title&&{title:e.title},...e.className&&{class:e.className},...e.crossorigin&&{crossorigin:e.crossorigin},...e.referrerpolicy&&{referrerpolicy:e.referrerpolicy}},i=[];return e.fit&&i.push(`object-fit: ${e.fit}`),e.position&&i.push(`object-position: ${e.position}`),i.length&&(r.style=i.join(`; `)),t&&(r.srcset=Uo(e.src,t),t.mode!==`density`&&t.sizes&&(r.sizes=t.sizes)),Object.fromEntries(Object.entries(r).filter(([,e])=>e!==void 0))}function Go(e){let t=[`src`,`srcset`,`sizes`,`alt`,`title`,`width`,`height`,`style`,`class`,`loading`,`decoding`,`fetchpriority`,`crossorigin`,`referrerpolicy`].filter(t=>e[t]!==void 0).map(t=>`${t}="${String(e[t])}"`);if(t.length===0)return`<img />`;let[n,...r]=t;return r.length===0?`<img ${n} />`:`<img ${n}\n ${r.join(`
|
|
4
4
|
`)} />`}function Ko(e){return{toHtml:t=>Go(Wo(e,t)),toJson:t=>JSON.stringify(Wo(e,t),null,2),params:t=>Wo(e,t)}}async function qo(e,t){return new Promise((n,r)=>{let i=new Image;i.onload=()=>{let r=i.naturalWidth,a=i.naturalHeight,o=e.startsWith(`data:`)?e.slice(5,e.indexOf(`;`)):`image/jpeg`,s=[...t].sort((e,t)=>e-t).filter(e=>e<r).map(e=>{let t=Math.round(e/r*a),n=document.createElement(`canvas`);n.width=e,n.height=t;let s=n.getContext(`2d`);if(!s)throw Error(`Canvas 2D context unavailable`);return s.drawImage(i,0,0,e,t),{src:n.toDataURL(o),width:e}});s.push({src:e,width:r}),n(s)},i.onerror=()=>r(Error(`resizeVariants: failed to load image`)),e.startsWith(`data:`)||(i.crossOrigin=`anonymous`),i.src=e})}async function Jo(e,t){let n=await qo(e,t.length?t:[]),r=n.at(-1)?.width??0,i=n.slice(0,-1);return{variants:await Promise.all(i.map(async e=>{let t=await fetch(e.src).then(e=>e.blob());return{width:e.width,dataUri:e.src,localUrl:URL.createObjectURL(t)}})),naturalWidth:r}}async function Yo(e,t,n,r){let i=r.replace(/\.[^/.]+$/,``),a=r.split(`.`).pop()??`jpg`;return Promise.all(e.map(async e=>({url:await t.upload(e.dataUri,`${n}/${i}_${e.width}w.${a}`)??e.localUrl,width:e.width})))}function Xo(e){return[...e].sort((e,t)=>e.width-t.width).map(e=>`${e.url} ${e.width}w`).join(`, `)}function Zo(e){if(e.startsWith(`data:`)||e.startsWith(`blob:`))return`image.jpg`;try{return new URL(e).pathname.split(`/`).pop()||`image.jpg`}catch{return e.split(`/`).pop()||`image.jpg`}}function Qo(e){return e.replace(/\.[^/.]+$/,``).replace(/[-_]+/g,` `).replace(/\s+/g,` `).trim().replace(/^(.)/,e=>e.toUpperCase())}var $o=(0,t.createContext)(null),es=({registry:e,defaultKey:n,children:r})=>{let i=(0,t.useMemo)(()=>({registry:e,defaultKey:n}),[e,n]);return t.default.createElement($o.Provider,{value:i},r)},ts=e=>{let n=(0,t.useContext)($o);if(!n)return null;let r=e??n.defaultKey;return n.registry[r]??null},ns=()=>t.default.createElement(`div`,{className:`h-5 w-px bg-border shrink-0 mx-0.5`}),rs=({src:e,title:n=void 0,width:r=700,height:i=500,mode:a=`inline`,onImageLoad:o=void 0,onClose:s=void 0,onSave:c=void 0})=>{let l=ut(`imageEditor`),u=(0,t.useRef)(null),d=(0,t.useRef)(null),f={width:10,color:`rgba(255,0,0,0.5)`,fill:`transparent`},[p,m]=(0,t.useState)(1);(0,t.useEffect)(()=>{if(!u.current)return;let t,n=!1;return(async()=>{let[{default:a}]=await Promise.all([import(`tui-image-editor`),import(`tui-image-editor/dist/tui-image-editor.css`)]);!n&&u.current&&(t=new a(u.current,{cssMaxWidth:r,cssMaxHeight:i,selectionStyle:{cornerSize:10,rotatingPointOffset:70,cornerColor:`white`,cornerStrokeColor:`red`,borderColor:`red`}}),d.current=t,e&&t.loadImageFromURL(e,`Sample Image`).then(()=>{o?.(),t.clearUndoStack(),t.clearRedoStack()}).catch(e=>{console.error(`Error loading image:`,e)}),t.on(`objectAdded`,e=>{console.log(`objectAdded`,e),t.stopDrawingMode()}),t.on(`addText`,e=>{let n=e;t.stopDrawingMode(),t.addText(`init text`,{styles:{fill:`#FF0000`,fontSize:30,fontWeight:`bold`},position:{x:n.originPosition?.x,y:n.originPosition?.y}})}))})(),()=>{n=!0,t?.destroy(),d.current=null}},[r,i]);let h=(0,t.useCallback)(()=>{let t=d.current;e&&t&&t.loadImageFromURL(e,`Sample Image`).then(()=>{o?.(),t.clearUndoStack(),t.clearRedoStack()}).catch(e=>{console.error(`Error loading image:`,e)})},[e,o]);(0,t.useEffect)(()=>{d.current&&h()},[h]);let g=(e,t)=>{e.preventDefault();let n=d.current;if(n)switch(t){case`ZOOMIN`:p<3&&m(e=>e*1.2);break;case`ZOOMOUT`:p>1&&m(e=>Math.max(e*.8,1));break;case`UNDO`:n.isEmptyUndoStack()||n.undo();break;case`REDO`:n.isEmptyRedoStack()||n.redo();break;case`FLIPX`:n.flipX();break;case`FLIPY`:n.flipY();break;case`ROTATE`:n.rotate(90);break;case`CROPPER`:n.startDrawingMode(t);break;case`FREE_DRAWING`:n.startDrawingMode(t,{width:f.width,color:f.color});break;case`LINE_DRAWING`:n.startDrawingMode(t,{width:f.width,color:f.color,arrowType:{tail:`chevron`}});break;case`TEXT`:n.startDrawingMode(t);break;case`circle`:case`rect`:case`triangle`:n.setDrawingShape(t,{fill:f.fill,stroke:f.color,strokeWidth:3}),n.startDrawingMode(`SHAPE`)}};(0,t.useEffect)(()=>{if(a===`modal`)return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=``}},[a]);let _=async()=>{let e=d.current;if(e){try{let t=e.getCropzoneRect?.();t&&t.width>0&&t.height>0&&await e.crop(t)}catch{}await c?.(e.toDataURL())}},v=()=>{s?.()},y=`inline-flex h-8 w-8 items-center justify-center rounded text-muted-foreground transition-colors hover:bg-accent hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,b=t.default.createElement(t.default.Fragment,null,t.default.createElement(`button`,{className:y,title:l.undo,onClick:e=>g(e,`UNDO`)},t.default.createElement(Q,{name:`arrow-arc-left`,size:16})),t.default.createElement(`button`,{className:y,title:l.redo,onClick:e=>g(e,`REDO`)},t.default.createElement(Q,{name:`arrow-arc-right`,size:16})),t.default.createElement(`button`,{className:y,title:l.zoomOut,onClick:e=>g(e,`ZOOMOUT`)},t.default.createElement(Q,{name:`magnifying-glass-minus`,size:16})),t.default.createElement(`button`,{className:y,title:l.zoomIn,onClick:e=>g(e,`ZOOMIN`)},t.default.createElement(Q,{name:`magnifying-glass-plus`,size:16})),t.default.createElement(ns,null),t.default.createElement(`button`,{className:y,title:l.crop,onClick:e=>g(e,`CROPPER`)},t.default.createElement(Q,{name:`crop`,size:16})),t.default.createElement(`button`,{className:y,title:l.flipHorizontal,onClick:e=>g(e,`FLIPX`)},t.default.createElement(Q,{name:`arrow-line-right`,size:16})),t.default.createElement(`button`,{className:y,title:l.flipVertical,onClick:e=>g(e,`FLIPY`)},t.default.createElement(Q,{name:`arrow-line-down`,size:16})),t.default.createElement(`button`,{className:y,title:l.rotate,onClick:e=>g(e,`ROTATE`)},t.default.createElement(Q,{name:`camera-rotate`,size:16})),t.default.createElement(ns,null),t.default.createElement(`button`,{className:y,title:l.freeDrawing,onClick:e=>g(e,`FREE_DRAWING`)},t.default.createElement(Q,{name:`pencil`,size:16})),t.default.createElement(`button`,{className:y,title:l.arrow,onClick:e=>g(e,`LINE_DRAWING`)},t.default.createElement(Q,{name:`arrow-right`,size:16})),t.default.createElement(`button`,{className:y,title:l.text,onClick:e=>g(e,`TEXT`)},t.default.createElement(Q,{name:`text-t`,size:16})),t.default.createElement(`button`,{className:y,title:l.rectangle,onClick:e=>g(e,`rect`)},t.default.createElement(Q,{name:`rectangle`,size:16})),t.default.createElement(`button`,{className:y,title:l.circle,onClick:e=>g(e,`circle`)},t.default.createElement(Q,{name:`circle`,size:16})),t.default.createElement(`button`,{className:y,title:l.triangle,onClick:e=>g(e,`triangle`)},t.default.createElement(Q,{name:`triangle`,size:16}))),x=t.default.createElement(`div`,{className:`flex flex-1 min-w-0 items-center gap-0.5 overflow-x-auto`},t.default.createElement(`span`,{className:`shrink-0 text-sm font-semibold text-foreground pr-2 mr-1`},n||l.title),t.default.createElement(ns,null),b,c&&t.default.createElement(t.default.Fragment,null,t.default.createElement(ns,null),t.default.createElement(_n,{className:`btn-primary h-8 px-3 text-xs ml-1`,onClick:_,icon:`floppy-disk`,label:l.save}))),S=t.default.createElement(`div`,{className:`flex items-center gap-0.5 border-b px-2 py-1`},b,c&&t.default.createElement(`div`,{className:`ml-auto pl-2`},t.default.createElement(_n,{className:`btn-primary h-8 px-3 text-xs`,onClick:_,icon:`floppy-disk`,label:l.save}))),C=t.default.createElement(`div`,{className:X(`flex w-full items-center justify-center overflow-auto pt-3`,`[background-image:repeating-conic-gradient(#e4e4e4_0%_25%,#f5f5f5_0%_50%)]`,`dark:[background-image:repeating-conic-gradient(#2a2a2a_0%_25%,#343434_0%_50%)]`,`[background-size:16px_16px]`),style:{minHeight:i*p+`px`}},t.default.createElement(`style`,null,`.tui-image-editor,.tui-image-editor canvas{background:transparent!important}`),t.default.createElement(`div`,{ref:u,style:{transform:`scale(${p})`,transformOrigin:`center center`,display:`inline-block`,userSelect:`none`,width:r+`px`,height:i*p+`px`}}));return a===`modal`?t.default.createElement(mr,{size:`xl`,header:x,bodyClassName:`overflow-hidden p-0`,onClose:v,footer:!1},C):t.default.createElement(t.default.Fragment,null,S,C)},is=({srcset:e})=>{let n=e.split(`,`).map(e=>e.trim()).map(e=>{let[t,n]=e.split(` `);return{url:t,width:parseInt(n,10)}}).filter(e=>e.url&&!isNaN(e.width));return n.length<2?null:t.default.createElement(`div`,{className:`mt-2 flex flex-col gap-1`},t.default.createElement(`p`,{className:`text-xs font-medium text-muted-foreground`},`Responsive variants`,t.default.createElement(`span`,{className:`ml-1 font-normal opacity-60`},`(`,n.length,` generated)`)),t.default.createElement(`div`,{className:`flex gap-1.5`},n.map(e=>t.default.createElement(`a`,{key:e.width,href:e.url,target:`_blank`,rel:`noopener noreferrer`,className:`group relative flex-1 overflow-hidden rounded border border-border`,style:{backgroundImage:`repeating-conic-gradient(#e4e4e4 0% 25%, #f5f5f5 0% 50%)`,backgroundSize:`8px 8px`}},t.default.createElement(`img`,{src:e.url,alt:`${e.width}w`,className:`h-12 w-full object-contain transition-opacity group-hover:opacity-80`}),t.default.createElement(`span`,{className:`absolute bottom-0.5 left-0.5 rounded bg-black/60 px-1 py-0.5 text-[9px] font-mono leading-none text-white`},e.width,`px`),t.default.createElement(`div`,{className:`absolute inset-0 flex items-center justify-center opacity-0 transition-opacity group-hover:opacity-100`},t.default.createElement(`div`,{className:`rounded-md bg-black/60 p-1`},t.default.createElement(Q,{name:`external-link`,size:11,className:`text-white`})))))))},as=({name:e,onChange:n=void 0,defaultValue:r=void 0,label:i=void 0,required:a=!1,disabled:o=!1,feedback:s=void 0,srcsetWidths:c=[],uploadPath:l=void 0,id:u=void 0,labelClassName:d=void 0,inheritWrapperClassName:f=!0,wrapperClassName:p=void 0,className:m=void 0,before:h=void 0,after:g=void 0})=>{let{value:_,handleChange:v,formWrapClass:y}=Vu({name:e,onChange:n,defaultValue:r,wrapperClassName:p,inheritWrapperClassName:f}),b=Bu(e,{required:a,label:i}),x=_&&typeof _==`object`&&!Array.isArray(_)?_:{},S=x.src??``,C=x.alt??``,w=x.srcset??``,T=x.sizes??``,E=ts(),[D,O]=(0,t.useState)(!1),[k,A]=(0,t.useState)(!1),j=(0,t.useRef)(null),M=(0,t.useCallback)(t=>{v?.({target:{name:e,value:{...x,...t}}})},[v,e,x]),N=(0,t.useRef)(``);(0,t.useEffect)(()=>{S&&S!==N.current&&!C&&M({alt:Qo(Zo(S))}),N.current=S},[S]),(0,t.useEffect)(()=>{if(!S||!c.length)return;let e=!1;return O(!0),(async()=>{let{variants:t,naturalWidth:n}=await Jo(S,c);if(e)return;let r=Zo(S),i,a=S.startsWith(`data:`)?URL.createObjectURL(await fetch(S).then(e=>e.blob())):S;i=E&&l&&t.length?[...await Yo(t,E,l,r),{url:a,width:n}]:[...t.map(e=>({url:e.localUrl,width:e.width})),{url:a,width:n}],e||(M({srcset:Xo(i),sizes:`(max-width: 640px) 100vw, 800px`}),O(!1))})().catch(()=>{e||O(!1)}),()=>{e=!0}},[S,c.join(`,`)]);let P=e=>{M({src:e,srcset:``,sizes:``}),A(!1)},F=!!b;return t.default.createElement(Z,{className:y},h,i&&t.default.createElement(Co,{label:i,required:a,htmlFor:u??e,className:d}),t.default.createElement(`div`,{className:X(`rounded-lg border border-input bg-background shadow-sm transition-colors`,`focus-within:ring-1 focus-within:ring-ring`,F&&`border-destructive focus-within:ring-destructive/20`,o&&`cursor-not-allowed opacity-50`,m)},t.default.createElement(`div`,{className:X(`group relative flex min-h-[120px] items-center justify-center overflow-hidden rounded-t-lg transition-colors`,`[background-image:repeating-conic-gradient(#e4e4e4_0%_25%,#f5f5f5_0%_50%)]`,`dark:[background-image:repeating-conic-gradient(#2a2a2a_0%_25%,#343434_0%_50%)]`,`[background-size:16px_16px]`)},S?t.default.createElement(`img`,{src:S,srcSet:w||void 0,sizes:T||void 0,alt:``,className:`max-h-[180px] max-w-full object-contain`}):t.default.createElement(Q,{name:`image`,size:36,className:`opacity-20 text-muted-foreground`}),S&&t.default.createElement(`div`,{className:`absolute right-2 top-2 flex gap-1 opacity-0 transition-opacity group-hover:opacity-100`},t.default.createElement(`a`,{href:S,target:`_blank`,rel:`noopener noreferrer`,title:`Open original`,className:`flex h-7 w-7 items-center justify-center rounded-md bg-black/60 text-white backdrop-blur-sm transition-colors hover:bg-black/80`},t.default.createElement(Q,{name:`external-link`,size:13})),t.default.createElement(`button`,{type:`button`,title:`Crop`,disabled:o,onClick:()=>A(!0),className:`flex h-7 w-7 items-center justify-center rounded-md bg-black/60 text-white backdrop-blur-sm transition-colors hover:bg-black/80 disabled:cursor-not-allowed disabled:opacity-40`},t.default.createElement(Q,{name:`crop`,size:13}))),D&&t.default.createElement(`div`,{className:`absolute inset-0 flex items-center justify-center bg-background/70 backdrop-blur-sm`},t.default.createElement(`div`,{className:`flex items-center gap-2 text-xs text-muted-foreground`},t.default.createElement(Q,{name:`loader-circle`,size:14,className:`animate-spin`}),`Generating variants…`))),t.default.createElement(`div`,{className:`flex flex-col gap-3 p-3`},t.default.createElement(`div`,{className:`flex flex-col gap-1`},t.default.createElement(`label`,{className:`text-xs font-medium text-muted-foreground`},`Image URL `,t.default.createElement(`span`,{className:`font-normal opacity-60`},`(path or https://…)`)),t.default.createElement(`input`,{type:`url`,value:S,disabled:o,onChange:e=>M({src:e.target.value,srcset:``,sizes:``}),placeholder:`https://example.com/image.jpg`,className:`h-8 rounded-md border border-input bg-background px-2.5 text-sm outline-none focus:ring-1 focus:ring-ring disabled:opacity-50`})),t.default.createElement(`div`,{className:`flex flex-col gap-1`},t.default.createElement(`label`,{className:`text-xs font-medium text-muted-foreground`},`Alt text`,` `,t.default.createElement(`span`,{className:`font-normal opacity-60`},`(accessibility & SEO)`),a&&t.default.createElement(`span`,{className:`ml-1 text-destructive`},`*`)),t.default.createElement(`input`,{ref:j,type:`text`,value:C,disabled:o,onChange:e=>M({alt:e.target.value}),placeholder:`E.g. Product hero shot`,className:X(`h-8 rounded-md border border-input bg-background px-2.5 text-sm outline-none focus:ring-1 focus:ring-ring disabled:opacity-50`,F&&`border-destructive`)})),w&&t.default.createElement(is,{srcset:w}))),b&&t.default.createElement(io,{message:b}),!b&&s&&t.default.createElement(`p`,{className:`mt-1 text-xs text-muted-foreground`},s),g,k&&S&&t.default.createElement(rs,{src:S,mode:`modal`,title:`Crop — ${Zo(S)}`,onClose:()=>A(!1),onSave:P}))},os={"1:1":1,"3:4":3/4,"4:3":4/3},ss=48,cs=(e,t)=>{let n=e.split(`.`).pop()??``;return`${e.replace(/\.[^/.]+$/,``)}${`_${t.replace(`:`,`x`)}`}.${n}`},ls={nw:`nwse-resize`,n:`ns-resize`,ne:`nesw-resize`,e:`ew-resize`,se:`nwse-resize`,s:`ns-resize`,sw:`nesw-resize`,w:`ew-resize`},us=()=>{let[e,n]=(0,t.useState)(()=>document.documentElement.classList.contains(`dark`));return(0,t.useEffect)(()=>{let e=new MutationObserver(()=>n(document.documentElement.classList.contains(`dark`)));return e.observe(document.documentElement,{attributes:!0,attributeFilter:[`class`]}),()=>e.disconnect()},[]),e},ds=(0,t.forwardRef)(({img:e,title:n,scales:r},i)=>{let a=r??os,o=ut(`crop`),s=(0,t.useRef)(null),c=(0,t.useRef)(null),l=()=>{let t=Object.keys(e.variants??{}).filter(e=>e in a);return t.length?t:Object.keys(a)},u=us(),[d,f]=(0,t.useState)(l),[p,m]=(0,t.useState)(()=>l()[0]??Object.keys(a)[0]),[h,g]=(0,t.useState)(e.fileName),[_,v]=(0,t.useState)(e.alt??``),[y,b]=(0,t.useState)(e.variants??{}),[x,S]=(0,t.useState)(null),[C,w]=(0,t.useState)(!1),[T,E]=(0,t.useState)(!1),D=(0,t.useRef)(y),O=(0,t.useRef)(x),k=(0,t.useRef)(p),A=(0,t.useRef)(d),j=(0,t.useRef)(h);(0,t.useEffect)(()=>{D.current=y},[y]),(0,t.useEffect)(()=>{O.current=x},[x]),(0,t.useEffect)(()=>{k.current=p},[p]),(0,t.useEffect)(()=>{A.current=d},[d]),(0,t.useEffect)(()=>{j.current=h},[h]),(0,t.useEffect)(()=>{b(e=>{let t={};for(let[n,r]of Object.entries(e))t[n]={...r,fileName:cs(h,n)};return t})},[h]);let M=(0,t.useRef)(null),N=(0,t.useRef)(null);(0,t.useEffect)(()=>{let e=e=>{let t=M.current,n=N.current;if(!t&&!n)return;let r=k.current,i=O.current,o=D.current[r];if(!i||!o)return;let s=a[r]??1;if(t){let n=Math.max(0,Math.min(e.clientX-t.offsetX,i.width-o.width)),a=Math.max(0,Math.min(e.clientY-t.offsetY,i.height-o.height));b(e=>({...e,[r]:{...e[r],left:n,top:a}}))}if(n){let{handle:t,sx:a,sy:o,sl:c,st:l,sw:u,sh:d}=n,f=e.clientX-a,p=e.clientY-o,m=c,h=l,g=u,_=d;if(t===`n`||t===`s`){let e=t===`n`?-p:p;_=Math.max(ss,d+e),g=_*s,t===`n`&&(h=l+d-_),m=c+(u-g)/2}else if(t===`e`||t===`w`){let e=t===`w`?-f:f;g=Math.max(ss,u+e),_=g/s,t===`w`&&(m=c+u-g),h=l+(d-_)/2}else{let e=t.includes(`e`)?f:-f,n=t.includes(`s`)?p:-p;g=Math.max(ss,u+(Math.abs(e)>Math.abs(n)?e:n)),_=g/s,t.includes(`n`)&&(h=l+d-_),t.includes(`w`)&&(m=c+u-g)}m=Math.max(0,m),h=Math.max(0,h);let v=i.width-m,y=i.height-h;if(g>v||_>y){let e=Math.min(v/g,y/_);g*=e,_*=e}g<ss&&(g=ss,_=g/s),_<ss&&(_=ss,g=_*s),b(e=>({...e,[r]:{...e[r],left:m,top:h,width:g,height:_}}))}},t=()=>{M.current=null,N.current=null,E(!1)};return window.addEventListener(`mousemove`,e),window.addEventListener(`mouseup`,t),()=>{window.removeEventListener(`mousemove`,e),window.removeEventListener(`mouseup`,t)}},[]),(0,t.useLayoutEffect)(()=>{if(!C)return;let t=c.current;if(!t)return;let{width:n,height:r}=t.getBoundingClientRect();if(n&&r&&(S(e=>e&&e.width===n&&e.height===r?e:{width:n,height:r}),!D.current[p])){let t=a[p]??1,i=Math.min(n*.78,r*t*.78),o=i/t;b(t=>({...t,[p]:{fileName:cs(j.current,p),type:e.type,scale:p,left:(n-i)/2,top:(r-o)/2,width:i,height:o,base64:``}}))}},[p,C]),(0,t.useImperativeHandle)(i,()=>({handleSave:()=>{let e=s.current,t=e?.getContext(`2d`),n=c.current;if(!e||!t||!n)return{fileName:j.current,alt:_,variants:{}};let r=O.current,i={};for(let a of A.current){let o=D.current[a];if(!o||!r)continue;let s=n.naturalWidth/r.width,c=n.naturalHeight/r.height,{top:l,left:u,width:d,height:f}=o;e.width=Math.round(d*s),e.height=Math.round(f*c),t.clearRect(0,0,e.width,e.height),t.drawImage(n,u*s,l*c,d*s,f*c,0,0,e.width,e.height),i[a]={...o,base64:e.toDataURL(o.type)}}return{fileName:j.current,alt:_,variants:i}}}));let P=e=>{d.includes(e)||f(t=>[...t,e]),m(e)},F=(e,t)=>{t.stopPropagation();let n=d.filter(t=>t!==e);if(f(n),e===p){let t=n.filter(e=>e in a);m(t[0]??Object.keys(a).find(t=>t!==e)??Object.keys(a)[0])}},I=e=>{e.preventDefault(),e.stopPropagation();let t=D.current[p];t&&(M.current={offsetX:e.clientX-t.left,offsetY:e.clientY-t.top},E(!0))},L=(e,t)=>{e.preventDefault(),e.stopPropagation();let n=D.current[p];n&&(N.current={handle:t,sx:e.clientX,sy:e.clientY,sl:n.left,st:n.top,sw:n.width,sh:n.height},E(!0))},R=d.includes(p),z=y[p];return t.default.createElement(`div`,{className:[`flex gap-4 h-full min-h-0`,n?`flex-col`:``].join(` `)},n&&t.default.createElement(`h3`,{className:`text-base font-semibold shrink-0`},n),t.default.createElement(`div`,{className:`flex gap-4 flex-1 min-h-0`},t.default.createElement(`div`,{className:`flex-1 min-w-0 min-h-0 flex items-center justify-center rounded-xl overflow-hidden`,style:{cursor:T?`grabbing`:void 0,...u?{backgroundColor:`#1a1a1a`,backgroundImage:`linear-gradient(45deg,#272727 25%,transparent 25%),linear-gradient(-45deg,#272727 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#272727 75%),linear-gradient(-45deg,transparent 75%,#272727 75%)`}:{backgroundColor:`#f0f0f0`,backgroundImage:`linear-gradient(45deg,#dcdcdc 25%,transparent 25%),linear-gradient(-45deg,#dcdcdc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dcdcdc 75%),linear-gradient(-45deg,transparent 75%,#dcdcdc 75%)`},backgroundSize:`20px 20px`,backgroundPosition:`0 0,0 10px,10px -10px,-10px 0`}},R?t.default.createElement(`div`,{className:`relative select-none`,style:{display:`inline-block`,lineHeight:0}},t.default.createElement(`img`,{src:Ts(e),alt:`Crop target`,ref:c,style:{maxHeight:`calc(100dvh - 200px)`,maxWidth:`100%`,display:`block`},draggable:!1,onLoad:()=>w(!0)}),z&&x&&t.default.createElement(gs,{crop:z,onMoveStart:I,onResizeStart:L})):t.default.createElement(`div`,{className:`flex flex-col items-center gap-3 text-zinc-500 select-none`},t.default.createElement(`svg`,{className:`w-10 h-10 opacity-30`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},t.default.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.5,d:`M4 8V6a2 2 0 012-2h2M4 16v2a2 2 0 002 2h2M16 4h2a2 2 0 012 2v2M16 20h2a2 2 0 002-2v-2M9 12l2 2 4-4`})),t.default.createElement(`p`,{className:`text-sm`},o.enableCrop.split(`{scale}`)[0],t.default.createElement(`strong`,{className:`text-zinc-300`},p),o.enableCrop.split(`{scale}`)[1]))),t.default.createElement(`div`,{className:`w-52 shrink-0 flex flex-col gap-4 min-h-0`},t.default.createElement(`div`,null,t.default.createElement(_s,{value:h,onChange:g,label:o.fileName})),t.default.createElement(`div`,{className:`flex flex-col gap-1 shrink-0`},t.default.createElement(`label`,{className:`text-xs font-medium text-muted-foreground`},o.altText),t.default.createElement(`textarea`,{defaultValue:_,onBlur:e=>v(e.target.value),placeholder:o.altTextPlaceholder,rows:2,className:`w-full min-w-0 resize-none rounded-md border border-input bg-background px-2.5 py-1.5 text-sm focus:outline-none focus:ring-1 focus:ring-ring`})),t.default.createElement(`div`,{className:`flex-1 min-h-0 flex flex-col gap-2 overflow-y-auto`},t.default.createElement(`p`,{className:`text-xs font-semibold text-muted-foreground uppercase tracking-wide shrink-0`},o.variants),Object.keys(a).map(n=>t.default.createElement(hs,{key:n,scale:n,ratio:a[n],img:e,crop:y[n],bounds:x,enabled:d.includes(n),active:n===p,onClick:()=>P(n),onRemove:e=>F(n,e)}))),R&&z&&t.default.createElement(`div`,{className:`shrink-0 pt-3 border-t border-border`},t.default.createElement(`p`,{className:`text-xs font-medium text-muted-foreground mb-1`},o.outputFile),t.default.createElement(`p`,{className:`text-xs text-foreground/70 truncate tabular-nums`,title:z.fileName},z.fileName??cs(h,p))))),t.default.createElement(`canvas`,{ref:s,className:`hidden`}))});ds.displayName=`CropImage`;var fs=120,ps=88,ms=e=>{let t=ps*e,n=ps;return t>fs&&(t=fs,n=fs/e),{w:Math.round(t),h:Math.round(n)}},hs=({scale:e,ratio:n,img:r,crop:i,bounds:a,enabled:o,active:s,onClick:c,onRemove:l})=>{let u=ut(`crop`),{w:d,h:f}=ms(n),p=(()=>{if(!i||!a||!i.width)return{background:`hsl(var(--muted))`};let e=d/i.width;return{backgroundImage:`url(${Ts(r)})`,backgroundSize:`${Math.round(a.width*e)}px ${Math.round(a.height*e)}px`,backgroundPosition:`-${Math.round(i.left*e)}px -${Math.round(i.top*e)}px`,backgroundRepeat:`no-repeat`}})();return t.default.createElement(`button`,{type:`button`,onClick:c,className:[`relative group flex flex-col rounded-lg border-2 transition-all overflow-hidden w-full text-left`,s?`border-primary bg-primary/5 shadow-sm`:o?`border-border hover:border-primary/40 bg-card`:`border-dashed border-muted-foreground/25 bg-transparent hover:border-muted-foreground/50`].join(` `)},t.default.createElement(`div`,{className:`flex items-center justify-center py-3 px-3 bg-muted/20`},o&&i&&a?t.default.createElement(`div`,{className:`rounded shadow-sm overflow-hidden shrink-0`,style:{width:d,height:f,...p}}):t.default.createElement(`div`,{className:`rounded border border-dashed border-muted-foreground/30 flex items-center justify-center shrink-0`,style:{width:d,height:f}},t.default.createElement(`svg`,{className:`w-5 h-5 text-muted-foreground/40`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},t.default.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:1.5,d:`M12 4v16m8-8H4`})))),t.default.createElement(`div`,{className:`flex items-center justify-between px-2.5 py-1.5 border-t border-border/60`},t.default.createElement(`span`,{className:[`text-xs font-semibold tabular-nums`,s?`text-primary`:`text-foreground`].join(` `)},e),s&&o&&t.default.createElement(`span`,{className:`text-xs text-primary/60 font-normal`},u.active),o&&t.default.createElement(`span`,{role:`button`,tabIndex:-1,onClick:l,title:nt(u.removeVariant,{scale:e}),className:`ml-auto w-5 h-5 flex items-center justify-center rounded-full text-muted-foreground hover:bg-destructive/10 hover:text-destructive transition-colors text-base leading-none`},`×`)))},gs=({crop:e,onMoveStart:n,onResizeStart:r})=>{let{top:i,left:a,width:o,height:s}=e;return t.default.createElement(`div`,{className:`absolute inset-0 pointer-events-none`},t.default.createElement(`div`,{className:`absolute`,style:{top:0,left:0,right:0,height:i,background:`rgba(0,0,0,0.55)`}}),t.default.createElement(`div`,{className:`absolute`,style:{top:i+s,left:0,right:0,bottom:0,background:`rgba(0,0,0,0.55)`}}),t.default.createElement(`div`,{className:`absolute`,style:{top:i,left:0,width:a,height:s,background:`rgba(0,0,0,0.55)`}}),t.default.createElement(`div`,{className:`absolute`,style:{top:i,left:a+o,right:0,height:s,background:`rgba(0,0,0,0.55)`}}),t.default.createElement(`div`,{onMouseDown:n,className:`absolute pointer-events-auto cursor-grab active:cursor-grabbing`,style:{top:i,left:a,width:o,height:s,border:`1.5px solid rgba(255,255,255,0.92)`,boxSizing:`border-box`}},t.default.createElement(`div`,{className:`absolute inset-0 pointer-events-none`,style:{backgroundImage:`linear-gradient(to right, rgba(255,255,255,0.18) 1px, transparent 1px),linear-gradient(to bottom, rgba(255,255,255,0.18) 1px, transparent 1px)`,backgroundSize:`33.33% 33.33%`}}),[`nw`,`ne`,`sw`,`se`].map(e=>t.default.createElement(`div`,{key:e,onMouseDown:t=>{t.stopPropagation(),r(t,e)},className:`absolute pointer-events-auto`,style:{cursor:ls[e],width:22,height:22,display:`flex`,alignItems:e.includes(`n`)?`flex-start`:`flex-end`,justifyContent:e.includes(`w`)?`flex-start`:`flex-end`,...e.includes(`n`)?{top:-2}:{bottom:-2},...e.includes(`w`)?{left:-2}:{right:-2}}},t.default.createElement(`span`,{style:{display:`block`,width:10,height:10,background:`#fff`,borderRadius:2,boxShadow:`0 1px 3px rgba(0,0,0,0.5)`}}))),[`n`,`s`].map(e=>t.default.createElement(`div`,{key:e,onMouseDown:t=>{t.stopPropagation(),r(t,e)},className:`absolute pointer-events-auto`,style:{cursor:ls[e],...e===`n`?{top:-4}:{bottom:-4},left:`50%`,transform:`translateX(-50%)`,width:24,height:12,display:`flex`,alignItems:`center`,justifyContent:`center`}},t.default.createElement(`span`,{style:{display:`block`,width:20,height:4,background:`#fff`,borderRadius:2,boxShadow:`0 1px 3px rgba(0,0,0,0.5)`}}))),[`e`,`w`].map(e=>t.default.createElement(`div`,{key:e,onMouseDown:t=>{t.stopPropagation(),r(t,e)},className:`absolute pointer-events-auto`,style:{cursor:ls[e],...e===`w`?{left:-4}:{right:-4},top:`50%`,transform:`translateY(-50%)`,width:12,height:24,display:`flex`,alignItems:`center`,justifyContent:`center`}},t.default.createElement(`span`,{style:{display:`block`,width:4,height:20,background:`#fff`,borderRadius:2,boxShadow:`0 1px 3px rgba(0,0,0,0.5)`}})))))},_s=({value:e,onChange:n,label:r,scale:i})=>{let a=e?.split(`.`).pop()??``,o=i?`_${i.replace(`:`,`x`)}`:void 0;return t.default.createElement(`div`,{className:`flex flex-col gap-1`},r&&t.default.createElement(`label`,{className:`text-xs font-medium text-muted-foreground`},r),t.default.createElement(`div`,{className:`flex items-center gap-1.5`},t.default.createElement(`input`,{type:`text`,defaultValue:(e=>{let t=e.replace(/\.[^/.]+$/,``);return o&&t.endsWith(o)?t.slice(0,-o.length):t})(e||``),onBlur:e=>n(`${e.target.value.trim()}${o??``}.${a}`),className:`flex-1 h-8 min-w-0 rounded-md border border-input bg-background px-2.5 text-sm focus:outline-none focus:ring-1 focus:ring-ring`}),o&&t.default.createElement(`span`,{className:`text-xs text-muted-foreground shrink-0 tabular-nums`},o,`.`,a)))},vs=_s,ys=({onFilesChange:e,onFileReady:n,uploadPath:r,srcsetWidths:i,initialFiles:a,storageKey:o,storageProvider:s})=>{let[c,l]=(0,t.useState)(a??[]),u=s??ts(o),d=(0,t.useRef)(null),f=(0,t.useRef)(e);f.current=e;let p=(0,t.useRef)(n);p.current=n;let m=(0,t.useRef)(new Set);(0,t.useEffect)(()=>{f.current?.(c);for(let e of c)e.progress===100&&!m.current.has(e.key)&&(m.current.add(e.key),p.current?.(e))},[c]);let h=(0,t.useCallback)((e,t)=>{l(n=>n.map(n=>n.key===e?{...n,...t}:n))},[]),g=(0,t.useCallback)(e=>{l(t=>t.filter(t=>t.key!==e)),m.current.delete(e)},[]),_=(0,t.useCallback)(e=>{l(t=>{let n=[...t];return e.forEach(e=>{let t={key:e.name,fileName:e.name,size:e.size,type:e.type,progress:0,url:``,base64:``,variants:{}},r=n.findIndex(t=>t.key===e.name);r===-1?n.push(t):n[r]=t}),n}),e.forEach(e=>{let t=new FileReader;t.onprogress=t=>{t.lengthComputable&&h(e.name,{progress:Math.round(t.loaded/t.total*75)})},t.onloadend=async()=>{let n=se(t.result),a=`data:${e.type};base64,${n}`;if(h(e.name,{base64:n,progress:80}),i?.length)try{let{variants:t,naturalWidth:n}=await Jo(a,i),o=u&&r?await Yo(t,u,r,e.name):t.map(e=>({url:e.localUrl,width:e.width})),s=e.name.split(`.`).pop()??`jpg`,c=e.name.replace(/\.[^/.]+$/,``),l=u&&r?await u.upload(a,`${r}/${c}_${n}w.${s}`):void 0,d=l??(u&&r?a:URL.createObjectURL(await fetch(a).then(e=>e.blob()))),f=[...o,{url:d,width:n}];if(f.length>0){h(e.name,{url:d,srcset:Xo(f),sizes:`(max-width: 640px) 100vw, 800px`,progress:100,...l?{base64:void 0}:{}});return}}catch{}else if(u&&r)try{let t=await u.upload(a,`${r}/${e.name}`);if(t){h(e.name,{url:t,progress:100,base64:void 0});return}}catch{}h(e.name,{progress:100})},t.readAsArrayBuffer(e)}),d.current&&(d.current.value=``)},[u,r,i,h]);return{files:c,setFiles:l,fileInputRef:d,updateFile:h,handleFiles:_,handleUpload:()=>d.current?.click(),handleUploadChange:(0,t.useCallback)(e=>{_(Array.from(e.target.files??[]))},[_]),handleRemove:g}},bs=(e,n,r,i,a,o,s)=>{let{value:c,handleChange:l,formWrapClass:u}=Vu({name:e,onChange:n,wrapperClassName:r}),[d,f]=(0,t.useState)(null),p=(0,t.useRef)(c),m=(0,t.useRef)(new WeakSet),h=ys({initialFiles:Array.isArray(c)?c:[],onFilesChange:t=>{p.current=t,m.current.add(t),l({target:{name:e,value:t}})},uploadPath:i,srcsetWidths:a,storageKey:o,storageProvider:s});(0,t.useEffect)(()=>{if(c===p.current||Array.isArray(c)&&m.current.has(c))return;let e=Array.isArray(c)?c:[];p.current=c,(e.length!==0||h.files.length!==0)&&h.setFiles(e)},[c]);let g=e=>{d&&(h.updateFile(d.key,e),f(null))};return{...h,formWrapClass:u,currentFile:d,handleSave:g,handleEdit:e=>f(e),handleClose:()=>f(null)}},xs=({name:e,fileInputRef:n,accept:r,onUpload:i,onChange:a,required:o=!1,multiple:s=!1,height:c,width:l,feedback:u})=>t.default.createElement(t.default.Fragment,null,t.default.createElement(`button`,{type:`button`,onClick:i,className:`flex flex-col items-center justify-center rounded-lg border-2 border-dashed border-muted-foreground/25 bg-muted/30 text-muted-foreground/50 transition-all hover:border-primary/40 hover:bg-primary/5 hover:text-primary/60 cursor-pointer`,style:{width:l,height:c}},t.default.createElement(Q,{name:`upload`,className:`w-8 h-8`}),u&&t.default.createElement(`span`,{className:`mt-1.5 max-w-full px-1.5 text-center text-[10px] font-medium leading-tight whitespace-pre-wrap`},u)),t.default.createElement(`input`,{name:e,type:`file`,accept:r,ref:n,multiple:s,required:o,className:`hidden`,onChange:a})),Ss=({title:e,file:n,type:r,onSave:i,onClose:a})=>{let[o,s]=(0,t.useState)(n.fileName),c=(0,t.useRef)(null);return t.default.createElement(mr,{title:e,onSave:async()=>(i?.(c.current?c.current.handleSave():{fileName:o,variants:{}}),!0),onClose:a,size:r===`img`?`fullscreen`:void 0},r===`document`&&t.default.createElement(vs,{value:o,onChange:s,label:`File name`}),r===`img`&&t.default.createElement(ds,{ref:c,img:n}))},Cs=(e,t,n)=>e.length<t&&(n||e.length===0),ws=new Map,Ts=(e,t=`origin`)=>{if(e.url)return e.url;if(e.base64){let n=`${e.fileName} ${t}`;return ws.has(n)||ws.set(n,q(e.base64,e.type)??`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9InRyYW5zcGFyZW50Ii8+PGNpcmNsZSBjeD0iNjUiIGN5PSIzNSIgcj0iMTAiIGZpbGw9IiM5Y2EzYWYiLz48cGF0aCBkPSJNMTAsNzUgTDMyLDUwIEw1Miw3MCBMNjgsNTIgTDkwLDcyIEw5MCw4MCBIMTAgWiIgZmlsbD0iIzljYTNhZiIvPjwvc3ZnPg==`),ws.get(n)??`data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAwIiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHJlY3Qgd2lkdGg9IjEwMCIgaGVpZ2h0PSIxMDAiIGZpbGw9InRyYW5zcGFyZW50Ii8+PGNpcmNsZSBjeD0iNjUiIGN5PSIzNSIgcj0iMTAiIGZpbGw9IiM5Y2EzYWYiLz48cGF0aCBkPSJNMTAsNzUgTDMyLDUwIEw1Miw3MCBMNjgsNTIgTDkwLDcyIEw5MCw4MCBIMTAgWiIgZmlsbD0iIzljYTNhZiIvPjwvc3ZnPg==`}return``},Es=({name:e,onChange:n=void 0,label:r=void 0,required:i=!1,editable:a=!1,multiple:o=!1,max:s=100,accept:c=`.pdf,.doc,.docx,.txt,.iso`,uploadPath:l=void 0,storageKey:u=void 0,storageProvider:d=void 0,before:f=void 0,after:p=void 0,wrapperClassName:m=void 0,className:h=void 0})=>{let{files:g,currentFile:_,fileInputRef:v,formWrapClass:y,handleFiles:b,handleUploadChange:x,handleUpload:S,handleRemove:C,handleSave:w,handleEdit:T,handleClose:E}=bs(e,n,m,l,void 0,u,d),D=Bu(e,{required:i,label:r}),O=ut(`upload`),[k,A]=(0,t.useState)(!1),j=Cs(g,s,o),M=e=>{e.preventDefault(),j&&A(!0)},N=()=>A(!1),P=e=>{e.preventDefault(),A(!1),j&&b(o?Array.from(e.dataTransfer.files):[e.dataTransfer.files[0]])};return t.default.createElement(Z,{className:y},f,t.default.createElement(`div`,{className:h},r&&t.default.createElement(Co,{label:r,required:i}),j&&g.length===0&&t.default.createElement(`button`,{type:`button`,onClick:S,onDragOver:M,onDragLeave:N,onDrop:P,className:[`w-full flex flex-col items-center justify-center gap-2 rounded-lg border-2 border-dashed py-8 px-4 transition-colors cursor-pointer`,k?`border-primary/60 bg-primary/8 text-primary`:`border-muted-foreground/25 bg-muted/30 text-muted-foreground hover:border-primary/40 hover:bg-primary/5 hover:text-primary/70`].join(` `)},t.default.createElement(Q,{name:`upload`,className:`w-8 h-8`}),t.default.createElement(`span`,{className:`text-sm font-medium`},k?O.dropToUpload:O.clickOrDrag),t.default.createElement(`span`,{className:`text-xs opacity-60`},c)),g.length>0&&t.default.createElement(`div`,{className:`rounded-lg border border-border overflow-hidden`},t.default.createElement(`table`,{className:`w-full text-sm`},t.default.createElement(`tbody`,null,g.map(e=>t.default.createElement(`tr`,{key:e.key,className:`border-b border-border last:border-0 ${a?`cursor-pointer hover:bg-muted/40`:``}`,onClick:()=>a&&T(e)},t.default.createElement(`td`,{className:`px-3 py-2.5`},t.default.createElement(`div`,{className:`flex items-center gap-2`},t.default.createElement(Q,{name:`file`,className:`w-4 h-4 shrink-0 text-muted-foreground`}),e.progress===100?t.default.createElement(`a`,{href:Ts(e),target:`_blank`,rel:`noopener noreferrer`,className:`hover:underline truncate max-w-xs`,onClick:e=>e.stopPropagation()},e.fileName):t.default.createElement(`span`,{className:`truncate max-w-xs text-muted-foreground`},e.fileName))),t.default.createElement(`td`,{className:`px-3 py-2.5 text-muted-foreground text-right whitespace-nowrap w-24`},e.progress===100?(e.size/1024).toFixed(2)+` KB`:t.default.createElement(Ha,{max:100,min:0,value:e.progress,appearance:`bar`})),t.default.createElement(`td`,{className:`px-3 py-2.5 w-10 text-right`},t.default.createElement(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),C(e.key)},className:`flex items-center justify-center w-6 h-6 rounded-full text-muted-foreground hover:bg-red-50 hover:text-red-500 transition-colors ml-auto cursor-pointer`},t.default.createElement(Q,{name:`x`,className:`w-3.5 h-3.5`}))))))),j&&t.default.createElement(`div`,{className:`px-3 py-2 border-t border-border bg-muted/20 ${k?`bg-primary/5`:``}`,onDragOver:M,onDragLeave:N,onDrop:P},t.default.createElement(`button`,{type:`button`,onClick:S,className:`flex items-center gap-1.5 text-xs text-muted-foreground hover:text-primary transition-colors cursor-pointer`},t.default.createElement(Q,{name:`upload`,className:`w-3.5 h-3.5`}),O.uploadMore))),t.default.createElement(`input`,{name:e,type:`file`,accept:c,ref:v,multiple:o,required:i,className:`hidden`,onChange:x}),D&&t.default.createElement(io,{message:D})),a&&_&&t.default.createElement(Ss,{title:O.editFileName,file:_,type:`document`,onSave:w,onClose:E}),p)},Ds=({name:e,onChange:n=void 0,label:r=void 0,feedback:i=void 0,editable:a=!1,multiple:o=!1,accept:s=`image/*`,required:c=!1,max:l=100,previewHeight:u=100,previewWidth:d=100,uploadPath:f=void 0,srcsetWidths:p=void 0,storageKey:m=void 0,storageProvider:h=void 0,allowUrl:g=!1,before:_=void 0,after:v=void 0,wrapperClassName:y=void 0,className:b=void 0})=>{let{files:x,setFiles:S,currentFile:C,fileInputRef:w,formWrapClass:T,handleUploadChange:E,handleUpload:D,handleRemove:O,handleSave:k,handleEdit:A,handleClose:j}=bs(e,n,y,f,p,m,h),M=Bu(e,{required:c,label:r}),N=ut(`upload`),[P,F]=(0,t.useState)(null),[I,L]=(0,t.useState)(new Set),[R,z]=(0,t.useState)(!1),[B,ee]=(0,t.useState)(``),[V,te]=(0,t.useState)(void 0),ne=async()=>{let e=B.trim();try{new URL(e)}catch{return te(N.invalidUrl),!1}let t={key:e,fileName:e.split(`/`).pop()||`image`,size:0,type:``,progress:100,url:e,base64:``,variants:{}};return S(e=>o?[...e,t]:[t]),ee(``),te(void 0),z(!1),!0},re=()=>{z(!1),ee(``),te(void 0)},H=(e,t)=>{let n=e.currentTarget,r=n.naturalWidth>0&&n.naturalHeight>0&&(n.naturalWidth<d||n.naturalHeight<u);L(e=>{let n=new Set(e);return r?n.add(t):n.delete(t),n})},ie=({scales:e})=>{if(!e)return;let n=Object.keys(e);return n.length===0?null:n.map(n=>t.default.createElement(Dt,{key:n},t.default.createElement(`a`,{href:Ts(e[n],n),className:`text-white`,target:`_blank`,rel:`noopener noreferrer`},n)))};return t.default.createElement(Z,{className:T},_,t.default.createElement(Z,{className:b},r&&t.default.createElement(Co,{label:r,required:c}),t.default.createElement(`div`,{className:`flex gap-2 flex-wrap`},x.map((e,n)=>t.default.createElement(`div`,{key:n,className:`relative overflow-hidden rounded-lg border border-border`,style:{width:d,height:u},onMouseEnter:()=>F(n),onMouseLeave:()=>F(null)},e.progress===100?t.default.createElement(t.default.Fragment,null,I.has(e.key)&&t.default.createElement(t.default.Fragment,null,t.default.createElement(`div`,{className:`absolute inset-0 dark:hidden`,style:{backgroundColor:`#f0f0f0`,backgroundImage:`linear-gradient(45deg,#dcdcdc 25%,transparent 25%),linear-gradient(-45deg,#dcdcdc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#dcdcdc 75%),linear-gradient(-45deg,transparent 75%,#dcdcdc 75%)`,backgroundSize:`10px 10px`,backgroundPosition:`0 0,0 5px,5px -5px,-5px 0`}}),t.default.createElement(`div`,{className:`absolute inset-0 hidden dark:block`,style:{backgroundColor:`#1a1a1a`,backgroundImage:`linear-gradient(45deg,#272727 25%,transparent 25%),linear-gradient(-45deg,#272727 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#272727 75%),linear-gradient(-45deg,transparent 75%,#272727 75%)`,backgroundSize:`10px 10px`,backgroundPosition:`0 0,0 5px,5px -5px,-5px 0`}})),t.default.createElement(`img`,{src:Ts(e),alt:`preview-${n}`,className:`absolute inset-0 w-full h-full ${I.has(e.key)?`object-contain p-1`:`object-cover`}`,onLoad:t=>H(t,e.key)}),t.default.createElement(`div`,{className:`absolute inset-0 bg-black/55 backdrop-blur-[1px] flex flex-col items-center justify-end pb-2 gap-1 transition-opacity`,style:{display:P===n?`flex`:`none`}},t.default.createElement(`div`,{className:`flex items-center gap-1.5`},t.default.createElement(`a`,{href:Ts(e),target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center justify-center w-7 h-7 rounded-full bg-white/20 hover:bg-white/35 text-white transition-colors`},t.default.createElement(Q,{name:`eye`,className:`w-4 h-4`})),a&&t.default.createElement(`button`,{type:`button`,onClick:()=>A(e),className:`flex items-center justify-center w-7 h-7 rounded-full bg-white/20 hover:bg-white/35 text-white transition-colors cursor-pointer`},t.default.createElement(Q,{name:`pencil`,className:`w-4 h-4`})),t.default.createElement(`button`,{type:`button`,onClick:t=>{t.preventDefault(),t.stopPropagation(),O(e.key)},className:`flex items-center justify-center w-7 h-7 rounded-full bg-red-500/70 hover:bg-red-500/90 text-white transition-colors cursor-pointer`},t.default.createElement(Q,{name:`x`,className:`w-4 h-4`}))),a&&e.variants&&Object.keys(e.variants).length>0&&t.default.createElement(`div`,{className:`flex flex-wrap gap-1 px-1`},t.default.createElement(ie,{scales:e.variants})))):t.default.createElement(Ha,{max:100,min:0,value:e.progress,appearance:`circle`}))),Cs(x,l,o)&&t.default.createElement(`div`,{className:`relative`,style:{width:d,height:u}},t.default.createElement(xs,{name:e,fileInputRef:w,accept:s,onUpload:D,onChange:E,required:c,multiple:o,height:u,width:d,feedback:i}),g&&t.default.createElement(`button`,{type:`button`,onClick:()=>z(!0),title:N.insertFromUrl,"aria-label":N.insertFromUrl,className:`absolute -right-2 -top-2 flex h-6 w-6 cursor-pointer items-center justify-center rounded-full border border-border bg-card text-muted-foreground shadow-sm transition-colors hover:text-primary`},t.default.createElement(Q,{name:`link`,className:`w-3.5 h-3.5`})))),M&&t.default.createElement(io,{message:M})),a&&C&&t.default.createElement(Ss,{title:N.editorImage,file:C,type:`img`,onSave:k,onClose:j}),g&&R&&t.default.createElement(mr,{title:N.insertFromUrl,onSave:ne,onClose:re,size:`sm`},t.default.createElement(`div`,{className:`flex flex-col gap-1`},t.default.createElement(`input`,{type:`url`,autoFocus:!0,value:B,onChange:e=>{ee(e.target.value),te(void 0)},placeholder:N.urlPlaceholder,className:`h-9 w-full rounded-md border border-input bg-background px-2.5 text-sm focus:outline-none focus:ring-1 focus:ring-ring`}),V&&t.default.createElement(io,{message:V}))),v)},Os={US:`United States`,CN:`中国`,IT:`Italia`,FR:`France`,DE:`Deutschland`,ES:`España`,PT:`Portugal`,RU:`Россия`,JP:`日本`},ks={it:`Italiano`,en:`English`,fr:`Français`,de:`Deutsch`,es:`Español`,pt:`Português`,ru:`Русский`,ja:`日本語`,ko:`한국어`},As=(e=!1)=>{let t=typeof localStorage<`u`?localStorage.getItem(`user.country`):null,n=typeof navigator<`u`?navigator.language.split(`-`)[1]:null,r=t||n||`US`;return e?r:Os[r]},js=(e=!1)=>{let t=typeof localStorage<`u`?localStorage.getItem(`user.lang`):null,n=typeof navigator<`u`?navigator.language.split(`-`)[0]:null,r=t||n||`en`;return e?r:ks[r]},Ms=`Please ignore all previous instructions.`,Ns=`Do not repeat yourself. Do not self reference. Do not explain what you are doing.`;`${Ms}`,`${Ms}${Ns}`,`${Ms}${Ns}`,`${Ms}${Ns}`,`${Ms}${Ns}`,`${Ms}${Ns}`,`${Ms}${Ns}`,`${Ms}${Ns}`,`${Ms}${Ns}`,`${Ms}${Ns}`,`${Ms}${Ns}`,`${Ms}${Ns}`,`${Ms}${Ns}`;var Ps=`default`,Fs=`Informative`,Is=`Argumentative`,Ls=`Authoritative.Caring.Casual.Cheerful.Coarse.Conservative.Conversational.Creative.Dry.Edgy.Enthusiastic.Expository.Formal.Frank.Friendly.Fun.Funny.Humorous.Informative.Irreverent.Journalistic.Matter of fact.Nostalgic.Objective.Passionate.Poetic.Playful.Professional.Provocative.Quirky.Respectful.Romantic.Sarcastic.Serious.Smart.Snarky.Subjective.Sympathetic.Trendy.Trustworthy.Unapologetic.Upbeat.Witty`.split(`.`),Rs=[`Academic`,`Analytical`,`Argumentative`,`Conversational`,`Creative`,`Critical`,`Descriptive`,`Epigrammatic`,`Epistolary`,`Expository`,`Informative`,`Instructive`,`Journalistic`,`Metaphorical`,`Narrative`,`Persuasive`,`Poetic`,`Satirical`,`Technical`],zs={default:`You are a highly skilled and versatile AI assistant who can adapt to any task or context. You write in fluent {language}, using a {voice} tone of voice and a {style} writing style. You provide clear, concise, and well-structured responses, ensuring both accuracy and creativity according to the user's needs.`,copywriter:`You are an expert copywriter who writes catchy text in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,seo_expert:`You are an experienced SEO specialist who writes optimized, keyword-rich content in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,storyteller:`You are a talented storyteller who crafts engaging narratives in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,translator:`You are a professional translator who accurately translates content into {language}, maintaining meaning, nuance, and cultural relevance. You have a {voice} tone of voice. You have a {style} writing style.`,marketing_strategist:`You are a skilled marketing strategist who creates persuasive campaigns in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,teacher:`You are a knowledgeable teacher who explains concepts clearly and simply in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,technical_writer:`You are a precise and detail-oriented technical writer who produces clear documentation in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,interviewer:`You are a skilled interviewer who formulates relevant and engaging questions in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,product_describer:`You are an e-commerce product description specialist who writes compelling, benefit-focused descriptions in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,social_media_manager:`You are a creative social media manager who writes engaging, platform-specific posts in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,ux_writer:`You are a UX writer who creates clear, concise, and user-friendly interface text in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,press_officer:`You are an experienced press officer who writes impactful press releases in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,legal_drafter:`You are a legal expert who drafts precise and compliant legal texts in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,recruiter:`You are a professional recruiter who writes compelling job descriptions and outreach messages in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,news_reporter:`You are a news reporter who writes objective and concise news articles in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,search_intent_analyst:`You are a keyword research expert who analyzes search intent from given keywords and writes in fluent {language}.`,keyword_generator:`You are a keyword research expert who generates related keywords in fluent {language}.`,long_tail_keyword_generator:`You are a keyword research expert who generates long-tail keywords in fluent {language}.`,seo_content_planner:`You are a market research expert and SEO strategist who develops a full SEO content plan in fluent {language}.`,blog_title_specialist:`You are an expert copywriter who writes catchy blog after titles in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,blog_description_specialist:`You are an expert copywriter who writes compelling blog after descriptions in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,blog_outline_specialist:`You are an expert copywriter who creates structured content outlines in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,blog_writer_from_outline:`You are an expert copywriter who writes complete blog posts from outlines in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,blog_writer_from_topic:`You are an expert copywriter who writes complete blog posts from topics in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,blog_intro_specialist:`You are an expert copywriter who writes engaging introductions using known copywriting frameworks in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,paragraph_writer:`You are an expert copywriter who writes single, impactful paragraphs in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,dictionary_writer:`You are a copywriter who writes concise and clear definitions in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`,creative_free_writer:`You are an expert copywriter who writes any kind of catchy text in fluent {language}. You have a {voice} tone of voice. You have a {style} writing style.`},Bs=class{static getRoles(){return Object.keys(zs)}static getLangs(){return Object.values(ks)}static getCountries(){return Object.values(Os)}static getVoices(){return Ls}static getStyles(){return Rs}static defaults(){return{role:Ps,language:js(),country:As(),voice:localStorage.getItem(`prompt.voice`)||Fs,style:localStorage.getItem(`prompt.style`)||Is}}static parseRole(e,t={}){return T.parse({...this.defaults(),...t},zs[e??this.defaults().role])}static parsePrompt(e,t={}){return T.parse({...this.defaults(),...t},e)}},Vs=e=>e.pricing!==void 0&&e.pricing.input===0&&e.pricing.output===0,Hs=(e,t)=>`${e}/${t}`,Us=e=>{if(!e)return null;let t=e.indexOf(`/`);return t<=0||t===e.length-1?null:{provider:e.slice(0,t),model:e.slice(t+1)}},Ws=(0,t.createContext)(null),Gs=({registry:e,defaultKey:n,children:r})=>{let i=(0,t.useMemo)(()=>({registry:e,defaultKey:n}),[e,n]);return t.default.createElement(Ws.Provider,{value:i},r)},Ks=e=>{let n=(0,t.useContext)(Ws);if(!n)return null;let r=e??n.defaultKey;return n.registry[r]??null},qs=()=>(0,t.useContext)(Ws),Js=`x-llmnative-proxy`,Ys=e=>{if(!e||e.startsWith(`/`))return!1;try{let t=new URL(e);if(typeof window<`u`){let e=new URL(window.location.href);if(t.origin===e.origin||[`localhost`,`127.0.0.1`].includes(t.hostname)&&[`localhost`,`127.0.0.1`].includes(e.hostname))return!1}return!0}catch{return!1}},Xs=null,Zs=e=>{Xs=e??null};oi(e=>{Zs(e.proxy)});var Qs=(e,t)=>{if(!Xs?.enabled)return globalThis.fetch(e,t);let n=typeof e==`string`?e:e instanceof URL?e.toString():e.url;if(!Ys(n))return globalThis.fetch(e,t);let r=Xs.route?.trim()||`/api/proxy`,i=`${r}${r.includes(`?`)?`&`:`?`}url=${encodeURIComponent(n)}`,a=e instanceof Request?e.headers:t?.headers,o=new Headers(a);o.set(Js,`1`);let s=(e instanceof Request?e.method:t?.method??`GET`).toUpperCase(),c=[`GET`,`HEAD`].includes(s)?void 0:t?.body??(e instanceof Request?e.body:void 0);return globalThis.fetch(i,{method:s,headers:o,body:c,...c instanceof ReadableStream?{duplex:`half`}:{},signal:t?.signal??(e instanceof Request?e.signal:void 0)})},$s=()=>Qs,ec=()=>!!Xs?.enabled,tc=`https://models.dev/api.json`,nc=`ai.pricing.modelsdev`,rc=864e5,ic={openai:[`openai`],openrouter:[`openrouter`],opencode:[`opencode`],deepseek:[`deepseek`],gemini:[`google`],anthropic:[`anthropic`],mistral:[`mistral`],glm:[`zhipuai`,`zai`],cloudflare:[`cloudflare-workers-ai`],groq:[`groq`]},ac=null,oc=()=>{if(typeof localStorage>`u`)return null;try{let e=localStorage.getItem(nc);if(!e)return null;let t=JSON.parse(e);return!t.fetchedAt||!t.index||Date.now()-t.fetchedAt>rc?null:t.index}catch{return null}},sc=e=>{if(typeof localStorage<`u`)try{localStorage.setItem(nc,JSON.stringify({fetchedAt:Date.now(),index:e}))}catch{}},cc=e=>{let t=new Set(Object.values(ic).flat()),n={};for(let r of t){let t=e[r]?.models??{},i={};for(let[e,n]of Object.entries(t)){let t=n?.cost?.input,r=n?.cost?.output;typeof t==`number`&&typeof r==`number`&&(i[e]=[t,r])}n[r]=i}return n},lc=()=>{let e=oc();return e?Promise.resolve(e):(ac||=fetch(tc).then(e=>e.ok?e.json():Promise.reject(Error(`HTTP ${e.status}`))).then(e=>{let t=cc(e);return sc(t),t}).catch(e=>(console.warn(`models.dev pricing unavailable`,e),{})).finally(()=>{ac=null}),ac)},uc=e=>{let t=e.toLowerCase(),n=t.replace(/-(\d{8}|\d{4}-\d{2}-\d{2})$/,``);return[...new Set([e,t,n])]},dc=(e,t,n)=>{for(let r of ic[t]??[]){let t=e[r];if(t)for(let e of uc(n)){let n=t[e];if(n)return{input:n[0],output:n[1],currency:`USD`,source:`models.dev`}}}},fc=async(e,t)=>{if(!ic[e]||t.every(e=>e.pricing))return t;let n=await lc();return t.map(t=>{if(t.pricing)return t;let r=dc(n,e,t.model);return r?{...t,pricing:r}:t})},pc=`ai.models.v3.`,mc=864e5,hc=e=>{if(e instanceof Error)return e.message;if(typeof e==`object`&&e){let t=e;if(t.error&&typeof t.error==`object`){let e=t.error;if(typeof e.message==`string`)return e.message;if(typeof e.type==`string`)return e.type}if(typeof t.error==`string`)return t.error;if(Array.isArray(t.errors)&&t.errors.length>0){let e=t.errors[0];if(e&&typeof e.message==`string`)return e.message}if(typeof t.message==`string`)return t.message;if(typeof t.detail==`string`)return t.detail;if(typeof t.status==`number`)return`HTTP ${t.status}`;try{return JSON.stringify(t)}catch{}}return String(e)},gc=e=>{let t=ec()?`The proxy is enabled but the request still failed - check that the proxy route is reachable.`:`No proxy is enabled. Cross-origin AI requests are blocked by CORS in the browser. Set VITE_PROXY_ENABLED=true and VITE_PROXY_PROVIDER=viteDevProxy to route requests server-side.`;return Error(`${e} request failed (CORS). ${t}`)},_c=e=>typeof e==`string`?e:Array.isArray(e)&&e.map(e=>typeof e==`string`?e:e&&typeof e==`object`&&`text`in e&&typeof e.text==`string`?e.text:``).filter(Boolean).join(`
|
|
5
5
|
`)||null,vc=e=>{if(typeof localStorage>`u`)return null;try{let t=localStorage.getItem(`${pc}${e}`);if(!t)return null;let n=JSON.parse(t);return!n.fetchedAt||!Array.isArray(n.items)||Date.now()-n.fetchedAt>mc?null:n.items}catch{return null}},yc=(e,t)=>{if(typeof localStorage<`u`)try{localStorage.setItem(`${pc}${e}`,JSON.stringify({fetchedAt:Date.now(),items:t}))}catch{}},bc=(e,t,n)=>n.map(n=>{let{model:r,pricing:i}=typeof n==`string`?{model:n,pricing:void 0}:n;return{id:Hs(e,r),provider:e,model:r,label:`${t} / ${r}`,providerLabel:t,...i?{pricing:i}:{}}}),xc=async(e,t=!1)=>{let n=await Promise.all(Object.entries(e).map(async([e,n])=>{try{return[e,await n.getCapabilities(t)]}catch(t){return console.warn(`getAIModelCatalog: provider "${e}" getCapabilities() failed`,t),[e,{models:[]}]}})),r=n.reduce((e,[t,n])=>(e[t]=n,e),{}),i=n.reduce((e,[t,n])=>(e[t]=n.models,e),{}),a=new Set;return{models:n.flatMap(([,e])=>e.models).filter(e=>!a.has(e.id)&&(a.add(e.id),!0)),modelsByProvider:i,capabilitiesByProvider:r}},Sc=class{id;label;defaultModel;dashboardUrl;definition;apiKey;constructor(e,t){this.definition=e,this.id=e.id,this.label=e.label,this.defaultModel=e.defaultModel,this.dashboardUrl=e.dashboardUrl,this.apiKey=t}isConfigured(){return!!this.apiKey}getConfigurationState(){let e=this.definition.requiredConfigKeys??(this.definition.configKey?[`ai.${this.definition.configKey}`]:[]);return In(`AIProvider:${this.id}`,this.isConfigured()?[]:e)}async getCapabilities(e=!1){let t=e?null:vc(this.id);if(t)return{...this.definition.capabilities,models:t.map(e=>e.providerLabel?e:{...e,providerLabel:this.label})};let n=bc(this.id,this.label,this.definition.fallbackModels);try{let e=await this.definition.discoverModels(this.apiKey);e.length>0&&(n=bc(this.id,this.label,e))}catch(e){console.warn(`AIProvider:${this.id} model discovery failed`,e)}return n=await fc(this.id,n),yc(this.id,n),{...this.definition.capabilities,models:n}}complete(e){return this.definition.complete(this.apiKey,{...e,model:e.model||this.defaultModel,prompt:Bs.parsePrompt(e.prompt,{...e.data,...e})})}async validateApiKey(){let e=this.definition.dashboardUrl;if(this.definition.validateApiKey)return{...await this.definition.validateApiKey(this.apiKey),dashboardUrl:e};try{return await this.definition.discoverModels(this.apiKey),{valid:!0,dashboardUrl:e}}catch(t){return{valid:!1,error:hc(t),dashboardUrl:e}}}},Cc={"gpt-4o":128e3,"gpt-4o-mini":128e3,"gpt-4-turbo":128e3,"gpt-4":8192,"gpt-3.5-turbo":16385,"claude-opus-4-8":2e5,"claude-sonnet-4-6":2e5,"claude-haiku-4-5":2e5,"claude-3-5-sonnet-20241022":2e5,"claude-3-5-haiku-20241022":2e5,"gemini-2.0-flash":1048576,"gemini-1.5-pro":2097152,"gemini-1.5-flash":1048576,"deepseek-chat":64e3,"deepseek-coder":128e3,"mistral-large-latest":131072,"mistral-medium":32768,"mistral-small-latest":131072,"open-mistral-nemo":128e3,"llama-3.1-70b-instruct":131072,"llama-3.1-8b-instruct":131072},wc={"gpt-4o":[2.5,10],"gpt-4o-mini":[.15,.6],"gpt-4-turbo":[10,30],"gpt-4":[30,60],"gpt-3.5-turbo":[.5,1.5],"claude-opus-4-8":[15,75],"claude-sonnet-4-6":[3,15],"claude-haiku-4-5":[.8,4],"claude-3-5-sonnet-20241022":[3,15],"claude-3-5-haiku-20241022":[.8,4],"gemini-2.0-flash":[.1,.4],"gemini-1.5-pro":[1.25,5],"gemini-1.5-flash":[.075,.3],"deepseek-chat":[.14,.28],"mistral-large-latest":[2,6],"mistral-medium":[2.7,8.1],"mistral-small-latest":[.1,.3]},Tc=e=>Us(e)?.model??e,Ec=/^text\/|^application\/(json|csv|xml|javascript|typescript)/,Dc=e=>new Promise((t,n)=>{if(typeof FileReader>`u`){n(Error(`FileReader is not available in this environment.`));return}let r=new FileReader;r.onload=()=>t(String(r.result??``)),r.onerror=()=>n(r.error??Error(`Failed to read file "${e.name}".`)),r.readAsDataURL(e)}),Oc={countTokens(e){return Math.ceil(e.length/4)},modelContextWindow(e){return Cc[Tc(e)]??null},contextPercent(e,t){let n=Oc.modelContextWindow(t);return!n||n<=0?0:Math.min(100,e/n*100)},estimateCost(e,t,n){let r=wc[Tc(n)];return r?(e*r[0]+t*r[1])/1e6:NaN},async fileToAttachment(e){let t=await Dc(e),n=t.includes(`,`)?t.split(`,`)[1]:``;return{mimeType:e.type||`application/octet-stream`,base64:n,name:e.name}},isTextAttachment(e){return Ec.test(e)},decodeBase64Text(e){try{let t=globalThis.atob(e),n=Uint8Array.from(t,e=>e.charCodeAt(0));return new TextDecoder(`utf-8`).decode(n)}catch{return``}}},kc=10,Ac=e=>{if(e instanceof HTMLTextAreaElement)return!0;if(!(e instanceof HTMLInputElement))return!1;let t=e.type.toLowerCase();return t===``||[`text`,`search`,`email`,`url`,`tel`].includes(t)},jc=e=>e.getClientRects().length>0&&window.getComputedStyle(e).visibility!==`hidden`,Mc=e=>Array.from(e.querySelectorAll(`textarea, input`)).filter(Ac),Nc=(e,t)=>{let n=document.activeElement;if(Ac(n)&&e.contains(n)&&jc(n))return n;if(t&&e.contains(t)&&jc(t))return t;let r=Mc(e);return r.find(jc)??r[0]??null},Pc=({label:e,value:n,icon:r,description:i,className:a,onSelect:o,active:s})=>t.default.createElement(`button`,{type:`button`,role:`menuitem`,className:X(`flex w-full cursor-pointer select-none items-start gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground`,s&&`bg-accent text-accent-foreground`,a),onMouseDown:t=>{t.preventDefault(),t.stopPropagation(),o?.({label:e,value:n,icon:r,description:i})}},r&&t.default.createElement(Q,{name:r,size:16,className:`mt-0.5 shrink-0 text-muted-foreground`}),t.default.createElement(`span`,{className:`min-w-0 flex-1 text-left`},t.default.createElement(`span`,{className:`block truncate`},e),i&&t.default.createElement(`span`,{className:`block truncate text-xs text-muted-foreground`},i))),Fc=({children:e,className:n})=>t.default.createElement(`div`,{className:X(`sticky top-0 z-10 bg-popover px-2 py-1.5 text-xs font-medium uppercase tracking-wide text-muted-foreground`,n)},e),Ic=({className:e})=>t.default.createElement(`div`,{className:X(`-mx-1 my-1 h-px bg-border`,e)}),Lc=new Set([Fc,Ic]),Rc=(e,t)=>{if(!t)return!1;let n=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return RegExp(`^\\s*${n}`).test(e)},zc=(e,t)=>{if(!t)return 0;let n=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return e.match(RegExp(`^\\s*${n}`))?.[0].length??0},Bc=(e,t,n,r)=>{if(!n)return null;let i=e.slice(0,t),a=i.lastIndexOf(n);if(a===-1)return null;if(r?.requireWhitespacePrefix){let e=a===0?``:i[a-1];if(e&&!/\s/.test(e))return null}let o=i.slice(a+n.length);return(r?.queryPattern?!r.queryPattern.test(o):/\s/.test(o))?null:{query:o,start:a,end:t}},Vc=(e,t,n)=>Bc(e,t,n),Hc=e=>({value:e.value.slice(0,e.triggerRange.start)+e.value.slice(e.triggerRange.end),textBeforeCaret:e.value.slice(0,e.triggerRange.start),textAfterCaret:e.value.slice(e.triggerRange.end),trigger:e.trigger,query:e.query}),Uc=(e,t)=>{let n=window.getComputedStyle(e),r=e.getBoundingClientRect(),i=parseFloat(n.lineHeight)||20,a=parseFloat(n.borderLeftWidth)||0,o=parseFloat(n.paddingLeft)||0,s=e.value.slice(0,t.start),c=s.lastIndexOf(`
|
|
6
6
|
`)+1,l=e.value.slice(c,t.start),u=s.split(`
|