@dub/utils 0.0.54 → 0.0.56

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 (431) hide show
  1. package/dist/chunk-2HBAUG2V.mjs +1 -0
  2. package/dist/chunk-35NWNSTL.mjs +1 -0
  3. package/dist/chunk-3KJ5I4QF.mjs +1 -0
  4. package/dist/chunk-4GPIEIFY.mjs +1 -0
  5. package/dist/chunk-4TDRL2KB.mjs +1 -0
  6. package/dist/chunk-4YAXMKRQ.mjs +1 -0
  7. package/dist/chunk-5DT6AOV2.mjs +1 -0
  8. package/dist/chunk-5E2HITKT.mjs +1 -0
  9. package/dist/chunk-5V7YLKIH.mjs +1 -0
  10. package/dist/chunk-5YAEEOIB.mjs +1 -0
  11. package/dist/chunk-6KV3ZVLY.mjs +1 -0
  12. package/dist/chunk-76ELDZUK.mjs +1 -0
  13. package/dist/chunk-AEBQG7VC.mjs +1 -0
  14. package/dist/chunk-B6ZWD34T.mjs +1 -0
  15. package/dist/chunk-C4JMLACD.mjs +1 -0
  16. package/dist/chunk-C6YHGJJW.mjs +1 -0
  17. package/dist/chunk-C7PDZAH5.mjs +1 -0
  18. package/dist/chunk-CJDIT3IF.mjs +1 -0
  19. package/dist/chunk-CQUOVUQE.mjs +1 -0
  20. package/dist/chunk-DPAABCZN.mjs +1 -0
  21. package/dist/chunk-DVBSGX2A.mjs +1 -0
  22. package/dist/chunk-E4DJH5GI.mjs +1 -0
  23. package/dist/chunk-EAYRT54A.mjs +1 -0
  24. package/dist/chunk-EMVAHV6G.mjs +1 -0
  25. package/dist/chunk-EMVHFBPS.mjs +1 -0
  26. package/dist/chunk-F4P6WJV7.mjs +1 -0
  27. package/dist/{chunk-GEU532AX.mjs → chunk-FPXOXMD4.mjs} +1 -1
  28. package/dist/chunk-HJD7AJT4.mjs +1 -0
  29. package/dist/chunk-IS7ER5CY.mjs +1 -0
  30. package/dist/chunk-JH4CWWXL.mjs +1 -0
  31. package/dist/chunk-K7XED2RW.mjs +1 -0
  32. package/dist/chunk-KDRQ6BUV.mjs +1 -0
  33. package/dist/chunk-KF2VKRCV.mjs +1 -0
  34. package/dist/chunk-KXB73SGH.mjs +1 -0
  35. package/dist/{chunk-ERBNWBZS.mjs → chunk-L5BQNKZA.mjs} +1 -1
  36. package/dist/chunk-LAPYXK34.mjs +1 -0
  37. package/dist/chunk-LE6HPSC7.mjs +1 -0
  38. package/dist/chunk-LESW6Q7W.mjs +1 -0
  39. package/dist/chunk-MBZQIWRH.mjs +1 -0
  40. package/dist/{chunk-5VUO5P2B.mjs → chunk-OKHUN43N.mjs} +1 -1
  41. package/dist/chunk-OOOFAPFQ.mjs +1 -0
  42. package/dist/chunk-PMOQSSOL.mjs +1 -0
  43. package/dist/chunk-QAC4KSRZ.mjs +1 -0
  44. package/dist/chunk-QG3NE5R7.mjs +1 -0
  45. package/dist/chunk-RNWGZ4UJ.mjs +1 -0
  46. package/dist/chunk-SMGTYYEE.mjs +1 -0
  47. package/dist/chunk-T7G7FNH2.mjs +1 -0
  48. package/dist/chunk-UNFNF34U.mjs +1 -0
  49. package/dist/{chunk-R3PJAF54.mjs → chunk-URLRZ32B.mjs} +1 -1
  50. package/dist/chunk-VILV3TRG.mjs +1 -0
  51. package/dist/chunk-VLXTUOBN.mjs +1 -0
  52. package/dist/chunk-WRUSDWOK.mjs +1 -0
  53. package/dist/chunk-Y62KI7FV.mjs +1 -0
  54. package/dist/chunk-ZCRSVKUE.mjs +1 -0
  55. package/dist/chunk-ZG64N7MK.mjs +1 -0
  56. package/dist/chunk-ZOUWCTIR.mjs +1 -0
  57. package/dist/chunk-ZQYT2BIU.mjs +1 -0
  58. package/dist/combine-words-86574189.d.ts +3 -0
  59. package/dist/constants/dub-domains.d.ts +37 -0
  60. package/dist/constants/dub-domains.mjs +1 -0
  61. package/dist/constants/index.d.ts +4 -1213
  62. package/dist/constants/index.mjs +1 -1
  63. package/dist/constants/main.d.ts +17 -0
  64. package/dist/constants/main.mjs +1 -0
  65. package/dist/constants/middleware.d.ts +1 -3
  66. package/dist/constants/middleware.mjs +1 -1
  67. package/dist/constants/misc.d.ts +2 -1
  68. package/dist/constants/misc.mjs +1 -1
  69. package/dist/functions/capitalize.mjs +1 -1
  70. package/dist/functions/combine-words.d.ts +3 -0
  71. package/dist/functions/combine-words.mjs +1 -0
  72. package/dist/functions/construct-metadata.mjs +1 -1
  73. package/dist/functions/datetime.d.ts +2 -1
  74. package/dist/functions/datetime.mjs +1 -1
  75. package/dist/functions/domains.mjs +1 -1
  76. package/dist/functions/hash-string.d.ts +3 -0
  77. package/dist/functions/hash-string.mjs +1 -0
  78. package/dist/functions/images.d.ts +7 -0
  79. package/dist/functions/images.mjs +1 -0
  80. package/dist/functions/index.d.ts +4 -2
  81. package/dist/functions/index.mjs +1 -1
  82. package/dist/functions/is-iframeable.mjs +1 -1
  83. package/dist/functions/link-constructor.mjs +1 -1
  84. package/dist/functions/urls.mjs +1 -1
  85. package/dist/index.d.ts +16 -12
  86. package/dist/index.mjs +1 -1
  87. package/dist/pricing-8f8e416e.d.ts +1364 -0
  88. package/dist/pricing-ad2f41cb.d.ts +1279 -0
  89. package/dist/pricing-d6093c7b.d.ts +1312 -0
  90. package/dist/pricing-fa9a3919.d.ts +1364 -0
  91. package/package.json +3 -3
  92. package/dist/chunk-2CBXK3IX.mjs +0 -1
  93. package/dist/chunk-2DN4J7N7.mjs +0 -1
  94. package/dist/chunk-2J47GIUG.mjs +0 -1
  95. package/dist/chunk-2J5BCV2C.mjs +0 -1
  96. package/dist/chunk-2JOG52JO.mjs +0 -1
  97. package/dist/chunk-2RCZ6Q6L.mjs +0 -1
  98. package/dist/chunk-2T4TDTV2.mjs +0 -1
  99. package/dist/chunk-2TURBZEL.mjs +0 -1
  100. package/dist/chunk-32A5SDZL.mjs +0 -1
  101. package/dist/chunk-32E7EV62.mjs +0 -1
  102. package/dist/chunk-34MPJURK.mjs +0 -1
  103. package/dist/chunk-37754ABL.mjs +0 -1
  104. package/dist/chunk-3B5DP3T4.mjs +0 -1
  105. package/dist/chunk-3BUV2ANI.mjs +0 -1
  106. package/dist/chunk-3C2XEUEU.mjs +0 -1
  107. package/dist/chunk-3DLEUJV3.mjs +0 -1
  108. package/dist/chunk-3MMUFPNV.mjs +0 -1
  109. package/dist/chunk-3OOMLTJU.mjs +0 -1
  110. package/dist/chunk-3P54C65P.mjs +0 -1
  111. package/dist/chunk-3PRW7SAO.mjs +0 -1
  112. package/dist/chunk-3T7WWPZA.mjs +0 -1
  113. package/dist/chunk-3THE4C2K.mjs +0 -1
  114. package/dist/chunk-3UBZ222G.mjs +0 -1
  115. package/dist/chunk-3X7T3ABK.mjs +0 -1
  116. package/dist/chunk-46LXJSPI.mjs +0 -1
  117. package/dist/chunk-4BN7BHOL.mjs +0 -1
  118. package/dist/chunk-4CH6MXF3.mjs +0 -1
  119. package/dist/chunk-4M6WGMF5.mjs +0 -1
  120. package/dist/chunk-4Q6OLEY4.mjs +0 -1
  121. package/dist/chunk-4RSTNN7M.mjs +0 -1
  122. package/dist/chunk-4UYPINYJ.mjs +0 -1
  123. package/dist/chunk-4VHMU2SN.mjs +0 -1
  124. package/dist/chunk-4Y6ZNAOM.mjs +0 -1
  125. package/dist/chunk-4ZCVFQVA.mjs +0 -1
  126. package/dist/chunk-5FPTMLJS.mjs +0 -1
  127. package/dist/chunk-5IKS3MYC.mjs +0 -1
  128. package/dist/chunk-5KZBTOIK.mjs +0 -1
  129. package/dist/chunk-5LVKLKIV.mjs +0 -1
  130. package/dist/chunk-5NKPICDX.mjs +0 -1
  131. package/dist/chunk-5PD4TPH7.mjs +0 -1
  132. package/dist/chunk-5QBVA3C2.mjs +0 -1
  133. package/dist/chunk-5RWCY2T3.mjs +0 -1
  134. package/dist/chunk-5SBJ6SVD.mjs +0 -1
  135. package/dist/chunk-5STTY72A.mjs +0 -1
  136. package/dist/chunk-5SU2MWLU.mjs +0 -0
  137. package/dist/chunk-5UMPAJJX.mjs +0 -1
  138. package/dist/chunk-5XTNLJRY.mjs +0 -1
  139. package/dist/chunk-63ND5Z3I.mjs +0 -1
  140. package/dist/chunk-664ZT47I.mjs +0 -1
  141. package/dist/chunk-6F4SZBJ3.mjs +0 -1
  142. package/dist/chunk-6MXR5XLJ.mjs +0 -1
  143. package/dist/chunk-6N3NW2JB.mjs +0 -1
  144. package/dist/chunk-6Q2MCPZP.mjs +0 -1
  145. package/dist/chunk-6SBJPILW.mjs +0 -1
  146. package/dist/chunk-6TFUDH7S.mjs +0 -1
  147. package/dist/chunk-6VWTK5CW.mjs +0 -1
  148. package/dist/chunk-6YGW3G46.mjs +0 -1
  149. package/dist/chunk-6ZJZL5CL.mjs +0 -1
  150. package/dist/chunk-76VXH2L6.mjs +0 -1
  151. package/dist/chunk-7CR3I247.mjs +0 -1
  152. package/dist/chunk-7DGKYGEY.mjs +0 -1
  153. package/dist/chunk-7NBIGFDF.mjs +0 -1
  154. package/dist/chunk-7OQSL4CI.mjs +0 -2
  155. package/dist/chunk-7REZWZDA.mjs +0 -1
  156. package/dist/chunk-7S4ROSUS.mjs +0 -1
  157. package/dist/chunk-7ZLOS3H5.mjs +0 -1
  158. package/dist/chunk-A4FADA67.mjs +0 -1
  159. package/dist/chunk-ABQ54CVL.mjs +0 -1
  160. package/dist/chunk-AF65RPQS.mjs +0 -1
  161. package/dist/chunk-AHSNWOXV.mjs +0 -1
  162. package/dist/chunk-AI2STCLX.mjs +0 -1
  163. package/dist/chunk-AIRQ6LHD.mjs +0 -1
  164. package/dist/chunk-AL75Y3IJ.mjs +0 -1
  165. package/dist/chunk-ALOPKGPB.mjs +0 -1
  166. package/dist/chunk-ARUFZ3N7.mjs +0 -1
  167. package/dist/chunk-AZGTG7GS.mjs +0 -1
  168. package/dist/chunk-AZQ76GMJ.mjs +0 -1
  169. package/dist/chunk-B4R2MH5C.mjs +0 -1
  170. package/dist/chunk-BE3FE22D.mjs +0 -1
  171. package/dist/chunk-BEVRCJ4O.mjs +0 -1
  172. package/dist/chunk-BF4VFD3F.mjs +0 -1
  173. package/dist/chunk-BMMTE4CL.mjs +0 -1
  174. package/dist/chunk-BQ3MQSVS.mjs +0 -1
  175. package/dist/chunk-BXATL43P.mjs +0 -1
  176. package/dist/chunk-C65AUAAV.mjs +0 -1
  177. package/dist/chunk-C6XEPXSI.mjs +0 -1
  178. package/dist/chunk-C7CFYTBV.mjs +0 -1
  179. package/dist/chunk-CBKNYPTZ.mjs +0 -1
  180. package/dist/chunk-CFEHS6K2.mjs +0 -1
  181. package/dist/chunk-CFRAJHSR.mjs +0 -1
  182. package/dist/chunk-CGKMNADD.mjs +0 -1
  183. package/dist/chunk-CLZKQYIL.mjs +0 -1
  184. package/dist/chunk-CUD5PRR2.mjs +0 -1
  185. package/dist/chunk-CUQBIJCD.mjs +0 -1
  186. package/dist/chunk-CWX6UGU4.mjs +0 -1
  187. package/dist/chunk-DARJMLYS.mjs +0 -1
  188. package/dist/chunk-DHOWTHOI.mjs +0 -3
  189. package/dist/chunk-DNDRN3T4.mjs +0 -1
  190. package/dist/chunk-DPUZZ3ID.mjs +0 -1
  191. package/dist/chunk-DR4VTSWW.mjs +0 -1
  192. package/dist/chunk-DWGAAIZ7.mjs +0 -1
  193. package/dist/chunk-DZ5GL4XN.mjs +0 -1
  194. package/dist/chunk-E5X57EHU.mjs +0 -1
  195. package/dist/chunk-E67KYH6T.mjs +0 -1
  196. package/dist/chunk-EA7SA6OZ.mjs +0 -1
  197. package/dist/chunk-ECGA6763.mjs +0 -1
  198. package/dist/chunk-EEEOYXQI.mjs +0 -1
  199. package/dist/chunk-EHLVQXPN.mjs +0 -1
  200. package/dist/chunk-EKROEMNY.mjs +0 -1
  201. package/dist/chunk-EMGP7EVH.mjs +0 -1
  202. package/dist/chunk-ERNT7CVX.mjs +0 -1
  203. package/dist/chunk-ET54P7CM.mjs +0 -1
  204. package/dist/chunk-ETPBKZPC.mjs +0 -1
  205. package/dist/chunk-EUO4BP4C.mjs +0 -1
  206. package/dist/chunk-EZDUF4E5.mjs +0 -1
  207. package/dist/chunk-F4NEF5X6.mjs +0 -1
  208. package/dist/chunk-F6C3QYRM.mjs +0 -1
  209. package/dist/chunk-FBON3HW2.mjs +0 -1
  210. package/dist/chunk-FBVSWLK5.mjs +0 -1
  211. package/dist/chunk-FCP5HRN4.mjs +0 -1
  212. package/dist/chunk-FEGM4SDU.mjs +0 -1
  213. package/dist/chunk-FISJACJT.mjs +0 -1
  214. package/dist/chunk-FKZO6ZCE.mjs +0 -1
  215. package/dist/chunk-FLUV3ASQ.mjs +0 -1
  216. package/dist/chunk-FU73EKLM.mjs +0 -1
  217. package/dist/chunk-GDTIZXZ3.mjs +0 -1
  218. package/dist/chunk-GH6HTY6Z.mjs +0 -1
  219. package/dist/chunk-GLUCCYWG.mjs +0 -1
  220. package/dist/chunk-GPGPAVVA.mjs +0 -1
  221. package/dist/chunk-GPWH2RLO.mjs +0 -1
  222. package/dist/chunk-GQLUSHIW.mjs +0 -1
  223. package/dist/chunk-GSO7S5NU.mjs +0 -1
  224. package/dist/chunk-GTQBILTE.mjs +0 -1
  225. package/dist/chunk-GVB72EOZ.mjs +0 -1
  226. package/dist/chunk-GWQ4C2MC.mjs +0 -1
  227. package/dist/chunk-GXGDCOZU.mjs +0 -1
  228. package/dist/chunk-H2EZ5ZIA.mjs +0 -1
  229. package/dist/chunk-H3CKT4E4.mjs +0 -1
  230. package/dist/chunk-H65AVWMG.mjs +0 -1
  231. package/dist/chunk-HBI3VUWA.mjs +0 -1
  232. package/dist/chunk-HCAIWJBW.mjs +0 -1
  233. package/dist/chunk-HHZK2W6M.mjs +0 -1
  234. package/dist/chunk-HJVODQQT.mjs +0 -1
  235. package/dist/chunk-HMHVCAHP.mjs +0 -1
  236. package/dist/chunk-HNG4C6UJ.mjs +0 -1
  237. package/dist/chunk-HTKASIVN.mjs +0 -1
  238. package/dist/chunk-HTY27HEB.mjs +0 -1
  239. package/dist/chunk-HWO5N44E.mjs +0 -1
  240. package/dist/chunk-HX6TVXHR.mjs +0 -1
  241. package/dist/chunk-HZKMK3KA.mjs +0 -1
  242. package/dist/chunk-I5M3S3VS.mjs +0 -1
  243. package/dist/chunk-I5T4HQGY.mjs +0 -1
  244. package/dist/chunk-I6ZFEL2G.mjs +0 -1
  245. package/dist/chunk-IAODNORF.mjs +0 -1
  246. package/dist/chunk-IDJVO3SJ.mjs +0 -1
  247. package/dist/chunk-IGSNFZ4Y.mjs +0 -1
  248. package/dist/chunk-ILDBBC7S.mjs +0 -1
  249. package/dist/chunk-INKMK7VX.mjs +0 -1
  250. package/dist/chunk-IOH2TAGQ.mjs +0 -1
  251. package/dist/chunk-IOI3AZRU.mjs +0 -1
  252. package/dist/chunk-IUBJY7LD.mjs +0 -1
  253. package/dist/chunk-IVQJMP4E.mjs +0 -1
  254. package/dist/chunk-IWVXOYR4.mjs +0 -1
  255. package/dist/chunk-IX5HENBH.mjs +0 -1
  256. package/dist/chunk-J6V4PKNC.mjs +0 -1
  257. package/dist/chunk-J7NE4BUM.mjs +0 -1
  258. package/dist/chunk-JD46NPAZ.mjs +0 -1
  259. package/dist/chunk-JGFJKSKU.mjs +0 -1
  260. package/dist/chunk-JIMV7NXH.mjs +0 -1
  261. package/dist/chunk-JPCDHJLD.mjs +0 -1
  262. package/dist/chunk-JQHV2HJR.mjs +0 -1
  263. package/dist/chunk-JQZACITY.mjs +0 -1
  264. package/dist/chunk-JUE3IN3O.mjs +0 -1
  265. package/dist/chunk-JWLCJ6MQ.mjs +0 -1
  266. package/dist/chunk-JXEG2SJW.mjs +0 -1
  267. package/dist/chunk-K4QTPYBS.mjs +0 -1
  268. package/dist/chunk-K6FPYHTK.mjs +0 -1
  269. package/dist/chunk-KKQDG22H.mjs +0 -1
  270. package/dist/chunk-KKUAJ54V.mjs +0 -1
  271. package/dist/chunk-KL7VCF4Y.mjs +0 -1
  272. package/dist/chunk-KT3MZAWK.mjs +0 -1
  273. package/dist/chunk-L2SFRDQT.mjs +0 -1
  274. package/dist/chunk-L67ZJBWI.mjs +0 -1
  275. package/dist/chunk-L7JSRS6V.mjs +0 -1
  276. package/dist/chunk-LBQJ5TZQ.mjs +0 -1
  277. package/dist/chunk-LHYOSLSW.mjs +0 -1
  278. package/dist/chunk-LKZUZTIO.mjs +0 -1
  279. package/dist/chunk-LMQ4666D.mjs +0 -1
  280. package/dist/chunk-LP6ZANSI.mjs +0 -1
  281. package/dist/chunk-LPIDPOIS.mjs +0 -1
  282. package/dist/chunk-LQLVMKKY.mjs +0 -1
  283. package/dist/chunk-LREWF6LN.mjs +0 -1
  284. package/dist/chunk-LSTIY6OF.mjs +0 -1
  285. package/dist/chunk-LVZK27B4.mjs +0 -1
  286. package/dist/chunk-LXJVNY3R.mjs +0 -1
  287. package/dist/chunk-LYO5G6AB.mjs +0 -1
  288. package/dist/chunk-M36MRN4N.mjs +0 -1
  289. package/dist/chunk-MK4UFVOH.mjs +0 -1
  290. package/dist/chunk-MNF3SOUW.mjs +0 -1
  291. package/dist/chunk-MODISIUH.mjs +0 -1
  292. package/dist/chunk-MRTOVK5M.mjs +0 -1
  293. package/dist/chunk-MT3GLHZG.mjs +0 -1
  294. package/dist/chunk-MW23UGKA.mjs +0 -1
  295. package/dist/chunk-MWIL2V7E.mjs +0 -1
  296. package/dist/chunk-MWZYOB5U.mjs +0 -1
  297. package/dist/chunk-MZRHVWD5.mjs +0 -1
  298. package/dist/chunk-NAUL2FQY.mjs +0 -1
  299. package/dist/chunk-NCQTKAIG.mjs +0 -1
  300. package/dist/chunk-NDZIEH7M.mjs +0 -1
  301. package/dist/chunk-NI6IFTE4.mjs +0 -1
  302. package/dist/chunk-NQMIIYJS.mjs +0 -1
  303. package/dist/chunk-NQUREBTN.mjs +0 -1
  304. package/dist/chunk-NZ6LIVRY.mjs +0 -1
  305. package/dist/chunk-O37GSVGP.mjs +0 -1
  306. package/dist/chunk-OANHZJ6X.mjs +0 -1
  307. package/dist/chunk-OBO4Y4AA.mjs +0 -1
  308. package/dist/chunk-OBU4KABJ.mjs +0 -1
  309. package/dist/chunk-OIJ7WXXY.mjs +0 -1
  310. package/dist/chunk-OQD4PMKZ.mjs +0 -1
  311. package/dist/chunk-OQGZM33B.mjs +0 -1
  312. package/dist/chunk-OSU5S2YT.mjs +0 -3
  313. package/dist/chunk-OTWCQOKL.mjs +0 -1
  314. package/dist/chunk-OWV4H34S.mjs +0 -1
  315. package/dist/chunk-PCCGH2UI.mjs +0 -1
  316. package/dist/chunk-PDFNNMWJ.mjs +0 -1
  317. package/dist/chunk-PEPVOMPB.mjs +0 -1
  318. package/dist/chunk-PJ2NIR5L.mjs +0 -1
  319. package/dist/chunk-PMNLXLOX.mjs +0 -1
  320. package/dist/chunk-PXBT4TKP.mjs +0 -1
  321. package/dist/chunk-PXSGKN2A.mjs +0 -1
  322. package/dist/chunk-QGTFY7PK.mjs +0 -1
  323. package/dist/chunk-QHP5V4S4.mjs +0 -1
  324. package/dist/chunk-QN2IIR4A.mjs +0 -1
  325. package/dist/chunk-QOUKK3GE.mjs +0 -1
  326. package/dist/chunk-QQFYILG6.mjs +0 -1
  327. package/dist/chunk-QU7V46PO.mjs +0 -1
  328. package/dist/chunk-QYPFWXDY.mjs +0 -1
  329. package/dist/chunk-QYTC2VMO.mjs +0 -1
  330. package/dist/chunk-R3RG2UW3.mjs +0 -1
  331. package/dist/chunk-R4EED753.mjs +0 -1
  332. package/dist/chunk-R4RE3FAM.mjs +0 -1
  333. package/dist/chunk-RA4FDA2O.mjs +0 -1
  334. package/dist/chunk-RDVXOO55.mjs +0 -1
  335. package/dist/chunk-RDWIZP7F.mjs +0 -1
  336. package/dist/chunk-RGJGS4AZ.mjs +0 -1
  337. package/dist/chunk-RQTDGFGB.mjs +0 -1
  338. package/dist/chunk-RQYMBQ7I.mjs +0 -1
  339. package/dist/chunk-RWTTKLJM.mjs +0 -1
  340. package/dist/chunk-S5O5UY63.mjs +0 -1
  341. package/dist/chunk-S62WENCB.mjs +0 -1
  342. package/dist/chunk-SC7JSFPP.mjs +0 -1
  343. package/dist/chunk-SKVYWWBC.mjs +0 -3
  344. package/dist/chunk-SL5QAJSF.mjs +0 -1
  345. package/dist/chunk-SNEDSZS7.mjs +0 -1
  346. package/dist/chunk-SNXKEIDU.mjs +0 -1
  347. package/dist/chunk-SPSUTBZ7.mjs +0 -0
  348. package/dist/chunk-SQXHJWOE.mjs +0 -1
  349. package/dist/chunk-SRKZK4IA.mjs +0 -1
  350. package/dist/chunk-SV3RKM7M.mjs +0 -1
  351. package/dist/chunk-SZQGU46T.mjs +0 -1
  352. package/dist/chunk-T3EPQH24.mjs +0 -1
  353. package/dist/chunk-TLOL4ZCF.mjs +0 -1
  354. package/dist/chunk-TLVFY24T.mjs +0 -1
  355. package/dist/chunk-TLYJWHCK.mjs +0 -1
  356. package/dist/chunk-TM2H2P2D.mjs +0 -1
  357. package/dist/chunk-TTNDDYLJ.mjs +0 -1
  358. package/dist/chunk-TVYDH6QM.mjs +0 -1
  359. package/dist/chunk-TXEDXHC5.mjs +0 -1
  360. package/dist/chunk-TXJYGQAV.mjs +0 -1
  361. package/dist/chunk-UAGJDHMS.mjs +0 -1
  362. package/dist/chunk-UBCCNLBS.mjs +0 -1
  363. package/dist/chunk-UBVT572C.mjs +0 -1
  364. package/dist/chunk-UD2ICHSZ.mjs +0 -1
  365. package/dist/chunk-UH27OXLF.mjs +0 -1
  366. package/dist/chunk-UHFP5VHY.mjs +0 -1
  367. package/dist/chunk-UKYEDTBZ.mjs +0 -1
  368. package/dist/chunk-UL4CXGYV.mjs +0 -1
  369. package/dist/chunk-ULWVKJS4.mjs +0 -1
  370. package/dist/chunk-UOZXDTPI.mjs +0 -1
  371. package/dist/chunk-UQ5D3U6Z.mjs +0 -1
  372. package/dist/chunk-UT6YNZPF.mjs +0 -1
  373. package/dist/chunk-UUWTKITJ.mjs +0 -1
  374. package/dist/chunk-UUX7CPTL.mjs +0 -1
  375. package/dist/chunk-UVNDPH4P.mjs +0 -1
  376. package/dist/chunk-UXDNVOIH.mjs +0 -1
  377. package/dist/chunk-V2RYRJWZ.mjs +0 -1
  378. package/dist/chunk-V4CK2LIR.mjs +0 -1
  379. package/dist/chunk-VCVRICBE.mjs +0 -1
  380. package/dist/chunk-VEUP2DC6.mjs +0 -1
  381. package/dist/chunk-VJZP4EP5.mjs +0 -1
  382. package/dist/chunk-VOGFN73W.mjs +0 -1
  383. package/dist/chunk-VT2ZAMOL.mjs +0 -1
  384. package/dist/chunk-VT32LSIK.mjs +0 -1
  385. package/dist/chunk-VTLX43W7.mjs +0 -1
  386. package/dist/chunk-VX6RMXJA.mjs +0 -1
  387. package/dist/chunk-VZYPOBKB.mjs +0 -1
  388. package/dist/chunk-W5LUKKPM.mjs +0 -1
  389. package/dist/chunk-W67C4SNA.mjs +0 -1
  390. package/dist/chunk-W7MK4ZQS.mjs +0 -1
  391. package/dist/chunk-WCOSO55V.mjs +0 -1
  392. package/dist/chunk-WCUHRXGZ.mjs +0 -1
  393. package/dist/chunk-WE5LUVZO.mjs +0 -1
  394. package/dist/chunk-WEC6YZEP.mjs +0 -1
  395. package/dist/chunk-WEVTLTB7.mjs +0 -1
  396. package/dist/chunk-WHVHA4NB.mjs +0 -1
  397. package/dist/chunk-WJXI5YEO.mjs +0 -1
  398. package/dist/chunk-X2OFY45A.mjs +0 -1
  399. package/dist/chunk-XCPPFNWE.mjs +0 -1
  400. package/dist/chunk-XEJNQ2MU.mjs +0 -1
  401. package/dist/chunk-XEQVWA4N.mjs +0 -1
  402. package/dist/chunk-XICX7P4N.mjs +0 -1
  403. package/dist/chunk-XLREFEL6.mjs +0 -1
  404. package/dist/chunk-XP4JQI4P.mjs +0 -1
  405. package/dist/chunk-XVNZQ4VA.mjs +0 -1
  406. package/dist/chunk-XWSEDYR7.mjs +0 -1
  407. package/dist/chunk-Y5ST7E7S.mjs +0 -1
  408. package/dist/chunk-YBJHXOZZ.mjs +0 -1
  409. package/dist/chunk-YDE3WII6.mjs +0 -1
  410. package/dist/chunk-YO3P5WJF.mjs +0 -1
  411. package/dist/chunk-YOKGI4NP.mjs +0 -1
  412. package/dist/chunk-YOOUKTVN.mjs +0 -1
  413. package/dist/chunk-YXHGPHL2.mjs +0 -1
  414. package/dist/chunk-YY4NGU5S.mjs +0 -1
  415. package/dist/chunk-ZBBENF7Y.mjs +0 -1
  416. package/dist/chunk-ZGH4YH7K.mjs +0 -1
  417. package/dist/chunk-ZGLJW52C.mjs +0 -1
  418. package/dist/chunk-ZJKRLIJQ.mjs +0 -1
  419. package/dist/chunk-ZM4JP5B2.mjs +0 -1
  420. package/dist/chunk-ZNAHVPCM.mjs +0 -1
  421. package/dist/chunk-ZOJ2QZ7M.mjs +0 -1
  422. package/dist/chunk-ZQST7SKH.mjs +0 -1
  423. package/dist/chunk-ZRPMW6I7.mjs +0 -1
  424. package/dist/chunk-ZX7BGWQ7.mjs +0 -1
  425. package/dist/functions/hash.d.ts +0 -4
  426. package/dist/functions/hash.mjs +0 -1
  427. package/dist/functions/misc.d.ts +0 -115
  428. package/dist/functions/misc.mjs +0 -1
  429. package/dist/is-iframeable-4cf55b9f.d.ts +0 -6
  430. package/dist/trim-5dc0c1a7.d.ts +0 -3
  431. package/dist/url-to-deeplink-ac84c7cb.d.ts +0 -6
@@ -1 +0,0 @@
1
- import{a as c}from"./chunk-I5Y5DKPK.mjs";import{a as g}from"./chunk-UUWTKITJ.mjs";import{a}from"./chunk-YUMUNL66.mjs";import{a as d,b as h}from"./chunk-SYT2IXG6.mjs";import E from"@sindresorhus/slugify";var O=e=>{let t=E(e,{separator:""});if(t.length<3)return"";if(a.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let o=t.replace(/[aeiou]/g,"");return o.length>=3&&a.has(o.slice(-2))?`${o.slice(0,-2)}.${o.slice(-2)}`:`${[t,o].reduce((s,i)=>s.length<i.length?s:i)}.to`},w=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),C=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-]*$/u),S=new RegExp(/^[a-zA-Z0-9\-]+$/),B=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),D=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let o=t.split(".");return o.length>2?d.has(o[o.length-2])&&a.has(o[o.length-1])||h.has(o.slice(-2).join("."))?o.slice(-3).join("."):o.slice(-2).join("."):t},T=e=>{if(g(e))return new URL(e).hostname.replace(/^www\./,"");try{if(e.includes(".")&&!e.includes(" "))return new URL(`https://${e}`).hostname.replace(/^www\./,"")}catch{return null}},M=e=>x.some(t=>t.slug===e);var l=({name:e="Business",monthly:t=49,yearly:o=39,links:n=5e3,clicks:s=15e4,domains:i=40,tags:u=150,users:m=15,ids:P=[]})=>({name:e,tagline:"For larger teams with increased usage",link:"https://dub.co/help/article/business-plan",price:{monthly:t,yearly:o,ids:P},limits:{links:n,clicks:s,domains:i,tags:u,users:m},colors:{bg:"bg-sky-900",text:"text-sky-900"},cta:{text:"Get started with Business",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-sky-900 border-sky-900 hover:text-sky-900"},featureTitle:"Everything in Pro, plus:",features:[{text:`${c(n,{full:!0})} links/mo`},{text:`${c(s)} tracked clicks/mo`},{text:"2-year analytics retention"},{text:`${i} custom domains`},{text:`${m} users`},{text:`${c(u,{full:!0})} tags`,footnote:{title:"Organize your links with tags.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-use-tags"}},{text:"Elevated support",footnote:"Email and chat support."},{text:"Custom branding",footnote:{title:"Set custom QR code logos, password-protected links logos, and more.",cta:"Learn more.",href:"https://dub.co/help/article/custom-qr-codes"}}]}),r=[{name:"Free",tagline:"For hobby & side projects",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,domains:3,tags:5,users:1},colors:{bg:"bg-black",text:"text-black"},cta:{text:"Start for free",href:"https://app.dub.co/register",color:"bg-black border-black hover:text-black"},featureTitle:"What's included:",features:[{text:"25 links/mo"},{text:"1K tracked clicks/mo"},{text:"30-day analytics retention"},{text:"3 custom domains"},{text:"1 user"},{text:"Community support",footnote:"Help center + GitHub discussions."},{text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For startups & small businesses",link:"https://dub.co/help/article/pro-plan",price:{monthly:24,yearly:19,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"]},limits:{links:1e3,clicks:5e4,domains:10,tags:25,users:5},colors:{bg:"bg-blue-500",text:"text-blue-500"},cta:{text:"Get started with Pro",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-blue-500 border-blue-500 hover:text-blue-500"},featureTitle:"Everything in Free, plus:",features:[{text:"1,000 links/mo"},{text:"50K tracked clicks/mo"},{text:"1-year analytics retention"},{text:"10 custom domains"},{text:"5 users"},{text:"Basic support",footnote:"Basic email support."},{text:"Root domain redirect",footnote:{title:"Redirect vistors that land on the root of your domain (e.g. yourdomain.com) to a page of your choice.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-redirect-root-domain"}},{text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting, link aliases, link monitoring etc."}]},l({name:"Business",monthly:49,yearly:39,links:5e3,clicks:15e4,domains:40,tags:150,users:15,ids:["price_1LodLoAlJJEpqkPVJdwv5zrG","price_1LoyrCAlJJEpqkPVZ32BV3wm","price_1LodLoAlJJEpqkPV9rD0rlNL","price_1OTcRzAlJJEpqkPV6G9iP0Tb","price_1OZgmnAlJJEpqkPVOj4kV64R"]}),l({name:"Business Plus",monthly:119,yearly:99,links:15e3,clicks:4e5,domains:100,tags:300,users:40,ids:["price_1OnWu0AlJJEpqkPVWk4144ZG","price_1OnWu0AlJJEpqkPVkDWVriAB"]}),l({name:"Business Extra",monthly:249,yearly:199,links:4e4,clicks:1e6,domains:250,tags:500,users:100,ids:["price_1OnWvCAlJJEpqkPVLzLHx5QD","price_1OnWvCAlJJEpqkPVHhCCvIOq"]}),l({name:"Business Max",monthly:499,yearly:399,links:1e5,clicks:25e5,domains:500,tags:1e3,users:250,ids:["price_1OnWwLAlJJEpqkPVXtJyPqLk","price_1OnWwLAlJJEpqkPV4eMbOkNh"]}),{name:"Enterprise",tagline:"Custom tailored plans for large enterprises. Whether you're running a SMS campaign with millions of short links or a large marketing campaign with billions of clicks, we've got you covered.",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:null,clicks:null,domains:null},colors:{bg:"bg-violet-600",text:"text-violet-600"},cta:{text:"Contact us",href:"/enterprise",color:"bg-violet-600 border-violet-600 hover:text-violet-600"},featureTitle:"Everything in Business, plus:",features:[{text:"Custom usage limits"},{text:"Volume discounts"},{text:"SSO/SAML"},{text:"Role-based access controls"},{text:"Custom contract & SLA"},{text:"Whiteglove onboarding"},{text:"Dedicated success manager"},{text:"Priority support"},{text:"Dedicated Slack channel"}]}],A=r.find(e=>e.name==="Free"),k=r.find(e=>e.name==="Pro"),b=r.find(e=>e.name==="Business"),L=r.find(e=>e.name==="Enterprise"),se=[A,k,b,L],N=r.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),ne=2,ie=e=>r.find(t=>{var o;return(o=t.price.ids)==null?void 0:o.includes(e)})||null,ae=e=>N.find(t=>t.name.toLowerCase()===e.toLowerCase()),ce=e=>r[r.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1];var pe=process.env.NEXT_PUBLIC_APP_NAME||"Dub.co",_=process.env.NEXT_PUBLIC_APP_SHORT_DOMAIN||"dub.sh",f=`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,ue=new Set([`app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"localhost:8888","localhost"]),me=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://localhost:8888",de=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NGROK_URL||"http://localhost:8888",he=new Set([`api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api.${_}`,"api.localhost:8888"]),ge=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://api.localhost:8888",xe=new Set([`admin.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"admin.localhost:8888"]),_e="https://d2vwwcvoksz7ty.cloudfront.net/logo.png",fe="https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png",Pe="clqo10sum0006js08vutzfxt3",p="cl7pj5kq4006835rbjlt2ofka",Ee="clrflia0j0000vs7sqfhz9c7q",Ae="clqei1lgc0000vsnzi01pbf47",x=[{id:"clce1z7ch00j0rbstbjufva4j",slug:_,verified:!0,primary:!0,archived:!1,publicStats:!1,target:`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,type:"redirect",placeholder:"https://dub.co/help/article/what-is-dub",clicks:0,allowedHostnames:[],projectId:p},...process.env.NEXT_PUBLIC_IS_DUB?[{id:"clce1z7cs00y8rbstk4xtnj0k",slug:"chatg.pt",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/chatgpt-link-shortener",type:"redirect",placeholder:"https://chat.openai.com/g/g-UGjKKONEe-domainsgpt",clicks:0,allowedHostnames:["chat.openai.com"],projectId:p},{id:"cloxw8qtk000bjt08n9b812vs",slug:"amzn.id",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/amazon-link-shortener",type:"redirect",placeholder:"https://www.amazon.com/dp/B0BW4SWNC8",clicks:0,allowedHostnames:["amazon.com","amazon.co.uk","amazon.ca","amazon.es"],projectId:p},{id:"cloxw8y2u0003js08a7mqg1j8",slug:"spti.fi",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/spotify-link-shortener",type:"redirect",placeholder:"https://open.spotify.com/album/1SCyi9a5pOasikidToUY5y",clicks:0,allowedHostnames:["open.spotify.com"],projectId:p}]:[]];function De({title:e=`${process.env.NEXT_PUBLIC_APP_NAME} - Link Management for Modern Marketing Teams`,description:t=`${process.env.NEXT_PUBLIC_APP_NAME} is the open-source link management infrastructure for modern marketing teams to create, share, and track short links.`,image:o="https://dub.co/_static/thumbnail.png",icons:n=[{rel:"apple-touch-icon",sizes:"32x32",url:"/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"/favicon-16x16.png"}],noIndex:s=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,images:[{url:o}]},twitter:{card:"summary_large_image",title:e,description:t,images:[o],creator:"@dubdotco"},icons:n,metadataBase:new URL(f),...s&&{robots:{index:!1,follow:!1}}}}export{De as a,O as b,w as c,C as d,S as e,B as f,D as g,T as h,M as i,r as j,A as k,k as l,b as m,L as n,se as o,N as p,ne as q,ie as r,ae as s,ce as t,pe as u,_ as v,f as w,ue as x,me as y,de as z,he as A,ge as B,xe as C,_e as D,fe as E,Pe as F,p as G,Ee as H,Ae as I,x as J};
@@ -1 +0,0 @@
1
- import{a as u}from"./chunk-I5Y5DKPK.mjs";import{a as d}from"./chunk-IHX4EDUF.mjs";import{a as _}from"./chunk-ZBU4VJM4.mjs";import{a as p}from"./chunk-YUMUNL66.mjs";import{a as g,b as x}from"./chunk-SYT2IXG6.mjs";import A from"@sindresorhus/slugify";var S=e=>{let t=A(e,{separator:""});if(t.length<3)return"";if(p.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&p.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((o,i)=>o.length<i.length?o:i)}.to`},w=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),C=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-\p{Emoji}]*$/u),J=new RegExp(/^[a-zA-Z0-9\-]+$/),D=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),B=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let r=t.split(".");return r.length>2?g.has(r[r.length-2])&&p.has(r[r.length-1])||x.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},M=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}},U=e=>h.some(t=>t.slug===e);function V({domain:e,key:t,pretty:r,searchParams:s}){if(!e)return"";let o=`https://${d(e)}${t&&t!=="_root"?`/${d(t)}`:""}`;if(s){let i=new URLSearchParams;for(let[c,l]of Object.entries(s))i.set(c,l);o+=`?${i.toString()}`}return r?o.replace(/^https?:\/\//,""):o}var m=({name:e="Business",monthly:t=59,yearly:r=49,links:s=5e3,clicks:o=15e4,domains:i=40,tags:c=150,users:l=15,ids:E=[]})=>({name:e,tagline:"For larger teams with increased usage",link:"https://dub.co/help/article/business-plan",price:{monthly:t,yearly:r,ids:E},limits:{links:s,clicks:o,domains:i,tags:c,users:l,ai:1e7},colors:{bg:"bg-sky-900",text:"text-sky-900"},cta:{text:"Get started with Business",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-sky-900 border-sky-900 hover:text-sky-900"},featureTitle:"Everything in Pro, plus:",features:[{text:`${u(s,{full:!0})} new links/mo`},{text:`${u(o)} tracked clicks/mo`},{text:"2-year analytics retention"},{text:`${i} custom domains`},{text:`${l} users`},{text:"Unlimited AI credits"},{text:`${u(c,{full:!0})} tags`,footnote:{title:"Organize your links with tags.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-use-tags"}},{text:"Elevated support",footnote:"Email and chat support."},{text:"Custom branding",footnote:{title:"Set custom QR code logos, password-protected links logos, and more.",cta:"Learn more.",href:"https://dub.co/help/article/custom-qr-codes"}}]}),n=[{name:"Free",tagline:"For hobby & side projects",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,domains:3,tags:5,users:1,ai:10},colors:{bg:"bg-black",text:"text-black"},cta:{text:"Start for free",href:"https://app.dub.co/register",color:"bg-black border-black hover:text-black"},featureTitle:"What's included:",features:[{text:"25 new links/mo"},{text:"1K tracked clicks/mo"},{text:"30-day analytics retention"},{text:"3 custom domains"},{text:"1 user"},{text:"10 AI credits/mo"},{text:"Community support",footnote:"Help center + GitHub discussions."},{text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For startups & small businesses",link:"https://dub.co/help/article/pro-plan",price:{monthly:24,yearly:19,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"]},limits:{links:1e3,clicks:5e4,domains:10,tags:25,users:5,ai:1e7},colors:{bg:"bg-blue-500",text:"text-blue-500"},cta:{text:"Get started with Pro",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-blue-500 border-blue-500 hover:text-blue-500"},featureTitle:"Everything in Free, plus:",features:[{text:"1,000 new links/mo"},{text:"50K tracked clicks/mo"},{text:"1-year analytics retention"},{text:"10 custom domains"},{text:"5 users"},{text:"Unlimited AI credits"},{text:"Basic support",footnote:"Basic email support."},{text:"Root domain redirect",footnote:{title:"Redirect vistors that land on the root of your domain (e.g. yourdomain.com) to a page of your choice.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-redirect-root-domain"}},{text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."}]},m({name:"Business",monthly:59,yearly:49,links:5e3,clicks:15e4,domains:40,tags:150,users:15,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw"]}),m({name:"Business Plus",monthly:119,yearly:99,links:15e3,clicks:4e5,domains:100,tags:300,users:40,ids:["price_1OnWu0AlJJEpqkPVWk4144ZG","price_1OnWu0AlJJEpqkPVkDWVriAB","price_1OnaK3AlJJEpqkPVaCfCPdHi","price_1OzObrAlJJEpqkPVh6D9HWGO"]}),m({name:"Business Extra",monthly:249,yearly:199,links:4e4,clicks:1e6,domains:250,tags:500,users:100,ids:["price_1OnWvCAlJJEpqkPVLzLHx5QD","price_1OnWvCAlJJEpqkPVHhCCvIOq","price_1OnaKJAlJJEpqkPVeJSvPfJb","price_1OzOg1AlJJEpqkPVPlsrxoWm"]}),m({name:"Business Max",monthly:499,yearly:399,links:1e5,clicks:25e5,domains:500,tags:1e3,users:250,ids:["price_1OnWwLAlJJEpqkPVXtJyPqLk","price_1OnWwLAlJJEpqkPV4eMbOkNh","price_1OnaKOAlJJEpqkPVV6gkZPgt","price_1OzOh5AlJJEpqkPVtCSX7dlE"]}),{name:"Enterprise",tagline:"Custom tailored plans for large enterprises. Whether you're running a SMS campaign with millions of short links or a large marketing campaign with billions of clicks, we've got you covered.",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:null,clicks:null,domains:null},colors:{bg:"bg-violet-600",text:"text-violet-600"},cta:{text:"Contact us",href:"/enterprise",color:"bg-violet-600 border-violet-600 hover:text-violet-600"},featureTitle:"Everything in Business, plus:",features:[{text:"Custom usage limits"},{text:"Volume discounts"},{text:"SSO/SAML"},{text:"Role-based access controls"},{text:"Custom contract & SLA"},{text:"Whiteglove onboarding"},{text:"Dedicated success manager"},{text:"Priority support"},{text:"Dedicated Slack channel"}]}],k=n.find(e=>e.name==="Free"),b=n.find(e=>e.name==="Pro"),N=n.find(e=>e.name==="Business"),y=n.find(e=>e.name==="Enterprise"),pe=[k,b,N,y],L=n.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),ue=2,me=e=>n.find(t=>{var r;return(r=t.price.ids)==null?void 0:r.includes(e)})||null,de=e=>L.find(t=>t.name.toLowerCase()===e.toLowerCase()),he=e=>n[n.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1];var xe=process.env.NEXT_PUBLIC_APP_NAME||"Dub.co",f=process.env.NEXT_PUBLIC_APP_SHORT_DOMAIN||"dub.sh",P=`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,_e=new Set([`app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"localhost:8888","localhost"]),fe=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://localhost:8888",Pe=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NGROK_URL||"http://localhost:8888",Ee=new Set([`api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api-staging.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api.${f}`,"api.localhost:8888"]),Ae=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://api-staging.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://api.localhost:8888",ke=new Set([`admin.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"admin.localhost:8888"]),be="https://assets.dub.co/logo.png",Ne="https://assets.dub.co/thumbnail.jpg",a="cl7pj5kq4006835rbjlt2ofka",ye="clrflia0j0000vs7sqfhz9c7q",Le="clqei1lgc0000vsnzi01pbf47",h=[{id:"clce1z7ch00j0rbstbjufva4j",slug:f,verified:!0,primary:!0,archived:!1,publicStats:!1,target:`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,type:"redirect",placeholder:"https://dub.co/help/article/what-is-dub",clicks:0,allowedHostnames:[],projectId:a},...process.env.NEXT_PUBLIC_IS_DUB?[{id:"clce1z7cs00y8rbstk4xtnj0k",slug:"chatg.pt",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/chatgpt-link-shortener",type:"redirect",placeholder:"https://chat.openai.com/g/g-UGjKKONEe-domainsgpt",clicks:0,allowedHostnames:["chat.openai.com"],projectId:a},{id:"cloxw8y2u0003js08a7mqg1j8",slug:"spti.fi",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/spotify-link-shortener",type:"redirect",placeholder:"https://open.spotify.com/album/1SCyi9a5pOasikidToUY5y",clicks:0,allowedHostnames:["open.spotify.com"],projectId:a},{id:"cltgtd6s5000341itdszz20u2",slug:"git.new",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/github-link-shortener",type:"redirect",placeholder:"https://github.com/dubinc/dub",clicks:0,allowedHostnames:["github.com","gist.github.com"],projectId:a},{id:"cloxw8qtk000bjt08n9b812vs",slug:"amzn.id",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/amazon-link-shortener",type:"redirect",placeholder:"https://www.amazon.com/dp/B0BW4SWNC8",clicks:0,allowedHostnames:["amazon.com","amazon.co.uk","amazon.ca","amazon.es"],projectId:a},{id:"clugy7euh000a11h6ignmj42o",slug:"loooooooo.ng",verified:!0,primary:!1,archived:!0,publicStats:!0,target:"https://dub.co/tools/url-lengthener",type:"redirect",placeholder:"https://d.to/long",clicks:0,projectId:a}]:[]],Ie=h.map(e=>e.slug),ve=[{id:"clqo10sum0006js08vutzfxt3",domain:"dub.sh",key:"try"},{id:"clot0z5rg000djp08ue98hxkn",domain:"chatg.pt",key:"domains"},{id:"clp4jh9av0001l308ormavtlu",domain:"spti.fi",key:"hans"},{id:"cltgtsex40003ck8z444hum5u",domain:"git.new",key:"dub"},{id:"clp3k3yoi0001ju0874nz899q",domain:"amzn.id",key:"tv"}];function ze({title:e=`${process.env.NEXT_PUBLIC_APP_NAME} - Link Management for Modern Marketing Teams`,description:t=`${process.env.NEXT_PUBLIC_APP_NAME} is the open-source link management infrastructure for modern marketing teams to create, share, and track short links.`,image:r="https://assets.dub.co/thumbnail.jpg",icons:s=[{rel:"apple-touch-icon",sizes:"32x32",url:"/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"/favicon-16x16.png"}],noIndex:o=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,...r&&{images:[{url:r}]}},twitter:{title:e,description:t,...r&&{card:"summary_large_image",images:[r]},creator:"@dubdotco"},icons:s,metadataBase:new URL(P),...o&&{robots:{index:!1,follow:!1}}}}export{ze as a,S as b,w as c,C as d,J as e,D as f,B as g,M as h,U as i,V as j,n as k,k as l,b as m,N as n,y as o,pe as p,L as q,ue as r,me as s,de as t,he as u,xe as v,f as w,P as x,_e as y,fe as z,Pe as A,Ee as B,Ae as C,ke as D,be as E,Ne as F,a as G,ye as H,Le as I,h as J,Ie as K,ve as L};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-UUWTKITJ.mjs";import{B as c,C as l,z as s}from"./chunk-3PRW7SAO.mjs";import{a as r}from"./chunk-YUMUNL66.mjs";import g from"@sindresorhus/slugify";var f=t=>{let e=g(t,{separator:""});if(e.length<3)return"";if(r.has(e.slice(-2)))return`${e.slice(0,-2)}.${e.slice(-2)}`;let n=e.replace(/[aeiou]/g,"");return n.length>=3&&r.has(n.slice(-2))?`${n.slice(0,-2)}.${n.slice(-2)}`:`${[e,n].reduce((i,o)=>i.length<o.length?i:o)}.to`},w=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),x=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-]*$/u),A=new RegExp(/^[a-zA-Z0-9\-]+$/),d=(t,e)=>t===e?null:t.slice(0,t.length-e.length-1),D=t=>{let e;try{e=new URL(t.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(e==="youtu.be")return"youtube.com";if(e==="raw.githubusercontent.com")return"github.com";if(e.endsWith(".vercel.app"))return"vercel.app";let n=e.split(".");return n.length>2?c.has(n[n.length-2])&&r.has(n[n.length-1])||l.has(n.slice(-2).join("."))?n.slice(-3).join("."):n.slice(-2).join("."):e},R=t=>{if(a(t))return new URL(t).hostname.replace(/^www\./,"");try{if(t.includes(".")&&!t.includes(" "))return new URL(`https://${t}`).hostname.replace(/^www\./,"")}catch{return null}},S=t=>s.some(e=>e.slug===t);export{f as a,w as b,x as c,A as d,d as e,D as f,R as g,S as h};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-UUWTKITJ.mjs";import{E as s,G as c,H as l}from"./chunk-HBI3VUWA.mjs";import{a as r}from"./chunk-YUMUNL66.mjs";import g from"@sindresorhus/slugify";var f=t=>{let e=g(t,{separator:""});if(e.length<3)return"";if(r.has(e.slice(-2)))return`${e.slice(0,-2)}.${e.slice(-2)}`;let n=e.replace(/[aeiou]/g,"");return n.length>=3&&r.has(n.slice(-2))?`${n.slice(0,-2)}.${n.slice(-2)}`:`${[e,n].reduce((i,o)=>i.length<o.length?i:o)}.to`},w=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),x=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-]*$/u),A=new RegExp(/^[a-zA-Z0-9\-]+$/),d=(t,e)=>t===e?null:t.slice(0,t.length-e.length-1),D=t=>{let e;try{e=new URL(t.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(e==="youtu.be")return"youtube.com";if(e==="raw.githubusercontent.com")return"github.com";if(e.endsWith(".vercel.app"))return"vercel.app";let n=e.split(".");return n.length>2?c.has(n[n.length-2])&&r.has(n[n.length-1])||l.has(n.slice(-2).join("."))?n.slice(-3).join("."):n.slice(-2).join("."):e},R=t=>{if(a(t))return new URL(t).hostname.replace(/^www\./,"");try{if(t.includes(".")&&!t.includes(" "))return new URL(`https://${t}`).hostname.replace(/^www\./,"")}catch{return null}},S=t=>s.some(e=>e.slug===t);export{f as a,w as b,x as c,A as d,d as e,D as f,R as g,S as h};
@@ -1 +0,0 @@
1
- var t={cron:process.env.DUB_SLACK_HOOK_CRON,links:process.env.DUB_SLACK_HOOK_LINKS,errors:process.env.DUB_SLACK_HOOK_ERRORS},c=async({message:e,type:o,mention:r=!1})=>{(process.env.NODE_ENV==="development"||!process.env.DUB_SLACK_HOOK_CRON||!process.env.DUB_SLACK_HOOK_LINKS||!process.env.DUB_SLACK_HOOK_ERRORS)&&console.log(e);let n=t[o];if(!!n)try{return await fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({blocks:[{type:"section",text:{type:"mrkdwn",text:`${r?"<@U0404G6J3NJ> ":o==="errors"?":alert: ":""}${e}`}}]})})}catch(s){console.log(`Failed to log to Dub Slack. Error: ${s}`)}};export{c as a};
@@ -1 +0,0 @@
1
- var r=new Set(["com","co","net","org","edu","gov","in"]),a=new Set(["my.id","github.io","vercel.app","now.sh","pages.dev","webflow.io","netlify.app","fly.dev","web.app"]);var n={hidden:{scale:.8,opacity:0},show:{scale:1,opacity:1,transition:{type:"spring"}}},c={hidden:{opacity:0,y:20},show:{opacity:1,y:0,transition:{duration:.4,type:"spring"}}},l={initial:{height:0},animate:{height:"auto"},exit:{height:0},transition:{duration:.15,ease:"easeOut"}},p={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2}};var u=["stats","changelog","terms","privacy","abuse"],m=[{name:"ChatGPT Link Shortener",slug:"chatgpt-link-shortener"},{name:"Amazon Link Shortener",slug:"amazon-link-shortener"},{name:"Spotify Link Shortener",slug:"spotify-link-shortener"},{name:"Metatags API",slug:"metatags"},{name:"QR Code API",slug:"qr-code"},{name:"Link Inspector",slug:"inspector"}];var _={city:"San Francisco",region:"CA",country:"US",latitude:"37.7695",longitude:"-122.385"},g="63.141.57.109";var E={home:"https://dub.co",dub:"https://dub.co",signin:"https://app.dub.co/login",login:"https://app.dub.co/login",register:"https://app.dub.co/register",signup:"https://app.dub.co/register",app:"https://app.dub.co",dashboard:"https://app.dub.co",links:"https://app.dub.co/links",settings:"https://app.dub.co/settings",welcome:"https://app.dub.co/welcome",discord:"https://twitter.com/dubdotco"},x={headers:{"x-powered-by":"Dub.co - Link management for modern marketing teams"}};var k={key:"",url:"",domain:"",archived:!1,expiresAt:null,password:null,title:null,description:null,image:null,rewrite:!1,ios:null,android:null,clicks:0,userId:"",proxy:!1},I="https://www.google.com/s2/favicons?sz=64&domain_url=",L=100;var o=[{name:"Free",tagline:"For hobby & side projects",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,domains:3,tags:5,users:1},colors:{bg:"bg-black",text:"text-black"},cta:{text:"Start for free",href:"https://app.dub.co/register",color:"bg-black border-black hover:text-black"},featureTitle:"What's included:",features:[{text:"25 links/mo"},{text:"1K tracked clicks/mo"},{text:"30-day analytics retention"},{text:"3 custom domains"},{text:"1 user"},{text:"Community support",footnote:"Help center + GitHub discussions."},{text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For startups & small businesses",link:"https://dub.co/help/article/pro-plan",price:{monthly:24,yearly:19,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"]},limits:{links:1e3,clicks:5e4,domains:10,tags:25,users:5},colors:{bg:"bg-blue-500",text:"text-blue-500"},cta:{text:"Get started with Pro",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-blue-500 border-blue-500 hover:text-blue-500"},featureTitle:"Everything in Free, plus:",features:[{text:"1,000 links/mo"},{text:"50K tracked clicks/mo"},{text:"1-year analytics retention"},{text:"10 custom domains"},{text:"5 users"},{text:"Basic support",footnote:"Basic email support."},{text:"Root domain redirect",footnote:{title:"Redirect vistors that land on the root of your domain (e.g. yourdomain.com) to a page of your choice.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-redirect-root-domain"}},{text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting, link aliases, link monitoring etc."}]},{name:"Business",tagline:"For larger teams with increased usage",link:"https://dub.co/help/article/business-plan",price:{monthly:49,yearly:39,ids:["price_1LodLoAlJJEpqkPVJdwv5zrG","price_1LoyrCAlJJEpqkPVZ32BV3wm","price_1LodLoAlJJEpqkPV9rD0rlNL","price_1OTcRzAlJJEpqkPV6G9iP0Tb","price_1OZgmnAlJJEpqkPVOj4kV64R"]},limits:{links:5e3,clicks:25e4,domains:20,tags:150,users:15},colors:{bg:"bg-sky-900",text:"text-sky-900"},cta:{text:"Get started with Business",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-sky-900 border-sky-900 hover:text-sky-900"},featureTitle:"Everything in Pro, plus:",features:[{text:"5,000 links/mo"},{text:"250K tracked clicks/mo"},{text:"2-year analytics retention"},{text:"20 custom domains"},{text:"15 users"},{text:"Elevated support",footnote:"Email and chat support."},{text:"Custom branding",footnote:{title:"Set custom QR code logos, password-protected links logos, and more.",cta:"Learn more.",href:"https://dub.co/help/article/custom-qr-codes"}},{text:"Event callbacks (Beta)",footnote:"Get notified when someone clicks on your links."}]},{name:"Enterprise",tagline:"Custom tailored plans for large enterprises. Whether you're running a SMS campaign with millions of short links or a large marketing campaign with billions of clicks, we've got you covered.",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:null,clicks:null,domains:null},colors:{bg:"bg-violet-600",text:"text-violet-600"},cta:{text:"Contact us",href:"/enterprise",color:"bg-violet-600 border-violet-600 hover:text-violet-600"},featureTitle:"Everything in Business, plus:",features:[{text:"Custom usage limits"},{text:"Volume discounts"},{text:"SSO/SAML"},{text:"Role-based access controls"},{text:"Custom contract & SLA"},{text:"Whiteglove onboarding"},{text:"Dedicated success manager"},{text:"Priority support"},{text:"Dedicated Slack channel"}]}],f=o.find(t=>t.name==="Free"),y=o.filter(t=>t.name==="Pro"||t.name==="Business"),N=2;var T=[{name:"Okta",logo:"/_static/icons/okta.svg",saml:"okta",samlModalCopy:"Metadata URL",scim:"okta-scim-v2",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1},{name:"Azure AD",logo:"/_static/icons/azure.svg",saml:"azure",samlModalCopy:"App Federation Metadata URL",scim:"azure-scim-v2",scimModalCopy:{url:"Tenant URL",token:"Secret Token"},wip:!1},{name:"Google",logo:"/_static/icons/google.svg",saml:"google",samlModalCopy:"XML Metadata File",scim:"google",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1}];var O=process.env.NEXT_PUBLIC_APP_NAME||"Dub.co",s=process.env.NEXT_PUBLIC_APP_SHORT_DOMAIN||"dub.sh",C=`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,w=new Set([`app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"localhost:8888","localhost"]),M=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://localhost:8888",D=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NGROK_URL||"http://localhost:8888",B=new Set([`api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api.${s}`,"api.localhost:8888"]),R=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://api.localhost:8888",U=new Set([`admin.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"admin.localhost:8888"]),V="https://d2vwwcvoksz7ty.cloudfront.net/logo.png",G="https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png",J="clqo10sum0006js08vutzfxt3",e="cl7pj5kq4006835rbjlt2ofka",X="clrflia0j0000vs7sqfhz9c7q",z="clqei1lgc0000vsnzi01pbf47",q=[{id:"clce1z7ch00j0rbstbjufva4j",slug:s,verified:!0,primary:!0,archived:!1,publicStats:!1,target:`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,type:"redirect",placeholder:"https://dub.co/help/article/what-is-dub",clicks:0,allowedHostnames:[],projectId:e},...process.env.NEXT_PUBLIC_IS_DUB?[{id:"clce1z7cs00y8rbstk4xtnj0k",slug:"chatg.pt",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/chatgpt-link-shortener",type:"redirect",placeholder:"https://chat.openai.com/g/g-UGjKKONEe-domainsgpt",clicks:0,allowedHostnames:["chat.openai.com"],projectId:e},{id:"cloxw8qtk000bjt08n9b812vs",slug:"amzn.id",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/amazon-link-shortener",type:"redirect",placeholder:"https://www.amazon.com/dp/B0BW4SWNC8",clicks:0,allowedHostnames:["amazon.com","amazon.co.uk","amazon.ca","amazon.es"],projectId:e},{id:"cloxw8y2u0003js08a7mqg1j8",slug:"spti.fi",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/spotify-link-shortener",type:"redirect",placeholder:"https://open.spotify.com/album/1SCyi9a5pOasikidToUY5y",clicks:0,allowedHostnames:["open.spotify.com"],projectId:e}]:[]];export{r as a,a as b,n as c,c as d,l as e,p as f,u as g,m as h,_ as i,g as j,E as k,x as l,k as m,I as n,L as o,o as p,f as q,y as r,N as s,T as t,O as u,s as v,C as w,w as x,M as y,D as z,B as A,R as B,U as C,V as D,G as E,J as F,e as G,X as H,z as I,q as J};
@@ -1 +0,0 @@
1
- var a=[{id:"clce1z7ch00j0rbstbjufva4j",slug:o,verified:!0,primary:!0,archived:!1,publicStats:!1,target:`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,type:"redirect",placeholder:"https://dub.co/help/article/what-is-dub",clicks:0,allowedHostnames:[],projectId:t},...process.env.NEXT_PUBLIC_IS_DUB?[{id:"clce1z7cs00y8rbstk4xtnj0k",slug:"chatg.pt",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/chatgpt-link-shortener",type:"redirect",placeholder:"https://chat.openai.com/g/g-UGjKKONEe-domainsgpt",clicks:0,allowedHostnames:["chat.openai.com"],projectId:t},{id:"cloxw8qtk000bjt08n9b812vs",slug:"amzn.id",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/amazon-link-shortener",type:"redirect",placeholder:"https://www.amazon.com/dp/B0BW4SWNC8",clicks:0,allowedHostnames:["amazon.com","amazon.co.uk","amazon.ca","amazon.es"],projectId:t},{id:"cloxw8y2u0003js08a7mqg1j8",slug:"spti.fi",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/spotify-link-shortener",type:"redirect",placeholder:"https://open.spotify.com/album/1SCyi9a5pOasikidToUY5y",clicks:0,allowedHostnames:["open.spotify.com"],projectId:t}]:[]];var n={hidden:{scale:.8,opacity:0},show:{scale:1,opacity:1,transition:{type:"spring"}}},c={hidden:{opacity:0,y:20},show:{opacity:1,y:0,transition:{duration:.4,type:"spring"}}},l={initial:{height:0},animate:{height:"auto"},exit:{height:0},transition:{duration:.15,ease:"easeOut"}},p={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2}};var u={city:"San Francisco",region:"CA",country:"US",latitude:"37.7695",longitude:"-122.385"},m="63.141.57.109";var s=[{name:"Free",tagline:"For hobby & side projects",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,domains:3,tags:5,users:1},colors:{bg:"bg-black",text:"text-black"},cta:{text:"Start for free",href:"https://app.dub.co/register",color:"bg-black border-black hover:text-black"},featureTitle:"What's included:",features:[{text:"25 links/mo"},{text:"1K tracked clicks/mo"},{text:"30-day analytics retention"},{text:"3 custom domains"},{text:"1 user"},{text:"Community support",footnote:"Help center + GitHub discussions."},{text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For startups & small businesses",link:"https://dub.co/help/article/pro-plan",price:{monthly:24,yearly:19,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"]},limits:{links:1e3,clicks:5e4,domains:10,tags:25,users:5},colors:{bg:"bg-blue-500",text:"text-blue-500"},cta:{text:"Get started with Pro",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-blue-500 border-blue-500 hover:text-blue-500"},featureTitle:"Everything in Free, plus:",features:[{text:"1,000 links/mo"},{text:"50K tracked clicks/mo"},{text:"1-year analytics retention"},{text:"10 custom domains"},{text:"5 users"},{text:"Basic support",footnote:"Basic email support."},{text:"Root domain redirect",footnote:{title:"Redirect vistors that land on the root of your domain (e.g. yourdomain.com) to a page of your choice.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-redirect-root-domain"}},{text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting, link aliases, link monitoring etc."}]},{name:"Business",tagline:"For larger teams with increased usage",link:"https://dub.co/help/article/business-plan",price:{monthly:49,yearly:39,ids:["price_1LodLoAlJJEpqkPVJdwv5zrG","price_1LoyrCAlJJEpqkPVZ32BV3wm","price_1LodLoAlJJEpqkPV9rD0rlNL","price_1OTcRzAlJJEpqkPV6G9iP0Tb","price_1OZgmnAlJJEpqkPVOj4kV64R"]},limits:{links:5e3,clicks:25e4,domains:20,tags:150,users:15},colors:{bg:"bg-sky-900",text:"text-sky-900"},cta:{text:"Get started with Business",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-sky-900 border-sky-900 hover:text-sky-900"},featureTitle:"Everything in Pro, plus:",features:[{text:"5,000 links/mo"},{text:"250K tracked clicks/mo"},{text:"2-year analytics retention"},{text:"20 custom domains"},{text:"15 users"},{text:"Elevated support",footnote:"Email and chat support."},{text:"Custom branding",footnote:{title:"Set custom QR code logos, password-protected links logos, and more.",cta:"Learn more.",href:"https://dub.co/help/article/custom-qr-codes"}},{text:"Event callbacks (Beta)",footnote:"Get notified when someone clicks on your links."}]},{name:"Enterprise",tagline:"Custom tailored plans for large enterprises. Whether you're running a SMS campaign with millions of short links or a large marketing campaign with billions of clicks, we've got you covered.",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:null,clicks:null,domains:null},colors:{bg:"bg-violet-600",text:"text-violet-600"},cta:{text:"Contact us",href:"/enterprise",color:"bg-violet-600 border-violet-600 hover:text-violet-600"},featureTitle:"Everything in Business, plus:",features:[{text:"Custom usage limits"},{text:"Volume discounts"},{text:"SSO/SAML"},{text:"Role-based access controls"},{text:"Custom contract & SLA"},{text:"Whiteglove onboarding"},{text:"Dedicated success manager"},{text:"Priority support"},{text:"Dedicated Slack channel"}]}],h=s.find(e=>e.name==="Free"),g=s.filter(e=>e.name==="Pro"||e.name==="Business"),A=2;var x=[{name:"Okta",logo:"/_static/icons/okta.svg",saml:"okta",samlModalCopy:"Metadata URL",scim:"okta-scim-v2",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1},{name:"Azure AD",logo:"/_static/icons/azure.svg",saml:"azure",samlModalCopy:"App Federation Metadata URL",scim:"azure-scim-v2",scimModalCopy:{url:"Tenant URL",token:"Secret Token"},wip:!1},{name:"Google",logo:"/_static/icons/google.svg",saml:"google",samlModalCopy:"XML Metadata File",scim:"google",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1}];var k=100,I=process.env.NEXT_PUBLIC_APP_NAME||"Dub.co",o=process.env.NEXT_PUBLIC_APP_SHORT_DOMAIN||"dub.sh",L=`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,b=new Set([`app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"localhost:8888","localhost"]),y=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://localhost:8888",N=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NGROK_URL||"http://localhost:8888",f=new Set([`api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api.${o}`,"api.localhost:8888"]),v=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://api.localhost:8888",T=new Set([`admin.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"admin.localhost:8888"]),O={home:"https://dub.co",dub:"https://dub.co",signin:"https://app.dub.co/login",login:"https://app.dub.co/login",register:"https://app.dub.co/register",signup:"https://app.dub.co/register",app:"https://app.dub.co",dashboard:"https://app.dub.co",links:"https://app.dub.co/links",settings:"https://app.dub.co/settings",welcome:"https://app.dub.co/welcome",discord:"https://twitter.com/dubdotco"},S={headers:{"x-powered-by":"Dub.co - Link management for modern marketing teams"}},C="https://www.google.com/s2/favicons?sz=64&domain_url=",M="https://d2vwwcvoksz7ty.cloudfront.net/logo.png",w="https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png",D="clqo10sum0006js08vutzfxt3",t="cl7pj5kq4006835rbjlt2ofka",B="clrflia0j0000vs7sqfhz9c7q",R="clqei1lgc0000vsnzi01pbf47",U=["stats","changelog","terms","privacy","abuse"],V=[{name:"ChatGPT Link Shortener",slug:"chatgpt-link-shortener"},{name:"Amazon Link Shortener",slug:"amazon-link-shortener"},{name:"Spotify Link Shortener",slug:"spotify-link-shortener"},{name:"Metatags API",slug:"metatags"},{name:"QR Code API",slug:"qr-code"},{name:"Link Inspector",slug:"inspector"}],G=new Set(["com","co","net","org","edu","gov","in"]),J=new Set(["my.id","github.io","vercel.app","now.sh","pages.dev","webflow.io","netlify.app","fly.dev","web.app"]),X={key:"",url:"",domain:"",archived:!1,expiresAt:null,password:null,title:null,description:null,image:null,rewrite:!1,ios:null,android:null,clicks:0,userId:"",proxy:!1};export{a,n as b,c,l as d,p as e,u as f,m as g,s as h,h as i,g as j,A as k,x as l,k as m,I as n,o,L as p,b as q,y as r,N as s,f as t,v as u,T as v,O as w,S as x,C as y,M as z,w as A,D as B,t as C,B as D,R as E,U as F,V as G,G as H,J as I,X as J};
@@ -1 +0,0 @@
1
- import e from"punycode/";function o(n){return n?e.toUnicode(n):""}function t(n){return n?e.toASCII(n):""}export{o as a,t as b};
@@ -1 +0,0 @@
1
- import{a as p}from"./chunk-I5Y5DKPK.mjs";import{a as m}from"./chunk-IHX4EDUF.mjs";import{a as _}from"./chunk-7REZWZDA.mjs";import{a as l}from"./chunk-YUMUNL66.mjs";import{a as g,b as x}from"./chunk-SYT2IXG6.mjs";import A from"@sindresorhus/slugify";var S=e=>{let t=A(e,{separator:""});if(t.length<3)return"";if(l.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&l.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((o,i)=>o.length<i.length?o:i)}.to`},w=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),C=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-\p{Emoji}]*$/u),J=new RegExp(/^[a-zA-Z0-9\-]+$/),D=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),B=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let r=t.split(".");return r.length>2?g.has(r[r.length-2])&&l.has(r[r.length-1])||x.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},M=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}},T=e=>d.some(t=>t.slug===e);function V({domain:e,key:t,pretty:r,searchParams:s}){if(!e)return"";let o=new URL(`https://${m(e)}`);if(t&&t!=="_root"&&(o.pathname=`/${m(t)}`),s)for(let[i,c]of Object.entries(s))o.searchParams.set(i,c);return r?o.toString().replace(/^https?:\/\//,""):o.toString()}var u=({name:e="Business",monthly:t=59,yearly:r=49,links:s=5e3,clicks:o=15e4,domains:i=40,tags:c=150,users:h=15,ids:E=[]})=>({name:e,tagline:"For larger teams with increased usage",link:"https://dub.co/help/article/business-plan",price:{monthly:t,yearly:r,ids:E},limits:{links:s,clicks:o,domains:i,tags:c,users:h},colors:{bg:"bg-sky-900",text:"text-sky-900"},cta:{text:"Get started with Business",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-sky-900 border-sky-900 hover:text-sky-900"},featureTitle:"Everything in Pro, plus:",features:[{text:`${p(s,{full:!0})} new links/mo`},{text:`${p(o)} tracked clicks/mo`},{text:"2-year analytics retention"},{text:`${i} custom domains`},{text:`${h} users`},{text:`${p(c,{full:!0})} tags`,footnote:{title:"Organize your links with tags.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-use-tags"}},{text:"Elevated support",footnote:"Email and chat support."},{text:"Custom branding",footnote:{title:"Set custom QR code logos, password-protected links logos, and more.",cta:"Learn more.",href:"https://dub.co/help/article/custom-qr-codes"}}]}),n=[{name:"Free",tagline:"For hobby & side projects",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,domains:3,tags:5,users:1},colors:{bg:"bg-black",text:"text-black"},cta:{text:"Start for free",href:"https://app.dub.co/register",color:"bg-black border-black hover:text-black"},featureTitle:"What's included:",features:[{text:"25 new links/mo"},{text:"1K tracked clicks/mo"},{text:"30-day analytics retention"},{text:"3 custom domains"},{text:"1 user"},{text:"Community support",footnote:"Help center + GitHub discussions."},{text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For startups & small businesses",link:"https://dub.co/help/article/pro-plan",price:{monthly:24,yearly:19,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"]},limits:{links:1e3,clicks:5e4,domains:10,tags:25,users:5},colors:{bg:"bg-blue-500",text:"text-blue-500"},cta:{text:"Get started with Pro",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-blue-500 border-blue-500 hover:text-blue-500"},featureTitle:"Everything in Free, plus:",features:[{text:"1,000 new links/mo"},{text:"50K tracked clicks/mo"},{text:"1-year analytics retention"},{text:"10 custom domains"},{text:"5 users"},{text:"Basic support",footnote:"Basic email support."},{text:"Root domain redirect",footnote:{title:"Redirect vistors that land on the root of your domain (e.g. yourdomain.com) to a page of your choice.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-redirect-root-domain"}},{text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."}]},u({name:"Business",monthly:59,yearly:49,links:5e3,clicks:15e4,domains:40,tags:150,users:15,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw"]}),u({name:"Business Plus",monthly:119,yearly:99,links:15e3,clicks:4e5,domains:100,tags:300,users:40,ids:["price_1OnWu0AlJJEpqkPVWk4144ZG","price_1OnWu0AlJJEpqkPVkDWVriAB","price_1OnaK3AlJJEpqkPVaCfCPdHi","price_1OzObrAlJJEpqkPVh6D9HWGO"]}),u({name:"Business Extra",monthly:249,yearly:199,links:4e4,clicks:1e6,domains:250,tags:500,users:100,ids:["price_1OnWvCAlJJEpqkPVLzLHx5QD","price_1OnWvCAlJJEpqkPVHhCCvIOq","price_1OnaKJAlJJEpqkPVeJSvPfJb","price_1OzOg1AlJJEpqkPVPlsrxoWm"]}),u({name:"Business Max",monthly:499,yearly:399,links:1e5,clicks:25e5,domains:500,tags:1e3,users:250,ids:["price_1OnWwLAlJJEpqkPVXtJyPqLk","price_1OnWwLAlJJEpqkPV4eMbOkNh","price_1OnaKOAlJJEpqkPVV6gkZPgt","price_1OzOh5AlJJEpqkPVtCSX7dlE"]}),{name:"Enterprise",tagline:"Custom tailored plans for large enterprises. Whether you're running a SMS campaign with millions of short links or a large marketing campaign with billions of clicks, we've got you covered.",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:null,clicks:null,domains:null},colors:{bg:"bg-violet-600",text:"text-violet-600"},cta:{text:"Contact us",href:"/enterprise",color:"bg-violet-600 border-violet-600 hover:text-violet-600"},featureTitle:"Everything in Business, plus:",features:[{text:"Custom usage limits"},{text:"Volume discounts"},{text:"SSO/SAML"},{text:"Role-based access controls"},{text:"Custom contract & SLA"},{text:"Whiteglove onboarding"},{text:"Dedicated success manager"},{text:"Priority support"},{text:"Dedicated Slack channel"}]}],k=n.find(e=>e.name==="Free"),b=n.find(e=>e.name==="Pro"),N=n.find(e=>e.name==="Business"),y=n.find(e=>e.name==="Enterprise"),pe=[k,b,N,y],L=n.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),ue=2,me=e=>n.find(t=>{var r;return(r=t.price.ids)==null?void 0:r.includes(e)})||null,de=e=>L.find(t=>t.name.toLowerCase()===e.toLowerCase()),he=e=>n[n.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1];var xe=process.env.NEXT_PUBLIC_APP_NAME||"Dub.co",f=process.env.NEXT_PUBLIC_APP_SHORT_DOMAIN||"dub.sh",P=`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,_e=new Set([`app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"localhost:8888","localhost"]),fe=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://localhost:8888",Pe=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NGROK_URL||"http://localhost:8888",Ee=new Set([`api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api-staging.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api.${f}`,"api.localhost:8888"]),Ae=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://api-staging.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://api.localhost:8888",ke=new Set([`admin.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"admin.localhost:8888"]),be="https://assets.dub.co/logo.png",Ne="https://assets.dub.co/thumbnail.jpg",a="cl7pj5kq4006835rbjlt2ofka",ye="clrflia0j0000vs7sqfhz9c7q",Le="clqei1lgc0000vsnzi01pbf47",d=[{id:"clce1z7ch00j0rbstbjufva4j",slug:f,verified:!0,primary:!0,archived:!1,publicStats:!1,target:`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,type:"redirect",placeholder:"https://dub.co/help/article/what-is-dub",clicks:0,allowedHostnames:[],projectId:a},...process.env.NEXT_PUBLIC_IS_DUB?[{id:"clce1z7cs00y8rbstk4xtnj0k",slug:"chatg.pt",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/chatgpt-link-shortener",type:"redirect",placeholder:"https://chat.openai.com/g/g-UGjKKONEe-domainsgpt",clicks:0,allowedHostnames:["chat.openai.com"],projectId:a},{id:"cloxw8y2u0003js08a7mqg1j8",slug:"spti.fi",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/spotify-link-shortener",type:"redirect",placeholder:"https://open.spotify.com/album/1SCyi9a5pOasikidToUY5y",clicks:0,allowedHostnames:["open.spotify.com"],projectId:a},{id:"cltgtd6s5000341itdszz20u2",slug:"git.new",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/github-link-shortener",type:"redirect",placeholder:"https://github.com/dubinc/dub",clicks:0,allowedHostnames:["github.com","gist.github.com"],projectId:a},{id:"cloxw8qtk000bjt08n9b812vs",slug:"amzn.id",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/amazon-link-shortener",type:"redirect",placeholder:"https://www.amazon.com/dp/B0BW4SWNC8",clicks:0,allowedHostnames:["amazon.com","amazon.co.uk","amazon.ca","amazon.es"],projectId:a},{id:"clugy7euh000a11h6ignmj42o",slug:"loooooooo.ng",verified:!0,primary:!1,archived:!0,publicStats:!0,target:"https://dub.co/tools/url-lengthener",type:"redirect",placeholder:"https://d.to/long",clicks:0,projectId:a}]:[]],ve=d.map(e=>e.slug),Ie=[{id:"clqo10sum0006js08vutzfxt3",domain:"dub.sh",key:"try"},{id:"clot0z5rg000djp08ue98hxkn",domain:"chatg.pt",key:"domains"},{id:"clp4jh9av0001l308ormavtlu",domain:"spti.fi",key:"hans"},{id:"cltgtsex40003ck8z444hum5u",domain:"git.new",key:"dub"},{id:"clp3k3yoi0001ju0874nz899q",domain:"amzn.id",key:"tv"}];function ze({title:e=`${process.env.NEXT_PUBLIC_APP_NAME} - Link Management for Modern Marketing Teams`,description:t=`${process.env.NEXT_PUBLIC_APP_NAME} is the open-source link management infrastructure for modern marketing teams to create, share, and track short links.`,image:r="https://assets.dub.co/thumbnail.jpg",icons:s=[{rel:"apple-touch-icon",sizes:"32x32",url:"/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"/favicon-16x16.png"}],noIndex:o=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,...r&&{images:[{url:r}]}},twitter:{title:e,description:t,...r&&{card:"summary_large_image",images:[r]},creator:"@dubdotco"},icons:s,metadataBase:new URL(P),...o&&{robots:{index:!1,follow:!1}}}}export{ze as a,S as b,w as c,C as d,J as e,D as f,B as g,M as h,T as i,V as j,n as k,k as l,b as m,N as n,y as o,pe as p,L as q,ue as r,me as s,de as t,he as u,xe as v,f as w,P as x,_e as y,fe as z,Pe as A,Ee as B,Ae as C,ke as D,be as E,Ne as F,a as G,ye as H,Le as I,d as J,ve as K,Ie as L};
@@ -1 +0,0 @@
1
- import{a as l}from"./chunk-I5Y5DKPK.mjs";import{a as x}from"./chunk-5LVKLKIV.mjs";import{a as c}from"./chunk-YUMUNL66.mjs";import{a as g,b as h}from"./chunk-SYT2IXG6.mjs";import E from"@sindresorhus/slugify";var O=e=>{let t=E(e,{separator:""});if(t.length<3)return"";if(c.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let o=t.replace(/[aeiou]/g,"");return o.length>=3&&c.has(o.slice(-2))?`${o.slice(0,-2)}.${o.slice(-2)}`:`${[t,o].reduce((s,i)=>s.length<i.length?s:i)}.to`},w=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),S=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-]*$/u),C=new RegExp(/^[a-zA-Z0-9\-]+$/),B=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),D=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let o=t.split(".");return o.length>2?g.has(o[o.length-2])&&c.has(o[o.length-1])||h.has(o.slice(-2).join("."))?o.slice(-3).join("."):o.slice(-2).join("."):t},J=e=>{if(x(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}},M=e=>u.some(t=>t.slug===e);var p=({name:e="Business",monthly:t=49,yearly:o=39,links:n=5e3,clicks:s=15e4,domains:i=40,tags:m=150,users:d=15,ids:P=[]})=>({name:e,tagline:"For larger teams with increased usage",link:"https://dub.co/help/article/business-plan",price:{monthly:t,yearly:o,ids:P},limits:{links:n,clicks:s,domains:i,tags:m,users:d},colors:{bg:"bg-sky-900",text:"text-sky-900"},cta:{text:"Get started with Business",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-sky-900 border-sky-900 hover:text-sky-900"},featureTitle:"Everything in Pro, plus:",features:[{text:`${l(n,{full:!0})} new links/mo`},{text:`${l(s)} tracked clicks/mo`},{text:"2-year analytics retention"},{text:`${i} custom domains`},{text:`${d} users`},{text:`${l(m,{full:!0})} tags`,footnote:{title:"Organize your links with tags.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-use-tags"}},{text:"Elevated support",footnote:"Email and chat support."},{text:"Custom branding",footnote:{title:"Set custom QR code logos, password-protected links logos, and more.",cta:"Learn more.",href:"https://dub.co/help/article/custom-qr-codes"}}]}),r=[{name:"Free",tagline:"For hobby & side projects",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,domains:3,tags:5,users:1},colors:{bg:"bg-black",text:"text-black"},cta:{text:"Start for free",href:"https://app.dub.co/register",color:"bg-black border-black hover:text-black"},featureTitle:"What's included:",features:[{text:"25 new links/mo"},{text:"1K tracked clicks/mo"},{text:"30-day analytics retention"},{text:"3 custom domains"},{text:"1 user"},{text:"Community support",footnote:"Help center + GitHub discussions."},{text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For startups & small businesses",link:"https://dub.co/help/article/pro-plan",price:{monthly:24,yearly:19,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"]},limits:{links:1e3,clicks:5e4,domains:10,tags:25,users:5},colors:{bg:"bg-blue-500",text:"text-blue-500"},cta:{text:"Get started with Pro",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-blue-500 border-blue-500 hover:text-blue-500"},featureTitle:"Everything in Free, plus:",features:[{text:"1,000 new links/mo"},{text:"50K tracked clicks/mo"},{text:"1-year analytics retention"},{text:"10 custom domains"},{text:"5 users"},{text:"Basic support",footnote:"Basic email support."},{text:"Root domain redirect",footnote:{title:"Redirect vistors that land on the root of your domain (e.g. yourdomain.com) to a page of your choice.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-redirect-root-domain"}},{text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."}]},p({name:"Business",monthly:49,yearly:39,links:5e3,clicks:15e4,domains:40,tags:150,users:15,ids:["price_1LodLoAlJJEpqkPVJdwv5zrG","price_1LoyrCAlJJEpqkPVZ32BV3wm","price_1LodLoAlJJEpqkPV9rD0rlNL","price_1OTcRzAlJJEpqkPV6G9iP0Tb","price_1OZgmnAlJJEpqkPVOj4kV64R"]}),p({name:"Business Plus",monthly:119,yearly:99,links:15e3,clicks:4e5,domains:100,tags:300,users:40,ids:["price_1OnWu0AlJJEpqkPVWk4144ZG","price_1OnWu0AlJJEpqkPVkDWVriAB","price_1OnaK3AlJJEpqkPVaCfCPdHi","price_1OnaK3AlJJEpqkPVnKU97wxJ"]}),p({name:"Business Extra",monthly:249,yearly:199,links:4e4,clicks:1e6,domains:250,tags:500,users:100,ids:["price_1OnWvCAlJJEpqkPVLzLHx5QD","price_1OnWvCAlJJEpqkPVHhCCvIOq","price_1OnaKJAlJJEpqkPVeJSvPfJb","price_1OnaKJAlJJEpqkPVcfQ5Rm06"]}),p({name:"Business Max",monthly:499,yearly:399,links:1e5,clicks:25e5,domains:500,tags:1e3,users:250,ids:["price_1OnWwLAlJJEpqkPVXtJyPqLk","price_1OnWwLAlJJEpqkPV4eMbOkNh","price_1OnaKOAlJJEpqkPVV6gkZPgt","price_1OnaKOAlJJEpqkPVijIbAivj"]}),{name:"Enterprise",tagline:"Custom tailored plans for large enterprises. Whether you're running a SMS campaign with millions of short links or a large marketing campaign with billions of clicks, we've got you covered.",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:null,clicks:null,domains:null},colors:{bg:"bg-violet-600",text:"text-violet-600"},cta:{text:"Contact us",href:"/enterprise",color:"bg-violet-600 border-violet-600 hover:text-violet-600"},featureTitle:"Everything in Business, plus:",features:[{text:"Custom usage limits"},{text:"Volume discounts"},{text:"SSO/SAML"},{text:"Role-based access controls"},{text:"Custom contract & SLA"},{text:"Whiteglove onboarding"},{text:"Dedicated success manager"},{text:"Priority support"},{text:"Dedicated Slack channel"}]}],A=r.find(e=>e.name==="Free"),k=r.find(e=>e.name==="Pro"),b=r.find(e=>e.name==="Business"),L=r.find(e=>e.name==="Enterprise"),ne=[A,k,b,L],N=r.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),ie=2,ae=e=>r.find(t=>{var o;return(o=t.price.ids)==null?void 0:o.includes(e)})||null,ce=e=>N.find(t=>t.name.toLowerCase()===e.toLowerCase()),le=e=>r[r.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1];var ue=process.env.NEXT_PUBLIC_APP_NAME||"Dub.co",_=process.env.NEXT_PUBLIC_APP_SHORT_DOMAIN||"dub.sh",f=`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,me=new Set([`app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"localhost:8888","localhost"]),de=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://localhost:8888",ge=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NGROK_URL||"http://localhost:8888",he=new Set([`api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api-staging.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api.${_}`,"api.localhost:8888"]),xe=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://api-staging.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://api.localhost:8888",_e=new Set([`admin.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"admin.localhost:8888"]),fe="https://assets.dub.co/logo.png",Pe="https://assets.dub.co/thumbnail.jpg",a="cl7pj5kq4006835rbjlt2ofka",Ee="clrflia0j0000vs7sqfhz9c7q",Ae="clqei1lgc0000vsnzi01pbf47",u=[{id:"clce1z7ch00j0rbstbjufva4j",slug:_,verified:!0,primary:!0,archived:!1,publicStats:!1,target:`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,type:"redirect",placeholder:"https://dub.co/help/article/what-is-dub",clicks:0,allowedHostnames:[],projectId:a},...process.env.NEXT_PUBLIC_IS_DUB?[{id:"clce1z7cs00y8rbstk4xtnj0k",slug:"chatg.pt",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/chatgpt-link-shortener",type:"redirect",placeholder:"https://chat.openai.com/g/g-UGjKKONEe-domainsgpt",clicks:0,allowedHostnames:["chat.openai.com"],projectId:a},{id:"cloxw8y2u0003js08a7mqg1j8",slug:"spti.fi",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/spotify-link-shortener",type:"redirect",placeholder:"https://open.spotify.com/album/1SCyi9a5pOasikidToUY5y",clicks:0,allowedHostnames:["open.spotify.com"],projectId:a},{id:"cltgtd6s5000341itdszz20u2",slug:"git.new",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/github-link-shortener",type:"redirect",placeholder:"https://github.com/dubinc/dub",clicks:0,allowedHostnames:["github.com","gist.github.com","raw.githubusercontent.com"],projectId:a},{id:"cloxw8qtk000bjt08n9b812vs",slug:"amzn.id",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/amazon-link-shortener",type:"redirect",placeholder:"https://www.amazon.com/dp/B0BW4SWNC8",clicks:0,allowedHostnames:["amazon.com","amazon.co.uk","amazon.ca","amazon.es"],projectId:a}]:[]],ke=u.map(e=>e.slug),be=[{id:"clqo10sum0006js08vutzfxt3",domain:"dub.sh",key:"try"},{id:"clot0z5rg000djp08ue98hxkn",domain:"chatg.pt",key:"domains"},{id:"clp4jh9av0001l308ormavtlu",domain:"spti.fi",key:"hans"},{id:"cltgtsex40003ck8z444hum5u",domain:"git.new",key:"dub"},{id:"clp3k3yoi0001ju0874nz899q",domain:"amzn.id",key:"tv"}];function Me({title:e=`${process.env.NEXT_PUBLIC_APP_NAME} - Link Management for Modern Marketing Teams`,description:t=`${process.env.NEXT_PUBLIC_APP_NAME} is the open-source link management infrastructure for modern marketing teams to create, share, and track short links.`,image:o="https://assets.dub.co/thumbnail.jpg",icons:n=[{rel:"apple-touch-icon",sizes:"32x32",url:"/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"/favicon-16x16.png"}],noIndex:s=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,images:[{url:o}]},twitter:{card:"summary_large_image",title:e,description:t,images:[o],creator:"@dubdotco"},icons:n,metadataBase:new URL(f),...s&&{robots:{index:!1,follow:!1}}}}export{Me as a,O as b,w as c,S as d,C as e,B as f,D as g,J as h,M as i,r as j,A as k,k as l,b as m,L as n,ne as o,N as p,ie as q,ae as r,ce as s,le as t,ue as u,_ as v,f as w,me as x,de as y,ge as z,he as A,xe as B,_e as C,fe as D,Pe as E,a as F,Ee as G,Ae as H,u as I,ke as J,be as K};
@@ -1 +0,0 @@
1
- var e=["stats","changelog","terms","privacy","abuse"],n=[{name:"ChatGPT Link Shortener",slug:"chatgpt-link-shortener"},{name:"Amazon Link Shortener",slug:"amazon-link-shortener"},{name:"Spotify Link Shortener",slug:"spotify-link-shortener"},{name:"Metatags API",slug:"metatags"},{name:"QR Code API",slug:"qr-code"},{name:"Link Inspector",slug:"inspector"}],t=[{name:"Bitly",slug:"bitly"},{name:"Rebrandly",slug:"rebrandly"},{name:"Short.io",slug:"short"}];export{e as a,n as b,t as c};
@@ -1 +0,0 @@
1
- import{a as p}from"./chunk-I5Y5DKPK.mjs";import{a as m}from"./chunk-IHX4EDUF.mjs";import{a as _}from"./chunk-7REZWZDA.mjs";import{a as l}from"./chunk-YUMUNL66.mjs";import{a as g,b as x}from"./chunk-SYT2IXG6.mjs";import A from"@sindresorhus/slugify";var S=e=>{let t=A(e,{separator:""});if(t.length<3)return"";if(l.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&l.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((o,i)=>o.length<i.length?o:i)}.to`},w=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),C=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-\p{Emoji}]*$/u),J=new RegExp(/^[a-zA-Z0-9\-]+$/),D=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),B=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let r=t.split(".");return r.length>2?g.has(r[r.length-2])&&l.has(r[r.length-1])||x.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},M=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}},T=e=>d.some(t=>t.slug===e);function V({domain:e="dub.sh",key:t,pretty:r,searchParams:s}){let o=new URL(`https://${m(e)}`);if(t&&t!=="_root"&&(o.pathname=`/${m(t)}`),s)for(let[i,c]of Object.entries(s))o.searchParams.set(i,c);return r?o.toString().replace(/^https?:\/\//,""):o.toString()}var u=({name:e="Business",monthly:t=59,yearly:r=49,links:s=5e3,clicks:o=15e4,domains:i=40,tags:c=150,users:h=15,ids:E=[]})=>({name:e,tagline:"For larger teams with increased usage",link:"https://dub.co/help/article/business-plan",price:{monthly:t,yearly:r,ids:E},limits:{links:s,clicks:o,domains:i,tags:c,users:h},colors:{bg:"bg-sky-900",text:"text-sky-900"},cta:{text:"Get started with Business",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-sky-900 border-sky-900 hover:text-sky-900"},featureTitle:"Everything in Pro, plus:",features:[{text:`${p(s,{full:!0})} new links/mo`},{text:`${p(o)} tracked clicks/mo`},{text:"2-year analytics retention"},{text:`${i} custom domains`},{text:`${h} users`},{text:`${p(c,{full:!0})} tags`,footnote:{title:"Organize your links with tags.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-use-tags"}},{text:"Elevated support",footnote:"Email and chat support."},{text:"Custom branding",footnote:{title:"Set custom QR code logos, password-protected links logos, and more.",cta:"Learn more.",href:"https://dub.co/help/article/custom-qr-codes"}}]}),n=[{name:"Free",tagline:"For hobby & side projects",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,domains:3,tags:5,users:1},colors:{bg:"bg-black",text:"text-black"},cta:{text:"Start for free",href:"https://app.dub.co/register",color:"bg-black border-black hover:text-black"},featureTitle:"What's included:",features:[{text:"25 new links/mo"},{text:"1K tracked clicks/mo"},{text:"30-day analytics retention"},{text:"3 custom domains"},{text:"1 user"},{text:"Community support",footnote:"Help center + GitHub discussions."},{text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For startups & small businesses",link:"https://dub.co/help/article/pro-plan",price:{monthly:24,yearly:19,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"]},limits:{links:1e3,clicks:5e4,domains:10,tags:25,users:5},colors:{bg:"bg-blue-500",text:"text-blue-500"},cta:{text:"Get started with Pro",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-blue-500 border-blue-500 hover:text-blue-500"},featureTitle:"Everything in Free, plus:",features:[{text:"1,000 new links/mo"},{text:"50K tracked clicks/mo"},{text:"1-year analytics retention"},{text:"10 custom domains"},{text:"5 users"},{text:"Basic support",footnote:"Basic email support."},{text:"Root domain redirect",footnote:{title:"Redirect vistors that land on the root of your domain (e.g. yourdomain.com) to a page of your choice.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-redirect-root-domain"}},{text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."}]},u({name:"Business",monthly:59,yearly:49,links:5e3,clicks:15e4,domains:40,tags:150,users:15,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw"]}),u({name:"Business Plus",monthly:119,yearly:99,links:15e3,clicks:4e5,domains:100,tags:300,users:40,ids:["price_1OnWu0AlJJEpqkPVWk4144ZG","price_1OnWu0AlJJEpqkPVkDWVriAB","price_1OnaK3AlJJEpqkPVaCfCPdHi","price_1OzObrAlJJEpqkPVh6D9HWGO"]}),u({name:"Business Extra",monthly:249,yearly:199,links:4e4,clicks:1e6,domains:250,tags:500,users:100,ids:["price_1OnWvCAlJJEpqkPVLzLHx5QD","price_1OnWvCAlJJEpqkPVHhCCvIOq","price_1OnaKJAlJJEpqkPVeJSvPfJb","price_1OzOg1AlJJEpqkPVPlsrxoWm"]}),u({name:"Business Max",monthly:499,yearly:399,links:1e5,clicks:25e5,domains:500,tags:1e3,users:250,ids:["price_1OnWwLAlJJEpqkPVXtJyPqLk","price_1OnWwLAlJJEpqkPV4eMbOkNh","price_1OnaKOAlJJEpqkPVV6gkZPgt","price_1OzOh5AlJJEpqkPVtCSX7dlE"]}),{name:"Enterprise",tagline:"Custom tailored plans for large enterprises. Whether you're running a SMS campaign with millions of short links or a large marketing campaign with billions of clicks, we've got you covered.",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:null,clicks:null,domains:null},colors:{bg:"bg-violet-600",text:"text-violet-600"},cta:{text:"Contact us",href:"/enterprise",color:"bg-violet-600 border-violet-600 hover:text-violet-600"},featureTitle:"Everything in Business, plus:",features:[{text:"Custom usage limits"},{text:"Volume discounts"},{text:"SSO/SAML"},{text:"Role-based access controls"},{text:"Custom contract & SLA"},{text:"Whiteglove onboarding"},{text:"Dedicated success manager"},{text:"Priority support"},{text:"Dedicated Slack channel"}]}],k=n.find(e=>e.name==="Free"),b=n.find(e=>e.name==="Pro"),N=n.find(e=>e.name==="Business"),y=n.find(e=>e.name==="Enterprise"),pe=[k,b,N,y],L=n.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),ue=2,me=e=>n.find(t=>{var r;return(r=t.price.ids)==null?void 0:r.includes(e)})||null,de=e=>L.find(t=>t.name.toLowerCase()===e.toLowerCase()),he=e=>n[n.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1];var xe=process.env.NEXT_PUBLIC_APP_NAME||"Dub.co",f=process.env.NEXT_PUBLIC_APP_SHORT_DOMAIN||"dub.sh",P=`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,_e=new Set([`app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"localhost:8888","localhost"]),fe=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://localhost:8888",Pe=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NGROK_URL||"http://localhost:8888",Ee=new Set([`api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api-staging.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api.${f}`,"api.localhost:8888"]),Ae=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://api-staging.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://api.localhost:8888",ke=new Set([`admin.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"admin.localhost:8888"]),be="https://assets.dub.co/logo.png",Ne="https://assets.dub.co/thumbnail.jpg",a="cl7pj5kq4006835rbjlt2ofka",ye="clrflia0j0000vs7sqfhz9c7q",Le="clqei1lgc0000vsnzi01pbf47",d=[{id:"clce1z7ch00j0rbstbjufva4j",slug:f,verified:!0,primary:!0,archived:!1,publicStats:!1,target:`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,type:"redirect",placeholder:"https://dub.co/help/article/what-is-dub",clicks:0,allowedHostnames:[],projectId:a},...process.env.NEXT_PUBLIC_IS_DUB?[{id:"clce1z7cs00y8rbstk4xtnj0k",slug:"chatg.pt",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/chatgpt-link-shortener",type:"redirect",placeholder:"https://chat.openai.com/g/g-UGjKKONEe-domainsgpt",clicks:0,allowedHostnames:["chat.openai.com"],projectId:a},{id:"cloxw8y2u0003js08a7mqg1j8",slug:"spti.fi",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/spotify-link-shortener",type:"redirect",placeholder:"https://open.spotify.com/album/1SCyi9a5pOasikidToUY5y",clicks:0,allowedHostnames:["open.spotify.com"],projectId:a},{id:"cltgtd6s5000341itdszz20u2",slug:"git.new",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/github-link-shortener",type:"redirect",placeholder:"https://github.com/dubinc/dub",clicks:0,allowedHostnames:["github.com","gist.github.com"],projectId:a},{id:"cloxw8qtk000bjt08n9b812vs",slug:"amzn.id",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/amazon-link-shortener",type:"redirect",placeholder:"https://www.amazon.com/dp/B0BW4SWNC8",clicks:0,allowedHostnames:["amazon.com","amazon.co.uk","amazon.ca","amazon.es"],projectId:a},{id:"clugy7euh000a11h6ignmj42o",slug:"loooooooo.ng",verified:!0,primary:!1,archived:!0,publicStats:!0,target:"https://dub.co/tools/url-lengthener",type:"redirect",placeholder:"https://d.to/long",clicks:0,projectId:a}]:[]],ve=d.map(e=>e.slug),Ie=[{id:"clqo10sum0006js08vutzfxt3",domain:"dub.sh",key:"try"},{id:"clot0z5rg000djp08ue98hxkn",domain:"chatg.pt",key:"domains"},{id:"clp4jh9av0001l308ormavtlu",domain:"spti.fi",key:"hans"},{id:"cltgtsex40003ck8z444hum5u",domain:"git.new",key:"dub"},{id:"clp3k3yoi0001ju0874nz899q",domain:"amzn.id",key:"tv"}];function ze({title:e=`${process.env.NEXT_PUBLIC_APP_NAME} - Link Management for Modern Marketing Teams`,description:t=`${process.env.NEXT_PUBLIC_APP_NAME} is the open-source link management infrastructure for modern marketing teams to create, share, and track short links.`,image:r="https://assets.dub.co/thumbnail.jpg",icons:s=[{rel:"apple-touch-icon",sizes:"32x32",url:"/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"/favicon-16x16.png"}],noIndex:o=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,...r&&{images:[{url:r}]}},twitter:{title:e,description:t,...r&&{card:"summary_large_image",images:[r]},creator:"@dubdotco"},icons:s,metadataBase:new URL(P),...o&&{robots:{index:!1,follow:!1}}}}export{ze as a,S as b,w as c,C as d,J as e,D as f,B as g,M as h,T as i,V as j,n as k,k as l,b as m,N as n,y as o,pe as p,L as q,ue as r,me as s,de as t,he as u,xe as v,f as w,P as x,_e as y,fe as z,Pe as A,Ee as B,Ae as C,ke as D,be as E,Ne as F,a as G,ye as H,Le as I,d as J,ve as K,Ie as L};
@@ -1 +0,0 @@
1
- var u=t=>{let e=t?new Date(t):new Date;return e.toString()==="Invalid Date"?"":new Date(e.getTime()-e.getTimezoneOffset()*6e4).toISOString().split(":").slice(0,2).join(":")},i=t=>new Date(t).toLocaleDateString("en-US",{day:"numeric",month:"long",year:"numeric",timeZone:"UTC"}),g=t=>{let e=new Date,o=e.getDate(),n=e.getMonth(),r=e.getFullYear();if(o>=t)return{firstDay:new Date(r,n,t),lastDay:new Date(r,n+1,t-1)};{let a=n===0?r-1:r,s=n===0?11:n-1;return{firstDay:new Date(a,s,t),lastDay:new Date(r,n,t-1)}}},D=()=>{let t=new Date;return new Date(t.getFullYear(),t.getMonth()+1,0).getDate()},l=t=>{let e=D();return t>e?e:t},w=t=>{let e=new Date,o=e.getDate(),n=e.getMonth(),r=e.getFullYear(),a=l(t);if(o<=a){let s=n===0?11:n-1,c=n===0?r-1:r;return new Date(c,s,a)}else return new Date(r,n,a)};export{u as a,i as b,g as c,D as d,l as e,w as f};
@@ -1 +0,0 @@
1
- var o=[{name:"Free",tagline:"For hobby & side projects",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,domains:1,tags:5,users:1},colors:{bg:"bg-black",text:"text-black"},cta:{text:"Start for free",href:"https://app.dub.co/register",color:"bg-black border-black hover:text-black"},featureTitle:"What's included:",features:[{text:"25 links/mo"},{text:"1K tracked clicks/mo"},{text:"30-day analytics retention"},{text:"1 custom domain"},{text:"1 user"},{text:"Community support",footnote:"Help center + GitHub discussions."},{text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For startups & small businesses",price:{monthly:24,yearly:19,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"]},limits:{links:250,clicks:5e4,domains:10,tags:25,users:5},colors:{bg:"bg-blue-500",text:"text-blue-500"},cta:{text:"Get started with Pro",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-blue-500 border-blue-500 hover:text-blue-500"},featureTitle:"Everything in Free, plus:",features:[{text:"250 links/mo"},{text:"50K tracked clicks/mo"},{text:"1-year analytics retention"},{text:"10 custom domains"},{text:"5 users"},{text:"Basic support",footnote:"Basic email support."},{text:"Root domain redirect",footnote:{title:"Redirect vistors that land on the root of your domain (e.g. yourdomain.com) to a page of your choice.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-redirect-root-domain"}},{text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting, link aliases, link monitoring etc."}]},{name:"Business",tagline:"For larger teams with increased usage",price:{monthly:49,yearly:39,ids:["price_1LodLoAlJJEpqkPVJdwv5zrG","price_1LoyrCAlJJEpqkPVZ32BV3wm","price_1LodLoAlJJEpqkPV9rD0rlNL","price_1OTcRzAlJJEpqkPV6G9iP0Tb","price_1OZSQDAlJJEpqkPVLru8sut3"]},limits:{links:1e3,clicks:25e4,domains:20,tags:150,users:15},colors:{bg:"bg-sky-900",text:"text-sky-900"},cta:{text:"Get started with Business",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-sky-900 border-sky-900 hover:text-sky-900"},featureTitle:"Everything in Pro, plus:",features:[{text:"1,000 links/mo"},{text:"250K tracked clicks/mo"},{text:"2-year analytics retention"},{text:"20 custom domains"},{text:"15 users"},{text:"Elevated support",footnote:"Email and chat support."},{text:"Custom branding",footnote:{title:"Set custom QR code logos, password-protected links logos, and more.",cta:"Learn more.",href:"https://dub.co/help/article/custom-qr-codes"}},{text:"Event callbacks (Beta)",footnote:"Get notified when someone clicks on your links."}]},{name:"Enterprise",price:{monthly:null,yearly:null},limits:{links:null,clicks:null,domains:null},colors:{bg:"bg-violet-600",text:"text-violet-600"},cta:{text:"Contact us",href:"/enterprise",color:"bg-violet-600 border-violet-600 hover:text-violet-600"},featureTitle:"Everything in Business, plus:",features:[{text:"Custom usage limits"},{text:"Volume discounts"},{text:"SSO/SAML"},{text:"Role-based access controls"},{text:"Custom contract & SLA"},{text:"Whiteglove onboarding"},{text:"Dedicated success manager"},{text:"Priority support"},{text:"Dedicated Slack channel"}]}],s=o.filter(t=>t.name==="Pro"||t.name==="Business");var n={city:"San Francisco",region:"CA",country:"US",latitude:"37.7695",longitude:"-122.385"},c="63.141.57.109",l={hidden:{scale:.8,opacity:0},show:{scale:1,opacity:1,transition:{type:"spring"}}},p={hidden:{opacity:0,y:20},show:{opacity:1,y:0,transition:{duration:.4,type:"spring"}}},d={initial:{height:0},animate:{height:"auto"},exit:{height:0},transition:{duration:.15,ease:"easeOut"}},u={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2}},m=100,e=process.env.NEXT_PUBLIC_APP_SHORT_DOMAIN||"dub.sh",_=`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,h=new Set([`app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"localhost:8888","localhost"]),g=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://localhost:8888",A=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NGROK_URL||"http://localhost:8888",E=new Set([`api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api.${e}`,"api.localhost:8888"]),x=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://api.localhost:8888",P=new Set([`admin.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"admin.localhost:8888"]),L={home:"https://dub.co",dub:"https://dub.co",signin:"https://app.dub.co/login",login:"https://app.dub.co/login",register:"https://app.dub.co/register",signup:"https://app.dub.co/register",app:"https://app.dub.co",dashboard:"https://app.dub.co",links:"https://app.dub.co/links",settings:"https://app.dub.co/settings",welcome:"https://app.dub.co/welcome",discord:"https://twitter.com/dubdotco"},k={headers:{"x-powered-by":"Dub.co - Link management for modern marketing teams"}},I="https://www.google.com/s2/favicons?sz=64&domain_url=",y="https://d2vwwcvoksz7ty.cloudfront.net/logo.png",N="https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png",b=["stats","changelog","terms","privacy","abuse"],v=[{slug:e,verified:!0,primary:!0,archived:!1,target:`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,type:"redirect",placeholder:"https://dub.co/help/article/what-is-dub",clicks:0,allowedHostnames:[]},...process.env.NEXT_PUBLIC_IS_DUB?[{slug:"chatg.pt",verified:!0,primary:!1,archived:!1,target:"https://dub.co/tools/chatgpt-link-shortener",type:"redirect",placeholder:"https://chat.openai.com/g/g-UGjKKONEe-domainsgpt",clicks:0,allowedHostnames:["chat.openai.com"]},{slug:"amzn.id",verified:!0,primary:!1,archived:!1,target:"https://dub.co/tools/amazon-link-shortener",type:"redirect",placeholder:"https://www.amazon.com/dp/B0BW4SWNC8",clicks:0,allowedHostnames:["amazon.com","amazon.co.uk","amazon.ca"]},{slug:"spti.fi",verified:!0,primary:!1,archived:!1,target:"https://dub.co/tools/spotify-link-shortener",type:"redirect",placeholder:"https://open.spotify.com/album/1SCyi9a5pOasikidToUY5y",clicks:0,allowedHostnames:["open.spotify.com"]}]:[]],T=[{name:"ChatGPT Link Shortener",slug:"chatgpt-link-shortener"},{name:"Amazon Link Shortener",slug:"amazon-link-shortener"},{name:"Spotify Link Shortener",slug:"spotify-link-shortener"},{name:"Metatags API",slug:"metatags"},{name:"QR Code Generator",slug:"qr-code"},{name:"Link Inspector",slug:"inspector"}],f=new Set(["com","co","net","org","edu","gov","in"]),O=new Set(["my.id","github.io","vercel.app","now.sh","pages.dev","webflow.io","netlify.app","fly.dev","web.app"]),S={key:"",url:"",domain:"",archived:!1,expiresAt:null,password:null,title:null,description:null,image:null,rewrite:!1,ios:null,android:null,clicks:0,userId:"",proxy:!1},C="cl7pj5kq4006835rbjlt2ofka",w="clrflia0j0000vs7sqfhz9c7q",D="clqei1lgc0000vsnzi01pbf47",M=[{name:"Okta",logo:"/_static/icons/okta.svg",saml:"okta",samlModalCopy:"Metadata URL",scim:"okta-scim-v2",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1},{name:"Azure AD",logo:"/_static/icons/azure.svg",saml:"azure",samlModalCopy:"App Federation Metadata URL",scim:"azure-scim-v2",scimModalCopy:{url:"Tenant URL",token:"Secret Token"},wip:!1},{name:"Google",logo:"/_static/icons/google.svg",saml:"google",samlModalCopy:"XML Metadata File",scim:"google",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1}];export{o as a,s as b,n as c,c as d,l as e,p as f,d as g,u as h,m as i,e as j,_ as k,h as l,g as m,A as n,E as o,x as p,P as q,L as r,k as s,I as t,y as u,N as v,b as w,v as x,T as y,f as z,O as A,S as B,C,w as D,D as E,M as F};
@@ -1 +0,0 @@
1
- var o=[{name:"Free",tagline:"For hobby & side projects",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,domains:3,tags:5,users:1},colors:{bg:"bg-black",text:"text-black"},cta:{text:"Start for free",href:"https://app.dub.co/register",color:"bg-black border-black hover:text-black"},featureTitle:"What's included:",features:[{text:"25 links/mo"},{text:"1K tracked clicks/mo"},{text:"30-day analytics retention"},{text:"3 custom domains"},{text:"1 user"},{text:"Community support",footnote:"Help center + GitHub discussions."},{text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For startups & small businesses",link:"https://dub.co/help/article/pro-plan",price:{monthly:24,yearly:19,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"]},limits:{links:1e3,clicks:5e4,domains:10,tags:25,users:5},colors:{bg:"bg-blue-500",text:"text-blue-500"},cta:{text:"Get started with Pro",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-blue-500 border-blue-500 hover:text-blue-500"},featureTitle:"Everything in Free, plus:",features:[{text:"1,000 links/mo"},{text:"50K tracked clicks/mo"},{text:"1-year analytics retention"},{text:"10 custom domains"},{text:"5 users"},{text:"Basic support",footnote:"Basic email support."},{text:"Root domain redirect",footnote:{title:"Redirect vistors that land on the root of your domain (e.g. yourdomain.com) to a page of your choice.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-redirect-root-domain"}},{text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting, link aliases, link monitoring etc."}]},{name:"Business",tagline:"For larger teams with increased usage",link:"https://dub.co/help/article/business-plan",price:{monthly:49,yearly:39,ids:["price_1LodLoAlJJEpqkPVJdwv5zrG","price_1LoyrCAlJJEpqkPVZ32BV3wm","price_1LodLoAlJJEpqkPV9rD0rlNL","price_1OTcRzAlJJEpqkPV6G9iP0Tb","price_1OZgmnAlJJEpqkPVOj4kV64R"]},limits:{links:5e3,clicks:25e4,domains:20,tags:150,users:15},colors:{bg:"bg-sky-900",text:"text-sky-900"},cta:{text:"Get started with Business",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-sky-900 border-sky-900 hover:text-sky-900"},featureTitle:"Everything in Pro, plus:",features:[{text:"5,000 links/mo"},{text:"250K tracked clicks/mo"},{text:"2-year analytics retention"},{text:"20 custom domains"},{text:"15 users"},{text:"Elevated support",footnote:"Email and chat support."},{text:"Custom branding",footnote:{title:"Set custom QR code logos, password-protected links logos, and more.",cta:"Learn more.",href:"https://dub.co/help/article/custom-qr-codes"}},{text:"Event callbacks (Beta)",footnote:"Get notified when someone clicks on your links."}]},{name:"Enterprise",tagline:"Custom tailored plans for large enterprises. Whether you're running a SMS campaign with millions of short links or a large marketing campaign with billions of clicks, we've got you covered.",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:null,clicks:null,domains:null},colors:{bg:"bg-violet-600",text:"text-violet-600"},cta:{text:"Contact us",href:"/enterprise",color:"bg-violet-600 border-violet-600 hover:text-violet-600"},featureTitle:"Everything in Business, plus:",features:[{text:"Custom usage limits"},{text:"Volume discounts"},{text:"SSO/SAML"},{text:"Role-based access controls"},{text:"Custom contract & SLA"},{text:"Whiteglove onboarding"},{text:"Dedicated success manager"},{text:"Priority support"},{text:"Dedicated Slack channel"}]}],r=o.find(t=>t.name==="free"),a=o.filter(t=>t.name==="Pro"||t.name==="Business"),i=2;var c={city:"San Francisco",region:"CA",country:"US",latitude:"37.7695",longitude:"-122.385"},l="63.141.57.109",p={hidden:{scale:.8,opacity:0},show:{scale:1,opacity:1,transition:{type:"spring"}}},d={hidden:{opacity:0,y:20},show:{opacity:1,y:0,transition:{duration:.4,type:"spring"}}},u={initial:{height:0},animate:{height:"auto"},exit:{height:0},transition:{duration:.15,ease:"easeOut"}},m={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2}},h=100,s=process.env.NEXT_PUBLIC_APP_SHORT_DOMAIN||"dub.sh",_=`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,g=new Set([`app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"localhost:8888","localhost"]),E=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://localhost:8888",A=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NGROK_URL||"http://localhost:8888",x=new Set([`api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api.${s}`,"api.localhost:8888"]),k=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://api.localhost:8888",P=new Set([`admin.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"admin.localhost:8888"]),I={home:"https://dub.co",dub:"https://dub.co",signin:"https://app.dub.co/login",login:"https://app.dub.co/login",register:"https://app.dub.co/register",signup:"https://app.dub.co/register",app:"https://app.dub.co",dashboard:"https://app.dub.co",links:"https://app.dub.co/links",settings:"https://app.dub.co/settings",welcome:"https://app.dub.co/welcome",discord:"https://twitter.com/dubdotco"},L={headers:{"x-powered-by":"Dub.co - Link management for modern marketing teams"}},b="https://www.google.com/s2/favicons?sz=64&domain_url=",y="https://d2vwwcvoksz7ty.cloudfront.net/logo.png",N="https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png",v="clqo10sum0006js08vutzfxt3",e="cl7pj5kq4006835rbjlt2ofka",f="clrflia0j0000vs7sqfhz9c7q",T="clqei1lgc0000vsnzi01pbf47",O=["stats","changelog","terms","privacy","abuse"],S=[{id:"clce1z7ch00j0rbstbjufva4j",slug:s,verified:!0,primary:!0,archived:!1,target:`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,type:"redirect",placeholder:"https://dub.co/help/article/what-is-dub",clicks:0,allowedHostnames:[],projectId:e},...process.env.NEXT_PUBLIC_IS_DUB?[{id:"clce1z7cs00y8rbstk4xtnj0k",slug:"chatg.pt",verified:!0,primary:!1,archived:!1,target:"https://dub.co/tools/chatgpt-link-shortener",type:"redirect",placeholder:"https://chat.openai.com/g/g-UGjKKONEe-domainsgpt",clicks:0,allowedHostnames:["chat.openai.com"],projectId:e},{id:"cloxw8qtk000bjt08n9b812vs",slug:"amzn.id",verified:!0,primary:!1,archived:!1,target:"https://dub.co/tools/amazon-link-shortener",type:"redirect",placeholder:"https://www.amazon.com/dp/B0BW4SWNC8",clicks:0,allowedHostnames:["amazon.com","amazon.co.uk","amazon.ca","amazon.es"],projectId:e},{id:"cloxw8y2u0003js08a7mqg1j8",slug:"spti.fi",verified:!0,primary:!1,archived:!1,target:"https://dub.co/tools/spotify-link-shortener",type:"redirect",placeholder:"https://open.spotify.com/album/1SCyi9a5pOasikidToUY5y",clicks:0,allowedHostnames:["open.spotify.com"],projectId:e}]:[]],C=[{name:"ChatGPT Link Shortener",slug:"chatgpt-link-shortener"},{name:"Amazon Link Shortener",slug:"amazon-link-shortener"},{name:"Spotify Link Shortener",slug:"spotify-link-shortener"},{name:"Metatags API",slug:"metatags"},{name:"QR Code API",slug:"qr-code"},{name:"Link Inspector",slug:"inspector"}],w=new Set(["com","co","net","org","edu","gov","in"]),M=new Set(["my.id","github.io","vercel.app","now.sh","pages.dev","webflow.io","netlify.app","fly.dev","web.app"]),D={key:"",url:"",domain:"",archived:!1,expiresAt:null,password:null,title:null,description:null,image:null,rewrite:!1,ios:null,android:null,clicks:0,userId:"",proxy:!1},B=[{name:"Okta",logo:"/_static/icons/okta.svg",saml:"okta",samlModalCopy:"Metadata URL",scim:"okta-scim-v2",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1},{name:"Azure AD",logo:"/_static/icons/azure.svg",saml:"azure",samlModalCopy:"App Federation Metadata URL",scim:"azure-scim-v2",scimModalCopy:{url:"Tenant URL",token:"Secret Token"},wip:!1},{name:"Google",logo:"/_static/icons/google.svg",saml:"google",samlModalCopy:"XML Metadata File",scim:"google",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1}];export{o as a,r as b,a as c,i as d,c as e,l as f,p as g,d as h,u as i,m as j,h as k,s as l,_ as m,g as n,E as o,A as p,x as q,k as r,P as s,I as t,L as u,b as v,y as w,N as x,v as y,e as z,f as A,T as B,O as C,S as D,C as E,w as F,M as G,D as H,B as I};
@@ -1 +0,0 @@
1
- import{a as u}from"./chunk-I5Y5DKPK.mjs";import{a as d}from"./chunk-IHX4EDUF.mjs";import{a as x}from"./chunk-ZBU4VJM4.mjs";import{a as p}from"./chunk-YUMUNL66.mjs";import{a as g,b as f}from"./chunk-SYT2IXG6.mjs";import A from"@sindresorhus/slugify";var w=e=>{let t=A(e,{separator:""});if(t.length<3)return"";if(p.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let o=t.replace(/[aeiou]/g,"");return o.length>=3&&p.has(o.slice(-2))?`${o.slice(0,-2)}.${o.slice(-2)}`:`${[t,o].reduce((r,i)=>r.length<i.length?r:i)}.to`},S=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),C=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-\p{Emoji}]*$/u),J=new RegExp(/^[a-zA-Z0-9\-]+$/),D=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),B=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let o=t.split(".");return o.length>2?g.has(o[o.length-2])&&p.has(o[o.length-1])||f.has(o.slice(-2).join("."))?o.slice(-3).join("."):o.slice(-2).join("."):t},M=e=>{if(x(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}},U=e=>h.some(t=>t.slug===e);function V({domain:e,key:t,pretty:o,searchParams:s}){if(!e)return"";let r=`https://${d(e)}${t&&t!=="_root"?`/${d(t)}`:""}`;if(s){let i=new URLSearchParams;for(let[c,l]of Object.entries(s))i.set(c,l);r+=`?${i.toString()}`}return o?r.replace(/^https?:\/\//,""):r}var m=({name:e="Business",monthly:t=59,yearly:o=49,links:s=5e3,clicks:r=15e4,domains:i=40,tags:c=150,users:l=15,ids:E=[]})=>({name:e,tagline:"For larger teams with increased usage",link:"https://dub.co/help/article/business-plan",price:{monthly:t,yearly:o,ids:E},limits:{links:s,clicks:r,domains:i,tags:c,users:l,ai:1e3},colors:{bg:"bg-sky-900",text:"text-sky-900"},cta:{text:"Get started with Business",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-sky-900 hover:bg-sky-800 hover:ring-[#E0F2FE]"},featureTitle:"Everything in Pro, plus:",features:[{text:`${u(s,{full:!0})} new links/mo`},{text:`${u(r)} tracked clicks/mo`},{text:"2-year analytics retention"},{text:`${i} custom domains`},{text:`${l} users`},{text:"Unlimited AI credits",footnote:{title:"Subject to fair use policy \u2013 you will be notified if you exceed the limit, which are high enough for frequent usage.",cta:"Learn more.",href:"https://dub.co/blog/introducing-dub-ai"}},{text:`${u(c,{full:!0})} tags`,footnote:{title:"Organize your links with tags.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-use-tags"}},{text:"Elevated support",footnote:"Email and chat support."},{text:"Custom branding",footnote:{title:"Set custom QR code logos, password-protected links logos, and more.",cta:"Learn more.",href:"https://dub.co/help/article/custom-qr-codes"}}]}),n=[{name:"Free",tagline:"For hobby & side projects",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,domains:3,tags:5,users:1,ai:10},colors:{bg:"bg-black",text:"text-black"},cta:{text:"Start for free",href:"https://app.dub.co/register",color:"bg-black hover:bg-gray-800 hover:ring-gray-200"},featureTitle:"What's included:",features:[{text:"25 new links/mo"},{text:"1K tracked clicks/mo"},{text:"30-day analytics retention"},{text:"3 custom domains"},{text:"1 user"},{text:"10 AI credits/mo"},{text:"Community support",footnote:"Help center + GitHub discussions."},{text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For startups & small businesses",link:"https://dub.co/help/article/pro-plan",price:{monthly:24,yearly:19,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"]},limits:{links:1e3,clicks:5e4,domains:10,tags:25,users:5,ai:1e3},colors:{bg:"bg-blue-500",text:"text-blue-500"},cta:{text:"Get started with Pro",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-blue-500 hover:bg-blue-600 hover:ring-blue-100"},featureTitle:"Everything in Free, plus:",features:[{text:"1,000 new links/mo"},{text:"50K tracked clicks/mo"},{text:"1-year analytics retention"},{text:"10 custom domains"},{text:"5 users"},{text:"Unlimited AI credits",footnote:{title:"Subject to fair use policy \u2013 you will be notified if you exceed the limit, which are high enough for frequent usage.",cta:"Learn more.",href:"https://dub.co/blog/introducing-dub-ai"}},{text:"Basic support",footnote:"Basic email support."},{text:"Root domain redirect",footnote:{title:"Redirect vistors that land on the root of your domain (e.g. yourdomain.com) to a page of your choice.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-redirect-root-domain"}},{text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."}]},m({name:"Business",monthly:59,yearly:49,links:5e3,clicks:15e4,domains:40,tags:150,users:15,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw"]}),m({name:"Business Plus",monthly:119,yearly:99,links:15e3,clicks:4e5,domains:100,tags:300,users:40,ids:["price_1OnWu0AlJJEpqkPVWk4144ZG","price_1OnWu0AlJJEpqkPVkDWVriAB","price_1OnaK3AlJJEpqkPVaCfCPdHi","price_1OzObrAlJJEpqkPVh6D9HWGO"]}),m({name:"Business Extra",monthly:249,yearly:199,links:4e4,clicks:1e6,domains:250,tags:500,users:100,ids:["price_1OnWvCAlJJEpqkPVLzLHx5QD","price_1OnWvCAlJJEpqkPVHhCCvIOq","price_1OnaKJAlJJEpqkPVeJSvPfJb","price_1OzOg1AlJJEpqkPVPlsrxoWm"]}),m({name:"Business Max",monthly:499,yearly:399,links:1e5,clicks:25e5,domains:500,tags:1e3,users:250,ids:["price_1OnWwLAlJJEpqkPVXtJyPqLk","price_1OnWwLAlJJEpqkPV4eMbOkNh","price_1OnaKOAlJJEpqkPVV6gkZPgt","price_1OzOh5AlJJEpqkPVtCSX7dlE"]}),{name:"Enterprise",tagline:"Custom tailored plans for large enterprises. Whether you're running a SMS campaign with millions of short links or a large marketing campaign with billions of clicks, we've got you covered.",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:null,clicks:null,domains:null},colors:{bg:"bg-violet-600",text:"text-violet-600"},cta:{text:"Contact us",href:"/enterprise",color:"bg-violet-600 hover:bg-violet-700 hover:ring-[#EDE9FE]"},featureTitle:"Everything in Business, plus:",features:[{text:"Custom usage limits"},{text:"Volume discounts"},{text:"SSO/SAML"},{text:"Role-based access controls"},{text:"Custom contract & SLA"},{text:"Whiteglove onboarding"},{text:"Dedicated success manager"},{text:"Priority support"},{text:"Dedicated Slack channel"}]}],b=n.find(e=>e.name==="Free"),k=n.find(e=>e.name==="Pro"),y=n.find(e=>e.name==="Business"),N=n.find(e=>e.name==="Enterprise"),pe=[b,k,y,N],L=n.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),ue=2,me=e=>n.find(t=>{var o;return(o=t.price.ids)==null?void 0:o.includes(e)})||null,de=e=>L.find(t=>t.name.toLowerCase()===e.toLowerCase()),he=e=>n[n.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1];var fe=process.env.NEXT_PUBLIC_APP_NAME||"Dub.co",_=process.env.NEXT_PUBLIC_APP_SHORT_DOMAIN||"dub.sh",P=`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,xe=new Set([`app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"localhost:8888","localhost"]),_e=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://localhost:8888",Pe=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NGROK_URL||"http://localhost:8888",Ee=new Set([`api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api-staging.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api.${_}`,"api.localhost:8888"]),Ae=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://api-staging.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://api.localhost:8888",be=new Set([`admin.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"admin.localhost:8888"]),ke="https://assets.dub.co/logo.png",ye="https://assets.dub.co/thumbnail.jpg",a="cl7pj5kq4006835rbjlt2ofka",Ne="clrflia0j0000vs7sqfhz9c7q",Le="clqei1lgc0000vsnzi01pbf47",h=[{id:"clce1z7ch00j0rbstbjufva4j",slug:_,verified:!0,primary:!0,archived:!1,publicStats:!1,target:`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,type:"redirect",placeholder:"https://dub.co/help/article/what-is-dub",clicks:0,allowedHostnames:[],projectId:a},...process.env.NEXT_PUBLIC_IS_DUB?[{id:"clce1z7cs00y8rbstk4xtnj0k",slug:"chatg.pt",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/chatgpt-link-shortener",type:"redirect",placeholder:"https://chat.openai.com/g/g-UGjKKONEe-domainsgpt",clicks:0,allowedHostnames:["chat.openai.com"],projectId:a},{id:"cloxw8y2u0003js08a7mqg1j8",slug:"spti.fi",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/spotify-link-shortener",type:"redirect",placeholder:"https://open.spotify.com/album/1SCyi9a5pOasikidToUY5y",clicks:0,allowedHostnames:["open.spotify.com"],projectId:a},{id:"cltgtd6s5000341itdszz20u2",slug:"git.new",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/github-link-shortener",type:"redirect",placeholder:"https://github.com/dubinc/dub",clicks:0,allowedHostnames:["github.com","gist.github.com"],projectId:a},{id:"cloxw8qtk000bjt08n9b812vs",slug:"amzn.id",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/amazon-link-shortener",type:"redirect",placeholder:"https://www.amazon.com/dp/B0BW4SWNC8",clicks:0,allowedHostnames:["amazon.com","amazon.co.uk","amazon.ca","amazon.es"],projectId:a},{id:"clugy7euh000a11h6ignmj42o",slug:"loooooooo.ng",verified:!0,primary:!1,archived:!0,publicStats:!0,target:"https://dub.co/tools/url-lengthener",type:"redirect",placeholder:"https://d.to/long",clicks:0,projectId:a}]:[]],ve=h.map(e=>e.slug),Ie=[{id:"clqo10sum0006js08vutzfxt3",domain:"dub.sh",key:"try"},{id:"clot0z5rg000djp08ue98hxkn",domain:"chatg.pt",key:"domains"},{id:"clp4jh9av0001l308ormavtlu",domain:"spti.fi",key:"hans"},{id:"cltgtsex40003ck8z444hum5u",domain:"git.new",key:"dub"},{id:"clp3k3yoi0001ju0874nz899q",domain:"amzn.id",key:"tv"}];function ze({title:e=`${process.env.NEXT_PUBLIC_APP_NAME} - Link Management for Modern Marketing Teams`,description:t=`${process.env.NEXT_PUBLIC_APP_NAME} is the open-source link management infrastructure for modern marketing teams to create, share, and track short links.`,image:o="https://assets.dub.co/thumbnail.jpg",icons:s=[{rel:"apple-touch-icon",sizes:"32x32",url:"/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"/favicon-16x16.png"}],noIndex:r=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,...o&&{images:[{url:o}]}},twitter:{title:e,description:t,...o&&{card:"summary_large_image",images:[o]},creator:"@dubdotco"},icons:s,metadataBase:new URL(P),...r&&{robots:{index:!1,follow:!1}}}}export{ze as a,w as b,S as c,C as d,J as e,D as f,B as g,M as h,U as i,V as j,n as k,b as l,k as m,y as n,N as o,pe as p,L as q,ue as r,me as s,de as t,he as u,fe as v,_ as w,P as x,xe as y,_e as z,Pe as A,Ee as B,Ae as C,be as D,ke as E,ye as F,a as G,Ne as H,Le as I,h as J,ve as K,Ie as L};
@@ -1 +0,0 @@
1
- import{a as u}from"./chunk-I5Y5DKPK.mjs";import{a as d}from"./chunk-IHX4EDUF.mjs";import{a as _}from"./chunk-ZBU4VJM4.mjs";import{a as p}from"./chunk-YUMUNL66.mjs";import{a as g,b as x}from"./chunk-SYT2IXG6.mjs";import A from"@sindresorhus/slugify";var S=e=>{let t=A(e,{separator:""});if(t.length<3)return"";if(p.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let r=t.replace(/[aeiou]/g,"");return r.length>=3&&p.has(r.slice(-2))?`${r.slice(0,-2)}.${r.slice(-2)}`:`${[t,r].reduce((o,i)=>o.length<i.length?o:i)}.to`},w=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),C=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-\p{Emoji}]*$/u),J=new RegExp(/^[a-zA-Z0-9\-]+$/),D=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),B=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let r=t.split(".");return r.length>2?g.has(r[r.length-2])&&p.has(r[r.length-1])||x.has(r.slice(-2).join("."))?r.slice(-3).join("."):r.slice(-2).join("."):t},M=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}},U=e=>h.some(t=>t.slug===e);function V({domain:e,key:t,pretty:r,searchParams:s}){if(!e)return"";let o=`https://${d(e)}${t&&t!=="_root"?`/${d(t)}`:""}`;if(s){let i=new URLSearchParams;for(let[c,l]of Object.entries(s))i.set(c,l);o+=`?${i.toString()}`}return r?o.replace(/^https?:\/\//,""):o}var m=({name:e="Business",monthly:t=59,yearly:r=49,links:s=5e3,clicks:o=15e4,domains:i=40,tags:c=150,users:l=15,ids:E=[]})=>({name:e,tagline:"For larger teams with increased usage",link:"https://dub.co/help/article/business-plan",price:{monthly:t,yearly:r,ids:E},limits:{links:s,clicks:o,domains:i,tags:c,users:l,ai:1e7},colors:{bg:"bg-sky-900",text:"text-sky-900"},cta:{text:"Get started with Business",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-sky-900 border-sky-900 hover:text-sky-900"},featureTitle:"Everything in Pro, plus:",features:[{text:`${u(s,{full:!0})} new links/mo`},{text:`${u(o)} tracked clicks/mo`},{text:"2-year analytics retention"},{text:`${i} custom domains`},{text:`${l} users`},{text:"Unlimited AI credits"},{text:`${u(c,{full:!0})} tags`,footnote:{title:"Organize your links with tags.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-use-tags"}},{text:"Elevated support",footnote:"Email and chat support."},{text:"Custom branding",footnote:{title:"Set custom QR code logos, password-protected links logos, and more.",cta:"Learn more.",href:"https://dub.co/help/article/custom-qr-codes"}}]}),n=[{name:"Free",tagline:"For hobby & side projects",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,domains:3,tags:5,users:1,ai:10},colors:{bg:"bg-black",text:"text-black"},cta:{text:"Start for free",href:"https://app.dub.co/register",color:"bg-black border-black hover:text-black"},featureTitle:"What's included:",features:[{text:"25 new links/mo"},{text:"1K tracked clicks/mo"},{text:"30-day analytics retention"},{text:"3 custom domains"},{text:"1 user"},{text:"10 AI credits/mo"},{text:"Community support",footnote:"Help center + GitHub discussions."},{text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For startups & small businesses",link:"https://dub.co/help/article/pro-plan",price:{monthly:24,yearly:19,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"]},limits:{links:1e3,clicks:5e4,domains:10,tags:25,users:5,ai:100},colors:{bg:"bg-blue-500",text:"text-blue-500"},cta:{text:"Get started with Pro",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-blue-500 border-blue-500 hover:text-blue-500"},featureTitle:"Everything in Free, plus:",features:[{text:"1,000 new links/mo"},{text:"50K tracked clicks/mo"},{text:"1-year analytics retention"},{text:"10 custom domains"},{text:"5 users"},{text:"100 AI credits/mo"},{text:"Basic support",footnote:"Basic email support."},{text:"Root domain redirect",footnote:{title:"Redirect vistors that land on the root of your domain (e.g. yourdomain.com) to a page of your choice.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-redirect-root-domain"}},{text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."}]},m({name:"Business",monthly:59,yearly:49,links:5e3,clicks:15e4,domains:40,tags:150,users:15,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw"]}),m({name:"Business Plus",monthly:119,yearly:99,links:15e3,clicks:4e5,domains:100,tags:300,users:40,ids:["price_1OnWu0AlJJEpqkPVWk4144ZG","price_1OnWu0AlJJEpqkPVkDWVriAB","price_1OnaK3AlJJEpqkPVaCfCPdHi","price_1OzObrAlJJEpqkPVh6D9HWGO"]}),m({name:"Business Extra",monthly:249,yearly:199,links:4e4,clicks:1e6,domains:250,tags:500,users:100,ids:["price_1OnWvCAlJJEpqkPVLzLHx5QD","price_1OnWvCAlJJEpqkPVHhCCvIOq","price_1OnaKJAlJJEpqkPVeJSvPfJb","price_1OzOg1AlJJEpqkPVPlsrxoWm"]}),m({name:"Business Max",monthly:499,yearly:399,links:1e5,clicks:25e5,domains:500,tags:1e3,users:250,ids:["price_1OnWwLAlJJEpqkPVXtJyPqLk","price_1OnWwLAlJJEpqkPV4eMbOkNh","price_1OnaKOAlJJEpqkPVV6gkZPgt","price_1OzOh5AlJJEpqkPVtCSX7dlE"]}),{name:"Enterprise",tagline:"Custom tailored plans for large enterprises. Whether you're running a SMS campaign with millions of short links or a large marketing campaign with billions of clicks, we've got you covered.",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:null,clicks:null,domains:null},colors:{bg:"bg-violet-600",text:"text-violet-600"},cta:{text:"Contact us",href:"/enterprise",color:"bg-violet-600 border-violet-600 hover:text-violet-600"},featureTitle:"Everything in Business, plus:",features:[{text:"Custom usage limits"},{text:"Volume discounts"},{text:"SSO/SAML"},{text:"Role-based access controls"},{text:"Custom contract & SLA"},{text:"Whiteglove onboarding"},{text:"Dedicated success manager"},{text:"Priority support"},{text:"Dedicated Slack channel"}]}],k=n.find(e=>e.name==="Free"),b=n.find(e=>e.name==="Pro"),N=n.find(e=>e.name==="Business"),y=n.find(e=>e.name==="Enterprise"),pe=[k,b,N,y],L=n.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),ue=2,me=e=>n.find(t=>{var r;return(r=t.price.ids)==null?void 0:r.includes(e)})||null,de=e=>L.find(t=>t.name.toLowerCase()===e.toLowerCase()),he=e=>n[n.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1];var xe=process.env.NEXT_PUBLIC_APP_NAME||"Dub.co",f=process.env.NEXT_PUBLIC_APP_SHORT_DOMAIN||"dub.sh",P=`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,_e=new Set([`app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"localhost:8888","localhost"]),fe=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://localhost:8888",Pe=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NGROK_URL||"http://localhost:8888",Ee=new Set([`api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api-staging.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api.${f}`,"api.localhost:8888"]),Ae=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://api-staging.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://api.localhost:8888",ke=new Set([`admin.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"admin.localhost:8888"]),be="https://assets.dub.co/logo.png",Ne="https://assets.dub.co/thumbnail.jpg",a="cl7pj5kq4006835rbjlt2ofka",ye="clrflia0j0000vs7sqfhz9c7q",Le="clqei1lgc0000vsnzi01pbf47",h=[{id:"clce1z7ch00j0rbstbjufva4j",slug:f,verified:!0,primary:!0,archived:!1,publicStats:!1,target:`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,type:"redirect",placeholder:"https://dub.co/help/article/what-is-dub",clicks:0,allowedHostnames:[],projectId:a},...process.env.NEXT_PUBLIC_IS_DUB?[{id:"clce1z7cs00y8rbstk4xtnj0k",slug:"chatg.pt",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/chatgpt-link-shortener",type:"redirect",placeholder:"https://chat.openai.com/g/g-UGjKKONEe-domainsgpt",clicks:0,allowedHostnames:["chat.openai.com"],projectId:a},{id:"cloxw8y2u0003js08a7mqg1j8",slug:"spti.fi",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/spotify-link-shortener",type:"redirect",placeholder:"https://open.spotify.com/album/1SCyi9a5pOasikidToUY5y",clicks:0,allowedHostnames:["open.spotify.com"],projectId:a},{id:"cltgtd6s5000341itdszz20u2",slug:"git.new",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/github-link-shortener",type:"redirect",placeholder:"https://github.com/dubinc/dub",clicks:0,allowedHostnames:["github.com","gist.github.com"],projectId:a},{id:"cloxw8qtk000bjt08n9b812vs",slug:"amzn.id",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/amazon-link-shortener",type:"redirect",placeholder:"https://www.amazon.com/dp/B0BW4SWNC8",clicks:0,allowedHostnames:["amazon.com","amazon.co.uk","amazon.ca","amazon.es"],projectId:a},{id:"clugy7euh000a11h6ignmj42o",slug:"loooooooo.ng",verified:!0,primary:!1,archived:!0,publicStats:!0,target:"https://dub.co/tools/url-lengthener",type:"redirect",placeholder:"https://d.to/long",clicks:0,projectId:a}]:[]],Ie=h.map(e=>e.slug),ve=[{id:"clqo10sum0006js08vutzfxt3",domain:"dub.sh",key:"try"},{id:"clot0z5rg000djp08ue98hxkn",domain:"chatg.pt",key:"domains"},{id:"clp4jh9av0001l308ormavtlu",domain:"spti.fi",key:"hans"},{id:"cltgtsex40003ck8z444hum5u",domain:"git.new",key:"dub"},{id:"clp3k3yoi0001ju0874nz899q",domain:"amzn.id",key:"tv"}];function ze({title:e=`${process.env.NEXT_PUBLIC_APP_NAME} - Link Management for Modern Marketing Teams`,description:t=`${process.env.NEXT_PUBLIC_APP_NAME} is the open-source link management infrastructure for modern marketing teams to create, share, and track short links.`,image:r="https://assets.dub.co/thumbnail.jpg",icons:s=[{rel:"apple-touch-icon",sizes:"32x32",url:"/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"/favicon-16x16.png"}],noIndex:o=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,...r&&{images:[{url:r}]}},twitter:{title:e,description:t,...r&&{card:"summary_large_image",images:[r]},creator:"@dubdotco"},icons:s,metadataBase:new URL(P),...o&&{robots:{index:!1,follow:!1}}}}export{ze as a,S as b,w as c,C as d,J as e,D as f,B as g,M as h,U as i,V as j,n as k,k as l,b as m,N as n,y as o,pe as p,L as q,ue as r,me as s,de as t,he as u,xe as v,f as w,P as x,_e as y,fe as z,Pe as A,Ee as B,Ae as C,ke as D,be as E,Ne as F,a as G,ye as H,Le as I,h as J,Ie as K,ve as L};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-UUWTKITJ.mjs";import{I as l,a as s,b as c}from"./chunk-ZM4JP5B2.mjs";import{a as r}from"./chunk-YUMUNL66.mjs";import g from"@sindresorhus/slugify";var f=t=>{let e=g(t,{separator:""});if(e.length<3)return"";if(r.has(e.slice(-2)))return`${e.slice(0,-2)}.${e.slice(-2)}`;let n=e.replace(/[aeiou]/g,"");return n.length>=3&&r.has(n.slice(-2))?`${n.slice(0,-2)}.${n.slice(-2)}`:`${[e,n].reduce((i,o)=>i.length<o.length?i:o)}.to`},w=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),x=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-]*$/u),A=new RegExp(/^[a-zA-Z0-9\-]+$/),d=(t,e)=>t===e?null:t.slice(0,t.length-e.length-1),D=t=>{let e;try{e=new URL(t.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(e==="youtu.be")return"youtube.com";if(e==="raw.githubusercontent.com")return"github.com";if(e.endsWith(".vercel.app"))return"vercel.app";let n=e.split(".");return n.length>2?s.has(n[n.length-2])&&r.has(n[n.length-1])||c.has(n.slice(-2).join("."))?n.slice(-3).join("."):n.slice(-2).join("."):e},R=t=>{if(a(t))return new URL(t).hostname.replace(/^www\./,"");try{if(t.includes(".")&&!t.includes(" "))return new URL(`https://${t}`).hostname.replace(/^www\./,"")}catch{return null}},S=t=>l.some(e=>e.slug===t);export{f as a,w as b,x as c,A as d,d as e,D as f,R as g,S as h};
@@ -1 +0,0 @@
1
- var o=[{name:"Free",tagline:"For hobby & side projects",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,domains:1,tags:5,users:1},colors:{bg:"bg-black",text:"text-black"},cta:{text:"Start for free",href:"https://app.dub.co/register",color:"bg-black border-black hover:text-black"},featureTitle:"What's included:",features:[{text:" 25 links/mo"},{text:" 1K tracked clicks/mo"},{text:"30-day analytics retention"},{text:"1 custom domain"},{text:"1 user"},{text:"Community support",footnote:"Help center + GitHub discussions."},{text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For startups & small businesses",price:{monthly:24,yearly:19,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"]},limits:{links:250,clicks:5e4,domains:10,tags:25,users:5},colors:{bg:"bg-blue-500",text:"text-blue-500"},cta:{text:"Get started with Pro",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-blue-500 border-blue-500 hover:text-blue-500"},featureTitle:"Everything in Free, plus:",features:[{text:" 250 links/mo"},{text:"50K tracked clicks/mo"},{text:"1-year analytics retention"},{text:"10 custom domains"},{text:"5 users"},{text:"Basic support",footnote:"Basic email support."},{text:"Root domain redirect",footnote:{title:"Redirect vistors that land on the root of your domain (e.g. yourdomain.com) to a page of your choice.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-redirect-root-domain"}},{text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting, link aliases, link monitoring etc."}]},{name:"Business",tagline:"For larger teams with increased usage",price:{monthly:49,yearly:39,ids:["price_1LodLoAlJJEpqkPVJdwv5zrG","price_1LodLoAlJJEpqkPV9rD0rlNL","price_xxx"]},limits:{links:1e3,clicks:25e4,domains:20,tags:150,users:15},colors:{bg:"bg-sky-900",text:"text-sky-900"},cta:{text:"Get started with Business",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-sky-900 border-sky-900 hover:text-sky-900"},featureTitle:"Everything in Pro, plus:",features:[{text:" 1,000 links/mo"},{text:"250K tracked clicks/mo"},{text:"2-year analytics retention"},{text:"20 custom domains"},{text:"15 users"},{text:"Elevated support",footnote:"Email and chat support."},{text:"Custom branding",footnote:{title:"Set custom QR code logos, password-protected links logos, and more.",cta:"Learn more.",href:"https://dub.co/help/article/custom-qr-codes"}},{text:"Event callbacks (Beta)",footnote:"Get notified when someone clicks on your links."}]},{name:"Enterprise",price:{monthly:null,yearly:null},limits:{links:null,clicks:null,domains:null},colors:{bg:"bg-violet-600",text:"text-violet-600"},cta:{text:"Contact us",href:"/enterprise",color:"bg-violet-600 border-violet-600 hover:text-violet-600"},featureTitle:"Everything in Business, plus:",features:[{text:"Custom usage limits"},{text:"Volume discounts"},{text:"SSO/SAML"},{text:"Role-based access controls"},{text:"Custom contract & SLA"},{text:"Whiteglove onboarding"},{text:"Dedicated success manager"},{text:"Priority support"},{text:"Dedicated Slack channel"}]}],s=o.filter(t=>t.name==="Pro"||t.name==="Business");var n={city:"San Francisco",region:"CA",country:"US",latitude:"37.7695",longitude:"-122.385"},c="63.141.57.109",p={hidden:{scale:.8,opacity:0},show:{scale:1,opacity:1,transition:{type:"spring"}}},l={hidden:{opacity:0,y:20},show:{opacity:1,y:0,transition:{duration:.4,type:"spring"}}},d={initial:{height:0},animate:{height:"auto"},exit:{height:0},transition:{duration:.15,ease:"easeOut"}},u={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2}},m=100,e=process.env.NEXT_PUBLIC_APP_SHORT_DOMAIN||"dub.sh",_=`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,h=new Set([`app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"localhost:8888","localhost"]),g=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://localhost:8888",A=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NGROK_URL||"http://localhost:8888",x=new Set([`api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api.${e}`,"api.localhost:8888"]),E=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://api.localhost:8888",L=new Set([`admin.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"admin.localhost:8888"]),P={home:"https://dub.co",dub:"https://dub.co",signin:"https://app.dub.co/login",login:"https://app.dub.co/login",register:"https://app.dub.co/register",signup:"https://app.dub.co/register",app:"https://app.dub.co",dashboard:"https://app.dub.co",links:"https://app.dub.co/links",settings:"https://app.dub.co/settings",welcome:"https://app.dub.co/welcome",discord:"https://twitter.com/dubdotco"},k={headers:{"x-powered-by":"Dub.co - Link management for modern marketing teams"}},I="https://www.google.com/s2/favicons?sz=64&domain_url=",y="https://d2vwwcvoksz7ty.cloudfront.net/logo.png",N="https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png",b=["stats","changelog","terms","privacy","abuse"],T=[{slug:e,verified:!0,primary:!0,target:`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,type:"redirect",placeholder:"https://dub.co/help/article/what-is-dub",clicks:0,allowedHostnames:[]},...process.env.NEXT_PUBLIC_IS_DUB?[{slug:"chatg.pt",verified:!0,primary:!1,target:"https://dub.co/tools/chatgpt-link-shortener",type:"redirect",placeholder:"https://chat.openai.com/g/g-UGjKKONEe-domainsgpt",clicks:0,allowedHostnames:["chat.openai.com"]},{slug:"amzn.id",verified:!0,primary:!1,target:"https://dub.co/tools/amazon-link-shortener",type:"redirect",placeholder:"https://www.amazon.com/dp/B0BW4SWNC8",clicks:0,allowedHostnames:["amazon.com","amazon.co.uk","amazon.ca"]},{slug:"spti.fi",verified:!0,primary:!1,target:"https://dub.co/tools/spotify-link-shortener",type:"redirect",placeholder:"https://open.spotify.com/album/1SCyi9a5pOasikidToUY5y",clicks:0,allowedHostnames:["open.spotify.com"]}]:[]],v=[{name:"ChatGPT Link Shortener",slug:"chatgpt-link-shortener"},{name:"Amazon Link Shortener",slug:"amazon-link-shortener"},{name:"Spotify Link Shortener",slug:"spotify-link-shortener"},{name:"Metatags API",slug:"metatags"},{name:"QR Code Generator",slug:"qr-code"},{name:"Link Inspector",slug:"inspector"}],f=new Set(["com","co","net","org","edu","gov","in"]),O=new Set(["my.id","github.io","vercel.app","now.sh","pages.dev","webflow.io","netlify.app","fly.dev","web.app"]),S={key:"",url:"",domain:"",archived:!1,expiresAt:null,password:null,title:null,description:null,image:null,rewrite:!1,ios:null,android:null,clicks:0,userId:"",proxy:!1},C="cl7pj5kq4006835rbjlt2ofka",M="xxx",w="clqei1lgc0000vsnzi01pbf47",D=[{name:"Okta",logo:"/_static/icons/okta.svg",saml:"okta",samlModalCopy:"Metadata URL",scim:"okta-scim-v2",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1},{name:"Azure AD",logo:"/_static/icons/azure.svg",saml:"azure",samlModalCopy:"App Federation Metadata URL",scim:"azure-scim-v2",scimModalCopy:{url:"Tenant URL",token:"Secret Token"},wip:!1},{name:"Google",logo:"/_static/icons/google.svg",saml:"google",samlModalCopy:"XML Metadata File",scim:"google",scimModalCopy:{url:"SCIM 2.0 Base URL",token:"OAuth Bearer Token"},wip:!1}];export{o as a,s as b,n as c,c as d,p as e,l as f,d as g,u as h,m as i,e as j,_ as k,h as l,g as m,A as n,x as o,E as p,L as q,P as r,k as s,I as t,y as u,N as v,b as w,T as x,v as y,f as z,O as A,S as B,C,M as D,w as E,D as F};
@@ -1,3 +0,0 @@
1
- var t={alerts:process.env.DUB_SLACK_HOOK_ALERTS,cron:process.env.DUB_SLACK_HOOK_CRON,links:process.env.DUB_SLACK_HOOK_LINKS,errors:process.env.DUB_SLACK_HOOK_ERRORS},O=async({message:o,type:e,mention:r=!1})=>{(process.env.NODE_ENV==="development"||!process.env.DUB_SLACK_HOOK_ALERTS||!process.env.DUB_SLACK_HOOK_CRON||!process.env.DUB_SLACK_HOOK_LINKS||!process.env.DUB_SLACK_HOOK_ERRORS)&&console.log(o);let s=t[e];if(!!s)try{return await fetch(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({blocks:[{type:"section",text:{type:"mrkdwn",text:`${r&&"<@U0404G6J3NJ> "}
2
- ${(e==="alerts"||e==="errors")&&":alert: "}
3
- }${o}`}}]})})}catch(n){console.log(`Failed to log to Dub Slack. Error: ${n}`)}};export{O as a};
@@ -1 +0,0 @@
1
- import{s as n}from"./chunk-OBU4KABJ.mjs";function i({title:e=`${process.env.NEXT_PUBLIC_APP_NAME} - Link Management for Modern Marketing Teams`,description:a=`${process.env.NEXT_PUBLIC_APP_NAME} is the open-source link management infrastructure for modern marketing teams to create, share, and track short links.`,image:t="https://dub.co/_static/thumbnail.png",icons:r=[{rel:"apple-touch-icon",sizes:"32x32",url:"/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"/favicon-16x16.png"}],noIndex:o=!1}={}){return{title:e,description:a,openGraph:{title:e,description:a,images:[{url:t}]},twitter:{card:"summary_large_image",title:e,description:a,images:[t],creator:"@dubdotco"},icons:r,metadataBase:new URL(n),...o&&{robots:{index:!1,follow:!1}}}}export{i as a};
@@ -1 +0,0 @@
1
- import{a as m}from"./chunk-UUWTKITJ.mjs";import{a as s}from"./chunk-YUMUNL66.mjs";import{a as l,b as p}from"./chunk-SYT2IXG6.mjs";import x from"@sindresorhus/slugify";var E=e=>{let t=x(e,{separator:""});if(t.length<3)return"";if(s.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let o=t.replace(/[aeiou]/g,"");return o.length>=3&&s.has(o.slice(-2))?`${o.slice(0,-2)}.${o.slice(-2)}`:`${[t,o].reduce((r,c)=>r.length<c.length?r:c)}.to`},P=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),b=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-]*$/u),k=new RegExp(/^[a-zA-Z0-9\-]+$/),A=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),v=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let o=t.split(".");return o.length>2?l.has(o[o.length-2])&&s.has(o[o.length-1])||p.has(o.slice(-2).join("."))?o.slice(-3).join("."):o.slice(-2).join("."):t},y=e=>{if(m(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}},N=e=>u.some(t=>t.slug===e);var w=e=>n.find(t=>{var o;return(o=t.price.ids)==null?void 0:o.includes(e)})||null;var n=[{name:"Free",tagline:"For hobby & side projects",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,domains:3,tags:5,users:1},colors:{bg:"bg-black",text:"text-black"},cta:{text:"Start for free",href:"https://app.dub.co/register",color:"bg-black border-black hover:text-black"},featureTitle:"What's included:",features:[{text:"25 links/mo"},{text:"1K tracked clicks/mo"},{text:"30-day analytics retention"},{text:"3 custom domains"},{text:"1 user"},{text:"Community support",footnote:"Help center + GitHub discussions."},{text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For startups & small businesses",link:"https://dub.co/help/article/pro-plan",price:{monthly:24,yearly:19,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"]},limits:{links:1e3,clicks:5e4,domains:10,tags:25,users:5},colors:{bg:"bg-blue-500",text:"text-blue-500"},cta:{text:"Get started with Pro",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-blue-500 border-blue-500 hover:text-blue-500"},featureTitle:"Everything in Free, plus:",features:[{text:"1,000 links/mo"},{text:"50K tracked clicks/mo"},{text:"1-year analytics retention"},{text:"10 custom domains"},{text:"5 users"},{text:"Basic support",footnote:"Basic email support."},{text:"Root domain redirect",footnote:{title:"Redirect vistors that land on the root of your domain (e.g. yourdomain.com) to a page of your choice.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-redirect-root-domain"}},{text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting, link aliases, link monitoring etc."}]},{name:"Business",tagline:"For larger teams with increased usage",link:"https://dub.co/help/article/business-plan",price:{monthly:49,yearly:39,ids:["price_1LodLoAlJJEpqkPVJdwv5zrG","price_1LoyrCAlJJEpqkPVZ32BV3wm","price_1LodLoAlJJEpqkPV9rD0rlNL","price_1OTcRzAlJJEpqkPV6G9iP0Tb","price_1OZgmnAlJJEpqkPVOj4kV64R"]},limits:{links:5e3,clicks:15e4,domains:20,tags:150,users:15},colors:{bg:"bg-sky-900",text:"text-sky-900"},cta:{text:"Get started with Business",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-sky-900 border-sky-900 hover:text-sky-900"},featureTitle:"Everything in Pro, plus:",features:[{text:"5,000 links/mo"},{text:"150K tracked clicks/mo"},{text:"2-year analytics retention"},{text:"20 custom domains"},{text:"15 users"},{text:"Elevated support",footnote:"Email and chat support."},{text:"Custom branding",footnote:{title:"Set custom QR code logos, password-protected links logos, and more.",cta:"Learn more.",href:"https://dub.co/help/article/custom-qr-codes"}},{text:"Event callbacks (Beta)",footnote:"Get notified when someone clicks on your links."}]},{name:"Enterprise",tagline:"Custom tailored plans for large enterprises. Whether you're running a SMS campaign with millions of short links or a large marketing campaign with billions of clicks, we've got you covered.",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:null,clicks:null,domains:null},colors:{bg:"bg-violet-600",text:"text-violet-600"},cta:{text:"Contact us",href:"/enterprise",color:"bg-violet-600 border-violet-600 hover:text-violet-600"},featureTitle:"Everything in Business, plus:",features:[{text:"Custom usage limits"},{text:"Volume discounts"},{text:"SSO/SAML"},{text:"Role-based access controls"},{text:"Custom contract & SLA"},{text:"Whiteglove onboarding"},{text:"Dedicated success manager"},{text:"Priority support"},{text:"Dedicated Slack channel"}]}],K=n.find(e=>e.name==="Free"),Q=n.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),Y=2;var te=process.env.NEXT_PUBLIC_APP_NAME||"Dub.co",d=process.env.NEXT_PUBLIC_APP_SHORT_DOMAIN||"dub.sh",h=`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,oe=new Set([`app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"localhost:8888","localhost"]),re=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://localhost:8888",se=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NGROK_URL||"http://localhost:8888",ne=new Set([`api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api.${d}`,"api.localhost:8888"]),ie=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://api.localhost:8888",ae=new Set([`admin.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"admin.localhost:8888"]),ce="https://d2vwwcvoksz7ty.cloudfront.net/logo.png",le="https://d2vwwcvoksz7ty.cloudfront.net/thumbnail.png",pe="clqo10sum0006js08vutzfxt3",i="cl7pj5kq4006835rbjlt2ofka",me="clrflia0j0000vs7sqfhz9c7q",ue="clqei1lgc0000vsnzi01pbf47",u=[{id:"clce1z7ch00j0rbstbjufva4j",slug:d,verified:!0,primary:!0,archived:!1,publicStats:!1,target:`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,type:"redirect",placeholder:"https://dub.co/help/article/what-is-dub",clicks:0,allowedHostnames:[],projectId:i},...process.env.NEXT_PUBLIC_IS_DUB?[{id:"clce1z7cs00y8rbstk4xtnj0k",slug:"chatg.pt",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/chatgpt-link-shortener",type:"redirect",placeholder:"https://chat.openai.com/g/g-UGjKKONEe-domainsgpt",clicks:0,allowedHostnames:["chat.openai.com"],projectId:i},{id:"cloxw8qtk000bjt08n9b812vs",slug:"amzn.id",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/amazon-link-shortener",type:"redirect",placeholder:"https://www.amazon.com/dp/B0BW4SWNC8",clicks:0,allowedHostnames:["amazon.com","amazon.co.uk","amazon.ca","amazon.es"],projectId:i},{id:"cloxw8y2u0003js08a7mqg1j8",slug:"spti.fi",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/spotify-link-shortener",type:"redirect",placeholder:"https://open.spotify.com/album/1SCyi9a5pOasikidToUY5y",clicks:0,allowedHostnames:["open.spotify.com"],projectId:i}]:[]];function ye({title:e=`${process.env.NEXT_PUBLIC_APP_NAME} - Link Management for Modern Marketing Teams`,description:t=`${process.env.NEXT_PUBLIC_APP_NAME} is the open-source link management infrastructure for modern marketing teams to create, share, and track short links.`,image:o="https://dub.co/_static/thumbnail.png",icons:a=[{rel:"apple-touch-icon",sizes:"32x32",url:"/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"/favicon-16x16.png"}],noIndex:r=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,images:[{url:o}]},twitter:{card:"summary_large_image",title:e,description:t,images:[o],creator:"@dubdotco"},icons:a,metadataBase:new URL(h),...r&&{robots:{index:!1,follow:!1}}}}export{ye as a,E as b,P as c,b as d,k as e,A as f,v as g,y as h,N as i,w as j,n as k,K as l,Q as m,Y as n,te as o,d as p,h as q,oe as r,re as s,se as t,ne as u,ie as v,ae as w,ce as x,le as y,pe as z,i as A,me as B,ue as C,u as D};
@@ -1 +0,0 @@
1
- var a={AF:"Afghanistan",AL:"Albania",DZ:"Algeria",AS:"American Samoa",AD:"Andorra",AO:"Angola",AI:"Anguilla",AQ:"Antarctica",AG:"Antigua and Barbuda",AR:"Argentina",AM:"Armenia",AW:"Aruba",AU:"Australia",AT:"Austria",AZ:"Azerbaijan",BS:"Bahamas",BH:"Bahrain",BD:"Bangladesh",BB:"Barbados",BY:"Belarus",BE:"Belgium",BZ:"Belize",BJ:"Benin",BM:"Bermuda",BT:"Bhutan",BO:"Bolivia",BA:"Bosnia and Herzegovina",BW:"Botswana",BV:"Bouvet Island",BR:"Brazil",IO:"British Indian Ocean Territory",BN:"Brunei Darussalam",BG:"Bulgaria",BF:"Burkina Faso",BI:"Burundi",KH:"Cambodia",CM:"Cameroon",CA:"Canada",CV:"Cape Verde",KY:"Cayman Islands",CF:"Central African Republic",TD:"Chad",CL:"Chile",CN:"China",CX:"Christmas Island",CC:"Cocos (Keeling) Islands",CO:"Colombia",KM:"Comoros",CG:"Congo (Republic)",CD:"Congo (Democratic Republic)",CK:"Cook Islands",CR:"Costa Rica",CI:"Ivory Coast",HR:"Croatia",CU:"Cuba",CY:"Cyprus",CZ:"Czech Republic",DK:"Denmark",DJ:"Djibouti",DM:"Dominica",DO:"Dominican Republic",EC:"Ecuador",EG:"Egypt",SV:"El Salvador",GQ:"Equatorial Guinea",ER:"Eritrea",EE:"Estonia",ET:"Ethiopia",FK:"Falkland Islands",FO:"Faroe Islands",FJ:"Fiji",FI:"Finland",FR:"France",GF:"French Guiana",PF:"French Polynesia",TF:"French Southern Territories",GA:"Gabon",GM:"Gambia",GE:"Georgia",DE:"Germany",GH:"Ghana",GI:"Gibraltar",GR:"Greece",GL:"Greenland",GD:"Grenada",GP:"Guadeloupe",GU:"Guam",GT:"Guatemala",GN:"Guinea",GW:"Guinea-Bissau",GY:"Guyana",HT:"Haiti",HM:"Heard Island and McDonald Islands",VA:"Vatican City",HN:"Honduras",HK:"Hong Kong",HU:"Hungary",IS:"Iceland",IN:"India",ID:"Indonesia",IR:"Iran",IQ:"Iraq",IE:"Ireland",IL:"Israel",IT:"Italy",JM:"Jamaica",JP:"Japan",JO:"Jordan",KZ:"Kazakhstan",KE:"Kenya",KI:"Kiribati",KP:"North Korea",KR:"South Korea",KW:"Kuwait",KG:"Kyrgyzstan",LA:"Laos",LV:"Latvia",LB:"Lebanon",LS:"Lesotho",LR:"Liberia",LY:"Libya",LI:"Liechtenstein",LT:"Lithuania",LU:"Luxembourg",MO:"Macao",MG:"Madagascar",MW:"Malawi",MY:"Malaysia",MV:"Maldives",ML:"Mali",MT:"Malta",MH:"Marshall Islands",MQ:"Martinique",MR:"Mauritania",MU:"Mauritius",YT:"Mayotte",MX:"Mexico",FM:"Micronesia",MD:"Moldova",MC:"Monaco",MN:"Mongolia",MS:"Montserrat",MA:"Morocco",MZ:"Mozambique",MM:"Myanmar",NA:"Namibia",NR:"Nauru",NP:"Nepal",NL:"Netherlands",NC:"New Caledonia",NZ:"New Zealand",NI:"Nicaragua",NE:"Niger",NG:"Nigeria",NU:"Niue",NF:"Norfolk Island",MK:"Macedonia",MP:"Northern Mariana Islands",NO:"Norway",OM:"Oman",PK:"Pakistan",PW:"Palau",PS:"Palestine",PA:"Panama",PG:"Papua New Guinea",PY:"Paraguay",PE:"Peru",PH:"Philippines",PN:"Pitcairn",PL:"Poland",PT:"Portugal",PR:"Puerto Rico",QA:"Qatar",RE:"Reunion",RO:"Romania",RU:"Russia",RW:"Rwanda",SH:"Saint Helena",KN:"Saint Kitts and Nevis",LC:"Saint Lucia",PM:"Saint Pierre and Miquelon",VC:"Saint Vincent and the Grenadines",WS:"Samoa",SM:"San Marino",ST:"Sao Tome and Principe",SA:"Saudi Arabia",SN:"Senegal",SC:"Seychelles",SL:"Sierra Leone",SG:"Singapore",SK:"Slovakia",SI:"Slovenia",SB:"Solomon Islands",SO:"Somalia",ZA:"South Africa",GS:"South Georgia and the South Sandwich Islands",ES:"Spain",LK:"Sri Lanka",SD:"Sudan",SR:"Suriname",SJ:"Svalbard and Jan Mayen",SZ:"Eswatini",SE:"Sweden",CH:"Switzerland",SY:"Syrian Arab Republic",TW:"Taiwan",TJ:"Tajikistan",TZ:"Tanzania",TH:"Thailand",TL:"Timor-Leste",TG:"Togo",TK:"Tokelau",TO:"Tonga",TT:"Trinidad and Tobago",TN:"Tunisia",TR:"Turkey",TM:"Turkmenistan",TC:"Turks and Caicos Islands",TV:"Tuvalu",UG:"Uganda",UA:"Ukraine",AE:"United Arab Emirates",GB:"United Kingdom",US:"United States",UM:"United States Minor Outlying Islands",UY:"Uruguay",UZ:"Uzbekistan",VU:"Vanuatu",VE:"Venezuela",VN:"Vietnam",VG:"Virgin Islands, British",VI:"Virgin Islands, U.S.",WF:"Wallis and Futuna",EH:"Western Sahara",YE:"Yemen",ZM:"Zambia",ZW:"Zimbabwe",AX:"\xC5land Islands",BQ:"Bonaire, Sint Eustatius and Saba",CW:"Cura\xE7ao",GG:"Guernsey",IM:"Isle of Man",JE:"Jersey",ME:"Montenegro",BL:"Saint Barth\xE9lemy",MF:"Saint Martin (French part)",RS:"Serbia",SX:"Sint Maarten (Dutch part)",SS:"South Sudan",XK:"Kosovo"},n=Object.keys(a);export{a};
File without changes
@@ -1 +0,0 @@
1
- var i=({url:o,os:e})=>{if(!o)return o;let n=[[/https?:\/\/(?:www\.)?(youtube\.com|youtu\.be)\/([a-zA-Z0-9@_-]+)/,t=>({ios:`vnd.youtube://www.youtube.com/${t[1]}`,android:`intent://www.youtube.com/${t[1]}#Intent;package=com.google.android.youtube;scheme=https;end`})],[/https?:\/\/(?:www\.)?amazon\.(com|ca|co\.uk|in|es)\/([a-zA-Z0-9@_-]+)/,t=>({ios:`com.amazon.mobile.shopping.web://amazon.com/${t[1]}`,android:`com.amazon.mobile.shopping.web://amazon.com/${t[1]}`})],[/https?:\/\/(?:www\.)?instagram\.com\/p\/([a-zA-Z0-9_-]+)/,t=>({ios:`instagram://media?id=${t[1]}`,android:`intent://instagram.com/p/${t[1]}/#Intent;package=com.instagram.android;scheme=https;end`})],[/https?:\/\/(?:www\.)?instagram\.com\/([a-zA-Z0-9_-]+)/,t=>({ios:`instagram://user?username=${t[1]}`,android:`intent://instagram.com/${t[1]}/#Intent;package=com.instagram.android;scheme=https;end`})],[/https?:\/\/open\.spotify\.com\/([a-zA-Z0-9@_-]+)/,t=>({ios:`spotify://${t[1]}`,android:`spotify://${t[1]}`})],[/https?:\/\/(?:www\.)?twitter\.com\/([a-zA-Z0-9_-]+)\/status\/([0-9]+)/,t=>({ios:`twitter://status?id=${t[2]}`,android:`intent://twitter.com/${t[1]}/status/${t[2]}#Intent;package=com.twitter.android;scheme=https;end`})],[/https?:\/\/(?:www\.)?twitter\.com\/([a-zA-Z0-9_-]+)/,t=>({ios:`twitter://user?screen_name=${t[1]}`,android:`intent://twitter.com/${t[1]}/#Intent;package=com.twitter.android;scheme=https;end`})]];for(let[t,a]of n){let r=o.match(t);if(r)return a(r)[e]}return o};export{i as a};
@@ -1 +0,0 @@
1
- import{a as l}from"./chunk-I5Y5DKPK.mjs";import{a as p}from"./chunk-IHX4EDUF.mjs";import{a as _}from"./chunk-7REZWZDA.mjs";import{a as c}from"./chunk-YUMUNL66.mjs";import{a as g,b as x}from"./chunk-SYT2IXG6.mjs";import A from"@sindresorhus/slugify";var S=e=>{let t=A(e,{separator:""});if(t.length<3)return"";if(c.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let o=t.replace(/[aeiou]/g,"");return o.length>=3&&c.has(o.slice(-2))?`${o.slice(0,-2)}.${o.slice(-2)}`:`${[t,o].reduce((r,n)=>r.length<n.length?r:n)}.to`},w=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),C=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-\p{Emoji}]*$/u),J=new RegExp(/^[a-zA-Z0-9\-]+$/),D=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),B=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let o=t.split(".");return o.length>2?g.has(o[o.length-2])&&c.has(o[o.length-1])||x.has(o.slice(-2).join("."))?o.slice(-3).join("."):o.slice(-2).join("."):t},M=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}},T=e=>m.some(t=>t.slug===e);function R({domain:e="dub.sh",key:t,localhost:o,pretty:s,noDomain:r}){let n=`${o?"http://home.localhost:8888":`https://${p(e)}`}${t&&t!=="_root"?`/${p(t)}`:""}`;return r?`/${p(t)}`:s?n.replace(/^https?:\/\//,""):n}var u=({name:e="Business",monthly:t=59,yearly:o=49,links:s=5e3,clicks:r=15e4,domains:n=40,tags:d=150,users:h=15,ids:E=[]})=>({name:e,tagline:"For larger teams with increased usage",link:"https://dub.co/help/article/business-plan",price:{monthly:t,yearly:o,ids:E},limits:{links:s,clicks:r,domains:n,tags:d,users:h},colors:{bg:"bg-sky-900",text:"text-sky-900"},cta:{text:"Get started with Business",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-sky-900 border-sky-900 hover:text-sky-900"},featureTitle:"Everything in Pro, plus:",features:[{text:`${l(s,{full:!0})} new links/mo`},{text:`${l(r)} tracked clicks/mo`},{text:"2-year analytics retention"},{text:`${n} custom domains`},{text:`${h} users`},{text:`${l(d,{full:!0})} tags`,footnote:{title:"Organize your links with tags.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-use-tags"}},{text:"Elevated support",footnote:"Email and chat support."},{text:"Custom branding",footnote:{title:"Set custom QR code logos, password-protected links logos, and more.",cta:"Learn more.",href:"https://dub.co/help/article/custom-qr-codes"}}]}),i=[{name:"Free",tagline:"For hobby & side projects",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,domains:3,tags:5,users:1},colors:{bg:"bg-black",text:"text-black"},cta:{text:"Start for free",href:"https://app.dub.co/register",color:"bg-black border-black hover:text-black"},featureTitle:"What's included:",features:[{text:"25 new links/mo"},{text:"1K tracked clicks/mo"},{text:"30-day analytics retention"},{text:"3 custom domains"},{text:"1 user"},{text:"Community support",footnote:"Help center + GitHub discussions."},{text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For startups & small businesses",link:"https://dub.co/help/article/pro-plan",price:{monthly:24,yearly:19,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"]},limits:{links:1e3,clicks:5e4,domains:10,tags:25,users:5},colors:{bg:"bg-blue-500",text:"text-blue-500"},cta:{text:"Get started with Pro",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-blue-500 border-blue-500 hover:text-blue-500"},featureTitle:"Everything in Free, plus:",features:[{text:"1,000 new links/mo"},{text:"50K tracked clicks/mo"},{text:"1-year analytics retention"},{text:"10 custom domains"},{text:"5 users"},{text:"Basic support",footnote:"Basic email support."},{text:"Root domain redirect",footnote:{title:"Redirect vistors that land on the root of your domain (e.g. yourdomain.com) to a page of your choice.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-redirect-root-domain"}},{text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."}]},u({name:"Business",monthly:59,yearly:49,links:5e3,clicks:15e4,domains:40,tags:150,users:15,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOXMAlJJEpqkPV9ERrjjbw"]}),u({name:"Business Plus",monthly:119,yearly:99,links:15e3,clicks:4e5,domains:100,tags:300,users:40,ids:["price_1OnWu0AlJJEpqkPVWk4144ZG","price_1OnWu0AlJJEpqkPVkDWVriAB","price_1OnaK3AlJJEpqkPVaCfCPdHi","price_1OzObrAlJJEpqkPVh6D9HWGO"]}),u({name:"Business Extra",monthly:249,yearly:199,links:4e4,clicks:1e6,domains:250,tags:500,users:100,ids:["price_1OnWvCAlJJEpqkPVLzLHx5QD","price_1OnWvCAlJJEpqkPVHhCCvIOq","price_1OnaKJAlJJEpqkPVeJSvPfJb","price_1OzOg1AlJJEpqkPVPlsrxoWm"]}),u({name:"Business Max",monthly:499,yearly:399,links:1e5,clicks:25e5,domains:500,tags:1e3,users:250,ids:["price_1OnWwLAlJJEpqkPVXtJyPqLk","price_1OnWwLAlJJEpqkPV4eMbOkNh","price_1OnaKOAlJJEpqkPVV6gkZPgt","price_1OzOh5AlJJEpqkPVtCSX7dlE"]}),{name:"Enterprise",tagline:"Custom tailored plans for large enterprises. Whether you're running a SMS campaign with millions of short links or a large marketing campaign with billions of clicks, we've got you covered.",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:null,clicks:null,domains:null},colors:{bg:"bg-violet-600",text:"text-violet-600"},cta:{text:"Contact us",href:"/enterprise",color:"bg-violet-600 border-violet-600 hover:text-violet-600"},featureTitle:"Everything in Business, plus:",features:[{text:"Custom usage limits"},{text:"Volume discounts"},{text:"SSO/SAML"},{text:"Role-based access controls"},{text:"Custom contract & SLA"},{text:"Whiteglove onboarding"},{text:"Dedicated success manager"},{text:"Priority support"},{text:"Dedicated Slack channel"}]}],k=i.find(e=>e.name==="Free"),b=i.find(e=>e.name==="Pro"),N=i.find(e=>e.name==="Business"),y=i.find(e=>e.name==="Enterprise"),pe=[k,b,N,y],L=i.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),ue=2,me=e=>i.find(t=>{var o;return(o=t.price.ids)==null?void 0:o.includes(e)})||null,de=e=>L.find(t=>t.name.toLowerCase()===e.toLowerCase()),he=e=>i[i.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1];var xe=process.env.NEXT_PUBLIC_APP_NAME||"Dub.co",f=process.env.NEXT_PUBLIC_APP_SHORT_DOMAIN||"dub.sh",P=`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,_e=new Set([`app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"localhost:8888","localhost"]),fe=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://localhost:8888",Pe=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NGROK_URL||"http://localhost:8888",Ee=new Set([`api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api-staging.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api.${f}`,"api.localhost:8888"]),Ae=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://api-staging.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://api.localhost:8888",ke=new Set([`admin.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"admin.localhost:8888"]),be="https://assets.dub.co/logo.png",Ne="https://assets.dub.co/thumbnail.jpg",a="cl7pj5kq4006835rbjlt2ofka",ye="clrflia0j0000vs7sqfhz9c7q",Le="clqei1lgc0000vsnzi01pbf47",m=[{id:"clce1z7ch00j0rbstbjufva4j",slug:f,verified:!0,primary:!0,archived:!1,publicStats:!1,target:`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,type:"redirect",placeholder:"https://dub.co/help/article/what-is-dub",clicks:0,allowedHostnames:[],projectId:a},...process.env.NEXT_PUBLIC_IS_DUB?[{id:"clce1z7cs00y8rbstk4xtnj0k",slug:"chatg.pt",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/chatgpt-link-shortener",type:"redirect",placeholder:"https://chat.openai.com/g/g-UGjKKONEe-domainsgpt",clicks:0,allowedHostnames:["chat.openai.com"],projectId:a},{id:"cloxw8y2u0003js08a7mqg1j8",slug:"spti.fi",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/spotify-link-shortener",type:"redirect",placeholder:"https://open.spotify.com/album/1SCyi9a5pOasikidToUY5y",clicks:0,allowedHostnames:["open.spotify.com"],projectId:a},{id:"cltgtd6s5000341itdszz20u2",slug:"git.new",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/github-link-shortener",type:"redirect",placeholder:"https://github.com/dubinc/dub",clicks:0,allowedHostnames:["github.com","gist.github.com"],projectId:a},{id:"cloxw8qtk000bjt08n9b812vs",slug:"amzn.id",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/amazon-link-shortener",type:"redirect",placeholder:"https://www.amazon.com/dp/B0BW4SWNC8",clicks:0,allowedHostnames:["amazon.com","amazon.co.uk","amazon.ca","amazon.es"],projectId:a},{id:"clugy7euh000a11h6ignmj42o",slug:"loooooooo.ng",verified:!0,primary:!1,archived:!0,publicStats:!0,target:"https://dub.co/tools/url-lengthener",type:"redirect",placeholder:"https://d.to/long",clicks:0,projectId:a}]:[]],ve=m.map(e=>e.slug),Ie=[{id:"clqo10sum0006js08vutzfxt3",domain:"dub.sh",key:"try"},{id:"clot0z5rg000djp08ue98hxkn",domain:"chatg.pt",key:"domains"},{id:"clp4jh9av0001l308ormavtlu",domain:"spti.fi",key:"hans"},{id:"cltgtsex40003ck8z444hum5u",domain:"git.new",key:"dub"},{id:"clp3k3yoi0001ju0874nz899q",domain:"amzn.id",key:"tv"}];function ze({title:e=`${process.env.NEXT_PUBLIC_APP_NAME} - Link Management for Modern Marketing Teams`,description:t=`${process.env.NEXT_PUBLIC_APP_NAME} is the open-source link management infrastructure for modern marketing teams to create, share, and track short links.`,image:o="https://assets.dub.co/thumbnail.jpg",icons:s=[{rel:"apple-touch-icon",sizes:"32x32",url:"/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"/favicon-16x16.png"}],noIndex:r=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,...o&&{images:[{url:o}]}},twitter:{title:e,description:t,...o&&{card:"summary_large_image",images:[o]},creator:"@dubdotco"},icons:s,metadataBase:new URL(P),...r&&{robots:{index:!1,follow:!1}}}}export{ze as a,S as b,w as c,C as d,J as e,D as f,B as g,M as h,T as i,R as j,i as k,k as l,b as m,N as n,y as o,pe as p,L as q,ue as r,me as s,de as t,he as u,xe as v,f as w,P as x,_e as y,fe as z,Pe as A,Ee as B,Ae as C,ke as D,be as E,Ne as F,a as G,ye as H,Le as I,m as J,ve as K,Ie as L};
@@ -1 +0,0 @@
1
- import{a as l}from"./chunk-I5Y5DKPK.mjs";import{a as x}from"./chunk-7REZWZDA.mjs";import{a as c}from"./chunk-YUMUNL66.mjs";import{a as g,b as h}from"./chunk-SYT2IXG6.mjs";import E from"@sindresorhus/slugify";var O=e=>{let t=E(e,{separator:""});if(t.length<3)return"";if(c.has(t.slice(-2)))return`${t.slice(0,-2)}.${t.slice(-2)}`;let o=t.replace(/[aeiou]/g,"");return o.length>=3&&c.has(o.slice(-2))?`${o.slice(0,-2)}.${o.slice(-2)}`:`${[t,o].reduce((s,i)=>s.length<i.length?s:i)}.to`},w=new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/),J=new RegExp(/^[0-9A-Za-z\u0080-\uFFFF\/\-]*$/u),S=new RegExp(/^[a-zA-Z0-9\-]+$/),C=(e,t)=>e===t?null:e.slice(0,e.length-t.length-1),D=e=>{let t;try{t=new URL(e.replace(/^[a-zA-Z]+:\/\//,"https://")).hostname}catch{return""}if(t==="youtu.be")return"youtube.com";if(t==="raw.githubusercontent.com")return"github.com";if(t.endsWith(".vercel.app"))return"vercel.app";let o=t.split(".");return o.length>2?g.has(o[o.length-2])&&c.has(o[o.length-1])||h.has(o.slice(-2).join("."))?o.slice(-3).join("."):o.slice(-2).join("."):t},B=e=>{if(x(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}},M=e=>u.some(t=>t.slug===e);var p=({name:e="Business",monthly:t=59,yearly:o=49,links:n=5e3,clicks:s=15e4,domains:i=40,tags:m=150,users:d=15,ids:P=[]})=>({name:e,tagline:"For larger teams with increased usage",link:"https://dub.co/help/article/business-plan",price:{monthly:t,yearly:o,ids:P},limits:{links:n,clicks:s,domains:i,tags:m,users:d},colors:{bg:"bg-sky-900",text:"text-sky-900"},cta:{text:"Get started with Business",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-sky-900 border-sky-900 hover:text-sky-900"},featureTitle:"Everything in Pro, plus:",features:[{text:`${l(n,{full:!0})} new links/mo`},{text:`${l(s)} tracked clicks/mo`},{text:"2-year analytics retention"},{text:`${i} custom domains`},{text:`${d} users`},{text:`${l(m,{full:!0})} tags`,footnote:{title:"Organize your links with tags.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-use-tags"}},{text:"Elevated support",footnote:"Email and chat support."},{text:"Custom branding",footnote:{title:"Set custom QR code logos, password-protected links logos, and more.",cta:"Learn more.",href:"https://dub.co/help/article/custom-qr-codes"}}]}),r=[{name:"Free",tagline:"For hobby & side projects",price:{monthly:0,yearly:0},limits:{links:25,clicks:1e3,domains:3,tags:5,users:1},colors:{bg:"bg-black",text:"text-black"},cta:{text:"Start for free",href:"https://app.dub.co/register",color:"bg-black border-black hover:text-black"},featureTitle:"What's included:",features:[{text:"25 new links/mo"},{text:"1K tracked clicks/mo"},{text:"30-day analytics retention"},{text:"3 custom domains"},{text:"1 user"},{text:"Community support",footnote:"Help center + GitHub discussions."},{text:"API Access",footnote:{title:"Programatically manage your links using our REST API.",cta:"Learn more.",href:"https://dub.co/docs/api-reference/introduction"}}]},{name:"Pro",tagline:"For startups & small businesses",link:"https://dub.co/help/article/pro-plan",price:{monthly:24,yearly:19,ids:["price_1LodNLAlJJEpqkPVQSrt33Lc","price_1LodNLAlJJEpqkPVRxUyCQgZ","price_1OTcQBAlJJEpqkPViGtGEsbb","price_1OYJeBAlJJEpqkPVLjTsjX0E","price_1OTcQBAlJJEpqkPVYlCMqdLL","price_1OYJeBAlJJEpqkPVnPGEZeb0"]},limits:{links:1e3,clicks:5e4,domains:10,tags:25,users:5},colors:{bg:"bg-blue-500",text:"text-blue-500"},cta:{text:"Get started with Pro",shortText:"Get started",href:"https://app.dub.co/register",color:"bg-blue-500 border-blue-500 hover:text-blue-500"},featureTitle:"Everything in Free, plus:",features:[{text:"1,000 new links/mo"},{text:"50K tracked clicks/mo"},{text:"1-year analytics retention"},{text:"10 custom domains"},{text:"5 users"},{text:"Basic support",footnote:"Basic email support."},{text:"Root domain redirect",footnote:{title:"Redirect vistors that land on the root of your domain (e.g. yourdomain.com) to a page of your choice.",cta:"Learn more.",href:"https://dub.co/help/article/how-to-redirect-root-domain"}},{text:"Advanced link features",footnote:"Custom social media cards, password-protected links, link expiration, link cloaking, device targeting, geo targeting etc."}]},p({name:"Business",monthly:59,yearly:49,links:5e3,clicks:15e4,domains:40,tags:150,users:15,ids:["price_1LodLoAlJJEpqkPV9rD0rlNL","price_1LodLoAlJJEpqkPVJdwv5zrG","price_1OZgmnAlJJEpqkPVOj4kV64R","price_1OzNlmAlJJEpqkPV7s9HXNAC","price_1OzNmXAlJJEpqkPVYO89lTdx","price_1OzOFIAlJJEpqkPVJxzc9irl","price_1OzOFIAlJJEpqkPVagHUG70D"]}),p({name:"Business Plus",monthly:119,yearly:99,links:15e3,clicks:4e5,domains:100,tags:300,users:40,ids:["price_1OnWu0AlJJEpqkPVWk4144ZG","price_1OnWu0AlJJEpqkPVkDWVriAB","price_1OnaK3AlJJEpqkPVaCfCPdHi","price_1OnaK3AlJJEpqkPVnKU97wxJ"]}),p({name:"Business Extra",monthly:249,yearly:199,links:4e4,clicks:1e6,domains:250,tags:500,users:100,ids:["price_1OnWvCAlJJEpqkPVLzLHx5QD","price_1OnWvCAlJJEpqkPVHhCCvIOq","price_1OnaKJAlJJEpqkPVeJSvPfJb","price_1OnaKJAlJJEpqkPVcfQ5Rm06"]}),p({name:"Business Max",monthly:499,yearly:399,links:1e5,clicks:25e5,domains:500,tags:1e3,users:250,ids:["price_1OnWwLAlJJEpqkPVXtJyPqLk","price_1OnWwLAlJJEpqkPV4eMbOkNh","price_1OnaKOAlJJEpqkPVV6gkZPgt","price_1OnaKOAlJJEpqkPVijIbAivj"]}),{name:"Enterprise",tagline:"Custom tailored plans for large enterprises. Whether you're running a SMS campaign with millions of short links or a large marketing campaign with billions of clicks, we've got you covered.",link:"https://dub.co/enterprise",price:{monthly:null,yearly:null},limits:{links:null,clicks:null,domains:null},colors:{bg:"bg-violet-600",text:"text-violet-600"},cta:{text:"Contact us",href:"/enterprise",color:"bg-violet-600 border-violet-600 hover:text-violet-600"},featureTitle:"Everything in Business, plus:",features:[{text:"Custom usage limits"},{text:"Volume discounts"},{text:"SSO/SAML"},{text:"Role-based access controls"},{text:"Custom contract & SLA"},{text:"Whiteglove onboarding"},{text:"Dedicated success manager"},{text:"Priority support"},{text:"Dedicated Slack channel"}]}],A=r.find(e=>e.name==="Free"),k=r.find(e=>e.name==="Pro"),b=r.find(e=>e.name==="Business"),N=r.find(e=>e.name==="Enterprise"),ne=[A,k,b,N],L=r.filter(e=>e.name!=="Free"&&e.name!=="Enterprise"),ie=2,ae=e=>r.find(t=>{var o;return(o=t.price.ids)==null?void 0:o.includes(e)})||null,ce=e=>L.find(t=>t.name.toLowerCase()===e.toLowerCase()),le=e=>r[r.findIndex(t=>t.name.toLowerCase()===e.toLowerCase())+1];var ue=process.env.NEXT_PUBLIC_APP_NAME||"Dub.co",_=process.env.NEXT_PUBLIC_APP_SHORT_DOMAIN||"dub.sh",f=`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,me=new Set([`app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"localhost:8888","localhost"]),de=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://localhost:8888",ge=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://app.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://preview.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NGROK_URL||"http://localhost:8888",he=new Set([`api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api-staging.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,`api.${_}`,"api.localhost:8888"]),xe=process.env.NEXT_PUBLIC_VERCEL_ENV==="production"?`https://api.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:process.env.NEXT_PUBLIC_VERCEL_ENV==="preview"?`https://api-staging.${process.env.NEXT_PUBLIC_APP_DOMAIN}`:"http://api.localhost:8888",_e=new Set([`admin.${process.env.NEXT_PUBLIC_APP_DOMAIN}`,"admin.localhost:8888"]),fe="https://assets.dub.co/logo.png",Pe="https://assets.dub.co/thumbnail.jpg",a="cl7pj5kq4006835rbjlt2ofka",Ee="clrflia0j0000vs7sqfhz9c7q",Ae="clqei1lgc0000vsnzi01pbf47",u=[{id:"clce1z7ch00j0rbstbjufva4j",slug:_,verified:!0,primary:!0,archived:!1,publicStats:!1,target:`https://${process.env.NEXT_PUBLIC_APP_DOMAIN}`,type:"redirect",placeholder:"https://dub.co/help/article/what-is-dub",clicks:0,allowedHostnames:[],projectId:a},...process.env.NEXT_PUBLIC_IS_DUB?[{id:"clce1z7cs00y8rbstk4xtnj0k",slug:"chatg.pt",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/chatgpt-link-shortener",type:"redirect",placeholder:"https://chat.openai.com/g/g-UGjKKONEe-domainsgpt",clicks:0,allowedHostnames:["chat.openai.com"],projectId:a},{id:"cloxw8y2u0003js08a7mqg1j8",slug:"spti.fi",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/spotify-link-shortener",type:"redirect",placeholder:"https://open.spotify.com/album/1SCyi9a5pOasikidToUY5y",clicks:0,allowedHostnames:["open.spotify.com"],projectId:a},{id:"cltgtd6s5000341itdszz20u2",slug:"git.new",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/github-link-shortener",type:"redirect",placeholder:"https://github.com/dubinc/dub",clicks:0,allowedHostnames:["github.com","gist.github.com"],projectId:a},{id:"cloxw8qtk000bjt08n9b812vs",slug:"amzn.id",verified:!0,primary:!1,archived:!1,publicStats:!1,target:"https://dub.co/tools/amazon-link-shortener",type:"redirect",placeholder:"https://www.amazon.com/dp/B0BW4SWNC8",clicks:0,allowedHostnames:["amazon.com","amazon.co.uk","amazon.ca","amazon.es"],projectId:a}]:[]],ke=u.map(e=>e.slug),be=[{id:"clqo10sum0006js08vutzfxt3",domain:"dub.sh",key:"try"},{id:"clot0z5rg000djp08ue98hxkn",domain:"chatg.pt",key:"domains"},{id:"clp4jh9av0001l308ormavtlu",domain:"spti.fi",key:"hans"},{id:"cltgtsex40003ck8z444hum5u",domain:"git.new",key:"dub"},{id:"clp3k3yoi0001ju0874nz899q",domain:"amzn.id",key:"tv"}];function Me({title:e=`${process.env.NEXT_PUBLIC_APP_NAME} - Link Management for Modern Marketing Teams`,description:t=`${process.env.NEXT_PUBLIC_APP_NAME} is the open-source link management infrastructure for modern marketing teams to create, share, and track short links.`,image:o="https://assets.dub.co/thumbnail.jpg",icons:n=[{rel:"apple-touch-icon",sizes:"32x32",url:"/apple-touch-icon.png"},{rel:"icon",type:"image/png",sizes:"32x32",url:"/favicon-32x32.png"},{rel:"icon",type:"image/png",sizes:"16x16",url:"/favicon-16x16.png"}],noIndex:s=!1}={}){return{title:e,description:t,openGraph:{title:e,description:t,images:[{url:o}]},twitter:{card:"summary_large_image",title:e,description:t,images:[o],creator:"@dubdotco"},icons:n,metadataBase:new URL(f),...s&&{robots:{index:!1,follow:!1}}}}export{Me as a,O as b,w as c,J as d,S as e,C as f,D as g,B as h,M as i,r as j,A as k,k as l,b as m,N as n,ne as o,L as p,ie as q,ae as r,ce as s,le as t,ue as u,_ as v,f as w,me as x,de as y,ge as z,he as A,xe as B,_e as C,fe as D,Pe as E,a as F,Ee as G,Ae as H,u as I,ke as J,be as K};