@cling-se/widget 0.17.2 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/AddClientCallout-Bod9Eqx4.js +101 -0
  3. package/dist/AnswerModal-a2cyKFbt.js +3371 -0
  4. package/dist/AttachmentItem-DBUqckCS.js +171 -0
  5. package/dist/BaseUpload-DrWzuvbS.js +6503 -0
  6. package/dist/BlockMedia-DuE_K9hR.js +103 -0
  7. package/dist/CCallout-CM1VsH30.js +104 -0
  8. package/dist/{CCurrencyDropdown-CKRgncWy.js → CCurrencyDropdown-C_lAaq4P.js} +91 -53
  9. package/dist/CDropdownItem-DMUAJ90n.js +749 -0
  10. package/dist/CFormField.vue_vue_type_script_setup_true_lang-BqAyWe3T.js +292 -0
  11. package/dist/{CPhoneFormat-Bd-HZuYo.js → CPhoneFormat-Dnn_cKk7.js} +13 -21
  12. package/dist/CPhoneInput-DuGkDiv-.js +207 -0
  13. package/dist/CPriceInput-B7DYzKcF.js +142 -0
  14. package/dist/CSelect-BZZDr27O.js +98 -0
  15. package/dist/CSkeleton.vue_vue_type_script_setup_true_lang-D2jDhnYI.js +51 -0
  16. package/dist/ClientAutocomplete-DuaJ5zDf.js +532 -0
  17. package/dist/ClientModal-CaMSjLkD.js +1188 -0
  18. package/dist/ColorPicker-BISZPQ6j.js +1408 -0
  19. package/dist/CompanyModal-ClTcmU4Y.js +250 -0
  20. package/dist/ContentWrapper-Bj7jbWU0.js +265 -0
  21. package/dist/CoverBlockSettings-AXyiLxrF.js +861 -0
  22. package/dist/DocAnswer-Bu09V33D.js +33 -0
  23. package/dist/DocDetails-B6-2LKsO.js +452 -0
  24. package/dist/DocForm-CFN8LWSd.js +6772 -0
  25. package/dist/DocFormSend-D1CUhy4n.js +171 -0
  26. package/dist/DocLinks-CuliFqtN.js +36 -0
  27. package/dist/DocModalBase-BxKsnwN-.js +29 -0
  28. package/dist/DocPrint-B_HJ_RET.js +399 -0
  29. package/dist/DocReceipt-D-A1TaTI.js +341 -0
  30. package/dist/DocSendReminder-BKTJonzh.js +181 -0
  31. package/dist/{DocTextEditor-DFid7uKr.js → DocTextEditor-CEPcJT2o.js} +7907 -5579
  32. package/dist/DocTimeline-CF9S4YDZ.js +537 -0
  33. package/dist/DocumentClient-7mbq2QA4.js +90 -0
  34. package/dist/DocumentLayout-DkFlHgW6.js +1434 -0
  35. package/dist/DocumentLogotype-BTYMdpNi.js +162 -0
  36. package/dist/DocumentVoided-CWr5WMUv.js +33 -0
  37. package/dist/EmbedInput-SevVEpwc.js +156 -0
  38. package/dist/EmbedSettings-YMbUmp1O.js +103 -0
  39. package/dist/ErrorCallout-CQo2iF9c.js +34 -0
  40. package/dist/FilePreviewModal-C0xBeoAz.js +202 -0
  41. package/dist/Flag-BObij6SN.js +41 -0
  42. package/dist/HeaderSettings-C77pR78n.js +720 -0
  43. package/dist/ImageSelectModal-DKdU-0uq.js +119 -0
  44. package/dist/ImageUploadWrapper-BGkS5Cll.js +1585 -0
  45. package/dist/Index-B3y-jq9s.js +1098 -0
  46. package/dist/Index-B41pUREi.js +47 -0
  47. package/dist/Index-BEyeS1OG.js +52 -0
  48. package/dist/Index-BG5j8ZFP.js +93 -0
  49. package/dist/Index-BOT65yQR.js +68 -0
  50. package/dist/Index-BQNl-cXP.js +28 -0
  51. package/dist/Index-BY6xsS7C.js +38 -0
  52. package/dist/Index-Bh0Xv5ry.js +163 -0
  53. package/dist/Index-Bn4FSQcx.js +228 -0
  54. package/dist/Index-BrRIAede.js +87 -0
  55. package/dist/Index-C-6um0kX.js +76 -0
  56. package/dist/{Index-EO0rsTmx.js → Index-C-gHa5xk.js} +319 -214
  57. package/dist/Index-C0wcjKCH.js +629 -0
  58. package/dist/Index-C6BbUFYw.js +160 -0
  59. package/dist/Index-C8xwJ0m1.js +200 -0
  60. package/dist/Index-CKgFEJF4.js +140 -0
  61. package/dist/{Index-CbYLDVU5.js → Index-CQwmu4f1.js} +47 -60
  62. package/dist/Index-CXchTpBa.js +74 -0
  63. package/dist/{Index-BzcZCdHj.js → Index-CYoRt8PA.js} +9 -17
  64. package/dist/Index-CZZNQ4q5.js +39 -0
  65. package/dist/Index-CkaAs5ms.js +136 -0
  66. package/dist/Index-CtpXaBz8.js +363 -0
  67. package/dist/Index-CxDsSGtZ.js +126 -0
  68. package/dist/Index-DFkTBm02.js +102 -0
  69. package/dist/Index-DP3ll8F-.js +70 -0
  70. package/dist/{Index-BdJbs8bM.js → Index-DPDzMKQa.js} +10 -18
  71. package/dist/Index-DvxSig3z.js +25 -0
  72. package/dist/Index-Dzrn3Y6p.js +16 -0
  73. package/dist/{Index-BWnh94_i.js → Index-LQb0omFE.js} +10 -18
  74. package/dist/Index-Mt4mSaNT.js +4 -0
  75. package/dist/Index-_xN_cczo.js +3477 -0
  76. package/dist/Index-gAz45qgR.js +21 -0
  77. package/dist/Index-xXLFalgR.js +49 -0
  78. package/dist/Index-zyZRPz3H.js +28 -0
  79. package/dist/Index.vue_vue_type_script_lang-Ddo1wo-D.js +671 -0
  80. package/dist/InputToggleRow-CokEYwm2.js +99 -0
  81. package/dist/ManualPopover-Dukly7GP.js +65 -0
  82. package/dist/MediaWrapper-B8msCrQm.js +18 -0
  83. package/dist/{NotBindingText-D8Blua5a.js → NotBindingText-DcQd8Eej.js} +13 -17
  84. package/dist/PackageGroup-clUIUoik.js +1060 -0
  85. package/dist/PdfTerms-DpzMVRfN.js +34 -0
  86. package/dist/PdfViewer-CSf4Rtbj.js +392 -0
  87. package/dist/PlainHtml.vue_vue_type_script_setup_true_lang-D6KSjjMA.js +17 -0
  88. package/dist/PriceHeader-Dyweu8aH.js +488 -0
  89. package/dist/{SearchApi-Bg9FwkW0.js → SearchApi-Y1fDQn0u.js} +37 -49
  90. package/dist/SendForm-B9l24WwR.js +6689 -0
  91. package/dist/Setup-DyzbPFM4.js +47 -0
  92. package/dist/{SmartList-DofjZjfy.js → SmartList-CWGKoAJh.js} +16 -24
  93. package/dist/Sortable.vue_vue_type_script_setup_true_lang-C2Gwp6Q-.js +1349 -0
  94. package/dist/{TermsSettings-B4glHd0I.js → TermsSettings-BeQH307A.js} +169 -56
  95. package/dist/ThemeColorRow-DFIsPy55.js +105 -0
  96. package/dist/ToggleBinding-DlH4y1IM.js +44 -0
  97. package/dist/UploadModal-BZ0mPBBB.js +134 -0
  98. package/dist/VideoPlayerInput-DBxcTUb7.js +134 -0
  99. package/dist/VideoPlayerSettings-Dg1OxjOa.js +78 -0
  100. package/dist/VideoSelectModal-BhbanMix.js +217 -0
  101. package/dist/{anime.es-BrPTThYb.js → anime.es-4wvNItHq.js} +205 -201
  102. package/dist/{color-TdtKxwVa.js → color-HetJPhlA.js} +1 -2
  103. package/dist/{dom-Ds4ypDrd.js → dom-CkTGWrfu.js} +3 -6
  104. package/dist/{focusDrawerMixin-DVCJIsb_.js → focusDrawerMixin-BVbTYOGr.js} +1 -1
  105. package/dist/{formDrawerState-BYsq1pB0.js → formDrawerState-CogZ-GVm.js} +2 -2
  106. package/dist/helpers-B4GUxtdD.js +46 -0
  107. package/dist/index-BZDey7B-.js +268 -0
  108. package/dist/index-Bd8_ZHHq.js +188 -0
  109. package/dist/index-BvyoYp1e.js +508 -0
  110. package/dist/index-CJZoubA3.js +3525 -0
  111. package/dist/index-D7yQWP4d.js +125 -0
  112. package/dist/index-D8hGHka6.js +513 -0
  113. package/dist/index-Dxy4tf7x.js +149 -0
  114. package/dist/index.es.js +2 -5
  115. package/dist/index.umd.js +303 -1486
  116. package/dist/main-Bn5XkQPb.js +57570 -0
  117. package/dist/mapFormMixin-C7FJLnbO.js +1528 -0
  118. package/dist/omit-DrWpFvRJ.js +56 -0
  119. package/dist/{publicSenderState-C4cIGu3m.js → publicSenderState-tdtCFPMx.js} +4 -4
  120. package/dist/splitpanes-BApidgjj.js +342 -0
  121. package/dist/template-CHdf2K2I.js +1572 -0
  122. package/dist/tippy.esm-Co6FYzEM.js +1994 -0
  123. package/dist/useTermsModal-VDnO1Lro.js +87 -0
  124. package/dist/{utils-CMs9ODO8.js → utils-DZkn0Q9c.js} +8 -11
  125. package/dist/validation-CqBkar3f.js +40 -0
  126. package/dist/widget.css +1 -0
  127. package/package.json +20 -25
  128. package/dist/AddClientCallout-TF4dWJwb.js +0 -48
  129. package/dist/AnswerModal-CLHDa2TD.js +0 -3879
  130. package/dist/AttachmentItem-ICP5nbhT.js +0 -85
  131. package/dist/BaseDatePicker-wwmiz_b5.js +0 -3187
  132. package/dist/BaseUpload-CDZOjohX.js +0 -1977
  133. package/dist/BlockMedia-D1JAYF9F.js +0 -76
  134. package/dist/CCallout-dAjcZXrm.js +0 -58
  135. package/dist/CDropdownItem-CkSNbSdj.js +0 -640
  136. package/dist/CFormField-Dw6UM1u6.js +0 -240
  137. package/dist/CPhoneInput-Dd6cJ4jg.js +0 -138
  138. package/dist/CPriceInput-CjV95s8E.js +0 -116
  139. package/dist/CSelect-izVnsQME.js +0 -91
  140. package/dist/CSkeleton-C0TjtLtY.js +0 -55
  141. package/dist/ClientAutocomplete-Cfu3abEx.js +0 -438
  142. package/dist/ClientModal-DjSoPQ9x.js +0 -666
  143. package/dist/ColorPicker-DZP6FIdn.js +0 -2879
  144. package/dist/CompanyModal-BYQWdbhG.js +0 -147
  145. package/dist/ContentWrapper-Bci9pSEp.js +0 -190
  146. package/dist/CoverBlockSettings-wD55bj3k.js +0 -659
  147. package/dist/DocAnswer-B5q-ntKP.js +0 -36
  148. package/dist/DocDetails-BQuaNZ4b.js +0 -263
  149. package/dist/DocForm-QzZ5wqsS.js +0 -5017
  150. package/dist/DocFormSend-CORtQPhb.js +0 -146
  151. package/dist/DocLinks-DZPzODUe.js +0 -38
  152. package/dist/DocModalBase-TTALjv6K.js +0 -28
  153. package/dist/DocPrint-BB-KT9ut.js +0 -240
  154. package/dist/DocReceipt-CGks1GLS.js +0 -217
  155. package/dist/DocSendReminder-BBQXJbsV.js +0 -140
  156. package/dist/DocTimeline-4jnYDmBI.js +0 -485
  157. package/dist/DocumentClient-BAAX7Dxk.js +0 -136
  158. package/dist/DocumentLayout-C4edCFmr.js +0 -4880
  159. package/dist/DocumentLogotype-i7YSQKcH.js +0 -92
  160. package/dist/DocumentVoided-BvZoMFB_.js +0 -25
  161. package/dist/EmbedInput-Bij7ER30.js +0 -117
  162. package/dist/EmbedSettings-D0oyq4-9.js +0 -74
  163. package/dist/ErrorCallout-CsW3WTZp.js +0 -27
  164. package/dist/FilePreviewModal-Doaawg0l.js +0 -81
  165. package/dist/Flag-C4Mf2xUU.js +0 -46
  166. package/dist/HeaderSettings-DwZ54IsK.js +0 -440
  167. package/dist/ImageSelectModal-ClFJ5uXM.js +0 -86
  168. package/dist/ImageUploadWrapper-DtEp_Pg3.js +0 -1604
  169. package/dist/Index-2MwnGZ_4.js +0 -25
  170. package/dist/Index-3CwdeytO.js +0 -107
  171. package/dist/Index-B-bSVOoh.js +0 -73
  172. package/dist/Index-BDyMp1ib.js +0 -643
  173. package/dist/Index-BMgtwHVA.js +0 -24
  174. package/dist/Index-BTD3hWbY.js +0 -54
  175. package/dist/Index-BUbd06rz.js +0 -144
  176. package/dist/Index-Bv2XrpgK.js +0 -25
  177. package/dist/Index-C00Ay-7P.js +0 -62
  178. package/dist/Index-CHL_6WQH.js +0 -66
  179. package/dist/Index-CLyNrkJA.js +0 -28
  180. package/dist/Index-CV57PvUE.js +0 -26
  181. package/dist/Index-Crj4apcP.js +0 -146
  182. package/dist/Index-CryBgLTa.js +0 -294
  183. package/dist/Index-Cv33nreP.js +0 -33
  184. package/dist/Index-D0ErQJ2M.js +0 -2445
  185. package/dist/Index-D8ZnVbsP.js +0 -32
  186. package/dist/Index-DPNIJewY.js +0 -56
  187. package/dist/Index-DVXhB0Ja.js +0 -58
  188. package/dist/Index-DWhQwxeB.js +0 -94
  189. package/dist/Index-DX7tomhl.js +0 -230
  190. package/dist/Index-D_AdmLWe.js +0 -41
  191. package/dist/Index-DgTQzlfK.js +0 -754
  192. package/dist/Index-DhapmO-4.js +0 -55
  193. package/dist/Index-DjC8joRt.js +0 -150
  194. package/dist/Index-Dv4l4LKF.js +0 -154
  195. package/dist/Index-TTFKPIIC.js +0 -84
  196. package/dist/Index-cT8oYfLR.js +0 -41
  197. package/dist/Index-igPwrQMu.js +0 -77
  198. package/dist/InputToggleRow-BgOubdXs.js +0 -57
  199. package/dist/ManualPopover-8suun-i9.js +0 -60
  200. package/dist/MediaWrapper-BadblLbS.js +0 -23
  201. package/dist/PackageGroup-BxmqH6qI.js +0 -704
  202. package/dist/PdfTerms-C6MRk0Ix.js +0 -31
  203. package/dist/PdfViewer-DUoiQx_1.js +0 -383
  204. package/dist/PlainHtml-DZ9V0Yuf.js +0 -27
  205. package/dist/PriceHeader-C3_CoKrL.js +0 -338
  206. package/dist/SendForm-D-OvqCee.js +0 -1023
  207. package/dist/Setup-CwK4er2y.js +0 -50
  208. package/dist/ThemeColorRow-BplIaxA2.js +0 -69
  209. package/dist/ToggleBinding-6ntt38Ye.js +0 -42
  210. package/dist/UploadModal-B6jQzsYA.js +0 -95
  211. package/dist/VideoPlayerInput-ryP77WC0.js +0 -97
  212. package/dist/VideoPlayerSettings-DJh0JNRI.js +0 -61
  213. package/dist/VideoSelectModal-8udQ394X.js +0 -104
  214. package/dist/answerDocumentMixin-CF4J_vsp.js +0 -51
  215. package/dist/debounce-CgyZi04Q.js +0 -84
  216. package/dist/formValidationMixin-Dq7aZhBk.js +0 -49
  217. package/dist/index-2Q8Ejpof.js +0 -167
  218. package/dist/index-B5-izJkt.js +0 -102
  219. package/dist/index-BQb6k0M8.js +0 -351
  220. package/dist/index-CR-KQfRE.js +0 -81
  221. package/dist/index-CogHiXWx.js +0 -2700
  222. package/dist/index-lZ1sSNWc.js +0 -492
  223. package/dist/main-BpqUyMpC.js +0 -57349
  224. package/dist/mapFormMixin-rxtAFyFK.js +0 -3028
  225. package/dist/omit-C7FeydiO.js +0 -31
  226. package/dist/simplebar.min-Dm388s-3.js +0 -71
  227. package/dist/splitpanes-BHUVsCZF.js +0 -382
  228. package/dist/style.css +0 -4
  229. package/dist/throttle-CfcsX8nA.js +0 -18
  230. package/dist/tippy.esm-C9mV-Rzr.js +0 -1805
  231. package/dist/vuedraggable.umd-CChGnToh.js +0 -3161
  232. package/dist/vuex.esm-DKGl8mcw.js +0 -467
@@ -1,49 +0,0 @@
1
- import { h as n } from "./main-BpqUyMpC.js";
2
- import { s as l } from "./dom-Ds4ypDrd.js";
3
- const s = (r) => {
4
- var i;
5
- const t = [];
6
- return (i = r.$options) != null && i.validations && t.push(r), r.$children && r.$children.forEach((o) => t.push(...s(o))), t;
7
- }, m = {
8
- provide() {
9
- return {
10
- formValidation: {
11
- isFormValid: this.isFormValid,
12
- scrollToInvalidInput: this.scrollToInvalidInput
13
- }
14
- };
15
- },
16
- data() {
17
- return {
18
- _formItems: []
19
- };
20
- },
21
- created() {
22
- this._formItems = s(this);
23
- },
24
- methods: {
25
- _getInvalidInputs() {
26
- return this._formItems.filter((r) => {
27
- var t;
28
- return (t = r.$v) == null ? void 0 : t.$invalid;
29
- });
30
- },
31
- isFormValid() {
32
- return this._formItems.every((r) => {
33
- var t, i;
34
- return (t = r.$v) == null || t.$touch(), !((i = r.$v) != null && i.$invalid);
35
- });
36
- },
37
- scrollToInvalidInput({ offset: r = 0 } = {}) {
38
- try {
39
- const [t] = this._getInvalidInputs();
40
- t != null && t.$el && l(t.$el, { offset: r });
41
- } catch (t) {
42
- n(t);
43
- }
44
- }
45
- }
46
- };
47
- export {
48
- m as f
49
- };
@@ -1,167 +0,0 @@
1
- import { F as n } from "./Flag-C4Mf2xUU.js";
2
- import { w as o } from "./CDropdownItem-CkSNbSdj.js";
3
- import { n as a } from "./main-BpqUyMpC.js";
4
- import { i as c } from "./dom-Ds4ypDrd.js";
5
- import { d } from "./debounce-CgyZi04Q.js";
6
- import { t as u } from "./throttle-CfcsX8nA.js";
7
- import { s as m } from "./simplebar.min-Dm388s-3.js";
8
- const f = {
9
- name: "BackgroundsModalList",
10
- i18nOptions: {
11
- namespaces: "backgroundsModalList",
12
- messages: {
13
- en: {
14
- searchPlaceholder: "Search",
15
- noMoreResults: "No more results"
16
- },
17
- sv: {
18
- searchPlaceholder: "Sök efter en bild på engelska",
19
- noMoreResults: "Inga fler resultat"
20
- }
21
- }
22
- },
23
- components: {
24
- simplebar: m,
25
- Flag: n
26
- },
27
- mixins: [o],
28
- props: {
29
- /**
30
- * @param {Object} options Input arguments
31
- * @param {String} options.query Search/Query string
32
- * @param {Number} options.page Current page number
33
- *
34
- * @returns {Object} containing:
35
- * items {Array}
36
- - item {Object}
37
- - item.image {String} Url of image resource (REQUIRED)
38
- - item.video {String} Url of video resource (OPTIONAL)
39
- - item.lowQualityVideo {String} preview url of video file (OPTIONAL)
40
- * total {Number} Number of results
41
- */
42
- fetch: {
43
- type: Function,
44
- required: !0
45
- },
46
- defaultQuery: {
47
- type: String,
48
- required: !0
49
- },
50
- creditText: {
51
- type: String,
52
- default: ""
53
- }
54
- },
55
- data() {
56
- return {
57
- hoverIndex: null,
58
- query: null,
59
- items: [],
60
- page: 1,
61
- isLoading: !1,
62
- allowMoreResults: !0,
63
- searchTimeout: null,
64
- selectedIndex: null,
65
- selectedUrl: null,
66
- noOfResults: null
67
- };
68
- },
69
- watch: {
70
- query() {
71
- this.page = 0, this.items = [], this.allowMoreResults = !0, this.isLoading = !1, this.debouncedHandleFetch();
72
- }
73
- },
74
- created() {
75
- this.handleFetch(), this.debouncedHandleFetch = d(this.handleFetch, 1e3);
76
- },
77
- mounted() {
78
- this.$refs.scrollbar.scrollElement.addEventListener(
79
- "scroll",
80
- this.scrollHandler,
81
- { passive: !0 }
82
- );
83
- },
84
- beforeDestroy() {
85
- this.$refs.scrollbar.scrollElement.removeEventListener(
86
- "scroll",
87
- this.scrollHandler,
88
- { passive: !0 }
89
- );
90
- },
91
- methods: {
92
- async handleFetch() {
93
- if (!this.allowMoreResults || this.isLoading)
94
- return;
95
- this.isLoading = !0;
96
- const i = this.query ? this.query : this.defaultQuery, { items: e, total: t } = await this.fetch({ query: i, page: this.page++ });
97
- this.isLoading = !1, this.noOfResults = this.query ? t : null, this.items == null ? (this.selectedIndex = null, this.items = e) : this.items = [...this.items, ...e], this.allowMoreResults = t >= this.page * 12;
98
- },
99
- scrollHandler: u(async function() {
100
- const e = this.$refs.item[this.$refs.item.length - 9 || 0];
101
- e && c(e) && this.handleFetch();
102
- }, 50),
103
- selectItem(i, e) {
104
- this.selectedIndex = e, this.$emit("select", i);
105
- },
106
- onSave() {
107
- this.$emit("save");
108
- },
109
- playVideo(i) {
110
- this.$refs.video[i] && this.$refs.video[i].play();
111
- },
112
- pauseVideo(i) {
113
- const e = this.$refs.video[i];
114
- e && (e.readyState === 4 ? e.pause() : e.addEventListener("playing", () => e.pause(), { once: !0 }));
115
- }
116
- }
117
- };
118
- var h = function() {
119
- var e = this, t = e._self._c;
120
- return t("div", { staticStyle: { "min-height": "0", display: "flex", "flex-direction": "column", height: "100%" } }, [t("div", { staticClass: "relative flex w-full shrink-0 py-1" }, [t("CInput", { staticClass: "flex-grow", staticStyle: { "border-bottom": "1px solid hsl(0, 0%, 92%)" }, attrs: { placeholder: e.$t("searchPlaceholder"), reset: !0, icon: "search", size: "medium" }, model: { value: e.query, callback: function(s) {
121
- e.query = s;
122
- }, expression: "query" } })], 1), t("div", { staticStyle: { overflow: "hidden", flex: "1", height: "100%" } }, [t("simplebar", { ref: "scrollbar", staticStyle: { width: "100%", height: "100%", padding: "3px 4px" } }, [t("div", { staticStyle: { display: "grid", "grid-template-columns": "repeat(auto-fit, minmax(210px, 1fr))", gap: "2px" } }, [!e.items.length && e.isLoading ? e._l(12, function(s) {
123
- return t("div", { key: s, ref: "item", refInFor: !0, staticClass: "photo" });
124
- }) : e._e(), e._l(e.items, function(s, l) {
125
- return t("div", { key: l, ref: "item", refInFor: !0, staticClass: "photo", style: { backgroundImage: `url(${s.minImage})` }, on: { click: function(r) {
126
- return e.selectItem(s, l);
127
- } } }, [s.minVideo || s.video ? t("div", { staticClass: "video-bg__media", on: { "&mouseenter": function(r) {
128
- return e.playVideo(l, s.minVideo || s.video);
129
- }, "&mouseleave": function(r) {
130
- return e.pauseVideo(l);
131
- } } }, [t("video", { ref: "video", refInFor: !0, attrs: { src: s.minVideo || s.video, loop: "", muted: "", playsInline: "", preload: "none" }, domProps: { muted: !0 } })]) : e._e(), e.selectedIndex === l ? t("div", { staticClass: "select-wrapper" }) : e._e(), t("div", { staticClass: "photo__credit" }, [e._v(e._s(s.userName))])]);
132
- })], 2), t("div", { staticClass: "flex w-full items-center justify-center", staticStyle: { padding: "2em 1em" } }, [e.isLoading ? t("CIcon", { staticClass: "rotateSpin", attrs: { type: "loader" } }) : e.allowMoreResults ? e._e() : t("div", { staticClass: "flex w-full flex-col items-center justify-center text-gray-400" }, [t("div", [e._v(" " + e._s(e.$t("noMoreResults")) + " ")]), e.$i18n.lang !== "en" ? t("div", { staticClass: "flex flex-col items-center text-center", staticStyle: { "padding-top": "3.2rem" } }, [t("Flag", { staticClass: "mb-1 h-8 w-8", attrs: { region: "GB" } }), e._v(" Glöm inte att sökordet måste vara på engelska ")], 1) : e._e()])], 1)])], 1), t("div", { staticClass: "flex w-full items-center justify-end", staticStyle: { padding: "4px 4px 4px 8px", "flex-shrink": "0" } }, [t("div", { staticClass: "flex-grow text-gray-400" }, [e.mq !== "sm" ? [e.query && e.noOfResults && e.noOfResults > 0 ? t("div", [e._v(" " + e._s(e.$tc("_common:result", { count: e.noOfResults })) + " ")]) : e._e(), t("div", [e._v(" " + e._s(e.creditText) + " ")])] : e._e()], 2), e._t("footer", function() {
133
- return [t("CButton", { staticStyle: { "margin-left": "0.5em" }, attrs: { type: "secondary" }, on: { click: e.onSave } }, [e._v(" " + e._s(e.$t("_common:save")) + " ")])];
134
- })], 2)]);
135
- }, p = [], v = /* @__PURE__ */ a(
136
- f,
137
- h,
138
- p,
139
- !1,
140
- null,
141
- "70d28101"
142
- );
143
- const g = v.exports, _ = {
144
- name: "BackgroundsModal"
145
- };
146
- var y = function() {
147
- var e = this, t = e._self._c;
148
- return t("div", { staticClass: "font-primary fixed inset-0 z-[1000] flex items-center justify-center overflow-auto bg-black bg-opacity-10 max-sm:block max-sm:min-h-full max-sm:w-full max-sm:overflow-auto", on: { click: function(s) {
149
- return s.target !== s.currentTarget ? null : e.$emit("close");
150
- } } }, [t("div", { staticClass: "relative flex h-[90%] max-h-[700px] w-[90%] max-w-3xl flex-col rounded-lg bg-white max-sm:h-full max-sm:max-h-full max-sm:w-full max-sm:rounded-none", on: { click: function(s) {
151
- s.stopPropagation();
152
- } } }, [t("CButton", { staticClass: "absolute right-3 top-3 z-10", attrs: { pattern: "tertiary", type: "none", size: "small", circle: "", icon: "x" }, on: { click: function(s) {
153
- return e.$emit("close");
154
- } } }), e._t("header"), e._t("default")], 2)]);
155
- }, x = [], w = /* @__PURE__ */ a(
156
- _,
157
- y,
158
- x,
159
- !1,
160
- null,
161
- "4a6a378b"
162
- );
163
- const b = w.exports, L = g, q = b;
164
- export {
165
- q as B,
166
- L as a
167
- };
@@ -1,102 +0,0 @@
1
- import { g as s, U as l, W as r, n as d, V as n } from "./main-BpqUyMpC.js";
2
- import { m as p, a as c } from "./vuex.esm-DKGl8mcw.js";
3
- const m = {
4
- name: "ClientLinks",
5
- props: {
6
- id: {
7
- type: String,
8
- required: !0
9
- }
10
- },
11
- i18nOptions: {
12
- namespaces: "ClientLinks",
13
- messages: {
14
- en: {
15
- title: "Document links",
16
- text: "Share the document links below with your recipients. Each recipient has their own unique link.",
17
- copied: "Link copied to clipboard",
18
- tooltip: "Copy link",
19
- placeholder: "No links available.",
20
- hint: "Note that visting a link will trigger a viewed event in the events timeline."
21
- },
22
- sv: {
23
- title: "Dokumentlänkar",
24
- text: "Dela dokumentlänkarna nedan med dina mottagare. Varje mottagare har sin egen unika länk.",
25
- copied: "Länk kopierat till urklipp",
26
- tooltip: "Kopiera länk",
27
- placeholder: "Inga länkar finns tillgängliga.",
28
- hint: "Notera att ett sidbesök på en länk kommer att skapa en visad-händelse i tidslinjen."
29
- }
30
- }
31
- },
32
- computed: {
33
- ...p({
34
- docById: "documents2/byId"
35
- }),
36
- document() {
37
- return this.docById(this.id);
38
- },
39
- clients() {
40
- if (!this.document)
41
- return [];
42
- const { clients: o } = this.document;
43
- return o.map((t) => ({
44
- ...t,
45
- primaryTitle: t.name,
46
- secondaryTitle: t.type === "company" ? t.companyName : ""
47
- }));
48
- }
49
- },
50
- created() {
51
- this.loadDocument({ id: this.id });
52
- },
53
- methods: {
54
- ...c({
55
- loadDocument: s.LOAD_DOCUMENT2
56
- }),
57
- async copyToClipboard(o) {
58
- var i, a;
59
- (i = o.target.previousElementSibling) == null || i.select();
60
- const t = (a = o.target.previousElementSibling) == null ? void 0 : a.value;
61
- if (!t)
62
- return;
63
- await l(t) && r("info", this.$t("copied"));
64
- }
65
- }
66
- };
67
- var u = function() {
68
- var t = this, e = t._self._c;
69
- return e("div", { staticClass: "font-inter", staticStyle: { "background-color": "white", "border-radius": "10px", overflow: "hidden" } }, [e("div", { staticStyle: { padding: "40px 30px", position: "relative" } }, [e("CButton", { staticStyle: { position: "absolute", right: "1em", top: "1em", color: "hsl(0, 0%, 55%)" }, attrs: { icon: "x", circle: "", size: "normal" }, on: { click: function(i) {
70
- return t.$emit("close");
71
- } } }), e("div", { staticStyle: { padding: "0 0 2.5em" } }, [e("div", { staticClass: "x-title", domProps: { textContent: t._s(t.$t("title")) } }), e("div", { staticClass: "x-text", domProps: { textContent: t._s(t.$t("text")) } })]), t.clients.length ? t._l(t.clients, function(i, a) {
72
- return e("div", { key: a, staticClass: "client-card" }, [e("div", { staticStyle: { padding: "4px 6px 8px 6px" } }, [e("div", { staticClass: "client-title truncate-text" }, [t._v(" " + t._s(i.primaryTitle) + " "), i.secondaryTitle ? e("span", { staticStyle: { opacity: "0.5", "padding-left": "0.125ch" } }, [t._v("· " + t._s(i.secondaryTitle))]) : t._e()]), i.documentRole ? e("div", { domProps: { textContent: t._s(t.$t(`_common:documentRole.${i.documentRole}.label`)) } }) : t._e(), e("div", [i.email ? e("a", { attrs: { href: `mailto:${i.email}?&body=${i.docLink}` } }, [t._v(t._s(i.email))]) : t._e(), i.email && i.cellphone ? e("span", { staticStyle: { padding: "0 0.5ch" } }, [t._v("·")]) : t._e(), i.cellphone ? e("a", { attrs: { href: `sms:${i.cellphone}?&body=${i.docLink}` } }, [e("CPhoneFormat", { attrs: { phone: i.cellphone, region: i.cellphoneRegion } })], 1) : t._e()])]), e("div", { staticStyle: { display: "flex", position: "relative" } }, [e("input", { ref: "key", refInFor: !0, staticClass: "link-field truncate-text", attrs: { placeholder: t.$t("placeholder"), type: "text", readonly: "readonly" }, domProps: { value: i.docLink } }), e("div", { directives: [{ name: "tooltip", rawName: "v-tooltip", value: t.$t("tooltip"), expression: "$t('tooltip')" }], staticClass: "clipboard-button", on: { click: t.copyToClipboard } }, [e("CIcon", { staticStyle: { "pointer-events": "none" }, attrs: { type: "copy", size: "17" } })], 1)])]);
73
- }) : e("div", { staticStyle: { padding: "2em", "font-size": "14px", "text-align": "center", color: "hsl(0, 0%, 55%)", border: "1px solid hsl(0, 0%, 88%)", "border-radius": "6px" }, domProps: { textContent: t._s(t.$t("placeholder")) } }), e("div", { staticClass: "x-hint" }, [e("CIcon", { staticClass: "text-primary-500", staticStyle: { flex: "0 0 auto", "margin-right": "8px", "margin-top": "3px" }, attrs: { type: "info", size: "16" } }), e("div", { domProps: { textContent: t._s(t.$t("hint")) } })], 1)], 2)]);
74
- }, h = [], y = /* @__PURE__ */ d(
75
- m,
76
- u,
77
- h,
78
- !1,
79
- null,
80
- "8273cadb"
81
- );
82
- const v = y.exports, g = v, _ = ({ id: o }) => {
83
- if (!n.prototype.$modal)
84
- throw Error("Open client modal requires plugin vue-js-modal");
85
- n.prototype.$modal.show(
86
- g,
87
- {
88
- id: o
89
- },
90
- {
91
- adaptive: !0,
92
- maxWidth: 400,
93
- width: "90%",
94
- height: "auto",
95
- scrollable: !0
96
- }
97
- );
98
- };
99
- export {
100
- g as C,
101
- _ as o
102
- };
@@ -1,351 +0,0 @@
1
- import { w as m } from "./CDropdownItem-CkSNbSdj.js";
2
- import { n as o, M as f, S as v, g as i, h as l } from "./main-BpqUyMpC.js";
3
- import { m as h, a as d, b as _ } from "./vuex.esm-DKGl8mcw.js";
4
- import { C as g } from "./CFormField-Dw6UM1u6.js";
5
- import { B as u } from "./DocTextEditor-DFid7uKr.js";
6
- import { v as r } from "./index-lZ1sSNWc.js";
7
- import { S as x } from "./SmartList-DofjZjfy.js";
8
- const C = {
9
- mixins: [m],
10
- props: {
11
- placement: {
12
- type: String,
13
- default: "top-start"
14
- }
15
- },
16
- data() {
17
- return {
18
- isOpen: !1
19
- };
20
- },
21
- methods: {
22
- onOpen() {
23
- this.$emit("open"), this.isOpen = !0;
24
- },
25
- onClose() {
26
- this.$emit("close"), this.isOpen = !1;
27
- }
28
- }
29
- };
30
- var T = function() {
31
- var e = this, t = e._self._c;
32
- return e.mq === "sm" ? t("div", [t("div", { on: { click: e.onOpen } }, [e._t("default")], 2), e.isOpen ? t("portal", { attrs: { to: "modal" } }, [t("div", { staticClass: "modal-overlay", on: { click: function(a) {
33
- return a.target !== a.currentTarget ? null : e.onClose.apply(null, arguments);
34
- } } }, [t("div", { staticClass: "modal-container" }, [e._t("popover", null, { close: e.onClose })], 2)])]) : e._e()], 1) : t("v-popover", e._b({ attrs: { open: e.isOpen, placement: e.placement, "popover-class": "reset" }, on: { close: function(a) {
35
- return e.onClose();
36
- }, "update:open": function(a) {
37
- a ? e.onOpen() : e.onClose();
38
- } }, scopedSlots: e._u([{ key: "popover", fn: function() {
39
- return [t("div", { staticClass: "popover-container" }, [e.isOpen ? t("portal", { attrs: { to: "modal" } }, [t("div", { staticClass: "overlay" })]) : e._e(), e._t("popover", null, { close: e.onClose })], 2)];
40
- }, proxy: !0 }], null, !0) }, "v-popover", e.$props, !1), [e._t("default")], 2);
41
- }, $ = [], S = /* @__PURE__ */ o(
42
- C,
43
- T,
44
- $,
45
- !1,
46
- null,
47
- "c4f53105"
48
- );
49
- const y = S.exports, { mapFields: b } = f({
50
- getterType: "forms/getField",
51
- mutationType: "forms/updateField"
52
- }), M = {
53
- i18nOptions: {
54
- namespaces: "TextTemplatesForm",
55
- messages: {
56
- en: {
57
- textLabel: "Snippet",
58
- name: {
59
- label: "Template Name",
60
- placeholder: "Name"
61
- },
62
- placeholderType: {
63
- default: "Write here..."
64
- },
65
- validations: {
66
- name: {
67
- required: "Name is required",
68
- maxLength: "Maximum length is 256 characters"
69
- },
70
- textContent: {
71
- required: "Add some content"
72
- }
73
- }
74
- },
75
- sv: {
76
- textLabel: "Mallens innehåll",
77
- name: {
78
- label: "Namn på mallen",
79
- placeholder: "Mallens namn"
80
- },
81
- placeholderType: {
82
- default: "Skriv här..."
83
- },
84
- validations: {
85
- name: {
86
- required: "Ge mallen ett namn",
87
- maxLength: "Får max vara 256 tecken långt"
88
- },
89
- textContent: {
90
- required: "Skriv vad mallen ska innehålla"
91
- }
92
- }
93
- }
94
- }
95
- },
96
- name: "TextTemplatesForm",
97
- components: {
98
- BaseTextEditor: u,
99
- Spinner: v,
100
- CField: g
101
- },
102
- props: {
103
- id: {
104
- type: [String, Number],
105
- default: null
106
- },
107
- predefinedTextContent: {
108
- type: String,
109
- default: null
110
- },
111
- onAfterSubmit: {
112
- type: Function,
113
- default: null
114
- },
115
- showFixedCloseButton: {
116
- type: Boolean,
117
- default: !1
118
- }
119
- },
120
- validations: {
121
- name: {
122
- required: r.required,
123
- maxLength: r.maxLength(255)
124
- },
125
- textContent: {
126
- required: r.required
127
- }
128
- },
129
- computed: {
130
- ...h({
131
- isPosting: "templateMessages/isPosting",
132
- isFetching: "templateMessages/isFetching",
133
- checkFormChanged: "forms/hasChanged"
134
- }),
135
- ...b({
136
- templateMessage: "templateMessage",
137
- name: "templateMessage.name",
138
- textContent: "templateMessage.message"
139
- }),
140
- messages() {
141
- return {
142
- name: {
143
- required: this.$t("validations.name.required"),
144
- maxLength: this.$t("validations.name.maxLength")
145
- },
146
- textContent: {
147
- required: this.$t("validations.textContent.required")
148
- }
149
- };
150
- },
151
- hasChanged() {
152
- return this.checkFormChanged("templateMessage");
153
- }
154
- },
155
- watch: {
156
- id() {
157
- this.load();
158
- }
159
- },
160
- mounted() {
161
- this.load(), this.predefinedTextContent && (this.textContent = this.predefinedTextContent);
162
- },
163
- methods: {
164
- ...d({
165
- loadTemplate: i.LOAD_TEMPLATE_MESSAGE,
166
- deleteTemplate: i.DELETE_TEMPLATE_MESSAGE,
167
- formNewTemplate: i.FORM_NEW_TEMPLATE_MESSAGE,
168
- formEditTemplate: i.FORM_EDIT_TEMPLATE_MESSAGE,
169
- formSubmitTemplate: i.FORM_SUBMIT_TEMPLATE_MESSAGE
170
- }),
171
- canLeave() {
172
- return !this.hasChanged;
173
- },
174
- async load() {
175
- try {
176
- this.id ? (await this.loadTemplate({
177
- id: this.id
178
- }), await this.formEditTemplate({
179
- id: this.id
180
- })) : await this.formNewTemplate();
181
- } catch (s) {
182
- l(s);
183
- }
184
- },
185
- validateBeforeSubmit() {
186
- return this.$v.$touch(), this.$v.$invalid ? !1 : this.submit();
187
- },
188
- async submit() {
189
- if (this.hasChanged)
190
- try {
191
- await this.formSubmitTemplate(), typeof this.onAfterSubmit == "function" && this.onAfterSubmit();
192
- } catch (s) {
193
- l(s);
194
- }
195
- },
196
- async remove() {
197
- try {
198
- await this.deleteTemplate({ id: this.id }), typeof this.onAfterSubmit == "function" && this.onAfterSubmit();
199
- } catch (s) {
200
- l(s);
201
- }
202
- }
203
- }
204
- };
205
- var E = function() {
206
- var e = this, t = e._self._c;
207
- return t("div", { staticStyle: { position: "relative" } }, [e.showFixedCloseButton ? t("CButton", { staticClass: "fixed-close-button", attrs: { circle: "", icon: "x" }, on: { click: function(a) {
208
- return e.$emit("close");
209
- } } }) : e._e(), e.isFetching ? t("div", { staticClass: "flex w-full items-center justify-center", staticStyle: { padding: "calc(3 * var(--rem)) 0" } }, [t("Spinner")], 1) : e.templateMessage !== void 0 ? t("form", [t("CField", { attrs: { validator: e.$v.name, messages: e.messages.name, label: e.$t("name.label") } }, [t("CInput", { attrs: { placeholder: e.$t("name.placeholder") }, on: { blur: function(a) {
210
- return e.$v.name.$touch();
211
- } }, model: { value: e.name, callback: function(a) {
212
- e.name = a;
213
- }, expression: "name" } })], 1), t("CField", { attrs: { validator: e.$v.textContent, messages: e.messages.textContent, label: e.$t("textLabel") } }, [t("BaseTextEditor", { attrs: { placeholder: e.$t("placeholderType.default"), "class-list": "large" }, on: { blur: function(a) {
214
- return e.$v.textContent.$touch();
215
- } }, model: { value: e.textContent, callback: function(a) {
216
- e.textContent = a;
217
- }, expression: "textContent" } })], 1), t("CButton", { staticStyle: { "margin-top": "calc(1 * var(--rem))" }, attrs: { loading: e.isPosting, disabled: !e.hasChanged, type: "secondary", icon: "save", wide: "" }, on: { click: function(a) {
218
- return e.validateBeforeSubmit();
219
- } } }, [e._v(" " + e._s(e.$t("_common:save")) + " ")]), e.id ? t("CButton", { staticStyle: { "margin-top": "calc(1 * var(--rem))" }, attrs: { loading: e.isPosting, type: "secondary", pattern: "tertiary", wide: "" }, on: { click: function(a) {
220
- return e.remove();
221
- } } }, [e._v(" " + e._s(e.$t("_common:remove")) + " ")]) : e._e()], 1) : e._e()], 1);
222
- }, F = [], w = /* @__PURE__ */ o(
223
- M,
224
- E,
225
- F,
226
- !1,
227
- null,
228
- "0366ff76"
229
- );
230
- const k = w.exports, q = {
231
- name: "TextTemplatesModal",
232
- components: {
233
- SmartList: x,
234
- BaseTextEditor: u
235
- },
236
- mixins: [m],
237
- data() {
238
- return {
239
- selectedIndex: 0,
240
- query: ""
241
- };
242
- },
243
- computed: {
244
- ..._("templateMessages", {
245
- templateMessages: (s) => s.data
246
- }),
247
- templates() {
248
- return Object.values(this.templateMessages);
249
- }
250
- },
251
- methods: {
252
- onSelect(s) {
253
- this.$emit("select", s), this.close();
254
- },
255
- close() {
256
- this.$emit("close");
257
- },
258
- openCreateModal() {
259
- this.close(), this.$modal.show(
260
- k,
261
- {
262
- predefinedTextContent: "",
263
- showFixedCloseButton: !0,
264
- onAfterSubmit: () => this.$modal.hide("saveTemplateModal")
265
- },
266
- {
267
- name: "saveTemplateModal",
268
- delay: 100,
269
- adaptive: !0,
270
- height: "auto",
271
- width: "90%",
272
- maxWidth: 500,
273
- scrollable: !0,
274
- classes: "overflow-visible default"
275
- }
276
- );
277
- }
278
- }
279
- };
280
- var A = function() {
281
- var e = this, t = e._self._c;
282
- return t("SmartList", { attrs: { items: e.templates, "sort-key": "position", query: e.query }, scopedSlots: e._u([{ key: "default", fn: function({ items: a }) {
283
- return [t("div", { ref: "modal-container", staticClass: "font-inter t-modal" }, [t("div", { staticClass: "t-nav" }, [t("CInput", { ref: "searchInput", staticClass: "search-input focus:text-gray-500", attrs: { placeholder: e.$t("search"), icon: "search" }, on: { input: function(n) {
284
- e.selectedIndex = 0;
285
- } }, model: { value: e.query, callback: function(n) {
286
- e.query = n;
287
- }, expression: "query" } })], 1), t("div", { staticClass: "t-main" }, [t("div", { staticClass: "t-list" }, e._l(a, function(n, c) {
288
- return t("div", { key: n.id, staticClass: "t-list-item truncate-text", class: { selected: c === e.selectedIndex }, on: { "&mouseover": function(p) {
289
- e.selectedIndex = c;
290
- }, click: function(p) {
291
- return e.onSelect(a[e.selectedIndex].message || "");
292
- } } }, [e._v(" " + e._s(n.name) + " ")]);
293
- }), 0), e.mq !== "sm" ? t("div", { staticClass: "t-text quill-format" }, [a[e.selectedIndex] ? t("BaseTextEditor", { attrs: { value: a[e.selectedIndex].message || "", editable: !1, extensions: "all", "class-list": "document-form", unstyled: "" } }) : t("div", [e._v(" " + e._s(e.$t("noResults")) + " ")])], 1) : e._e()]), t("div", { staticClass: "t-footer flex w-full items-center justify-between" }, [t("div", { staticStyle: { display: "inline-flex", "align-items": "center" } }), t("div", [t("CButton", { staticClass: "t-footer-button", attrs: { to: { name: "settingsTemplates" }, target: "_blank", size: "small" } }, [e._v(" " + e._s(e.$t("handle")) + " "), t("CIcon", { staticStyle: { "margin-left": "0.5em" }, attrs: { type: "new-window", size: "16" } })], 1), t("CButton", { staticClass: "t-footer-button", attrs: { size: "small" }, on: { click: e.openCreateModal } }, [e._v(" " + e._s(e.$t("create", { thing: e.$t("template") })) + " ")])], 1)])])];
294
- } }]) });
295
- }, L = [], B = /* @__PURE__ */ o(
296
- q,
297
- A,
298
- L,
299
- !1,
300
- null,
301
- "f0fd3834"
302
- );
303
- const O = B.exports, I = {
304
- name: "TextTemplates",
305
- components: {
306
- ContextModal: y,
307
- TextTemplatesModal: O
308
- },
309
- inject: {
310
- viewSettings: {
311
- default: () => ({ isPublicForm: !1 })
312
- }
313
- },
314
- props: {
315
- placement: {
316
- type: String,
317
- default: "left"
318
- }
319
- },
320
- created() {
321
- this.viewSettings.isPublicForm || this.loadTemplateMessages();
322
- },
323
- methods: {
324
- ...d({
325
- loadTemplateMessages: i.LOAD_TEMPLATE_MESSAGES
326
- })
327
- }
328
- };
329
- var P = function() {
330
- var e = this, t = e._self._c;
331
- return e.viewSettings.isPublicForm ? e._e() : t("div", { staticClass: "t-list" }, [t("ContextModal", { attrs: { "break-point": 1e3, placement: e.placement }, on: { open: function(a) {
332
- return e.$emit("open");
333
- }, close: function(a) {
334
- return e.$emit("close");
335
- } }, scopedSlots: e._u([{ key: "popover", fn: function({ close: a }) {
336
- return [t("TextTemplatesModal", { on: { close: a, select: function(n) {
337
- return e.$emit("select", n);
338
- } } })];
339
- } }], null, !1, 1240188552) }, [t("div", { staticClass: "t-option main" }, [e._t("default")], 2)])], 1);
340
- }, G = [], N = /* @__PURE__ */ o(
341
- I,
342
- P,
343
- G,
344
- !1,
345
- null,
346
- null
347
- );
348
- const J = N.exports;
349
- export {
350
- J as default
351
- };