UNPKG

@gmana/utils

Version:

TypeScript utility functions with Tailwind CSS helpers and common JavaScript utilities

2 lines 43.7 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;return e?.trim()?t(i,e.startsWith(`/`)?e:`/${e}`,n):t(i,``,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),[]),u=(e,t)=>{let n=new Set(t);return a(e.filter(e=>n.has(e)))},d=(e,t)=>{let n=new Set(t);return e.filter(e=>!n.has(e))},f=(e,t)=>[...d(e,t),...d(t,e)],p=(e,t)=>{let n=[],r=[];return e.forEach((e,i)=>{t(e,i)?n.push(e):r.push(e)}),[n,r]},m=e=>e.filter(Boolean),h=(e,t)=>e.slice(0,Math.max(0,t)),ee=(e,t)=>t===0?[]:e.slice(-t),g=(e,t)=>e.slice(Math.max(0,t)),te=(e,t)=>t===0?[...e]:e.slice(0,-t),_=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},v=(e,t=1)=>t>=e.length?_(e):_(e).slice(0,t),ne=(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},re=(e,t)=>{if(e.length!==0)return e.reduce((e,n)=>t(n)>t(e)?n:e)},b=(e,t)=>{if(e.length!==0)return e.reduce((e,n)=>t(n)<t(e)?n:e)},x=(e,t)=>e.reduce((e,n)=>e+t(n),0),ie=(e,t)=>e.length===0?0:x(e,t)/e.length,ae=(e,t)=>e.reduce((e,n)=>{let r=t(n);return e[r]=(e[r]||0)+1,e},{}),S=(...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 C(e){return typeof e==`string`?e:typeof e==`number`?e===0?``:String(e):Array.isArray(e)?e.map(C).filter(Boolean).join(` `):typeof e==`object`&&e?Object.entries(e).filter(([,e])=>!!e).map(([e])=>e).join(` `):``}function w(...e){return e.map(C).filter(Boolean).join(` `)}const T=e=>{let t=oe(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{let n=e.split(`-`);return n[0]===``&&n.length!==1&&n.shift(),E(n,t)||O(e)},getConflictingClassGroupIds:(e,t)=>{let i=n[e]||[];return t&&r[e]?[...i,...r[e]]:i}}},E=(e,t)=>{if(e.length===0)return t.classGroupId;let n=e[0],r=t.nextPart.get(n),i=r?E(e.slice(1),r):void 0;if(i)return i;if(t.validators.length===0)return;let a=e.join(`-`);return t.validators.find(({validator:e})=>e(a))?.classGroupId},D=/^\[(.+)\]$/,O=e=>{if(D.test(e)){let t=D.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)k(n[e],r,e,t);return r},k=(e,t,n,r)=>{e.forEach(e=>{if(typeof e==`string`){let r=e===``?t:se(t,e);r.classGroupId=n;return}if(typeof e==`function`){if(A(e)){k(e(r),t,n,r);return}t.validators.push({validator:e,classGroupId:n});return}Object.entries(e).forEach(([e,i])=>{k(i,se(t,e),n,r)})})},se=(e,t)=>{let n=e;return t.split(`-`).forEach(e=>{n.nextPart.has(e)||n.nextPart.set(e,{nextPart:new Map,validators:[]}),n=n.nextPart.get(e)}),n},A=e=>e.isThemeGetter,j=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)}}},M=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===`:`){t.push(e.slice(i,o)),i=o+1;continue}if(s===`/`){a=o;continue}}s===`[`?n++:s===`]`?n--:s===`(`?r++:s===`)`&&r--}let o=t.length===0?e:e.substring(i),s=N(o);return{modifiers:t,hasImportantModifier:s!==o,baseClassName:s,maybePostfixModifierPosition:a&&a>i?a-i:void 0}};if(t){let e=t+`:`,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},N=e=>e.endsWith(`!`)?e.substring(0,e.length-1):e.startsWith(`!`)?e.substring(1):e,ce=e=>{let t=Object.fromEntries(e.orderSensitiveModifiers.map(e=>[e,!0]));return e=>{if(e.length<=1)return e;let n=[],r=[];return e.forEach(e=>{e[0]===`[`||t[e]?(n.push(...r.sort(),e),r=[]):r.push(e)}),n.push(...r.sort()),n}},P=e=>({cache:j(e.cacheSize),parseClassName:M(e),sortModifiers:ce(e),...T(e)}),le=/\s+/,F=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(le),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:d,baseClassName:f,maybePostfixModifierPosition:p}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let m=!!p,h=r(m?f.substring(0,p):f);if(!h){if(!m){c=t+(c.length>0?` `+c:c);continue}if(h=r(f),!h){c=t+(c.length>0?` `+c:c);continue}m=!1}let ee=a(u).join(`:`),g=d?ee+`!`:ee,te=g+h;if(o.includes(te))continue;o.push(te);let _=i(h,m);for(let e=0;e<_.length;++e){let t=_[e];o.push(g+t)}c=t+(c.length>0?` `+c:c)}return c};function I(){let e=0,t,n,r=``;for(;e<arguments.length;)(t=arguments[e++])&&(n=L(t))&&(r&&(r+=` `),r+=n);return r}const L=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=L(e[r]))&&(n&&(n+=` `),n+=t);return n};function R(e,...t){let n,r,i,a=o;function o(o){return n=P(t.reduce((e,t)=>t(e),e())),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=F(e,n);return i(e,a),a}return function(){return a(I.apply(null,arguments))}}const z=e=>{let t=t=>t[e]||[];return t.isThemeGetter=!0,t},ue=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,de=/^\((?:(\w[\w-]*):)?(.+)\)$/i,fe=/^\d+\/\d+$/,pe=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,me=/\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$/,he=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,ge=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,_e=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,B=e=>fe.test(e),V=e=>!!e&&!Number.isNaN(Number(e)),H=e=>!!e&&Number.isInteger(Number(e)),ve=e=>e.endsWith(`%`)&&V(e.slice(0,-1)),U=e=>pe.test(e),ye=()=>!0,be=e=>me.test(e)&&!he.test(e),xe=()=>!1,Se=e=>ge.test(e),Ce=e=>_e.test(e),we=e=>!W(e)&&!q(e),Te=e=>Y(e,Ie,xe),W=e=>ue.test(e),G=e=>Y(e,Le,be),Ee=e=>Y(e,Re,V),De=e=>Y(e,Pe,xe),Oe=e=>Y(e,Fe,Ce),K=e=>Y(e,Be,Se),q=e=>de.test(e),J=e=>X(e,Le),ke=e=>X(e,ze),Ae=e=>X(e,Pe),je=e=>X(e,Ie),Me=e=>X(e,Fe),Ne=e=>X(e,Be,!0),Y=(e,t,n)=>{let r=ue.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},X=(e,t,n=!1)=>{let r=de.exec(e);return r?r[1]?t(r[1]):n:!1},Pe=e=>e===`position`||e===`percentage`,Fe=e=>e===`image`||e===`url`,Ie=e=>e===`length`||e===`size`||e===`bg-size`,Le=e=>e===`length`,Re=e=>e===`number`,ze=e=>e===`family-name`,Be=e=>e===`shadow`,Ve=R(()=>{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`),u=z(`shadow`),d=z(`inset-shadow`),f=z(`text-shadow`),p=z(`drop-shadow`),m=z(`blur`),h=z(`perspective`),ee=z(`aspect`),g=z(`ease`),te=z(`animate`),_=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],v=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],ne=()=>[...v(),q,W],y=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],re=()=>[`auto`,`contain`,`none`],b=()=>[q,W,c],x=()=>[B,`full`,`auto`,...b()],ie=()=>[H,`none`,`subgrid`,q,W],ae=()=>[`auto`,{span:[`full`,H,q,W]},H,q,W],S=()=>[H,`auto`,q,W],C=()=>[`auto`,`min`,`max`,`fr`,q,W],w=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],T=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],E=()=>[`auto`,...b()],D=()=>[B,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...b()],O=()=>[e,q,W],oe=()=>[...v(),Ae,De,{position:[q,W]}],k=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],se=()=>[`auto`,`cover`,`contain`,je,Te,{size:[q,W]}],A=()=>[ve,J,G],j=()=>[``,`none`,`full`,l,q,W],M=()=>[``,V,J,G],N=()=>[`solid`,`dashed`,`dotted`,`double`],ce=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],P=()=>[V,ve,Ae,De],le=()=>[``,`none`,m,q,W],F=()=>[`none`,V,q,W],I=()=>[`none`,V,q,W],L=()=>[V,q,W],R=()=>[B,`full`,...b()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[U],breakpoint:[U],color:[ye],container:[U],"drop-shadow":[U],ease:[`in`,`out`,`in-out`],font:[we],"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,ee]}],container:[`container`],columns:[{columns:[V,W,q,s]}],"break-after":[{"break-after":_()}],"break-before":[{"break-before":_()}],"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:ne()}],overflow:[{overflow:y()}],"overflow-x":[{"overflow-x":y()}],"overflow-y":[{"overflow-y":y()}],overscroll:[{overscroll:re()}],"overscroll-x":[{"overscroll-x":re()}],"overscroll-y":[{"overscroll-y":re()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:x()}],"inset-x":[{"inset-x":x()}],"inset-y":[{"inset-y":x()}],start:[{start:x()}],end:[{end:x()}],top:[{top:x()}],right:[{right:x()}],bottom:[{bottom:x()}],left:[{left:x()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[H,`auto`,q,W]}],basis:[{basis:[B,`full`,`auto`,s,...b()]}],"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":ie()}],"col-start-end":[{col:ae()}],"col-start":[{"col-start":S()}],"col-end":[{"col-end":S()}],"grid-rows":[{"grid-rows":ie()}],"row-start-end":[{row:ae()}],"row-start":[{"row-start":S()}],"row-end":[{"row-end":S()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":C()}],"auto-rows":[{"auto-rows":C()}],gap:[{gap:b()}],"gap-x":[{"gap-x":b()}],"gap-y":[{"gap-y":b()}],"justify-content":[{justify:[...w(),`normal`]}],"justify-items":[{"justify-items":[...T(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...T()]}],"align-content":[{content:[`normal`,...w()]}],"align-items":[{items:[...T(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...T(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":w()}],"place-items":[{"place-items":[...T(),`baseline`]}],"place-self":[{"place-self":[`auto`,...T()]}],p:[{p:b()}],px:[{px:b()}],py:[{py:b()}],ps:[{ps:b()}],pe:[{pe:b()}],pt:[{pt:b()}],pr:[{pr:b()}],pb:[{pb:b()}],pl:[{pl:b()}],m:[{m:E()}],mx:[{mx:E()}],my:[{my:E()}],ms:[{ms:E()}],me:[{me:E()}],mt:[{mt:E()}],mr:[{mr:E()}],mb:[{mb:E()}],ml:[{ml:E()}],"space-x":[{"space-x":b()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":b()}],"space-y-reverse":[`space-y-reverse`],size:[{size:D()}],w:[{w:[s,`screen`,...D()]}],"min-w":[{"min-w":[s,`screen`,`none`,...D()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...D()]}],h:[{h:[`screen`,`lh`,...D()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...D()]}],"max-h":[{"max-h":[`screen`,`lh`,...D()]}],"font-size":[{text:[`base`,n,J,G]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,q,Ee]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,ve,W]}],"font-family":[{font:[ke,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,Ee]}],leading:[{leading:[a,...b()]}],"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:O()}],"text-color":[{text:O()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...N(),`wavy`]}],"text-decoration-thickness":[{decoration:[V,`from-font`,`auto`,q,G]}],"text-decoration-color":[{decoration:O()}],"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:b()}],"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:oe()}],"bg-repeat":[{bg:k()}],"bg-size":[{bg:se()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},H,q,W],radial:[``,q,W],conic:[H,q,W]},Me,Oe]}],"bg-color":[{bg:O()}],"gradient-from-pos":[{from:A()}],"gradient-via-pos":[{via:A()}],"gradient-to-pos":[{to:A()}],"gradient-from":[{from:O()}],"gradient-via":[{via:O()}],"gradient-to":[{to:O()}],rounded:[{rounded:j()}],"rounded-s":[{"rounded-s":j()}],"rounded-e":[{"rounded-e":j()}],"rounded-t":[{"rounded-t":j()}],"rounded-r":[{"rounded-r":j()}],"rounded-b":[{"rounded-b":j()}],"rounded-l":[{"rounded-l":j()}],"rounded-ss":[{"rounded-ss":j()}],"rounded-se":[{"rounded-se":j()}],"rounded-ee":[{"rounded-ee":j()}],"rounded-es":[{"rounded-es":j()}],"rounded-tl":[{"rounded-tl":j()}],"rounded-tr":[{"rounded-tr":j()}],"rounded-br":[{"rounded-br":j()}],"rounded-bl":[{"rounded-bl":j()}],"border-w":[{border:M()}],"border-w-x":[{"border-x":M()}],"border-w-y":[{"border-y":M()}],"border-w-s":[{"border-s":M()}],"border-w-e":[{"border-e":M()}],"border-w-t":[{"border-t":M()}],"border-w-r":[{"border-r":M()}],"border-w-b":[{"border-b":M()}],"border-w-l":[{"border-l":M()}],"divide-x":[{"divide-x":M()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":M()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...N(),`hidden`,`none`]}],"divide-style":[{divide:[...N(),`hidden`,`none`]}],"border-color":[{border:O()}],"border-color-x":[{"border-x":O()}],"border-color-y":[{"border-y":O()}],"border-color-s":[{"border-s":O()}],"border-color-e":[{"border-e":O()}],"border-color-t":[{"border-t":O()}],"border-color-r":[{"border-r":O()}],"border-color-b":[{"border-b":O()}],"border-color-l":[{"border-l":O()}],"divide-color":[{divide:O()}],"outline-style":[{outline:[...N(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[V,q,W]}],"outline-w":[{outline:[``,V,J,G]}],"outline-color":[{outline:O()}],shadow:[{shadow:[``,`none`,u,Ne,K]}],"shadow-color":[{shadow:O()}],"inset-shadow":[{"inset-shadow":[`none`,d,Ne,K]}],"inset-shadow-color":[{"inset-shadow":O()}],"ring-w":[{ring:M()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:O()}],"ring-offset-w":[{"ring-offset":[V,G]}],"ring-offset-color":[{"ring-offset":O()}],"inset-ring-w":[{"inset-ring":M()}],"inset-ring-color":[{"inset-ring":O()}],"text-shadow":[{"text-shadow":[`none`,f,Ne,K]}],"text-shadow-color":[{"text-shadow":O()}],opacity:[{opacity:[V,q,W]}],"mix-blend":[{"mix-blend":[...ce(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":ce()}],"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":P()}],"mask-image-linear-to-pos":[{"mask-linear-to":P()}],"mask-image-linear-from-color":[{"mask-linear-from":O()}],"mask-image-linear-to-color":[{"mask-linear-to":O()}],"mask-image-t-from-pos":[{"mask-t-from":P()}],"mask-image-t-to-pos":[{"mask-t-to":P()}],"mask-image-t-from-color":[{"mask-t-from":O()}],"mask-image-t-to-color":[{"mask-t-to":O()}],"mask-image-r-from-pos":[{"mask-r-from":P()}],"mask-image-r-to-pos":[{"mask-r-to":P()}],"mask-image-r-from-color":[{"mask-r-from":O()}],"mask-image-r-to-color":[{"mask-r-to":O()}],"mask-image-b-from-pos":[{"mask-b-from":P()}],"mask-image-b-to-pos":[{"mask-b-to":P()}],"mask-image-b-from-color":[{"mask-b-from":O()}],"mask-image-b-to-color":[{"mask-b-to":O()}],"mask-image-l-from-pos":[{"mask-l-from":P()}],"mask-image-l-to-pos":[{"mask-l-to":P()}],"mask-image-l-from-color":[{"mask-l-from":O()}],"mask-image-l-to-color":[{"mask-l-to":O()}],"mask-image-x-from-pos":[{"mask-x-from":P()}],"mask-image-x-to-pos":[{"mask-x-to":P()}],"mask-image-x-from-color":[{"mask-x-from":O()}],"mask-image-x-to-color":[{"mask-x-to":O()}],"mask-image-y-from-pos":[{"mask-y-from":P()}],"mask-image-y-to-pos":[{"mask-y-to":P()}],"mask-image-y-from-color":[{"mask-y-from":O()}],"mask-image-y-to-color":[{"mask-y-to":O()}],"mask-image-radial":[{"mask-radial":[q,W]}],"mask-image-radial-from-pos":[{"mask-radial-from":P()}],"mask-image-radial-to-pos":[{"mask-radial-to":P()}],"mask-image-radial-from-color":[{"mask-radial-from":O()}],"mask-image-radial-to-color":[{"mask-radial-to":O()}],"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":v()}],"mask-image-conic-pos":[{"mask-conic":[V]}],"mask-image-conic-from-pos":[{"mask-conic-from":P()}],"mask-image-conic-to-pos":[{"mask-conic-to":P()}],"mask-image-conic-from-color":[{"mask-conic-from":O()}],"mask-image-conic-to-color":[{"mask-conic-to":O()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:oe()}],"mask-repeat":[{mask:k()}],"mask-size":[{mask:se()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,q,W]}],filter:[{filter:[``,`none`,q,W]}],blur:[{blur:le()}],brightness:[{brightness:[V,q,W]}],contrast:[{contrast:[V,q,W]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Ne,K]}],"drop-shadow-color":[{"drop-shadow":O()}],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":le()}],"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":b()}],"border-spacing-x":[{"border-spacing-x":b()}],"border-spacing-y":[{"border-spacing-y":b()}],"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`,g,q,W]}],delay:[{delay:[V,q,W]}],animate:[{animate:[`none`,te,q,W]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,q,W]}],"perspective-origin":[{"perspective-origin":ne()}],rotate:[{rotate:F()}],"rotate-x":[{"rotate-x":F()}],"rotate-y":[{"rotate-y":F()}],"rotate-z":[{"rotate-z":F()}],scale:[{scale:I()}],"scale-x":[{"scale-x":I()}],"scale-y":[{"scale-y":I()}],"scale-z":[{"scale-z":I()}],"scale-3d":[`scale-3d`],skew:[{skew:L()}],"skew-x":[{"skew-x":L()}],"skew-y":[{"skew-y":L()}],transform:[{transform:[q,W,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:ne()}],"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:O()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:O()}],"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":b()}],"scroll-mx":[{"scroll-mx":b()}],"scroll-my":[{"scroll-my":b()}],"scroll-ms":[{"scroll-ms":b()}],"scroll-me":[{"scroll-me":b()}],"scroll-mt":[{"scroll-mt":b()}],"scroll-mr":[{"scroll-mr":b()}],"scroll-mb":[{"scroll-mb":b()}],"scroll-ml":[{"scroll-ml":b()}],"scroll-p":[{"scroll-p":b()}],"scroll-px":[{"scroll-px":b()}],"scroll-py":[{"scroll-py":b()}],"scroll-ps":[{"scroll-ps":b()}],"scroll-pe":[{"scroll-pe":b()}],"scroll-pt":[{"scroll-pt":b()}],"scroll-pr":[{"scroll-pr":b()}],"scroll-pb":[{"scroll-pb":b()}],"scroll-pl":[{"scroll-pl":b()}],"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`,...O()]}],"stroke-w":[{stroke:[V,J,G,Ee]}],stroke:[{stroke:[`none`,...O()]}],"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`]}}),He=(...e)=>Ve(w(...e));function Ue(e){return e===``||e==null}function We(e,t={}){let{compactArrays:n=!0,removeEmptyArrays:r=!1,isEmpty:i=Ue}=t,a={};for(let[o,s]of Object.entries(e))if(!i(s)){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=We(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=We(s,t);Object.keys(e).length>0&&(a[o]=e);continue}a[o]=s}return a}function Ge(e,t={}){return We(e,t)}function Ke(e){return typeof e!=`string`||!e.trim()?[]:e.split(/[^a-zA-Z0-9]+|(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])|(?<=[a-zA-Z])(?=[0-9])|(?<=[0-9])(?=[a-zA-Z])/).filter(e=>e.trim().length>0)}function Z(e,t){if(typeof e!=`string`)return``;let n=Ke(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`:return r(n.map(e=>e.toLowerCase()).join(` `));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 qe={lower:e=>Z(e,`lowercase`),upper:e=>Z(e,`uppercase`),sentence:e=>Z(e,`sentence`),title:e=>Z(e,`title`),snake:e=>Z(e,`snake`),kebab:e=>Z(e,`kebab`),camel:e=>Z(e,`camel`),pascal:e=>Z(e,`pascal`),dot:e=>Z(e,`dot`),constant:e=>Z(e,`constant`)},Je=(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},Ye=typeof window<`u`,Xe=typeof window>`u`,Ze=e=>Array.isArray(e),Qe=e=>typeof e==`boolean`,$e=!1,et=e=>e==null||it(e)&&Object.keys(e).length===0||Ze(e)&&e.length===0||typeof e==`string`&&e.trim().length===0,tt=e=>typeof e==`function`,nt=typeof navigator<`u`,rt=e=>typeof e==`number`&&Number.isNaN(e)===!1,it=e=>typeof e==`object`&&!!e,at=e=>typeof e==`string`;function ot(e){return typeof e==`symbol`||typeof e==`object`&&!!e&&Object.prototype.toString.call(e)===`[object Symbol]`}function st(e,t=0){if(!e)return!0;try{let n=ft(e);return typeof n==`number`?!(n*1e3>Date.now()+t*1e3):!0}catch{return!0}}const ct=e=>e===void 0;function lt(e){try{let t=typeof e==`string`?new URL(e):e;return!(typeof e==`string`&&![`http:`,`https:`].includes(t.protocol))}catch{return!1}}function ut(e,t={}){let{allowEmpty:n=!1,minLength:r=1,maxLength:i=50}=t,a=[];return typeof e==`string`?!n&&(!e||e.trim().length===0)?(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`),/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/.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`)),[`component`,`element`,`node`,`ref`,`key`,`props`].includes(e)&&a.push(`"${e}" is a reserved name`),{valid:a.length===0,errors:a}):(a.push(`Name must be a string`),{valid:!1,errors:a})}function dt(e){try{JSON.parse(e)}catch{return!1}return!0}function ft(e){let t=pt(e);return t&&typeof t.exp==`number`?t.exp:null}function pt(e){let t=e.split(`.`);if(t.length!==3)throw Error(`Invalid JWT format`);let n=mt(t[1]??``);return JSON.parse(n)}function mt(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 ht=(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-o*((a-t)*(a-n)<1?1:0);i.push(String.fromCharCode(s))}return i.join(``)},gt=e=>ht(e,6112,6121,1),_t=e=>ht(e,40,57,-1),vt=[`Zero`,`One`,`Two`,`Three`,`Four`,`Five`,`Six`,`Seven`,`Eight`,`Nine`],yt=[`Ten`,`Eleven`,`Twelve`,`Thirteen`,`Fourteen`,`Fifteen`,`Sixteen`,`Seventeen`,`Eighteen`,`Nineteen`],bt=[``,``,`Twenty`,`Thirty`,`Forty`,`Fifty`,`Sixty`,`Seventy`,`Eighty`,`Ninety`];function xt(e){let t=e.toString().split(`.`)[0]??`0`,n=e.toString().split(`.`)[1]||`0`,r=St(Number(t)),i=Ct(Number(n)),a=r;return i!==``&&(a+=` Point ${i}`),a}function St(e){if(e===0)return vt[0]??``;let t=``,n=0;for(;e>0;)e%1e3!=0&&(t=`${wt(e%1e3)+(Tt(n)??``)} ${t}`),e=Math.floor(e/1e3),n++;return t.trim()}function Ct(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`;n+=`${vt[Number.parseInt(r,10)]??`Zero`} `}return n.trim()}function wt(e){let t=``;return e>=100&&(t+=`${vt[Math.floor(e/100)]} Hundred `,e%=100),e>=10&&e<=19?t+=`${yt[e-10]} `:e>=20&&(t+=`${bt[Math.floor(e/10)]} `,e%=10),e>=1&&e<=9&&(t+=`${vt[e]} `),t}function Tt(e){return[``,`Thousand`,`Million`,`Billion`,`Trillion`,`Quadrillion`,`Quintillion`][e]??``}const Et=[`សូន្យ`,`មួយ`,`ពីរ`,`បី`,`បួន`,`ប្រាំ`,`ប្រាំមួយ`,`ប្រាំពីរ`,`ប្រាំបី`,`ប្រាំបួន`],Dt=[``,`ដប់`,`ម្ភៃ`,`សាមសិប`,`សែសិប`,`ហាសិប`,`ហុកសិប`,`ចិតសិប`,`ប៉ែតសិប`,`កៅសិប`],Ot=new Map([[2,`រយ`],[3,`ពាន់`],[4,`ម៉ឺន`],[5,`សែន`],[6,`លាន`],[9,`ប៊ីលាន`],[12,`ទ្រីលាន`]]);function kt(e,t=` `,n=` ក្បៀស `){if(Number.isNaN(e))return``;if(Number.isInteger(e))return Q(e,t);let r=(e.toString().split(`.`)[1]??``).split(``).map(e=>Q(+e)).join(t);return Q(Math.floor(e),t)+n+r}const At=new Map;function jt(e){return At.get(e)}function Mt(e,t){At.set(e,t)}function Q(e,t=``){if(Number.isNaN(e))return``;if(e<0)return`*ដក*${Q(Math.abs(e),t)}`;e=Math.floor(e);let n=jt(e);if(n)return n;let r=``;if(e<10)r=Et[e]??``;else if(e<100){let n=e%10;r=n===0?Dt[Math.floor(e/10)]??``:(Dt[Math.floor(e/10)]??``)+Q(n,t)}else{let n=Math.floor(Math.log10(e));for(;!Ot.has(n)&&n>0;)n--;let i=10**n,a=Q(Math.floor(e/i),t),o=Ot.get(n),s=e%i;r=s===0?a+(o||``):a+(o||``)+t+Q(s,t)}return Mt(e,r),r}function Nt(e,t=1){if(e==null||e===0)return`0`;let n=e<0,r=Math.abs(e),i=[{value:0xde0b6b3a7640000,symbol:`E`},{value:0x38d7ea4c68000,symbol:`P`},{value:0xe8d4a51000,symbol:`T`},{value:1e9,symbol:`B`},{value:1e6,symbol:`M`},{value:1e3,symbol:`K`},{value:1,symbol:``}].find(e=>r>=e.value);if(!i)return`0`;let a=(r/i.value).toFixed(Math.max(0,t)).replace(/\.?0+$/,``);return`${n?`-`:``}${a}${i.symbol}`}const Pt=({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 Ft=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){return e?(Array.isArray(e)?e:[e]).filter(e=>e&&typeof e==`string`&&e.trim().length>0).map(e=>`EMAIL;TYPE=INTERNET:${this.escapeVCard(e.trim())}`):[]}static formatAddress(e){return e?`ADR;TYPE=${(e.type||`work`).toUpperCase()}:${[``,``,e.street||``,e.city||``,e.state||``,e.postalCode||``,e.country||``].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){return e?(Array.isArray(e)?e:[e]).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`);if(!(e.firstName||e.lastName||e.organization||e.email))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 It(e,t=`?`){let n=e?.trim()??``;return n?n.split(/\s+/).slice(0,2).map(e=>e[0]?.normalize(`NFD`).replace(/[\u0300-\u036f]/g,``).toUpperCase()??``).join(``):t}const Lt=/^([+-]?(?:[0-9]*\.?[0-9]+(?:[eE][+-]?[0-9]+)?|NaN|Infinity(?:-\w+)?))\s*([a-zA-Z]*)$/i,Rt={"":1,b:1,k:e=>e,kb:e=>e,m:e=>e**2,mb:e=>e**2,g:e=>e**3,gb:e=>e**3,t:e=>e**4,tb:e=>e**4,p:e=>e**5,pb:e=>e**5};function zt(e,t={}){let{base:n=1024,round:r=!0}=t;if(n!==1e3&&n!==1024)throw Error(`Invalid base: "${n}". Must be 1000 or 1024`);let i=String(e).toLowerCase().trim().match(Lt);if(!i)throw Error(`Invalid format: "${e}". Expected format like "2.5kb", "33mb", "2.4gb", or a number`);let a=i[1]||``,o=i[2]||``;if(/^\d{2,}/.test(a)&&o.length>2&&![`byte`].includes(o)&&!o.match(/^(kb|mb|gb|tb|pb)$/))throw Error(`Invalid format: "${e}". Expected format like "2.5kb", "33mb", "2.4gb", or a number`);let s=parseFloat(i[1]||`0`),c=i[2]||``;if(!Number.isFinite(s))throw Error(`Invalid number: "${i[1]}"`);if(s<0)throw Error(`Negative values not supported: "${s}"`);let l=Rt[c];if(l===void 0){let e=Object.keys(Rt).filter(e=>e!==``).join(`, `);throw Error(`Unsupported unit: "${c}". Supported units: ${e}`)}let u=s*(typeof l==`function`?l(n):l);return!Number.isSafeInteger(u)&&r&&console.warn(`Result ${u} may exceed safe integer range`),r?Math.round(u):u}function Bt(e,t={}){let{base:n=1024,precision:r=2,longForm:i=!1}=t,a=i?[`bytes`,`KB`,`MB`,`GB`,`TB`,`PB`]:[`B`,`KB`,`MB`,`GB`,`TB`,`PB`];if(e===0)return`0 ${a[0]}`;if(e<0)throw Error(`Negative bytes not supported`);let o=Math.floor(Math.log(e)/Math.log(n));return`${(e/n**+o).toFixed(r)} ${a[o]}`}function Vt(e={}){return(t,n)=>zt(t,{...e,...n})}function Ht(e,t){if(!e)return;let n=e.replace(/\s+/g,` `).trim(),{maxLength:r,ellipsis:i=`…`}=t||{};return!r||r<=0||n.length<=r?n:n.slice(0,r-i.length).trimEnd()+i}function Ut(e){if(!e)return;let t=e instanceof Date?e:new Date(e);return isNaN(t.valueOf())?void 0:t.toISOString()}function Wt(e,t,n){return n?typeof n==`function`?n(e,t):n.includes(`%s`)?n.replace(`%s`,e):e.toLowerCase().includes(t.toLowerCase())?e:`${e} | ${t}`:e.toLowerCase().includes(t.toLowerCase())?e:`${e} | ${t}`}function Gt(e,t,n){return n.disableSuffix?e:Wt(e,t,n.template)}const $={windows:{type:`windows`,label:`Windows`},macos:{type:`macos`,label:`macOS`},linux:{type:`linux`,label:`Linux`},android:{type:`android`,label:`Android`},ios:{type:`ios`,label:`iOS`},unknown:{type:`unknown`,label:`Unknown`}};function Kt(e){let t=e.toLowerCase();return t.includes(`win`)?$.windows:t.includes(`mac`)?$.macos:t.includes(`linux`)?$.linux:t.includes(`android`)?$.android:t.includes(`ios`)||t.includes(`iphone`)||t.includes(`ipad`)?$.ios:$.unknown}function qt(e,t={}){let{format:n=`digital`,alwaysShowHours:r=!1,roundingMode:i=`floor`,padMinutes:a=!0,separator:o=`:`}=t;if(!Number.isFinite(e))throw Error(`formatTime: seconds must be a finite number`);if(e<0)throw Error(`formatTime: seconds must be non-negative`);let s=i===`ceil`?Math.ceil(e):i===`round`?Math.round(e):Math.floor(e),c=Math.floor(s/3600),l=Math.floor(s%3600/60),u=s%60,d=c>0||r;switch(n){case`long`:return Yt(c,l,u,d);case`short`:return Xt(c,l,u,d);case`compact`:return Jt(c,l,u,!0,a,o);case`digital`:default:return Jt(c,l,u,d,a,o)}}function Jt(e,t,n,r,i,a){let o=[];return r?(o.push(e.toString()),o.push(t.toString().padStart(2,`0`))):o.push(i?t.toString().padStart(2,`0`):t.toString()),o.push(n.toString().padStart(2,`0`)),o.join(a)}function Yt(e,t,n,r){let i=[];return r&&e>0&&i.push(`${e} ${Zt(`hour`,e)}`),t>0&&i.push(`${t} ${Zt(`minute`,t)}`),(n>0||i.length===0)&&i.push(`${n} ${Zt(`second`,n)}`),i.join(` `)}function Xt(e,t,n,r){let i=[];return r&&e>0&&i.push(`${e}h`),t>0&&i.push(`${t}m`),(n>0||i.length===0)&&i.push(`${n}s`),i.join(` `)}function Zt(e,t){return t===1?e:`${e}s`}function Qt(e,t=`:`){if(!e||typeof e!=`string`)throw Error(`parseTime: timeString must be a non-empty string`);let n=e.split(t).map(e=>{let t=parseInt(e,10);if(!Number.isFinite(t)||t<0)throw Error(`parseTime: invalid time component "${e}"`);return t});if(n.length===0||n.length>3)throw Error(`parseTime: timeString must have 1-3 components (SS, MM:SS, or HH:MM:SS)`);return n.length===1?n[0]:n.length===2?n[0]*60+n[1]:n[0]*3600+n[1]*60+n[2]}function $t(e){return e.key===`Enter`&&(e.metaKey||e.ctrlKey)}export{Lt as BYTE_REGEX,Ft as VCardGenerator,e as absoluteUrl,i as chunk,w as clsx,He as cn,m as compact,Ge as compactJSONObject,We as compactObject,Ht as compactText,Z as convertCase,ae as countBy,Vt as createByteConverter,d as difference,g as drop,te as dropRight,Ke as extractWords,Je as flatten,c as flattenArray,l as flattenDeepArray,Pt as formatCurrency,Nt as formatNumber,qt as formatTime,Bt as fromBytes,It as getInitialLetter,Kt as getOS,s as groupBy,y as groupConsecutive,u as intersection,Ze as isArray,Qe as isBoolean,Ye as isClient,$t as isCtrlEnter,$e as isDev,et as isEmpty,tt as isFunction,nt as isNavigator,rt as isNumber,it as isObject,Xe as isServer,at as isString,ot as isSymbol,st as isTokenExpired,ct as isUndef,lt as isUrl,ut as isValidComponentName,dt as isValidJsonString,n as isValidUrl,r as joinPaths,Gt as makeTitle,re as maxBy,ie as meanBy,b as minBy,xt as numberToWord,kt as numberToWordKm,$ as osMap,Qt as parseTime,p as partition,v as sample,_ as shuffle,ne as sortBy,x as sumBy,f as symmetricDifference,h as take,ee as takeRight,gt as toASCII,zt as toBytes,qe as toCase,Ut as toIso,_t as toKhmer,a as unique,o as uniqueBy,S as zip};