automoby-kit 1.0.55 → 1.0.57

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/cjs/Input.js CHANGED
@@ -1 +1 @@
1
- "use client";"use strict";var t=require("react/jsx-runtime"),e=require("react"),r=require("./utils.js"),l=require("./contexts.js");const s=e.forwardRef(({state:s="default",label:m,value:a,onChange:i,helperText:d,startIcon:n,endIcon:x,type:o="text",placeholder:g,isMobile:h,containerClassName:u,...p},c)=>{const[f,w]=e.useState(!1),b=e.useId(),j=l.useMobile(),v=h??j,y=f||""!==a&&null!=a,N="disabled"===s,I=r("relative flex items-center border rounded-lg transition-all duration-300 w-full sm:w-90 md:w-90 lg:w-90",{"h-12 sm:h-13 md:h-14 lg:h-14":v,"h-14 sm:h-14 md:h-14 lg:h-14":!v},"transition-all duration-300",{"border-neutral-light":"default"===s&&!f,"border-primary":"default"===s&&f,"border-error":"error"===s,"bg-white border-neutral-light cursor-not-allowed":N},u),q=r("absolute pointer-events-none transition-all duration-300",{"-top-2.5 bg-white px-1 mx-3 font-medium":y,"text-xs sm:text-s md:text-s lg:text-s":y&&v,"text-s sm:text-s md:text-s lg:text-s":y&&!v,"text-s sm:text-m md:text-m lg:text-m font-medium":!y&&v,"text-m sm:text-m md:text-m lg:text-m font-medium":!y&&!v,"right-1 sm:right-1 md:right-1 lg:right-1":n,"right-3 sm:right-3 md:right-3 lg:right-3":!n,"top-1/2 -translate-y-1/2":!y,"right-11 sm:right-11 md:right-12 lg:right-12":!y&&n,"right-4 sm:right-4 md:right-4 lg:right-4":!y&&!n,"text-neutral-main":!f&&"default"===s,"text-neutral-light":N,"text-primary":f&&"default"===s,"text-error":y&&"error"===s}),C=r("peer w-full h-full bg-transparent outline-none font-medium disabled:text-neutral-light",{"text-s sm:text-m md:text-m lg:text-m":v,"text-m sm:text-m md:text-m lg:text-m":!v},{"pr-10 sm:pr-12 md:pr-12 lg:pr-12":n,"pl-10 sm:pl-12 md:pl-12 lg:pl-12":x,"px-3 sm:px-4 md:px-4 lg:px-4":!n&&!x,"pr-3 pl-10 sm:pr-4 sm:pl-12 md:pr-4 md:pl-12 lg:pr-4 lg:pl-12":!n&&x,"pl-3 pr-10 sm:pl-4 sm:pr-12 md:pl-4 md:pr-12 lg:pl-4 lg:pr-12":n&&!x,"cursor-not-allowed text-red-500":N,"text-neutral-dark":!f,"text-neutral-darker":f}),F=r("absolute transition-colors duration-300",{"h-4 w-4 sm:h-5 sm:w-5 md:h-5 md:w-5 lg:h-6 lg:w-6":v,"h-5 w-5 sm:h-5 sm:w-5 md:h-6 md:w-6 lg:h-6 lg:w-6":!v},{"text-neutral-main":"error"!==s&&!f,"text-primary":"default"===s&&f,"text-error":"error"===s,"text-neutral-light":N}),k=r("font-light mt-1 h-4","px-2 sm:px-2 md:px-3 lg:px-3",{"text-xs sm:text-s md:text-s lg:text-s":v,"text-s sm:text-s md:text-s lg:text-s":!v},{"text-neutral-main":"default"===s,"text-primary":"default"===s&&f,"text-error":"error"===s,"text-neutral-light":N}),B=g&&!f?void 0:g;return t.jsxs("div",{children:[t.jsxs("div",{className:I,children:[x&&t.jsx("span",{className:r(F,"left-3 sm:left-4 md:left-4 lg:left-4"),children:x}),t.jsx("label",{htmlFor:b,className:q,children:m}),t.jsx("input",{ref:c,id:b,type:o,value:a,onChange:i,onFocus:t=>{N||(w(!0),p.onFocus?.(t))},onBlur:t=>{N||(w(!1),p.onBlur?.(t))},disabled:N,placeholder:B,className:C,...p}),n&&t.jsx("span",{className:r(F,"right-3 sm:right-4 md:right-4 lg:right-4"),children:n})]}),d&&t.jsx("p",{className:k,children:d})]})});s.displayName="Input",exports.Input=s;
1
+ "use client";"use strict";var t=require("react/jsx-runtime"),l=require("react"),e=require("./utils.js"),r=require("./contexts.js");const x=l.forwardRef(({state:x="default",label:s,value:m,onChange:i,helperText:a,startIcon:d,endIcon:n,type:h="text",placeholder:g,isMobile:o,containerClassName:p,...u},c)=>{const[f,w]=l.useState(!1),b=l.useId(),j=r.useMobile(),v=o??j,y=f||""!==m&&null!=m,N="disabled"===x,I=e("relative flex items-center border rounded-lg transition-all duration-300 w-full sm:w-90 md:w-90 lg:w-90",{"h-10 sm:h-12 md:h-14 lg:h-16 xl:h-16":v,"h-12 sm:h-14 md:h-16 lg:h-18 xl:h-18":!v},"transition-all duration-300",{"border-neutral-light":"default"===x&&!f,"border-primary":"default"===x&&f,"border-error":"error"===x,"bg-white border-neutral-light cursor-not-allowed":N},p),q=e("absolute pointer-events-none transition-all duration-300",{"-top-2.5 bg-white px-1 mx-3 font-medium":y,"text-xs sm:text-s md:text-m lg:text-l xl:text-l":y&&v,"text-s sm:text-m md:text-l lg:text-xl xl:text-xl":y&&!v,"text-s sm:text-m md:text-l lg:text-xl xl:text-xl font-medium":!y&&v,"text-m sm:text-l md:text-xl lg:text-xl xl:text-xl font-medium":!y&&!v,"right-1 sm:right-1 md:right-2 lg:right-3 xl:right-3":d,"right-3 sm:right-3 md:right-4 lg:right-5 xl:right-5":!d,"top-1/2 -translate-y-1/2":!y,"right-11 sm:right-12 md:right-14 lg:right-16 xl:right-16":!y&&d,"right-4 sm:right-5 md:right-6 lg:right-7 xl:right-7":!y&&!d,"text-neutral-main":!f&&"default"===x,"text-neutral-light":N,"text-primary":f&&"default"===x,"text-error":y&&"error"===x}),C=e("peer w-full h-full bg-transparent outline-none font-medium disabled:text-neutral-light",{"text-s sm:text-m md:text-l lg:text-xl xl:text-xl":v,"text-m sm:text-l md:text-xl lg:text-xl xl:text-xl":!v},{"pr-8 sm:pr-10 md:pr-12 lg:pr-14 xl:pr-16":d,"pl-8 sm:pl-10 md:pl-12 lg:pl-14 xl:pl-16":n,"px-2 sm:px-3 md:px-4 lg:px-5 xl:px-6":!d&&!n,"pr-2 pl-8 sm:pr-3 sm:pl-10 md:pr-4 md:pl-12 lg:pr-5 lg:pl-14 xl:pr-6 xl:pl-16":!d&&n,"pl-2 pr-8 sm:pl-3 sm:pr-10 md:pl-4 md:pr-12 lg:pl-5 lg:pr-14 xl:pl-6 xl:pr-16":d&&!n,"cursor-not-allowed text-red-500":N,"text-neutral-dark":!f,"text-neutral-darker":f}),F=e("absolute transition-colors duration-300",{"h-3 w-3 sm:h-4 sm:w-4 md:h-5 md:w-5 lg:h-6 lg:w-6 xl:h-7 xl:w-7":v,"h-4 w-4 sm:h-5 sm:w-5 md:h-6 md:w-6 lg:h-7 lg:w-7 xl:h-8 xl:w-8":!v},{"text-neutral-main":"error"!==x&&!f,"text-primary":"default"===x&&f,"text-error":"error"===x,"text-neutral-light":N}),k=e("font-light mt-1 h-4","px-2 sm:px-3 md:px-4 lg:px-5 xl:px-6",{"text-xs sm:text-s md:text-m lg:text-l xl:text-l":v,"text-s sm:text-m md:text-l lg:text-xl xl:text-xl":!v},{"text-neutral-main":"default"===x,"text-primary":"default"===x&&f,"text-error":"error"===x,"text-neutral-light":N}),B=g&&!f?void 0:g;return t.jsxs("div",{children:[t.jsxs("div",{className:I,children:[n&&t.jsx("span",{className:e(F,"left-2 sm:left-3 md:left-4 lg:left-5 xl:left-6"),children:n}),t.jsx("label",{htmlFor:b,className:q,children:s}),t.jsx("input",{ref:c,id:b,type:h,value:m,onChange:i,onFocus:t=>{N||(w(!0),u.onFocus?.(t))},onBlur:t=>{N||(w(!1),u.onBlur?.(t))},disabled:N,placeholder:B,className:C,...u}),d&&t.jsx("span",{className:e(F,"right-2 sm:right-3 md:right-4 lg:right-5 xl:right-6"),children:d})]}),a&&t.jsx("p",{className:k,children:a})]})});x.displayName="Input",exports.Input=x;
package/dist/cjs/Menu.js CHANGED
@@ -1 +1 @@
1
- "use client";"use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("./utils.js"),n=require("./Typography.js");const a=r.forwardRef(({buttonText:a,items:i,disabled:s=!1,className:l,onOpenChange:o,isOpen:d,"aria-label":u,...c},m)=>{const[p,b]=r.useState(!1),g=r.useRef(null),x=r.useRef(null),f=void 0!==d?d:p,handleToggle=()=>{if(s)return;const e=!f;void 0===d&&b(e),o?.(e)};r.useEffect(()=>{const handleClickOutside=e=>{g.current&&!g.current.contains(e.target)&&(void 0===d&&b(!1),o?.(!1))};if(f)return document.addEventListener("mousedown",handleClickOutside),()=>{document.removeEventListener("mousedown",handleClickOutside)}},[f,d,o]);const h=t("inline-flex items-center justify-center","bg-white border border-neutral-light","rounded-md transition-colors duration-200","px-3 py-2 sm:px-4 sm:py-3 md:px-4 md:py-3 lg:px-5 lg:py-3","min-w-20 sm:min-w-24 md:min-w-28 lg:min-w-32","hover:bg-neutral-lighter","focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2",{"opacity-50 cursor-not-allowed":s,"cursor-pointer":!s}),y=t("absolute top-full z-10 mt-1","bg-white border border-neutral-light","rounded-md shadow-lg","left-0 right-0 sm:left-0 sm:right-auto sm:min-w-48 md:min-w-52 lg:min-w-56","py-2 px-3 sm:py-3 sm:px-4 md:py-3 md:px-4 lg:py-4 lg:px-5","transition-all duration-200",{"opacity-100 translate-y-0 pointer-events-auto":f,"opacity-0 -translate-y-2 pointer-events-none":!f}),v=t("block w-full text-right","transition-colors duration-200","hover:bg-neutral-lighter rounded","focus:outline-none focus:bg-neutral-lighter","px-2 py-1 sm:px-2 sm:py-2 md:px-3 md:py-2 lg:px-3 lg:py-2","-mx-2 sm:-mx-2 md:-mx-3 lg:-mx-3");return e.jsx("div",{ref:m,className:t("relative inline-block",l),...c,children:e.jsxs("div",{ref:g,children:[e.jsx("button",{ref:x,type:"button",className:h,onClick:handleToggle,onKeyDown:e=>{if(!s)switch(e.key){case"Escape":f&&(e.preventDefault(),void 0===d&&b(!1),o?.(!1),x.current?.focus());break;case"ArrowDown":f||(e.preventDefault(),handleToggle());break;case"Enter":case" ":e.preventDefault(),handleToggle()}},disabled:s,"aria-expanded":f,"aria-haspopup":"true","aria-label":u||`منوی ${a}`,children:e.jsx(n.Typography,{variant:"body-s-heavy",color:"neutral-darker",className:"text-right",children:a})}),e.jsx("div",{className:y,children:e.jsx("div",{className:"flex flex-col gap-2 sm:gap-3 md:gap-4 lg:gap-4",children:i.map(r=>{const a=e.jsx(n.Typography,{variant:"body-s-heavy",color:r.disabled?"neutral-main":"neutral-darker",className:"text-right",children:r.label}),i={className:t(v,{"opacity-50 cursor-not-allowed":r.disabled,"cursor-pointer":!r.disabled}),onClick:r.disabled?void 0:()=>(e=>{e.disabled||(void 0===d&&b(!1),o?.(!1),e.onClick?.())})(r),"aria-label":`منوی ${r.label}`};return r.href&&!r.disabled?e.jsx("a",{...i,href:r.href,role:"menuitem",tabIndex:f?0:-1,children:a},r.id):e.jsx("button",{...i,type:"button",role:"menuitem",tabIndex:f?0:-1,disabled:r.disabled,children:a},r.id)})})})]})})});a.displayName="Menu",exports.Menu=a;
1
+ "use client";"use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("./utils.js"),n=require("./Typography.js");const a=r.forwardRef(({buttonText:a,items:l,disabled:i=!1,className:s,onOpenChange:o,isOpen:d,"aria-label":u,...c},p)=>{const[m,x]=r.useState(!1),g=r.useRef(null),b=r.useRef(null),y=void 0!==d?d:m,handleToggle=()=>{if(i)return;const e=!y;void 0===d&&x(e),o?.(e)};r.useEffect(()=>{const handleClickOutside=e=>{g.current&&!g.current.contains(e.target)&&(void 0===d&&x(!1),o?.(!1))};if(y)return document.addEventListener("mousedown",handleClickOutside),()=>{document.removeEventListener("mousedown",handleClickOutside)}},[y,d,o]);const f=t("inline-flex items-center justify-center","bg-white border border-neutral-light","rounded-md transition-colors duration-200","px-2 py-1 sm:px-3 sm:py-2 md:px-4 md:py-3 lg:px-6 lg:py-4 xl:px-8 xl:py-5","min-w-16 sm:min-w-20 md:min-w-24 lg:min-w-32 xl:min-w-40","hover:bg-neutral-lighter","focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2",{"opacity-50 cursor-not-allowed":i,"cursor-pointer":!i}),h=t("absolute top-full z-10 mt-1","bg-white border border-neutral-light","rounded-md shadow-lg","left-0 right-0 sm:left-0 sm:right-auto sm:min-w-40 md:min-w-48 lg:min-w-56 xl:min-w-64","py-1 px-2 sm:py-2 sm:px-3 md:py-3 md:px-4 lg:py-4 lg:px-6 xl:py-5 xl:px-8","transition-all duration-200",{"opacity-100 translate-y-0 pointer-events-auto":y,"opacity-0 -translate-y-2 pointer-events-none":!y}),v=t("block w-full text-right","transition-colors duration-200","hover:bg-neutral-lighter rounded","focus:outline-none focus:bg-neutral-lighter","px-1 py-0.5 sm:px-2 sm:py-1 md:px-3 md:py-2 lg:px-4 lg:py-3 xl:px-5 xl:py-4","-mx-1 sm:-mx-2 md:-mx-3 lg:-mx-4 xl:-mx-5");return e.jsx("div",{ref:p,className:t("relative inline-block",s),...c,children:e.jsxs("div",{ref:g,children:[e.jsx("button",{ref:b,type:"button",className:f,onClick:handleToggle,onKeyDown:e=>{if(!i)switch(e.key){case"Escape":y&&(e.preventDefault(),void 0===d&&x(!1),o?.(!1),b.current?.focus());break;case"ArrowDown":y||(e.preventDefault(),handleToggle());break;case"Enter":case" ":e.preventDefault(),handleToggle()}},disabled:i,"aria-expanded":y,"aria-haspopup":"true","aria-label":u||`منوی ${a}`,children:e.jsx(n.Typography,{variant:"body-s-heavy",color:"neutral-darker",className:"text-right",children:a})}),e.jsx("div",{className:h,children:e.jsx("div",{className:"flex flex-col gap-1 sm:gap-2 md:gap-3 lg:gap-4 xl:gap-5",children:l.map(r=>{const a=e.jsx(n.Typography,{variant:"body-s-heavy",color:r.disabled?"neutral-main":"neutral-darker",className:"text-right",children:r.label}),l={className:t(v,{"opacity-50 cursor-not-allowed":r.disabled,"cursor-pointer":!r.disabled}),onClick:r.disabled?void 0:()=>(e=>{e.disabled||(void 0===d&&x(!1),o?.(!1),e.onClick?.())})(r),"aria-label":`منوی ${r.label}`};return r.href&&!r.disabled?e.jsx("a",{...l,href:r.href,role:"menuitem",tabIndex:y?0:-1,children:a},r.id):e.jsx("button",{...l,type:"button",role:"menuitem",tabIndex:y?0:-1,disabled:r.disabled,children:a},r.id)})})})]})})});a.displayName="Menu",exports.Menu=a;
@@ -1 +1 @@
1
- "use strict";var t=require("react"),e=require("./utils.js");const x={h1:"text-h3 sm:text-h2 md:text-h1 lg:text-h1 xl:text-h1 font-fat",h2:"text-h4 sm:text-h3 md:text-h2 lg:text-h2 xl:text-h2 font-fat",h3:"text-h5 sm:text-h4 md:text-h3 lg:text-h3 xl:text-h3 font-fat",h4:"text-h6 sm:text-h5 md:text-h4 lg:text-h4 xl:text-h4 font-heavy",h5:"text-l sm:text-xl md:text-h5 lg:text-h5 xl:text-h5 font-heavy",h6:"text-m sm:text-l md:text-h6 lg:text-h6 xl:text-h6 font-heavy","body-xl-heavy":"text-l sm:text-xl md:text-xl lg:text-xl xl:text-xl font-heavy","body-l-heavy":"text-m sm:text-l md:text-l lg:text-l xl:text-l font-heavy","body-l-bold":"text-m sm:text-l md:text-l lg:text-l xl:text-l font-bold","body-l-medium":"text-m sm:text-l md:text-l lg:text-l xl:text-l font-medium","body-m-heavy":"text-s sm:text-m md:text-m lg:text-m xl:text-m font-heavy","body-m-bold":"text-s sm:text-m md:text-m lg:text-m xl:text-m font-bold","body-m-medium":"text-s sm:text-m md:text-m lg:text-m xl:text-m font-medium","body-s-heavy":"text-ms sm:text-s md:text-s lg:text-s xl:text-s font-heavy","body-s-bold":"text-ms sm:text-s md:text-s lg:text-s xl:text-s font-bold","body-s-medium":"text-ms sm:text-s md:text-s lg:text-s xl:text-s font-medium","body-ms-bold":"text-xs sm:text-ms md:text-ms lg:text-ms xl:text-ms font-bold","body-ms-medium":"text-xs sm:text-ms md:text-ms lg:text-ms xl:text-ms font-medium","body-xs-bold":"text-t sm:text-xs md:text-xs lg:text-xs xl:text-xs font-bold","body-xs-medium":"text-t sm:text-xs md:text-xs lg:text-xs xl:text-xs font-medium","body-t-bold":"text-ss sm:text-t md:text-t lg:text-t xl:text-t font-bold","body-t-medium":"text-ss sm:text-t md:text-t lg:text-t xl:text-t font-medium","body-ss-medium":"text-ss sm:text-ss md:text-ss lg:text-ss xl:text-ss font-medium"},m={primary:"text-primary",secondary:"text-secondary","neutral-darker":"text-neutral-darker","neutral-dark":"text-neutral-dark","neutral-main":"text-neutral-main",white:"text-white",inherit:"text-inherit"},s=t.forwardRef(({variant:s="body-m-medium",color:l="inherit",as:d,className:o,children:h,...a},r)=>{const n=d||(t=>t.startsWith("h")?t.split("-")[0]:"p")(s);return t.createElement(n,{ref:r,className:e(m[l],x[s],o),...a},h)});s.displayName="Typography",exports.Typography=s,exports.getTypographyClasses=t=>x[t];
1
+ "use strict";var t=require("react"),e=require("./utils.js");const x={h1:"text-h4 sm:text-h3 md:text-h2 lg:text-h1 xl:text-h1 font-fat",h2:"text-h5 sm:text-h4 md:text-h3 lg:text-h2 xl:text-h2 font-fat",h3:"text-h6 sm:text-h5 md:text-h4 lg:text-h3 xl:text-h3 font-fat",h4:"text-l sm:text-xl md:text-h5 lg:text-h4 xl:text-h4 font-heavy",h5:"text-m sm:text-l md:text-xl lg:text-h5 xl:text-h5 font-heavy",h6:"text-s sm:text-m md:text-l lg:text-h6 xl:text-h6 font-heavy","body-xl-heavy":"text-m sm:text-l md:text-xl lg:text-xl xl:text-xl font-heavy","body-l-heavy":"text-s sm:text-m md:text-l lg:text-l xl:text-l font-heavy","body-l-bold":"text-s sm:text-m md:text-l lg:text-l xl:text-l font-bold","body-l-medium":"text-s sm:text-m md:text-l lg:text-l xl:text-l font-medium","body-m-heavy":"text-ms sm:text-s md:text-m lg:text-m xl:text-m font-heavy","body-m-bold":"text-ms sm:text-s md:text-m lg:text-m xl:text-m font-bold","body-m-medium":"text-ms sm:text-s md:text-m lg:text-m xl:text-m font-medium","body-s-heavy":"text-xs sm:text-ms md:text-s lg:text-s xl:text-s font-heavy","body-s-bold":"text-xs sm:text-ms md:text-s lg:text-s xl:text-s font-bold","body-s-medium":"text-xs sm:text-ms md:text-s lg:text-s xl:text-s font-medium","body-ms-bold":"text-t sm:text-xs md:text-ms lg:text-ms xl:text-ms font-bold","body-ms-medium":"text-t sm:text-xs md:text-ms lg:text-ms xl:text-ms font-medium","body-xs-bold":"text-ss sm:text-t md:text-xs lg:text-xs xl:text-xs font-bold","body-xs-medium":"text-ss sm:text-t md:text-xs lg:text-xs xl:text-xs font-medium","body-t-bold":"text-ss sm:text-ss md:text-t lg:text-t xl:text-t font-bold","body-t-medium":"text-ss sm:text-ss md:text-t lg:text-t xl:text-t font-medium","body-ss-medium":"text-ss sm:text-ss md:text-ss lg:text-ss xl:text-ss font-medium"},m={primary:"text-primary",secondary:"text-secondary","neutral-darker":"text-neutral-darker","neutral-dark":"text-neutral-dark","neutral-main":"text-neutral-main",white:"text-white",inherit:"text-inherit"},s=t.forwardRef(({variant:s="body-m-medium",color:l="inherit",as:d,className:o,children:h,...a},r)=>{const n=d||(t=>t.startsWith("h")?t.split("-")[0]:"p")(s);return t.createElement(n,{ref:r,className:e(m[l],x[s],o),...a},h)});s.displayName="Typography",exports.Typography=s,exports.getTypographyClasses=t=>x[t];
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var i,e=require("react/jsx-runtime"),t=require("react"),r="user-agent",o="",a="function",s="undefined",n="object",w="string",b="browser",d="cpu",l="device",c="engine",u="os",h="result",p="name",m="type",f="vendor",g="version",v="architecture",x="major",k="model",y="console",C="mobile",_="tablet",O="smarttv",A="wearable",S="xr",M="embedded",I="inapp",T="brands",q="formFactors",P="fullVersionList",U="platform",E="platformVersion",z="bitness",H="sec-ch-ua",j=H+"-full-version-list",B=H+"-arch",D=H+"-"+z,V=H+"-form-factors",R=H+"-"+C,F=H+"-"+k,L=H+"-"+U,W=L+"-version",N=[T,P,C,k,U,E,v,q,z],G="Amazon",$="Apple",X="ASUS",Y="BlackBerry",K="Google",Q="Huawei",Z="Lenovo",J="Honor",ii="LG",ei="Microsoft",ti="Motorola",ri="Nvidia",oi="OnePlus",ai="OPPO",si="Samsung",ni="Sharp",wi="Sony",bi="Xiaomi",di="Zebra",li="Chrome",ci="Chromium",ui="Chromecast",hi="Edge",pi="Firefox",mi="Opera",fi="Facebook",gi="Sogou",vi="Mobile ",xi=" Browser",ki="Windows",yi=typeof window!==s&&window.navigator?window.navigator:void 0,Ci=yi&&yi.userAgentData?yi.userAgentData:void 0,enumerize=function(i){for(var e={},t=0;t<i.length;t++)e[i[t].toUpperCase()]=i[t];return e},has=function(i,e){if(typeof i===n&&i.length>0){for(var t in i)if(lowerize(e)==lowerize(i[t]))return!0;return!1}return!!isString(i)&&lowerize(e)==lowerize(i)},isExtensions=function(i,e){for(var t in i)return/^(browser|cpu|device|engine|os)$/.test(t)||!!e&&isExtensions(i[t])},isString=function(i){return typeof i===w},itemListToArray=function(i){if(i){for(var e=[],t=strip(/\\?\"/g,i).split(","),r=0;r<t.length;r++)if(t[r].indexOf(";")>-1){var o=trim(t[r]).split(";v=");e[r]={brand:o[0],version:o[1]}}else e[r]=trim(t[r]);return e}},lowerize=function(i){return isString(i)?i.toLowerCase():i},majorize=function(i){return isString(i)?strip(/[^\d\.]/g,i).split(".")[0]:void 0},setProps=function(i){for(var e in i){var t=i[e];typeof t==n&&2==t.length?this[t[0]]=t[1]:this[t]=void 0}return this},strip=function(i,e){return isString(e)?e.replace(i,o):e},stripQuotes=function(i){return strip(/\\?\"/g,i)},trim=function(i,e){if(isString(i))return i=strip(/^\s\s*/,i),typeof e===s?i:i.substring(0,500)},rgxMapper=function(i,e){if(i&&e)for(var t,r,o,s,w,b,d=0;d<e.length&&!w;){var l=e[d],c=e[d+1];for(t=r=0;t<l.length&&!w&&l[t];)if(w=l[t++].exec(i))for(o=0;o<c.length;o++)b=w[++r],typeof(s=c[o])===n&&s.length>0?2===s.length?typeof s[1]==a?this[s[0]]=s[1].call(this,b):this[s[0]]=s[1]:s.length>=3&&(typeof s[1]!==a||s[1].exec&&s[1].test?3==s.length?this[s[0]]=b?b.replace(s[1],s[2]):void 0:4==s.length?this[s[0]]=b?s[3].call(this,b.replace(s[1],s[2])):void 0:s.length>4&&(this[s[0]]=b?s[3].apply(this,[b.replace(s[1],s[2])].concat(s.slice(4))):void 0):s.length>3?this[s[0]]=b?s[1].apply(this,s.slice(2)):void 0:this[s[0]]=b?s[1].call(this,b,s[2]):void 0):this[s]=b||void 0;d+=2}},strMapper=function(i,e){for(var t in e)if(typeof e[t]===n&&e[t].length>0){for(var r=0;r<e[t].length;r++)if(has(e[t][r],i))return"?"===t?void 0:t}else if(has(e[t],i))return"?"===t?void 0:t;return e.hasOwnProperty("*")?e["*"]:i},_i={ME:"4.90","NT 3.51":"3.51","NT 4.0":"4.0",2e3:["5.0","5.01"],XP:["5.1","5.2"],Vista:"6.0",7:"6.1",8:"6.2",8.1:"6.3",10:["6.4","10.0"],NT:""},Oi={embedded:"Automotive",mobile:"Mobile",tablet:["Tablet","EInk"],smarttv:"TV",wearable:"Watch",xr:["VR","XR"],"?":["Desktop","Unknown"],"*":void 0},Ai={Chrome:"Google Chrome",Edge:"Microsoft Edge","Edge WebView2":"Microsoft Edge WebView2","Chrome WebView":"Android WebView","Chrome Headless":"HeadlessChrome","Huawei Browser":"HuaweiBrowser","MIUI Browser":"Miui Browser","Opera Mobi":"OperaMobile",Yandex:"YaBrowser"},Si={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[g,[p,vi+"Chrome"]],[/webview.+edge\/([\w\.]+)/i],[g,[p,hi+" WebView"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[g,[p,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[p,g],[/opios[\/ ]+([\w\.]+)/i],[g,[p,mi+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[g,[p,mi+" GX"]],[/\bopr\/([\w\.]+)/i],[g,[p,mi]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[g,[p,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[g,[p,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:lg |qute)browser)\/([-\w\.]+)/i,/(heytap|ovi|115|surf)browser\/([\d\.]+)/i,/(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i],[p,g],[/quark(?:pc)?\/([-\w\.]+)/i],[g,[p,"Quark"]],[/\bddg\/([\w\.]+)/i],[g,[p,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[g,[p,"UCBrowser"]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[g,[p,"WeChat"]],[/konqueror\/([\w\.]+)/i],[g,[p,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[g,[p,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[g,[p,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[g,[p,"Smart "+Z+xi]],[/(avast|avg)\/([\w\.]+)/i],[[p,/(.+)/,"$1 Secure"+xi],g],[/\bfocus\/([\w\.]+)/i],[g,[p,pi+" Focus"]],[/\bopt\/([\w\.]+)/i],[g,[p,mi+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[g,[p,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[g,[p,"Dolphin"]],[/coast\/([\w\.]+)/i],[g,[p,mi+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[g,[p,"MIUI"+xi]],[/fxios\/([\w\.-]+)/i],[g,[p,vi+pi]],[/\bqihoobrowser\/?([\w\.]*)/i],[g,[p,"360"]],[/\b(qq)\/([\w\.]+)/i],[[p,/(.+)/,"$1Browser"],g],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[p,/(.+)/,"$1"+xi],g],[/samsungbrowser\/([\w\.]+)/i],[g,[p,si+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[g,[p,gi+" Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[p,gi+" Mobile"],g],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[p,g],[/(lbbrowser|rekonq)/i],[p],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[g,p],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[p,fi],g,[m,I]],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i],[p,g,[m,I]],[/\bgsa\/([\w\.]+) .*safari\//i],[g,[p,"GSA"],[m,I]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[g,[p,"TikTok"],[m,I]],[/\[(linkedin)app\]/i],[p,[m,I]],[/(chromium)[\/ ]([-\w\.]+)/i],[p,g],[/headlesschrome(?:\/([\w\.]+)| )/i],[g,[p,li+" Headless"]],[/wv\).+chrome\/([\w\.]+).+edgw\//i],[g,[p,hi+" WebView2"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[p,li+" WebView"],g],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[g,[p,"Android"+xi]],[/chrome\/([\w\.]+) mobile/i],[g,[p,vi+"Chrome"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[p,g],[/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i],[g,[p,vi+"Safari"]],[/iphone .*mobile(?:\/\w+ | ?)safari/i],[[p,vi+"Safari"]],[/version\/([\w\.\,]+) .*(safari)/i],[g,p],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[p,[g,"1"]],[/(webkit|khtml)\/([\w\.]+)/i],[p,g],[/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i],[[p,vi+pi],g],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[p,"Netscape"],g],[/(wolvic|librewolf)\/([\w\.]+)/i],[p,g],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[g,[p,pi+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[p,[g,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[p,[g,/[^\d\.]+./,o]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[v,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[v,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[v,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[v,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[v,"arm"]],[/((ppc|powerpc)(64)?)( mac|;|\))/i],[[v,/ower/,o,lowerize]],[/ sun4\w[;\)]/i],[[v,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i],[[v,lowerize]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[k,[f,si],[m,_]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,/sec-(sgh\w+)/i],[k,[f,si],[m,C]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[k,[f,$],[m,C]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[k,[f,$],[m,_]],[/(macintosh);/i],[k,[f,$]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[k,[f,ni],[m,C]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[k,[f,J],[m,_]],[/honor([-\w ]+)[;\)]/i],[k,[f,J],[m,C]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[k,[f,Q],[m,_]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[k,[f,Q],[m,C]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[k,/_/g," "],[f,bi],[m,_]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[k,/_/g," "],[f,bi],[m,C]],[/droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-k]\w[1m]10)\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[k,[f,oi],[m,C]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[k,[f,ai],[m,C]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[k,[f,strMapper,{OnePlus:["203","304","403","404","413","415"],"*":ai}],[m,_]],[/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i],[k,[f,"BLU"],[m,C]],[/; vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[k,[f,"Vivo"],[m,C]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[k,[f,"Realme"],[m,C]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[k,[f,Z],[m,_]],[/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i],[k,[f,Z],[m,C]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,/((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i],[k,[f,ti],[m,C]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[k,[f,ti],[m,_]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[k,[f,ii],[m,_]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,/\blg-?([\d\w]+) bui/i],[k,[f,ii],[m,C]],[/(nokia) (t[12][01])/i],[f,k,[m,_]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*))/i],[[k,/_/g," "],[m,C],[f,"Nokia"]],[/(pixel (c|tablet))\b/i],[k,[f,K],[m,_]],[/droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\d ]*a?( pro)?( xl)?( fold)?( \(5g\))?)( bui|\))/i],[k,[f,K],[m,C]],[/(google) (pixelbook( go)?)/i],[f,k],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-\w\w\d\d)(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[k,[f,wi],[m,C]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[k,"Xperia Tablet"],[f,wi],[m,_]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[k,[f,G],[m,_]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[k,/(.+)/g,"Fire Phone $1"],[f,G],[m,C]],[/(playbook);[-\w\),; ]+(rim)/i],[k,f,[m,_]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[k,[f,Y],[m,C]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[k,[f,X],[m,_]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[k,[f,X],[m,C]],[/(nexus 9)/i],[k,[f,"HTC"],[m,_]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[f,[k,/_/g," "],[m,C]],[/tcl (xess p17aa)/i,/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])(_\w(\w|\w\w))?(\)| bui)/i],[k,[f,"TCL"],[m,_]],[/droid [\w\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\w(\w|\w\w))?(\)| bui)/i],[k,[f,"TCL"],[m,C]],[/(itel) ((\w+))/i],[[f,lowerize],k,[m,strMapper,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[k,[f,"Acer"],[m,_]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[k,[f,"Meizu"],[m,C]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[k,[f,"Ulefone"],[m,C]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[k,[f,"Energizer"],[m,C]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[k,[f,"Cat"],[m,C]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[k,[f,"Smartfren"],[m,C]],[/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i],[k,[f,"Nothing"],[m,C]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[k,[f,"Archos"],[m,_]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[k,[f,"Archos"],[m,C]],[/; (n159v)/i],[k,[f,"HMD"],[m,C]],[/(imo) (tab \w+)/i,/(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i],[f,k,[m,_]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (blu|hmd|imo|infinix|lava|oneplus|tcl)[_ ]([\w\+ ]+?)(?: bui|\)|; r)/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(oppo) ?([\w ]+) bui/i],[f,k,[m,C]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i],[f,k,[m,_]],[/(surface duo)/i],[k,[f,ei],[m,_]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[k,[f,"Fairphone"],[m,C]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[k,[f,ri],[m,_]],[/(sprint) (\w+)/i],[f,k,[m,C]],[/(kin\.[onetw]{3})/i],[[k,/\./g," "],[f,ei],[m,C]],[/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[k,[f,di],[m,_]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[k,[f,di],[m,C]],[/smart-tv.+(samsung)/i],[f,[m,O]],[/hbbtv.+maple;(\d+)/i],[[k,/^/,"SmartTV"],[f,si],[m,O]],[/(vizio)(?: |.+model\/)(\w+-\w+)/i,/tcast.+(lg)e?. ([-\w]+)/i],[f,k,[m,O]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[f,ii],[m,O]],[/(apple) ?tv/i],[f,[k,$+" TV"],[m,O]],[/crkey.*devicetype\/chromecast/i],[[k,ui+" Third Generation"],[f,K],[m,O]],[/crkey.*devicetype\/([^/]*)/i],[[k,/^/,"Chromecast "],[f,K],[m,O]],[/fuchsia.*crkey/i],[[k,ui+" Nest Hub"],[f,K],[m,O]],[/crkey/i],[[k,ui],[f,K],[m,O]],[/(portaltv)/i],[k,[f,fi],[m,O]],[/droid.+aft(\w+)( bui|\))/i],[k,[f,G],[m,O]],[/(shield \w+ tv)/i],[k,[f,ri],[m,O]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[k,[f,ni],[m,O]],[/(bravia[\w ]+)( bui|\))/i],[k,[f,wi],[m,O]],[/(mi(tv|box)-?\w+) bui/i],[k,[f,bi],[m,O]],[/Hbbtv.*(technisat) (.*);/i],[f,k,[m,O]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[f,/.+\/(\w+)/,"$1",strMapper,{LG:"lge"}],[k,trim],[m,O]],[/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i],[k,[m,O]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:|large screen[\w ]+safari)\b/i],[[m,O]],[/(playstation \w+)/i],[k,[f,wi],[m,y]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[k,[f,ei],[m,y]],[/(ouya)/i,/(nintendo) (\w+)/i,/(retroid) (pocket ([^\)]+))/i],[f,k,[m,y]],[/droid.+; (shield)( bui|\))/i],[k,[f,ri],[m,y]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[k,[f,si],[m,A]],[/((pebble))app/i,/(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[f,k,[m,A]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[k,[f,ai],[m,A]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[k,[f,$],[m,A]],[/(opwwe\d{3})/i],[k,[f,oi],[m,A]],[/(moto 360)/i],[k,[f,ti],[m,A]],[/(smartwatch 3)/i],[k,[f,wi],[m,A]],[/(g watch r)/i],[k,[f,ii],[m,A]],[/droid.+; (wt63?0{2,3})\)/i],[k,[f,di],[m,A]],[/droid.+; (glass) \d/i],[k,[f,K],[m,S]],[/(pico) (4|neo3(?: link|pro)?)/i],[f,k,[m,S]],[/(quest( \d| pro)?s?).+vr/i],[k,[f,fi],[m,S]],[/mobile vr; rv.+firefox/i],[[m,S]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[f,[m,M]],[/(aeobc)\b/i],[k,[f,G],[m,M]],[/(homepod).+mac os/i],[k,[f,$],[m,M]],[/windows iot/i],[[m,M]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+?(mobile|vr|\d) safari/i],[k,[m,strMapper,{mobile:"Mobile",xr:"VR","*":_}]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[m,_]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[m,C]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[k,[f,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[g,[p,hi+"HTML"]],[/(arkweb)\/([\w\.]+)/i],[p,g],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[g,[p,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[p,g],[/ladybird\//i],[[p,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[g,p]],os:[[/(windows nt) (6\.[23]); arm/i],[[p,/N/,"R"],[g,strMapper,_i]],[/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,/(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i],[p,g],[/windows nt ?([\d\.\)]*)(?!.+xbox)/i,/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i],[[g,/(;|\))/g,"",strMapper,_i],[p,ki]],[/(windows ce)\/?([\d\.]*)/i],[p,g],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[g,/_/g,"."],[p,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i],[[p,"macOS"],[g,/_/g,"."]],[/android ([\d\.]+).*crkey/i],[g,[p,ui+" Android"]],[/fuchsia.*crkey\/([\d\.]+)/i],[g,[p,ui+" Fuchsia"]],[/crkey\/([\d\.]+).*devicetype\/smartspeaker/i],[g,[p,ui+" SmartSpeaker"]],[/linux.*crkey\/([\d\.]+)/i],[g,[p,ui+" Linux"]],[/crkey\/([\d\.]+)/i],[g,[p,ui]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[g,p],[/(ubuntu) ([\w\.]+) like android/i],[[p,/(.+)/,"$1 Touch"],g],[/(harmonyos)[\/ ]?([\d\.]*)/i,/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i],[p,g],[/\(bb(10);/i],[g,[p,Y]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[g,[p,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[g,[p,pi+" OS"]],[/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i],[g,[p,"webOS"]],[/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i],[[g,strMapper,{25:"120",24:"108",23:"94",22:"87",6:"79",5:"68",4:"53",3:"38",2:"538",1:"537","*":"TV"}],[p,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[g,[p,"watchOS"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[p,"Chrome OS"],g],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) (\w+)/i,/(xbox); +xbox ([^\);]+)/i,/(pico) .+os([\w\.]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/linux.+(mint)[\/\(\) ]?([\w\.]*)/i,/(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\d\.]*)/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire|knoppix)(?: gnu[\/ ]linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/\b(aix)[; ]([1-9\.]{0,4})/i,/(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) ?(r\d)?/i],[p,g],[/(sunos) ?([\d\.]*)/i],[[p,"Solaris"],g],[/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[p,g]]},Mi=(setProps.call((i={init:{},isIgnore:{},isIgnoreRgx:{},toString:{}}).init,[[b,[p,g,x,m]],[d,[v]],[l,[m,k,f]],[c,[p,g]],[u,[p,g]]]),setProps.call(i.isIgnore,[[b,[g,x]],[c,[g]],[u,[g]]]),setProps.call(i.isIgnoreRgx,[[b,/ ?browser$/i],[u,/ ?os$/i]]),setProps.call(i.toString,[[b,[p,g]],[d,[v]],[l,[f,k]],[c,[p,g]],[u,[p,g]]]),i),createIData=function(i,e){var t=Mi.init[e],r=Mi.isIgnore[e]||0,a=Mi.isIgnoreRgx[e]||0,n=Mi.toString[e]||0;function IData(){setProps.call(this,t)}return IData.prototype.getItem=function(){return i},IData.prototype.withClientHints=function(){return Ci?Ci.getHighEntropyValues(N).then(function(e){return i.setCH(new UACHData(e,!1)).parseCH().get()}):i.parseCH().get()},IData.prototype.withFeatureCheck=function(){return i.detectFeature().get()},e!=h&&(IData.prototype.is=function(i){var e=!1;for(var t in this)if(this.hasOwnProperty(t)&&!has(r,t)&&lowerize(a?strip(a,this[t]):this[t])==lowerize(a?strip(a,i):i)){if(e=!0,i!=s)break}else if(i==s&&e){e=!e;break}return e},IData.prototype.toString=function(){var i=o;for(var e in n)typeof this[n[e]]!==s&&(i+=(i?" ":o)+this[n[e]]);return i||s}),Ci||(IData.prototype.then=function(i){var e=this,IDataResolve=function(){for(var i in e)e.hasOwnProperty(i)&&(this[i]=e[i])};IDataResolve.prototype={is:IData.prototype.is,toString:IData.prototype.toString};var t=new IDataResolve;return i(t),t}),new IData};function UACHData(i,e){if(i=i||{},setProps.call(this,N),e)setProps.call(this,[[T,itemListToArray(i[H])],[P,itemListToArray(i[j])],[C,/\?1/.test(i[R])],[k,stripQuotes(i[F])],[U,stripQuotes(i[L])],[E,stripQuotes(i[W])],[v,stripQuotes(i[B])],[q,itemListToArray(i[V])],[z,stripQuotes(i[D])]]);else for(var t in i)this.hasOwnProperty(t)&&typeof i[t]!==s&&(this[t]=i[t])}function UAItem(i,e,t,r){return this.get=function(i){return i?this.data.hasOwnProperty(i)?this.data[i]:void 0:this.data},this.set=function(i,e){return this.data[i]=e,this},this.setCH=function(i){return this.uaCH=i,this},this.detectFeature=function(){if(yi&&yi.userAgent==this.ua)switch(this.itemType){case b:yi.brave&&typeof yi.brave.isBrave==a&&this.set(p,"Brave");break;case l:!this.get(m)&&Ci&&Ci[C]&&this.set(m,C),"Macintosh"==this.get(k)&&yi&&typeof yi.standalone!==s&&yi.maxTouchPoints&&yi.maxTouchPoints>2&&this.set(k,"iPad").set(m,_);break;case u:!this.get(p)&&Ci&&Ci[U]&&this.set(p,Ci[U]);break;case h:var i=this.data,detect=function(e){return i[e].getItem().detectFeature().get()};this.set(b,detect(b)).set(d,detect(d)).set(l,detect(l)).set(c,detect(c)).set(u,detect(u))}return this},this.parseUA=function(){return this.itemType!=h&&rgxMapper.call(this.data,this.ua,this.rgxMap),this.itemType==b&&this.set(x,majorize(this.get(g))),this},this.parseCH=function(){var i=this.uaCH,e=this.rgxMap;switch(this.itemType){case b:case c:var t,r=i[P]||i[T];if(r)for(var o in r){var a=r[o].brand||r[o],s=r[o].version;this.itemType==b&&!/not.a.brand/i.test(a)&&(!t||/Chrom/.test(t)&&a!=ci||t==hi&&/WebView2/.test(a))&&(a=strMapper(a,Ai),(t=this.get(p))&&!/Chrom/.test(t)&&/Chrom/.test(a)||this.set(p,a).set(g,s).set(x,majorize(s)),t=a),this.itemType==c&&a==ci&&this.set(g,s)}break;case d:var n=i[v];n&&(n&&"64"==i[z]&&(n+="64"),rgxMapper.call(this.data,n+";",e));break;case l:if(i[C]&&this.set(m,C),i[k]&&(this.set(k,i[k]),!this.get(m)||!this.get(f))){var w={};rgxMapper.call(w,"droid 9; "+i[k]+")",e),!this.get(m)&&w.type&&this.set(m,w.type),!this.get(f)&&w.vendor&&this.set(f,w.vendor)}if(i[q]){var y;if("string"!=typeof i[q])for(var _=0;!y&&_<i[q].length;)y=strMapper(i[q][_++],Oi);else y=strMapper(i[q],Oi);this.set(m,y)}break;case u:var O=i[U];if(O){var A=i[E];O==ki&&(A=parseInt(majorize(A),10)>=13?"11":"10"),this.set(p,O).set(g,A)}this.get(p)==ki&&"Xbox"==i[k]&&this.set(p,"Xbox").set(g,void 0);break;case h:var S=this.data,parse=function(e){return S[e].getItem().setCH(i).parseCH().get()};this.set(b,parse(b)).set(d,parse(d)).set(l,parse(l)).set(c,parse(c)).set(u,parse(u))}return this},setProps.call(this,[["itemType",i],["ua",e],["uaCH",r],["rgxMap",t],["data",createIData(this,i)]]),this}function UAParser(i,e,t){if(typeof i===n?(isExtensions(i,!0)?(typeof e===n&&(t=e),e=i):(t=i,e=void 0),i=void 0):typeof i!==w||isExtensions(e,!0)||(t=e,e=void 0),t&&typeof t.append===a){var s={};t.forEach(function(i,e){s[e]=i}),t=s}if(!(this instanceof UAParser))return new UAParser(i,e,t).getResult();var p=typeof i===w?i:t&&t[r]?t[r]:yi&&yi.userAgent?yi.userAgent:o,m=new UACHData(t,!0),f=e?function(i,e){var t={},r=e;if(!isExtensions(e))for(var o in r={},e)for(var a in e[o])r[a]=e[o][a].concat(r[a]?r[a]:[]);for(var s in i)t[s]=r[s]&&r[s].length%2==0?r[s].concat(i[s]):i[s];return t}(Si,e):Si,createItemFunc=function(i){return i==h?function(){return new UAItem(i,p,f,m).set("ua",p).set(b,this.getBrowser()).set(d,this.getCPU()).set(l,this.getDevice()).set(c,this.getEngine()).set(u,this.getOS()).get()}:function(){return new UAItem(i,p,f[i],m).parseUA().get()}};return setProps.call(this,[["getBrowser",createItemFunc(b)],["getCPU",createItemFunc(d)],["getDevice",createItemFunc(l)],["getEngine",createItemFunc(c)],["getOS",createItemFunc(u)],["getResult",createItemFunc(h)],["getUA",function(){return p}],["setUA",function(i){return isString(i)&&(p=i.length>500?trim(i,500):i),this}]]).setUA(p),this}UAParser.VERSION="2.0.4",UAParser.BROWSER=enumerize([p,g,x,m]),UAParser.CPU=enumerize([v]),UAParser.DEVICE=enumerize([k,f,m,y,C,O,_,A,M]),UAParser.ENGINE=UAParser.OS=enumerize([p,g]);const Ii=t.createContext(void 0);exports.MobileProvider=({userAgent:i,children:r})=>{const{isMobile:o,isTablet:a}=(i=>{const e=new UAParser(i).getDevice();return{isMobile:"mobile"===e.type,isTablet:"tablet"===e.type}})(i),s=t.useMemo(()=>({isMobile:o,isTablet:a,userAgent:i}),[o,a,i]);return e.jsx(Ii.Provider,{value:s,children:r})},exports.default=Ii,exports.useMobile=()=>{if("true"===process.env.STORYBOOK_FORCE_MOBILE)return!0;if("false"===process.env.STORYBOOK_FORCE_MOBILE)return!1;const i=t.useContext(Ii);if(void 0===i)throw new Error("useMobile must be used within a MobileProvider");return i.isMobile},exports.useTablet=()=>{if("true"===process.env.STORYBOOK_FORCE_MOBILE)return!1;const i=t.useContext(Ii);if(void 0===i)throw new Error("useTablet must be used within a MobileProvider");return i.isTablet};
1
+ "use client";"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var i,e=require("react/jsx-runtime"),t=require("react"),o="user-agent",r="",a="function",s="undefined",n="object",w="string",b="browser",d="cpu",l="device",c="engine",u="os",h="result",p="name",m="type",f="vendor",v="version",g="architecture",x="major",k="model",y="console",C="mobile",_="tablet",M="smarttv",O="wearable",T="xr",A="embedded",S="inapp",I="brands",q="formFactors",E="fullVersionList",P="platform",U="platformVersion",z="bitness",H="sec-ch-ua",j=H+"-full-version-list",B=H+"-arch",D=H+"-"+z,V=H+"-form-factors",R=H+"-"+C,L=H+"-"+k,F=H+"-"+P,W=F+"-version",N=[I,E,C,k,P,U,g,q,z],G="Amazon",$="Apple",X="ASUS",Y="BlackBerry",K="Google",Q="Huawei",Z="Lenovo",J="Honor",ii="LG",ei="Microsoft",ti="Motorola",oi="Nvidia",ri="OnePlus",ai="OPPO",si="Samsung",ni="Sharp",wi="Sony",bi="Xiaomi",di="Zebra",li="Chrome",ci="Chromium",ui="Chromecast",hi="Edge",pi="Firefox",mi="Opera",fi="Facebook",vi="Sogou",gi="Mobile ",xi=" Browser",ki="Windows",yi=typeof window!==s&&window.navigator?window.navigator:void 0,Ci=yi&&yi.userAgentData?yi.userAgentData:void 0,enumerize=function(i){for(var e={},t=0;t<i.length;t++)e[i[t].toUpperCase()]=i[t];return e},has=function(i,e){if(typeof i===n&&i.length>0){for(var t in i)if(lowerize(e)==lowerize(i[t]))return!0;return!1}return!!isString(i)&&lowerize(e)==lowerize(i)},isExtensions=function(i,e){for(var t in i)return/^(browser|cpu|device|engine|os)$/.test(t)||!!e&&isExtensions(i[t])},isString=function(i){return typeof i===w},itemListToArray=function(i){if(i){for(var e=[],t=strip(/\\?\"/g,i).split(","),o=0;o<t.length;o++)if(t[o].indexOf(";")>-1){var r=trim(t[o]).split(";v=");e[o]={brand:r[0],version:r[1]}}else e[o]=trim(t[o]);return e}},lowerize=function(i){return isString(i)?i.toLowerCase():i},majorize=function(i){return isString(i)?strip(/[^\d\.]/g,i).split(".")[0]:void 0},setProps=function(i){for(var e in i){var t=i[e];typeof t==n&&2==t.length?this[t[0]]=t[1]:this[t]=void 0}return this},strip=function(i,e){return isString(e)?e.replace(i,r):e},stripQuotes=function(i){return strip(/\\?\"/g,i)},trim=function(i,e){if(isString(i))return i=strip(/^\s\s*/,i),typeof e===s?i:i.substring(0,500)},rgxMapper=function(i,e){if(i&&e)for(var t,o,r,s,w,b,d=0;d<e.length&&!w;){var l=e[d],c=e[d+1];for(t=o=0;t<l.length&&!w&&l[t];)if(w=l[t++].exec(i))for(r=0;r<c.length;r++)b=w[++o],typeof(s=c[r])===n&&s.length>0?2===s.length?typeof s[1]==a?this[s[0]]=s[1].call(this,b):this[s[0]]=s[1]:s.length>=3&&(typeof s[1]!==a||s[1].exec&&s[1].test?3==s.length?this[s[0]]=b?b.replace(s[1],s[2]):void 0:4==s.length?this[s[0]]=b?s[3].call(this,b.replace(s[1],s[2])):void 0:s.length>4&&(this[s[0]]=b?s[3].apply(this,[b.replace(s[1],s[2])].concat(s.slice(4))):void 0):s.length>3?this[s[0]]=b?s[1].apply(this,s.slice(2)):void 0:this[s[0]]=b?s[1].call(this,b,s[2]):void 0):this[s]=b||void 0;d+=2}},strMapper=function(i,e){for(var t in e)if(typeof e[t]===n&&e[t].length>0){for(var o=0;o<e[t].length;o++)if(has(e[t][o],i))return"?"===t?void 0:t}else if(has(e[t],i))return"?"===t?void 0:t;return e.hasOwnProperty("*")?e["*"]:i},_i={ME:"4.90","NT 3.51":"3.51","NT 4.0":"4.0",2e3:["5.0","5.01"],XP:["5.1","5.2"],Vista:"6.0",7:"6.1",8:"6.2",8.1:"6.3",10:["6.4","10.0"],NT:""},Mi={embedded:"Automotive",mobile:"Mobile",tablet:["Tablet","EInk"],smarttv:"TV",wearable:"Watch",xr:["VR","XR"],"?":["Desktop","Unknown"],"*":void 0},Oi={Chrome:"Google Chrome",Edge:"Microsoft Edge","Edge WebView2":"Microsoft Edge WebView2","Chrome WebView":"Android WebView","Chrome Headless":"HeadlessChrome","Huawei Browser":"HuaweiBrowser","MIUI Browser":"Miui Browser","Opera Mobi":"OperaMobile",Yandex:"YaBrowser"},Ti={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[v,[p,gi+"Chrome"]],[/webview.+edge\/([\w\.]+)/i],[v,[p,hi+" WebView"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[v,[p,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[p,v],[/opios[\/ ]+([\w\.]+)/i],[v,[p,mi+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[v,[p,mi+" GX"]],[/\bopr\/([\w\.]+)/i],[v,[p,mi]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[v,[p,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[v,[p,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:lg |qute)browser)\/([-\w\.]+)/i,/(heytap|ovi|115|surf)browser\/([\d\.]+)/i,/(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i],[p,v],[/quark(?:pc)?\/([-\w\.]+)/i],[v,[p,"Quark"]],[/\bddg\/([\w\.]+)/i],[v,[p,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[v,[p,"UCBrowser"]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[v,[p,"WeChat"]],[/konqueror\/([\w\.]+)/i],[v,[p,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[v,[p,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[v,[p,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[v,[p,"Smart "+Z+xi]],[/(avast|avg)\/([\w\.]+)/i],[[p,/(.+)/,"$1 Secure"+xi],v],[/\bfocus\/([\w\.]+)/i],[v,[p,pi+" Focus"]],[/\bopt\/([\w\.]+)/i],[v,[p,mi+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[v,[p,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[v,[p,"Dolphin"]],[/coast\/([\w\.]+)/i],[v,[p,mi+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[v,[p,"MIUI"+xi]],[/fxios\/([\w\.-]+)/i],[v,[p,gi+pi]],[/\bqihoobrowser\/?([\w\.]*)/i],[v,[p,"360"]],[/\b(qq)\/([\w\.]+)/i],[[p,/(.+)/,"$1Browser"],v],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[p,/(.+)/,"$1"+xi],v],[/samsungbrowser\/([\w\.]+)/i],[v,[p,si+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[v,[p,vi+" Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[p,vi+" Mobile"],v],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[p,v],[/(lbbrowser|rekonq)/i],[p],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[v,p],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[p,fi],v,[m,S]],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i],[p,v,[m,S]],[/\bgsa\/([\w\.]+) .*safari\//i],[v,[p,"GSA"],[m,S]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[v,[p,"TikTok"],[m,S]],[/\[(linkedin)app\]/i],[p,[m,S]],[/(chromium)[\/ ]([-\w\.]+)/i],[p,v],[/headlesschrome(?:\/([\w\.]+)| )/i],[v,[p,li+" Headless"]],[/wv\).+chrome\/([\w\.]+).+edgw\//i],[v,[p,hi+" WebView2"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[p,li+" WebView"],v],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[v,[p,"Android"+xi]],[/chrome\/([\w\.]+) mobile/i],[v,[p,gi+"Chrome"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[p,v],[/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i],[v,[p,gi+"Safari"]],[/iphone .*mobile(?:\/\w+ | ?)safari/i],[[p,gi+"Safari"]],[/version\/([\w\.\,]+) .*(safari)/i],[v,p],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[p,[v,"1"]],[/(webkit|khtml)\/([\w\.]+)/i],[p,v],[/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i],[[p,gi+pi],v],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[p,"Netscape"],v],[/(wolvic|librewolf)\/([\w\.]+)/i],[p,v],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[v,[p,pi+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[p,[v,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[p,[v,/[^\d\.]+./,r]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[g,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[g,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[g,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[g,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[g,"arm"]],[/((ppc|powerpc)(64)?)( mac|;|\))/i],[[g,/ower/,r,lowerize]],[/ sun4\w[;\)]/i],[[g,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i],[[g,lowerize]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[k,[f,si],[m,_]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,/sec-(sgh\w+)/i],[k,[f,si],[m,C]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[k,[f,$],[m,C]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[k,[f,$],[m,_]],[/(macintosh);/i],[k,[f,$]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[k,[f,ni],[m,C]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[k,[f,J],[m,_]],[/honor([-\w ]+)[;\)]/i],[k,[f,J],[m,C]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[k,[f,Q],[m,_]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[k,[f,Q],[m,C]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[k,/_/g," "],[f,bi],[m,_]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[k,/_/g," "],[f,bi],[m,C]],[/droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-k]\w[1m]10)\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[k,[f,ri],[m,C]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[k,[f,ai],[m,C]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[k,[f,strMapper,{OnePlus:["203","304","403","404","413","415"],"*":ai}],[m,_]],[/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i],[k,[f,"BLU"],[m,C]],[/; vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[k,[f,"Vivo"],[m,C]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[k,[f,"Realme"],[m,C]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[k,[f,Z],[m,_]],[/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i],[k,[f,Z],[m,C]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,/((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i],[k,[f,ti],[m,C]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[k,[f,ti],[m,_]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[k,[f,ii],[m,_]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,/\blg-?([\d\w]+) bui/i],[k,[f,ii],[m,C]],[/(nokia) (t[12][01])/i],[f,k,[m,_]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*))/i],[[k,/_/g," "],[m,C],[f,"Nokia"]],[/(pixel (c|tablet))\b/i],[k,[f,K],[m,_]],[/droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\d ]*a?( pro)?( xl)?( fold)?( \(5g\))?)( bui|\))/i],[k,[f,K],[m,C]],[/(google) (pixelbook( go)?)/i],[f,k],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-\w\w\d\d)(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[k,[f,wi],[m,C]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[k,"Xperia Tablet"],[f,wi],[m,_]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[k,[f,G],[m,_]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[k,/(.+)/g,"Fire Phone $1"],[f,G],[m,C]],[/(playbook);[-\w\),; ]+(rim)/i],[k,f,[m,_]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[k,[f,Y],[m,C]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[k,[f,X],[m,_]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[k,[f,X],[m,C]],[/(nexus 9)/i],[k,[f,"HTC"],[m,_]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[f,[k,/_/g," "],[m,C]],[/tcl (xess p17aa)/i,/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])(_\w(\w|\w\w))?(\)| bui)/i],[k,[f,"TCL"],[m,_]],[/droid [\w\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\w(\w|\w\w))?(\)| bui)/i],[k,[f,"TCL"],[m,C]],[/(itel) ((\w+))/i],[[f,lowerize],k,[m,strMapper,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[k,[f,"Acer"],[m,_]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[k,[f,"Meizu"],[m,C]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[k,[f,"Ulefone"],[m,C]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[k,[f,"Energizer"],[m,C]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[k,[f,"Cat"],[m,C]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[k,[f,"Smartfren"],[m,C]],[/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i],[k,[f,"Nothing"],[m,C]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[k,[f,"Archos"],[m,_]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[k,[f,"Archos"],[m,C]],[/; (n159v)/i],[k,[f,"HMD"],[m,C]],[/(imo) (tab \w+)/i,/(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i],[f,k,[m,_]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (blu|hmd|imo|infinix|lava|oneplus|tcl)[_ ]([\w\+ ]+?)(?: bui|\)|; r)/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(oppo) ?([\w ]+) bui/i],[f,k,[m,C]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i],[f,k,[m,_]],[/(surface duo)/i],[k,[f,ei],[m,_]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[k,[f,"Fairphone"],[m,C]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[k,[f,oi],[m,_]],[/(sprint) (\w+)/i],[f,k,[m,C]],[/(kin\.[onetw]{3})/i],[[k,/\./g," "],[f,ei],[m,C]],[/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[k,[f,di],[m,_]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[k,[f,di],[m,C]],[/smart-tv.+(samsung)/i],[f,[m,M]],[/hbbtv.+maple;(\d+)/i],[[k,/^/,"SmartTV"],[f,si],[m,M]],[/(vizio)(?: |.+model\/)(\w+-\w+)/i,/tcast.+(lg)e?. ([-\w]+)/i],[f,k,[m,M]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[f,ii],[m,M]],[/(apple) ?tv/i],[f,[k,$+" TV"],[m,M]],[/crkey.*devicetype\/chromecast/i],[[k,ui+" Third Generation"],[f,K],[m,M]],[/crkey.*devicetype\/([^/]*)/i],[[k,/^/,"Chromecast "],[f,K],[m,M]],[/fuchsia.*crkey/i],[[k,ui+" Nest Hub"],[f,K],[m,M]],[/crkey/i],[[k,ui],[f,K],[m,M]],[/(portaltv)/i],[k,[f,fi],[m,M]],[/droid.+aft(\w+)( bui|\))/i],[k,[f,G],[m,M]],[/(shield \w+ tv)/i],[k,[f,oi],[m,M]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[k,[f,ni],[m,M]],[/(bravia[\w ]+)( bui|\))/i],[k,[f,wi],[m,M]],[/(mi(tv|box)-?\w+) bui/i],[k,[f,bi],[m,M]],[/Hbbtv.*(technisat) (.*);/i],[f,k,[m,M]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[f,/.+\/(\w+)/,"$1",strMapper,{LG:"lge"}],[k,trim],[m,M]],[/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i],[k,[m,M]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:|large screen[\w ]+safari)\b/i],[[m,M]],[/(playstation \w+)/i],[k,[f,wi],[m,y]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[k,[f,ei],[m,y]],[/(ouya)/i,/(nintendo) (\w+)/i,/(retroid) (pocket ([^\)]+))/i],[f,k,[m,y]],[/droid.+; (shield)( bui|\))/i],[k,[f,oi],[m,y]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[k,[f,si],[m,O]],[/((pebble))app/i,/(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[f,k,[m,O]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[k,[f,ai],[m,O]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[k,[f,$],[m,O]],[/(opwwe\d{3})/i],[k,[f,ri],[m,O]],[/(moto 360)/i],[k,[f,ti],[m,O]],[/(smartwatch 3)/i],[k,[f,wi],[m,O]],[/(g watch r)/i],[k,[f,ii],[m,O]],[/droid.+; (wt63?0{2,3})\)/i],[k,[f,di],[m,O]],[/droid.+; (glass) \d/i],[k,[f,K],[m,T]],[/(pico) (4|neo3(?: link|pro)?)/i],[f,k,[m,T]],[/(quest( \d| pro)?s?).+vr/i],[k,[f,fi],[m,T]],[/mobile vr; rv.+firefox/i],[[m,T]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[f,[m,A]],[/(aeobc)\b/i],[k,[f,G],[m,A]],[/(homepod).+mac os/i],[k,[f,$],[m,A]],[/windows iot/i],[[m,A]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+?(mobile|vr|\d) safari/i],[k,[m,strMapper,{mobile:"Mobile",xr:"VR","*":_}]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[m,_]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[m,C]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[k,[f,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[v,[p,hi+"HTML"]],[/(arkweb)\/([\w\.]+)/i],[p,v],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[v,[p,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[p,v],[/ladybird\//i],[[p,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[v,p]],os:[[/(windows nt) (6\.[23]); arm/i],[[p,/N/,"R"],[v,strMapper,_i]],[/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,/(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i],[p,v],[/windows nt ?([\d\.\)]*)(?!.+xbox)/i,/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i],[[v,/(;|\))/g,"",strMapper,_i],[p,ki]],[/(windows ce)\/?([\d\.]*)/i],[p,v],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[v,/_/g,"."],[p,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i],[[p,"macOS"],[v,/_/g,"."]],[/android ([\d\.]+).*crkey/i],[v,[p,ui+" Android"]],[/fuchsia.*crkey\/([\d\.]+)/i],[v,[p,ui+" Fuchsia"]],[/crkey\/([\d\.]+).*devicetype\/smartspeaker/i],[v,[p,ui+" SmartSpeaker"]],[/linux.*crkey\/([\d\.]+)/i],[v,[p,ui+" Linux"]],[/crkey\/([\d\.]+)/i],[v,[p,ui]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[v,p],[/(ubuntu) ([\w\.]+) like android/i],[[p,/(.+)/,"$1 Touch"],v],[/(harmonyos)[\/ ]?([\d\.]*)/i,/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i],[p,v],[/\(bb(10);/i],[v,[p,Y]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[v,[p,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[v,[p,pi+" OS"]],[/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i],[v,[p,"webOS"]],[/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i],[[v,strMapper,{25:"120",24:"108",23:"94",22:"87",6:"79",5:"68",4:"53",3:"38",2:"538",1:"537","*":"TV"}],[p,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[v,[p,"watchOS"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[p,"Chrome OS"],v],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) (\w+)/i,/(xbox); +xbox ([^\);]+)/i,/(pico) .+os([\w\.]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/linux.+(mint)[\/\(\) ]?([\w\.]*)/i,/(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\d\.]*)/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire|knoppix)(?: gnu[\/ ]linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/\b(aix)[; ]([1-9\.]{0,4})/i,/(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) ?(r\d)?/i],[p,v],[/(sunos) ?([\d\.]*)/i],[[p,"Solaris"],v],[/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[p,v]]},Ai=(setProps.call((i={init:{},isIgnore:{},isIgnoreRgx:{},toString:{}}).init,[[b,[p,v,x,m]],[d,[g]],[l,[m,k,f]],[c,[p,v]],[u,[p,v]]]),setProps.call(i.isIgnore,[[b,[v,x]],[c,[v]],[u,[v]]]),setProps.call(i.isIgnoreRgx,[[b,/ ?browser$/i],[u,/ ?os$/i]]),setProps.call(i.toString,[[b,[p,v]],[d,[g]],[l,[f,k]],[c,[p,v]],[u,[p,v]]]),i),createIData=function(i,e){var t=Ai.init[e],o=Ai.isIgnore[e]||0,a=Ai.isIgnoreRgx[e]||0,n=Ai.toString[e]||0;function IData(){setProps.call(this,t)}return IData.prototype.getItem=function(){return i},IData.prototype.withClientHints=function(){return Ci?Ci.getHighEntropyValues(N).then(function(e){return i.setCH(new UACHData(e,!1)).parseCH().get()}):i.parseCH().get()},IData.prototype.withFeatureCheck=function(){return i.detectFeature().get()},e!=h&&(IData.prototype.is=function(i){var e=!1;for(var t in this)if(this.hasOwnProperty(t)&&!has(o,t)&&lowerize(a?strip(a,this[t]):this[t])==lowerize(a?strip(a,i):i)){if(e=!0,i!=s)break}else if(i==s&&e){e=!e;break}return e},IData.prototype.toString=function(){var i=r;for(var e in n)typeof this[n[e]]!==s&&(i+=(i?" ":r)+this[n[e]]);return i||s}),Ci||(IData.prototype.then=function(i){var e=this,IDataResolve=function(){for(var i in e)e.hasOwnProperty(i)&&(this[i]=e[i])};IDataResolve.prototype={is:IData.prototype.is,toString:IData.prototype.toString};var t=new IDataResolve;return i(t),t}),new IData};function UACHData(i,e){if(i=i||{},setProps.call(this,N),e)setProps.call(this,[[I,itemListToArray(i[H])],[E,itemListToArray(i[j])],[C,/\?1/.test(i[R])],[k,stripQuotes(i[L])],[P,stripQuotes(i[F])],[U,stripQuotes(i[W])],[g,stripQuotes(i[B])],[q,itemListToArray(i[V])],[z,stripQuotes(i[D])]]);else for(var t in i)this.hasOwnProperty(t)&&typeof i[t]!==s&&(this[t]=i[t])}function UAItem(i,e,t,o){return this.get=function(i){return i?this.data.hasOwnProperty(i)?this.data[i]:void 0:this.data},this.set=function(i,e){return this.data[i]=e,this},this.setCH=function(i){return this.uaCH=i,this},this.detectFeature=function(){if(yi&&yi.userAgent==this.ua)switch(this.itemType){case b:yi.brave&&typeof yi.brave.isBrave==a&&this.set(p,"Brave");break;case l:!this.get(m)&&Ci&&Ci[C]&&this.set(m,C),"Macintosh"==this.get(k)&&yi&&typeof yi.standalone!==s&&yi.maxTouchPoints&&yi.maxTouchPoints>2&&this.set(k,"iPad").set(m,_);break;case u:!this.get(p)&&Ci&&Ci[P]&&this.set(p,Ci[P]);break;case h:var i=this.data,detect=function(e){return i[e].getItem().detectFeature().get()};this.set(b,detect(b)).set(d,detect(d)).set(l,detect(l)).set(c,detect(c)).set(u,detect(u))}return this},this.parseUA=function(){return this.itemType!=h&&rgxMapper.call(this.data,this.ua,this.rgxMap),this.itemType==b&&this.set(x,majorize(this.get(v))),this},this.parseCH=function(){var i=this.uaCH,e=this.rgxMap;switch(this.itemType){case b:case c:var t,o=i[E]||i[I];if(o)for(var r in o){var a=o[r].brand||o[r],s=o[r].version;this.itemType==b&&!/not.a.brand/i.test(a)&&(!t||/Chrom/.test(t)&&a!=ci||t==hi&&/WebView2/.test(a))&&(a=strMapper(a,Oi),(t=this.get(p))&&!/Chrom/.test(t)&&/Chrom/.test(a)||this.set(p,a).set(v,s).set(x,majorize(s)),t=a),this.itemType==c&&a==ci&&this.set(v,s)}break;case d:var n=i[g];n&&(n&&"64"==i[z]&&(n+="64"),rgxMapper.call(this.data,n+";",e));break;case l:if(i[C]&&this.set(m,C),i[k]&&(this.set(k,i[k]),!this.get(m)||!this.get(f))){var w={};rgxMapper.call(w,"droid 9; "+i[k]+")",e),!this.get(m)&&w.type&&this.set(m,w.type),!this.get(f)&&w.vendor&&this.set(f,w.vendor)}if(i[q]){var y;if("string"!=typeof i[q])for(var _=0;!y&&_<i[q].length;)y=strMapper(i[q][_++],Mi);else y=strMapper(i[q],Mi);this.set(m,y)}break;case u:var M=i[P];if(M){var O=i[U];M==ki&&(O=parseInt(majorize(O),10)>=13?"11":"10"),this.set(p,M).set(v,O)}this.get(p)==ki&&"Xbox"==i[k]&&this.set(p,"Xbox").set(v,void 0);break;case h:var T=this.data,parse=function(e){return T[e].getItem().setCH(i).parseCH().get()};this.set(b,parse(b)).set(d,parse(d)).set(l,parse(l)).set(c,parse(c)).set(u,parse(u))}return this},setProps.call(this,[["itemType",i],["ua",e],["uaCH",o],["rgxMap",t],["data",createIData(this,i)]]),this}function UAParser(i,e,t){if(typeof i===n?(isExtensions(i,!0)?(typeof e===n&&(t=e),e=i):(t=i,e=void 0),i=void 0):typeof i!==w||isExtensions(e,!0)||(t=e,e=void 0),t&&typeof t.append===a){var s={};t.forEach(function(i,e){s[e]=i}),t=s}if(!(this instanceof UAParser))return new UAParser(i,e,t).getResult();var p=typeof i===w?i:t&&t[o]?t[o]:yi&&yi.userAgent?yi.userAgent:r,m=new UACHData(t,!0),f=e?function(i,e){var t={},o=e;if(!isExtensions(e))for(var r in o={},e)for(var a in e[r])o[a]=e[r][a].concat(o[a]?o[a]:[]);for(var s in i)t[s]=o[s]&&o[s].length%2==0?o[s].concat(i[s]):i[s];return t}(Ti,e):Ti,createItemFunc=function(i){return i==h?function(){return new UAItem(i,p,f,m).set("ua",p).set(b,this.getBrowser()).set(d,this.getCPU()).set(l,this.getDevice()).set(c,this.getEngine()).set(u,this.getOS()).get()}:function(){return new UAItem(i,p,f[i],m).parseUA().get()}};return setProps.call(this,[["getBrowser",createItemFunc(b)],["getCPU",createItemFunc(d)],["getDevice",createItemFunc(l)],["getEngine",createItemFunc(c)],["getOS",createItemFunc(u)],["getResult",createItemFunc(h)],["getUA",function(){return p}],["setUA",function(i){return isString(i)&&(p=i.length>500?trim(i,500):i),this}]]).setUA(p),this}UAParser.VERSION="2.0.4",UAParser.BROWSER=enumerize([p,v,x,m]),UAParser.CPU=enumerize([g]),UAParser.DEVICE=enumerize([k,f,m,y,C,M,_,O,A]),UAParser.ENGINE=UAParser.OS=enumerize([p,v]);const Si=t.createContext(void 0),detectDeviceByScreenWidth=()=>{if("undefined"==typeof window)return{isMobile:!1,isTablet:!1};const i=window.innerWidth;return i>=1200?{isMobile:!1,isTablet:!1}:i>=500?{isMobile:!1,isTablet:!0}:{isMobile:!0,isTablet:!1}};exports.MobileProvider=({userAgent:i,children:o})=>{const r=(i=>{const e=new UAParser(i).getDevice();return{isMobile:"mobile"===e.type,isTablet:"tablet"===e.type}})(i),[a,s]=t.useState(()=>detectDeviceByScreenWidth());t.useEffect(()=>{const handleResize=()=>{s(detectDeviceByScreenWidth())};return s(detectDeviceByScreenWidth()),window.addEventListener("resize",handleResize),()=>{window.removeEventListener("resize",handleResize)}},[]);const n="undefined"!=typeof window?a.isMobile:r.isMobile,w="undefined"!=typeof window?a.isTablet:r.isTablet,b=t.useMemo(()=>({isMobile:n,isTablet:w,userAgent:i}),[n,w,i]);return e.jsx(Si.Provider,{value:b,children:o})},exports.default=Si,exports.useMobile=()=>{if("true"===process.env.STORYBOOK_FORCE_MOBILE)return!0;if("false"===process.env.STORYBOOK_FORCE_MOBILE)return!1;const i=t.useContext(Si);if(void 0===i)throw new Error("useMobile must be used within a MobileProvider");return i.isMobile},exports.useTablet=()=>{if("true"===process.env.STORYBOOK_FORCE_MOBILE)return!1;const i=t.useContext(Si);if(void 0===i)throw new Error("useTablet must be used within a MobileProvider");return i.isTablet};
package/dist/esm/Input.js CHANGED
@@ -1 +1 @@
1
- "use client";import{jsxs as t,jsx as e}from"react/jsx-runtime";import r,{useState as l,useId as m}from"react";import s from"./utils.js";import{useMobile as a}from"./contexts.js";const i=r.forwardRef(({state:r="default",label:i,value:d,onChange:n,helperText:o,startIcon:x,endIcon:g,type:h="text",placeholder:p,isMobile:u,containerClassName:c,...f},w)=>{const[b,y]=l(!1),N=m(),v=a(),j=u??v,C=b||""!==d&&null!=d,F="disabled"===r,I=s("relative flex items-center border rounded-lg transition-all duration-300 w-full sm:w-90 md:w-90 lg:w-90",{"h-12 sm:h-13 md:h-14 lg:h-14":j,"h-14 sm:h-14 md:h-14 lg:h-14":!j},"transition-all duration-300",{"border-neutral-light":"default"===r&&!b,"border-primary":"default"===r&&b,"border-error":"error"===r,"bg-white border-neutral-light cursor-not-allowed":F},c),k=s("absolute pointer-events-none transition-all duration-300",{"-top-2.5 bg-white px-1 mx-3 font-medium":C,"text-xs sm:text-s md:text-s lg:text-s":C&&j,"text-s sm:text-s md:text-s lg:text-s":C&&!j,"text-s sm:text-m md:text-m lg:text-m font-medium":!C&&j,"text-m sm:text-m md:text-m lg:text-m font-medium":!C&&!j,"right-1 sm:right-1 md:right-1 lg:right-1":x,"right-3 sm:right-3 md:right-3 lg:right-3":!x,"top-1/2 -translate-y-1/2":!C,"right-11 sm:right-11 md:right-12 lg:right-12":!C&&x,"right-4 sm:right-4 md:right-4 lg:right-4":!C&&!x,"text-neutral-main":!b&&"default"===r,"text-neutral-light":F,"text-primary":b&&"default"===r,"text-error":C&&"error"===r}),B=s("peer w-full h-full bg-transparent outline-none font-medium disabled:text-neutral-light",{"text-s sm:text-m md:text-m lg:text-m":j,"text-m sm:text-m md:text-m lg:text-m":!j},{"pr-10 sm:pr-12 md:pr-12 lg:pr-12":x,"pl-10 sm:pl-12 md:pl-12 lg:pl-12":g,"px-3 sm:px-4 md:px-4 lg:px-4":!x&&!g,"pr-3 pl-10 sm:pr-4 sm:pl-12 md:pr-4 md:pl-12 lg:pr-4 lg:pl-12":!x&&g,"pl-3 pr-10 sm:pl-4 sm:pr-12 md:pl-4 md:pr-12 lg:pl-4 lg:pr-12":x&&!g,"cursor-not-allowed text-red-500":F,"text-neutral-dark":!b,"text-neutral-darker":b}),M=s("absolute transition-colors duration-300",{"h-4 w-4 sm:h-5 sm:w-5 md:h-5 md:w-5 lg:h-6 lg:w-6":j,"h-5 w-5 sm:h-5 sm:w-5 md:h-6 md:w-6 lg:h-6 lg:w-6":!j},{"text-neutral-main":"error"!==r&&!b,"text-primary":"default"===r&&b,"text-error":"error"===r,"text-neutral-light":F}),R=s("font-light mt-1 h-4","px-2 sm:px-2 md:px-3 lg:px-3",{"text-xs sm:text-s md:text-s lg:text-s":j,"text-s sm:text-s md:text-s lg:text-s":!j},{"text-neutral-main":"default"===r,"text-primary":"default"===r&&b,"text-error":"error"===r,"text-neutral-light":F}),T=p&&!b?void 0:p;return t("div",{children:[t("div",{className:I,children:[g&&e("span",{className:s(M,"left-3 sm:left-4 md:left-4 lg:left-4"),children:g}),e("label",{htmlFor:N,className:k,children:i}),e("input",{ref:w,id:N,type:h,value:d,onChange:n,onFocus:t=>{F||(y(!0),f.onFocus?.(t))},onBlur:t=>{F||(y(!1),f.onBlur?.(t))},disabled:F,placeholder:T,className:B,...f}),x&&e("span",{className:s(M,"right-3 sm:right-4 md:right-4 lg:right-4"),children:x})]}),o&&e("p",{className:R,children:o})]})});i.displayName="Input";export{i as Input};
1
+ "use client";import{jsxs as t,jsx as l}from"react/jsx-runtime";import e,{useState as r,useId as x}from"react";import m from"./utils.js";import{useMobile as i}from"./contexts.js";const a=e.forwardRef(({state:e="default",label:a,value:s,onChange:d,helperText:n,startIcon:o,endIcon:h,type:g="text",placeholder:p,isMobile:u,containerClassName:c,...f},w)=>{const[b,y]=r(!1),N=x(),v=i(),j=u??v,C=b||""!==s&&null!=s,F="disabled"===e,I=m("relative flex items-center border rounded-lg transition-all duration-300 w-full sm:w-90 md:w-90 lg:w-90",{"h-10 sm:h-12 md:h-14 lg:h-16 xl:h-16":j,"h-12 sm:h-14 md:h-16 lg:h-18 xl:h-18":!j},"transition-all duration-300",{"border-neutral-light":"default"===e&&!b,"border-primary":"default"===e&&b,"border-error":"error"===e,"bg-white border-neutral-light cursor-not-allowed":F},c),k=m("absolute pointer-events-none transition-all duration-300",{"-top-2.5 bg-white px-1 mx-3 font-medium":C,"text-xs sm:text-s md:text-m lg:text-l xl:text-l":C&&j,"text-s sm:text-m md:text-l lg:text-xl xl:text-xl":C&&!j,"text-s sm:text-m md:text-l lg:text-xl xl:text-xl font-medium":!C&&j,"text-m sm:text-l md:text-xl lg:text-xl xl:text-xl font-medium":!C&&!j,"right-1 sm:right-1 md:right-2 lg:right-3 xl:right-3":o,"right-3 sm:right-3 md:right-4 lg:right-5 xl:right-5":!o,"top-1/2 -translate-y-1/2":!C,"right-11 sm:right-12 md:right-14 lg:right-16 xl:right-16":!C&&o,"right-4 sm:right-5 md:right-6 lg:right-7 xl:right-7":!C&&!o,"text-neutral-main":!b&&"default"===e,"text-neutral-light":F,"text-primary":b&&"default"===e,"text-error":C&&"error"===e}),B=m("peer w-full h-full bg-transparent outline-none font-medium disabled:text-neutral-light",{"text-s sm:text-m md:text-l lg:text-xl xl:text-xl":j,"text-m sm:text-l md:text-xl lg:text-xl xl:text-xl":!j},{"pr-8 sm:pr-10 md:pr-12 lg:pr-14 xl:pr-16":o,"pl-8 sm:pl-10 md:pl-12 lg:pl-14 xl:pl-16":h,"px-2 sm:px-3 md:px-4 lg:px-5 xl:px-6":!o&&!h,"pr-2 pl-8 sm:pr-3 sm:pl-10 md:pr-4 md:pl-12 lg:pr-5 lg:pl-14 xl:pr-6 xl:pl-16":!o&&h,"pl-2 pr-8 sm:pl-3 sm:pr-10 md:pl-4 md:pr-12 lg:pl-5 lg:pr-14 xl:pl-6 xl:pr-16":o&&!h,"cursor-not-allowed text-red-500":F,"text-neutral-dark":!b,"text-neutral-darker":b}),M=m("absolute transition-colors duration-300",{"h-3 w-3 sm:h-4 sm:w-4 md:h-5 md:w-5 lg:h-6 lg:w-6 xl:h-7 xl:w-7":j,"h-4 w-4 sm:h-5 sm:w-5 md:h-6 md:w-6 lg:h-7 lg:w-7 xl:h-8 xl:w-8":!j},{"text-neutral-main":"error"!==e&&!b,"text-primary":"default"===e&&b,"text-error":"error"===e,"text-neutral-light":F}),R=m("font-light mt-1 h-4","px-2 sm:px-3 md:px-4 lg:px-5 xl:px-6",{"text-xs sm:text-s md:text-m lg:text-l xl:text-l":j,"text-s sm:text-m md:text-l lg:text-xl xl:text-xl":!j},{"text-neutral-main":"default"===e,"text-primary":"default"===e&&b,"text-error":"error"===e,"text-neutral-light":F}),T=p&&!b?void 0:p;return t("div",{children:[t("div",{className:I,children:[h&&l("span",{className:m(M,"left-2 sm:left-3 md:left-4 lg:left-5 xl:left-6"),children:h}),l("label",{htmlFor:N,className:k,children:a}),l("input",{ref:w,id:N,type:g,value:s,onChange:d,onFocus:t=>{F||(y(!0),f.onFocus?.(t))},onBlur:t=>{F||(y(!1),f.onBlur?.(t))},disabled:F,placeholder:T,className:B,...f}),o&&l("span",{className:m(M,"right-2 sm:right-3 md:right-4 lg:right-5 xl:right-6"),children:o})]}),n&&l("p",{className:R,children:n})]})});a.displayName="Input";export{a as Input};
package/dist/esm/Menu.js CHANGED
@@ -1 +1 @@
1
- "use client";import{jsx as e,jsxs as r}from"react/jsx-runtime";import t,{useState as n,useRef as a,useEffect as i}from"react";import o from"./utils.js";import{Typography as l}from"./Typography.js";const s=t.forwardRef(({buttonText:t,items:s,disabled:d=!1,className:m,onOpenChange:c,isOpen:u,"aria-label":p,...b},g)=>{const[f,h]=n(!1),y=a(null),x=a(null),v=void 0!==u?u:f,handleToggle=()=>{if(d)return;const e=!v;void 0===u&&h(e),c?.(e)};i(()=>{const handleClickOutside=e=>{y.current&&!y.current.contains(e.target)&&(void 0===u&&h(!1),c?.(!1))};if(v)return document.addEventListener("mousedown",handleClickOutside),()=>{document.removeEventListener("mousedown",handleClickOutside)}},[v,u,c]);const w=o("inline-flex items-center justify-center","bg-white border border-neutral-light","rounded-md transition-colors duration-200","px-3 py-2 sm:px-4 sm:py-3 md:px-4 md:py-3 lg:px-5 lg:py-3","min-w-20 sm:min-w-24 md:min-w-28 lg:min-w-32","hover:bg-neutral-lighter","focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2",{"opacity-50 cursor-not-allowed":d,"cursor-pointer":!d}),k=o("absolute top-full z-10 mt-1","bg-white border border-neutral-light","rounded-md shadow-lg","left-0 right-0 sm:left-0 sm:right-auto sm:min-w-48 md:min-w-52 lg:min-w-56","py-2 px-3 sm:py-3 sm:px-4 md:py-3 md:px-4 lg:py-4 lg:px-5","transition-all duration-200",{"opacity-100 translate-y-0 pointer-events-auto":v,"opacity-0 -translate-y-2 pointer-events-none":!v}),N=o("block w-full text-right","transition-colors duration-200","hover:bg-neutral-lighter rounded","focus:outline-none focus:bg-neutral-lighter","px-2 py-1 sm:px-2 sm:py-2 md:px-3 md:py-2 lg:px-3 lg:py-2","-mx-2 sm:-mx-2 md:-mx-3 lg:-mx-3");return e("div",{ref:g,className:o("relative inline-block",m),...b,children:r("div",{ref:y,children:[e("button",{ref:x,type:"button",className:w,onClick:handleToggle,onKeyDown:e=>{if(!d)switch(e.key){case"Escape":v&&(e.preventDefault(),void 0===u&&h(!1),c?.(!1),x.current?.focus());break;case"ArrowDown":v||(e.preventDefault(),handleToggle());break;case"Enter":case" ":e.preventDefault(),handleToggle()}},disabled:d,"aria-expanded":v,"aria-haspopup":"true","aria-label":p||`منوی ${t}`,children:e(l,{variant:"body-s-heavy",color:"neutral-darker",className:"text-right",children:t})}),e("div",{className:k,children:e("div",{className:"flex flex-col gap-2 sm:gap-3 md:gap-4 lg:gap-4",children:s.map(r=>{const t=e(l,{variant:"body-s-heavy",color:r.disabled?"neutral-main":"neutral-darker",className:"text-right",children:r.label}),n={className:o(N,{"opacity-50 cursor-not-allowed":r.disabled,"cursor-pointer":!r.disabled}),onClick:r.disabled?void 0:()=>(e=>{e.disabled||(void 0===u&&h(!1),c?.(!1),e.onClick?.())})(r),"aria-label":`منوی ${r.label}`};return r.href&&!r.disabled?e("a",{...n,href:r.href,role:"menuitem",tabIndex:v?0:-1,children:t},r.id):e("button",{...n,type:"button",role:"menuitem",tabIndex:v?0:-1,disabled:r.disabled,children:t},r.id)})})})]})})});s.displayName="Menu";export{s as Menu};
1
+ "use client";import{jsx as e,jsxs as r}from"react/jsx-runtime";import t,{useState as n,useRef as l,useEffect as a}from"react";import i from"./utils.js";import{Typography as o}from"./Typography.js";const s=t.forwardRef(({buttonText:t,items:s,disabled:d=!1,className:m,onOpenChange:p,isOpen:c,"aria-label":u,...x},b)=>{const[g,f]=n(!1),y=l(null),h=l(null),v=void 0!==c?c:g,handleToggle=()=>{if(d)return;const e=!v;void 0===c&&f(e),p?.(e)};a(()=>{const handleClickOutside=e=>{y.current&&!y.current.contains(e.target)&&(void 0===c&&f(!1),p?.(!1))};if(v)return document.addEventListener("mousedown",handleClickOutside),()=>{document.removeEventListener("mousedown",handleClickOutside)}},[v,c,p]);const w=i("inline-flex items-center justify-center","bg-white border border-neutral-light","rounded-md transition-colors duration-200","px-2 py-1 sm:px-3 sm:py-2 md:px-4 md:py-3 lg:px-6 lg:py-4 xl:px-8 xl:py-5","min-w-16 sm:min-w-20 md:min-w-24 lg:min-w-32 xl:min-w-40","hover:bg-neutral-lighter","focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2",{"opacity-50 cursor-not-allowed":d,"cursor-pointer":!d}),k=i("absolute top-full z-10 mt-1","bg-white border border-neutral-light","rounded-md shadow-lg","left-0 right-0 sm:left-0 sm:right-auto sm:min-w-40 md:min-w-48 lg:min-w-56 xl:min-w-64","py-1 px-2 sm:py-2 sm:px-3 md:py-3 md:px-4 lg:py-4 lg:px-6 xl:py-5 xl:px-8","transition-all duration-200",{"opacity-100 translate-y-0 pointer-events-auto":v,"opacity-0 -translate-y-2 pointer-events-none":!v}),N=i("block w-full text-right","transition-colors duration-200","hover:bg-neutral-lighter rounded","focus:outline-none focus:bg-neutral-lighter","px-1 py-0.5 sm:px-2 sm:py-1 md:px-3 md:py-2 lg:px-4 lg:py-3 xl:px-5 xl:py-4","-mx-1 sm:-mx-2 md:-mx-3 lg:-mx-4 xl:-mx-5");return e("div",{ref:b,className:i("relative inline-block",m),...x,children:r("div",{ref:y,children:[e("button",{ref:h,type:"button",className:w,onClick:handleToggle,onKeyDown:e=>{if(!d)switch(e.key){case"Escape":v&&(e.preventDefault(),void 0===c&&f(!1),p?.(!1),h.current?.focus());break;case"ArrowDown":v||(e.preventDefault(),handleToggle());break;case"Enter":case" ":e.preventDefault(),handleToggle()}},disabled:d,"aria-expanded":v,"aria-haspopup":"true","aria-label":u||`منوی ${t}`,children:e(o,{variant:"body-s-heavy",color:"neutral-darker",className:"text-right",children:t})}),e("div",{className:k,children:e("div",{className:"flex flex-col gap-1 sm:gap-2 md:gap-3 lg:gap-4 xl:gap-5",children:s.map(r=>{const t=e(o,{variant:"body-s-heavy",color:r.disabled?"neutral-main":"neutral-darker",className:"text-right",children:r.label}),n={className:i(N,{"opacity-50 cursor-not-allowed":r.disabled,"cursor-pointer":!r.disabled}),onClick:r.disabled?void 0:()=>(e=>{e.disabled||(void 0===c&&f(!1),p?.(!1),e.onClick?.())})(r),"aria-label":`منوی ${r.label}`};return r.href&&!r.disabled?e("a",{...n,href:r.href,role:"menuitem",tabIndex:v?0:-1,children:t},r.id):e("button",{...n,type:"button",role:"menuitem",tabIndex:v?0:-1,disabled:r.disabled,children:t},r.id)})})})]})})});s.displayName="Menu";export{s as Menu};
@@ -1 +1 @@
1
- import t from"react";import e from"./utils.js";const x={h1:"text-h3 sm:text-h2 md:text-h1 lg:text-h1 xl:text-h1 font-fat",h2:"text-h4 sm:text-h3 md:text-h2 lg:text-h2 xl:text-h2 font-fat",h3:"text-h5 sm:text-h4 md:text-h3 lg:text-h3 xl:text-h3 font-fat",h4:"text-h6 sm:text-h5 md:text-h4 lg:text-h4 xl:text-h4 font-heavy",h5:"text-l sm:text-xl md:text-h5 lg:text-h5 xl:text-h5 font-heavy",h6:"text-m sm:text-l md:text-h6 lg:text-h6 xl:text-h6 font-heavy","body-xl-heavy":"text-l sm:text-xl md:text-xl lg:text-xl xl:text-xl font-heavy","body-l-heavy":"text-m sm:text-l md:text-l lg:text-l xl:text-l font-heavy","body-l-bold":"text-m sm:text-l md:text-l lg:text-l xl:text-l font-bold","body-l-medium":"text-m sm:text-l md:text-l lg:text-l xl:text-l font-medium","body-m-heavy":"text-s sm:text-m md:text-m lg:text-m xl:text-m font-heavy","body-m-bold":"text-s sm:text-m md:text-m lg:text-m xl:text-m font-bold","body-m-medium":"text-s sm:text-m md:text-m lg:text-m xl:text-m font-medium","body-s-heavy":"text-ms sm:text-s md:text-s lg:text-s xl:text-s font-heavy","body-s-bold":"text-ms sm:text-s md:text-s lg:text-s xl:text-s font-bold","body-s-medium":"text-ms sm:text-s md:text-s lg:text-s xl:text-s font-medium","body-ms-bold":"text-xs sm:text-ms md:text-ms lg:text-ms xl:text-ms font-bold","body-ms-medium":"text-xs sm:text-ms md:text-ms lg:text-ms xl:text-ms font-medium","body-xs-bold":"text-t sm:text-xs md:text-xs lg:text-xs xl:text-xs font-bold","body-xs-medium":"text-t sm:text-xs md:text-xs lg:text-xs xl:text-xs font-medium","body-t-bold":"text-ss sm:text-t md:text-t lg:text-t xl:text-t font-bold","body-t-medium":"text-ss sm:text-t md:text-t lg:text-t xl:text-t font-medium","body-ss-medium":"text-ss sm:text-ss md:text-ss lg:text-ss xl:text-ss font-medium"},getTypographyClasses=t=>x[t],m={primary:"text-primary",secondary:"text-secondary","neutral-darker":"text-neutral-darker","neutral-dark":"text-neutral-dark","neutral-main":"text-neutral-main",white:"text-white",inherit:"text-inherit"},s=t.forwardRef(({variant:s="body-m-medium",color:l="inherit",as:d,className:o,children:h,...a},n)=>{const r=d||(t=>t.startsWith("h")?t.split("-")[0]:"p")(s);return t.createElement(r,{ref:n,className:e(m[l],x[s],o),...a},h)});s.displayName="Typography";export{s as Typography,getTypographyClasses};
1
+ import t from"react";import e from"./utils.js";const x={h1:"text-h4 sm:text-h3 md:text-h2 lg:text-h1 xl:text-h1 font-fat",h2:"text-h5 sm:text-h4 md:text-h3 lg:text-h2 xl:text-h2 font-fat",h3:"text-h6 sm:text-h5 md:text-h4 lg:text-h3 xl:text-h3 font-fat",h4:"text-l sm:text-xl md:text-h5 lg:text-h4 xl:text-h4 font-heavy",h5:"text-m sm:text-l md:text-xl lg:text-h5 xl:text-h5 font-heavy",h6:"text-s sm:text-m md:text-l lg:text-h6 xl:text-h6 font-heavy","body-xl-heavy":"text-m sm:text-l md:text-xl lg:text-xl xl:text-xl font-heavy","body-l-heavy":"text-s sm:text-m md:text-l lg:text-l xl:text-l font-heavy","body-l-bold":"text-s sm:text-m md:text-l lg:text-l xl:text-l font-bold","body-l-medium":"text-s sm:text-m md:text-l lg:text-l xl:text-l font-medium","body-m-heavy":"text-ms sm:text-s md:text-m lg:text-m xl:text-m font-heavy","body-m-bold":"text-ms sm:text-s md:text-m lg:text-m xl:text-m font-bold","body-m-medium":"text-ms sm:text-s md:text-m lg:text-m xl:text-m font-medium","body-s-heavy":"text-xs sm:text-ms md:text-s lg:text-s xl:text-s font-heavy","body-s-bold":"text-xs sm:text-ms md:text-s lg:text-s xl:text-s font-bold","body-s-medium":"text-xs sm:text-ms md:text-s lg:text-s xl:text-s font-medium","body-ms-bold":"text-t sm:text-xs md:text-ms lg:text-ms xl:text-ms font-bold","body-ms-medium":"text-t sm:text-xs md:text-ms lg:text-ms xl:text-ms font-medium","body-xs-bold":"text-ss sm:text-t md:text-xs lg:text-xs xl:text-xs font-bold","body-xs-medium":"text-ss sm:text-t md:text-xs lg:text-xs xl:text-xs font-medium","body-t-bold":"text-ss sm:text-ss md:text-t lg:text-t xl:text-t font-bold","body-t-medium":"text-ss sm:text-ss md:text-t lg:text-t xl:text-t font-medium","body-ss-medium":"text-ss sm:text-ss md:text-ss lg:text-ss xl:text-ss font-medium"},getTypographyClasses=t=>x[t],m={primary:"text-primary",secondary:"text-secondary","neutral-darker":"text-neutral-darker","neutral-dark":"text-neutral-dark","neutral-main":"text-neutral-main",white:"text-white",inherit:"text-inherit"},s=t.forwardRef(({variant:s="body-m-medium",color:l="inherit",as:d,className:o,children:h,...a},n)=>{const r=d||(t=>t.startsWith("h")?t.split("-")[0]:"p")(s);return t.createElement(r,{ref:n,className:e(m[l],x[s],o),...a},h)});s.displayName="Typography";export{s as Typography,getTypographyClasses};
@@ -1 +1 @@
1
- "use client";import{jsx as i}from"react/jsx-runtime";import{createContext as e,useContext as t,useMemo as r}from"react";var o,a="user-agent",s="",n="function",w="undefined",b="object",d="string",l="browser",c="cpu",u="device",h="engine",p="os",m="result",f="name",g="type",v="vendor",k="version",x="architecture",y="major",C="model",_="console",O="mobile",A="tablet",S="smarttv",I="wearable",T="xr",M="embedded",U="inapp",q="brands",P="formFactors",E="fullVersionList",z="platform",H="platformVersion",B="bitness",D="sec-ch-ua",j=D+"-full-version-list",V=D+"-arch",R=D+"-"+B,F=D+"-form-factors",L=D+"-"+O,W=D+"-"+C,N=D+"-"+z,G=N+"-version",$=[q,E,O,C,z,H,x,P,B],X="Amazon",Y="Apple",K="ASUS",Q="BlackBerry",Z="Google",J="Huawei",ii="Lenovo",ei="Honor",ti="LG",ri="Microsoft",oi="Motorola",ai="Nvidia",si="OnePlus",ni="OPPO",wi="Samsung",bi="Sharp",di="Sony",li="Xiaomi",ci="Zebra",ui="Chrome",hi="Chromium",pi="Chromecast",mi="Edge",fi="Firefox",gi="Opera",vi="Facebook",ki="Sogou",xi="Mobile ",yi=" Browser",Ci="Windows",_i=typeof window!==w&&window.navigator?window.navigator:void 0,Oi=_i&&_i.userAgentData?_i.userAgentData:void 0,enumerize=function(i){for(var e={},t=0;t<i.length;t++)e[i[t].toUpperCase()]=i[t];return e},has=function(i,e){if(typeof i===b&&i.length>0){for(var t in i)if(lowerize(e)==lowerize(i[t]))return!0;return!1}return!!isString(i)&&lowerize(e)==lowerize(i)},isExtensions=function(i,e){for(var t in i)return/^(browser|cpu|device|engine|os)$/.test(t)||!!e&&isExtensions(i[t])},isString=function(i){return typeof i===d},itemListToArray=function(i){if(i){for(var e=[],t=strip(/\\?\"/g,i).split(","),r=0;r<t.length;r++)if(t[r].indexOf(";")>-1){var o=trim(t[r]).split(";v=");e[r]={brand:o[0],version:o[1]}}else e[r]=trim(t[r]);return e}},lowerize=function(i){return isString(i)?i.toLowerCase():i},majorize=function(i){return isString(i)?strip(/[^\d\.]/g,i).split(".")[0]:void 0},setProps=function(i){for(var e in i){var t=i[e];typeof t==b&&2==t.length?this[t[0]]=t[1]:this[t]=void 0}return this},strip=function(i,e){return isString(e)?e.replace(i,s):e},stripQuotes=function(i){return strip(/\\?\"/g,i)},trim=function(i,e){if(isString(i))return i=strip(/^\s\s*/,i),typeof e===w?i:i.substring(0,500)},rgxMapper=function(i,e){if(i&&e)for(var t,r,o,a,s,w,d=0;d<e.length&&!s;){var l=e[d],c=e[d+1];for(t=r=0;t<l.length&&!s&&l[t];)if(s=l[t++].exec(i))for(o=0;o<c.length;o++)w=s[++r],typeof(a=c[o])===b&&a.length>0?2===a.length?typeof a[1]==n?this[a[0]]=a[1].call(this,w):this[a[0]]=a[1]:a.length>=3&&(typeof a[1]!==n||a[1].exec&&a[1].test?3==a.length?this[a[0]]=w?w.replace(a[1],a[2]):void 0:4==a.length?this[a[0]]=w?a[3].call(this,w.replace(a[1],a[2])):void 0:a.length>4&&(this[a[0]]=w?a[3].apply(this,[w.replace(a[1],a[2])].concat(a.slice(4))):void 0):a.length>3?this[a[0]]=w?a[1].apply(this,a.slice(2)):void 0:this[a[0]]=w?a[1].call(this,w,a[2]):void 0):this[a]=w||void 0;d+=2}},strMapper=function(i,e){for(var t in e)if(typeof e[t]===b&&e[t].length>0){for(var r=0;r<e[t].length;r++)if(has(e[t][r],i))return"?"===t?void 0:t}else if(has(e[t],i))return"?"===t?void 0:t;return e.hasOwnProperty("*")?e["*"]:i},Ai={ME:"4.90","NT 3.51":"3.51","NT 4.0":"4.0",2e3:["5.0","5.01"],XP:["5.1","5.2"],Vista:"6.0",7:"6.1",8:"6.2",8.1:"6.3",10:["6.4","10.0"],NT:""},Si={embedded:"Automotive",mobile:"Mobile",tablet:["Tablet","EInk"],smarttv:"TV",wearable:"Watch",xr:["VR","XR"],"?":["Desktop","Unknown"],"*":void 0},Ii={Chrome:"Google Chrome",Edge:"Microsoft Edge","Edge WebView2":"Microsoft Edge WebView2","Chrome WebView":"Android WebView","Chrome Headless":"HeadlessChrome","Huawei Browser":"HuaweiBrowser","MIUI Browser":"Miui Browser","Opera Mobi":"OperaMobile",Yandex:"YaBrowser"},Ti={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[k,[f,xi+"Chrome"]],[/webview.+edge\/([\w\.]+)/i],[k,[f,mi+" WebView"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[k,[f,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[f,k],[/opios[\/ ]+([\w\.]+)/i],[k,[f,gi+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[k,[f,gi+" GX"]],[/\bopr\/([\w\.]+)/i],[k,[f,gi]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[k,[f,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[k,[f,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:lg |qute)browser)\/([-\w\.]+)/i,/(heytap|ovi|115|surf)browser\/([\d\.]+)/i,/(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i],[f,k],[/quark(?:pc)?\/([-\w\.]+)/i],[k,[f,"Quark"]],[/\bddg\/([\w\.]+)/i],[k,[f,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[k,[f,"UCBrowser"]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[k,[f,"WeChat"]],[/konqueror\/([\w\.]+)/i],[k,[f,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[k,[f,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[k,[f,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[k,[f,"Smart "+ii+yi]],[/(avast|avg)\/([\w\.]+)/i],[[f,/(.+)/,"$1 Secure"+yi],k],[/\bfocus\/([\w\.]+)/i],[k,[f,fi+" Focus"]],[/\bopt\/([\w\.]+)/i],[k,[f,gi+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[k,[f,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[k,[f,"Dolphin"]],[/coast\/([\w\.]+)/i],[k,[f,gi+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[k,[f,"MIUI"+yi]],[/fxios\/([\w\.-]+)/i],[k,[f,xi+fi]],[/\bqihoobrowser\/?([\w\.]*)/i],[k,[f,"360"]],[/\b(qq)\/([\w\.]+)/i],[[f,/(.+)/,"$1Browser"],k],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[f,/(.+)/,"$1"+yi],k],[/samsungbrowser\/([\w\.]+)/i],[k,[f,wi+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[k,[f,ki+" Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[f,ki+" Mobile"],k],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[f,k],[/(lbbrowser|rekonq)/i],[f],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[k,f],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[f,vi],k,[g,U]],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i],[f,k,[g,U]],[/\bgsa\/([\w\.]+) .*safari\//i],[k,[f,"GSA"],[g,U]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[k,[f,"TikTok"],[g,U]],[/\[(linkedin)app\]/i],[f,[g,U]],[/(chromium)[\/ ]([-\w\.]+)/i],[f,k],[/headlesschrome(?:\/([\w\.]+)| )/i],[k,[f,ui+" Headless"]],[/wv\).+chrome\/([\w\.]+).+edgw\//i],[k,[f,mi+" WebView2"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[f,ui+" WebView"],k],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[k,[f,"Android"+yi]],[/chrome\/([\w\.]+) mobile/i],[k,[f,xi+"Chrome"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[f,k],[/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i],[k,[f,xi+"Safari"]],[/iphone .*mobile(?:\/\w+ | ?)safari/i],[[f,xi+"Safari"]],[/version\/([\w\.\,]+) .*(safari)/i],[k,f],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[f,[k,"1"]],[/(webkit|khtml)\/([\w\.]+)/i],[f,k],[/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i],[[f,xi+fi],k],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[f,"Netscape"],k],[/(wolvic|librewolf)\/([\w\.]+)/i],[f,k],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[k,[f,fi+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[f,[k,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[f,[k,/[^\d\.]+./,s]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[x,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[x,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[x,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[x,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[x,"arm"]],[/((ppc|powerpc)(64)?)( mac|;|\))/i],[[x,/ower/,s,lowerize]],[/ sun4\w[;\)]/i],[[x,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i],[[x,lowerize]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[C,[v,wi],[g,A]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,/sec-(sgh\w+)/i],[C,[v,wi],[g,O]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[C,[v,Y],[g,O]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[C,[v,Y],[g,A]],[/(macintosh);/i],[C,[v,Y]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[C,[v,bi],[g,O]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[C,[v,ei],[g,A]],[/honor([-\w ]+)[;\)]/i],[C,[v,ei],[g,O]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[C,[v,J],[g,A]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[C,[v,J],[g,O]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[C,/_/g," "],[v,li],[g,A]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[C,/_/g," "],[v,li],[g,O]],[/droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-k]\w[1m]10)\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[C,[v,si],[g,O]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[C,[v,ni],[g,O]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[C,[v,strMapper,{OnePlus:["203","304","403","404","413","415"],"*":ni}],[g,A]],[/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i],[C,[v,"BLU"],[g,O]],[/; vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[C,[v,"Vivo"],[g,O]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[C,[v,"Realme"],[g,O]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[C,[v,ii],[g,A]],[/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i],[C,[v,ii],[g,O]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,/((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i],[C,[v,oi],[g,O]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[C,[v,oi],[g,A]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[C,[v,ti],[g,A]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,/\blg-?([\d\w]+) bui/i],[C,[v,ti],[g,O]],[/(nokia) (t[12][01])/i],[v,C,[g,A]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*))/i],[[C,/_/g," "],[g,O],[v,"Nokia"]],[/(pixel (c|tablet))\b/i],[C,[v,Z],[g,A]],[/droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\d ]*a?( pro)?( xl)?( fold)?( \(5g\))?)( bui|\))/i],[C,[v,Z],[g,O]],[/(google) (pixelbook( go)?)/i],[v,C],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-\w\w\d\d)(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[C,[v,di],[g,O]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[C,"Xperia Tablet"],[v,di],[g,A]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[C,[v,X],[g,A]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[C,/(.+)/g,"Fire Phone $1"],[v,X],[g,O]],[/(playbook);[-\w\),; ]+(rim)/i],[C,v,[g,A]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[C,[v,Q],[g,O]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[C,[v,K],[g,A]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[C,[v,K],[g,O]],[/(nexus 9)/i],[C,[v,"HTC"],[g,A]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[v,[C,/_/g," "],[g,O]],[/tcl (xess p17aa)/i,/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])(_\w(\w|\w\w))?(\)| bui)/i],[C,[v,"TCL"],[g,A]],[/droid [\w\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\w(\w|\w\w))?(\)| bui)/i],[C,[v,"TCL"],[g,O]],[/(itel) ((\w+))/i],[[v,lowerize],C,[g,strMapper,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[C,[v,"Acer"],[g,A]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[C,[v,"Meizu"],[g,O]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[C,[v,"Ulefone"],[g,O]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[C,[v,"Energizer"],[g,O]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[C,[v,"Cat"],[g,O]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[C,[v,"Smartfren"],[g,O]],[/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i],[C,[v,"Nothing"],[g,O]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[C,[v,"Archos"],[g,A]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[C,[v,"Archos"],[g,O]],[/; (n159v)/i],[C,[v,"HMD"],[g,O]],[/(imo) (tab \w+)/i,/(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i],[v,C,[g,A]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (blu|hmd|imo|infinix|lava|oneplus|tcl)[_ ]([\w\+ ]+?)(?: bui|\)|; r)/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(oppo) ?([\w ]+) bui/i],[v,C,[g,O]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i],[v,C,[g,A]],[/(surface duo)/i],[C,[v,ri],[g,A]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[C,[v,"Fairphone"],[g,O]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[C,[v,ai],[g,A]],[/(sprint) (\w+)/i],[v,C,[g,O]],[/(kin\.[onetw]{3})/i],[[C,/\./g," "],[v,ri],[g,O]],[/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[C,[v,ci],[g,A]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[C,[v,ci],[g,O]],[/smart-tv.+(samsung)/i],[v,[g,S]],[/hbbtv.+maple;(\d+)/i],[[C,/^/,"SmartTV"],[v,wi],[g,S]],[/(vizio)(?: |.+model\/)(\w+-\w+)/i,/tcast.+(lg)e?. ([-\w]+)/i],[v,C,[g,S]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[v,ti],[g,S]],[/(apple) ?tv/i],[v,[C,Y+" TV"],[g,S]],[/crkey.*devicetype\/chromecast/i],[[C,pi+" Third Generation"],[v,Z],[g,S]],[/crkey.*devicetype\/([^/]*)/i],[[C,/^/,"Chromecast "],[v,Z],[g,S]],[/fuchsia.*crkey/i],[[C,pi+" Nest Hub"],[v,Z],[g,S]],[/crkey/i],[[C,pi],[v,Z],[g,S]],[/(portaltv)/i],[C,[v,vi],[g,S]],[/droid.+aft(\w+)( bui|\))/i],[C,[v,X],[g,S]],[/(shield \w+ tv)/i],[C,[v,ai],[g,S]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[C,[v,bi],[g,S]],[/(bravia[\w ]+)( bui|\))/i],[C,[v,di],[g,S]],[/(mi(tv|box)-?\w+) bui/i],[C,[v,li],[g,S]],[/Hbbtv.*(technisat) (.*);/i],[v,C,[g,S]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[v,/.+\/(\w+)/,"$1",strMapper,{LG:"lge"}],[C,trim],[g,S]],[/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i],[C,[g,S]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:|large screen[\w ]+safari)\b/i],[[g,S]],[/(playstation \w+)/i],[C,[v,di],[g,_]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[C,[v,ri],[g,_]],[/(ouya)/i,/(nintendo) (\w+)/i,/(retroid) (pocket ([^\)]+))/i],[v,C,[g,_]],[/droid.+; (shield)( bui|\))/i],[C,[v,ai],[g,_]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[C,[v,wi],[g,I]],[/((pebble))app/i,/(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[v,C,[g,I]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[C,[v,ni],[g,I]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[C,[v,Y],[g,I]],[/(opwwe\d{3})/i],[C,[v,si],[g,I]],[/(moto 360)/i],[C,[v,oi],[g,I]],[/(smartwatch 3)/i],[C,[v,di],[g,I]],[/(g watch r)/i],[C,[v,ti],[g,I]],[/droid.+; (wt63?0{2,3})\)/i],[C,[v,ci],[g,I]],[/droid.+; (glass) \d/i],[C,[v,Z],[g,T]],[/(pico) (4|neo3(?: link|pro)?)/i],[v,C,[g,T]],[/(quest( \d| pro)?s?).+vr/i],[C,[v,vi],[g,T]],[/mobile vr; rv.+firefox/i],[[g,T]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[v,[g,M]],[/(aeobc)\b/i],[C,[v,X],[g,M]],[/(homepod).+mac os/i],[C,[v,Y],[g,M]],[/windows iot/i],[[g,M]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+?(mobile|vr|\d) safari/i],[C,[g,strMapper,{mobile:"Mobile",xr:"VR","*":A}]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[g,A]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[g,O]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[C,[v,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[k,[f,mi+"HTML"]],[/(arkweb)\/([\w\.]+)/i],[f,k],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[k,[f,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[f,k],[/ladybird\//i],[[f,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[k,f]],os:[[/(windows nt) (6\.[23]); arm/i],[[f,/N/,"R"],[k,strMapper,Ai]],[/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,/(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i],[f,k],[/windows nt ?([\d\.\)]*)(?!.+xbox)/i,/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i],[[k,/(;|\))/g,"",strMapper,Ai],[f,Ci]],[/(windows ce)\/?([\d\.]*)/i],[f,k],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[k,/_/g,"."],[f,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i],[[f,"macOS"],[k,/_/g,"."]],[/android ([\d\.]+).*crkey/i],[k,[f,pi+" Android"]],[/fuchsia.*crkey\/([\d\.]+)/i],[k,[f,pi+" Fuchsia"]],[/crkey\/([\d\.]+).*devicetype\/smartspeaker/i],[k,[f,pi+" SmartSpeaker"]],[/linux.*crkey\/([\d\.]+)/i],[k,[f,pi+" Linux"]],[/crkey\/([\d\.]+)/i],[k,[f,pi]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[k,f],[/(ubuntu) ([\w\.]+) like android/i],[[f,/(.+)/,"$1 Touch"],k],[/(harmonyos)[\/ ]?([\d\.]*)/i,/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i],[f,k],[/\(bb(10);/i],[k,[f,Q]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[k,[f,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[k,[f,fi+" OS"]],[/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i],[k,[f,"webOS"]],[/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i],[[k,strMapper,{25:"120",24:"108",23:"94",22:"87",6:"79",5:"68",4:"53",3:"38",2:"538",1:"537","*":"TV"}],[f,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[k,[f,"watchOS"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[f,"Chrome OS"],k],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) (\w+)/i,/(xbox); +xbox ([^\);]+)/i,/(pico) .+os([\w\.]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/linux.+(mint)[\/\(\) ]?([\w\.]*)/i,/(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\d\.]*)/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire|knoppix)(?: gnu[\/ ]linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/\b(aix)[; ]([1-9\.]{0,4})/i,/(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) ?(r\d)?/i],[f,k],[/(sunos) ?([\d\.]*)/i],[[f,"Solaris"],k],[/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[f,k]]},Mi=(setProps.call((o={init:{},isIgnore:{},isIgnoreRgx:{},toString:{}}).init,[[l,[f,k,y,g]],[c,[x]],[u,[g,C,v]],[h,[f,k]],[p,[f,k]]]),setProps.call(o.isIgnore,[[l,[k,y]],[h,[k]],[p,[k]]]),setProps.call(o.isIgnoreRgx,[[l,/ ?browser$/i],[p,/ ?os$/i]]),setProps.call(o.toString,[[l,[f,k]],[c,[x]],[u,[v,C]],[h,[f,k]],[p,[f,k]]]),o),createIData=function(i,e){var t=Mi.init[e],r=Mi.isIgnore[e]||0,o=Mi.isIgnoreRgx[e]||0,a=Mi.toString[e]||0;function IData(){setProps.call(this,t)}return IData.prototype.getItem=function(){return i},IData.prototype.withClientHints=function(){return Oi?Oi.getHighEntropyValues($).then(function(e){return i.setCH(new UACHData(e,!1)).parseCH().get()}):i.parseCH().get()},IData.prototype.withFeatureCheck=function(){return i.detectFeature().get()},e!=m&&(IData.prototype.is=function(i){var e=!1;for(var t in this)if(this.hasOwnProperty(t)&&!has(r,t)&&lowerize(o?strip(o,this[t]):this[t])==lowerize(o?strip(o,i):i)){if(e=!0,i!=w)break}else if(i==w&&e){e=!e;break}return e},IData.prototype.toString=function(){var i=s;for(var e in a)typeof this[a[e]]!==w&&(i+=(i?" ":s)+this[a[e]]);return i||w}),Oi||(IData.prototype.then=function(i){var e=this,IDataResolve=function(){for(var i in e)e.hasOwnProperty(i)&&(this[i]=e[i])};IDataResolve.prototype={is:IData.prototype.is,toString:IData.prototype.toString};var t=new IDataResolve;return i(t),t}),new IData};function UACHData(i,e){if(i=i||{},setProps.call(this,$),e)setProps.call(this,[[q,itemListToArray(i[D])],[E,itemListToArray(i[j])],[O,/\?1/.test(i[L])],[C,stripQuotes(i[W])],[z,stripQuotes(i[N])],[H,stripQuotes(i[G])],[x,stripQuotes(i[V])],[P,itemListToArray(i[F])],[B,stripQuotes(i[R])]]);else for(var t in i)this.hasOwnProperty(t)&&typeof i[t]!==w&&(this[t]=i[t])}function UAItem(i,e,t,r){return this.get=function(i){return i?this.data.hasOwnProperty(i)?this.data[i]:void 0:this.data},this.set=function(i,e){return this.data[i]=e,this},this.setCH=function(i){return this.uaCH=i,this},this.detectFeature=function(){if(_i&&_i.userAgent==this.ua)switch(this.itemType){case l:_i.brave&&typeof _i.brave.isBrave==n&&this.set(f,"Brave");break;case u:!this.get(g)&&Oi&&Oi[O]&&this.set(g,O),"Macintosh"==this.get(C)&&_i&&typeof _i.standalone!==w&&_i.maxTouchPoints&&_i.maxTouchPoints>2&&this.set(C,"iPad").set(g,A);break;case p:!this.get(f)&&Oi&&Oi[z]&&this.set(f,Oi[z]);break;case m:var i=this.data,detect=function(e){return i[e].getItem().detectFeature().get()};this.set(l,detect(l)).set(c,detect(c)).set(u,detect(u)).set(h,detect(h)).set(p,detect(p))}return this},this.parseUA=function(){return this.itemType!=m&&rgxMapper.call(this.data,this.ua,this.rgxMap),this.itemType==l&&this.set(y,majorize(this.get(k))),this},this.parseCH=function(){var i=this.uaCH,e=this.rgxMap;switch(this.itemType){case l:case h:var t,r=i[E]||i[q];if(r)for(var o in r){var a=r[o].brand||r[o],s=r[o].version;this.itemType==l&&!/not.a.brand/i.test(a)&&(!t||/Chrom/.test(t)&&a!=hi||t==mi&&/WebView2/.test(a))&&(a=strMapper(a,Ii),(t=this.get(f))&&!/Chrom/.test(t)&&/Chrom/.test(a)||this.set(f,a).set(k,s).set(y,majorize(s)),t=a),this.itemType==h&&a==hi&&this.set(k,s)}break;case c:var n=i[x];n&&(n&&"64"==i[B]&&(n+="64"),rgxMapper.call(this.data,n+";",e));break;case u:if(i[O]&&this.set(g,O),i[C]&&(this.set(C,i[C]),!this.get(g)||!this.get(v))){var w={};rgxMapper.call(w,"droid 9; "+i[C]+")",e),!this.get(g)&&w.type&&this.set(g,w.type),!this.get(v)&&w.vendor&&this.set(v,w.vendor)}if(i[P]){var b;if("string"!=typeof i[P])for(var d=0;!b&&d<i[P].length;)b=strMapper(i[P][d++],Si);else b=strMapper(i[P],Si);this.set(g,b)}break;case p:var _=i[z];if(_){var A=i[H];_==Ci&&(A=parseInt(majorize(A),10)>=13?"11":"10"),this.set(f,_).set(k,A)}this.get(f)==Ci&&"Xbox"==i[C]&&this.set(f,"Xbox").set(k,void 0);break;case m:var S=this.data,parse=function(e){return S[e].getItem().setCH(i).parseCH().get()};this.set(l,parse(l)).set(c,parse(c)).set(u,parse(u)).set(h,parse(h)).set(p,parse(p))}return this},setProps.call(this,[["itemType",i],["ua",e],["uaCH",r],["rgxMap",t],["data",createIData(this,i)]]),this}function UAParser(i,e,t){if(typeof i===b?(isExtensions(i,!0)?(typeof e===b&&(t=e),e=i):(t=i,e=void 0),i=void 0):typeof i!==d||isExtensions(e,!0)||(t=e,e=void 0),t&&typeof t.append===n){var r={};t.forEach(function(i,e){r[e]=i}),t=r}if(!(this instanceof UAParser))return new UAParser(i,e,t).getResult();var o=typeof i===d?i:t&&t[a]?t[a]:_i&&_i.userAgent?_i.userAgent:s,w=new UACHData(t,!0),f=e?function(i,e){var t={},r=e;if(!isExtensions(e))for(var o in r={},e)for(var a in e[o])r[a]=e[o][a].concat(r[a]?r[a]:[]);for(var s in i)t[s]=r[s]&&r[s].length%2==0?r[s].concat(i[s]):i[s];return t}(Ti,e):Ti,createItemFunc=function(i){return i==m?function(){return new UAItem(i,o,f,w).set("ua",o).set(l,this.getBrowser()).set(c,this.getCPU()).set(u,this.getDevice()).set(h,this.getEngine()).set(p,this.getOS()).get()}:function(){return new UAItem(i,o,f[i],w).parseUA().get()}};return setProps.call(this,[["getBrowser",createItemFunc(l)],["getCPU",createItemFunc(c)],["getDevice",createItemFunc(u)],["getEngine",createItemFunc(h)],["getOS",createItemFunc(p)],["getResult",createItemFunc(m)],["getUA",function(){return o}],["setUA",function(i){return isString(i)&&(o=i.length>500?trim(i,500):i),this}]]).setUA(o),this}UAParser.VERSION="2.0.4",UAParser.BROWSER=enumerize([f,k,y,g]),UAParser.CPU=enumerize([x]),UAParser.DEVICE=enumerize([C,v,g,_,O,S,A,I,M]),UAParser.ENGINE=UAParser.OS=enumerize([f,k]);const Ui=e(void 0),MobileProvider=({userAgent:e,children:t})=>{const{isMobile:o,isTablet:a}=(i=>{const e=new UAParser(i).getDevice();return{isMobile:"mobile"===e.type,isTablet:"tablet"===e.type}})(e),s=r(()=>({isMobile:o,isTablet:a,userAgent:e}),[o,a,e]);return i(Ui.Provider,{value:s,children:t})},useMobile=()=>{if("true"===process.env.STORYBOOK_FORCE_MOBILE)return!0;if("false"===process.env.STORYBOOK_FORCE_MOBILE)return!1;const i=t(Ui);if(void 0===i)throw new Error("useMobile must be used within a MobileProvider");return i.isMobile},useTablet=()=>{if("true"===process.env.STORYBOOK_FORCE_MOBILE)return!1;const i=t(Ui);if(void 0===i)throw new Error("useTablet must be used within a MobileProvider");return i.isTablet};export{MobileProvider,Ui as default,useMobile,useTablet};
1
+ "use client";import{jsx as i}from"react/jsx-runtime";import{createContext as e,useContext as t,useState as o,useEffect as r,useMemo as a}from"react";var s,n="user-agent",w="",b="function",d="undefined",l="object",c="string",u="browser",h="cpu",p="device",m="engine",f="os",v="result",g="name",k="type",x="vendor",y="version",C="architecture",_="major",O="model",T="console",A="mobile",M="tablet",S="smarttv",I="wearable",U="xr",E="embedded",q="inapp",P="brands",z="formFactors",H="fullVersionList",B="platform",D="platformVersion",j="bitness",V="sec-ch-ua",R=V+"-full-version-list",L=V+"-arch",F=V+"-"+j,W=V+"-form-factors",N=V+"-"+A,G=V+"-"+O,$=V+"-"+B,X=$+"-version",Y=[P,H,A,O,B,D,C,z,j],K="Amazon",Q="Apple",Z="ASUS",J="BlackBerry",ii="Google",ei="Huawei",ti="Lenovo",oi="Honor",ri="LG",ai="Microsoft",si="Motorola",ni="Nvidia",wi="OnePlus",bi="OPPO",di="Samsung",li="Sharp",ci="Sony",ui="Xiaomi",hi="Zebra",pi="Chrome",mi="Chromium",fi="Chromecast",vi="Edge",gi="Firefox",ki="Opera",xi="Facebook",yi="Sogou",Ci="Mobile ",_i=" Browser",Oi="Windows",Ti=typeof window!==d&&window.navigator?window.navigator:void 0,Ai=Ti&&Ti.userAgentData?Ti.userAgentData:void 0,enumerize=function(i){for(var e={},t=0;t<i.length;t++)e[i[t].toUpperCase()]=i[t];return e},has=function(i,e){if(typeof i===l&&i.length>0){for(var t in i)if(lowerize(e)==lowerize(i[t]))return!0;return!1}return!!isString(i)&&lowerize(e)==lowerize(i)},isExtensions=function(i,e){for(var t in i)return/^(browser|cpu|device|engine|os)$/.test(t)||!!e&&isExtensions(i[t])},isString=function(i){return typeof i===c},itemListToArray=function(i){if(i){for(var e=[],t=strip(/\\?\"/g,i).split(","),o=0;o<t.length;o++)if(t[o].indexOf(";")>-1){var r=trim(t[o]).split(";v=");e[o]={brand:r[0],version:r[1]}}else e[o]=trim(t[o]);return e}},lowerize=function(i){return isString(i)?i.toLowerCase():i},majorize=function(i){return isString(i)?strip(/[^\d\.]/g,i).split(".")[0]:void 0},setProps=function(i){for(var e in i){var t=i[e];typeof t==l&&2==t.length?this[t[0]]=t[1]:this[t]=void 0}return this},strip=function(i,e){return isString(e)?e.replace(i,w):e},stripQuotes=function(i){return strip(/\\?\"/g,i)},trim=function(i,e){if(isString(i))return i=strip(/^\s\s*/,i),typeof e===d?i:i.substring(0,500)},rgxMapper=function(i,e){if(i&&e)for(var t,o,r,a,s,n,w=0;w<e.length&&!s;){var d=e[w],c=e[w+1];for(t=o=0;t<d.length&&!s&&d[t];)if(s=d[t++].exec(i))for(r=0;r<c.length;r++)n=s[++o],typeof(a=c[r])===l&&a.length>0?2===a.length?typeof a[1]==b?this[a[0]]=a[1].call(this,n):this[a[0]]=a[1]:a.length>=3&&(typeof a[1]!==b||a[1].exec&&a[1].test?3==a.length?this[a[0]]=n?n.replace(a[1],a[2]):void 0:4==a.length?this[a[0]]=n?a[3].call(this,n.replace(a[1],a[2])):void 0:a.length>4&&(this[a[0]]=n?a[3].apply(this,[n.replace(a[1],a[2])].concat(a.slice(4))):void 0):a.length>3?this[a[0]]=n?a[1].apply(this,a.slice(2)):void 0:this[a[0]]=n?a[1].call(this,n,a[2]):void 0):this[a]=n||void 0;w+=2}},strMapper=function(i,e){for(var t in e)if(typeof e[t]===l&&e[t].length>0){for(var o=0;o<e[t].length;o++)if(has(e[t][o],i))return"?"===t?void 0:t}else if(has(e[t],i))return"?"===t?void 0:t;return e.hasOwnProperty("*")?e["*"]:i},Mi={ME:"4.90","NT 3.51":"3.51","NT 4.0":"4.0",2e3:["5.0","5.01"],XP:["5.1","5.2"],Vista:"6.0",7:"6.1",8:"6.2",8.1:"6.3",10:["6.4","10.0"],NT:""},Si={embedded:"Automotive",mobile:"Mobile",tablet:["Tablet","EInk"],smarttv:"TV",wearable:"Watch",xr:["VR","XR"],"?":["Desktop","Unknown"],"*":void 0},Ii={Chrome:"Google Chrome",Edge:"Microsoft Edge","Edge WebView2":"Microsoft Edge WebView2","Chrome WebView":"Android WebView","Chrome Headless":"HeadlessChrome","Huawei Browser":"HuaweiBrowser","MIUI Browser":"Miui Browser","Opera Mobi":"OperaMobile",Yandex:"YaBrowser"},Ui={browser:[[/\b(?:crmo|crios)\/([\w\.]+)/i],[y,[g,Ci+"Chrome"]],[/webview.+edge\/([\w\.]+)/i],[y,[g,vi+" WebView"]],[/edg(?:e|ios|a)?\/([\w\.]+)/i],[y,[g,"Edge"]],[/(opera mini)\/([-\w\.]+)/i,/(opera [mobiletab]{3,6})\b.+version\/([-\w\.]+)/i,/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i],[g,y],[/opios[\/ ]+([\w\.]+)/i],[y,[g,ki+" Mini"]],[/\bop(?:rg)?x\/([\w\.]+)/i],[y,[g,ki+" GX"]],[/\bopr\/([\w\.]+)/i],[y,[g,ki]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i],[y,[g,"Baidu"]],[/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i],[y,[g,"Maxthon"]],[/(kindle)\/([\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer|sleipnir)[\/ ]?([\w\.]*)/i,/(avant|iemobile|slim(?:browser|boat|jet))[\/ ]?([\d\.]*)/i,/(?:ms|\()(ie) ([\w\.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron|vivaldi|iridium|phantomjs|bowser|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|duckduckgo|klar|helio|(?=comodo_)?dragon|otter|dooble|(?:lg |qute)browser)\/([-\w\.]+)/i,/(heytap|ovi|115|surf)browser\/([\d\.]+)/i,/(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i],[g,y],[/quark(?:pc)?\/([-\w\.]+)/i],[y,[g,"Quark"]],[/\bddg\/([\w\.]+)/i],[y,[g,"DuckDuckGo"]],[/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i],[y,[g,"UCBrowser"]],[/microm.+\bqbcore\/([\w\.]+)/i,/\bqbcore\/([\w\.]+).+microm/i,/micromessenger\/([\w\.]+)/i],[y,[g,"WeChat"]],[/konqueror\/([\w\.]+)/i],[y,[g,"Konqueror"]],[/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i],[y,[g,"IE"]],[/ya(?:search)?browser\/([\w\.]+)/i],[y,[g,"Yandex"]],[/slbrowser\/([\w\.]+)/i],[y,[g,"Smart "+ti+_i]],[/(avast|avg)\/([\w\.]+)/i],[[g,/(.+)/,"$1 Secure"+_i],y],[/\bfocus\/([\w\.]+)/i],[y,[g,gi+" Focus"]],[/\bopt\/([\w\.]+)/i],[y,[g,ki+" Touch"]],[/coc_coc\w+\/([\w\.]+)/i],[y,[g,"Coc Coc"]],[/dolfin\/([\w\.]+)/i],[y,[g,"Dolphin"]],[/coast\/([\w\.]+)/i],[y,[g,ki+" Coast"]],[/miuibrowser\/([\w\.]+)/i],[y,[g,"MIUI"+_i]],[/fxios\/([\w\.-]+)/i],[y,[g,Ci+gi]],[/\bqihoobrowser\/?([\w\.]*)/i],[y,[g,"360"]],[/\b(qq)\/([\w\.]+)/i],[[g,/(.+)/,"$1Browser"],y],[/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i],[[g,/(.+)/,"$1"+_i],y],[/samsungbrowser\/([\w\.]+)/i],[y,[g,di+" Internet"]],[/metasr[\/ ]?([\d\.]+)/i],[y,[g,yi+" Explorer"]],[/(sogou)mo\w+\/([\d\.]+)/i],[[g,yi+" Mobile"],y],[/(electron)\/([\w\.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w\.]+))/i,/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i],[g,y],[/(lbbrowser|rekonq)/i],[g],[/ome\/([\w\.]+) \w* ?(iron) saf/i,/ome\/([\w\.]+).+qihu (360)[es]e/i],[y,g],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i],[[g,xi],y,[k,q]],[/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,/(naver)\(.*?(\d+\.[\w\.]+).*\)/i,/(daum)apps[\/ ]([\w\.]+)/i,/safari (line)\/([\w\.]+)/i,/\b(line)\/([\w\.]+)\/iab/i,/(alipay)client\/([\w\.]+)/i,/(twitter)(?:and| f.+e\/([\w\.]+))/i,/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i],[g,y,[k,q]],[/\bgsa\/([\w\.]+) .*safari\//i],[y,[g,"GSA"],[k,q]],[/musical_ly(?:.+app_?version\/|_)([\w\.]+)/i],[y,[g,"TikTok"],[k,q]],[/\[(linkedin)app\]/i],[g,[k,q]],[/(chromium)[\/ ]([-\w\.]+)/i],[g,y],[/headlesschrome(?:\/([\w\.]+)| )/i],[y,[g,pi+" Headless"]],[/wv\).+chrome\/([\w\.]+).+edgw\//i],[y,[g,vi+" WebView2"]],[/ wv\).+(chrome)\/([\w\.]+)/i],[[g,pi+" WebView"],y],[/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i],[y,[g,"Android"+_i]],[/chrome\/([\w\.]+) mobile/i],[y,[g,Ci+"Chrome"]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i],[g,y],[/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i],[y,[g,Ci+"Safari"]],[/iphone .*mobile(?:\/\w+ | ?)safari/i],[[g,Ci+"Safari"]],[/version\/([\w\.\,]+) .*(safari)/i],[y,g],[/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i],[g,[y,"1"]],[/(webkit|khtml)\/([\w\.]+)/i],[g,y],[/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i],[[g,Ci+gi],y],[/(navigator|netscape\d?)\/([-\w\.]+)/i],[[g,"Netscape"],y],[/(wolvic|librewolf)\/([\w\.]+)/i],[g,y],[/mobile vr; rv:([\w\.]+)\).+firefox/i],[y,[g,gi+" Reality"]],[/ekiohf.+(flow)\/([\w\.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror)[\/ ]?([\w\.\+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w\.]+)$/i,/(firefox)\/([\w\.]+)/i,/(mozilla)\/([\w\.]+) .+rv\:.+gecko\/\d+/i,/(amaya|dillo|doris|icab|ladybird|lynx|mosaic|netsurf|obigo|polaris|w3m|(?:go|ice|up)[\. ]?browser)[-\/ ]?v?([\w\.]+)/i,/\b(links) \(([\w\.]+)/i],[g,[y,/_/g,"."]],[/(cobalt)\/([\w\.]+)/i],[g,[y,/[^\d\.]+./,w]]],cpu:[[/\b((amd|x|x86[-_]?|wow|win)64)\b/i],[[C,"amd64"]],[/(ia32(?=;))/i,/\b((i[346]|x)86)(pc)?\b/i],[[C,"ia32"]],[/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i],[[C,"arm64"]],[/\b(arm(v[67])?ht?n?[fl]p?)\b/i],[[C,"armhf"]],[/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i],[[C,"arm"]],[/((ppc|powerpc)(64)?)( mac|;|\))/i],[[C,/ower/,w,lowerize]],[/ sun4\w[;\)]/i],[[C,"sparc"]],[/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i],[[C,lowerize]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[O,[x,di],[k,M]],[/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,/samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,/sec-(sgh\w+)/i],[O,[x,di],[k,A]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[O,[x,Q],[k,A]],[/\((ipad);[-\w\),; ]+apple/i,/applecoremedia\/[\w\.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[O,[x,Q],[k,M]],[/(macintosh);/i],[O,[x,Q]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[O,[x,li],[k,A]],[/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i],[O,[x,oi],[k,M]],[/honor([-\w ]+)[;\)]/i],[O,[x,oi],[k,A]],[/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i],[O,[x,ei],[k,M]],[/(?:huawei)([-\w ]+)[;\)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][012359c][adn]?)\b(?!.+d\/s)/i],[O,[x,ei],[k,A]],[/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,/\b((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i],[[O,/_/g," "],[x,ui],[k,M]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?(?:note|k)?[\w_ ]+)(?: bui|\))/i,/oid[^\)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\d?\w?)[_ ]?(?:plus|se|lite|pro)?)(?: bui|\))/i,/ ([\w ]+) miui\/v?\d/i],[[O,/_/g," "],[x,ui],[k,A]],[/droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-k]\w[1m]10)\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[O,[x,wi],[k,A]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[O,[x,bi],[k,A]],[/\b(opd2(\d{3}a?))(?: bui|\))/i],[O,[x,strMapper,{OnePlus:["203","304","403","404","413","415"],"*":bi}],[k,M]],[/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i],[O,[x,"BLU"],[k,A]],[/; vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[O,[x,"Vivo"],[k,A]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[O,[x,"Realme"],[k,A]],[/(ideatab[-\w ]+|602lv|d-42a|a101lv|a2109a|a3500-hv|s[56]000|pb-6505[my]|tb-?x?\d{3,4}(?:f[cu]|xu|[av])|yt\d?-[jx]?\d+[lfmx])( bui|;|\)|\/)/i,/lenovo ?(b[68]0[08]0-?[hf]?|tab(?:[\w- ]+?)|tb[\w-]{6,7})( bui|;|\)|\/)/i],[O,[x,ti],[k,M]],[/lenovo[-_ ]?([-\w ]+?)(?: bui|\)|\/)/i],[O,[x,ti],[k,A]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ]([\w\s]+)(\)| bui)/i,/((?:moto(?! 360)[-\w\(\) ]+|xt\d{3,4}[cgkosw\+]?[-\d]*|nexus 6)(?= bui|\)))/i],[O,[x,si],[k,A]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[O,[x,si],[k,M]],[/((?=lg)?[vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[O,[x,ri],[k,M]],[/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,/\blg-?([\d\w]+) bui/i],[O,[x,ri],[k,A]],[/(nokia) (t[12][01])/i],[x,O,[k,M]],[/(?:maemo|nokia).*(n900|lumia \d+|rm-\d+)/i,/nokia[-_ ]?(([-\w\. ]*))/i],[[O,/_/g," "],[k,A],[x,"Nokia"]],[/(pixel (c|tablet))\b/i],[O,[x,ii],[k,M]],[/droid.+;(?: google)? (g(01[13]a|020[aem]|025[jn]|1b60|1f8f|2ybb|4s1m|576d|5nz6|8hhn|8vou|a02099|c15s|d1yq|e2ae|ec77|gh2x|kv4x|p4bc|pj41|r83y|tt9q|ur25|wvk6)|pixel[\d ]*a?( pro)?( xl)?( fold)?( \(5g\))?)( bui|\))/i],[O,[x,ii],[k,A]],[/(google) (pixelbook( go)?)/i],[x,O],[/droid.+; (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-\w\w\d\d)(?= bui|\).+chrome\/(?![1-6]{0,1}\d\.))/i],[O,[x,ci],[k,A]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[O,"Xperia Tablet"],[x,ci],[k,M]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo(?!bc)\w\w)( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[O,[x,K],[k,M]],[/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i],[[O,/(.+)/g,"Fire Phone $1"],[x,K],[k,A]],[/(playbook);[-\w\),; ]+(rim)/i],[O,x,[k,M]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[O,[x,J],[k,A]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[O,[x,Z],[k,M]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[O,[x,Z],[k,A]],[/(nexus 9)/i],[O,[x,"HTC"],[k,M]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!(?:;|\.))|sony(?!-bra))[-_ ]?([-\w]*)/i],[x,[O,/_/g," "],[k,A]],[/tcl (xess p17aa)/i,/droid [\w\.]+; ((?:8[14]9[16]|9(?:0(?:48|60|8[01])|1(?:3[27]|66)|2(?:6[69]|9[56])|466))[gqswx])(_\w(\w|\w\w))?(\)| bui)/i],[O,[x,"TCL"],[k,M]],[/droid [\w\.]+; (418(?:7d|8v)|5087z|5102l|61(?:02[dh]|25[adfh]|27[ai]|56[dh]|59k|65[ah])|a509dl|t(?:43(?:0w|1[adepqu])|50(?:6d|7[adju])|6(?:09dl|10k|12b|71[efho]|76[hjk])|7(?:66[ahju]|67[hw]|7[045][bh]|71[hk]|73o|76[ho]|79w|81[hks]?|82h|90[bhsy]|99b)|810[hs]))(_\w(\w|\w\w))?(\)| bui)/i],[O,[x,"TCL"],[k,A]],[/(itel) ((\w+))/i],[[x,lowerize],O,[k,strMapper,{tablet:["p10001l","w7001"],"*":"mobile"}]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[O,[x,"Acer"],[k,M]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[O,[x,"Meizu"],[k,A]],[/; ((?:power )?armor(?:[\w ]{0,8}))(?: bui|\))/i],[O,[x,"Ulefone"],[k,A]],[/; (energy ?\w+)(?: bui|\))/i,/; energizer ([\w ]+)(?: bui|\))/i],[O,[x,"Energizer"],[k,A]],[/; cat (b35);/i,/; (b15q?|s22 flip|s48c|s62 pro)(?: bui|\))/i],[O,[x,"Cat"],[k,A]],[/((?:new )?andromax[\w- ]+)(?: bui|\))/i],[O,[x,"Smartfren"],[k,A]],[/droid.+; (a(in)?(0(15|59|6[35])|142)p?)/i],[O,[x,"Nothing"],[k,A]],[/; (x67 5g|tikeasy \w+|ac[1789]\d\w+)( b|\))/i,/archos ?(5|gamepad2?|([\w ]*[t1789]|hello) ?\d+[\w ]*)( b|\))/i],[O,[x,"Archos"],[k,M]],[/archos ([\w ]+)( b|\))/i,/; (ac[3-6]\d\w{2,8})( b|\))/i],[O,[x,"Archos"],[k,A]],[/; (n159v)/i],[O,[x,"HMD"],[k,A]],[/(imo) (tab \w+)/i,/(infinix|tecno) (x1101b?|p904|dp(7c|8d|10a)( pro)?|p70[1-3]a?|p904|t1101)/i],[x,O,[k,M]],[/(blackberry|benq|palm(?=\-)|sonyericsson|acer|asus(?! zenw)|dell|jolla|meizu|motorola|polytron|tecno|micromax|advan)[-_ ]?([-\w]*)/i,/; (blu|hmd|imo|infinix|lava|oneplus|tcl)[_ ]([\w\+ ]+?)(?: bui|\)|; r)/i,/(hp) ([\w ]+\w)/i,/(microsoft); (lumia[\w ]+)/i,/(oppo) ?([\w ]+) bui/i],[x,O,[k,A]],[/(kobo)\s(ereader|touch)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w\.]+)/i],[x,O,[k,M]],[/(surface duo)/i],[O,[x,ai],[k,M]],[/droid [\d\.]+; (fp\du?)(?: b|\))/i],[O,[x,"Fairphone"],[k,A]],[/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i],[O,[x,ni],[k,M]],[/(sprint) (\w+)/i],[x,O,[k,A]],[/(kin\.[onetw]{3})/i],[[O,/\./g," "],[x,ai],[k,A]],[/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[O,[x,hi],[k,M]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[O,[x,hi],[k,A]],[/smart-tv.+(samsung)/i],[x,[k,S]],[/hbbtv.+maple;(\d+)/i],[[O,/^/,"SmartTV"],[x,di],[k,S]],[/(vizio)(?: |.+model\/)(\w+-\w+)/i,/tcast.+(lg)e?. ([-\w]+)/i],[x,O,[k,S]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[x,ri],[k,S]],[/(apple) ?tv/i],[x,[O,Q+" TV"],[k,S]],[/crkey.*devicetype\/chromecast/i],[[O,fi+" Third Generation"],[x,ii],[k,S]],[/crkey.*devicetype\/([^/]*)/i],[[O,/^/,"Chromecast "],[x,ii],[k,S]],[/fuchsia.*crkey/i],[[O,fi+" Nest Hub"],[x,ii],[k,S]],[/crkey/i],[[O,fi],[x,ii],[k,S]],[/(portaltv)/i],[O,[x,xi],[k,S]],[/droid.+aft(\w+)( bui|\))/i],[O,[x,K],[k,S]],[/(shield \w+ tv)/i],[O,[x,ni],[k,S]],[/\(dtv[\);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[O,[x,li],[k,S]],[/(bravia[\w ]+)( bui|\))/i],[O,[x,ci],[k,S]],[/(mi(tv|box)-?\w+) bui/i],[O,[x,ui],[k,S]],[/Hbbtv.*(technisat) (.*);/i],[x,O,[k,S]],[/\b(roku)[\dx]*[\)\/]((?:dvp-)?[\d\.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i],[[x,/.+\/(\w+)/,"$1",strMapper,{LG:"lge"}],[O,trim],[k,S]],[/droid.+; ([\w- ]+) (?:android tv|smart[- ]?tv)/i],[O,[k,S]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:|large screen[\w ]+safari)\b/i],[[k,S]],[/(playstation \w+)/i],[O,[x,ci],[k,T]],[/\b(xbox(?: one)?(?!; xbox))[\); ]/i],[O,[x,ai],[k,T]],[/(ouya)/i,/(nintendo) (\w+)/i,/(retroid) (pocket ([^\)]+))/i],[x,O,[k,T]],[/droid.+; (shield)( bui|\))/i],[O,[x,ni],[k,T]],[/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i],[O,[x,di],[k,I]],[/((pebble))app/i,/(asus|google|lg|oppo) ((pixel |zen)?watch[\w ]*)( bui|\))/i],[x,O,[k,I]],[/(ow(?:19|20)?we?[1-3]{1,3})/i],[O,[x,bi],[k,I]],[/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i],[O,[x,Q],[k,I]],[/(opwwe\d{3})/i],[O,[x,wi],[k,I]],[/(moto 360)/i],[O,[x,si],[k,I]],[/(smartwatch 3)/i],[O,[x,ci],[k,I]],[/(g watch r)/i],[O,[x,ri],[k,I]],[/droid.+; (wt63?0{2,3})\)/i],[O,[x,hi],[k,I]],[/droid.+; (glass) \d/i],[O,[x,ii],[k,U]],[/(pico) (4|neo3(?: link|pro)?)/i],[x,O,[k,U]],[/(quest( \d| pro)?s?).+vr/i],[O,[x,xi],[k,U]],[/mobile vr; rv.+firefox/i],[[k,U]],[/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i],[x,[k,E]],[/(aeobc)\b/i],[O,[x,K],[k,E]],[/(homepod).+mac os/i],[O,[x,Q],[k,E]],[/windows iot/i],[[k,E]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+?(mobile|vr|\d) safari/i],[O,[k,strMapper,{mobile:"Mobile",xr:"VR","*":M}]],[/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i],[[k,M]],[/(phone|mobile(?:[;\/]| [ \w\/\.]*safari)|pda(?=.+windows ce))/i],[[k,A]],[/droid .+?; ([\w\. -]+)( bui|\))/i],[O,[x,"Generic"]]],engine:[[/windows.+ edge\/([\w\.]+)/i],[y,[g,vi+"HTML"]],[/(arkweb)\/([\w\.]+)/i],[g,y],[/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i],[y,[g,"Blink"]],[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna|servo)\/([\w\.]+)/i,/ekioh(flow)\/([\w\.]+)/i,/(khtml|tasman|links)[\/ ]\(?([\w\.]+)/i,/(icab)[\/ ]([23]\.[\d\.]+)/i,/\b(libweb)/i],[g,y],[/ladybird\//i],[[g,"LibWeb"]],[/rv\:([\w\.]{1,9})\b.+(gecko)/i],[y,g]],os:[[/(windows nt) (6\.[23]); arm/i],[[g,/N/,"R"],[y,strMapper,Mi]],[/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,/(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i],[g,y],[/windows nt ?([\d\.\)]*)(?!.+xbox)/i,/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i],[[y,/(;|\))/g,"",strMapper,Mi],[g,Oi]],[/(windows ce)\/?([\d\.]*)/i],[g,y],[/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[\/ ])([\d\.]+)/i,/cfnetwork\/.+darwin/i],[[y,/_/g,"."],[g,"iOS"]],[/(mac os x) ?([\w\. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i],[[g,"macOS"],[y,/_/g,"."]],[/android ([\d\.]+).*crkey/i],[y,[g,fi+" Android"]],[/fuchsia.*crkey\/([\d\.]+)/i],[y,[g,fi+" Fuchsia"]],[/crkey\/([\d\.]+).*devicetype\/smartspeaker/i],[y,[g,fi+" SmartSpeaker"]],[/linux.*crkey\/([\d\.]+)/i],[y,[g,fi+" Linux"]],[/crkey\/([\d\.]+)/i],[y,[g,fi]],[/droid ([\w\.]+)\b.+(android[- ]x86)/i],[y,g],[/(ubuntu) ([\w\.]+) like android/i],[[g,/(.+)/,"$1 Touch"],y],[/(harmonyos)[\/ ]?([\d\.]*)/i,/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i],[g,y],[/\(bb(10);/i],[y,[g,J]],[/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i],[y,[g,"Symbian"]],[/mozilla\/[\d\.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w\.]+)/i],[y,[g,gi+" OS"]],[/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i],[y,[g,"webOS"]],[/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i],[[y,strMapper,{25:"120",24:"108",23:"94",22:"87",6:"79",5:"68",4:"53",3:"38",2:"538",1:"537","*":"TV"}],[g,"webOS"]],[/watch(?: ?os[,\/]|\d,\d\/)([\d\.]+)/i],[y,[g,"watchOS"]],[/(cros) [\w]+(?:\)| ([\w\.]+)\b)/i],[[g,"Chrome OS"],y],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w\.]+)/i,/(nintendo|playstation) (\w+)/i,/(xbox); +xbox ([^\);]+)/i,/(pico) .+os([\w\.]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w\.]*)/i,/linux.+(mint)[\/\(\) ]?([\w\.]*)/i,/(mageia|vectorlinux|fuchsia|arcaos|arch(?= ?linux))[;l ]([\d\.]*)/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire|knoppix)(?: gnu[\/ ]linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\/ ]?(?!chrom|package)([-\w\.]*)/i,/((?:open)?solaris)[-\/ ]?([\w\.]*)/i,/\b(aix)[; ]([1-9\.]{0,4})/i,/(hurd|linux|morphos)(?: (?:arm|x86|ppc)\w*| ?)([\w\.]*)/i,/(gnu) ?([\w\.]*)/i,/\b([-frentopcghs]{0,5}bsd|dragonfly)[\/ ]?(?!amd|[ix346]{1,2}86)([\w\.]*)/i,/(haiku) ?(r\d)?/i],[g,y],[/(sunos) ?([\d\.]*)/i],[[g,"Solaris"],y],[/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,/(unix) ?([\w\.]*)/i],[g,y]]},Ei=(setProps.call((s={init:{},isIgnore:{},isIgnoreRgx:{},toString:{}}).init,[[u,[g,y,_,k]],[h,[C]],[p,[k,O,x]],[m,[g,y]],[f,[g,y]]]),setProps.call(s.isIgnore,[[u,[y,_]],[m,[y]],[f,[y]]]),setProps.call(s.isIgnoreRgx,[[u,/ ?browser$/i],[f,/ ?os$/i]]),setProps.call(s.toString,[[u,[g,y]],[h,[C]],[p,[x,O]],[m,[g,y]],[f,[g,y]]]),s),createIData=function(i,e){var t=Ei.init[e],o=Ei.isIgnore[e]||0,r=Ei.isIgnoreRgx[e]||0,a=Ei.toString[e]||0;function IData(){setProps.call(this,t)}return IData.prototype.getItem=function(){return i},IData.prototype.withClientHints=function(){return Ai?Ai.getHighEntropyValues(Y).then(function(e){return i.setCH(new UACHData(e,!1)).parseCH().get()}):i.parseCH().get()},IData.prototype.withFeatureCheck=function(){return i.detectFeature().get()},e!=v&&(IData.prototype.is=function(i){var e=!1;for(var t in this)if(this.hasOwnProperty(t)&&!has(o,t)&&lowerize(r?strip(r,this[t]):this[t])==lowerize(r?strip(r,i):i)){if(e=!0,i!=d)break}else if(i==d&&e){e=!e;break}return e},IData.prototype.toString=function(){var i=w;for(var e in a)typeof this[a[e]]!==d&&(i+=(i?" ":w)+this[a[e]]);return i||d}),Ai||(IData.prototype.then=function(i){var e=this,IDataResolve=function(){for(var i in e)e.hasOwnProperty(i)&&(this[i]=e[i])};IDataResolve.prototype={is:IData.prototype.is,toString:IData.prototype.toString};var t=new IDataResolve;return i(t),t}),new IData};function UACHData(i,e){if(i=i||{},setProps.call(this,Y),e)setProps.call(this,[[P,itemListToArray(i[V])],[H,itemListToArray(i[R])],[A,/\?1/.test(i[N])],[O,stripQuotes(i[G])],[B,stripQuotes(i[$])],[D,stripQuotes(i[X])],[C,stripQuotes(i[L])],[z,itemListToArray(i[W])],[j,stripQuotes(i[F])]]);else for(var t in i)this.hasOwnProperty(t)&&typeof i[t]!==d&&(this[t]=i[t])}function UAItem(i,e,t,o){return this.get=function(i){return i?this.data.hasOwnProperty(i)?this.data[i]:void 0:this.data},this.set=function(i,e){return this.data[i]=e,this},this.setCH=function(i){return this.uaCH=i,this},this.detectFeature=function(){if(Ti&&Ti.userAgent==this.ua)switch(this.itemType){case u:Ti.brave&&typeof Ti.brave.isBrave==b&&this.set(g,"Brave");break;case p:!this.get(k)&&Ai&&Ai[A]&&this.set(k,A),"Macintosh"==this.get(O)&&Ti&&typeof Ti.standalone!==d&&Ti.maxTouchPoints&&Ti.maxTouchPoints>2&&this.set(O,"iPad").set(k,M);break;case f:!this.get(g)&&Ai&&Ai[B]&&this.set(g,Ai[B]);break;case v:var i=this.data,detect=function(e){return i[e].getItem().detectFeature().get()};this.set(u,detect(u)).set(h,detect(h)).set(p,detect(p)).set(m,detect(m)).set(f,detect(f))}return this},this.parseUA=function(){return this.itemType!=v&&rgxMapper.call(this.data,this.ua,this.rgxMap),this.itemType==u&&this.set(_,majorize(this.get(y))),this},this.parseCH=function(){var i=this.uaCH,e=this.rgxMap;switch(this.itemType){case u:case m:var t,o=i[H]||i[P];if(o)for(var r in o){var a=o[r].brand||o[r],s=o[r].version;this.itemType==u&&!/not.a.brand/i.test(a)&&(!t||/Chrom/.test(t)&&a!=mi||t==vi&&/WebView2/.test(a))&&(a=strMapper(a,Ii),(t=this.get(g))&&!/Chrom/.test(t)&&/Chrom/.test(a)||this.set(g,a).set(y,s).set(_,majorize(s)),t=a),this.itemType==m&&a==mi&&this.set(y,s)}break;case h:var n=i[C];n&&(n&&"64"==i[j]&&(n+="64"),rgxMapper.call(this.data,n+";",e));break;case p:if(i[A]&&this.set(k,A),i[O]&&(this.set(O,i[O]),!this.get(k)||!this.get(x))){var w={};rgxMapper.call(w,"droid 9; "+i[O]+")",e),!this.get(k)&&w.type&&this.set(k,w.type),!this.get(x)&&w.vendor&&this.set(x,w.vendor)}if(i[z]){var b;if("string"!=typeof i[z])for(var d=0;!b&&d<i[z].length;)b=strMapper(i[z][d++],Si);else b=strMapper(i[z],Si);this.set(k,b)}break;case f:var l=i[B];if(l){var c=i[D];l==Oi&&(c=parseInt(majorize(c),10)>=13?"11":"10"),this.set(g,l).set(y,c)}this.get(g)==Oi&&"Xbox"==i[O]&&this.set(g,"Xbox").set(y,void 0);break;case v:var T=this.data,parse=function(e){return T[e].getItem().setCH(i).parseCH().get()};this.set(u,parse(u)).set(h,parse(h)).set(p,parse(p)).set(m,parse(m)).set(f,parse(f))}return this},setProps.call(this,[["itemType",i],["ua",e],["uaCH",o],["rgxMap",t],["data",createIData(this,i)]]),this}function UAParser(i,e,t){if(typeof i===l?(isExtensions(i,!0)?(typeof e===l&&(t=e),e=i):(t=i,e=void 0),i=void 0):typeof i!==c||isExtensions(e,!0)||(t=e,e=void 0),t&&typeof t.append===b){var o={};t.forEach(function(i,e){o[e]=i}),t=o}if(!(this instanceof UAParser))return new UAParser(i,e,t).getResult();var r=typeof i===c?i:t&&t[n]?t[n]:Ti&&Ti.userAgent?Ti.userAgent:w,a=new UACHData(t,!0),s=e?function(i,e){var t={},o=e;if(!isExtensions(e))for(var r in o={},e)for(var a in e[r])o[a]=e[r][a].concat(o[a]?o[a]:[]);for(var s in i)t[s]=o[s]&&o[s].length%2==0?o[s].concat(i[s]):i[s];return t}(Ui,e):Ui,createItemFunc=function(i){return i==v?function(){return new UAItem(i,r,s,a).set("ua",r).set(u,this.getBrowser()).set(h,this.getCPU()).set(p,this.getDevice()).set(m,this.getEngine()).set(f,this.getOS()).get()}:function(){return new UAItem(i,r,s[i],a).parseUA().get()}};return setProps.call(this,[["getBrowser",createItemFunc(u)],["getCPU",createItemFunc(h)],["getDevice",createItemFunc(p)],["getEngine",createItemFunc(m)],["getOS",createItemFunc(f)],["getResult",createItemFunc(v)],["getUA",function(){return r}],["setUA",function(i){return isString(i)&&(r=i.length>500?trim(i,500):i),this}]]).setUA(r),this}UAParser.VERSION="2.0.4",UAParser.BROWSER=enumerize([g,y,_,k]),UAParser.CPU=enumerize([C]),UAParser.DEVICE=enumerize([O,x,k,T,A,S,M,I,E]),UAParser.ENGINE=UAParser.OS=enumerize([g,y]);const qi=e(void 0),detectDeviceByScreenWidth=()=>{if("undefined"==typeof window)return{isMobile:!1,isTablet:!1};const i=window.innerWidth;return i>=1200?{isMobile:!1,isTablet:!1}:i>=500?{isMobile:!1,isTablet:!0}:{isMobile:!0,isTablet:!1}},MobileProvider=({userAgent:e,children:t})=>{const s=(i=>{const e=new UAParser(i).getDevice();return{isMobile:"mobile"===e.type,isTablet:"tablet"===e.type}})(e),[n,w]=o(()=>detectDeviceByScreenWidth());r(()=>{const handleResize=()=>{w(detectDeviceByScreenWidth())};return w(detectDeviceByScreenWidth()),window.addEventListener("resize",handleResize),()=>{window.removeEventListener("resize",handleResize)}},[]);const b="undefined"!=typeof window?n.isMobile:s.isMobile,d="undefined"!=typeof window?n.isTablet:s.isTablet,l=a(()=>({isMobile:b,isTablet:d,userAgent:e}),[b,d,e]);return i(qi.Provider,{value:l,children:t})},useMobile=()=>{if("true"===process.env.STORYBOOK_FORCE_MOBILE)return!0;if("false"===process.env.STORYBOOK_FORCE_MOBILE)return!1;const i=t(qi);if(void 0===i)throw new Error("useMobile must be used within a MobileProvider");return i.isMobile},useTablet=()=>{if("true"===process.env.STORYBOOK_FORCE_MOBILE)return!1;const i=t(qi);if(void 0===i)throw new Error("useTablet must be used within a MobileProvider");return i.isTablet};export{MobileProvider,qi as default,useMobile,useTablet};
@@ -30,10 +30,10 @@ const Input = React.forwardRef(({ state = 'default', label, value, onChange, hel
30
30
  const baseInputClasses = 'peer w-full h-full bg-transparent outline-none font-medium disabled:text-neutral-light';
31
31
  const baseIconClasses = 'absolute transition-colors duration-300';
32
32
  const containerClasses = cn(baseContainerClasses,
33
- // SSR-safe initial height based on mobile detection, then responsive scaling
33
+ // Enhanced SSR-safe height with notable differences across breakpoints
34
34
  {
35
- 'h-12 sm:h-13 md:h-14 lg:h-14': actualIsMobile,
36
- 'h-14 sm:h-14 md:h-14 lg:h-14': !actualIsMobile,
35
+ 'h-10 sm:h-12 md:h-14 lg:h-16 xl:h-16': actualIsMobile,
36
+ 'h-12 sm:h-14 md:h-16 lg:h-18 xl:h-18': !actualIsMobile,
37
37
  },
38
38
  // Enhanced responsive breakpoints for client-side optimization
39
39
  'transition-all duration-300', {
@@ -44,18 +44,18 @@ const Input = React.forwardRef(({ state = 'default', label, value, onChange, hel
44
44
  }, containerClassName);
45
45
  const labelClasses = cn(baseLabelClasses, {
46
46
  '-top-2.5 bg-white px-1 mx-3 font-medium': isLabelFloated,
47
- // SSR-safe label text sizes with responsive enhancement
48
- 'text-xs sm:text-s md:text-s lg:text-s': isLabelFloated && actualIsMobile,
49
- 'text-s sm:text-s md:text-s lg:text-s': isLabelFloated && !actualIsMobile,
50
- 'text-s sm:text-m md:text-m lg:text-m font-medium': !isLabelFloated && actualIsMobile,
51
- 'text-m sm:text-m md:text-m lg:text-m font-medium': !isLabelFloated && !actualIsMobile,
52
- // Responsive positioning
53
- 'right-1 sm:right-1 md:right-1 lg:right-1': startIcon,
54
- 'right-3 sm:right-3 md:right-3 lg:right-3': !startIcon,
47
+ // Enhanced SSR-safe label text sizes with notable differences
48
+ 'text-xs sm:text-s md:text-m lg:text-l xl:text-l': isLabelFloated && actualIsMobile,
49
+ 'text-s sm:text-m md:text-l lg:text-xl xl:text-xl': isLabelFloated && !actualIsMobile,
50
+ 'text-s sm:text-m md:text-l lg:text-xl xl:text-xl font-medium': !isLabelFloated && actualIsMobile,
51
+ 'text-m sm:text-l md:text-xl lg:text-xl xl:text-xl font-medium': !isLabelFloated && !actualIsMobile,
52
+ // Enhanced responsive positioning
53
+ 'right-1 sm:right-1 md:right-2 lg:right-3 xl:right-3': startIcon,
54
+ 'right-3 sm:right-3 md:right-4 lg:right-5 xl:right-5': !startIcon,
55
55
  'top-1/2 -translate-y-1/2': !isLabelFloated,
56
- // Responsive positioning for non-floated with icons
57
- 'right-11 sm:right-11 md:right-12 lg:right-12': !isLabelFloated && startIcon,
58
- 'right-4 sm:right-4 md:right-4 lg:right-4': !isLabelFloated && !startIcon,
56
+ // Enhanced responsive positioning for non-floated with icons
57
+ 'right-11 sm:right-12 md:right-14 lg:right-16 xl:right-16': !isLabelFloated && startIcon,
58
+ 'right-4 sm:right-5 md:right-6 lg:right-7 xl:right-7': !isLabelFloated && !startIcon,
59
59
  // Colors
60
60
  'text-neutral-main': !isFocused && state === 'default',
61
61
  'text-neutral-light': isDisabled,
@@ -63,27 +63,27 @@ const Input = React.forwardRef(({ state = 'default', label, value, onChange, hel
63
63
  'text-error': isLabelFloated && state === 'error',
64
64
  });
65
65
  const inputClasses = cn(baseInputClasses,
66
- // SSR-safe text size with responsive enhancement
66
+ // Enhanced SSR-safe text size with notable differences
67
67
  {
68
- 'text-s sm:text-m md:text-m lg:text-m': actualIsMobile,
69
- 'text-m sm:text-m md:text-m lg:text-m': !actualIsMobile,
68
+ 'text-s sm:text-m md:text-l lg:text-xl xl:text-xl': actualIsMobile,
69
+ 'text-m sm:text-l md:text-xl lg:text-xl xl:text-xl': !actualIsMobile,
70
70
  }, {
71
- // Responsive padding with icons
72
- 'pr-10 sm:pr-12 md:pr-12 lg:pr-12': startIcon,
73
- 'pl-10 sm:pl-12 md:pl-12 lg:pl-12': endIcon,
74
- 'px-3 sm:px-4 md:px-4 lg:px-4': !startIcon && !endIcon,
75
- 'pr-3 pl-10 sm:pr-4 sm:pl-12 md:pr-4 md:pl-12 lg:pr-4 lg:pl-12': !startIcon && endIcon,
76
- 'pl-3 pr-10 sm:pl-4 sm:pr-12 md:pl-4 md:pr-12 lg:pl-4 lg:pr-12': startIcon && !endIcon,
71
+ // Enhanced responsive padding with icons
72
+ 'pr-8 sm:pr-10 md:pr-12 lg:pr-14 xl:pr-16': startIcon,
73
+ 'pl-8 sm:pl-10 md:pl-12 lg:pl-14 xl:pl-16': endIcon,
74
+ 'px-2 sm:px-3 md:px-4 lg:px-5 xl:px-6': !startIcon && !endIcon,
75
+ 'pr-2 pl-8 sm:pr-3 sm:pl-10 md:pr-4 md:pl-12 lg:pr-5 lg:pl-14 xl:pr-6 xl:pl-16': !startIcon && endIcon,
76
+ 'pl-2 pr-8 sm:pl-3 sm:pr-10 md:pl-4 md:pr-12 lg:pl-5 lg:pr-14 xl:pl-6 xl:pr-16': startIcon && !endIcon,
77
77
  // States
78
78
  'cursor-not-allowed text-red-500': isDisabled,
79
79
  'text-neutral-dark': !isFocused,
80
80
  'text-neutral-darker': isFocused,
81
81
  });
82
82
  const iconClasses = cn(baseIconClasses,
83
- // SSR-safe icon size with responsive enhancement
83
+ // Enhanced SSR-safe icon size with notable differences
84
84
  {
85
- 'h-4 w-4 sm:h-5 sm:w-5 md:h-5 md:w-5 lg:h-6 lg:w-6': actualIsMobile,
86
- 'h-5 w-5 sm:h-5 sm:w-5 md:h-6 md:w-6 lg:h-6 lg:w-6': !actualIsMobile,
85
+ 'h-3 w-3 sm:h-4 sm:w-4 md:h-5 md:w-5 lg:h-6 lg:w-6 xl:h-7 xl:w-7': actualIsMobile,
86
+ 'h-4 w-4 sm:h-5 sm:w-5 md:h-6 md:w-6 lg:h-7 lg:w-7 xl:h-8 xl:w-8': !actualIsMobile,
87
87
  }, {
88
88
  'text-neutral-main': state !== 'error' && !isFocused,
89
89
  'text-primary': state === 'default' && isFocused,
@@ -91,11 +91,11 @@ const Input = React.forwardRef(({ state = 'default', label, value, onChange, hel
91
91
  'text-neutral-light': isDisabled,
92
92
  });
93
93
  const helperTextClasses = cn('font-light mt-1 h-4',
94
- // Responsive padding and text size
95
- 'px-2 sm:px-2 md:px-3 lg:px-3', {
96
- // SSR-safe text sizing with responsive enhancement
97
- 'text-xs sm:text-s md:text-s lg:text-s': actualIsMobile,
98
- 'text-s sm:text-s md:text-s lg:text-s': !actualIsMobile,
94
+ // Enhanced responsive padding and text size
95
+ 'px-2 sm:px-3 md:px-4 lg:px-5 xl:px-6', {
96
+ // Enhanced SSR-safe text sizing with notable differences
97
+ 'text-xs sm:text-s md:text-m lg:text-l xl:text-l': actualIsMobile,
98
+ 'text-s sm:text-m md:text-l lg:text-xl xl:text-xl': !actualIsMobile,
99
99
  }, {
100
100
  'text-neutral-main': state === 'default',
101
101
  'text-primary': state === 'default' && isFocused,
@@ -104,7 +104,7 @@ const Input = React.forwardRef(({ state = 'default', label, value, onChange, hel
104
104
  });
105
105
  // If both label and placeholder are provided, hide placeholder when not focused
106
106
  const computedPlaceholder = placeholder && !isFocused ? undefined : placeholder;
107
- return (jsxs("div", { children: [jsxs("div", { className: containerClasses, children: [endIcon && (jsx("span", { className: cn(iconClasses, 'left-3 sm:left-4 md:left-4 lg:left-4'), children: endIcon })), jsx("label", { htmlFor: id, className: labelClasses, children: label }), jsx("input", { ref: ref, id: id, type: type, value: value, onChange: onChange, onFocus: handleFocus, onBlur: handleBlur, disabled: isDisabled, placeholder: computedPlaceholder, className: inputClasses, ...props }), startIcon && (jsx("span", { className: cn(iconClasses, 'right-3 sm:right-4 md:right-4 lg:right-4'), children: startIcon }))] }), helperText && jsx("p", { className: helperTextClasses, children: helperText })] }));
107
+ return (jsxs("div", { children: [jsxs("div", { className: containerClasses, children: [endIcon && (jsx("span", { className: cn(iconClasses, 'left-2 sm:left-3 md:left-4 lg:left-5 xl:left-6'), children: endIcon })), jsx("label", { htmlFor: id, className: labelClasses, children: label }), jsx("input", { ref: ref, id: id, type: type, value: value, onChange: onChange, onFocus: handleFocus, onBlur: handleBlur, disabled: isDisabled, placeholder: computedPlaceholder, className: inputClasses, ...props }), startIcon && (jsx("span", { className: cn(iconClasses, 'right-2 sm:right-3 md:right-4 lg:right-5 xl:right-6'), children: startIcon }))] }), helperText && jsx("p", { className: helperTextClasses, children: helperText })] }));
108
108
  });
109
109
  Input.displayName = 'Input';
110
110
 
@@ -79,8 +79,8 @@ const Menu = React.forwardRef(({ buttonText, items, disabled = false, className,
79
79
  const buttonClasses = cn(
80
80
  // Base button styles matching Figma design
81
81
  'inline-flex items-center justify-center', 'bg-white border border-neutral-light', 'rounded-md transition-colors duration-200',
82
- // Responsive padding and sizing
83
- 'px-3 py-2 sm:px-4 sm:py-3 md:px-4 md:py-3 lg:px-5 lg:py-3', 'min-w-20 sm:min-w-24 md:min-w-28 lg:min-w-32',
82
+ // Enhanced responsive padding and sizing with notable differences
83
+ 'px-2 py-1 sm:px-3 sm:py-2 md:px-4 md:py-3 lg:px-6 lg:py-4 xl:px-8 xl:py-5', 'min-w-16 sm:min-w-20 md:min-w-24 lg:min-w-32 xl:min-w-40',
84
84
  // Interactive states
85
85
  'hover:bg-neutral-lighter', 'focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-2',
86
86
  // Disabled state
@@ -91,21 +91,21 @@ const Menu = React.forwardRef(({ buttonText, items, disabled = false, className,
91
91
  const dropdownClasses = cn(
92
92
  // Base dropdown styles
93
93
  'absolute top-full z-10 mt-1', 'bg-white border border-neutral-light', 'rounded-md shadow-lg',
94
- // Responsive positioning and sizing
95
- 'left-0 right-0 sm:left-0 sm:right-auto sm:min-w-48 md:min-w-52 lg:min-w-56',
96
- // Responsive padding
97
- 'py-2 px-3 sm:py-3 sm:px-4 md:py-3 md:px-4 lg:py-4 lg:px-5',
94
+ // Enhanced responsive positioning and sizing with notable differences
95
+ 'left-0 right-0 sm:left-0 sm:right-auto sm:min-w-40 md:min-w-48 lg:min-w-56 xl:min-w-64',
96
+ // Enhanced responsive padding
97
+ 'py-1 px-2 sm:py-2 sm:px-3 md:py-3 md:px-4 lg:py-4 lg:px-6 xl:py-5 xl:px-8',
98
98
  // Animation
99
99
  'transition-all duration-200', {
100
100
  'opacity-100 translate-y-0 pointer-events-auto': isOpen,
101
101
  'opacity-0 -translate-y-2 pointer-events-none': !isOpen,
102
102
  });
103
103
  const itemClasses = cn('block w-full text-right', 'transition-colors duration-200', 'hover:bg-neutral-lighter rounded', 'focus:outline-none focus:bg-neutral-lighter',
104
- // Responsive padding
105
- 'px-2 py-1 sm:px-2 sm:py-2 md:px-3 md:py-2 lg:px-3 lg:py-2',
106
- // Responsive margins
107
- '-mx-2 sm:-mx-2 md:-mx-3 lg:-mx-3');
108
- return (jsx("div", { ref: ref, className: cn('relative inline-block', className), ...props, children: jsxs("div", { ref: menuRef, children: [jsx("button", { ref: buttonRef, type: "button", className: buttonClasses, onClick: handleToggle, onKeyDown: handleKeyDown, disabled: disabled, "aria-expanded": isOpen, "aria-haspopup": "true", "aria-label": ariaLabel || `منوی ${buttonText}`, children: jsx(Typography, { variant: "body-s-heavy", color: "neutral-darker", className: "text-right", children: buttonText }) }), jsx("div", { className: dropdownClasses, children: jsx("div", { className: "flex flex-col gap-2 sm:gap-3 md:gap-4 lg:gap-4", children: items.map((item) => {
104
+ // Enhanced responsive padding with notable differences
105
+ 'px-1 py-0.5 sm:px-2 sm:py-1 md:px-3 md:py-2 lg:px-4 lg:py-3 xl:px-5 xl:py-4',
106
+ // Enhanced responsive margins
107
+ '-mx-1 sm:-mx-2 md:-mx-3 lg:-mx-4 xl:-mx-5');
108
+ return (jsx("div", { ref: ref, className: cn('relative inline-block', className), ...props, children: jsxs("div", { ref: menuRef, children: [jsx("button", { ref: buttonRef, type: "button", className: buttonClasses, onClick: handleToggle, onKeyDown: handleKeyDown, disabled: disabled, "aria-expanded": isOpen, "aria-haspopup": "true", "aria-label": ariaLabel || `منوی ${buttonText}`, children: jsx(Typography, { variant: "body-s-heavy", color: "neutral-darker", className: "text-right", children: buttonText }) }), jsx("div", { className: dropdownClasses, children: jsx("div", { className: "flex flex-col gap-1 sm:gap-2 md:gap-3 lg:gap-4 xl:gap-5", children: items.map((item) => {
109
109
  const content = (jsx(Typography, { variant: "body-s-heavy", color: item.disabled ? 'neutral-main' : 'neutral-darker', className: "text-right", children: item.label }));
110
110
  const commonProps = {
111
111
  className: cn(itemClasses, {
@@ -2,30 +2,30 @@ import React from 'react';
2
2
  import cn from './utils.js';
3
3
 
4
4
  const variantClasses = {
5
- // Headings with Fat weight (900) - Responsive scaling
6
- h1: 'text-h3 sm:text-h2 md:text-h1 lg:text-h1 xl:text-h1 font-fat',
7
- h2: 'text-h4 sm:text-h3 md:text-h2 lg:text-h2 xl:text-h2 font-fat',
8
- h3: 'text-h5 sm:text-h4 md:text-h3 lg:text-h3 xl:text-h3 font-fat',
9
- h4: 'text-h6 sm:text-h5 md:text-h4 lg:text-h4 xl:text-h4 font-heavy',
10
- h5: 'text-l sm:text-xl md:text-h5 lg:text-h5 xl:text-h5 font-heavy',
11
- h6: 'text-m sm:text-l md:text-h6 lg:text-h6 xl:text-h6 font-heavy',
12
- // Body Copy with specific weight variants - Responsive scaling
13
- 'body-xl-heavy': 'text-l sm:text-xl md:text-xl lg:text-xl xl:text-xl font-heavy',
14
- 'body-l-heavy': 'text-m sm:text-l md:text-l lg:text-l xl:text-l font-heavy',
15
- 'body-l-bold': 'text-m sm:text-l md:text-l lg:text-l xl:text-l font-bold',
16
- 'body-l-medium': 'text-m sm:text-l md:text-l lg:text-l xl:text-l font-medium',
17
- 'body-m-heavy': 'text-s sm:text-m md:text-m lg:text-m xl:text-m font-heavy',
18
- 'body-m-bold': 'text-s sm:text-m md:text-m lg:text-m xl:text-m font-bold',
19
- 'body-m-medium': 'text-s sm:text-m md:text-m lg:text-m xl:text-m font-medium',
20
- 'body-s-heavy': 'text-ms sm:text-s md:text-s lg:text-s xl:text-s font-heavy',
21
- 'body-s-bold': 'text-ms sm:text-s md:text-s lg:text-s xl:text-s font-bold',
22
- 'body-s-medium': 'text-ms sm:text-s md:text-s lg:text-s xl:text-s font-medium',
23
- 'body-ms-bold': 'text-xs sm:text-ms md:text-ms lg:text-ms xl:text-ms font-bold',
24
- 'body-ms-medium': 'text-xs sm:text-ms md:text-ms lg:text-ms xl:text-ms font-medium',
25
- 'body-xs-bold': 'text-t sm:text-xs md:text-xs lg:text-xs xl:text-xs font-bold',
26
- 'body-xs-medium': 'text-t sm:text-xs md:text-xs lg:text-xs xl:text-xs font-medium',
27
- 'body-t-bold': 'text-ss sm:text-t md:text-t lg:text-t xl:text-t font-bold',
28
- 'body-t-medium': 'text-ss sm:text-t md:text-t lg:text-t xl:text-t font-medium',
5
+ // Headings with Fat weight (900) - Enhanced responsive scaling with notable differences
6
+ h1: 'text-h4 sm:text-h3 md:text-h2 lg:text-h1 xl:text-h1 font-fat',
7
+ h2: 'text-h5 sm:text-h4 md:text-h3 lg:text-h2 xl:text-h2 font-fat',
8
+ h3: 'text-h6 sm:text-h5 md:text-h4 lg:text-h3 xl:text-h3 font-fat',
9
+ h4: 'text-l sm:text-xl md:text-h5 lg:text-h4 xl:text-h4 font-heavy',
10
+ h5: 'text-m sm:text-l md:text-xl lg:text-h5 xl:text-h5 font-heavy',
11
+ h6: 'text-s sm:text-m md:text-l lg:text-h6 xl:text-h6 font-heavy',
12
+ // Body Copy with specific weight variants - Enhanced responsive scaling
13
+ 'body-xl-heavy': 'text-m sm:text-l md:text-xl lg:text-xl xl:text-xl font-heavy',
14
+ 'body-l-heavy': 'text-s sm:text-m md:text-l lg:text-l xl:text-l font-heavy',
15
+ 'body-l-bold': 'text-s sm:text-m md:text-l lg:text-l xl:text-l font-bold',
16
+ 'body-l-medium': 'text-s sm:text-m md:text-l lg:text-l xl:text-l font-medium',
17
+ 'body-m-heavy': 'text-ms sm:text-s md:text-m lg:text-m xl:text-m font-heavy',
18
+ 'body-m-bold': 'text-ms sm:text-s md:text-m lg:text-m xl:text-m font-bold',
19
+ 'body-m-medium': 'text-ms sm:text-s md:text-m lg:text-m xl:text-m font-medium',
20
+ 'body-s-heavy': 'text-xs sm:text-ms md:text-s lg:text-s xl:text-s font-heavy',
21
+ 'body-s-bold': 'text-xs sm:text-ms md:text-s lg:text-s xl:text-s font-bold',
22
+ 'body-s-medium': 'text-xs sm:text-ms md:text-s lg:text-s xl:text-s font-medium',
23
+ 'body-ms-bold': 'text-t sm:text-xs md:text-ms lg:text-ms xl:text-ms font-bold',
24
+ 'body-ms-medium': 'text-t sm:text-xs md:text-ms lg:text-ms xl:text-ms font-medium',
25
+ 'body-xs-bold': 'text-ss sm:text-t md:text-xs lg:text-xs xl:text-xs font-bold',
26
+ 'body-xs-medium': 'text-ss sm:text-t md:text-xs lg:text-xs xl:text-xs font-medium',
27
+ 'body-t-bold': 'text-ss sm:text-ss md:text-t lg:text-t xl:text-t font-bold',
28
+ 'body-t-medium': 'text-ss sm:text-ss md:text-t lg:text-t xl:text-t font-medium',
29
29
  'body-ss-medium': 'text-ss sm:text-ss md:text-ss lg:text-ss xl:text-ss font-medium',
30
30
  };
31
31
  // Export for reuse in other components
@@ -1,5 +1,5 @@
1
1
  import { jsx } from 'react/jsx-runtime';
2
- import { createContext, useContext, useMemo } from 'react';
2
+ import { createContext, useContext, useState, useEffect, useMemo } from 'react';
3
3
 
4
4
  // Generated ESM version of ua-parser-js
5
5
  // DO NOT EDIT THIS FILE!
@@ -1467,9 +1467,46 @@ const detectDevice = (userAgent) => {
1467
1467
  isTablet: device.type === 'tablet',
1468
1468
  };
1469
1469
  };
1470
+ const detectDeviceByScreenWidth = () => {
1471
+ if (typeof window === 'undefined') {
1472
+ return { isMobile: false, isTablet: false };
1473
+ }
1474
+ const width = window.innerWidth;
1475
+ if (width >= 1200) {
1476
+ return { isMobile: false, isTablet: false };
1477
+ }
1478
+ if (width >= 500) {
1479
+ return { isMobile: false, isTablet: true };
1480
+ }
1481
+ return { isMobile: true, isTablet: false };
1482
+ };
1470
1483
  const MobileProvider = ({ userAgent, children, }) => {
1471
- // 3. هر دو مقدار محاسبه می‌شوند
1472
- const { isMobile, isTablet } = detectDevice(userAgent);
1484
+ // Server-side detection from user agent (for SSR)
1485
+ const serverDetection = detectDevice(userAgent);
1486
+ // Client-side detection state
1487
+ const [clientDetection, setClientDetection] = useState(() => detectDeviceByScreenWidth());
1488
+ // Update client detection on window resize
1489
+ useEffect(() => {
1490
+ const handleResize = () => {
1491
+ setClientDetection(detectDeviceByScreenWidth());
1492
+ };
1493
+ // Set initial client detection
1494
+ setClientDetection(detectDeviceByScreenWidth());
1495
+ // Add event listener
1496
+ window.addEventListener('resize', handleResize);
1497
+ // Cleanup
1498
+ return () => {
1499
+ window.removeEventListener('resize', handleResize);
1500
+ };
1501
+ }, []);
1502
+ // Combine server and client detection
1503
+ // Use server detection initially (for SSR), then client detection takes over
1504
+ const isMobile = typeof window !== 'undefined'
1505
+ ? clientDetection.isMobile
1506
+ : serverDetection.isMobile;
1507
+ const isTablet = typeof window !== 'undefined'
1508
+ ? clientDetection.isTablet
1509
+ : serverDetection.isTablet;
1473
1510
  const value = useMemo(() => ({
1474
1511
  isMobile,
1475
1512
  isTablet,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "automoby-kit",
3
- "version": "1.0.55",
3
+ "version": "1.0.57",
4
4
  "description": "A comprehensive React UI component library - created in war 2025",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",