@dub/utils 0.0.4 → 0.0.6
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/chunk-AYGGPZYK.mjs +1 -0
- package/dist/chunk-FN35CKKS.mjs +1 -0
- package/dist/chunk-RKOLFBB4.mjs +1 -0
- package/dist/{chunk-Y2N4Y4WZ.mjs → chunk-XWENORR2.mjs} +1 -1
- package/dist/constants/cctlds.mjs +1 -1
- package/dist/constants/countries.mjs +1 -1
- package/dist/constants/index.mjs +1 -1
- package/dist/constants/stats.d.ts +36 -0
- package/dist/constants/stats.mjs +1 -0
- package/dist/index.d.ts +11 -5
- package/dist/index.mjs +1 -1
- package/package.json +6 -3
- package/dist/chunk-2U2IYZHN.mjs +0 -1
- package/dist/chunk-35O76FBU.mjs +0 -2
- package/dist/chunk-64C57Q4W.mjs +0 -2
- package/dist/chunk-64KMNIJU.mjs +0 -2
- package/dist/chunk-6MWSVUBA.mjs +0 -1
- package/dist/chunk-6YUAHP47.mjs +0 -1
- package/dist/chunk-BXDPGIU7.mjs +0 -1
- package/dist/chunk-D7V6QEC3.mjs +0 -2
- package/dist/chunk-G2EXSXOB.mjs +0 -1
- package/dist/chunk-GIGD5PB3.mjs +0 -1
- package/dist/chunk-GK743T7Z.mjs +0 -1
- package/dist/chunk-GMO2NK2C.mjs +0 -1
- package/dist/chunk-H4LU5LOY.mjs +0 -2
- package/dist/chunk-H53DALDZ.mjs +0 -1
- package/dist/chunk-LEHV3NWH.mjs +0 -2
- package/dist/chunk-LXDQ4KMN.mjs +0 -0
- package/dist/chunk-M5FLGH3T.mjs +0 -1
- package/dist/chunk-MQNZDHLT.mjs +0 -2
- package/dist/chunk-OH6TH3J6.mjs +0 -1
- package/dist/chunk-ONIHRKH7.mjs +0 -1
- package/dist/chunk-TN4P6NPQ.mjs +0 -1
- package/dist/chunk-U4XQUV65.mjs +0 -1
- package/dist/chunk-UBCCNLBS.mjs +0 -1
- package/dist/chunk-UE5AMEFG.mjs +0 -2
- package/dist/chunk-UNXRAJQG.mjs +0 -1
- package/dist/chunk-UYE4FVX2.mjs +0 -2
- package/dist/chunk-V4HIRCCV.mjs +0 -1
- package/dist/chunk-W5IYXLXA.mjs +0 -1
- package/dist/chunk-XACKIZEQ.mjs +0 -2
- package/dist/chunk-YUMUNL66.mjs +0 -1
- package/dist/chunk-ZGU5QGQR.mjs +0 -1
- package/dist/constants/cctlds.d.mts +0 -3
- package/dist/constants/content.d.ts +0 -10
- package/dist/constants/content.mjs +0 -1
- package/dist/constants/countries.d.mts +0 -5
- package/dist/constants/index.d.mts +0 -139
- package/dist/hooks/index.d.ts +0 -6
- package/dist/hooks/index.mjs +0 -2
- package/dist/hooks/use-current-anchor.d.ts +0 -3
- package/dist/hooks/use-current-anchor.mjs +0 -2
- package/dist/hooks/use-intersection-observer.d.ts +0 -8
- package/dist/hooks/use-intersection-observer.mjs +0 -2
- package/dist/hooks/use-local-storage.d.ts +0 -3
- package/dist/hooks/use-local-storage.mjs +0 -2
- package/dist/hooks/use-media-query.d.ts +0 -10
- package/dist/hooks/use-media-query.mjs +0 -2
- package/dist/hooks/use-scroll.d.ts +0 -3
- package/dist/hooks/use-scroll.mjs +0 -2
- package/dist/index.d.mts +0 -75
- package/dist/utils.d.ts +0 -72
- package/dist/utils.mjs +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={city:"San Francisco",region:"CA",country:"US",latitude:"37.7695",longitude:"-122.385"},s="63.141.57.109",p={hidden:{scale:.8,opacity:0},show:{scale:1,opacity:1,transition:{type:"spring"}}},a={hidden:{opacity:0,y:20},show:{opacity:1,y:0,transition:{duration:.4,type:"spring"}}},n={initial:{height:0},animate:{height:"auto"},exit:{height:0},transition:{duration:.15,ease:"easeOut"}},c={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2}},i=100,r="https://dub.co",l=new Set(["app.dub.co","preview.dub.co","localhost:8888","localhost"]),d=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"||process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://app.dub.co":"http://localhost:8888",u=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://app.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://preview.dub.co":process.env.NGROK_URL,_=new Set(["api.dub.co","api.dub.sh","api.localhost:8888","d296-2600-1700-2f70-6600-ddc9-59bd-9d63-8e50.ngrok-free.app"]),h=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://api.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://api.dub.sh":"http://api.localhost:8888",E=new Set(["admin.dub.co","admin.localhost:8888"]),g={home:"https://dub.co",dub:"https://dub.co",signin:"https://app.dub.co/login",login:"https://app.dub.co/login",register:"https://app.dub.co/register",signup:"https://app.dub.co/register",app:"https://app.dub.co",dashboard:"https://app.dub.co",links:"https://app.dub.co/links",settings:"https://app.dub.co/settings",welcome:"https://app.dub.co/welcome",discord:"https://twitter.com/dubdotco",tags:"https://dub.co/help/how-to-use-tags"},A={headers:{"x-powered-by":"Dub.co - Link management for modern marketing teams"}},I="/_static/favicons",L="https://www.google.com/s2/favicons?sz=64&domain_url=",N="https://d2vwwcvoksz7ty.cloudfront.net/logo.png",m="https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png",O=["tools","pricing","help","features","customers","blog","(blog-post)","login","register","auth"],S=[{name:"Metatags API",slug:"metatags"},{name:"Link Inspector",slug:"inspector"}],T=new Set(["com","co","net","org","edu","gov","in"]),b=new Set(["my.id","github.io","vercel.app","now.sh","pages.dev","webflow.io","netlify.app","fly.dev","web.app"]),x={key:"",url:"",domain:"",archived:!1,expiresAt:null,password:null,title:null,description:null,image:null,rewrite:!1,ios:null,android:null,clicks:0,userId:"",proxy:!1},w="cl7pj5kq4006835rbjlt2ofka",M=[{name:"Okta",logo:"/_static/icons/okta.svg",saml:"okta",samlModalCopy:"Metadata URL",scim:"okta-scim-v2",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1},{name:"Azure AD",logo:"/_static/icons/azure.svg",saml:"azure",samlModalCopy:"App Federation Metadata URL",scim:"azure-scim-v2",scimModalCopy:{url:"Tenant URL",token:"Secret Token"},wip:!1},{name:"Google",logo:"/_static/icons/google.svg",saml:"google",samlModalCopy:"XML Metadata File",scim:"google",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1}];export{e as a,s as b,p as c,a as d,n as e,c as f,i as g,r as h,l as i,d as j,u as k,_ as l,h as m,E as n,g as o,A as p,I as q,L as r,N as s,m as t,O as u,S as v,T as w,b as x,x as y,w as z,M as A};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={city:"San Francisco",region:"CA",country:"US",latitude:"37.7695",longitude:"-122.385"},s="63.141.57.109",p={hidden:{scale:.8,opacity:0},show:{scale:1,opacity:1,transition:{type:"spring"}}},a={hidden:{opacity:0,y:20},show:{opacity:1,y:0,transition:{duration:.4,type:"spring"}}},n={initial:{height:0},animate:{height:"auto"},exit:{height:0},transition:{duration:.15,ease:"easeOut"}},c={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2}},i=100,r="https://dub.co",l=new Set(["app.dub.co","preview.dub.co","localhost:8888","localhost"]),d=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://app.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://preview.dub.co":"http://localhost:8888",u=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://app.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://preview.dub.co":process.env.NGROK_URL,_=new Set(["api.dub.co","api.dub.sh","api.localhost:8888"]),h=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://api.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://api.dub.sh":"http://api.localhost:8888",E=new Set(["admin.dub.co","admin.localhost:8888"]),g={home:"https://dub.co",dub:"https://dub.co",signin:"https://app.dub.co/login",login:"https://app.dub.co/login",register:"https://app.dub.co/register",signup:"https://app.dub.co/register",app:"https://app.dub.co",dashboard:"https://app.dub.co",links:"https://app.dub.co/links",settings:"https://app.dub.co/settings",welcome:"https://app.dub.co/welcome",discord:"https://twitter.com/dubdotco",tags:"https://dub.co/help/how-to-use-tags"},A={headers:{"x-powered-by":"Dub.co - Link management for modern marketing teams"}},I="/_static/favicons",L="https://www.google.com/s2/favicons?sz=64&domain_url=",N="https://d2vwwcvoksz7ty.cloudfront.net/logo.png",m="https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png",O=["tools","pricing","help","features","customers","blog","(blog-post)","login","register","auth"],S=[{name:"Metatags API",slug:"metatags"},{name:"Link Inspector",slug:"inspector"}],T=new Set(["com","co","net","org","edu","gov","in"]),b=new Set(["my.id","github.io","vercel.app","now.sh","pages.dev","webflow.io","netlify.app","fly.dev","web.app"]),w={key:"",url:"",domain:"",archived:!1,expiresAt:null,password:null,title:null,description:null,image:null,rewrite:!1,ios:null,android:null,clicks:0,userId:"",proxy:!1},x="cl7pj5kq4006835rbjlt2ofka",M=[{name:"Okta",logo:"/_static/icons/okta.svg",saml:"okta",samlModalCopy:"Metadata URL",scim:"okta-scim-v2",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1},{name:"Azure AD",logo:"/_static/icons/azure.svg",saml:"azure",samlModalCopy:"App Federation Metadata URL",scim:"azure-scim-v2",scimModalCopy:{url:"Tenant URL",token:"Secret Token"},wip:!1},{name:"Google",logo:"/_static/icons/google.svg",saml:"google",samlModalCopy:"XML Metadata File",scim:"google",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1}];export{e as a,s as b,p as c,a as d,n as e,c as f,i as g,r as h,l as i,d as j,u as k,_ as l,h as m,E as n,g as o,A as p,I as q,L as r,N as s,m as t,O as u,S as v,T as w,b as x,w as y,x as z,M as A};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var t=[{display:"Last hour",value:"1h"},{display:"Last 24 hours",value:"24h"},{display:"Last 7 days",value:"7d"},{display:"Last 30 days",value:"30d"},{display:"Last 3 months",value:"90d"},{display:"All Time",value:"all"}],r={"1h":{startDate:new Date(Date.now()-36e5),granularity:"minute"},"24h":{startDate:new Date(Date.now()-864e5),granularity:"hour"},"7d":{startDate:new Date(Date.now()-6048e5),granularity:"day"},"30d":{startDate:new Date(Date.now()-2592e6),granularity:"day"},"90d":{startDate:new Date(Date.now()-7776e6),granularity:"month"},all:{startDate:new Date("2022-09-22"),granularity:"month"}},n=e=>e?e.includes("curl")?"Curl Request":e.includes("Slackbot")?"Slack Bot":e.includes("Twitterbot")?"Twitter Bot":e.includes("facebookexternalhit")?"Facebook Bot":e.includes("LinkedInBot")?"LinkedIn Bot":e.includes("WhatsApp")?"WhatsApp Bot":e.includes("TelegramBot")?"Telegram Bot":e.includes("Discordbot")?"Discord Bot":e.includes("Googlebot")?"Google Bot":e.includes("Baiduspider")?"Baidu Bot":e.includes("bingbot")?"Bing Bot":e.includes("YandexBot")?"Yandex Bot":e.includes("DuckDuckBot")?"DuckDuckGo Bot":"Unknown Bot":"Unknown Bot";export{t as a,r as b,n as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e={city:"San Francisco",region:"CA",country:"US",latitude:"37.7695",longitude:"-122.385"},s="63.141.57.109",p={hidden:{scale:.8,opacity:0},show:{scale:1,opacity:1,transition:{type:"spring"}}},a={hidden:{opacity:0,y:20},show:{opacity:1,y:0,transition:{duration:.4,type:"spring"}}},n={initial:{height:0},animate:{height:"auto"},exit:{height:0},transition:{duration:.15,ease:"easeOut"}},c={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2}},i=100,r="https://dub.co",l=new Set(["app.dub.co","preview.dub.co","localhost:8888","localhost"]),d=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"||process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://app.dub.co":"http://localhost:8888",u=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://app.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://preview.dub.co":process.env.NGROK_URL,_=new Set(["api.dub.co","api.dub.sh","api.localhost:8888"]),h=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://api.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://api.dub.sh":"http://api.localhost:8888",E=new Set(["admin.dub.co","admin.localhost:8888"]),g={home:"https://dub.co",dub:"https://dub.co",signin:"https://app.dub.co/login",login:"https://app.dub.co/login",register:"https://app.dub.co/register",signup:"https://app.dub.co/register",app:"https://app.dub.co",dashboard:"https://app.dub.co",links:"https://app.dub.co/links",settings:"https://app.dub.co/settings",welcome:"https://app.dub.co/welcome",discord:"https://twitter.com/dubdotco",tags:"https://dub.co/help/how-to-use-tags"},A={headers:{"x-powered-by":"Dub.co - Link management for modern marketing teams"}},I="/_static/favicons",
|
|
1
|
+
var e={city:"San Francisco",region:"CA",country:"US",latitude:"37.7695",longitude:"-122.385"},s="63.141.57.109",p={hidden:{scale:.8,opacity:0},show:{scale:1,opacity:1,transition:{type:"spring"}}},a={hidden:{opacity:0,y:20},show:{opacity:1,y:0,transition:{duration:.4,type:"spring"}}},n={initial:{height:0},animate:{height:"auto"},exit:{height:0},transition:{duration:.15,ease:"easeOut"}},c={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2}},i=100,r="https://dub.co",l=new Set(["app.dub.co","preview.dub.co","localhost:8888","localhost"]),d=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"||process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://app.dub.co":"http://localhost:8888",u=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://app.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://preview.dub.co":process.env.NGROK_URL,_=new Set(["api.dub.co","api.dub.sh","api.localhost:8888"]),h=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://api.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://api.dub.sh":"http://api.localhost:8888",E=new Set(["admin.dub.co","admin.localhost:8888"]),g={home:"https://dub.co",dub:"https://dub.co",signin:"https://app.dub.co/login",login:"https://app.dub.co/login",register:"https://app.dub.co/register",signup:"https://app.dub.co/register",app:"https://app.dub.co",dashboard:"https://app.dub.co",links:"https://app.dub.co/links",settings:"https://app.dub.co/settings",welcome:"https://app.dub.co/welcome",discord:"https://twitter.com/dubdotco",tags:"https://dub.co/help/how-to-use-tags"},A={headers:{"x-powered-by":"Dub.co - Link management for modern marketing teams"}},I="/_static/favicons",L="https://www.google.com/s2/favicons?sz=64&domain_url=",m="https://d2vwwcvoksz7ty.cloudfront.net/logo.png",N="https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png",O=["tools","pricing","help","features","customers","blog","(blog-post)","login","register","auth"],S=[{name:"Metatags API",slug:"metatags"},{name:"Link Inspector",slug:"inspector"}],T=new Set(["com","co","net","org","edu","gov","in"]),b=new Set(["my.id","github.io","vercel.app","now.sh","pages.dev","webflow.io","netlify.app","fly.dev","web.app"]),x={key:"",url:"",domain:"",archived:!1,expiresAt:null,password:null,title:null,description:null,image:null,rewrite:!1,ios:null,android:null,clicks:0,userId:"",proxy:!1},w="cl7pj5kq4006835rbjlt2ofka",M=[{name:"Okta",logo:"/_static/icons/okta.svg",saml:"okta",samlModalCopy:"Metadata URL",scim:"okta-scim-v2",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1},{name:"Azure AD",logo:"/_static/icons/azure.svg",saml:"azure",samlModalCopy:"App Federation Metadata URL",scim:"azure-scim-v2",scimModalCopy:{url:"Tenant URL",token:"Secret Token"},wip:!1},{name:"Google",logo:"/_static/icons/google.svg",saml:"google",samlModalCopy:"XML Metadata File",scim:"google",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1}];export{e as a,s as b,p as c,a as d,n as e,c as f,i as g,r as h,l as i,d as j,u as k,_ as l,h as m,E as n,g as o,A as p,I as q,L as r,m as s,N as t,O as u,S as v,T as w,b as x,x as y,w as z,M as A};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-MODISIUH.mjs";
|
|
1
|
+
import{a}from"../chunk-MODISIUH.mjs";export{a as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-3P54C65P.mjs";
|
|
1
|
+
import{a}from"../chunk-3P54C65P.mjs";export{a as default};
|
package/dist/constants/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as C,a as c,b as d,c as e,d as f,e as g,f as h,g as i,h as j,i as k,j as l,k as m,l as n,m as o,n as p,o as q,p as r,q as s,r as t,s as u,t as v,u as w,v as x,w as y,x as z,y as A,z as B}from"../chunk-
|
|
1
|
+
import{A as C,a as c,b as d,c as e,d as f,e as g,f as h,g as i,h as j,i as k,j as l,k as m,l as n,m as o,n as p,o as q,p as r,q as s,r as t,s as u,t as v,u as w,v as x,w as y,x as z,y as A,z as B}from"../chunk-FN35CKKS.mjs";import{a}from"../chunk-MODISIUH.mjs";import{a as b}from"../chunk-3P54C65P.mjs";export{p as ADMIN_HOSTNAMES,x as ALL_TOOLS,o as API_DOMAIN,n as API_HOSTNAMES,l as APP_DOMAIN,m as APP_DOMAIN_WITH_NGROK,k as APP_HOSTNAMES,b as COUNTRIES,A as DEFAULT_LINK_PROPS,q as DEFAULT_REDIRECTS,r as DUB_HEADERS,u as DUB_LOGO,B as DUB_PROJECT_ID,v as DUB_THUMBNAIL,h as FADE_IN_ANIMATION_SETTINGS,s as FAVICON_FOLDER,e as FRAMER_MOTION_LIST_ITEM_VARIANTS,t as GOOGLE_FAVICON_URL,j as HOME_DOMAIN,c as LOCALHOST_GEO_DATA,d as LOCALHOST_IP,i as PAGINATION_LIMIT,C as SAML_PROVIDERS,y as SECOND_LEVEL_DOMAINS,w as SHOW_BACKGROUND_SEGMENTS,z as SPECIAL_APEX_DOMAINS,f as STAGGER_CHILD_VARIANTS,g as SWIPE_REVEAL_ANIMATION_SETTINGS,a as ccTLDs};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
type IntervalProps = "1h" | "24h" | "7d" | "30d" | "90d" | "all";
|
|
2
|
+
declare const INTERVALS: {
|
|
3
|
+
display: string;
|
|
4
|
+
value: string;
|
|
5
|
+
}[];
|
|
6
|
+
declare const intervalData: {
|
|
7
|
+
"1h": {
|
|
8
|
+
startDate: Date;
|
|
9
|
+
granularity: string;
|
|
10
|
+
};
|
|
11
|
+
"24h": {
|
|
12
|
+
startDate: Date;
|
|
13
|
+
granularity: string;
|
|
14
|
+
};
|
|
15
|
+
"7d": {
|
|
16
|
+
startDate: Date;
|
|
17
|
+
granularity: string;
|
|
18
|
+
};
|
|
19
|
+
"30d": {
|
|
20
|
+
startDate: Date;
|
|
21
|
+
granularity: string;
|
|
22
|
+
};
|
|
23
|
+
"90d": {
|
|
24
|
+
startDate: Date;
|
|
25
|
+
granularity: string;
|
|
26
|
+
};
|
|
27
|
+
all: {
|
|
28
|
+
startDate: Date;
|
|
29
|
+
granularity: string;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
type LocationTabs = "country" | "city" | "region";
|
|
33
|
+
type DeviceTabs = "device" | "browser" | "os" | "bot" | "ua";
|
|
34
|
+
declare const uaToBot: (ua: string) => string;
|
|
35
|
+
|
|
36
|
+
export { DeviceTabs, INTERVALS, IntervalProps, LocationTabs, intervalData, uaToBot };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a,b,c}from"../chunk-RKOLFBB4.mjs";export{a as INTERVALS,b as intervalData,c as uaToBot};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ClassValue } from 'clsx';
|
|
2
2
|
import { Metadata } from 'next';
|
|
3
|
-
import {
|
|
3
|
+
import { AppRouterInstance } from 'next/dist/shared/lib/app-router-context.shared-runtime';
|
|
4
|
+
import { ReadonlyURLSearchParams } from 'next/navigation';
|
|
4
5
|
export { ADMIN_HOSTNAMES, ALL_TOOLS, API_DOMAIN, API_HOSTNAMES, APP_DOMAIN, APP_DOMAIN_WITH_NGROK, APP_HOSTNAMES, DEFAULT_LINK_PROPS, DEFAULT_REDIRECTS, DUB_HEADERS, DUB_LOGO, DUB_PROJECT_ID, DUB_THUMBNAIL, FADE_IN_ANIMATION_SETTINGS, FAVICON_FOLDER, FRAMER_MOTION_LIST_ITEM_VARIANTS, GOOGLE_FAVICON_URL, HOME_DOMAIN, LOCALHOST_GEO_DATA, LOCALHOST_IP, PAGINATION_LIMIT, SAML_PROVIDERS, SECOND_LEVEL_DOMAINS, SHOW_BACKGROUND_SEGMENTS, SPECIAL_APEX_DOMAINS, STAGGER_CHILD_VARIANTS, SWIPE_REVEAL_ANIMATION_SETTINGS } from './constants/index.js';
|
|
5
6
|
export { default as ccTLDs } from './constants/cctlds.js';
|
|
6
7
|
export { default as COUNTRIES } from './constants/countries.js';
|
|
@@ -48,10 +49,15 @@ declare const getApexDomain: (url: string) => string;
|
|
|
48
49
|
declare const isValidUrl: (url: string) => boolean;
|
|
49
50
|
declare const getUrlFromString: (str: string) => string | null | undefined;
|
|
50
51
|
declare const getDomainWithoutWWW: (url: string) => string | null | undefined;
|
|
51
|
-
declare const getQueryString: (
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
declare const getQueryString: ({ searchParams, groupBy, }: {
|
|
53
|
+
searchParams: URLSearchParams | ReadonlyURLSearchParams | null;
|
|
54
|
+
groupBy?: "domain" | "tagId" | undefined;
|
|
55
|
+
}) => string;
|
|
56
|
+
declare const setQueryString: ({ router, pathname, searchParams, key, value, }: {
|
|
57
|
+
router: AppRouterInstance;
|
|
58
|
+
pathname: string | null;
|
|
59
|
+
searchParams: URLSearchParams | ReadonlyURLSearchParams | null;
|
|
60
|
+
key: string;
|
|
55
61
|
value: string;
|
|
56
62
|
}) => void;
|
|
57
63
|
declare const truncate: (str: string | null, length: number) => string | null;
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as
|
|
1
|
+
import{A as B,a as b,b as R,c as U,d as L,e as k,f as v,g as M,h as c,i as O,j as _,k as $,l as A,m as T,n as E,o as F,p as N,q as C,r as I,s as P,t as K,u as z,v as H,w as l,x as u,y as Z,z as j}from"./chunk-FN35CKKS.mjs";import{a as i}from"./chunk-MODISIUH.mjs";import{a as S}from"./chunk-3P54C65P.mjs";import p from"@sindresorhus/slugify";import{clsx as m}from"clsx";import f from"ms";import{customAlphabet as h}from"nanoid";import{twMerge as d}from"tailwind-merge";function Q(...e){return d(m(e))}function X({title:e="Dub - Link Management for Modern Marketing Teams",description:t="Dub is an open-source link management tool for modern marketing teams to create, share, and track short links.",image:n="https://dub.co/_static/thumbnail.png",icons:r="/favicon.ico",noIndex:o=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,images:[{url:n}]},twitter:{card:"summary_large_image",title:e,description:t,images:[n],creator:"@dubdotco"},icons:r,metadataBase:new URL(c),...o&&{robots:{index:!1,follow:!1}}}}var ee=h("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7);async function te(e,t){let n=await fetch(e,t);if(!n.ok){let r=await n.text(),o=new Error(r);throw o.status=n.status,o}return n.json()}function ne(e,t={digits:1}){if(!e)return"0";if(t.full)return Intl.NumberFormat("en-US").format(e);let n=[{value:1,symbol:""},{value:1e3,symbol:"K"},{value:1e6,symbol:"M"},{value:1e9,symbol:"G"},{value:1e12,symbol:"T"},{value:1e15,symbol:"P"},{value:1e18,symbol:"E"}],r=/\.0+$|(\.[0-9]*[1-9])0+$/;var o=n.slice().reverse().find(function(a){return e>=a.value});return o?(e/o.value).toFixed(t.digits).replace(r,"$1")+o.symbol:"0"}function re(e){return!e||typeof e!="string"?e:e.charAt(0).toUpperCase()+e.slice(1)}var oe=(e,t)=>e.reduce((n,r,o)=>{let a=Math.floor(o/t);return n[a]||(n[a]=[]),n[a].push(r),n},[]);function ae({key:e,domain:t="dub.sh",localhost:n,pretty:r,noDomain:o}){let a=`${n?"http://home.localhost:8888":`https://${t}`}${e!=="_root"?`/${e}`:""}`;return o?`/${e}`:r?a.replace(/^https?:\/\//,""):a}var se=(e,{withAgo:t}={})=>{if(!e)return"Never";let n=Date.now()-new Date(e).getTime();return n<1e3?"Just now":n>828e5?new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",year:new Date(e).getFullYear()!==new Date().getFullYear()?"numeric":void 0}):`${f(n)}${t?" ago":""}`},ie=e=>{let t=e?new Date(e):new Date;return t.toString()==="Invalid Date"?"":new Date(t.getTime()-t.getTimezoneOffset()*6e4).toISOString().split(":").slice(0,2).join(":")},ce=e=>new Date(`${e}T00:00:00Z`).toLocaleDateString("en-US",{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"}),le=e=>{let t=new Date,n=t.getDate(),r=t.getMonth(),o=t.getFullYear();if(n>=e)return{firstDay:new Date(o,r,e),lastDay:new Date(o,r+1,e-1)};{let a=r===0?o-1:o,s=r===0?11:r-1;return{firstDay:new Date(a,s,e),lastDay:new Date(o,r,e-1)}}},y=()=>{let e=new Date;return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()},ue=e=>{let t=y();return e>t?t:e},ge=e=>{let t=p(e,{separator:""});if(t.length<3)return"";if(i.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let n=t.replace(/[aeiou]/g,"");return n.length>=3&&i.has(n.slice(-2))?`${n.slice(0,-2)}.${n.slice(-2)}`:`${[t,n].reduce((o,a)=>o.length<a.length?o:a)}.to`},pe=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),me=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-]*$/u),fe=new RegExp(/^[a-zA-Z0-9\-]+$/),he=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),de=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let n=t.split(".");return n.length>2?l.has(n[n.length-2])&&i.has(n[n.length-1])||u.has(n.slice(-2).join("."))?n.slice(-3).join("."):n.slice(-2).join("."):t},g=e=>{try{return new URL(e),!0}catch{return!1}},ye=e=>{if(g(e))return e;try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).toString()}catch{return null}},xe=e=>{if(g(e))return new URL(e).hostname.replace(/^www\./,"");try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).hostname.replace(/^www\./,"")}catch{return null}},we=({searchParams:e,groupBy:t})=>{let n=new URLSearchParams(e==null?void 0:e.toString());t&&n.set("groupBy",t);let r=n.toString();return r.length>0?`?${r}`:""},De=({router:e,pathname:t,searchParams:n,key:r,value:o})=>{let a=new URLSearchParams(n==null?void 0:n.toString());r!=="page"&&a.delete("page"),o.length>0?a.set(r,o):a.delete(r);let s=a.toString();e.replace(`${t}?${s.length>0?s:""}`)},Se=(e,t)=>!e||e.length<=t?e:`${e.slice(0,t-3)}...`,be=e=>{if(!e)return{};try{let t=new URL(e).searchParams,n={};for(let[r,o]of t.entries())o&&o!==""&&(n[r]=o);return n}catch{return{}}},Re=(e,t)=>{if(!e)return"";try{let n=new URL(e);for(let[r,o]of Object.entries(t))o===""?n.searchParams.delete(r):n.searchParams.set(r,o);return n.toString()}catch{return""}},x=[{display:"Referral (ref)",key:"ref",examples:"twitter, facebook"},{display:"UTM Source",key:"utm_source",examples:"twitter, facebook"},{display:"UTM Medium",key:"utm_medium",examples:"social, email"},{display:"UTM Campaign",key:"utm_campaign",examples:"summer_sale"},{display:"UTM Term",key:"utm_term",examples:"blue_shoes"},{display:"UTM Content",key:"utm_content",examples:"logolink"}],Ue=e=>{try{let t=new URL(e);return x.forEach(n=>t.searchParams.delete(n.key)),t.toString()}catch{return e}};async function Le(e){let n=new TextEncoder().encode(e),r=await crypto.subtle.digest("MD5",n);return Array.from(new Uint8Array(r)).map(s=>s.toString(16).padStart(2,"0")).join("")}var w={cron:process.env.DUB_SLACK_HOOK_CRON,links:process.env.DUB_SLACK_HOOK_LINKS},ke=async({message:e,type:t,mention:n=!1})=>{(process.env.NODE_ENV==="development"||!process.env.DUB_SLACK_HOOK_CRON||!process.env.DUB_SLACK_HOOK_LINKS)&&console.log(e);let r=w[t];if(!!r)try{return await fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({blocks:[{type:"section",text:{type:"mrkdwn",text:`${n?"<@U0404G6J3NJ> ":""}${e}`}}]})})}catch(o){console.log(`Failed to log to Dub Slack. Error: ${o}`)}},D=(e,t)=>{if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e===null||t===null)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let o of n)if(!r.includes(o)||!D(e[o],t[o]))return!1;return!0};export{E as ADMIN_HOSTNAMES,H as ALL_TOOLS,T as API_DOMAIN,A as API_HOSTNAMES,_ as APP_DOMAIN,$ as APP_DOMAIN_WITH_NGROK,O as APP_HOSTNAMES,S as COUNTRIES,Z as DEFAULT_LINK_PROPS,F as DEFAULT_REDIRECTS,N as DUB_HEADERS,P as DUB_LOGO,j as DUB_PROJECT_ID,K as DUB_THUMBNAIL,v as FADE_IN_ANIMATION_SETTINGS,C as FAVICON_FOLDER,U as FRAMER_MOTION_LIST_ITEM_VARIANTS,I as GOOGLE_FAVICON_URL,c as HOME_DOMAIN,b as LOCALHOST_GEO_DATA,R as LOCALHOST_IP,M as PAGINATION_LIMIT,B as SAML_PROVIDERS,l as SECOND_LEVEL_DOMAINS,z as SHOW_BACKGROUND_SEGMENTS,u as SPECIAL_APEX_DOMAINS,L as STAGGER_CHILD_VARIANTS,k as SWIPE_REVEAL_ANIMATION_SETTINGS,re as capitalize,i as ccTLDs,oe as chunk,Q as cn,X as constructMetadata,Re as constructURLFromUTMParams,D as deepEqual,te as fetcher,ce as formatDate,ge as generateDomainFromName,Le as generateMD5Hash,ue as getAdjustedBillingCycleStart,de as getApexDomain,ie as getDateTimeLocal,xe as getDomainWithoutWWW,le as getFirstAndLastDay,y as getLastDayOfMonth,be as getParamsFromURL,we as getQueryString,he as getSubdomain,ye as getUrlFromString,Ue as getUrlWithoutUTMParams,g as isValidUrl,ae as linkConstructor,ke as log,ne as nFormatter,ee as nanoid,x as paramsMetadata,De as setQueryString,se as timeAgo,Se as truncate,pe as validDomainRegex,me as validKeyRegex,fe as validSlugRegex};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dub/utils",
|
|
3
3
|
"description": "Utility functions and constants for Dub.co",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.6",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"module": "./dist/index.mjs",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"next": "13.5.4",
|
|
27
27
|
"react": "^18.2.0",
|
|
28
28
|
"tsconfig": "workspace:*",
|
|
29
|
-
"tsup": "^
|
|
29
|
+
"tsup": "^6.1.3",
|
|
30
30
|
"typescript": "^5.1.6"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
@@ -51,5 +51,8 @@
|
|
|
51
51
|
"utils",
|
|
52
52
|
"utility",
|
|
53
53
|
"functions"
|
|
54
|
-
]
|
|
54
|
+
],
|
|
55
|
+
"publishConfig": {
|
|
56
|
+
"access": "public"
|
|
57
|
+
}
|
|
55
58
|
}
|
package/dist/chunk-2U2IYZHN.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useCallback as t,useEffect as o,useState as s}from"react";function c(l){let[r,n]=s(!1),e=t(()=>{n(window.scrollY>l)},[l]);return o(()=>(window.addEventListener("scroll",e),()=>window.removeEventListener("scroll",e)),[e]),o(()=>{e()},[e]),r}export{c as a};
|
package/dist/chunk-35O76FBU.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
import{useEffect as I,useState as a}from"react";function f(e,{threshold:t=0,root:s=null,rootMargin:o="0%",freezeOnceVisible:b=!1}){let[r,u]=a(),c=(r==null?void 0:r.isIntersecting)&&b,O=([n])=>{u(n)};return I(()=>{let n=e==null?void 0:e.current;if(!!!window.IntersectionObserver||c||!n)return;let v={threshold:t,root:s,rootMargin:o},i=new IntersectionObserver(O,v);return i.observe(n),()=>i.disconnect()},[e,JSON.stringify(t),s,o,c]),r}export{f as a};
|
package/dist/chunk-64C57Q4W.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
import{useEffect as o,useState as d}from"react";function l(){let[t,i]=d(null),[e,h]=d(null);return o(()=>{let n=()=>{window.matchMedia("(max-width: 640px)").matches?i("mobile"):window.matchMedia("(min-width: 641px) and (max-width: 1024px)").matches?i("tablet"):i("desktop"),h({width:window.innerWidth,height:window.innerHeight})};return n(),window.addEventListener("resize",n),()=>{window.removeEventListener("resize",n)}},[]),{device:t,width:e==null?void 0:e.width,height:e==null?void 0:e.height,isMobile:t==="mobile",isTablet:t==="tablet",isDesktop:t==="desktop"}}export{l as a};
|
package/dist/chunk-64KMNIJU.mjs
DELETED
package/dist/chunk-6MWSVUBA.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useEffect as I,useState as a}from"react";function f(e,{threshold:t=0,root:s=null,rootMargin:o="0%",freezeOnceVisible:b=!1}){let[r,u]=a(),c=(r==null?void 0:r.isIntersecting)&&b,O=([n])=>{u(n)};return I(()=>{let n=e==null?void 0:e.current;if(!!!window.IntersectionObserver||c||!n)return;let v={threshold:t,root:s,rootMargin:o},i=new IntersectionObserver(O,v);return i.observe(n),()=>i.disconnect()},[e,JSON.stringify(t),s,o,c]),r}export{f as a};
|
package/dist/chunk-6YUAHP47.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as c,w as l,x as u}from"./chunk-W5IYXLXA.mjs";import{a}from"./chunk-MODISIUH.mjs";import{clsx as p}from"clsx";import{twMerge as m}from"tailwind-merge";import f from"ms";import{customAlphabet as h}from"nanoid";import y from"@sindresorhus/slugify";function v(...e){return m(p(e))}function M({title:e="Dub - Link Management for Modern Marketing Teams",description:t="Dub is an open-source link management tool for modern marketing teams to create, share, and track short links.",image:r="https://dub.co/_static/thumbnail.png",icons:o="/favicon.ico",noIndex:n=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,images:[{url:r}]},twitter:{card:"summary_large_image",title:e,description:t,images:[r],creator:"@dubdotco"},icons:o,metadataBase:new URL(c),themeColor:"#FFF",...n&&{robots:{index:!1,follow:!1}}}}var O=h("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7);async function _(e,t){let r=await fetch(e,t);if(!r.ok){let o=await r.text(),n=new Error(o);throw n.status=r.status,n}return r.json()}function $(e,t={digits:1}){if(!e)return"0";if(t.full)return Intl.NumberFormat("en-US").format(e);let r=[{value:1,symbol:""},{value:1e3,symbol:"K"},{value:1e6,symbol:"M"},{value:1e9,symbol:"G"},{value:1e12,symbol:"T"},{value:1e15,symbol:"P"},{value:1e18,symbol:"E"}],o=/\.0+$|(\.[0-9]*[1-9])0+$/;var n=r.slice().reverse().find(function(s){return e>=s.value});return n?(e/n.value).toFixed(t.digits).replace(o,"$1")+n.symbol:"0"}function T(e){return!e||typeof e!="string"?e:e.charAt(0).toUpperCase()+e.slice(1)}var A=(e,t)=>e.reduce((r,o,n)=>{let s=Math.floor(n/t);return r[s]||(r[s]=[]),r[s].push(o),r},[]);function E({key:e,domain:t="dub.sh",localhost:r,pretty:o,noDomain:n}){let s=`${r?"http://home.localhost:8888":`https://${t}`}${e!=="_root"?`/${e}`:""}`;return n?`/${e}`:o?s.replace(/^https?:\/\//,""):s}var F=(e,{withAgo:t}={})=>{if(!e)return"Never";let r=Date.now()-new Date(e).getTime();return r<1e3?"Just now":r>828e5?new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",year:new Date(e).getFullYear()!==new Date().getFullYear()?"numeric":void 0}):`${f(r)}${t?" ago":""}`},N=e=>{let t=e?new Date(e):new Date;return t.toString()==="Invalid Date"?"":new Date(t.getTime()-t.getTimezoneOffset()*6e4).toISOString().split(":").slice(0,2).join(":")},C=e=>new Date(`${e}T00:00:00Z`).toLocaleDateString("en-US",{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"}),q=e=>{let t=new Date,r=t.getDate(),o=t.getMonth(),n=t.getFullYear();if(r>=e)return{firstDay:new Date(n,o,e),lastDay:new Date(n,o+1,e-1)};{let s=o===0?n-1:n,i=o===0?11:o-1;return{firstDay:new Date(s,i,e),lastDay:new Date(n,o,e-1)}}},d=()=>{let e=new Date;return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()},I=e=>{let t=d();return e>t?t:e},K=e=>{let t=y(e,{separator:""});if(t.length<3)return"";if(a.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&a.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((n,s)=>n.length<s.length?n:s)}.to`},P=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),z=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-]*$/u),H=new RegExp(/^[a-zA-Z0-9\-]+$/),Z=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),j=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let r=t.split(".");return r.length>2?l.has(r[r.length-2])&&a.has(r[r.length-1])||u.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},g=e=>{try{return new URL(e),!0}catch{return!1}},W=e=>{if(g(e))return e;try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).toString()}catch{return null}},B=e=>{if(g(e))return new URL(e).hostname.replace(/^www\./,"");try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).hostname.replace(/^www\./,"")}catch{return null}},J=(e,t)=>{let r=new URLSearchParams({...e.query,...t}).toString();return`${r?"?":""}${r}`},Y=({router:e,param:t,value:r})=>{t!=="page"&&delete e.query.page;let o;r.length>0?o={...e.query,[t]:r}:(delete e.query[t],o={...e.query});let{slug:n,...s}=o;e.replace({pathname:`/${e.query.slug||"links"}`,query:s})},V=(e,t)=>!e||e.length<=t?e:`${e.slice(0,t-3)}...`,Q=e=>{if(!e)return{};try{let t=new URL(e).searchParams,r={};for(let[o,n]of t.entries())n&&n!==""&&(r[o]=n);return r}catch{return{}}},G=(e,t)=>{if(!e)return"";try{let r=new URL(e);for(let[o,n]of Object.entries(t))n===""?r.searchParams.delete(o):r.searchParams.set(o,n);return r.toString()}catch{return""}},x=[{display:"Referral (ref)",key:"ref",examples:"twitter, facebook"},{display:"UTM Source",key:"utm_source",examples:"twitter, facebook"},{display:"UTM Medium",key:"utm_medium",examples:"social, email"},{display:"UTM Campaign",key:"utm_campaign",examples:"summer_sale"},{display:"UTM Term",key:"utm_term",examples:"blue_shoes"},{display:"UTM Content",key:"utm_content",examples:"logolink"}],X=e=>{try{let t=new URL(e);return x.forEach(r=>t.searchParams.delete(r.key)),t.toString()}catch{return e}};async function ee(e){let r=new TextEncoder().encode(e),o=await crypto.subtle.digest("MD5",r);return Array.from(new Uint8Array(o)).map(i=>i.toString(16).padStart(2,"0")).join("")}var D={cron:process.env.DUB_SLACK_HOOK_CRON,links:process.env.DUB_SLACK_HOOK_LINKS},te=async({message:e,type:t,mention:r=!1})=>{(process.env.NODE_ENV==="development"||!process.env.DUB_SLACK_HOOK_CRON||!process.env.DUB_SLACK_HOOK_LINKS)&&console.log(e);let o=D[t];if(!!o)try{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({blocks:[{type:"section",text:{type:"mrkdwn",text:`${r?"<@U0404G6J3NJ> ":""}${e}`}}]})})}catch(n){console.log(`Failed to log to Dub Slack. Error: ${n}`)}},w=(e,t)=>{if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e===null||t===null)return!1;let r=Object.keys(e),o=Object.keys(t);if(r.length!==o.length)return!1;for(let n of r)if(!o.includes(n)||!w(e[n],t[n]))return!1;return!0};export{v as a,M as b,O as c,_ as d,$ as e,T as f,A as g,E as h,F as i,N as j,C as k,q as l,d as m,I as n,K as o,P as p,z as q,H as r,Z as s,j as t,g as u,W as v,B as w,J as x,Y as y,V as z,Q as A,G as B,x as C,X as D,ee as E,te as F,w as G};
|
package/dist/chunk-BXDPGIU7.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Airplay as t,BarChart as o,Link2 as e,QrCode as r,Users as i}from"lucide-react";var a=[{title:"Powerful Analytics For The Modern Marketer",shortTitle:"Advanced Analytics",icon:o,slug:"analytics"},{title:"Branded Links That Stand Out",shortTitle:"Branded Links",icon:t,slug:"branded-links"},{title:"Free QR Code Generator",shortTitle:"QR Codes",icon:r,slug:"qr-codes"},{title:"Personalize Your Short Links",shortTitle:"Personalization",icon:e,slug:"personalization"},{title:"Collaborate With Your Team",shortTitle:"Team Collaboration",icon:i,slug:"collaboration"}];export{a};
|
package/dist/chunk-D7V6QEC3.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
import{Airplay as e,BarChart as t,Link2 as o,QrCode as i,Users as r}from"lucide-react";var a=[{title:"Powerful Analytics For The Modern Marketer",shortTitle:"Advanced Analytics",accordionTitle:"Analytics that matter",description:"Dub provides powerful analytics for your links, including geolocation, device, browser, and referrer information.",icon:t,slug:"analytics",thumbnail:"https://d2vwwcvoksz7ty.cloudfront.net/features/analytics.png",thumbnailBlurhash:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAdCAYAAADoxT9SAAAACXBIWXMAAAsTAAALEwEAmpwYAAAE+0lEQVR4nL2Y63qiShBF5/2f8czkpjGCgoLQV+yzq6saGpVMYjznx/ok0JBa7GrQ/mWsC7fQhLE3MEEJl8eMteP51hH+L8g4e81SXUv8WhS5KFJpwlyhdSZicpGpYCf8VSgT+09EliQYPs5j3ZVIknA+41O5+9K5S6RXE0lEJZEok6Xhhwx/zaLU99L5lkguMJGOuyiiMxHnWMB/wi2py3TMF5L5skifiXQzbJTpIZJkpkQykWGBeHxJRtpLtn8s0pNILtGbcIrYSEcoJzIe53hcY2CRJCOFDxfM0xlGmVtz50EiNt79Too/dUxLn72LRBnlRWaYZPwZEsxwwf8iYpKItE+SaEWgOREu0naEx3EPoQEyQyZDBU8yudRcYrieJ9bHVr17sjOTCKWRJBpwhMShJdzIsfXY73GchIYo1Eehc5QhHOEzpP1szlh8zo9FXBQZJSBwhEDd2FAdbdgfXNhl7I8e+32o2wFSA6SGKNXrc0QRhtH2HFOb468Rkfw99U0RPpl6n+YAtc8RbVQ3VDAKr10oKhe2xF6oPPb5UNYeYgOkBqTFQi3RE2dc74zrnmNqiT4m6EdorqlR5oEiNBeohaqG7z5JfKD4zc6F91LYefztsd9HKRLaQ4YSOkhKKak2kzsJnfIjc5kHiVAaSYTSKGuWoOLXhQurrQtvwqrwYV36KEVClBClQ0KUUNVcivkoRnMrPTBOSUY5kZEX7iNExraSNCgJkqDiXz9ceNlM0N9vWwgVnFBquaJObedZiuZTQ3PKQ2x6WLCQm95PhnmoCLXVVtJYicTzuwtPxFrA9rMI0RgaG1vuou121HoHzw+JJskg/Y7/J8lwKm5M5X6RNNHH+WEhYlGcxV23SMCicBv+rG34vWJom/Y9gyhTcHrrMknxQ4KSpTblJx7fqPgoP00ieSp3iWiJs5NHL4nQY/emCAr/IxL/yOfvNQs9b0iGxxKrwkLIRpmPPQslmUpkUiozEf0TEW0zEXslskJhrxuDO29QtIFAxpr3PeHYy4eJMq+ZzPuOZPhaRWVDeZEKPVwelAh/841vdXkZHhp6CRr8Y4N+N+G9MCgMhYrMkxSfBIjnDUmALfOGc9alYZG9iNR8g/afJXKXSP4VPooYiBikYkJ9NJikkNlPMqstF5uEqHjiZaORhoasUGikwSIbnPuBa2xxU0oRqXCj6ofOkZkIf3VvSQYih0YjFR3KSk8yKGxNRVKxeeHCqmDWJbPZ6VGiwE3hNLh16Tscpc8i9gdPrdmPKjOKUCrtSSMVjVRYZldDBkLbPQpDcRsU+V5OBSfedxMbGkvngDJKGEiYmAZJHE/p54Edf7j9UMRkIjp0nQ4niDQQOSKVA2TqwyQUExKpSBKMRauRgsaCHZ2La1SQqBskjbRJohGJUWS2LpCWnr4gkiR0WnBQOvQkEmUUZBRkmCjUcEKVSEUxoYyoGbujYgE6j6B2pfl3MlMSszQmrtfSFkTGQeOqiRYRFSGRJEO0klBMqWWpQyqw4WKrRuGuK/4UahpL55yYhtpWfj4vSdwSSSyIpDRYQilIKCUy/UyIkbYDbSdyHcOFqjkYk463PUNrAGlBo8/baXEN7SsicQVRi4jK6IPqM2bHcmk90gknyEdwvItgP67fC2Oxhlcvk4ReWBi8KXJl+ImIvkSrYCI6bjPYNowai1UZ2G8meKy5zeIK51zoX56UB7vUOlYfAAAAAElFTkSuQmCC",videoUrl:"https://www.youtube.com/embed/i05FamHTn_I?si=gRnWs5Kf2n6Qyqmd&autoplay=1",videoLength:"2:56",bentoTitle:"Detailed insights for every click",bentoDescription:"Dub provides detailed analytics for every click on your links. See where your audience is coming from and what devices they are using.",bentoFeatures:[{title:"Time-series data",description:"See how your links are performing over time with a beautiful time-series chart.",image:"https://d2vwwcvoksz7ty.cloudfront.net/features/time-series-data.png"},{title:"Geographic data",description:"Understand your audience with geographic data \u2013\xA0on both a country and city level.",image:"https://d2vwwcvoksz7ty.cloudfront.net/features/geo-data.png"},{title:"Device data",description:"See what devices your audience is using to click on your links"},{title:"Referrer data",description:"Understand which websites are driving the most traffic to your links."},{title:"404 monitoring",description:"Monitor your links for 404 errors and notifies you when they occur."}]},{title:"Branded Links That Stand Out",shortTitle:"Branded Links",accordionTitle:"Use your own domain",description:"Dub offers free and unlimited custom domains on all plans for you to create branded links that stand out.",icon:e,slug:"branded-links",thumbnail:"https://d2vwwcvoksz7ty.cloudfront.net/features/branded-links.png",thumbnailBlurhash:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAdCAYAAADoxT9SAAAACXBIWXMAAAsTAAALEwEAmpwYAAADYElEQVR4nMWY2XLDIAxF/f9/28QGs5myCSQBXtLM9OFO09axdXwlIVjccXjnotyJjqZw/UHkv6B83/gsY63XWvt9V15K6YUQfts2v64rVfjbtgkvwjX7vvsFgrVRNsoyuV7p+iPJcR0j2GulGMLzjDFeKZWCwxDv99u/ol7v9DlqXQNMuCYCLzMAg2Xgs6vK3zkqUAf2RxBwI775BPF6UUWYABhB43WL5QGHG0VpIjtQADKOwR0V7inQFGSlID8/ABNdKSkWQXLwWTVwTaWIbFWEwSJAD2F6kJZab0itgSMIxHQAOWAdbpi1KzOQRVAuCbuUa+k+TAeSakSmguY18io1QkD6N48BivYsuZsqgOFAZzBTiA5Ep2LnXSumUi70NUOsuXNtAXhRGIBDVACuBiQLDABp3dIMOtyVKxQkt1/oXA2mACWorbbf6EZswQsEX99+ukG0tkiqcCGW9ltQ/CmIQwimuPIcpKwjJr/YncAUIIAS2YkIIUI9LRxCIggCIFT4YpBUCSTDmAYzAAFXnoBAeun6ggGmAFWoBhH/t7Q64C7sSZtoWgvMWqGoM7FucEdrIO6y4OvCDOuYgbqFNCtAAAWfS8yXIBRGUU1AtM5rDQe504LppEHXN9pZNanrBYq6r4nY/rgjIIABEH0DxN1owf3c10YjDGUrFDSrhUBwEJZa3BVRHJEcpDzMfhuEL95PQMQEYisdDFpyghiBuPupNYKxCAaPUpcgo5QaCbqZLGtNdsOktDKD+rg/c30T5ARGJDWI7IauNxyn1ZMp+EMQ+YEjojgiU0ssIMwR2Mu4/0st2noBLAe/lwUIIFQdaVJbTFuAEYR7tDdpQPPOxYfcOQh6+y2lKExapDCIxiAWFfonjhydIyOQi641d0RiRwpEXJSuHLm3IJ61X/dJ+/0wtYojBu/3B4cYVy58ZR3BqTXURWrR9HJdwXOYuxB1xK8aguh5sU8gKsgO6WXmrkxg7kFQNxJEGoMGINNZawIiCojEICS9TH0wP1I6Oz8bHT2Zk5SiIGgnWIHkaEPV/o5rBIN0riBNz8guxO/zfRCUWgRGzWHwin8n6A6CpVQFUQbvR/oUmwoBcAgMMoN5Ihx8fzQ1Aqn7Ev0YpINh52K6jC51oDwNmmtwxlYn7fb7L/LDQmuPkz48AAAAAElFTkSuQmCC",videoUrl:"https://www.youtube.com/embed/LbgvQxLVqq4?si=7_sJVXFZINPxbAdM&autoplay=1",videoLength:"3:23",bentoTitle:"Impress your audience with branded links",bentoDescription:"Create custom short links that match your brand and stand out from the crowd, with free and unlimited custom domains on all plans.",bentoFeatures:[{title:"Unlimited custom domains",description:"Add as many custom domains as you want to your project at no extra cost.",image:"https://d2vwwcvoksz7ty.cloudfront.net/features/domains.png",href:"/help/article/how-to-add-custom-domain"},{title:"Custom Social Media Cards",description:"Customize the title, description, and image of your links when shared on social media.",image:"https://d2vwwcvoksz7ty.cloudfront.net/features/social-cards.png",href:"/help/article/how-to-create-link#custom-social-media-cards"},{title:"Free SSL certificates",description:"Dub automatically provisions SSL certificates for your custom domains."},{title:"Link cloaking",description:"Hide your destination URL with link cloaking to make your links look cleaner.",href:"/help/article/how-to-create-link#link-cloaking"},{title:"Custom QR codes",description:"With Dub Pro, you can create branded QR codes for your links.",href:"/features/qr-codes"}]},{title:"Free QR Code Generator",shortTitle:"QR Codes",accordionTitle:"Free QR Code Generator",description:"QR codes and short links are like peas in a pod. Dub offers free QR codes for every short link you create.",icon:i,slug:"qr-codes",thumbnail:"https://d2vwwcvoksz7ty.cloudfront.net/features/qr-codes.png",thumbnailBlurhash:"data:image/png;base64,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",videoUrl:"https://www.youtube.com/embed/fcWkUZoJJ7w?si=LKNOO67aL6Q-3xN4&autoplay=1",videoLength:"1:07",bentoTitle:"Gorgeous QR codes for your links",bentoDescription:"Create beautiful flyers and posters with QR codes for your links."},{title:"Personalize Your Short Links",shortTitle:"Personalization",accordionTitle:"Personalize Your Short links",description:"Customize your link's behavior with device targeting, geo targeting, link cloaking, and more.",icon:o,slug:"personalization",thumbnail:"https://d2vwwcvoksz7ty.cloudfront.net/features/personalization.png",thumbnailBlurhash:"data:image/png;base64,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",videoUrl:"https://www.youtube.com/embed/K2UdLK8k1I4?si=79hu5XSW9pSjODOm&autoplay=1",videoLength:"2:25",bentoTitle:"Optimize your links for every audience",bentoDescription:"Get the most out of every click by delivering the right experience to the right audience.",bentoFeatures:[{title:"Device targeting",description:"Redirect your audience to different destinations based on their device type (e.g. iOS/Android).",image:"https://d2vwwcvoksz7ty.cloudfront.net/features/device-targeting.png",href:"/help/article/how-to-create-link#device-targeting-ios--android"},{title:"Geo targeting",description:"Redirect your audience to different destinations based on their country of origin.",image:"https://d2vwwcvoksz7ty.cloudfront.net/features/geo-targeting.png",href:"/help/article/how-to-create-link#geo-targeting"},{title:"Expiration dates",description:"Automatically disable your links after a certain date & time.",href:"/help/article/how-to-create-link#expiration-date"},{title:"Password protection",description:"Protect your links with passwords to prevent unauthorized access.",href:"/help/article/how-to-create-link#password-protection"},{title:"Link cloaking",description:"Hide your destination URL with link cloaking to make your links look cleaner.",href:"/help/article/how-to-create-link#link-cloaking"}]},{title:"Collaborate With Your Team",shortTitle:"Team Collaboration",accordionTitle:"Collaborate With Your Team",description:"Invite your teammates to collaborate on your links. For enterprises, Dub offers SAML SSO for better security.",icon:r,slug:"collaboration",thumbnail:"https://d2vwwcvoksz7ty.cloudfront.net/features/collaboration.png",thumbnailBlurhash:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAdCAYAAADoxT9SAAAACXBIWXMAAAsTAAALEwEAmpwYAAAE0UlEQVR4nM2YC3eiWBCE5///yIlRQN6vyxu0p6ovILLZTMzDXc+pg6AJ/VnVfYFf8g2v6/Uql8tl1TRNq8ZxvNP2s+X7/HvqK69f3wGxgOyLH4bhTW2hvgvmW0D2EEvBfd+/qbdg/hOQ5aQW4opiLijqBsFiu65TtW27UTcfvwfaw3wG6CGQPYB1wkJYgEE6FMiCGxTeNI2qrqH5/QJFoC3M00DuIS4rBH/NYRhXFxRCi6+lqqhqo1qPL0DWme9x5UMg70GwiH5xAQWyWGOMFGUpRVFInlO5brlf4jg/r2agxZnFlc/2yxdAFohBWhTD+BhTKUCW5ZKmmSRJInFMxbrlPo8TjEB0aYFhxL7S+A+B3ENMa2M3TatOlKXRIpMk1cLDKJIwDCWAuI2wz+Npms4wRqPGmP04yJsQu0jRDQtRKEQUxRIEofh+IOezv4r7BKJDdIZRW1zZxut5IPOYZbNaNxCpotTiothCsHDXO4vjepArLrYe9i1MpDGjK+yXLQj//2ca/iGQ26ide2N1o0JfFPilU0BEcvZ8cRxPTkdXjkdnleO4KwxdIzh7hfFin/w8yOW6cwMgHUCaDm40cMOgqFyiMBH/HIrrnBXi9eDI4XCCjnh/UhgXgHSLrqSIIZ2sq/qu4Xm+HwHRxW8Zt4AY4Ea/xMrUUuQASXIJgxhuBOKcznJ8deXwAoiX46rjK1w5eepYGETaTytI+0yQ8QbStYM0dSumrCXPjCQxQRI5u+E9yO8F5rQBCRQ6SbLng0wzyNAzVqOC1FUnpmgkTwESAcSfQY6+HA+evL4gWr8hbBmzE+AYO8YvCtEjACkRyxrxtCCjnucG8mGOx0DGLUizBykAkgIkEvcUoGi48kIYNPzBVYec41k8N5DAx3oSpZKluQ4KDgxOwKeBTOMFINMK0gCkKlopMkytuJQoyCXw4IpDGDjz6lvBIffki+dgbTlH+B4WRUQxz0rtMfYahwdje9mDfBDmQUf2IP0MUgPESBzClXMmvmthPMCoAMDI+V6s8UuiTLKk0CFRmUann714nJ4DMg1bkHEG6aTMEK+kkiSEK36uMHSGQL4bK0BwTjR6cZihNwodEKbA1XCFq+CWV8HjT4PIPLWuGq1RQSYFaSv0SdmLyeFKSlcsTBwUChQBSOVnOJbpQEhjC1EWlbrR1J0ODvbe9FwQuAKQvpmkrQFitq4AJsKaApgEMSNQjL7hew6DFH3EwVDklY5tuqGx6v4HII0ZFMRkdGWGgTMpgaJSxUGQJcZCYDAwUuoGhkXb9BZkuEWL53t0cr0Pcv1LtGYQxkthEDE6QyBGTYVBUFJ5o6O6Klt1gpEiBGPF/hgGe2swzSCXnwJZxu+4aXYFQcMv8TKYYAqjQuFafKsiQGVaXXuaup8hrBsWZLyBLK48sLp/AOTfxi9BAMHJZex6woIJsBedMGWjcbrBdHcw7BGuI9Pqyg3myyDX90AQiQWkJkjZasElldc3FVYEMcbC2GjxKQsfVvChhX0Cc+fK5fJQvB4EmWaQ5aKx11+XvzILVYii1qm0VUlh3JZlrdPKwjR3MP0MM+5gPhqvv4D88yHcclPFSLCIum71nsSCAKKo9P6Eq/aqwoq3w7y2MqaeHw01enliH9z1O1ceezz0B49+MX0EZnFXAAAAAElFTkSuQmCC",videoUrl:"https://www.youtube.com/embed/_m9RM8L6TOw?si=49_XIkQ7g-61dRtV&autoplay=1",videoLength:"2:13",bentoTitle:"Seamless collaboration for marketing teams",bentoDescription:"View and manage your team's links in one place, with fine-grained permissions and SAML SSO for enterprises.",bentoFeatures:[{title:"Unlimited teammates",description:"All paid plans come with unlimited teammates, so you can work with your team without worrying about extra costs.",image:"https://d2vwwcvoksz7ty.cloudfront.net/features/teammates.png",href:"/help/article/how-to-invite-teammates"},{title:"SAML SSO",description:"Dub offers SAML SSO for enterprises to provide better security and control over their projects.",image:"https://d2vwwcvoksz7ty.cloudfront.net/features/saml.png",href:"/help/category/saml-sso"},{title:"Tags & comments",description:"Organize your links with tags and comments to provide context for your team.",href:"/help/article/how-to-use-tags"},{title:"Fine-grained permissions",description:"Enterprises on Dub can set role-based access controls (RBAC) to control who can create, edit, and delete links."},{title:"Team analytics",description:"See how your team is performing with team analytics, including link clicks and top referrers."}]}];export{a};
|
package/dist/chunk-G2EXSXOB.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useEffect as o,useState as d}from"react";function l(){let[t,i]=d(null),[e,h]=d(null);return o(()=>{let n=()=>{window.matchMedia("(max-width: 640px)").matches?i("mobile"):window.matchMedia("(min-width: 641px) and (max-width: 1024px)").matches?i("tablet"):i("desktop"),h({width:window.innerWidth,height:window.innerHeight})};return n(),window.addEventListener("resize",n),()=>{window.removeEventListener("resize",n)}},[]),{device:t,width:e==null?void 0:e.width,height:e==null?void 0:e.height,isMobile:t==="mobile",isTablet:t==="tablet",isDesktop:t==="desktop"}}export{l as a};
|
package/dist/chunk-GIGD5PB3.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Airplay as e,BarChart as t,Link2 as o,QrCode as i,Users as r}from"lucide-react";var a=[{title:"Powerful Analytics For The Modern Marketer",shortTitle:"Advanced Analytics",accordionTitle:"Analytics that matter",description:"Dub provides powerful analytics for your links, including geolocation, device, browser, and referrer information.",icon:t,slug:"analytics",thumbnail:"https://d2vwwcvoksz7ty.cloudfront.net/features/analytics.png",thumbnailBlurhash:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAdCAYAAADoxT9SAAAACXBIWXMAAAsTAAALEwEAmpwYAAAE+0lEQVR4nL2Y63qiShBF5/2f8czkpjGCgoLQV+yzq6saGpVMYjznx/ok0JBa7GrQ/mWsC7fQhLE3MEEJl8eMteP51hH+L8g4e81SXUv8WhS5KFJpwlyhdSZicpGpYCf8VSgT+09EliQYPs5j3ZVIknA+41O5+9K5S6RXE0lEJZEok6Xhhwx/zaLU99L5lkguMJGOuyiiMxHnWMB/wi2py3TMF5L5skifiXQzbJTpIZJkpkQykWGBeHxJRtpLtn8s0pNILtGbcIrYSEcoJzIe53hcY2CRJCOFDxfM0xlGmVtz50EiNt79Too/dUxLn72LRBnlRWaYZPwZEsxwwf8iYpKItE+SaEWgOREu0naEx3EPoQEyQyZDBU8yudRcYrieJ9bHVr17sjOTCKWRJBpwhMShJdzIsfXY73GchIYo1Eehc5QhHOEzpP1szlh8zo9FXBQZJSBwhEDd2FAdbdgfXNhl7I8e+32o2wFSA6SGKNXrc0QRhtH2HFOb468Rkfw99U0RPpl6n+YAtc8RbVQ3VDAKr10oKhe2xF6oPPb5UNYeYgOkBqTFQi3RE2dc74zrnmNqiT4m6EdorqlR5oEiNBeohaqG7z5JfKD4zc6F91LYefztsd9HKRLaQ4YSOkhKKak2kzsJnfIjc5kHiVAaSYTSKGuWoOLXhQurrQtvwqrwYV36KEVClBClQ0KUUNVcivkoRnMrPTBOSUY5kZEX7iNExraSNCgJkqDiXz9ceNlM0N9vWwgVnFBquaJObedZiuZTQ3PKQ2x6WLCQm95PhnmoCLXVVtJYicTzuwtPxFrA9rMI0RgaG1vuou121HoHzw+JJskg/Y7/J8lwKm5M5X6RNNHH+WEhYlGcxV23SMCicBv+rG34vWJom/Y9gyhTcHrrMknxQ4KSpTblJx7fqPgoP00ieSp3iWiJs5NHL4nQY/emCAr/IxL/yOfvNQs9b0iGxxKrwkLIRpmPPQslmUpkUiozEf0TEW0zEXslskJhrxuDO29QtIFAxpr3PeHYy4eJMq+ZzPuOZPhaRWVDeZEKPVwelAh/841vdXkZHhp6CRr8Y4N+N+G9MCgMhYrMkxSfBIjnDUmALfOGc9alYZG9iNR8g/afJXKXSP4VPooYiBikYkJ9NJikkNlPMqstF5uEqHjiZaORhoasUGikwSIbnPuBa2xxU0oRqXCj6ofOkZkIf3VvSQYih0YjFR3KSk8yKGxNRVKxeeHCqmDWJbPZ6VGiwE3hNLh16Tscpc8i9gdPrdmPKjOKUCrtSSMVjVRYZldDBkLbPQpDcRsU+V5OBSfedxMbGkvngDJKGEiYmAZJHE/p54Edf7j9UMRkIjp0nQ4niDQQOSKVA2TqwyQUExKpSBKMRauRgsaCHZ2La1SQqBskjbRJohGJUWS2LpCWnr4gkiR0WnBQOvQkEmUUZBRkmCjUcEKVSEUxoYyoGbujYgE6j6B2pfl3MlMSszQmrtfSFkTGQeOqiRYRFSGRJEO0klBMqWWpQyqw4WKrRuGuK/4UahpL55yYhtpWfj4vSdwSSSyIpDRYQilIKCUy/UyIkbYDbSdyHcOFqjkYk463PUNrAGlBo8/baXEN7SsicQVRi4jK6IPqM2bHcmk90gknyEdwvItgP67fC2Oxhlcvk4ReWBi8KXJl+ImIvkSrYCI6bjPYNowai1UZ2G8meKy5zeIK51zoX56UB7vUOlYfAAAAAElFTkSuQmCC",videoUrl:"https://www.youtube.com/embed/i05FamHTn_I?si=gRnWs5Kf2n6Qyqmd&autoplay=1",videoLength:"2:56",bentoTitle:"Detailed insights for every click",bentoDescription:"Dub provides detailed analytics for every click on your links. See where your audience is coming from and what devices they are using.",bentoFeatures:[{title:"Time-series data",description:"See how your links are performing over time with a beautiful time-series chart.",image:"https://d2vwwcvoksz7ty.cloudfront.net/features/time-series-data.png"},{title:"Geographic data",description:"Understand your audience with geographic data \u2013\xA0on both a country and city level.",image:"https://d2vwwcvoksz7ty.cloudfront.net/features/geo-data.png"},{title:"Device data",description:"See what devices your audience is using to click on your links"},{title:"Referrer data",description:"Understand which websites are driving the most traffic to your links."},{title:"404 monitoring",description:"Monitor your links for 404 errors and notifies you when they occur."}]},{title:"Branded Links That Stand Out",shortTitle:"Branded Links",accordionTitle:"Use your own domain",description:"Dub offers free and unlimited custom domains on all plans for you to create branded links that stand out.",icon:e,slug:"branded-links",thumbnail:"https://d2vwwcvoksz7ty.cloudfront.net/features/branded-links.png",thumbnailBlurhash:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAdCAYAAADoxT9SAAAACXBIWXMAAAsTAAALEwEAmpwYAAADYElEQVR4nMWY2XLDIAxF/f9/28QGs5myCSQBXtLM9OFO09axdXwlIVjccXjnotyJjqZw/UHkv6B83/gsY63XWvt9V15K6YUQfts2v64rVfjbtgkvwjX7vvsFgrVRNsoyuV7p+iPJcR0j2GulGMLzjDFeKZWCwxDv99u/ol7v9DlqXQNMuCYCLzMAg2Xgs6vK3zkqUAf2RxBwI775BPF6UUWYABhB43WL5QGHG0VpIjtQADKOwR0V7inQFGSlID8/ABNdKSkWQXLwWTVwTaWIbFWEwSJAD2F6kJZab0itgSMIxHQAOWAdbpi1KzOQRVAuCbuUa+k+TAeSakSmguY18io1QkD6N48BivYsuZsqgOFAZzBTiA5Ep2LnXSumUi70NUOsuXNtAXhRGIBDVACuBiQLDABp3dIMOtyVKxQkt1/oXA2mACWorbbf6EZswQsEX99+ukG0tkiqcCGW9ltQ/CmIQwimuPIcpKwjJr/YncAUIIAS2YkIIUI9LRxCIggCIFT4YpBUCSTDmAYzAAFXnoBAeun6ggGmAFWoBhH/t7Q64C7sSZtoWgvMWqGoM7FucEdrIO6y4OvCDOuYgbqFNCtAAAWfS8yXIBRGUU1AtM5rDQe504LppEHXN9pZNanrBYq6r4nY/rgjIIABEH0DxN1owf3c10YjDGUrFDSrhUBwEJZa3BVRHJEcpDzMfhuEL95PQMQEYisdDFpyghiBuPupNYKxCAaPUpcgo5QaCbqZLGtNdsOktDKD+rg/c30T5ARGJDWI7IauNxyn1ZMp+EMQ+YEjojgiU0ssIMwR2Mu4/0st2noBLAe/lwUIIFQdaVJbTFuAEYR7tDdpQPPOxYfcOQh6+y2lKExapDCIxiAWFfonjhydIyOQi641d0RiRwpEXJSuHLm3IJ61X/dJ+/0wtYojBu/3B4cYVy58ZR3BqTXURWrR9HJdwXOYuxB1xK8aguh5sU8gKsgO6WXmrkxg7kFQNxJEGoMGINNZawIiCojEICS9TH0wP1I6Oz8bHT2Zk5SiIGgnWIHkaEPV/o5rBIN0riBNz8guxO/zfRCUWgRGzWHwin8n6A6CpVQFUQbvR/oUmwoBcAgMMoN5Ihx8fzQ1Aqn7Ev0YpINh52K6jC51oDwNmmtwxlYn7fb7L/LDQmuPkz48AAAAAElFTkSuQmCC",videoUrl:"https://www.youtube.com/embed/LbgvQxLVqq4?si=7_sJVXFZINPxbAdM&autoplay=1",videoLength:"3:23",bentoTitle:"Impress your audience with branded links",bentoDescription:"Create custom short links that match your brand and stand out from the crowd, with free and unlimited custom domains on all plans.",bentoFeatures:[{title:"Unlimited custom domains",description:"Add as many custom domains as you want to your project at no extra cost.",image:"https://d2vwwcvoksz7ty.cloudfront.net/features/domains.png",href:"/help/article/how-to-add-custom-domain"},{title:"Custom Social Media Cards",description:"Customize the title, description, and image of your links when shared on social media.",image:"https://d2vwwcvoksz7ty.cloudfront.net/features/social-cards.png",href:"/help/article/how-to-create-link#custom-social-media-cards"},{title:"Free SSL certificates",description:"Dub automatically provisions SSL certificates for your custom domains."},{title:"Link cloaking",description:"Hide your destination URL with link cloaking to make your links look cleaner.",href:"/help/article/how-to-create-link#link-cloaking"},{title:"Custom QR codes",description:"With Dub Pro, you can create branded QR codes for your links.",href:"/features/qr-codes"}]},{title:"Free QR Code Generator",shortTitle:"QR Codes",accordionTitle:"Free QR Code Generator",description:"QR codes and short links are like peas in a pod. Dub offers free QR codes for every short link you create.",icon:i,slug:"qr-codes",thumbnail:"https://d2vwwcvoksz7ty.cloudfront.net/features/qr-codes.png",thumbnailBlurhash:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAdCAYAAADoxT9SAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFvklEQVR4nL2Y23qaUBCF+/7v1CZpG1uTeD4jooIgCHISMb2arhnEIzbaNrmYD90aMv9ea2Y2flqnr5SsN9dFuqH1SeRrb/1t9v1XiZRjw/GL0tdftDkJWZd4PYv8Hqfx6X+AHH5nlXCk29jsIkkOoNZboC1MMUgBxJsg6eGubZMr2uU3QCTpVUrxhdhByfe3SSC5zeYyyKXEC0EOLXJppw9B1yd24uQ40ShGRCmFHOGagjBFZFde48/jmGFzoFyZ/waSx7kqR0kXAmwkQU7YD9a09BHLhLyDWC7xGdYDfJ4BZX9XBHKtla4GubT7pwpkAFnCrruixWJFjhOTvQu8x5rrJgLIsGGYweSqpFuY09r47yB7m2VFHK94Z3MAJO/GNLcjsuYhmWZIxizYRkgzvDetiGw7Fkgvh4nSE1VuK+43QHKYY7BDiEggsLs+EnM5wQDJ+6TrHk0mHmljl0YaYuSSpnk0Hi9pOvVpBqj5PBIYthrXjYAkm0KQWyAugJxHZqdcCSTiIyE3gAJLMgwXyTo0VOc0GFjU61vU7ZkIfo01xSFVXQByCZhAlHG9TJXcXoUgN0DcAMJq8D9GAiEngt21GWIBCJuUISduULutU7OpU6ORXVutGXW7FgBtUUjXfcDzJqy2IOnHgxyq4SxgFRNKTOZQgiE48QnVahpVKhq9vPB1jPdTrBsCMxw6ogrXENuLuxiDXLTW+4EkFEQxipXV8Eg3bFJHJuzDyXLiKj09KfSzjPipULk8pOdnjWrVCZQxRJXx2BN7OYtYQHimJElxsb8LyIpBYKsgjGArtgerAcsoOrU7vPNDQAzox48ePT5mUSoNAKOKQk1YrY960dAEGGTBILDWn7rWu4FIfQTsbxSt6aA7zaDGhBpNFVbqA6JD37616OGhSQ/3Lfr6tS1AZShUrWrU6Rgoeht1skTBh+hcK9xzvTuy5DC3dqvbQJI9iLNAkZtsK/a+RvW6AjW69P07AB7qdHdXoy9fanR/1wBMi36UevTyrEgNKQMTdbKgueWT50XSxnmwsnWPZ9dHgcwykE53RLU6W6gDkAbd3zNEhT5/rtAdYL5CnVKpA5CB1NFgMAOIQ5a1lM4XhitpInz/87PcO1vLEWuhnWpQpAdFGgN6eu7ARqwAlLhniAquVVitAcu1qQLrtQCiDAyA2FDEKwD5N1Wu71rbYpcasbIa6fdRyC0FBd1Fp2pClTpgqrAYIADFcOVym6qVPmbMiBQ0hyladgYS4H6x3JdnlICsPwKE268MQ+5amNRTE4lNUMQq6qSPVtsGTIMeS3UA1aj0WBe4Z6hVr/XxvRFmCUCmFkBcHCJ9nIYjKJ2pkpyp8i4gm+1A5DkSYI5gShtz1IkuqrSgSq2Gon5pU/mpKUDlclPgqtUu6mNAPdhQVXV0LYBgI3hD9iB7VZL3BsmOKDzZQyl4E/ZiVVR1CpgRrKPgaNIDUAdWY4A2XjMEq6Gg0DXMER3HGotsAVkCJJTN+WCQA3tBFdtxpXtNpjMoM5VEu70hgAZQqC/Br7tdBaAqgCcodAMDESB2BuJvQaL4HOTWoXg1yNF5SwajLxbjDjbVTdntIZIdKJoknoeijAAxRnNAfegznLXmePByL4Lkavzjo+6l2OxUiaR7ZRZjGFbGgs2M2RyFbOI8ZaA1T3ehjaeihA4IVmM+d3BE8VBrfqG1TkGuBboS5FVa475Wkp0yHtoot2Qb6lhIkhXiOtA5oBRfDQCwEvx5rsbSD6Sd74t9PxT/5mnxepCDWtk/KfJzRSzquDmQ48FyC0maleIrq8BrDLFwMzX2ttqDrNMPBDl8WsyV4QbAzyl8xOf5wEAO7MNQfOVgAFYihzhW48+2usZefwVyCYaPMKwOzxoXCfOsyIMB2E45hNTGH211/mvj+jBOQa7+uXR9+pMQQLYwfMyIomMgTpihOHwOBsB6DlE0CI8T/3UhihX6DZrKi05GV59sAAAAAElFTkSuQmCC",videoUrl:"https://www.youtube.com/embed/fcWkUZoJJ7w?si=LKNOO67aL6Q-3xN4&autoplay=1",videoLength:"1:07",bentoTitle:"Gorgeous QR codes for your links",bentoDescription:"Create beautiful flyers and posters with QR codes for your links."},{title:"Personalize Your Short Links",shortTitle:"Personalization",accordionTitle:"Personalize Your Short links",description:"Customize your link's behavior with device targeting, geo targeting, link cloaking, and more.",icon:o,slug:"personalization",thumbnail:"https://d2vwwcvoksz7ty.cloudfront.net/features/personalization.png",thumbnailBlurhash:"data:image/png;base64,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",videoUrl:"https://www.youtube.com/embed/K2UdLK8k1I4?si=79hu5XSW9pSjODOm&autoplay=1",videoLength:"2:25",bentoTitle:"Optimize your links for every audience",bentoDescription:"Get the most out of every click by delivering the right experience to the right audience.",bentoFeatures:[{title:"Device targeting",description:"Redirect your audience to different destinations based on their device type (e.g. iOS/Android).",image:"https://d2vwwcvoksz7ty.cloudfront.net/features/device-targeting.png",href:"/help/article/how-to-create-link#device-targeting-ios--android"},{title:"Geo targeting",description:"Redirect your audience to different destinations based on their country of origin.",image:"https://d2vwwcvoksz7ty.cloudfront.net/features/geo-targeting.png",href:"/help/article/how-to-create-link#geo-targeting"},{title:"Expiration dates",description:"Automatically disable your links after a certain date & time.",href:"/help/article/how-to-create-link#expiration-date"},{title:"Password protection",description:"Protect your links with passwords to prevent unauthorized access.",href:"/help/article/how-to-create-link#password-protection"},{title:"Link cloaking",description:"Hide your destination URL with link cloaking to make your links look cleaner.",href:"/help/article/how-to-create-link#link-cloaking"}]},{title:"Collaborate With Your Team",shortTitle:"Team Collaboration",accordionTitle:"Collaborate With Your Team",description:"Invite your teammates to collaborate on your links. For enterprises, Dub offers SAML SSO for better security.",icon:r,slug:"collaboration",thumbnail:"https://d2vwwcvoksz7ty.cloudfront.net/features/collaboration.png",thumbnailBlurhash:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAdCAYAAADoxT9SAAAACXBIWXMAAAsTAAALEwEAmpwYAAAE0UlEQVR4nM2YC3eiWBCE5///yIlRQN6vyxu0p6ovILLZTMzDXc+pg6AJ/VnVfYFf8g2v6/Uql8tl1TRNq8ZxvNP2s+X7/HvqK69f3wGxgOyLH4bhTW2hvgvmW0D2EEvBfd+/qbdg/hOQ5aQW4opiLijqBsFiu65TtW27UTcfvwfaw3wG6CGQPYB1wkJYgEE6FMiCGxTeNI2qrqH5/QJFoC3M00DuIS4rBH/NYRhXFxRCi6+lqqhqo1qPL0DWme9x5UMg70GwiH5xAQWyWGOMFGUpRVFInlO5brlf4jg/r2agxZnFlc/2yxdAFohBWhTD+BhTKUCW5ZKmmSRJInFMxbrlPo8TjEB0aYFhxL7S+A+B3ENMa2M3TatOlKXRIpMk1cLDKJIwDCWAuI2wz+Npms4wRqPGmP04yJsQu0jRDQtRKEQUxRIEofh+IOezv4r7BKJDdIZRW1zZxut5IPOYZbNaNxCpotTiothCsHDXO4vjepArLrYe9i1MpDGjK+yXLQj//2ca/iGQ26ide2N1o0JfFPilU0BEcvZ8cRxPTkdXjkdnleO4KwxdIzh7hfFin/w8yOW6cwMgHUCaDm40cMOgqFyiMBH/HIrrnBXi9eDI4XCCjnh/UhgXgHSLrqSIIZ2sq/qu4Xm+HwHRxW8Zt4AY4Ea/xMrUUuQASXIJgxhuBOKcznJ8deXwAoiX46rjK1w5eepYGETaTytI+0yQ8QbStYM0dSumrCXPjCQxQRI5u+E9yO8F5rQBCRQ6SbLng0wzyNAzVqOC1FUnpmgkTwESAcSfQY6+HA+evL4gWr8hbBmzE+AYO8YvCtEjACkRyxrxtCCjnucG8mGOx0DGLUizBykAkgIkEvcUoGi48kIYNPzBVYec41k8N5DAx3oSpZKluQ4KDgxOwKeBTOMFINMK0gCkKlopMkytuJQoyCXw4IpDGDjz6lvBIffki+dgbTlH+B4WRUQxz0rtMfYahwdje9mDfBDmQUf2IP0MUgPESBzClXMmvmthPMCoAMDI+V6s8UuiTLKk0CFRmUann714nJ4DMg1bkHEG6aTMEK+kkiSEK36uMHSGQL4bK0BwTjR6cZihNwodEKbA1XCFq+CWV8HjT4PIPLWuGq1RQSYFaSv0SdmLyeFKSlcsTBwUChQBSOVnOJbpQEhjC1EWlbrR1J0ODvbe9FwQuAKQvpmkrQFitq4AJsKaApgEMSNQjL7hew6DFH3EwVDklY5tuqGx6v4HII0ZFMRkdGWGgTMpgaJSxUGQJcZCYDAwUuoGhkXb9BZkuEWL53t0cr0Pcv1LtGYQxkthEDE6QyBGTYVBUFJ5o6O6Klt1gpEiBGPF/hgGe2swzSCXnwJZxu+4aXYFQcMv8TKYYAqjQuFafKsiQGVaXXuaup8hrBsWZLyBLK48sLp/AOTfxi9BAMHJZex6woIJsBedMGWjcbrBdHcw7BGuI9Pqyg3myyDX90AQiQWkJkjZasElldc3FVYEMcbC2GjxKQsfVvChhX0Cc+fK5fJQvB4EmWaQ5aKx11+XvzILVYii1qm0VUlh3JZlrdPKwjR3MP0MM+5gPhqvv4D88yHcclPFSLCIum71nsSCAKKo9P6Eq/aqwoq3w7y2MqaeHw01enliH9z1O1ceezz0B49+MX0EZnFXAAAAAElFTkSuQmCC",videoUrl:"https://www.youtube.com/embed/_m9RM8L6TOw?si=49_XIkQ7g-61dRtV&autoplay=1",videoLength:"2:13",bentoTitle:"Seamless collaboration for marketing teams",bentoDescription:"View and manage your team's links in one place, with fine-grained permissions and SAML SSO for enterprises.",bentoFeatures:[{title:"Unlimited teammates",description:"All paid plans come with unlimited teammates, so you can work with your team without worrying about extra costs.",image:"https://d2vwwcvoksz7ty.cloudfront.net/features/teammates.png",href:"/help/article/how-to-invite-teammates"},{title:"SAML SSO",description:"Dub offers SAML SSO for enterprises to provide better security and control over their projects.",image:"https://d2vwwcvoksz7ty.cloudfront.net/features/saml.png",href:"/help/category/saml-sso"},{title:"Tags & comments",description:"Organize your links with tags and comments to provide context for your team.",href:"/help/article/how-to-use-tags"},{title:"Fine-grained permissions",description:"Enterprises on Dub can set role-based access controls (RBAC) to control who can create, edit, and delete links."},{title:"Team analytics",description:"See how your team is performing with team analytics, including link clicks and top referrers."}]}];export{a};
|
package/dist/chunk-GK743T7Z.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var o=Object.defineProperty,p=Object.defineProperties;var q=Object.getOwnPropertyDescriptors;var f=Object.getOwnPropertySymbols;var k=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable;var j=(a,c,b)=>c in a?o(a,c,{enumerable:!0,configurable:!0,writable:!0,value:b}):a[c]=b,r=(a,c)=>{for(var b in c||(c={}))k.call(c,b)&&j(a,b,c[b]);if(f)for(var b of f(c))l.call(c,b)&&j(a,b,c[b]);return a},s=(a,c)=>p(a,q(c));var t=(a,c)=>{var b={};for(var d in a)k.call(a,d)&&c.indexOf(d)<0&&(b[d]=a[d]);if(a!=null&&f)for(var d of f(a))c.indexOf(d)<0&&l.call(a,d)&&(b[d]=a[d]);return b};var u=(a,c,b)=>new Promise((d,i)=>{var m=e=>{try{g(b.next(e))}catch(h){i(h)}},n=e=>{try{g(b.throw(e))}catch(h){i(h)}},g=e=>e.done?d(e.value):Promise.resolve(e.value).then(m,n);g((b=b.apply(a,c)).next())});export{r as a,s as b,t as c,u as d};
|
package/dist/chunk-GMO2NK2C.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={city:"San Francisco",region:"CA",country:"US",latitude:"37.7695",longitude:"-122.385"},s="63.141.57.109",p={hidden:{scale:.8,opacity:0},show:{scale:1,opacity:1,transition:{type:"spring"}}},a={hidden:{opacity:0,y:20},show:{opacity:1,y:0,transition:{duration:.4,type:"spring"}}},n={initial:{height:0},animate:{height:"auto"},exit:{height:0},transition:{duration:.15,ease:"easeOut"}},c={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2}},i=100,r="https://dub.co",l=new Set(["app.dub.co","preview.dub.co","localhost:8888","localhost"]),d=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"||process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://app.dub.co":"http://localhost:8888",u=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://app.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://preview.dub.co":process.env.NGROK_URL,_=new Set(["api.dub.co","api.dub.sh","api.localhost:8888"]),h=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://api.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://api.dub.sh":"http://api.localhost:8888",E=new Set(["admin.dub.co","admin.localhost:8888"]),A={home:"https://dub.co",dub:"https://dub.co",signin:"https://app.dub.co/login",login:"https://app.dub.co/login",register:"https://app.dub.co/register",signup:"https://app.dub.co/register",app:"https://app.dub.co",dashboard:"https://app.dub.co",links:"https://app.dub.co/links",settings:"https://app.dub.co/settings",welcome:"https://app.dub.co/welcome",discord:"https://twitter.com/dubdotco",tags:"https://dub.co/help/how-to-use-tags"},g={headers:{"x-powered-by":"Dub.co - Link management for modern marketing teams"}},I="/_static/favicons",N="https://www.google.com/s2/favicons?sz=64&domain_url=",L="https://d2vwwcvoksz7ty.cloudfront.net/logo.png",m="https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png",O=["tools","pricing","help","features","customers","blog","(blog-post)","login","register","auth"],S=new Set(["com","co","net","org","edu","gov","in"]),T=new Set(["my.id","github.io","vercel.app","now.sh","pages.dev","webflow.io","netlify.app","fly.dev","web.app"]),b={key:"",url:"",domain:"",archived:!1,expiresAt:null,password:null,title:null,description:null,image:null,rewrite:!1,ios:null,android:null,clicks:0,userId:"",proxy:!1},w="cl7pj5kq4006835rbjlt2ofka",x=[{name:"Okta",logo:"/_static/icons/okta.svg",saml:"okta",samlModalCopy:"Metadata URL",scim:"okta-scim-v2",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1},{name:"Azure AD",logo:"/_static/icons/azure.svg",saml:"azure",samlModalCopy:"App Federation Metadata URL",scim:"azure-scim-v2",scimModalCopy:{url:"Tenant URL",token:"Secret Token"},wip:!1},{name:"Google",logo:"/_static/icons/google.svg",saml:"google",samlModalCopy:"XML Metadata File",scim:"google",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1}];export{e as a,s as b,p as c,a as d,n as e,c as f,i as g,r as h,l as i,d as j,u as k,_ as l,h as m,E as n,A as o,g as p,I as q,N as r,L as s,m as t,O as u,S as v,T as w,b as x,w as y,x as z};
|
package/dist/chunk-H4LU5LOY.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
var a={AF:"Afghanistan",AL:"Albania",DZ:"Algeria",AS:"American Samoa",AD:"Andorra",AO:"Angola",AI:"Anguilla",AQ:"Antarctica",AG:"Antigua and Barbuda",AR:"Argentina",AM:"Armenia",AW:"Aruba",AU:"Australia",AT:"Austria",AZ:"Azerbaijan",BS:"Bahamas",BH:"Bahrain",BD:"Bangladesh",BB:"Barbados",BY:"Belarus",BE:"Belgium",BZ:"Belize",BJ:"Benin",BM:"Bermuda",BT:"Bhutan",BO:"Bolivia",BA:"Bosnia and Herzegovina",BW:"Botswana",BV:"Bouvet Island",BR:"Brazil",IO:"British Indian Ocean Territory",BN:"Brunei Darussalam",BG:"Bulgaria",BF:"Burkina Faso",BI:"Burundi",KH:"Cambodia",CM:"Cameroon",CA:"Canada",CV:"Cape Verde",KY:"Cayman Islands",CF:"Central African Republic",TD:"Chad",CL:"Chile",CN:"China",CX:"Christmas Island",CC:"Cocos (Keeling) Islands",CO:"Colombia",KM:"Comoros",CG:"Congo (Republic)",CD:"Congo (Democratic Republic)",CK:"Cook Islands",CR:"Costa Rica",CI:"Ivory Coast",HR:"Croatia",CU:"Cuba",CY:"Cyprus",CZ:"Czech Republic",DK:"Denmark",DJ:"Djibouti",DM:"Dominica",DO:"Dominican Republic",EC:"Ecuador",EG:"Egypt",SV:"El Salvador",GQ:"Equatorial Guinea",ER:"Eritrea",EE:"Estonia",ET:"Ethiopia",FK:"Falkland Islands",FO:"Faroe Islands",FJ:"Fiji",FI:"Finland",FR:"France",GF:"French Guiana",PF:"French Polynesia",TF:"French Southern Territories",GA:"Gabon",GM:"Gambia",GE:"Georgia",DE:"Germany",GH:"Ghana",GI:"Gibraltar",GR:"Greece",GL:"Greenland",GD:"Grenada",GP:"Guadeloupe",GU:"Guam",GT:"Guatemala",GN:"Guinea",GW:"Guinea-Bissau",GY:"Guyana",HT:"Haiti",HM:"Heard Island and McDonald Islands",VA:"Vatican City",HN:"Honduras",HK:"Hong Kong",HU:"Hungary",IS:"Iceland",IN:"India",ID:"Indonesia",IR:"Iran",IQ:"Iraq",IE:"Ireland",IL:"Israel",IT:"Italy",JM:"Jamaica",JP:"Japan",JO:"Jordan",KZ:"Kazakhstan",KE:"Kenya",KI:"Kiribati",KP:"North Korea",KR:"South Korea",KW:"Kuwait",KG:"Kyrgyzstan",LA:"Laos",LV:"Latvia",LB:"Lebanon",LS:"Lesotho",LR:"Liberia",LY:"Libya",LI:"Liechtenstein",LT:"Lithuania",LU:"Luxembourg",MO:"Macao",MG:"Madagascar",MW:"Malawi",MY:"Malaysia",MV:"Maldives",ML:"Mali",MT:"Malta",MH:"Marshall Islands",MQ:"Martinique",MR:"Mauritania",MU:"Mauritius",YT:"Mayotte",MX:"Mexico",FM:"Micronesia",MD:"Moldova",MC:"Monaco",MN:"Mongolia",MS:"Montserrat",MA:"Morocco",MZ:"Mozambique",MM:"Myanmar",NA:"Namibia",NR:"Nauru",NP:"Nepal",NL:"Netherlands",NC:"New Caledonia",NZ:"New Zealand",NI:"Nicaragua",NE:"Niger",NG:"Nigeria",NU:"Niue",NF:"Norfolk Island",MK:"Macedonia",MP:"Northern Mariana Islands",NO:"Norway",OM:"Oman",PK:"Pakistan",PW:"Palau",PS:"Palestine",PA:"Panama",PG:"Papua New Guinea",PY:"Paraguay",PE:"Peru",PH:"Philippines",PN:"Pitcairn",PL:"Poland",PT:"Portugal",PR:"Puerto Rico",QA:"Qatar",RE:"Reunion",RO:"Romania",RU:"Russia",RW:"Rwanda",SH:"Saint Helena",KN:"Saint Kitts and Nevis",LC:"Saint Lucia",PM:"Saint Pierre and Miquelon",VC:"Saint Vincent and the Grenadines",WS:"Samoa",SM:"San Marino",ST:"Sao Tome and Principe",SA:"Saudi Arabia",SN:"Senegal",SC:"Seychelles",SL:"Sierra Leone",SG:"Singapore",SK:"Slovakia",SI:"Slovenia",SB:"Solomon Islands",SO:"Somalia",ZA:"South Africa",GS:"South Georgia and the South Sandwich Islands",ES:"Spain",LK:"Sri Lanka",SD:"Sudan",SR:"Suriname",SJ:"Svalbard and Jan Mayen",SZ:"Eswatini",SE:"Sweden",CH:"Switzerland",SY:"Syrian Arab Republic",TW:"Taiwan",TJ:"Tajikistan",TZ:"Tanzania",TH:"Thailand",TL:"Timor-Leste",TG:"Togo",TK:"Tokelau",TO:"Tonga",TT:"Trinidad and Tobago",TN:"Tunisia",TR:"T\xFCrkiye",TM:"Turkmenistan",TC:"Turks and Caicos Islands",TV:"Tuvalu",UG:"Uganda",UA:"Ukraine",AE:"United Arab Emirates",GB:"United Kingdom",US:"United States",UM:"United States Minor Outlying Islands",UY:"Uruguay",UZ:"Uzbekistan",VU:"Vanuatu",VE:"Venezuela",VN:"Vietnam",VG:"Virgin Islands, British",VI:"Virgin Islands, U.S.",WF:"Wallis and Futuna",EH:"Western Sahara",YE:"Yemen",ZM:"Zambia",ZW:"Zimbabwe",AX:"\xC5land Islands",BQ:"Bonaire, Sint Eustatius and Saba",CW:"Cura\xE7ao",GG:"Guernsey",IM:"Isle of Man",JE:"Jersey",ME:"Montenegro",BL:"Saint Barth\xE9lemy",MF:"Saint Martin (French part)",RS:"Serbia",SX:"Sint Maarten (Dutch part)",SS:"South Sudan",XK:"Kosovo"},n=a;export{n as a};
|
package/dist/chunk-H53DALDZ.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{clsx as e}from"clsx";import{twMerge as t}from"tailwind-merge";function s(...r){return t(e(r))}export{s as a};
|
package/dist/chunk-LEHV3NWH.mjs
DELETED
package/dist/chunk-LXDQ4KMN.mjs
DELETED
|
File without changes
|
package/dist/chunk-M5FLGH3T.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as c,y as l,z as u}from"./chunk-ONIHRKH7.mjs";import{a}from"./chunk-MODISIUH.mjs";import{clsx as p}from"clsx";import{twMerge as m}from"tailwind-merge";import f from"ms";import{customAlphabet as h}from"nanoid";import y from"@sindresorhus/slugify";function v(...e){return m(p(e))}function M({title:e="Dub - Link Management for Modern Marketing Teams",description:t="Dub is an open-source link management tool for modern marketing teams to create, share, and track short links.",image:r="https://dub.co/_static/thumbnail.png",icons:o="/favicon.ico",noIndex:n=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,images:[{url:r}]},twitter:{card:"summary_large_image",title:e,description:t,images:[r],creator:"@dubdotco"},icons:o,metadataBase:new URL(c),themeColor:"#FFF",...n&&{robots:{index:!1,follow:!1}}}}var O=h("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7);async function _(e,t){let r=await fetch(e,t);if(!r.ok){let o=await r.text(),n=new Error(o);throw n.status=r.status,n}return r.json()}function $(e,t={digits:1}){if(!e)return"0";if(t.full)return Intl.NumberFormat("en-US").format(e);let r=[{value:1,symbol:""},{value:1e3,symbol:"K"},{value:1e6,symbol:"M"},{value:1e9,symbol:"G"},{value:1e12,symbol:"T"},{value:1e15,symbol:"P"},{value:1e18,symbol:"E"}],o=/\.0+$|(\.[0-9]*[1-9])0+$/;var n=r.slice().reverse().find(function(s){return e>=s.value});return n?(e/n.value).toFixed(t.digits).replace(o,"$1")+n.symbol:"0"}function T(e){return!e||typeof e!="string"?e:e.charAt(0).toUpperCase()+e.slice(1)}var A=(e,t)=>e.reduce((r,o,n)=>{let s=Math.floor(n/t);return r[s]||(r[s]=[]),r[s].push(o),r},[]);function E({key:e,domain:t="dub.sh",localhost:r,pretty:o,noDomain:n}){let s=`${r?"http://home.localhost:8888":`https://${t}`}${e!=="_root"?`/${e}`:""}`;return n?`/${e}`:o?s.replace(/^https?:\/\//,""):s}var F=(e,{withAgo:t}={})=>{if(!e)return"Never";let r=Date.now()-new Date(e).getTime();return r<1e3?"Just now":r>828e5?new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",year:new Date(e).getFullYear()!==new Date().getFullYear()?"numeric":void 0}):`${f(r)}${t?" ago":""}`},N=e=>{let t=e?new Date(e):new Date;return t.toString()==="Invalid Date"?"":new Date(t.getTime()-t.getTimezoneOffset()*6e4).toISOString().split(":").slice(0,2).join(":")},C=e=>new Date(`${e}T00:00:00Z`).toLocaleDateString("en-US",{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"}),q=e=>{let t=new Date,r=t.getDate(),o=t.getMonth(),n=t.getFullYear();if(r>=e)return{firstDay:new Date(n,o,e),lastDay:new Date(n,o+1,e-1)};{let s=o===0?n-1:n,i=o===0?11:o-1;return{firstDay:new Date(s,i,e),lastDay:new Date(n,o,e-1)}}},d=()=>{let e=new Date;return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()},I=e=>{let t=d();return e>t?t:e},K=e=>{let t=y(e,{separator:""});if(t.length<3)return"";if(a.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&a.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((n,s)=>n.length<s.length?n:s)}.to`},P=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),z=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-]*$/u),H=new RegExp(/^[a-zA-Z0-9\-]+$/),Z=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),j=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let r=t.split(".");return r.length>2?l.has(r[r.length-2])&&a.has(r[r.length-1])||u.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},g=e=>{try{return new URL(e),!0}catch{return!1}},W=e=>{if(g(e))return e;try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).toString()}catch{return null}},B=e=>{if(g(e))return new URL(e).hostname.replace(/^www\./,"");try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).hostname.replace(/^www\./,"")}catch{return null}},J=(e,t)=>{let r=new URLSearchParams({...e.query,...t}).toString();return`${r?"?":""}${r}`},Y=({router:e,param:t,value:r})=>{t!=="page"&&delete e.query.page;let o;r.length>0?o={...e.query,[t]:r}:(delete e.query[t],o={...e.query});let{slug:n,...s}=o;e.replace({pathname:`/${e.query.slug||"links"}`,query:s})},V=(e,t)=>!e||e.length<=t?e:`${e.slice(0,t-3)}...`,Q=e=>{if(!e)return{};try{let t=new URL(e).searchParams,r={};for(let[o,n]of t.entries())n&&n!==""&&(r[o]=n);return r}catch{return{}}},G=(e,t)=>{if(!e)return"";try{let r=new URL(e);for(let[o,n]of Object.entries(t))n===""?r.searchParams.delete(o):r.searchParams.set(o,n);return r.toString()}catch{return""}},x=[{display:"Referral (ref)",key:"ref",examples:"twitter, facebook"},{display:"UTM Source",key:"utm_source",examples:"twitter, facebook"},{display:"UTM Medium",key:"utm_medium",examples:"social, email"},{display:"UTM Campaign",key:"utm_campaign",examples:"summer_sale"},{display:"UTM Term",key:"utm_term",examples:"blue_shoes"},{display:"UTM Content",key:"utm_content",examples:"logolink"}],X=e=>{try{let t=new URL(e);return x.forEach(r=>t.searchParams.delete(r.key)),t.toString()}catch{return e}};async function ee(e){let r=new TextEncoder().encode(e),o=await crypto.subtle.digest("MD5",r);return Array.from(new Uint8Array(o)).map(i=>i.toString(16).padStart(2,"0")).join("")}var D={cron:process.env.DUB_SLACK_HOOK_CRON,links:process.env.DUB_SLACK_HOOK_LINKS},te=async({message:e,type:t,mention:r=!1})=>{(process.env.NODE_ENV==="development"||!process.env.DUB_SLACK_HOOK_CRON||!process.env.DUB_SLACK_HOOK_LINKS)&&console.log(e);let o=D[t];if(!!o)try{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({blocks:[{type:"section",text:{type:"mrkdwn",text:`${r?"<@U0404G6J3NJ> ":""}${e}`}}]})})}catch(n){console.log(`Failed to log to Dub Slack. Error: ${n}`)}},w=(e,t)=>{if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e===null||t===null)return!1;let r=Object.keys(e),o=Object.keys(t);if(r.length!==o.length)return!1;for(let n of r)if(!o.includes(n)||!w(e[n],t[n]))return!1;return!0};export{v as a,M as b,O as c,_ as d,$ as e,T as f,A as g,E as h,F as i,N as j,C as k,q as l,d as m,I as n,K as o,P as p,z as q,H as r,Z as s,j as t,g as u,W as v,B as w,J as x,Y as y,V as z,Q as A,G as B,x as C,X as D,ee as E,te as F,w as G};
|
package/dist/chunk-MQNZDHLT.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
import{h as c,w as l,x as u}from"./chunk-UE5AMEFG.mjs";import{a}from"./chunk-XACKIZEQ.mjs";import{clsx as p}from"clsx";import{twMerge as m}from"tailwind-merge";import f from"ms";import{customAlphabet as h}from"nanoid";import y from"@sindresorhus/slugify";function v(...e){return m(p(e))}function M({title:e="Dub - Link Management for Modern Marketing Teams",description:t="Dub is an open-source link management tool for modern marketing teams to create, share, and track short links.",image:r="https://dub.co/_static/thumbnail.png",icons:o="/favicon.ico",noIndex:n=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,images:[{url:r}]},twitter:{card:"summary_large_image",title:e,description:t,images:[r],creator:"@dubdotco"},icons:o,metadataBase:new URL(c),themeColor:"#FFF",...n&&{robots:{index:!1,follow:!1}}}}var O=h("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7);async function _(e,t){let r=await fetch(e,t);if(!r.ok){let o=await r.text(),n=new Error(o);throw n.status=r.status,n}return r.json()}function $(e,t={digits:1}){if(!e)return"0";if(t.full)return Intl.NumberFormat("en-US").format(e);let r=[{value:1,symbol:""},{value:1e3,symbol:"K"},{value:1e6,symbol:"M"},{value:1e9,symbol:"G"},{value:1e12,symbol:"T"},{value:1e15,symbol:"P"},{value:1e18,symbol:"E"}],o=/\.0+$|(\.[0-9]*[1-9])0+$/;var n=r.slice().reverse().find(function(s){return e>=s.value});return n?(e/n.value).toFixed(t.digits).replace(o,"$1")+n.symbol:"0"}function T(e){return!e||typeof e!="string"?e:e.charAt(0).toUpperCase()+e.slice(1)}var A=(e,t)=>e.reduce((r,o,n)=>{let s=Math.floor(n/t);return r[s]||(r[s]=[]),r[s].push(o),r},[]);function E({key:e,domain:t="dub.sh",localhost:r,pretty:o,noDomain:n}){let s=`${r?"http://home.localhost:8888":`https://${t}`}${e!=="_root"?`/${e}`:""}`;return n?`/${e}`:o?s.replace(/^https?:\/\//,""):s}var F=(e,{withAgo:t}={})=>{if(!e)return"Never";let r=Date.now()-new Date(e).getTime();return r<1e3?"Just now":r>828e5?new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",year:new Date(e).getFullYear()!==new Date().getFullYear()?"numeric":void 0}):`${f(r)}${t?" ago":""}`},N=e=>{let t=e?new Date(e):new Date;return t.toString()==="Invalid Date"?"":new Date(t.getTime()-t.getTimezoneOffset()*6e4).toISOString().split(":").slice(0,2).join(":")},C=e=>new Date(`${e}T00:00:00Z`).toLocaleDateString("en-US",{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"}),q=e=>{let t=new Date,r=t.getDate(),o=t.getMonth(),n=t.getFullYear();if(r>=e)return{firstDay:new Date(n,o,e),lastDay:new Date(n,o+1,e-1)};{let s=o===0?n-1:n,i=o===0?11:o-1;return{firstDay:new Date(s,i,e),lastDay:new Date(n,o,e-1)}}},d=()=>{let e=new Date;return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()},I=e=>{let t=d();return e>t?t:e},K=e=>{let t=y(e,{separator:""});if(t.length<3)return"";if(a.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&a.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((n,s)=>n.length<s.length?n:s)}.to`},P=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),z=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-]*$/u),H=new RegExp(/^[a-zA-Z0-9\-]+$/),Z=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),j=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let r=t.split(".");return r.length>2?l.has(r[r.length-2])&&a.has(r[r.length-1])||u.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},g=e=>{try{return new URL(e),!0}catch{return!1}},W=e=>{if(g(e))return e;try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).toString()}catch{return null}},B=e=>{if(g(e))return new URL(e).hostname.replace(/^www\./,"");try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).hostname.replace(/^www\./,"")}catch{return null}},J=(e,t)=>{let r=new URLSearchParams({...e.query,...t}).toString();return`${r?"?":""}${r}`},Y=({router:e,param:t,value:r})=>{t!=="page"&&delete e.query.page;let o;r.length>0?o={...e.query,[t]:r}:(delete e.query[t],o={...e.query});let{slug:n,...s}=o;e.replace({pathname:`/${e.query.slug||"links"}`,query:s})},V=(e,t)=>!e||e.length<=t?e:`${e.slice(0,t-3)}...`,Q=e=>{if(!e)return{};try{let t=new URL(e).searchParams,r={};for(let[o,n]of t.entries())n&&n!==""&&(r[o]=n);return r}catch{return{}}},G=(e,t)=>{if(!e)return"";try{let r=new URL(e);for(let[o,n]of Object.entries(t))n===""?r.searchParams.delete(o):r.searchParams.set(o,n);return r.toString()}catch{return""}},x=[{display:"Referral (ref)",key:"ref",examples:"twitter, facebook"},{display:"UTM Source",key:"utm_source",examples:"twitter, facebook"},{display:"UTM Medium",key:"utm_medium",examples:"social, email"},{display:"UTM Campaign",key:"utm_campaign",examples:"summer_sale"},{display:"UTM Term",key:"utm_term",examples:"blue_shoes"},{display:"UTM Content",key:"utm_content",examples:"logolink"}],X=e=>{try{let t=new URL(e);return x.forEach(r=>t.searchParams.delete(r.key)),t.toString()}catch{return e}};async function ee(e){let r=new TextEncoder().encode(e),o=await crypto.subtle.digest("MD5",r);return Array.from(new Uint8Array(o)).map(i=>i.toString(16).padStart(2,"0")).join("")}var D={cron:process.env.DUB_SLACK_HOOK_CRON,links:process.env.DUB_SLACK_HOOK_LINKS},te=async({message:e,type:t,mention:r=!1})=>{(process.env.NODE_ENV==="development"||!process.env.DUB_SLACK_HOOK_CRON||!process.env.DUB_SLACK_HOOK_LINKS)&&console.log(e);let o=D[t];if(!!o)try{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({blocks:[{type:"section",text:{type:"mrkdwn",text:`${r?"<@U0404G6J3NJ> ":""}${e}`}}]})})}catch(n){console.log(`Failed to log to Dub Slack. Error: ${n}`)}},w=(e,t)=>{if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e===null||t===null)return!1;let r=Object.keys(e),o=Object.keys(t);if(r.length!==o.length)return!1;for(let n of r)if(!o.includes(n)||!w(e[n],t[n]))return!1;return!0};export{v as a,M as b,O as c,_ as d,$ as e,T as f,A as g,E as h,F as i,N as j,C as k,q as l,d as m,I as n,K as o,P as p,z as q,H as r,Z as s,j as t,g as u,W as v,B as w,J as x,Y as y,V as z,Q as A,G as B,x as C,X as D,ee as E,te as F,w as G};
|
package/dist/chunk-OH6TH3J6.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as c,w as l,x as u}from"./chunk-Y2N4Y4WZ.mjs";import{a}from"./chunk-MODISIUH.mjs";import p from"@sindresorhus/slugify";import{clsx as m}from"clsx";import f from"ms";import{customAlphabet as h}from"nanoid";import{twMerge as y}from"tailwind-merge";function v(...e){return y(m(e))}function M({title:e="Dub - Link Management for Modern Marketing Teams",description:t="Dub is an open-source link management tool for modern marketing teams to create, share, and track short links.",image:r="https://dub.co/_static/thumbnail.png",icons:o="/favicon.ico",noIndex:n=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,images:[{url:r}]},twitter:{card:"summary_large_image",title:e,description:t,images:[r],creator:"@dubdotco"},icons:o,metadataBase:new URL(c),themeColor:"#FFF",...n&&{robots:{index:!1,follow:!1}}}}var O=h("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7);async function _(e,t){let r=await fetch(e,t);if(!r.ok){let o=await r.text(),n=new Error(o);throw n.status=r.status,n}return r.json()}function $(e,t={digits:1}){if(!e)return"0";if(t.full)return Intl.NumberFormat("en-US").format(e);let r=[{value:1,symbol:""},{value:1e3,symbol:"K"},{value:1e6,symbol:"M"},{value:1e9,symbol:"G"},{value:1e12,symbol:"T"},{value:1e15,symbol:"P"},{value:1e18,symbol:"E"}],o=/\.0+$|(\.[0-9]*[1-9])0+$/;var n=r.slice().reverse().find(function(s){return e>=s.value});return n?(e/n.value).toFixed(t.digits).replace(o,"$1")+n.symbol:"0"}function T(e){return!e||typeof e!="string"?e:e.charAt(0).toUpperCase()+e.slice(1)}var A=(e,t)=>e.reduce((r,o,n)=>{let s=Math.floor(n/t);return r[s]||(r[s]=[]),r[s].push(o),r},[]);function E({key:e,domain:t="dub.sh",localhost:r,pretty:o,noDomain:n}){let s=`${r?"http://home.localhost:8888":`https://${t}`}${e!=="_root"?`/${e}`:""}`;return n?`/${e}`:o?s.replace(/^https?:\/\//,""):s}var F=(e,{withAgo:t}={})=>{if(!e)return"Never";let r=Date.now()-new Date(e).getTime();return r<1e3?"Just now":r>828e5?new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",year:new Date(e).getFullYear()!==new Date().getFullYear()?"numeric":void 0}):`${f(r)}${t?" ago":""}`},N=e=>{let t=e?new Date(e):new Date;return t.toString()==="Invalid Date"?"":new Date(t.getTime()-t.getTimezoneOffset()*6e4).toISOString().split(":").slice(0,2).join(":")},C=e=>new Date(`${e}T00:00:00Z`).toLocaleDateString("en-US",{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"}),q=e=>{let t=new Date,r=t.getDate(),o=t.getMonth(),n=t.getFullYear();if(r>=e)return{firstDay:new Date(n,o,e),lastDay:new Date(n,o+1,e-1)};{let s=o===0?n-1:n,i=o===0?11:o-1;return{firstDay:new Date(s,i,e),lastDay:new Date(n,o,e-1)}}},d=()=>{let e=new Date;return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()},I=e=>{let t=d();return e>t?t:e},K=e=>{let t=p(e,{separator:""});if(t.length<3)return"";if(a.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&a.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((n,s)=>n.length<s.length?n:s)}.to`},P=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),z=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-]*$/u),H=new RegExp(/^[a-zA-Z0-9\-]+$/),Z=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),j=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let r=t.split(".");return r.length>2?l.has(r[r.length-2])&&a.has(r[r.length-1])||u.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},g=e=>{try{return new URL(e),!0}catch{return!1}},W=e=>{if(g(e))return e;try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).toString()}catch{return null}},B=e=>{if(g(e))return new URL(e).hostname.replace(/^www\./,"");try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).hostname.replace(/^www\./,"")}catch{return null}},J=(e,t)=>{let r=new URLSearchParams({...e.query,...t}).toString();return`${r?"?":""}${r}`},Y=({router:e,param:t,value:r})=>{t!=="page"&&delete e.query.page;let o;r.length>0?o={...e.query,[t]:r}:(delete e.query[t],o={...e.query});let{slug:n,...s}=o;e.replace({pathname:`/${e.query.slug||"links"}`,query:s})},V=(e,t)=>!e||e.length<=t?e:`${e.slice(0,t-3)}...`,Q=e=>{if(!e)return{};try{let t=new URL(e).searchParams,r={};for(let[o,n]of t.entries())n&&n!==""&&(r[o]=n);return r}catch{return{}}},G=(e,t)=>{if(!e)return"";try{let r=new URL(e);for(let[o,n]of Object.entries(t))n===""?r.searchParams.delete(o):r.searchParams.set(o,n);return r.toString()}catch{return""}},x=[{display:"Referral (ref)",key:"ref",examples:"twitter, facebook"},{display:"UTM Source",key:"utm_source",examples:"twitter, facebook"},{display:"UTM Medium",key:"utm_medium",examples:"social, email"},{display:"UTM Campaign",key:"utm_campaign",examples:"summer_sale"},{display:"UTM Term",key:"utm_term",examples:"blue_shoes"},{display:"UTM Content",key:"utm_content",examples:"logolink"}],X=e=>{try{let t=new URL(e);return x.forEach(r=>t.searchParams.delete(r.key)),t.toString()}catch{return e}};async function ee(e){let r=new TextEncoder().encode(e),o=await crypto.subtle.digest("MD5",r);return Array.from(new Uint8Array(o)).map(i=>i.toString(16).padStart(2,"0")).join("")}var D={cron:process.env.DUB_SLACK_HOOK_CRON,links:process.env.DUB_SLACK_HOOK_LINKS},te=async({message:e,type:t,mention:r=!1})=>{(process.env.NODE_ENV==="development"||!process.env.DUB_SLACK_HOOK_CRON||!process.env.DUB_SLACK_HOOK_LINKS)&&console.log(e);let o=D[t];if(!!o)try{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({blocks:[{type:"section",text:{type:"mrkdwn",text:`${r?"<@U0404G6J3NJ> ":""}${e}`}}]})})}catch(n){console.log(`Failed to log to Dub Slack. Error: ${n}`)}},w=(e,t)=>{if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e===null||t===null)return!1;let r=Object.keys(e),o=Object.keys(t);if(r.length!==o.length)return!1;for(let n of r)if(!o.includes(n)||!w(e[n],t[n]))return!1;return!0};export{v as a,M as b,O as c,_ as d,$ as e,T as f,A as g,E as h,F as i,N as j,C as k,q as l,d as m,I as n,K as o,P as p,z as q,H as r,Z as s,j as t,g as u,W as v,B as w,J as x,Y as y,V as z,Q as A,G as B,x as C,X as D,ee as E,te as F,w as G};
|
package/dist/chunk-ONIHRKH7.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var p={city:"San Francisco",region:"CA",country:"US",latitude:"37.7695",longitude:"-122.385"},a="63.141.57.109",n={hidden:{scale:.8,opacity:0},show:{scale:1,opacity:1,transition:{type:"spring"}}},c={hidden:{opacity:0,y:20},show:{opacity:1,y:0,transition:{duration:.4,type:"spring"}}},i={initial:{height:0},animate:{height:"auto"},exit:{height:0},transition:{duration:.15,ease:"easeOut"}},r={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2}},l=100,o=new Set(["dub.co","home.localhost:8888","localhost"]),d=t=>o.has(t)||t.endsWith(".vercel.app"),_=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://${process.env.NEXT_PUBLIC_VERCEL_URL}`:"http://home.localhost:8888",u=new Set(["app.dub.co","preview.dub.co","localhost:8888","localhost"]),E=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"||process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://app.dub.co":"http://localhost:8888",h=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://app.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://preview.dub.co":process.env.NGROK_URL,g=new Set(["api.dub.co","api.dub.sh","api.localhost:8888"]),A=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://api.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://api.dub.sh":"http://api.localhost:8888",I=new Set(["admin.dub.co","admin.localhost:8888"]),N={home:"https://dub.co",dub:"https://dub.co",signin:"https://app.dub.co/login",login:"https://app.dub.co/login",register:"https://app.dub.co/register",signup:"https://app.dub.co/register",app:"https://app.dub.co",dashboard:"https://app.dub.co",links:"https://app.dub.co/links",settings:"https://app.dub.co/settings",welcome:"https://app.dub.co/welcome",discord:"https://twitter.com/dubdotco",tags:"https://dub.co/help/how-to-use-tags"},L={headers:{"x-powered-by":"Dub.co - Link management for modern marketing teams"}},m="/_static/favicons",T="https://www.google.com/s2/favicons?sz=64&domain_url=",S="https://d2vwwcvoksz7ty.cloudfront.net/logo.png",O="https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png",C=["tools","pricing","help","features","customers","blog","(blog-post)","login","register","auth"],b=["metatags","inspector"],x=new Set(["com","co","net","org","edu","gov","in"]),w=new Set(["my.id","github.io","vercel.app","now.sh","pages.dev","webflow.io","netlify.app","fly.dev","web.app"]),R={key:"",url:"",domain:"",archived:!1,expiresAt:null,password:null,title:null,description:null,image:null,rewrite:!1,ios:null,android:null,clicks:0,userId:"",proxy:!1},M="cl7pj5kq4006835rbjlt2ofka",v=[{name:"Okta",logo:"/_static/icons/okta.svg",saml:"okta",samlModalCopy:"Metadata URL",scim:"okta-scim-v2",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1},{name:"Azure AD",logo:"/_static/icons/azure.svg",saml:"azure",samlModalCopy:"App Federation Metadata URL",scim:"azure-scim-v2",scimModalCopy:{url:"Tenant URL",token:"Secret Token"},wip:!1},{name:"Google",logo:"/_static/icons/google.svg",saml:"google",samlModalCopy:"XML Metadata File",scim:"google",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1}];export{p as a,a as b,n as c,c as d,i as e,r as f,l as g,o as h,d as i,_ as j,u as k,E as l,h as m,g as n,A as o,I as p,N as q,L as r,m as s,T as t,S as u,O as v,C as w,b as x,x as y,w as z,R as A,M as B,v as C};
|
package/dist/chunk-TN4P6NPQ.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useEffect as h,useState as b}from"react";function m(){let[i,d]=b(null);return h(()=>{let n=document.querySelector("[data-mdx-container]");if(!n)return;let r=n.offsetTop-1,s=new IntersectionObserver(o=>{var f,g,a;let e=o[0];if(!e)return;let p=(((f=e.rootBounds)==null?void 0:f.height)||0)*.3+r;for(let c=1;c<o.length;c++){let l=o[c];if(!l)break;(l.boundingClientRect.top<e.boundingClientRect.top||e.boundingClientRect.bottom<r)&&(e=l)}let t=e.target;for(;t&&t.getBoundingClientRect().bottom<r;)t=(g=u.get(t))==null?void 0:g.next;for(;t&&t.getBoundingClientRect().top>p;)t=(a=u.get(t))==null?void 0:a.prev;t&&d(t.getAttribute("href"))},{threshold:1,rootMargin:`-${r}px 0px 0px 0px`}),u=new Map;return(n==null?void 0:n.querySelectorAll("[data-mdx-heading]")).forEach(o=>s.observe(o)),()=>{s.disconnect()}},[]),i==null?void 0:i.replace("#","")}export{m as a};
|
package/dist/chunk-U4XQUV65.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useEffect as r,useState as i}from"react";function l(e,s){let[a,o]=i(s);return r(()=>{let t=window.localStorage.getItem(e);t&&o(JSON.parse(t))},[e]),[a,t=>{o(t),window.localStorage.setItem(e,JSON.stringify(t))}]}export{l as a};
|
package/dist/chunk-UBCCNLBS.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var a={AF:"Afghanistan",AL:"Albania",DZ:"Algeria",AS:"American Samoa",AD:"Andorra",AO:"Angola",AI:"Anguilla",AQ:"Antarctica",AG:"Antigua and Barbuda",AR:"Argentina",AM:"Armenia",AW:"Aruba",AU:"Australia",AT:"Austria",AZ:"Azerbaijan",BS:"Bahamas",BH:"Bahrain",BD:"Bangladesh",BB:"Barbados",BY:"Belarus",BE:"Belgium",BZ:"Belize",BJ:"Benin",BM:"Bermuda",BT:"Bhutan",BO:"Bolivia",BA:"Bosnia and Herzegovina",BW:"Botswana",BV:"Bouvet Island",BR:"Brazil",IO:"British Indian Ocean Territory",BN:"Brunei Darussalam",BG:"Bulgaria",BF:"Burkina Faso",BI:"Burundi",KH:"Cambodia",CM:"Cameroon",CA:"Canada",CV:"Cape Verde",KY:"Cayman Islands",CF:"Central African Republic",TD:"Chad",CL:"Chile",CN:"China",CX:"Christmas Island",CC:"Cocos (Keeling) Islands",CO:"Colombia",KM:"Comoros",CG:"Congo (Republic)",CD:"Congo (Democratic Republic)",CK:"Cook Islands",CR:"Costa Rica",CI:"Ivory Coast",HR:"Croatia",CU:"Cuba",CY:"Cyprus",CZ:"Czech Republic",DK:"Denmark",DJ:"Djibouti",DM:"Dominica",DO:"Dominican Republic",EC:"Ecuador",EG:"Egypt",SV:"El Salvador",GQ:"Equatorial Guinea",ER:"Eritrea",EE:"Estonia",ET:"Ethiopia",FK:"Falkland Islands",FO:"Faroe Islands",FJ:"Fiji",FI:"Finland",FR:"France",GF:"French Guiana",PF:"French Polynesia",TF:"French Southern Territories",GA:"Gabon",GM:"Gambia",GE:"Georgia",DE:"Germany",GH:"Ghana",GI:"Gibraltar",GR:"Greece",GL:"Greenland",GD:"Grenada",GP:"Guadeloupe",GU:"Guam",GT:"Guatemala",GN:"Guinea",GW:"Guinea-Bissau",GY:"Guyana",HT:"Haiti",HM:"Heard Island and McDonald Islands",VA:"Vatican City",HN:"Honduras",HK:"Hong Kong",HU:"Hungary",IS:"Iceland",IN:"India",ID:"Indonesia",IR:"Iran",IQ:"Iraq",IE:"Ireland",IL:"Israel",IT:"Italy",JM:"Jamaica",JP:"Japan",JO:"Jordan",KZ:"Kazakhstan",KE:"Kenya",KI:"Kiribati",KP:"North Korea",KR:"South Korea",KW:"Kuwait",KG:"Kyrgyzstan",LA:"Laos",LV:"Latvia",LB:"Lebanon",LS:"Lesotho",LR:"Liberia",LY:"Libya",LI:"Liechtenstein",LT:"Lithuania",LU:"Luxembourg",MO:"Macao",MG:"Madagascar",MW:"Malawi",MY:"Malaysia",MV:"Maldives",ML:"Mali",MT:"Malta",MH:"Marshall Islands",MQ:"Martinique",MR:"Mauritania",MU:"Mauritius",YT:"Mayotte",MX:"Mexico",FM:"Micronesia",MD:"Moldova",MC:"Monaco",MN:"Mongolia",MS:"Montserrat",MA:"Morocco",MZ:"Mozambique",MM:"Myanmar",NA:"Namibia",NR:"Nauru",NP:"Nepal",NL:"Netherlands",NC:"New Caledonia",NZ:"New Zealand",NI:"Nicaragua",NE:"Niger",NG:"Nigeria",NU:"Niue",NF:"Norfolk Island",MK:"Macedonia",MP:"Northern Mariana Islands",NO:"Norway",OM:"Oman",PK:"Pakistan",PW:"Palau",PS:"Palestine",PA:"Panama",PG:"Papua New Guinea",PY:"Paraguay",PE:"Peru",PH:"Philippines",PN:"Pitcairn",PL:"Poland",PT:"Portugal",PR:"Puerto Rico",QA:"Qatar",RE:"Reunion",RO:"Romania",RU:"Russia",RW:"Rwanda",SH:"Saint Helena",KN:"Saint Kitts and Nevis",LC:"Saint Lucia",PM:"Saint Pierre and Miquelon",VC:"Saint Vincent and the Grenadines",WS:"Samoa",SM:"San Marino",ST:"Sao Tome and Principe",SA:"Saudi Arabia",SN:"Senegal",SC:"Seychelles",SL:"Sierra Leone",SG:"Singapore",SK:"Slovakia",SI:"Slovenia",SB:"Solomon Islands",SO:"Somalia",ZA:"South Africa",GS:"South Georgia and the South Sandwich Islands",ES:"Spain",LK:"Sri Lanka",SD:"Sudan",SR:"Suriname",SJ:"Svalbard and Jan Mayen",SZ:"Eswatini",SE:"Sweden",CH:"Switzerland",SY:"Syrian Arab Republic",TW:"Taiwan",TJ:"Tajikistan",TZ:"Tanzania",TH:"Thailand",TL:"Timor-Leste",TG:"Togo",TK:"Tokelau",TO:"Tonga",TT:"Trinidad and Tobago",TN:"Tunisia",TR:"T\xFCrkiye",TM:"Turkmenistan",TC:"Turks and Caicos Islands",TV:"Tuvalu",UG:"Uganda",UA:"Ukraine",AE:"United Arab Emirates",GB:"United Kingdom",US:"United States",UM:"United States Minor Outlying Islands",UY:"Uruguay",UZ:"Uzbekistan",VU:"Vanuatu",VE:"Venezuela",VN:"Vietnam",VG:"Virgin Islands, British",VI:"Virgin Islands, U.S.",WF:"Wallis and Futuna",EH:"Western Sahara",YE:"Yemen",ZM:"Zambia",ZW:"Zimbabwe",AX:"\xC5land Islands",BQ:"Bonaire, Sint Eustatius and Saba",CW:"Cura\xE7ao",GG:"Guernsey",IM:"Isle of Man",JE:"Jersey",ME:"Montenegro",BL:"Saint Barth\xE9lemy",MF:"Saint Martin (French part)",RS:"Serbia",SX:"Sint Maarten (Dutch part)",SS:"South Sudan",XK:"Kosovo"};export{a};
|
package/dist/chunk-UE5AMEFG.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
var e={city:"San Francisco",region:"CA",country:"US",latitude:"37.7695",longitude:"-122.385"},p="63.141.57.109",s={hidden:{scale:.8,opacity:0},show:{scale:1,opacity:1,transition:{type:"spring"}}},c={hidden:{opacity:0,y:20},show:{opacity:1,y:0,transition:{duration:.4,type:"spring"}}},n={initial:{height:0},animate:{height:"auto"},exit:{height:0},transition:{duration:.15,ease:"easeOut"}},i={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2}},a=100,r="https://dub.co",d=new Set(["app.dub.co","preview.dub.co","localhost:8888","localhost"]),_=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://app.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://preview.dub.co":"http://localhost:8888",h=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://app.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://preview.dub.co":process.env.NGROK_URL,E=new Set(["api.dub.co","api.dub.sh","api.localhost:8888"]),u=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://api.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://api.dub.sh":"http://api.localhost:8888",l=new Set(["admin.dub.co","admin.localhost:8888"]),N={home:"https://dub.co",dub:"https://dub.co",signin:"https://app.dub.co/login",login:"https://app.dub.co/login",register:"https://app.dub.co/register",signup:"https://app.dub.co/register",app:"https://app.dub.co",dashboard:"https://app.dub.co",links:"https://app.dub.co/links",settings:"https://app.dub.co/settings",welcome:"https://app.dub.co/welcome",discord:"https://twitter.com/dubdotco",tags:"https://dub.co/help/how-to-use-tags"},A={headers:{"x-powered-by":"Dub.co - Link management for modern marketing teams"}},I="/_static/favicons",g="https://www.google.com/s2/favicons?sz=64&domain_url=",b="https://d2vwwcvoksz7ty.cloudfront.net/logo.png",O="https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png",S=["tools","pricing","help","features","customers","blog","(blog-post)","login","register","auth"],T=["metatags","inspector"],L=new Set(["com","co","net","org","edu","gov","in"]),w=new Set(["my.id","github.io","vercel.app","now.sh","pages.dev","webflow.io","netlify.app","fly.dev","web.app"]);export{e as a,p as b,s as c,c as d,n as e,i as f,a as g,r as h,d as i,_ as j,h as k,E as l,u as m,l as n,N as o,A as p,I as q,g as r,b as s,O as t,S as u,T as v,L as w,w as x};
|
package/dist/chunk-UNXRAJQG.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var t={city:"San Francisco",region:"CA",country:"US",latitude:"37.7695",longitude:"-122.385"},o="63.141.57.109",e={hidden:{scale:.8,opacity:0},show:{scale:1,opacity:1,transition:{type:"spring"}}},s={hidden:{opacity:0,y:20},show:{opacity:1,y:0,transition:{duration:.4,type:"spring"}}},p={initial:{height:0},animate:{height:"auto"},exit:{height:0},transition:{duration:.15,ease:"easeOut"}},a={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2}},n=100,i="https://dub.co",c=new Set(["app.dub.co","preview.dub.co","localhost:8888","localhost"]),r=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"||process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://app.dub.co":"http://localhost:8888",l=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://app.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://preview.dub.co":process.env.NGROK_URL,d=new Set(["api.dub.co","api.dub.sh","api.localhost:8888"]),u=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://api.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://api.dub.sh":"http://api.localhost:8888",_=new Set(["admin.dub.co","admin.localhost:8888"]),h={home:"https://dub.co",dub:"https://dub.co",signin:"https://app.dub.co/login",login:"https://app.dub.co/login",register:"https://app.dub.co/register",signup:"https://app.dub.co/register",app:"https://app.dub.co",dashboard:"https://app.dub.co",links:"https://app.dub.co/links",settings:"https://app.dub.co/settings",welcome:"https://app.dub.co/welcome",discord:"https://twitter.com/dubdotco",tags:"https://dub.co/help/how-to-use-tags"},E={headers:{"x-powered-by":"Dub.co - Link management for modern marketing teams"}},g="/_static/favicons",A="https://www.google.com/s2/favicons?sz=64&domain_url=",I="https://d2vwwcvoksz7ty.cloudfront.net/logo.png",m="https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png",L=["tools","pricing","help","features","customers","blog","(blog-post)","login","register","auth"],N=[{name:"Metatags API",slug:"metatags"},{name:"Link Inspector",slug:"inspector"}],O=new Set(["com","co","net","org","edu","gov","in"]),S=new Set(["my.id","github.io","vercel.app","now.sh","pages.dev","webflow.io","netlify.app","fly.dev","web.app"]),T={key:"",url:"",domain:"",archived:!1,expiresAt:null,password:null,title:null,description:null,image:null,rewrite:!1,ios:null,android:null,clicks:0,userId:"",proxy:!1},b="cl7pj5kq4006835rbjlt2ofka",x=[{name:"Okta",logo:"/_static/icons/okta.svg",saml:"okta",samlModalCopy:"Metadata URL",scim:"okta-scim-v2",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1},{name:"Azure AD",logo:"/_static/icons/azure.svg",saml:"azure",samlModalCopy:"App Federation Metadata URL",scim:"azure-scim-v2",scimModalCopy:{url:"Tenant URL",token:"Secret Token"},wip:!1},{name:"Google",logo:"/_static/icons/google.svg",saml:"google",samlModalCopy:"XML Metadata File",scim:"google",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1}];export{t as a,o as b,e as c,s as d,p as e,a as f,n as g,i as h,c as i,r as j,l as k,d as l,u as m,_ as n,h as o,E as p,g as q,A as r,I as s,m as t,L as u,N as v,O as w,S as x,T as y,b as z,x as A};
|
package/dist/chunk-UYE4FVX2.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
import{useEffect as h,useState as b}from"react";function m(){let[i,d]=b(null);return h(()=>{let n=document.querySelector("[data-mdx-container]");if(!n)return;let r=n.offsetTop-1,s=new IntersectionObserver(o=>{var f,g,a;let e=o[0];if(!e)return;let p=(((f=e.rootBounds)==null?void 0:f.height)||0)*.3+r;for(let c=1;c<o.length;c++){let l=o[c];if(!l)break;(l.boundingClientRect.top<e.boundingClientRect.top||e.boundingClientRect.bottom<r)&&(e=l)}let t=e.target;for(;t&&t.getBoundingClientRect().bottom<r;)t=(g=u.get(t))==null?void 0:g.next;for(;t&&t.getBoundingClientRect().top>p;)t=(a=u.get(t))==null?void 0:a.prev;t&&d(t.getAttribute("href"))},{threshold:1,rootMargin:`-${r}px 0px 0px 0px`}),u=new Map;return(n==null?void 0:n.querySelectorAll("[data-mdx-heading]")).forEach(o=>s.observe(o)),()=>{s.disconnect()}},[]),i==null?void 0:i.replace("#","")}export{m as a};
|
package/dist/chunk-V4HIRCCV.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use client"
|
package/dist/chunk-W5IYXLXA.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={city:"San Francisco",region:"CA",country:"US",latitude:"37.7695",longitude:"-122.385"},p="63.141.57.109",s={hidden:{scale:.8,opacity:0},show:{scale:1,opacity:1,transition:{type:"spring"}}},c={hidden:{opacity:0,y:20},show:{opacity:1,y:0,transition:{duration:.4,type:"spring"}}},n={initial:{height:0},animate:{height:"auto"},exit:{height:0},transition:{duration:.15,ease:"easeOut"}},i={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2}},a=100,r="https://dub.co",d=new Set(["app.dub.co","preview.dub.co","localhost:8888","localhost"]),_=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://app.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://preview.dub.co":"http://localhost:8888",h=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://app.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://preview.dub.co":process.env.NGROK_URL,E=new Set(["api.dub.co","api.dub.sh","api.localhost:8888"]),u=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?"https://api.dub.co":process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?"https://api.dub.sh":"http://api.localhost:8888",l=new Set(["admin.dub.co","admin.localhost:8888"]),N={home:"https://dub.co",dub:"https://dub.co",signin:"https://app.dub.co/login",login:"https://app.dub.co/login",register:"https://app.dub.co/register",signup:"https://app.dub.co/register",app:"https://app.dub.co",dashboard:"https://app.dub.co",links:"https://app.dub.co/links",settings:"https://app.dub.co/settings",welcome:"https://app.dub.co/welcome",discord:"https://twitter.com/dubdotco",tags:"https://dub.co/help/how-to-use-tags"},A={headers:{"x-powered-by":"Dub.co - Link management for modern marketing teams"}},I="/_static/favicons",g="https://www.google.com/s2/favicons?sz=64&domain_url=",b="https://d2vwwcvoksz7ty.cloudfront.net/logo.png",O="https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png",S=["tools","pricing","help","features","customers","blog","(blog-post)","login","register","auth"],T=["metatags","inspector"],L=new Set(["com","co","net","org","edu","gov","in"]),w=new Set(["my.id","github.io","vercel.app","now.sh","pages.dev","webflow.io","netlify.app","fly.dev","web.app"]);export{e as a,p as b,s as c,c as d,n as e,i as f,a as g,r as h,d as i,_ as j,h as k,E as l,u as m,l as n,N as o,A as p,I as q,g as r,b as s,O as t,S as u,T as v,L as w,w as x};
|
package/dist/chunk-XACKIZEQ.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
var m=new Set(["af","ax","al","dz","as","ad","ao","ai","aq","ag","ar","am","aw","ac","au","at","az","bs","bh","bd","bb","eus","by","be","bz","bj","bm","bt","bo","bq","an","nl","ba","bw","bv","br","io","vg","bn","bg","bf","mm","bi","kh","cm","ca","cv","cat","ky","cf","td","cl","cn","cx","cc","co","km","cd","cg","ck","cr","ci","hr","cu","cw","cy","cz","dk","dj","dm","do","tl","tp","ec","eg","sv","gq","er","ee","et","eu","fk","fo","fm","fj","fi","fr","gf","pf","tf","ga","gal","gm","ps","ge","de","gh","gi","gr","gl","gd","gp","gu","gt","gg","gn","gw","gy","ht","hm","hn","hk","hu","is","in","id","ir","iq","ie","im","il","it","jm","jp","je","jo","kz","ke","ki","kw","kg","la","lv","lb","ls","lr","ly","li","lt","lu","mo","mk","mg","mw","my","mv","ml","mt","mh","mq","mr","mu","yt","mx","md","mc","mn","me","ms","ma","mz","mm","na","nr","np","nl","nc","nz","ni","ne","ng","nu","nf","nc","tr","kp","mp","no","om","pk","pw","ps","pa","pg","py","pe","ph","pn","pl","pt","pr","qa","ro","ru","rw","re","bq","an","bl","gp","fr","sh","kn","lc","mf","gp","fr","pm","vc","ws","sm","st","sa","sn","rs","sc","sl","sg","bq","an","nl","sx","an","sk","si","sb","so","so","za","gs","kr","ss","es","lk","sd","sr","sj","sz","se","ch","sy","tw","tj","tz","th","tg","tk","to","tt","tn","tr","tm","tc","tv","ug","ua","ae","uk","us","vi","uy","uz","vu","va","ve","vn","wf","eh","ma","ye","zm","zw"]),s=m;export{s as a};
|
package/dist/chunk-YUMUNL66.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var m=new Set(["af","ax","al","dz","as","ad","ao","ai","aq","ag","ar","am","aw","ac","au","at","az","bs","bh","bd","bb","eus","by","be","bz","bj","bm","bt","bo","bq","an","nl","ba","bw","bv","br","io","vg","bn","bg","bf","mm","bi","kh","cm","ca","cv","cat","ky","cf","td","cl","cn","cx","cc","co","km","cd","cg","ck","cr","ci","hr","cu","cw","cy","cz","dk","dj","dm","do","tl","tp","ec","eg","sv","gq","er","ee","et","eu","fk","fo","fm","fj","fi","fr","gf","pf","tf","ga","gal","gm","ps","ge","de","gh","gi","gr","gl","gd","gp","gu","gt","gg","gn","gw","gy","ht","hm","hn","hk","hu","is","in","id","ir","iq","ie","im","il","it","jm","jp","je","jo","kz","ke","ki","kw","kg","la","lv","lb","ls","lr","ly","li","lt","lu","mo","mk","mg","mw","my","mv","ml","mt","mh","mq","mr","mu","yt","mx","md","mc","mn","me","ms","ma","mz","mm","na","nr","np","nl","nc","nz","ni","ne","ng","nu","nf","nc","tr","kp","mp","no","om","pk","pw","ps","pa","pg","py","pe","ph","pn","pl","pt","pr","qa","ro","ru","rw","re","bq","an","bl","gp","fr","sh","kn","lc","mf","gp","fr","pm","vc","ws","sm","st","sa","sn","rs","sc","sl","sg","bq","an","nl","sx","an","sk","si","sb","so","so","za","gs","kr","ss","es","lk","sd","sr","sj","sz","se","ch","sy","tw","tj","tz","th","tg","tk","to","tt","tn","tr","tm","tc","tv","ug","ua","ae","uk","us","vi","uy","uz","vu","va","ve","vn","wf","eh","ma","ye","zm","zw"]);export{m as a};
|
package/dist/chunk-ZGU5QGQR.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as c,y as l,z as u}from"./chunk-ONIHRKH7.mjs";import{a}from"./chunk-MODISIUH.mjs";import p from"@sindresorhus/slugify";import{clsx as m}from"clsx";import f from"ms";import{customAlphabet as h}from"nanoid";import{twMerge as y}from"tailwind-merge";function v(...e){return y(m(e))}function M({title:e="Dub - Link Management for Modern Marketing Teams",description:t="Dub is an open-source link management tool for modern marketing teams to create, share, and track short links.",image:r="https://dub.co/_static/thumbnail.png",icons:o="/favicon.ico",noIndex:n=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,images:[{url:r}]},twitter:{card:"summary_large_image",title:e,description:t,images:[r],creator:"@dubdotco"},icons:o,metadataBase:new URL(c),themeColor:"#FFF",...n&&{robots:{index:!1,follow:!1}}}}var O=h("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",7);async function _(e,t){let r=await fetch(e,t);if(!r.ok){let o=await r.text(),n=new Error(o);throw n.status=r.status,n}return r.json()}function $(e,t={digits:1}){if(!e)return"0";if(t.full)return Intl.NumberFormat("en-US").format(e);let r=[{value:1,symbol:""},{value:1e3,symbol:"K"},{value:1e6,symbol:"M"},{value:1e9,symbol:"G"},{value:1e12,symbol:"T"},{value:1e15,symbol:"P"},{value:1e18,symbol:"E"}],o=/\.0+$|(\.[0-9]*[1-9])0+$/;var n=r.slice().reverse().find(function(s){return e>=s.value});return n?(e/n.value).toFixed(t.digits).replace(o,"$1")+n.symbol:"0"}function T(e){return!e||typeof e!="string"?e:e.charAt(0).toUpperCase()+e.slice(1)}var A=(e,t)=>e.reduce((r,o,n)=>{let s=Math.floor(n/t);return r[s]||(r[s]=[]),r[s].push(o),r},[]);function E({key:e,domain:t="dub.sh",localhost:r,pretty:o,noDomain:n}){let s=`${r?"http://home.localhost:8888":`https://${t}`}${e!=="_root"?`/${e}`:""}`;return n?`/${e}`:o?s.replace(/^https?:\/\//,""):s}var F=(e,{withAgo:t}={})=>{if(!e)return"Never";let r=Date.now()-new Date(e).getTime();return r<1e3?"Just now":r>828e5?new Date(e).toLocaleDateString("en-US",{month:"short",day:"numeric",year:new Date(e).getFullYear()!==new Date().getFullYear()?"numeric":void 0}):`${f(r)}${t?" ago":""}`},N=e=>{let t=e?new Date(e):new Date;return t.toString()==="Invalid Date"?"":new Date(t.getTime()-t.getTimezoneOffset()*6e4).toISOString().split(":").slice(0,2).join(":")},C=e=>new Date(`${e}T00:00:00Z`).toLocaleDateString("en-US",{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"}),q=e=>{let t=new Date,r=t.getDate(),o=t.getMonth(),n=t.getFullYear();if(r>=e)return{firstDay:new Date(n,o,e),lastDay:new Date(n,o+1,e-1)};{let s=o===0?n-1:n,i=o===0?11:o-1;return{firstDay:new Date(s,i,e),lastDay:new Date(n,o,e-1)}}},d=()=>{let e=new Date;return new Date(e.getFullYear(),e.getMonth()+1,0).getDate()},I=e=>{let t=d();return e>t?t:e},K=e=>{let t=p(e,{separator:""});if(t.length<3)return"";if(a.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&a.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((n,s)=>n.length<s.length?n:s)}.to`},P=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),z=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-]*$/u),H=new RegExp(/^[a-zA-Z0-9\-]+$/),Z=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),j=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let r=t.split(".");return r.length>2?l.has(r[r.length-2])&&a.has(r[r.length-1])||u.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},g=e=>{try{return new URL(e),!0}catch{return!1}},W=e=>{if(g(e))return e;try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).toString()}catch{return null}},B=e=>{if(g(e))return new URL(e).hostname.replace(/^www\./,"");try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).hostname.replace(/^www\./,"")}catch{return null}},J=(e,t)=>{let r=new URLSearchParams({...e.query,...t}).toString();return`${r?"?":""}${r}`},Y=({router:e,param:t,value:r})=>{t!=="page"&&delete e.query.page;let o;r.length>0?o={...e.query,[t]:r}:(delete e.query[t],o={...e.query});let{slug:n,...s}=o;e.replace({pathname:`/${e.query.slug||"links"}`,query:s})},V=(e,t)=>!e||e.length<=t?e:`${e.slice(0,t-3)}...`,Q=e=>{if(!e)return{};try{let t=new URL(e).searchParams,r={};for(let[o,n]of t.entries())n&&n!==""&&(r[o]=n);return r}catch{return{}}},G=(e,t)=>{if(!e)return"";try{let r=new URL(e);for(let[o,n]of Object.entries(t))n===""?r.searchParams.delete(o):r.searchParams.set(o,n);return r.toString()}catch{return""}},x=[{display:"Referral (ref)",key:"ref",examples:"twitter, facebook"},{display:"UTM Source",key:"utm_source",examples:"twitter, facebook"},{display:"UTM Medium",key:"utm_medium",examples:"social, email"},{display:"UTM Campaign",key:"utm_campaign",examples:"summer_sale"},{display:"UTM Term",key:"utm_term",examples:"blue_shoes"},{display:"UTM Content",key:"utm_content",examples:"logolink"}],X=e=>{try{let t=new URL(e);return x.forEach(r=>t.searchParams.delete(r.key)),t.toString()}catch{return e}};async function ee(e){let r=new TextEncoder().encode(e),o=await crypto.subtle.digest("MD5",r);return Array.from(new Uint8Array(o)).map(i=>i.toString(16).padStart(2,"0")).join("")}var D={cron:process.env.DUB_SLACK_HOOK_CRON,links:process.env.DUB_SLACK_HOOK_LINKS},te=async({message:e,type:t,mention:r=!1})=>{(process.env.NODE_ENV==="development"||!process.env.DUB_SLACK_HOOK_CRON||!process.env.DUB_SLACK_HOOK_LINKS)&&console.log(e);let o=D[t];if(!!o)try{return await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({blocks:[{type:"section",text:{type:"mrkdwn",text:`${r?"<@U0404G6J3NJ> ":""}${e}`}}]})})}catch(n){console.log(`Failed to log to Dub Slack. Error: ${n}`)}},w=(e,t)=>{if(e===t)return!0;if(typeof e!="object"||typeof t!="object"||e===null||t===null)return!1;let r=Object.keys(e),o=Object.keys(t);if(r.length!==o.length)return!1;for(let n of r)if(!o.includes(n)||!w(e[n],t[n]))return!1;return!0};export{v as a,M as b,O as c,_ as d,$ as e,T as f,A as g,E as h,F as i,N as j,C as k,q as l,d as m,I as n,K as o,P as p,z as q,H as r,Z as s,j as t,g as u,W as v,B as w,J as x,Y as y,V as z,Q as A,G as B,x as C,X as D,ee as E,te as F,w as G};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a}from"../chunk-BXDPGIU7.mjs";export{a as FEATURES_LIST};
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
export { default as ccTLDs } from './cctlds.mjs';
|
|
2
|
-
export { default as COUNTRIES } from './countries.mjs';
|
|
3
|
-
|
|
4
|
-
declare const LOCALHOST_GEO_DATA: {
|
|
5
|
-
city: string;
|
|
6
|
-
region: string;
|
|
7
|
-
country: string;
|
|
8
|
-
latitude: string;
|
|
9
|
-
longitude: string;
|
|
10
|
-
};
|
|
11
|
-
declare const LOCALHOST_IP = "63.141.57.109";
|
|
12
|
-
declare const FRAMER_MOTION_LIST_ITEM_VARIANTS: {
|
|
13
|
-
hidden: {
|
|
14
|
-
scale: number;
|
|
15
|
-
opacity: number;
|
|
16
|
-
};
|
|
17
|
-
show: {
|
|
18
|
-
scale: number;
|
|
19
|
-
opacity: number;
|
|
20
|
-
transition: {
|
|
21
|
-
type: string;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
declare const STAGGER_CHILD_VARIANTS: {
|
|
26
|
-
hidden: {
|
|
27
|
-
opacity: number;
|
|
28
|
-
y: number;
|
|
29
|
-
};
|
|
30
|
-
show: {
|
|
31
|
-
opacity: number;
|
|
32
|
-
y: number;
|
|
33
|
-
transition: {
|
|
34
|
-
duration: number;
|
|
35
|
-
type: string;
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
|
-
};
|
|
39
|
-
declare const SWIPE_REVEAL_ANIMATION_SETTINGS: {
|
|
40
|
-
initial: {
|
|
41
|
-
height: number;
|
|
42
|
-
};
|
|
43
|
-
animate: {
|
|
44
|
-
height: string;
|
|
45
|
-
};
|
|
46
|
-
exit: {
|
|
47
|
-
height: number;
|
|
48
|
-
};
|
|
49
|
-
transition: {
|
|
50
|
-
duration: number;
|
|
51
|
-
ease: string;
|
|
52
|
-
};
|
|
53
|
-
};
|
|
54
|
-
declare const FADE_IN_ANIMATION_SETTINGS: {
|
|
55
|
-
initial: {
|
|
56
|
-
opacity: number;
|
|
57
|
-
};
|
|
58
|
-
animate: {
|
|
59
|
-
opacity: number;
|
|
60
|
-
};
|
|
61
|
-
exit: {
|
|
62
|
-
opacity: number;
|
|
63
|
-
};
|
|
64
|
-
transition: {
|
|
65
|
-
duration: number;
|
|
66
|
-
};
|
|
67
|
-
};
|
|
68
|
-
declare const PAGINATION_LIMIT = 100;
|
|
69
|
-
declare const HOME_DOMAIN = "https://dub.co";
|
|
70
|
-
declare const APP_HOSTNAMES: Set<string>;
|
|
71
|
-
declare const APP_DOMAIN: string;
|
|
72
|
-
declare const APP_DOMAIN_WITH_NGROK: string | undefined;
|
|
73
|
-
declare const API_HOSTNAMES: Set<string>;
|
|
74
|
-
declare const API_DOMAIN: string;
|
|
75
|
-
declare const ADMIN_HOSTNAMES: Set<string>;
|
|
76
|
-
declare const DEFAULT_REDIRECTS: {
|
|
77
|
-
home: string;
|
|
78
|
-
dub: string;
|
|
79
|
-
signin: string;
|
|
80
|
-
login: string;
|
|
81
|
-
register: string;
|
|
82
|
-
signup: string;
|
|
83
|
-
app: string;
|
|
84
|
-
dashboard: string;
|
|
85
|
-
links: string;
|
|
86
|
-
settings: string;
|
|
87
|
-
welcome: string;
|
|
88
|
-
discord: string;
|
|
89
|
-
tags: string;
|
|
90
|
-
};
|
|
91
|
-
declare const DUB_HEADERS: {
|
|
92
|
-
headers: {
|
|
93
|
-
"x-powered-by": string;
|
|
94
|
-
};
|
|
95
|
-
};
|
|
96
|
-
declare const FAVICON_FOLDER = "/_static/favicons";
|
|
97
|
-
declare const GOOGLE_FAVICON_URL = "https://www.google.com/s2/favicons?sz=64&domain_url=";
|
|
98
|
-
declare const DUB_LOGO = "https://d2vwwcvoksz7ty.cloudfront.net/logo.png";
|
|
99
|
-
declare const DUB_THUMBNAIL = "https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png";
|
|
100
|
-
declare const SHOW_BACKGROUND_SEGMENTS: string[];
|
|
101
|
-
declare const ALL_TOOLS: {
|
|
102
|
-
name: string;
|
|
103
|
-
slug: string;
|
|
104
|
-
}[];
|
|
105
|
-
|
|
106
|
-
declare const SECOND_LEVEL_DOMAINS: Set<string>;
|
|
107
|
-
declare const SPECIAL_APEX_DOMAINS: Set<string>;
|
|
108
|
-
declare const DEFAULT_LINK_PROPS: {
|
|
109
|
-
key: string;
|
|
110
|
-
url: string;
|
|
111
|
-
domain: string;
|
|
112
|
-
archived: boolean;
|
|
113
|
-
expiresAt: null;
|
|
114
|
-
password: null;
|
|
115
|
-
title: null;
|
|
116
|
-
description: null;
|
|
117
|
-
image: null;
|
|
118
|
-
rewrite: boolean;
|
|
119
|
-
ios: null;
|
|
120
|
-
android: null;
|
|
121
|
-
clicks: number;
|
|
122
|
-
userId: string;
|
|
123
|
-
proxy: boolean;
|
|
124
|
-
};
|
|
125
|
-
declare const DUB_PROJECT_ID = "cl7pj5kq4006835rbjlt2ofka";
|
|
126
|
-
declare const SAML_PROVIDERS: {
|
|
127
|
-
name: string;
|
|
128
|
-
logo: string;
|
|
129
|
-
saml: string;
|
|
130
|
-
samlModalCopy: string;
|
|
131
|
-
scim: string;
|
|
132
|
-
scimModalCopy: {
|
|
133
|
-
url: string;
|
|
134
|
-
token: string;
|
|
135
|
-
};
|
|
136
|
-
wip: boolean;
|
|
137
|
-
}[];
|
|
138
|
-
|
|
139
|
-
export { ADMIN_HOSTNAMES, ALL_TOOLS, API_DOMAIN, API_HOSTNAMES, APP_DOMAIN, APP_DOMAIN_WITH_NGROK, APP_HOSTNAMES, DEFAULT_LINK_PROPS, DEFAULT_REDIRECTS, DUB_HEADERS, DUB_LOGO, DUB_PROJECT_ID, DUB_THUMBNAIL, FADE_IN_ANIMATION_SETTINGS, FAVICON_FOLDER, FRAMER_MOTION_LIST_ITEM_VARIANTS, GOOGLE_FAVICON_URL, HOME_DOMAIN, LOCALHOST_GEO_DATA, LOCALHOST_IP, PAGINATION_LIMIT, SAML_PROVIDERS, SECOND_LEVEL_DOMAINS, SHOW_BACKGROUND_SEGMENTS, SPECIAL_APEX_DOMAINS, STAGGER_CHILD_VARIANTS, SWIPE_REVEAL_ANIMATION_SETTINGS };
|
package/dist/hooks/index.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { default as useCurrentAnchor } from './use-current-anchor.js';
|
|
2
|
-
export { default as useIntersectionObserver } from './use-intersection-observer.js';
|
|
3
|
-
export { default as useLocalStorage } from './use-local-storage.js';
|
|
4
|
-
export { default as useMediaQuery } from './use-media-query.js';
|
|
5
|
-
export { default as useScroll } from './use-scroll.js';
|
|
6
|
-
import 'react';
|
package/dist/hooks/index.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client"
|
|
2
|
-
import"../chunk-V4HIRCCV.mjs";import{a as b}from"../chunk-35O76FBU.mjs";import{a as c}from"../chunk-64KMNIJU.mjs";import{a as d}from"../chunk-64C57Q4W.mjs";import{a as e}from"../chunk-LEHV3NWH.mjs";import{a}from"../chunk-UYE4FVX2.mjs";export{a as useCurrentAnchor,b as useIntersectionObserver,c as useLocalStorage,d as useMediaQuery,e as useScroll};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { RefObject } from 'react';
|
|
2
|
-
|
|
3
|
-
interface Args extends IntersectionObserverInit {
|
|
4
|
-
freezeOnceVisible?: boolean;
|
|
5
|
-
}
|
|
6
|
-
declare function useIntersectionObserver(elementRef: RefObject<Element>, { threshold, root, rootMargin, freezeOnceVisible, }: Args): IntersectionObserverEntry | undefined;
|
|
7
|
-
|
|
8
|
-
export { useIntersectionObserver as default };
|
package/dist/index.d.mts
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { ClassValue } from 'clsx';
|
|
2
|
-
import { Metadata } from 'next';
|
|
3
|
-
import { NextRouter } from 'next/router';
|
|
4
|
-
export { ADMIN_HOSTNAMES, ALL_TOOLS, API_DOMAIN, API_HOSTNAMES, APP_DOMAIN, APP_DOMAIN_WITH_NGROK, APP_HOSTNAMES, DEFAULT_LINK_PROPS, DEFAULT_REDIRECTS, DUB_HEADERS, DUB_LOGO, DUB_PROJECT_ID, DUB_THUMBNAIL, FADE_IN_ANIMATION_SETTINGS, FAVICON_FOLDER, FRAMER_MOTION_LIST_ITEM_VARIANTS, GOOGLE_FAVICON_URL, HOME_DOMAIN, LOCALHOST_GEO_DATA, LOCALHOST_IP, PAGINATION_LIMIT, SAML_PROVIDERS, SECOND_LEVEL_DOMAINS, SHOW_BACKGROUND_SEGMENTS, SPECIAL_APEX_DOMAINS, STAGGER_CHILD_VARIANTS, SWIPE_REVEAL_ANIMATION_SETTINGS } from './constants/index.mjs';
|
|
5
|
-
export { default as ccTLDs } from './constants/cctlds.mjs';
|
|
6
|
-
export { default as COUNTRIES } from './constants/countries.mjs';
|
|
7
|
-
|
|
8
|
-
declare function cn(...inputs: ClassValue[]): string;
|
|
9
|
-
declare function constructMetadata({ title, description, image, icons, noIndex, }?: {
|
|
10
|
-
title?: string;
|
|
11
|
-
description?: string;
|
|
12
|
-
image?: string;
|
|
13
|
-
icons?: string;
|
|
14
|
-
noIndex?: boolean;
|
|
15
|
-
}): Metadata;
|
|
16
|
-
declare const nanoid: (size?: number | undefined) => string;
|
|
17
|
-
declare function fetcher<JSON = any>(input: RequestInfo, init?: RequestInit): Promise<JSON>;
|
|
18
|
-
declare function nFormatter(num?: number, opts?: {
|
|
19
|
-
digits?: number;
|
|
20
|
-
full?: boolean;
|
|
21
|
-
}): string;
|
|
22
|
-
declare function capitalize(str: string): string;
|
|
23
|
-
declare const chunk: <T>(array: T[], chunk_size: number) => T[][];
|
|
24
|
-
declare function linkConstructor({ key, domain, localhost, pretty, noDomain, }: {
|
|
25
|
-
key: string;
|
|
26
|
-
domain?: string;
|
|
27
|
-
localhost?: boolean;
|
|
28
|
-
pretty?: boolean;
|
|
29
|
-
noDomain?: boolean;
|
|
30
|
-
}): string;
|
|
31
|
-
declare const timeAgo: (timestamp: Date | null, { withAgo, }?: {
|
|
32
|
-
withAgo?: boolean | undefined;
|
|
33
|
-
}) => string;
|
|
34
|
-
declare const getDateTimeLocal: (timestamp?: Date) => string;
|
|
35
|
-
declare const formatDate: (dateString: string) => string;
|
|
36
|
-
declare const getFirstAndLastDay: (day: number) => {
|
|
37
|
-
firstDay: Date;
|
|
38
|
-
lastDay: Date;
|
|
39
|
-
};
|
|
40
|
-
declare const getLastDayOfMonth: () => number;
|
|
41
|
-
declare const getAdjustedBillingCycleStart: (billingCycleStart: number) => number;
|
|
42
|
-
declare const generateDomainFromName: (name: string) => string;
|
|
43
|
-
declare const validDomainRegex: RegExp;
|
|
44
|
-
declare const validKeyRegex: RegExp;
|
|
45
|
-
declare const validSlugRegex: RegExp;
|
|
46
|
-
declare const getSubdomain: (name: string, apexName: string) => string | null;
|
|
47
|
-
declare const getApexDomain: (url: string) => string;
|
|
48
|
-
declare const isValidUrl: (url: string) => boolean;
|
|
49
|
-
declare const getUrlFromString: (str: string) => string | null | undefined;
|
|
50
|
-
declare const getDomainWithoutWWW: (url: string) => string | null | undefined;
|
|
51
|
-
declare const getQueryString: (router: NextRouter, opts?: Record<string, string>) => string;
|
|
52
|
-
declare const setQueryString: ({ router, param, value, }: {
|
|
53
|
-
router: NextRouter;
|
|
54
|
-
param: string;
|
|
55
|
-
value: string;
|
|
56
|
-
}) => void;
|
|
57
|
-
declare const truncate: (str: string | null, length: number) => string | null;
|
|
58
|
-
declare const getParamsFromURL: (url: string) => Record<string, string>;
|
|
59
|
-
declare const constructURLFromUTMParams: (url: string, utmParams: Record<string, string>) => string;
|
|
60
|
-
declare const paramsMetadata: {
|
|
61
|
-
display: string;
|
|
62
|
-
key: string;
|
|
63
|
-
examples: string;
|
|
64
|
-
}[];
|
|
65
|
-
declare const getUrlWithoutUTMParams: (url: string) => string;
|
|
66
|
-
declare function generateMD5Hash(message: string): Promise<string>;
|
|
67
|
-
declare const log: ({ message, type, mention, }: {
|
|
68
|
-
message: string;
|
|
69
|
-
type: "cron" | "links";
|
|
70
|
-
mention?: boolean | undefined;
|
|
71
|
-
}) => Promise<Response | undefined>;
|
|
72
|
-
type DeepEqual = (obj1: Record<string, any>, obj2: Record<string, any>) => boolean;
|
|
73
|
-
declare const deepEqual: DeepEqual;
|
|
74
|
-
|
|
75
|
-
export { capitalize, chunk, cn, constructMetadata, constructURLFromUTMParams, deepEqual, fetcher, formatDate, generateDomainFromName, generateMD5Hash, getAdjustedBillingCycleStart, getApexDomain, getDateTimeLocal, getDomainWithoutWWW, getFirstAndLastDay, getLastDayOfMonth, getParamsFromURL, getQueryString, getSubdomain, getUrlFromString, getUrlWithoutUTMParams, isValidUrl, linkConstructor, log, nFormatter, nanoid, paramsMetadata, setQueryString, timeAgo, truncate, validDomainRegex, validKeyRegex, validSlugRegex };
|
package/dist/utils.d.ts
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { ClassValue } from 'clsx';
|
|
2
|
-
import { Metadata } from 'next';
|
|
3
|
-
import { NextRouter } from 'next/router';
|
|
4
|
-
|
|
5
|
-
declare function cn(...inputs: ClassValue[]): string;
|
|
6
|
-
declare function constructMetadata({ title, description, image, icons, noIndex, }?: {
|
|
7
|
-
title?: string;
|
|
8
|
-
description?: string;
|
|
9
|
-
image?: string;
|
|
10
|
-
icons?: string;
|
|
11
|
-
noIndex?: boolean;
|
|
12
|
-
}): Metadata;
|
|
13
|
-
declare const nanoid: (size?: number | undefined) => string;
|
|
14
|
-
declare function fetcher<JSON = any>(input: RequestInfo, init?: RequestInit): Promise<JSON>;
|
|
15
|
-
declare function nFormatter(num?: number, opts?: {
|
|
16
|
-
digits?: number;
|
|
17
|
-
full?: boolean;
|
|
18
|
-
}): string;
|
|
19
|
-
declare function capitalize(str: string): string;
|
|
20
|
-
declare const chunk: <T>(array: T[], chunk_size: number) => T[][];
|
|
21
|
-
declare function linkConstructor({ key, domain, localhost, pretty, noDomain, }: {
|
|
22
|
-
key: string;
|
|
23
|
-
domain?: string;
|
|
24
|
-
localhost?: boolean;
|
|
25
|
-
pretty?: boolean;
|
|
26
|
-
noDomain?: boolean;
|
|
27
|
-
}): string;
|
|
28
|
-
declare const timeAgo: (timestamp: Date | null, { withAgo, }?: {
|
|
29
|
-
withAgo?: boolean | undefined;
|
|
30
|
-
}) => string;
|
|
31
|
-
declare const getDateTimeLocal: (timestamp?: Date) => string;
|
|
32
|
-
declare const formatDate: (dateString: string) => string;
|
|
33
|
-
declare const getFirstAndLastDay: (day: number) => {
|
|
34
|
-
firstDay: Date;
|
|
35
|
-
lastDay: Date;
|
|
36
|
-
};
|
|
37
|
-
declare const getLastDayOfMonth: () => number;
|
|
38
|
-
declare const getAdjustedBillingCycleStart: (billingCycleStart: number) => number;
|
|
39
|
-
declare const generateDomainFromName: (name: string) => string;
|
|
40
|
-
declare const validDomainRegex: RegExp;
|
|
41
|
-
declare const validKeyRegex: RegExp;
|
|
42
|
-
declare const validSlugRegex: RegExp;
|
|
43
|
-
declare const getSubdomain: (name: string, apexName: string) => string | null;
|
|
44
|
-
declare const getApexDomain: (url: string) => string;
|
|
45
|
-
declare const isValidUrl: (url: string) => boolean;
|
|
46
|
-
declare const getUrlFromString: (str: string) => string | null | undefined;
|
|
47
|
-
declare const getDomainWithoutWWW: (url: string) => string | null | undefined;
|
|
48
|
-
declare const getQueryString: (router: NextRouter, opts?: Record<string, string>) => string;
|
|
49
|
-
declare const setQueryString: ({ router, param, value, }: {
|
|
50
|
-
router: NextRouter;
|
|
51
|
-
param: string;
|
|
52
|
-
value: string;
|
|
53
|
-
}) => void;
|
|
54
|
-
declare const truncate: (str: string | null, length: number) => string | null;
|
|
55
|
-
declare const getParamsFromURL: (url: string) => Record<string, string>;
|
|
56
|
-
declare const constructURLFromUTMParams: (url: string, utmParams: Record<string, string>) => string;
|
|
57
|
-
declare const paramsMetadata: {
|
|
58
|
-
display: string;
|
|
59
|
-
key: string;
|
|
60
|
-
examples: string;
|
|
61
|
-
}[];
|
|
62
|
-
declare const getUrlWithoutUTMParams: (url: string) => string;
|
|
63
|
-
declare function generateMD5Hash(message: string): Promise<string>;
|
|
64
|
-
declare const log: ({ message, type, mention, }: {
|
|
65
|
-
message: string;
|
|
66
|
-
type: "cron" | "links";
|
|
67
|
-
mention?: boolean | undefined;
|
|
68
|
-
}) => Promise<Response | undefined>;
|
|
69
|
-
type DeepEqual = (obj1: Record<string, any>, obj2: Record<string, any>) => boolean;
|
|
70
|
-
declare const deepEqual: DeepEqual;
|
|
71
|
-
|
|
72
|
-
export { capitalize, chunk, cn, constructMetadata, constructURLFromUTMParams, deepEqual, fetcher, formatDate, generateDomainFromName, generateMD5Hash, getAdjustedBillingCycleStart, getApexDomain, getDateTimeLocal, getDomainWithoutWWW, getFirstAndLastDay, getLastDayOfMonth, getParamsFromURL, getQueryString, getSubdomain, getUrlFromString, getUrlWithoutUTMParams, isValidUrl, linkConstructor, log, nFormatter, nanoid, paramsMetadata, setQueryString, timeAgo, truncate, validDomainRegex, validKeyRegex, validSlugRegex };
|
package/dist/utils.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A,B,C,D,E,F,G,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z}from"./chunk-OH6TH3J6.mjs";import"./chunk-Y2N4Y4WZ.mjs";import"./chunk-MODISIUH.mjs";import"./chunk-3P54C65P.mjs";export{f as capitalize,g as chunk,a as cn,b as constructMetadata,B as constructURLFromUTMParams,G as deepEqual,d as fetcher,k as formatDate,o as generateDomainFromName,E as generateMD5Hash,n as getAdjustedBillingCycleStart,t as getApexDomain,j as getDateTimeLocal,w as getDomainWithoutWWW,l as getFirstAndLastDay,m as getLastDayOfMonth,A as getParamsFromURL,x as getQueryString,s as getSubdomain,v as getUrlFromString,D as getUrlWithoutUTMParams,u as isValidUrl,h as linkConstructor,F as log,e as nFormatter,c as nanoid,C as paramsMetadata,y as setQueryString,i as timeAgo,z as truncate,p as validDomainRegex,q as validKeyRegex,r as validSlugRegex};
|