@dub/utils 0.1.21 → 0.1.23
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-27JRVV6V.mjs +1 -0
- package/dist/chunk-2BMAYMJ2.mjs +1 -0
- package/dist/chunk-2GSRZTDI.mjs +1 -0
- package/dist/chunk-2KN4RDZM.mjs +1 -0
- package/dist/chunk-2VH64PTW.mjs +1 -0
- package/dist/chunk-2WOKVJTG.mjs +1 -0
- package/dist/chunk-37PRJND5.mjs +1 -0
- package/dist/chunk-3NG7VNZO.mjs +1 -0
- package/dist/chunk-45VSQU2S.mjs +1 -0
- package/dist/chunk-4JTKWHGO.mjs +1 -0
- package/dist/chunk-4YXONEBX.mjs +1 -0
- package/dist/chunk-53SZZ2QK.mjs +1 -0
- package/dist/chunk-5CFZGCCB.mjs +1 -0
- package/dist/chunk-5FGHT5H5.mjs +1 -0
- package/dist/chunk-5FMJTCXV.mjs +1 -0
- package/dist/chunk-5JY4MGT3.mjs +1 -0
- package/dist/chunk-5PMIL4UD.mjs +1 -0
- package/dist/chunk-5TJXU7DF.mjs +1 -0
- package/dist/chunk-5TNZL54X.mjs +1 -0
- package/dist/chunk-63CPRGMS.mjs +1 -0
- package/dist/chunk-66BDBT5L.mjs +1 -0
- package/dist/chunk-66CVQWQN.mjs +1 -0
- package/dist/chunk-6MXH6P2P.mjs +1 -0
- package/dist/chunk-6PZJ3HNK.mjs +1 -0
- package/dist/chunk-72SYYZX2.mjs +1 -0
- package/dist/chunk-7EO77WKI.mjs +1 -0
- package/dist/chunk-7M7LVOC3.mjs +1 -0
- package/dist/chunk-A7TLCKWB.mjs +1 -0
- package/dist/chunk-AAKIMRNO.mjs +1 -0
- package/dist/chunk-AGGN35VX.mjs +1 -0
- package/dist/chunk-AGVEDWRW.mjs +1 -0
- package/dist/chunk-AI2RNPKZ.mjs +1 -0
- package/dist/chunk-AMLIXSZL.mjs +1 -0
- package/dist/chunk-AQPTJK67.mjs +1 -0
- package/dist/chunk-ATIOCXF3.mjs +1 -0
- package/dist/chunk-AXPKSOG2.mjs +1 -0
- package/dist/chunk-AXSUVCJV.mjs +1 -0
- package/dist/chunk-BBI33IEE.mjs +1 -0
- package/dist/chunk-BUKUFXID.mjs +1 -0
- package/dist/chunk-BZXE7YIN.mjs +1 -0
- package/dist/chunk-CP4WO7MM.mjs +1 -0
- package/dist/chunk-D3GQYNXO.mjs +1 -0
- package/dist/chunk-D7V6HBE4.mjs +1 -0
- package/dist/chunk-DJB7XWZP.mjs +1 -0
- package/dist/chunk-DPUNFH6T.mjs +1 -0
- package/dist/chunk-DXXNBMLQ.mjs +1 -0
- package/dist/chunk-E4EELJFC.mjs +1 -0
- package/dist/chunk-EAD6ZQOX.mjs +1 -0
- package/dist/chunk-EJO4UPV6.mjs +1 -0
- package/dist/chunk-EKIP5XNZ.mjs +1 -0
- package/dist/chunk-ENGM6K7K.mjs +1 -0
- package/dist/chunk-EQL4EGGK.mjs +1 -0
- package/dist/chunk-FC5H2BSV.mjs +1 -0
- package/dist/chunk-FEGEDHMY.mjs +1 -0
- package/dist/chunk-FZSK27C6.mjs +1 -0
- package/dist/chunk-GLEYWF7M.mjs +1 -0
- package/dist/chunk-GRNEXX4Q.mjs +1 -0
- package/dist/chunk-GS3TCQE5.mjs +1 -0
- package/dist/chunk-GXLVOMI7.mjs +1 -0
- package/dist/chunk-GZVN3KGY.mjs +1 -0
- package/dist/chunk-H5IB3A7B.mjs +1 -0
- package/dist/chunk-H6D2BOI5.mjs +1 -0
- package/dist/chunk-HLXJE2PH.mjs +1 -0
- package/dist/chunk-HR4YFT2T.mjs +1 -0
- package/dist/chunk-HWE7G5E7.mjs +1 -0
- package/dist/chunk-HZCXTY5Z.mjs +1 -0
- package/dist/chunk-I2E6SUBT.mjs +1 -0
- package/dist/chunk-IB7O44SF.mjs +1 -0
- package/dist/chunk-IF5MZYWN.mjs +1 -0
- package/dist/chunk-IMY2DMDY.mjs +1 -0
- package/dist/chunk-IPWKWYSE.mjs +1 -0
- package/dist/chunk-IXTKJDJK.mjs +1 -0
- package/dist/chunk-JCEVZIHE.mjs +1 -0
- package/dist/chunk-JKFE3UP3.mjs +1 -0
- package/dist/chunk-K3PEAL32.mjs +1 -0
- package/dist/chunk-KEOI3ZDJ.mjs +1 -0
- package/dist/chunk-KFUXESBK.mjs +1 -0
- package/dist/chunk-KIDNKMJ2.mjs +1 -0
- package/dist/chunk-KMPE2U34.mjs +1 -0
- package/dist/chunk-KVZYGROY.mjs +1 -0
- package/dist/chunk-KYW63Y7Q.mjs +1 -0
- package/dist/chunk-LBFMR3IZ.mjs +1 -0
- package/dist/chunk-LGKNREEF.mjs +1 -0
- package/dist/chunk-LMD3E4EU.mjs +1 -0
- package/dist/chunk-LR5WZWGF.mjs +1 -0
- package/dist/chunk-MKIA6LKD.mjs +1 -0
- package/dist/chunk-MP5IS4V2.mjs +1 -0
- package/dist/chunk-MPAKSQ2K.mjs +1 -0
- package/dist/chunk-MYAT5AGV.mjs +1 -0
- package/dist/chunk-N7FCXPGE.mjs +1 -0
- package/dist/chunk-OBL3DU2X.mjs +1 -0
- package/dist/chunk-OD52PY5Q.mjs +1 -0
- package/dist/chunk-OOX3E572.mjs +1 -0
- package/dist/chunk-OSHDLXOI.mjs +1 -0
- package/dist/chunk-P36O2DW7.mjs +1 -0
- package/dist/chunk-PIHLKXX4.mjs +1 -0
- package/dist/chunk-PPMIAMV5.mjs +1 -0
- package/dist/chunk-QI6U7WT7.mjs +1 -0
- package/dist/chunk-QLUTW37H.mjs +1 -0
- package/dist/chunk-QONE2O4C.mjs +1 -0
- package/dist/chunk-QSMPU6JE.mjs +1 -0
- package/dist/chunk-QXDTMGGV.mjs +1 -0
- package/dist/chunk-REJLQAWA.mjs +1 -0
- package/dist/chunk-S5M3LHRJ.mjs +1 -0
- package/dist/chunk-T6NRT5DO.mjs +1 -0
- package/dist/chunk-TDROXK3F.mjs +1 -0
- package/dist/chunk-TG4NEMXW.mjs +1 -0
- package/dist/chunk-TIVME7DC.mjs +1 -0
- package/dist/chunk-TQTT4IYX.mjs +1 -0
- package/dist/chunk-TR6TCU52.mjs +1 -0
- package/dist/chunk-TVVSW2XL.mjs +1 -0
- package/dist/chunk-UIOY42UV.mjs +1 -0
- package/dist/chunk-UJQFARSX.mjs +1 -0
- package/dist/chunk-ULFM6UWP.mjs +1 -0
- package/dist/chunk-UMOLACZL.mjs +1 -0
- package/dist/chunk-UWXN5NEH.mjs +1 -0
- package/dist/chunk-V56LWQJL.mjs +1 -0
- package/dist/chunk-V6QVAFAD.mjs +1 -0
- package/dist/chunk-VDRNVK7K.mjs +1 -0
- package/dist/chunk-VHOW7HVD.mjs +1 -0
- package/dist/chunk-VI7GSGHY.mjs +1 -0
- package/dist/chunk-WKSJXYEU.mjs +1 -0
- package/dist/chunk-WLTW5DNP.mjs +1 -0
- package/dist/chunk-WRWXHOX4.mjs +1 -0
- package/dist/chunk-XDHVDO44.mjs +1 -0
- package/dist/chunk-XM6L424L.mjs +1 -0
- package/dist/chunk-XYI553ES.mjs +1 -0
- package/dist/chunk-YE25WWOW.mjs +1 -0
- package/dist/chunk-YTCZXQRN.mjs +1 -0
- package/dist/chunk-ZA32WH6X.mjs +1 -0
- package/dist/chunk-ZBKUVNHK.mjs +1 -0
- package/dist/chunk-ZK3XFYSD.mjs +1 -0
- package/dist/chunk-ZN56J2UG.mjs +1 -0
- package/dist/chunk-ZOPXO5A5.mjs +1 -0
- package/dist/chunk-ZTPDEOIY.mjs +1 -0
- package/dist/chunk-ZXHZDKRS.mjs +1 -0
- package/dist/constants/dub-domains.mjs +1 -1
- package/dist/constants/index.d.ts +3 -2
- package/dist/constants/index.mjs +1 -1
- package/dist/constants/layout.mjs +1 -1
- package/dist/constants/main.d.ts +3 -2
- package/dist/constants/main.mjs +1 -1
- package/dist/constants/saml.mjs +1 -1
- package/dist/format-file-size-c3f960ab.d.ts +9 -0
- package/dist/functions/construct-metadata.mjs +1 -1
- package/dist/functions/datetime/billing-utils.d.ts +5 -0
- package/dist/functions/datetime/billing-utils.mjs +1 -0
- package/dist/functions/datetime/format-date.d.ts +3 -0
- package/dist/functions/datetime/format-date.mjs +1 -0
- package/dist/functions/datetime/format-datetime.d.ts +3 -0
- package/dist/functions/datetime/format-datetime.mjs +1 -0
- package/dist/functions/datetime/format-period.d.ts +6 -0
- package/dist/functions/datetime/format-period.mjs +1 -0
- package/dist/functions/datetime/get-datetime-local.d.ts +3 -0
- package/dist/functions/datetime/get-datetime-local.mjs +1 -0
- package/dist/functions/datetime/get-days-difference.d.ts +3 -0
- package/dist/functions/datetime/get-days-difference.mjs +1 -0
- package/dist/functions/datetime/get-first-and-last-day.d.ts +6 -0
- package/dist/functions/datetime/get-first-and-last-day.mjs +1 -0
- package/dist/functions/datetime/index.d.ts +8 -0
- package/dist/functions/datetime/index.mjs +1 -0
- package/dist/functions/datetime/parse-datetime.d.ts +3 -0
- package/dist/functions/datetime/parse-datetime.mjs +1 -0
- package/dist/functions/domains.mjs +1 -1
- package/dist/functions/format-file-size.d.ts +9 -0
- package/dist/functions/format-file-size.mjs +1 -0
- package/dist/functions/index.d.ts +9 -1
- package/dist/functions/index.mjs +1 -1
- package/dist/functions/is-click-on-interactive-child.mjs +1 -1
- package/dist/functions/keys.mjs +1 -1
- package/dist/functions/link-constructor.mjs +1 -1
- package/dist/functions/normalize-string.mjs +1 -1
- package/dist/index.d.ts +12 -4
- package/dist/index.mjs +1 -1
- package/dist/plan-compare-020f4a93.d.ts +1259 -0
- package/dist/plan-compare-30cd35a8.d.ts +1210 -0
- package/dist/plan-compare-86603a11.d.ts +1211 -0
- package/dist/plan-compare-bc4b5762.d.ts +1259 -0
- package/dist/pricing-0819fce6.d.ts +1209 -0
- package/dist/pricing-137d19cf.d.ts +1209 -0
- package/dist/pricing-2ddca5f5.d.ts +1112 -0
- package/dist/pricing-33297395.d.ts +1208 -0
- package/dist/pricing-a480e7d7.d.ts +1209 -0
- package/dist/pricing-a92cb5a1.d.ts +1090 -0
- package/dist/pricing-b523483a.d.ts +1110 -0
- package/dist/pricing-d1d5f338.d.ts +1167 -0
- package/package.json +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as A}from"./chunk-TOPVR7JX.mjs";import{a as h}from"./chunk-CP4WO7MM.mjs";import{a as g}from"./chunk-IHX4EDUF.mjs";import{a as c}from"./chunk-NWFCCRLG.mjs";import{g as d}from"./chunk-Q4LGL37L.mjs";import{a as f}from"./chunk-YUMUNL66.mjs";import{a as k,b}from"./chunk-SYT2IXG6.mjs";import{a as w}from"./chunk-GZVN3KGY.mjs";import{c as y}from"./chunk-6PZJ3HNK.mjs";var F=e=>!e.periodStart||!e.periodEnd?"-":`${h(e.periodStart,{month:"short",year:new Date(e.periodStart).getUTCFullYear()===new Date(e.periodEnd).getUTCFullYear()?void 0:"numeric",timeZone:"utc"})}-${h(e.periodEnd,{month:"short",timeZone:"utc"})}`;import E from"@sindresorhus/slugify";var K=e=>{let t=E(e,{separator:""});if(t.length<3)return"";if(f.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&f.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((s,p)=>s.length<p.length?s:p)}.link`},Q=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),X=new RegExp(/^[a-zA-Z0-9\-]+$/),Y=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),H=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";let r=t.split(".");return r.length>2?k.has(r[r.length-2])&&f.has(r[r.length-1])||b.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},ee=e=>{if(A(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}},te=e=>w.some(t=>t.slug===e);function se({domain:e,key:t,pretty:r,searchParams:l}){if(!e)return"";let s=`https://${g(e)}${t&&t!=="_root"?`/${g(t)}`:""}`;if(l){let p=new URLSearchParams;for(let[u,m]of Object.entries(l))p.set(u,m);s+=`?${p.toString()}`}return r?s.replace(/^https?:\/\//,""):s}function ne({domain:e,key:t}){return`https://${e}${t==="_root"?"":`/${t}`}`}import{Fragment as o,jsx as n,jsxs as i}from"react/jsx-runtime";var a=[{name:"Free",tagline:"For hobbyists and individuals looking to manage their links",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,sales:0,domains:3,tags:5,folders:0,users:1,ai:10,api:60},cta:{text:"Start for free",shorText:"Get started",href:"https://app.dub.co/register",color:"bg-white hover:bg-neutral-50 border border-neutral-200 hover:ring-neutral-100 text-neutral-800"},featureTitle:"What's included:",features:[{id:"clicks",text:"1K tracked clicks/mo"},{id:"links",text:"25 new links/mo"},{id:"retention",text:"30-day analytics retention"},{id:"domains",text:"3 domains"},{id:"user",text:"1 user"},{id:"analytics",text:"Advanced analytics",footnote:{title:"Get location (country, city, continent), device (type, browser, OS), and referer data on your clicks.",cta:"Learn more.",href:"https://dub.co/analytics"}},{id:"ai",text:"10 AI credits/mo"},{id:"basic-support",text:"Basic support"},{id:"api",text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For content creators or small teams needing advanced features",link:"https://dub.co/help/article/pro-plan",price:{monthly:30,yearly:25,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0","price_1R7f9IAlJJEpqkPV4G9fNwRM","price_1R7f9RAlJJEpqkPV1HgB84WS"]},limits:{links:2e3,clicks:5e4,sales:0,domains:10,tags:25,folders:3,users:3,ai:1e3,api:600},features:[{id:"clicks",text:"50K tracked clicks/mo"},{id:"links",text:"2,000 new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"3 users"},{id:"link-features",text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."},{id:"ai",text:"Unlimited AI credits",footnote:{title:"Subject to fair use policy \u2013 you will be notified if you exceed the limit, which are high enough for frequent usage.",cta:"Learn more.",href:"https://dub.co/blog/introducing-dub-ai"}},{id:"priority-support",text:"Priority support"},{id:"dotlink",text:"Free custom domain",footnote:{title:"All our paid plans come with a free .link custom domain, which helps improve click-through rates.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}}]},{name:"Business",tagline:"For fast-growing startups and businesses looking to scale",link:"https://dub.co/help/article/business-plan",price:{monthly:90,yearly:75,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw","price_1R3j01AlJJEpqkPVXuG1eNzm","price_1R6JedAlJJEpqkPVMUkfjch4"]},limits:{links:1e4,clicks:25e4,sales:25e5,domains:100,tags:d,folders:20,users:10,ai:1e3,api:3e3},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:"250K tracked clicks/mo"},{id:"links",text:"10K new links/mo"},{id:"sales",text:"$25K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"3-year analytics retention"},{id:"domains",text:"100 domains"},{id:"users",text:"10 users"},{id:"events",text:"Real-time events stream",footnote:{title:"Get more data on your link clicks and QR code scans with a detailed, real-time stream of events in your workspace",cta:"Learn more.",href:"https://d.to/events"}},{id:"webhooks",text:"Real-time webhooks",footnote:{title:"Use webhooks to connect Dub with your data stack and workflows \u2013 with native integrations for Segment, Zapier, Slack, and more.",cta:"Learn more.",href:"https://d.to/webhooks"}}]},{name:"Advanced",tagline:"For power users needing more usage quotas",link:"https://dub.co/help/article/advanced-plan",price:{monthly:300,yearly:250,ids:["price_1R3j0QAlJJEpqkPVrTW1Ss2i","price_1R3j0qAlJJEpqkPVkfGNXRwb"]},limits:{links:5e4,clicks:1e6,sales:1e7,domains:250,tags:d,folders:50,users:20,ai:1e3,api:3e3},featureTitle:"Everything in Business, plus:",features:[{id:"clicks",text:"1M tracked clicks/mo"},{id:"links",text:"50K new links/mo"},{id:"sales",text:"$100K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"5-year analytics retention"},{id:"domains",text:"250 domains"},{id:"users",text:"20 users"}]},{name:"Enterprise",tagline:"For large organizations and governments with custom needs",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:25e4,clicks:5e6,sales:1e8,domains:1e3,tags:d,folders:d,users:500,ai:1e4,api:1e4},featureTitle:"Everything in Advanced, plus:",features:[{id:"sso",text:"SSO/SAML"},{id:"roles",text:"Role-based controls"},{id:"volume",text:"Volume discounts"},{id:"sla",text:"Custom SLA"},{id:"logs",text:"Audit logs"},{id:"success",text:"Dedicated success manager"}]}],ze=[{category:"Links",features:[{text:()=>i(o,{children:[n("strong",{children:"Unlimited"})," clicks"]})},{text:({plan:e})=>i(o,{children:[n("strong",{children:e.name==="Enterprise"?"\u221E":c(e.limits.links)})," ","new links/mo"]})},{text:({plan:e})=>i(o,{children:[n("strong",{children:e.limits.tags===d?"Unlimited":c(e.limits.tags)})," ","tags"]})},{text:"Custom QR codes",href:"https://dub.co/help/article/custom-qr-codes"},{text:"UTM builder",href:"https://dub.co/help/article/utm-builder"},{text:"UTM templates",href:"https://dub.co/help/article/utm-templates"},{check:{free:!1,default:!0},text:"Custom link previews",href:"https://dub.co/help/article/custom-link-previews"},{check:{free:!1,default:!0},text:"Link cloaking",href:"https://dub.co/help/article/link-cloaking"},{check:{free:!1,default:!0},text:"Link expiration",href:"https://dub.co/help/article/link-expiration"},{check:{free:!1,default:!0},text:"Password protection",href:"https://dub.co/help/article/password-protected-links"},{check:{free:!1,default:!0},text:"Device targeting",href:"https://dub.co/help/article/device-targeting"},{check:{free:!1,default:!0},text:"Geo targeting",href:"https://dub.co/help/article/geo-targeting"}]},{category:"Analytics",features:[{text:"Advanced analytics",href:"https://dub.co/help/article/dub-analytics"},{text:({plan:e})=>i(o,{children:[n("strong",{children:e.name==="Enterprise"?"\u221E":c(e.limits.clicks)})," ","tracked clicks/mo"]}),href:"https://dub.co/help/article/dub-analytics-limits"},{text:({id:e})=>i(o,{children:[n("strong",{children:{free:"30 day",pro:"1 year",business:"3 year",advanced:"5 year",enterprise:"\u221E"}[e]})," ","retention"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Real-time events stream",href:"https://dub.co/help/article/real-time-events-stream"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Conversion tracking",href:"https://dub.co/help/article/dub-conversions"}]},{category:"Partners",features:[{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Partner management",href:"https://dub.co/help/article/dub-partners"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e,plan:t})=>e==="free"||e==="pro"?"No tracked sales":e==="enterprise"?"\u221E tracked sales":i(o,{children:[i("strong",{children:["$",c(t.limits.sales/100)]})," tracked sales/mo"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"1-click global payouts",href:"https://dub.co/help/article/partner-payouts"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e})=>e==="free"||e==="pro"?"No payouts":i(o,{children:[n("strong",{children:{business:"7%",advanced:"5%",enterprise:"3%"}[e]})," ","payout fees"]}),href:"https://dub.co/help/article/partner-payouts#payout-fees-and-timing"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Tax compliance",href:"https://dub.co/help/article/partner-payouts#tax-compliance"},{check:{default:!1,business:!1,advanced:!0,enterprise:!0},text:"White-labeling support",href:"https://dub.co/help/article/dub-partners#white-labeled-in-app-dashboard"},{check:{default:!1,business:!1,advanced:!0,enterprise:!0},text:"Branded email domains"}]},{category:"Domains",features:[{text:({plan:e})=>i(o,{children:[n("strong",{children:c(e.limits.domains,{full:!0})})," ","custom domains"]})},{text:()=>n(o,{children:"SSL certificates"})},{check:{default:!0,free:!1},text:()=>i(o,{children:["Premium ",n("strong",{children:"dub.link"})," domain"]}),href:"https://dub.co/help/article/default-dub-domains#premium-dublink-domain"},{check:{default:!0,free:!1},text:()=>i(o,{children:["Free ",n("strong",{children:".link"})," domain"]}),href:"https://dub.co/help/article/free-dot-link-domain"}]},{category:"Workspace",features:[{text:({plan:e})=>i(o,{children:[n("strong",{children:c(e.limits.users)})," user",e.limits.users===1?"":"s"]})},{check:{default:!1,advanced:!0,enterprise:!0},text:"Role-based access control"},{check:{default:!1,enterprise:!0},text:"SAML/SSO",href:"https://dub.co/help/category/saml-sso"},{check:{default:!1,enterprise:!0},text:"Custom SLA"},{check:{default:!1,enterprise:!0},text:"Audit logs"}]},{category:"Support",features:[{text:({id:e})=>i(o,{children:[n("strong",{children:{free:"Basic",pro:"Elevated"}[e]??"Priority"})," ",e==="enterprise"?"with SLA":e==="advanced"?"via Slack":"support"]})},{check:{default:!1,enterprise:!0},text:()=>i(o,{children:[n("strong",{children:"Dedicated"})," success manager"]})}]},{category:"API",features:[{text:()=>n(o,{children:"API access"})},{text:({id:e,plan:t})=>i(o,{children:[n("strong",{children:e==="enterprise"?"Custom":c(t.limits.api)+"/min"})," ","rate limit"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Event webhooks",href:"https://dub.co/docs/concepts/webhooks/introduction"}]}],P=a.find(e=>e.name==="Free"),v=a.find(e=>e.name==="Pro"),_=a.find(e=>e.name==="Business"),S=a.find(e=>e.name==="Advanced"),J=a.find(e=>e.name==="Enterprise"),Be=[P,v,_,S,J],R=a.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),je=2,Ge=e=>a.find(t=>{var r;return(r=t.price.ids)==null?void 0:r.includes(e)})||null,Ze=e=>R.find(t=>t.name.toLowerCase()===e.toLowerCase()),We=e=>a.find(t=>t.name.toLowerCase()===e.toLowerCase())||P,Ke=e=>e?a[a.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1]:v,Qe=(e,t)=>{let r=a.findIndex(s=>s.name.toLowerCase()===e.toLowerCase()),l=a.findIndex(s=>s.name.toLowerCase()===t.toLowerCase());return r>l};function xt({title:e,fullTitle:t,description:r="Dub.co is the open-source link management platform for modern marketing teams to create marketing campaigns, link sharing features, and referral programs.",image:l="https://assets.dub.co/thumbnail.jpg",video:s,icons:p=[{rel:"apple-touch-icon",sizes:"32x32",url:"https://assets.dub.co/favicons/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"https://assets.dub.co/favicons/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"https://assets.dub.co/favicons/favicon-16x16.png"}],url:u,canonicalUrl:m,noIndex:L=!1,manifest:x}={}){return{title:t||(e?`${e} | Dub.co`:"Dub.co - Link Management for Modern Marketing Teams"),description:r,openGraph:{title:e,description:r,...l&&{images:l},url:u,...s&&{videos:s}},twitter:{title:e,description:r,...l&&{card:"summary_large_image",images:[l]},...s&&{player:s},creator:"@dubdotco"},icons:p,metadataBase:new URL(y),...(u||m)&&{alternates:{canonical:u||m}},...L&&{robots:{index:!1,follow:!1}},...x&&{manifest:x}}}export{xt as a,F as b,K as c,Q as d,X as e,Y as f,H as g,ee as h,te as i,se as j,ne as k,a as l,ze as m,P as n,v as o,_ as p,S as q,J as r,Be as s,R as t,je as u,Ge as v,Ze as w,We as x,Ke as y,Qe as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-TOPVR7JX.mjs";import{a as r}from"./chunk-YUMUNL66.mjs";import{a as o,b as l}from"./chunk-SYT2IXG6.mjs";import{a as c}from"./chunk-GZVN3KGY.mjs";import u from"@sindresorhus/slugify";var f=t=>{let e=u(t,{separator:""});if(e.length<3)return"";if(r.has(e.slice(-2)))return`${e.slice(0,-2)}.${e.slice(-2)}`;let n=e.replace(/[aeiou]/g,"");return n.length>=3&&r.has(n.slice(-2))?`${n.slice(0,-2)}.${n.slice(-2)}`:`${[e,n].reduce((i,s)=>i.length<s.length?i:s)}.link`},w=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),A=new RegExp(/^[a-zA-Z0-9\-]+$/),D=(t,e)=>t===e?null:t.slice(0,t.length-e.length-1),x=t=>{let e;try{e=new URL(t.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(e==="youtu.be")return"youtube.com";let n=e.split(".");return n.length>2?o.has(n[n.length-2])&&r.has(n[n.length-1])||l.has(n.slice(-2).join("."))?n.slice(-3).join("."):n.slice(-2).join("."):e},d=t=>{if(a(t))return new URL(t).hostname.replace(/^www\./,"");try{if(t.includes(".")&&!t.includes(" "))return new URL(`https://${t}`).hostname.replace(/^www\./,"")}catch{return null}},S=t=>c.some(e=>e.slug===t);export{f as a,w as b,A as c,D as d,x as e,d as f,S as g};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as w}from"./chunk-TOPVR7JX.mjs";import{a as g}from"./chunk-CP4WO7MM.mjs";import{a as x}from"./chunk-IHX4EDUF.mjs";import{a as p}from"./chunk-NWFCCRLG.mjs";import{g as u}from"./chunk-Q4LGL37L.mjs";import{a as f}from"./chunk-YUMUNL66.mjs";import{a as k,b}from"./chunk-SYT2IXG6.mjs";import{a as A}from"./chunk-GZVN3KGY.mjs";import{c as y}from"./chunk-6PZJ3HNK.mjs";var F=e=>!e.periodStart||!e.periodEnd?"-":`${g(e.periodStart,{month:"short",year:new Date(e.periodStart).getUTCFullYear()===new Date(e.periodEnd).getUTCFullYear()?void 0:"numeric",timeZone:"utc"})}-${g(e.periodEnd,{month:"short",timeZone:"utc"})}`;import _ from"@sindresorhus/slugify";var K=e=>{let t=_(e,{separator:""});if(t.length<3)return"";if(f.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&f.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((n,c)=>n.length<c.length?n:c)}.link`},Q=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),X=new RegExp(/^[a-zA-Z0-9\-]+$/),Y=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),H=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";let r=t.split(".");return r.length>2?k.has(r[r.length-2])&&f.has(r[r.length-1])||b.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},ee=e=>{if(w(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}},te=e=>A.some(t=>t.slug===e);function se({domain:e,key:t,pretty:r,searchParams:l}){if(!e)return"";let n=`https://${x(e)}${t&&t!=="_root"?`/${x(t)}`:""}`;if(l){let c=new URLSearchParams;for(let[d,m]of Object.entries(l))c.set(d,m);n+=`?${c.toString()}`}return r?n.replace(/^https?:\/\//,""):n}function ne({domain:e,key:t}){return`https://${e}${t==="_root"?"":`/${t}`}`}import{Fragment as s,jsx as o,jsxs as i}from"react/jsx-runtime";var a=[{name:"Free",tagline:"For hobbyists and individuals looking to manage their links",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,sales:0,domains:3,tags:5,folders:0,users:1,ai:10,api:60},cta:{text:"Start for free",shorText:"Get started",href:"https://app.dub.co/register",color:"bg-white hover:bg-neutral-50 border border-neutral-200 hover:ring-neutral-100 text-neutral-800"},featureTitle:"What's included:",features:[{id:"clicks",text:"1K tracked clicks/mo"},{id:"links",text:"25 new links/mo"},{id:"retention",text:"30-day analytics retention"},{id:"domains",text:"3 domains"},{id:"user",text:"1 user"},{id:"analytics",text:"Advanced analytics",footnote:{title:"Get location (country, city, continent), device (type, browser, OS), and referer data on your clicks.",cta:"Learn more.",href:"https://dub.co/analytics"}},{id:"ai",text:"10 AI credits/mo"},{id:"basic-support",text:"Basic support"},{id:"api",text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For content creators or small teams needing advanced features",link:"https://dub.co/help/article/pro-plan",price:{monthly:30,yearly:25,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0","price_1R7f9IAlJJEpqkPV4G9fNwRM","price_1R7f9RAlJJEpqkPV1HgB84WS"]},limits:{links:2e3,clicks:5e4,sales:0,domains:10,tags:25,folders:3,users:3,ai:1e3,api:600},features:[{id:"clicks",text:"50K tracked clicks/mo"},{id:"links",text:"2,000 new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"3 users"},{id:"link-features",text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."},{id:"ai",text:"Unlimited AI credits",footnote:{title:"Subject to fair use policy \u2013 you will be notified if you exceed the limit, which are high enough for frequent usage.",cta:"Learn more.",href:"https://dub.co/blog/introducing-dub-ai"}},{id:"priority-support",text:"Priority support"},{id:"dotlink",text:"Free custom domain",footnote:{title:"All our paid plans come with a free .link custom domain, which helps improve click-through rates.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}}]},{name:"Business",tagline:"For fast-growing startups and businesses looking to scale",link:"https://dub.co/help/article/business-plan",price:{monthly:90,yearly:75,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw","price_1R3j01AlJJEpqkPVXuG1eNzm","price_1R6JedAlJJEpqkPVMUkfjch4"]},limits:{links:1e4,clicks:25e4,sales:25e5,domains:100,tags:u,folders:20,users:10,ai:1e3,api:3e3},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:"250K tracked clicks/mo"},{id:"links",text:"10K new links/mo"},{id:"sales",text:"$25K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"3-year analytics retention"},{id:"domains",text:"100 domains"},{id:"users",text:"10 users"},{id:"events",text:"Real-time events stream",footnote:{title:"Get more data on your link clicks and QR code scans with a detailed, real-time stream of events in your workspace",cta:"Learn more.",href:"https://d.to/events"}},{id:"webhooks",text:"Real-time webhooks",footnote:{title:"Use webhooks to connect Dub with your data stack and workflows \u2013 with native integrations for Segment, Zapier, Slack, and more.",cta:"Learn more.",href:"https://d.to/webhooks"}}]},{name:"Advanced",tagline:"For power users needing more usage quotas",link:"https://dub.co/help/article/advanced-plan",price:{monthly:300,yearly:250,ids:["price_1R3j0QAlJJEpqkPVrTW1Ss2i","price_1R3j0qAlJJEpqkPVkfGNXRwb"]},limits:{links:5e4,clicks:1e6,sales:1e7,domains:250,tags:u,folders:50,users:20,ai:1e3,api:3e3},featureTitle:"Everything in Business, plus:",features:[{id:"clicks",text:"1M tracked clicks/mo"},{id:"links",text:"50K new links/mo"},{id:"sales",text:"$100K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"5-year analytics retention"},{id:"domains",text:"250 domains"},{id:"users",text:"20 users"}]},{name:"Enterprise",tagline:"For large organizations and governments with custom needs",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:25e4,clicks:5e6,sales:1e8,domains:1e3,tags:u,folders:u,users:500,ai:1e4,api:1e4},featureTitle:"Everything in Advanced, plus:",features:[{id:"sso",text:"SSO/SAML"},{id:"roles",text:"Role-based controls"},{id:"volume",text:"Volume discounts"},{id:"sla",text:"Custom SLA"},{id:"logs",text:"Audit logs"},{id:"success",text:"Dedicated success manager"}]}],ze=[{category:"Link management",features:[{text:()=>i(s,{children:[o("strong",{children:"Unlimited"})," clicks"]})},{text:({plan:e})=>i(s,{children:[o("strong",{children:p(e.limits.links)})," new links/mo"]})},{text:"Custom QR codes",href:"https://dub.co/help/article/custom-qr-codes"},{text:"UTM builder",href:"https://dub.co/help/article/utm-builder"},{check:{free:!1,default:!0},text:"Custom link previews",href:"https://dub.co/help/article/custom-link-previews"},{check:{free:!1,default:!0},text:"Link cloaking",href:"https://dub.co/help/article/link-cloaking"},{check:{free:!1,default:!0},text:"Link expiration",href:"https://dub.co/help/article/link-expiration"},{check:{free:!1,default:!0},text:"Password protection",href:"https://dub.co/help/article/password-protected-links"},{check:{free:!1,default:!0},text:"Device targeting",href:"https://dub.co/help/article/device-targeting"},{check:{free:!1,default:!0},text:"Geo targeting",href:"https://dub.co/help/article/geo-targeting"}]},{category:"Domains",features:[{text:({plan:e})=>i(s,{children:[o("strong",{children:p(e.limits.domains,{full:!0})})," ","custom domains"]})},{text:()=>o(s,{children:"SSL certificates"})},{check:{default:!0,free:!1},text:()=>i(s,{children:["Premium ",o("strong",{children:"dub.link"})," domain"]})},{check:{default:!0,free:!1},text:()=>i(s,{children:["Free ",o("strong",{children:".link"})," domain"]})}]},{category:"Analytics",features:[{text:({id:e})=>i(s,{children:[o("strong",{children:{free:"30 day",pro:"1 year",business:"3 year",advanced:"5 year",enterprise:"Unlimited"}[e]})," ","retention"]})},{text:()=>o(s,{children:"Advanced analytics"})},{text:({plan:e})=>i(s,{children:[o("strong",{children:p(e.limits.clicks)})," tracked clicks/mo"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:()=>i(s,{children:[o("strong",{children:"Real-time"})," events stream"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:()=>o(s,{children:"Conversion tracking"})}]},{category:"Workspace",features:[{text:({plan:e})=>i(s,{children:[o("strong",{children:p(e.limits.users)})," user",e.limits.users===1?"":"s"]})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"SSO/SAML"})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"Custom SLA"})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"Audit logs"})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"Role-based controls"})}]},{category:"Support",features:[{text:({id:e})=>i(s,{children:[o("strong",{children:{free:"Basic",pro:"Elevated"}[e]??"Priority"})," ",e==="enterprise"?"with SLA":"support"]})},{check:{default:!1,enterprise:!0},text:()=>i(s,{children:[o("strong",{children:"Dedicated"})," success manager"]})}]},{category:"API",features:[{text:()=>o(s,{children:"API access"})},{text:({id:e,plan:t})=>i(s,{children:[o("strong",{children:e==="enterprise"?"Custom":p(t.limits.api)+"/min"})," ","rate limit"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:()=>o(s,{children:o("strong",{children:"Event webhooks"})})}]}],L=a.find(e=>e.name==="Free"),P=a.find(e=>e.name==="Pro"),v=a.find(e=>e.name==="Business"),S=a.find(e=>e.name==="Advanced"),J=a.find(e=>e.name==="Enterprise"),Be=[L,P,v,S,J],R=a.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),je=2,Ge=e=>a.find(t=>{var r;return(r=t.price.ids)==null?void 0:r.includes(e)})||null,Ze=e=>R.find(t=>t.name.toLowerCase()===e.toLowerCase()),We=e=>a.find(t=>t.name.toLowerCase()===e.toLowerCase())||L,Ke=e=>e?a[a.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1]:P,Qe=(e,t)=>{let r=a.findIndex(n=>n.name.toLowerCase()===e.toLowerCase()),l=a.findIndex(n=>n.name.toLowerCase()===t.toLowerCase());return r>l};function ht({title:e,fullTitle:t,description:r="Dub.co is the open-source link management platform for modern marketing teams to create marketing campaigns, link sharing features, and referral programs.",image:l="https://assets.dub.co/thumbnail.jpg",video:n,icons:c=[{rel:"apple-touch-icon",sizes:"32x32",url:"https://assets.dub.co/favicons/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"https://assets.dub.co/favicons/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"https://assets.dub.co/favicons/favicon-16x16.png"}],url:d,canonicalUrl:m,noIndex:E=!1,manifest:h}={}){return{title:t||(e?`${e} | Dub.co`:"Dub.co - Link Management for Modern Marketing Teams"),description:r,openGraph:{title:e,description:r,...l&&{images:l},url:d,...n&&{videos:n}},twitter:{title:e,description:r,...l&&{card:"summary_large_image",images:[l]},...n&&{player:n},creator:"@dubdotco"},icons:c,metadataBase:new URL(y),...(d||m)&&{alternates:{canonical:d||m}},...E&&{robots:{index:!1,follow:!1}},...h&&{manifest:h}}}export{ht as a,F as b,K as c,Q as d,X as e,Y as f,H as g,ee as h,te as i,se as j,ne as k,a as l,ze as m,L as n,P as o,v as p,S as q,J as r,Be as s,R as t,je as u,Ge as v,Ze as w,We as x,Ke as y,Qe as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var a=e=>{if(!e)return"";let F=e,r=e.replace(/^\uFEFF/,"").replace(/^\uFFFE/,"").replace(/^\uEFBBBF/,"").replace(/^\u0000\uFEFF/,"").replace(/^\uFFFE0000/,"").replace(/^\u2028/,"").replace(/^\u2029/,"").replace(/[\x00-\x1F\x7F-\x9F]/g,"").replace(/\s+/g," ").trim().toLowerCase();return process.env.NODE_ENV,r};export{a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as w}from"./chunk-TOPVR7JX.mjs";import{a as g}from"./chunk-CP4WO7MM.mjs";import{a as x}from"./chunk-IHX4EDUF.mjs";import{a as c}from"./chunk-NWFCCRLG.mjs";import{g as d}from"./chunk-Q4LGL37L.mjs";import{a as f}from"./chunk-YUMUNL66.mjs";import{a as k,b}from"./chunk-SYT2IXG6.mjs";import{a as A}from"./chunk-GZVN3KGY.mjs";import{c as y}from"./chunk-6PZJ3HNK.mjs";var F=e=>!e.periodStart||!e.periodEnd?"-":`${g(e.periodStart,{month:"short",year:new Date(e.periodStart).getUTCFullYear()===new Date(e.periodEnd).getUTCFullYear()?void 0:"numeric",timeZone:"utc"})}-${g(e.periodEnd,{month:"short",timeZone:"utc"})}`;import v from"@sindresorhus/slugify";var K=e=>{let t=v(e,{separator:""});if(t.length<3)return"";if(f.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&f.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((n,p)=>n.length<p.length?n:p)}.link`},Q=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),X=new RegExp(/^[a-zA-Z0-9\-]+$/),Y=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),H=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";let r=t.split(".");return r.length>2?k.has(r[r.length-2])&&f.has(r[r.length-1])||b.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},ee=e=>{if(w(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}},te=e=>A.some(t=>t.slug===e);function se({domain:e,key:t,pretty:r,searchParams:l}){if(!e)return"";let n=`https://${x(e)}${t&&t!=="_root"?`/${x(t)}`:""}`;if(l){let p=new URLSearchParams;for(let[u,m]of Object.entries(l))p.set(u,m);n+=`?${p.toString()}`}return r?n.replace(/^https?:\/\//,""):n}function ne({domain:e,key:t}){return`https://${e}${t==="_root"?"":`/${t}`}`}import{Fragment as s,jsx as o,jsxs as i}from"react/jsx-runtime";var a=[{name:"Free",tagline:"For hobbyists and individuals looking to manage their links",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,sales:0,domains:3,tags:5,folders:0,users:1,ai:10,api:60},cta:{text:"Start for free",shorText:"Get started",href:"https://app.dub.co/register",color:"bg-white hover:bg-neutral-50 border border-neutral-200 hover:ring-neutral-100 text-neutral-800"},featureTitle:"What's included:",features:[{id:"clicks",text:"1K tracked clicks/mo"},{id:"links",text:"25 new links/mo"},{id:"retention",text:"30-day analytics retention"},{id:"domains",text:"3 domains"},{id:"user",text:"1 user"},{id:"analytics",text:"Advanced analytics",footnote:{title:"Get location (country, city, continent), device (type, browser, OS), and referer data on your clicks.",cta:"Learn more.",href:"https://dub.co/analytics"}},{id:"ai",text:"10 AI credits/mo"},{id:"basic-support",text:"Basic support"},{id:"api",text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For content creators or small teams needing advanced features",link:"https://dub.co/help/article/pro-plan",price:{monthly:30,yearly:25,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0","price_1R7f9IAlJJEpqkPV4G9fNwRM","price_1R7f9RAlJJEpqkPV1HgB84WS"]},limits:{links:2e3,clicks:5e4,sales:0,domains:10,tags:25,folders:3,users:3,ai:1e3,api:600},features:[{id:"clicks",text:"50K tracked clicks/mo"},{id:"links",text:"2,000 new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"3 users"},{id:"link-features",text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."},{id:"ai",text:"Unlimited AI credits",footnote:{title:"Subject to fair use policy \u2013 you will be notified if you exceed the limit, which are high enough for frequent usage.",cta:"Learn more.",href:"https://dub.co/blog/introducing-dub-ai"}},{id:"priority-support",text:"Priority support"},{id:"dotlink",text:"Free custom domain",footnote:{title:"All our paid plans come with a free .link custom domain, which helps improve click-through rates.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}}]},{name:"Business",tagline:"For fast-growing startups and businesses looking to scale",link:"https://dub.co/help/article/business-plan",price:{monthly:90,yearly:75,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw","price_1R3j01AlJJEpqkPVXuG1eNzm","price_1R6JedAlJJEpqkPVMUkfjch4"]},limits:{links:1e4,clicks:25e4,sales:25e5,domains:100,tags:d,folders:20,users:10,ai:1e3,api:3e3},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:"250K tracked clicks/mo"},{id:"links",text:"10K new links/mo"},{id:"sales",text:"$25K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"3-year analytics retention"},{id:"domains",text:"100 domains"},{id:"users",text:"10 users"},{id:"events",text:"Real-time events stream",footnote:{title:"Get more data on your link clicks and QR code scans with a detailed, real-time stream of events in your workspace",cta:"Learn more.",href:"https://d.to/events"}},{id:"webhooks",text:"Real-time webhooks",footnote:{title:"Use webhooks to connect Dub with your data stack and workflows \u2013 with native integrations for Segment, Zapier, Slack, and more.",cta:"Learn more.",href:"https://d.to/webhooks"}}]},{name:"Advanced",tagline:"For power users needing more usage quotas",link:"https://dub.co/help/article/advanced-plan",price:{monthly:300,yearly:250,ids:["price_1R3j0QAlJJEpqkPVrTW1Ss2i","price_1R3j0qAlJJEpqkPVkfGNXRwb"]},limits:{links:5e4,clicks:1e6,sales:1e7,domains:250,tags:d,folders:50,users:20,ai:1e3,api:3e3},featureTitle:"Everything in Business, plus:",features:[{id:"clicks",text:"1M tracked clicks/mo"},{id:"links",text:"50K new links/mo"},{id:"sales",text:"$100K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"5-year analytics retention"},{id:"domains",text:"250 domains"},{id:"users",text:"20 users"}]},{name:"Enterprise",tagline:"For large organizations and governments with custom needs",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:25e4,clicks:5e6,sales:1e8,domains:1e3,tags:d,folders:d,users:500,ai:1e4,api:1e4},featureTitle:"Everything in Advanced, plus:",features:[{id:"sso",text:"SSO/SAML"},{id:"roles",text:"Role-based controls"},{id:"volume",text:"Volume discounts"},{id:"sla",text:"Custom SLA"},{id:"logs",text:"Audit logs"},{id:"success",text:"Dedicated success manager"}]}],ze=[{category:"Links",features:[{text:()=>i(s,{children:[o("strong",{children:"Unlimited"})," clicks"]})},{text:({plan:e})=>i(s,{children:[o("strong",{children:e.name==="Enterprise"?"Unlimited":c(e.limits.links)})," ","new links/mo"]})},{text:({plan:e})=>i(s,{children:[o("strong",{children:e.limits.tags===d?"Unlimited":c(e.limits.tags)})," ","tags"]})},{text:"Custom QR codes",href:"https://dub.co/help/article/custom-qr-codes"},{text:"UTM builder",href:"https://dub.co/help/article/utm-builder"},{check:{free:!1,default:!0},text:"Custom link previews",href:"https://dub.co/help/article/custom-link-previews"},{check:{free:!1,default:!0},text:"Link cloaking",href:"https://dub.co/help/article/link-cloaking"},{check:{free:!1,default:!0},text:"Link expiration",href:"https://dub.co/help/article/link-expiration"},{check:{free:!1,default:!0},text:"Password protection",href:"https://dub.co/help/article/password-protected-links"},{check:{free:!1,default:!0},text:"Device targeting",href:"https://dub.co/help/article/device-targeting"},{check:{free:!1,default:!0},text:"Geo targeting",href:"https://dub.co/help/article/geo-targeting"}]},{category:"Analytics",features:[{text:"Advanced analytics",href:"https://dub.co/help/article/dub-analytics"},{text:({plan:e})=>i(s,{children:[o("strong",{children:e.name==="Enterprise"?"Unlimited":c(e.limits.clicks)})," ","tracked clicks/mo"]}),href:"https://dub.co/help/article/dub-analytics-limits"},{text:({id:e})=>i(s,{children:[o("strong",{children:{free:"30 day",pro:"1 year",business:"3 year",advanced:"5 year",enterprise:"Unlimited"}[e]})," ","retention"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Real-time events stream",href:"https://dub.co/help/article/real-time-events-stream"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Conversion tracking",href:"https://dub.co/help/article/dub-conversions"}]},{category:"Partners",features:[{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Dub Partners",href:"https://dub.co/help/article/dub-partners"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e,plan:t})=>e==="free"||e==="pro"?"No tracked sales":e==="enterprise"?"Unlimited tracked sales":i(s,{children:[i("strong",{children:["$",c(t.limits.sales/100)]})," tracked sales/mo"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e})=>e==="free"||e==="pro"?"No payouts":i(s,{children:[o("strong",{children:{business:"7%",advanced:"5%",enterprise:"3%"}[e]})," ","payout fees"]})}]},{category:"Domains",features:[{text:({plan:e})=>i(s,{children:[o("strong",{children:c(e.limits.domains,{full:!0})})," ","custom domains"]})},{text:()=>o(s,{children:"SSL certificates"})},{check:{default:!0,free:!1},text:()=>i(s,{children:["Premium ",o("strong",{children:"dub.link"})," domain"]}),href:"https://dub.co/help/article/default-dub-domains#premium-dublink-domain"},{check:{default:!0,free:!1},text:()=>i(s,{children:["Free ",o("strong",{children:".link"})," domain"]}),href:"https://dub.co/help/article/free-dot-link-domain"}]},{category:"Workspace",features:[{text:({plan:e})=>i(s,{children:[o("strong",{children:c(e.limits.users)})," user",e.limits.users===1?"":"s"]})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"SSO/SAML"})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"Custom SLA"})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"Audit logs"})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"Role-based controls"})}]},{category:"Support",features:[{text:({id:e})=>i(s,{children:[o("strong",{children:{free:"Basic",pro:"Elevated"}[e]??"Priority"})," ",e==="enterprise"?"with SLA":"support"]})},{check:{default:!1,enterprise:!0},text:()=>i(s,{children:[o("strong",{children:"Dedicated"})," success manager"]})}]},{category:"API",features:[{text:()=>o(s,{children:"API access"})},{text:({id:e,plan:t})=>i(s,{children:[o("strong",{children:e==="enterprise"?"Custom":c(t.limits.api)+"/min"})," ","rate limit"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:()=>o(s,{children:o("strong",{children:"Event webhooks"})})}]}],P=a.find(e=>e.name==="Free"),L=a.find(e=>e.name==="Pro"),_=a.find(e=>e.name==="Business"),S=a.find(e=>e.name==="Advanced"),J=a.find(e=>e.name==="Enterprise"),Be=[P,L,_,S,J],R=a.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),je=2,Ge=e=>a.find(t=>{var r;return(r=t.price.ids)==null?void 0:r.includes(e)})||null,Ze=e=>R.find(t=>t.name.toLowerCase()===e.toLowerCase()),We=e=>a.find(t=>t.name.toLowerCase()===e.toLowerCase())||P,Ke=e=>e?a[a.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1]:L,Qe=(e,t)=>{let r=a.findIndex(n=>n.name.toLowerCase()===e.toLowerCase()),l=a.findIndex(n=>n.name.toLowerCase()===t.toLowerCase());return r>l};function ht({title:e,fullTitle:t,description:r="Dub.co is the open-source link management platform for modern marketing teams to create marketing campaigns, link sharing features, and referral programs.",image:l="https://assets.dub.co/thumbnail.jpg",video:n,icons:p=[{rel:"apple-touch-icon",sizes:"32x32",url:"https://assets.dub.co/favicons/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"https://assets.dub.co/favicons/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"https://assets.dub.co/favicons/favicon-16x16.png"}],url:u,canonicalUrl:m,noIndex:E=!1,manifest:h}={}){return{title:t||(e?`${e} | Dub.co`:"Dub.co - Link Management for Modern Marketing Teams"),description:r,openGraph:{title:e,description:r,...l&&{images:l},url:u,...n&&{videos:n}},twitter:{title:e,description:r,...l&&{card:"summary_large_image",images:[l]},...n&&{player:n},creator:"@dubdotco"},icons:p,metadataBase:new URL(y),...(u||m)&&{alternates:{canonical:u||m}},...E&&{robots:{index:!1,follow:!1}},...h&&{manifest:h}}}export{ht as a,F as b,K as c,Q as d,X as e,Y as f,H as g,ee as h,te as i,se as j,ne as k,a as l,ze as m,P as n,L as o,_ as p,S as q,J as r,Be as s,R as t,je as u,Ge as v,Ze as w,We as x,Ke as y,Qe as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as w}from"./chunk-TOPVR7JX.mjs";import{a as g}from"./chunk-CP4WO7MM.mjs";import{a as x}from"./chunk-IHX4EDUF.mjs";import{a as p}from"./chunk-NWFCCRLG.mjs";import{g as d}from"./chunk-Q4LGL37L.mjs";import{a as f}from"./chunk-YUMUNL66.mjs";import{a as k,b}from"./chunk-SYT2IXG6.mjs";import{a as A}from"./chunk-GZVN3KGY.mjs";import{c as y}from"./chunk-6PZJ3HNK.mjs";var F=e=>!e.periodStart||!e.periodEnd?"-":`${g(e.periodStart,{month:"short",year:new Date(e.periodStart).getUTCFullYear()===new Date(e.periodEnd).getUTCFullYear()?void 0:"numeric",timeZone:"utc"})}-${g(e.periodEnd,{month:"short",timeZone:"utc"})}`;import v from"@sindresorhus/slugify";var K=e=>{let t=v(e,{separator:""});if(t.length<3)return"";if(f.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&f.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((n,c)=>n.length<c.length?n:c)}.link`},Q=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),X=new RegExp(/^[a-zA-Z0-9\-]+$/),Y=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),H=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";let r=t.split(".");return r.length>2?k.has(r[r.length-2])&&f.has(r[r.length-1])||b.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},ee=e=>{if(w(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}},te=e=>A.some(t=>t.slug===e);function se({domain:e,key:t,pretty:r,searchParams:l}){if(!e)return"";let n=`https://${x(e)}${t&&t!=="_root"?`/${x(t)}`:""}`;if(l){let c=new URLSearchParams;for(let[u,m]of Object.entries(l))c.set(u,m);n+=`?${c.toString()}`}return r?n.replace(/^https?:\/\//,""):n}function ne({domain:e,key:t}){return`https://${e}${t==="_root"?"":`/${t}`}`}import{Fragment as s,jsx as o,jsxs as i}from"react/jsx-runtime";var a=[{name:"Free",tagline:"For hobbyists and individuals looking to manage their links",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,sales:0,domains:3,tags:5,folders:0,users:1,ai:10,api:60},cta:{text:"Start for free",shorText:"Get started",href:"https://app.dub.co/register",color:"bg-white hover:bg-neutral-50 border border-neutral-200 hover:ring-neutral-100 text-neutral-800"},featureTitle:"What's included:",features:[{id:"clicks",text:"1K tracked clicks/mo"},{id:"links",text:"25 new links/mo"},{id:"retention",text:"30-day analytics retention"},{id:"domains",text:"3 domains"},{id:"user",text:"1 user"},{id:"analytics",text:"Advanced analytics",footnote:{title:"Get location (country, city, continent), device (type, browser, OS), and referer data on your clicks.",cta:"Learn more.",href:"https://dub.co/analytics"}},{id:"ai",text:"10 AI credits/mo"},{id:"basic-support",text:"Basic support"},{id:"api",text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For content creators or small teams needing advanced features",link:"https://dub.co/help/article/pro-plan",price:{monthly:30,yearly:25,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0","price_1R7f9IAlJJEpqkPV4G9fNwRM","price_1R7f9RAlJJEpqkPV1HgB84WS"]},limits:{links:2e3,clicks:5e4,sales:0,domains:10,tags:25,folders:3,users:3,ai:1e3,api:600},features:[{id:"clicks",text:"50K tracked clicks/mo"},{id:"links",text:"2,000 new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"3 users"},{id:"link-features",text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."},{id:"ai",text:"Unlimited AI credits",footnote:{title:"Subject to fair use policy \u2013 you will be notified if you exceed the limit, which are high enough for frequent usage.",cta:"Learn more.",href:"https://dub.co/blog/introducing-dub-ai"}},{id:"priority-support",text:"Priority support"},{id:"dotlink",text:"Free custom domain",footnote:{title:"All our paid plans come with a free .link custom domain, which helps improve click-through rates.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}}]},{name:"Business",tagline:"For fast-growing startups and businesses looking to scale",link:"https://dub.co/help/article/business-plan",price:{monthly:90,yearly:75,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw","price_1R3j01AlJJEpqkPVXuG1eNzm","price_1R6JedAlJJEpqkPVMUkfjch4"]},limits:{links:1e4,clicks:25e4,sales:25e5,domains:100,tags:d,folders:20,users:10,ai:1e3,api:3e3},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:"250K tracked clicks/mo"},{id:"links",text:"10K new links/mo"},{id:"sales",text:"$25K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"3-year analytics retention"},{id:"domains",text:"100 domains"},{id:"users",text:"10 users"},{id:"events",text:"Real-time events stream",footnote:{title:"Get more data on your link clicks and QR code scans with a detailed, real-time stream of events in your workspace",cta:"Learn more.",href:"https://d.to/events"}},{id:"webhooks",text:"Real-time webhooks",footnote:{title:"Use webhooks to connect Dub with your data stack and workflows \u2013 with native integrations for Segment, Zapier, Slack, and more.",cta:"Learn more.",href:"https://d.to/webhooks"}}]},{name:"Advanced",tagline:"For power users needing more usage quotas",link:"https://dub.co/help/article/advanced-plan",price:{monthly:300,yearly:250,ids:["price_1R3j0QAlJJEpqkPVrTW1Ss2i","price_1R3j0qAlJJEpqkPVkfGNXRwb"]},limits:{links:5e4,clicks:1e6,sales:1e7,domains:250,tags:d,folders:50,users:20,ai:1e3,api:3e3},featureTitle:"Everything in Business, plus:",features:[{id:"clicks",text:"1M tracked clicks/mo"},{id:"links",text:"50K new links/mo"},{id:"sales",text:"$100K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"5-year analytics retention"},{id:"domains",text:"250 domains"},{id:"users",text:"20 users"}]},{name:"Enterprise",tagline:"For large organizations and governments with custom needs",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:25e4,clicks:5e6,sales:1e8,domains:1e3,tags:d,folders:d,users:500,ai:1e4,api:1e4},featureTitle:"Everything in Advanced, plus:",features:[{id:"sso",text:"SSO/SAML"},{id:"roles",text:"Role-based controls"},{id:"volume",text:"Volume discounts"},{id:"sla",text:"Custom SLA"},{id:"logs",text:"Audit logs"},{id:"success",text:"Dedicated success manager"}]}],ze=[{category:"Links",features:[{text:()=>i(s,{children:[o("strong",{children:"Unlimited"})," clicks"]})},{text:({plan:e})=>i(s,{children:[o("strong",{children:p(e.limits.links)})," new links/mo"]})},{text:({plan:e})=>i(s,{children:[o("strong",{children:e.limits.tags===d?"Unlimited":p(e.limits.tags)})," ","tags"]})},{text:"Custom QR codes",href:"https://dub.co/help/article/custom-qr-codes"},{text:"UTM builder",href:"https://dub.co/help/article/utm-builder"},{check:{free:!1,default:!0},text:"Custom link previews",href:"https://dub.co/help/article/custom-link-previews"},{check:{free:!1,default:!0},text:"Link cloaking",href:"https://dub.co/help/article/link-cloaking"},{check:{free:!1,default:!0},text:"Link expiration",href:"https://dub.co/help/article/link-expiration"},{check:{free:!1,default:!0},text:"Password protection",href:"https://dub.co/help/article/password-protected-links"},{check:{free:!1,default:!0},text:"Device targeting",href:"https://dub.co/help/article/device-targeting"},{check:{free:!1,default:!0},text:"Geo targeting",href:"https://dub.co/help/article/geo-targeting"}]},{category:"Analytics",features:[{text:"Advanced analytics",href:"https://dub.co/help/article/dub-analytics"},{text:({plan:e})=>i(s,{children:[o("strong",{children:p(e.limits.clicks)})," tracked clicks/mo"]}),href:"https://dub.co/help/article/dub-analytics-limits"},{text:({id:e})=>i(s,{children:[o("strong",{children:{free:"30 day",pro:"1 year",business:"3 year",advanced:"5 year",enterprise:"Unlimited"}[e]})," ","retention"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Real-time events stream",href:"https://dub.co/help/article/real-time-events-stream"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Conversion tracking",href:"https://dub.co/help/article/dub-conversions"}]},{category:"Partners",features:[{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Dub Partners",href:"https://dub.co/help/article/dub-partners"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e})=>i(s,{children:[o("strong",{children:{business:"7%",advanced:"5%",enterprise:"3%"}[e]})," ","payout fees"]})}]},{category:"Domains",features:[{text:({plan:e})=>i(s,{children:[o("strong",{children:p(e.limits.domains,{full:!0})})," ","custom domains"]})},{text:()=>o(s,{children:"SSL certificates"})},{check:{default:!0,free:!1},text:()=>i(s,{children:["Premium ",o("strong",{children:"dub.link"})," domain"]}),href:"https://dub.co/help/article/default-dub-domains#premium-dublink-domain"},{check:{default:!0,free:!1},text:()=>i(s,{children:["Free ",o("strong",{children:".link"})," domain"]}),href:"https://dub.co/help/article/free-dot-link-domain"}]},{category:"Workspace",features:[{text:({plan:e})=>i(s,{children:[o("strong",{children:p(e.limits.users)})," user",e.limits.users===1?"":"s"]})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"SSO/SAML"})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"Custom SLA"})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"Audit logs"})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"Role-based controls"})}]},{category:"Support",features:[{text:({id:e})=>i(s,{children:[o("strong",{children:{free:"Basic",pro:"Elevated"}[e]??"Priority"})," ",e==="enterprise"?"with SLA":"support"]})},{check:{default:!1,enterprise:!0},text:()=>i(s,{children:[o("strong",{children:"Dedicated"})," success manager"]})}]},{category:"API",features:[{text:()=>o(s,{children:"API access"})},{text:({id:e,plan:t})=>i(s,{children:[o("strong",{children:e==="enterprise"?"Custom":p(t.limits.api)+"/min"})," ","rate limit"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:()=>o(s,{children:o("strong",{children:"Event webhooks"})})}]}],P=a.find(e=>e.name==="Free"),L=a.find(e=>e.name==="Pro"),_=a.find(e=>e.name==="Business"),S=a.find(e=>e.name==="Advanced"),J=a.find(e=>e.name==="Enterprise"),Be=[P,L,_,S,J],R=a.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),je=2,Ge=e=>a.find(t=>{var r;return(r=t.price.ids)==null?void 0:r.includes(e)})||null,Ze=e=>R.find(t=>t.name.toLowerCase()===e.toLowerCase()),We=e=>a.find(t=>t.name.toLowerCase()===e.toLowerCase())||P,Ke=e=>e?a[a.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1]:L,Qe=(e,t)=>{let r=a.findIndex(n=>n.name.toLowerCase()===e.toLowerCase()),l=a.findIndex(n=>n.name.toLowerCase()===t.toLowerCase());return r>l};function ht({title:e,fullTitle:t,description:r="Dub.co is the open-source link management platform for modern marketing teams to create marketing campaigns, link sharing features, and referral programs.",image:l="https://assets.dub.co/thumbnail.jpg",video:n,icons:c=[{rel:"apple-touch-icon",sizes:"32x32",url:"https://assets.dub.co/favicons/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"https://assets.dub.co/favicons/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"https://assets.dub.co/favicons/favicon-16x16.png"}],url:u,canonicalUrl:m,noIndex:E=!1,manifest:h}={}){return{title:t||(e?`${e} | Dub.co`:"Dub.co - Link Management for Modern Marketing Teams"),description:r,openGraph:{title:e,description:r,...l&&{images:l},url:u,...n&&{videos:n}},twitter:{title:e,description:r,...l&&{card:"summary_large_image",images:[l]},...n&&{player:n},creator:"@dubdotco"},icons:c,metadataBase:new URL(y),...(u||m)&&{alternates:{canonical:u||m}},...E&&{robots:{index:!1,follow:!1}},...h&&{manifest:h}}}export{ht as a,F as b,K as c,Q as d,X as e,Y as f,H as g,ee as h,te as i,se as j,ne as k,a as l,ze as m,P as n,L as o,_ as p,S as q,J as r,Be as s,R as t,je as u,Ge as v,Ze as w,We as x,Ke as y,Qe as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as e,q as o}from"./chunk-6PZJ3HNK.mjs";var d=[{id:"clce1z7ch00j0rbstbjufva4j",slug:e,verified:!0,primary:!0,archived:!1,placeholder:"https://dub.co/help/article/what-is-dub",allowedHostnames:[],description:"The default domain for all new accounts.",projectId:o},...process.env.NEXT_PUBLIC_IS_DUB?[{id:"clxp3lfsb00011na8tfs7t0lx",slug:"dub.link",verified:!0,primary:!0,archived:!1,placeholder:"https://dub.co/help/article/what-is-dub",allowedHostnames:[],description:"Premium short domain on Dub \u2013 only available on our Pro plan and above.",projectId:o},{id:"clce1z7cs00y8rbstk4xtnj0k",slug:"chatg.pt",verified:!0,primary:!1,archived:!1,placeholder:"https://chat.openai.com/g/g-UGjKKONEe-domainsgpt",allowedHostnames:["openai.com","chatgpt.com"],description:"Branded domain for ChatGPT links (convos, custom GPTs).",projectId:o},{id:"cloxw8y2u0003js08a7mqg1j8",slug:"spti.fi",verified:!0,primary:!1,archived:!1,placeholder:"https://open.spotify.com/album/1SCyi9a5pOasikidToUY5y",allowedHostnames:["spotify.com"],description:"Branded domain for Spotify links (songs, playlists, etc.).",projectId:o},{id:"cltgtd6s5000341itdszz20u2",slug:"git.new",verified:!0,primary:!1,archived:!1,placeholder:"https://github.com/dubinc/dub",allowedHostnames:["github.com"],description:"Branded domain for GitHub links (repositories, gists, etc.).",projectId:o},{id:"cm23qevp4000412mqwvtkthzw",slug:"cal.link",verified:!0,primary:!1,archived:!1,placeholder:"https://cal.com/steven",allowedHostnames:["cal.com","calendly.com","calendar.app.google","calendar.google.com","chillipiper.com","hubspot.com","savvycal.com","tidycal.com","you.ashbyhq.com","zcal.co"],description:"Branded domain for your scheduling links (Cal.com, Calendly, etc.).",projectId:o},{id:"cloxw8qtk000bjt08n9b812vs",slug:"amzn.id",verified:!0,primary:!1,archived:!1,placeholder:"https://www.amazon.com/dp/B0BW4SWNC8",allowedHostnames:["amazon.com","amazon.co.uk","amazon.ca","amazon.es","amazon.fr"],description:"Branded domain for Amazon links (products, wishlists, etc.).",projectId:o},{id:"clymd6zkc0001elilr1215tj9",slug:"ggl.link",verified:!0,primary:!1,archived:!1,placeholder:"https://docs.google.com/document/d/15-GOZA12SXGEh8lNwU5QI1jBi04TCPgY2-LChTbXVpA",allowedHostnames:["google.com","google.co.uk","google.co.id","google.ca","google.es","google.fr","googleblog.com","blog.google","g.co","g.page","youtube.com","youtu.be"],description:"Branded domain for Google links (Search, Docs, Sheets, Slides, Drive, Maps, etc.).",projectId:o},{id:"clymczttm0001jgkore3ltr37",slug:"fig.page",verified:!0,primary:!1,archived:!1,placeholder:"https://www.figma.com/design/YAfTk6SGV2HcSvL2415oED/Dub.co-Brand-Assets-(Public)?node-id=1-36593&t=QMKQNtUzxSSzG3hX-1",allowedHostnames:["figma.com"],description:"Branded domain for Figma links (portfolios, prototypes, presentations, etc.).",projectId:o},{id:"clugy7euh000a11h6ignmj42o",slug:"loooooooo.ng",verified:!0,primary:!1,archived:!0,placeholder:"https://d.to/long",description:"Branded domain for lengthening links instead of shortening them (April Fool's Prank).",projectId:o}]:[]],l=d.map(a=>a.slug),s=[{id:"clqo10sum0006js08vutzfxt3",domain:"d.to",key:"try",dashboardId:"dash_Rqy6tVEO5Ib4iVFvmYYTK4kO"},{id:"cltshzzpd0005126z3rd2lvo4",domain:"dub.sh",key:"try",dashboardId:"dash_bUNOfMQVcKS0VMDa2HaYhOjg"},{id:"clot0z5rg000djp08ue98hxkn",domain:"chatg.pt",key:"domains",dashboardId:"dash_lX4or5Yj6ZrPk3qW4SwgrQ5t"},{id:"clp4jh9av0001l308ormavtlu",domain:"spti.fi",key:"hans",dashboardId:"dash_v2Ygwn3hZNYx6kFYfBT4IApM"},{id:"cltgtsex40003ck8z444hum5u",domain:"git.new",key:"dub",dashboardId:"dash_FX5HKOKhtQ6uoIeSDxWM8eIb"},{id:"clymd5vqj0005jgkorsopklsk",domain:"fig.page",key:"dub",dashboardId:"dash_no9BFlfSjHDG6K7XIAuwLt5p"},{id:"clp3k3yoi0001ju0874nz899q",domain:"amzn.id",key:"tv",dashboardId:"dash_fKwai9V9nsLcC0IaY0rTF1yA"},{id:"clymd73o50001ulmzzxjumr8l",domain:"ggl.link",key:"dub",dashboardId:"dash_rx5c7pQPnx2MUCX3cL4t1Zpn"},{id:"cm24785ki0001ainw2qks4uq5",domain:"cal.link",key:"demo",dashboardId:"dash_zbzP2UVvTrv5SkIEPP2pV5pC"}];export{d as a,l as b,s as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as P}from"./chunk-TOPVR7JX.mjs";import{a as f}from"./chunk-CP4WO7MM.mjs";import{a as x}from"./chunk-IHX4EDUF.mjs";import{a as E}from"./chunk-NWFCCRLG.mjs";import{a as y}from"./chunk-J7REM3DA.mjs";import{g as u}from"./chunk-Q4LGL37L.mjs";import{a as m}from"./chunk-YUMUNL66.mjs";import{a as g,b as h}from"./chunk-SYT2IXG6.mjs";import{a as b}from"./chunk-WRWXHOX4.mjs";import{c as k}from"./chunk-6PZJ3HNK.mjs";var F=e=>!e.periodStart||!e.periodEnd?"-":`${f(e.periodStart,{month:"short",year:new Date(e.periodStart).getUTCFullYear()===new Date(e.periodEnd).getUTCFullYear()?void 0:"numeric",timeZone:"utc"})}-${f(e.periodEnd,{month:"short",timeZone:"utc"})}`;import J from"@sindresorhus/slugify";var G=e=>{let t=J(e,{separator:""});if(t.length<3)return"";if(m.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&m.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((o,i)=>o.length<i.length?o:i)}.link`},j=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),Y=new RegExp(/^[a-zA-Z0-9\-]+$/),K=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),X=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";let r=t.split(".");return r.length>2?g.has(r[r.length-2])&&m.has(r[r.length-1])||h.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},H=e=>{if(P(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}},Q=e=>b.some(t=>t.slug===e);function te(e,t=2){if(e===0)return"0 Bytes";let r=1024,n=["B","KB","MB","GB","TB","PB","EB","ZB","YB"],o=Math.floor(Math.log(e)/Math.log(r));return parseFloat((e/Math.pow(r,o)).toFixed(t))+" "+n[o]}function ne({domain:e,key:t,pretty:r,searchParams:n}){if(!e)return"";let o=`https://${x(e)}${t&&t!=="_root"?`/${x(t)}`:""}`;if(n){let i=new URLSearchParams;for(let[a,l]of Object.entries(n))i.set(a,l);o+=`?${i.toString()}`}return r?o.replace(/^https?:\/\//,""):o}function ie({domain:e,key:t}){return`https://${e}${t==="_root"?"":`/${t}`}`}var d=({name:e="Business",monthly:t=59,yearly:r=49,links:n=5e3,clicks:o=15e4,sales:i=5e5,domains:a=40,folders:l=10,users:c=15,ids:p=[]})=>({name:e,tagline:"For fast-growing startups and businesses looking to scale",link:"https://dub.co/help/article/business-plan",price:{monthly:t,yearly:r,ids:p},limits:{links:n,clicks:o,sales:i,domains:a,tags:u,folders:l,users:c,ai:1e3,api:3e3},colors:{bg:"bg-sky-900",text:"text-sky-900"},cta:{text:`Get started with ${e}`,shortText:`Get ${e}`,href:"https://app.dub.co/register",color:"bg-sky-900 hover:bg-sky-800 hover:ring-sky-100"},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:`${E(o)} tracked clicks/mo`},{id:"links",text:`${Intl.NumberFormat("en-US").format(n)} new links/mo`},{id:"sales",text:`${y(i/100)} tracked sales/mo`,footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"3-year analytics retention"},{id:"domains",text:`${a} domains`},{id:"users",text:`${c} users`},{id:"events",text:"Real-time events stream",footnote:{title:"Get more data on your link clicks and QR code scans with a detailed, real-time stream of events in your workspace",cta:"Learn more.",href:"https://d.to/events"}},{id:"webhooks",text:"Real-time webhooks",footnote:{title:"Use webhooks to connect Dub with your data stack and workflows \u2013 with native integrations for Segment, Zapier, Slack, and more.",cta:"Learn more.",href:"https://d.to/webhooks"}}]}),s=[{name:"Free",tagline:"For hobbyists and individuals looking to manage their links",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,sales:0,domains:3,tags:5,folders:0,users:1,ai:10,api:60},colors:{bg:"bg-black",text:"text-black"},cta:{text:"Start for free",href:"https://app.dub.co/register",color:"bg-white hover:bg-neutral-50 border border-neutral-200 hover:ring-neutral-100 text-neutral-800"},featureTitle:"What's included:",features:[{id:"clicks",text:"1K tracked clicks/mo"},{id:"links",text:"25 new links/mo"},{id:"retention",text:"30-day analytics retention"},{id:"domains",text:"3 domains"},{id:"user",text:"1 user"},{id:"analytics",text:"Advanced analytics",footnote:{title:"Get location (country, city, continent), device (type, browser, OS), and referer data on your clicks.",cta:"Learn more.",href:"https://dub.co/analytics"}},{id:"ai",text:"10 AI credits/mo"},{id:"basic-support",text:"Basic support"},{id:"api",text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For content creators or small teams needing advanced features",link:"https://dub.co/help/article/pro-plan",price:{monthly:24,yearly:19,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"]},limits:{links:1e3,clicks:5e4,sales:0,domains:10,tags:25,folders:3,users:5,ai:1e3,api:600},colors:{bg:"bg-blue-500",text:"text-blue-500"},cta:{text:"Get started with Pro",shortText:"Get Pro",href:"https://app.dub.co/register",color:"bg-black hover:bg-neutral-800 hover:ring-neutral-200"},featureTitle:"Everything in Free, plus:",features:[{id:"clicks",text:"50K tracked clicks/mo"},{id:"links",text:"1,000 new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"5 users"},{id:"link-features",text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."},{id:"ai",text:"Unlimited AI credits",footnote:{title:"Subject to fair use policy \u2013 you will be notified if you exceed the limit, which are high enough for frequent usage.",cta:"Learn more.",href:"https://dub.co/blog/introducing-dub-ai"}},{id:"priority-support",text:"Priority support"},{id:"dublink",text:"Premium dub.link domain",footnote:{title:"Stand out from the crowd with a premium dub.link domain.",cta:"Learn more.",href:"https://dub.co/help/article/default-dub-domains#premium-dublink-domain"}},{id:"dotlink",text:"Free custom domain",footnote:{title:"All our paid plans come with a free .link custom domain, which helps improve click-through rates.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}}]},d({name:"Business",monthly:59,yearly:49,links:5e3,clicks:15e4,sales:5e5,domains:40,folders:10,users:15,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw"]}),d({name:"Business Plus",monthly:119,yearly:99,links:15e3,clicks:4e5,sales:15e5,domains:100,folders:25,users:30,ids:["price_1OnWu0AlJJEpqkPVWk4144ZG","price_1OnWu0AlJJEpqkPVkDWVriAB","price_1OnaK3AlJJEpqkPVaCfCPdHi","price_1OzObrAlJJEpqkPVh6D9HWGO"]}),d({name:"Business Extra",monthly:249,yearly:199,links:4e4,clicks:1e6,sales:4e6,domains:250,folders:50,users:50,ids:["price_1OnWvCAlJJEpqkPVLzLHx5QD","price_1OnWvCAlJJEpqkPVHhCCvIOq","price_1OnaKJAlJJEpqkPVeJSvPfJb","price_1OzOg1AlJJEpqkPVPlsrxoWm"]}),d({name:"Business Max",monthly:499,yearly:399,links:1e5,clicks:25e5,sales:1e7,domains:500,folders:100,users:100,ids:["price_1OnWwLAlJJEpqkPVXtJyPqLk","price_1OnWwLAlJJEpqkPV4eMbOkNh","price_1OnaKOAlJJEpqkPVV6gkZPgt","price_1OzOh5AlJJEpqkPVtCSX7dlE"]}),{name:"Enterprise",tagline:"For large organizations and governments with custom needs",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:25e4,clicks:5e6,sales:1e8,domains:1e3,tags:u,folders:u,users:500,ai:1e4,api:1e4},colors:{bg:"bg-violet-600",text:"text-violet-600"},cta:{text:"Contact us",href:"/enterprise",color:"bg-white hover:bg-neutral-50 border border-neutral-200 hover:ring-neutral-100 text-neutral-800"},featureTitle:"Everything in Business, plus:",features:[{id:"sso",text:"SSO/SAML"},{id:"roles",text:"Role-based controls"},{id:"volume",text:"Volume discounts"},{id:"sla",text:"Custom SLA"},{id:"logs",text:"Audit logs"},{id:"success",text:"Dedicated success manager"}]}],A=s.find(e=>e.name==="Free"),w=s.find(e=>e.name==="Pro"),L=s.find(e=>e.name==="Business"),_=s.find(e=>e.name==="Enterprise"),Te=[A,w,L,_],S=s.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),Ue=2,We=e=>s.find(t=>{var r;return(r=t.price.ids)==null?void 0:r.includes(e)})||null,Ze=e=>S.find(t=>t.name.toLowerCase()===e.toLowerCase()),Ge=e=>s.find(t=>t.name.toLowerCase()===e.toLowerCase())||A,je=e=>e?s[s.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1]:w;function xt({title:e,fullTitle:t,description:r="Dub.co is the open-source link management platform for modern marketing teams to create marketing campaigns, link sharing features, and referral programs.",image:n="https://assets.dub.co/thumbnail.jpg",video:o,icons:i=[{rel:"apple-touch-icon",sizes:"32x32",url:"https://assets.dub.co/favicons/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"https://assets.dub.co/favicons/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"https://assets.dub.co/favicons/favicon-16x16.png"}],url:a,canonicalUrl:l,noIndex:c=!1,manifest:p}={}){return{title:t||(e?`${e} | Dub.co`:"Dub.co - Link Management for Modern Marketing Teams"),description:r,openGraph:{title:e,description:r,...n&&{images:n},url:a,...o&&{videos:o}},twitter:{title:e,description:r,...n&&{card:"summary_large_image",images:[n]},...o&&{player:o},creator:"@dubdotco"},icons:i,metadataBase:new URL(k),...(a||l)&&{alternates:{canonical:a||l}},...c&&{robots:{index:!1,follow:!1}},...p&&{manifest:p}}}export{xt as a,F as b,G as c,j as d,Y as e,K as f,X as g,H as h,Q as i,te as j,ne as k,ie as l,s as m,A as n,w as o,L as p,_ as q,Te as r,S as s,Ue as t,We as u,Ze as v,Ge as w,je as x};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as w}from"./chunk-TOPVR7JX.mjs";import{a as g}from"./chunk-CP4WO7MM.mjs";import{a as x}from"./chunk-IHX4EDUF.mjs";import{a as p}from"./chunk-NWFCCRLG.mjs";import{g as d}from"./chunk-Q4LGL37L.mjs";import{a as f}from"./chunk-YUMUNL66.mjs";import{a as k,b}from"./chunk-SYT2IXG6.mjs";import{a as A}from"./chunk-GZVN3KGY.mjs";import{c as y}from"./chunk-6PZJ3HNK.mjs";var F=e=>!e.periodStart||!e.periodEnd?"-":`${g(e.periodStart,{month:"short",year:new Date(e.periodStart).getUTCFullYear()===new Date(e.periodEnd).getUTCFullYear()?void 0:"numeric",timeZone:"utc"})}-${g(e.periodEnd,{month:"short",timeZone:"utc"})}`;import _ from"@sindresorhus/slugify";var K=e=>{let t=_(e,{separator:""});if(t.length<3)return"";if(f.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&f.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((n,c)=>n.length<c.length?n:c)}.link`},Q=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),X=new RegExp(/^[a-zA-Z0-9\-]+$/),Y=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),H=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";let r=t.split(".");return r.length>2?k.has(r[r.length-2])&&f.has(r[r.length-1])||b.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},ee=e=>{if(w(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}},te=e=>A.some(t=>t.slug===e);function se({domain:e,key:t,pretty:r,searchParams:l}){if(!e)return"";let n=`https://${x(e)}${t&&t!=="_root"?`/${x(t)}`:""}`;if(l){let c=new URLSearchParams;for(let[u,m]of Object.entries(l))c.set(u,m);n+=`?${c.toString()}`}return r?n.replace(/^https?:\/\//,""):n}function ne({domain:e,key:t}){return`https://${e}${t==="_root"?"":`/${t}`}`}import{Fragment as s,jsx as o,jsxs as i}from"react/jsx-runtime";var a=[{name:"Free",tagline:"For hobbyists and individuals looking to manage their links",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,sales:0,domains:3,tags:5,folders:0,users:1,ai:10,api:60},cta:{text:"Start for free",shorText:"Get started",href:"https://app.dub.co/register",color:"bg-white hover:bg-neutral-50 border border-neutral-200 hover:ring-neutral-100 text-neutral-800"},featureTitle:"What's included:",features:[{id:"clicks",text:"1K tracked clicks/mo"},{id:"links",text:"25 new links/mo"},{id:"retention",text:"30-day analytics retention"},{id:"domains",text:"3 domains"},{id:"user",text:"1 user"},{id:"analytics",text:"Advanced analytics",footnote:{title:"Get location (country, city, continent), device (type, browser, OS), and referer data on your clicks.",cta:"Learn more.",href:"https://dub.co/analytics"}},{id:"ai",text:"10 AI credits/mo"},{id:"basic-support",text:"Basic support"},{id:"api",text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For content creators or small teams needing advanced features",link:"https://dub.co/help/article/pro-plan",price:{monthly:30,yearly:25,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0","price_1R7f9IAlJJEpqkPV4G9fNwRM","price_1R7f9RAlJJEpqkPV1HgB84WS"]},limits:{links:2e3,clicks:5e4,sales:0,domains:10,tags:25,folders:3,users:3,ai:1e3,api:600},features:[{id:"clicks",text:"50K tracked clicks/mo"},{id:"links",text:"2,000 new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"3 users"},{id:"link-features",text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."},{id:"ai",text:"Unlimited AI credits",footnote:{title:"Subject to fair use policy \u2013 you will be notified if you exceed the limit, which are high enough for frequent usage.",cta:"Learn more.",href:"https://dub.co/blog/introducing-dub-ai"}},{id:"priority-support",text:"Priority support"},{id:"dotlink",text:"Free custom domain",footnote:{title:"All our paid plans come with a free .link custom domain, which helps improve click-through rates.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}}]},{name:"Business",tagline:"For fast-growing startups and businesses looking to scale",link:"https://dub.co/help/article/business-plan",price:{monthly:90,yearly:75,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw","price_1R3j01AlJJEpqkPVXuG1eNzm","price_1R6JedAlJJEpqkPVMUkfjch4"]},limits:{links:1e4,clicks:25e4,sales:25e5,domains:100,tags:d,folders:20,users:10,ai:1e3,api:3e3},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:"250K tracked clicks/mo"},{id:"links",text:"10K new links/mo"},{id:"sales",text:"$25K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"3-year analytics retention"},{id:"domains",text:"100 domains"},{id:"users",text:"10 users"},{id:"events",text:"Real-time events stream",footnote:{title:"Get more data on your link clicks and QR code scans with a detailed, real-time stream of events in your workspace",cta:"Learn more.",href:"https://d.to/events"}},{id:"webhooks",text:"Real-time webhooks",footnote:{title:"Use webhooks to connect Dub with your data stack and workflows \u2013 with native integrations for Segment, Zapier, Slack, and more.",cta:"Learn more.",href:"https://d.to/webhooks"}}]},{name:"Advanced",tagline:"For power users needing more usage quotas",link:"https://dub.co/help/article/advanced-plan",price:{monthly:300,yearly:250,ids:["price_1R3j0QAlJJEpqkPVrTW1Ss2i","price_1R3j0qAlJJEpqkPVkfGNXRwb"]},limits:{links:5e4,clicks:1e6,sales:1e7,domains:250,tags:d,folders:50,users:20,ai:1e3,api:3e3},featureTitle:"Everything in Business, plus:",features:[{id:"clicks",text:"1M tracked clicks/mo"},{id:"links",text:"50K new links/mo"},{id:"sales",text:"$100K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"5-year analytics retention"},{id:"domains",text:"250 domains"},{id:"users",text:"20 users"}]},{name:"Enterprise",tagline:"For large organizations and governments with custom needs",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:25e4,clicks:5e6,sales:1e8,domains:1e3,tags:d,folders:d,users:500,ai:1e4,api:1e4},featureTitle:"Everything in Advanced, plus:",features:[{id:"sso",text:"SSO/SAML"},{id:"roles",text:"Role-based controls"},{id:"volume",text:"Volume discounts"},{id:"sla",text:"Custom SLA"},{id:"logs",text:"Audit logs"},{id:"success",text:"Dedicated success manager"}]}],ze=[{category:"Links",features:[{text:()=>i(s,{children:[o("strong",{children:"Unlimited"})," clicks"]})},{text:({plan:e})=>i(s,{children:[o("strong",{children:p(e.limits.links)})," new links/mo"]})},{text:({plan:e})=>i(s,{children:[o("strong",{children:e.limits.tags===d?"Unlimited":p(e.limits.tags)})," ","tags"]})},{text:"Custom QR codes",href:"https://dub.co/help/article/custom-qr-codes"},{text:"UTM builder",href:"https://dub.co/help/article/utm-builder"},{check:{free:!1,default:!0},text:"Custom link previews",href:"https://dub.co/help/article/custom-link-previews"},{check:{free:!1,default:!0},text:"Link cloaking",href:"https://dub.co/help/article/link-cloaking"},{check:{free:!1,default:!0},text:"Link expiration",href:"https://dub.co/help/article/link-expiration"},{check:{free:!1,default:!0},text:"Password protection",href:"https://dub.co/help/article/password-protected-links"},{check:{free:!1,default:!0},text:"Device targeting",href:"https://dub.co/help/article/device-targeting"},{check:{free:!1,default:!0},text:"Geo targeting",href:"https://dub.co/help/article/geo-targeting"}]},{category:"Analytics",features:[{text:({plan:e})=>i(s,{children:[o("strong",{children:p(e.limits.clicks)})," tracked clicks/mo"]})},{text:"Advanced analytics",href:"https://dub.co/help/article/dub-analytics"},{text:({id:e})=>i(s,{children:[o("strong",{children:{free:"30 day",pro:"1 year",business:"3 year",advanced:"5 year",enterprise:"Unlimited"}[e]})," ","retention"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:()=>i(s,{children:[o("strong",{children:"Real-time"})," events stream"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:()=>o(s,{children:"Conversion tracking"})}]},{category:"Domains",features:[{text:({plan:e})=>i(s,{children:[o("strong",{children:p(e.limits.domains,{full:!0})})," ","custom domains"]})},{text:()=>o(s,{children:"SSL certificates"})},{check:{default:!0,free:!1},text:()=>i(s,{children:["Premium ",o("strong",{children:"dub.link"})," domain"]})},{check:{default:!0,free:!1},text:()=>i(s,{children:["Free ",o("strong",{children:".link"})," domain"]})}]},{category:"Workspace",features:[{text:({plan:e})=>i(s,{children:[o("strong",{children:p(e.limits.users)})," user",e.limits.users===1?"":"s"]})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"SSO/SAML"})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"Custom SLA"})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"Audit logs"})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"Role-based controls"})}]},{category:"Support",features:[{text:({id:e})=>i(s,{children:[o("strong",{children:{free:"Basic",pro:"Elevated"}[e]??"Priority"})," ",e==="enterprise"?"with SLA":"support"]})},{check:{default:!1,enterprise:!0},text:()=>i(s,{children:[o("strong",{children:"Dedicated"})," success manager"]})}]},{category:"API",features:[{text:()=>o(s,{children:"API access"})},{text:({id:e,plan:t})=>i(s,{children:[o("strong",{children:e==="enterprise"?"Custom":p(t.limits.api)+"/min"})," ","rate limit"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:()=>o(s,{children:o("strong",{children:"Event webhooks"})})}]}],L=a.find(e=>e.name==="Free"),P=a.find(e=>e.name==="Pro"),v=a.find(e=>e.name==="Business"),S=a.find(e=>e.name==="Advanced"),J=a.find(e=>e.name==="Enterprise"),Be=[L,P,v,S,J],R=a.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),je=2,Ge=e=>a.find(t=>{var r;return(r=t.price.ids)==null?void 0:r.includes(e)})||null,Ze=e=>R.find(t=>t.name.toLowerCase()===e.toLowerCase()),We=e=>a.find(t=>t.name.toLowerCase()===e.toLowerCase())||L,Ke=e=>e?a[a.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1]:P,Qe=(e,t)=>{let r=a.findIndex(n=>n.name.toLowerCase()===e.toLowerCase()),l=a.findIndex(n=>n.name.toLowerCase()===t.toLowerCase());return r>l};function ht({title:e,fullTitle:t,description:r="Dub.co is the open-source link management platform for modern marketing teams to create marketing campaigns, link sharing features, and referral programs.",image:l="https://assets.dub.co/thumbnail.jpg",video:n,icons:c=[{rel:"apple-touch-icon",sizes:"32x32",url:"https://assets.dub.co/favicons/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"https://assets.dub.co/favicons/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"https://assets.dub.co/favicons/favicon-16x16.png"}],url:u,canonicalUrl:m,noIndex:E=!1,manifest:h}={}){return{title:t||(e?`${e} | Dub.co`:"Dub.co - Link Management for Modern Marketing Teams"),description:r,openGraph:{title:e,description:r,...l&&{images:l},url:u,...n&&{videos:n}},twitter:{title:e,description:r,...l&&{card:"summary_large_image",images:[l]},...n&&{player:n},creator:"@dubdotco"},icons:c,metadataBase:new URL(y),...(u||m)&&{alternates:{canonical:u||m}},...E&&{robots:{index:!1,follow:!1}},...h&&{manifest:h}}}export{ht as a,F as b,K as c,Q as d,X as e,Y as f,H as g,ee as h,te as i,se as j,ne as k,a as l,ze as m,L as n,P as o,v as p,S as q,J as r,Be as s,R as t,je as u,Ge as v,Ze as w,We as x,Ke as y,Qe as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as w}from"./chunk-TOPVR7JX.mjs";import{a as g}from"./chunk-CP4WO7MM.mjs";import{a as x}from"./chunk-IHX4EDUF.mjs";import{a as p}from"./chunk-NWFCCRLG.mjs";import{g as d}from"./chunk-Q4LGL37L.mjs";import{a as f}from"./chunk-YUMUNL66.mjs";import{a as k,b}from"./chunk-SYT2IXG6.mjs";import{a as A}from"./chunk-GZVN3KGY.mjs";import{c as y}from"./chunk-6PZJ3HNK.mjs";var F=e=>!e.periodStart||!e.periodEnd?"-":`${g(e.periodStart,{month:"short",year:new Date(e.periodStart).getUTCFullYear()===new Date(e.periodEnd).getUTCFullYear()?void 0:"numeric",timeZone:"utc"})}-${g(e.periodEnd,{month:"short",timeZone:"utc"})}`;import v from"@sindresorhus/slugify";var K=e=>{let t=v(e,{separator:""});if(t.length<3)return"";if(f.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&f.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((n,c)=>n.length<c.length?n:c)}.link`},Q=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),X=new RegExp(/^[a-zA-Z0-9\-]+$/),Y=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),H=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";let r=t.split(".");return r.length>2?k.has(r[r.length-2])&&f.has(r[r.length-1])||b.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},ee=e=>{if(w(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}},te=e=>A.some(t=>t.slug===e);function se({domain:e,key:t,pretty:r,searchParams:l}){if(!e)return"";let n=`https://${x(e)}${t&&t!=="_root"?`/${x(t)}`:""}`;if(l){let c=new URLSearchParams;for(let[u,m]of Object.entries(l))c.set(u,m);n+=`?${c.toString()}`}return r?n.replace(/^https?:\/\//,""):n}function ne({domain:e,key:t}){return`https://${e}${t==="_root"?"":`/${t}`}`}import{Fragment as s,jsx as o,jsxs as i}from"react/jsx-runtime";var a=[{name:"Free",tagline:"For hobbyists and individuals looking to manage their links",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,sales:0,domains:3,tags:5,folders:0,users:1,ai:10,api:60},cta:{text:"Start for free",shorText:"Get started",href:"https://app.dub.co/register",color:"bg-white hover:bg-neutral-50 border border-neutral-200 hover:ring-neutral-100 text-neutral-800"},featureTitle:"What's included:",features:[{id:"clicks",text:"1K tracked clicks/mo"},{id:"links",text:"25 new links/mo"},{id:"retention",text:"30-day analytics retention"},{id:"domains",text:"3 domains"},{id:"user",text:"1 user"},{id:"analytics",text:"Advanced analytics",footnote:{title:"Get location (country, city, continent), device (type, browser, OS), and referer data on your clicks.",cta:"Learn more.",href:"https://dub.co/analytics"}},{id:"ai",text:"10 AI credits/mo"},{id:"basic-support",text:"Basic support"},{id:"api",text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For content creators or small teams needing advanced features",link:"https://dub.co/help/article/pro-plan",price:{monthly:30,yearly:25,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0","price_1R7f9IAlJJEpqkPV4G9fNwRM","price_1R7f9RAlJJEpqkPV1HgB84WS"]},limits:{links:2e3,clicks:5e4,sales:0,domains:10,tags:25,folders:3,users:3,ai:1e3,api:600},features:[{id:"clicks",text:"50K tracked clicks/mo"},{id:"links",text:"2,000 new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"3 users"},{id:"link-features",text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."},{id:"ai",text:"Unlimited AI credits",footnote:{title:"Subject to fair use policy \u2013 you will be notified if you exceed the limit, which are high enough for frequent usage.",cta:"Learn more.",href:"https://dub.co/blog/introducing-dub-ai"}},{id:"priority-support",text:"Priority support"},{id:"dotlink",text:"Free custom domain",footnote:{title:"All our paid plans come with a free .link custom domain, which helps improve click-through rates.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}}]},{name:"Business",tagline:"For fast-growing startups and businesses looking to scale",link:"https://dub.co/help/article/business-plan",price:{monthly:90,yearly:75,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw","price_1R3j01AlJJEpqkPVXuG1eNzm","price_1R6JedAlJJEpqkPVMUkfjch4"]},limits:{links:1e4,clicks:25e4,sales:25e5,domains:100,tags:d,folders:20,users:10,ai:1e3,api:3e3},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:"250K tracked clicks/mo"},{id:"links",text:"10K new links/mo"},{id:"sales",text:"$25K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"3-year analytics retention"},{id:"domains",text:"100 domains"},{id:"users",text:"10 users"},{id:"events",text:"Real-time events stream",footnote:{title:"Get more data on your link clicks and QR code scans with a detailed, real-time stream of events in your workspace",cta:"Learn more.",href:"https://d.to/events"}},{id:"webhooks",text:"Real-time webhooks",footnote:{title:"Use webhooks to connect Dub with your data stack and workflows \u2013 with native integrations for Segment, Zapier, Slack, and more.",cta:"Learn more.",href:"https://d.to/webhooks"}}]},{name:"Advanced",tagline:"For power users needing more usage quotas",link:"https://dub.co/help/article/advanced-plan",price:{monthly:300,yearly:250,ids:["price_1R3j0QAlJJEpqkPVrTW1Ss2i","price_1R3j0qAlJJEpqkPVkfGNXRwb"]},limits:{links:5e4,clicks:1e6,sales:1e7,domains:250,tags:d,folders:50,users:20,ai:1e3,api:3e3},featureTitle:"Everything in Business, plus:",features:[{id:"clicks",text:"1M tracked clicks/mo"},{id:"links",text:"50K new links/mo"},{id:"sales",text:"$100K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"5-year analytics retention"},{id:"domains",text:"250 domains"},{id:"users",text:"20 users"}]},{name:"Enterprise",tagline:"For large organizations and governments with custom needs",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:25e4,clicks:5e6,sales:1e8,domains:1e3,tags:d,folders:d,users:500,ai:1e4,api:1e4},featureTitle:"Everything in Advanced, plus:",features:[{id:"sso",text:"SSO/SAML"},{id:"roles",text:"Role-based controls"},{id:"volume",text:"Volume discounts"},{id:"sla",text:"Custom SLA"},{id:"logs",text:"Audit logs"},{id:"success",text:"Dedicated success manager"}]}],ze=[{category:"Links",features:[{text:()=>i(s,{children:[o("strong",{children:"Unlimited"})," clicks"]})},{text:({plan:e})=>i(s,{children:[o("strong",{children:p(e.limits.links)})," new links/mo"]})},{text:({plan:e})=>i(s,{children:[o("strong",{children:e.limits.tags===d?"Unlimited":p(e.limits.tags)})," ","tags"]})},{text:"Custom QR codes",href:"https://dub.co/help/article/custom-qr-codes"},{text:"UTM builder",href:"https://dub.co/help/article/utm-builder"},{check:{free:!1,default:!0},text:"Custom link previews",href:"https://dub.co/help/article/custom-link-previews"},{check:{free:!1,default:!0},text:"Link cloaking",href:"https://dub.co/help/article/link-cloaking"},{check:{free:!1,default:!0},text:"Link expiration",href:"https://dub.co/help/article/link-expiration"},{check:{free:!1,default:!0},text:"Password protection",href:"https://dub.co/help/article/password-protected-links"},{check:{free:!1,default:!0},text:"Device targeting",href:"https://dub.co/help/article/device-targeting"},{check:{free:!1,default:!0},text:"Geo targeting",href:"https://dub.co/help/article/geo-targeting"}]},{category:"Analytics",features:[{text:"Advanced analytics",href:"https://dub.co/help/article/dub-analytics"},{text:({plan:e})=>i(s,{children:[o("strong",{children:p(e.limits.clicks)})," tracked clicks/mo"]}),href:"https://dub.co/help/article/dub-analytics-limits"},{text:({id:e})=>i(s,{children:[o("strong",{children:{free:"30 day",pro:"1 year",business:"3 year",advanced:"5 year",enterprise:"Unlimited"}[e]})," ","retention"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Real-time events stream",href:"https://dub.co/help/article/real-time-events-stream"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Conversion tracking",href:"https://dub.co/help/article/dub-conversions"}]},{category:"Partners",features:[{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Dub Partners",href:"https://dub.co/help/article/dub-partners"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e})=>e==="free"||e==="pro"?"No payouts":i(s,{children:[o("strong",{children:{business:"7%",advanced:"5%",enterprise:"3%"}[e]})," ","payout fees"]})}]},{category:"Domains",features:[{text:({plan:e})=>i(s,{children:[o("strong",{children:p(e.limits.domains,{full:!0})})," ","custom domains"]})},{text:()=>o(s,{children:"SSL certificates"})},{check:{default:!0,free:!1},text:()=>i(s,{children:["Premium ",o("strong",{children:"dub.link"})," domain"]}),href:"https://dub.co/help/article/default-dub-domains#premium-dublink-domain"},{check:{default:!0,free:!1},text:()=>i(s,{children:["Free ",o("strong",{children:".link"})," domain"]}),href:"https://dub.co/help/article/free-dot-link-domain"}]},{category:"Workspace",features:[{text:({plan:e})=>i(s,{children:[o("strong",{children:p(e.limits.users)})," user",e.limits.users===1?"":"s"]})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"SSO/SAML"})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"Custom SLA"})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"Audit logs"})},{check:{default:!1,enterprise:!0},text:()=>o(s,{children:"Role-based controls"})}]},{category:"Support",features:[{text:({id:e})=>i(s,{children:[o("strong",{children:{free:"Basic",pro:"Elevated"}[e]??"Priority"})," ",e==="enterprise"?"with SLA":"support"]})},{check:{default:!1,enterprise:!0},text:()=>i(s,{children:[o("strong",{children:"Dedicated"})," success manager"]})}]},{category:"API",features:[{text:()=>o(s,{children:"API access"})},{text:({id:e,plan:t})=>i(s,{children:[o("strong",{children:e==="enterprise"?"Custom":p(t.limits.api)+"/min"})," ","rate limit"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:()=>o(s,{children:o("strong",{children:"Event webhooks"})})}]}],P=a.find(e=>e.name==="Free"),L=a.find(e=>e.name==="Pro"),_=a.find(e=>e.name==="Business"),S=a.find(e=>e.name==="Advanced"),J=a.find(e=>e.name==="Enterprise"),Be=[P,L,_,S,J],R=a.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),je=2,Ge=e=>a.find(t=>{var r;return(r=t.price.ids)==null?void 0:r.includes(e)})||null,Ze=e=>R.find(t=>t.name.toLowerCase()===e.toLowerCase()),We=e=>a.find(t=>t.name.toLowerCase()===e.toLowerCase())||P,Ke=e=>e?a[a.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1]:L,Qe=(e,t)=>{let r=a.findIndex(n=>n.name.toLowerCase()===e.toLowerCase()),l=a.findIndex(n=>n.name.toLowerCase()===t.toLowerCase());return r>l};function ht({title:e,fullTitle:t,description:r="Dub.co is the open-source link management platform for modern marketing teams to create marketing campaigns, link sharing features, and referral programs.",image:l="https://assets.dub.co/thumbnail.jpg",video:n,icons:c=[{rel:"apple-touch-icon",sizes:"32x32",url:"https://assets.dub.co/favicons/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"https://assets.dub.co/favicons/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"https://assets.dub.co/favicons/favicon-16x16.png"}],url:u,canonicalUrl:m,noIndex:E=!1,manifest:h}={}){return{title:t||(e?`${e} | Dub.co`:"Dub.co - Link Management for Modern Marketing Teams"),description:r,openGraph:{title:e,description:r,...l&&{images:l},url:u,...n&&{videos:n}},twitter:{title:e,description:r,...l&&{card:"summary_large_image",images:[l]},...n&&{player:n},creator:"@dubdotco"},icons:c,metadataBase:new URL(y),...(u||m)&&{alternates:{canonical:u||m}},...E&&{robots:{index:!1,follow:!1}},...h&&{manifest:h}}}export{ht as a,F as b,K as c,Q as d,X as e,Y as f,H as g,ee as h,te as i,se as j,ne as k,a as l,ze as m,P as n,L as o,_ as p,S as q,J as r,Be as s,R as t,je as u,Ge as v,Ze as w,We as x,Ke as y,Qe as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var D=e=>{let r=new Date,a=r.getDate(),t=r.getMonth(),n=r.getFullYear();if(a>=e)return{firstDay:new Date(n,t,e),lastDay:new Date(n,t+1,e-1)};{let s=t===0?n-1:n,o=t===0?11:t-1;return{firstDay:new Date(s,o,e),lastDay:new Date(n,t,e-1)}}};export{D as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-NWFCCRLG.mjs";import{g as n}from"./chunk-Q4LGL37L.mjs";import{Fragment as r,jsx as t,jsxs as i}from"react/jsx-runtime";var b=[{category:"Links",href:"https://dub.co/home",features:[{text:()=>i(r,{children:[t("strong",{children:"Unlimited"})," clicks"]})},{text:({plan:e})=>i(r,{children:[t("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.links)})," ","new links",e.name==="Enterprise"?"":"/mo"]})},{text:({plan:e})=>i(r,{children:[t("strong",{children:e.limits.tags===n?"Unlimited":a(e.limits.tags)})," ","tags"]}),href:"https://dub.co/help/article/how-to-use-tags"},{check:{free:!1,default:!0},text:({plan:e})=>i(r,{children:[t("strong",{children:e.limits.folders===n?"Unlimited":a(e.limits.folders)})," ","folders"]})},{text:"Custom QR codes",href:"https://dub.co/help/article/custom-qr-codes"},{text:"UTM builder + templates",href:"https://dub.co/help/article/how-to-create-utm-templates"},{check:{free:!1,default:!0},text:"Custom link previews",href:"https://dub.co/help/article/custom-link-previews"},{check:{free:!1,default:!0},text:"Deep links",href:"https://dub.co/help/article/custom-domain-deep-links"},{check:{free:!1,default:!0},text:"Link cloaking",href:"https://dub.co/help/article/link-cloaking"},{check:{free:!1,default:!0},text:"Link expiration",href:"https://dub.co/help/article/link-expiration"},{check:{free:!1,default:!0},text:"Password protection",href:"https://dub.co/help/article/password-protected-links"},{check:{free:!1,default:!0},text:"Device targeting",href:"https://dub.co/help/article/device-targeting"},{check:{free:!1,default:!0},text:"Geo targeting",href:"https://dub.co/help/article/geo-targeting"},{check:{free:!1,pro:!1,default:!0},text:"A/B testing"}]},{category:"Analytics",href:"https://dub.co/analytics",features:[{text:"Advanced analytics",href:"https://dub.co/help/article/dub-analytics"},{text:({plan:e})=>i(r,{children:[t("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.clicks)})," ","tracked clicks",e.name==="Enterprise"?"":"/mo"]}),href:"https://dub.co/help/article/dub-analytics-limits"},{text:({plan:e})=>i(r,{children:[t("strong",{children:e.limits.retention})," retention"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Real-time events stream",href:"https://dub.co/help/article/real-time-events-stream"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Conversion tracking",href:"https://dub.co/help/article/dub-conversions"}]},{category:"Partners",href:"https://dub.co/partners",features:[{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Partner management",href:"https://dub.co/help/article/dub-partners"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e,plan:s})=>e==="free"||e==="pro"?"No tracked sales":i(r,{children:[t("strong",{children:s.name==="Enterprise"?"Unlimited":`${a(s.limits.sales)}`})," ","tracked sales",s.name==="Enterprise"?"":"/mo"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"1-click global payouts",href:"https://dub.co/help/article/partner-payouts"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e})=>e==="free"||e==="pro"?"No payouts":i(r,{children:[t("strong",{children:{business:"7%",advanced:"5%",enterprise:"3%"}[e]})," ","payout fees"]}),href:"https://dub.co/help/article/partner-payouts#payout-fees-and-timing"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Tax compliance",href:"https://dub.co/help/article/partner-payouts#tax-compliance"},{check:{default:!1,business:!1,advanced:!0,enterprise:!0},text:"White-labeling support",href:"https://dub.co/help/article/dub-partners#white-labeled-in-app-dashboard"},{check:{default:!1,business:!1,advanced:!0,enterprise:!0},text:"Branded email domains"}]},{category:"Domains",href:"https://dub.co/help/category/custom-domains",features:[{text:({plan:e})=>i(r,{children:[t("strong",{children:a(e.limits.domains,{full:!0})})," ","custom domains"]})},{text:()=>t(r,{children:"SSL certificates"})},{check:{default:!0,free:!1},text:()=>i(r,{children:["Premium ",t("strong",{children:"dub.link"})," domain"]}),href:"https://dub.co/help/article/default-dub-domains#premium-dublink-domain"},{check:{default:!0,free:!1},text:()=>i(r,{children:["Free ",t("strong",{children:".link"})," domain"]}),href:"https://dub.co/help/article/free-dot-link-domain"}]},{category:"API",href:"https://dub.co/docs/api-reference/introduction",features:[{text:"API Access",href:"https://dub.co/docs/api-reference/introduction"},{text:"Native SDKs",href:"https://dub.co/docs/sdks/overview"},{text:({id:e,plan:s})=>i(r,{children:[t("strong",{children:e==="enterprise"?"Custom":a(s.limits.api)+"/min"})," ","rate limit"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Event webhooks",href:"https://dub.co/docs/concepts/webhooks/introduction"}]},{category:"Workspace",href:"https://dub.co/help/category/workspaces",features:[{text:({plan:e})=>i(r,{children:[t("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.users)})," ","user",e.limits.users===1?"":"s"]})},{check:{default:!1,advanced:!0,enterprise:!0},text:"Role-based access control"},{check:{default:!1,enterprise:!0},text:"SAML/SSO",href:"https://dub.co/help/category/saml-sso"},{check:{default:!1,enterprise:!0},text:"Custom SLA"},{check:{default:!1,enterprise:!0},text:"Audit logs"}]},{category:"Support",href:"https://dub.co/help",features:[{text:({id:e})=>t(r,{children:t("strong",{children:{free:"Basic support",pro:"Elevated support",business:"Priority support",advanced:"Priority via Slack",enterprise:"Priority with SLA"}[e]})})},{check:{default:!1,enterprise:!0},text:()=>i(r,{children:[t("strong",{children:"Dedicated"})," success manager"]})}]}];var o=[{name:"Free",tagline:"For hobbyists and individuals looking to manage their links",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,sales:0,domains:3,tags:5,folders:0,users:1,ai:10,api:60,retention:"30-day"},cta:{text:"Start for free",shorText:"Get started",href:"https://app.dub.co/register",color:"bg-white hover:bg-neutral-50 border border-neutral-200 hover:ring-neutral-100 text-neutral-800"},featureTitle:"What's included:",features:[{id:"clicks",text:"1K tracked clicks/mo"},{id:"links",text:"25 new links/mo"},{id:"retention",text:"30-day analytics retention"},{id:"domains",text:"3 domains"},{id:"user",text:"1 user"},{id:"analytics",text:"Advanced analytics",footnote:{title:"Get location (country, city, continent), device (type, browser, OS), and referer data on your clicks.",cta:"Learn more.",href:"https://dub.co/analytics"}},{id:"ai",text:"10 AI credits/mo"},{id:"basic-support",text:"Basic support"},{id:"api",text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For content creators or small teams needing advanced features",link:"https://dub.co/help/article/pro-plan",price:{monthly:30,yearly:25,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0","price_1R7f9IAlJJEpqkPV4G9fNwRM","price_1R7f9RAlJJEpqkPV1HgB84WS"]},limits:{links:2e3,clicks:5e4,sales:0,domains:10,tags:25,folders:3,users:3,ai:1e3,api:600,retention:"1-year"},features:[{id:"clicks",text:"50K tracked clicks/mo"},{id:"links",text:"2,000 new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"3 users"},{id:"link-features",text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."},{id:"ai",text:"Unlimited AI credits",footnote:{title:"Subject to fair use policy \u2013 you will be notified if you exceed the limit, which are high enough for frequent usage.",cta:"Learn more.",href:"https://dub.co/blog/introducing-dub-ai"}},{id:"priority-support",text:"Priority support"},{id:"dotlink",text:"Free custom domain",footnote:{title:"All our paid plans come with a free .link custom domain, which helps improve click-through rates.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}}]},{name:"Business",tagline:"For fast-growing startups and businesses looking to scale",link:"https://dub.co/help/article/business-plan",price:{monthly:90,yearly:75,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw","price_1R3j01AlJJEpqkPVXuG1eNzm","price_1R6JedAlJJEpqkPVMUkfjch4"]},limits:{links:1e4,clicks:25e4,sales:25e5,domains:100,tags:n,folders:20,users:10,ai:1e3,api:3e3,retention:"3-year"},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:"250K tracked clicks/mo"},{id:"links",text:"10K new links/mo"},{id:"sales",text:"$25K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"3-year analytics retention"},{id:"domains",text:"100 domains"},{id:"users",text:"10 users"},{id:"events",text:"Real-time events stream",footnote:{title:"Get more data on your link clicks and QR code scans with a detailed, real-time stream of events in your workspace",cta:"Learn more.",href:"https://d.to/events"}},{id:"webhooks",text:"Real-time webhooks",footnote:{title:"Use webhooks to connect Dub with your data stack and workflows \u2013 with native integrations for Segment, Zapier, Slack, and more.",cta:"Learn more.",href:"https://d.to/webhooks"}}]},{name:"Advanced",tagline:"For power users needing more usage quotas",link:"https://dub.co/help/article/advanced-plan",price:{monthly:300,yearly:250,ids:["price_1R3j0QAlJJEpqkPVrTW1Ss2i","price_1R3j0qAlJJEpqkPVkfGNXRwb"]},limits:{links:5e4,clicks:1e6,sales:1e7,domains:250,tags:n,folders:50,users:20,ai:1e3,api:3e3,retention:"5-year"},featureTitle:"Everything in Business, plus:",features:[{id:"clicks",text:"1M tracked clicks/mo"},{id:"links",text:"50K new links/mo"},{id:"sales",text:"$100K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"5-year analytics retention"},{id:"domains",text:"250 domains"},{id:"users",text:"20 users"}]},{name:"Enterprise",tagline:"For large organizations and governments with custom needs",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:25e4,clicks:5e6,sales:1e8,domains:1e3,tags:n,folders:n,users:500,ai:1e4,api:1e4,retention:"Unlimited"},featureTitle:"Everything in Advanced, plus:",features:[{id:"sso",text:"SSO/SAML"},{id:"roles",text:"Role-based controls"},{id:"volume",text:"Volume discounts"},{id:"sla",text:"Custom SLA"},{id:"logs",text:"Audit logs"},{id:"success",text:"Dedicated success manager"}]}],d=o.find(e=>e.name==="Free"),u=o.find(e=>e.name==="Pro"),f=o.find(e=>e.name==="Business"),m=o.find(e=>e.name==="Advanced"),h=o.find(e=>e.name==="Enterprise"),v=[d,u,f,m,h],k=o.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),A=2,w=e=>o.find(s=>{var l;return(l=s.price.ids)==null?void 0:l.includes(e)})||null,E=e=>k.find(s=>s.name.toLowerCase()===e.toLowerCase()),L=e=>o.find(s=>s.name.toLowerCase()===e.toLowerCase())||d,_=e=>e?o[o.findIndex(s=>s.name.toLowerCase()===e.toLowerCase())+1]:u,J=(e,s)=>{let l=o.findIndex(c=>c.name.toLowerCase()===e.toLowerCase()),p=o.findIndex(c=>c.name.toLowerCase()===s.toLowerCase());return l>p};export{b as a,o as b,d as c,u as d,f as e,m as f,h as g,v as h,k as i,A as j,w as k,E as l,L as m,_ as n,J as o};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-NWFCCRLG.mjs";import{g as n}from"./chunk-Q4LGL37L.mjs";import{Fragment as r,jsx as t,jsxs as s}from"react/jsx-runtime";var b=[{category:"Links",href:"https://dub.co/home",features:[{text:()=>s(r,{children:[t("strong",{children:"Unlimited"})," clicks"]})},{text:({plan:e})=>s(r,{children:[t("strong",{children:e.name==="Enterprise"?"\u221E":a(e.limits.links)})," ","new links/mo"]})},{text:({plan:e})=>s(r,{children:[t("strong",{children:e.limits.tags===n?"Unlimited":a(e.limits.tags)})," ","tags"]}),href:"https://dub.co/help/article/how-to-use-tags"},{check:{free:!1,default:!0},text:({plan:e})=>s(r,{children:[t("strong",{children:e.limits.folders===n?"Unlimited":a(e.limits.folders)})," ","folders"]})},{text:"Custom QR codes",href:"https://dub.co/help/article/custom-qr-codes"},{text:"UTM builder + templates",href:"https://dub.co/help/article/how-to-create-utm-templates"},{check:{free:!1,default:!0},text:"Custom link previews",href:"https://dub.co/help/article/custom-link-previews"},{check:{free:!1,default:!0},text:"Deep links",href:"https://dub.co/help/article/custom-domain-deep-links"},{check:{free:!1,default:!0},text:"Link cloaking",href:"https://dub.co/help/article/link-cloaking"},{check:{free:!1,default:!0},text:"Link expiration",href:"https://dub.co/help/article/link-expiration"},{check:{free:!1,default:!0},text:"Password protection",href:"https://dub.co/help/article/password-protected-links"},{check:{free:!1,default:!0},text:"Device targeting",href:"https://dub.co/help/article/device-targeting"},{check:{free:!1,default:!0},text:"Geo targeting",href:"https://dub.co/help/article/geo-targeting"},{check:{free:!1,pro:!1,default:!0},text:"A/B testing"}]},{category:"Analytics",href:"https://dub.co/analytics",features:[{text:"Advanced analytics",href:"https://dub.co/help/article/dub-analytics"},{text:({plan:e})=>s(r,{children:[t("strong",{children:e.name==="Enterprise"?"\u221E":a(e.limits.clicks)})," ","tracked clicks/mo"]}),href:"https://dub.co/help/article/dub-analytics-limits"},{text:({id:e})=>s(r,{children:[t("strong",{children:{free:"30 day",pro:"1 year",business:"3 year",advanced:"5 year",enterprise:"\u221E"}[e]})," ","retention"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Real-time events stream",href:"https://dub.co/help/article/real-time-events-stream"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Conversion tracking",href:"https://dub.co/help/article/dub-conversions"}]},{category:"Partners",href:"https://dub.co/partners",features:[{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Partner management",href:"https://dub.co/help/article/dub-partners"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e,plan:o})=>e==="free"||e==="pro"?"No tracked sales":e==="enterprise"?"\u221E tracked sales":s(r,{children:[s("strong",{children:["$",a(o.limits.sales/100)]})," tracked sales/mo"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"1-click global payouts",href:"https://dub.co/help/article/partner-payouts"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e})=>e==="free"||e==="pro"?"No payouts":s(r,{children:[t("strong",{children:{business:"7%",advanced:"5%",enterprise:"3%"}[e]})," ","payout fees"]}),href:"https://dub.co/help/article/partner-payouts#payout-fees-and-timing"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Tax compliance",href:"https://dub.co/help/article/partner-payouts#tax-compliance"},{check:{default:!1,business:!1,advanced:!0,enterprise:!0},text:"White-labeling support",href:"https://dub.co/help/article/dub-partners#white-labeled-in-app-dashboard"},{check:{default:!1,business:!1,advanced:!0,enterprise:!0},text:"Branded email domains"}]},{category:"Domains",href:"https://dub.co/help/category/custom-domains",features:[{text:({plan:e})=>s(r,{children:[t("strong",{children:a(e.limits.domains,{full:!0})})," ","custom domains"]})},{text:()=>t(r,{children:"SSL certificates"})},{check:{default:!0,free:!1},text:()=>s(r,{children:["Premium ",t("strong",{children:"dub.link"})," domain"]}),href:"https://dub.co/help/article/default-dub-domains#premium-dublink-domain"},{check:{default:!0,free:!1},text:()=>s(r,{children:["Free ",t("strong",{children:".link"})," domain"]}),href:"https://dub.co/help/article/free-dot-link-domain"}]},{category:"API",href:"https://dub.co/docs/api-reference/introduction",features:[{text:"API Access",href:"https://dub.co/docs/api-reference/introduction"},{text:"Native SDKs",href:"https://dub.co/docs/sdks/overview"},{text:({id:e,plan:o})=>s(r,{children:[t("strong",{children:e==="enterprise"?"Custom":a(o.limits.api)+"/min"})," ","rate limit"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Event webhooks",href:"https://dub.co/docs/concepts/webhooks/introduction"}]},{category:"Workspace",href:"https://dub.co/help/category/workspaces",features:[{text:({plan:e})=>s(r,{children:[t("strong",{children:a(e.limits.users)})," user",e.limits.users===1?"":"s"]})},{check:{default:!1,advanced:!0,enterprise:!0},text:"Role-based access control"},{check:{default:!1,enterprise:!0},text:"SAML/SSO",href:"https://dub.co/help/category/saml-sso"},{check:{default:!1,enterprise:!0},text:"Custom SLA"},{check:{default:!1,enterprise:!0},text:"Audit logs"}]},{category:"Support",href:"https://dub.co/help",features:[{text:({id:e})=>t(r,{children:t("strong",{children:{free:"Basic support",pro:"Elevated support",business:"Priority support",advanced:"Priority via Slack",enterprise:"Priority with SLA"}[e]})})},{check:{default:!1,enterprise:!0},text:()=>s(r,{children:[t("strong",{children:"Dedicated"})," success manager"]})}]}];var i=[{name:"Free",tagline:"For hobbyists and individuals looking to manage their links",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,sales:0,domains:3,tags:5,folders:0,users:1,ai:10,api:60},cta:{text:"Start for free",shorText:"Get started",href:"https://app.dub.co/register",color:"bg-white hover:bg-neutral-50 border border-neutral-200 hover:ring-neutral-100 text-neutral-800"},featureTitle:"What's included:",features:[{id:"clicks",text:"1K tracked clicks/mo"},{id:"links",text:"25 new links/mo"},{id:"retention",text:"30-day analytics retention"},{id:"domains",text:"3 domains"},{id:"user",text:"1 user"},{id:"analytics",text:"Advanced analytics",footnote:{title:"Get location (country, city, continent), device (type, browser, OS), and referer data on your clicks.",cta:"Learn more.",href:"https://dub.co/analytics"}},{id:"ai",text:"10 AI credits/mo"},{id:"basic-support",text:"Basic support"},{id:"api",text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For content creators or small teams needing advanced features",link:"https://dub.co/help/article/pro-plan",price:{monthly:30,yearly:25,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0","price_1R7f9IAlJJEpqkPV4G9fNwRM","price_1R7f9RAlJJEpqkPV1HgB84WS"]},limits:{links:2e3,clicks:5e4,sales:0,domains:10,tags:25,folders:3,users:3,ai:1e3,api:600,retention:"1-year"},features:[{id:"clicks",text:"50K tracked clicks/mo"},{id:"links",text:"2,000 new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"3 users"},{id:"link-features",text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."},{id:"ai",text:"Unlimited AI credits",footnote:{title:"Subject to fair use policy \u2013 you will be notified if you exceed the limit, which are high enough for frequent usage.",cta:"Learn more.",href:"https://dub.co/blog/introducing-dub-ai"}},{id:"priority-support",text:"Priority support"},{id:"dotlink",text:"Free custom domain",footnote:{title:"All our paid plans come with a free .link custom domain, which helps improve click-through rates.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}}]},{name:"Business",tagline:"For fast-growing startups and businesses looking to scale",link:"https://dub.co/help/article/business-plan",price:{monthly:90,yearly:75,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw","price_1R3j01AlJJEpqkPVXuG1eNzm","price_1R6JedAlJJEpqkPVMUkfjch4"]},limits:{links:1e4,clicks:25e4,sales:25e5,domains:100,tags:n,folders:20,users:10,ai:1e3,api:3e3,retention:"3-year"},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:"250K tracked clicks/mo"},{id:"links",text:"10K new links/mo"},{id:"sales",text:"$25K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"3-year analytics retention"},{id:"domains",text:"100 domains"},{id:"users",text:"10 users"},{id:"events",text:"Real-time events stream",footnote:{title:"Get more data on your link clicks and QR code scans with a detailed, real-time stream of events in your workspace",cta:"Learn more.",href:"https://d.to/events"}},{id:"webhooks",text:"Real-time webhooks",footnote:{title:"Use webhooks to connect Dub with your data stack and workflows \u2013 with native integrations for Segment, Zapier, Slack, and more.",cta:"Learn more.",href:"https://d.to/webhooks"}}]},{name:"Advanced",tagline:"For power users needing more usage quotas",link:"https://dub.co/help/article/advanced-plan",price:{monthly:300,yearly:250,ids:["price_1R3j0QAlJJEpqkPVrTW1Ss2i","price_1R3j0qAlJJEpqkPVkfGNXRwb"]},limits:{links:5e4,clicks:1e6,sales:1e7,domains:250,tags:n,folders:50,users:20,ai:1e3,api:3e3,retention:"5-year"},featureTitle:"Everything in Business, plus:",features:[{id:"clicks",text:"1M tracked clicks/mo"},{id:"links",text:"50K new links/mo"},{id:"sales",text:"$100K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"5-year analytics retention"},{id:"domains",text:"250 domains"},{id:"users",text:"20 users"}]},{name:"Enterprise",tagline:"For large organizations and governments with custom needs",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:25e4,clicks:5e6,sales:1e8,domains:1e3,tags:n,folders:n,users:500,ai:1e4,api:1e4,retention:"Unlimited"},featureTitle:"Everything in Advanced, plus:",features:[{id:"sso",text:"SSO/SAML"},{id:"roles",text:"Role-based controls"},{id:"volume",text:"Volume discounts"},{id:"sla",text:"Custom SLA"},{id:"logs",text:"Audit logs"},{id:"success",text:"Dedicated success manager"}]}],d=i.find(e=>e.name==="Free"),u=i.find(e=>e.name==="Pro"),f=i.find(e=>e.name==="Business"),h=i.find(e=>e.name==="Advanced"),m=i.find(e=>e.name==="Enterprise"),v=[d,u,f,h,m],k=i.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),A=2,w=e=>i.find(o=>{var l;return(l=o.price.ids)==null?void 0:l.includes(e)})||null,L=e=>k.find(o=>o.name.toLowerCase()===e.toLowerCase()),E=e=>i.find(o=>o.name.toLowerCase()===e.toLowerCase())||d,_=e=>e?i[i.findIndex(o=>o.name.toLowerCase()===e.toLowerCase())+1]:u,J=(e,o)=>{let l=i.findIndex(c=>c.name.toLowerCase()===e.toLowerCase()),p=i.findIndex(c=>c.name.toLowerCase()===o.toLowerCase());return l>p};export{b as a,i as b,d as c,u as d,f as e,h as f,m as g,v as h,k as i,A as j,w as k,L as l,E as m,_ as n,J as o};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as u}from"./chunk-Q4LGL37L.mjs";import{a as g}from"./chunk-CP4WO7MM.mjs";import{a as A}from"./chunk-GZVN3KGY.mjs";import{c as b}from"./chunk-6PZJ3HNK.mjs";import{a as w}from"./chunk-TOPVR7JX.mjs";import{a as f}from"./chunk-YUMUNL66.mjs";import{a as k,b as y}from"./chunk-SYT2IXG6.mjs";import{a as x}from"./chunk-IHX4EDUF.mjs";import{a as p}from"./chunk-NWFCCRLG.mjs";var F=e=>!e.periodStart||!e.periodEnd?"-":`${g(e.periodStart,{month:"short",year:new Date(e.periodStart).getUTCFullYear()===new Date(e.periodEnd).getUTCFullYear()?void 0:"numeric",timeZone:"utc"})}-${g(e.periodEnd,{month:"short",timeZone:"utc"})}`;import _ from"@sindresorhus/slugify";var W=e=>{let t=_(e,{separator:""});if(t.length<3)return"";if(f.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let n=t.replace(/[aeiou]/g,"");return n.length>=3&&f.has(n.slice(-2))?`${n.slice(0,-2)}.${n.slice(-2)}`:`${[t,n].reduce((s,c)=>s.length<c.length?s:c)}.link`},K=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),X=new RegExp(/^[a-zA-Z0-9\-]+$/),Q=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),Y=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";let n=t.split(".");return n.length>2?k.has(n[n.length-2])&&f.has(n[n.length-1])||y.has(n.slice(-2).join("."))?n.slice(-3).join("."):n.slice(-2).join("."):t},H=e=>{if(w(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}},ee=e=>A.some(t=>t.slug===e);function oe({domain:e,key:t,pretty:n,searchParams:a}){if(!e)return"";let s=`https://${x(e)}${t&&t!=="_root"?`/${x(t)}`:""}`;if(a){let c=new URLSearchParams;for(let[d,m]of Object.entries(a))c.set(d,m);s+=`?${c.toString()}`}return n?s.replace(/^https?:\/\//,""):s}function ne({domain:e,key:t}){return`https://${e}${t==="_root"?"":`/${t}`}`}import{Fragment as o,jsx as r,jsxs as i}from"react/jsx-runtime";var l=[{name:"Free",tagline:"For hobbyists and individuals looking to manage their links",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,sales:0,domains:3,tags:5,folders:0,users:1,ai:10,api:60},cta:{text:"Start for free",shorText:"Get started",href:"https://app.dub.co/register",color:"bg-white hover:bg-neutral-50 border border-neutral-200 hover:ring-neutral-100 text-neutral-800"},featureTitle:"What's included:",features:[{id:"clicks",text:"1K tracked clicks/mo"},{id:"links",text:"25 new links/mo"},{id:"retention",text:"30-day analytics retention"},{id:"domains",text:"3 domains"},{id:"user",text:"1 user"},{id:"analytics",text:"Advanced analytics",footnote:{title:"Get location (country, city, continent), device (type, browser, OS), and referer data on your clicks.",cta:"Learn more.",href:"https://dub.co/analytics"}},{id:"ai",text:"10 AI credits/mo"},{id:"basic-support",text:"Basic support"},{id:"api",text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For content creators or small teams needing advanced features",link:"https://dub.co/help/article/pro-plan",price:{monthly:30,yearly:25,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0","price_1R6Je3AlJJEpqkPVAXiF4nP5","price_1R6JeDAlJJEpqkPV2W1gOwpS"]},limits:{links:2e3,clicks:5e4,sales:0,domains:10,tags:25,folders:3,users:3,ai:1e3,api:600},features:[{id:"clicks",text:"50K tracked clicks/mo"},{id:"links",text:"2,000 new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"3 users"},{id:"link-features",text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."},{id:"ai",text:"Unlimited AI credits",footnote:{title:"Subject to fair use policy \u2013 you will be notified if you exceed the limit, which are high enough for frequent usage.",cta:"Learn more.",href:"https://dub.co/blog/introducing-dub-ai"}},{id:"priority-support",text:"Priority support"},{id:"dotlink",text:"Free custom domain",footnote:{title:"All our paid plans come with a free .link custom domain, which helps improve click-through rates.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}}]},{name:"Business",tagline:"For fast-growing startups and businesses looking to scale",link:"https://dub.co/help/article/business-plan",price:{monthly:90,yearly:75,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw","price_1R3j01AlJJEpqkPVXuG1eNzm","price_1R6JedAlJJEpqkPVMUkfjch4"]},limits:{links:1e4,clicks:25e4,sales:25e5,domains:100,tags:u,folders:20,users:10,ai:1e3,api:3e3},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:"250K tracked clicks/mo"},{id:"links",text:"10K new links/mo"},{id:"sales",text:"$25K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"3-year analytics retention"},{id:"domains",text:"100 domains"},{id:"users",text:"10 users"},{id:"events",text:"Real-time events stream",footnote:{title:"Get more data on your link clicks and QR code scans with a detailed, real-time stream of events in your workspace",cta:"Learn more.",href:"https://d.to/events"}},{id:"webhooks",text:"Real-time webhooks",footnote:{title:"Use webhooks to connect Dub with your data stack and workflows \u2013 with native integrations for Segment, Zapier, Slack, and more.",cta:"Learn more.",href:"https://d.to/webhooks"}}]},{name:"Advanced",tagline:"For power users needing more usage quotas",link:"https://dub.co/help/article/advanced-plan",price:{monthly:300,yearly:250,ids:["price_1R3j0QAlJJEpqkPVrTW1Ss2i","price_1R3j0qAlJJEpqkPVkfGNXRwb"]},limits:{links:5e4,clicks:1e6,sales:1e7,domains:250,tags:u,folders:50,users:20,ai:1e3,api:3e3},featureTitle:"Everything in Business, plus:",features:[{id:"clicks",text:"1M tracked clicks/mo"},{id:"links",text:"50K new links/mo"},{id:"sales",text:"$100K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"5-year analytics retention"},{id:"domains",text:"250 domains"},{id:"users",text:"20 users"}]},{name:"Enterprise",tagline:"For large organizations and governments with custom needs",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:25e4,clicks:5e6,sales:1e8,domains:1e3,tags:u,folders:u,users:500,ai:1e4,api:1e4},featureTitle:"Everything in Advanced, plus:",features:[{id:"sso",text:"SSO/SAML"},{id:"roles",text:"Role-based controls"},{id:"volume",text:"Volume discounts"},{id:"sla",text:"Custom SLA"},{id:"logs",text:"Audit logs"},{id:"success",text:"Dedicated success manager"}]}],$e=[{category:"Short links",features:[{text:()=>i(o,{children:[r("strong",{children:"Unlimited"})," clicks"]})},{text:({plan:e})=>i(o,{children:[r("strong",{children:p(e.limits.links)})," new links/mo"]})},{text:()=>i(o,{children:[r("strong",{children:"Unlimited"})," redirects"]})},{text:()=>r(o,{children:"QR Codes"})},{text:()=>r(o,{children:"UTM Builder"})},{check:{free:!1,default:!0},text:()=>r(o,{children:"Custom link previews"})},{check:{free:!1,default:!0},text:()=>r(o,{children:"Link cloaking"})},{check:{free:!1,default:!0},text:()=>r(o,{children:"Link expiration"})},{check:{free:!1,default:!0},text:()=>r(o,{children:"Password protection"})},{check:{free:!1,default:!0},text:()=>r(o,{children:"Device targeting"})},{check:{free:!1,default:!0},text:()=>r(o,{children:"Geo targeting"})}]},{category:"Domains",features:[{text:({plan:e})=>i(o,{children:[r("strong",{children:p(e.limits.domains,{full:!0})})," ","custom domains"]})},{text:()=>r(o,{children:"SSL certificates"})},{check:{default:!0,free:!1},text:()=>i(o,{children:["Premium ",r("strong",{children:"dub.link"})," domain"]})},{check:{default:!0,free:!1},text:()=>i(o,{children:["Free ",r("strong",{children:".link"})," domain"]})}]},{category:"Analytics",features:[{text:({id:e})=>i(o,{children:[r("strong",{children:{free:"30 day",pro:"1 year",business:"3 year",advanced:"5 year",enterprise:"Unlimited"}[e]})," ","retention"]})},{text:()=>r(o,{children:"Advanced analytics"})},{text:({plan:e})=>i(o,{children:[r("strong",{children:p(e.limits.clicks)})," tracked clicks/mo"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:()=>i(o,{children:[r("strong",{children:"Real-time"})," events stream"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:()=>r(o,{children:"Conversion tracking"})}]},{category:"Workspace",features:[{text:({plan:e})=>i(o,{children:[r("strong",{children:p(e.limits.users)})," user",e.limits.users===1?"":"s"]})},{check:{default:!1,enterprise:!0},text:()=>r(o,{children:"SSO/SAML"})},{check:{default:!1,enterprise:!0},text:()=>r(o,{children:"Custom SLA"})},{check:{default:!1,enterprise:!0},text:()=>r(o,{children:"Audit logs"})},{check:{default:!1,enterprise:!0},text:()=>r(o,{children:"Role-based controls"})}]},{category:"Support",features:[{text:({id:e})=>i(o,{children:[r("strong",{children:{free:"Basic",pro:"Elevated"}[e]??"Priority"})," ",e==="enterprise"?"with SLA":"support"]})},{check:{default:!1,enterprise:!0},text:()=>i(o,{children:[r("strong",{children:"Dedicated"})," success manager"]})}]},{category:"API",features:[{text:()=>r(o,{children:"API access"})},{text:({id:e,plan:t})=>i(o,{children:[r("strong",{children:e==="enterprise"?"Custom":p(t.limits.api)+"/min"})," ","rate limit"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:()=>r(o,{children:r("strong",{children:"Event webhooks"})})}]}],P=l.find(e=>e.name==="Free"),L=l.find(e=>e.name==="Pro"),v=l.find(e=>e.name==="Business"),S=l.find(e=>e.name==="Enterprise"),ze=[P,L,v,S],J=l.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),Be=2,je=e=>l.find(t=>{var n;return(n=t.price.ids)==null?void 0:n.includes(e)})||null,Ze=e=>J.find(t=>t.name.toLowerCase()===e.toLowerCase()),Ge=e=>l.find(t=>t.name.toLowerCase()===e.toLowerCase())||P,We=e=>e?l[l.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1]:L,Ke=(e,t)=>{let n=l.findIndex(s=>s.name.toLowerCase()===e.toLowerCase()),a=l.findIndex(s=>s.name.toLowerCase()===t.toLowerCase());return n>a};function xt({title:e,fullTitle:t,description:n="Dub.co is the open-source link management platform for modern marketing teams to create marketing campaigns, link sharing features, and referral programs.",image:a="https://assets.dub.co/thumbnail.jpg",video:s,icons:c=[{rel:"apple-touch-icon",sizes:"32x32",url:"https://assets.dub.co/favicons/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"https://assets.dub.co/favicons/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"https://assets.dub.co/favicons/favicon-16x16.png"}],url:d,canonicalUrl:m,noIndex:E=!1,manifest:h}={}){return{title:t||(e?`${e} | Dub.co`:"Dub.co - Link Management for Modern Marketing Teams"),description:n,openGraph:{title:e,description:n,...a&&{images:a},url:d,...s&&{videos:s}},twitter:{title:e,description:n,...a&&{card:"summary_large_image",images:[a]},...s&&{player:s},creator:"@dubdotco"},icons:c,metadataBase:new URL(b),...(d||m)&&{alternates:{canonical:d||m}},...E&&{robots:{index:!1,follow:!1}},...h&&{manifest:h}}}export{xt as a,F as b,W as c,K as d,X as e,Q as f,Y as g,H as h,ee as i,oe as j,ne as k,l,$e as m,P as n,L as o,v as p,S as q,ze as r,J as s,Be as t,je as u,Ze as v,Ge as w,We as x,Ke as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var o=(e,t)=>{console.log({startDate:e,endDate:t});let i=Math.abs(t.getTime()-e.getTime());return Math.ceil(i/864e5)};export{o as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as A}from"./chunk-TOPVR7JX.mjs";import{a as h}from"./chunk-CP4WO7MM.mjs";import{a as g}from"./chunk-IHX4EDUF.mjs";import{a as c}from"./chunk-NWFCCRLG.mjs";import{g as d}from"./chunk-Q4LGL37L.mjs";import{a as f}from"./chunk-YUMUNL66.mjs";import{a as k,b}from"./chunk-SYT2IXG6.mjs";import{a as w}from"./chunk-GZVN3KGY.mjs";import{c as y}from"./chunk-6PZJ3HNK.mjs";var F=e=>!e.periodStart||!e.periodEnd?"-":`${h(e.periodStart,{month:"short",year:new Date(e.periodStart).getUTCFullYear()===new Date(e.periodEnd).getUTCFullYear()?void 0:"numeric",timeZone:"utc"})}-${h(e.periodEnd,{month:"short",timeZone:"utc"})}`;import E from"@sindresorhus/slugify";var K=e=>{let t=E(e,{separator:""});if(t.length<3)return"";if(f.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&f.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((n,p)=>n.length<p.length?n:p)}.link`},Q=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),X=new RegExp(/^[a-zA-Z0-9\-]+$/),Y=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),H=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";let r=t.split(".");return r.length>2?k.has(r[r.length-2])&&f.has(r[r.length-1])||b.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},ee=e=>{if(A(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}},te=e=>w.some(t=>t.slug===e);function se({domain:e,key:t,pretty:r,searchParams:l}){if(!e)return"";let n=`https://${g(e)}${t&&t!=="_root"?`/${g(t)}`:""}`;if(l){let p=new URLSearchParams;for(let[u,m]of Object.entries(l))p.set(u,m);n+=`?${p.toString()}`}return r?n.replace(/^https?:\/\//,""):n}function ne({domain:e,key:t}){return`https://${e}${t==="_root"?"":`/${t}`}`}import{Fragment as o,jsx as s,jsxs as i}from"react/jsx-runtime";var a=[{name:"Free",tagline:"For hobbyists and individuals looking to manage their links",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,sales:0,domains:3,tags:5,folders:0,users:1,ai:10,api:60},cta:{text:"Start for free",shorText:"Get started",href:"https://app.dub.co/register",color:"bg-white hover:bg-neutral-50 border border-neutral-200 hover:ring-neutral-100 text-neutral-800"},featureTitle:"What's included:",features:[{id:"clicks",text:"1K tracked clicks/mo"},{id:"links",text:"25 new links/mo"},{id:"retention",text:"30-day analytics retention"},{id:"domains",text:"3 domains"},{id:"user",text:"1 user"},{id:"analytics",text:"Advanced analytics",footnote:{title:"Get location (country, city, continent), device (type, browser, OS), and referer data on your clicks.",cta:"Learn more.",href:"https://dub.co/analytics"}},{id:"ai",text:"10 AI credits/mo"},{id:"basic-support",text:"Basic support"},{id:"api",text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For content creators or small teams needing advanced features",link:"https://dub.co/help/article/pro-plan",price:{monthly:30,yearly:25,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0","price_1R7f9IAlJJEpqkPV4G9fNwRM","price_1R7f9RAlJJEpqkPV1HgB84WS"]},limits:{links:2e3,clicks:5e4,sales:0,domains:10,tags:25,folders:3,users:3,ai:1e3,api:600},features:[{id:"clicks",text:"50K tracked clicks/mo"},{id:"links",text:"2,000 new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"3 users"},{id:"link-features",text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."},{id:"ai",text:"Unlimited AI credits",footnote:{title:"Subject to fair use policy \u2013 you will be notified if you exceed the limit, which are high enough for frequent usage.",cta:"Learn more.",href:"https://dub.co/blog/introducing-dub-ai"}},{id:"priority-support",text:"Priority support"},{id:"dotlink",text:"Free custom domain",footnote:{title:"All our paid plans come with a free .link custom domain, which helps improve click-through rates.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}}]},{name:"Business",tagline:"For fast-growing startups and businesses looking to scale",link:"https://dub.co/help/article/business-plan",price:{monthly:90,yearly:75,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw","price_1R3j01AlJJEpqkPVXuG1eNzm","price_1R6JedAlJJEpqkPVMUkfjch4"]},limits:{links:1e4,clicks:25e4,sales:25e5,domains:100,tags:d,folders:20,users:10,ai:1e3,api:3e3},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:"250K tracked clicks/mo"},{id:"links",text:"10K new links/mo"},{id:"sales",text:"$25K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"3-year analytics retention"},{id:"domains",text:"100 domains"},{id:"users",text:"10 users"},{id:"events",text:"Real-time events stream",footnote:{title:"Get more data on your link clicks and QR code scans with a detailed, real-time stream of events in your workspace",cta:"Learn more.",href:"https://d.to/events"}},{id:"webhooks",text:"Real-time webhooks",footnote:{title:"Use webhooks to connect Dub with your data stack and workflows \u2013 with native integrations for Segment, Zapier, Slack, and more.",cta:"Learn more.",href:"https://d.to/webhooks"}}]},{name:"Advanced",tagline:"For power users needing more usage quotas",link:"https://dub.co/help/article/advanced-plan",price:{monthly:300,yearly:250,ids:["price_1R3j0QAlJJEpqkPVrTW1Ss2i","price_1R3j0qAlJJEpqkPVkfGNXRwb"]},limits:{links:5e4,clicks:1e6,sales:1e7,domains:250,tags:d,folders:50,users:20,ai:1e3,api:3e3},featureTitle:"Everything in Business, plus:",features:[{id:"clicks",text:"1M tracked clicks/mo"},{id:"links",text:"50K new links/mo"},{id:"sales",text:"$100K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"5-year analytics retention"},{id:"domains",text:"250 domains"},{id:"users",text:"20 users"}]},{name:"Enterprise",tagline:"For large organizations and governments with custom needs",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:25e4,clicks:5e6,sales:1e8,domains:1e3,tags:d,folders:d,users:500,ai:1e4,api:1e4},featureTitle:"Everything in Advanced, plus:",features:[{id:"sso",text:"SSO/SAML"},{id:"roles",text:"Role-based controls"},{id:"volume",text:"Volume discounts"},{id:"sla",text:"Custom SLA"},{id:"logs",text:"Audit logs"},{id:"success",text:"Dedicated success manager"}]}],ze=[{category:"Links",features:[{text:()=>i(o,{children:[s("strong",{children:"Unlimited"})," clicks"]})},{text:({plan:e})=>i(o,{children:[s("strong",{children:e.name==="Enterprise"?"Unlimited":c(e.limits.links)})," ","new links/mo"]})},{text:({plan:e})=>i(o,{children:[s("strong",{children:e.limits.tags===d?"Unlimited":c(e.limits.tags)})," ","tags"]})},{text:"Custom QR codes",href:"https://dub.co/help/article/custom-qr-codes"},{text:"UTM builder",href:"https://dub.co/help/article/utm-builder"},{check:{free:!1,default:!0},text:"Custom link previews",href:"https://dub.co/help/article/custom-link-previews"},{check:{free:!1,default:!0},text:"Link cloaking",href:"https://dub.co/help/article/link-cloaking"},{check:{free:!1,default:!0},text:"Link expiration",href:"https://dub.co/help/article/link-expiration"},{check:{free:!1,default:!0},text:"Password protection",href:"https://dub.co/help/article/password-protected-links"},{check:{free:!1,default:!0},text:"Device targeting",href:"https://dub.co/help/article/device-targeting"},{check:{free:!1,default:!0},text:"Geo targeting",href:"https://dub.co/help/article/geo-targeting"}]},{category:"Analytics",features:[{text:"Advanced analytics",href:"https://dub.co/help/article/dub-analytics"},{text:({plan:e})=>i(o,{children:[s("strong",{children:e.name==="Enterprise"?"Unlimited":c(e.limits.clicks)})," ","tracked clicks/mo"]}),href:"https://dub.co/help/article/dub-analytics-limits"},{text:({id:e})=>i(o,{children:[s("strong",{children:{free:"30 day",pro:"1 year",business:"3 year",advanced:"5 year",enterprise:"Unlimited"}[e]})," ","retention"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Real-time events stream",href:"https://dub.co/help/article/real-time-events-stream"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Conversion tracking",href:"https://dub.co/help/article/dub-conversions"}]},{category:"Partners",features:[{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Partner management",href:"https://dub.co/help/article/dub-partners"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e,plan:t})=>e==="free"||e==="pro"?"No tracked sales":e==="enterprise"?"Unlimited tracked sales":i(o,{children:[i("strong",{children:["$",c(t.limits.sales/100)]})," tracked sales/mo"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"1-click global payouts",href:"https://dub.co/help/article/partner-payouts"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e})=>e==="free"||e==="pro"?"No payouts":i(o,{children:[s("strong",{children:{business:"7%",advanced:"5%",enterprise:"3%"}[e]})," ","payout fees"]}),href:"https://dub.co/help/article/partner-payouts#payout-fees-and-timing"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Tax compliance",href:"https://dub.co/help/article/partner-payouts#tax-compliance"},{check:{default:!1,business:!1,advanced:!0,enterprise:!0},text:"White-labeling support",href:"https://dub.co/help/article/dub-partners#white-labeled-in-app-dashboard"}]},{category:"Domains",features:[{text:({plan:e})=>i(o,{children:[s("strong",{children:c(e.limits.domains,{full:!0})})," ","custom domains"]})},{text:()=>s(o,{children:"SSL certificates"})},{check:{default:!0,free:!1},text:()=>i(o,{children:["Premium ",s("strong",{children:"dub.link"})," domain"]}),href:"https://dub.co/help/article/default-dub-domains#premium-dublink-domain"},{check:{default:!0,free:!1},text:()=>i(o,{children:["Free ",s("strong",{children:".link"})," domain"]}),href:"https://dub.co/help/article/free-dot-link-domain"}]},{category:"Workspace",features:[{text:({plan:e})=>i(o,{children:[s("strong",{children:c(e.limits.users)})," user",e.limits.users===1?"":"s"]})},{check:{default:!1,enterprise:!0},text:()=>s(o,{children:"SSO/SAML"})},{check:{default:!1,enterprise:!0},text:()=>s(o,{children:"Custom SLA"})},{check:{default:!1,enterprise:!0},text:()=>s(o,{children:"Audit logs"})},{check:{default:!1,enterprise:!0},text:()=>s(o,{children:"Role-based controls"})}]},{category:"Support",features:[{text:({id:e})=>i(o,{children:[s("strong",{children:{free:"Basic",pro:"Elevated"}[e]??"Priority"})," ",e==="enterprise"?"with SLA":"support"]})},{check:{default:!1,enterprise:!0},text:()=>i(o,{children:[s("strong",{children:"Dedicated"})," success manager"]})}]},{category:"API",features:[{text:()=>s(o,{children:"API access"})},{text:({id:e,plan:t})=>i(o,{children:[s("strong",{children:e==="enterprise"?"Custom":c(t.limits.api)+"/min"})," ","rate limit"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Event webhooks",href:"https://dub.co/docs/concepts/webhooks/introduction"}]}],P=a.find(e=>e.name==="Free"),L=a.find(e=>e.name==="Pro"),_=a.find(e=>e.name==="Business"),S=a.find(e=>e.name==="Advanced"),J=a.find(e=>e.name==="Enterprise"),Be=[P,L,_,S,J],R=a.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),je=2,Ge=e=>a.find(t=>{var r;return(r=t.price.ids)==null?void 0:r.includes(e)})||null,Ze=e=>R.find(t=>t.name.toLowerCase()===e.toLowerCase()),We=e=>a.find(t=>t.name.toLowerCase()===e.toLowerCase())||P,Ke=e=>e?a[a.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1]:L,Qe=(e,t)=>{let r=a.findIndex(n=>n.name.toLowerCase()===e.toLowerCase()),l=a.findIndex(n=>n.name.toLowerCase()===t.toLowerCase());return r>l};function xt({title:e,fullTitle:t,description:r="Dub.co is the open-source link management platform for modern marketing teams to create marketing campaigns, link sharing features, and referral programs.",image:l="https://assets.dub.co/thumbnail.jpg",video:n,icons:p=[{rel:"apple-touch-icon",sizes:"32x32",url:"https://assets.dub.co/favicons/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"https://assets.dub.co/favicons/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"https://assets.dub.co/favicons/favicon-16x16.png"}],url:u,canonicalUrl:m,noIndex:v=!1,manifest:x}={}){return{title:t||(e?`${e} | Dub.co`:"Dub.co - Link Management for Modern Marketing Teams"),description:r,openGraph:{title:e,description:r,...l&&{images:l},url:u,...n&&{videos:n}},twitter:{title:e,description:r,...l&&{card:"summary_large_image",images:[l]},...n&&{player:n},creator:"@dubdotco"},icons:p,metadataBase:new URL(y),...(u||m)&&{alternates:{canonical:u||m}},...v&&{robots:{index:!1,follow:!1}},...x&&{manifest:x}}}export{xt as a,F as b,K as c,Q as d,X as e,Y as f,H as g,ee as h,te as i,se as j,ne as k,a as l,ze as m,P as n,L as o,_ as p,S as q,J as r,Be as s,R as t,je as u,Ge as v,Ze as w,We as x,Ke as y,Qe as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as w}from"./chunk-TOPVR7JX.mjs";import{a as g}from"./chunk-CP4WO7MM.mjs";import{a as x}from"./chunk-IHX4EDUF.mjs";import{a as p}from"./chunk-NWFCCRLG.mjs";import{g as u}from"./chunk-Q4LGL37L.mjs";import{a as f}from"./chunk-YUMUNL66.mjs";import{a as k,b as y}from"./chunk-SYT2IXG6.mjs";import{a as A}from"./chunk-GZVN3KGY.mjs";import{c as b}from"./chunk-6PZJ3HNK.mjs";var F=e=>!e.periodStart||!e.periodEnd?"-":`${g(e.periodStart,{month:"short",year:new Date(e.periodStart).getUTCFullYear()===new Date(e.periodEnd).getUTCFullYear()?void 0:"numeric",timeZone:"utc"})}-${g(e.periodEnd,{month:"short",timeZone:"utc"})}`;import _ from"@sindresorhus/slugify";var K=e=>{let t=_(e,{separator:""});if(t.length<3)return"";if(f.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let n=t.replace(/[aeiou]/g,"");return n.length>=3&&f.has(n.slice(-2))?`${n.slice(0,-2)}.${n.slice(-2)}`:`${[t,n].reduce((s,c)=>s.length<c.length?s:c)}.link`},Q=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),X=new RegExp(/^[a-zA-Z0-9\-]+$/),Y=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),H=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";let n=t.split(".");return n.length>2?k.has(n[n.length-2])&&f.has(n[n.length-1])||y.has(n.slice(-2).join("."))?n.slice(-3).join("."):n.slice(-2).join("."):t},ee=e=>{if(w(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}},te=e=>A.some(t=>t.slug===e);function ne({domain:e,key:t,pretty:n,searchParams:l}){if(!e)return"";let s=`https://${x(e)}${t&&t!=="_root"?`/${x(t)}`:""}`;if(l){let c=new URLSearchParams;for(let[d,m]of Object.entries(l))c.set(d,m);s+=`?${c.toString()}`}return n?s.replace(/^https?:\/\//,""):s}function se({domain:e,key:t}){return`https://${e}${t==="_root"?"":`/${t}`}`}import{Fragment as o,jsx as r,jsxs as i}from"react/jsx-runtime";var a=[{name:"Free",tagline:"For hobbyists and individuals looking to manage their links",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,sales:0,domains:3,tags:5,folders:0,users:1,ai:10,api:60},cta:{text:"Start for free",shorText:"Get started",href:"https://app.dub.co/register",color:"bg-white hover:bg-neutral-50 border border-neutral-200 hover:ring-neutral-100 text-neutral-800"},featureTitle:"What's included:",features:[{id:"clicks",text:"1K tracked clicks/mo"},{id:"links",text:"25 new links/mo"},{id:"retention",text:"30-day analytics retention"},{id:"domains",text:"3 domains"},{id:"user",text:"1 user"},{id:"analytics",text:"Advanced analytics",footnote:{title:"Get location (country, city, continent), device (type, browser, OS), and referer data on your clicks.",cta:"Learn more.",href:"https://dub.co/analytics"}},{id:"ai",text:"10 AI credits/mo"},{id:"basic-support",text:"Basic support"},{id:"api",text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For content creators or small teams needing advanced features",link:"https://dub.co/help/article/pro-plan",price:{monthly:30,yearly:25,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0","price_1R7f9IAlJJEpqkPV4G9fNwRM","price_1R7f9RAlJJEpqkPV1HgB84WS"]},limits:{links:2e3,clicks:5e4,sales:0,domains:10,tags:25,folders:3,users:3,ai:1e3,api:600},features:[{id:"clicks",text:"50K tracked clicks/mo"},{id:"links",text:"2,000 new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"3 users"},{id:"link-features",text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."},{id:"ai",text:"Unlimited AI credits",footnote:{title:"Subject to fair use policy \u2013 you will be notified if you exceed the limit, which are high enough for frequent usage.",cta:"Learn more.",href:"https://dub.co/blog/introducing-dub-ai"}},{id:"priority-support",text:"Priority support"},{id:"dotlink",text:"Free custom domain",footnote:{title:"All our paid plans come with a free .link custom domain, which helps improve click-through rates.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}}]},{name:"Business",tagline:"For fast-growing startups and businesses looking to scale",link:"https://dub.co/help/article/business-plan",price:{monthly:90,yearly:75,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw","price_1R3j01AlJJEpqkPVXuG1eNzm","price_1R6JedAlJJEpqkPVMUkfjch4"]},limits:{links:1e4,clicks:25e4,sales:25e5,domains:100,tags:u,folders:20,users:10,ai:1e3,api:3e3},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:"250K tracked clicks/mo"},{id:"links",text:"10K new links/mo"},{id:"sales",text:"$25K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"3-year analytics retention"},{id:"domains",text:"100 domains"},{id:"users",text:"10 users"},{id:"events",text:"Real-time events stream",footnote:{title:"Get more data on your link clicks and QR code scans with a detailed, real-time stream of events in your workspace",cta:"Learn more.",href:"https://d.to/events"}},{id:"webhooks",text:"Real-time webhooks",footnote:{title:"Use webhooks to connect Dub with your data stack and workflows \u2013 with native integrations for Segment, Zapier, Slack, and more.",cta:"Learn more.",href:"https://d.to/webhooks"}}]},{name:"Advanced",tagline:"For power users needing more usage quotas",link:"https://dub.co/help/article/advanced-plan",price:{monthly:300,yearly:250,ids:["price_1R3j0QAlJJEpqkPVrTW1Ss2i","price_1R3j0qAlJJEpqkPVkfGNXRwb"]},limits:{links:5e4,clicks:1e6,sales:1e7,domains:250,tags:u,folders:50,users:20,ai:1e3,api:3e3},featureTitle:"Everything in Business, plus:",features:[{id:"clicks",text:"1M tracked clicks/mo"},{id:"links",text:"50K new links/mo"},{id:"sales",text:"$100K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"5-year analytics retention"},{id:"domains",text:"250 domains"},{id:"users",text:"20 users"}]},{name:"Enterprise",tagline:"For large organizations and governments with custom needs",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:25e4,clicks:5e6,sales:1e8,domains:1e3,tags:u,folders:u,users:500,ai:1e4,api:1e4},featureTitle:"Everything in Advanced, plus:",features:[{id:"sso",text:"SSO/SAML"},{id:"roles",text:"Role-based controls"},{id:"volume",text:"Volume discounts"},{id:"sla",text:"Custom SLA"},{id:"logs",text:"Audit logs"},{id:"success",text:"Dedicated success manager"}]}],ze=[{category:"Short links",features:[{text:()=>i(o,{children:[r("strong",{children:"Unlimited"})," clicks / redirects"]})},{text:({plan:e})=>i(o,{children:[r("strong",{children:p(e.limits.links)})," new links/mo"]})},{text:()=>r(o,{children:"QR Codes"}),href:"https://dub.co/help/article/custom-qr-codes"},{text:()=>r(o,{children:"UTM Builder"})},{check:{free:!1,default:!0},text:()=>r(o,{children:"Custom link previews"})},{check:{free:!1,default:!0},text:()=>r(o,{children:"Link cloaking"})},{check:{free:!1,default:!0},text:()=>r(o,{children:"Link expiration"})},{check:{free:!1,default:!0},text:()=>r(o,{children:"Password protection"})},{check:{free:!1,default:!0},text:()=>r(o,{children:"Device targeting"})},{check:{free:!1,default:!0},text:()=>r(o,{children:"Geo targeting"})}]},{category:"Domains",features:[{text:({plan:e})=>i(o,{children:[r("strong",{children:p(e.limits.domains,{full:!0})})," ","custom domains"]})},{text:()=>r(o,{children:"SSL certificates"})},{check:{default:!0,free:!1},text:()=>i(o,{children:["Premium ",r("strong",{children:"dub.link"})," domain"]})},{check:{default:!0,free:!1},text:()=>i(o,{children:["Free ",r("strong",{children:".link"})," domain"]})}]},{category:"Analytics",features:[{text:({id:e})=>i(o,{children:[r("strong",{children:{free:"30 day",pro:"1 year",business:"3 year",advanced:"5 year",enterprise:"Unlimited"}[e]})," ","retention"]})},{text:()=>r(o,{children:"Advanced analytics"})},{text:({plan:e})=>i(o,{children:[r("strong",{children:p(e.limits.clicks)})," tracked clicks/mo"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:()=>i(o,{children:[r("strong",{children:"Real-time"})," events stream"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:()=>r(o,{children:"Conversion tracking"})}]},{category:"Workspace",features:[{text:({plan:e})=>i(o,{children:[r("strong",{children:p(e.limits.users)})," user",e.limits.users===1?"":"s"]})},{check:{default:!1,enterprise:!0},text:()=>r(o,{children:"SSO/SAML"})},{check:{default:!1,enterprise:!0},text:()=>r(o,{children:"Custom SLA"})},{check:{default:!1,enterprise:!0},text:()=>r(o,{children:"Audit logs"})},{check:{default:!1,enterprise:!0},text:()=>r(o,{children:"Role-based controls"})}]},{category:"Support",features:[{text:({id:e})=>i(o,{children:[r("strong",{children:{free:"Basic",pro:"Elevated"}[e]??"Priority"})," ",e==="enterprise"?"with SLA":"support"]})},{check:{default:!1,enterprise:!0},text:()=>i(o,{children:[r("strong",{children:"Dedicated"})," success manager"]})}]},{category:"API",features:[{text:()=>r(o,{children:"API access"})},{text:({id:e,plan:t})=>i(o,{children:[r("strong",{children:e==="enterprise"?"Custom":p(t.limits.api)+"/min"})," ","rate limit"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:()=>r(o,{children:r("strong",{children:"Event webhooks"})})}]}],P=a.find(e=>e.name==="Free"),L=a.find(e=>e.name==="Pro"),v=a.find(e=>e.name==="Business"),S=a.find(e=>e.name==="Advanced"),J=a.find(e=>e.name==="Enterprise"),Be=[P,L,v,S,J],R=a.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),je=2,Ge=e=>a.find(t=>{var n;return(n=t.price.ids)==null?void 0:n.includes(e)})||null,Ze=e=>R.find(t=>t.name.toLowerCase()===e.toLowerCase()),We=e=>a.find(t=>t.name.toLowerCase()===e.toLowerCase())||P,Ke=e=>e?a[a.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1]:L,Qe=(e,t)=>{let n=a.findIndex(s=>s.name.toLowerCase()===e.toLowerCase()),l=a.findIndex(s=>s.name.toLowerCase()===t.toLowerCase());return n>l};function ht({title:e,fullTitle:t,description:n="Dub.co is the open-source link management platform for modern marketing teams to create marketing campaigns, link sharing features, and referral programs.",image:l="https://assets.dub.co/thumbnail.jpg",video:s,icons:c=[{rel:"apple-touch-icon",sizes:"32x32",url:"https://assets.dub.co/favicons/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"https://assets.dub.co/favicons/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"https://assets.dub.co/favicons/favicon-16x16.png"}],url:d,canonicalUrl:m,noIndex:E=!1,manifest:h}={}){return{title:t||(e?`${e} | Dub.co`:"Dub.co - Link Management for Modern Marketing Teams"),description:n,openGraph:{title:e,description:n,...l&&{images:l},url:d,...s&&{videos:s}},twitter:{title:e,description:n,...l&&{card:"summary_large_image",images:[l]},...s&&{player:s},creator:"@dubdotco"},icons:c,metadataBase:new URL(b),...(d||m)&&{alternates:{canonical:d||m}},...E&&{robots:{index:!1,follow:!1}},...h&&{manifest:h}}}export{ht as a,F as b,K as c,Q as d,X as e,Y as f,H as g,ee as h,te as i,ne as j,se as k,a as l,ze as m,P as n,L as o,v as p,S as q,J as r,Be as s,R as t,je as u,Ge as v,Ze as w,We as x,Ke as y,Qe as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as A}from"./chunk-TOPVR7JX.mjs";import{a as h}from"./chunk-CP4WO7MM.mjs";import{a as g}from"./chunk-IHX4EDUF.mjs";import{a as c}from"./chunk-NWFCCRLG.mjs";import{g as d}from"./chunk-Q4LGL37L.mjs";import{a as m}from"./chunk-YUMUNL66.mjs";import{a as k,b}from"./chunk-SYT2IXG6.mjs";import{a as w}from"./chunk-GZVN3KGY.mjs";import{c as y}from"./chunk-6PZJ3HNK.mjs";var F=e=>!e.periodStart||!e.periodEnd?"-":`${h(e.periodStart,{month:"short",year:new Date(e.periodStart).getUTCFullYear()===new Date(e.periodEnd).getUTCFullYear()?void 0:"numeric",timeZone:"utc"})}-${h(e.periodEnd,{month:"short",timeZone:"utc"})}`;import E from"@sindresorhus/slugify";var K=e=>{let t=E(e,{separator:""});if(t.length<3)return"";if(m.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&m.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((o,p)=>o.length<p.length?o:p)}.link`},Q=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),X=new RegExp(/^[a-zA-Z0-9\-]+$/),Y=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),H=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";let r=t.split(".");return r.length>2?k.has(r[r.length-2])&&m.has(r[r.length-1])||b.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},ee=e=>{if(A(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}},te=e=>w.some(t=>t.slug===e);function se({domain:e,key:t,pretty:r,searchParams:l}){if(!e)return"";let o=`https://${g(e)}${t&&t!=="_root"?`/${g(t)}`:""}`;if(l){let p=new URLSearchParams;for(let[u,f]of Object.entries(l))p.set(u,f);o+=`?${p.toString()}`}return r?o.replace(/^https?:\/\//,""):o}function ne({domain:e,key:t}){return`https://${e}${t==="_root"?"":`/${t}`}`}import{Fragment as n,jsx as s,jsxs as i}from"react/jsx-runtime";var a=[{name:"Free",tagline:"For hobbyists and individuals looking to manage their links",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,sales:0,domains:3,tags:5,folders:0,users:1,ai:10,api:60},cta:{text:"Start for free",shorText:"Get started",href:"https://app.dub.co/register",color:"bg-white hover:bg-neutral-50 border border-neutral-200 hover:ring-neutral-100 text-neutral-800"},featureTitle:"What's included:",features:[{id:"clicks",text:"1K tracked clicks/mo"},{id:"links",text:"25 new links/mo"},{id:"retention",text:"30-day analytics retention"},{id:"domains",text:"3 domains"},{id:"user",text:"1 user"},{id:"analytics",text:"Advanced analytics",footnote:{title:"Get location (country, city, continent), device (type, browser, OS), and referer data on your clicks.",cta:"Learn more.",href:"https://dub.co/analytics"}},{id:"ai",text:"10 AI credits/mo"},{id:"basic-support",text:"Basic support"},{id:"api",text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For content creators or small teams needing advanced features",link:"https://dub.co/help/article/pro-plan",price:{monthly:30,yearly:25,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0","price_1R7f9IAlJJEpqkPV4G9fNwRM","price_1R7f9RAlJJEpqkPV1HgB84WS"]},limits:{links:2e3,clicks:5e4,sales:0,domains:10,tags:25,folders:3,users:3,ai:1e3,api:600},features:[{id:"clicks",text:"50K tracked clicks/mo"},{id:"links",text:"2,000 new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"3 users"},{id:"link-features",text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."},{id:"ai",text:"Unlimited AI credits",footnote:{title:"Subject to fair use policy \u2013 you will be notified if you exceed the limit, which are high enough for frequent usage.",cta:"Learn more.",href:"https://dub.co/blog/introducing-dub-ai"}},{id:"priority-support",text:"Priority support"},{id:"dotlink",text:"Free custom domain",footnote:{title:"All our paid plans come with a free .link custom domain, which helps improve click-through rates.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}}]},{name:"Business",tagline:"For fast-growing startups and businesses looking to scale",link:"https://dub.co/help/article/business-plan",price:{monthly:90,yearly:75,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw","price_1R3j01AlJJEpqkPVXuG1eNzm","price_1R6JedAlJJEpqkPVMUkfjch4"]},limits:{links:1e4,clicks:25e4,sales:25e5,domains:100,tags:d,folders:20,users:10,ai:1e3,api:3e3},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:"250K tracked clicks/mo"},{id:"links",text:"10K new links/mo"},{id:"sales",text:"$25K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"3-year analytics retention"},{id:"domains",text:"100 domains"},{id:"users",text:"10 users"},{id:"events",text:"Real-time events stream",footnote:{title:"Get more data on your link clicks and QR code scans with a detailed, real-time stream of events in your workspace",cta:"Learn more.",href:"https://d.to/events"}},{id:"webhooks",text:"Real-time webhooks",footnote:{title:"Use webhooks to connect Dub with your data stack and workflows \u2013 with native integrations for Segment, Zapier, Slack, and more.",cta:"Learn more.",href:"https://d.to/webhooks"}}]},{name:"Advanced",tagline:"For power users needing more usage quotas",link:"https://dub.co/help/article/advanced-plan",price:{monthly:300,yearly:250,ids:["price_1R3j0QAlJJEpqkPVrTW1Ss2i","price_1R3j0qAlJJEpqkPVkfGNXRwb"]},limits:{links:5e4,clicks:1e6,sales:1e7,domains:250,tags:d,folders:50,users:20,ai:1e3,api:3e3},featureTitle:"Everything in Business, plus:",features:[{id:"clicks",text:"1M tracked clicks/mo"},{id:"links",text:"50K new links/mo"},{id:"sales",text:"$100K tracked sales/mo",footnote:{title:"Use Dub Conversions to track how your link clicks are converting to signups and sales. Limits are based on the total sale amount tracked within a given month.",cta:"Learn more.",href:"https://d.to/conversions"}},{id:"retention",text:"5-year analytics retention"},{id:"domains",text:"250 domains"},{id:"users",text:"20 users"}]},{name:"Enterprise",tagline:"For large organizations and governments with custom needs",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:25e4,clicks:5e6,sales:1e8,domains:1e3,tags:d,folders:d,users:500,ai:1e4,api:1e4},featureTitle:"Everything in Advanced, plus:",features:[{id:"sso",text:"SSO/SAML"},{id:"roles",text:"Role-based controls"},{id:"volume",text:"Volume discounts"},{id:"sla",text:"Custom SLA"},{id:"logs",text:"Audit logs"},{id:"success",text:"Dedicated success manager"}]}],ze=[{category:"Links",features:[{text:()=>i(n,{children:[s("strong",{children:"Unlimited"})," clicks"]})},{text:({plan:e})=>i(n,{children:[s("strong",{children:e.name==="Enterprise"?"\u221E":c(e.limits.links)})," ","new links/mo"]})},{text:({plan:e})=>i(n,{children:[s("strong",{children:e.limits.tags===d?"Unlimited":c(e.limits.tags)})," ","tags"]}),href:"https://dub.co/help/article/how-to-use-tags"},{text:"Custom QR codes",href:"https://dub.co/help/article/custom-qr-codes"},{text:"UTM builder",href:"https://dub.co/help/article/utm-builder"},{text:"UTM templates",href:"https://dub.co/help/article/utm-templates"},{check:{free:!1,default:!0},text:"Custom link previews",href:"https://dub.co/help/article/custom-link-previews"},{check:{free:!1,default:!0},text:"Link cloaking",href:"https://dub.co/help/article/link-cloaking"},{check:{free:!1,default:!0},text:"Link expiration",href:"https://dub.co/help/article/link-expiration"},{check:{free:!1,default:!0},text:"Password protection",href:"https://dub.co/help/article/password-protected-links"},{check:{free:!1,default:!0},text:"Device targeting",href:"https://dub.co/help/article/device-targeting"},{check:{free:!1,default:!0},text:"Geo targeting",href:"https://dub.co/help/article/geo-targeting"}]},{category:"Analytics",features:[{text:"Advanced analytics",href:"https://dub.co/help/article/dub-analytics"},{text:({plan:e})=>i(n,{children:[s("strong",{children:e.name==="Enterprise"?"\u221E":c(e.limits.clicks)})," ","tracked clicks/mo"]}),href:"https://dub.co/help/article/dub-analytics-limits"},{text:({id:e})=>i(n,{children:[s("strong",{children:{free:"30 day",pro:"1 year",business:"3 year",advanced:"5 year",enterprise:"\u221E"}[e]})," ","retention"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Real-time events stream",href:"https://dub.co/help/article/real-time-events-stream"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Conversion tracking",href:"https://dub.co/help/article/dub-conversions"}]},{category:"Partners",features:[{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Partner management",href:"https://dub.co/help/article/dub-partners"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e,plan:t})=>e==="free"||e==="pro"?"No tracked sales":e==="enterprise"?"\u221E tracked sales":i(n,{children:[i("strong",{children:["$",c(t.limits.sales/100)]})," tracked sales/mo"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"1-click global payouts",href:"https://dub.co/help/article/partner-payouts"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e})=>e==="free"||e==="pro"?"No payouts":i(n,{children:[s("strong",{children:{business:"7%",advanced:"5%",enterprise:"3%"}[e]})," ","payout fees"]}),href:"https://dub.co/help/article/partner-payouts#payout-fees-and-timing"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Tax compliance",href:"https://dub.co/help/article/partner-payouts#tax-compliance"},{check:{default:!1,business:!1,advanced:!0,enterprise:!0},text:"White-labeling support",href:"https://dub.co/help/article/dub-partners#white-labeled-in-app-dashboard"},{check:{default:!1,business:!1,advanced:!0,enterprise:!0},text:"Branded email domains"}]},{category:"Domains",features:[{text:({plan:e})=>i(n,{children:[s("strong",{children:c(e.limits.domains,{full:!0})})," ","custom domains"]})},{text:()=>s(n,{children:"SSL certificates"})},{check:{default:!0,free:!1},text:()=>i(n,{children:["Premium ",s("strong",{children:"dub.link"})," domain"]}),href:"https://dub.co/help/article/default-dub-domains#premium-dublink-domain"},{check:{default:!0,free:!1},text:()=>i(n,{children:["Free ",s("strong",{children:".link"})," domain"]}),href:"https://dub.co/help/article/free-dot-link-domain"}]},{category:"Workspace",features:[{text:({plan:e})=>i(n,{children:[s("strong",{children:c(e.limits.users)})," user",e.limits.users===1?"":"s"]})},{check:{default:!1,advanced:!0,enterprise:!0},text:"Role-based access control"},{check:{default:!1,enterprise:!0},text:"SAML/SSO",href:"https://dub.co/help/category/saml-sso"},{check:{default:!1,enterprise:!0},text:"Custom SLA"},{check:{default:!1,enterprise:!0},text:"Audit logs"}]},{category:"Support",features:[{text:({id:e})=>s(n,{children:s("strong",{children:{free:"Basic support",pro:"Elevated support",business:"Priority support",advanced:"Priority via Slack",enterprise:"Priority with SLA"}[e]})})},{check:{default:!1,enterprise:!0},text:()=>i(n,{children:[s("strong",{children:"Dedicated"})," success manager"]})}]},{category:"API",features:[{text:"API Access",href:"https://dub.co/docs/api-reference/introduction"},{text:"Native SDKs",href:"https://dub.co/docs/sdks/overview"},{text:({id:e,plan:t})=>i(n,{children:[s("strong",{children:e==="enterprise"?"Custom":c(t.limits.api)+"/min"})," ","rate limit"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Event webhooks",href:"https://dub.co/docs/concepts/webhooks/introduction"}]}],v=a.find(e=>e.name==="Free"),P=a.find(e=>e.name==="Pro"),_=a.find(e=>e.name==="Business"),S=a.find(e=>e.name==="Advanced"),J=a.find(e=>e.name==="Enterprise"),Be=[v,P,_,S,J],R=a.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),je=2,Ge=e=>a.find(t=>{var r;return(r=t.price.ids)==null?void 0:r.includes(e)})||null,Ze=e=>R.find(t=>t.name.toLowerCase()===e.toLowerCase()),We=e=>a.find(t=>t.name.toLowerCase()===e.toLowerCase())||v,Ke=e=>e?a[a.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1]:P,Qe=(e,t)=>{let r=a.findIndex(o=>o.name.toLowerCase()===e.toLowerCase()),l=a.findIndex(o=>o.name.toLowerCase()===t.toLowerCase());return r>l};function xt({title:e,fullTitle:t,description:r="Dub.co is the open-source link management platform for modern marketing teams to create marketing campaigns, link sharing features, and referral programs.",image:l="https://assets.dub.co/thumbnail.jpg",video:o,icons:p=[{rel:"apple-touch-icon",sizes:"32x32",url:"https://assets.dub.co/favicons/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"https://assets.dub.co/favicons/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"https://assets.dub.co/favicons/favicon-16x16.png"}],url:u,canonicalUrl:f,noIndex:L=!1,manifest:x}={}){return{title:t||(e?`${e} | Dub.co`:"Dub.co - Link Management for Modern Marketing Teams"),description:r,openGraph:{title:e,description:r,...l&&{images:l},url:u,...o&&{videos:o}},twitter:{title:e,description:r,...l&&{card:"summary_large_image",images:[l]},...o&&{player:o},creator:"@dubdotco"},icons:p,metadataBase:new URL(y),...(u||f)&&{alternates:{canonical:u||f}},...L&&{robots:{index:!1,follow:!1}},...x&&{manifest:x}}}export{xt as a,F as b,K as c,Q as d,X as e,Y as f,H as g,ee as h,te as i,se as j,ne as k,a as l,ze as m,v as n,P as o,_ as p,S as q,J as r,Be as s,R as t,je as u,Ge as v,Ze as w,We as x,Ke as y,Qe as z};
|