@cling-se/widget 1.0.0-beta.1 → 1.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/README.internal.md +82 -0
- package/README.md +14 -40
- package/README.public.md +14 -0
- package/dist/AddClientCallout-e8d19R3f.js +101 -0
- package/dist/AnswerModal-BGvB8IVV.js +3291 -0
- package/dist/AttachmentItem-CkHbAm4l.js +171 -0
- package/dist/BaseUpload-BiJBcWRu.js +2472 -0
- package/dist/BlockMedia-CW5wgipC.js +103 -0
- package/dist/CCallout-Cy2eeIYd.js +104 -0
- package/dist/{CCurrencyDropdown-qH-3m2eP.js → CCurrencyDropdown-DE_3CTjm.js} +91 -49
- package/dist/CDropdownItem-Dmq5gYzA.js +751 -0
- package/dist/CFormField.vue_vue_type_script_setup_true_lang-D_U9coAY.js +292 -0
- package/dist/{CPhoneFormat-CfQayFxw.js → CPhoneFormat-BS2nP9kc.js} +13 -21
- package/dist/CPhoneInput-Bf6329PO.js +207 -0
- package/dist/CPriceInput-d1yjuMQr.js +140 -0
- package/dist/CSelect-DgnT07Hk.js +98 -0
- package/dist/CSkeleton.vue_vue_type_script_setup_true_lang-Ckl--dyv.js +51 -0
- package/dist/ClientAutocomplete-9JzGcO9O.js +532 -0
- package/dist/ClientModal-BzWQtWSZ.js +1181 -0
- package/dist/ColorPicker-BvoFN8nu.js +1408 -0
- package/dist/CompanyModal-Bp4V_az9.js +250 -0
- package/dist/ContentWrapper-CuH6xKmo.js +265 -0
- package/dist/CoverBlockSettings-BA5L0Zee.js +861 -0
- package/dist/DocAnswer-BcNA_KEg.js +33 -0
- package/dist/DocDetails-CStEwWnU.js +448 -0
- package/dist/DocForm-BOoILf5E.js +6748 -0
- package/dist/DocFormSend-CQIf-HJY.js +171 -0
- package/dist/DocLinks-BRX5QzNe.js +36 -0
- package/dist/DocModalBase-D72yWj-x.js +29 -0
- package/dist/DocPrint-BI1LXUPE.js +399 -0
- package/dist/DocReceipt-DaZ4V76p.js +341 -0
- package/dist/DocSendReminder-DKGZlo7s.js +181 -0
- package/dist/DocTextEditor-Dm-cTZpA.js +19413 -0
- package/dist/DocTimeline-DCwofzuk.js +537 -0
- package/dist/DocumentClient-vJdxCB53.js +90 -0
- package/dist/DocumentLayout-CKSi42ev.js +1368 -0
- package/dist/DocumentLogotype-DbQlvQ-y.js +162 -0
- package/dist/DocumentVoided-CRX2WxWO.js +33 -0
- package/dist/EmbedInput-B-oeC4Wy.js +157 -0
- package/dist/EmbedSettings-B9Yka2yB.js +103 -0
- package/dist/ErrorCallout-B_ygH33E.js +34 -0
- package/dist/FilePreviewModal-Bf3ELTow.js +202 -0
- package/dist/Flag-BwTgCNHO.js +41 -0
- package/dist/HeaderSettings-DvC7nlyY.js +720 -0
- package/dist/ImageSelectModal-D3sP3lhR.js +119 -0
- package/dist/ImageUploadWrapper-RWNa-yIq.js +1585 -0
- package/dist/Index-0_3ULrWX.js +126 -0
- package/dist/Index-4NPe0sfX.js +629 -0
- package/dist/Index-B1uA0FF6.js +4 -0
- package/dist/Index-BBkCYm2q.js +201 -0
- package/dist/{Index-DIOiMm9f.js → Index-BBwvo7S9.js} +10 -18
- package/dist/Index-BEMlsYwJ.js +68 -0
- package/dist/Index-BRBhJ6kz.js +21 -0
- package/dist/{Index--qPMWUMT.js → Index-BTFmHjUt.js} +48 -61
- package/dist/Index-BcUNnxLC.js +1098 -0
- package/dist/Index-Bo6ExBUL.js +93 -0
- package/dist/Index-BvMPCgdH.js +102 -0
- package/dist/Index-Bx5TOI9k.js +74 -0
- package/dist/Index-C7GZS8EI.js +16 -0
- package/dist/Index-CNWhm07R.js +25 -0
- package/dist/{Index-DcQbh-z2.js → Index-CQpznMKV.js} +9 -17
- package/dist/Index-CRzsnIij.js +159 -0
- package/dist/Index-CeSG1C41.js +140 -0
- package/dist/Index-CjfjdZj5.js +52 -0
- package/dist/Index-CskKmZpd.js +363 -0
- package/dist/Index-D5qwbCo1.js +28 -0
- package/dist/Index-D8Ae1Txt.js +228 -0
- package/dist/Index-DE8aenDB.js +3452 -0
- package/dist/Index-DI5EB5Rt.js +39 -0
- package/dist/Index-DaV57YPP.js +163 -0
- package/dist/Index-DbwkmoyM.js +38 -0
- package/dist/Index-Df9skok6.js +70 -0
- package/dist/{Index-Bu0MGrj6.js → Index-DfLLA0ij.js} +313 -206
- package/dist/Index-Dw1CO5F9.js +76 -0
- package/dist/Index-PZXyOoVb.js +87 -0
- package/dist/{Index-D4XgxmbD.js → Index-ZUnH-BHj.js} +10 -18
- package/dist/Index-cjKGSiDi.js +136 -0
- package/dist/Index-m-goRuKD.js +49 -0
- package/dist/Index-rGeWbLcB.js +47 -0
- package/dist/Index-vrljNp6G.js +28 -0
- package/dist/Index.vue_vue_type_script_lang-aeVuChGF.js +671 -0
- package/dist/InputToggleRow-v6qAWPg6.js +99 -0
- package/dist/ManualPopover-BONBJIUA.js +57 -0
- package/dist/MediaWrapper-CXb2UGd9.js +18 -0
- package/dist/{NotBindingText-CNV2Wmdx.js → NotBindingText-BqESO13N.js} +13 -17
- package/dist/PackageGroup-AIysVmyh.js +1058 -0
- package/dist/PdfTerms-BlhHdTu3.js +34 -0
- package/dist/PdfViewer-DwZ1rwlN.js +392 -0
- package/dist/PlainHtml.vue_vue_type_script_setup_true_lang-D6NNUTz0.js +17 -0
- package/dist/PriceHeader-C4XhnoA3.js +488 -0
- package/dist/SearchApi-B7lXgUY6.js +137 -0
- package/dist/SendForm-BcD0xSvB.js +7031 -0
- package/dist/Setup-C2qaYDei.js +47 -0
- package/dist/{SmartList-Qgu0rMrI.js → SmartList-DqG7Q5t7.js} +16 -24
- package/dist/Sortable.vue_vue_type_script_setup_true_lang-CzMbr8AX.js +1303 -0
- package/dist/{TermsSettings-CE3h_xkm.js → TermsSettings-BOCONyM4.js} +169 -49
- package/dist/ThemeColorRow-sjGdMzGN.js +108 -0
- package/dist/ToggleBinding-7oq_oXPt.js +44 -0
- package/dist/UploadModal-C_X2NjVY.js +134 -0
- package/dist/VideoPlayerInput-BsUcmpl4.js +135 -0
- package/dist/VideoPlayerSettings-BXMmxaZQ.js +78 -0
- package/dist/VideoSelectModal-CW0OweCw.js +217 -0
- package/dist/{anime.es-BrPTThYb.js → anime.es-gdcpA-eY.js} +1 -2
- package/dist/{color-TdtKxwVa.js → color-HetJPhlA.js} +1 -2
- package/dist/{debounce-C1AuSpOZ.js → debounce-DNl99Gyo.js} +7 -7
- package/dist/dom-CkTGWrfu.js +69 -0
- package/dist/{focusDrawerMixin-Be6BAK8-.js → focusDrawerMixin-BwcErMDY.js} +1 -1
- package/dist/{formDrawerState-DRbg5rVI.js → formDrawerState-DaurePnd.js} +2 -2
- package/dist/helpers-CPW--XIz.js +44 -0
- package/dist/index-BjiGCJPI.js +149 -0
- package/dist/index-CFNv6OvX.js +188 -0
- package/dist/index-Cx71On5Z.js +508 -0
- package/dist/index-DKMxIBz_.js +270 -0
- package/dist/index-DKf5SGLD.js +125 -0
- package/dist/index-E32WgUp9.js +3525 -0
- package/dist/index-kp-GC5I0.js +513 -0
- package/dist/index.es.js +2 -5
- package/dist/index.umd.js +306 -1505
- package/dist/{main-WKzC-Dnu.js → main-Cb-nyil1.js} +33252 -33755
- package/dist/mapFormMixin-D3BihYWW.js +1544 -0
- package/dist/omit--YYr41Xp.js +31 -0
- package/dist/{publicSenderState-BujjYsZZ.js → publicSenderState-CdRW_Wwp.js} +4 -4
- package/dist/regions-BdZt9Srn.js +1250 -0
- package/dist/splitpanes-D-ThFkeR.js +342 -0
- package/dist/style.css +1 -4
- package/dist/template-BvaNnq-g.js +1493 -0
- package/dist/{throttle-CWPJmFid.js → throttle-D-bUGaVh.js} +2 -2
- package/dist/tippy.esm-BmKNqohP.js +1994 -0
- package/dist/useTermsModal-Dhf6_eYb.js +87 -0
- package/dist/{utils-CA_Zy6u1.js → utils-CBPcYdLv.js} +8 -11
- package/dist/validation-DOcUOoMe.js +40 -0
- package/package.json +25 -31
- package/.eslintrc.cjs +0 -4
- package/dist/AddClientCallout-BWnvyBcK.js +0 -46
- package/dist/AnswerModal-CLGRdSnK.js +0 -3874
- package/dist/AttachmentItem-BPS0-wyc.js +0 -78
- package/dist/BaseDatePicker-BbmV_GdD.js +0 -3183
- package/dist/BaseUpload-9gPgI7r6.js +0 -1977
- package/dist/BlockMedia-DkPFWiYL.js +0 -76
- package/dist/CCallout-T26jwUby.js +0 -59
- package/dist/CDropdownItem-BE8BAMD1.js +0 -636
- package/dist/CField.vue_vue_type_style_index_0_lang-l0sNRNKZ.js +0 -1
- package/dist/CFormField-DECEfoVq.js +0 -241
- package/dist/CPriceInput-C4SOB-P5.js +0 -112
- package/dist/CTabs.vue_vue_type_style_index_0_scoped_e02a6440_lang-l0sNRNKZ.js +0 -1
- package/dist/ClientAutocomplete-DSebA1Mx.js +0 -78
- package/dist/ClientModal-BXFYvYCF.js +0 -625
- package/dist/ColorPicker-CZ_bJabP.js +0 -2879
- package/dist/CompanyModal-CDr3t28n.js +0 -141
- package/dist/ContentWrapper-BwmMoe4W.js +0 -183
- package/dist/CoverBlockSettings-_F11-DGc.js +0 -275
- package/dist/DocAnswer-BR59xzkT.js +0 -36
- package/dist/DocDetails-D1qbCbps.js +0 -259
- package/dist/DocForm-DBc2a7z5.js +0 -7272
- package/dist/DocFormSend-Casix-yG.js +0 -144
- package/dist/DocLinks-DGTaewyX.js +0 -38
- package/dist/DocModalBase-BbS_qvSv.js +0 -28
- package/dist/DocPrint-0PqX3mbJ.js +0 -240
- package/dist/DocReceipt-CU3VD5pt.js +0 -210
- package/dist/DocSendReminder-CuycBspr.js +0 -137
- package/dist/DocTextEditor-CntS2Bd-.js +0 -17180
- package/dist/DocTimeline-DJuv3yBe.js +0 -481
- package/dist/DocumentClient-C25XXzz6.js +0 -136
- package/dist/DocumentLayout-B7afHRMr.js +0 -4909
- package/dist/DocumentLogotype-sqI51wvM.js +0 -87
- package/dist/DocumentVoided-TahdTSMn.js +0 -25
- package/dist/EmbedInput-BY-wHSfc.js +0 -113
- package/dist/EmbedSettings-8pfjk4NP.js +0 -72
- package/dist/ErrorCallout-Dsr8PNsU.js +0 -28
- package/dist/FilePreviewModal-CcEinEFg.js +0 -81
- package/dist/Flag-PJKrghi9.js +0 -114
- package/dist/HeaderSettings-BqczIOsG.js +0 -392
- package/dist/ImageSelectModal-Cd-HhKnH.js +0 -84
- package/dist/ImageUploadWrapper-Dv43rGdb.js +0 -1604
- package/dist/Index-6b5VBKE-.js +0 -107
- package/dist/Index-B4pRJnbw.js +0 -84
- package/dist/Index-B69f8qgZ.js +0 -62
- package/dist/Index-B79YN9RO.js +0 -25
- package/dist/Index-BBrlPoe8.js +0 -58
- package/dist/Index-BXfWJCuq.js +0 -52
- package/dist/Index-Bd76vb37.js +0 -55
- package/dist/Index-BmbtQO5F.js +0 -150
- package/dist/Index-ByV_kJaH.js +0 -77
- package/dist/Index-CDV5rhWS.js +0 -49
- package/dist/Index-CIx4OOK-.js +0 -144
- package/dist/Index-CL1OWLt6.js +0 -223
- package/dist/Index-Caow0eZu.js +0 -31
- package/dist/Index-Cd3-3PEK.js +0 -2402
- package/dist/Index-CdpZBEKU.js +0 -98
- package/dist/Index-CmU3Sys-.js +0 -754
- package/dist/Index-CtRtgnpm.js +0 -32
- package/dist/Index-Cukkr33D.js +0 -140
- package/dist/Index-Cuqw0ios.js +0 -57
- package/dist/Index-Czm_WdqC.js +0 -25
- package/dist/Index-DNdYXHgr.js +0 -33
- package/dist/Index-DcuBxutp.js +0 -642
- package/dist/Index-DpWNWiyY.js +0 -291
- package/dist/Index-DzS1rZdF.js +0 -24
- package/dist/Index-N6s5pZxv.js +0 -26
- package/dist/Index-g_DNu4mt.js +0 -69
- package/dist/Index-mJ8F41GY.js +0 -154
- package/dist/Index-q7W9KA8m.js +0 -21
- package/dist/Index-rtzblZp4.js +0 -70
- package/dist/InputToggleRow-CZjxsDOQ.js +0 -57
- package/dist/ManualPopover-CZrWiT-P.js +0 -58
- package/dist/MediaWrapper-D37qK4KR.js +0 -23
- package/dist/PackageGroup-Heo_s8ct.js +0 -699
- package/dist/PdfTerms-AB9tXAtU.js +0 -36
- package/dist/PdfViewer-CIVkvOBr.js +0 -373
- package/dist/PlainHtml-CPmIebjY.js +0 -20
- package/dist/PriceHeader-DhDAruwX.js +0 -339
- package/dist/SearchApi-BMgdaI4s.js +0 -161
- package/dist/Setup-VIaIV9uT.js +0 -50
- package/dist/ThemeColorRow-DYJNgk6S.js +0 -67
- package/dist/ToggleBinding-CuwCeYpO.js +0 -38
- package/dist/UploadModal-BITcxG-J.js +0 -95
- package/dist/VideoPlayerInput-8szEX_8L.js +0 -93
- package/dist/VideoPlayerSettings-BIPytm6w.js +0 -61
- package/dist/VideoSelectModal-B-Pe34nb.js +0 -100
- package/dist/answerDocumentMixin-W7vE1Gp4.js +0 -51
- package/dist/formComponentsInstall-Bm3VMOh6.js +0 -2507
- package/dist/formValidationMixin-COkY8COk.js +0 -49
- package/dist/index-BFvjENMH.js +0 -81
- package/dist/index-BV2nGWay.js +0 -492
- package/dist/index-BgJ05dYc.js +0 -165
- package/dist/index-CMPAXxzs.js +0 -347
- package/dist/index-DNDjI5uI.js +0 -3916
- package/dist/index-aoff9oUi.js +0 -102
- package/dist/mapFormMixin-QbevCwJK.js +0 -72
- package/dist/omit-CTp9CXoU.js +0 -31
- package/dist/splitpanes-BHUVsCZF.js +0 -382
- package/dist/tinycolor-kTl0yxzz.js +0 -633
- package/dist/tippy.esm-sS5koDSU.js +0 -1799
- package/dist/vuedraggable.umd-BA3ZDRAp.js +0 -3161
- package/dist/vuex.esm-DKGl8mcw.js +0 -467
- package/public/favicon.ico +0 -0
- package/tsconfig.json +0 -26
- package/tsconfig.node.json +0 -10
- package/tsconfig.paths.json +0 -17
- package/vite.config.ts +0 -60
package/dist/index-DNDjI5uI.js
DELETED
|
@@ -1,3916 +0,0 @@
|
|
|
1
|
-
import { n as d, be as F, b as C, b4 as M, bf as X, bg as Q, bh as J, bi as ee, V as U, bj as te, ae as D, bk as ne, c as h, J as ae, w as P, d as y, bl as re, g as m, bm as b, D as k, bn as ie, bo as se, bp as oe, bq as H, p as ce, h as L, I as E, br as B, O as le, bs as ue, au as de } from "./main-WKzC-Dnu.js";
|
|
2
|
-
import { m as v, a as $, b as me } from "./vuex.esm-DKGl8mcw.js";
|
|
3
|
-
import { a as u } from "./anime.es-BrPTThYb.js";
|
|
4
|
-
import { v as _ } from "./index-BV2nGWay.js";
|
|
5
|
-
import { h as pe } from "./CDropdownItem-BE8BAMD1.js";
|
|
6
|
-
const x = {
|
|
7
|
-
AD: {
|
|
8
|
-
name: "Andorra",
|
|
9
|
-
callingCode: "+376",
|
|
10
|
-
currency: "EUR"
|
|
11
|
-
},
|
|
12
|
-
AE: {
|
|
13
|
-
name: "United Arab Emirates",
|
|
14
|
-
callingCode: "+971",
|
|
15
|
-
currency: "AED"
|
|
16
|
-
},
|
|
17
|
-
AF: {
|
|
18
|
-
name: "Afghanistan",
|
|
19
|
-
callingCode: "+93",
|
|
20
|
-
currency: "AFN"
|
|
21
|
-
},
|
|
22
|
-
AG: {
|
|
23
|
-
name: "Antigua and Barbuda",
|
|
24
|
-
callingCode: "+1 268",
|
|
25
|
-
currency: "XCD"
|
|
26
|
-
},
|
|
27
|
-
AI: {
|
|
28
|
-
name: "Anguilla",
|
|
29
|
-
callingCode: "+1 264",
|
|
30
|
-
currency: "XCD"
|
|
31
|
-
},
|
|
32
|
-
AL: {
|
|
33
|
-
name: "Albania",
|
|
34
|
-
callingCode: "+355",
|
|
35
|
-
currency: "ALL"
|
|
36
|
-
},
|
|
37
|
-
AM: {
|
|
38
|
-
name: "Armenia",
|
|
39
|
-
callingCode: "+374",
|
|
40
|
-
currency: "AMD"
|
|
41
|
-
},
|
|
42
|
-
AO: {
|
|
43
|
-
name: "Angola",
|
|
44
|
-
callingCode: "+244",
|
|
45
|
-
currency: "AOA"
|
|
46
|
-
},
|
|
47
|
-
AQ: {
|
|
48
|
-
name: "Antarctica",
|
|
49
|
-
callingCode: "",
|
|
50
|
-
currency: null
|
|
51
|
-
},
|
|
52
|
-
AR: {
|
|
53
|
-
name: "Argentina",
|
|
54
|
-
callingCode: "+54",
|
|
55
|
-
currency: "ARS"
|
|
56
|
-
},
|
|
57
|
-
AS: {
|
|
58
|
-
name: "American Samoa",
|
|
59
|
-
callingCode: "+1 684",
|
|
60
|
-
currency: "USD"
|
|
61
|
-
},
|
|
62
|
-
AT: {
|
|
63
|
-
name: "Austria",
|
|
64
|
-
callingCode: "+43",
|
|
65
|
-
currency: "EUR"
|
|
66
|
-
},
|
|
67
|
-
AU: {
|
|
68
|
-
name: "Australia",
|
|
69
|
-
callingCode: "+61",
|
|
70
|
-
currency: "AUD"
|
|
71
|
-
},
|
|
72
|
-
AW: {
|
|
73
|
-
name: "Aruba",
|
|
74
|
-
callingCode: "+297",
|
|
75
|
-
currency: "AWG"
|
|
76
|
-
},
|
|
77
|
-
AX: {
|
|
78
|
-
name: "Åland Islands",
|
|
79
|
-
callingCode: "+358",
|
|
80
|
-
currency: "EUR"
|
|
81
|
-
},
|
|
82
|
-
AZ: {
|
|
83
|
-
name: "Azerbaijan",
|
|
84
|
-
callingCode: "+994",
|
|
85
|
-
currency: "AZN"
|
|
86
|
-
},
|
|
87
|
-
BA: {
|
|
88
|
-
name: "Bosnia and Herzegovina",
|
|
89
|
-
callingCode: "+387",
|
|
90
|
-
currency: "BAM"
|
|
91
|
-
},
|
|
92
|
-
BB: {
|
|
93
|
-
name: "Barbados",
|
|
94
|
-
callingCode: "+1 246",
|
|
95
|
-
currency: "BBD"
|
|
96
|
-
},
|
|
97
|
-
BD: {
|
|
98
|
-
name: "Bangladesh",
|
|
99
|
-
callingCode: "+880",
|
|
100
|
-
currency: "BDT"
|
|
101
|
-
},
|
|
102
|
-
BE: {
|
|
103
|
-
name: "Belgium",
|
|
104
|
-
callingCode: "+32",
|
|
105
|
-
currency: "EUR"
|
|
106
|
-
},
|
|
107
|
-
BF: {
|
|
108
|
-
name: "Burkina Faso",
|
|
109
|
-
callingCode: "+226",
|
|
110
|
-
currency: "XOF"
|
|
111
|
-
},
|
|
112
|
-
BG: {
|
|
113
|
-
name: "Bulgaria",
|
|
114
|
-
callingCode: "+359",
|
|
115
|
-
currency: "BGN"
|
|
116
|
-
},
|
|
117
|
-
BH: {
|
|
118
|
-
name: "Bahrain",
|
|
119
|
-
callingCode: "+973",
|
|
120
|
-
currency: "BHD"
|
|
121
|
-
},
|
|
122
|
-
BI: {
|
|
123
|
-
name: "Burundi",
|
|
124
|
-
callingCode: "+257",
|
|
125
|
-
currency: "BIF"
|
|
126
|
-
},
|
|
127
|
-
BJ: {
|
|
128
|
-
name: "Benin",
|
|
129
|
-
callingCode: "+229",
|
|
130
|
-
currency: "XOF"
|
|
131
|
-
},
|
|
132
|
-
BL: {
|
|
133
|
-
name: "Saint Barthélemy",
|
|
134
|
-
callingCode: "+590",
|
|
135
|
-
currency: "EUR"
|
|
136
|
-
},
|
|
137
|
-
BM: {
|
|
138
|
-
name: "Bermuda",
|
|
139
|
-
callingCode: "+1 441",
|
|
140
|
-
currency: "BMD"
|
|
141
|
-
},
|
|
142
|
-
BN: {
|
|
143
|
-
name: "Brunei Darussalam",
|
|
144
|
-
callingCode: "+673",
|
|
145
|
-
currency: "BND"
|
|
146
|
-
},
|
|
147
|
-
BO: {
|
|
148
|
-
name: "Bolivia (Plurinational State of)",
|
|
149
|
-
callingCode: "+591",
|
|
150
|
-
currency: "BOB"
|
|
151
|
-
},
|
|
152
|
-
BQ: {
|
|
153
|
-
name: "Bonaire, Sint Eustatius and Saba",
|
|
154
|
-
callingCode: "+599 7",
|
|
155
|
-
currency: "USD"
|
|
156
|
-
},
|
|
157
|
-
BR: {
|
|
158
|
-
name: "Brazil",
|
|
159
|
-
callingCode: "+55",
|
|
160
|
-
currency: "BRL"
|
|
161
|
-
},
|
|
162
|
-
BS: {
|
|
163
|
-
name: "Bahamas",
|
|
164
|
-
callingCode: "+1 242",
|
|
165
|
-
currency: "BSD"
|
|
166
|
-
},
|
|
167
|
-
BT: {
|
|
168
|
-
name: "Bhutan",
|
|
169
|
-
callingCode: "+975",
|
|
170
|
-
currency: "INR"
|
|
171
|
-
},
|
|
172
|
-
BV: {
|
|
173
|
-
name: "Bouvet Island",
|
|
174
|
-
callingCode: "",
|
|
175
|
-
currency: "NOK"
|
|
176
|
-
},
|
|
177
|
-
BW: {
|
|
178
|
-
name: "Botswana",
|
|
179
|
-
callingCode: "+267",
|
|
180
|
-
currency: "BWP"
|
|
181
|
-
},
|
|
182
|
-
BY: {
|
|
183
|
-
name: "Belarus",
|
|
184
|
-
callingCode: "+375",
|
|
185
|
-
currency: "BYN"
|
|
186
|
-
},
|
|
187
|
-
BZ: {
|
|
188
|
-
name: "Belize",
|
|
189
|
-
callingCode: "+501",
|
|
190
|
-
currency: "BZD"
|
|
191
|
-
},
|
|
192
|
-
CA: {
|
|
193
|
-
name: "Canada",
|
|
194
|
-
callingCode: "+1",
|
|
195
|
-
currency: "CAD"
|
|
196
|
-
},
|
|
197
|
-
CC: {
|
|
198
|
-
name: "Cocos (Keeling) Islands",
|
|
199
|
-
callingCode: "+61 89162",
|
|
200
|
-
currency: "AUD"
|
|
201
|
-
},
|
|
202
|
-
CD: {
|
|
203
|
-
name: "Congo, Democratic Republic of the",
|
|
204
|
-
callingCode: "+243",
|
|
205
|
-
currency: "CDF"
|
|
206
|
-
},
|
|
207
|
-
CF: {
|
|
208
|
-
name: "Central African Republic",
|
|
209
|
-
callingCode: "+236",
|
|
210
|
-
currency: "XAF"
|
|
211
|
-
},
|
|
212
|
-
CG: {
|
|
213
|
-
name: "Congo",
|
|
214
|
-
callingCode: "+242",
|
|
215
|
-
currency: "XAF"
|
|
216
|
-
},
|
|
217
|
-
CH: {
|
|
218
|
-
name: "Switzerland",
|
|
219
|
-
callingCode: "+41",
|
|
220
|
-
currency: "CHF"
|
|
221
|
-
},
|
|
222
|
-
CI: {
|
|
223
|
-
name: "Côte d'Ivoire",
|
|
224
|
-
callingCode: "+225",
|
|
225
|
-
currency: "XOF"
|
|
226
|
-
},
|
|
227
|
-
CK: {
|
|
228
|
-
name: "Cook Islands",
|
|
229
|
-
callingCode: "+682",
|
|
230
|
-
currency: "NZD"
|
|
231
|
-
},
|
|
232
|
-
CL: {
|
|
233
|
-
name: "Chile",
|
|
234
|
-
callingCode: "+56",
|
|
235
|
-
currency: "CLP"
|
|
236
|
-
},
|
|
237
|
-
CM: {
|
|
238
|
-
name: "Cameroon",
|
|
239
|
-
callingCode: "+237",
|
|
240
|
-
currency: "XAF"
|
|
241
|
-
},
|
|
242
|
-
CN: {
|
|
243
|
-
name: "China",
|
|
244
|
-
callingCode: "+86",
|
|
245
|
-
currency: "CNY"
|
|
246
|
-
},
|
|
247
|
-
CO: {
|
|
248
|
-
name: "Colombia",
|
|
249
|
-
callingCode: "+57",
|
|
250
|
-
currency: "COP"
|
|
251
|
-
},
|
|
252
|
-
CR: {
|
|
253
|
-
name: "Costa Rica",
|
|
254
|
-
callingCode: "+506",
|
|
255
|
-
currency: "CRC"
|
|
256
|
-
},
|
|
257
|
-
CU: {
|
|
258
|
-
name: "Cuba",
|
|
259
|
-
callingCode: "+53",
|
|
260
|
-
currency: "CUP"
|
|
261
|
-
},
|
|
262
|
-
CV: {
|
|
263
|
-
name: "Cabo Verde",
|
|
264
|
-
callingCode: "+238",
|
|
265
|
-
currency: "CVE"
|
|
266
|
-
},
|
|
267
|
-
CW: {
|
|
268
|
-
name: "Curaçao",
|
|
269
|
-
callingCode: "+599 9",
|
|
270
|
-
currency: "ANG"
|
|
271
|
-
},
|
|
272
|
-
CX: {
|
|
273
|
-
name: "Christmas Island",
|
|
274
|
-
callingCode: "+61 89164",
|
|
275
|
-
currency: "AUD"
|
|
276
|
-
},
|
|
277
|
-
CY: {
|
|
278
|
-
name: "Cyprus",
|
|
279
|
-
callingCode: "+357",
|
|
280
|
-
currency: "EUR"
|
|
281
|
-
},
|
|
282
|
-
CZ: {
|
|
283
|
-
name: "Czechia",
|
|
284
|
-
callingCode: "+420",
|
|
285
|
-
currency: "CZK"
|
|
286
|
-
},
|
|
287
|
-
DE: {
|
|
288
|
-
name: "Germany",
|
|
289
|
-
callingCode: "+49",
|
|
290
|
-
currency: "EUR"
|
|
291
|
-
},
|
|
292
|
-
DJ: {
|
|
293
|
-
name: "Djibouti",
|
|
294
|
-
callingCode: "+253",
|
|
295
|
-
currency: "DJF"
|
|
296
|
-
},
|
|
297
|
-
DK: {
|
|
298
|
-
name: "Denmark",
|
|
299
|
-
callingCode: "+45",
|
|
300
|
-
currency: "DKK"
|
|
301
|
-
},
|
|
302
|
-
DM: {
|
|
303
|
-
name: "Dominica",
|
|
304
|
-
callingCode: "+1 767",
|
|
305
|
-
currency: "XCD"
|
|
306
|
-
},
|
|
307
|
-
DO: {
|
|
308
|
-
name: "Dominican Republic",
|
|
309
|
-
callingCode: "+1",
|
|
310
|
-
currency: "DOP"
|
|
311
|
-
},
|
|
312
|
-
DZ: {
|
|
313
|
-
name: "Algeria",
|
|
314
|
-
callingCode: "+213",
|
|
315
|
-
currency: "DZD"
|
|
316
|
-
},
|
|
317
|
-
EC: {
|
|
318
|
-
name: "Ecuador",
|
|
319
|
-
callingCode: "+593",
|
|
320
|
-
currency: "USD"
|
|
321
|
-
},
|
|
322
|
-
EE: {
|
|
323
|
-
name: "Estonia",
|
|
324
|
-
callingCode: "+372",
|
|
325
|
-
currency: "EUR"
|
|
326
|
-
},
|
|
327
|
-
EG: {
|
|
328
|
-
name: "Egypt",
|
|
329
|
-
callingCode: "Egypt",
|
|
330
|
-
currency: "EGP"
|
|
331
|
-
},
|
|
332
|
-
EH: {
|
|
333
|
-
name: "Western Sahara",
|
|
334
|
-
callingCode: "+212",
|
|
335
|
-
currency: "MAD"
|
|
336
|
-
},
|
|
337
|
-
ER: {
|
|
338
|
-
name: "Eritrea",
|
|
339
|
-
callingCode: "+291",
|
|
340
|
-
currency: "ERN"
|
|
341
|
-
},
|
|
342
|
-
ES: {
|
|
343
|
-
name: "Spain",
|
|
344
|
-
callingCode: "+34",
|
|
345
|
-
currency: "EUR"
|
|
346
|
-
},
|
|
347
|
-
ET: {
|
|
348
|
-
name: "Ethiopia",
|
|
349
|
-
callingCode: "+251",
|
|
350
|
-
currency: "ETB"
|
|
351
|
-
},
|
|
352
|
-
FI: {
|
|
353
|
-
name: "Finland",
|
|
354
|
-
callingCode: "+358",
|
|
355
|
-
currency: "EUR"
|
|
356
|
-
},
|
|
357
|
-
FJ: {
|
|
358
|
-
name: "Fiji",
|
|
359
|
-
callingCode: "+679",
|
|
360
|
-
currency: "FJD"
|
|
361
|
-
},
|
|
362
|
-
FK: {
|
|
363
|
-
name: "Falkland Islands (Malvinas)",
|
|
364
|
-
callingCode: "+500",
|
|
365
|
-
currency: "FKP"
|
|
366
|
-
},
|
|
367
|
-
FM: {
|
|
368
|
-
name: "Micronesia (Federated States of)",
|
|
369
|
-
callingCode: "+691",
|
|
370
|
-
currency: "USD"
|
|
371
|
-
},
|
|
372
|
-
FO: {
|
|
373
|
-
name: "Faroe Islands",
|
|
374
|
-
callingCode: "+298",
|
|
375
|
-
currency: "DKK"
|
|
376
|
-
},
|
|
377
|
-
FR: {
|
|
378
|
-
name: "France",
|
|
379
|
-
callingCode: "+33",
|
|
380
|
-
currency: "EUR"
|
|
381
|
-
},
|
|
382
|
-
GA: {
|
|
383
|
-
name: "Gabon",
|
|
384
|
-
callingCode: "+241",
|
|
385
|
-
currency: "XAF"
|
|
386
|
-
},
|
|
387
|
-
GB: {
|
|
388
|
-
name: "United Kingdom of Great Britain and Northern Ireland",
|
|
389
|
-
callingCode: "+44",
|
|
390
|
-
currency: "GBP"
|
|
391
|
-
},
|
|
392
|
-
GD: {
|
|
393
|
-
name: "Grenada",
|
|
394
|
-
callingCode: "+1 473",
|
|
395
|
-
currency: "XCD"
|
|
396
|
-
},
|
|
397
|
-
GE: {
|
|
398
|
-
name: "Georgia",
|
|
399
|
-
callingCode: "Georgia",
|
|
400
|
-
currency: "GEL"
|
|
401
|
-
},
|
|
402
|
-
GF: {
|
|
403
|
-
name: "French Guiana",
|
|
404
|
-
callingCode: "+594",
|
|
405
|
-
currency: "EUR"
|
|
406
|
-
},
|
|
407
|
-
GG: {
|
|
408
|
-
name: "Guernsey",
|
|
409
|
-
callingCode: "+44",
|
|
410
|
-
currency: "GGP"
|
|
411
|
-
},
|
|
412
|
-
GH: {
|
|
413
|
-
name: "Ghana",
|
|
414
|
-
callingCode: "+233",
|
|
415
|
-
currency: "GHS"
|
|
416
|
-
},
|
|
417
|
-
GI: {
|
|
418
|
-
name: "Gibraltar",
|
|
419
|
-
callingCode: "+350",
|
|
420
|
-
currency: "GIP"
|
|
421
|
-
},
|
|
422
|
-
GL: {
|
|
423
|
-
name: "Greenland",
|
|
424
|
-
callingCode: "+299",
|
|
425
|
-
currency: "DKK"
|
|
426
|
-
},
|
|
427
|
-
GM: {
|
|
428
|
-
name: "Gambia",
|
|
429
|
-
callingCode: "+220",
|
|
430
|
-
currency: "GMD"
|
|
431
|
-
},
|
|
432
|
-
GN: {
|
|
433
|
-
name: "Guinea",
|
|
434
|
-
callingCode: "+224",
|
|
435
|
-
currency: "GNF"
|
|
436
|
-
},
|
|
437
|
-
GP: {
|
|
438
|
-
name: "Guadeloupe",
|
|
439
|
-
callingCode: "+590",
|
|
440
|
-
currency: "EUR"
|
|
441
|
-
},
|
|
442
|
-
GQ: {
|
|
443
|
-
name: "Equatorial Guinea",
|
|
444
|
-
callingCode: "+240",
|
|
445
|
-
currency: "XAF"
|
|
446
|
-
},
|
|
447
|
-
GR: {
|
|
448
|
-
name: "Greece",
|
|
449
|
-
callingCode: "+30",
|
|
450
|
-
currency: "EUR"
|
|
451
|
-
},
|
|
452
|
-
GS: {
|
|
453
|
-
name: "South Georgia and the South Sandwich Islands",
|
|
454
|
-
callingCode: "+500",
|
|
455
|
-
currency: "GBP"
|
|
456
|
-
},
|
|
457
|
-
GT: {
|
|
458
|
-
name: "Guatemala",
|
|
459
|
-
callingCode: "+502",
|
|
460
|
-
currency: "GTQ"
|
|
461
|
-
},
|
|
462
|
-
GU: {
|
|
463
|
-
name: "Guam",
|
|
464
|
-
callingCode: "+1 671",
|
|
465
|
-
currency: "USD"
|
|
466
|
-
},
|
|
467
|
-
GW: {
|
|
468
|
-
name: "Guinea-Bissau",
|
|
469
|
-
callingCode: "+245",
|
|
470
|
-
currency: "XOF"
|
|
471
|
-
},
|
|
472
|
-
GY: {
|
|
473
|
-
name: "Guyana",
|
|
474
|
-
callingCode: "+592",
|
|
475
|
-
currency: "GYD"
|
|
476
|
-
},
|
|
477
|
-
HK: {
|
|
478
|
-
name: "Hong Kong",
|
|
479
|
-
callingCode: "+852",
|
|
480
|
-
currency: "HKD"
|
|
481
|
-
},
|
|
482
|
-
HM: {
|
|
483
|
-
name: "Heard Island and McDonald Islands",
|
|
484
|
-
callingCode: "+61",
|
|
485
|
-
currency: "AUD"
|
|
486
|
-
},
|
|
487
|
-
HN: {
|
|
488
|
-
name: "Honduras",
|
|
489
|
-
callingCode: "+504",
|
|
490
|
-
currency: "HNL"
|
|
491
|
-
},
|
|
492
|
-
HR: {
|
|
493
|
-
name: "Croatia",
|
|
494
|
-
callingCode: "+385 ",
|
|
495
|
-
currency: "HRK"
|
|
496
|
-
},
|
|
497
|
-
HT: {
|
|
498
|
-
name: "Haiti",
|
|
499
|
-
callingCode: "+509",
|
|
500
|
-
currency: "HTG"
|
|
501
|
-
},
|
|
502
|
-
HU: {
|
|
503
|
-
name: "Hungary",
|
|
504
|
-
callingCode: "+36",
|
|
505
|
-
currency: "HUF"
|
|
506
|
-
},
|
|
507
|
-
ID: {
|
|
508
|
-
name: "Indonesia",
|
|
509
|
-
callingCode: "+62",
|
|
510
|
-
currency: "IDR"
|
|
511
|
-
},
|
|
512
|
-
IE: {
|
|
513
|
-
name: "Ireland",
|
|
514
|
-
callingCode: "+353",
|
|
515
|
-
currency: "EUR"
|
|
516
|
-
},
|
|
517
|
-
IL: {
|
|
518
|
-
name: "Israel",
|
|
519
|
-
callingCode: "+972",
|
|
520
|
-
currency: "ILS"
|
|
521
|
-
},
|
|
522
|
-
IM: {
|
|
523
|
-
name: "Isle of Man",
|
|
524
|
-
callingCode: "+44",
|
|
525
|
-
currency: "GBP"
|
|
526
|
-
},
|
|
527
|
-
IN: {
|
|
528
|
-
name: "India",
|
|
529
|
-
callingCode: "+91",
|
|
530
|
-
currency: "INR"
|
|
531
|
-
},
|
|
532
|
-
IO: {
|
|
533
|
-
name: "British Indian Ocean Territory",
|
|
534
|
-
callingCode: "+246",
|
|
535
|
-
currency: "USD"
|
|
536
|
-
},
|
|
537
|
-
IQ: {
|
|
538
|
-
name: "Iraq",
|
|
539
|
-
callingCode: "+964",
|
|
540
|
-
currency: "IQD"
|
|
541
|
-
},
|
|
542
|
-
IR: {
|
|
543
|
-
name: "Iran (Islamic Republic of)",
|
|
544
|
-
callingCode: "+98",
|
|
545
|
-
currency: "IRR"
|
|
546
|
-
},
|
|
547
|
-
IS: {
|
|
548
|
-
name: "Iceland",
|
|
549
|
-
callingCode: "+354",
|
|
550
|
-
currency: "ISK"
|
|
551
|
-
},
|
|
552
|
-
IT: {
|
|
553
|
-
name: "Italy",
|
|
554
|
-
callingCode: "+39",
|
|
555
|
-
currency: "EUR"
|
|
556
|
-
},
|
|
557
|
-
JE: {
|
|
558
|
-
name: "Jersey",
|
|
559
|
-
callingCode: "+44 1534",
|
|
560
|
-
currency: "GBP"
|
|
561
|
-
},
|
|
562
|
-
JM: {
|
|
563
|
-
name: "Jamaica",
|
|
564
|
-
callingCode: "+1 876",
|
|
565
|
-
currency: "JMD"
|
|
566
|
-
},
|
|
567
|
-
JO: {
|
|
568
|
-
name: "Jordan",
|
|
569
|
-
callingCode: "+962",
|
|
570
|
-
currency: "JOD"
|
|
571
|
-
},
|
|
572
|
-
JP: {
|
|
573
|
-
name: "Japan",
|
|
574
|
-
callingCode: "+81",
|
|
575
|
-
currency: "JPY"
|
|
576
|
-
},
|
|
577
|
-
KE: {
|
|
578
|
-
name: "Kenya",
|
|
579
|
-
callingCode: "+254",
|
|
580
|
-
currency: "KES"
|
|
581
|
-
},
|
|
582
|
-
KG: {
|
|
583
|
-
name: "Kyrgyzstan",
|
|
584
|
-
callingCode: "+996",
|
|
585
|
-
currency: "KGS"
|
|
586
|
-
},
|
|
587
|
-
KH: {
|
|
588
|
-
name: "Cambodia",
|
|
589
|
-
callingCode: "+855",
|
|
590
|
-
currency: "KHR"
|
|
591
|
-
},
|
|
592
|
-
KI: {
|
|
593
|
-
name: "Kiribati",
|
|
594
|
-
callingCode: "+686",
|
|
595
|
-
currency: "AUD"
|
|
596
|
-
},
|
|
597
|
-
KM: {
|
|
598
|
-
name: "Comoros",
|
|
599
|
-
callingCode: "+269",
|
|
600
|
-
currency: "KMF"
|
|
601
|
-
},
|
|
602
|
-
KN: {
|
|
603
|
-
name: "Saint Kitts and Nevis",
|
|
604
|
-
callingCode: "+1 869",
|
|
605
|
-
currency: "XCD"
|
|
606
|
-
},
|
|
607
|
-
KP: {
|
|
608
|
-
name: "Korea (Democratic People's Republic of)",
|
|
609
|
-
callingCode: "+850",
|
|
610
|
-
currency: "KPW"
|
|
611
|
-
},
|
|
612
|
-
KR: {
|
|
613
|
-
name: "Korea, Republic of",
|
|
614
|
-
callingCode: "+82",
|
|
615
|
-
currency: "KRW"
|
|
616
|
-
},
|
|
617
|
-
KW: {
|
|
618
|
-
name: "Kuwait",
|
|
619
|
-
callingCode: "+965",
|
|
620
|
-
currency: "KWD"
|
|
621
|
-
},
|
|
622
|
-
KY: {
|
|
623
|
-
name: "Cayman Islands",
|
|
624
|
-
callingCode: "+1 345",
|
|
625
|
-
currency: "KYD"
|
|
626
|
-
},
|
|
627
|
-
KZ: {
|
|
628
|
-
name: "Kazakhstan",
|
|
629
|
-
callingCode: "+7",
|
|
630
|
-
currency: "KZT"
|
|
631
|
-
},
|
|
632
|
-
LA: {
|
|
633
|
-
name: "Lao People's Democratic Republic",
|
|
634
|
-
callingCode: "+856",
|
|
635
|
-
currency: "LAK"
|
|
636
|
-
},
|
|
637
|
-
LB: {
|
|
638
|
-
name: "Lebanon",
|
|
639
|
-
callingCode: "+961",
|
|
640
|
-
currency: "LBP"
|
|
641
|
-
},
|
|
642
|
-
LC: {
|
|
643
|
-
name: "Saint Lucia",
|
|
644
|
-
callingCode: "+1 758",
|
|
645
|
-
currency: "XCD"
|
|
646
|
-
},
|
|
647
|
-
LI: {
|
|
648
|
-
name: "Liechtenstein",
|
|
649
|
-
callingCode: "+423",
|
|
650
|
-
currency: "CHF"
|
|
651
|
-
},
|
|
652
|
-
LK: {
|
|
653
|
-
name: "Sri Lanka",
|
|
654
|
-
callingCode: "+94",
|
|
655
|
-
currency: "LKR"
|
|
656
|
-
},
|
|
657
|
-
LR: {
|
|
658
|
-
name: "Liberia",
|
|
659
|
-
callingCode: "+231",
|
|
660
|
-
currency: "LRD"
|
|
661
|
-
},
|
|
662
|
-
LS: {
|
|
663
|
-
name: "Lesotho",
|
|
664
|
-
callingCode: "+266",
|
|
665
|
-
currency: "LSL"
|
|
666
|
-
},
|
|
667
|
-
LT: {
|
|
668
|
-
name: "Lithuania",
|
|
669
|
-
callingCode: "+370",
|
|
670
|
-
currency: "EUR"
|
|
671
|
-
},
|
|
672
|
-
LU: {
|
|
673
|
-
name: "Luxembourg",
|
|
674
|
-
callingCode: "+352",
|
|
675
|
-
currency: "EUR"
|
|
676
|
-
},
|
|
677
|
-
LV: {
|
|
678
|
-
name: "Latvia",
|
|
679
|
-
callingCode: "+371",
|
|
680
|
-
currency: "EUR"
|
|
681
|
-
},
|
|
682
|
-
LY: {
|
|
683
|
-
name: "Libya",
|
|
684
|
-
callingCode: "+218",
|
|
685
|
-
currency: "LYD"
|
|
686
|
-
},
|
|
687
|
-
MA: {
|
|
688
|
-
name: "Morocco",
|
|
689
|
-
callingCode: "+212",
|
|
690
|
-
currency: "MAD"
|
|
691
|
-
},
|
|
692
|
-
MC: {
|
|
693
|
-
name: "Monaco",
|
|
694
|
-
callingCode: "+377",
|
|
695
|
-
currency: "EUR"
|
|
696
|
-
},
|
|
697
|
-
MD: {
|
|
698
|
-
name: "Moldova, Republic of",
|
|
699
|
-
callingCode: "+373",
|
|
700
|
-
currency: "MDL"
|
|
701
|
-
},
|
|
702
|
-
ME: {
|
|
703
|
-
name: "Montenegro",
|
|
704
|
-
callingCode: "+382",
|
|
705
|
-
currency: "EUR"
|
|
706
|
-
},
|
|
707
|
-
MF: {
|
|
708
|
-
name: "Saint Martin (French part)",
|
|
709
|
-
callingCode: "+590",
|
|
710
|
-
currency: "EUR"
|
|
711
|
-
},
|
|
712
|
-
MG: {
|
|
713
|
-
name: "Madagascar",
|
|
714
|
-
callingCode: "+261",
|
|
715
|
-
currency: "MGA"
|
|
716
|
-
},
|
|
717
|
-
MH: {
|
|
718
|
-
name: "Marshall Islands",
|
|
719
|
-
callingCode: "+692",
|
|
720
|
-
currency: "USD"
|
|
721
|
-
},
|
|
722
|
-
MK: {
|
|
723
|
-
name: "North Macedonia",
|
|
724
|
-
callingCode: "+389",
|
|
725
|
-
currency: "MKD"
|
|
726
|
-
},
|
|
727
|
-
ML: {
|
|
728
|
-
name: "Mali",
|
|
729
|
-
callingCode: "+223",
|
|
730
|
-
currency: "XOF"
|
|
731
|
-
},
|
|
732
|
-
MM: {
|
|
733
|
-
name: "Myanmar",
|
|
734
|
-
callingCode: "+95",
|
|
735
|
-
currency: "MMK"
|
|
736
|
-
},
|
|
737
|
-
MN: {
|
|
738
|
-
name: "Mongolia",
|
|
739
|
-
callingCode: "+976",
|
|
740
|
-
currency: "MNT"
|
|
741
|
-
},
|
|
742
|
-
MO: {
|
|
743
|
-
name: "Macao",
|
|
744
|
-
callingCode: "+853",
|
|
745
|
-
currency: "MOP"
|
|
746
|
-
},
|
|
747
|
-
MP: {
|
|
748
|
-
name: "Northern Mariana Islands",
|
|
749
|
-
callingCode: "+1 670",
|
|
750
|
-
currency: "USD"
|
|
751
|
-
},
|
|
752
|
-
MQ: {
|
|
753
|
-
name: "Martinique",
|
|
754
|
-
callingCode: "+596",
|
|
755
|
-
currency: "EUR"
|
|
756
|
-
},
|
|
757
|
-
MR: {
|
|
758
|
-
name: "Mauritania",
|
|
759
|
-
callingCode: "+222",
|
|
760
|
-
currency: "MRO"
|
|
761
|
-
},
|
|
762
|
-
MS: {
|
|
763
|
-
name: "Montserrat",
|
|
764
|
-
callingCode: "+1 664",
|
|
765
|
-
currency: "XCD"
|
|
766
|
-
},
|
|
767
|
-
MT: {
|
|
768
|
-
name: "Malta",
|
|
769
|
-
callingCode: "+356",
|
|
770
|
-
currency: "EUR"
|
|
771
|
-
},
|
|
772
|
-
MU: {
|
|
773
|
-
name: "Mauritius",
|
|
774
|
-
callingCode: "+230",
|
|
775
|
-
currency: "MUR"
|
|
776
|
-
},
|
|
777
|
-
MV: {
|
|
778
|
-
name: "Maldives",
|
|
779
|
-
callingCode: "+960",
|
|
780
|
-
currency: "MVR"
|
|
781
|
-
},
|
|
782
|
-
MW: {
|
|
783
|
-
name: "Malawi",
|
|
784
|
-
callingCode: "+265",
|
|
785
|
-
currency: "MWK"
|
|
786
|
-
},
|
|
787
|
-
MX: {
|
|
788
|
-
name: "Mexico",
|
|
789
|
-
callingCode: "+52",
|
|
790
|
-
currency: "MXN"
|
|
791
|
-
},
|
|
792
|
-
MY: {
|
|
793
|
-
name: "Malaysia",
|
|
794
|
-
callingCode: "+60",
|
|
795
|
-
currency: "MYR"
|
|
796
|
-
},
|
|
797
|
-
MZ: {
|
|
798
|
-
name: "Mozambique",
|
|
799
|
-
callingCode: "+258",
|
|
800
|
-
currency: "MZN"
|
|
801
|
-
},
|
|
802
|
-
NA: {
|
|
803
|
-
name: "Namibia",
|
|
804
|
-
callingCode: "+264",
|
|
805
|
-
currency: "NAD"
|
|
806
|
-
},
|
|
807
|
-
NC: {
|
|
808
|
-
name: "New Caledonia",
|
|
809
|
-
callingCode: "+687",
|
|
810
|
-
currency: "XPF"
|
|
811
|
-
},
|
|
812
|
-
NE: {
|
|
813
|
-
name: "Niger",
|
|
814
|
-
callingCode: "+227",
|
|
815
|
-
currency: "XOF"
|
|
816
|
-
},
|
|
817
|
-
NF: {
|
|
818
|
-
name: "Norfolk Island",
|
|
819
|
-
callingCode: "+672 3",
|
|
820
|
-
currency: "AUD"
|
|
821
|
-
},
|
|
822
|
-
NG: {
|
|
823
|
-
name: "Nigeria",
|
|
824
|
-
callingCode: "+234",
|
|
825
|
-
currency: "NGN"
|
|
826
|
-
},
|
|
827
|
-
NI: {
|
|
828
|
-
name: "Nicaragua",
|
|
829
|
-
callingCode: "+505",
|
|
830
|
-
currency: "NIO"
|
|
831
|
-
},
|
|
832
|
-
NL: {
|
|
833
|
-
name: "Netherlands",
|
|
834
|
-
callingCode: "+31",
|
|
835
|
-
currency: "EUR"
|
|
836
|
-
},
|
|
837
|
-
NO: {
|
|
838
|
-
name: "Norway",
|
|
839
|
-
callingCode: "+47",
|
|
840
|
-
currency: "NOK"
|
|
841
|
-
},
|
|
842
|
-
NP: {
|
|
843
|
-
name: "Nepal",
|
|
844
|
-
callingCode: "+977",
|
|
845
|
-
currency: "NPR"
|
|
846
|
-
},
|
|
847
|
-
NR: {
|
|
848
|
-
name: "Nauru",
|
|
849
|
-
callingCode: "+674",
|
|
850
|
-
currency: "AUD"
|
|
851
|
-
},
|
|
852
|
-
NU: {
|
|
853
|
-
name: "Niue",
|
|
854
|
-
callingCode: "+683",
|
|
855
|
-
currency: "NZD"
|
|
856
|
-
},
|
|
857
|
-
NZ: {
|
|
858
|
-
name: "New Zealand",
|
|
859
|
-
callingCode: "+64",
|
|
860
|
-
currency: "NZD"
|
|
861
|
-
},
|
|
862
|
-
OM: {
|
|
863
|
-
name: "Oman",
|
|
864
|
-
callingCode: "+968",
|
|
865
|
-
currency: "OMR"
|
|
866
|
-
},
|
|
867
|
-
PA: {
|
|
868
|
-
name: "Panama",
|
|
869
|
-
callingCode: "+507",
|
|
870
|
-
currency: "PAB"
|
|
871
|
-
},
|
|
872
|
-
PE: {
|
|
873
|
-
name: "Peru",
|
|
874
|
-
callingCode: "+51",
|
|
875
|
-
currency: "PEN"
|
|
876
|
-
},
|
|
877
|
-
PF: {
|
|
878
|
-
name: "French Polynesia",
|
|
879
|
-
callingCode: "+689",
|
|
880
|
-
currency: "XPF"
|
|
881
|
-
},
|
|
882
|
-
PG: {
|
|
883
|
-
name: "Papua New Guinea",
|
|
884
|
-
callingCode: "+675",
|
|
885
|
-
currency: "PGK"
|
|
886
|
-
},
|
|
887
|
-
PH: {
|
|
888
|
-
name: "Philippines",
|
|
889
|
-
callingCode: "+63",
|
|
890
|
-
currency: "PHP"
|
|
891
|
-
},
|
|
892
|
-
PK: {
|
|
893
|
-
name: "Pakistan",
|
|
894
|
-
callingCode: "+92",
|
|
895
|
-
currency: "PKR"
|
|
896
|
-
},
|
|
897
|
-
PL: {
|
|
898
|
-
name: "Poland",
|
|
899
|
-
callingCode: "+48",
|
|
900
|
-
currency: "PLN"
|
|
901
|
-
},
|
|
902
|
-
PM: {
|
|
903
|
-
name: "Saint Pierre and Miquelon",
|
|
904
|
-
callingCode: "+508",
|
|
905
|
-
currency: "EUR"
|
|
906
|
-
},
|
|
907
|
-
PN: {
|
|
908
|
-
name: "Pitcairn",
|
|
909
|
-
callingCode: "+64",
|
|
910
|
-
currency: "NZD"
|
|
911
|
-
},
|
|
912
|
-
PR: {
|
|
913
|
-
name: "Puerto Rico",
|
|
914
|
-
callingCode: "+1",
|
|
915
|
-
currency: "USD"
|
|
916
|
-
},
|
|
917
|
-
PS: {
|
|
918
|
-
name: "Palestine, State of",
|
|
919
|
-
callingCode: "+970",
|
|
920
|
-
currency: "JOD"
|
|
921
|
-
},
|
|
922
|
-
PT: {
|
|
923
|
-
name: "Portugal",
|
|
924
|
-
callingCode: "+351",
|
|
925
|
-
currency: "EUR"
|
|
926
|
-
},
|
|
927
|
-
PW: {
|
|
928
|
-
name: "Palau",
|
|
929
|
-
callingCode: "+680",
|
|
930
|
-
currency: "USD"
|
|
931
|
-
},
|
|
932
|
-
PY: {
|
|
933
|
-
name: "Paraguay",
|
|
934
|
-
callingCode: "+595",
|
|
935
|
-
currency: "PYG"
|
|
936
|
-
},
|
|
937
|
-
QA: {
|
|
938
|
-
name: "Qatar",
|
|
939
|
-
callingCode: "+974",
|
|
940
|
-
currency: "QAR"
|
|
941
|
-
},
|
|
942
|
-
RE: {
|
|
943
|
-
name: "Réunion",
|
|
944
|
-
callingCode: "+262",
|
|
945
|
-
currency: "EUR"
|
|
946
|
-
},
|
|
947
|
-
RO: {
|
|
948
|
-
name: "Romania",
|
|
949
|
-
callingCode: "+40",
|
|
950
|
-
currency: "RON"
|
|
951
|
-
},
|
|
952
|
-
RS: {
|
|
953
|
-
name: "Serbia",
|
|
954
|
-
callingCode: "+381",
|
|
955
|
-
currency: "RSD"
|
|
956
|
-
},
|
|
957
|
-
RU: {
|
|
958
|
-
name: "Russian Federation",
|
|
959
|
-
callingCode: "+7",
|
|
960
|
-
currency: "RUB"
|
|
961
|
-
},
|
|
962
|
-
RW: {
|
|
963
|
-
name: "Rwanda",
|
|
964
|
-
callingCode: "+250",
|
|
965
|
-
currency: "RWF"
|
|
966
|
-
},
|
|
967
|
-
SA: {
|
|
968
|
-
name: "Saudi Arabia",
|
|
969
|
-
callingCode: "+966",
|
|
970
|
-
currency: "SAR"
|
|
971
|
-
},
|
|
972
|
-
SB: {
|
|
973
|
-
name: "Solomon Islands",
|
|
974
|
-
callingCode: "+677",
|
|
975
|
-
currency: "SBD"
|
|
976
|
-
},
|
|
977
|
-
SC: {
|
|
978
|
-
name: "Seychelles",
|
|
979
|
-
callingCode: "+248",
|
|
980
|
-
currency: "SCR"
|
|
981
|
-
},
|
|
982
|
-
SD: {
|
|
983
|
-
name: "Sudan",
|
|
984
|
-
callingCode: "+249",
|
|
985
|
-
currency: "SDG"
|
|
986
|
-
},
|
|
987
|
-
SE: {
|
|
988
|
-
name: "Sweden",
|
|
989
|
-
callingCode: "+46",
|
|
990
|
-
currency: "SEK"
|
|
991
|
-
},
|
|
992
|
-
SG: {
|
|
993
|
-
name: "Singapore",
|
|
994
|
-
callingCode: "+65",
|
|
995
|
-
currency: "SGD"
|
|
996
|
-
},
|
|
997
|
-
SH: {
|
|
998
|
-
name: "Saint Helena, Ascension and Tristan da Cunha",
|
|
999
|
-
callingCode: "+290",
|
|
1000
|
-
currency: "SHP"
|
|
1001
|
-
},
|
|
1002
|
-
SI: {
|
|
1003
|
-
name: "Slovenia",
|
|
1004
|
-
callingCode: "+386",
|
|
1005
|
-
currency: "EUR"
|
|
1006
|
-
},
|
|
1007
|
-
SJ: {
|
|
1008
|
-
name: "Svalbard and Jan Mayen",
|
|
1009
|
-
callingCode: "+47 79",
|
|
1010
|
-
currency: "NOK"
|
|
1011
|
-
},
|
|
1012
|
-
SK: {
|
|
1013
|
-
name: "Slovakia",
|
|
1014
|
-
callingCode: "+421",
|
|
1015
|
-
currency: "EUR"
|
|
1016
|
-
},
|
|
1017
|
-
SL: {
|
|
1018
|
-
name: "Sierra Leone",
|
|
1019
|
-
callingCode: "+232",
|
|
1020
|
-
currency: "SLL"
|
|
1021
|
-
},
|
|
1022
|
-
SM: {
|
|
1023
|
-
name: "San Marino",
|
|
1024
|
-
callingCode: "+378",
|
|
1025
|
-
currency: "EUR"
|
|
1026
|
-
},
|
|
1027
|
-
SN: {
|
|
1028
|
-
name: "Senegal",
|
|
1029
|
-
callingCode: "+221",
|
|
1030
|
-
currency: "XOF"
|
|
1031
|
-
},
|
|
1032
|
-
SO: {
|
|
1033
|
-
name: "Somalia",
|
|
1034
|
-
callingCode: "+252",
|
|
1035
|
-
currency: "SOS"
|
|
1036
|
-
},
|
|
1037
|
-
SR: {
|
|
1038
|
-
name: "Suriname",
|
|
1039
|
-
callingCode: "+597",
|
|
1040
|
-
currency: "SRD"
|
|
1041
|
-
},
|
|
1042
|
-
SS: {
|
|
1043
|
-
name: "South Sudan",
|
|
1044
|
-
callingCode: "+211",
|
|
1045
|
-
currency: "SSP"
|
|
1046
|
-
},
|
|
1047
|
-
ST: {
|
|
1048
|
-
name: "Sao Tome and Principe",
|
|
1049
|
-
callingCode: "+239",
|
|
1050
|
-
currency: "STD"
|
|
1051
|
-
},
|
|
1052
|
-
SV: {
|
|
1053
|
-
name: "El Salvador",
|
|
1054
|
-
callingCode: "+503",
|
|
1055
|
-
currency: "USD"
|
|
1056
|
-
},
|
|
1057
|
-
SX: {
|
|
1058
|
-
name: "Sint Maarten (Dutch part)",
|
|
1059
|
-
callingCode: "+1 721",
|
|
1060
|
-
currency: "ANG"
|
|
1061
|
-
},
|
|
1062
|
-
SY: {
|
|
1063
|
-
name: "Syrian Arab Republic",
|
|
1064
|
-
callingCode: "+963",
|
|
1065
|
-
currency: "SYP"
|
|
1066
|
-
},
|
|
1067
|
-
SZ: {
|
|
1068
|
-
name: "Eswatini",
|
|
1069
|
-
callingCode: "+268",
|
|
1070
|
-
currency: "SZL"
|
|
1071
|
-
},
|
|
1072
|
-
TC: {
|
|
1073
|
-
name: "Turks and Caicos Islands",
|
|
1074
|
-
callingCode: "+1 649",
|
|
1075
|
-
currency: "USD"
|
|
1076
|
-
},
|
|
1077
|
-
TD: {
|
|
1078
|
-
name: "Chad",
|
|
1079
|
-
callingCode: "+235",
|
|
1080
|
-
currency: "XAF"
|
|
1081
|
-
},
|
|
1082
|
-
TF: {
|
|
1083
|
-
name: "French Southern Territories",
|
|
1084
|
-
callingCode: "",
|
|
1085
|
-
currency: "EUR"
|
|
1086
|
-
},
|
|
1087
|
-
TG: {
|
|
1088
|
-
name: "Togo",
|
|
1089
|
-
callingCode: "+228",
|
|
1090
|
-
currency: "XOF"
|
|
1091
|
-
},
|
|
1092
|
-
TH: {
|
|
1093
|
-
name: "Thailand",
|
|
1094
|
-
callingCode: "+66",
|
|
1095
|
-
currency: "THB"
|
|
1096
|
-
},
|
|
1097
|
-
TJ: {
|
|
1098
|
-
name: "Tajikistan",
|
|
1099
|
-
callingCode: "+992",
|
|
1100
|
-
currency: "TJS"
|
|
1101
|
-
},
|
|
1102
|
-
TK: {
|
|
1103
|
-
name: "Tokelau",
|
|
1104
|
-
callingCode: "+690",
|
|
1105
|
-
currency: "NZD"
|
|
1106
|
-
},
|
|
1107
|
-
TL: {
|
|
1108
|
-
name: "Timor-Leste",
|
|
1109
|
-
callingCode: "+670",
|
|
1110
|
-
currency: "USD"
|
|
1111
|
-
},
|
|
1112
|
-
TM: {
|
|
1113
|
-
name: "Turkmenistan",
|
|
1114
|
-
callingCode: "+993",
|
|
1115
|
-
currency: "TMT"
|
|
1116
|
-
},
|
|
1117
|
-
TN: {
|
|
1118
|
-
name: "Tunisia",
|
|
1119
|
-
callingCode: "+216",
|
|
1120
|
-
currency: "TND"
|
|
1121
|
-
},
|
|
1122
|
-
TO: {
|
|
1123
|
-
name: "Tonga",
|
|
1124
|
-
callingCode: "+676",
|
|
1125
|
-
currency: "TOP"
|
|
1126
|
-
},
|
|
1127
|
-
TR: {
|
|
1128
|
-
name: "Turkey",
|
|
1129
|
-
callingCode: "+90",
|
|
1130
|
-
currency: "TRY"
|
|
1131
|
-
},
|
|
1132
|
-
TT: {
|
|
1133
|
-
name: "Trinidad and Tobago",
|
|
1134
|
-
callingCode: "+1 868",
|
|
1135
|
-
currency: "TTD"
|
|
1136
|
-
},
|
|
1137
|
-
TV: {
|
|
1138
|
-
name: "Tuvalu",
|
|
1139
|
-
callingCode: "+688",
|
|
1140
|
-
currency: "AUD"
|
|
1141
|
-
},
|
|
1142
|
-
TW: {
|
|
1143
|
-
name: "Taiwan, Province of China",
|
|
1144
|
-
callingCode: "+886",
|
|
1145
|
-
currency: "TWD"
|
|
1146
|
-
},
|
|
1147
|
-
TZ: {
|
|
1148
|
-
name: "Tanzania, United Republic of",
|
|
1149
|
-
callingCode: "+255",
|
|
1150
|
-
currency: "TZS"
|
|
1151
|
-
},
|
|
1152
|
-
UA: {
|
|
1153
|
-
name: "Ukraine",
|
|
1154
|
-
callingCode: "+380",
|
|
1155
|
-
currency: "UAH"
|
|
1156
|
-
},
|
|
1157
|
-
UG: {
|
|
1158
|
-
name: "Uganda",
|
|
1159
|
-
callingCode: "+256",
|
|
1160
|
-
currency: "UGX"
|
|
1161
|
-
},
|
|
1162
|
-
UM: {
|
|
1163
|
-
name: "United States Minor Outlying Islands",
|
|
1164
|
-
callingCode: "",
|
|
1165
|
-
currency: "USD"
|
|
1166
|
-
},
|
|
1167
|
-
US: {
|
|
1168
|
-
name: "United States of America",
|
|
1169
|
-
callingCode: "+1",
|
|
1170
|
-
currency: "USD"
|
|
1171
|
-
},
|
|
1172
|
-
UY: {
|
|
1173
|
-
name: "Uruguay",
|
|
1174
|
-
callingCode: "+598",
|
|
1175
|
-
currency: "UYU"
|
|
1176
|
-
},
|
|
1177
|
-
UZ: {
|
|
1178
|
-
name: "Uzbekistan",
|
|
1179
|
-
callingCode: "+998",
|
|
1180
|
-
currency: "UZS"
|
|
1181
|
-
},
|
|
1182
|
-
VA: {
|
|
1183
|
-
name: "Holy See",
|
|
1184
|
-
callingCode: "+39",
|
|
1185
|
-
currency: "EUR"
|
|
1186
|
-
},
|
|
1187
|
-
VC: {
|
|
1188
|
-
name: "Saint Vincent and the Grenadines",
|
|
1189
|
-
callingCode: "+1 784",
|
|
1190
|
-
currency: "XCD"
|
|
1191
|
-
},
|
|
1192
|
-
VE: {
|
|
1193
|
-
name: "Venezuela (Bolivarian Republic of)",
|
|
1194
|
-
callingCode: "+58",
|
|
1195
|
-
currency: "VEF"
|
|
1196
|
-
},
|
|
1197
|
-
VG: {
|
|
1198
|
-
name: "Virgin Islands (British)",
|
|
1199
|
-
callingCode: "",
|
|
1200
|
-
currency: "USD"
|
|
1201
|
-
},
|
|
1202
|
-
VI: {
|
|
1203
|
-
name: "Virgin Islands (U.S.)",
|
|
1204
|
-
callingCode: "+1",
|
|
1205
|
-
currency: "USD"
|
|
1206
|
-
},
|
|
1207
|
-
VN: {
|
|
1208
|
-
name: "Viet Nam",
|
|
1209
|
-
callingCode: "+84",
|
|
1210
|
-
currency: "VND"
|
|
1211
|
-
},
|
|
1212
|
-
VU: {
|
|
1213
|
-
name: "Vanuatu",
|
|
1214
|
-
callingCode: "+678",
|
|
1215
|
-
currency: "VUV"
|
|
1216
|
-
},
|
|
1217
|
-
WF: {
|
|
1218
|
-
name: "Wallis and Futuna",
|
|
1219
|
-
callingCode: "+681",
|
|
1220
|
-
currency: "XPF"
|
|
1221
|
-
},
|
|
1222
|
-
WS: {
|
|
1223
|
-
name: "Samoa",
|
|
1224
|
-
callingCode: "+685",
|
|
1225
|
-
currency: "EUR"
|
|
1226
|
-
},
|
|
1227
|
-
YE: {
|
|
1228
|
-
name: "Yemen",
|
|
1229
|
-
callingCode: "+967",
|
|
1230
|
-
currency: "YER"
|
|
1231
|
-
},
|
|
1232
|
-
YT: {
|
|
1233
|
-
name: "Mayotte",
|
|
1234
|
-
callingCode: "+26",
|
|
1235
|
-
currency: "EUR"
|
|
1236
|
-
},
|
|
1237
|
-
ZA: {
|
|
1238
|
-
name: "South Africa",
|
|
1239
|
-
callingCode: "+27",
|
|
1240
|
-
currency: "ZAR"
|
|
1241
|
-
},
|
|
1242
|
-
ZM: {
|
|
1243
|
-
name: "Zambia",
|
|
1244
|
-
callingCode: "+260",
|
|
1245
|
-
currency: "ZMW"
|
|
1246
|
-
},
|
|
1247
|
-
ZW: {
|
|
1248
|
-
name: "Zimbabwe",
|
|
1249
|
-
callingCode: "+263",
|
|
1250
|
-
currency: "USD"
|
|
1251
|
-
}
|
|
1252
|
-
}, ge = {
|
|
1253
|
-
props: {
|
|
1254
|
-
defaultOpen: {
|
|
1255
|
-
type: Boolean,
|
|
1256
|
-
default: !0
|
|
1257
|
-
},
|
|
1258
|
-
value: {
|
|
1259
|
-
type: Boolean,
|
|
1260
|
-
default: null
|
|
1261
|
-
},
|
|
1262
|
-
duration: {
|
|
1263
|
-
type: Number,
|
|
1264
|
-
default: 250
|
|
1265
|
-
}
|
|
1266
|
-
},
|
|
1267
|
-
data() {
|
|
1268
|
-
return {
|
|
1269
|
-
internalExpanded: !1
|
|
1270
|
-
};
|
|
1271
|
-
},
|
|
1272
|
-
computed: {
|
|
1273
|
-
wrapperStyle() {
|
|
1274
|
-
return {
|
|
1275
|
-
transitionDuration: `${this.duration}ms`
|
|
1276
|
-
};
|
|
1277
|
-
},
|
|
1278
|
-
expanded: {
|
|
1279
|
-
get() {
|
|
1280
|
-
return this.value === null ? this.internalExpanded : this.value;
|
|
1281
|
-
},
|
|
1282
|
-
set(n) {
|
|
1283
|
-
this.value === null ? this.internalExpanded = n : this.$emit("input", this.value);
|
|
1284
|
-
}
|
|
1285
|
-
}
|
|
1286
|
-
},
|
|
1287
|
-
created() {
|
|
1288
|
-
this.defaultOpen && (this.expanded = !0);
|
|
1289
|
-
},
|
|
1290
|
-
mounted() {
|
|
1291
|
-
this.expanded && this.setWrapperHeightTo("auto");
|
|
1292
|
-
},
|
|
1293
|
-
methods: {
|
|
1294
|
-
onEnter(n) {
|
|
1295
|
-
this.setWrapperHeightTo(this.getContentHeight(), n);
|
|
1296
|
-
},
|
|
1297
|
-
onAfterEnter(n) {
|
|
1298
|
-
this.setWrapperHeightTo("auto", n);
|
|
1299
|
-
},
|
|
1300
|
-
onBeforeLeave(n) {
|
|
1301
|
-
this.setWrapperHeightTo(this.getContentHeight(), n);
|
|
1302
|
-
},
|
|
1303
|
-
onLeave(n) {
|
|
1304
|
-
n.scrollHeight, this.setWrapperHeightTo(0, n);
|
|
1305
|
-
},
|
|
1306
|
-
getContentHeight() {
|
|
1307
|
-
const { inner: n } = this.$refs;
|
|
1308
|
-
return n.getBoundingClientRect().height;
|
|
1309
|
-
},
|
|
1310
|
-
setWrapperHeightTo(n, e = this.$refs.wrapper) {
|
|
1311
|
-
e.style.height = typeof n == "number" ? `${n}px` : n;
|
|
1312
|
-
}
|
|
1313
|
-
}
|
|
1314
|
-
};
|
|
1315
|
-
var he = function() {
|
|
1316
|
-
var e = this, t = e._self._c;
|
|
1317
|
-
return t("div", [t("div", { on: { click: function(a) {
|
|
1318
|
-
e.expanded = !e.expanded;
|
|
1319
|
-
} } }, [e._t("trigger", null, { expanded: e.expanded })], 2), t("transition", { on: { enter: e.onEnter, "after-enter": e.onAfterEnter, "before-leave": e.onBeforeLeave, leave: e.onLeave } }, [e.expanded ? t("div", { ref: "wrapper", staticClass: "c-accordion", style: e.wrapperStyle }, [t("div", { ref: "inner", staticClass: "c-accordion__inner" }, [e._t("default")], 2)]) : e._e()])], 1);
|
|
1320
|
-
}, fe = [], ye = /* @__PURE__ */ d(
|
|
1321
|
-
ge,
|
|
1322
|
-
he,
|
|
1323
|
-
fe,
|
|
1324
|
-
!1,
|
|
1325
|
-
null,
|
|
1326
|
-
null
|
|
1327
|
-
);
|
|
1328
|
-
const Ce = ye.exports, ve = {
|
|
1329
|
-
name: "CalloutLegacy",
|
|
1330
|
-
i18nOptions: {
|
|
1331
|
-
namespaces: "components",
|
|
1332
|
-
messages: {
|
|
1333
|
-
sv: {
|
|
1334
|
-
legacy: {
|
|
1335
|
-
title: "Du har en gammal kontoplan",
|
|
1336
|
-
text: `
|
|
1337
|
-
Den här funktionen är enbart tillgänglig på våra uppdaterade kontoplaner.
|
|
1338
|
-
För att gå vidare måste du först byta till de uppdaterade kontoplanerna.
|
|
1339
|
-
`,
|
|
1340
|
-
action: "Gå till inställningar"
|
|
1341
|
-
},
|
|
1342
|
-
invoice: {
|
|
1343
|
-
title: "Byt till kortbetalning",
|
|
1344
|
-
text: `
|
|
1345
|
-
För att gå vidare måste du byta till att använda kortbetalning.
|
|
1346
|
-
Din betalningsmetod är just nu faktura.
|
|
1347
|
-
`,
|
|
1348
|
-
action: "Gå till inställningar"
|
|
1349
|
-
}
|
|
1350
|
-
},
|
|
1351
|
-
en: {
|
|
1352
|
-
legacy: {
|
|
1353
|
-
title: "Your account plan is outdated",
|
|
1354
|
-
text: `
|
|
1355
|
-
This feature is now only available on our updated account plans.
|
|
1356
|
-
To continue you must first convert your account to the updated account plans.
|
|
1357
|
-
`,
|
|
1358
|
-
action: "Go to settings"
|
|
1359
|
-
},
|
|
1360
|
-
invoice: {
|
|
1361
|
-
title: "Change to card",
|
|
1362
|
-
text: `
|
|
1363
|
-
To continue you must change your payment method to card. You're currently using invoice as a payment method.
|
|
1364
|
-
`,
|
|
1365
|
-
action: "Go to settings"
|
|
1366
|
-
}
|
|
1367
|
-
}
|
|
1368
|
-
}
|
|
1369
|
-
},
|
|
1370
|
-
props: {
|
|
1371
|
-
mode: {
|
|
1372
|
-
type: String,
|
|
1373
|
-
default: "legacy",
|
|
1374
|
-
validator: (n) => ["legacy", "invoice"].includes(n)
|
|
1375
|
-
}
|
|
1376
|
-
}
|
|
1377
|
-
};
|
|
1378
|
-
var be = function() {
|
|
1379
|
-
var e = this, t = e._self._c;
|
|
1380
|
-
return t("div", { staticStyle: { border: "2px solid hsla(35, 100%, 50%, 0.2)", "background-color": "hsl(35, 100%, 91%)", padding: "1.5em", "border-radius": "8px", margin: "calc(2 * var(--rem)) 0 calc(3 * var(--rem)) 0" } }, [t("div", { staticStyle: { "font-weight": "600" }, domProps: { textContent: e._s(e.$t(`${e.mode}.title`)) } }), t("div", { staticStyle: { "font-size": "14px", opacity: "0.7", "margin-bottom": "2em" }, domProps: { textContent: e._s(e.$t(`${e.mode}.text`)) } }), t("CButton", { attrs: { to: { name: "settingsBilling", query: { highlight: e.mode } }, target: "_blank", type: "secondary", wide: "", "icon-right": "new-window" } }, [e._v(" " + e._s(e.$t(`${e.mode}.action`)) + " ")])], 1);
|
|
1381
|
-
}, _e = [], Pe = /* @__PURE__ */ d(
|
|
1382
|
-
ve,
|
|
1383
|
-
be,
|
|
1384
|
-
_e,
|
|
1385
|
-
!1,
|
|
1386
|
-
null,
|
|
1387
|
-
null
|
|
1388
|
-
);
|
|
1389
|
-
const G = Pe.exports, Se = (n) => D.te(`errors:${n}`) && D.t(`errors:${n}`), ke = "stripe", {
|
|
1390
|
-
LOAD_PRICES: A,
|
|
1391
|
-
RESET_STRIPE_FORM: xe,
|
|
1392
|
-
SET_STRIPE_FORM_VALUE: we,
|
|
1393
|
-
SET_FORM_PROMOTION: V,
|
|
1394
|
-
SUBMIT_PROMOTION_CODE: $e,
|
|
1395
|
-
SUBMIT_PAYMENT_METHOD: O,
|
|
1396
|
-
SUBMIT_FORM_PLAN: Te,
|
|
1397
|
-
REMOVE_SUBSCRIPTION_ITEM: Me,
|
|
1398
|
-
CONFIRM_PAYMENT: N,
|
|
1399
|
-
SUBMIT_FORM_PAYMENT: w,
|
|
1400
|
-
SUBMIT_FORM_PRODUCTS: Ee
|
|
1401
|
-
} = ne, z = {
|
|
1402
|
-
// The term "plan" refers to a _price_ connected to a _product_ with metadata.accountType
|
|
1403
|
-
plan: { accountType: "pro", interval: "month", quantity: 1 },
|
|
1404
|
-
customer: { name: "", email: "", region: null },
|
|
1405
|
-
promotion: null,
|
|
1406
|
-
error: null,
|
|
1407
|
-
// This array is meant for extra stripe products such as Fortnox API other then the license / metered quotas
|
|
1408
|
-
products: [],
|
|
1409
|
-
// Array of obj on format { quantity, stripePriceStripeId, stripeProductStripeId }
|
|
1410
|
-
dealSource: null
|
|
1411
|
-
// If the payment should be associated with a specific dealSource
|
|
1412
|
-
}, q = {
|
|
1413
|
-
SE: 0.25
|
|
1414
|
-
}, j = {
|
|
1415
|
-
namespaced: !0,
|
|
1416
|
-
state: {
|
|
1417
|
-
isFetching: !1,
|
|
1418
|
-
isPosting: !1,
|
|
1419
|
-
isPostingPaymentMethod: !1,
|
|
1420
|
-
priceIds: [],
|
|
1421
|
-
prices: {},
|
|
1422
|
-
activePriceMap: {
|
|
1423
|
-
start: { month: null, year: null },
|
|
1424
|
-
base: { month: null, year: null },
|
|
1425
|
-
pro: { month: null, year: null }
|
|
1426
|
-
},
|
|
1427
|
-
form: F(z)
|
|
1428
|
-
},
|
|
1429
|
-
getters: {
|
|
1430
|
-
isPosting: ({ isPosting: n }) => n,
|
|
1431
|
-
subscriptions: (n, e, t, a) => C(a["application/companyAccount"], "StripeSubscriptions") || [],
|
|
1432
|
-
subscriptionItems: (n, { subscriptions: e }) => {
|
|
1433
|
-
const t = [];
|
|
1434
|
-
return e.forEach(({ stripeItems: a = [] }) => {
|
|
1435
|
-
Array.isArray(a) && a.forEach((r) => {
|
|
1436
|
-
t.push({
|
|
1437
|
-
quantity: r.quantity,
|
|
1438
|
-
stripePriceStripeId: r.stripePriceStripeId,
|
|
1439
|
-
stripeProductStripeId: r.stripeProductStripeId
|
|
1440
|
-
});
|
|
1441
|
-
});
|
|
1442
|
-
}), t;
|
|
1443
|
-
},
|
|
1444
|
-
customer: (n, e, t, a) => C(a["application/companyAccount"], "StripeCustomer") || null,
|
|
1445
|
-
products: ({ prices: n }) => {
|
|
1446
|
-
const e = {};
|
|
1447
|
-
return Object.keys(n).forEach((t) => {
|
|
1448
|
-
const a = n[t];
|
|
1449
|
-
e[a.stripeProductId] || (e[a.stripeProductId] = { ...a.StripeProduct, prices: [] }), e[a.stripeProductId].prices.push(a);
|
|
1450
|
-
}), e;
|
|
1451
|
-
},
|
|
1452
|
-
getProduct: (n, e) => (t) => {
|
|
1453
|
-
const a = {
|
|
1454
|
-
fortnox: "Fortnox API"
|
|
1455
|
-
// apiDocuments,
|
|
1456
|
-
// sms,
|
|
1457
|
-
// bankId,
|
|
1458
|
-
};
|
|
1459
|
-
if (!a[t])
|
|
1460
|
-
throw new Error(`Invalid product: ${t}`);
|
|
1461
|
-
return Object.values(e.products).find(
|
|
1462
|
-
(r) => r.name === a[t]
|
|
1463
|
-
);
|
|
1464
|
-
},
|
|
1465
|
-
getProductByPriceId: (n, e) => (t) => {
|
|
1466
|
-
if (!t)
|
|
1467
|
-
throw new Error("Missing parameter stripeId");
|
|
1468
|
-
const a = e.priceById(t);
|
|
1469
|
-
return a ? {
|
|
1470
|
-
stripePriceStripeId: a.stripeId,
|
|
1471
|
-
stripeProductStripeId: a.stripeProductId,
|
|
1472
|
-
quantity: 1
|
|
1473
|
-
} : null;
|
|
1474
|
-
},
|
|
1475
|
-
getMeteredProduct: (n, e) => (t) => {
|
|
1476
|
-
if (!t)
|
|
1477
|
-
throw new Error("Missing parameter meteredType");
|
|
1478
|
-
const a = e.products, r = Object.keys(a).find(
|
|
1479
|
-
(i) => C(a[i], "metadata.meteredType") === t
|
|
1480
|
-
);
|
|
1481
|
-
return a[r];
|
|
1482
|
-
},
|
|
1483
|
-
formPromotion: (n) => n.form.promotion,
|
|
1484
|
-
formCustomer: (n) => n.form.customer,
|
|
1485
|
-
formDealSource: (n) => n.form.dealSource,
|
|
1486
|
-
formError: (n) => n.form.error,
|
|
1487
|
-
formPlan: (n, e) => {
|
|
1488
|
-
const { accountType: t, interval: a, quantity: r } = n.form.plan;
|
|
1489
|
-
if (!t || !a)
|
|
1490
|
-
return null;
|
|
1491
|
-
if (t === "free")
|
|
1492
|
-
return { accountType: t, interval: a, quantity: r };
|
|
1493
|
-
const i = e.getPrice(t, a);
|
|
1494
|
-
return {
|
|
1495
|
-
quantity: r,
|
|
1496
|
-
accountType: t,
|
|
1497
|
-
interval: a,
|
|
1498
|
-
...i
|
|
1499
|
-
};
|
|
1500
|
-
},
|
|
1501
|
-
currentPlan: (n, e) => {
|
|
1502
|
-
const { subscriptionItems: t } = e;
|
|
1503
|
-
if (!t || !t.length)
|
|
1504
|
-
return null;
|
|
1505
|
-
const a = t.find(
|
|
1506
|
-
(i) => C(
|
|
1507
|
-
n.prices[i.stripePriceStripeId],
|
|
1508
|
-
"StripeProduct.metadata.accountType"
|
|
1509
|
-
)
|
|
1510
|
-
);
|
|
1511
|
-
if (!a)
|
|
1512
|
-
return null;
|
|
1513
|
-
const r = n.prices[a.stripePriceStripeId];
|
|
1514
|
-
return {
|
|
1515
|
-
...r,
|
|
1516
|
-
quantity: a.quantity,
|
|
1517
|
-
accountType: r.StripeProduct.metadata.accountType
|
|
1518
|
-
};
|
|
1519
|
-
},
|
|
1520
|
-
priceById: (n) => (e) => n.prices[e],
|
|
1521
|
-
getPrice: (n, e) => (t, a) => {
|
|
1522
|
-
const { currentPlan: r } = e;
|
|
1523
|
-
return r && r.accountType === t && r.interval === a && r.active ? r : n.prices[n.activePriceMap[t][a]] || null;
|
|
1524
|
-
},
|
|
1525
|
-
formProducts: (n) => n.form.products,
|
|
1526
|
-
/**
|
|
1527
|
-
* Get price summaries for the current form configuration
|
|
1528
|
-
* @returns {Object} Price obj on format { intervals: {}, currency }
|
|
1529
|
-
*/
|
|
1530
|
-
formPrices: (n, e) => {
|
|
1531
|
-
function t(i, s, c) {
|
|
1532
|
-
const o = i;
|
|
1533
|
-
return (!o.intervals[s] || !Object.keys(o.intervals[s]).length) && (o.intervals[s] = {
|
|
1534
|
-
subTotalBeforeDiscount: 0,
|
|
1535
|
-
vatAmount: 0,
|
|
1536
|
-
subTotal: 0,
|
|
1537
|
-
totalAmount: 0,
|
|
1538
|
-
items: []
|
|
1539
|
-
}), Object.keys(c).forEach((l) => {
|
|
1540
|
-
Array.isArray(c[l]) ? o.intervals[s][l] = o.intervals[s][l].concat(c[l]) : o.intervals[s][l] += c[l];
|
|
1541
|
-
}), o;
|
|
1542
|
-
}
|
|
1543
|
-
let a = {
|
|
1544
|
-
intervals: {},
|
|
1545
|
-
currency: e.formPlan.currency
|
|
1546
|
-
};
|
|
1547
|
-
function r() {
|
|
1548
|
-
const i = (e.formPlan.amount || 0) * e.formPlan.quantity;
|
|
1549
|
-
let s = i;
|
|
1550
|
-
e.formPromotion && (e.formPromotion.amountOff ? s -= e.formPromotion.amountOff : e.formPromotion.percentOff && (s *= 1 - e.formPromotion.percentOff / 100));
|
|
1551
|
-
const c = s * (q[e.formCustomer.region] || 0), o = s + c;
|
|
1552
|
-
a = t(a, e.formPlan.interval, {
|
|
1553
|
-
subTotalBeforeDiscount: i,
|
|
1554
|
-
subTotal: s,
|
|
1555
|
-
vatAmount: c,
|
|
1556
|
-
totalAmount: o,
|
|
1557
|
-
items: [
|
|
1558
|
-
{
|
|
1559
|
-
name: e.formPlan.accountType,
|
|
1560
|
-
amount: i,
|
|
1561
|
-
quantity: e.formPlan.quantity
|
|
1562
|
-
}
|
|
1563
|
-
]
|
|
1564
|
-
});
|
|
1565
|
-
}
|
|
1566
|
-
return r(), e.formProducts.forEach((i) => {
|
|
1567
|
-
const s = e.priceById(i.stripePriceStripeId);
|
|
1568
|
-
if (s) {
|
|
1569
|
-
let c = s.interval;
|
|
1570
|
-
s.usageType === "one_time" && (c = "oneOff");
|
|
1571
|
-
const o = s.amount * i.quantity;
|
|
1572
|
-
let l = o;
|
|
1573
|
-
e.formPromotion && (e.formPromotion.amountOff ? l -= e.formPromotion.amountOff : e.formPromotion.percentOff && (l *= 1 - e.formPromotion.percentOff / 100));
|
|
1574
|
-
const p = l * (q[e.formCustomer.region] || 0), g = l + p;
|
|
1575
|
-
a = t(a, c, {
|
|
1576
|
-
subTotalBeforeDiscount: o,
|
|
1577
|
-
subTotal: l,
|
|
1578
|
-
vatAmount: p,
|
|
1579
|
-
totalAmount: g,
|
|
1580
|
-
items: [
|
|
1581
|
-
{
|
|
1582
|
-
name: s.StripeProduct.name,
|
|
1583
|
-
amount: o,
|
|
1584
|
-
quantity: i.quantity
|
|
1585
|
-
}
|
|
1586
|
-
]
|
|
1587
|
-
});
|
|
1588
|
-
}
|
|
1589
|
-
}), a;
|
|
1590
|
-
}
|
|
1591
|
-
},
|
|
1592
|
-
actions: {
|
|
1593
|
-
async [A]({ commit: n }) {
|
|
1594
|
-
try {
|
|
1595
|
-
n("setFetching", !0);
|
|
1596
|
-
const { data: e } = await M.getPrices();
|
|
1597
|
-
n("setPrices", { data: e }), n("setActivePriceMap");
|
|
1598
|
-
} catch (e) {
|
|
1599
|
-
this.handleError(e, {
|
|
1600
|
-
action: `${ke}/${A}`,
|
|
1601
|
-
actionPayload: null
|
|
1602
|
-
});
|
|
1603
|
-
} finally {
|
|
1604
|
-
n("setFetching", !1);
|
|
1605
|
-
}
|
|
1606
|
-
},
|
|
1607
|
-
async [xe]({ commit: n }) {
|
|
1608
|
-
n("setForm", F(z));
|
|
1609
|
-
},
|
|
1610
|
-
async [we]({ commit: n }, { key: e, value: t }) {
|
|
1611
|
-
n("setFormValue", { key: e, value: t });
|
|
1612
|
-
},
|
|
1613
|
-
[V]({ commit: n, getters: e }, { promotionDetails: t, code: a = null } = {}) {
|
|
1614
|
-
if (!t)
|
|
1615
|
-
return !1;
|
|
1616
|
-
const { appliesToStripeProductIds: r } = t, { stripeProductId: i } = e.formPlan || {};
|
|
1617
|
-
return Array.isArray(r) && !r.includes(i) ? !1 : (n("setFormValue", {
|
|
1618
|
-
key: "promotion",
|
|
1619
|
-
value: { ...t, code: a }
|
|
1620
|
-
}), !0);
|
|
1621
|
-
},
|
|
1622
|
-
async [$e]({ commit: n, getters: e, dispatch: t }, a) {
|
|
1623
|
-
try {
|
|
1624
|
-
if (e.isPosting || !a)
|
|
1625
|
-
return !1;
|
|
1626
|
-
n("setPosting", !0);
|
|
1627
|
-
const { data: r } = await X(a);
|
|
1628
|
-
return t(V, {
|
|
1629
|
-
promotionDetails: r,
|
|
1630
|
-
code: a
|
|
1631
|
-
});
|
|
1632
|
-
} catch {
|
|
1633
|
-
return !1;
|
|
1634
|
-
} finally {
|
|
1635
|
-
n("setPosting", !1);
|
|
1636
|
-
}
|
|
1637
|
-
},
|
|
1638
|
-
// Submit payment method to Stripe
|
|
1639
|
-
async [O]({ commit: n }, { cardElement: e }) {
|
|
1640
|
-
const t = window.$stripe;
|
|
1641
|
-
try {
|
|
1642
|
-
if (!e)
|
|
1643
|
-
throw new Error("Missing parameter cardElement");
|
|
1644
|
-
if (!t)
|
|
1645
|
-
throw new Error("Stripe is not installed on the window");
|
|
1646
|
-
n("setPostingPaymentMethod", !0);
|
|
1647
|
-
const { paymentMethod: a = {}, error: r } = await t.createPaymentMethod("card", e);
|
|
1648
|
-
if (r)
|
|
1649
|
-
throw new Error(r.message || "Card Error");
|
|
1650
|
-
const { id: i } = a, { last4: s, brand: c } = a.card || {};
|
|
1651
|
-
return { id: i, last4: s, brand: c };
|
|
1652
|
-
} catch (a) {
|
|
1653
|
-
return this.handleError(a), null;
|
|
1654
|
-
} finally {
|
|
1655
|
-
n("setPostingPaymentMethod", !1);
|
|
1656
|
-
}
|
|
1657
|
-
},
|
|
1658
|
-
/**
|
|
1659
|
-
* Submit products to API to confirm changes
|
|
1660
|
-
* @param {Object} Vuex
|
|
1661
|
-
* @param {Object} obj
|
|
1662
|
-
* @param {Object} obj.form Obj with form data to submit
|
|
1663
|
-
* @param {Boolean} obj.removeUnusedItems Optional if items not specified should be removed, defaults true
|
|
1664
|
-
* @returns {Promise<Boolean>} Resolves with true if successful, otherwise false
|
|
1665
|
-
*/
|
|
1666
|
-
async [w]({ commit: n, getters: e, dispatch: t }, { form: a, stripe: { cardElement: r } = {}, removeUnusedItems: i = !0 } = {}) {
|
|
1667
|
-
try {
|
|
1668
|
-
n("setPosting", !0), n("setFormValue", { key: "error", value: null });
|
|
1669
|
-
const { items: s } = a, { formCustomer: c, formPromotion: o, customer: l, formDealSource: p } = e;
|
|
1670
|
-
let g;
|
|
1671
|
-
r && (g = await t(O, { cardElement: r }));
|
|
1672
|
-
const S = { ...c, items: s };
|
|
1673
|
-
g && (S.paymentMethod = g), o && o.code && (S.promotionCode = o.code), p && (S.dealSource = p);
|
|
1674
|
-
const { data: W = {} } = await M.product(S, {
|
|
1675
|
-
removeUnusedItems: i
|
|
1676
|
-
}), { clientSecrets: T } = W, R = g && g.id ? g.id : l && l.paymentMethodId;
|
|
1677
|
-
return T && T.length && R ? await t(N, {
|
|
1678
|
-
clientSecrets: T,
|
|
1679
|
-
paymentMethodId: R
|
|
1680
|
-
}) : !0;
|
|
1681
|
-
} catch (s) {
|
|
1682
|
-
this.handleError(s);
|
|
1683
|
-
const c = (s.errorCode ? Se(s.errorCode) : "") || s.message;
|
|
1684
|
-
return n("setFormValue", {
|
|
1685
|
-
key: "error",
|
|
1686
|
-
value: c || "Submit Form Payment Error"
|
|
1687
|
-
}), !1;
|
|
1688
|
-
} finally {
|
|
1689
|
-
n("setPosting", !1);
|
|
1690
|
-
}
|
|
1691
|
-
},
|
|
1692
|
-
async [Te]({ commit: n, dispatch: e, getters: t }, { cardElement: a } = {}) {
|
|
1693
|
-
try {
|
|
1694
|
-
const { formPlan: r, formProducts: i, products: s, subscriptionItems: c } = t;
|
|
1695
|
-
if (!r)
|
|
1696
|
-
return !1;
|
|
1697
|
-
const o = [...c], l = o.findIndex(
|
|
1698
|
-
(p) => C(s[p.stripeProductStripeId], "metadata.accountType")
|
|
1699
|
-
);
|
|
1700
|
-
return l !== -1 && o.splice(l, 1), o.push({
|
|
1701
|
-
stripePriceStripeId: r.stripeId,
|
|
1702
|
-
stripeProductStripeId: r.stripeProductId,
|
|
1703
|
-
quantity: r.quantity
|
|
1704
|
-
}), o.push(...i), await e(w, {
|
|
1705
|
-
form: { items: o },
|
|
1706
|
-
stripe: { cardElement: a }
|
|
1707
|
-
});
|
|
1708
|
-
} catch (r) {
|
|
1709
|
-
return this.handleError(r), n("setFormValue", {
|
|
1710
|
-
key: "error",
|
|
1711
|
-
value: r.message || "Submit Plan Error"
|
|
1712
|
-
}), !1;
|
|
1713
|
-
}
|
|
1714
|
-
},
|
|
1715
|
-
async [Ee]({ commit: n, dispatch: e, getters: t }, { cardElement: a, removeUnusedItems: r = !0 } = {}) {
|
|
1716
|
-
try {
|
|
1717
|
-
const { formProducts: i } = t, s = [...i];
|
|
1718
|
-
return s.length ? await e(w, {
|
|
1719
|
-
form: { items: s },
|
|
1720
|
-
stripe: { cardElement: a },
|
|
1721
|
-
removeUnusedItems: r
|
|
1722
|
-
}) : !1;
|
|
1723
|
-
} catch (i) {
|
|
1724
|
-
return this.handleError(i), n("setFormValue", {
|
|
1725
|
-
key: "error",
|
|
1726
|
-
value: i.message || "Submit Products Error"
|
|
1727
|
-
}), !1;
|
|
1728
|
-
}
|
|
1729
|
-
},
|
|
1730
|
-
/**
|
|
1731
|
-
* Confirm a Stripe payment with secret(s) and paymentMethodId
|
|
1732
|
-
* Some cards required confirmation on first and/or each payment.
|
|
1733
|
-
* @param {Object} Vuex
|
|
1734
|
-
* @param {Object} obj
|
|
1735
|
-
* @param {Object[]} obj.clientSecrets Array of Stripe clientSecrets objects
|
|
1736
|
-
* @param {String} obj.paymentMethodId The stripe payment method id to use
|
|
1737
|
-
* @returns {Promise<Boolean>} Resolves with true if successful, otherwise false
|
|
1738
|
-
*/
|
|
1739
|
-
async [N]({ commit: n }, { clientSecrets: e = [], paymentMethodId: t }) {
|
|
1740
|
-
const a = window.$stripe;
|
|
1741
|
-
try {
|
|
1742
|
-
if (!t)
|
|
1743
|
-
throw new Error("Missing parameter paymentMethodId");
|
|
1744
|
-
if (!a)
|
|
1745
|
-
throw new Error("Stripe is not installed on the window");
|
|
1746
|
-
if (!Array.isArray(e))
|
|
1747
|
-
throw new Error("Param clientSecrets needs to be an array");
|
|
1748
|
-
return await e.reduce(async (i, s) => {
|
|
1749
|
-
await i;
|
|
1750
|
-
const { paymentIntent: c, error: o } = await a.confirmCardPayment(s, {
|
|
1751
|
-
payment_method: t
|
|
1752
|
-
});
|
|
1753
|
-
return o ? (o.message && n("setFormValue", {
|
|
1754
|
-
key: "error",
|
|
1755
|
-
value: o.message
|
|
1756
|
-
}), await M.cancelAll({
|
|
1757
|
-
immediately: !0,
|
|
1758
|
-
status: "incomplete"
|
|
1759
|
-
}), !1) : c && c.status === "succeeded";
|
|
1760
|
-
}, Promise.resolve());
|
|
1761
|
-
} catch (r) {
|
|
1762
|
-
return this.handleError(r), !1;
|
|
1763
|
-
}
|
|
1764
|
-
},
|
|
1765
|
-
/**
|
|
1766
|
-
* Remove a specific item by priceId
|
|
1767
|
-
* Action to remove a specific stripePriceStripeId from active items.
|
|
1768
|
-
* @param {Object} Vuex
|
|
1769
|
-
* @param {Object} obj
|
|
1770
|
-
* @param {String} obj.stripePriceStripeId priceId to remove
|
|
1771
|
-
* @returns {Promise<Boolean>} Resolves with true if successful, otherwise false
|
|
1772
|
-
*/
|
|
1773
|
-
async [Me]({ commit: n, dispatch: e, getters: t }, { stripePriceStripeId: a }) {
|
|
1774
|
-
try {
|
|
1775
|
-
if (!a)
|
|
1776
|
-
throw new Error("Missing parameter stripePriceStripeId");
|
|
1777
|
-
n("setPosting", !0);
|
|
1778
|
-
const { subscriptionItems: r } = t;
|
|
1779
|
-
let i = [...r];
|
|
1780
|
-
return i = i.filter(
|
|
1781
|
-
(s) => s.stripePriceStripeId !== a
|
|
1782
|
-
), await e(w, { form: { items: i } });
|
|
1783
|
-
} catch (r) {
|
|
1784
|
-
return this.handleError(r), !1;
|
|
1785
|
-
} finally {
|
|
1786
|
-
n("setPosting", !1);
|
|
1787
|
-
}
|
|
1788
|
-
}
|
|
1789
|
-
},
|
|
1790
|
-
mutations: {
|
|
1791
|
-
setFetching: (n, e) => {
|
|
1792
|
-
n.isFetching = e;
|
|
1793
|
-
},
|
|
1794
|
-
setPosting: (n, e) => {
|
|
1795
|
-
n.isPosting = e;
|
|
1796
|
-
},
|
|
1797
|
-
setPostingPaymentMethod: (n, e) => {
|
|
1798
|
-
n.isPostingPaymentMethod = e;
|
|
1799
|
-
},
|
|
1800
|
-
// --- Prices ---
|
|
1801
|
-
setPrices: (n, { data: e = [] }) => {
|
|
1802
|
-
if (typeof e != "object")
|
|
1803
|
-
throw Error("Data must be a priceItem or array of priceItems!");
|
|
1804
|
-
const t = Array.isArray(e) ? e : [e], { ids: a, values: r } = Q(t, { keyId: "stripeId" });
|
|
1805
|
-
J(n.prices, r), n.priceIds = ee([...a, ...n.priceIds]);
|
|
1806
|
-
},
|
|
1807
|
-
setActivePriceMap: ({ prices: n, activePriceMap: e }) => Object.keys(n).forEach((t) => {
|
|
1808
|
-
const a = n[t], r = C(a, "StripeProduct.metadata.accountType");
|
|
1809
|
-
r && a.active && C(a, "metadata.visible") === !0 && (e[r][a.interval] = t);
|
|
1810
|
-
}),
|
|
1811
|
-
// --- Form ---
|
|
1812
|
-
setForm: (n, e) => {
|
|
1813
|
-
U.set(n, "form", e);
|
|
1814
|
-
},
|
|
1815
|
-
setFormValue: (n, { key: e, value: t }) => {
|
|
1816
|
-
const { root: a, prop: r } = te(n, `form.${e}`);
|
|
1817
|
-
U.set(a, r, t);
|
|
1818
|
-
}
|
|
1819
|
-
}
|
|
1820
|
-
}, Ie = {
|
|
1821
|
-
props: {
|
|
1822
|
-
colors: {
|
|
1823
|
-
type: Array,
|
|
1824
|
-
default: () => ["#FF1461", "#18FF92", "#5A87FF", "#FBF38C"]
|
|
1825
|
-
},
|
|
1826
|
-
animate: {
|
|
1827
|
-
type: Boolean,
|
|
1828
|
-
default: !1
|
|
1829
|
-
}
|
|
1830
|
-
},
|
|
1831
|
-
data() {
|
|
1832
|
-
return {
|
|
1833
|
-
canvasEl: null,
|
|
1834
|
-
ctx: null,
|
|
1835
|
-
pointerX: 0,
|
|
1836
|
-
pointerY: 0,
|
|
1837
|
-
numberOfParticles: 30
|
|
1838
|
-
};
|
|
1839
|
-
},
|
|
1840
|
-
mounted() {
|
|
1841
|
-
this.canvasEl = this.getRootElm().getElementById("fireworks"), this.ctx = this.canvasEl.getContext("2d"), u({
|
|
1842
|
-
duration: 1 / 0,
|
|
1843
|
-
update: () => {
|
|
1844
|
-
this.ctx.clearRect(0, 0, this.canvasEl.width, this.canvasEl.height);
|
|
1845
|
-
}
|
|
1846
|
-
}), this.autoClick(), this.setCanvasSize(), window.addEventListener("resize", this.setCanvasSize, !1);
|
|
1847
|
-
},
|
|
1848
|
-
beforeDestroy() {
|
|
1849
|
-
window.removeEventListener("resize", this.setCanvasSize, !1);
|
|
1850
|
-
},
|
|
1851
|
-
methods: {
|
|
1852
|
-
setCanvasSize() {
|
|
1853
|
-
this.canvasEl.width = window.innerWidth * 2, this.canvasEl.height = window.innerHeight * 2, this.canvasEl.style.width = `${window.innerWidth}px`, this.canvasEl.style.height = `${window.innerHeight}px`, this.canvasEl.getContext("2d").scale(2, 2);
|
|
1854
|
-
},
|
|
1855
|
-
updateCoords(n) {
|
|
1856
|
-
this.pointerX = n.clientX || n.touches[0].clientX, this.pointerY = n.clientY || n.touches[0].clientY;
|
|
1857
|
-
},
|
|
1858
|
-
setParticleDirection(n) {
|
|
1859
|
-
const e = u.random(0, 360) * Math.PI / 180, t = u.random(100, 300), a = [-1, 1][u.random(0, 1)] * t;
|
|
1860
|
-
return {
|
|
1861
|
-
x: n.x + a * Math.cos(e),
|
|
1862
|
-
y: n.y + a * Math.sin(e)
|
|
1863
|
-
};
|
|
1864
|
-
},
|
|
1865
|
-
createParticle(n, e) {
|
|
1866
|
-
const t = {};
|
|
1867
|
-
return t.x = n, t.y = e, t.color = this.colors[u.random(0, this.colors.length - 1)], t.radius = u.random(24, 50), t.endPos = this.setParticleDirection(t), t.draw = () => {
|
|
1868
|
-
this.ctx.beginPath(), this.ctx.arc(t.x, t.y, t.radius, 0, 2 * Math.PI, !0), this.ctx.fillStyle = t.color, this.ctx.fill();
|
|
1869
|
-
}, t;
|
|
1870
|
-
},
|
|
1871
|
-
createCircle(n, e) {
|
|
1872
|
-
const t = {};
|
|
1873
|
-
return t.x = n, t.y = e, t.color = "hsl(205, 100%, 50%)", t.radius = 0.1, t.alpha = 0.5, t.lineWidth = 6, t.draw = () => {
|
|
1874
|
-
this.ctx.globalAlpha = t.alpha, this.ctx.beginPath(), this.ctx.arc(t.x, t.y, t.radius, 0, 2 * Math.PI, !0), this.ctx.lineWidth = t.lineWidth, this.ctx.strokeStyle = t.color, this.ctx.stroke(), this.ctx.globalAlpha = 1;
|
|
1875
|
-
}, t;
|
|
1876
|
-
},
|
|
1877
|
-
renderParticle(n) {
|
|
1878
|
-
for (let e = 0; e < n.animatables.length; e++)
|
|
1879
|
-
n.animatables[e].target.draw();
|
|
1880
|
-
},
|
|
1881
|
-
animateParticles(n, e) {
|
|
1882
|
-
const t = this.createCircle(n, e), a = [];
|
|
1883
|
-
for (let r = 0; r < this.numberOfParticles; r++)
|
|
1884
|
-
a.push(this.createParticle(n, e));
|
|
1885
|
-
u.timeline().add({
|
|
1886
|
-
targets: a,
|
|
1887
|
-
x(r) {
|
|
1888
|
-
return r.endPos.x;
|
|
1889
|
-
},
|
|
1890
|
-
y(r) {
|
|
1891
|
-
return r.endPos.y;
|
|
1892
|
-
},
|
|
1893
|
-
radius: 0.1,
|
|
1894
|
-
duration: u.random(1200, 1800),
|
|
1895
|
-
easing: "easeOutExpo",
|
|
1896
|
-
update: this.renderParticle
|
|
1897
|
-
}).add({
|
|
1898
|
-
targets: t,
|
|
1899
|
-
radius: u.random(80, 160),
|
|
1900
|
-
lineWidth: 0,
|
|
1901
|
-
alpha: {
|
|
1902
|
-
value: 0,
|
|
1903
|
-
easing: "linear",
|
|
1904
|
-
duration: u.random(600, 800)
|
|
1905
|
-
},
|
|
1906
|
-
duration: u.random(1200, 1800),
|
|
1907
|
-
easing: "easeOutExpo",
|
|
1908
|
-
update: this.renderParticle,
|
|
1909
|
-
offset: 0
|
|
1910
|
-
});
|
|
1911
|
-
},
|
|
1912
|
-
autoClick() {
|
|
1913
|
-
const n = window.innerWidth / 2, e = window.innerHeight / 2;
|
|
1914
|
-
this.animate && (this.animateParticles(
|
|
1915
|
-
u.random(n - 50, n + 50),
|
|
1916
|
-
// 50 as constant
|
|
1917
|
-
u.random(e - 50, e + 50)
|
|
1918
|
-
// 50 as constant
|
|
1919
|
-
), u({ duration: 500 }).finished.then(this.autoClick));
|
|
1920
|
-
},
|
|
1921
|
-
getRootElm() {
|
|
1922
|
-
var t, a;
|
|
1923
|
-
const n = (a = (t = this.$el).getRootNode) == null ? void 0 : a.call(t);
|
|
1924
|
-
return (n == null ? void 0 : n.toString()) === "[object ShadowRoot]" ? n : document;
|
|
1925
|
-
}
|
|
1926
|
-
}
|
|
1927
|
-
};
|
|
1928
|
-
var De = function() {
|
|
1929
|
-
var e = this;
|
|
1930
|
-
return e._self._c, e._m(0);
|
|
1931
|
-
}, Le = [function() {
|
|
1932
|
-
var n = this, e = n._self._c;
|
|
1933
|
-
return e("div", [e("canvas", { attrs: { id: "fireworks" } })]);
|
|
1934
|
-
}], Re = /* @__PURE__ */ d(
|
|
1935
|
-
Ie,
|
|
1936
|
-
De,
|
|
1937
|
-
Le,
|
|
1938
|
-
!1,
|
|
1939
|
-
null,
|
|
1940
|
-
"18ad2709"
|
|
1941
|
-
);
|
|
1942
|
-
const Fe = Re.exports, Ue = {
|
|
1943
|
-
amex: {
|
|
1944
|
-
name: "American Express",
|
|
1945
|
-
logo: '<g><rect width="48" height="32" rx="4" fill="white"/><g><path d="M8.88 17.9V26.06H17.14L18 24.84L18.84 26.06H23.89V24.22H24.45C24.9584 24.2244 25.4643 24.1502 25.95 24V26.06H29.38V24.6L30.54 26.06H46.16C46.802 26.0712 47.4338 25.8977 47.98 25.56V29C47.5224 30.7722 45.9203 32.0078 44.09 32H4C1.79086 32 0 30.2091 0 28V15.4H2.28L2.75 14.18H3.87L4.33 15.4H22.67V13.94L23.83 15.4H28.64V14.66C29.3453 15.1621 30.1945 15.4217 31.06 15.4H33.93L34.39 14.18H35.51L36 15.4H40.9V13.82L41.9 15.4H45.28V7.24H41.69V8.9L40.62 7.24H37.48V9.34L36.48 7.24H31.14C30.2366 7.21382 29.3524 7.50384 28.64 8.06V7.24H11L10.4 9L9.8 7.2H5.8V9.3L4.86 7.2H1.6L0 11V4C0 1.79086 1.79086 1.31011e-07 4 1.31011e-07H44.09C45.9278 -0.0169872 47.5406 1.2205 48 3V17.9H18.86L18 19.1L17.16 17.9H8.88Z" fill="#296DB6"/><path fill-rule="evenodd" clip-rule="evenodd" d="M21.32 19.2H24.43V19.16C24.9479 19.1165 25.4595 19.2976 25.8345 19.6574C26.2096 20.0171 26.4119 20.5208 26.39 21.04C26.4028 21.5655 26.1927 22.0718 25.8116 22.4338C25.4306 22.7958 24.9141 22.9797 24.39 22.94H22.69V24.8H21.32V19.2ZM14.71 20.36V19.16H10.18V24.8H14.71V23.6H11.54V22.6H14.65V21.38H11.54V20.38L14.71 20.36ZM18.8 22L21.06 19.2H19.4L18 20.94L16.61 19.16H14.91L17.2 22L15 24.8H16.64L18 23L19.36 24.82H21.08L18.8 22ZM24.31 21.78H22.69V20.36H24.31C24.6911 20.36 25 20.6689 25 21.05C25 21.4311 24.6911 21.74 24.31 21.74V21.78ZM32.17 20.79C32.286 21.7731 31.5831 22.664 30.6 22.78L32.49 24.8H30.78L29.1 22.8H28.48V24.8H27.12V19.22H30.18C31.1631 19.104 32.054 19.8069 32.17 20.79ZM30.06 21.66H28.48V20.36H30.06C30.2378 20.3369 30.4169 20.3918 30.5511 20.5107C30.6853 20.6296 30.7615 20.8007 30.76 20.98C30.7649 21.1604 30.6898 21.3337 30.5547 21.4533C30.4196 21.573 30.2385 21.6267 30.06 21.6V21.66ZM37.36 19.22V20.42L34.19 20.38V21.38H37.28V22.6H34.19V23.6H37.36V24.8H32.81V19.22H37.36ZM41.13 21.42H39.82C39.6175 21.4607 39.4105 21.3753 39.2956 21.2036C39.1808 21.032 39.1808 20.808 39.2956 20.6364C39.4105 20.4647 39.6175 20.3793 39.82 20.42H42.25L42.79 19.22H39.86C39.3615 19.1622 38.8623 19.3225 38.4906 19.6597C38.1189 19.9969 37.9109 20.4782 37.92 20.98C37.8896 21.4469 38.0691 21.903 38.4094 22.2241C38.7498 22.5451 39.2157 22.6976 39.68 22.64H41C41.2025 22.5993 41.4095 22.6847 41.5244 22.8564C41.6392 23.028 41.6392 23.252 41.5244 23.4236C41.4095 23.5953 41.2025 23.6807 41 23.64H38.08V24.84H41C41.5039 24.8812 42.0011 24.7024 42.3634 24.3497C42.7257 23.997 42.9177 23.5049 42.89 23C42.9153 22.5378 42.7326 22.0885 42.392 21.775C42.0514 21.4615 41.5885 21.3166 41.13 21.38V21.42ZM47.46 20.42H45.03L45 20.38C44.7975 20.3393 44.5905 20.4247 44.4756 20.5964C44.3608 20.768 44.3608 20.992 44.4756 21.1636C44.5905 21.3353 44.7975 21.4207 45 21.38H46.36C47.0518 21.3089 47.7118 21.6871 48 22.32V23.66C47.7246 24.4224 46.9666 24.9003 46.16 24.82H43.29V23.62H46.18C46.3825 23.6607 46.5895 23.5753 46.7044 23.4036C46.8192 23.232 46.8192 23.008 46.7044 22.8364C46.5895 22.6647 46.3825 22.5793 46.18 22.62H44.89C44.4257 22.6776 43.9598 22.5251 43.6194 22.2041C43.2791 21.883 43.0996 21.4269 43.13 20.96C43.1209 20.4582 43.3289 19.9769 43.7006 19.6397C44.0723 19.3025 44.5715 19.1422 45.07 19.2H48L47.46 20.42Z" fill="#296DB6"/><path fill-rule="evenodd" clip-rule="evenodd" d="M25.45 10.28C25.4719 11.1815 24.8053 11.9521 23.91 12.06L25.79 14.14H24.09L22.41 12.14H21.79V14.14H20.4V8.5H23.45C23.9596 8.43317 24.473 8.59111 24.8569 8.93278C25.2408 9.27446 25.4573 9.76612 25.45 10.28ZM4.23 8.5H2.45L0 14.14H1.48L2 13H4.63L5.11 14.18H6.65L4.23 8.5ZM2.38 11.86L2.93 10.54L3.29 9.66L3.65 10.54L4.19 11.86H2.38ZM10.6 11.76L11.7 8.5H13.89V14.14H12.57V10.44V9.58L12.31 10.44L11 14.14H9.8L8.52 10.44L8.24 9.58V10.44V14.14H6.91V8.5H9.12L10.24 11.76L10.42 12.38L10.6 11.76ZM19.5 9.7V8.5H15V14.14H19.5V12.94H16.33V11.94H19.42V10.72H16.33V9.72L19.5 9.7ZM23.37 10.94H21.79V9.7H23.37C23.5471 9.68019 23.7243 9.73632 23.8577 9.85449C23.9912 9.97265 24.0683 10.1418 24.07 10.32C24.0749 10.5004 23.9998 10.6737 23.8647 10.7933C23.7296 10.913 23.5485 10.9667 23.37 10.94ZM26.11 14.14V8.5H27.48V14.14H26.11ZM31.11 9.72H32.58V8.5H31C30.2562 8.45299 29.5291 8.7337 29.0099 9.26831C28.4907 9.80292 28.2313 10.5379 28.3 11.28V11.36C28.2164 12.0915 28.4596 12.8226 28.9645 13.3583C29.4694 13.8941 30.1849 14.1801 30.92 14.14H31L31.55 12.94H31.1C30.685 12.9613 30.2819 12.7972 29.9999 12.492C29.7179 12.1868 29.586 11.772 29.64 11.36V11.28C29.5925 10.8712 29.7272 10.4621 30.0085 10.1616C30.2897 9.86113 30.6889 9.69961 31.1 9.72H31.11ZM34.09 8.5H35.89L38.3 14.18H36.76L36.28 13H33.61L33.13 14.14H31.67L34.09 8.5ZM34.05 11.86L34.57 10.54L34.93 9.66L35.27 10.54L35.81 11.86H34.05ZM42.61 11.5V8.5H44V14.14H42.35L40.26 10.96L39.9 10.34V11V14.18H38.56V8.54H40.23L42.23 11.54L42.61 12.18V11.5Z" fill="#296DB6"/></g></g>'
|
|
1946
|
-
},
|
|
1947
|
-
diners: {
|
|
1948
|
-
name: "Diners Club",
|
|
1949
|
-
logo: '<path d="M99.285 133.86c36.446.177 69.714-29.66 69.714-65.956C169 28.215 135.731.782 99.285.794H67.92C31.037.781.68 28.221.68 67.903c0 36.305 30.357 66.133 67.24 65.956h31.365" fill="#006095"></path><path d="M81.91 103.247V31.175c14.516 5.557 24.822 19.583 24.847 36.034c-.025 16.453-10.33 30.47-24.848 36.038M29.388 67.209c.032-16.441 10.322-30.459 24.83-36.032v72.055C39.71 97.664 29.42 83.654 29.389 67.21M68.066 6.294c-33.701.01-61.011 27.272-61.02 60.915c.009 33.639 27.319 60.895 61.02 60.905c33.714-.01 61.028-27.266 61.033-60.905c-.005-33.643-27.32-60.904-61.033-60.915" fill="#FFF"></path>'
|
|
1950
|
-
},
|
|
1951
|
-
discover: {
|
|
1952
|
-
name: "Discover",
|
|
1953
|
-
logo: '<g><path d="M48 4V28C48 30.2091 46.2091 32 44 32H4C3.53583 32.0035 3.07493 31.9222 2.64 31.76C1.05621 31.1874 0.00071654 29.6841 0 28V4C0 1.79086 1.79086 0 4 0H44C46.2091 0 48 1.79086 48 4Z" fill="#DFE3E8"/><g><path d="M48 16V27.9646C48 30.1932 46.1839 31.9999 43.9436 31.9999H3.37919C2.90847 32.0034 2.44107 31.9214 2 31.7578C5.40741 31.2735 8.69312 30.6682 11.918 29.9822C12.7698 29.8208 13.6014 29.6191 14.433 29.4375C27.8395 26.3908 39.4409 21.9117 45.9718 17.5132C46.7019 17.0088 47.3915 16.5044 48 16Z" fill="#EE7623"/><path fill-rule="evenodd" clip-rule="evenodd" d="M4 10.64H5.82V10.6C7.21326 10.4992 8.51258 11.3083 9.03688 12.6031C9.56117 13.8978 9.19084 15.383 8.12 16.28C7.46653 16.792 6.64875 17.048 5.82 17H4V10.64ZM5.58 16C6.20562 16.0549 6.82663 15.8527 7.3 15.44C7.75024 15.0305 8.00481 14.4486 8 13.84C8.00869 13.2306 7.75346 12.6472 7.3 12.24C6.81872 11.8447 6.19969 11.6575 5.58 11.72H5.26V16H5.58Z" fill="#231F20"/><rect x="9.85001" y="10.63" width="1.25" height="6.42" fill="#231F20"/><path d="M14.17 13.09C13.42 12.82 13.17 12.63 13.17 12.28C13.17 11.93 13.56 11.57 14.1 11.57C14.4939 11.5865 14.8602 11.777 15.1 12.09L15.75 11.24C15.2369 10.771 14.5651 10.5138 13.87 10.52C13.3578 10.4871 12.8545 10.6651 12.4768 11.0126C12.0991 11.3601 11.8799 11.8469 11.87 12.36C11.87 13.25 12.27 13.7 13.44 14.12C13.7408 14.2163 14.032 14.3402 14.31 14.49C14.5457 14.6261 14.6907 14.8778 14.69 15.15C14.6882 15.4068 14.5791 15.6511 14.3892 15.8239C14.1993 15.9968 13.9458 16.0823 13.69 16.06C13.1068 16.0663 12.5743 15.7296 12.33 15.2L11.52 15.98C11.9927 16.7804 12.8719 17.2508 13.8 17.2C14.3772 17.2395 14.9444 17.0344 15.3629 16.6349C15.7814 16.2354 16.0126 15.6784 16 15.1C16 14.08 15.59 13.61 14.17 13.09Z" fill="#231F20"/><path d="M16.41 13.84C16.4017 14.738 16.7575 15.601 17.3962 16.2322C18.035 16.8634 18.9022 17.209 19.8 17.19C20.3453 17.1932 20.8835 17.0664 21.37 16.82V15.35C20.9923 15.7916 20.4411 16.0471 19.86 16.05C19.2722 16.0647 18.7049 15.8335 18.2948 15.4121C17.8847 14.9906 17.6692 14.4172 17.7 13.83C17.6811 13.2582 17.8931 12.7029 18.2881 12.2891C18.6831 11.8753 19.228 11.6378 19.8 11.63C20.4027 11.6324 20.9749 11.8949 21.37 12.35V10.88C20.8987 10.6187 20.3689 10.4811 19.83 10.48C18.9301 10.4693 18.0631 10.818 17.4212 11.4487C16.7792 12.0794 16.4153 12.9401 16.41 13.84Z" fill="#231F20"/><path d="M31.3 14.94L29.58 10.63H28.22L30.94 17.21H31.61L34.39 10.63H33.03L31.3 14.94Z" fill="#231F20"/><path d="M34.95 17.05H38.51V15.96H36.2V14.23H38.42V13.14H36.2V11.72H38.51V10.63H34.95V17.05Z" fill="#231F20"/><path fill-rule="evenodd" clip-rule="evenodd" d="M43.46 12.52C43.5281 13.4204 42.8923 14.2216 42 14.36L44 17H42.48L40.74 14.46H40.6V17H39.34V10.64H41.18C42.64 10.64 43.46 11.32 43.46 12.52ZM40.6 13.58H41C41.74 13.58 42.18 13.32 42.18 12.64C42.18 11.96 41.76 11.64 41 11.64H40.6V13.58Z" fill="#231F20"/><path d="M28.59 13.84C28.59 15.7233 27.0633 17.25 25.18 17.25C23.2967 17.25 21.77 15.7233 21.77 13.84C21.77 11.9567 23.2967 10.43 25.18 10.43C27.061 10.4355 28.5845 11.959 28.59 13.84Z" fill="#EE7623"/><path fill-rule="evenodd" clip-rule="evenodd" d="M44.12 10.76C44.1168 10.8286 44.0674 10.8863 44 10.9L44.18 11.16H44.02L43.84 10.92V11.16H43.7V10.58H43.9C44.04 10.58 44.12 10.64 44.12 10.76ZM43.98 10.76C43.98 10.7 43.94 10.7 43.88 10.7V10.82H43.9C43.9532 10.82 43.9725 10.82 43.9788 10.811C43.9844 10.803 43.98 10.7881 43.98 10.76Z" fill="#231F20"/><path fill-rule="evenodd" clip-rule="evenodd" d="M43.46 10.86C43.4598 10.5915 43.6717 10.3707 43.94 10.36C44.076 10.3546 44.2084 10.4048 44.3065 10.4992C44.4047 10.5936 44.4601 10.7239 44.46 10.86C44.46 11.1361 44.2361 11.36 43.96 11.36C43.6838 11.36 43.46 11.1361 43.46 10.86ZM43.94 11.28C44.0407 11.2832 44.1371 11.2387 44.2 11.16C44.275 11.0778 44.3176 10.9712 44.32 10.86C44.32 10.6501 44.1499 10.48 43.94 10.48C43.7301 10.48 43.56 10.6501 43.56 10.86C43.5517 10.9668 43.5878 11.0723 43.6596 11.1518C43.7315 11.2312 43.8329 11.2776 43.94 11.28Z" fill="#231F20"/></g></g>'
|
|
1954
|
-
},
|
|
1955
|
-
jcb: {
|
|
1956
|
-
name: "JCB",
|
|
1957
|
-
logo: '<g><rect width="48" height="32" rx="4" fill="white"/><g><path d="M32.1 18.57H34.41H34.69C35.1671 18.4778 35.5088 18.0559 35.5 17.57C35.483 17.0934 35.1527 16.6856 34.69 16.57C34.5969 16.5593 34.503 16.5593 34.41 16.57H32.1V18.57Z" fill="#40A648"/><path d="M34.14 4C31.9309 4 30.14 5.79086 30.14 8V12.15H35.79C35.9229 12.1344 36.0571 12.1344 36.19 12.15C37.46 12.21 38.41 12.87 38.41 14.01C38.3837 15.0096 37.5796 15.8138 36.58 15.84C37.88 15.93 38.87 16.65 38.87 17.78C38.87 18.91 37.77 19.78 36.32 19.78H30.12V28H36C38.2091 28 40 26.2091 40 24V4H34.14Z" fill="#40A648"/><path d="M35.22 14.31C35.2562 13.8151 34.9016 13.3773 34.41 13.31H34.19H32.1V15.24H34.19C34.2629 15.2513 34.3371 15.2513 34.41 15.24C34.8801 15.1789 35.229 14.774 35.22 14.3V14.31Z" fill="#40A648"/><path d="M12 4C9.79086 4 8 5.79086 8 8V17.87C9.06652 18.4287 10.2465 18.7365 11.45 18.77C12.0104 18.8353 12.5711 18.6509 12.9832 18.2657C13.3954 17.8805 13.6173 17.3335 13.59 16.77V12.13H17V16.77C17 18.57 15.88 20.04 12.08 20.04C10.7048 20.039 9.33477 19.8711 8 19.54V28H13.87C16.0791 28 17.87 26.2091 17.87 24V4H12Z" fill="#0D67B0"/><path d="M23.09 4C20.8809 4 19.09 5.79086 19.09 8V13.23C20.09 12.37 21.86 11.82 24.69 11.96C25.7492 12.0232 26.8003 12.1839 27.83 12.44V14.13C26.9019 13.6317 25.8803 13.332 24.83 13.25C22.68 13.1 21.38 14.15 21.38 16C21.38 17.85 22.68 18.92 24.83 18.75C25.8777 18.6543 26.8967 18.3554 27.83 17.87V19.56C26.8008 19.8182 25.7494 19.9789 24.69 20.04C21.86 20.18 20.1 19.63 19.09 18.77V28H25C27.2092 28 29 26.2091 29 24V4H23.09Z" fill="#BE2034"/></g></g>'
|
|
1958
|
-
},
|
|
1959
|
-
mastercard: {
|
|
1960
|
-
name: "Mastercard",
|
|
1961
|
-
logo: '<g><rect width="48" height="32" rx="4" fill="#212B36"/><g><g opacity="0.01"><rect x="4.65" y="3.20001" width="38.71" height="25.6" fill="white"/></g><rect x="18.9" y="7.66" width="10.21" height="16.68" fill="#F26122"/><path d="M20 16C19.9831 12.7535 21.4577 9.67905 24 7.66C19.6503 4.23929 13.402 4.73602 9.6473 8.801C5.89264 12.866 5.89264 19.134 9.6473 23.199C13.402 27.264 19.6503 27.7607 24 24.34C21.4577 22.3209 19.9831 19.2465 20 16Z" fill="#EA1D25"/><path fill-rule="evenodd" clip-rule="evenodd" d="M40.14 22.23V22.57H40.08V22.23H39.94V22.16H40.29V22.23H40.14ZM40.82 22.16V22.57H40.75V22.26L40.64 22.53H40.56L40.44 22.26V22.57H40.37V22.16H40.47L40.6 22.45L40.72 22.16H40.82Z" fill="#F69E1E"/><path d="M41.16 16C41.1574 20.0593 38.8389 23.7614 35.1879 25.5358C31.5369 27.3102 27.1935 26.846 24 24.34C28.6001 20.7179 29.3967 14.0543 25.78 9.44999C25.2616 8.78326 24.6638 8.18216 24 7.65999C27.1935 5.15398 31.5369 4.68973 35.1879 6.46416C38.8389 8.23859 41.1574 11.9406 41.16 16Z" fill="#F69E1E"/></g></g>'
|
|
1962
|
-
},
|
|
1963
|
-
unionpay: {
|
|
1964
|
-
name: "China UnionPay",
|
|
1965
|
-
logo: '<path d="M50.042 0h63.778c8.903 0 14.44 7.257 12.364 16.19L96.49 143.675c-2.095 8.902-11.01 16.165-19.918 16.165H12.799c-8.89 0-14.44-7.263-12.363-16.165L30.142 16.19C32.219 7.257 41.128 0 50.042 0" fill="#E21836"></path><path d="M108.513 0h73.344c8.901 0 4.888 7.257 2.794 16.19l-29.69 127.485c-2.082 8.902-1.433 16.165-10.353 16.165H71.265c-8.92 0-14.44-7.263-12.345-16.165L88.607 16.19C90.715 7.257 99.606 0 108.513 0" fill="#00447C"></path><path d="M178.948 0h63.778c8.916 0 14.453 7.257 12.36 16.19l-29.69 127.485c-2.095 8.902-11.015 16.165-19.93 16.165h-63.748c-8.92 0-14.453-7.263-12.363-16.165L159.048 16.19C161.125 7.257 170.028 0 178.948 0" fill="#007B84"></path><path d="M66.698 40.856c-6.558.067-8.495 0-9.114-.146c-.238 1.13-4.664 21.546-4.676 21.563c-.953 4.13-1.646 7.075-4.002 8.976c-1.336 1.105-2.897 1.639-4.707 1.639c-2.908 0-4.603-1.445-4.887-4.184l-.055-.94s.886-5.533.886-5.564c0 0 4.645-18.605 5.477-21.064c.044-.14.056-.213.067-.28c-9.041.08-10.644 0-10.754-.146c-.061.2-.285 1.354-.285 1.354l-4.743 20.97l-.407 1.778l-.788 5.817c0 1.725.339 3.134 1.013 4.325c2.161 3.776 8.325 4.342 11.812 4.342c4.492 0 8.707-.955 11.555-2.698c4.943-2.92 6.237-7.486 7.39-11.544l.535-2.081S65.8 43.65 66.613 41.136c.03-.14.043-.213.085-.28zm16.28 15.588c-1.153 0-3.26.28-5.154 1.208c-.687.353-1.337.76-2.023 1.166l.619-2.234l-.339-.376c-4.015.813-4.914.922-8.623 1.444l-.31.207c-.431 3.57-.814 6.255-2.41 13.274a832.32 832.32 0 0 1-1.872 7.78l.17.327c3.802-.2 4.955-.2 8.259-.146l.267-.29c.42-2.15.474-2.654 1.404-7.009c.437-2.064 1.348-6.6 1.797-8.215c.825-.383 1.64-.759 2.417-.759c1.852 0 1.626 1.615 1.555 2.259c-.08 1.08-.754 4.609-1.446 7.639l-.462 1.955c-.321 1.445-.674 2.848-.996 4.28l.14.286c3.746-.2 4.889-.2 8.088-.146l.376-.29c.579-3.358.748-4.257 1.774-9.146l.516-2.246c1.003-4.397 1.507-6.626.748-8.442c-.802-2.035-2.727-2.526-4.494-2.526zm18.188 4.603c-1.992.383-3.262.637-4.524.802c-1.251.2-2.472.383-4.396.65l-.153.138l-.14.11c-.2 1.434-.34 2.673-.606 4.13c-.225 1.506-.572 3.218-1.136 5.677c-.437 1.882-.662 2.538-.911 3.2c-.243.663-.51 1.307-1.001 3.158l.115.171l.096.157c1.799-.085 2.976-.146 4.185-.157c1.208-.043 2.46 0 4.396.01l.17-.137l.182-.153c.28-1.67.321-2.119.492-2.933c.17-.874.462-2.083 1.179-5.314c.339-1.517.716-3.03 1.068-4.578c.365-1.542.747-3.06 1.111-4.578l-.054-.183l-.073-.17zm.042-6.206c-1.81-1.068-4.985-.729-7.123.746c-2.131 1.446-2.374 3.498-.57 4.58c1.778 1.038 4.966.729 7.085-.759c2.127-1.477 2.393-3.51.608-4.567zm10.943 24.734c3.661 0 7.414-1.01 10.239-4.003c2.173-2.428 3.17-6.041 3.515-7.529c1.123-4.931.248-7.233-.85-8.635c-1.67-2.138-4.621-2.824-7.682-2.824c-1.84 0-6.224.182-9.649 3.34c-2.46 2.277-3.596 5.368-4.281 8.33c-.692 3.02-1.488 8.454 3.51 10.477c1.542.662 3.765.844 5.198.844zm-.286-11.095c.844-3.734 1.841-6.868 4.384-6.868c1.993 0 2.138 2.332 1.252 6.078c-.159.832-.886 3.924-1.87 5.24c-.688.972-1.5 1.561-2.4 1.561c-.267 0-1.857 0-1.882-2.361c-.012-1.166.226-2.357.516-3.65zm23.191 10.615l.286-.291c.406-2.15.473-2.655 1.371-7.008c.45-2.065 1.38-6.6 1.816-8.216c.827-.384 1.628-.76 2.43-.76c1.839 0 1.615 1.615 1.542 2.259c-.067 1.082-.742 4.609-1.446 7.639l-.437 1.955c-.334 1.446-.698 2.848-1.02 4.282l.14.286c3.76-.2 4.858-.2 8.076-.146l.389-.291c.564-3.36.717-4.258 1.774-9.146l.503-2.247c1.008-4.397 1.518-6.624.771-8.44c-.825-2.035-2.762-2.526-4.505-2.526c-1.155 0-3.273.278-5.156 1.208c-.673.352-1.348.758-2.01 1.166l.577-2.234l-.31-.378c-4.014.814-4.93.923-8.635 1.446l-.285.206c-.449 3.571-.814 6.254-2.41 13.275a884.37 884.37 0 0 1-1.871 7.779l.17.328c3.807-.2 4.943-.2 8.24-.146zm27.618.145c.236-1.154 1.64-7.99 1.652-7.99c0 0 1.195-5.017 1.269-5.199c0 0 .376-.522.752-.729h.553c5.222 0 11.119 0 15.74-3.4c3.145-2.332 5.295-5.775 6.254-9.96c.249-1.026.432-2.246.432-3.466c0-1.603-.321-3.189-1.251-4.428c-2.357-3.297-7.05-3.358-12.468-3.383l-2.67.025c-6.935.086-9.716.061-10.859-.079c-.096.505-.278 1.404-.278 1.404s-2.484 11.513-2.484 11.531l-6.225 25.632c6.055-.073 8.538-.073 9.583.042zm4.603-20.452s2.64-11.49 2.628-11.446l.086-.59l.037-.448l1.056.108s5.447.468 5.574.48c2.15.832 3.036 2.976 2.418 5.774c-.565 2.558-2.223 4.708-4.355 5.746c-1.755.88-3.905.953-6.12.953h-1.433l.109-.577zm16.444 9.905c-.698 2.975-1.5 8.41 3.473 10.347c1.586.674 3.007.875 4.45.802c1.526-.082 2.939-.847 4.248-1.948l-.355 1.359l.226.29c3.577-.15 4.687-.15 8.562-.12l.352-.268c.565-3.327 1.099-6.557 2.57-12.922c.716-3.048 1.431-6.067 2.166-9.103l-.115-.334c-4.001.741-5.07.9-8.92 1.445l-.292.238c-.039.31-.08.607-.117.904c-.598-.967-1.466-1.793-2.804-2.307c-1.712-.674-5.732.194-9.187 3.34c-2.429 2.247-3.595 5.325-4.257 8.277zm8.404.182c.857-3.668 1.84-6.77 4.39-6.77c1.612 0 2.461 1.487 2.288 4.024a129.1 129.1 0 0 1-.46 2.054c-.255 1.09-.531 2.17-.8 3.252c-.274.74-.593 1.438-.942 1.903c-.656.93-2.217 1.506-3.116 1.506c-.255 0-1.828 0-1.882-2.32c-.013-1.154.225-2.344.522-3.65zm43.886-12.109l-.31-.353c-3.959.802-4.676.93-8.313 1.421l-.268.267c-.012.044-.023.11-.042.171l-.012-.06c-2.708 6.248-2.629 4.9-4.833 9.818c-.013-.224-.013-.363-.025-.601l-.552-10.663l-.346-.353c-4.148.802-4.246.93-8.076 1.421l-.299.267c-.042.128-.042.268-.067.42l.025.055c.479 2.446.364 1.9.844 5.762c.224 1.895.523 3.801.746 5.673c.378 3.132.59 4.674 1.051 9.455c-2.586 4.268-3.199 5.884-5.69 9.63l.018.037l-1.754 2.774c-.2.292-.382.492-.637.578c-.28.138-.644.163-1.149.163h-.972l-1.444 4.804l4.955.085c2.908-.012 4.736-1.372 5.72-3.2l3.116-5.339h-.05l.328-.376c2.096-4.511 18.036-31.856 18.036-31.856zm-52.29 63.088h-2.102l7.78-25.73h2.58l.82-2.65l.078 2.947c-.096 1.822 1.337 3.437 5.102 3.17h4.355l1.498-4.954h-1.638c-.942 0-1.38-.238-1.325-.748l-.079-2.999h-8.063v.016c-2.607.054-10.393.25-11.969.67c-1.907.49-3.917 1.937-3.917 1.937l.79-2.654h-7.543l-1.572 5.265l-7.883 26.123h-1.53l-1.5 4.919h15.023l-.503 1.64h7.402l.492-1.64h2.076l1.628-5.312zm-6.164-20.502c-1.208.334-3.455 1.348-3.455 1.348l1.999-6.576h5.992l-1.445 4.791s-1.852.11-3.09.437zm.115 9.394s-1.882.237-3.121.516c-1.22.37-3.509 1.536-3.509 1.536l2.065-6.843h6.023l-1.458 4.791zm-3.358 11.168h-6.011l1.743-5.775h5.992l-1.724 5.775zm14.477-15.959h8.665l-1.245 4.033h-8.78l-1.318 4.408h7.683l-5.818 8.191c-.407.602-.772.815-1.178.984c-.407.207-.942.45-1.56.45h-2.132l-1.464 4.828h5.574c2.898 0 4.61-1.318 5.873-3.048l3.99-5.46l.856 5.544c.182 1.038.928 1.646 1.433 1.882c.558.28 1.135.76 1.95.832c.873.037 1.504.067 1.924.067h2.74l1.644-5.404h-1.08c-.62 0-1.689-.104-1.87-.298c-.183-.237-.183-.6-.28-1.154l-.87-5.556h-3.558l1.561-1.858h8.763l1.348-4.408h-8.113l1.263-4.033h8.089l1.5-4.973h-24.114l-1.476 4.973zm-73.185 17.082l2.022-6.728h8.313l1.518-5.004h-8.32l1.27-4.141h8.13l1.507-4.846h-20.343l-1.475 4.846h4.622l-1.233 4.14h-4.634l-1.536 5.09h4.62l-2.696 8.902c-.363 1.178.171 1.627.51 2.175c.347.533.698.886 1.488 1.086c.815.182 1.373.291 2.131.291h9.371l1.67-5.544l-4.154.571c-.802 0-3.024-.096-2.781-.838zm.953-32.208l-2.106 3.807c-.45.831-.857 1.348-1.222 1.585c-.322.2-.96.285-1.883.285h-1.099l-1.469 4.87h3.65c1.756 0 3.103-.643 3.747-.965c.692-.37.874-.159 1.408-.675l1.233-1.068h11.398l1.513-5.07h-8.344l1.457-2.77h-8.283zm16.827 32.306c-.194-.28-.054-.773.243-1.799l3.115-10.311h11.083c1.615-.023 2.78-.042 3.54-.096c.814-.086 1.7-.377 2.665-.899c.997-.547 1.507-1.124 1.937-1.786c.48-.66 1.252-2.107 1.914-4.336l3.916-13.049l-11.5.067s-3.542.522-5.101 1.1c-1.573.643-3.821 2.44-3.821 2.44l1.038-3.577h-7.104l-9.946 32.986c-.353 1.28-.59 2.21-.644 2.769c-.018.601.759 1.197 1.263 1.646c.595.449 1.475.376 2.319.449c.888.067 2.15.109 3.893.109h5.46l1.675-5.659l-4.887.462c-.523 0-.9-.28-1.058-.516zm5.368-19.074h11.64l-.74 2.319c-.103.054-.352-.115-1.537.025h-10.08l.717-2.344zm2.332-7.78h11.739l-.845 2.794s-5.532-.054-6.418.109c-3.9.675-6.177 2.758-6.177 2.758l1.701-5.66zm8.83 17.866c-.097.347-.25.558-.462.717c-.237.152-.62.206-1.19.206h-1.658l.098-2.824h-6.9l-.28 13.809c-.01.996.086 1.573.815 2.035c.73.576 2.976.65 6 .65h4.323l1.56-5.17l-3.763.207l-1.252.073c-.17-.073-.334-.14-.516-.321c-.158-.157-.426-.061-.382-1.057l.03-3.54l3.946-.163c2.132 0 3.043-.694 3.82-1.354c.741-.633.984-1.36 1.264-2.345l.662-3.134h-5.424l-.692 2.21z" fill="#FEFEFE"></path>'
|
|
1966
|
-
},
|
|
1967
|
-
visa: {
|
|
1968
|
-
name: "Visa",
|
|
1969
|
-
logo: '<g><rect width="48" height="32" rx="4" fill="#2A2A6C"/><path fill-rule="evenodd" clip-rule="evenodd" d="M30.35 17.67C30.3561 16.1453 29.0986 15.4867 28.1227 14.9756C27.5049 14.6521 27 14.3877 27 14C27 13.67 27.32 13.32 28 13.23C28.8093 13.1499 29.6251 13.2917 30.36 13.64L30.78 11.64C30.0636 11.3714 29.3051 11.2325 28.54 11.23C26.18 11.23 24.54 12.49 24.54 14.29C24.54 15.62 25.73 16.36 26.63 16.8C27.53 17.24 27.88 17.55 27.87 17.95C27.87 18.57 27.13 18.85 26.44 18.86C25.5889 18.871 24.749 18.6644 24 18.26L23.57 20.26C24.4175 20.5908 25.3203 20.7571 26.23 20.75C28.74 20.75 30.39 19.51 30.4 17.59L30.35 17.67ZM23.86 11.39L21.86 20.64H19.46L21.46 11.39H23.86ZM33.92 17.39L35.18 13.92L35.91 17.39H33.92ZM38.81 20.67H36.59L36.3 19.29H33.29L32.8 20.67H30.28L33.87 12.1C34.0355 11.6923 34.43 11.424 34.87 11.42H36.87L38.81 20.67ZM16.61 20.61L20.49 11.36H17.89L15.4 17.65L14.4 12.3C14.3115 11.7563 13.8408 11.3578 13.29 11.36H9.22L9.16 11.63C9.97634 11.7897 10.7693 12.0518 11.52 12.41C11.8398 12.5603 12.0564 12.8683 12.09 13.22L14 20.61H16.61Z" fill="white"/></g>'
|
|
1970
|
-
},
|
|
1971
|
-
default: {
|
|
1972
|
-
name: "Credit Card",
|
|
1973
|
-
logo: '<rect width="48" height="32" rx="4" fill="#D9D9DF"/><rect y="7" width="48" height="7" fill="#51516A"/>'
|
|
1974
|
-
},
|
|
1975
|
-
get(n, { width: e = 48, height: t = 32 } = {}) {
|
|
1976
|
-
const a = this[n] ? this[n] : this.default, r = a.logo, i = `<svg width="${e}" height="${t}" viewBox="0 0 48 32" fill="none" xmlns="http://www.w3.org/2000/svg">${r}</svg>`;
|
|
1977
|
-
return {
|
|
1978
|
-
name: a.name,
|
|
1979
|
-
logo: i
|
|
1980
|
-
};
|
|
1981
|
-
}
|
|
1982
|
-
}, He = (n) => {
|
|
1983
|
-
if (document.getElementById("stripe-js"))
|
|
1984
|
-
return n();
|
|
1985
|
-
const e = "js.stripe.com/v3/", t = document.createElement("script"), a = document.getElementsByTagName("script")[0];
|
|
1986
|
-
return t.src = `https://${e}`, t.id = "stripe-js", n && t.addEventListener("load", (r) => n(null, r), !1), a.parentNode.insertBefore(t, a), !0;
|
|
1987
|
-
}, Be = (n) => He(() => {
|
|
1988
|
-
window.$stripe = Stripe(h.stripe.publishableKey, {
|
|
1989
|
-
locale: D.lang || "en"
|
|
1990
|
-
}), typeof n == "function" && n();
|
|
1991
|
-
}), Z = {
|
|
1992
|
-
data() {
|
|
1993
|
-
return {
|
|
1994
|
-
stripeCardElementId: null,
|
|
1995
|
-
stripe: window.$stripe,
|
|
1996
|
-
// will house instance of Stripe object from Stripe JS API
|
|
1997
|
-
elements: "",
|
|
1998
|
-
// will house instance of Stripe Elements
|
|
1999
|
-
elementsError: "",
|
|
2000
|
-
// message for invalid input to Card Element
|
|
2001
|
-
card: "",
|
|
2002
|
-
// will be the object representation of the Card from Stripe Elements
|
|
2003
|
-
cardIsComplete: !1,
|
|
2004
|
-
// Boolean if cart input is completed
|
|
2005
|
-
removeEventListeners: null
|
|
2006
|
-
};
|
|
2007
|
-
},
|
|
2008
|
-
created() {
|
|
2009
|
-
Be(() => {
|
|
2010
|
-
this.stripe = window.$stripe, this.$nextTick(() => {
|
|
2011
|
-
this.elements = this.stripe.elements(), this.stripeCardElementId && this.configureStripeCard(this.stripeCardElementId);
|
|
2012
|
-
});
|
|
2013
|
-
});
|
|
2014
|
-
},
|
|
2015
|
-
destroyed() {
|
|
2016
|
-
this.unmountCardInput();
|
|
2017
|
-
},
|
|
2018
|
-
methods: {
|
|
2019
|
-
mountCardInput() {
|
|
2020
|
-
if (this.isShadowParent()) {
|
|
2021
|
-
const n = this.getRootElm().querySelector(this.stripeCardElementId);
|
|
2022
|
-
this.copyInputStyle(n);
|
|
2023
|
-
}
|
|
2024
|
-
this.stripeCardElementId && this.callCard("mount", this.stripeCardElementId);
|
|
2025
|
-
},
|
|
2026
|
-
unmountCardInput() {
|
|
2027
|
-
var n, e;
|
|
2028
|
-
this.stripeCardElementId && this.callCard("unmount", this.stripeCardElementId), this.card && (this.card = null), this.isShadowParent() && ((n = document.querySelector(this.stripeCardElementId)) == null || n.remove(), (e = this.removeEventListeners) == null || e.call(this));
|
|
2029
|
-
},
|
|
2030
|
-
callCard(n, e) {
|
|
2031
|
-
this.card && typeof this.card[n] == "function" && this.card[n](e);
|
|
2032
|
-
},
|
|
2033
|
-
/**
|
|
2034
|
-
* Start Stripe card component
|
|
2035
|
-
* @param {String} elementId The id to mount card component, example #card-element
|
|
2036
|
-
*/
|
|
2037
|
-
configureStripeCard(n) {
|
|
2038
|
-
if (!n)
|
|
2039
|
-
throw new Error("Missing required param elementId to install Stripe");
|
|
2040
|
-
if (!this.elements)
|
|
2041
|
-
throw new Error("Stripe is not yet configured");
|
|
2042
|
-
const e = {
|
|
2043
|
-
base: {
|
|
2044
|
-
color: "#111",
|
|
2045
|
-
fontFamily: 'Inter, "Helvetica Neue", Helvetica, sans-serif',
|
|
2046
|
-
fontSmoothing: "antialiased",
|
|
2047
|
-
fontSize: "18px",
|
|
2048
|
-
"::placeholder": { color: "#808080" }
|
|
2049
|
-
},
|
|
2050
|
-
invalid: {
|
|
2051
|
-
color: "#fa755a",
|
|
2052
|
-
iconColor: "#fa755a"
|
|
2053
|
-
}
|
|
2054
|
-
};
|
|
2055
|
-
this.card = this.elements.create("card", { style: e }), this.getRootElm().querySelector(n) && this.mountCardInput(), this.card.addEventListener("change", (a) => {
|
|
2056
|
-
const { error: r, complete: i } = a;
|
|
2057
|
-
r ? this.elementsError = r.message : this.elementsError = "", this.cardIsComplete = i;
|
|
2058
|
-
});
|
|
2059
|
-
},
|
|
2060
|
-
isShadowParent() {
|
|
2061
|
-
var e, t;
|
|
2062
|
-
const n = (t = (e = this.$el).getRootNode) == null ? void 0 : t.call(e);
|
|
2063
|
-
return (n == null ? void 0 : n.toString()) === "[object ShadowRoot]";
|
|
2064
|
-
},
|
|
2065
|
-
getRootElm() {
|
|
2066
|
-
var n, e;
|
|
2067
|
-
return this.isShadowParent() ? (e = (n = this.$el).getRootNode) == null ? void 0 : e.call(n) : document;
|
|
2068
|
-
},
|
|
2069
|
-
repositionStripeEl({ original: n, clone: e }) {
|
|
2070
|
-
const { x: t, y: a } = n.getBoundingClientRect();
|
|
2071
|
-
e.style.position = "absolute", e.style.top = `${a}px`, e.style.left = `${t}px`;
|
|
2072
|
-
},
|
|
2073
|
-
copyInputStyle(n) {
|
|
2074
|
-
var i;
|
|
2075
|
-
const e = n.cloneNode(!0);
|
|
2076
|
-
e.style.boxSizing = "border-box", e.style.fontSize = (i = window.getComputedStyle(n)) == null ? void 0 : i.fontSize;
|
|
2077
|
-
const t = pe(n), a = () => {
|
|
2078
|
-
this.repositionStripeEl({ original: n, clone: e });
|
|
2079
|
-
};
|
|
2080
|
-
t.addEventListener("scroll", a, {
|
|
2081
|
-
passive: !0
|
|
2082
|
-
}), window.addEventListener("resize", a), this.removeEventListeners = () => {
|
|
2083
|
-
t.removeEventListener("scroll", a, {
|
|
2084
|
-
passive: !0
|
|
2085
|
-
}), window.removeEventListener("resize", a);
|
|
2086
|
-
}, this.repositionStripeEl({ original: n, clone: e });
|
|
2087
|
-
const r = Number(
|
|
2088
|
-
window.getComputedStyle(n).getPropertyValue("--app-z-index")
|
|
2089
|
-
);
|
|
2090
|
-
e.style.zIndex = r + 1e4, document.body.appendChild(e);
|
|
2091
|
-
}
|
|
2092
|
-
}
|
|
2093
|
-
}, Ae = {
|
|
2094
|
-
i18nOptions: {
|
|
2095
|
-
namespaces: "PremiumStripeForm",
|
|
2096
|
-
messages: {
|
|
2097
|
-
en: {
|
|
2098
|
-
cardTitle: "Upgrade to {{plan,capitalize}}",
|
|
2099
|
-
oneTimeFee: "One time fee",
|
|
2100
|
-
plan: "Plan",
|
|
2101
|
-
formSteps: "Step 2 of 2:",
|
|
2102
|
-
formTitle: "Please enter your payment information.",
|
|
2103
|
-
submitButton: "Upgrade to {{plan,capitalize}}",
|
|
2104
|
-
paymentInfoLabel: "Enter payment information",
|
|
2105
|
-
existingCustomerTitle: "Customer information",
|
|
2106
|
-
existingCard: "Charges will be billed to the card ending in {{last4}}.",
|
|
2107
|
-
changeCard: "Change card",
|
|
2108
|
-
payYearly: "Pay yearly",
|
|
2109
|
-
saveAmount: "Save 30%",
|
|
2110
|
-
missingCard: "Please fill in your card details.",
|
|
2111
|
-
promotion: {
|
|
2112
|
-
add: "Promo code?",
|
|
2113
|
-
placeholder: "Promotion code",
|
|
2114
|
-
submit: "OK"
|
|
2115
|
-
},
|
|
2116
|
-
highlights: {
|
|
2117
|
-
securePayment: "Secure card payment.",
|
|
2118
|
-
satisfiedCustomer: "30 days satisfied customer guarantee."
|
|
2119
|
-
},
|
|
2120
|
-
quantity: {
|
|
2121
|
-
label: "Number of licenses",
|
|
2122
|
-
tooltip: "Number of members that can create & send documents.",
|
|
2123
|
-
disabled: "Switch to <strong>Base</strong> or <strong>Pro</strong> to add more editors.",
|
|
2124
|
-
required: "Enter number of licenses",
|
|
2125
|
-
minValue: "Add a positive number"
|
|
2126
|
-
},
|
|
2127
|
-
name: {
|
|
2128
|
-
label: "Company name",
|
|
2129
|
-
placeholder: "Company name"
|
|
2130
|
-
},
|
|
2131
|
-
region: {
|
|
2132
|
-
label: "Country",
|
|
2133
|
-
placeholder: "Country"
|
|
2134
|
-
},
|
|
2135
|
-
email: {
|
|
2136
|
-
label: "Send email receipts to",
|
|
2137
|
-
placeholder: "Billing email",
|
|
2138
|
-
email: "Invalid format, need to be: name@example.se"
|
|
2139
|
-
},
|
|
2140
|
-
faq: {
|
|
2141
|
-
title: "FAQ",
|
|
2142
|
-
items: [
|
|
2143
|
-
{
|
|
2144
|
-
title: "Can I try {{ brand }} before I purchase a plan?",
|
|
2145
|
-
text: "Sure thing. When you sign up for a new account a free trial is automatically included."
|
|
2146
|
-
},
|
|
2147
|
-
{
|
|
2148
|
-
title: "What does the number of licenses mean?",
|
|
2149
|
-
text: "The number of licenses is the number of users inside your organization that will be able to create & send documents. You can always add more or decrease licenses later."
|
|
2150
|
-
},
|
|
2151
|
-
{
|
|
2152
|
-
title: "How much does {{ brand }} cost?",
|
|
2153
|
-
text: "{{ brand }} plans start at $15 for our Start plan and moves up for for our more advanced plans. We also provide a free plan which includes 2 documents per month."
|
|
2154
|
-
},
|
|
2155
|
-
{
|
|
2156
|
-
title: "How many documents can I send?",
|
|
2157
|
-
text: `
|
|
2158
|
-
The number of documents you can send differs depending on your plan type.
|
|
2159
|
-
Our Starter plan includes 5 documents every month.
|
|
2160
|
-
With the Base & Pro plans we believe that how many documents you send for each month or year fluctuates. Looking at our historical data we know that 300 documents per user per year covers the needs for almost all of our users. Thus, the Pro-plan includes 300 documents per user per year. Monthly plans have a pro-rated monthly allowance. If you exceed your allowance an extra charge will occur.
|
|
2161
|
-
`
|
|
2162
|
-
},
|
|
2163
|
-
{
|
|
2164
|
-
title: "How do I cancel or downgrade my plan?",
|
|
2165
|
-
text: "You can cancel your subscription at anytime via your account settings or contact us at our support chat."
|
|
2166
|
-
},
|
|
2167
|
-
{
|
|
2168
|
-
title: "Do you offer refunds?",
|
|
2169
|
-
text: "We offer a 30 days satisfied customer guarantee. This offer is available for all new customers and can only be used one time per person or entity and is only applicable when purchasing an annual plan. Month-to-month plans are not eligible for this offer."
|
|
2170
|
-
}
|
|
2171
|
-
]
|
|
2172
|
-
},
|
|
2173
|
-
reasonableUse: {
|
|
2174
|
-
title: "Reasonable Use Policy",
|
|
2175
|
-
text: `
|
|
2176
|
-
At {{brand}} we encourage our users to make full use of our functionality to benefit their business. However, we strive to offer a service that is high quality. This in turn comes with certain operating costs. To make {{ brand}} fit all types of customers we've decided to include a quota that covers the needs of almost all of our users. If you however were to exceed this quota, you will be charged accordingly to the following prices:
|
|
2177
|
-
`,
|
|
2178
|
-
document: "Documents",
|
|
2179
|
-
sms: "SMS",
|
|
2180
|
-
bankId: "BankId signatures",
|
|
2181
|
-
apiDocument: "API-documents",
|
|
2182
|
-
quotaIncluded: "Each month includes a quota of {{count}} per license.",
|
|
2183
|
-
quotaExtra: "The cost for each additional one above your quota is {{cost}}."
|
|
2184
|
-
},
|
|
2185
|
-
consent: {
|
|
2186
|
-
label: "I accept {{brand,capitalize}}'s"
|
|
2187
|
-
}
|
|
2188
|
-
},
|
|
2189
|
-
sv: {
|
|
2190
|
-
cardTitle: "Uppgradera till {{plan,capitalize}}",
|
|
2191
|
-
oneTimeFee: "Engångskostnad",
|
|
2192
|
-
plan: "Plan",
|
|
2193
|
-
formSteps: "Steg 2 av 2:",
|
|
2194
|
-
formTitle: "Vänligen ange betalningsuppgifter.",
|
|
2195
|
-
submitButton: "Uppgradera till {{plan,capitalize}}",
|
|
2196
|
-
paymentInfoLabel: "Ange betalningsuppgifter",
|
|
2197
|
-
existingCustomerTitle: "Kundinformation",
|
|
2198
|
-
existingCard: "Utdraget kommer dras från kortet som slutar med {{last4}}.",
|
|
2199
|
-
changeCard: "Byt kort",
|
|
2200
|
-
payYearly: "Betala årsvis",
|
|
2201
|
-
saveAmount: "Spara 30%",
|
|
2202
|
-
missingCard: "Fyll i dina kortuppgifter.",
|
|
2203
|
-
promotion: {
|
|
2204
|
-
add: "Rabattkod?",
|
|
2205
|
-
placeholder: "Ange rabattkod",
|
|
2206
|
-
submit: "OK"
|
|
2207
|
-
},
|
|
2208
|
-
highlights: {
|
|
2209
|
-
securePayment: "Säker kortbetalning.",
|
|
2210
|
-
satisfiedCustomer: "30 dagar nöjdkund-garanti."
|
|
2211
|
-
},
|
|
2212
|
-
quantity: {
|
|
2213
|
-
label: "Välj antal licenser",
|
|
2214
|
-
tooltip: "Antal medlemmar som ska kunna skapa & skicka dokument.",
|
|
2215
|
-
disabled: "Byt till <strong>Base</strong> eller <strong>Pro</strong> för att lägga till fler licenser.",
|
|
2216
|
-
required: "Ange antal licenser",
|
|
2217
|
-
minValue: "Ange ett positivt tal"
|
|
2218
|
-
},
|
|
2219
|
-
name: {
|
|
2220
|
-
label: "Företagsnamn",
|
|
2221
|
-
placeholder: "Företagsnamn"
|
|
2222
|
-
},
|
|
2223
|
-
region: {
|
|
2224
|
-
label: "Land",
|
|
2225
|
-
placeholder: "Land"
|
|
2226
|
-
},
|
|
2227
|
-
email: {
|
|
2228
|
-
label: "Skicka kvitton till",
|
|
2229
|
-
placeholder: "E-post",
|
|
2230
|
-
email: "Ogitlitgt format, se ex. namn@exempel.se"
|
|
2231
|
-
},
|
|
2232
|
-
faq: {
|
|
2233
|
-
title: "Vanliga frågor",
|
|
2234
|
-
items: [
|
|
2235
|
-
{
|
|
2236
|
-
title: "Kan jag testa {{ brand }} innan jag köper ett paket?",
|
|
2237
|
-
text: "Självklart. När du registerar ett konto så inkluderas en gratis testperiod automatiskt."
|
|
2238
|
-
},
|
|
2239
|
-
{
|
|
2240
|
-
title: "Vad betyder antalet licenser?",
|
|
2241
|
-
text: "Antalet licenser är antalet användare i din organisation som kan skapa & skicka dokument. Du kan alltid lägga till fler eller ta bort licenser senare."
|
|
2242
|
-
},
|
|
2243
|
-
{
|
|
2244
|
-
title: "Hur mycket kostar {{ brand }}?",
|
|
2245
|
-
text: "Våra priser börjar från 190kr i månaden för vårt Start-paket och ökar i pris när man kommer till våra mer avancerade paket. Vi erbjuder dessutom ett gratis paket som inkluderar 2 st dokument per månad."
|
|
2246
|
-
},
|
|
2247
|
-
{
|
|
2248
|
-
title: "Hur många dokument kan jag skicka?",
|
|
2249
|
-
text: `
|
|
2250
|
-
Antalet dokument du kan skicka skiljer sig beroende på vilket paket du har.
|
|
2251
|
-
Vårt Start-paket innehåller 5 dokument per månad.
|
|
2252
|
-
Med Base & Pro så är vi medvetna om att mängden dokument man skickar fluktuerar för varje månad eller år. Med det sagt så har vi historiskt sett från våra användare att 300 st dokument per år täcker nästan alla våra användares behov. Därför så inkluderar Pro-paketet 300 st dokument per användare per år. Månadsabbonemang har en pro-rata vägd begränsning. Om du överstiger din månadskvot kommer en extra avgift att debiteras.
|
|
2253
|
-
`
|
|
2254
|
-
},
|
|
2255
|
-
{
|
|
2256
|
-
title: "Hur avslutar jag eller nedgraderar jag mitt konto?",
|
|
2257
|
-
text: "Du kan avsluta ditt abonnemang närsomhelst genom att gå till dina kontoinställningar eller kontakta oss på supporten via vår chat."
|
|
2258
|
-
},
|
|
2259
|
-
{
|
|
2260
|
-
title: "Erbjuder ni returer?",
|
|
2261
|
-
text: "Vi erbjuder en 30 dagar nöjd kundgaranti. Detta erbjudande är tillgängligt för alla nya kunder och kan endast användas enbart en gång per företagskonto och gäller endast om du köper ett årsabonnemang. Erbjudandet erbjuds inte till månadsabonnemang."
|
|
2262
|
-
}
|
|
2263
|
-
]
|
|
2264
|
-
},
|
|
2265
|
-
reasonableUse: {
|
|
2266
|
-
title: "Rimlig användningspolicy",
|
|
2267
|
-
text: `
|
|
2268
|
-
På {{brand}} så uppmuntrar vi våra kunder att ta del av hela vårt tjänsteutbud för att främja deras företag. Däremot, så har {{brand}} en strävan av att erbjuda en sån hög kvalité som möjligt som i sin tur bär med sig kostnader för drift och underhåll. För att vi ska kunna erbjuda en hög kvalitet på våra tjänster till alla typer av företag; så har vi valt att erbjuda en kvot som ingår i varje paket. Kvoten är satt så att den täcker in nästan alla våra användarens behov. Om du däremot skulle komma över din kvot så kommer du att bli debiterad enligt följande prislista:
|
|
2269
|
-
`,
|
|
2270
|
-
document: "Dokument",
|
|
2271
|
-
sms: "SMS",
|
|
2272
|
-
bankId: "BankId-signeringar",
|
|
2273
|
-
apiDocument: "API-dokument",
|
|
2274
|
-
quotaIncluded: "Varje månad inkluderar en kvot om {{ count }} st per licens.",
|
|
2275
|
-
quotaExtra: "Överskrider du din kvot så tillkommer en styckkostnad om {{ cost }}."
|
|
2276
|
-
},
|
|
2277
|
-
consent: {
|
|
2278
|
-
label: "Jag godkänner {{brand,capitalize}}s"
|
|
2279
|
-
}
|
|
2280
|
-
}
|
|
2281
|
-
}
|
|
2282
|
-
},
|
|
2283
|
-
name: "PremiumStripeForm",
|
|
2284
|
-
components: {
|
|
2285
|
-
CAccordion: Ce,
|
|
2286
|
-
CCheckbox: ae
|
|
2287
|
-
},
|
|
2288
|
-
mixins: [Z],
|
|
2289
|
-
props: {
|
|
2290
|
-
formPlan: {
|
|
2291
|
-
type: Object,
|
|
2292
|
-
required: !0
|
|
2293
|
-
},
|
|
2294
|
-
uiPlan: {
|
|
2295
|
-
type: Object,
|
|
2296
|
-
required: !0
|
|
2297
|
-
},
|
|
2298
|
-
disableQuantity: {
|
|
2299
|
-
type: Boolean,
|
|
2300
|
-
default: !1
|
|
2301
|
-
},
|
|
2302
|
-
hideExtraInfo: {
|
|
2303
|
-
type: Boolean,
|
|
2304
|
-
default: !1
|
|
2305
|
-
},
|
|
2306
|
-
collectConsent: {
|
|
2307
|
-
type: Boolean,
|
|
2308
|
-
default: !1
|
|
2309
|
-
}
|
|
2310
|
-
},
|
|
2311
|
-
data() {
|
|
2312
|
-
return {
|
|
2313
|
-
regions: x,
|
|
2314
|
-
cardBrands: Ue,
|
|
2315
|
-
stripeCardElementId: "#card-element",
|
|
2316
|
-
promoInputVisible: !1,
|
|
2317
|
-
inputPromotionCode: "",
|
|
2318
|
-
isEditLock: !1,
|
|
2319
|
-
isInvalidPromotionCode: !1,
|
|
2320
|
-
useExistingCard: !1,
|
|
2321
|
-
useExistingCustomer: !1,
|
|
2322
|
-
consent: !1
|
|
2323
|
-
};
|
|
2324
|
-
},
|
|
2325
|
-
validations() {
|
|
2326
|
-
return {
|
|
2327
|
-
formCustomer: {
|
|
2328
|
-
email: {
|
|
2329
|
-
email: _.email
|
|
2330
|
-
}
|
|
2331
|
-
},
|
|
2332
|
-
quantity: {
|
|
2333
|
-
required: _.required,
|
|
2334
|
-
minValue: _.minValue(1),
|
|
2335
|
-
numeric: _.numeric
|
|
2336
|
-
},
|
|
2337
|
-
consent: {
|
|
2338
|
-
required: _.requiredIf((e) => e.collectConsent),
|
|
2339
|
-
sameAs: _.sameAs((e) => e.collectConsent)
|
|
2340
|
-
}
|
|
2341
|
-
};
|
|
2342
|
-
},
|
|
2343
|
-
computed: {
|
|
2344
|
-
...v({
|
|
2345
|
-
companyRegion: "application/companyRegion",
|
|
2346
|
-
companyAccount: "application/companyAccount",
|
|
2347
|
-
formCustomer: "stripe/formCustomer",
|
|
2348
|
-
promotion: "stripe/formPromotion",
|
|
2349
|
-
customer: "stripe/customer",
|
|
2350
|
-
isPosting: "stripe/isPosting",
|
|
2351
|
-
formError: "stripe/formError",
|
|
2352
|
-
getMeteredProduct: "stripe/getMeteredProduct",
|
|
2353
|
-
formPrices: "stripe/formPrices"
|
|
2354
|
-
}),
|
|
2355
|
-
messages() {
|
|
2356
|
-
return {
|
|
2357
|
-
email: {
|
|
2358
|
-
email: this.$t("email.email")
|
|
2359
|
-
},
|
|
2360
|
-
quantity: {
|
|
2361
|
-
required: this.$t("quantity.required"),
|
|
2362
|
-
minValue: this.$t("quantity.minValue")
|
|
2363
|
-
}
|
|
2364
|
-
};
|
|
2365
|
-
},
|
|
2366
|
-
quantity: {
|
|
2367
|
-
get() {
|
|
2368
|
-
return this.formPlan.quantity;
|
|
2369
|
-
},
|
|
2370
|
-
set(n) {
|
|
2371
|
-
this.$emit("input", { key: "plan.quantity", value: n });
|
|
2372
|
-
}
|
|
2373
|
-
},
|
|
2374
|
-
routePromo() {
|
|
2375
|
-
return this.$route.query.promoCode;
|
|
2376
|
-
},
|
|
2377
|
-
// promoCode from url
|
|
2378
|
-
existingCardLast4() {
|
|
2379
|
-
var n;
|
|
2380
|
-
return (n = this.customer) == null ? void 0 : n.paymentMethodLast4;
|
|
2381
|
-
},
|
|
2382
|
-
sortedRegions() {
|
|
2383
|
-
return (Object.keys(x) || []).map((n) => ({
|
|
2384
|
-
key: n,
|
|
2385
|
-
title: `${x[n].name} (${n})`,
|
|
2386
|
-
callingCode: x[n].callingCode
|
|
2387
|
-
})).sort((n, e) => n.title.localeCompare(e.title));
|
|
2388
|
-
},
|
|
2389
|
-
currency() {
|
|
2390
|
-
return this.formPrices.currency;
|
|
2391
|
-
},
|
|
2392
|
-
promotionDescription() {
|
|
2393
|
-
let n = "- ";
|
|
2394
|
-
const { amountOff: e, percentOff: t } = this.promotion || {};
|
|
2395
|
-
return e ? n += P(e, { currency: this.currency }) : t && (n += `${t}%`), n;
|
|
2396
|
-
},
|
|
2397
|
-
reasonableUseQuotas() {
|
|
2398
|
-
var i;
|
|
2399
|
-
const n = {}, e = (i = this.formPlan) == null ? void 0 : i.StripeProduct;
|
|
2400
|
-
if (!e)
|
|
2401
|
-
return [];
|
|
2402
|
-
const { quotas: t, autoAddMeteredTypes: a } = e.metadata, r = t[this.companyAccount.accountConfigurationKeyName] || {};
|
|
2403
|
-
return Object.keys(r).forEach((s) => {
|
|
2404
|
-
s === "bankId" && y[h.brand].defaultRegion === "US" || (n[s] = {
|
|
2405
|
-
type: s,
|
|
2406
|
-
count: r[s] || 0,
|
|
2407
|
-
cost: null
|
|
2408
|
-
});
|
|
2409
|
-
}), a.forEach((s) => {
|
|
2410
|
-
if (s === "bankId" && y[h.brand].defaultRegion === "US")
|
|
2411
|
-
return;
|
|
2412
|
-
const c = this.getMeteredProduct(s);
|
|
2413
|
-
if (!c)
|
|
2414
|
-
return;
|
|
2415
|
-
const o = c.prices.find(
|
|
2416
|
-
(p) => {
|
|
2417
|
-
var g;
|
|
2418
|
-
return p.active && ((g = p == null ? void 0 : p.metadata) == null ? void 0 : g.visible) === !0;
|
|
2419
|
-
}
|
|
2420
|
-
);
|
|
2421
|
-
if (!o)
|
|
2422
|
-
return;
|
|
2423
|
-
const l = P(o.amount, {
|
|
2424
|
-
currency: o.currency,
|
|
2425
|
-
decimals: 2,
|
|
2426
|
-
hideZeroDecimals: !0
|
|
2427
|
-
});
|
|
2428
|
-
n[s] || (n[s] = { type: s, count: 0, cost: null }), n[s].cost = l;
|
|
2429
|
-
}), Object.keys(n).map((s) => n[s]);
|
|
2430
|
-
}
|
|
2431
|
-
},
|
|
2432
|
-
watch: {
|
|
2433
|
-
useExistingCard(n) {
|
|
2434
|
-
this.$nextTick(() => {
|
|
2435
|
-
n || this.mountCardInput();
|
|
2436
|
-
});
|
|
2437
|
-
}
|
|
2438
|
-
},
|
|
2439
|
-
async created() {
|
|
2440
|
-
if (this.$nextTick(() => {
|
|
2441
|
-
u({
|
|
2442
|
-
targets: ".anime-payment-modal .anim-block",
|
|
2443
|
-
translateX: [50, 0],
|
|
2444
|
-
opacity: [0, 1],
|
|
2445
|
-
delay: u.stagger(100),
|
|
2446
|
-
easing: "spring(1, 80, 20, 10)"
|
|
2447
|
-
});
|
|
2448
|
-
}), this.customer) {
|
|
2449
|
-
const n = !!this.customer.paymentMethodId;
|
|
2450
|
-
this.useExistingCard = n, this.useExistingCustomer = n, ["name", "region", "email"].forEach((t) => {
|
|
2451
|
-
this.customer[t] && this.$emit("input", {
|
|
2452
|
-
key: `customer.${t}`,
|
|
2453
|
-
value: this.customer[t]
|
|
2454
|
-
});
|
|
2455
|
-
});
|
|
2456
|
-
const { data: e } = await re();
|
|
2457
|
-
this.setPromotion({ promotionDetails: e });
|
|
2458
|
-
}
|
|
2459
|
-
this.companyRegion === "SE" && !this.formCustomer.region && this.$emit("input", { key: "customer.region", value: this.companyRegion }), this.routePromo && this.verifyPromotionCode(this.routePromo);
|
|
2460
|
-
},
|
|
2461
|
-
methods: {
|
|
2462
|
-
...$({
|
|
2463
|
-
usePromotionCode: m.SUBMIT_PROMOTION_CODE,
|
|
2464
|
-
setPromotion: m.SET_FORM_PROMOTION,
|
|
2465
|
-
submitPlan: m.SUBMIT_FORM_PLAN
|
|
2466
|
-
}),
|
|
2467
|
-
priceFormat: P,
|
|
2468
|
-
getIntervalTitle(n) {
|
|
2469
|
-
return n === "month" ? this.$t("_common:monthly").capitalize() : n === "year" ? this.$t("_common:yearly").capitalize() : n === "oneOff" ? this.$t("oneTimeFee").capitalize() : null;
|
|
2470
|
-
},
|
|
2471
|
-
async submit() {
|
|
2472
|
-
if (this.$v.$touch(), this.$v.$invalid)
|
|
2473
|
-
return;
|
|
2474
|
-
if (!this.useExistingCard && !this.cardIsComplete) {
|
|
2475
|
-
this.elementsError = this.$t("missingCard");
|
|
2476
|
-
return;
|
|
2477
|
-
}
|
|
2478
|
-
await this.submitPlan({
|
|
2479
|
-
...!this.useExistingCard && { cardElement: this.card }
|
|
2480
|
-
}) && this.$emit("success");
|
|
2481
|
-
},
|
|
2482
|
-
async verifyPromotionCode(n) {
|
|
2483
|
-
if (!n) {
|
|
2484
|
-
this.promoInputVisible = !1;
|
|
2485
|
-
return;
|
|
2486
|
-
}
|
|
2487
|
-
this.isInvalidPromotionCode = !1, await this.usePromotionCode(n) ? (this.promoInputVisible = !1, this.inputPromotionCode = "") : this.isInvalidPromotionCode = !0;
|
|
2488
|
-
}
|
|
2489
|
-
}
|
|
2490
|
-
};
|
|
2491
|
-
var Ve = function() {
|
|
2492
|
-
var e = this, t = e._self._c;
|
|
2493
|
-
return t("div", { staticClass: "root font-inter anime-payment-modal" }, [t("div", { staticClass: "flex w-full", staticStyle: { overflow: "hidden" } }, [t("div", { staticClass: "anim-block p-aside" }, [t("div", { staticClass: "p-callout", class: e.uiPlan.accountType }, [t("div", { staticStyle: { "font-size": "11px", position: "absolute", right: "calc(0.5 * var(--rem))", top: "calc(1.5 * var(--rem))", display: "flex", "line-height": "1.2" } }, [t("div", { staticStyle: { "text-align": "right", "padding-right": "0.5em" } }, [t("div", { staticStyle: { opacity: "0.7" }, domProps: { textContent: e._s(e.$t("payYearly")) } }), t("div", { staticClass: "text-primary-500 font-medium", domProps: { textContent: e._s(e.$t("saveAmount")) } })]), t("CSwitch", { attrs: { value: e.formPlan.interval === "year", size: "small", type: "secondary" }, on: { input: function(a) {
|
|
2494
|
-
return e.$emit(
|
|
2495
|
-
"update:interval",
|
|
2496
|
-
e.formPlan.interval === "year" ? "month" : "year"
|
|
2497
|
-
);
|
|
2498
|
-
} } })], 1), t("div", [t("img", { staticStyle: { "box-shadow": "0 4px 6px rgba(240, 147, 234, 0.34)", "border-radius": "50%", "margin-bottom": "calc(1 * var(--rem))" }, attrs: { src: e.uiPlan.img, alt: e.uiPlan.name, width: "50", height: "50" } })]), t("div", { staticStyle: { "font-weight": "600", "font-size": "21px" } }, [e._v(" " + e._s(e.$t("cardTitle", { plan: e.uiPlan.name })) + " ")]), t("div", { staticClass: "py-4 text-[15px]" }, [e._l(e.formPrices.intervals, function(a, r) {
|
|
2499
|
-
return t("div", { key: `interval-${r}`, staticClass: "mb-4 border-b border-gray-200 pb-2" }, [t("div", { staticClass: "flex w-full justify-between" }, [t("div", { staticClass: "font-medium" }, [e._v(e._s(e.getIntervalTitle(r)))]), t("div", { staticClass: "text-right" }, [t("div", { staticClass: "text-[17px] font-semibold leading-none" }, [e._v(" " + e._s(e.priceFormat(a.subTotal, { currency: e.currency })) + " ")]), t("div", { staticClass: "text-[13px] opacity-70" }, [e._v(" " + e._s(a.vatAmount ? e.$t("_common:vat.exVat", { thing: e.$t("_common:vat.vat") }) : e.$t("_common:total").capitalize()) + " "), r !== "oneOff" ? [e._v("/ " + e._s(e.$t(`_common:${r}`)) + " ")] : e._e()], 2)])]), e._l(a.items, function(i, s) {
|
|
2500
|
-
return t("div", { key: s, staticClass: "mt-2 flex w-full justify-between pb-1" }, [t("div", { staticClass: "font-medium opacity-70" }, [e._v(" " + e._s(e.disableQuantity ? "" : `${i.quantity} x `) + e._s(i.name.capitalize()) + " ")]), t("div", { staticClass: "text-right opacity-70" }, [e._v(" " + e._s(e.priceFormat(i.amount, { currency: e.currency })) + " ")])]);
|
|
2501
|
-
})], 2);
|
|
2502
|
-
}), e.promotion ? t("div", { staticClass: "flex w-full justify-between", staticStyle: { "padding-bottom": "4px" } }, [t("div", { staticStyle: { "font-weight": "500", opacity: "0.7" } }, [e._v(" " + e._s(e.promotion.code || e.promotion.name) + " ")]), t("div", { staticClass: "has-text-danger text-right", staticStyle: { display: "inline-flex", "justify-content": "flex-end", "align-items": "center" } }, [t("CButton", { staticStyle: { height: "inherit", "margin-right": "3px" }, attrs: { disabled: e.isEditLock, "icon-props": { size: 15 }, size: "small", type: "none", pattern: "tertiary", icon: "trash" }, on: { click: function(a) {
|
|
2503
|
-
return e.$emit("input", { key: "promotion", value: null });
|
|
2504
|
-
} } }), t("div", { domProps: { textContent: e._s(e.promotionDescription) } })], 1)]) : e._e(), e.formPrices.vatAmount ? [t("div", { staticClass: "flex w-full justify-between", staticStyle: { "padding-bottom": "4px" } }, [t("div", { staticStyle: { "font-weight": "500", opacity: "0.7" } }, [e._v(" " + e._s(e.$t("_common:vat.vat").capitalize()) + " ")]), t("div", { staticClass: "text-right", staticStyle: { opacity: "0.7" } }, [e._v(" " + e._s(e.priceFormat(e.formPrices.vatAmount, { currency: e.currency })) + " ")])]), t("div", { staticClass: "flex w-full justify-between", staticStyle: { "padding-bottom": "4px" } }, [t("div", { staticStyle: { "font-weight": "500", opacity: "0.7" } }, [e._v(" " + e._s(e.$t("_common:vat.incVat", { thing: e.$t("_common:vat.vat") }).capitalize()) + " ")]), t("div", { staticClass: "text-right", staticStyle: { opacity: "0.7" } }, [e._v(" " + e._s(e.priceFormat(e.formPrices.totalAmount, { currency: e.currency })) + " ")])])] : e._e(), t("div", { directives: [{ name: "show", rawName: "v-show", value: !e.promotion, expression: "!promotion" }], staticClass: "flex w-full justify-end" }, [e.promoInputVisible ? t("CField", { staticStyle: { "padding-top": "1em", width: "100%" }, attrs: { expanded: "" } }, [t("CInput", { attrs: { placeholder: e.$t("promotion.placeholder"), "custom-class": e.isInvalidPromotionCode ? "is-danger shake" : "", size: "small" }, on: { blur: function(a) {
|
|
2505
|
-
return e.verifyPromotionCode(e.inputPromotionCode);
|
|
2506
|
-
} }, nativeOn: { keyup: function(a) {
|
|
2507
|
-
return !a.type.indexOf("key") && e._k(a.keyCode, "enter", 13, a.key, "Enter") ? null : e.verifyPromotionCode(e.inputPromotionCode);
|
|
2508
|
-
} }, model: { value: e.inputPromotionCode, callback: function(a) {
|
|
2509
|
-
e.inputPromotionCode = typeof a == "string" ? a.trim() : a;
|
|
2510
|
-
}, expression: "inputPromotionCode" } }, [t("template", { slot: "suffix" }, [t("CButton", { attrs: { loading: e.isPosting, type: "secondary", size: "small" }, on: { click: function(a) {
|
|
2511
|
-
return e.verifyPromotionCode(e.inputPromotionCode);
|
|
2512
|
-
} } }, [e._v(" " + e._s(e.$t("promotion.submit")) + " ")])], 1)], 2)], 1) : t("CButton", { staticStyle: { "text-decoration": "underline", "margin-right": "-1em" }, attrs: { disabled: e.isEditLock, type: "secondary", pattern: "tertiary", size: "small" }, on: { click: function(a) {
|
|
2513
|
-
e.promoInputVisible = !0;
|
|
2514
|
-
} } }, [e._v(" " + e._s(e.$t("promotion.add")) + " ")])], 1)], 2)]), t("div", { staticClass: "p-badge flex w-full items-center" }, [t("svg", { staticClass: "has-text-success", staticStyle: { "margin-right": "0.5em" }, attrs: { width: "17", height: "15", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512" } }, [t("path", { attrs: { fill: "currentColor", d: "M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z" } })]), e._v(" " + e._s(e.$t("highlights.securePayment")) + " ")]), t("div", { staticClass: "p-badge flex w-full items-center" }, [t("svg", { staticClass: "has-text-success", staticStyle: { "margin-right": "0.5em" }, attrs: { width: "17", height: "20", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512" } }, [t("path", { attrs: { fill: "currentColor", d: "M512 256c0-37.7-23.7-69.9-57.1-82.4 14.7-32.4 8.8-71.9-17.9-98.6-26.7-26.7-66.2-32.6-98.6-17.9C325.9 23.7 293.7 0 256 0s-69.9 23.7-82.4 57.1c-32.4-14.7-72-8.8-98.6 17.9-26.7 26.7-32.6 66.2-17.9 98.6C23.7 186.1 0 218.3 0 256s23.7 69.9 57.1 82.4c-14.7 32.4-8.8 72 17.9 98.6 26.6 26.6 66.1 32.7 98.6 17.9 12.5 33.3 44.7 57.1 82.4 57.1s69.9-23.7 82.4-57.1c32.6 14.8 72 8.7 98.6-17.9 26.7-26.7 32.6-66.2 17.9-98.6 33.4-12.5 57.1-44.7 57.1-82.4zm-144.8-44.25L236.16 341.74c-4.31 4.28-11.28 4.25-15.55-.06l-75.72-76.33c-4.28-4.31-4.25-11.28.06-15.56l26.03-25.82c4.31-4.28 11.28-4.25 15.56.06l42.15 42.49 97.2-96.42c4.31-4.28 11.28-4.25 15.55.06l25.82 26.03c4.28 4.32 4.26 11.29-.06 15.56z" } })]), e._v(" " + e._s(e.$t("highlights.satisfiedCustomer")) + " ")]), e.hideExtraInfo ? e._e() : [t("div", { staticClass: "p-badge flex w-full items-center" }, [t("CIcon", { staticStyle: { opacity: "0.65", "margin-right": "0.5em" }, attrs: { size: 17, "stroke-width": "2", type: "question" } }), t("span", { staticStyle: { "text-decoration": "underline", opacity: "0.85", cursor: "pointer" }, domProps: { textContent: e._s(e.$t("reasonableUse.title")) }, on: { click: function(a) {
|
|
2515
|
-
return e.$modal.show("reasonableUse");
|
|
2516
|
-
} } })], 1), t("div", { staticClass: "p-badge flex w-full items-center" }, [t("CIcon", { staticStyle: { opacity: "0.65", "margin-right": "0.5em" }, attrs: { size: 17, "stroke-width": "2", type: "question" } }), t("span", { staticStyle: { "text-decoration": "underline", opacity: "0.85", cursor: "pointer" }, domProps: { textContent: e._s(e.$t("faq.title")) }, on: { click: function(a) {
|
|
2517
|
-
return e.$modal.show("faq");
|
|
2518
|
-
} } })], 1)]], 2), t("div", [t("div", { staticClass: "anim-block p-block", staticStyle: { "padding-bottom": "2em" } }, [t("div", { staticStyle: { "font-size": "18px", "font-weight": "600", "line-height": "1.5" } }, [t("span", { staticStyle: { opacity: "0.5" } }, [e._v(e._s(e.$t("formSteps")))]), t("br"), e._v(" " + e._s(e.$t("formTitle")) + " ")])]), t("div", { staticClass: "anim-block", staticStyle: { "font-size": "14px" } }, [e.disableQuantity ? e._e() : t("div", { staticClass: "p-block" }, [t("div", { staticClass: "p-block-title flex w-full items-center" }, [t("div", [e._v(" " + e._s(e.$t("quantity.label")) + " "), t("CIcon", { directives: [{ name: "tooltip", rawName: "v-tooltip", value: e.$t("quantity.tooltip"), expression: "$t('quantity.tooltip')" }], staticClass: "text-gray-400", attrs: { type: "info", size: "16" } })], 1)]), t("div", { staticClass: "flex w-full" }, [t("div", { staticClass: "p-option-list", staticStyle: { flex: "1 1 auto" } }, [t("CField", { attrs: { validator: e.$v.quantity, messages: e.messages.quantity, expanded: "" } }, [t("CInput", { directives: [{ name: "tooltip", rawName: "v-tooltip", value: e.uiPlan.accountType === "start" ? { content: e.$t("quantity.disabled") } : "", expression: `
|
|
2519
|
-
uiPlan.accountType === 'start'
|
|
2520
|
-
? { content: $t('quantity.disabled') }
|
|
2521
|
-
: ''
|
|
2522
|
-
` }], attrs: { disabled: e.uiPlan.accountType === "start" || e.isEditLock, size: "medium", min: "1", filled: "", type: "number" }, model: { value: e.quantity, callback: function(a) {
|
|
2523
|
-
e.quantity = e._n(a);
|
|
2524
|
-
}, expression: "quantity" } })], 1)], 1), t("div", { staticClass: "p-option-list flex w-full items-center justify-center", staticStyle: { "margin-left": "calc(1 * var(--rem))", flex: "0 0" } }, [t("CButton", { staticStyle: { width: "calc(3.5 * var(--rem))" }, attrs: { disabled: 2 > e.quantity || e.uiPlan.accountType === "start" || e.isEditLock, type: "none", pattern: "tertiary", icon: "minus" }, on: { click: function(a) {
|
|
2525
|
-
e.quantity--;
|
|
2526
|
-
} } })], 1), t("div", { staticClass: "p-option-list flex w-full items-center justify-center", staticStyle: { "margin-left": "3px", flex: "0 0" } }, [t("CButton", { staticStyle: { width: "calc(3.5 * var(--rem))" }, attrs: { disabled: e.uiPlan.accountType === "start" || e.isEditLock, type: "none", pattern: "tertiary", icon: "plus" }, on: { click: function(a) {
|
|
2527
|
-
e.quantity++;
|
|
2528
|
-
} } })], 1)])]), e.useExistingCustomer ? t("div", { staticClass: "p-callout", staticStyle: { position: "relative", padding: "calc(1 * var(--rem))", "border-radius": "8px" } }, [t("CButton", { staticStyle: { position: "absolute", top: "calc(1 * var(--rem))", right: "calc(1 * var(--rem))" }, attrs: { size: "small", rounded: "" }, on: { click: function(a) {
|
|
2529
|
-
e.useExistingCustomer = !1;
|
|
2530
|
-
} } }, [e._v(" " + e._s(e.$t("_common:change")) + " ")]), t("div", { staticClass: "flex w-full items-center" }, [t("div", { domProps: { innerHTML: e._s(
|
|
2531
|
-
e.cardBrands.get(e.customer.paymentMethodBrand, { width: 36 }).logo
|
|
2532
|
-
) } }), t("div", { staticStyle: { "margin-left": "calc(0.5 * var(--rem))" } }, [t("span", { staticStyle: { "margin-right": "5px" } }, [e._v(e._s(e.cardBrands.get(e.customer.paymentMethodBrand).name))]), e._v(" •••• " + e._s(e.customer.paymentMethodLast4 || "") + " ")])]), t("div", [e._v(e._s(e.customer.name))]), t("div", [e._v(e._s(e.customer.email))]), e.regions[e.customer.region] ? t("div", [e._v(" " + e._s(e.regions[e.customer.region].name) + " ")]) : e._e()], 1) : [t("div", { staticClass: "p-block" }, [e.useExistingCard ? e._e() : t("div", { staticClass: "p-block-title flex w-full items-center" }, [t("div", [e._v(e._s(e.$t("paymentInfoLabel")))])]), t("div", [e.useExistingCard && e.existingCardLast4 ? t("div", { staticClass: "p-block" }, [e._v(" " + e._s(e.$t("paymentInfoLabel")) + " "), t("CField", { attrs: { messages: e.messages.email, expanded: "" } }, [t("CInput", { attrs: { value: `•••• •••• •••• ${e.existingCardLast4}`, size: "medium", disabled: "", filled: "" } }, [t("CButton", { attrs: { slot: "suffix", type: "secondary", size: "small" }, on: { click: function(a) {
|
|
2533
|
-
e.useExistingCard = !1;
|
|
2534
|
-
} }, slot: "suffix" }, [e._v(" " + e._s(e.$t("_common:change")) + " ")])], 1)], 1)], 1) : e._e(), t("div", { directives: [{ name: "show", rawName: "v-show", value: !e.useExistingCard, expression: "!useExistingCard" }], staticClass: "bg-gray-100", staticStyle: { width: "400px", padding: "1em 1em", "border-radius": "0.5em", "min-height": "54px" }, attrs: { id: "card-element" } }), t("div", { directives: [{ name: "show", rawName: "v-show", value: e.elementsError && !e.useExistingCard, expression: "elementsError && !useExistingCard" }], staticClass: "pt-2 text-red-500", domProps: { textContent: e._s(e.elementsError) } })])]), t("div", { staticClass: "p-block" }, [e._v(" " + e._s(e.$t("name.label")) + " "), t("CInput", { attrs: { value: e.formCustomer.name, placeholder: e.$t("name.placeholder"), size: "medium", filled: "" }, on: { input: function(a) {
|
|
2535
|
-
return e.$emit("input", { key: "customer.name", value: a });
|
|
2536
|
-
} } })], 1), t("div", { staticClass: "p-block" }, [e._v(" " + e._s(e.$t("region.label")) + " "), t("CSelect", { attrs: { value: e.formCustomer.region, "select-class": "input is-filled", placeholder: e.$t("region.placeholder") }, on: { input: function(a) {
|
|
2537
|
-
return e.$emit("input", { key: "customer.region", value: a });
|
|
2538
|
-
} } }, e._l(e.sortedRegions, function({ key: a, title: r }) {
|
|
2539
|
-
return t("option", { key: a, domProps: { value: a } }, [e._v(" " + e._s(r) + " ")]);
|
|
2540
|
-
}), 0)], 1), t("div", { staticClass: "p-block" }, [e._v(" " + e._s(e.$t("email.label")) + " "), t("CField", { attrs: { validator: e.$v.formCustomer.email, messages: e.messages.email, expanded: "" } }, [t("CInput", { attrs: { value: e.formCustomer.email, placeholder: e.$t("email.placeholder"), size: "medium", filled: "" }, on: { input: function(a) {
|
|
2541
|
-
return e.$emit("input", { key: "customer.email", value: a });
|
|
2542
|
-
} } })], 1)], 1)]], 2), e.collectConsent ? t("div", { staticClass: "anim-block p-block" }, [t("CCheckbox", { attrs: { type: "secondary", size: "normal" }, model: { value: e.consent, callback: function(a) {
|
|
2543
|
-
e.consent = a;
|
|
2544
|
-
}, expression: "consent" } }, [t("div", { class: [
|
|
2545
|
-
e.$v.consent.$invalid && e.$v.consent.$dirty ? "has-text-danger" : "has-text-grey-dark"
|
|
2546
|
-
] }, [e._v(" " + e._s(e.$t("consent.label", { brand: e.$t("_common:brand.name") })) + " "), t("a", { staticClass: "underline", attrs: { href: e.$t("_common:brand.termsOfService.url"), target: "_blank", rel: "noopener", tabindex: "-1" } }, [e._v(" " + e._s(e.$t("_common:terms.termsAndConditions")) + " ")]), e._v(" " + e._s(e.$t("_common:and")) + " "), t("a", { staticClass: "underline", attrs: { href: e.$t("_common:brand.privacyPolicy.url"), target: "_blank", rel: "noopener", tabindex: "-1" } }, [e._v(" " + e._s(e.$t("_common:terms.privacyPolicy")) + " ")])])])], 1) : e._e(), e.formError ? t("div", { staticClass: "c-flex-row c-align-middle" }, [t("CIcon", { attrs: { type: "warning", size: "14", stroke: "hsl(360, 100%, 60%)" } }), t("div", { staticStyle: { "margin-left": "0.5em" }, domProps: { textContent: e._s(e.formError) } })], 1) : e._e(), t("div", { staticClass: "anim-block p-block" }, [t("CButton", { staticStyle: { "margin-top": "calc(1 * var(--rem))" }, attrs: { loading: e.isPosting, type: "secondary", wide: "", size: "medium", "icon-right": "arrow-right" }, on: { click: e.submit } }, [e._v(" " + e._s(e.$t("submitButton", { plan: e.uiPlan.name })) + " ")])], 1)])]), t("modal", { staticClass: "primary overflow-visible", attrs: { adaptive: !0, scrollable: !0, "max-width": 400, height: "auto", width: "90%", classes: "primary overflow-visible", name: "faq" } }, [t("div", { staticStyle: { "background-color": "white", "border-radius": "calc(0.5 * var(--rem))", padding: "calc(1 * var(--rem))" } }, [t("div", { staticStyle: { "font-size": "calc(2 * var(--rem))", "font-weight": "600", "margin-bottom": "0.5em", padding: "calc(1 * var(--rem))" }, domProps: { textContent: e._s(e.$t("faq.title")) } }), e._l(6, function(a) {
|
|
2547
|
-
return t("CAccordion", { key: a, attrs: { "default-open": null }, scopedSlots: e._u([{ key: "trigger", fn: function({ expanded: r }) {
|
|
2548
|
-
return t("div", { staticClass: "list-button" }, [t("span", { domProps: { textContent: e._s(
|
|
2549
|
-
e.$t(`faq.items.${a - 1}.title`, {
|
|
2550
|
-
brand: e.$t("_common:brand.name")
|
|
2551
|
-
})
|
|
2552
|
-
) } }), t("CIcon", { staticStyle: { transition: "200ms" }, style: { transform: `rotate(${r ? "0deg" : "180deg"})` }, attrs: { type: "chevron-down", size: "15" } })], 1);
|
|
2553
|
-
} }], null, !0) }, [t("div", { staticStyle: { "font-size": "14px", opacity: "0.65", padding: "0 calc(0.5 * var(--rem)) calc(2 * var(--rem))" }, domProps: { textContent: e._s(
|
|
2554
|
-
e.$t(`faq.items.${a - 1}.text`, { brand: e.$t("_common:brand.name") })
|
|
2555
|
-
) } })]);
|
|
2556
|
-
})], 2)]), t("modal", { staticClass: "primary overflow-visible", attrs: { adaptive: !0, scrollable: !0, "max-width": 400, height: "auto", width: "90%", classes: "primary overflow-visible", name: "reasonableUse" } }, [t("div", { staticStyle: { "background-color": "white", "border-radius": "calc(0.5 * var(--rem))", padding: "calc(1 * var(--rem))" } }, [t("div", { staticStyle: { "font-size": "calc(1.5 * var(--rem))", "font-weight": "600", padding: "calc(1 * var(--rem))" }, domProps: { textContent: e._s(e.$t("reasonableUse.title")) } }), t("div", { staticStyle: { "font-size": "15px", opacity: "0.75", padding: "0 calc(1 * var(--rem)) calc(2 * var(--rem))" }, domProps: { textContent: e._s(e.$t("reasonableUse.text", { brand: e.$t("_common:brand.name") })) } }), t("div", { staticStyle: { padding: "0 calc(1 * var(--rem))" } }, e._l(e.reasonableUseQuotas, function(a, r) {
|
|
2557
|
-
return t("div", { key: r, staticStyle: { "font-size": "14px", "margin-bottom": "calc(1 * var(--rem))" } }, [t("span", { staticStyle: { "font-weight": "500", "padding-right": "0.5ch" }, domProps: { textContent: e._s(e.$t(`reasonableUse.${a.type}`) + ":") } }), t("span", { staticStyle: { opacity: "0.75", "padding-right": "0.5ch" }, domProps: { textContent: e._s(e.$t("reasonableUse.quotaIncluded", { count: a.count })) } }), a.cost ? t("span", { staticStyle: { opacity: "0.75" }, domProps: { textContent: e._s(e.$t("reasonableUse.quotaExtra", { cost: a.cost })) } }) : e._e()]);
|
|
2558
|
-
}), 0)])])], 1);
|
|
2559
|
-
}, Oe = [], Ne = /* @__PURE__ */ d(
|
|
2560
|
-
Ae,
|
|
2561
|
-
Ve,
|
|
2562
|
-
Oe,
|
|
2563
|
-
!1,
|
|
2564
|
-
null,
|
|
2565
|
-
"34e4bb3d"
|
|
2566
|
-
);
|
|
2567
|
-
const ze = Ne.exports, qe = {
|
|
2568
|
-
name: "PremiumStripeSelect",
|
|
2569
|
-
i18nOptions: {
|
|
2570
|
-
namespaces: "premiumStripeSelect",
|
|
2571
|
-
messages: {
|
|
2572
|
-
en: {
|
|
2573
|
-
title: 'Upgrade your plan. <span style="opacity: 0.5;">Get more out of {{brand,capitalize}}.</span>',
|
|
2574
|
-
saveYearly: "Save 30%",
|
|
2575
|
-
billedYearly: "Billed yearly.",
|
|
2576
|
-
continueButton: "Continue to billing",
|
|
2577
|
-
currentPlan: "Your current plan"
|
|
2578
|
-
},
|
|
2579
|
-
sv: {
|
|
2580
|
-
title: 'Uppgradera ditt konto. <span style="opacity: 0.5;">Få ut mer av {{brand,capitalize}}.</span>',
|
|
2581
|
-
saveYearly: "Spara 30%",
|
|
2582
|
-
billedYearly: "Faktureras årsvis.",
|
|
2583
|
-
continueButton: "Fortsätt till kassan",
|
|
2584
|
-
currentPlan: "Din nuvarande plan"
|
|
2585
|
-
}
|
|
2586
|
-
}
|
|
2587
|
-
},
|
|
2588
|
-
props: {
|
|
2589
|
-
plans: {
|
|
2590
|
-
type: Array,
|
|
2591
|
-
required: !0
|
|
2592
|
-
},
|
|
2593
|
-
interval: {
|
|
2594
|
-
type: String,
|
|
2595
|
-
required: !0
|
|
2596
|
-
},
|
|
2597
|
-
plan: {
|
|
2598
|
-
type: String,
|
|
2599
|
-
required: !0
|
|
2600
|
-
}
|
|
2601
|
-
},
|
|
2602
|
-
computed: {
|
|
2603
|
-
...v({
|
|
2604
|
-
currentPlan: "stripe/currentPlan",
|
|
2605
|
-
getPrice: "stripe/getPrice"
|
|
2606
|
-
}),
|
|
2607
|
-
currentAccountType() {
|
|
2608
|
-
var n;
|
|
2609
|
-
return ((n = this.currentPlan) == null ? void 0 : n.accountType) || "free";
|
|
2610
|
-
},
|
|
2611
|
-
currentInterval() {
|
|
2612
|
-
var n;
|
|
2613
|
-
return (n = this.currentPlan) == null ? void 0 : n.interval;
|
|
2614
|
-
}
|
|
2615
|
-
},
|
|
2616
|
-
created() {
|
|
2617
|
-
this.$nextTick(() => {
|
|
2618
|
-
u({
|
|
2619
|
-
targets: ".anim-block",
|
|
2620
|
-
translateY: [50, 0],
|
|
2621
|
-
opacity: [0, 1],
|
|
2622
|
-
delay: u.stagger(80),
|
|
2623
|
-
easing: "spring(1, 70, 20, 9)",
|
|
2624
|
-
complete: (n) => {
|
|
2625
|
-
n.animatables.forEach(({ target: e }) => {
|
|
2626
|
-
e.style.transform = "", this.$el.classList.remove("animating");
|
|
2627
|
-
});
|
|
2628
|
-
}
|
|
2629
|
-
});
|
|
2630
|
-
});
|
|
2631
|
-
},
|
|
2632
|
-
methods: {
|
|
2633
|
-
getPriceFormatted(n) {
|
|
2634
|
-
if (n.accountType === "free")
|
|
2635
|
-
return "";
|
|
2636
|
-
const { amount: e, currency: t } = this.getPrice(n.accountType, this.interval) || {};
|
|
2637
|
-
if (typeof e > "u" || typeof t > "u")
|
|
2638
|
-
return "";
|
|
2639
|
-
const a = e / (this.interval === "month" ? 1 : 12);
|
|
2640
|
-
return `${P(a, { currency: t })}/${this.$t(
|
|
2641
|
-
"_common:month"
|
|
2642
|
-
)}`;
|
|
2643
|
-
}
|
|
2644
|
-
}
|
|
2645
|
-
};
|
|
2646
|
-
var Ge = function() {
|
|
2647
|
-
var e = this, t = e._self._c;
|
|
2648
|
-
return t("div", { staticClass: "animating flex w-full flex-col items-center", staticStyle: { "padding-top": "30px" } }, [t("div", { staticClass: "anim-block flex w-full flex-col items-center text-center", staticStyle: { "margin-bottom": "50px" } }, [t("div", { staticStyle: { "font-size": "22px", "font-weight": "600", "margin-bottom": "20px", "max-width": "20ch" }, domProps: { innerHTML: e._s(e.$t("title", { brand: e.$t("_common:brand.name") })) } }), t("div", { staticStyle: { position: "relative" } }, [t("div", { staticClass: "tgl-btn-group" }, e._l(["month", "year"], function(a) {
|
|
2649
|
-
return t("div", { key: a, staticClass: "tgl-btn", class: {
|
|
2650
|
-
selected: e.interval === a
|
|
2651
|
-
}, domProps: { textContent: e._s(e.$t(`_common:paymentInterval.${a}`).capitalize()) }, on: { click: function(r) {
|
|
2652
|
-
return e.$emit("update:interval", a);
|
|
2653
|
-
} } });
|
|
2654
|
-
}), 0), t("div", { staticClass: "text-primary-600 absolute left-[88%] top-[112%] whitespace-nowrap text-[13px]" }, [t("svg", { attrs: { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" } }, [t("path", { attrs: { d: "M1.73255 11.5162L3.78467 5.87805L9.42282 7.93017", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" } }), t("path", { attrs: { d: "M3.78467 5.87805C4.42683 7.25608 8.24738 13.7995 10.2964 15.6909C13.8158 18.9395 19.2241 17.4113 22.0419 16.6886", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" } })]), t("span", { staticStyle: { "padding-left": "0.25em" }, domProps: { textContent: e._s(e.$t("saveYearly")) } })])])]), t("div", { staticClass: "PriceGrid" }, e._l(e.plans, function(a, r) {
|
|
2655
|
-
return t("div", { key: r, staticClass: "PriceItem anim-block", class: {
|
|
2656
|
-
selected: e.plan === a.accountType
|
|
2657
|
-
}, on: { click: function(i) {
|
|
2658
|
-
return e.$emit("update:plan", a.accountType);
|
|
2659
|
-
} } }, [t("div", [t("img", { staticStyle: { "box-shadow": "0 4px 6px rgba(240, 147, 234, 0.34)", "border-radius": "50%" }, attrs: { src: a.img, alt: a.name, width: "50", height: "50" } })]), t("div", { staticClass: "PriceItem__title" }, [t("span", { domProps: { textContent: e._s(a.name) } }), e._v(" ")]), e.currentAccountType === a.accountType ? t("svg", { directives: [{ name: "tooltip", rawName: "v-tooltip", value: e.$t("currentPlan"), expression: "$t('currentPlan')" }], staticClass: "[.selected_&]:text-primary-500 absolute right-0 top-0 rounded-tr-lg text-gray-400", attrs: { width: "50", height: "50", viewBox: "0 0 70 70", fill: "none", xmlns: "http://www.w3.org/2000/svg" } }, [t("path", { attrs: { d: "M0 0H70V70L0 0Z", fill: "currentColor" } }), t("path", { attrs: { d: "M39.4203 23.5667L45 29.1464L57.0732 17.0732", stroke: "white", "stroke-width": "4" } })]) : e._e(), t("div", { staticClass: "PriceItem__cost" }, [t("span", { staticStyle: { display: "inline-block" }, domProps: { textContent: e._s(e.getPriceFormatted(a)) } }), e._v(" ")]), t("div", { staticStyle: { "font-size": "14px", "margin-bottom": "20px", color: "hsl(240, 8%, 45%)", "min-height": "2em" } }, [t("transition", { attrs: { name: "vertical-fader" } }, [e.interval === "year" && a.accountType !== "free" ? t("span", { staticStyle: { display: "inline-block" }, domProps: { textContent: e._s(e.$t("billedYearly")) } }) : e._e()])], 1), t("ul", { staticClass: "PriceItem__text" }, e._l(a.features, function(i) {
|
|
2660
|
-
return t("li", { key: i }, [t("span", { domProps: { textContent: e._s(i) } })]);
|
|
2661
|
-
}), 0)]);
|
|
2662
|
-
}), 0), t("CButton", { staticClass: "anim-block sticky-btn", attrs: { disabled: e.currentAccountType === e.plan && e.currentInterval === e.interval || e.plan === "free", type: "secondary", "icon-right": "arrow-right" }, on: { click: function(a) {
|
|
2663
|
-
return e.$emit("next");
|
|
2664
|
-
} } }, [e._v(e._s(e.$t("continueButton")))])], 1);
|
|
2665
|
-
}, je = [], Ze = /* @__PURE__ */ d(
|
|
2666
|
-
qe,
|
|
2667
|
-
Ge,
|
|
2668
|
-
je,
|
|
2669
|
-
!1,
|
|
2670
|
-
null,
|
|
2671
|
-
"8aad9743"
|
|
2672
|
-
);
|
|
2673
|
-
const Ke = Ze.exports, Ye = {
|
|
2674
|
-
sv: {
|
|
2675
|
-
premiumStripe: {
|
|
2676
|
-
"features.free": [
|
|
2677
|
-
"Skapa offerter med standardmallen",
|
|
2678
|
-
"Skapa PDF-offerter",
|
|
2679
|
-
"Signering - standard",
|
|
2680
|
-
"SMS"
|
|
2681
|
-
],
|
|
2682
|
-
"features.pro": [
|
|
2683
|
-
"Skicka offerter & avtal med e-signering",
|
|
2684
|
-
"BankID-signaturer",
|
|
2685
|
-
"Design:a offerter",
|
|
2686
|
-
"Skapa & använd offertmallar",
|
|
2687
|
-
"Skicka offerter till kunder utanför Offerta",
|
|
2688
|
-
"Dessutom allt som ingår i Cling Pro"
|
|
2689
|
-
]
|
|
2690
|
-
},
|
|
2691
|
-
premiumStripeSelect: {
|
|
2692
|
-
title: 'Uppgradera ditt konto. <span style="opacity: 0.5;">Få ut mer av offertverktyget.</span>'
|
|
2693
|
-
}
|
|
2694
|
-
},
|
|
2695
|
-
en: {
|
|
2696
|
-
premiumStripe: {
|
|
2697
|
-
"features.free": [
|
|
2698
|
-
"Create proposals with the default template",
|
|
2699
|
-
"Create PDF-proposals",
|
|
2700
|
-
"Sign method - standard",
|
|
2701
|
-
"SMS"
|
|
2702
|
-
],
|
|
2703
|
-
"features.pro": [
|
|
2704
|
-
"Send proposals & contracts with e-signatures",
|
|
2705
|
-
"BankID-signatures",
|
|
2706
|
-
"Design proposals",
|
|
2707
|
-
"Create & use document templates",
|
|
2708
|
-
"Send proposals to clients outside Offerta",
|
|
2709
|
-
"Everything in Cling Pro"
|
|
2710
|
-
]
|
|
2711
|
-
},
|
|
2712
|
-
premiumStripeSelect: {
|
|
2713
|
-
title: 'Upgrade your plan. <span style="opacity: 0.5;">Get more out of Offerta.</span>'
|
|
2714
|
-
}
|
|
2715
|
-
}
|
|
2716
|
-
}, We = {
|
|
2717
|
-
name: "PremiumStripe",
|
|
2718
|
-
i18nOptions: {
|
|
2719
|
-
namespaces: "premiumStripe",
|
|
2720
|
-
messages: {
|
|
2721
|
-
en: {
|
|
2722
|
-
callout: {
|
|
2723
|
-
legacy: {
|
|
2724
|
-
title: "Update your account plan",
|
|
2725
|
-
text: `
|
|
2726
|
-
We've updated our account plans. You'll have to update your old account plan to our new ones.
|
|
2727
|
-
You'll <span style="font-weight: 600;">only</span> have the new subscription active after the switch.
|
|
2728
|
-
Your old subscription will get replaced.
|
|
2729
|
-
`
|
|
2730
|
-
},
|
|
2731
|
-
invoice: {
|
|
2732
|
-
title: "Change to card payment",
|
|
2733
|
-
text: `
|
|
2734
|
-
Replace your current payment method to card.
|
|
2735
|
-
You'll <span style="font-weight: 600;">only</span> have the new subscription active after the switch.
|
|
2736
|
-
Your old subscription will get replaced.
|
|
2737
|
-
`
|
|
2738
|
-
},
|
|
2739
|
-
widget: {
|
|
2740
|
-
text: `Service provided by ${y[h.brand].name}. <a href="${y[h.brand].termsOfService.url}" target="_blank" class="font-semibold underline">Terms</a> for ${y[h.brand].name}.`
|
|
2741
|
-
}
|
|
2742
|
-
},
|
|
2743
|
-
features: {
|
|
2744
|
-
free: [],
|
|
2745
|
-
start: [
|
|
2746
|
-
"Single user only",
|
|
2747
|
-
"Send up to 5 docs / month",
|
|
2748
|
-
"Up to 2 templates",
|
|
2749
|
-
"Real-time audit trail",
|
|
2750
|
-
...b.checkFeature("bankId") ? ["BankID"] : [],
|
|
2751
|
-
"SMS"
|
|
2752
|
-
],
|
|
2753
|
-
base: [
|
|
2754
|
-
"Send documents for eSignature",
|
|
2755
|
-
"Up to 5 templates",
|
|
2756
|
-
"Zapier integration",
|
|
2757
|
-
"Members",
|
|
2758
|
-
"Reminders",
|
|
2759
|
-
"Real-time audit trail",
|
|
2760
|
-
...b.checkFeature("bankId") ? ["BankID"] : [],
|
|
2761
|
-
"SMS"
|
|
2762
|
-
],
|
|
2763
|
-
pro: [
|
|
2764
|
-
"Everything in Base",
|
|
2765
|
-
"Statistics",
|
|
2766
|
-
"Unlimited templates",
|
|
2767
|
-
"API",
|
|
2768
|
-
"User roles",
|
|
2769
|
-
"Signing order",
|
|
2770
|
-
"Custom subdomain",
|
|
2771
|
-
"Custom email address",
|
|
2772
|
-
"Version control",
|
|
2773
|
-
...b.checkFeature("bankId") ? ["BankID"] : [],
|
|
2774
|
-
`Hide ${y[h.brand].name}-logo`,
|
|
2775
|
-
"CRM integrations"
|
|
2776
|
-
]
|
|
2777
|
-
},
|
|
2778
|
-
success: {
|
|
2779
|
-
title: "Congratulations!",
|
|
2780
|
-
subTitle: "Your account have been upgraded.",
|
|
2781
|
-
subTitleEdit: "Your plan has been updated.",
|
|
2782
|
-
closeButton: "Continue where you were"
|
|
2783
|
-
}
|
|
2784
|
-
},
|
|
2785
|
-
sv: {
|
|
2786
|
-
callout: {
|
|
2787
|
-
legacy: {
|
|
2788
|
-
title: "Uppdatera din kontoplan",
|
|
2789
|
-
text: `
|
|
2790
|
-
Vi har uppdaterat våra kontoplaner. Du behöver uppdatera till våra nya planer.
|
|
2791
|
-
Du kommer <span style="font-weight: 600;">enbart</span> ha det nya abonnemanget aktivt efter bytet.
|
|
2792
|
-
Ditt gamla abonemmang kommer att ersättas.
|
|
2793
|
-
`
|
|
2794
|
-
},
|
|
2795
|
-
invoice: {
|
|
2796
|
-
title: "Byt till kortbetalning",
|
|
2797
|
-
text: `
|
|
2798
|
-
Ersätt din betalmetod till kortbetalning.
|
|
2799
|
-
Du kommer <span style="font-weight: 600;">enbart</span> ha det nya abonnemanget aktivt efter bytet.
|
|
2800
|
-
Ditt gamla abonemmang kommer att ersättas.
|
|
2801
|
-
`
|
|
2802
|
-
},
|
|
2803
|
-
widget: {
|
|
2804
|
-
text: `Tjänsten tillhandahålls via ${y[h.brand].name}. <a href="${y[h.brand].termsOfService.url}" target="_blank" class="font-semibold underline">Villkor</a> för ${y[h.brand].name}.`
|
|
2805
|
-
}
|
|
2806
|
-
},
|
|
2807
|
-
features: {
|
|
2808
|
-
free: [],
|
|
2809
|
-
start: [
|
|
2810
|
-
"Endast en användare",
|
|
2811
|
-
"Skicka upp till 5 dokument / månad",
|
|
2812
|
-
"Upp till 2 mallar",
|
|
2813
|
-
"Dokumentspårning i realtid",
|
|
2814
|
-
...b.checkFeature("bankId") ? ["BankID"] : [],
|
|
2815
|
-
"SMS"
|
|
2816
|
-
],
|
|
2817
|
-
base: [
|
|
2818
|
-
"Skicka dokument för e-signering",
|
|
2819
|
-
"Upp till 5 mallar",
|
|
2820
|
-
"Zapier-integration",
|
|
2821
|
-
"Medlemmar",
|
|
2822
|
-
"Påminnelser",
|
|
2823
|
-
"Dokumentspårning i realtid",
|
|
2824
|
-
...b.checkFeature("bankId") ? ["BankID"] : [],
|
|
2825
|
-
"SMS"
|
|
2826
|
-
],
|
|
2827
|
-
pro: [
|
|
2828
|
-
"Allt i Base",
|
|
2829
|
-
"Statistik",
|
|
2830
|
-
"Obegränsat med mallar",
|
|
2831
|
-
"API",
|
|
2832
|
-
"Roller för medlemmar",
|
|
2833
|
-
"Signeringsordning",
|
|
2834
|
-
"Subdomän",
|
|
2835
|
-
"Egen e-postdomän",
|
|
2836
|
-
"Versionshantering",
|
|
2837
|
-
...b.checkFeature("bankId") ? ["BankID"] : [],
|
|
2838
|
-
`Göm ${y[h.brand].name}-logo`,
|
|
2839
|
-
"CRM-Integrationer"
|
|
2840
|
-
]
|
|
2841
|
-
},
|
|
2842
|
-
success: {
|
|
2843
|
-
title: "Grattis!",
|
|
2844
|
-
subTitle: "Ditt konto har nu uppgraderats.",
|
|
2845
|
-
subTitleEdit: "Din betalningsplan har uppdaterats.",
|
|
2846
|
-
closeButton: "Fortsätt där du var"
|
|
2847
|
-
}
|
|
2848
|
-
}
|
|
2849
|
-
}
|
|
2850
|
-
},
|
|
2851
|
-
components: {
|
|
2852
|
-
Confetti: Fe,
|
|
2853
|
-
PremiumStripeSelect: Ke,
|
|
2854
|
-
PremiumStripeForm: ze
|
|
2855
|
-
},
|
|
2856
|
-
props: {
|
|
2857
|
-
suggestedQuantity: {
|
|
2858
|
-
type: Number,
|
|
2859
|
-
required: !1,
|
|
2860
|
-
default: null
|
|
2861
|
-
},
|
|
2862
|
-
onUpgrade: {
|
|
2863
|
-
type: Function,
|
|
2864
|
-
default: () => null
|
|
2865
|
-
}
|
|
2866
|
-
},
|
|
2867
|
-
data() {
|
|
2868
|
-
return {
|
|
2869
|
-
view: "select",
|
|
2870
|
-
animateConfetti: !0,
|
|
2871
|
-
isEdit: !1
|
|
2872
|
-
};
|
|
2873
|
-
},
|
|
2874
|
-
computed: {
|
|
2875
|
-
...me({
|
|
2876
|
-
forceShowBase: (n) => n.route.query.base,
|
|
2877
|
-
routeDeal: (n) => n.route.query.deal
|
|
2878
|
-
}),
|
|
2879
|
-
...v({
|
|
2880
|
-
accountConfigName: "application/accountConfigName",
|
|
2881
|
-
accountType: "application/companyAccountType",
|
|
2882
|
-
subscription: "application/subscription",
|
|
2883
|
-
formPlan: "stripe/formPlan",
|
|
2884
|
-
formProducts: "stripe/formProducts",
|
|
2885
|
-
subscriptions: "stripe/subscriptions",
|
|
2886
|
-
subscriptionItems: "stripe/subscriptionItems",
|
|
2887
|
-
getProductByPriceId: "stripe/getProductByPriceId",
|
|
2888
|
-
stripeCustomDealToken: "settings/stripeCustomDealToken",
|
|
2889
|
-
getPrice: "stripe/getPrice"
|
|
2890
|
-
}),
|
|
2891
|
-
quantity: {
|
|
2892
|
-
get() {
|
|
2893
|
-
var n;
|
|
2894
|
-
return (n = this.formPlan) == null ? void 0 : n.quantity;
|
|
2895
|
-
},
|
|
2896
|
-
set(n) {
|
|
2897
|
-
this.setFormValue({ key: "plan.quantity", value: n });
|
|
2898
|
-
}
|
|
2899
|
-
},
|
|
2900
|
-
plan: {
|
|
2901
|
-
get() {
|
|
2902
|
-
var n;
|
|
2903
|
-
return (n = this.formPlan) == null ? void 0 : n.accountType;
|
|
2904
|
-
},
|
|
2905
|
-
set(n) {
|
|
2906
|
-
this.setFormValue({ key: "plan.accountType", value: n });
|
|
2907
|
-
}
|
|
2908
|
-
},
|
|
2909
|
-
interval: {
|
|
2910
|
-
get() {
|
|
2911
|
-
var n;
|
|
2912
|
-
return (n = this.formPlan) == null ? void 0 : n.interval;
|
|
2913
|
-
},
|
|
2914
|
-
set(n) {
|
|
2915
|
-
this.setFormValue({ key: "plan.interval", value: n });
|
|
2916
|
-
}
|
|
2917
|
-
},
|
|
2918
|
-
dealSource: {
|
|
2919
|
-
get() {
|
|
2920
|
-
return this.formDealSource;
|
|
2921
|
-
},
|
|
2922
|
-
set(n) {
|
|
2923
|
-
this.setFormValue({ key: "dealSource", value: n });
|
|
2924
|
-
}
|
|
2925
|
-
},
|
|
2926
|
-
prettyPlans() {
|
|
2927
|
-
const n = [], e = this.getPrice("start", "month") || this.getPrice("start", "year"), t = this.getPrice("base", "month") || this.getPrice("base", "year"), a = e && (this.subscription.maxProjectManagers === 1 && this.subscription.mrr < 4e4 || !["base", "pro"].includes(this.accountType)), r = () => {
|
|
2928
|
-
const i = this.subscription.isStripeLegacy || this.subscription.paymentMethod === "invoice", s = this.subscription.billingCycleInterval === "month" && this.subscription.mrr < 45e3 || this.subscription.billingCycleInterval === "year" && this.subscription.mrr < 38e3;
|
|
2929
|
-
return t && (i && !this.forceShowBase ? s : !0);
|
|
2930
|
-
};
|
|
2931
|
-
return this.isOfferta && n.push({
|
|
2932
|
-
name: "Free",
|
|
2933
|
-
accountType: "free",
|
|
2934
|
-
img: k("/account/subscription/bg-start.png"),
|
|
2935
|
-
// TODO: same img as base
|
|
2936
|
-
features: this.$t("features.free")
|
|
2937
|
-
}), a && n.push({
|
|
2938
|
-
name: "Start",
|
|
2939
|
-
accountType: "start",
|
|
2940
|
-
img: k("/account/subscription/bg-start.png"),
|
|
2941
|
-
features: this.$t("features.start")
|
|
2942
|
-
}), r() && n.push({
|
|
2943
|
-
name: "Base",
|
|
2944
|
-
accountType: "base",
|
|
2945
|
-
img: k("/account/subscription/bg-base.png"),
|
|
2946
|
-
features: this.$t("features.base")
|
|
2947
|
-
}), n.push({
|
|
2948
|
-
name: "Pro",
|
|
2949
|
-
accountType: "pro",
|
|
2950
|
-
img: k("/account/subscription/bg-pro.png"),
|
|
2951
|
-
features: this.$t("features.pro")
|
|
2952
|
-
}), n;
|
|
2953
|
-
},
|
|
2954
|
-
calloutMode() {
|
|
2955
|
-
return this.subscription.showCalloutConvertStripe ? "invoice" : this.subscription.isStripeLegacy ? "legacy" : null;
|
|
2956
|
-
},
|
|
2957
|
-
isOfferta() {
|
|
2958
|
-
return this.accountConfigName === "offerta";
|
|
2959
|
-
},
|
|
2960
|
-
disableQuantity() {
|
|
2961
|
-
return this.isOfferta && this.$view === "widget";
|
|
2962
|
-
}
|
|
2963
|
-
},
|
|
2964
|
-
beforeCreate() {
|
|
2965
|
-
this.$store.hasModule("stripe") || this.$store.registerModuleState("stripe", j);
|
|
2966
|
-
},
|
|
2967
|
-
async created() {
|
|
2968
|
-
this.isOfferta && ie(Ye), this.resetStripeForm(), await this.loadPrices(), await this.suggestQuantity(), await this.handlePossibleDeal(), this.isEdit = !!this.subscriptions.length;
|
|
2969
|
-
},
|
|
2970
|
-
methods: {
|
|
2971
|
-
...$({
|
|
2972
|
-
loadPrices: m.LOAD_PRICES,
|
|
2973
|
-
resetStripeForm: m.RESET_STRIPE_FORM,
|
|
2974
|
-
setFormValue: m.SET_STRIPE_FORM_VALUE,
|
|
2975
|
-
updateSettings: m.UPDATE_SETTINGS
|
|
2976
|
-
}),
|
|
2977
|
-
// Suggest quantity of licenses based on property or from account
|
|
2978
|
-
async suggestQuantity() {
|
|
2979
|
-
if (this.disableQuantity || this.plan === "start")
|
|
2980
|
-
return;
|
|
2981
|
-
if (this.suggestedQuantity && typeof this.suggestedQuantity == "number") {
|
|
2982
|
-
this.quantity = this.suggestedQuantity;
|
|
2983
|
-
return;
|
|
2984
|
-
}
|
|
2985
|
-
const { data: n } = await se();
|
|
2986
|
-
this.quantity = n;
|
|
2987
|
-
},
|
|
2988
|
-
onReset() {
|
|
2989
|
-
this.view = "select", this.resetStripeForm();
|
|
2990
|
-
},
|
|
2991
|
-
goToSuccess() {
|
|
2992
|
-
this.view = "success", this.$nextTick(() => {
|
|
2993
|
-
u({
|
|
2994
|
-
targets: ".anime-payment-modal .success-block",
|
|
2995
|
-
translateY: [50, 0],
|
|
2996
|
-
opacity: [0, 1],
|
|
2997
|
-
delay: u.stagger(100, { start: 500 }),
|
|
2998
|
-
easing: "spring(1, 80, 15, 0)"
|
|
2999
|
-
});
|
|
3000
|
-
}), this.removePossibleDealToken(), setTimeout(() => {
|
|
3001
|
-
this.animateConfetti = !1;
|
|
3002
|
-
}, 3e3);
|
|
3003
|
-
},
|
|
3004
|
-
closeAndContinue() {
|
|
3005
|
-
this.$emit("close"), typeof this.onUpgrade == "function" && this.onUpgrade();
|
|
3006
|
-
},
|
|
3007
|
-
handlePossibleDeal() {
|
|
3008
|
-
this.routeDeal ? this.setFromDealToken(this.routeDeal) : this.stripeCustomDealToken && this.setFromDealToken(this.stripeCustomDealToken);
|
|
3009
|
-
},
|
|
3010
|
-
removePossibleDealToken() {
|
|
3011
|
-
if (this.routeDeal) {
|
|
3012
|
-
const n = { ...this.$route.query };
|
|
3013
|
-
delete n.deal, this.$router.replace({ ...this.$route, query: n });
|
|
3014
|
-
} else
|
|
3015
|
-
this.stripeCustomDealToken && this.updateSettings({
|
|
3016
|
-
key: "company",
|
|
3017
|
-
settings: { stripeCustomDealToken: null }
|
|
3018
|
-
});
|
|
3019
|
-
},
|
|
3020
|
-
setFromDealToken(n) {
|
|
3021
|
-
if (n)
|
|
3022
|
-
try {
|
|
3023
|
-
const e = oe(n);
|
|
3024
|
-
if (e.accountType && (this.plan = e.accountType), e.accountTypeInterval && (this.interval = e.accountTypeInterval), e.accountQuantity && (this.quantity = e.accountQuantity), e.dealSource && (this.dealSource = e.dealSource), e.items) {
|
|
3025
|
-
const t = [];
|
|
3026
|
-
Object.keys(e.items).forEach((a) => {
|
|
3027
|
-
const r = this.getProductByPriceId(a);
|
|
3028
|
-
r && t.push({
|
|
3029
|
-
...r,
|
|
3030
|
-
quantity: e.items[a]
|
|
3031
|
-
});
|
|
3032
|
-
}), t.length && this.setFormValue({
|
|
3033
|
-
key: "products",
|
|
3034
|
-
value: [
|
|
3035
|
-
// ...this.formProducts,
|
|
3036
|
-
...t
|
|
3037
|
-
]
|
|
3038
|
-
});
|
|
3039
|
-
}
|
|
3040
|
-
this.view = "form";
|
|
3041
|
-
} catch (e) {
|
|
3042
|
-
console.error(e);
|
|
3043
|
-
}
|
|
3044
|
-
}
|
|
3045
|
-
}
|
|
3046
|
-
};
|
|
3047
|
-
var Xe = function() {
|
|
3048
|
-
var e = this, t = e._self._c;
|
|
3049
|
-
return t("div", { staticClass: "font-inter anime-payment-modal font-base relative grid h-full place-items-center overflow-auto bg-white px-12 py-8" }, [t("div", { staticStyle: { position: "absolute", left: "1em", top: "0.5em", display: "inline-flex", "z-index": "10" } }, [t("CButton", { attrs: { "icon-props": { size: 20 }, pattern: "tertiary", type: "none", circle: "", icon: "x" }, on: { click: function(a) {
|
|
3050
|
-
return e.$emit("close");
|
|
3051
|
-
} } }), e.view === "form" ? t("CButton", { staticStyle: { "margin-left": "2px" }, attrs: { "icon-props": { size: 20 }, pattern: "tertiary", type: "none", circle: "", icon: "arrow-left" }, on: { click: e.onReset } }) : e._e()], 1), e.calloutMode ? t("div", { staticClass: "bg-primary-100 border-primary-300 relative inline-block rounded-lg border-2 py-4 pl-12 pr-4", staticStyle: { "max-width": "calc(55 * var(--rem))" } }, [t("CIcon", { staticClass: "text-primary-800 absolute left-4 top-5", attrs: { type: "info", size: "20" } }), t("div", { staticClass: "text-primary-800 font-semibold", domProps: { textContent: e._s(e.$t(`callout.${e.calloutMode}.title`)) } }), t("div", { staticClass: "text-sm opacity-70", domProps: { innerHTML: e._s(e.$t(`callout.${e.calloutMode}.text`)) } })], 1) : e._e(), t("div", [e.view === "select" ? t("PremiumStripeSelect", { attrs: { plan: e.plan, interval: e.interval, plans: e.prettyPlans }, on: { "update:plan": function(a) {
|
|
3052
|
-
e.plan = a;
|
|
3053
|
-
}, "update:interval": function(a) {
|
|
3054
|
-
e.interval = a;
|
|
3055
|
-
}, next: function(a) {
|
|
3056
|
-
e.view = "form";
|
|
3057
|
-
} } }) : e.view === "form" ? t("PremiumStripeForm", { attrs: { "ui-plan": e.prettyPlans.find((a) => a.accountType === e.plan), "form-plan": e.formPlan, "disable-quantity": e.disableQuantity, "hide-extra-info": e.isOfferta, "collect-consent": e.isOfferta }, on: { "update:interval": function(a) {
|
|
3058
|
-
e.interval = a;
|
|
3059
|
-
}, input: e.setFormValue, success: e.goToSuccess } }) : e.view === "success" ? t("div", { staticClass: "flex h-full w-full flex-col items-center justify-center text-center" }, [t("Confetti", { attrs: { animate: e.animateConfetti } }), e.isEdit ? e._e() : t("div", { staticClass: "success-block", staticStyle: { "font-size": "calc(18px + 2vw)", "font-weight": "800" } }, [e._v(" " + e._s(e.$t("success.title")) + " ")]), t("div", { staticClass: "success-block", staticStyle: { "font-size": "20px", opacity: "0.7" } }, [e._v(" " + e._s(e.isEdit ? e.$t("success.subTitleEdit") : e.$t("success.subTitle")) + " ")]), t("CButton", { staticClass: "success-block", staticStyle: { "margin-top": "3em" }, attrs: { type: "secondary", size: "medium", rounded: "" }, on: { click: function(a) {
|
|
3060
|
-
return e.closeAndContinue();
|
|
3061
|
-
} } }, [e._v(e._s(e.$t("success.closeButton")))])], 1) : e._e()], 1)]);
|
|
3062
|
-
}, Qe = [], Je = /* @__PURE__ */ d(
|
|
3063
|
-
We,
|
|
3064
|
-
Xe,
|
|
3065
|
-
Qe,
|
|
3066
|
-
!1,
|
|
3067
|
-
null,
|
|
3068
|
-
null
|
|
3069
|
-
);
|
|
3070
|
-
const K = Je.exports, et = {
|
|
3071
|
-
name: "IsPremium",
|
|
3072
|
-
computed: {
|
|
3073
|
-
...v({
|
|
3074
|
-
feature: "application/feature",
|
|
3075
|
-
subscription: "application/subscription",
|
|
3076
|
-
companyAccount: "application/companyAccount",
|
|
3077
|
-
stripeCustomDealToken: "settings/stripeCustomDealToken"
|
|
3078
|
-
}),
|
|
3079
|
-
isPremium() {
|
|
3080
|
-
return H.includes(this.subscription.type);
|
|
3081
|
-
},
|
|
3082
|
-
isPremiumLike() {
|
|
3083
|
-
return ["trial", ...H].includes(this.subscription.type);
|
|
3084
|
-
},
|
|
3085
|
-
isProLike() {
|
|
3086
|
-
return ["pro", "trial"].includes(this.subscription.type);
|
|
3087
|
-
},
|
|
3088
|
-
allowPremiumFeatures() {
|
|
3089
|
-
return !0;
|
|
3090
|
-
},
|
|
3091
|
-
canCreateDocument() {
|
|
3092
|
-
return this.subscription.freeDocumentsLeft > 0 || // Has free quota left
|
|
3093
|
-
C(this.companyAccount, "documentQuota.priceExtra.value") !== null;
|
|
3094
|
-
},
|
|
3095
|
-
canCreateTemplate() {
|
|
3096
|
-
return this.feature("createDocTemplate");
|
|
3097
|
-
},
|
|
3098
|
-
canUseTemplate() {
|
|
3099
|
-
return this.feature("useDocTemplate");
|
|
3100
|
-
},
|
|
3101
|
-
canUseBankId() {
|
|
3102
|
-
return this.isPremiumLike ? !0 : !!this.subscription.freeBankIdLeft;
|
|
3103
|
-
},
|
|
3104
|
-
canUseSms() {
|
|
3105
|
-
return this.isPremiumLike ? !0 : !!this.subscription.freeSmsLeft;
|
|
3106
|
-
},
|
|
3107
|
-
openSubscription() {
|
|
3108
|
-
return "openSubscription" in this.$route.query;
|
|
3109
|
-
}
|
|
3110
|
-
// Route query if subscription modal should be opened (the query just have to be specified, value does not matter)
|
|
3111
|
-
},
|
|
3112
|
-
created() {
|
|
3113
|
-
if (this.openSubscription) {
|
|
3114
|
-
const n = { ...this.$route.query };
|
|
3115
|
-
delete n.openSubscription, this.$router.replace({ ...this.$route, query: n }), this.openUpgradeModal();
|
|
3116
|
-
} else
|
|
3117
|
-
this.stripeCustomDealToken && this.openUpgradeModal();
|
|
3118
|
-
},
|
|
3119
|
-
methods: {
|
|
3120
|
-
/**
|
|
3121
|
-
* Open upgrade to premium modal
|
|
3122
|
-
* @param {Object} obj Optional
|
|
3123
|
-
* @param {Number} obj.suggestedQuantity Optional license quantity to suggest
|
|
3124
|
-
* @param {Function} obj.callback Optional callback to run after upgrade
|
|
3125
|
-
* @param {Function} obj.onClosed Optional callback to run after Stripe modal is closed
|
|
3126
|
-
*/
|
|
3127
|
-
openUpgradeModal({
|
|
3128
|
-
suggestedQuantity: n = null,
|
|
3129
|
-
callback: e = null,
|
|
3130
|
-
onClosed: t = null
|
|
3131
|
-
} = {}) {
|
|
3132
|
-
let a = () => null, r = () => null;
|
|
3133
|
-
typeof e == "function" && (a = e), typeof t == "function" && (r = t), this.$modal.show(
|
|
3134
|
-
K,
|
|
3135
|
-
{
|
|
3136
|
-
suggestedQuantity: n,
|
|
3137
|
-
onUpgrade: a
|
|
3138
|
-
},
|
|
3139
|
-
{
|
|
3140
|
-
adaptive: !0,
|
|
3141
|
-
width: "100%",
|
|
3142
|
-
height: "100%",
|
|
3143
|
-
classes: "overflow-visible primary"
|
|
3144
|
-
},
|
|
3145
|
-
{
|
|
3146
|
-
closed: () => {
|
|
3147
|
-
typeof r == "function" && r();
|
|
3148
|
-
}
|
|
3149
|
-
}
|
|
3150
|
-
);
|
|
3151
|
-
}
|
|
3152
|
-
},
|
|
3153
|
-
render() {
|
|
3154
|
-
return this.$scopedSlots.default ? this.$scopedSlots.default({
|
|
3155
|
-
isPremium: this.isPremium,
|
|
3156
|
-
isPremiumLike: this.isPremiumLike,
|
|
3157
|
-
isProLike: this.isProLike,
|
|
3158
|
-
isLegacy: this.subscription.isStripeLegacy,
|
|
3159
|
-
showCalloutConvertStripe: this.subscription.showCalloutConvertStripe,
|
|
3160
|
-
allowPremiumFeatures: this.allowPremiumFeatures,
|
|
3161
|
-
openUpgradeModal: this.openUpgradeModal,
|
|
3162
|
-
accountType: this.subscription.type,
|
|
3163
|
-
freeDocumentsLeft: this.subscription.freeDocumentsLeft,
|
|
3164
|
-
trialDaysLeft: this.subscription.trialDaysLeft,
|
|
3165
|
-
maxProjectManagers: this.subscription.maxProjectManagers,
|
|
3166
|
-
initialFreePremiumDays: this.subscription.initialFreePremiumDays,
|
|
3167
|
-
canCreateDocument: this.canCreateDocument,
|
|
3168
|
-
canUseTemplate: this.canUseTemplate,
|
|
3169
|
-
canCreateTemplate: this.canCreateTemplate,
|
|
3170
|
-
canUseBankId: this.canUseBankId,
|
|
3171
|
-
canUseSms: this.canUseSms
|
|
3172
|
-
}) : {};
|
|
3173
|
-
}
|
|
3174
|
-
}, tt = null, nt = null;
|
|
3175
|
-
var at = /* @__PURE__ */ d(
|
|
3176
|
-
et,
|
|
3177
|
-
tt,
|
|
3178
|
-
nt,
|
|
3179
|
-
!1,
|
|
3180
|
-
null,
|
|
3181
|
-
null
|
|
3182
|
-
);
|
|
3183
|
-
const Y = at.exports, rt = {
|
|
3184
|
-
i18nOptions: {
|
|
3185
|
-
namespaces: "components",
|
|
3186
|
-
messages: {
|
|
3187
|
-
sv: {
|
|
3188
|
-
badge: {
|
|
3189
|
-
premium: "Base & Pro",
|
|
3190
|
-
pro: "Pro only"
|
|
3191
|
-
},
|
|
3192
|
-
upgradeButton: "Uppgradera nu",
|
|
3193
|
-
cancelButton: "Nej, tack"
|
|
3194
|
-
},
|
|
3195
|
-
en: {
|
|
3196
|
-
badge: {
|
|
3197
|
-
premium: "Base & Pro",
|
|
3198
|
-
pro: "Pro only"
|
|
3199
|
-
},
|
|
3200
|
-
upgradeButton: "Upgrade now",
|
|
3201
|
-
cancelButton: "No thanks"
|
|
3202
|
-
}
|
|
3203
|
-
}
|
|
3204
|
-
},
|
|
3205
|
-
name: "PremiumRestrictedBase",
|
|
3206
|
-
components: {
|
|
3207
|
-
IsPremium: Y,
|
|
3208
|
-
CalloutLegacy: G
|
|
3209
|
-
},
|
|
3210
|
-
props: {
|
|
3211
|
-
plan: {
|
|
3212
|
-
type: String,
|
|
3213
|
-
default: "pro",
|
|
3214
|
-
validator: (n) => ["pro", "premium"].includes(n)
|
|
3215
|
-
},
|
|
3216
|
-
title: {
|
|
3217
|
-
type: String,
|
|
3218
|
-
default: ""
|
|
3219
|
-
},
|
|
3220
|
-
subTitle: {
|
|
3221
|
-
type: String,
|
|
3222
|
-
default: ""
|
|
3223
|
-
},
|
|
3224
|
-
badgeText: {
|
|
3225
|
-
type: String,
|
|
3226
|
-
default: ""
|
|
3227
|
-
},
|
|
3228
|
-
onUpgrade: {
|
|
3229
|
-
type: Function,
|
|
3230
|
-
default: null
|
|
3231
|
-
},
|
|
3232
|
-
actionFunction: {
|
|
3233
|
-
type: Function,
|
|
3234
|
-
default: null
|
|
3235
|
-
}
|
|
3236
|
-
},
|
|
3237
|
-
data() {
|
|
3238
|
-
return {
|
|
3239
|
-
isLoading: !1
|
|
3240
|
-
};
|
|
3241
|
-
},
|
|
3242
|
-
methods: {
|
|
3243
|
-
async onActionClick(n) {
|
|
3244
|
-
try {
|
|
3245
|
-
this.isLoading = !0, await n({ callback: this.onUpgrade }), this.$parent.$emit("close");
|
|
3246
|
-
} finally {
|
|
3247
|
-
this.isLoading = !1;
|
|
3248
|
-
}
|
|
3249
|
-
}
|
|
3250
|
-
}
|
|
3251
|
-
};
|
|
3252
|
-
var it = function() {
|
|
3253
|
-
var e = this, t = e._self._c;
|
|
3254
|
-
return t("div", { staticClass: "root font-inter" }, [t("div", { staticClass: "lock-wrapper has-text-white" }, [t("CIcon", { attrs: { type: "lock", size: "24" } })], 1), t("div", { staticStyle: { width: "100%" } }, [t("div", { staticClass: "flex items-center justify-center" }, [t("div", { staticClass: "badge-premium" }, [e._v(e._s(e.$t(`badge.${e.plan}`)))])]), t("div", { staticStyle: { "text-align": "center" } }, [e._t("default", function() {
|
|
3255
|
-
return [e._t("image"), t("div", { staticClass: "title" }, [e._v(e._s(e.title))]), t("div", { staticClass: "sub-title" }, [e._v(e._s(e.subTitle))])];
|
|
3256
|
-
}), e.$slots.content ? t("div", { staticStyle: { "margin-top": "calc(2 * var(--rem))" } }, [e._t("content")], 2) : e._e()], 2), t("div", { staticStyle: { "margin-top": "calc(2 * var(--rem))" } }, [t("IsPremium", { scopedSlots: e._u([{ key: "default", fn: function({ openUpgradeModal: a, isLegacy: r, showCalloutConvertStripe: i }) {
|
|
3257
|
-
return [t("div", [r || i ? t("CalloutLegacy", { attrs: { mode: r ? "legacy" : "invoice" } }) : e._e(), t("CButton", { attrs: { loading: e.isLoading, disabled: r || i, type: "secondary", wide: "" }, on: { click: function(s) {
|
|
3258
|
-
return e.onActionClick(e.actionFunction || a);
|
|
3259
|
-
} } }, [e._t("actionText", function() {
|
|
3260
|
-
return [e._v(e._s(e.$t("upgradeButton")))];
|
|
3261
|
-
})], 2)], 1)];
|
|
3262
|
-
} }], null, !0) }), t("div", { staticStyle: { "margin-top": "5px" } }, [t("CButton", { attrs: { type: "none", pattern: "tertiary", wide: "" }, on: { click: function(a) {
|
|
3263
|
-
return e.$parent.$emit("close");
|
|
3264
|
-
} } }, [e._v(" " + e._s(e.$t("cancelButton")) + " ")])], 1)], 1)])]);
|
|
3265
|
-
}, st = [], ot = /* @__PURE__ */ d(
|
|
3266
|
-
rt,
|
|
3267
|
-
it,
|
|
3268
|
-
st,
|
|
3269
|
-
!1,
|
|
3270
|
-
null,
|
|
3271
|
-
"d154238a"
|
|
3272
|
-
);
|
|
3273
|
-
const f = ot.exports, ct = {
|
|
3274
|
-
i18nOptions: {
|
|
3275
|
-
namespaces: "PremiumRestrictedBankIdAndSms",
|
|
3276
|
-
messages: {
|
|
3277
|
-
sv: {
|
|
3278
|
-
title: "Skicka med {{bankIdText,spaceAfter}}SMS",
|
|
3279
|
-
subTitle: "För att kunna skicka fler dokument med {{bankIdText,spaceAfter}}SMS behöver du uppgradera ditt konto.",
|
|
3280
|
-
actionText: "Uppgradera konto"
|
|
3281
|
-
},
|
|
3282
|
-
en: {
|
|
3283
|
-
title: "Send with {{bankIdText,spaceAfter}}SMS",
|
|
3284
|
-
subTitle: "To send more documents with {{bankIdText,spaceAfter}}SMS you need to upgrade your account.",
|
|
3285
|
-
actionText: "Upgrade my plan"
|
|
3286
|
-
}
|
|
3287
|
-
}
|
|
3288
|
-
},
|
|
3289
|
-
name: "PremiumRestrictedBankIdAndSms",
|
|
3290
|
-
components: {
|
|
3291
|
-
PremiumRestrictedBase: f
|
|
3292
|
-
},
|
|
3293
|
-
props: {
|
|
3294
|
-
onUpgrade: {
|
|
3295
|
-
type: Function,
|
|
3296
|
-
default: null
|
|
3297
|
-
}
|
|
3298
|
-
},
|
|
3299
|
-
computed: {
|
|
3300
|
-
...v({
|
|
3301
|
-
feature: "application/feature"
|
|
3302
|
-
})
|
|
3303
|
-
}
|
|
3304
|
-
};
|
|
3305
|
-
var lt = function() {
|
|
3306
|
-
var e = this, t = e._self._c;
|
|
3307
|
-
return t("PremiumRestrictedBase", { attrs: { title: e.$t("title", {
|
|
3308
|
-
bankIdText: e.feature("bankId") ? "BankID " + e.$t("_common:and") : ""
|
|
3309
|
-
}), "sub-title": e.$t("subTitle", {
|
|
3310
|
-
bankIdText: e.feature("bankId") ? "BankID " + e.$t("_common:or") : ""
|
|
3311
|
-
}), "on-upgrade": e.onUpgrade, plan: "pro" } }, [t("template", { slot: "actionText" }, [e._v(" " + e._s(e.$t("actionText")) + " ")])], 2);
|
|
3312
|
-
}, ut = [], dt = /* @__PURE__ */ d(
|
|
3313
|
-
ct,
|
|
3314
|
-
lt,
|
|
3315
|
-
ut,
|
|
3316
|
-
!1,
|
|
3317
|
-
null,
|
|
3318
|
-
null
|
|
3319
|
-
);
|
|
3320
|
-
const mt = dt.exports, pt = {
|
|
3321
|
-
i18nOptions: {
|
|
3322
|
-
namespaces: "licenses",
|
|
3323
|
-
messages: {
|
|
3324
|
-
sv: {
|
|
3325
|
-
title: "Lägg till skapare",
|
|
3326
|
-
subTitle: "För att bjuda in en dokumentskapare behöver du uppgradera till vår Base- eller Pro-plan.",
|
|
3327
|
-
actionText: "Uppgradera konto"
|
|
3328
|
-
},
|
|
3329
|
-
en: {
|
|
3330
|
-
title: "Add creators",
|
|
3331
|
-
subTitle: "To invite creators you need to upgrade your account to the Base or Pro plan.",
|
|
3332
|
-
actionText: "Upgrade my plan"
|
|
3333
|
-
}
|
|
3334
|
-
}
|
|
3335
|
-
},
|
|
3336
|
-
name: "PremiumRestrictedCreators",
|
|
3337
|
-
components: {
|
|
3338
|
-
PremiumRestrictedBase: f
|
|
3339
|
-
},
|
|
3340
|
-
props: {
|
|
3341
|
-
onUpgrade: {
|
|
3342
|
-
type: Function,
|
|
3343
|
-
default: null
|
|
3344
|
-
}
|
|
3345
|
-
}
|
|
3346
|
-
};
|
|
3347
|
-
var gt = function() {
|
|
3348
|
-
var e = this, t = e._self._c;
|
|
3349
|
-
return t("PremiumRestrictedBase", { attrs: { title: e.$t("title"), "sub-title": e.$t("subTitle"), "action-function": e.onUpgrade, plan: "premium" } }, [t("template", { slot: "actionText" }, [e._v(" " + e._s(e.$t("actionText")) + " ")])], 2);
|
|
3350
|
-
}, ht = [], ft = /* @__PURE__ */ d(
|
|
3351
|
-
pt,
|
|
3352
|
-
gt,
|
|
3353
|
-
ht,
|
|
3354
|
-
!1,
|
|
3355
|
-
null,
|
|
3356
|
-
null
|
|
3357
|
-
);
|
|
3358
|
-
const yt = ft.exports, Ct = {
|
|
3359
|
-
i18nOptions: {
|
|
3360
|
-
namespaces: "stats",
|
|
3361
|
-
messages: {
|
|
3362
|
-
sv: {
|
|
3363
|
-
title: "Premium block",
|
|
3364
|
-
subTitle: "För att använda premium block behöver du uppgradera ditt konto till Pro.",
|
|
3365
|
-
actionText: "Uppgradera konto"
|
|
3366
|
-
},
|
|
3367
|
-
en: {
|
|
3368
|
-
title: "Premium block",
|
|
3369
|
-
subTitle: "To use premium blocks, you need to upgrade your account to Pro.",
|
|
3370
|
-
actionText: "Upgrade my plan"
|
|
3371
|
-
}
|
|
3372
|
-
}
|
|
3373
|
-
},
|
|
3374
|
-
name: "PremiumRestrictedDocumentBlocks",
|
|
3375
|
-
components: {
|
|
3376
|
-
PremiumRestrictedBase: f
|
|
3377
|
-
},
|
|
3378
|
-
props: {
|
|
3379
|
-
onUpgrade: {
|
|
3380
|
-
type: Function,
|
|
3381
|
-
default: null
|
|
3382
|
-
}
|
|
3383
|
-
}
|
|
3384
|
-
};
|
|
3385
|
-
var vt = function() {
|
|
3386
|
-
var e = this, t = e._self._c;
|
|
3387
|
-
return t("PremiumRestrictedBase", { attrs: { title: e.$t("title"), "sub-title": e.$t("subTitle"), "on-upgrade": e.onUpgrade, plan: "pro" } }, [t("template", { slot: "actionText" }, [e._v(" " + e._s(e.$t("actionText")) + " ")])], 2);
|
|
3388
|
-
}, bt = [], _t = /* @__PURE__ */ d(
|
|
3389
|
-
Ct,
|
|
3390
|
-
vt,
|
|
3391
|
-
bt,
|
|
3392
|
-
!1,
|
|
3393
|
-
null,
|
|
3394
|
-
null
|
|
3395
|
-
);
|
|
3396
|
-
const Pt = _t.exports, St = {
|
|
3397
|
-
i18nOptions: {
|
|
3398
|
-
namespaces: "PremiumRestrictedDocuments",
|
|
3399
|
-
messages: {
|
|
3400
|
-
en: {
|
|
3401
|
-
title: "Send unlimited amount of documents",
|
|
3402
|
-
subTitle: "You have reached your limit of new documents for this month.",
|
|
3403
|
-
voucherTitle: "A special gift from us",
|
|
3404
|
-
voucherText: "Here is {{ count }} extra documents you can use.",
|
|
3405
|
-
voucherButton: "Give me {{count}} extra documents",
|
|
3406
|
-
voucherSuccessMessage: "{{ count }} extra documents are now available"
|
|
3407
|
-
},
|
|
3408
|
-
sv: {
|
|
3409
|
-
title: "Skicka obegränsat med dokument",
|
|
3410
|
-
subTitle: "Du har nått din gräns av nya dokument för den här månaden.",
|
|
3411
|
-
voucherTitle: "En present från oss",
|
|
3412
|
-
voucherText: "Här får du {{ count }} st dokument till att använda.",
|
|
3413
|
-
voucherButton: "Ge mig {{count}} extra dokument",
|
|
3414
|
-
voucherSuccessMessage: "Ditt konto har nu {{ count }} extra dokument"
|
|
3415
|
-
}
|
|
3416
|
-
}
|
|
3417
|
-
},
|
|
3418
|
-
name: "PremiumRestrictedDocuments",
|
|
3419
|
-
components: {
|
|
3420
|
-
PremiumRestrictedBase: f
|
|
3421
|
-
},
|
|
3422
|
-
props: {
|
|
3423
|
-
onUpgrade: {
|
|
3424
|
-
type: Function,
|
|
3425
|
-
default: null
|
|
3426
|
-
}
|
|
3427
|
-
},
|
|
3428
|
-
data() {
|
|
3429
|
-
return {
|
|
3430
|
-
canUseFreeDocVoucher: !1,
|
|
3431
|
-
voucherDocCount: 3,
|
|
3432
|
-
// This should be updated if we change the voucher value
|
|
3433
|
-
isLoading: !1
|
|
3434
|
-
};
|
|
3435
|
-
},
|
|
3436
|
-
computed: {
|
|
3437
|
-
...v({
|
|
3438
|
-
getCompanyUserSetting: "settings/getCompanyUserSetting",
|
|
3439
|
-
user: "application/user",
|
|
3440
|
-
account: "application/companyAccount"
|
|
3441
|
-
})
|
|
3442
|
-
},
|
|
3443
|
-
created() {
|
|
3444
|
-
try {
|
|
3445
|
-
ce("/documentLimitReached", {});
|
|
3446
|
-
} catch (n) {
|
|
3447
|
-
L(n, { showMessage: !1 });
|
|
3448
|
-
}
|
|
3449
|
-
},
|
|
3450
|
-
async mounted() {
|
|
3451
|
-
this.checkFreeDocVoucher();
|
|
3452
|
-
},
|
|
3453
|
-
methods: {
|
|
3454
|
-
...$({
|
|
3455
|
-
loadCurrentCompany: m.DO_LOAD_CURRENT_COMPANY
|
|
3456
|
-
}),
|
|
3457
|
-
async checkFreeDocVoucher() {
|
|
3458
|
-
var e, t;
|
|
3459
|
-
if (this.canUseFreeDocVoucher = !1, ((e = this.account) == null ? void 0 : e.accountType) !== "free")
|
|
3460
|
-
return;
|
|
3461
|
-
const n = JSON.parse(
|
|
3462
|
-
E.getItem("voucher-freeUserDocs-company-id")
|
|
3463
|
-
);
|
|
3464
|
-
((t = this.account) == null ? void 0 : t.CompanyId) !== n && (this.canUseFreeDocVoucher = await this.canUseVoucher());
|
|
3465
|
-
},
|
|
3466
|
-
async canUseVoucher() {
|
|
3467
|
-
try {
|
|
3468
|
-
return await B.canUse("freeUserDocs"), !0;
|
|
3469
|
-
} catch {
|
|
3470
|
-
return E.setItem(
|
|
3471
|
-
"voucher-freeUserDocs-company-id",
|
|
3472
|
-
this.account.CompanyId
|
|
3473
|
-
), !1;
|
|
3474
|
-
}
|
|
3475
|
-
},
|
|
3476
|
-
async useFreeDocsVoucher() {
|
|
3477
|
-
this.isLoading = !0;
|
|
3478
|
-
try {
|
|
3479
|
-
await B.post({ code: "freeUserDocs" }), E.setItem(
|
|
3480
|
-
"voucher-freeUserDocs-company-id",
|
|
3481
|
-
this.account.CompanyId
|
|
3482
|
-
), await this.loadCurrentCompany(), le(
|
|
3483
|
-
"success",
|
|
3484
|
-
this.$t("voucherSuccessMessage", { count: this.voucherDocCount })
|
|
3485
|
-
), this.onUpgrade && typeof this.onUpgrade == "function" && this.onUpgrade(), this.$emit("close");
|
|
3486
|
-
} catch (n) {
|
|
3487
|
-
L(n);
|
|
3488
|
-
} finally {
|
|
3489
|
-
this.isLoading = !1;
|
|
3490
|
-
}
|
|
3491
|
-
}
|
|
3492
|
-
}
|
|
3493
|
-
};
|
|
3494
|
-
var kt = function() {
|
|
3495
|
-
var e = this, t = e._self._c;
|
|
3496
|
-
return t("PremiumRestrictedBase", { attrs: { title: e.$t("title"), "sub-title": e.$t("subTitle"), "on-upgrade": e.onUpgrade } }, [e.canUseFreeDocVoucher ? t("div", { staticStyle: { background: "hsl(33, 100%, 84%)", padding: "1em", "font-size": "15px", "border-radius": "0.5em" }, attrs: { slot: "content" }, slot: "content" }, [t("div", { staticStyle: { "font-size": "16px", "font-weight": "500" } }, [t("span", { staticStyle: { "margin-right": "4px" } }, [e._v("🎁")]), e._v(" " + e._s(e.$t("voucherTitle")) + " ")]), t("div", { staticStyle: { opacity: "0.75" }, domProps: { textContent: e._s(e.$t("voucherText", { count: e.voucherDocCount })) } }), t("div", { staticClass: "flex w-full justify-center", staticStyle: { "margin-top": "calc(1 * var(--rem))" } }, [t("CButton", { staticStyle: { border: "none", background: "hsl(33, 100%, 95%)", color: "hsl(33, 88%, 36%)", "box-shadow": "0 3px 6px -2px rgb(0, 0, 0, 0.3)" }, attrs: { loading: e.isLoading, transparent: "", "icon-left": "heart" }, on: { click: e.useFreeDocsVoucher } }, [e._v(" " + e._s(e.$t("voucherButton", { count: e.voucherDocCount })) + " ")])], 1)]) : e._e()]);
|
|
3497
|
-
}, xt = [], wt = /* @__PURE__ */ d(
|
|
3498
|
-
St,
|
|
3499
|
-
kt,
|
|
3500
|
-
xt,
|
|
3501
|
-
!1,
|
|
3502
|
-
null,
|
|
3503
|
-
null
|
|
3504
|
-
);
|
|
3505
|
-
const $t = wt.exports, Tt = {
|
|
3506
|
-
i18nOptions: {
|
|
3507
|
-
namespaces: "licenses",
|
|
3508
|
-
messages: {
|
|
3509
|
-
sv: {
|
|
3510
|
-
title: "Lägg till projektskapare",
|
|
3511
|
-
subTitle: "För att bjuda in din kollega behöver du ha en till licens.",
|
|
3512
|
-
actionText: "Lägg till licens",
|
|
3513
|
-
chatMessageStarter: "Hej! Jag är på starter men skulle vilja köpa till fler licenser",
|
|
3514
|
-
productTitle: "Extra licens",
|
|
3515
|
-
productCost: "Kostnad"
|
|
3516
|
-
},
|
|
3517
|
-
en: {
|
|
3518
|
-
title: "Add creator",
|
|
3519
|
-
subTitle: "To add teammates you need to add a license",
|
|
3520
|
-
actionText: "Add licens",
|
|
3521
|
-
chatMessageStarter: "Hi! I am om the starter package and would like to add licenses",
|
|
3522
|
-
productTitle: "Extra license",
|
|
3523
|
-
productCost: "Cost"
|
|
3524
|
-
}
|
|
3525
|
-
}
|
|
3526
|
-
},
|
|
3527
|
-
name: "PremiumRestrictedLicenses",
|
|
3528
|
-
components: {
|
|
3529
|
-
PremiumRestrictedBase: f
|
|
3530
|
-
},
|
|
3531
|
-
props: {
|
|
3532
|
-
onUpgrade: {
|
|
3533
|
-
type: Function,
|
|
3534
|
-
default: null
|
|
3535
|
-
}
|
|
3536
|
-
},
|
|
3537
|
-
computed: {
|
|
3538
|
-
...v({
|
|
3539
|
-
subscription: "application/subscription",
|
|
3540
|
-
currentPlan: "stripe/currentPlan",
|
|
3541
|
-
formPlan: "stripe/formPlan"
|
|
3542
|
-
}),
|
|
3543
|
-
extraPrice() {
|
|
3544
|
-
return this.subscription.paymentMethod === "stripe" && this.formPlan ? this.formPlan : null;
|
|
3545
|
-
}
|
|
3546
|
-
},
|
|
3547
|
-
beforeCreate() {
|
|
3548
|
-
this.$store.hasModule("stripe") || this.$store.registerModuleState("stripe", j);
|
|
3549
|
-
},
|
|
3550
|
-
created() {
|
|
3551
|
-
this.initLicense();
|
|
3552
|
-
},
|
|
3553
|
-
methods: {
|
|
3554
|
-
...$({
|
|
3555
|
-
loadCurrentCompany: m.DO_LOAD_CURRENT_COMPANY,
|
|
3556
|
-
loadPrices: m.LOAD_PRICES,
|
|
3557
|
-
resetStripeForm: m.RESET_STRIPE_FORM,
|
|
3558
|
-
updateFormValue: m.SET_STRIPE_FORM_VALUE,
|
|
3559
|
-
submitPlan: m.SUBMIT_FORM_PLAN
|
|
3560
|
-
}),
|
|
3561
|
-
priceFormat: P,
|
|
3562
|
-
async initLicense() {
|
|
3563
|
-
this.subscription.paymentMethod === "stripe" && (await this.loadPrices(), await this.resetStripeForm(), this.updateFormValue({ key: "plan", value: this.currentPlan }));
|
|
3564
|
-
},
|
|
3565
|
-
supportChatMessage() {
|
|
3566
|
-
this.$supportChat.showNewMessage(this.$t("chatMessageStarter")), this.$emit("close");
|
|
3567
|
-
},
|
|
3568
|
-
async doUpgrade({ callback: n }) {
|
|
3569
|
-
let e = !1;
|
|
3570
|
-
try {
|
|
3571
|
-
if (this.subscription.paymentMethod === "stripe")
|
|
3572
|
-
e = await this.addStripeLicense();
|
|
3573
|
-
else if (this.subscription.paymentMethod === "invoice")
|
|
3574
|
-
await this.addInvoiceLicense(), e = !0;
|
|
3575
|
-
else
|
|
3576
|
-
throw new Error(
|
|
3577
|
-
"Cannot upgrade license as current paymentMethod is not valid"
|
|
3578
|
-
);
|
|
3579
|
-
} catch (t) {
|
|
3580
|
-
L(t);
|
|
3581
|
-
}
|
|
3582
|
-
e && await n();
|
|
3583
|
-
},
|
|
3584
|
-
async addStripeLicense() {
|
|
3585
|
-
this.updateFormValue({
|
|
3586
|
-
key: "plan.quantity",
|
|
3587
|
-
value: this.currentPlan.quantity + 1
|
|
3588
|
-
});
|
|
3589
|
-
const n = await this.submitPlan({});
|
|
3590
|
-
return await this.loadCurrentCompany(), n;
|
|
3591
|
-
},
|
|
3592
|
-
async addInvoiceLicense() {
|
|
3593
|
-
await ue(), await this.loadCurrentCompany();
|
|
3594
|
-
}
|
|
3595
|
-
}
|
|
3596
|
-
};
|
|
3597
|
-
var Mt = function() {
|
|
3598
|
-
var e = this, t = e._self._c;
|
|
3599
|
-
return t("PremiumRestrictedBase", { attrs: { title: e.$t("title"), "sub-title": e.$t("subTitle"), "on-upgrade": e.onUpgrade, "action-function": e.doUpgrade } }, [t("template", { slot: "actionText" }, [e._v(" " + e._s(e.$t("actionText")) + " ")]), e.extraPrice && e.extraPrice.amount && e.extraPrice.currency && e.extraPrice.interval ? t("div", { staticClass: "flex w-full justify-between", staticStyle: { "background-color": "hsl(var(--gray-color-100) / 1)", padding: "0.5em 1em", "border-radius": "0.5em" }, attrs: { slot: "content" }, slot: "content" }, [t("div", { staticStyle: { "text-align": "left" } }, [t("div", { staticStyle: { "font-weight": "500" }, domProps: { textContent: e._s(e.$t("productTitle")) } }), t("div", { staticStyle: { opacity: "0.75", "font-size": "13px" }, domProps: { textContent: e._s(e.$t("productCost")) } })]), t("div", { staticStyle: { "text-align": "right" } }, [t("div", [e._v(" +" + e._s(e.priceFormat(e.extraPrice.amount, { currency: e.extraPrice.currency })) + " ")]), t("div", { staticStyle: { "font-size": "13px", opacity: "0.7" } }, [e._v(" per " + e._s(e.$t(`_common:${e.extraPrice.interval}`)) + " ")])])]) : e._e()], 2);
|
|
3600
|
-
}, Et = [], It = /* @__PURE__ */ d(
|
|
3601
|
-
Tt,
|
|
3602
|
-
Mt,
|
|
3603
|
-
Et,
|
|
3604
|
-
!1,
|
|
3605
|
-
null,
|
|
3606
|
-
null
|
|
3607
|
-
);
|
|
3608
|
-
const Dt = It.exports, Lt = {
|
|
3609
|
-
i18nOptions: {
|
|
3610
|
-
namespaces: "personalMessage",
|
|
3611
|
-
messages: {
|
|
3612
|
-
en: {
|
|
3613
|
-
title: "Make an impression",
|
|
3614
|
-
subTitle: "Upgrade to premium to add a personal message"
|
|
3615
|
-
},
|
|
3616
|
-
sv: {
|
|
3617
|
-
title: "Gör ett gott intryck",
|
|
3618
|
-
subTitle: "Uppgradera till Premium för att kunna lägga till en personlig hälsning."
|
|
3619
|
-
}
|
|
3620
|
-
}
|
|
3621
|
-
},
|
|
3622
|
-
name: "PremiumRestrictedPersonalMessage",
|
|
3623
|
-
components: {
|
|
3624
|
-
PremiumRestrictedBase: f
|
|
3625
|
-
},
|
|
3626
|
-
props: {
|
|
3627
|
-
onUpgrade: {
|
|
3628
|
-
type: Function,
|
|
3629
|
-
default: null
|
|
3630
|
-
}
|
|
3631
|
-
}
|
|
3632
|
-
};
|
|
3633
|
-
var Rt = function() {
|
|
3634
|
-
var e = this, t = e._self._c;
|
|
3635
|
-
return t("PremiumRestrictedBase", { attrs: { title: e.$t("title"), "sub-title": e.$t("subTitle"), "on-upgrade": e.onUpgrade } });
|
|
3636
|
-
}, Ft = [], Ut = /* @__PURE__ */ d(
|
|
3637
|
-
Lt,
|
|
3638
|
-
Rt,
|
|
3639
|
-
Ft,
|
|
3640
|
-
!1,
|
|
3641
|
-
null,
|
|
3642
|
-
null
|
|
3643
|
-
);
|
|
3644
|
-
const Ht = Ut.exports, Bt = {
|
|
3645
|
-
i18nOptions: {
|
|
3646
|
-
namespaces: "PremiumRestrictedEditDocumentLayout",
|
|
3647
|
-
messages: {
|
|
3648
|
-
sv: {
|
|
3649
|
-
title: "Spara dokumentmall",
|
|
3650
|
-
subTitle: "För att spara en dokumentmall behöver du uppgradera till ett betalkonto.",
|
|
3651
|
-
actionText: "Uppgradera konto"
|
|
3652
|
-
},
|
|
3653
|
-
en: {
|
|
3654
|
-
title: "Save document template",
|
|
3655
|
-
subTitle: "To save a document template you need to upgrade to a paid plan.",
|
|
3656
|
-
actionText: "Upgrade my plan"
|
|
3657
|
-
}
|
|
3658
|
-
}
|
|
3659
|
-
},
|
|
3660
|
-
name: "PremiumRestrictedSaveDocTemplate",
|
|
3661
|
-
components: {
|
|
3662
|
-
PremiumRestrictedBase: f
|
|
3663
|
-
},
|
|
3664
|
-
props: {
|
|
3665
|
-
onUpgrade: {
|
|
3666
|
-
type: Function,
|
|
3667
|
-
default: null
|
|
3668
|
-
}
|
|
3669
|
-
}
|
|
3670
|
-
};
|
|
3671
|
-
var At = function() {
|
|
3672
|
-
var e = this, t = e._self._c;
|
|
3673
|
-
return t("PremiumRestrictedBase", { attrs: { title: e.$t("title"), "sub-title": e.$t("subTitle"), "on-upgrade": e.onUpgrade, plan: "pro" } }, [t("template", { slot: "actionText" }, [e._v(" " + e._s(e.$t("actionText")) + " ")])], 2);
|
|
3674
|
-
}, Vt = [], Ot = /* @__PURE__ */ d(
|
|
3675
|
-
Bt,
|
|
3676
|
-
At,
|
|
3677
|
-
Vt,
|
|
3678
|
-
!1,
|
|
3679
|
-
null,
|
|
3680
|
-
null
|
|
3681
|
-
);
|
|
3682
|
-
const Nt = Ot.exports, zt = {
|
|
3683
|
-
i18nOptions: {
|
|
3684
|
-
namespaces: "stats",
|
|
3685
|
-
messages: {
|
|
3686
|
-
sv: {
|
|
3687
|
-
title: "Statistik",
|
|
3688
|
-
subTitle: "För att se statistik över alla dina dokument behöver du uppgradera ditt konto till Pro.",
|
|
3689
|
-
actionText: "Uppgradera konto"
|
|
3690
|
-
},
|
|
3691
|
-
en: {
|
|
3692
|
-
title: "Statistics",
|
|
3693
|
-
subTitle: "To view statistics about all your documents you need to upgrade your account to Pro.",
|
|
3694
|
-
actionText: "Upgrade my plan"
|
|
3695
|
-
}
|
|
3696
|
-
}
|
|
3697
|
-
},
|
|
3698
|
-
name: "PremiumRestrictedStats",
|
|
3699
|
-
components: {
|
|
3700
|
-
PremiumRestrictedBase: f
|
|
3701
|
-
},
|
|
3702
|
-
props: {
|
|
3703
|
-
onUpgrade: {
|
|
3704
|
-
type: Function,
|
|
3705
|
-
default: null
|
|
3706
|
-
}
|
|
3707
|
-
}
|
|
3708
|
-
};
|
|
3709
|
-
var qt = function() {
|
|
3710
|
-
var e = this, t = e._self._c;
|
|
3711
|
-
return t("PremiumRestrictedBase", { attrs: { title: e.$t("title"), "sub-title": e.$t("subTitle"), "on-upgrade": e.onUpgrade, plan: "pro" } }, [t("template", { slot: "actionText" }, [e._v(" " + e._s(e.$t("actionText")) + " ")])], 2);
|
|
3712
|
-
}, Gt = [], jt = /* @__PURE__ */ d(
|
|
3713
|
-
zt,
|
|
3714
|
-
qt,
|
|
3715
|
-
Gt,
|
|
3716
|
-
!1,
|
|
3717
|
-
null,
|
|
3718
|
-
null
|
|
3719
|
-
);
|
|
3720
|
-
const Zt = jt.exports, Kt = {
|
|
3721
|
-
i18nOptions: {
|
|
3722
|
-
namespaces: "subTemplates",
|
|
3723
|
-
messages: {
|
|
3724
|
-
en: {
|
|
3725
|
-
title: "Become even more effective",
|
|
3726
|
-
subTitle: "Create reusable text so you can create proposal with a few click"
|
|
3727
|
-
},
|
|
3728
|
-
sv: {
|
|
3729
|
-
title: "Bli ännu mer effektiv",
|
|
3730
|
-
subTitle: "Skapa återanvändbara texter så kan du med ett par klick få en komplett offert."
|
|
3731
|
-
}
|
|
3732
|
-
}
|
|
3733
|
-
},
|
|
3734
|
-
name: "PremiumRestrictedTemplates",
|
|
3735
|
-
components: {
|
|
3736
|
-
PremiumRestrictedBase: f
|
|
3737
|
-
},
|
|
3738
|
-
props: {
|
|
3739
|
-
onUpgrade: {
|
|
3740
|
-
type: Function,
|
|
3741
|
-
default: null
|
|
3742
|
-
}
|
|
3743
|
-
}
|
|
3744
|
-
};
|
|
3745
|
-
var Yt = function() {
|
|
3746
|
-
var e = this, t = e._self._c;
|
|
3747
|
-
return t("PremiumRestrictedBase", { attrs: { title: e.$t("title"), "sub-title": e.$t("subTitle"), "on-upgrade": e.onUpgrade } });
|
|
3748
|
-
}, Wt = [], Xt = /* @__PURE__ */ d(
|
|
3749
|
-
Kt,
|
|
3750
|
-
Yt,
|
|
3751
|
-
Wt,
|
|
3752
|
-
!1,
|
|
3753
|
-
null,
|
|
3754
|
-
null
|
|
3755
|
-
);
|
|
3756
|
-
const Qt = Xt.exports, Jt = {
|
|
3757
|
-
i18nOptions: {
|
|
3758
|
-
namespaces: "PremiumRestrictedUseDocTemplates",
|
|
3759
|
-
messages: {
|
|
3760
|
-
sv: {
|
|
3761
|
-
title: "Använd dokumentmallar",
|
|
3762
|
-
subTitle: "För att använda dokumentmallar behöver du uppgradera till ett betalkonto.",
|
|
3763
|
-
actionText: "Uppgradera konto"
|
|
3764
|
-
},
|
|
3765
|
-
en: {
|
|
3766
|
-
title: "Use document templates",
|
|
3767
|
-
subTitle: "To use document templates you need to upgrade to a paid plan.",
|
|
3768
|
-
actionText: "Upgrade my plan"
|
|
3769
|
-
}
|
|
3770
|
-
}
|
|
3771
|
-
},
|
|
3772
|
-
name: "PremiumRestrictedUseDocTemplates",
|
|
3773
|
-
components: {
|
|
3774
|
-
PremiumRestrictedBase: f
|
|
3775
|
-
},
|
|
3776
|
-
props: {
|
|
3777
|
-
onUpgrade: {
|
|
3778
|
-
type: Function,
|
|
3779
|
-
default: null
|
|
3780
|
-
}
|
|
3781
|
-
}
|
|
3782
|
-
};
|
|
3783
|
-
var en = function() {
|
|
3784
|
-
var e = this, t = e._self._c;
|
|
3785
|
-
return t("PremiumRestrictedBase", { attrs: { title: e.$t("title"), "sub-title": e.$t("subTitle"), "on-upgrade": e.onUpgrade, plan: "pro" } }, [t("template", { slot: "actionText" }, [e._v(" " + e._s(e.$t("actionText")) + " ")])], 2);
|
|
3786
|
-
}, tn = [], nn = /* @__PURE__ */ d(
|
|
3787
|
-
Jt,
|
|
3788
|
-
en,
|
|
3789
|
-
tn,
|
|
3790
|
-
!1,
|
|
3791
|
-
null,
|
|
3792
|
-
null
|
|
3793
|
-
);
|
|
3794
|
-
const an = nn.exports, rn = {
|
|
3795
|
-
i18nOptions: {
|
|
3796
|
-
namespaces: "winProfile",
|
|
3797
|
-
keyPrefix: "account.subscription.winProfile",
|
|
3798
|
-
messages: {
|
|
3799
|
-
sv: {
|
|
3800
|
-
// TODO REMOVE ?
|
|
3801
|
-
title: "Designa din profil",
|
|
3802
|
-
subTitle: "Anpassa ditt utseende så att det matchar dig & ditt företag"
|
|
3803
|
-
},
|
|
3804
|
-
en: {
|
|
3805
|
-
// TODO REMOVE ?
|
|
3806
|
-
title: "Design your profile",
|
|
3807
|
-
subTitle: "Adjust profile to match your branding"
|
|
3808
|
-
}
|
|
3809
|
-
}
|
|
3810
|
-
},
|
|
3811
|
-
name: "PremiumRestrictedWinProfile",
|
|
3812
|
-
components: {
|
|
3813
|
-
PremiumRestrictedBase: f
|
|
3814
|
-
},
|
|
3815
|
-
props: {
|
|
3816
|
-
onUpgrade: {
|
|
3817
|
-
type: Function,
|
|
3818
|
-
default: null
|
|
3819
|
-
}
|
|
3820
|
-
}
|
|
3821
|
-
};
|
|
3822
|
-
var sn = function() {
|
|
3823
|
-
var e = this, t = e._self._c;
|
|
3824
|
-
return t("PremiumRestrictedBase", { attrs: { title: e.$t("title"), "sub-title": e.$t("subTitle"), "on-upgrade": e.onUpgrade } });
|
|
3825
|
-
}, on = [], cn = /* @__PURE__ */ d(
|
|
3826
|
-
rn,
|
|
3827
|
-
sn,
|
|
3828
|
-
on,
|
|
3829
|
-
!1,
|
|
3830
|
-
null,
|
|
3831
|
-
null
|
|
3832
|
-
);
|
|
3833
|
-
const ln = cn.exports, I = {
|
|
3834
|
-
winProfile: ln,
|
|
3835
|
-
templates: Qt,
|
|
3836
|
-
documents: $t,
|
|
3837
|
-
personalMessage: Ht,
|
|
3838
|
-
licenses: Dt,
|
|
3839
|
-
inviteCreators: yt,
|
|
3840
|
-
stats: Zt,
|
|
3841
|
-
documentBlocks: Pt,
|
|
3842
|
-
bankIdAndSms: mt,
|
|
3843
|
-
useDocTemplate: an,
|
|
3844
|
-
saveDocTemplate: Nt
|
|
3845
|
-
}, un = {
|
|
3846
|
-
name: "IsPremiumPreStep",
|
|
3847
|
-
inject: {
|
|
3848
|
-
onUpgradeRequired: {
|
|
3849
|
-
type: Function,
|
|
3850
|
-
default: null
|
|
3851
|
-
}
|
|
3852
|
-
},
|
|
3853
|
-
props: {
|
|
3854
|
-
feature: {
|
|
3855
|
-
type: String,
|
|
3856
|
-
required: !0,
|
|
3857
|
-
validator: (n) => Object.keys(I).includes(n)
|
|
3858
|
-
}
|
|
3859
|
-
},
|
|
3860
|
-
computed: {
|
|
3861
|
-
modalName() {
|
|
3862
|
-
return I[this.feature] ? I[this.feature] : (de.error("Missing IsPremiumPreStep component name"), null);
|
|
3863
|
-
}
|
|
3864
|
-
},
|
|
3865
|
-
methods: {
|
|
3866
|
-
onClick({ callback: n = null, data: e } = {}) {
|
|
3867
|
-
if (typeof this.onUpgradeRequired == "function") {
|
|
3868
|
-
this.onUpgradeRequired({ feature: this.feature, data: e });
|
|
3869
|
-
return;
|
|
3870
|
-
}
|
|
3871
|
-
this.$modal.show(
|
|
3872
|
-
this.modalName,
|
|
3873
|
-
{
|
|
3874
|
-
...n && { onUpgrade: n }
|
|
3875
|
-
},
|
|
3876
|
-
{
|
|
3877
|
-
adaptive: !0,
|
|
3878
|
-
maxWidth: 390,
|
|
3879
|
-
width: "90%",
|
|
3880
|
-
height: "auto",
|
|
3881
|
-
scrollable: !0,
|
|
3882
|
-
classes: "overflow-visible primary"
|
|
3883
|
-
}
|
|
3884
|
-
);
|
|
3885
|
-
}
|
|
3886
|
-
},
|
|
3887
|
-
render() {
|
|
3888
|
-
return this.$scopedSlots.default ? this.$scopedSlots.default({
|
|
3889
|
-
onClick: this.onClick
|
|
3890
|
-
}) : {};
|
|
3891
|
-
}
|
|
3892
|
-
}, dn = null, mn = null;
|
|
3893
|
-
var pn = /* @__PURE__ */ d(
|
|
3894
|
-
un,
|
|
3895
|
-
dn,
|
|
3896
|
-
mn,
|
|
3897
|
-
!1,
|
|
3898
|
-
null,
|
|
3899
|
-
null
|
|
3900
|
-
);
|
|
3901
|
-
const gn = pn.exports, _n = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
3902
|
-
__proto__: null,
|
|
3903
|
-
CalloutLegacy: G,
|
|
3904
|
-
Checkout: K,
|
|
3905
|
-
IsPremium: Y,
|
|
3906
|
-
IsPremiumPreStep: gn,
|
|
3907
|
-
stripeMixin: Z
|
|
3908
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
3909
|
-
export {
|
|
3910
|
-
Ce as C,
|
|
3911
|
-
gn as I,
|
|
3912
|
-
Y as a,
|
|
3913
|
-
_n as i,
|
|
3914
|
-
x as r,
|
|
3915
|
-
j as s
|
|
3916
|
-
};
|