@dub/utils 0.1.42 → 0.1.44

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.
@@ -0,0 +1,970 @@
1
+ import { ReactNode } from 'react';
2
+
3
+ type PlanFeature = {
4
+ id?: string;
5
+ text: string;
6
+ tooltip?: {
7
+ title: string;
8
+ cta: string;
9
+ href: string;
10
+ };
11
+ };
12
+ declare const NEW_BUSINESS_PRICE_IDS: string[];
13
+ declare const PLANS: ({
14
+ name: string;
15
+ price: {
16
+ monthly: number;
17
+ yearly: number;
18
+ ids?: undefined;
19
+ };
20
+ limits: {
21
+ links: number;
22
+ clicks: number;
23
+ payouts: number;
24
+ domains: number;
25
+ tags: number;
26
+ folders: number;
27
+ groups: number;
28
+ users: number;
29
+ ai: number;
30
+ api: number;
31
+ retention: string;
32
+ };
33
+ link?: undefined;
34
+ featureTitle?: undefined;
35
+ features?: undefined;
36
+ } | {
37
+ name: string;
38
+ link: string;
39
+ price: {
40
+ monthly: number;
41
+ yearly: number;
42
+ ids: string[];
43
+ };
44
+ limits: {
45
+ links: number;
46
+ clicks: number;
47
+ payouts: number;
48
+ domains: number;
49
+ tags: number;
50
+ folders: number;
51
+ groups: number;
52
+ users: number;
53
+ ai: number;
54
+ api: number;
55
+ retention: string;
56
+ };
57
+ featureTitle: string;
58
+ features: PlanFeature[];
59
+ } | {
60
+ name: string;
61
+ price: {
62
+ monthly: number;
63
+ yearly: number;
64
+ ids: string[];
65
+ };
66
+ limits: {
67
+ links: number;
68
+ clicks: number;
69
+ payouts: number;
70
+ domains: number;
71
+ tags: number;
72
+ folders: number;
73
+ groups: number;
74
+ users: number;
75
+ ai: number;
76
+ api: number;
77
+ retention: string;
78
+ };
79
+ featureTitle: string;
80
+ features: PlanFeature[];
81
+ link?: undefined;
82
+ } | {
83
+ name: string;
84
+ price: {
85
+ monthly: null;
86
+ yearly: null;
87
+ ids?: undefined;
88
+ };
89
+ limits: {
90
+ links: number;
91
+ clicks: number;
92
+ payouts: number;
93
+ domains: number;
94
+ tags: number;
95
+ folders: number;
96
+ groups: number;
97
+ users: number;
98
+ ai: number;
99
+ api: number;
100
+ retention: string;
101
+ };
102
+ link?: undefined;
103
+ featureTitle?: undefined;
104
+ features?: undefined;
105
+ })[];
106
+ declare const FREE_PLAN: {
107
+ name: string;
108
+ price: {
109
+ monthly: number;
110
+ yearly: number;
111
+ ids?: undefined;
112
+ };
113
+ limits: {
114
+ links: number;
115
+ clicks: number;
116
+ payouts: number;
117
+ domains: number;
118
+ tags: number;
119
+ folders: number;
120
+ groups: number;
121
+ users: number;
122
+ ai: number;
123
+ api: number;
124
+ retention: string;
125
+ };
126
+ link?: undefined;
127
+ featureTitle?: undefined;
128
+ features?: undefined;
129
+ } | {
130
+ name: string;
131
+ link: string;
132
+ price: {
133
+ monthly: number;
134
+ yearly: number;
135
+ ids: string[];
136
+ };
137
+ limits: {
138
+ links: number;
139
+ clicks: number;
140
+ payouts: number;
141
+ domains: number;
142
+ tags: number;
143
+ folders: number;
144
+ groups: number;
145
+ users: number;
146
+ ai: number;
147
+ api: number;
148
+ retention: string;
149
+ };
150
+ featureTitle: string;
151
+ features: PlanFeature[];
152
+ } | {
153
+ name: string;
154
+ price: {
155
+ monthly: number;
156
+ yearly: number;
157
+ ids: string[];
158
+ };
159
+ limits: {
160
+ links: number;
161
+ clicks: number;
162
+ payouts: number;
163
+ domains: number;
164
+ tags: number;
165
+ folders: number;
166
+ groups: number;
167
+ users: number;
168
+ ai: number;
169
+ api: number;
170
+ retention: string;
171
+ };
172
+ featureTitle: string;
173
+ features: PlanFeature[];
174
+ link?: undefined;
175
+ } | {
176
+ name: string;
177
+ price: {
178
+ monthly: null;
179
+ yearly: null;
180
+ ids?: undefined;
181
+ };
182
+ limits: {
183
+ links: number;
184
+ clicks: number;
185
+ payouts: number;
186
+ domains: number;
187
+ tags: number;
188
+ folders: number;
189
+ groups: number;
190
+ users: number;
191
+ ai: number;
192
+ api: number;
193
+ retention: string;
194
+ };
195
+ link?: undefined;
196
+ featureTitle?: undefined;
197
+ features?: undefined;
198
+ };
199
+ declare const PRO_PLAN: {
200
+ name: string;
201
+ price: {
202
+ monthly: number;
203
+ yearly: number;
204
+ ids?: undefined;
205
+ };
206
+ limits: {
207
+ links: number;
208
+ clicks: number;
209
+ payouts: number;
210
+ domains: number;
211
+ tags: number;
212
+ folders: number;
213
+ groups: number;
214
+ users: number;
215
+ ai: number;
216
+ api: number;
217
+ retention: string;
218
+ };
219
+ link?: undefined;
220
+ featureTitle?: undefined;
221
+ features?: undefined;
222
+ } | {
223
+ name: string;
224
+ link: string;
225
+ price: {
226
+ monthly: number;
227
+ yearly: number;
228
+ ids: string[];
229
+ };
230
+ limits: {
231
+ links: number;
232
+ clicks: number;
233
+ payouts: number;
234
+ domains: number;
235
+ tags: number;
236
+ folders: number;
237
+ groups: number;
238
+ users: number;
239
+ ai: number;
240
+ api: number;
241
+ retention: string;
242
+ };
243
+ featureTitle: string;
244
+ features: PlanFeature[];
245
+ } | {
246
+ name: string;
247
+ price: {
248
+ monthly: number;
249
+ yearly: number;
250
+ ids: string[];
251
+ };
252
+ limits: {
253
+ links: number;
254
+ clicks: number;
255
+ payouts: number;
256
+ domains: number;
257
+ tags: number;
258
+ folders: number;
259
+ groups: number;
260
+ users: number;
261
+ ai: number;
262
+ api: number;
263
+ retention: string;
264
+ };
265
+ featureTitle: string;
266
+ features: PlanFeature[];
267
+ link?: undefined;
268
+ } | {
269
+ name: string;
270
+ price: {
271
+ monthly: null;
272
+ yearly: null;
273
+ ids?: undefined;
274
+ };
275
+ limits: {
276
+ links: number;
277
+ clicks: number;
278
+ payouts: number;
279
+ domains: number;
280
+ tags: number;
281
+ folders: number;
282
+ groups: number;
283
+ users: number;
284
+ ai: number;
285
+ api: number;
286
+ retention: string;
287
+ };
288
+ link?: undefined;
289
+ featureTitle?: undefined;
290
+ features?: undefined;
291
+ };
292
+ declare const BUSINESS_PLAN: {
293
+ name: string;
294
+ price: {
295
+ monthly: number;
296
+ yearly: number;
297
+ ids?: undefined;
298
+ };
299
+ limits: {
300
+ links: number;
301
+ clicks: number;
302
+ payouts: number;
303
+ domains: number;
304
+ tags: number;
305
+ folders: number;
306
+ groups: number;
307
+ users: number;
308
+ ai: number;
309
+ api: number;
310
+ retention: string;
311
+ };
312
+ link?: undefined;
313
+ featureTitle?: undefined;
314
+ features?: undefined;
315
+ } | {
316
+ name: string;
317
+ link: string;
318
+ price: {
319
+ monthly: number;
320
+ yearly: number;
321
+ ids: string[];
322
+ };
323
+ limits: {
324
+ links: number;
325
+ clicks: number;
326
+ payouts: number;
327
+ domains: number;
328
+ tags: number;
329
+ folders: number;
330
+ groups: number;
331
+ users: number;
332
+ ai: number;
333
+ api: number;
334
+ retention: string;
335
+ };
336
+ featureTitle: string;
337
+ features: PlanFeature[];
338
+ } | {
339
+ name: string;
340
+ price: {
341
+ monthly: number;
342
+ yearly: number;
343
+ ids: string[];
344
+ };
345
+ limits: {
346
+ links: number;
347
+ clicks: number;
348
+ payouts: number;
349
+ domains: number;
350
+ tags: number;
351
+ folders: number;
352
+ groups: number;
353
+ users: number;
354
+ ai: number;
355
+ api: number;
356
+ retention: string;
357
+ };
358
+ featureTitle: string;
359
+ features: PlanFeature[];
360
+ link?: undefined;
361
+ } | {
362
+ name: string;
363
+ price: {
364
+ monthly: null;
365
+ yearly: null;
366
+ ids?: undefined;
367
+ };
368
+ limits: {
369
+ links: number;
370
+ clicks: number;
371
+ payouts: number;
372
+ domains: number;
373
+ tags: number;
374
+ folders: number;
375
+ groups: number;
376
+ users: number;
377
+ ai: number;
378
+ api: number;
379
+ retention: string;
380
+ };
381
+ link?: undefined;
382
+ featureTitle?: undefined;
383
+ features?: undefined;
384
+ };
385
+ declare const ADVANCED_PLAN: {
386
+ name: string;
387
+ price: {
388
+ monthly: number;
389
+ yearly: number;
390
+ ids?: undefined;
391
+ };
392
+ limits: {
393
+ links: number;
394
+ clicks: number;
395
+ payouts: number;
396
+ domains: number;
397
+ tags: number;
398
+ folders: number;
399
+ groups: number;
400
+ users: number;
401
+ ai: number;
402
+ api: number;
403
+ retention: string;
404
+ };
405
+ link?: undefined;
406
+ featureTitle?: undefined;
407
+ features?: undefined;
408
+ } | {
409
+ name: string;
410
+ link: string;
411
+ price: {
412
+ monthly: number;
413
+ yearly: number;
414
+ ids: string[];
415
+ };
416
+ limits: {
417
+ links: number;
418
+ clicks: number;
419
+ payouts: number;
420
+ domains: number;
421
+ tags: number;
422
+ folders: number;
423
+ groups: number;
424
+ users: number;
425
+ ai: number;
426
+ api: number;
427
+ retention: string;
428
+ };
429
+ featureTitle: string;
430
+ features: PlanFeature[];
431
+ } | {
432
+ name: string;
433
+ price: {
434
+ monthly: number;
435
+ yearly: number;
436
+ ids: string[];
437
+ };
438
+ limits: {
439
+ links: number;
440
+ clicks: number;
441
+ payouts: number;
442
+ domains: number;
443
+ tags: number;
444
+ folders: number;
445
+ groups: number;
446
+ users: number;
447
+ ai: number;
448
+ api: number;
449
+ retention: string;
450
+ };
451
+ featureTitle: string;
452
+ features: PlanFeature[];
453
+ link?: undefined;
454
+ } | {
455
+ name: string;
456
+ price: {
457
+ monthly: null;
458
+ yearly: null;
459
+ ids?: undefined;
460
+ };
461
+ limits: {
462
+ links: number;
463
+ clicks: number;
464
+ payouts: number;
465
+ domains: number;
466
+ tags: number;
467
+ folders: number;
468
+ groups: number;
469
+ users: number;
470
+ ai: number;
471
+ api: number;
472
+ retention: string;
473
+ };
474
+ link?: undefined;
475
+ featureTitle?: undefined;
476
+ features?: undefined;
477
+ };
478
+ declare const SELF_SERVE_PAID_PLANS: ({
479
+ name: string;
480
+ price: {
481
+ monthly: number;
482
+ yearly: number;
483
+ ids?: undefined;
484
+ };
485
+ limits: {
486
+ links: number;
487
+ clicks: number;
488
+ payouts: number;
489
+ domains: number;
490
+ tags: number;
491
+ folders: number;
492
+ groups: number;
493
+ users: number;
494
+ ai: number;
495
+ api: number;
496
+ retention: string;
497
+ };
498
+ link?: undefined;
499
+ featureTitle?: undefined;
500
+ features?: undefined;
501
+ } | {
502
+ name: string;
503
+ link: string;
504
+ price: {
505
+ monthly: number;
506
+ yearly: number;
507
+ ids: string[];
508
+ };
509
+ limits: {
510
+ links: number;
511
+ clicks: number;
512
+ payouts: number;
513
+ domains: number;
514
+ tags: number;
515
+ folders: number;
516
+ groups: number;
517
+ users: number;
518
+ ai: number;
519
+ api: number;
520
+ retention: string;
521
+ };
522
+ featureTitle: string;
523
+ features: PlanFeature[];
524
+ } | {
525
+ name: string;
526
+ price: {
527
+ monthly: number;
528
+ yearly: number;
529
+ ids: string[];
530
+ };
531
+ limits: {
532
+ links: number;
533
+ clicks: number;
534
+ payouts: number;
535
+ domains: number;
536
+ tags: number;
537
+ folders: number;
538
+ groups: number;
539
+ users: number;
540
+ ai: number;
541
+ api: number;
542
+ retention: string;
543
+ };
544
+ featureTitle: string;
545
+ features: PlanFeature[];
546
+ link?: undefined;
547
+ } | {
548
+ name: string;
549
+ price: {
550
+ monthly: null;
551
+ yearly: null;
552
+ ids?: undefined;
553
+ };
554
+ limits: {
555
+ links: number;
556
+ clicks: number;
557
+ payouts: number;
558
+ domains: number;
559
+ tags: number;
560
+ folders: number;
561
+ groups: number;
562
+ users: number;
563
+ ai: number;
564
+ api: number;
565
+ retention: string;
566
+ };
567
+ link?: undefined;
568
+ featureTitle?: undefined;
569
+ features?: undefined;
570
+ })[];
571
+ declare const FREE_WORKSPACES_LIMIT = 2;
572
+ declare const getPlanFromPriceId: (priceId: string) => {
573
+ name: string;
574
+ price: {
575
+ monthly: number;
576
+ yearly: number;
577
+ ids?: undefined;
578
+ };
579
+ limits: {
580
+ links: number;
581
+ clicks: number;
582
+ payouts: number;
583
+ domains: number;
584
+ tags: number;
585
+ folders: number;
586
+ groups: number;
587
+ users: number;
588
+ ai: number;
589
+ api: number;
590
+ retention: string;
591
+ };
592
+ link?: undefined;
593
+ featureTitle?: undefined;
594
+ features?: undefined;
595
+ } | {
596
+ name: string;
597
+ link: string;
598
+ price: {
599
+ monthly: number;
600
+ yearly: number;
601
+ ids: string[];
602
+ };
603
+ limits: {
604
+ links: number;
605
+ clicks: number;
606
+ payouts: number;
607
+ domains: number;
608
+ tags: number;
609
+ folders: number;
610
+ groups: number;
611
+ users: number;
612
+ ai: number;
613
+ api: number;
614
+ retention: string;
615
+ };
616
+ featureTitle: string;
617
+ features: PlanFeature[];
618
+ } | {
619
+ name: string;
620
+ price: {
621
+ monthly: number;
622
+ yearly: number;
623
+ ids: string[];
624
+ };
625
+ limits: {
626
+ links: number;
627
+ clicks: number;
628
+ payouts: number;
629
+ domains: number;
630
+ tags: number;
631
+ folders: number;
632
+ groups: number;
633
+ users: number;
634
+ ai: number;
635
+ api: number;
636
+ retention: string;
637
+ };
638
+ featureTitle: string;
639
+ features: PlanFeature[];
640
+ link?: undefined;
641
+ } | {
642
+ name: string;
643
+ price: {
644
+ monthly: null;
645
+ yearly: null;
646
+ ids?: undefined;
647
+ };
648
+ limits: {
649
+ links: number;
650
+ clicks: number;
651
+ payouts: number;
652
+ domains: number;
653
+ tags: number;
654
+ folders: number;
655
+ groups: number;
656
+ users: number;
657
+ ai: number;
658
+ api: number;
659
+ retention: string;
660
+ };
661
+ link?: undefined;
662
+ featureTitle?: undefined;
663
+ features?: undefined;
664
+ } | null;
665
+ declare const getPlanDetails: (plan: string) => {
666
+ name: string;
667
+ price: {
668
+ monthly: number;
669
+ yearly: number;
670
+ ids?: undefined;
671
+ };
672
+ limits: {
673
+ links: number;
674
+ clicks: number;
675
+ payouts: number;
676
+ domains: number;
677
+ tags: number;
678
+ folders: number;
679
+ groups: number;
680
+ users: number;
681
+ ai: number;
682
+ api: number;
683
+ retention: string;
684
+ };
685
+ link?: undefined;
686
+ featureTitle?: undefined;
687
+ features?: undefined;
688
+ } | {
689
+ name: string;
690
+ link: string;
691
+ price: {
692
+ monthly: number;
693
+ yearly: number;
694
+ ids: string[];
695
+ };
696
+ limits: {
697
+ links: number;
698
+ clicks: number;
699
+ payouts: number;
700
+ domains: number;
701
+ tags: number;
702
+ folders: number;
703
+ groups: number;
704
+ users: number;
705
+ ai: number;
706
+ api: number;
707
+ retention: string;
708
+ };
709
+ featureTitle: string;
710
+ features: PlanFeature[];
711
+ } | {
712
+ name: string;
713
+ price: {
714
+ monthly: number;
715
+ yearly: number;
716
+ ids: string[];
717
+ };
718
+ limits: {
719
+ links: number;
720
+ clicks: number;
721
+ payouts: number;
722
+ domains: number;
723
+ tags: number;
724
+ folders: number;
725
+ groups: number;
726
+ users: number;
727
+ ai: number;
728
+ api: number;
729
+ retention: string;
730
+ };
731
+ featureTitle: string;
732
+ features: PlanFeature[];
733
+ link?: undefined;
734
+ } | {
735
+ name: string;
736
+ price: {
737
+ monthly: null;
738
+ yearly: null;
739
+ ids?: undefined;
740
+ };
741
+ limits: {
742
+ links: number;
743
+ clicks: number;
744
+ payouts: number;
745
+ domains: number;
746
+ tags: number;
747
+ folders: number;
748
+ groups: number;
749
+ users: number;
750
+ ai: number;
751
+ api: number;
752
+ retention: string;
753
+ };
754
+ link?: undefined;
755
+ featureTitle?: undefined;
756
+ features?: undefined;
757
+ };
758
+ declare const getCurrentPlan: (plan: string) => {
759
+ name: string;
760
+ price: {
761
+ monthly: number;
762
+ yearly: number;
763
+ ids?: undefined;
764
+ };
765
+ limits: {
766
+ links: number;
767
+ clicks: number;
768
+ payouts: number;
769
+ domains: number;
770
+ tags: number;
771
+ folders: number;
772
+ groups: number;
773
+ users: number;
774
+ ai: number;
775
+ api: number;
776
+ retention: string;
777
+ };
778
+ link?: undefined;
779
+ featureTitle?: undefined;
780
+ features?: undefined;
781
+ } | {
782
+ name: string;
783
+ link: string;
784
+ price: {
785
+ monthly: number;
786
+ yearly: number;
787
+ ids: string[];
788
+ };
789
+ limits: {
790
+ links: number;
791
+ clicks: number;
792
+ payouts: number;
793
+ domains: number;
794
+ tags: number;
795
+ folders: number;
796
+ groups: number;
797
+ users: number;
798
+ ai: number;
799
+ api: number;
800
+ retention: string;
801
+ };
802
+ featureTitle: string;
803
+ features: PlanFeature[];
804
+ } | {
805
+ name: string;
806
+ price: {
807
+ monthly: number;
808
+ yearly: number;
809
+ ids: string[];
810
+ };
811
+ limits: {
812
+ links: number;
813
+ clicks: number;
814
+ payouts: number;
815
+ domains: number;
816
+ tags: number;
817
+ folders: number;
818
+ groups: number;
819
+ users: number;
820
+ ai: number;
821
+ api: number;
822
+ retention: string;
823
+ };
824
+ featureTitle: string;
825
+ features: PlanFeature[];
826
+ link?: undefined;
827
+ } | {
828
+ name: string;
829
+ price: {
830
+ monthly: null;
831
+ yearly: null;
832
+ ids?: undefined;
833
+ };
834
+ limits: {
835
+ links: number;
836
+ clicks: number;
837
+ payouts: number;
838
+ domains: number;
839
+ tags: number;
840
+ folders: number;
841
+ groups: number;
842
+ users: number;
843
+ ai: number;
844
+ api: number;
845
+ retention: string;
846
+ };
847
+ link?: undefined;
848
+ featureTitle?: undefined;
849
+ features?: undefined;
850
+ };
851
+ declare const getNextPlan: (plan?: string | null) => {
852
+ name: string;
853
+ price: {
854
+ monthly: number;
855
+ yearly: number;
856
+ ids?: undefined;
857
+ };
858
+ limits: {
859
+ links: number;
860
+ clicks: number;
861
+ payouts: number;
862
+ domains: number;
863
+ tags: number;
864
+ folders: number;
865
+ groups: number;
866
+ users: number;
867
+ ai: number;
868
+ api: number;
869
+ retention: string;
870
+ };
871
+ link?: undefined;
872
+ featureTitle?: undefined;
873
+ features?: undefined;
874
+ } | {
875
+ name: string;
876
+ link: string;
877
+ price: {
878
+ monthly: number;
879
+ yearly: number;
880
+ ids: string[];
881
+ };
882
+ limits: {
883
+ links: number;
884
+ clicks: number;
885
+ payouts: number;
886
+ domains: number;
887
+ tags: number;
888
+ folders: number;
889
+ groups: number;
890
+ users: number;
891
+ ai: number;
892
+ api: number;
893
+ retention: string;
894
+ };
895
+ featureTitle: string;
896
+ features: PlanFeature[];
897
+ } | {
898
+ name: string;
899
+ price: {
900
+ monthly: number;
901
+ yearly: number;
902
+ ids: string[];
903
+ };
904
+ limits: {
905
+ links: number;
906
+ clicks: number;
907
+ payouts: number;
908
+ domains: number;
909
+ tags: number;
910
+ folders: number;
911
+ groups: number;
912
+ users: number;
913
+ ai: number;
914
+ api: number;
915
+ retention: string;
916
+ };
917
+ featureTitle: string;
918
+ features: PlanFeature[];
919
+ link?: undefined;
920
+ } | {
921
+ name: string;
922
+ price: {
923
+ monthly: null;
924
+ yearly: null;
925
+ ids?: undefined;
926
+ };
927
+ limits: {
928
+ links: number;
929
+ clicks: number;
930
+ payouts: number;
931
+ domains: number;
932
+ tags: number;
933
+ folders: number;
934
+ groups: number;
935
+ users: number;
936
+ ai: number;
937
+ api: number;
938
+ retention: string;
939
+ };
940
+ link?: undefined;
941
+ featureTitle?: undefined;
942
+ features?: undefined;
943
+ };
944
+ declare const isDowngradePlan: (currentPlan: string, newPlan: string) => boolean;
945
+ declare const isLegacyBusinessPlan: ({ plan, payoutsLimit, }: {
946
+ plan?: string | undefined;
947
+ payoutsLimit?: number | undefined;
948
+ }) => boolean;
949
+
950
+ declare const PLAN_COMPARE_FEATURES: {
951
+ category: string;
952
+ href: string;
953
+ features: {
954
+ text: string | ((d: {
955
+ id: string;
956
+ plan: (typeof PLANS)[number];
957
+ }) => ReactNode);
958
+ href?: string;
959
+ check?: boolean | {
960
+ default?: boolean;
961
+ free?: boolean;
962
+ pro?: boolean;
963
+ business?: boolean;
964
+ advanced?: boolean;
965
+ enterprise?: boolean;
966
+ };
967
+ }[];
968
+ }[];
969
+
970
+ export { ADVANCED_PLAN as A, BUSINESS_PLAN as B, FREE_PLAN as F, NEW_BUSINESS_PRICE_IDS as N, PLAN_COMPARE_FEATURES as P, SELF_SERVE_PAID_PLANS as S, PlanFeature as a, PLANS as b, PRO_PLAN as c, FREE_WORKSPACES_LIMIT as d, getPlanDetails as e, getCurrentPlan as f, getPlanFromPriceId as g, getNextPlan as h, isDowngradePlan as i, isLegacyBusinessPlan as j };