@dub/utils 0.1.30 → 0.1.32

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