@dub/utils 0.1.58 → 0.1.60

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.
Files changed (83) hide show
  1. package/dist/chunk-2HHOGJXB.mjs +1 -0
  2. package/dist/chunk-2HSMBFOI.mjs +1 -0
  3. package/dist/chunk-2LYESRL5.mjs +1 -0
  4. package/dist/chunk-2NDJXVWC.mjs +1 -0
  5. package/dist/chunk-2TKIIJPI.mjs +1 -0
  6. package/dist/chunk-5Q2YLI4L.mjs +1 -0
  7. package/dist/chunk-AEAWJEY2.mjs +1 -0
  8. package/dist/chunk-AFKOLBI4.mjs +1 -0
  9. package/dist/chunk-BDY5ASEG.mjs +1 -0
  10. package/dist/chunk-CDOTQCZ3.mjs +1 -0
  11. package/dist/chunk-ERG6PU5T.mjs +1 -0
  12. package/dist/chunk-FLMBFIHC.mjs +1 -0
  13. package/dist/chunk-FR5AC454.mjs +1 -0
  14. package/dist/chunk-FWOJF67D.mjs +1 -0
  15. package/dist/chunk-GAI3IZAO.mjs +1 -0
  16. package/dist/chunk-GJBKYDBA.mjs +1 -0
  17. package/dist/chunk-GJBLP6QH.mjs +1 -0
  18. package/dist/chunk-GLWDY4K2.mjs +1 -0
  19. package/dist/chunk-HOE6NFIO.mjs +1 -0
  20. package/dist/chunk-HX4PQR3T.mjs +1 -0
  21. package/dist/chunk-IKGQBITP.mjs +1 -0
  22. package/dist/chunk-JAXOOP3R.mjs +1 -0
  23. package/dist/chunk-JM7ZLOXL.mjs +1 -0
  24. package/dist/chunk-JZ57WCP2.mjs +1 -0
  25. package/dist/chunk-K4BETBJS.mjs +1 -0
  26. package/dist/chunk-K56GMX2B.mjs +1 -0
  27. package/dist/chunk-L6HYJOVY.mjs +1 -0
  28. package/dist/chunk-LXD2UNTM.mjs +1 -0
  29. package/dist/chunk-M3U7XL4Q.mjs +1 -0
  30. package/dist/chunk-MEYA6BVQ.mjs +1 -0
  31. package/dist/chunk-N3WPSRTJ.mjs +1 -0
  32. package/dist/chunk-NWIOT6U3.mjs +1 -0
  33. package/dist/chunk-O6ZXUQQO.mjs +1 -0
  34. package/dist/chunk-PIU5P3DS.mjs +1 -0
  35. package/dist/chunk-PLCDS6T5.mjs +1 -0
  36. package/dist/chunk-QF3JEAOD.mjs +1 -0
  37. package/dist/chunk-R36YD7DK.mjs +1 -0
  38. package/dist/chunk-RDYQTUD3.mjs +1 -0
  39. package/dist/chunk-SF6KHSBJ.mjs +1 -0
  40. package/dist/chunk-SFR2JCZT.mjs +1 -0
  41. package/dist/chunk-TD44BLTR.mjs +1 -0
  42. package/dist/chunk-TQ3PVUME.mjs +1 -0
  43. package/dist/chunk-TU5X2NQ5.mjs +1 -0
  44. package/dist/chunk-UK2BTN3Y.mjs +1 -0
  45. package/dist/chunk-UMM6G7UG.mjs +1 -0
  46. package/dist/chunk-UWEMC4DE.mjs +1 -0
  47. package/dist/chunk-VL5ICGCG.mjs +1 -0
  48. package/dist/chunk-VRSIRPMN.mjs +1 -0
  49. package/dist/chunk-XIW74P6A.mjs +1 -0
  50. package/dist/chunk-YHPTFMRM.mjs +1 -0
  51. package/dist/chunk-Z6XYAAX6.mjs +1 -0
  52. package/dist/chunk-ZG6ZLUL2.mjs +1 -0
  53. package/dist/constants/dub-domains.mjs +1 -1
  54. package/dist/constants/index.d.ts +5 -4
  55. package/dist/constants/index.mjs +1 -1
  56. package/dist/constants/integrations.d.ts +2 -1
  57. package/dist/constants/integrations.mjs +1 -1
  58. package/dist/constants/main.d.ts +2 -3
  59. package/dist/constants/main.mjs +1 -1
  60. package/dist/constants/pricing/pricing-plan-main-features.d.ts +4 -16
  61. package/dist/constants/pricing/pricing-plan-main-features.mjs +1 -1
  62. package/dist/constants/pricing/pricing-plan-taglines.mjs +1 -1
  63. package/dist/constants/pricing/trial-limits.d.ts +1 -1
  64. package/dist/constants/pricing/trial-limits.mjs +1 -1
  65. package/dist/constants/tremendous-supported-countries.d.ts +3 -0
  66. package/dist/constants/tremendous-supported-countries.mjs +1 -0
  67. package/dist/functions/datetime/format-period.mjs +1 -1
  68. package/dist/functions/datetime/index.mjs +1 -1
  69. package/dist/functions/domains.mjs +1 -1
  70. package/dist/functions/index.d.ts +1 -1
  71. package/dist/functions/index.mjs +1 -1
  72. package/dist/functions/link-constructor.mjs +1 -1
  73. package/dist/functions/urls.d.ts +2 -1
  74. package/dist/functions/urls.mjs +1 -1
  75. package/dist/index.d.ts +6 -5
  76. package/dist/index.mjs +1 -1
  77. package/dist/pricing-plan-compare-features-3aa73852.d.ts +26 -0
  78. package/dist/pricing-plan-compare-features-5bdd16ce.d.ts +24 -0
  79. package/dist/pricing-plan-compare-features-86e663b9.d.ts +26 -0
  80. package/dist/pricing-plan-compare-features-a90f3a77.d.ts +24 -0
  81. package/dist/trial-limits-6b9eccfb.d.ts +122 -0
  82. package/dist/trial-limits-b8063771.d.ts +119 -0
  83. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ import{a as v}from"./chunk-JM7ZLOXL.mjs";import{a as g}from"./chunk-CP4WO7MM.mjs";import{a as k}from"./chunk-IHX4EDUF.mjs";import{a}from"./chunk-E4JQPS37.mjs";import{a as w}from"./chunk-GLWDY4K2.mjs";import{g as l}from"./chunk-FY4O7ZL5.mjs";import{a as f}from"./chunk-YUMUNL66.mjs";import{a as P,b as A}from"./chunk-SYT2IXG6.mjs";import{Fragment as p,jsx as c,jsxs as d}from"react/jsx-runtime";var O=[{category:"Links",href:"https://dub.co/links",features:[{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.links)})," ","new links",e.name==="Enterprise"?"":"/mo"]})},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.tags===l?"Unlimited":a(e.limits.tags)})," ","tags"]}),href:"https://dub.co/help/article/how-to-use-tags"},{check:{free:!1,default:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.folders===l?"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/docs/concepts/deep-links/quickstart"},{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:"Partners",href:"https://dub.co/partners",features:[{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Automated global payouts",href:"https://dub.co/help/article/partner-payouts"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e,plan:t})=>e==="free"||e==="pro"?"No partner payouts":d(p,{children:[c("strong",{children:t.name==="Enterprise"?"Unlimited":`$${a(t.limits.payouts/100)}`})," ","partner payouts",t.name==="Enterprise"?"":"/mo"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e})=>e==="free"||e==="pro"?"No partner payouts":d(p,{children:[c("strong",{children:{business:"5%",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:!0,advanced:!0,enterprise:!0},text:({id:e,plan:t})=>e==="free"||e==="pro"?"No partner rewards":d(p,{children:[c("strong",{children:t.name==="Business"?"Basic":"Advanced"})," ","partner rewards"]}),href:"https://dub.co/help/article/partner-rewards"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Dual-sided incentives",href:"https://dub.co/help/article/dual-sided-incentives"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"AI landing page generator",href:"https://dub.co/help/article/program-landing-page"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.partners===0?"No":e.limits.partners===l?"Unlimited":a(e.limits.partners)})," ","partners"]}),href:"https://dub.co/help/article/inviting-partners"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.groups===0?"No":e.limits.groups===l?"Unlimited":a(e.limits.groups)})," ","partner groups"]}),href:"https://dub.co/help/article/partner-groups"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.partnerTags===0?"No":e.limits.partnerTags===l?"Unlimited":a(e.limits.partnerTags)})," ","partner tags"]}),href:"https://dub.co/help/article/partner-groups"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Embedded referral dashboard",href:"https://dub.co/docs/partners/embedded-referrals"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Partner referral rewards",href:"https://dub.co/help/article/partner-referrals"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Partners API",href:"https://dub.co/docs/api-reference/endpoint/create-a-partner"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Messaging center",href:"https://dub.co/help/article/messaging-partners"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Email campaigns",href:"https://dub.co/help/article/email-campaigns"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Risk monitoring",href:"https://dub.co/help/article/risk-monitoring"},{check:{default:!1,enterprise:!0},text:"Partner network access"}]},{category:"Analytics",href:"https://dub.co/analytics",features:[{text:"Advanced analytics",href:"https://dub.co/help/article/dub-analytics"},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.clicks)})," ","tracked events",e.name==="Enterprise"?"":"/mo"]}),href:"https://dub.co/help/article/dub-analytics-limits"},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.retention})," retention"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Conversion tracking",href:"https://dub.co/help/article/dub-conversions"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Customer insights",href:"https://dub.co/help/article/customer-insights"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Real-time events stream",href:"https://dub.co/help/article/real-time-events-stream"}]},{category:"Domains",href:"https://dub.co/help/category/custom-domains",features:[{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.domains,{full:!0})})," ","custom domains"]})},{text:()=>c(p,{children:"SSL certificates"})},{check:{default:!0,free:!1},text:()=>d(p,{children:["Free ",c("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:t})=>d(p,{children:[c("strong",{children:e==="enterprise"?"Custom":a(t.limits.api,{full:!0})+"/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})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.users)})," ","user",e.limits.users===1?"":"s"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Role-based access control",href:"https://dub.co/help/article/folders-rbac"},{check:{default:!1,enterprise:!0},text:"SAML/SSO",href:"https://dub.co/help/category/saml-sso"},{check:{default:!1,enterprise:!0},text:"Audit logs"}]},{category:"Support",href:"https://dub.co/contact/support",features:[{text:({id:e})=>({free:"Community support",pro:"Email support",business:"Email support",advanced:"Priority email support",enterprise:"Slack support with SLA"})[e]},{check:{default:!1,enterprise:!0},text:"Dedicated success manager"}]}];import L from"@sindresorhus/slugify";var ee=e=>{let t=L(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,i)=>n.length<i.length?n:i)}.link`},te=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),re=new RegExp(/^[a-zA-Z0-9\-]+$/),ie=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),se=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?P.has(r[r.length-2])&&f.has(r[r.length-1])||A.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},oe=e=>{if(v(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}},ne=e=>w.some(t=>t.slug===e);function ce({domain:e,key:t,pretty:r,searchParams:o}){if(!e)return"";let n=`https://${k(e)}${t&&t!=="_root"?`/${k(t)}`:""}`;if(o){let i=new URLSearchParams;for(let[u,m]of Object.entries(o))i.set(u,m);n+=`?${i.toString()}`}return r?n.replace(/^https?:\/\//,""):n}function pe({domain:e,key:t}){return`https://${e}${t==="_root"?"":`/${t}`}`}var J=["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"],_={2:["price_1SQtg3AlJJEpqkPVVhDSyd9u","price_1SQtg3AlJJEpqkPVNHYhTRy7","price_1SQ8hiAlJJEpqkPVIy8pfvAC","price_1SQ8gwAlJJEpqkPVb78Oc9Yc"]},R=["price_1R8XtyAlJJEpqkPV5WZ4c0jF","price_1R8XtEAlJJEpqkPV4opVvVPq","price_1R8XxZAlJJEpqkPVqGi0wOqD","price_1R7oeBAlJJEpqkPVh6q5q3h8",...Object.values(_).flat()],I=["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw"],S={2:["price_1SQtdxAlJJEpqkPV4kNkRHZr","price_1SQtdxAlJJEpqkPV7cvJTv4g","price_1SQ8iwAlJJEpqkPVEGmKd6Lg","price_1SQ8iSAlJJEpqkPVQ5crmBtF"]},N=["price_1R3j01AlJJEpqkPVXuG1eNzm","price_1R6JedAlJJEpqkPVMUkfjch4","price_1R8XypAlJJEpqkPVdjzOcYUC","price_1R7ofLAlJJEpqkPV3MlgDpyx",...Object.values(S).flat()],x={2:["price_1SQtg6AlJJEpqkPVAJdrStq7","price_1SQtg6AlJJEpqkPVaZNisQdm","price_1SQ8jlAlJJEpqkPV6EanvSXl","price_1SQ8jJAlJJEpqkPVIwY9QZSP"],3:["price_1SQtg8AlJJEpqkPVvQVU7uQ3","price_1SQtg8AlJJEpqkPV4Nks8MkS","price_1SQ8lqAlJJEpqkPVzBaioV3I","price_1SQ8lOAlJJEpqkPVz2R8SRss"]},D=["price_1R8Xw4AlJJEpqkPV6nwdink9","price_1R3j0qAlJJEpqkPVkfGNXRwb","price_1R8XztAlJJEpqkPVnHmIU2tf","price_1R7ofzAlJJEpqkPV0L2TwyJo",...Object.values(x).flat()],s=[{name:"Free",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,payouts:0,domains:3,tags:5,partnerTags:0,folders:0,groups:0,networkInvites:0,partners:0,users:1,ai:10,api:60,analyticsApi:0,retention:"30-day"}},{name:"Pro",price:{monthly:30,yearly:25,ids:[...J,...R]},limits:{links:1e3,clicks:5e4,payouts:0,domains:10,tags:25,partnerTags:0,folders:3,groups:0,networkInvites:0,partners:0,users:3,ai:1e3,api:600,analyticsApi:2,retention:"1-year"},tiers:{2:{price:{monthly:60,yearly:50,ids:_[2]},limits:{links:5e3,clicks:15e4}}},featureTitle:"Everything in Free, plus:",features:[{id:"clicks",text:"50K tracked events/mo"},{id:"links",text:"1K new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"3 users"},{id:"advanced",text:"Advanced link features",tooltip:"ADVANCED_LINK_FEATURES"},{id:"ai",text:"Unlimited AI credits",tooltip:{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:"dotlink",text:"Free .link domain",tooltip:{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"}},{id:"folders",text:"Link folders",tooltip:{title:"Organize and manage access to your links on Dub using folders.",cta:"Learn more.",href:"https://dub.co/help/article/link-folders"}},{id:"deeplinks",text:"Deep links",tooltip:{title:"Redirect users to a specific page within your mobile application using deep links.",cta:"Learn more.",href:"https://dub.co/docs/concepts/deep-links/quickstart"}}]},{name:"Business",price:{monthly:90,yearly:75,ids:[...I,...N]},limits:{links:1e4,clicks:25e4,payouts:25e4,domains:100,tags:l,partnerTags:10,folders:20,groups:3,networkInvites:0,partners:500,users:10,ai:1e3,api:1200,analyticsApi:4,retention:"3-year"},tiers:{2:{price:{monthly:180,yearly:150,ids:S[2]},limits:{links:25e3,clicks:6e5}}},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:"250K tracked events/mo"},{id:"links",text:"10K new links/mo"},{id:"retention",text:"3-year analytics retention"},{id:"payouts",text:"$2.5K partner payouts/mo",tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}},{id:"users",text:"10 users"},{id:"partners",text:"Dub Partners",tooltip:{title:"Use Dub Partners to manage and pay out your affiliates.",cta:"Learn more.",href:"https://dub.co/partners"}},{id:"customerinsights",text:"Customer insights",tooltip:{title:"Get real-time insights into your customers' behavior and preferences.",cta:"Learn more.",href:"https://dub.co/help/article/customer-insights"}},{id:"events",text:"Real-time events stream",tooltip:{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://dub.co/help/article/real-time-events-stream"}},{id:"webhooks",text:"Event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}},{id:"tests",text:"A/B testing"}]},{name:"Advanced",price:{monthly:300,yearly:250,ids:D},limits:{links:5e4,clicks:1e6,payouts:15e5,domains:250,tags:l,partnerTags:l,folders:50,groups:l,networkInvites:0,partners:l,users:20,ai:1e3,api:3e3,analyticsApi:8,retention:"5-year"},tiers:{2:{price:{monthly:600,yearly:500,ids:x[2]},limits:{links:15e4,clicks:2e6}},3:{price:{monthly:900,yearly:750,ids:x[3]},limits:{links:3e5,clicks:35e5}}},featureTitle:"Everything in Business, plus:",features:[{id:"clicks",text:"1M tracked events/mo"},{id:"links",text:"50K new links/mo"},{id:"retention",text:"5-year analytics retention"},{id:"payouts",text:"$15K partner payouts/mo",tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}},{id:"users",text:"20 users"},{id:"flexiblerewards",text:"Advanced reward structures",tooltip:{title:"Create dynamic click, lead, or sale-based rewards with country and product-specific modifiers.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"embeddedreferrals",text:"Embedded referral dashboard",tooltip:{title:"Create an embedded referral dashboard directly in your app in just a few lines of code.",cta:"Learn more.",href:"https://dub.co/docs/partners/embedded-referrals"}},{id:"messages",text:"Messaging center",tooltip:{title:"Easily communicate with your partners using our messaging center."}},{id:"email",text:"Email campaigns",tooltip:{title:"Send marketing and transactional emails to your partners to increase engagement and drive conversions.",cta:"Learn more.",href:"https://dub.co/help/article/email-campaigns"}},{id:"slack",text:"Priority email support"}]},{name:"Enterprise",price:{monthly:null,yearly:null},limits:{links:5e5,clicks:5e6,payouts:l,domains:250,tags:l,partnerTags:l,folders:l,groups:l,networkInvites:20,partners:l,users:30,ai:1e3,api:3e3,analyticsApi:16,retention:"Unlimited"}}],ot=s.find(e=>e.name==="Free"),q=s.find(e=>e.name==="Pro"),nt=s.find(e=>e.name==="Business"),at=s.find(e=>e.name==="Advanced"),V=s.find(e=>e.name==="Enterprise"),lt=s.filter(e=>["Pro","Business","Advanced"].includes(e.name)),ct=2,b=(e,t)=>{var n;let r=e.tiers&&t>1?e.tiers[t]:void 0,o=(r==null?void 0:r.limits)??e.limits;return{...e,limits:{...e.limits,...o},price:{...e.price,...r==null?void 0:r.price},features:(n=e.features)==null?void 0:n.map(i=>({...i,text:i.id==="clicks"?`${a(o.clicks)} tracked events/mo`:i.id==="links"?`${a(o.links)} new links/mo`:i.text}))}},pt=({priceId:e})=>{var o;let t=s.find(n=>{var i;return(i=n.price.ids)==null?void 0:i.includes(e)});if(!t)return{plan:null,planTier:1};let r=t.tiers&&Number((o=Object.entries(t.tiers).find(([n,{price:i}])=>i.ids.includes(e)))==null?void 0:o[0])||1;return{plan:b(t,r),planTier:r}},dt=({plan:e,planTier:t=1})=>{let r=s.find(o=>o.name.toLowerCase()===e.split(" ")[0].toLowerCase());return b(r,t)},ut=e=>{if(!e)return q;let t=e.toLowerCase().split(" ")[0];return s[Math.min(s.findIndex(r=>r.name.toLowerCase()===t)+1,s.length-1)]},mt=({currentPlan:e,newPlan:t,currentTier:r,newTier:o})=>{let n=s.findIndex(u=>u.name.toLowerCase()===e.toLowerCase()),i=s.findIndex(u=>u.name.toLowerCase()===t.toLowerCase());return n>i||n===i&&(r??1)>(o??1)},ft=({events:e,links:t})=>{let r=null;for(let o of s){let n=[1,...Object.keys(o.tiers??{}).map(Number).filter(i=>i>=2)].find(i=>{var m,E;let u=i===1?o.limits:((E=(m=o.tiers)==null?void 0:m[i])==null?void 0:E.limits)??o.limits;return u.clicks>=(e??0)&&u.links>=(t??0)});if(n!==void 0){r={plan:b(o,n),planTier:n};break}}return r??{plan:V,planTier:1}},ht=({plan:e="business",partnersLimit:t=0})=>e==="business"&&t===0;var h=e=>[{id:"clicks",text:e.name==="Enterprise"?"Unlimited tracked events":`${a(e.limits.clicks)} tracked events/mo`},{id:"links",text:e.name==="Enterprise"?"Unlimited new links":`${a(e.limits.links)} new links/mo`},...e.name!=="Enterprise"?[{id:"retention",text:`${e.limits.retention} analytics retention`}]:[]],y=e=>[{id:"payouts",text:e.name==="Enterprise"?"Unlimited partner payouts":`$${a(e.limits.payouts/100)} partner payouts/mo`,tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}}],bt={links:{Pro:[{features:[...h(s.find(e=>e.name==="Pro")),{id:"advanced",text:"Advanced link features",tooltip:{title:"Supercharge your links with [custom link previews](https://dub.co/help/article/custom-link-previews), [device targeting](https://dub.co/help/article/device-targeting), [geo targeting](https://dub.co/help/article/geo-targeting), [link cloaking](https://dub.co/help/article/link-cloaking), [password protection](https://dub.co/help/article/password-protected-links), and more."}},{id:"dotlink",text:"Free .link domain",tooltip:{title:"Get a free .link custom domain for 1 year with any of Dub's paid plans.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}},{id:"folders",text:"Link folders",tooltip:{title:"Organize and manage access to your links on Dub using folders.",cta:"Learn more.",href:"https://dub.co/help/article/link-folders"}},{id:"deeplinks",text:"Deep links",tooltip:{title:"Redirect users to a specific page within your mobile application using deep links.",cta:"Learn more.",href:"https://dub.co/docs/concepts/deep-links/quickstart"}}]}],Business:[{features:[...h(s.find(e=>e.name==="Business")),{id:"conversions",text:"Conversion tracking",tooltip:{title:"Track how your link clicks are converting to signups and sales.",cta:"Learn more.",href:"https://dub.co/docs/quickstart/server"}},{id:"tests",text:"A/B testing",tooltip:{title:"Run A/B tests to compare different short-link variations and identify what drives the highest conversions.",cta:"Learn more.",href:"https://dub.co/help/article/ab-testing"}},{id:"roles",text:"Customer insights",tooltip:{title:"Get real-time insights into your customers' behavior and preferences.",cta:"Learn more.",href:"https://dub.co/help/article/customer-insights"}},{id:"webhooks",text:"Event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}}]}],Advanced:[{features:[...h(s.find(e=>e.name==="Advanced")),{id:"api",text:"Elevated API rate limits",tooltip:{title:"Get access to elevated [API rate limits](https://dub.co/docs/api-reference/rate-limits) to build advanced integrations and automate your workflows."}},{id:"success",text:"Priority email support"}]}],Enterprise:[{features:[...h(s.find(e=>e.name==="Enterprise")),{id:"sso",text:"SSO/SAML"},{id:"logs",text:"Audit logs"},{id:"slack",text:"Dedicated Slack support"}]}]},partners:{Business:[{features:[...y(s.find(e=>e.name==="Business")),{id:"basicrewards",text:"Basic reward structures",tooltip:{title:"Create custom click, lead, or sale-based rewards, tailored to each partner's needs.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"conversions",text:"Dual-sided incentives",tooltip:{title:"Offer dual-sided incentives to your partners and the users they refer.",cta:"Learn more.",href:"https://dub.co/help/article/dual-sided-incentives"}},{id:"bounties",text:"Program bounties",tooltip:{title:"Drive partner engagement by creating performance and submission bounties for your partner program.",cta:"Learn more.",href:"https://dub.co/help/article/program-bounties"}},{id:"analytics",text:"Real-time analytics",tooltip:{title:"Get real-time insights into your partner program's performance and engagement.",cta:"Learn more.",href:"https://dub.co/help/article/program-analytics"}},{id:"ailandingpage",text:"AI landing page generator",tooltip:{title:"Generate compelling landing pages using Dub AI to attract high-quality partners to join your program.",cta:"Learn more.",href:"https://dub.co/help/article/program-landing-page"}},{id:"webhooks",text:"Real-time event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}},{id:"customerinsights",text:"Basic email support"}]}],Advanced:[{features:[...y(s.find(e=>e.name==="Advanced")),{id:"flexiblerewards",text:"Advanced reward structures",tooltip:{title:"Create dynamic click, lead, or sale-based rewards with country and product-specific modifiers.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"email",text:"Email campaigns",tooltip:{title:"Send marketing and transactional emails to your partners to increase engagement and drive conversions.",cta:"Learn more.",href:"https://dub.co/help/article/email-campaigns"}},{id:"messages",text:"Messaging center",tooltip:{title:"Easily communicate with your partners using our messaging center."}},{id:"sso",text:"Risk monitoring",tooltip:{title:"Safeguard your partner program by automatically flagging, reviewing, and resolving suspicious activity.",cta:"Learn more.",href:"https://dub.co/help/article/risk-monitoring"}},{id:"embeddedreferrals",text:"Embedded referral dashboard",tooltip:{title:"Create an embedded referral dashboard directly in your app in just a few lines of code.",cta:"Learn more.",href:"https://dub.co/docs/partners/embedded-referrals"}},{id:"partnerreferrals",text:"Partner referral rewards",tooltip:{title:"Reward partners for referring other partners to your affiliate program.",cta:"Learn more.",href:"https://dub.co/help/article/partner-referrals"}},{id:"success",text:"Priority email support"}]}],Enterprise:[{features:[...y(s.find(e=>e.name==="Enterprise")),{id:"volume",text:"Volume discounts",tooltip:{title:"Get access to volume discounts for [payout fees](https://dub.co/help/article/partner-payouts#payout-fees-and-timing) and [tracked events usage](https://dub.co/help/article/dub-analytics-limits)."}},{id:"partnergroups",text:"Access to Partner Network",tooltip:{title:"Get access to our network of 10,000+ top affiliates to recruit from and grow your program."}},{id:"partners",text:"Featured in Program Marketplace",tooltip:{title:"Get featured in front of our network of 500,000+ total affiliates and receive 10x more applications.",cta:"Learn more.",href:"https://dub.co/help/article/program-marketplace"}},{id:"sso",text:"SSO/SAML",tooltip:{title:"Enable single sign-on (SSO) for your entire organization using SAML.",cta:"Learn more.",href:"https://dub.co/help/category/saml-sso"}},{id:"logs",text:"Audit logs"},{id:"sla",text:"Custom SLA"},{id:"slack",text:"Dedicated Slack support"}]}]}};var Kt=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"})}`;export{O as a,Kt as b,ee as c,te as d,re as e,ie as f,se as g,oe as h,ne as i,ce as j,pe as k,N as l,s as m,ot as n,q as o,nt as p,at as q,V as r,lt as s,ct as t,pt as u,dt as v,ut as w,mt as x,ft as y,ht as z,bt as A};
@@ -0,0 +1 @@
1
+ import{a as E}from"./chunk-6YGW3G46.mjs";var O=["AF","BY","CU","IR","IQ","KP","RU","SY","UA","VE","YE"],S=Object.keys(E).filter(U=>!O.includes(U));export{S as a};
@@ -0,0 +1 @@
1
+ import{a as v}from"./chunk-JM7ZLOXL.mjs";import{a as g}from"./chunk-CP4WO7MM.mjs";import{a as k}from"./chunk-IHX4EDUF.mjs";import{a}from"./chunk-E4JQPS37.mjs";import{a as w}from"./chunk-GLWDY4K2.mjs";import{g as l}from"./chunk-FY4O7ZL5.mjs";import{a as f}from"./chunk-YUMUNL66.mjs";import{a as A,b as P}from"./chunk-SYT2IXG6.mjs";import{Fragment as p,jsx as c,jsxs as d}from"react/jsx-runtime";var O=[{category:"Links",href:"https://dub.co/links",features:[{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.links)})," ","new links",e.name==="Enterprise"?"":"/mo"]})},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.tags===l?"Unlimited":a(e.limits.tags)})," ","tags"]}),href:"https://dub.co/help/article/how-to-use-tags"},{check:{free:!1,default:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.folders===l?"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/docs/concepts/deep-links/quickstart"},{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:"Partners",href:"https://dub.co/partners",features:[{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Automated global payouts",href:"https://dub.co/help/article/partner-payouts"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e,plan:t})=>e==="free"||e==="pro"?"No partner payouts":d(p,{children:[c("strong",{children:t.name==="Enterprise"?"Unlimited":`$${a(t.limits.payouts/100)}`})," ","partner payouts",t.name==="Enterprise"?"":"/mo"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e})=>e==="free"||e==="pro"?"No partner payouts":d(p,{children:[c("strong",{children:{business:"5%",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:!0,advanced:!0,enterprise:!0},text:({id:e,plan:t})=>e==="free"||e==="pro"?"No partner rewards":d(p,{children:[c("strong",{children:t.name==="Business"?"Basic":"Advanced"})," ","partner rewards"]}),href:"https://dub.co/help/article/partner-rewards"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Dual-sided incentives",href:"https://dub.co/help/article/dual-sided-incentives"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"AI landing page generator",href:"https://dub.co/help/article/program-landing-page"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.partners===0?"No":e.limits.partners===l?"Unlimited":a(e.limits.partners)})," ","partners"]}),href:"https://dub.co/help/article/inviting-partners"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.groups===0?"No":e.limits.groups===l?"Unlimited":a(e.limits.groups)})," ","partner groups"]}),href:"https://dub.co/help/article/partner-groups"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.partnerTags===0?"No":e.limits.partnerTags===l?"Unlimited":a(e.limits.partnerTags)})," ","partner tags"]}),href:"https://dub.co/help/article/partner-groups"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Embedded referral dashboard",href:"https://dub.co/docs/partners/embedded-referrals"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Partners API",href:"https://dub.co/docs/api-reference/endpoint/create-a-partner"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Messaging center"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Email campaigns"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Fraud & risk prevention"},{check:{default:!1,enterprise:!0},text:"Partner network access"}]},{category:"Analytics",href:"https://dub.co/analytics",features:[{text:"Advanced analytics",href:"https://dub.co/help/article/dub-analytics"},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.clicks)})," ","tracked events",e.name==="Enterprise"?"":"/mo"]}),href:"https://dub.co/help/article/dub-analytics-limits"},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.retention})," retention"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Conversion tracking",href:"https://dub.co/help/article/dub-conversions"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Customer insights",href:"https://dub.co/help/article/customer-insights"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Real-time events stream",href:"https://dub.co/help/article/real-time-events-stream"}]},{category:"Domains",href:"https://dub.co/help/category/custom-domains",features:[{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.domains,{full:!0})})," ","custom domains"]})},{text:()=>c(p,{children:"SSL certificates"})},{check:{default:!0,free:!1},text:()=>d(p,{children:["Free ",c("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:t})=>d(p,{children:[c("strong",{children:e==="enterprise"?"Custom":a(t.limits.api,{full:!0})+"/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})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.users)})," ","user",e.limits.users===1?"":"s"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Role-based access control",href:"https://dub.co/help/article/folders-rbac"},{check:{default:!1,enterprise:!0},text:"SAML/SSO",href:"https://dub.co/help/category/saml-sso"},{check:{default:!1,enterprise:!0},text:"Audit logs"}]},{category:"Support",href:"https://dub.co/contact/support",features:[{text:({id:e})=>({free:"Community support",pro:"Email support",business:"Email support",advanced:"Priority email support",enterprise:"Slack support with SLA"})[e]},{check:{default:!1,enterprise:!0},text:"Dedicated success manager"}]}];import L from"@sindresorhus/slugify";var ee=e=>{let t=L(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,i)=>n.length<i.length?n:i)}.link`},te=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),re=new RegExp(/^[a-zA-Z0-9\-]+$/),ie=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),se=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?A.has(r[r.length-2])&&f.has(r[r.length-1])||P.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},oe=e=>{if(v(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}},ne=e=>w.some(t=>t.slug===e);function ce({domain:e,key:t,pretty:r,searchParams:o}){if(!e)return"";let n=`https://${k(e)}${t&&t!=="_root"?`/${k(t)}`:""}`;if(o){let i=new URLSearchParams;for(let[u,m]of Object.entries(o))i.set(u,m);n+=`?${i.toString()}`}return r?n.replace(/^https?:\/\//,""):n}function pe({domain:e,key:t}){return`https://${e}${t==="_root"?"":`/${t}`}`}var J=["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"],_={2:["price_1SQtg3AlJJEpqkPVVhDSyd9u","price_1SQtg3AlJJEpqkPVNHYhTRy7","price_1SQ8hiAlJJEpqkPVIy8pfvAC","price_1SQ8gwAlJJEpqkPVb78Oc9Yc"]},R=["price_1R8XtyAlJJEpqkPV5WZ4c0jF","price_1R8XtEAlJJEpqkPV4opVvVPq","price_1R8XxZAlJJEpqkPVqGi0wOqD","price_1R7oeBAlJJEpqkPVh6q5q3h8",...Object.values(_).flat()],I=["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw"],S={2:["price_1SQtdxAlJJEpqkPV4kNkRHZr","price_1SQtdxAlJJEpqkPV7cvJTv4g","price_1SQ8iwAlJJEpqkPVEGmKd6Lg","price_1SQ8iSAlJJEpqkPVQ5crmBtF"]},N=["price_1R3j01AlJJEpqkPVXuG1eNzm","price_1R6JedAlJJEpqkPVMUkfjch4","price_1R8XypAlJJEpqkPVdjzOcYUC","price_1R7ofLAlJJEpqkPV3MlgDpyx",...Object.values(S).flat()],x={2:["price_1SQtg6AlJJEpqkPVAJdrStq7","price_1SQtg6AlJJEpqkPVaZNisQdm","price_1SQ8jlAlJJEpqkPV6EanvSXl","price_1SQ8jJAlJJEpqkPVIwY9QZSP"],3:["price_1SQtg8AlJJEpqkPVvQVU7uQ3","price_1SQtg8AlJJEpqkPV4Nks8MkS","price_1SQ8lqAlJJEpqkPVzBaioV3I","price_1SQ8lOAlJJEpqkPVz2R8SRss"]},D=["price_1R8Xw4AlJJEpqkPV6nwdink9","price_1R3j0qAlJJEpqkPVkfGNXRwb","price_1R8XztAlJJEpqkPVnHmIU2tf","price_1R7ofzAlJJEpqkPV0L2TwyJo",...Object.values(x).flat()],s=[{name:"Free",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,payouts:0,domains:3,tags:5,partnerTags:0,folders:0,groups:0,networkInvites:0,partners:0,users:1,ai:10,api:60,analyticsApi:0,retention:"30-day"}},{name:"Pro",price:{monthly:30,yearly:25,ids:[...J,...R]},limits:{links:1e3,clicks:5e4,payouts:0,domains:10,tags:25,partnerTags:0,folders:3,groups:0,networkInvites:0,partners:0,users:3,ai:1e3,api:600,analyticsApi:2,retention:"1-year"},tiers:{2:{price:{monthly:60,yearly:50,ids:_[2]},limits:{links:5e3,clicks:15e4}}},featureTitle:"Everything in Free, plus:",features:[{id:"clicks",text:"50K tracked events/mo"},{id:"links",text:"1K new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"3 users"},{id:"advanced",text:"Advanced link features",tooltip:"ADVANCED_LINK_FEATURES"},{id:"ai",text:"Unlimited AI credits",tooltip:{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:"dotlink",text:"Free .link domain",tooltip:{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"}},{id:"folders",text:"Link folders",tooltip:{title:"Organize and manage access to your links on Dub using folders.",cta:"Learn more.",href:"https://dub.co/help/article/link-folders"}},{id:"deeplinks",text:"Deep links",tooltip:{title:"Redirect users to a specific page within your mobile application using deep links.",cta:"Learn more.",href:"https://dub.co/docs/concepts/deep-links/quickstart"}}]},{name:"Business",price:{monthly:90,yearly:75,ids:[...I,...N]},limits:{links:1e4,clicks:25e4,payouts:25e4,domains:100,tags:l,partnerTags:10,folders:20,groups:3,networkInvites:0,partners:500,users:10,ai:1e3,api:1200,analyticsApi:4,retention:"3-year"},tiers:{2:{price:{monthly:180,yearly:150,ids:S[2]},limits:{links:25e3,clicks:6e5}}},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:"250K tracked events/mo"},{id:"links",text:"10K new links/mo"},{id:"retention",text:"3-year analytics retention"},{id:"payouts",text:"$2.5K partner payouts/mo",tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}},{id:"users",text:"10 users"},{id:"partners",text:"Dub Partners",tooltip:{title:"Use Dub Partners to manage and pay out your affiliates.",cta:"Learn more.",href:"https://dub.co/partners"}},{id:"customerinsights",text:"Customer insights",tooltip:{title:"Get real-time insights into your customers' behavior and preferences.",cta:"Learn more.",href:"https://dub.co/help/article/customer-insights"}},{id:"events",text:"Real-time events stream",tooltip:{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://dub.co/help/article/real-time-events-stream"}},{id:"webhooks",text:"Event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}},{id:"tests",text:"A/B testing"}]},{name:"Advanced",price:{monthly:300,yearly:250,ids:D},limits:{links:5e4,clicks:1e6,payouts:15e5,domains:250,tags:l,partnerTags:l,folders:50,groups:l,networkInvites:0,partners:l,users:20,ai:1e3,api:3e3,analyticsApi:8,retention:"5-year"},tiers:{2:{price:{monthly:600,yearly:500,ids:x[2]},limits:{links:15e4,clicks:2e6}},3:{price:{monthly:900,yearly:750,ids:x[3]},limits:{links:3e5,clicks:35e5}}},featureTitle:"Everything in Business, plus:",features:[{id:"clicks",text:"1M tracked events/mo"},{id:"links",text:"50K new links/mo"},{id:"retention",text:"5-year analytics retention"},{id:"payouts",text:"$15K partner payouts/mo",tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}},{id:"users",text:"20 users"},{id:"flexiblerewards",text:"Advanced reward structures",tooltip:{title:"Create dynamic click, lead, or sale-based rewards with country and product-specific modifiers.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"embeddedreferrals",text:"Embedded referral dashboard",tooltip:{title:"Create an embedded referral dashboard directly in your app in just a few lines of code.",cta:"Learn more.",href:"https://dub.co/docs/partners/embedded-referrals"}},{id:"messages",text:"Messaging center",tooltip:{title:"Easily communicate with your partners using our messaging center."}},{id:"email",text:"Email campaigns",tooltip:{title:"Send marketing and transactional emails to your partners to increase engagement and drive conversions.",cta:"Learn more.",href:"https://dub.co/help/article/email-campaigns"}},{id:"slack",text:"Priority email support"}]},{name:"Enterprise",price:{monthly:null,yearly:null},limits:{links:5e5,clicks:5e6,payouts:l,domains:250,tags:l,partnerTags:l,folders:l,groups:l,networkInvites:20,partners:l,users:30,ai:1e3,api:3e3,analyticsApi:16,retention:"Unlimited"}}],ot=s.find(e=>e.name==="Free"),q=s.find(e=>e.name==="Pro"),nt=s.find(e=>e.name==="Business"),at=s.find(e=>e.name==="Advanced"),V=s.find(e=>e.name==="Enterprise"),lt=s.filter(e=>["Pro","Business","Advanced"].includes(e.name)),ct=2,b=(e,t)=>{var n;let r=e.tiers&&t>1?e.tiers[t]:void 0,o=(r==null?void 0:r.limits)??e.limits;return{...e,limits:{...e.limits,...o},price:{...e.price,...r==null?void 0:r.price},features:(n=e.features)==null?void 0:n.map(i=>({...i,text:i.id==="clicks"?`${a(o.clicks)} tracked events/mo`:i.id==="links"?`${a(o.links)} new links/mo`:i.text}))}},pt=({priceId:e})=>{var o;let t=s.find(n=>{var i;return(i=n.price.ids)==null?void 0:i.includes(e)});if(!t)return{plan:null,planTier:1};let r=t.tiers&&Number((o=Object.entries(t.tiers).find(([n,{price:i}])=>i.ids.includes(e)))==null?void 0:o[0])||1;return{plan:b(t,r),planTier:r}},dt=({plan:e,planTier:t=1})=>{let r=s.find(o=>o.name.toLowerCase()===e.split(" ")[0].toLowerCase());return b(r,t)},ut=e=>{if(!e)return q;let t=e.toLowerCase().split(" ")[0];return s[Math.min(s.findIndex(r=>r.name.toLowerCase()===t)+1,s.length-1)]},mt=({currentPlan:e,newPlan:t,currentTier:r,newTier:o})=>{let n=s.findIndex(u=>u.name.toLowerCase()===e.toLowerCase()),i=s.findIndex(u=>u.name.toLowerCase()===t.toLowerCase());return n>i||n===i&&(r??1)>(o??1)},ft=({events:e,links:t})=>{let r=null;for(let o of s){let n=[1,...Object.keys(o.tiers??{}).map(Number).filter(i=>i>=2)].find(i=>{var m,E;let u=i===1?o.limits:((E=(m=o.tiers)==null?void 0:m[i])==null?void 0:E.limits)??o.limits;return u.clicks>=(e??0)&&u.links>=(t??0)});if(n!==void 0){r={plan:b(o,n),planTier:n};break}}return r??{plan:V,planTier:1}},ht=({plan:e="business",partnersLimit:t=0})=>e==="business"&&t===0;var h=e=>[{id:"clicks",text:e.name==="Enterprise"?"Unlimited tracked events":`${a(e.limits.clicks)} tracked events/mo`},{id:"links",text:e.name==="Enterprise"?"Unlimited new links":`${a(e.limits.links)} new links/mo`},...e.name!=="Enterprise"?[{id:"retention",text:`${e.limits.retention} analytics retention`}]:[]],y=e=>[{id:"payouts",text:e.name==="Enterprise"?"Unlimited partner payouts":`$${a(e.limits.payouts/100)} partner payouts/mo`,tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}}],bt={links:{Pro:[{features:[...h(s.find(e=>e.name==="Pro")),{id:"advanced",text:"Advanced link features",tooltip:{title:"Supercharge your links with [custom link previews](https://dub.co/help/article/custom-link-previews), [device targeting](https://dub.co/help/article/device-targeting), [geo targeting](https://dub.co/help/article/geo-targeting), [link cloaking](https://dub.co/help/article/link-cloaking), [password protection](https://dub.co/help/article/password-protected-links), and more."}},{id:"dotlink",text:"Free .link domain",tooltip:{title:"Get a free .link custom domain for 1 year with any of Dub's paid plans.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}},{id:"folders",text:"Link folders",tooltip:{title:"Organize and manage access to your links on Dub using folders.",cta:"Learn more.",href:"https://dub.co/help/article/link-folders"}},{id:"deeplinks",text:"Deep links",tooltip:{title:"Redirect users to a specific page within your mobile application using deep links.",cta:"Learn more.",href:"https://dub.co/docs/concepts/deep-links/quickstart"}}]}],Business:[{features:[...h(s.find(e=>e.name==="Business")),{id:"conversions",text:"Conversion tracking",tooltip:{title:"Track how your link clicks are converting to signups and sales.",cta:"Learn more.",href:"https://dub.co/docs/quickstart/server"}},{id:"tests",text:"A/B testing",tooltip:{title:"Run A/B tests to compare different short-link variations and identify what drives the highest conversions.",cta:"Learn more.",href:"https://dub.co/help/article/ab-testing"}},{id:"roles",text:"Customer insights",tooltip:{title:"Get real-time insights into your customers' behavior and preferences.",cta:"Learn more.",href:"https://dub.co/help/article/customer-insights"}},{id:"webhooks",text:"Event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}}]}],Advanced:[{features:[...h(s.find(e=>e.name==="Advanced")),{id:"api",text:"Elevated API rate limits",tooltip:{title:"Get access to elevated API rate limits to build advanced integrations and automate your workflows.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/rate-limits"}},{id:"success",text:"Priority email support"}]}],Enterprise:[{features:[...h(s.find(e=>e.name==="Enterprise")),{id:"sso",text:"SSO/SAML"},{id:"logs",text:"Audit logs"},{id:"slack",text:"Dedicated Slack support"}]}]},partners:{Business:[{features:[...y(s.find(e=>e.name==="Business")),{id:"basicrewards",text:"Basic reward structures",tooltip:{title:"Create custom click, lead, or sale-based rewards, tailored to each partner's needs.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"conversions",text:"Dual-sided incentives",tooltip:{title:"Offer dual-sided incentives to your partners and the users they refer.",cta:"Learn more.",href:"https://dub.co/help/article/dual-sided-incentives"}},{id:"bounties",text:"Program bounties",tooltip:{title:"Drive partner engagement by creating performance and submission bounties for your partner program.",cta:"Learn more.",href:"https://dub.co/help/article/program-bounties"}},{id:"analytics",text:"Real-time analytics",tooltip:{title:"Get real-time insights into your partner program's performance and engagement.",cta:"Learn more.",href:"https://dub.co/help/article/program-analytics"}},{id:"ailandingpage",text:"AI landing page generator",tooltip:{title:"Generate compelling landing pages using Dub AI to attract high-quality partners to join your program.",cta:"Learn more.",href:"https://dub.co/help/article/program-landing-page"}},{id:"webhooks",text:"Real-time event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}},{id:"customerinsights",text:"Basic email support"}]}],Advanced:[{features:[...y(s.find(e=>e.name==="Advanced")),{id:"flexiblerewards",text:"Advanced reward structures",tooltip:{title:"Create dynamic click, lead, or sale-based rewards with country and product-specific modifiers.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"email",text:"Email campaigns",tooltip:{title:"Send marketing and transactional emails to your partners to increase engagement and drive conversions.",cta:"Learn more.",href:"https://dub.co/help/article/email-campaigns"}},{id:"messages",text:"Messaging center",tooltip:{title:"Easily communicate with your partners using our messaging center."}},{id:"frauddetection",text:"Fraud detection",tooltip:{title:"Safeguard your partner program by automatically flagging, reviewing, and resolving suspicious activity.",cta:"Learn more.",href:"https://dub.co/help/article/risk-monitoring"}},{id:"embeddedreferrals",text:"Embedded referral dashboard",tooltip:{title:"Create an embedded referral dashboard directly in your app in just a few lines of code.",cta:"Learn more.",href:"https://dub.co/docs/partners/embedded-referrals"}},{id:"api",text:"Partners API",tooltip:{title:"Leverage our partners API to build a bespoke, white-labeled referral program that lives within your app.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/endpoint/create-a-partner"}},{id:"success",text:"Priority email support"}]}],Enterprise:[{features:[...y(s.find(e=>e.name==="Enterprise")),{id:"volume",text:"Volume discounts",tooltip:{title:"Get access to volume discounts for payout fees and tracked events usage."}},{id:"partnergroups",text:"Access to Partner Network",tooltip:{title:"Get access to our network of 10,000+ top affiliates to recruit from and grow your program."}},{id:"partners",text:"Featured in Program Marketplace",tooltip:{title:"Get featured in front of our network of 500,000+ total affiliates and receive 10x more applications.",cta:"Learn more.",href:"https://dub.co/help/article/program-marketplace"}},{id:"sso",text:"SSO/SAML",tooltip:{title:"Enable single sign-on (SSO) for your entire organization using SAML.",cta:"Learn more.",href:"https://dub.co/help/category/saml-sso"}},{id:"logs",text:"Audit logs"},{id:"sla",text:"Custom SLA"},{id:"slack",text:"Dedicated Slack support"}]}]}};var Kt=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"})}`;export{O as a,Kt as b,ee as c,te as d,re as e,ie as f,se as g,oe as h,ne as i,ce as j,pe as k,N as l,s as m,ot as n,q as o,nt as p,at as q,V as r,lt as s,ct as t,pt as u,dt as v,ut as w,mt as x,ft as y,ht as z,bt as A};
@@ -0,0 +1 @@
1
+ import{a as w}from"./chunk-JM7ZLOXL.mjs";import{a as g}from"./chunk-CP4WO7MM.mjs";import{a as x}from"./chunk-IHX4EDUF.mjs";import{a}from"./chunk-E4JQPS37.mjs";import{a as _}from"./chunk-GLWDY4K2.mjs";import{g as l}from"./chunk-FY4O7ZL5.mjs";import{a as f}from"./chunk-YUMUNL66.mjs";import{a as A,b as P}from"./chunk-SYT2IXG6.mjs";import{Fragment as p,jsx as c,jsxs as d}from"react/jsx-runtime";var O=[{category:"Links",href:"https://dub.co/links",features:[{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.links)})," ","new links",e.name==="Enterprise"?"":"/mo"]})},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.tags===l?"Unlimited":a(e.limits.tags)})," ","tags"]}),href:"https://dub.co/help/article/how-to-use-tags"},{check:{free:!1,default:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.folders===l?"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/docs/concepts/deep-links/quickstart"},{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:"Partners",href:"https://dub.co/partners",features:[{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Automated global payouts",href:"https://dub.co/help/article/partner-payouts"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e,plan:t})=>e==="free"||e==="pro"?"No partner payouts":d(p,{children:[c("strong",{children:t.name==="Enterprise"?"Unlimited":`$${a(t.limits.payouts/100)}`})," ","partner payouts",t.name==="Enterprise"?"":"/mo"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e})=>e==="free"||e==="pro"?"No partner payouts":d(p,{children:[c("strong",{children:{business:"5%",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:!0,advanced:!0,enterprise:!0},text:({id:e,plan:t})=>e==="free"||e==="pro"?"No partner rewards":d(p,{children:[c("strong",{children:t.name==="Business"?"Basic":"Advanced"})," ","partner rewards"]}),href:"https://dub.co/help/article/partner-rewards"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Dual-sided incentives",href:"https://dub.co/help/article/dual-sided-incentives"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"AI landing page generator",href:"https://dub.co/help/article/program-landing-page"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.partners===0?"No":e.limits.partners===l?"Unlimited":a(e.limits.partners)})," ","partners"]}),href:"https://dub.co/help/article/inviting-partners"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.groups===0?"No":e.limits.groups===l?"Unlimited":a(e.limits.groups)})," ","partner groups"]}),href:"https://dub.co/help/article/partner-groups"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.partnerTags===0?"No":e.limits.partnerTags===l?"Unlimited":a(e.limits.partnerTags)})," ","partner tags"]}),href:"https://dub.co/help/article/partner-groups"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Embedded referral dashboard",href:"https://dub.co/docs/partners/embedded-referrals"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Partners API",href:"https://dub.co/docs/api-reference/endpoint/create-a-partner"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Messaging center"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Email campaigns"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Fraud & risk prevention"},{check:{default:!1,enterprise:!0},text:"Partner network access"}]},{category:"Analytics",href:"https://dub.co/analytics",features:[{text:"Advanced analytics",href:"https://dub.co/help/article/dub-analytics"},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.clicks)})," ","tracked events",e.name==="Enterprise"?"":"/mo"]}),href:"https://dub.co/help/article/dub-analytics-limits"},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.retention})," retention"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Conversion tracking",href:"https://dub.co/help/article/dub-conversions"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Customer insights",href:"https://dub.co/help/article/customer-insights"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Real-time events stream",href:"https://dub.co/help/article/real-time-events-stream"}]},{category:"Domains",href:"https://dub.co/help/category/custom-domains",features:[{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.domains,{full:!0})})," ","custom domains"]})},{text:()=>c(p,{children:"SSL certificates"})},{check:{default:!0,free:!1},text:()=>d(p,{children:["Free ",c("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:t})=>d(p,{children:[c("strong",{children:e==="enterprise"?"Custom":a(t.limits.api,{full:!0})+"/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})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.users)})," ","user",e.limits.users===1?"":"s"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Role-based access control",href:"https://dub.co/help/article/folders-rbac"},{check:{default:!1,enterprise:!0},text:"SAML/SSO",href:"https://dub.co/help/category/saml-sso"},{check:{default:!1,enterprise:!0},text:"Audit logs"}]},{category:"Support",href:"https://dub.co/contact/support",features:[{text:({id:e})=>({free:"Community support",pro:"Email support",business:"Email support",advanced:"Priority email support",enterprise:"Slack support with SLA"})[e]},{check:{default:!1,enterprise:!0},text:"Dedicated success manager"}]}];import L from"@sindresorhus/slugify";var ee=e=>{let t=L(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,i)=>n.length<i.length?n:i)}.link`},te=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),re=new RegExp(/^[a-zA-Z0-9\-]+$/),ie=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),se=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?A.has(r[r.length-2])&&f.has(r[r.length-1])||P.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},oe=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}},ne=e=>_.some(t=>t.slug===e);function ce({domain:e,key:t,pretty:r,searchParams:o}){if(!e)return"";let n=`https://${x(e)}${t&&t!=="_root"?`/${x(t)}`:""}`;if(o){let i=new URLSearchParams;for(let[u,m]of Object.entries(o))i.set(u,m);n+=`?${i.toString()}`}return r?n.replace(/^https?:\/\//,""):n}function pe({domain:e,key:t}){return`https://${e}${t==="_root"?"":`/${t}`}`}var J=["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"],v={2:["price_1SQtg3AlJJEpqkPVVhDSyd9u","price_1SQtg3AlJJEpqkPVNHYhTRy7","price_1SQ8hiAlJJEpqkPVIy8pfvAC","price_1SQ8gwAlJJEpqkPVb78Oc9Yc"]},R=["price_1R8XtyAlJJEpqkPV5WZ4c0jF","price_1R8XtEAlJJEpqkPV4opVvVPq","price_1R8XxZAlJJEpqkPVqGi0wOqD","price_1R7oeBAlJJEpqkPVh6q5q3h8",...Object.values(v).flat()],I=["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw"],S={2:["price_1SQtdxAlJJEpqkPV4kNkRHZr","price_1SQtdxAlJJEpqkPV7cvJTv4g","price_1SQ8iwAlJJEpqkPVEGmKd6Lg","price_1SQ8iSAlJJEpqkPVQ5crmBtF"]},N=["price_1R3j01AlJJEpqkPVXuG1eNzm","price_1R6JedAlJJEpqkPVMUkfjch4","price_1R8XypAlJJEpqkPVdjzOcYUC","price_1R7ofLAlJJEpqkPV3MlgDpyx",...Object.values(S).flat()],k={2:["price_1SQtg6AlJJEpqkPVAJdrStq7","price_1SQtg6AlJJEpqkPVaZNisQdm","price_1SQ8jlAlJJEpqkPV6EanvSXl","price_1SQ8jJAlJJEpqkPVIwY9QZSP"],3:["price_1SQtg8AlJJEpqkPVvQVU7uQ3","price_1SQtg8AlJJEpqkPV4Nks8MkS","price_1SQ8lqAlJJEpqkPVzBaioV3I","price_1SQ8lOAlJJEpqkPVz2R8SRss"]},D=["price_1R8Xw4AlJJEpqkPV6nwdink9","price_1R3j0qAlJJEpqkPVkfGNXRwb","price_1R8XztAlJJEpqkPVnHmIU2tf","price_1R7ofzAlJJEpqkPV0L2TwyJo",...Object.values(k).flat()],s=[{name:"Free",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,payouts:0,domains:3,tags:5,partnerTags:0,folders:0,groups:0,networkInvites:0,partners:0,users:1,ai:10,api:60,analyticsApi:0,retention:"30-day"}},{name:"Pro",price:{monthly:30,yearly:25,ids:[...J,...R]},limits:{links:1e3,clicks:5e4,payouts:0,domains:10,tags:25,partnerTags:0,folders:3,groups:0,networkInvites:0,partners:0,users:3,ai:1e3,api:600,analyticsApi:2,retention:"1-year"},tiers:{2:{price:{monthly:60,yearly:50,ids:v[2]},limits:{links:5e3,clicks:15e4}}},featureTitle:"Everything in Free, plus:",features:[{id:"clicks",text:"50K tracked events/mo"},{id:"links",text:"1K new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"3 users"},{id:"advanced",text:"Advanced link features",tooltip:"ADVANCED_LINK_FEATURES"},{id:"ai",text:"Unlimited AI credits",tooltip:{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:"dotlink",text:"Free .link domain",tooltip:{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"}},{id:"folders",text:"Link folders",tooltip:{title:"Organize and manage access to your links on Dub using folders.",cta:"Learn more.",href:"https://dub.co/help/article/link-folders"}},{id:"deeplinks",text:"Deep links",tooltip:{title:"Redirect users to a specific page within your mobile application using deep links.",cta:"Learn more.",href:"https://dub.co/docs/concepts/deep-links/quickstart"}}]},{name:"Business",price:{monthly:90,yearly:75,ids:[...I,...N]},limits:{links:1e4,clicks:25e4,payouts:25e4,domains:100,tags:l,partnerTags:10,folders:20,groups:3,networkInvites:0,partners:500,users:10,ai:1e3,api:1200,analyticsApi:4,retention:"3-year"},tiers:{2:{price:{monthly:180,yearly:150,ids:S[2]},limits:{links:25e3,clicks:6e5}}},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:"250K tracked events/mo"},{id:"links",text:"10K new links/mo"},{id:"retention",text:"3-year analytics retention"},{id:"payouts",text:"$2.5K partner payouts/mo",tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}},{id:"users",text:"10 users"},{id:"partners",text:"Dub Partners",tooltip:{title:"Use Dub Partners to manage and pay out your affiliates.",cta:"Learn more.",href:"https://dub.co/partners"}},{id:"customerinsights",text:"Customer insights",tooltip:{title:"Get real-time insights into your customers' behavior and preferences.",cta:"Learn more.",href:"https://dub.co/help/article/customer-insights"}},{id:"events",text:"Real-time events stream",tooltip:{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://dub.co/help/article/real-time-events-stream"}},{id:"webhooks",text:"Event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}},{id:"tests",text:"A/B testing"}]},{name:"Advanced",price:{monthly:300,yearly:250,ids:D},limits:{links:5e4,clicks:1e6,payouts:15e5,domains:250,tags:l,partnerTags:l,folders:50,groups:l,networkInvites:0,partners:l,users:20,ai:1e3,api:3e3,analyticsApi:8,retention:"5-year"},tiers:{2:{price:{monthly:600,yearly:500,ids:k[2]},limits:{links:15e4,clicks:2e6}},3:{price:{monthly:900,yearly:750,ids:k[3]},limits:{links:3e5,clicks:35e5}}},featureTitle:"Everything in Business, plus:",features:[{id:"clicks",text:"1M tracked events/mo"},{id:"links",text:"50K new links/mo"},{id:"retention",text:"5-year analytics retention"},{id:"payouts",text:"$15K partner payouts/mo",tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}},{id:"users",text:"20 users"},{id:"flexiblerewards",text:"Advanced reward structures",tooltip:{title:"Create dynamic click, lead, or sale-based rewards with country and product-specific modifiers.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"embeddedreferrals",text:"Embedded referral dashboard",tooltip:{title:"Create an embedded referral dashboard directly in your app in just a few lines of code.",cta:"Learn more.",href:"https://dub.co/docs/partners/embedded-referrals"}},{id:"messages",text:"Messaging center",tooltip:{title:"Easily communicate with your partners using our messaging center."}},{id:"email",text:"Email campaigns",tooltip:{title:"Send marketing and transactional emails to your partners to increase engagement and drive conversions.",cta:"Learn more.",href:"https://dub.co/help/article/email-campaigns"}},{id:"slack",text:"Priority email support"}]},{name:"Enterprise",price:{monthly:null,yearly:null},limits:{links:5e5,clicks:5e6,payouts:l,domains:250,tags:l,partnerTags:l,folders:l,groups:l,networkInvites:20,partners:l,users:30,ai:1e3,api:3e3,analyticsApi:16,retention:"Unlimited"}}],ot=s.find(e=>e.name==="Free"),q=s.find(e=>e.name==="Pro"),nt=s.find(e=>e.name==="Business"),at=s.find(e=>e.name==="Advanced"),V=s.find(e=>e.name==="Enterprise"),lt=s.filter(e=>["Pro","Business","Advanced"].includes(e.name)),ct=2,b=(e,t)=>{var n;let r=e.tiers&&t>1?e.tiers[t]:void 0,o=(r==null?void 0:r.limits)??e.limits;return{...e,limits:{...e.limits,...o},price:{...e.price,...r==null?void 0:r.price},features:(n=e.features)==null?void 0:n.map(i=>({...i,text:i.id==="clicks"?`${a(o.clicks)} tracked events/mo`:i.id==="links"?`${a(o.links)} new links/mo`:i.text}))}},pt=({priceId:e})=>{var o;let t=s.find(n=>{var i;return(i=n.price.ids)==null?void 0:i.includes(e)});if(!t)return{plan:null,planTier:1};let r=t.tiers&&Number((o=Object.entries(t.tiers).find(([n,{price:i}])=>i.ids.includes(e)))==null?void 0:o[0])||1;return{plan:b(t,r),planTier:r}},dt=({plan:e,planTier:t=1})=>{let r=s.find(o=>o.name.toLowerCase()===e.split(" ")[0].toLowerCase());return b(r,t)},ut=e=>{if(!e)return q;let t=e.toLowerCase().split(" ")[0];return s[Math.min(s.findIndex(r=>r.name.toLowerCase()===t)+1,s.length-1)]},mt=({currentPlan:e,newPlan:t,currentTier:r,newTier:o})=>{let n=s.findIndex(u=>u.name.toLowerCase()===e.toLowerCase()),i=s.findIndex(u=>u.name.toLowerCase()===t.toLowerCase());return n>i||n===i&&(r??1)>(o??1)},ft=({events:e,links:t})=>{let r=null;for(let o of s){let n=[1,...Object.keys(o.tiers??{}).map(Number).filter(i=>i>=2)].find(i=>{var m,E;let u=i===1?o.limits:((E=(m=o.tiers)==null?void 0:m[i])==null?void 0:E.limits)??o.limits;return u.clicks>=(e??0)&&u.links>=(t??0)});if(n!==void 0){r={plan:b(o,n),planTier:n};break}}return r??{plan:V,planTier:1}},ht=({plan:e="business",partnersLimit:t=0})=>e==="business"&&t===0;var h=e=>[{id:"clicks",text:e.name==="Enterprise"?"Unlimited tracked events":`${a(e.limits.clicks)} tracked events/mo`},{id:"links",text:e.name==="Enterprise"?"Unlimited new links":`${a(e.limits.links)} new links/mo`},{id:"retention",text:`${e.limits.retention} analytics retention`}],y=e=>[{id:"payouts",text:e.name==="Enterprise"?"Unlimited partner payouts":`$${a(e.limits.payouts/100)} partner payouts/mo`,tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}}],bt={links:{Pro:[{features:[...h(s.find(e=>e.name==="Pro")),{id:"advanced",text:"Advanced link features"},{id:"dotlink",text:"Free .link domain",tooltip:{title:"Get a free .link custom domain for 1 year with any of Dub's paid plans.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}},{id:"folders",text:"Link folders",tooltip:{title:"Organize and manage access to your links on Dub using folders.",cta:"Learn more.",href:"https://dub.co/help/article/link-folders"}},{id:"deeplinks",text:"Deep links",tooltip:{title:"Redirect users to a specific page within your mobile application using deep links.",cta:"Learn more.",href:"https://dub.co/docs/concepts/deep-links/quickstart"}}]}],Business:[{features:[...h(s.find(e=>e.name==="Business")),{id:"conversions",text:"Conversion tracking"},{id:"tests",text:"A/B testing"},{id:"roles",text:"Customer insights",tooltip:{title:"Get real-time insights into your customers' behavior and preferences.",cta:"Learn more.",href:"https://dub.co/help/article/customer-insights"}},{id:"webhooks",text:"Event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}}]}],Advanced:[{features:[...h(s.find(e=>e.name==="Advanced")),{id:"email",text:"Priority email support"}]}],Enterprise:[{features:[...h(s.find(e=>e.name==="Enterprise")),{id:"sso",text:"SSO/SAML"},{id:"logs",text:"Audit logs"},{id:"sla",text:"Custom SLA"}]}]},partners:{Business:[{features:[...y(s.find(e=>e.name==="Business")),{id:"basicrewards",text:"Basic reward structures",tooltip:{title:"Create custom click, lead, or sale-based rewards, tailored to each partner's needs.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"conversions",text:"Dual-sided incentives",tooltip:{title:"Offer dual-sided incentives to your partners and the users they refer.",cta:"Learn more.",href:"https://dub.co/help/article/dual-sided-incentives"}},{id:"bounties",text:"Program bounties",tooltip:{title:"Drive partner engagement by creating performance and submission bounties for your partner program.",cta:"Learn more.",href:"https://dub.co/help/article/program-bounties"}},{id:"analytics",text:"Real-time analytics",tooltip:{title:"Get real-time insights into your partner program's performance and engagement.",cta:"Learn more.",href:"https://dub.co/help/article/program-analytics"}},{id:"ailandingpage",text:"AI landing page generator",tooltip:{title:"Generate compelling landing pages using Dub AI to attract high-quality partners to join your program.",cta:"Learn more.",href:"https://dub.co/help/article/program-landing-page"}},{id:"webhooks",text:"Real-time event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}},{id:"customerinsights",text:"Basic email support"}]}],Advanced:[{features:[...y(s.find(e=>e.name==="Advanced")),{id:"flexiblerewards",text:"Advanced reward structures",tooltip:{title:"Create dynamic click, lead, or sale-based rewards with country and product-specific modifiers.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"email",text:"Email campaigns",tooltip:{title:"Send marketing and transactional emails to your partners to increase engagement and drive conversions.",cta:"Learn more.",href:"https://dub.co/help/article/email-campaigns"}},{id:"messages",text:"Messaging center",tooltip:{title:"Easily communicate with your partners using our messaging center."}},{id:"frauddetection",text:"Fraud detection",tooltip:{title:"Safeguard your partner program by automatically flagging, reviewing, and resolving suspicious activity.",cta:"Learn more.",href:"https://dub.co/help/article/risk-monitoring"}},{id:"embeddedreferrals",text:"Embedded referral dashboard",tooltip:{title:"Create an embedded referral dashboard directly in your app in just a few lines of code.",cta:"Learn more.",href:"https://dub.co/docs/partners/embedded-referrals"}},{id:"api",text:"Partners API",tooltip:{title:"Leverage our partners API to build a bespoke, white-labeled referral program that lives within your app.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/endpoint/create-a-partner"}},{id:"email",text:"Priority email support"}]}],Enterprise:[{features:[...y(s.find(e=>e.name==="Enterprise")),{id:"volume",text:"Volume discounts",tooltip:{title:"Get access to volume discounts for payout fees and tracked events usage."}},{id:"partnergroups",text:"Access to Partner Network",tooltip:{title:"Get access to our network of 10,000+ top affiliates to recruit from and grow your program."}},{id:"partners",text:"Featured in Program Marketplace",tooltip:{title:"Get featured in front of our network of 500,000+ total affiliates and receive 10x more applications.",cta:"Learn more.",href:"https://dub.co/help/article/program-marketplace"}},{id:"sso",text:"SSO/SAML",tooltip:{title:"Enable single sign-on (SSO) for your entire organization using SAML.",cta:"Learn more.",href:"https://dub.co/help/category/saml-sso"}},{id:"logs",text:"Audit logs"},{id:"slack",text:"Dedicated Slack support"},{id:"sla",text:"Custom SLA"}]}]}};var Kt=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"})}`;export{O as a,Kt as b,ee as c,te as d,re as e,ie as f,se as g,oe as h,ne as i,ce as j,pe as k,N as l,s as m,ot as n,q as o,nt as p,at as q,V as r,lt as s,ct as t,pt as u,dt as v,ut as w,mt as x,ft as y,ht as z,bt as A};
@@ -0,0 +1 @@
1
+ import{a as v}from"./chunk-JM7ZLOXL.mjs";import{a as g}from"./chunk-CP4WO7MM.mjs";import{a as k}from"./chunk-IHX4EDUF.mjs";import{a}from"./chunk-E4JQPS37.mjs";import{a as w}from"./chunk-GLWDY4K2.mjs";import{g as l}from"./chunk-FY4O7ZL5.mjs";import{a as f}from"./chunk-YUMUNL66.mjs";import{a as P,b as A}from"./chunk-SYT2IXG6.mjs";import{Fragment as p,jsx as c,jsxs as d}from"react/jsx-runtime";var O=[{category:"Links",href:"https://dub.co/links",features:[{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.links)})," ","new links",e.name==="Enterprise"?"":"/mo"]})},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.tags===l?"Unlimited":a(e.limits.tags)})," ","tags"]}),href:"https://dub.co/help/article/how-to-use-tags"},{check:{free:!1,default:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.folders===l?"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/docs/concepts/deep-links/quickstart"},{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:"Partners",href:"https://dub.co/partners",features:[{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Automated global payouts",href:"https://dub.co/help/article/partner-payouts"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e,plan:t})=>e==="free"||e==="pro"?"No partner payouts":d(p,{children:[c("strong",{children:t.name==="Enterprise"?"Unlimited":`$${a(t.limits.payouts/100)}`})," ","partner payouts",t.name==="Enterprise"?"":"/mo"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e})=>e==="free"||e==="pro"?"No partner payouts":d(p,{children:[c("strong",{children:{business:"5%",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:!0,advanced:!0,enterprise:!0},text:({id:e,plan:t})=>e==="free"||e==="pro"?"No partner rewards":d(p,{children:[c("strong",{children:t.name==="Business"?"Basic":"Advanced"})," ","partner rewards"]}),href:"https://dub.co/help/article/partner-rewards"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Dual-sided incentives",href:"https://dub.co/help/article/dual-sided-incentives"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"AI landing page generator",href:"https://dub.co/help/article/program-landing-page"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.partners===0?"No":e.limits.partners===l?"Unlimited":a(e.limits.partners)})," ","partners"]}),href:"https://dub.co/help/article/inviting-partners"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.groups===0?"No":e.limits.groups===l?"Unlimited":a(e.limits.groups)})," ","partner groups"]}),href:"https://dub.co/help/article/partner-groups"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.partnerTags===0?"No":e.limits.partnerTags===l?"Unlimited":a(e.limits.partnerTags)})," ","partner tags"]}),href:"https://dub.co/help/article/partner-groups"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Embedded referral dashboard",href:"https://dub.co/docs/partners/embedded-referrals"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Partner referral rewards",href:"https://dub.co/help/article/partner-referrals"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Partners API",href:"https://dub.co/docs/api-reference/endpoint/create-a-partner"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Messaging center"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Email campaigns"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Fraud & risk prevention"},{check:{default:!1,enterprise:!0},text:"Partner network access"}]},{category:"Analytics",href:"https://dub.co/analytics",features:[{text:"Advanced analytics",href:"https://dub.co/help/article/dub-analytics"},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.clicks)})," ","tracked events",e.name==="Enterprise"?"":"/mo"]}),href:"https://dub.co/help/article/dub-analytics-limits"},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.retention})," retention"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Conversion tracking",href:"https://dub.co/help/article/dub-conversions"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Customer insights",href:"https://dub.co/help/article/customer-insights"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Real-time events stream",href:"https://dub.co/help/article/real-time-events-stream"}]},{category:"Domains",href:"https://dub.co/help/category/custom-domains",features:[{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.domains,{full:!0})})," ","custom domains"]})},{text:()=>c(p,{children:"SSL certificates"})},{check:{default:!0,free:!1},text:()=>d(p,{children:["Free ",c("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:t})=>d(p,{children:[c("strong",{children:e==="enterprise"?"Custom":a(t.limits.api,{full:!0})+"/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})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.users)})," ","user",e.limits.users===1?"":"s"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Role-based access control",href:"https://dub.co/help/article/folders-rbac"},{check:{default:!1,enterprise:!0},text:"SAML/SSO",href:"https://dub.co/help/category/saml-sso"},{check:{default:!1,enterprise:!0},text:"Audit logs"}]},{category:"Support",href:"https://dub.co/contact/support",features:[{text:({id:e})=>({free:"Community support",pro:"Email support",business:"Email support",advanced:"Priority email support",enterprise:"Slack support with SLA"})[e]},{check:{default:!1,enterprise:!0},text:"Dedicated success manager"}]}];import L from"@sindresorhus/slugify";var ee=e=>{let t=L(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,i)=>n.length<i.length?n:i)}.link`},te=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),re=new RegExp(/^[a-zA-Z0-9\-]+$/),ie=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),se=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?P.has(r[r.length-2])&&f.has(r[r.length-1])||A.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},oe=e=>{if(v(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}},ne=e=>w.some(t=>t.slug===e);function ce({domain:e,key:t,pretty:r,searchParams:o}){if(!e)return"";let n=`https://${k(e)}${t&&t!=="_root"?`/${k(t)}`:""}`;if(o){let i=new URLSearchParams;for(let[u,m]of Object.entries(o))i.set(u,m);n+=`?${i.toString()}`}return r?n.replace(/^https?:\/\//,""):n}function pe({domain:e,key:t}){return`https://${e}${t==="_root"?"":`/${t}`}`}var J=["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"],_={2:["price_1SQtg3AlJJEpqkPVVhDSyd9u","price_1SQtg3AlJJEpqkPVNHYhTRy7","price_1SQ8hiAlJJEpqkPVIy8pfvAC","price_1SQ8gwAlJJEpqkPVb78Oc9Yc"]},R=["price_1R8XtyAlJJEpqkPV5WZ4c0jF","price_1R8XtEAlJJEpqkPV4opVvVPq","price_1R8XxZAlJJEpqkPVqGi0wOqD","price_1R7oeBAlJJEpqkPVh6q5q3h8",...Object.values(_).flat()],I=["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw"],S={2:["price_1SQtdxAlJJEpqkPV4kNkRHZr","price_1SQtdxAlJJEpqkPV7cvJTv4g","price_1SQ8iwAlJJEpqkPVEGmKd6Lg","price_1SQ8iSAlJJEpqkPVQ5crmBtF"]},N=["price_1R3j01AlJJEpqkPVXuG1eNzm","price_1R6JedAlJJEpqkPVMUkfjch4","price_1R8XypAlJJEpqkPVdjzOcYUC","price_1R7ofLAlJJEpqkPV3MlgDpyx",...Object.values(S).flat()],x={2:["price_1SQtg6AlJJEpqkPVAJdrStq7","price_1SQtg6AlJJEpqkPVaZNisQdm","price_1SQ8jlAlJJEpqkPV6EanvSXl","price_1SQ8jJAlJJEpqkPVIwY9QZSP"],3:["price_1SQtg8AlJJEpqkPVvQVU7uQ3","price_1SQtg8AlJJEpqkPV4Nks8MkS","price_1SQ8lqAlJJEpqkPVzBaioV3I","price_1SQ8lOAlJJEpqkPVz2R8SRss"]},D=["price_1R8Xw4AlJJEpqkPV6nwdink9","price_1R3j0qAlJJEpqkPVkfGNXRwb","price_1R8XztAlJJEpqkPVnHmIU2tf","price_1R7ofzAlJJEpqkPV0L2TwyJo",...Object.values(x).flat()],s=[{name:"Free",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,payouts:0,domains:3,tags:5,partnerTags:0,folders:0,groups:0,networkInvites:0,partners:0,users:1,ai:10,api:60,analyticsApi:0,retention:"30-day"}},{name:"Pro",price:{monthly:30,yearly:25,ids:[...J,...R]},limits:{links:1e3,clicks:5e4,payouts:0,domains:10,tags:25,partnerTags:0,folders:3,groups:0,networkInvites:0,partners:0,users:3,ai:1e3,api:600,analyticsApi:2,retention:"1-year"},tiers:{2:{price:{monthly:60,yearly:50,ids:_[2]},limits:{links:5e3,clicks:15e4}}},featureTitle:"Everything in Free, plus:",features:[{id:"clicks",text:"50K tracked events/mo"},{id:"links",text:"1K new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"3 users"},{id:"advanced",text:"Advanced link features",tooltip:"ADVANCED_LINK_FEATURES"},{id:"ai",text:"Unlimited AI credits",tooltip:{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:"dotlink",text:"Free .link domain",tooltip:{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"}},{id:"folders",text:"Link folders",tooltip:{title:"Organize and manage access to your links on Dub using folders.",cta:"Learn more.",href:"https://dub.co/help/article/link-folders"}},{id:"deeplinks",text:"Deep links",tooltip:{title:"Redirect users to a specific page within your mobile application using deep links.",cta:"Learn more.",href:"https://dub.co/docs/concepts/deep-links/quickstart"}}]},{name:"Business",price:{monthly:90,yearly:75,ids:[...I,...N]},limits:{links:1e4,clicks:25e4,payouts:25e4,domains:100,tags:l,partnerTags:10,folders:20,groups:3,networkInvites:0,partners:500,users:10,ai:1e3,api:1200,analyticsApi:4,retention:"3-year"},tiers:{2:{price:{monthly:180,yearly:150,ids:S[2]},limits:{links:25e3,clicks:6e5}}},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:"250K tracked events/mo"},{id:"links",text:"10K new links/mo"},{id:"retention",text:"3-year analytics retention"},{id:"payouts",text:"$2.5K partner payouts/mo",tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}},{id:"users",text:"10 users"},{id:"partners",text:"Dub Partners",tooltip:{title:"Use Dub Partners to manage and pay out your affiliates.",cta:"Learn more.",href:"https://dub.co/partners"}},{id:"customerinsights",text:"Customer insights",tooltip:{title:"Get real-time insights into your customers' behavior and preferences.",cta:"Learn more.",href:"https://dub.co/help/article/customer-insights"}},{id:"events",text:"Real-time events stream",tooltip:{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://dub.co/help/article/real-time-events-stream"}},{id:"webhooks",text:"Event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}},{id:"tests",text:"A/B testing"}]},{name:"Advanced",price:{monthly:300,yearly:250,ids:D},limits:{links:5e4,clicks:1e6,payouts:15e5,domains:250,tags:l,partnerTags:l,folders:50,groups:l,networkInvites:0,partners:l,users:20,ai:1e3,api:3e3,analyticsApi:8,retention:"5-year"},tiers:{2:{price:{monthly:600,yearly:500,ids:x[2]},limits:{links:15e4,clicks:2e6}},3:{price:{monthly:900,yearly:750,ids:x[3]},limits:{links:3e5,clicks:35e5}}},featureTitle:"Everything in Business, plus:",features:[{id:"clicks",text:"1M tracked events/mo"},{id:"links",text:"50K new links/mo"},{id:"retention",text:"5-year analytics retention"},{id:"payouts",text:"$15K partner payouts/mo",tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}},{id:"users",text:"20 users"},{id:"flexiblerewards",text:"Advanced reward structures",tooltip:{title:"Create dynamic click, lead, or sale-based rewards with country and product-specific modifiers.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"embeddedreferrals",text:"Embedded referral dashboard",tooltip:{title:"Create an embedded referral dashboard directly in your app in just a few lines of code.",cta:"Learn more.",href:"https://dub.co/docs/partners/embedded-referrals"}},{id:"messages",text:"Messaging center",tooltip:{title:"Easily communicate with your partners using our messaging center."}},{id:"email",text:"Email campaigns",tooltip:{title:"Send marketing and transactional emails to your partners to increase engagement and drive conversions.",cta:"Learn more.",href:"https://dub.co/help/article/email-campaigns"}},{id:"slack",text:"Priority email support"}]},{name:"Enterprise",price:{monthly:null,yearly:null},limits:{links:5e5,clicks:5e6,payouts:l,domains:250,tags:l,partnerTags:l,folders:l,groups:l,networkInvites:20,partners:l,users:30,ai:1e3,api:3e3,analyticsApi:16,retention:"Unlimited"}}],ot=s.find(e=>e.name==="Free"),q=s.find(e=>e.name==="Pro"),nt=s.find(e=>e.name==="Business"),at=s.find(e=>e.name==="Advanced"),V=s.find(e=>e.name==="Enterprise"),lt=s.filter(e=>["Pro","Business","Advanced"].includes(e.name)),ct=2,b=(e,t)=>{var n;let r=e.tiers&&t>1?e.tiers[t]:void 0,o=(r==null?void 0:r.limits)??e.limits;return{...e,limits:{...e.limits,...o},price:{...e.price,...r==null?void 0:r.price},features:(n=e.features)==null?void 0:n.map(i=>({...i,text:i.id==="clicks"?`${a(o.clicks)} tracked events/mo`:i.id==="links"?`${a(o.links)} new links/mo`:i.text}))}},pt=({priceId:e})=>{var o;let t=s.find(n=>{var i;return(i=n.price.ids)==null?void 0:i.includes(e)});if(!t)return{plan:null,planTier:1};let r=t.tiers&&Number((o=Object.entries(t.tiers).find(([n,{price:i}])=>i.ids.includes(e)))==null?void 0:o[0])||1;return{plan:b(t,r),planTier:r}},dt=({plan:e,planTier:t=1})=>{let r=s.find(o=>o.name.toLowerCase()===e.split(" ")[0].toLowerCase());return b(r,t)},ut=e=>{if(!e)return q;let t=e.toLowerCase().split(" ")[0];return s[Math.min(s.findIndex(r=>r.name.toLowerCase()===t)+1,s.length-1)]},mt=({currentPlan:e,newPlan:t,currentTier:r,newTier:o})=>{let n=s.findIndex(u=>u.name.toLowerCase()===e.toLowerCase()),i=s.findIndex(u=>u.name.toLowerCase()===t.toLowerCase());return n>i||n===i&&(r??1)>(o??1)},ft=({events:e,links:t})=>{let r=null;for(let o of s){let n=[1,...Object.keys(o.tiers??{}).map(Number).filter(i=>i>=2)].find(i=>{var m,E;let u=i===1?o.limits:((E=(m=o.tiers)==null?void 0:m[i])==null?void 0:E.limits)??o.limits;return u.clicks>=(e??0)&&u.links>=(t??0)});if(n!==void 0){r={plan:b(o,n),planTier:n};break}}return r??{plan:V,planTier:1}},ht=({plan:e="business",partnersLimit:t=0})=>e==="business"&&t===0;var h=e=>[{id:"clicks",text:e.name==="Enterprise"?"Unlimited tracked events":`${a(e.limits.clicks)} tracked events/mo`},{id:"links",text:e.name==="Enterprise"?"Unlimited new links":`${a(e.limits.links)} new links/mo`},...e.name!=="Enterprise"?[{id:"retention",text:`${e.limits.retention} analytics retention`}]:[]],y=e=>[{id:"payouts",text:e.name==="Enterprise"?"Unlimited partner payouts":`$${a(e.limits.payouts/100)} partner payouts/mo`,tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}}],bt={links:{Pro:[{features:[...h(s.find(e=>e.name==="Pro")),{id:"advanced",text:"Advanced link features",tooltip:{title:"Supercharge your links with [custom link previews](https://dub.co/help/article/custom-link-previews), [device targeting](https://dub.co/help/article/device-targeting), [geo targeting](https://dub.co/help/article/geo-targeting), [link cloaking](https://dub.co/help/article/link-cloaking), [password protection](https://dub.co/help/article/password-protected-links), and more."}},{id:"dotlink",text:"Free .link domain",tooltip:{title:"Get a free .link custom domain for 1 year with any of Dub's paid plans.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}},{id:"folders",text:"Link folders",tooltip:{title:"Organize and manage access to your links on Dub using folders.",cta:"Learn more.",href:"https://dub.co/help/article/link-folders"}},{id:"deeplinks",text:"Deep links",tooltip:{title:"Redirect users to a specific page within your mobile application using deep links.",cta:"Learn more.",href:"https://dub.co/docs/concepts/deep-links/quickstart"}}]}],Business:[{features:[...h(s.find(e=>e.name==="Business")),{id:"conversions",text:"Conversion tracking",tooltip:{title:"Track how your link clicks are converting to signups and sales.",cta:"Learn more.",href:"https://dub.co/docs/quickstart/server"}},{id:"tests",text:"A/B testing",tooltip:{title:"Run A/B tests to compare different short-link variations and identify what drives the highest conversions.",cta:"Learn more.",href:"https://dub.co/help/article/ab-testing"}},{id:"roles",text:"Customer insights",tooltip:{title:"Get real-time insights into your customers' behavior and preferences.",cta:"Learn more.",href:"https://dub.co/help/article/customer-insights"}},{id:"webhooks",text:"Event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}}]}],Advanced:[{features:[...h(s.find(e=>e.name==="Advanced")),{id:"api",text:"Elevated API rate limits",tooltip:{title:"Get access to elevated [API rate limits](https://dub.co/docs/api-reference/rate-limits) to build advanced integrations and automate your workflows."}},{id:"success",text:"Priority email support"}]}],Enterprise:[{features:[...h(s.find(e=>e.name==="Enterprise")),{id:"sso",text:"SSO/SAML"},{id:"logs",text:"Audit logs"},{id:"slack",text:"Dedicated Slack support"}]}]},partners:{Business:[{features:[...y(s.find(e=>e.name==="Business")),{id:"basicrewards",text:"Basic reward structures",tooltip:{title:"Create custom click, lead, or sale-based rewards, tailored to each partner's needs.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"conversions",text:"Dual-sided incentives",tooltip:{title:"Offer dual-sided incentives to your partners and the users they refer.",cta:"Learn more.",href:"https://dub.co/help/article/dual-sided-incentives"}},{id:"bounties",text:"Program bounties",tooltip:{title:"Drive partner engagement by creating performance and submission bounties for your partner program.",cta:"Learn more.",href:"https://dub.co/help/article/program-bounties"}},{id:"analytics",text:"Real-time analytics",tooltip:{title:"Get real-time insights into your partner program's performance and engagement.",cta:"Learn more.",href:"https://dub.co/help/article/program-analytics"}},{id:"ailandingpage",text:"AI landing page generator",tooltip:{title:"Generate compelling landing pages using Dub AI to attract high-quality partners to join your program.",cta:"Learn more.",href:"https://dub.co/help/article/program-landing-page"}},{id:"webhooks",text:"Real-time event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}},{id:"customerinsights",text:"Basic email support"}]}],Advanced:[{features:[...y(s.find(e=>e.name==="Advanced")),{id:"flexiblerewards",text:"Advanced reward structures",tooltip:{title:"Create dynamic click, lead, or sale-based rewards with country and product-specific modifiers.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"email",text:"Email campaigns",tooltip:{title:"Send marketing and transactional emails to your partners to increase engagement and drive conversions.",cta:"Learn more.",href:"https://dub.co/help/article/email-campaigns"}},{id:"messages",text:"Messaging center",tooltip:{title:"Easily communicate with your partners using our messaging center."}},{id:"frauddetection",text:"Fraud detection",tooltip:{title:"Safeguard your partner program by automatically flagging, reviewing, and resolving suspicious activity.",cta:"Learn more.",href:"https://dub.co/help/article/risk-monitoring"}},{id:"embeddedreferrals",text:"Embedded referral dashboard",tooltip:{title:"Create an embedded referral dashboard directly in your app in just a few lines of code.",cta:"Learn more.",href:"https://dub.co/docs/partners/embedded-referrals"}},{id:"partnerreferrals",text:"Partner referrals",tooltip:{title:"Reward partners for referring new users to your product.",cta:"Learn more.",href:"https://dub.co/help/article/partner-referrals"}},{id:"success",text:"Priority email support"}]}],Enterprise:[{features:[...y(s.find(e=>e.name==="Enterprise")),{id:"volume",text:"Volume discounts",tooltip:{title:"Get access to volume discounts for [payout fees](https://dub.co/help/article/partner-payouts#payout-fees-and-timing) and [tracked events usage](https://dub.co/help/article/dub-analytics-limits)."}},{id:"partnergroups",text:"Access to Partner Network",tooltip:{title:"Get access to our network of 10,000+ top affiliates to recruit from and grow your program."}},{id:"partners",text:"Featured in Program Marketplace",tooltip:{title:"Get featured in front of our network of 500,000+ total affiliates and receive 10x more applications.",cta:"Learn more.",href:"https://dub.co/help/article/program-marketplace"}},{id:"sso",text:"SSO/SAML",tooltip:{title:"Enable single sign-on (SSO) for your entire organization using SAML.",cta:"Learn more.",href:"https://dub.co/help/category/saml-sso"}},{id:"logs",text:"Audit logs"},{id:"sla",text:"Custom SLA"},{id:"slack",text:"Dedicated Slack support"}]}]}};var Kt=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"})}`;export{O as a,Kt as b,ee as c,te as d,re as e,ie as f,se as g,oe as h,ne as i,ce as j,pe as k,N as l,s as m,ot as n,q as o,nt as p,at as q,V as r,lt as s,ct as t,pt as u,dt as v,ut as w,mt as x,ft as y,ht as z,bt as A};
@@ -0,0 +1 @@
1
+ import{a as v}from"./chunk-JM7ZLOXL.mjs";import{a as g}from"./chunk-CP4WO7MM.mjs";import{a as k}from"./chunk-IHX4EDUF.mjs";import{a}from"./chunk-E4JQPS37.mjs";import{a as w}from"./chunk-GLWDY4K2.mjs";import{g as l}from"./chunk-FY4O7ZL5.mjs";import{a as f}from"./chunk-YUMUNL66.mjs";import{a as A,b as P}from"./chunk-SYT2IXG6.mjs";import{Fragment as p,jsx as c,jsxs as d}from"react/jsx-runtime";var O=[{category:"Links",href:"https://dub.co/links",features:[{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.links)})," ","new links",e.name==="Enterprise"?"":"/mo"]})},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.tags===l?"Unlimited":a(e.limits.tags)})," ","tags"]}),href:"https://dub.co/help/article/how-to-use-tags"},{check:{free:!1,default:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.folders===l?"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/docs/concepts/deep-links/quickstart"},{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:"Partners",href:"https://dub.co/partners",features:[{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Automated global payouts",href:"https://dub.co/help/article/partner-payouts"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e,plan:t})=>e==="free"||e==="pro"?"No partner payouts":d(p,{children:[c("strong",{children:t.name==="Enterprise"?"Unlimited":`$${a(t.limits.payouts/100)}`})," ","partner payouts",t.name==="Enterprise"?"":"/mo"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e})=>e==="free"||e==="pro"?"No partner payouts":d(p,{children:[c("strong",{children:{business:"5%",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:!0,advanced:!0,enterprise:!0},text:({id:e,plan:t})=>e==="free"||e==="pro"?"No partner rewards":d(p,{children:[c("strong",{children:t.name==="Business"?"Basic":"Advanced"})," ","partner rewards"]}),href:"https://dub.co/help/article/partner-rewards"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Dual-sided incentives",href:"https://dub.co/help/article/dual-sided-incentives"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"AI landing page generator",href:"https://dub.co/help/article/program-landing-page"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.partners===0?"No":e.limits.partners===l?"Unlimited":a(e.limits.partners)})," ","partners"]}),href:"https://dub.co/help/article/inviting-partners"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.groups===0?"No":e.limits.groups===l?"Unlimited":a(e.limits.groups)})," ","partner groups"]}),href:"https://dub.co/help/article/partner-groups"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.partnerTags===0?"No":e.limits.partnerTags===l?"Unlimited":a(e.limits.partnerTags)})," ","partner tags"]}),href:"https://dub.co/help/article/partner-groups"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Embedded referral dashboard",href:"https://dub.co/docs/partners/embedded-referrals"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Partners API",href:"https://dub.co/docs/api-reference/endpoint/create-a-partner"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Messaging center"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Email campaigns"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Fraud & risk prevention"},{check:{default:!1,enterprise:!0},text:"Partner network access"}]},{category:"Analytics",href:"https://dub.co/analytics",features:[{text:"Advanced analytics",href:"https://dub.co/help/article/dub-analytics"},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.clicks)})," ","tracked events",e.name==="Enterprise"?"":"/mo"]}),href:"https://dub.co/help/article/dub-analytics-limits"},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.retention})," retention"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Conversion tracking",href:"https://dub.co/help/article/dub-conversions"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Customer insights",href:"https://dub.co/help/article/customer-insights"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Real-time events stream",href:"https://dub.co/help/article/real-time-events-stream"}]},{category:"Domains",href:"https://dub.co/help/category/custom-domains",features:[{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.domains,{full:!0})})," ","custom domains"]})},{text:()=>c(p,{children:"SSL certificates"})},{check:{default:!0,free:!1},text:()=>d(p,{children:["Free ",c("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:t})=>d(p,{children:[c("strong",{children:e==="enterprise"?"Custom":a(t.limits.api,{full:!0})+"/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})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.users)})," ","user",e.limits.users===1?"":"s"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Role-based access control",href:"https://dub.co/help/article/folders-rbac"},{check:{default:!1,enterprise:!0},text:"SAML/SSO",href:"https://dub.co/help/category/saml-sso"},{check:{default:!1,enterprise:!0},text:"Audit logs"}]},{category:"Support",href:"https://dub.co/contact/support",features:[{text:({id:e})=>({free:"Community support",pro:"Email support",business:"Email support",advanced:"Priority email support",enterprise:"Slack support with SLA"})[e]},{check:{default:!1,enterprise:!0},text:"Dedicated success manager"}]}];import L from"@sindresorhus/slugify";var ee=e=>{let t=L(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,i)=>n.length<i.length?n:i)}.link`},te=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),re=new RegExp(/^[a-zA-Z0-9\-]+$/),ie=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),se=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?A.has(r[r.length-2])&&f.has(r[r.length-1])||P.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},oe=e=>{if(v(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}},ne=e=>w.some(t=>t.slug===e);function ce({domain:e,key:t,pretty:r,searchParams:o}){if(!e)return"";let n=`https://${k(e)}${t&&t!=="_root"?`/${k(t)}`:""}`;if(o){let i=new URLSearchParams;for(let[u,m]of Object.entries(o))i.set(u,m);n+=`?${i.toString()}`}return r?n.replace(/^https?:\/\//,""):n}function pe({domain:e,key:t}){return`https://${e}${t==="_root"?"":`/${t}`}`}var J=["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"],_={2:["price_1SQtg3AlJJEpqkPVVhDSyd9u","price_1SQtg3AlJJEpqkPVNHYhTRy7","price_1SQ8hiAlJJEpqkPVIy8pfvAC","price_1SQ8gwAlJJEpqkPVb78Oc9Yc"]},R=["price_1R8XtyAlJJEpqkPV5WZ4c0jF","price_1R8XtEAlJJEpqkPV4opVvVPq","price_1R8XxZAlJJEpqkPVqGi0wOqD","price_1R7oeBAlJJEpqkPVh6q5q3h8",...Object.values(_).flat()],I=["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw"],S={2:["price_1SQtdxAlJJEpqkPV4kNkRHZr","price_1SQtdxAlJJEpqkPV7cvJTv4g","price_1SQ8iwAlJJEpqkPVEGmKd6Lg","price_1SQ8iSAlJJEpqkPVQ5crmBtF"]},N=["price_1R3j01AlJJEpqkPVXuG1eNzm","price_1R6JedAlJJEpqkPVMUkfjch4","price_1R8XypAlJJEpqkPVdjzOcYUC","price_1R7ofLAlJJEpqkPV3MlgDpyx",...Object.values(S).flat()],x={2:["price_1SQtg6AlJJEpqkPVAJdrStq7","price_1SQtg6AlJJEpqkPVaZNisQdm","price_1SQ8jlAlJJEpqkPV6EanvSXl","price_1SQ8jJAlJJEpqkPVIwY9QZSP"],3:["price_1SQtg8AlJJEpqkPVvQVU7uQ3","price_1SQtg8AlJJEpqkPV4Nks8MkS","price_1SQ8lqAlJJEpqkPVzBaioV3I","price_1SQ8lOAlJJEpqkPVz2R8SRss"]},D=["price_1R8Xw4AlJJEpqkPV6nwdink9","price_1R3j0qAlJJEpqkPVkfGNXRwb","price_1R8XztAlJJEpqkPVnHmIU2tf","price_1R7ofzAlJJEpqkPV0L2TwyJo",...Object.values(x).flat()],s=[{name:"Free",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,payouts:0,domains:3,tags:5,partnerTags:0,folders:0,groups:0,networkInvites:0,partners:0,users:1,ai:10,api:60,analyticsApi:0,retention:"30-day"}},{name:"Pro",price:{monthly:30,yearly:25,ids:[...J,...R]},limits:{links:1e3,clicks:5e4,payouts:0,domains:10,tags:25,partnerTags:0,folders:3,groups:0,networkInvites:0,partners:0,users:3,ai:1e3,api:600,analyticsApi:2,retention:"1-year"},tiers:{2:{price:{monthly:60,yearly:50,ids:_[2]},limits:{links:5e3,clicks:15e4}}},featureTitle:"Everything in Free, plus:",features:[{id:"clicks",text:"50K tracked events/mo"},{id:"links",text:"1K new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"3 users"},{id:"advanced",text:"Advanced link features",tooltip:"ADVANCED_LINK_FEATURES"},{id:"ai",text:"Unlimited AI credits",tooltip:{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:"dotlink",text:"Free .link domain",tooltip:{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"}},{id:"folders",text:"Link folders",tooltip:{title:"Organize and manage access to your links on Dub using folders.",cta:"Learn more.",href:"https://dub.co/help/article/link-folders"}},{id:"deeplinks",text:"Deep links",tooltip:{title:"Redirect users to a specific page within your mobile application using deep links.",cta:"Learn more.",href:"https://dub.co/docs/concepts/deep-links/quickstart"}}]},{name:"Business",price:{monthly:90,yearly:75,ids:[...I,...N]},limits:{links:1e4,clicks:25e4,payouts:25e4,domains:100,tags:l,partnerTags:10,folders:20,groups:3,networkInvites:0,partners:500,users:10,ai:1e3,api:1200,analyticsApi:4,retention:"3-year"},tiers:{2:{price:{monthly:180,yearly:150,ids:S[2]},limits:{links:25e3,clicks:6e5}}},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:"250K tracked events/mo"},{id:"links",text:"10K new links/mo"},{id:"retention",text:"3-year analytics retention"},{id:"payouts",text:"$2.5K partner payouts/mo",tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}},{id:"users",text:"10 users"},{id:"partners",text:"Dub Partners",tooltip:{title:"Use Dub Partners to manage and pay out your affiliates.",cta:"Learn more.",href:"https://dub.co/partners"}},{id:"customerinsights",text:"Customer insights",tooltip:{title:"Get real-time insights into your customers' behavior and preferences.",cta:"Learn more.",href:"https://dub.co/help/article/customer-insights"}},{id:"events",text:"Real-time events stream",tooltip:{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://dub.co/help/article/real-time-events-stream"}},{id:"webhooks",text:"Event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}},{id:"tests",text:"A/B testing"}]},{name:"Advanced",price:{monthly:300,yearly:250,ids:D},limits:{links:5e4,clicks:1e6,payouts:15e5,domains:250,tags:l,partnerTags:l,folders:50,groups:l,networkInvites:0,partners:l,users:20,ai:1e3,api:3e3,analyticsApi:8,retention:"5-year"},tiers:{2:{price:{monthly:600,yearly:500,ids:x[2]},limits:{links:15e4,clicks:2e6}},3:{price:{monthly:900,yearly:750,ids:x[3]},limits:{links:3e5,clicks:35e5}}},featureTitle:"Everything in Business, plus:",features:[{id:"clicks",text:"1M tracked events/mo"},{id:"links",text:"50K new links/mo"},{id:"retention",text:"5-year analytics retention"},{id:"payouts",text:"$15K partner payouts/mo",tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}},{id:"users",text:"20 users"},{id:"flexiblerewards",text:"Advanced reward structures",tooltip:{title:"Create dynamic click, lead, or sale-based rewards with country and product-specific modifiers.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"embeddedreferrals",text:"Embedded referral dashboard",tooltip:{title:"Create an embedded referral dashboard directly in your app in just a few lines of code.",cta:"Learn more.",href:"https://dub.co/docs/partners/embedded-referrals"}},{id:"messages",text:"Messaging center",tooltip:{title:"Easily communicate with your partners using our messaging center."}},{id:"email",text:"Email campaigns",tooltip:{title:"Send marketing and transactional emails to your partners to increase engagement and drive conversions.",cta:"Learn more.",href:"https://dub.co/help/article/email-campaigns"}},{id:"slack",text:"Priority email support"}]},{name:"Enterprise",price:{monthly:null,yearly:null},limits:{links:5e5,clicks:5e6,payouts:l,domains:250,tags:l,partnerTags:l,folders:l,groups:l,networkInvites:20,partners:l,users:30,ai:1e3,api:3e3,analyticsApi:16,retention:"Unlimited"}}],ot=s.find(e=>e.name==="Free"),q=s.find(e=>e.name==="Pro"),nt=s.find(e=>e.name==="Business"),at=s.find(e=>e.name==="Advanced"),V=s.find(e=>e.name==="Enterprise"),lt=s.filter(e=>["Pro","Business","Advanced"].includes(e.name)),ct=2,b=(e,t)=>{var n;let r=e.tiers&&t>1?e.tiers[t]:void 0,o=(r==null?void 0:r.limits)??e.limits;return{...e,limits:{...e.limits,...o},price:{...e.price,...r==null?void 0:r.price},features:(n=e.features)==null?void 0:n.map(i=>({...i,text:i.id==="clicks"?`${a(o.clicks)} tracked events/mo`:i.id==="links"?`${a(o.links)} new links/mo`:i.text}))}},pt=({priceId:e})=>{var o;let t=s.find(n=>{var i;return(i=n.price.ids)==null?void 0:i.includes(e)});if(!t)return{plan:null,planTier:1};let r=t.tiers&&Number((o=Object.entries(t.tiers).find(([n,{price:i}])=>i.ids.includes(e)))==null?void 0:o[0])||1;return{plan:b(t,r),planTier:r}},dt=({plan:e,planTier:t=1})=>{let r=s.find(o=>o.name.toLowerCase()===e.split(" ")[0].toLowerCase());return b(r,t)},ut=e=>{if(!e)return q;let t=e.toLowerCase().split(" ")[0];return s[Math.min(s.findIndex(r=>r.name.toLowerCase()===t)+1,s.length-1)]},mt=({currentPlan:e,newPlan:t,currentTier:r,newTier:o})=>{let n=s.findIndex(u=>u.name.toLowerCase()===e.toLowerCase()),i=s.findIndex(u=>u.name.toLowerCase()===t.toLowerCase());return n>i||n===i&&(r??1)>(o??1)},ft=({events:e,links:t})=>{let r=null;for(let o of s){let n=[1,...Object.keys(o.tiers??{}).map(Number).filter(i=>i>=2)].find(i=>{var m,E;let u=i===1?o.limits:((E=(m=o.tiers)==null?void 0:m[i])==null?void 0:E.limits)??o.limits;return u.clicks>=(e??0)&&u.links>=(t??0)});if(n!==void 0){r={plan:b(o,n),planTier:n};break}}return r??{plan:V,planTier:1}},ht=({plan:e="business",partnersLimit:t=0})=>e==="business"&&t===0;var h=e=>[{id:"clicks",text:e.name==="Enterprise"?"Unlimited tracked events":`${a(e.limits.clicks)} tracked events/mo`},{id:"links",text:e.name==="Enterprise"?"Unlimited new links":`${a(e.limits.links)} new links/mo`},...e.name!=="Enterprise"?[{id:"retention",text:`${e.limits.retention} analytics retention`}]:[]],y=e=>[{id:"payouts",text:e.name==="Enterprise"?"Unlimited partner payouts":`$${a(e.limits.payouts/100)} partner payouts/mo`,tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}}],bt={links:{Pro:[{features:[...h(s.find(e=>e.name==="Pro")),{id:"advanced",text:"Advanced link features",tooltip:{title:"Supercharge your links with [custom link previews](https://dub.co/help/article/custom-link-previews), [device targeting](https://dub.co/help/article/device-targeting), [geo targeting](https://dub.co/help/article/geo-targeting), [link cloaking](https://dub.co/help/article/link-cloaking), [password protection](https://dub.co/help/article/password-protected-links), and more."}},{id:"dotlink",text:"Free .link domain",tooltip:{title:"Get a free .link custom domain for 1 year with any of Dub's paid plans.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}},{id:"folders",text:"Link folders",tooltip:{title:"Organize and manage access to your links on Dub using folders.",cta:"Learn more.",href:"https://dub.co/help/article/link-folders"}},{id:"deeplinks",text:"Deep links",tooltip:{title:"Redirect users to a specific page within your mobile application using deep links.",cta:"Learn more.",href:"https://dub.co/docs/concepts/deep-links/quickstart"}}]}],Business:[{features:[...h(s.find(e=>e.name==="Business")),{id:"conversions",text:"Conversion tracking",tooltip:{title:"Track how your link clicks are converting to signups and sales.",cta:"Learn more.",href:"https://dub.co/docs/quickstart/server"}},{id:"tests",text:"A/B testing",tooltip:{title:"Run A/B tests to compare different short-link variations and identify what drives the highest conversions.",cta:"Learn more.",href:"https://dub.co/help/article/ab-testing"}},{id:"roles",text:"Customer insights",tooltip:{title:"Get real-time insights into your customers' behavior and preferences.",cta:"Learn more.",href:"https://dub.co/help/article/customer-insights"}},{id:"webhooks",text:"Event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}}]}],Advanced:[{features:[...h(s.find(e=>e.name==="Advanced")),{id:"api",text:"Elevated API rate limits",tooltip:{title:"Get access to higher API rate limits to build advanced integrations and automate your workflows.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/rate-limits"}},{id:"success",text:"Priority email support"}]}],Enterprise:[{features:[...h(s.find(e=>e.name==="Enterprise")),{id:"sso",text:"SSO/SAML"},{id:"logs",text:"Audit logs"},{id:"slack",text:"Dedicated Slack support"}]}]},partners:{Business:[{features:[...y(s.find(e=>e.name==="Business")),{id:"basicrewards",text:"Basic reward structures",tooltip:{title:"Create custom click, lead, or sale-based rewards, tailored to each partner's needs.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"conversions",text:"Dual-sided incentives",tooltip:{title:"Offer dual-sided incentives to your partners and the users they refer.",cta:"Learn more.",href:"https://dub.co/help/article/dual-sided-incentives"}},{id:"bounties",text:"Program bounties",tooltip:{title:"Drive partner engagement by creating performance and submission bounties for your partner program.",cta:"Learn more.",href:"https://dub.co/help/article/program-bounties"}},{id:"analytics",text:"Real-time analytics",tooltip:{title:"Get real-time insights into your partner program's performance and engagement.",cta:"Learn more.",href:"https://dub.co/help/article/program-analytics"}},{id:"ailandingpage",text:"AI landing page generator",tooltip:{title:"Generate compelling landing pages using Dub AI to attract high-quality partners to join your program.",cta:"Learn more.",href:"https://dub.co/help/article/program-landing-page"}},{id:"webhooks",text:"Real-time event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}},{id:"customerinsights",text:"Basic email support"}]}],Advanced:[{features:[...y(s.find(e=>e.name==="Advanced")),{id:"flexiblerewards",text:"Advanced reward structures",tooltip:{title:"Create dynamic click, lead, or sale-based rewards with country and product-specific modifiers.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"email",text:"Email campaigns",tooltip:{title:"Send marketing and transactional emails to your partners to increase engagement and drive conversions.",cta:"Learn more.",href:"https://dub.co/help/article/email-campaigns"}},{id:"messages",text:"Messaging center",tooltip:{title:"Easily communicate with your partners using our messaging center."}},{id:"frauddetection",text:"Fraud detection",tooltip:{title:"Safeguard your partner program by automatically flagging, reviewing, and resolving suspicious activity.",cta:"Learn more.",href:"https://dub.co/help/article/risk-monitoring"}},{id:"embeddedreferrals",text:"Embedded referral dashboard",tooltip:{title:"Create an embedded referral dashboard directly in your app in just a few lines of code.",cta:"Learn more.",href:"https://dub.co/docs/partners/embedded-referrals"}},{id:"api",text:"Partners API",tooltip:{title:"Leverage our partners API to build a bespoke, white-labeled referral program that lives within your app.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/endpoint/create-a-partner"}},{id:"success",text:"Priority email support"}]}],Enterprise:[{features:[...y(s.find(e=>e.name==="Enterprise")),{id:"volume",text:"Volume discounts",tooltip:{title:"Get access to volume discounts for payout fees and tracked events usage."}},{id:"partnergroups",text:"Access to Partner Network",tooltip:{title:"Get access to our network of 10,000+ top affiliates to recruit from and grow your program."}},{id:"partners",text:"Featured in Program Marketplace",tooltip:{title:"Get featured in front of our network of 500,000+ total affiliates and receive 10x more applications.",cta:"Learn more.",href:"https://dub.co/help/article/program-marketplace"}},{id:"sso",text:"SSO/SAML",tooltip:{title:"Enable single sign-on (SSO) for your entire organization using SAML.",cta:"Learn more.",href:"https://dub.co/help/category/saml-sso"}},{id:"logs",text:"Audit logs"},{id:"sla",text:"Custom SLA"},{id:"slack",text:"Dedicated Slack support"}]}]}};var Kt=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"})}`;export{O as a,Kt as b,ee as c,te as d,re as e,ie as f,se as g,oe as h,ne as i,ce as j,pe as k,N as l,s as m,ot as n,q as o,nt as p,at as q,V as r,lt as s,ct as t,pt as u,dt as v,ut as w,mt as x,ft as y,ht as z,bt as A};
@@ -0,0 +1 @@
1
+ import{a as w}from"./chunk-JM7ZLOXL.mjs";import{a as g}from"./chunk-CP4WO7MM.mjs";import{a as x}from"./chunk-IHX4EDUF.mjs";import{a}from"./chunk-E4JQPS37.mjs";import{a as _}from"./chunk-GLWDY4K2.mjs";import{g as l}from"./chunk-FY4O7ZL5.mjs";import{a as f}from"./chunk-YUMUNL66.mjs";import{a as A,b as P}from"./chunk-SYT2IXG6.mjs";import{Fragment as p,jsx as c,jsxs as d}from"react/jsx-runtime";var O=[{category:"Links",href:"https://dub.co/links",features:[{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.links)})," ","new links",e.name==="Enterprise"?"":"/mo"]})},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.tags===l?"Unlimited":a(e.limits.tags)})," ","tags"]}),href:"https://dub.co/help/article/how-to-use-tags"},{check:{free:!1,default:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.folders===l?"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/docs/concepts/deep-links/quickstart"},{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:"Partners",href:"https://dub.co/partners",features:[{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Automated global payouts",href:"https://dub.co/help/article/partner-payouts"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e,plan:t})=>e==="free"||e==="pro"?"No partner payouts":d(p,{children:[c("strong",{children:t.name==="Enterprise"?"Unlimited":`$${a(t.limits.payouts/100)}`})," ","partner payouts",t.name==="Enterprise"?"":"/mo"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e})=>e==="free"||e==="pro"?"No partner payouts":d(p,{children:[c("strong",{children:{business:"5%",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:!0,advanced:!0,enterprise:!0},text:({id:e,plan:t})=>e==="free"||e==="pro"?"No partner rewards":d(p,{children:[c("strong",{children:t.name==="Business"?"Basic":"Advanced"})," ","partner rewards"]}),href:"https://dub.co/help/article/partner-rewards"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Dual-sided incentives",href:"https://dub.co/help/article/dual-sided-incentives"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"AI landing page generator",href:"https://dub.co/help/article/program-landing-page"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.partners===0?"No":e.limits.partners===l?"Unlimited":a(e.limits.partners)})," ","partners"]}),href:"https://dub.co/help/article/inviting-partners"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.groups===0?"No":e.limits.groups===l?"Unlimited":a(e.limits.groups)})," ","partner groups"]}),href:"https://dub.co/help/article/partner-groups"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.partnerTags===0?"No":e.limits.partnerTags===l?"Unlimited":a(e.limits.partnerTags)})," ","partner tags"]}),href:"https://dub.co/help/article/partner-groups"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Embedded referral dashboard",href:"https://dub.co/docs/partners/embedded-referrals"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Partners API",href:"https://dub.co/docs/api-reference/endpoint/create-a-partner"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Messaging center"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Email campaigns"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Fraud & risk prevention"},{check:{default:!1,enterprise:!0},text:"Partner network access"}]},{category:"Analytics",href:"https://dub.co/analytics",features:[{text:"Advanced analytics",href:"https://dub.co/help/article/dub-analytics"},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.clicks)})," ","tracked events",e.name==="Enterprise"?"":"/mo"]}),href:"https://dub.co/help/article/dub-analytics-limits"},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.retention})," retention"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Conversion tracking",href:"https://dub.co/help/article/dub-conversions"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Customer insights",href:"https://dub.co/help/article/customer-insights"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Real-time events stream",href:"https://dub.co/help/article/real-time-events-stream"}]},{category:"Domains",href:"https://dub.co/help/category/custom-domains",features:[{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.domains,{full:!0})})," ","custom domains"]})},{text:()=>c(p,{children:"SSL certificates"})},{check:{default:!0,free:!1},text:()=>d(p,{children:["Free ",c("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:t})=>d(p,{children:[c("strong",{children:e==="enterprise"?"Custom":a(t.limits.api,{full:!0})+"/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})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.users)})," ","user",e.limits.users===1?"":"s"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Role-based access control",href:"https://dub.co/help/article/folders-rbac"},{check:{default:!1,enterprise:!0},text:"SAML/SSO",href:"https://dub.co/help/category/saml-sso"},{check:{default:!1,enterprise:!0},text:"Audit logs"}]},{category:"Support",href:"https://dub.co/contact/support",features:[{text:({id:e})=>({free:"Community support",pro:"Email support",business:"Email support",advanced:"Priority email support",enterprise:"Slack support with SLA"})[e]},{check:{default:!1,enterprise:!0},text:"Dedicated success manager"}]}];import L from"@sindresorhus/slugify";var ee=e=>{let t=L(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,i)=>n.length<i.length?n:i)}.link`},te=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),re=new RegExp(/^[a-zA-Z0-9\-]+$/),ie=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),se=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?A.has(r[r.length-2])&&f.has(r[r.length-1])||P.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},oe=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}},ne=e=>_.some(t=>t.slug===e);function ce({domain:e,key:t,pretty:r,searchParams:o}){if(!e)return"";let n=`https://${x(e)}${t&&t!=="_root"?`/${x(t)}`:""}`;if(o){let i=new URLSearchParams;for(let[u,m]of Object.entries(o))i.set(u,m);n+=`?${i.toString()}`}return r?n.replace(/^https?:\/\//,""):n}function pe({domain:e,key:t}){return`https://${e}${t==="_root"?"":`/${t}`}`}var J=["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"],v={2:["price_1SQtg3AlJJEpqkPVVhDSyd9u","price_1SQtg3AlJJEpqkPVNHYhTRy7","price_1SQ8hiAlJJEpqkPVIy8pfvAC","price_1SQ8gwAlJJEpqkPVb78Oc9Yc"]},R=["price_1R8XtyAlJJEpqkPV5WZ4c0jF","price_1R8XtEAlJJEpqkPV4opVvVPq","price_1R8XxZAlJJEpqkPVqGi0wOqD","price_1R7oeBAlJJEpqkPVh6q5q3h8",...Object.values(v).flat()],I=["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw"],S={2:["price_1SQtdxAlJJEpqkPV4kNkRHZr","price_1SQtdxAlJJEpqkPV7cvJTv4g","price_1SQ8iwAlJJEpqkPVEGmKd6Lg","price_1SQ8iSAlJJEpqkPVQ5crmBtF"]},N=["price_1R3j01AlJJEpqkPVXuG1eNzm","price_1R6JedAlJJEpqkPVMUkfjch4","price_1R8XypAlJJEpqkPVdjzOcYUC","price_1R7ofLAlJJEpqkPV3MlgDpyx",...Object.values(S).flat()],k={2:["price_1SQtg6AlJJEpqkPVAJdrStq7","price_1SQtg6AlJJEpqkPVaZNisQdm","price_1SQ8jlAlJJEpqkPV6EanvSXl","price_1SQ8jJAlJJEpqkPVIwY9QZSP"],3:["price_1SQtg8AlJJEpqkPVvQVU7uQ3","price_1SQtg8AlJJEpqkPV4Nks8MkS","price_1SQ8lqAlJJEpqkPVzBaioV3I","price_1SQ8lOAlJJEpqkPVz2R8SRss"]},D=["price_1R8Xw4AlJJEpqkPV6nwdink9","price_1R3j0qAlJJEpqkPVkfGNXRwb","price_1R8XztAlJJEpqkPVnHmIU2tf","price_1R7ofzAlJJEpqkPV0L2TwyJo",...Object.values(k).flat()],s=[{name:"Free",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,payouts:0,domains:3,tags:5,partnerTags:0,folders:0,groups:0,networkInvites:0,partners:0,users:1,ai:10,api:60,analyticsApi:0,retention:"30-day"}},{name:"Pro",price:{monthly:30,yearly:25,ids:[...J,...R]},limits:{links:1e3,clicks:5e4,payouts:0,domains:10,tags:25,partnerTags:0,folders:3,groups:0,networkInvites:0,partners:0,users:3,ai:1e3,api:600,analyticsApi:2,retention:"1-year"},tiers:{2:{price:{monthly:60,yearly:50,ids:v[2]},limits:{links:5e3,clicks:15e4}}},featureTitle:"Everything in Free, plus:",features:[{id:"clicks",text:"50K tracked events/mo"},{id:"links",text:"1K new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"3 users"},{id:"advanced",text:"Advanced link features",tooltip:"ADVANCED_LINK_FEATURES"},{id:"ai",text:"Unlimited AI credits",tooltip:{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:"dotlink",text:"Free .link domain",tooltip:{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"}},{id:"folders",text:"Link folders",tooltip:{title:"Organize and manage access to your links on Dub using folders.",cta:"Learn more.",href:"https://dub.co/help/article/link-folders"}},{id:"deeplinks",text:"Deep links",tooltip:{title:"Redirect users to a specific page within your mobile application using deep links.",cta:"Learn more.",href:"https://dub.co/docs/concepts/deep-links/quickstart"}}]},{name:"Business",price:{monthly:90,yearly:75,ids:[...I,...N]},limits:{links:1e4,clicks:25e4,payouts:25e4,domains:100,tags:l,partnerTags:10,folders:20,groups:3,networkInvites:0,partners:500,users:10,ai:1e3,api:1200,analyticsApi:4,retention:"3-year"},tiers:{2:{price:{monthly:180,yearly:150,ids:S[2]},limits:{links:25e3,clicks:6e5}}},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:"250K tracked events/mo"},{id:"links",text:"10K new links/mo"},{id:"retention",text:"3-year analytics retention"},{id:"payouts",text:"$2.5K partner payouts/mo",tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}},{id:"users",text:"10 users"},{id:"partners",text:"Dub Partners",tooltip:{title:"Use Dub Partners to manage and pay out your affiliates.",cta:"Learn more.",href:"https://dub.co/partners"}},{id:"customerinsights",text:"Customer insights",tooltip:{title:"Get real-time insights into your customers' behavior and preferences.",cta:"Learn more.",href:"https://dub.co/help/article/customer-insights"}},{id:"events",text:"Real-time events stream",tooltip:{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://dub.co/help/article/real-time-events-stream"}},{id:"webhooks",text:"Event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}},{id:"tests",text:"A/B testing"}]},{name:"Advanced",price:{monthly:300,yearly:250,ids:D},limits:{links:5e4,clicks:1e6,payouts:15e5,domains:250,tags:l,partnerTags:l,folders:50,groups:l,networkInvites:0,partners:l,users:20,ai:1e3,api:3e3,analyticsApi:8,retention:"5-year"},tiers:{2:{price:{monthly:600,yearly:500,ids:k[2]},limits:{links:15e4,clicks:2e6}},3:{price:{monthly:900,yearly:750,ids:k[3]},limits:{links:3e5,clicks:35e5}}},featureTitle:"Everything in Business, plus:",features:[{id:"clicks",text:"1M tracked events/mo"},{id:"links",text:"50K new links/mo"},{id:"retention",text:"5-year analytics retention"},{id:"payouts",text:"$15K partner payouts/mo",tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}},{id:"users",text:"20 users"},{id:"flexiblerewards",text:"Advanced reward structures",tooltip:{title:"Create dynamic click, lead, or sale-based rewards with country and product-specific modifiers.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"embeddedreferrals",text:"Embedded referral dashboard",tooltip:{title:"Create an embedded referral dashboard directly in your app in just a few lines of code.",cta:"Learn more.",href:"https://dub.co/docs/partners/embedded-referrals"}},{id:"messages",text:"Messaging center",tooltip:{title:"Easily communicate with your partners using our messaging center."}},{id:"email",text:"Email campaigns",tooltip:{title:"Send marketing and transactional emails to your partners to increase engagement and drive conversions.",cta:"Learn more.",href:"https://dub.co/help/article/email-campaigns"}},{id:"slack",text:"Priority email support"}]},{name:"Enterprise",price:{monthly:null,yearly:null},limits:{links:5e5,clicks:5e6,payouts:l,domains:250,tags:l,partnerTags:l,folders:l,groups:l,networkInvites:20,partners:l,users:30,ai:1e3,api:3e3,analyticsApi:16,retention:"Unlimited"}}],ot=s.find(e=>e.name==="Free"),q=s.find(e=>e.name==="Pro"),nt=s.find(e=>e.name==="Business"),at=s.find(e=>e.name==="Advanced"),V=s.find(e=>e.name==="Enterprise"),lt=s.filter(e=>["Pro","Business","Advanced"].includes(e.name)),ct=2,b=(e,t)=>{var n;let r=e.tiers&&t>1?e.tiers[t]:void 0,o=(r==null?void 0:r.limits)??e.limits;return{...e,limits:{...e.limits,...o},price:{...e.price,...r==null?void 0:r.price},features:(n=e.features)==null?void 0:n.map(i=>({...i,text:i.id==="clicks"?`${a(o.clicks)} tracked events/mo`:i.id==="links"?`${a(o.links)} new links/mo`:i.text}))}},pt=({priceId:e})=>{var o;let t=s.find(n=>{var i;return(i=n.price.ids)==null?void 0:i.includes(e)});if(!t)return{plan:null,planTier:1};let r=t.tiers&&Number((o=Object.entries(t.tiers).find(([n,{price:i}])=>i.ids.includes(e)))==null?void 0:o[0])||1;return{plan:b(t,r),planTier:r}},dt=({plan:e,planTier:t=1})=>{let r=s.find(o=>o.name.toLowerCase()===e.split(" ")[0].toLowerCase());return b(r,t)},ut=e=>{if(!e)return q;let t=e.toLowerCase().split(" ")[0];return s[Math.min(s.findIndex(r=>r.name.toLowerCase()===t)+1,s.length-1)]},mt=({currentPlan:e,newPlan:t,currentTier:r,newTier:o})=>{let n=s.findIndex(u=>u.name.toLowerCase()===e.toLowerCase()),i=s.findIndex(u=>u.name.toLowerCase()===t.toLowerCase());return n>i||n===i&&(r??1)>(o??1)},ft=({events:e,links:t})=>{let r=null;for(let o of s){let n=[1,...Object.keys(o.tiers??{}).map(Number).filter(i=>i>=2)].find(i=>{var m,E;let u=i===1?o.limits:((E=(m=o.tiers)==null?void 0:m[i])==null?void 0:E.limits)??o.limits;return u.clicks>=(e??0)&&u.links>=(t??0)});if(n!==void 0){r={plan:b(o,n),planTier:n};break}}return r??{plan:V,planTier:1}},ht=({plan:e="business",partnersLimit:t=0})=>e==="business"&&t===0;var h=e=>[{id:"clicks",text:e.name==="Enterprise"?"Unlimited tracked events":`${a(e.limits.clicks)} tracked events/mo`},{id:"links",text:e.name==="Enterprise"?"Unlimited new links":`${a(e.limits.links)} new links/mo`},{id:"retention",text:`${e.limits.retention} analytics retention`}],y=e=>[{id:"payouts",text:e.name==="Enterprise"?"Unlimited partner payouts":`$${a(e.limits.payouts/100)} partner payouts/mo`,tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}}],bt={links:{Pro:[{features:[...h(s.find(e=>e.name==="Pro")),{id:"advanced",text:"Advanced link features"},{id:"dotlink",text:"Free .link domain",tooltip:{title:"Get a free .link custom domain for 1 year with any of Dub's paid plans.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}},{id:"folders",text:"Link folders",tooltip:{title:"Organize and manage access to your links on Dub using folders.",cta:"Learn more.",href:"https://dub.co/help/article/link-folders"}},{id:"deeplinks",text:"Deep links",tooltip:{title:"Redirect users to a specific page within your mobile application using deep links.",cta:"Learn more.",href:"https://dub.co/docs/concepts/deep-links/quickstart"}}]}],Business:[{features:[...h(s.find(e=>e.name==="Business")),{id:"conversions",text:"Conversion tracking"},{id:"tests",text:"A/B testing"},{id:"roles",text:"Customer insights",tooltip:{title:"Get real-time insights into your customers' behavior and preferences.",cta:"Learn more.",href:"https://dub.co/help/article/customer-insights"}},{id:"webhooks",text:"Event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}}]}],Advanced:[{features:[...h(s.find(e=>e.name==="Advanced")),{id:"email",text:"Priority email support"}]}],Enterprise:[{features:[...h(s.find(e=>e.name==="Enterprise")),{id:"sso",text:"SSO/SAML"},{id:"logs",text:"Audit logs"},{id:"sla",text:"Custom SLA"}]}]},partners:{Business:[{features:[...y(s.find(e=>e.name==="Business")),{id:"basicrewards",text:"Basic reward structures",tooltip:{title:"Create custom click, lead, or sale-based rewards, tailored to each partner's needs.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"conversions",text:"Dual-sided incentives",tooltip:{title:"Offer dual-sided incentives to your partners and the users they refer.",cta:"Learn more.",href:"https://dub.co/help/article/dual-sided-incentives"}},{id:"bounties",text:"Program bounties",tooltip:{title:"Drive partner engagement by creating performance and submission bounties for your partner program.",cta:"Learn more.",href:"https://dub.co/help/article/program-bounties"}},{id:"analytics",text:"Real-time analytics",tooltip:{title:"Get real-time insights into your partner program's performance and engagement.",cta:"Learn more.",href:"https://dub.co/help/article/program-analytics"}},{id:"ailandingpage",text:"AI landing page generator",tooltip:{title:"Generate compelling landing pages using Dub AI to attract high-quality partners to join your program.",cta:"Learn more.",href:"https://dub.co/help/article/program-landing-page"}},{id:"webhooks",text:"Real-time event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}},{id:"customerinsights",text:"Basic email support"}]}],Advanced:[{features:[...y(s.find(e=>e.name==="Advanced")),{id:"flexiblerewards",text:"Advanced reward structures",tooltip:{title:"Create dynamic click, lead, or sale-based rewards with country and product-specific modifiers.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"email",text:"Email campaigns",tooltip:{title:"Send marketing and transactional emails to your partners to increase engagement and drive conversions.",cta:"Learn more.",href:"https://dub.co/help/article/email-campaigns"}},{id:"messages",text:"Messaging center",tooltip:{title:"Easily communicate with your partners using our messaging center."}},{id:"frauddetection",text:"Fraud detection",tooltip:{title:"Safeguard your partner program by automatically flagging, reviewing, and resolving suspicious activity.",cta:"Learn more.",href:"https://dub.co/help/article/risk-monitoring"}},{id:"embeddedreferrals",text:"Embedded referral dashboard",tooltip:{title:"Create an embedded referral dashboard directly in your app in just a few lines of code.",cta:"Learn more.",href:"https://dub.co/docs/partners/embedded-referrals"}},{id:"api",text:"Partners API",tooltip:{title:"Leverage our partners API to build a bespoke, white-labeled referral program that lives within your app.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/endpoint/create-a-partner"}},{id:"success",text:"Priority email support"}]}],Enterprise:[{features:[...y(s.find(e=>e.name==="Enterprise")),{id:"volume",text:"Volume discounts",tooltip:{title:"Get access to volume discounts for payout fees and tracked events usage."}},{id:"partnergroups",text:"Access to Partner Network",tooltip:{title:"Get access to our network of 10,000+ top affiliates to recruit from and grow your program."}},{id:"partners",text:"Featured in Program Marketplace",tooltip:{title:"Get featured in front of our network of 500,000+ total affiliates and receive 10x more applications.",cta:"Learn more.",href:"https://dub.co/help/article/program-marketplace"}},{id:"sso",text:"SSO/SAML",tooltip:{title:"Enable single sign-on (SSO) for your entire organization using SAML.",cta:"Learn more.",href:"https://dub.co/help/category/saml-sso"}},{id:"logs",text:"Audit logs"},{id:"sla",text:"Custom SLA"},{id:"slack",text:"Dedicated Slack support"}]}]}};var Kt=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"})}`;export{O as a,Kt as b,ee as c,te as d,re as e,ie as f,se as g,oe as h,ne as i,ce as j,pe as k,N as l,s as m,ot as n,q as o,nt as p,at as q,V as r,lt as s,ct as t,pt as u,dt as v,ut as w,mt as x,ft as y,ht as z,bt as A};
@@ -0,0 +1 @@
1
+ import{a as _}from"./chunk-JM7ZLOXL.mjs";import{a as g}from"./chunk-CP4WO7MM.mjs";import{a as k}from"./chunk-IHX4EDUF.mjs";import{a}from"./chunk-E4JQPS37.mjs";import{a as w}from"./chunk-GLWDY4K2.mjs";import{g as l}from"./chunk-FY4O7ZL5.mjs";import{a as f}from"./chunk-YUMUNL66.mjs";import{a as A,b as P}from"./chunk-SYT2IXG6.mjs";import{Fragment as p,jsx as c,jsxs as d}from"react/jsx-runtime";var O=[{category:"Links",href:"https://dub.co/links",features:[{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.links)})," ","new links",e.name==="Enterprise"?"":"/mo"]})},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.tags===l?"Unlimited":a(e.limits.tags)})," ","tags"]}),href:"https://dub.co/help/article/how-to-use-tags"},{check:{free:!1,default:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.folders===l?"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/docs/concepts/deep-links/quickstart"},{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:"Partners",href:"https://dub.co/partners",features:[{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Automated global payouts",href:"https://dub.co/help/article/partner-payouts"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e,plan:t})=>e==="free"||e==="pro"?"No partner payouts":d(p,{children:[c("strong",{children:t.name==="Enterprise"?"Unlimited":`$${a(t.limits.payouts/100)}`})," ","partner payouts",t.name==="Enterprise"?"":"/mo"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({id:e})=>e==="free"||e==="pro"?"No partner payouts":d(p,{children:[c("strong",{children:{business:"5%",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:!0,advanced:!0,enterprise:!0},text:({id:e,plan:t})=>e==="free"||e==="pro"?"No partner rewards":d(p,{children:[c("strong",{children:t.name==="Business"?"Basic":"Advanced"})," ","partner rewards"]}),href:"https://dub.co/help/article/partner-rewards"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Dual-sided incentives",href:"https://dub.co/help/article/dual-sided-incentives"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"AI landing page generator",href:"https://dub.co/help/article/program-landing-page"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.partners===0?"No":e.limits.partners===l?"Unlimited":a(e.limits.partners)})," ","partners"]}),href:"https://dub.co/help/article/inviting-partners"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.groups===0?"No":e.limits.groups===l?"Unlimited":a(e.limits.groups)})," ","partner groups"]}),href:"https://dub.co/help/article/partner-groups"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.partnerTags===0?"No":e.limits.partnerTags===l?"Unlimited":a(e.limits.partnerTags)})," ","partner tags"]}),href:"https://dub.co/help/article/partner-groups"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Embedded referral dashboard",href:"https://dub.co/docs/partners/embedded-referrals"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Partners API",href:"https://dub.co/docs/api-reference/endpoint/create-a-partner"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Messaging center"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Email campaigns"},{check:{default:!1,advanced:!0,enterprise:!0},text:"Fraud & risk prevention"},{check:{default:!1,enterprise:!0},text:"Partner network access"}]},{category:"Analytics",href:"https://dub.co/analytics",features:[{text:"Advanced analytics",href:"https://dub.co/help/article/dub-analytics"},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.clicks)})," ","tracked events",e.name==="Enterprise"?"":"/mo"]}),href:"https://dub.co/help/article/dub-analytics-limits"},{text:({plan:e})=>d(p,{children:[c("strong",{children:e.limits.retention})," retention"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Conversion tracking",href:"https://dub.co/help/article/dub-conversions"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Customer insights",href:"https://dub.co/help/article/customer-insights"},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Real-time events stream",href:"https://dub.co/help/article/real-time-events-stream"}]},{category:"Domains",href:"https://dub.co/help/category/custom-domains",features:[{text:({plan:e})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.domains,{full:!0})})," ","custom domains"]})},{text:()=>c(p,{children:"SSL certificates"})},{check:{default:!0,free:!1},text:()=>d(p,{children:["Free ",c("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:t})=>d(p,{children:[c("strong",{children:e==="enterprise"?"Custom":a(t.limits.api,{full:!0})+"/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})=>d(p,{children:[c("strong",{children:e.name==="Enterprise"?"Unlimited":a(e.limits.users)})," ","user",e.limits.users===1?"":"s"]})},{check:{default:!1,business:!0,advanced:!0,enterprise:!0},text:"Role-based access control",href:"https://dub.co/help/article/folders-rbac"},{check:{default:!1,enterprise:!0},text:"SAML/SSO",href:"https://dub.co/help/category/saml-sso"},{check:{default:!1,enterprise:!0},text:"Audit logs"}]},{category:"Support",href:"https://dub.co/contact/support",features:[{text:({id:e})=>({free:"Community support",pro:"Email support",business:"Email support",advanced:"Priority email support",enterprise:"Slack support with SLA"})[e]},{check:{default:!1,enterprise:!0},text:"Dedicated success manager"}]}];import L from"@sindresorhus/slugify";var ee=e=>{let t=L(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,i)=>n.length<i.length?n:i)}.link`},te=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),re=new RegExp(/^[a-zA-Z0-9\-]+$/),ie=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),se=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?A.has(r[r.length-2])&&f.has(r[r.length-1])||P.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},oe=e=>{if(_(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}},ne=e=>w.some(t=>t.slug===e);function ce({domain:e,key:t,pretty:r,searchParams:o}){if(!e)return"";let n=`https://${k(e)}${t&&t!=="_root"?`/${k(t)}`:""}`;if(o){let i=new URLSearchParams;for(let[u,m]of Object.entries(o))i.set(u,m);n+=`?${i.toString()}`}return r?n.replace(/^https?:\/\//,""):n}function pe({domain:e,key:t}){return`https://${e}${t==="_root"?"":`/${t}`}`}var J=["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"],v={2:["price_1SQtg3AlJJEpqkPVVhDSyd9u","price_1SQtg3AlJJEpqkPVNHYhTRy7","price_1SQ8hiAlJJEpqkPVIy8pfvAC","price_1SQ8gwAlJJEpqkPVb78Oc9Yc"]},R=["price_1R8XtyAlJJEpqkPV5WZ4c0jF","price_1R8XtEAlJJEpqkPV4opVvVPq","price_1R8XxZAlJJEpqkPVqGi0wOqD","price_1R7oeBAlJJEpqkPVh6q5q3h8",...Object.values(v).flat()],I=["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw"],S={2:["price_1SQtdxAlJJEpqkPV4kNkRHZr","price_1SQtdxAlJJEpqkPV7cvJTv4g","price_1SQ8iwAlJJEpqkPVEGmKd6Lg","price_1SQ8iSAlJJEpqkPVQ5crmBtF"]},N=["price_1R3j01AlJJEpqkPVXuG1eNzm","price_1R6JedAlJJEpqkPVMUkfjch4","price_1R8XypAlJJEpqkPVdjzOcYUC","price_1R7ofLAlJJEpqkPV3MlgDpyx",...Object.values(S).flat()],x={2:["price_1SQtg6AlJJEpqkPVAJdrStq7","price_1SQtg6AlJJEpqkPVaZNisQdm","price_1SQ8jlAlJJEpqkPV6EanvSXl","price_1SQ8jJAlJJEpqkPVIwY9QZSP"],3:["price_1SQtg8AlJJEpqkPVvQVU7uQ3","price_1SQtg8AlJJEpqkPV4Nks8MkS","price_1SQ8lqAlJJEpqkPVzBaioV3I","price_1SQ8lOAlJJEpqkPVz2R8SRss"]},D=["price_1R8Xw4AlJJEpqkPV6nwdink9","price_1R3j0qAlJJEpqkPVkfGNXRwb","price_1R8XztAlJJEpqkPVnHmIU2tf","price_1R7ofzAlJJEpqkPV0L2TwyJo",...Object.values(x).flat()],s=[{name:"Free",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,payouts:0,domains:3,tags:5,partnerTags:0,folders:0,groups:0,networkInvites:0,partners:0,users:1,ai:10,api:60,analyticsApi:0,retention:"30-day"}},{name:"Pro",price:{monthly:30,yearly:25,ids:[...J,...R]},limits:{links:1e3,clicks:5e4,payouts:0,domains:10,tags:25,partnerTags:0,folders:3,groups:0,networkInvites:0,partners:0,users:3,ai:1e3,api:600,analyticsApi:2,retention:"1-year"},tiers:{2:{price:{monthly:60,yearly:50,ids:v[2]},limits:{links:5e3,clicks:15e4}}},featureTitle:"Everything in Free, plus:",features:[{id:"clicks",text:"50K tracked events/mo"},{id:"links",text:"1K new links/mo"},{id:"retention",text:"1-year analytics retention"},{id:"domains",text:"10 domains"},{id:"users",text:"3 users"},{id:"advanced",text:"Advanced link features",tooltip:"ADVANCED_LINK_FEATURES"},{id:"ai",text:"Unlimited AI credits",tooltip:{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:"dotlink",text:"Free .link domain",tooltip:{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"}},{id:"folders",text:"Link folders",tooltip:{title:"Organize and manage access to your links on Dub using folders.",cta:"Learn more.",href:"https://dub.co/help/article/link-folders"}},{id:"deeplinks",text:"Deep links",tooltip:{title:"Redirect users to a specific page within your mobile application using deep links.",cta:"Learn more.",href:"https://dub.co/docs/concepts/deep-links/quickstart"}}]},{name:"Business",price:{monthly:90,yearly:75,ids:[...I,...N]},limits:{links:1e4,clicks:25e4,payouts:25e4,domains:100,tags:l,partnerTags:10,folders:20,groups:3,networkInvites:0,partners:500,users:10,ai:1e3,api:1200,analyticsApi:4,retention:"3-year"},tiers:{2:{price:{monthly:180,yearly:150,ids:S[2]},limits:{links:25e3,clicks:6e5}}},featureTitle:"Everything in Pro, plus:",features:[{id:"clicks",text:"250K tracked events/mo"},{id:"links",text:"10K new links/mo"},{id:"retention",text:"3-year analytics retention"},{id:"payouts",text:"$2.5K partner payouts/mo",tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}},{id:"users",text:"10 users"},{id:"partners",text:"Dub Partners",tooltip:{title:"Use Dub Partners to manage and pay out your affiliates.",cta:"Learn more.",href:"https://dub.co/partners"}},{id:"customerinsights",text:"Customer insights",tooltip:{title:"Get real-time insights into your customers' behavior and preferences.",cta:"Learn more.",href:"https://dub.co/help/article/customer-insights"}},{id:"events",text:"Real-time events stream",tooltip:{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://dub.co/help/article/real-time-events-stream"}},{id:"webhooks",text:"Event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}},{id:"tests",text:"A/B testing"}]},{name:"Advanced",price:{monthly:300,yearly:250,ids:D},limits:{links:5e4,clicks:1e6,payouts:15e5,domains:250,tags:l,partnerTags:l,folders:50,groups:l,networkInvites:0,partners:l,users:20,ai:1e3,api:3e3,analyticsApi:8,retention:"5-year"},tiers:{2:{price:{monthly:600,yearly:500,ids:x[2]},limits:{links:15e4,clicks:2e6}},3:{price:{monthly:900,yearly:750,ids:x[3]},limits:{links:3e5,clicks:35e5}}},featureTitle:"Everything in Business, plus:",features:[{id:"clicks",text:"1M tracked events/mo"},{id:"links",text:"50K new links/mo"},{id:"retention",text:"5-year analytics retention"},{id:"payouts",text:"$15K partner payouts/mo",tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}},{id:"users",text:"20 users"},{id:"flexiblerewards",text:"Advanced reward structures",tooltip:{title:"Create dynamic click, lead, or sale-based rewards with country and product-specific modifiers.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"embeddedreferrals",text:"Embedded referral dashboard",tooltip:{title:"Create an embedded referral dashboard directly in your app in just a few lines of code.",cta:"Learn more.",href:"https://dub.co/docs/partners/embedded-referrals"}},{id:"messages",text:"Messaging center",tooltip:{title:"Easily communicate with your partners using our messaging center."}},{id:"email",text:"Email campaigns",tooltip:{title:"Send marketing and transactional emails to your partners to increase engagement and drive conversions.",cta:"Learn more.",href:"https://dub.co/help/article/email-campaigns"}},{id:"slack",text:"Priority email support"}]},{name:"Enterprise",price:{monthly:null,yearly:null},limits:{links:5e5,clicks:5e6,payouts:l,domains:250,tags:l,partnerTags:l,folders:l,groups:l,networkInvites:20,partners:l,users:30,ai:1e3,api:3e3,analyticsApi:16,retention:"Unlimited"}}],ot=s.find(e=>e.name==="Free"),q=s.find(e=>e.name==="Pro"),nt=s.find(e=>e.name==="Business"),at=s.find(e=>e.name==="Advanced"),V=s.find(e=>e.name==="Enterprise"),lt=s.filter(e=>["Pro","Business","Advanced"].includes(e.name)),ct=2,b=(e,t)=>{var n;let r=e.tiers&&t>1?e.tiers[t]:void 0,o=(r==null?void 0:r.limits)??e.limits;return{...e,limits:{...e.limits,...o},price:{...e.price,...r==null?void 0:r.price},features:(n=e.features)==null?void 0:n.map(i=>({...i,text:i.id==="clicks"?`${a(o.clicks)} tracked events/mo`:i.id==="links"?`${a(o.links)} new links/mo`:i.text}))}},pt=({priceId:e})=>{var o;let t=s.find(n=>{var i;return(i=n.price.ids)==null?void 0:i.includes(e)});if(!t)return{plan:null,planTier:1};let r=t.tiers&&Number((o=Object.entries(t.tiers).find(([n,{price:i}])=>i.ids.includes(e)))==null?void 0:o[0])||1;return{plan:b(t,r),planTier:r}},dt=({plan:e,planTier:t=1})=>{let r=s.find(o=>o.name.toLowerCase()===e.split(" ")[0].toLowerCase());return b(r,t)},ut=e=>{if(!e)return q;let t=e.toLowerCase().split(" ")[0];return s[Math.min(s.findIndex(r=>r.name.toLowerCase()===t)+1,s.length-1)]},mt=({currentPlan:e,newPlan:t,currentTier:r,newTier:o})=>{let n=s.findIndex(u=>u.name.toLowerCase()===e.toLowerCase()),i=s.findIndex(u=>u.name.toLowerCase()===t.toLowerCase());return n>i||n===i&&(r??1)>(o??1)},ft=({events:e,links:t})=>{let r=null;for(let o of s){let n=[1,...Object.keys(o.tiers??{}).map(Number).filter(i=>i>=2)].find(i=>{var m,E;let u=i===1?o.limits:((E=(m=o.tiers)==null?void 0:m[i])==null?void 0:E.limits)??o.limits;return u.clicks>=(e??0)&&u.links>=(t??0)});if(n!==void 0){r={plan:b(o,n),planTier:n};break}}return r??{plan:V,planTier:1}},ht=({plan:e="business",partnersLimit:t=0})=>e==="business"&&t===0;var h=e=>[{id:"clicks",text:e.name==="Enterprise"?"Unlimited tracked events":`${a(e.limits.clicks)} tracked events/mo`},{id:"links",text:e.name==="Enterprise"?"Unlimited new links":`${a(e.limits.links)} new links/mo`},...e.name!=="Enterprise"?[{id:"retention",text:`${e.limits.retention} analytics retention`}]:[]],y=e=>[{id:"payouts",text:e.name==="Enterprise"?"Unlimited partner payouts":`$${a(e.limits.payouts/100)} partner payouts/mo`,tooltip:{title:"Send payouts to your partners with 1-click (or automate it completely) \u2013 all across the world.",cta:"Learn more.",href:"https://dub.co/help/article/partner-payouts"}}],bt={links:{Pro:[{features:[...h(s.find(e=>e.name==="Pro")),{id:"advanced",text:"Advanced link features",tooltip:{title:"Supercharge your links with [custom link previews](https://dub.co/help/article/custom-link-previews), [device targeting](https://dub.co/help/article/device-targeting), [geo targeting](https://dub.co/help/article/geo-targeting), [link cloaking](https://dub.co/help/article/link-cloaking), [password protection](https://dub.co/help/article/password-protected-links), and more."}},{id:"dotlink",text:"Free .link domain",tooltip:{title:"Get a free .link custom domain for 1 year with any of Dub's paid plans.",cta:"Learn more.",href:"https://dub.co/help/article/free-dot-link-domain"}},{id:"folders",text:"Link folders",tooltip:{title:"Organize and manage access to your links on Dub using folders.",cta:"Learn more.",href:"https://dub.co/help/article/link-folders"}},{id:"deeplinks",text:"Deep links",tooltip:{title:"Redirect users to a specific page within your mobile application using deep links.",cta:"Learn more.",href:"https://dub.co/docs/concepts/deep-links/quickstart"}}]}],Business:[{features:[...h(s.find(e=>e.name==="Business")),{id:"conversions",text:"Conversion tracking"},{id:"tests",text:"A/B testing",tooltip:{title:"Run A/B tests to compare different short-link variations and identify what drives the highest conversions.",cta:"Learn more.",href:"https://dub.co/help/article/ab-testing"}},{id:"roles",text:"Customer insights",tooltip:{title:"Get real-time insights into your customers' behavior and preferences.",cta:"Learn more.",href:"https://dub.co/help/article/customer-insights"}},{id:"webhooks",text:"Event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}}]}],Advanced:[{features:[...h(s.find(e=>e.name==="Advanced")),{id:"success",text:"Priority email support"}]}],Enterprise:[{features:[...h(s.find(e=>e.name==="Enterprise")),{id:"sso",text:"SSO/SAML"},{id:"logs",text:"Audit logs"},{id:"slack",text:"Dedicated Slack support"}]}]},partners:{Business:[{features:[...y(s.find(e=>e.name==="Business")),{id:"basicrewards",text:"Basic reward structures",tooltip:{title:"Create custom click, lead, or sale-based rewards, tailored to each partner's needs.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"conversions",text:"Dual-sided incentives",tooltip:{title:"Offer dual-sided incentives to your partners and the users they refer.",cta:"Learn more.",href:"https://dub.co/help/article/dual-sided-incentives"}},{id:"bounties",text:"Program bounties",tooltip:{title:"Drive partner engagement by creating performance and submission bounties for your partner program.",cta:"Learn more.",href:"https://dub.co/help/article/program-bounties"}},{id:"analytics",text:"Real-time analytics",tooltip:{title:"Get real-time insights into your partner program's performance and engagement.",cta:"Learn more.",href:"https://dub.co/help/article/program-analytics"}},{id:"ailandingpage",text:"AI landing page generator",tooltip:{title:"Generate compelling landing pages using Dub AI to attract high-quality partners to join your program.",cta:"Learn more.",href:"https://dub.co/help/article/program-landing-page"}},{id:"webhooks",text:"Real-time event webhooks",tooltip:{title:"Get real-time notifications when a link is clicked or a QR code is scanned using webhooks.",cta:"Learn more.",href:"https://dub.co/docs/concepts/webhooks/introduction"}},{id:"customerinsights",text:"Basic email support"}]}],Advanced:[{features:[...y(s.find(e=>e.name==="Advanced")),{id:"flexiblerewards",text:"Advanced reward structures",tooltip:{title:"Create dynamic click, lead, or sale-based rewards with country and product-specific modifiers.",cta:"Learn more.",href:"https://dub.co/help/article/partner-rewards"}},{id:"email",text:"Email campaigns",tooltip:{title:"Send marketing and transactional emails to your partners to increase engagement and drive conversions.",cta:"Learn more.",href:"https://dub.co/help/article/email-campaigns"}},{id:"messages",text:"Messaging center",tooltip:{title:"Easily communicate with your partners using our messaging center."}},{id:"frauddetection",text:"Fraud detection",tooltip:{title:"Safeguard your partner program by automatically flagging, reviewing, and resolving suspicious activity.",cta:"Learn more.",href:"https://dub.co/help/article/risk-monitoring"}},{id:"embeddedreferrals",text:"Embedded referral dashboard",tooltip:{title:"Create an embedded referral dashboard directly in your app in just a few lines of code.",cta:"Learn more.",href:"https://dub.co/docs/partners/embedded-referrals"}},{id:"api",text:"Partners API",tooltip:{title:"Leverage our partners API to build a bespoke, white-labeled referral program that lives within your app.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/endpoint/create-a-partner"}},{id:"success",text:"Priority email support"}]}],Enterprise:[{features:[...y(s.find(e=>e.name==="Enterprise")),{id:"volume",text:"Volume discounts",tooltip:{title:"Get access to volume discounts for payout fees and tracked events usage."}},{id:"partnergroups",text:"Access to Partner Network",tooltip:{title:"Get access to our network of 10,000+ top affiliates to recruit from and grow your program."}},{id:"partners",text:"Featured in Program Marketplace",tooltip:{title:"Get featured in front of our network of 500,000+ total affiliates and receive 10x more applications.",cta:"Learn more.",href:"https://dub.co/help/article/program-marketplace"}},{id:"sso",text:"SSO/SAML",tooltip:{title:"Enable single sign-on (SSO) for your entire organization using SAML.",cta:"Learn more.",href:"https://dub.co/help/category/saml-sso"}},{id:"logs",text:"Audit logs"},{id:"sla",text:"Custom SLA"},{id:"slack",text:"Dedicated Slack support"}]}]}};var Kt=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"})}`;export{O as a,Kt as b,ee as c,te as d,re as e,ie as f,se as g,oe as h,ne as i,ce as j,pe as k,N as l,s as m,ot as n,q as o,nt as p,at as q,V as r,lt as s,ct as t,pt as u,dt as v,ut as w,mt as x,ft as y,ht as z,bt as A};