UNPKG

@gmana/utils

Version:

TypeScript utility functions with Tailwind CSS helpers and common JavaScript utilities

2 lines 39.6 kB
function e(e,n){let r=n?.baseUrl||process.env.NEXT_PUBLIC_APP_URL||`http://localhost:3000`;try{new URL(r)}catch{throw Error(`Invalid base URL: ${r}`)}let i=r.endsWith(`/`)?r.slice(0,-1):r;if(!e?.trim())return t(i,``,n);let a=e.startsWith(`/`)?e:`/${e}`;return t(i,a,n)}function t(e,t,n){let r=`${e}${t}`;if(n?.query&&Object.keys(n.query).length>0){let e=new URLSearchParams;for(let[t,r]of Object.entries(n.query))r!=null&&e.append(t,String(r));let t=e.toString();t&&(r+=`?${t}`)}return n?.fragment&&(r+=`#${encodeURIComponent(n.fragment)}`),r}function n(e){try{return new URL(e),!0}catch{return!1}}function r(e){return`/`+e.filter(Boolean).map(e=>e?.replace(/^\/+|\/+$/g,``)).filter(Boolean).join(`/`)}const i=(e,t)=>{if(t<=0)throw Error(`Chunk size must be greater than 0`);return e.length===0?[]:Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,r*t+t))},a=e=>[...new Set(e)],o=(e,t)=>{let n=new Set;return e.filter(e=>{let r=t(e);return n.has(r)?!1:(n.add(r),!0)})},s=(e,t)=>e.reduce((e,n)=>{let r=t(n);return e[r]=e[r]||[],e[r].push(n),e},{}),c=e=>e.reduce((e,t)=>Array.isArray(t)?e.concat(t):e.concat([t]),[]),l=e=>e.reduce((e,t)=>Array.isArray(t)?e.concat(l(t)):e.concat(t),[]),ee=(e,t)=>{let n=new Set(t);return a(e.filter(e=>n.has(e)))},u=(e,t)=>{let n=new Set(t);return e.filter(e=>!n.has(e))},d=(e,t)=>[...u(e,t),...u(t,e)],f=(e,t)=>{let n=[],r=[];return e.forEach((e,i)=>{t(e,i)?n.push(e):r.push(e)}),[n,r]},p=e=>e.filter(Boolean),m=(e,t)=>e.slice(0,Math.max(0,t)),h=(e,t)=>t===0?[]:e.slice(-t),te=(e,t)=>e.slice(Math.max(0,t)),ne=(e,t)=>t===0?[...e]:e.slice(0,-t),g=e=>{let t=[...e];for(let e=t.length-1;e>0;e--){let n=Math.floor(Math.random()*(e+1));[t[e],t[n]]=[t[n],t[e]]}return t},_=(e,t=1)=>{if(t>=e.length)return g(e);let n=g(e);return n.slice(0,t)},v=(e,...t)=>[...e].sort((e,n)=>{for(let r of t){let t=r(e),i=r(n);if(t<i)return-1;if(t>i)return 1}return 0}),y=(e,t)=>{if(e.length===0)return[];let n=[],r=[e[0]],i=t(e[0]);for(let a=1;a<e.length;a++){let o=t(e[a]);o===i?r.push(e[a]):(n.push(r),r=[e[a]],i=o)}return n.push(r),n},b=(e,t)=>{if(e.length!==0)return e.reduce((e,n)=>t(n)>t(e)?n:e)},x=(e,t)=>{if(e.length!==0)return e.reduce((e,n)=>t(n)<t(e)?n:e)},S=(e,t)=>e.reduce((e,n)=>e+t(n),0),re=(e,t)=>e.length===0?0:S(e,t)/e.length,ie=(e,t)=>e.reduce((e,n)=>{let r=t(n);return e[r]=(e[r]||0)+1,e},{}),C=(...e)=>{if(e.length===0)return[];let t=Math.max(...e.map(e=>e.length)),n=[];for(let r=0;r<t;r++)n.push(e.map(e=>e[r]));return n};function w(e){return typeof e==`string`?e:typeof e==`number`?e===0?``:String(e):Array.isArray(e)?e.map(w).filter(Boolean).join(` `):typeof e==`object`&&e?Object.entries(e).filter(([,e])=>!!e).map(([e])=>e).join(` `):``}function T(...e){return e.map(w).filter(Boolean).join(` `)}const E=`-`,D=e=>{let t=oe(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e,i=e=>{let n=e.split(E);return n[0]===``&&n.length!==1&&n.shift(),O(n,t)||ae(e)},a=(e,t)=>{let i=n[e]||[];return t&&r[e]?[...i,...r[e]]:i};return{getClassGroupId:i,getConflictingClassGroupIds:a}},O=(e,t)=>{if(e.length===0)return t.classGroupId;let n=e[0],r=t.nextPart.get(n),i=r?O(e.slice(1),r):void 0;if(i)return i;if(t.validators.length===0)return;let a=e.join(E);return t.validators.find(({validator:e})=>e(a))?.classGroupId},k=/^\[(.+)\]$/,ae=e=>{if(k.test(e)){let t=k.exec(e)[1],n=t?.substring(0,t.indexOf(`:`));if(n)return`arbitrary..`+n}},oe=e=>{let{theme:t,classGroups:n}=e,r={nextPart:new Map,validators:[]};for(let e in n)A(n[e],r,e,t);return r},A=(e,t,n,r)=>{e.forEach(e=>{if(typeof e==`string`){let r=e===``?t:j(t,e);r.classGroupId=n;return}if(typeof e==`function`){if(M(e)){A(e(r),t,n,r);return}t.validators.push({validator:e,classGroupId:n});return}Object.entries(e).forEach(([e,i])=>{A(i,j(t,e),n,r)})})},j=(e,t)=>{let n=e;return t.split(E).forEach(e=>{n.nextPart.has(e)||n.nextPart.set(e,{nextPart:new Map,validators:[]}),n=n.nextPart.get(e)}),n},M=e=>e.isThemeGetter,N=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=new Map,r=new Map,i=(i,a)=>{n.set(i,a),t++,t>e&&(t=0,r=n,n=new Map)};return{get(e){let t=n.get(e);if(t!==void 0)return t;if((t=r.get(e))!==void 0)return i(e,t),t},set(e,t){n.has(e)?n.set(e,t):i(e,t)}}},P=`!`,se=`:`,F=1,ce=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a;for(let o=0;o<e.length;o++){let s=e[o];if(n===0&&r===0){if(s===se){t.push(e.slice(i,o)),i=o+F;continue}if(s===`/`){a=o;continue}}s===`[`?n++:s===`]`?n--:s===`(`?r++:s===`)`&&r--}let o=t.length===0?e:e.substring(i),s=I(o),c=s!==o,l=a&&a>i?a-i:void 0;return{modifiers:t,hasImportantModifier:c,baseClassName:s,maybePostfixModifierPosition:l}};if(t){let e=t+se,n=r;r=t=>t.startsWith(e)?n(t.substring(e.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:t,maybePostfixModifierPosition:void 0}}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},I=e=>e.endsWith(P)?e.substring(0,e.length-1):e.startsWith(P)?e.substring(1):e,L=e=>{let t=Object.fromEntries(e.orderSensitiveModifiers.map(e=>[e,!0])),n=e=>{if(e.length<=1)return e;let n=[],r=[];return e.forEach(e=>{let i=e[0]===`[`||t[e];i?(n.push(...r.sort(),e),r=[]):r.push(e)}),n.push(...r.sort()),n};return n},le=e=>({cache:N(e.cacheSize),parseClassName:ce(e),sortModifiers:L(e),...D(e)}),R=/\s+/,ue=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(R),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:ee,hasImportantModifier:u,baseClassName:d,maybePostfixModifierPosition:f}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let p=!!f,m=r(p?d.substring(0,f):d);if(!m){if(!p){c=t+(c.length>0?` `+c:c);continue}if(m=r(d),!m){c=t+(c.length>0?` `+c:c);continue}p=!1}let h=a(ee).join(`:`),te=u?h+P:h,ne=te+m;if(o.includes(ne))continue;o.push(ne);let g=i(m,p);for(let e=0;e<g.length;++e){let t=g[e];o.push(te+t)}c=t+(c.length>0?` `+c:c)}return c};function de(){let e=0,t,n,r=``;for(;e<arguments.length;)(t=arguments[e++])&&(n=fe(t))&&(r&&(r+=` `),r+=n);return r}const fe=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=fe(e[r]))&&(n&&(n+=` `),n+=t);return n};function pe(e,...t){let n,r,i,a=o;function o(o){let c=t.reduce((e,t)=>t(e),e());return n=le(c),r=n.cache.get,i=n.cache.set,a=s,s(o)}function s(e){let t=r(e);if(t)return t;let a=ue(e,n);return i(e,a),a}return function(){return a(de.apply(null,arguments))}}const z=e=>{let t=t=>t[e]||[];return t.isThemeGetter=!0,t},me=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,he=/^\((?:(\w[\w-]*):)?(.+)\)$/i,ge=/^\d+\/\d+$/,_e=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ve=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ye=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,be=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,xe=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,B=e=>ge.test(e),V=e=>!!e&&!Number.isNaN(Number(e)),H=e=>!!e&&Number.isInteger(Number(e)),Se=e=>e.endsWith(`%`)&&V(e.slice(0,-1)),U=e=>_e.test(e),Ce=()=>!0,we=e=>ve.test(e)&&!ye.test(e),Te=()=>!1,Ee=e=>be.test(e),De=e=>xe.test(e),Oe=e=>!W(e)&&!q(e),ke=e=>X(e,ze,Te),W=e=>me.test(e),G=e=>X(e,Be,we),Ae=e=>X(e,Ve,V),je=e=>X(e,Le,Te),Me=e=>X(e,Re,De),K=e=>X(e,Ue,Ee),q=e=>he.test(e),J=e=>Z(e,Be),Ne=e=>Z(e,He),Pe=e=>Z(e,Le),Fe=e=>Z(e,ze),Ie=e=>Z(e,Re),Y=e=>Z(e,Ue,!0),X=(e,t,n)=>{let r=me.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Z=(e,t,n=!1)=>{let r=he.exec(e);return r?r[1]?t(r[1]):n:!1},Le=e=>e===`position`||e===`percentage`,Re=e=>e===`image`||e===`url`,ze=e=>e===`length`||e===`size`||e===`bg-size`,Be=e=>e===`length`,Ve=e=>e===`number`,He=e=>e===`family-name`,Ue=e=>e===`shadow`,We=()=>{let e=z(`color`),t=z(`font`),n=z(`text`),r=z(`font-weight`),i=z(`tracking`),a=z(`leading`),o=z(`breakpoint`),s=z(`container`),c=z(`spacing`),l=z(`radius`),ee=z(`shadow`),u=z(`inset-shadow`),d=z(`text-shadow`),f=z(`drop-shadow`),p=z(`blur`),m=z(`perspective`),h=z(`aspect`),te=z(`ease`),ne=z(`animate`),g=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],_=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],v=()=>[..._(),q,W],y=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],b=()=>[`auto`,`contain`,`none`],x=()=>[q,W,c],S=()=>[B,`full`,`auto`,...x()],re=()=>[H,`none`,`subgrid`,q,W],ie=()=>[`auto`,{span:[`full`,H,q,W]},H,q,W],C=()=>[H,`auto`,q,W],w=()=>[`auto`,`min`,`max`,`fr`,q,W],T=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],E=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],D=()=>[`auto`,...x()],O=()=>[B,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...x()],k=()=>[e,q,W],ae=()=>[..._(),Pe,je,{position:[q,W]}],oe=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],A=()=>[`auto`,`cover`,`contain`,Fe,ke,{size:[q,W]}],j=()=>[Se,J,G],M=()=>[``,`none`,`full`,l,q,W],N=()=>[``,V,J,G],P=()=>[`solid`,`dashed`,`dotted`,`double`],se=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],F=()=>[V,Se,Pe,je],ce=()=>[``,`none`,p,q,W],I=()=>[`none`,V,q,W],L=()=>[`none`,V,q,W],le=()=>[V,q,W],R=()=>[B,`full`,...x()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[U],breakpoint:[U],color:[Ce],container:[U],"drop-shadow":[U],ease:[`in`,`out`,`in-out`],font:[Oe],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[U],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[U],shadow:[U],spacing:[`px`,V],text:[U],"text-shadow":[U],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,B,W,q,h]}],container:[`container`],columns:[{columns:[V,W,q,s]}],"break-after":[{"break-after":g()}],"break-before":[{"break-before":g()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:v()}],overflow:[{overflow:y()}],"overflow-x":[{"overflow-x":y()}],"overflow-y":[{"overflow-y":y()}],overscroll:[{overscroll:b()}],"overscroll-x":[{"overscroll-x":b()}],"overscroll-y":[{"overscroll-y":b()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:S()}],"inset-x":[{"inset-x":S()}],"inset-y":[{"inset-y":S()}],start:[{start:S()}],end:[{end:S()}],top:[{top:S()}],right:[{right:S()}],bottom:[{bottom:S()}],left:[{left:S()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[H,`auto`,q,W]}],basis:[{basis:[B,`full`,`auto`,s,...x()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[V,B,`auto`,`initial`,`none`,W]}],grow:[{grow:[``,V,q,W]}],shrink:[{shrink:[``,V,q,W]}],order:[{order:[H,`first`,`last`,`none`,q,W]}],"grid-cols":[{"grid-cols":re()}],"col-start-end":[{col:ie()}],"col-start":[{"col-start":C()}],"col-end":[{"col-end":C()}],"grid-rows":[{"grid-rows":re()}],"row-start-end":[{row:ie()}],"row-start":[{"row-start":C()}],"row-end":[{"row-end":C()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":w()}],"auto-rows":[{"auto-rows":w()}],gap:[{gap:x()}],"gap-x":[{"gap-x":x()}],"gap-y":[{"gap-y":x()}],"justify-content":[{justify:[...T(),`normal`]}],"justify-items":[{"justify-items":[...E(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...E()]}],"align-content":[{content:[`normal`,...T()]}],"align-items":[{items:[...E(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...E(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":T()}],"place-items":[{"place-items":[...E(),`baseline`]}],"place-self":[{"place-self":[`auto`,...E()]}],p:[{p:x()}],px:[{px:x()}],py:[{py:x()}],ps:[{ps:x()}],pe:[{pe:x()}],pt:[{pt:x()}],pr:[{pr:x()}],pb:[{pb:x()}],pl:[{pl:x()}],m:[{m:D()}],mx:[{mx:D()}],my:[{my:D()}],ms:[{ms:D()}],me:[{me:D()}],mt:[{mt:D()}],mr:[{mr:D()}],mb:[{mb:D()}],ml:[{ml:D()}],"space-x":[{"space-x":x()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":x()}],"space-y-reverse":[`space-y-reverse`],size:[{size:O()}],w:[{w:[s,`screen`,...O()]}],"min-w":[{"min-w":[s,`screen`,`none`,...O()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...O()]}],h:[{h:[`screen`,`lh`,...O()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...O()]}],"max-h":[{"max-h":[`screen`,`lh`,...O()]}],"font-size":[{text:[`base`,n,J,G]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,q,Ae]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,Se,W]}],"font-family":[{font:[Ne,W,t]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,q,W]}],"line-clamp":[{"line-clamp":[V,`none`,q,Ae]}],leading:[{leading:[a,...x()]}],"list-image":[{"list-image":[`none`,q,W]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,q,W]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:k()}],"text-color":[{text:k()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...P(),`wavy`]}],"text-decoration-thickness":[{decoration:[V,`from-font`,`auto`,q,G]}],"text-decoration-color":[{decoration:k()}],"underline-offset":[{"underline-offset":[V,`auto`,q,W]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:x()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,q,W]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,q,W]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:ae()}],"bg-repeat":[{bg:oe()}],"bg-size":[{bg:A()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},H,q,W],radial:[``,q,W],conic:[H,q,W]},Ie,Me]}],"bg-color":[{bg:k()}],"gradient-from-pos":[{from:j()}],"gradient-via-pos":[{via:j()}],"gradient-to-pos":[{to:j()}],"gradient-from":[{from:k()}],"gradient-via":[{via:k()}],"gradient-to":[{to:k()}],rounded:[{rounded:M()}],"rounded-s":[{"rounded-s":M()}],"rounded-e":[{"rounded-e":M()}],"rounded-t":[{"rounded-t":M()}],"rounded-r":[{"rounded-r":M()}],"rounded-b":[{"rounded-b":M()}],"rounded-l":[{"rounded-l":M()}],"rounded-ss":[{"rounded-ss":M()}],"rounded-se":[{"rounded-se":M()}],"rounded-ee":[{"rounded-ee":M()}],"rounded-es":[{"rounded-es":M()}],"rounded-tl":[{"rounded-tl":M()}],"rounded-tr":[{"rounded-tr":M()}],"rounded-br":[{"rounded-br":M()}],"rounded-bl":[{"rounded-bl":M()}],"border-w":[{border:N()}],"border-w-x":[{"border-x":N()}],"border-w-y":[{"border-y":N()}],"border-w-s":[{"border-s":N()}],"border-w-e":[{"border-e":N()}],"border-w-t":[{"border-t":N()}],"border-w-r":[{"border-r":N()}],"border-w-b":[{"border-b":N()}],"border-w-l":[{"border-l":N()}],"divide-x":[{"divide-x":N()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":N()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...P(),`hidden`,`none`]}],"divide-style":[{divide:[...P(),`hidden`,`none`]}],"border-color":[{border:k()}],"border-color-x":[{"border-x":k()}],"border-color-y":[{"border-y":k()}],"border-color-s":[{"border-s":k()}],"border-color-e":[{"border-e":k()}],"border-color-t":[{"border-t":k()}],"border-color-r":[{"border-r":k()}],"border-color-b":[{"border-b":k()}],"border-color-l":[{"border-l":k()}],"divide-color":[{divide:k()}],"outline-style":[{outline:[...P(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[V,q,W]}],"outline-w":[{outline:[``,V,J,G]}],"outline-color":[{outline:k()}],shadow:[{shadow:[``,`none`,ee,Y,K]}],"shadow-color":[{shadow:k()}],"inset-shadow":[{"inset-shadow":[`none`,u,Y,K]}],"inset-shadow-color":[{"inset-shadow":k()}],"ring-w":[{ring:N()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:k()}],"ring-offset-w":[{"ring-offset":[V,G]}],"ring-offset-color":[{"ring-offset":k()}],"inset-ring-w":[{"inset-ring":N()}],"inset-ring-color":[{"inset-ring":k()}],"text-shadow":[{"text-shadow":[`none`,d,Y,K]}],"text-shadow-color":[{"text-shadow":k()}],opacity:[{opacity:[V,q,W]}],"mix-blend":[{"mix-blend":[...se(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":se()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[V]}],"mask-image-linear-from-pos":[{"mask-linear-from":F()}],"mask-image-linear-to-pos":[{"mask-linear-to":F()}],"mask-image-linear-from-color":[{"mask-linear-from":k()}],"mask-image-linear-to-color":[{"mask-linear-to":k()}],"mask-image-t-from-pos":[{"mask-t-from":F()}],"mask-image-t-to-pos":[{"mask-t-to":F()}],"mask-image-t-from-color":[{"mask-t-from":k()}],"mask-image-t-to-color":[{"mask-t-to":k()}],"mask-image-r-from-pos":[{"mask-r-from":F()}],"mask-image-r-to-pos":[{"mask-r-to":F()}],"mask-image-r-from-color":[{"mask-r-from":k()}],"mask-image-r-to-color":[{"mask-r-to":k()}],"mask-image-b-from-pos":[{"mask-b-from":F()}],"mask-image-b-to-pos":[{"mask-b-to":F()}],"mask-image-b-from-color":[{"mask-b-from":k()}],"mask-image-b-to-color":[{"mask-b-to":k()}],"mask-image-l-from-pos":[{"mask-l-from":F()}],"mask-image-l-to-pos":[{"mask-l-to":F()}],"mask-image-l-from-color":[{"mask-l-from":k()}],"mask-image-l-to-color":[{"mask-l-to":k()}],"mask-image-x-from-pos":[{"mask-x-from":F()}],"mask-image-x-to-pos":[{"mask-x-to":F()}],"mask-image-x-from-color":[{"mask-x-from":k()}],"mask-image-x-to-color":[{"mask-x-to":k()}],"mask-image-y-from-pos":[{"mask-y-from":F()}],"mask-image-y-to-pos":[{"mask-y-to":F()}],"mask-image-y-from-color":[{"mask-y-from":k()}],"mask-image-y-to-color":[{"mask-y-to":k()}],"mask-image-radial":[{"mask-radial":[q,W]}],"mask-image-radial-from-pos":[{"mask-radial-from":F()}],"mask-image-radial-to-pos":[{"mask-radial-to":F()}],"mask-image-radial-from-color":[{"mask-radial-from":k()}],"mask-image-radial-to-color":[{"mask-radial-to":k()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":_()}],"mask-image-conic-pos":[{"mask-conic":[V]}],"mask-image-conic-from-pos":[{"mask-conic-from":F()}],"mask-image-conic-to-pos":[{"mask-conic-to":F()}],"mask-image-conic-from-color":[{"mask-conic-from":k()}],"mask-image-conic-to-color":[{"mask-conic-to":k()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:ae()}],"mask-repeat":[{mask:oe()}],"mask-size":[{mask:A()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,q,W]}],filter:[{filter:[``,`none`,q,W]}],blur:[{blur:ce()}],brightness:[{brightness:[V,q,W]}],contrast:[{contrast:[V,q,W]}],"drop-shadow":[{"drop-shadow":[``,`none`,f,Y,K]}],"drop-shadow-color":[{"drop-shadow":k()}],grayscale:[{grayscale:[``,V,q,W]}],"hue-rotate":[{"hue-rotate":[V,q,W]}],invert:[{invert:[``,V,q,W]}],saturate:[{saturate:[V,q,W]}],sepia:[{sepia:[``,V,q,W]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,q,W]}],"backdrop-blur":[{"backdrop-blur":ce()}],"backdrop-brightness":[{"backdrop-brightness":[V,q,W]}],"backdrop-contrast":[{"backdrop-contrast":[V,q,W]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,V,q,W]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[V,q,W]}],"backdrop-invert":[{"backdrop-invert":[``,V,q,W]}],"backdrop-opacity":[{"backdrop-opacity":[V,q,W]}],"backdrop-saturate":[{"backdrop-saturate":[V,q,W]}],"backdrop-sepia":[{"backdrop-sepia":[``,V,q,W]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":x()}],"border-spacing-x":[{"border-spacing-x":x()}],"border-spacing-y":[{"border-spacing-y":x()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,q,W]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[V,`initial`,q,W]}],ease:[{ease:[`linear`,`initial`,te,q,W]}],delay:[{delay:[V,q,W]}],animate:[{animate:[`none`,ne,q,W]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[m,q,W]}],"perspective-origin":[{"perspective-origin":v()}],rotate:[{rotate:I()}],"rotate-x":[{"rotate-x":I()}],"rotate-y":[{"rotate-y":I()}],"rotate-z":[{"rotate-z":I()}],scale:[{scale:L()}],"scale-x":[{"scale-x":L()}],"scale-y":[{"scale-y":L()}],"scale-z":[{"scale-z":L()}],"scale-3d":[`scale-3d`],skew:[{skew:le()}],"skew-x":[{"skew-x":le()}],"skew-y":[{"skew-y":le()}],transform:[{transform:[q,W,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:v()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:R()}],"translate-x":[{"translate-x":R()}],"translate-y":[{"translate-y":R()}],"translate-z":[{"translate-z":R()}],"translate-none":[`translate-none`],accent:[{accent:k()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:k()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,q,W]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":x()}],"scroll-mx":[{"scroll-mx":x()}],"scroll-my":[{"scroll-my":x()}],"scroll-ms":[{"scroll-ms":x()}],"scroll-me":[{"scroll-me":x()}],"scroll-mt":[{"scroll-mt":x()}],"scroll-mr":[{"scroll-mr":x()}],"scroll-mb":[{"scroll-mb":x()}],"scroll-ml":[{"scroll-ml":x()}],"scroll-p":[{"scroll-p":x()}],"scroll-px":[{"scroll-px":x()}],"scroll-py":[{"scroll-py":x()}],"scroll-ps":[{"scroll-ps":x()}],"scroll-pe":[{"scroll-pe":x()}],"scroll-pt":[{"scroll-pt":x()}],"scroll-pr":[{"scroll-pr":x()}],"scroll-pb":[{"scroll-pb":x()}],"scroll-pl":[{"scroll-pl":x()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,q,W]}],fill:[{fill:[`none`,...k()]}],"stroke-w":[{stroke:[V,J,G,Ae]}],stroke:[{stroke:[`none`,...k()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}},Ge=pe(We),Ke=(...e)=>Ge(T(...e));function qe(e){return e===``||e==null}function Je(e,t={}){let{compactArrays:n=!0,removeEmptyArrays:r=!1,isEmpty:i=qe}=t,a={};for(let[o,s]of Object.entries(e)){if(i(s))continue;if(Array.isArray(s)){if(n){let e=s.filter(e=>!i(e)).map(e=>{if(e&&typeof e==`object`&&!Array.isArray(e)){let n=Je(e,t);return Object.keys(n).length>0?n:null}return e}).filter(e=>e!==null);(!r||e.length>0)&&(a[o]=e)}else a[o]=s;continue}if(s&&typeof s==`object`){let e=Je(s,t);Object.keys(e).length>0&&(a[o]=e);continue}a[o]=s}return a}function Ye(e,t={}){return Je(e,t)}function Xe(e){if(typeof e!=`string`||!e.trim())return[];let t=/[^a-zA-Z0-9]+|(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])|(?<=[a-zA-Z])(?=[0-9])|(?<=[0-9])(?=[a-zA-Z])/;return e.split(t).filter(e=>e.trim().length>0)}function Q(e,t){if(typeof e!=`string`)return``;let n=Xe(e);if(n.length===0)return``;let r=e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase();switch(t){case`lowercase`:return n.map(e=>e.toLowerCase()).join(` `);case`uppercase`:return n.map(e=>e.toUpperCase()).join(` `);case`sentence`:{let e=n.map(e=>e.toLowerCase()).join(` `);return r(e)}case`title`:return n.map(r).join(` `);case`snake`:return n.map(e=>e.toLowerCase()).join(`_`);case`kebab`:return n.map(e=>e.toLowerCase()).join(`-`);case`camel`:return n.length===1?n[0].toLowerCase():n[0].toLowerCase()+n.slice(1).map(r).join(``);case`pascal`:return n.map(r).join(``);case`dot`:return n.map(e=>e.toLowerCase()).join(`.`);case`constant`:return n.map(e=>e.toUpperCase()).join(`_`);default:{let e=t;throw Error(`Unsupported case type: ${e}`)}}}const Ze={lower:e=>Q(e,`lowercase`),upper:e=>Q(e,`uppercase`),sentence:e=>Q(e,`sentence`),title:e=>Q(e,`title`),snake:e=>Q(e,`snake`),kebab:e=>Q(e,`kebab`),camel:e=>Q(e,`camel`),pascal:e=>Q(e,`pascal`),dot:e=>Q(e,`dot`),constant:e=>Q(e,`constant`)},Qe=(e,t=`-`)=>{let n={},r=(e,i)=>{if(!(typeof e!=`object`||!e))for(let[a,o]of Object.entries(e)){let e=i?`${i}${t}${a}`:a;typeof o==`object`&&o?r(o,e):n[e]=o}};return r(e,``),n},$e=typeof window<`u`,et=typeof window>`u`,tt=e=>Array.isArray(e),nt=e=>typeof e==`boolean`,rt=!1,it=e=>e==null||ct(e)&&Object.keys(e).length===0||tt(e)&&e.length===0||typeof e==`string`&&e.trim().length===0,at=e=>typeof e==`function`,ot=typeof navigator<`u`,st=e=>typeof e==`number`&&Number.isNaN(e)===!1,ct=e=>typeof e==`object`&&!!e,lt=e=>typeof e==`string`;function ut(e){return typeof e==`symbol`||typeof e==`object`&&!!e&&Object.prototype.toString.call(e)===`[object Symbol]`}function dt(e,t=0){if(!e)return!0;try{let n=gt(e);return typeof n==`number`?!(n*1e3>Date.now()+t*1e3):!0}catch{return!0}}const ft=e=>e===void 0;function pt(e){try{let t=typeof e==`string`?new URL(e):e;return!(typeof e==`string`&&![`http:`,`https:`].includes(t.protocol))}catch{return!1}}function mt(e,t={}){let{allowEmpty:n=!1,minLength:r=1,maxLength:i=50}=t,a=[];if(typeof e!=`string`)return a.push(`Name must be a string`),{valid:!1,errors:a};if(!n&&(!e||e.trim().length===0))return a.push(`Name cannot be empty`),{valid:!1,errors:a};e.length<r&&a.push(`Name must be at least ${r} characters long`),e.length>i&&a.push(`Name must be no more than ${i} characters long`);let o=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/;o.test(e)||(/^[a-z]/.test(e)||a.push(`Name must start with a lowercase letter`),/[A-Z]/.test(e)&&a.push(`Name must be lowercase (use kebab-case)`),/--/.test(e)&&a.push(`Name cannot contain consecutive dashes`),/[^a-z0-9-]/.test(e)&&a.push(`Name can only contain lowercase letters, numbers, and dashes`),/^-|-$/.test(e)&&a.push(`Name cannot start or end with a dash`));let s=[`component`,`element`,`node`,`ref`,`key`,`props`];return s.includes(e)&&a.push(`"${e}" is a reserved name`),{valid:a.length===0,errors:a}}function ht(e){try{JSON.parse(e)}catch{return!1}return!0}function gt(e){let t=_t(e);return t&&typeof t.exp==`number`?t.exp:null}function _t(e){let t=e.split(`.`);if(t.length!==3)throw Error(`Invalid JWT format`);let n=t[1]??``,r=vt(n);return JSON.parse(r)}function vt(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`);for(;t.length%4;)t+=`=`;if(typeof globalThis<`u`&&typeof globalThis.atob==`function`)return decodeURIComponent(Array.prototype.map.call(globalThis.atob(t),e=>`%${(`00`+e.charCodeAt(0).toString(16)).slice(-2)}`).join(``));if(typeof Buffer<`u`)return Buffer.from(t,`base64`).toString(`utf-8`);throw Error(`No base64 decoder available`)}const yt=(e,t,n,r)=>{let i=[],a=e.length,o=r*6064;for(let r=0;r<a;r++){let a=e.charCodeAt(r),s=a-t,c=a-o*(s*(a-n)<1?1:0);i.push(String.fromCharCode(c))}return i.join(``)},bt=e=>yt(e,6112,6121,1),xt=e=>yt(e,40,57,-1),St=[`Zero`,`One`,`Two`,`Three`,`Four`,`Five`,`Six`,`Seven`,`Eight`,`Nine`],Ct=[`Ten`,`Eleven`,`Twelve`,`Thirteen`,`Fourteen`,`Fifteen`,`Sixteen`,`Seventeen`,`Eighteen`,`Nineteen`],wt=[``,``,`Twenty`,`Thirty`,`Forty`,`Fifty`,`Sixty`,`Seventy`,`Eighty`,`Ninety`];function Tt(e){let t=e.toString().split(`.`)[0]??`0`,n=e.toString().split(`.`)[1]||`0`,r=Et(Number(t)),i=Dt(Number(n)),a=r;return i!==``&&(a+=` Point ${i}`),a}function Et(e){if(e===0)return St[0]??``;let t=``,n=0;for(;e>0;)e%1e3!=0&&(t=`${Ot(e%1e3)+(kt(n)??``)} ${t}`),e=Math.floor(e/1e3),n++;return t.trim()}function Dt(e){if(Number.isNaN(e)||e<=0)return``;let t=e.toString(),n=``;for(let e=0;e<t.length;e++){let r=t[e]??`0`,i=Number.parseInt(r,10);n+=`${St[i]??`Zero`} `}return n.trim()}function Ot(e){let t=``;return e>=100&&(t+=`${St[Math.floor(e/100)]} Hundred `,e%=100),e>=10&&e<=19?t+=`${Ct[e-10]} `:e>=20&&(t+=`${wt[Math.floor(e/10)]} `,e%=10),e>=1&&e<=9&&(t+=`${St[e]} `),t}function kt(e){let t=[``,`Thousand`,`Million`,`Billion`,`Trillion`,`Quadrillion`,`Quintillion`];return t[e]??``}const At=[`សូន្យ`,`មួយ`,`ពីរ`,`បី`,`បួន`,`ប្រាំ`,`ប្រាំមួយ`,`ប្រាំពីរ`,`ប្រាំបី`,`ប្រាំបួន`],jt=[``,`ដប់`,`ម្ភៃ`,`សាមសិប`,`សែសិប`,`ហាសិប`,`ហុកសិប`,`ចិតសិប`,`ប៉ែតសិប`,`កៅសិប`],Mt=new Map([[2,`រយ`],[3,`ពាន់`],[4,`ម៉ឺន`],[5,`សែន`],[6,`លាន`],[9,`ប៊ីលាន`],[12,`ទ្រីលាន`]]);function Nt(e,t=` `,n=` ក្បៀស `){if(Number.isNaN(e))return``;if(Number.isInteger(e))return $(e,t);let r=e.toString().split(`.`)[1]??``,i=r.split(``).map(e=>$(+e)).join(t);return $(Math.floor(e),t)+n+i}const Pt=new Map;function Ft(e){return Pt.get(e)}function It(e,t){Pt.set(e,t)}function $(e,t=``){if(Number.isNaN(e))return``;if(e<0)return`*ដក*${$(Math.abs(e),t)}`;e=Math.floor(e);let n=Ft(e);if(n)return n;let r=``;if(e<10)r=At[e]??``;else if(e<100){let n=e%10;r=n===0?jt[Math.floor(e/10)]??``:(jt[Math.floor(e/10)]??``)+$(n,t)}else{let n=Math.floor(Math.log10(e));for(;!Mt.has(n)&&n>0;)n--;let i=10**n,a=$(Math.floor(e/i),t),o=Mt.get(n),s=e%i;r=s===0?a+(o||``):a+(o||``)+t+$(s,t)}return It(e,r),r}function Lt(e,t=1){if(e==null||e===0)return`0`;let n=e<0,r=Math.abs(e),i=[{value:1e18,symbol:`E`},{value:1e15,symbol:`P`},{value:1e12,symbol:`T`},{value:1e9,symbol:`B`},{value:1e6,symbol:`M`},{value:1e3,symbol:`K`},{value:1,symbol:``}],a=i.find(e=>r>=e.value);if(!a)return`0`;let o=r/a.value,s=o.toFixed(Math.max(0,t)).replace(/\.?0+$/,``),c=n?`-`:``;return`${c}${s}${a.symbol}`}const Rt=({amount:e,currencyCode:t,minFractionDigits:n,maxFractionDigits:r,locale:i=`en-US`})=>t?new Intl.NumberFormat(i,{style:`currency`,currency:t,minimumFractionDigits:n,maximumFractionDigits:r}).format(e):e.toString();var zt=class{static VCARD_VERSION=`4.0`;static SOCIAL_PLATFORMS={facebook:`FACEBOOK`,twitter:`TWITTER`,linkedin:`LINKEDIN`,instagram:`INSTAGRAM`,youtube:`YOUTUBE`,github:`GITHUB`};static MESSAGING_PLATFORMS={telegram:`TELEGRAM`,whatsapp:`WHATSAPP`,messenger:`MESSENGER`,skype:`SKYPE`,discord:`DISCORD`};static escapeVCard(e){return e?e.replace(/\\/g,`\\\\`).replace(/\n/g,`\\n`).replace(/,/g,`\\,`).replace(/;/g,`\\;`).replace(/:/g,`\\:`):``}static formatDate(e){if(!(e instanceof Date)||isNaN(e.getTime()))throw Error(`Invalid date provided`);let[t]=e.toISOString().split(`T`);if(!t)throw Error(`Failed to extract date from ISO string`);return t.replace(/-/g,``)}static formatEmails(e){if(!e)return[];let t=Array.isArray(e)?e:[e];return t.filter(e=>e&&typeof e==`string`&&e.trim().length>0).map(e=>`EMAIL;TYPE=INTERNET:${this.escapeVCard(e.trim())}`)}static formatAddress(e){if(!e)return``;let t=(e.type||`work`).toUpperCase(),n=[``,``,e.street||``,e.city||``,e.state||``,e.postalCode||``,e.country||``];return`ADR;TYPE=${t}:${n.map(e=>this.escapeVCard(e)).join(`;`)}`}static formatSocialMedia(e={}){return Object.entries(e).filter(([,e])=>e&&typeof e==`string`).map(([e,t])=>{let n=this.SOCIAL_PLATFORMS[e];return n?`X-SOCIALPROFILE;TYPE=${n}:${this.escapeVCard(t.trim())}`:null}).filter(e=>e!==null)}static formatMessaging(e={}){return Object.entries(e).filter(([,e])=>e&&typeof e==`string`).map(([e,t])=>{let n=this.MESSAGING_PLATFORMS[e];return n?`X-${n};TYPE=USERNAME:${this.escapeVCard(t.trim())}`:null}).filter(e=>e!==null)}static formatPhones(e,t){if(!e)return[];let n=Array.isArray(e)?e:[e];return n.filter(e=>e&&typeof e==`string`&&e.trim().length>0).map(e=>`TEL;TYPE=${t}:${this.escapeVCard(e.trim())}`)}static formatPhoto(e){if(!e||typeof e!=`string`)return null;let t=e.trim();if(t.startsWith(`data:image`)){let e=t.split(`,`)[1];return e?`PHOTO;ENCODING=b;TYPE=JPEG:${e}`:(console.warn(`Invalid base64 image data provided`),null)}else return`PHOTO;VALUE=URI:${this.escapeVCard(t)}`}static validateContact(e){if(!e||typeof e!=`object`)throw Error(`Contact data must be an object`);let t=e.firstName||e.lastName||e.organization||e.email;if(!t)throw Error(`Contact must have at least a name, organization, or email`)}static generate(e){this.validateContact(e);let t=[`BEGIN:VCARD`,`VERSION:${this.VCARD_VERSION}`],n=e.firstName?.trim()||``,r=e.lastName?.trim()||``,i=[n,r].filter(Boolean).join(` `);if(i&&(t.push(`FN:${this.escapeVCard(i)}`),t.push(`N:${this.escapeVCard(r)};${this.escapeVCard(n)};;;`)),e.nickname?.trim()&&t.push(`NICKNAME:${this.escapeVCard(e.nickname.trim())}`),e.organization?.trim()){let n=e.organization.trim(),r=e.department?.trim()?`${n};${e.department.trim()}`:n;t.push(`ORG:${this.escapeVCard(r)}`)}if(e.title?.trim()&&t.push(`TITLE:${this.escapeVCard(e.title.trim())}`),e.email&&t.push(...this.formatEmails(e.email)),t.push(...this.formatPhones(e.phone,`WORK,VOICE`)),t.push(...this.formatPhones(e.mobile,`CELL,VOICE`)),t.push(...this.formatPhones(e.fax,`FAX`)),e.address?.length&&e.address.forEach(e=>{let n=this.formatAddress(e);n&&t.push(n)}),e.website?.trim()&&t.push(`URL:${this.escapeVCard(e.website.trim())}`),e.birthday)try{t.push(`BDAY:${this.formatDate(e.birthday)}`)}catch(e){console.warn(`Invalid birthday date provided:`,e)}if(e.photo){let n=this.formatPhoto(e.photo);n&&t.push(n)}if(e.social&&t.push(...this.formatSocialMedia(e.social)),e.messaging&&t.push(...this.formatMessaging(e.messaging)),e.categories?.length){let n=e.categories.filter(e=>e&&typeof e==`string`).map(e=>e.trim()).filter(e=>e.length>0);if(n.length>0){let e=n.map(e=>this.escapeVCard(e)).join(`,`);t.push(`CATEGORIES:${e}`)}}return e.note?.trim()&&t.push(`NOTE:${this.escapeVCard(e.note.trim())}`),t.push(`END:VCARD`),t.join(`\r `)}static createDownloadBlob(e){let t=this.generate(e);return new Blob([t],{type:`text/vcard;charset=utf-8`})}};function Bt(e){let t=e?.trim()??``;return t?t.split(/\s+/).slice(0,2).map(e=>e[0]?.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).toUpperCase()??``).join(``):``}export{zt as VCardGenerator,e as absoluteUrl,i as chunk,T as clsx,Ke as cn,p as compact,Ye as compactJSONObject,Je as compactObject,Q as convertCase,ie as countBy,u as difference,te as drop,ne as dropRight,Xe as extractWords,Qe as flatten,c as flattenArray,l as flattenDeepArray,Rt as formatCurrency,Lt as formatNumber,Bt as getInitialLetter,s as groupBy,y as groupConsecutive,ee as intersection,tt as isArray,nt as isBoolean,$e as isClient,rt as isDev,it as isEmpty,at as isFunction,ot as isNavigator,st as isNumber,ct as isObject,et as isServer,lt as isString,ut as isSymbol,dt as isTokenExpired,ft as isUndef,pt as isUrl,mt as isValidComponentName,ht as isValidJsonString,n as isValidUrl,r as joinPaths,b as maxBy,re as meanBy,x as minBy,Tt as numberToWord,Nt as numberToWordKm,f as partition,_ as sample,g as shuffle,v as sortBy,S as sumBy,d as symmetricDifference,m as take,h as takeRight,bt as toASCII,Ze as toCase,xt as toKhmer,a as unique,o as uniqueBy,C as zip};