@cling-se/widget 0.17.0 → 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.
Files changed (232) hide show
  1. package/dist/AddClientCallout-e8d19R3f.js +101 -0
  2. package/dist/AnswerModal-BGvB8IVV.js +3291 -0
  3. package/dist/AttachmentItem-CkHbAm4l.js +171 -0
  4. package/dist/BaseUpload-BiJBcWRu.js +2472 -0
  5. package/dist/BlockMedia-CW5wgipC.js +103 -0
  6. package/dist/CCallout-Cy2eeIYd.js +104 -0
  7. package/dist/{CCurrencyDropdown-C2rXt2cJ.js → CCurrencyDropdown-DE_3CTjm.js} +91 -53
  8. package/dist/CDropdownItem-Dmq5gYzA.js +751 -0
  9. package/dist/CFormField.vue_vue_type_script_setup_true_lang-D_U9coAY.js +292 -0
  10. package/dist/{CPhoneFormat-C8VPsiK6.js → CPhoneFormat-BS2nP9kc.js} +13 -21
  11. package/dist/CPhoneInput-Bf6329PO.js +207 -0
  12. package/dist/CPriceInput-d1yjuMQr.js +140 -0
  13. package/dist/CSelect-DgnT07Hk.js +98 -0
  14. package/dist/CSkeleton.vue_vue_type_script_setup_true_lang-Ckl--dyv.js +51 -0
  15. package/dist/ClientAutocomplete-9JzGcO9O.js +532 -0
  16. package/dist/ClientModal-BzWQtWSZ.js +1181 -0
  17. package/dist/ColorPicker-BvoFN8nu.js +1408 -0
  18. package/dist/CompanyModal-Bp4V_az9.js +250 -0
  19. package/dist/ContentWrapper-CuH6xKmo.js +265 -0
  20. package/dist/CoverBlockSettings-BA5L0Zee.js +861 -0
  21. package/dist/DocAnswer-BcNA_KEg.js +33 -0
  22. package/dist/DocDetails-CStEwWnU.js +448 -0
  23. package/dist/DocForm-BOoILf5E.js +6748 -0
  24. package/dist/DocFormSend-CQIf-HJY.js +171 -0
  25. package/dist/DocLinks-BRX5QzNe.js +36 -0
  26. package/dist/DocModalBase-D72yWj-x.js +29 -0
  27. package/dist/DocPrint-BI1LXUPE.js +399 -0
  28. package/dist/DocReceipt-DaZ4V76p.js +341 -0
  29. package/dist/DocSendReminder-DKGZlo7s.js +181 -0
  30. package/dist/DocTextEditor-Dm-cTZpA.js +19413 -0
  31. package/dist/DocTimeline-DCwofzuk.js +537 -0
  32. package/dist/DocumentClient-vJdxCB53.js +90 -0
  33. package/dist/DocumentLayout-CKSi42ev.js +1368 -0
  34. package/dist/DocumentLogotype-DbQlvQ-y.js +162 -0
  35. package/dist/DocumentVoided-CRX2WxWO.js +33 -0
  36. package/dist/EmbedInput-B-oeC4Wy.js +157 -0
  37. package/dist/EmbedSettings-B9Yka2yB.js +103 -0
  38. package/dist/ErrorCallout-B_ygH33E.js +34 -0
  39. package/dist/FilePreviewModal-Bf3ELTow.js +202 -0
  40. package/dist/Flag-BwTgCNHO.js +41 -0
  41. package/dist/HeaderSettings-DvC7nlyY.js +720 -0
  42. package/dist/ImageSelectModal-D3sP3lhR.js +119 -0
  43. package/dist/ImageUploadWrapper-RWNa-yIq.js +1585 -0
  44. package/dist/Index-0_3ULrWX.js +126 -0
  45. package/dist/Index-4NPe0sfX.js +629 -0
  46. package/dist/Index-B1uA0FF6.js +4 -0
  47. package/dist/Index-BBkCYm2q.js +201 -0
  48. package/dist/{Index-LzN6dktq.js → Index-BBwvo7S9.js} +10 -18
  49. package/dist/Index-BEMlsYwJ.js +68 -0
  50. package/dist/Index-BRBhJ6kz.js +21 -0
  51. package/dist/{Index-BPUYpfLJ.js → Index-BTFmHjUt.js} +47 -60
  52. package/dist/Index-BcUNnxLC.js +1098 -0
  53. package/dist/Index-Bo6ExBUL.js +93 -0
  54. package/dist/Index-BvMPCgdH.js +102 -0
  55. package/dist/Index-Bx5TOI9k.js +74 -0
  56. package/dist/Index-C7GZS8EI.js +16 -0
  57. package/dist/Index-CNWhm07R.js +25 -0
  58. package/dist/{Index-BUK-1yVR.js → Index-CQpznMKV.js} +9 -17
  59. package/dist/Index-CRzsnIij.js +159 -0
  60. package/dist/Index-CeSG1C41.js +140 -0
  61. package/dist/Index-CjfjdZj5.js +52 -0
  62. package/dist/Index-CskKmZpd.js +363 -0
  63. package/dist/Index-D5qwbCo1.js +28 -0
  64. package/dist/Index-D8Ae1Txt.js +228 -0
  65. package/dist/Index-DE8aenDB.js +3452 -0
  66. package/dist/Index-DI5EB5Rt.js +39 -0
  67. package/dist/Index-DaV57YPP.js +163 -0
  68. package/dist/Index-DbwkmoyM.js +38 -0
  69. package/dist/Index-Df9skok6.js +70 -0
  70. package/dist/{Index-BHJGfHm9.js → Index-DfLLA0ij.js} +313 -206
  71. package/dist/Index-Dw1CO5F9.js +76 -0
  72. package/dist/Index-PZXyOoVb.js +87 -0
  73. package/dist/{Index-BioOegOO.js → Index-ZUnH-BHj.js} +10 -18
  74. package/dist/Index-cjKGSiDi.js +136 -0
  75. package/dist/Index-m-goRuKD.js +49 -0
  76. package/dist/Index-rGeWbLcB.js +47 -0
  77. package/dist/Index-vrljNp6G.js +28 -0
  78. package/dist/Index.vue_vue_type_script_lang-aeVuChGF.js +671 -0
  79. package/dist/InputToggleRow-v6qAWPg6.js +99 -0
  80. package/dist/ManualPopover-BONBJIUA.js +57 -0
  81. package/dist/MediaWrapper-CXb2UGd9.js +18 -0
  82. package/dist/{NotBindingText-CM3FN0A6.js → NotBindingText-BqESO13N.js} +13 -17
  83. package/dist/PackageGroup-AIysVmyh.js +1058 -0
  84. package/dist/PdfTerms-BlhHdTu3.js +34 -0
  85. package/dist/PdfViewer-DwZ1rwlN.js +392 -0
  86. package/dist/PlainHtml.vue_vue_type_script_setup_true_lang-D6NNUTz0.js +17 -0
  87. package/dist/PriceHeader-C4XhnoA3.js +488 -0
  88. package/dist/SearchApi-B7lXgUY6.js +137 -0
  89. package/dist/SendForm-BcD0xSvB.js +7031 -0
  90. package/dist/Setup-C2qaYDei.js +47 -0
  91. package/dist/{SmartList-DhhjSWLO.js → SmartList-DqG7Q5t7.js} +16 -24
  92. package/dist/Sortable.vue_vue_type_script_setup_true_lang-CzMbr8AX.js +1303 -0
  93. package/dist/{TermsSettings-BEQwmkFH.js → TermsSettings-BOCONyM4.js} +169 -56
  94. package/dist/ThemeColorRow-sjGdMzGN.js +108 -0
  95. package/dist/ToggleBinding-7oq_oXPt.js +44 -0
  96. package/dist/UploadModal-C_X2NjVY.js +134 -0
  97. package/dist/VideoPlayerInput-BsUcmpl4.js +135 -0
  98. package/dist/VideoPlayerSettings-BXMmxaZQ.js +78 -0
  99. package/dist/VideoSelectModal-CW0OweCw.js +217 -0
  100. package/dist/{anime.es-BrPTThYb.js → anime.es-gdcpA-eY.js} +1 -2
  101. package/dist/{color-TdtKxwVa.js → color-HetJPhlA.js} +1 -2
  102. package/dist/{debounce-D0hKNU85.js → debounce-DNl99Gyo.js} +10 -10
  103. package/dist/dom-CkTGWrfu.js +69 -0
  104. package/dist/{focusDrawerMixin-C_aTLmK0.js → focusDrawerMixin-BwcErMDY.js} +1 -1
  105. package/dist/{formDrawerState-Da4mcbab.js → formDrawerState-DaurePnd.js} +2 -2
  106. package/dist/helpers-CPW--XIz.js +44 -0
  107. package/dist/index-BjiGCJPI.js +149 -0
  108. package/dist/index-CFNv6OvX.js +188 -0
  109. package/dist/index-Cx71On5Z.js +508 -0
  110. package/dist/index-DKMxIBz_.js +270 -0
  111. package/dist/index-DKf5SGLD.js +125 -0
  112. package/dist/index-E32WgUp9.js +3525 -0
  113. package/dist/index-kp-GC5I0.js +513 -0
  114. package/dist/index.es.js +2 -5
  115. package/dist/index.umd.js +285 -1485
  116. package/dist/{main-BgzLHIoo.js → main-Cb-nyil1.js} +41414 -42507
  117. package/dist/mapFormMixin-D3BihYWW.js +1544 -0
  118. package/dist/omit--YYr41Xp.js +31 -0
  119. package/dist/{publicSenderState-DB4BHByV.js → publicSenderState-CdRW_Wwp.js} +4 -4
  120. package/dist/splitpanes-D-ThFkeR.js +342 -0
  121. package/dist/style.css +1 -4
  122. package/dist/template-BvaNnq-g.js +1493 -0
  123. package/dist/{throttle-DT2UVOqm.js → throttle-D-bUGaVh.js} +2 -2
  124. package/dist/tippy.esm-BmKNqohP.js +1994 -0
  125. package/dist/useTermsModal-Dhf6_eYb.js +87 -0
  126. package/dist/{utils-nos8CB1L.js → utils-CBPcYdLv.js} +8 -11
  127. package/dist/validation-DOcUOoMe.js +40 -0
  128. package/package.json +18 -21
  129. package/dist/AddClientCallout-BJzBdba1.js +0 -48
  130. package/dist/AnswerModal-frHq1g4s.js +0 -3874
  131. package/dist/AttachmentItem-BaN0OrEV.js +0 -85
  132. package/dist/BaseDatePicker-B-AfdrSb.js +0 -3187
  133. package/dist/BaseUpload-CY3lTcte.js +0 -1977
  134. package/dist/BlockMedia-Bb5wQIDg.js +0 -76
  135. package/dist/CCallout-5quI6yyk.js +0 -58
  136. package/dist/CDropdownItem-CaoSQX6X.js +0 -640
  137. package/dist/CFormField-Dd2Y71JG.js +0 -240
  138. package/dist/CPhoneInput-BU1t6eo_.js +0 -138
  139. package/dist/CPriceInput-pv2aIVkH.js +0 -116
  140. package/dist/CSelect-CrM45B7V.js +0 -91
  141. package/dist/CSkeleton-BkvONMqL.js +0 -55
  142. package/dist/ClientAutocomplete-BRXIKQSk.js +0 -438
  143. package/dist/ClientModal-CvHAptV2.js +0 -666
  144. package/dist/ColorPicker-RgoXRrud.js +0 -2879
  145. package/dist/CompanyModal-OL4bD9Gk.js +0 -147
  146. package/dist/ContentWrapper-8HduCnR4.js +0 -190
  147. package/dist/CoverBlockSettings-DUv8AcdX.js +0 -659
  148. package/dist/DocAnswer-DiyFfpT2.js +0 -36
  149. package/dist/DocDetails-BxNRfBnK.js +0 -263
  150. package/dist/DocForm-MGp-o0pu.js +0 -5017
  151. package/dist/DocFormSend-q_QuVCqh.js +0 -146
  152. package/dist/DocLinks-DGDdp30U.js +0 -38
  153. package/dist/DocModalBase-qG4RqwBn.js +0 -28
  154. package/dist/DocPrint-Cln3kt0g.js +0 -240
  155. package/dist/DocReceipt-nbsJ-ukZ.js +0 -217
  156. package/dist/DocSendReminder-B3qdqduf.js +0 -140
  157. package/dist/DocTextEditor-CQDnjnRY.js +0 -17193
  158. package/dist/DocTimeline-CgKHoDcG.js +0 -485
  159. package/dist/DocumentClient-UZlnIlz5.js +0 -136
  160. package/dist/DocumentLayout-Dvr4zgyF.js +0 -4880
  161. package/dist/DocumentLogotype-mAVgMRHr.js +0 -92
  162. package/dist/DocumentVoided-BXYNrf_6.js +0 -25
  163. package/dist/EmbedInput-YRUrw3c6.js +0 -117
  164. package/dist/EmbedSettings-DvRreF7H.js +0 -74
  165. package/dist/ErrorCallout-DVknpLVY.js +0 -27
  166. package/dist/FilePreviewModal-DC56FaGy.js +0 -81
  167. package/dist/Flag-D5iZLESg.js +0 -46
  168. package/dist/HeaderSettings-DXZnZL7A.js +0 -440
  169. package/dist/ImageSelectModal-Bu4_xZga.js +0 -86
  170. package/dist/ImageUploadWrapper-CtZhkAm1.js +0 -1604
  171. package/dist/Index-B1dJO6Bk.js +0 -54
  172. package/dist/Index-B3pz1coY.js +0 -150
  173. package/dist/Index-BHgW8EHW.js +0 -2446
  174. package/dist/Index-BNucs2O-.js +0 -154
  175. package/dist/Index-BW-EtZ1z.js +0 -55
  176. package/dist/Index-BjKACpun.js +0 -66
  177. package/dist/Index-C94BL4uU.js +0 -294
  178. package/dist/Index-CB57haU8.js +0 -58
  179. package/dist/Index-CP17iXT6.js +0 -25
  180. package/dist/Index-CUSbvjoD.js +0 -62
  181. package/dist/Index-CVnD6jo5.js +0 -25
  182. package/dist/Index-Ci5zdPeT.js +0 -28
  183. package/dist/Index-CikqSMjb.js +0 -41
  184. package/dist/Index-CxO4tJ3U.js +0 -26
  185. package/dist/Index-D4J4BpHd.js +0 -230
  186. package/dist/Index-DAQQQlut.js +0 -754
  187. package/dist/Index-DNxSR72J.js +0 -73
  188. package/dist/Index-DPuKRwmu.js +0 -41
  189. package/dist/Index-DSy8QG8T.js +0 -32
  190. package/dist/Index-DX6_D-J-.js +0 -77
  191. package/dist/Index-Dk0KaIKg.js +0 -643
  192. package/dist/Index-Hkzoh9QR.js +0 -24
  193. package/dist/Index-KsHJxWAa.js +0 -94
  194. package/dist/Index-TtItTuv6.js +0 -33
  195. package/dist/Index-YAD39Qvg.js +0 -146
  196. package/dist/Index-eh909lAz.js +0 -107
  197. package/dist/Index-otowKI_C.js +0 -56
  198. package/dist/Index-t_oVV8Rc.js +0 -84
  199. package/dist/Index-vG96oEXZ.js +0 -144
  200. package/dist/InputToggleRow-CcqJDguN.js +0 -57
  201. package/dist/ManualPopover-BE2IN-XU.js +0 -60
  202. package/dist/MediaWrapper-lnGUFiyc.js +0 -23
  203. package/dist/PackageGroup-BsmxOMLW.js +0 -704
  204. package/dist/PdfTerms-BgYwZoAZ.js +0 -31
  205. package/dist/PdfViewer-C0lDpjte.js +0 -383
  206. package/dist/PlainHtml-5YwYVj1v.js +0 -27
  207. package/dist/PriceHeader-CxqhpGS-.js +0 -338
  208. package/dist/SearchApi-BndaIbri.js +0 -161
  209. package/dist/SendForm-D7U9fG-5.js +0 -1023
  210. package/dist/Setup-CmAK2_ZT.js +0 -50
  211. package/dist/ThemeColorRow-BlnhzebY.js +0 -69
  212. package/dist/ToggleBinding-t_58JFya.js +0 -42
  213. package/dist/UploadModal-T-WpYNsN.js +0 -95
  214. package/dist/VideoPlayerInput-DKHKjMgX.js +0 -97
  215. package/dist/VideoPlayerSettings-DDMlUvSt.js +0 -61
  216. package/dist/VideoSelectModal-B9bbP0dd.js +0 -104
  217. package/dist/answerDocumentMixin-DXI_E5Kx.js +0 -51
  218. package/dist/dom-CWsqMElk.js +0 -71
  219. package/dist/formValidationMixin-WZ2lGndu.js +0 -49
  220. package/dist/index-B2l57ilt.js +0 -102
  221. package/dist/index-COKDjmM2.js +0 -167
  222. package/dist/index-HtKGcIng.js +0 -2700
  223. package/dist/index-LQ7NztTt.js +0 -81
  224. package/dist/index-fx5gR8fM.js +0 -351
  225. package/dist/index-zXXJrTvv.js +0 -492
  226. package/dist/mapFormMixin-CQgSN7dv.js +0 -3028
  227. package/dist/omit-ScS7B6c5.js +0 -31
  228. package/dist/simplebar.min-B0cB_p8g.js +0 -71
  229. package/dist/splitpanes-BHUVsCZF.js +0 -382
  230. package/dist/tippy.esm-CR89mtdY.js +0 -1805
  231. package/dist/vuedraggable.umd-CkXXkt1b.js +0 -3161
  232. package/dist/vuex.esm-DKGl8mcw.js +0 -467
@@ -0,0 +1,93 @@
1
+ import { _, A as g, o as s, d as o, F as u, k as d, s as r, B as h, v as a } from "./main-Cb-nyil1.js";
2
+ const b = {
3
+ name: "MultiGroupPricing",
4
+ props: {
5
+ _document: {
6
+ type: Object,
7
+ default: () => ({})
8
+ }
9
+ },
10
+ computed: {
11
+ docPriceItems() {
12
+ const { total: c, subTotal: e } = this._document.prices || {};
13
+ return [
14
+ {
15
+ label: this._document.$t("price.net"),
16
+ value: this.priceFormat(e)
17
+ },
18
+ {
19
+ label: this._document.$t("price.total"),
20
+ value: this.priceFormat(c)
21
+ }
22
+ ];
23
+ },
24
+ pkgGroups() {
25
+ var e;
26
+ return (((e = this._document.packageGroups) == null ? void 0 : e.groups) || []).map(({ title: p, prices: m, selectedPackages: v }) => {
27
+ const { total: i, subTotal: t } = m || {};
28
+ return {
29
+ title: p,
30
+ noOfSelectedPackages: v.length,
31
+ priceItems: [
32
+ {
33
+ label: this._document.$t("price.net"),
34
+ value: this.priceFormat(t)
35
+ },
36
+ {
37
+ label: this._document.$t("price.total"),
38
+ value: this.priceFormat(i)
39
+ }
40
+ ]
41
+ };
42
+ });
43
+ }
44
+ },
45
+ methods: {
46
+ priceFormat(c, e) {
47
+ return g(c, {
48
+ currency: this._document.currency,
49
+ showZero: !0,
50
+ decimals: 2,
51
+ hideZeroDecimals: !0,
52
+ ...e
53
+ });
54
+ }
55
+ }
56
+ }, x = { style: { display: "flex", "font-size": "calc(1.1 * var(--rem))", "font-weight": "600", "padding-bottom": "3px", "border-bottom": "1px solid rgba(0, 0, 0, 0.2)" } }, k = {
57
+ class: "text-gray-400",
58
+ style: { "margin-left": "auto", "font-size": "calc(1 * var(--rem))" }
59
+ }, F = { style: { "margin-top": "calc(1 * var(--rem))" } };
60
+ function $(c, e, p, m, v, i) {
61
+ return s(), o("div", null, [
62
+ (s(!0), o(u, null, d(i.pkgGroups, (t, l) => (s(), o("div", {
63
+ key: l,
64
+ style: { padding: "calc(0.5 * var(--rem)) 0" }
65
+ }, [
66
+ r("div", x, [
67
+ h(a(t.title) + " ", 1),
68
+ r("span", k, a(t.noOfSelectedPackages) + " paket ", 1)
69
+ ]),
70
+ (s(!0), o(u, null, d(t.priceItems, ({ label: n, value: f }, y) => (s(), o("div", {
71
+ key: n + y,
72
+ style: { display: "flex", "justify-content": "space-between", "font-size": "calc(1 * var(--rem))" }
73
+ }, [
74
+ r("div", null, a(n), 1),
75
+ r("div", null, a(f), 1)
76
+ ]))), 128))
77
+ ]))), 128)),
78
+ r("div", F, [
79
+ e[0] || (e[0] = r("div", { style: { "font-size": "calc(1.1 * var(--rem))", "font-weight": "600", "padding-bottom": "3px", "border-bottom": "1px solid rgba(0, 0, 0, 0.2)" } }, " Doc summary ", -1)),
80
+ (s(!0), o(u, null, d(i.docPriceItems, ({ label: t, value: l }, n) => (s(), o("div", {
81
+ key: n + t,
82
+ style: { display: "flex", "justify-content": "space-between", "font-size": "calc(1 * var(--rem))" }
83
+ }, [
84
+ r("div", null, a(t), 1),
85
+ r("div", null, a(l), 1)
86
+ ]))), 128))
87
+ ])
88
+ ]);
89
+ }
90
+ const z = /* @__PURE__ */ _(b, [["render", $]]);
91
+ export {
92
+ z as default
93
+ };
@@ -0,0 +1,102 @@
1
+ import { m as g } from "./mapFormMixin-D3BihYWW.js";
2
+ import { _ as c, z as l, ah as y, b as r, o as n, d as t, s as a, v as z, e as m, Z as V, f as d, n as w, F as C, c as E, w as h } from "./main-Cb-nyil1.js";
3
+ import { f as k } from "./focusDrawerMixin-BwcErMDY.js";
4
+ const S = {
5
+ // eslint-disable-next-line vue/no-reserved-component-names
6
+ name: "Embed",
7
+ i18nOptions: {
8
+ namespaces: "embed",
9
+ messages: {
10
+ en: {
11
+ subTitle: "Embed anything (PDFs, Google Docs, Calender Sheets...)"
12
+ },
13
+ sv: {
14
+ subTitle: "Bädda in vad som helst (PDF:er, Google Docs, Calender Sheets...)"
15
+ }
16
+ }
17
+ },
18
+ components: {
19
+ EmbedSettings: l(() => import("./EmbedSettings-B9Yka2yB.js")),
20
+ EmbedInput: l(() => import("./EmbedInput-B-oeC4Wy.js")),
21
+ Spinner: y
22
+ },
23
+ mixins: [g(["embed", "size"]), k],
24
+ data() {
25
+ return {
26
+ showControls: !1,
27
+ isLoading: !0
28
+ };
29
+ },
30
+ methods: {
31
+ onAdd() {
32
+ var e;
33
+ this._isNodeRecentlyAdded() && ((e = this.$refs.input) == null || e.focus());
34
+ }
35
+ }
36
+ }, D = {
37
+ key: 0,
38
+ class: "embed-container"
39
+ }, F = {
40
+ key: 0,
41
+ class: "embed-element"
42
+ }, M = { class: "is-placeholder" }, B = { class: "text-gray-600" }, I = {
43
+ key: 2,
44
+ class: "embed-loading-container"
45
+ };
46
+ function P(e, s, $, A, i, p) {
47
+ const u = r("EmbedInput"), b = r("Spinner"), f = r("EmbedSettings"), v = r("portal");
48
+ return n(), t("div", {
49
+ class: "embed-root font-inter",
50
+ onMouseoverPassive: s[4] || (s[4] = (o) => i.showControls = !0),
51
+ onMouseleavePassive: s[5] || (s[5] = (o) => i.showControls = !1)
52
+ }, [
53
+ a("div", {
54
+ class: w([[
55
+ (e.size || !(e.embed && e.embed.src)) && "auto-size",
56
+ `embed-is-${e.size}`
57
+ ], "no-drag"])
58
+ }, [
59
+ e.embed ? (n(), t("div", D, [
60
+ !e.embed.src && e.canEdit ? (n(), t("div", F, [
61
+ a("div", M, [
62
+ a("div", B, z(e.$t("subTitle")), 1),
63
+ m(u, {
64
+ ref: "input",
65
+ modelValue: e.embed,
66
+ "onUpdate:modelValue": s[0] || (s[0] = (o) => e.embed = o),
67
+ style: { "padding-top": "1em" },
68
+ onVnodeMounted: p.onAdd
69
+ }, null, 8, ["modelValue", "onVnodeMounted"])
70
+ ])
71
+ ])) : e.embed.src ? (n(), t("iframe", V({ key: 1 }, { allowfullscreen: "", ...e.embed }, {
72
+ ref: "iframe",
73
+ class: "embed-element",
74
+ onLoad: s[1] || (s[1] = (o) => i.isLoading = !1)
75
+ }), null, 16)) : d("", !0),
76
+ e.embed.src && i.isLoading ? (n(), t("div", I, [
77
+ m(b, { color: "hsl(0, 0%, 60%)" })
78
+ ])) : d("", !0)
79
+ ])) : d("", !0)
80
+ ], 2),
81
+ e.isForm ? (n(), t(C, { key: 0 }, [
82
+ e.showDrawer ? (n(), E(v, {
83
+ key: 0,
84
+ to: "drawer-content"
85
+ }, {
86
+ default: h(() => [
87
+ m(f, {
88
+ modelValue: e.embed,
89
+ "onUpdate:modelValue": s[2] || (s[2] = (o) => e.embed = o),
90
+ size: e.size,
91
+ "onUpdate:size": s[3] || (s[3] = (o) => e.size = o)
92
+ }, null, 8, ["modelValue", "size"])
93
+ ]),
94
+ _: 1
95
+ })) : d("", !0)
96
+ ], 64)) : d("", !0)
97
+ ], 32);
98
+ }
99
+ const U = /* @__PURE__ */ c(S, [["render", P], ["__scopeId", "data-v-0bad5058"]]);
100
+ export {
101
+ U as default
102
+ };
@@ -0,0 +1,74 @@
1
+ import { m as l } from "./mapFormMixin-D3BihYWW.js";
2
+ import { u as c } from "./index-kp-GC5I0.js";
3
+ import { _ as v, z as p, b as s, o as i, c as n } from "./main-Cb-nyil1.js";
4
+ const g = {
5
+ name: "PackageGroupBlock",
6
+ components: {
7
+ PackageGroupRead: p(
8
+ () => import("./PackageGroup-AIysVmyh.js")
9
+ ),
10
+ PackageGroupEdit: p(() => import("./Index-DE8aenDB.js"))
11
+ },
12
+ emits: ["input", "remove"],
13
+ mixins: [l(["type", "packages"])],
14
+ setup() {
15
+ return {
16
+ v$: c()
17
+ };
18
+ },
19
+ data() {
20
+ return {
21
+ persistedGroup: {
22
+ type: "",
23
+ packages: [],
24
+ articles: []
25
+ }
26
+ };
27
+ },
28
+ computed: {
29
+ valuePaths() {
30
+ return {
31
+ ...this._value,
32
+ ...this._value.groupId && {
33
+ hideGroupPrice: `data.packageGroup.${this._value.groupId}.hideGroupPrice`
34
+ },
35
+ articles: "articles"
36
+ };
37
+ }
38
+ },
39
+ validations() {
40
+ return this.isForm ? {
41
+ type: {
42
+ required: (e) => !!e
43
+ },
44
+ packages: {
45
+ required: (e) => e && e.length
46
+ // packages cannot be left empty
47
+ }
48
+ } : {
49
+ // No validation for read mode
50
+ };
51
+ }
52
+ };
53
+ function k(e, o, _, a, t, u) {
54
+ const d = s("PackageGroupEdit"), m = s("PackageGroupRead");
55
+ return e.canEdit ? (i(), n(d, {
56
+ key: 0,
57
+ "persisted-group": t.persistedGroup,
58
+ "onUpdate:persistedGroup": o[0] || (o[0] = (r) => t.persistedGroup = r),
59
+ _document: e._document,
60
+ _value: u.valuePaths,
61
+ validator: a.v$,
62
+ onInput: o[1] || (o[1] = (r) => e.$emit("input", r)),
63
+ onRemove: o[2] || (o[2] = (r) => e.$emit("remove", r))
64
+ }, null, 8, ["persisted-group", "_document", "_value", "validator"])) : (i(), n(m, {
65
+ key: 1,
66
+ _document: e._document,
67
+ _value: u.valuePaths,
68
+ validator: a.v$
69
+ }, null, 8, ["_document", "_value", "validator"]));
70
+ }
71
+ const y = /* @__PURE__ */ v(g, [["render", k]]);
72
+ export {
73
+ y as default
74
+ };
@@ -0,0 +1,16 @@
1
+ import { h as s, i as r, o, d as c } from "./main-Cb-nyil1.js";
2
+ const i = ["innerHTML"], u = /* @__PURE__ */ s({
3
+ __name: "Index",
4
+ props: {
5
+ street: {},
6
+ zip: {},
7
+ city: {}
8
+ },
9
+ setup(t) {
10
+ const e = t, n = r(() => `${e.street ? `${e.street}, ` : ""}${e.zip ? `${e.zip} ` : ""}${e.city}`);
11
+ return (p, a) => (o(), c("div", { innerHTML: n.value }, null, 8, i));
12
+ }
13
+ });
14
+ export {
15
+ u as default
16
+ };
@@ -0,0 +1,25 @@
1
+ import { m as r } from "./mapFormMixin-D3BihYWW.js";
2
+ import { _ as c, z as e, b as i, o as m, c as a, f as u } from "./main-Cb-nyil1.js";
3
+ const _ = {
4
+ name: "NotBinding",
5
+ components: {
6
+ Edit: e(() => import("./ToggleBinding-7oq_oXPt.js")),
7
+ Read: e(() => import("./NotBindingText-BqESO13N.js"))
8
+ },
9
+ emits: ["input"],
10
+ mixins: [r()]
11
+ };
12
+ function f(n, o, l, B, $, g) {
13
+ var t;
14
+ const d = i("Edit"), s = i("Read");
15
+ return n.canEdit ? (m(), a(d, {
16
+ key: 0,
17
+ _document: n._document,
18
+ _value: { notBinding: "data.notBinding" },
19
+ onInput: o[0] || (o[0] = (p) => n.$emit("input", p))
20
+ }, null, 8, ["_document"])) : (t = n._document.data) != null && t.notBinding ? (m(), a(s, { key: 1 })) : u("", !0);
21
+ }
22
+ const y = /* @__PURE__ */ c(_, [["render", f]]);
23
+ export {
24
+ y as default
25
+ };
@@ -1,6 +1,6 @@
1
- import { P as e } from "./PlainHtml-5YwYVj1v.js";
2
- import { n } from "./main-BgzLHIoo.js";
3
- const s = {
1
+ import { _ as n } from "./PlainHtml.vue_vue_type_script_setup_true_lang-D6NNUTz0.js";
2
+ import { e, B as t } from "./main-Cb-nyil1.js";
3
+ const a = {
4
4
  name: "EstimatedWorkStartAndEndAtTextRead",
5
5
  props: {
6
6
  startAt: {
@@ -27,20 +27,12 @@ const s = {
27
27
  }
28
28
  }
29
29
  },
30
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
31
- render(t) {
32
- return t(e, [this.$t("description1"), " ", t("strong", [this.$formatDate(this.startAt)]), " ", this.$t("description2"), " ", t("strong", [this.$formatDate(this.endAt)]), ".", " ", this.$t("description3")]);
30
+ render() {
31
+ return e(n, null, {
32
+ default: () => [this.$t("description1"), t(" "), e("strong", null, [this.$formatDate(this.startAt)]), t(" "), this.$t("description2"), t(" "), e("strong", null, [this.$formatDate(this.endAt)]), t("."), " ", this.$t("description3")]
33
+ });
33
34
  }
34
- }, r = null, o = null;
35
- var a = /* @__PURE__ */ n(
36
- s,
37
- r,
38
- o,
39
- !1,
40
- null,
41
- null
42
- );
43
- const l = a.exports;
35
+ };
44
36
  export {
45
- l as default
37
+ a as default
46
38
  };
@@ -0,0 +1,159 @@
1
+ import { m as C } from "./mapFormMixin-D3BihYWW.js";
2
+ import { V as F } from "./PdfViewer-DwZ1rwlN.js";
3
+ import { _ as I, z as g, p as P, D as h, b as d, o as n, d as a, E as V, G as x, n as f, s as t, e as p, v as u, w as v, F as b, B as y, f as m, c as z } from "./main-Cb-nyil1.js";
4
+ const S = {
5
+ i18nOptions: {
6
+ namespaces: "pdfBlock",
7
+ messages: {
8
+ en: {
9
+ embedded: "Embedded",
10
+ numOfPages: "- {{numPages}} pages",
11
+ upload: "Upload PDF"
12
+ },
13
+ sv: {
14
+ embedded: "Inbäddat",
15
+ numOfPages: "- {{numPages}} sidor",
16
+ upload: "Ladda upp en pdf"
17
+ }
18
+ }
19
+ },
20
+ name: "Pdf",
21
+ components: {
22
+ PdfViewer: F,
23
+ FileIcon: g(
24
+ () => import("./Index-B1uA0FF6.js")
25
+ ),
26
+ BaseUpload: g(
27
+ () => import("./BaseUpload-BiJBcWRu.js")
28
+ )
29
+ },
30
+ mixins: [C(["file"])],
31
+ inject: {
32
+ isPdf: {
33
+ default: !1
34
+ },
35
+ _firstBlock: {
36
+ default: !1
37
+ },
38
+ _lastBlock: {
39
+ default: !1
40
+ }
41
+ },
42
+ data() {
43
+ return {
44
+ uploadProgress: null,
45
+ isHover: !1,
46
+ numPages: null,
47
+ maxFileSize: 1e3 * 1e3 * 30
48
+ // 30 MB
49
+ };
50
+ },
51
+ computed: {
52
+ showControls() {
53
+ return !this.file || this.isHover || this.uploadProgress !== null;
54
+ },
55
+ // Fetch the file from API instead of AWS directly
56
+ fileUrl() {
57
+ if (!this.file || !this.file.url) return null;
58
+ if (this.file.url.startsWith(P.api.baseUrl)) return this.file.url;
59
+ try {
60
+ const { hostname: e } = new URL(this.file.url);
61
+ if (Object.keys(h).some(
62
+ (i) => e.includes(h[i].domain)
63
+ )) return this.file.url;
64
+ } catch {
65
+ }
66
+ return `${P.api.baseUrl}/public/fileProxy?url=${encodeURIComponent(
67
+ this.file.url
68
+ )}`;
69
+ }
70
+ },
71
+ methods: {
72
+ onUploadSuccess(e) {
73
+ const { id: s, displayName: i, url: c, mime: o } = e.response;
74
+ if (!s) throw new Error("Could not read id from uploaded file");
75
+ this.file = {
76
+ fileId: s,
77
+ name: i,
78
+ mime: o,
79
+ url: c
80
+ }, this.$refs.uploader.remove(e), this.uploadProgress = null;
81
+ }
82
+ }
83
+ }, E = { class: "flex-auto pl-4" }, N = { class: "text-sm text-gray-600" }, _ = { key: 1 };
84
+ function D(e, s, i, c, o, r) {
85
+ const k = d("FileIcon"), B = d("CButton"), w = d("BaseUpload"), U = d("PdfViewer");
86
+ return n(), a("div", {
87
+ style: { position: "relative" },
88
+ class: "font-inter print-no-margin",
89
+ onMouseover: s[2] || (s[2] = (l) => o.isHover = !0),
90
+ onMouseleave: s[3] || (s[3] = (l) => o.isHover = !1)
91
+ }, [
92
+ e.canEdit ? V((n(), a("div", {
93
+ key: 0,
94
+ class: f([!!e.file && "absolute left-0 right-0 top-2 z-10", "chapter-spacing-x pointer-events-none mx-auto flex max-w-full items-center justify-center"])
95
+ }, [
96
+ t("div", {
97
+ class: f([!!e.file && "border border-gray-200 !p-2 shadow-lg", "pointer-events-auto flex w-full max-w-[95%] items-center rounded-lg bg-gray-100 !p-4 text-left"])
98
+ }, [
99
+ p(k, { mime: "application/pdf" }),
100
+ t("div", E, [
101
+ s[4] || (s[4] = t("div", { class: "font-medium" }, "PDF", -1)),
102
+ t("div", N, u(e.$t("embedded")) + " " + u(o.numPages ? e.$t("numOfPages", { numPages: o.numPages }) : ""), 1)
103
+ ]),
104
+ p(w, {
105
+ ref: "uploader",
106
+ "autostart-upload": !0,
107
+ "background-drop": !1,
108
+ extensions: "pdf",
109
+ accept: "application/pdf",
110
+ "max-size": o.maxFileSize,
111
+ onInput: s[0] || (s[0] = ([l]) => o.uploadProgress = l ? parseInt(l.progress, 10) : null),
112
+ onUploadSuccess: r.onUploadSuccess
113
+ }, {
114
+ default: v(({ openFilePicker: l }) => [
115
+ p(B, {
116
+ type: e.file ? "none" : "secondary",
117
+ pattern: e.file ? "secondary" : "primary",
118
+ disabled: o.uploadProgress !== null,
119
+ style: { "z-index": "2" },
120
+ onClick: l
121
+ }, {
122
+ default: v(() => [
123
+ o.uploadProgress !== null ? (n(), a(b, { key: 0 }, [
124
+ y(u(`${o.uploadProgress}% ${e.$t("_common:uploading")}`), 1)
125
+ ], 64)) : (n(), a(b, { key: 1 }, [
126
+ y(u(e.file ? e.$t("_common:change", { thing: e.$t("_common:file") }) : e.$t("upload")), 1)
127
+ ], 64))
128
+ ]),
129
+ _: 2
130
+ }, 1032, ["type", "pattern", "disabled", "onClick"])
131
+ ]),
132
+ _: 1
133
+ }, 8, ["max-size", "onUploadSuccess"])
134
+ ], 2)
135
+ ], 2)), [
136
+ [x, r.showControls]
137
+ ]) : m("", !0),
138
+ e.file ? (n(), a("div", _, [
139
+ t("div", {
140
+ class: f({
141
+ "break-before-page": r.isPdf && !r._firstBlock,
142
+ "break-after-page": r.isPdf && !r._lastBlock
143
+ })
144
+ }, [
145
+ e.file && e.file.url ? (n(), z(U, {
146
+ key: 0,
147
+ src: r.fileUrl,
148
+ toolbar: !e.canEdit,
149
+ "doc-file-path": `${e._value.file}.url`,
150
+ onNumPages: s[1] || (s[1] = (l) => o.numPages = l)
151
+ }, null, 8, ["src", "toolbar", "doc-file-path"])) : m("", !0)
152
+ ], 2)
153
+ ])) : m("", !0)
154
+ ], 32);
155
+ }
156
+ const M = /* @__PURE__ */ I(S, [["render", D]]);
157
+ export {
158
+ M as default
159
+ };
@@ -0,0 +1,140 @@
1
+ import { m as c } from "./mapFormMixin-D3BihYWW.js";
2
+ import { I as g } from "./InputToggleRow-v6qAWPg6.js";
3
+ import { C as P } from "./CPriceInput-d1yjuMQr.js";
4
+ import { _ as f, b as u, o as p, d, s as k, v as t, f as $, e as a, w as n, B as m } from "./main-Cb-nyil1.js";
5
+ const v = {
6
+ i18nOptions: {
7
+ namespaces: "ExtraWorkConstructionPricingListEdit",
8
+ messages: {
9
+ sv: {
10
+ workPrice: "Arbete",
11
+ managementPrice: "Arbetsledning",
12
+ entrepreneurMarkupPercentage: "Påslag för underentreprenader",
13
+ miscMarkupPercentage: "Påslag för material, varor och övrigt"
14
+ },
15
+ en: {
16
+ workPrice: "Work",
17
+ managementPrice: "Work management",
18
+ entrepreneurMarkupPercentage: "Markup for subcontractors",
19
+ miscMarkupPercentage: "Markup for material, goods and other",
20
+ travelCosts: "Travel costs for extra work"
21
+ }
22
+ }
23
+ },
24
+ name: "ExtraWorkConstructionPricingListEdit",
25
+ components: {
26
+ InputToggleRow: g,
27
+ CPriceInput: P
28
+ },
29
+ mixins: [
30
+ c(
31
+ [
32
+ "workPrice",
33
+ "managementPrice",
34
+ "entrepreneurMarkupPercentage",
35
+ "miscMarkupPercentage"
36
+ ],
37
+ { type: "number" }
38
+ )
39
+ ]
40
+ }, y = {
41
+ class: "flex w-full justify-end",
42
+ style: { position: "relative" }
43
+ }, M = {
44
+ key: 0,
45
+ class: "ex-vat"
46
+ };
47
+ function b(e, r, V, w, C, I) {
48
+ const s = u("CPriceInput"), i = u("InputToggleRow"), l = u("CInput");
49
+ return p(), d("div", null, [
50
+ k("div", y, [
51
+ e.workPrice || e.managementPrice ? (p(), d("div", M, t(e.$t("_common:vat.exVat", {
52
+ thing: e.$t("_common:vat.sharedTitle")
53
+ }).capitalize()), 1)) : $("", !0)
54
+ ]),
55
+ a(i, {
56
+ "display-value": e.workPrice ? `${e.workPrice / 100} ${e.$t("_common:currency.SEK")}/${e.$t(
57
+ "_common:unitType.hour"
58
+ )}` : e.$t("_common:add"),
59
+ label: e.$t("workPrice")
60
+ }, {
61
+ default: n(() => [
62
+ a(s, {
63
+ modelValue: e.workPrice,
64
+ "onUpdate:modelValue": r[0] || (r[0] = (o) => e.workPrice = o),
65
+ modelModifiers: { number: !0 },
66
+ currency: "SEK",
67
+ min: "0",
68
+ "suffix-class": "text-gray-400"
69
+ }, {
70
+ suffix: n(() => [
71
+ m(t(e.$t("currency.SEK")) + "/" + t(e.$t("_common:unitType.hour")), 1)
72
+ ]),
73
+ _: 1
74
+ }, 8, ["modelValue"])
75
+ ]),
76
+ _: 1
77
+ }, 8, ["display-value", "label"]),
78
+ a(i, {
79
+ "display-value": e.managementPrice ? `${e.managementPrice / 100} kr/h` : e.$t("_common:add"),
80
+ label: e.$t("managementPrice")
81
+ }, {
82
+ default: n(() => [
83
+ a(s, {
84
+ modelValue: e.managementPrice,
85
+ "onUpdate:modelValue": r[1] || (r[1] = (o) => e.managementPrice = o),
86
+ modelModifiers: { number: !0 },
87
+ currency: "SEK",
88
+ min: "0",
89
+ "suffix-class": "text-gray-400"
90
+ }, {
91
+ suffix: n(() => [
92
+ m(t(e.$t("_common:currency.SEK")) + "/" + t(e.$t("unitType.hour")), 1)
93
+ ]),
94
+ _: 1
95
+ }, 8, ["modelValue"])
96
+ ]),
97
+ _: 1
98
+ }, 8, ["display-value", "label"]),
99
+ a(i, {
100
+ "display-value": e.entrepreneurMarkupPercentage ? `${e.entrepreneurMarkupPercentage} %` : e.$t("_common:add"),
101
+ label: e.$t("entrepreneurMarkupPercentage")
102
+ }, {
103
+ default: n(() => [
104
+ a(l, {
105
+ modelValue: e.entrepreneurMarkupPercentage,
106
+ "onUpdate:modelValue": r[2] || (r[2] = (o) => e.entrepreneurMarkupPercentage = o),
107
+ modelModifiers: { number: !0 }
108
+ }, {
109
+ suffix: n(() => r[4] || (r[4] = [
110
+ m("%")
111
+ ])),
112
+ _: 1
113
+ }, 8, ["modelValue"])
114
+ ]),
115
+ _: 1
116
+ }, 8, ["display-value", "label"]),
117
+ a(i, {
118
+ "display-value": e.miscMarkupPercentage ? `${e.miscMarkupPercentage} %` : e.$t("_common:add"),
119
+ label: e.$t("miscMarkupPercentage")
120
+ }, {
121
+ default: n(() => [
122
+ a(l, {
123
+ modelValue: e.miscMarkupPercentage,
124
+ "onUpdate:modelValue": r[3] || (r[3] = (o) => e.miscMarkupPercentage = o),
125
+ modelModifiers: { number: !0 }
126
+ }, {
127
+ suffix: n(() => r[5] || (r[5] = [
128
+ m("%")
129
+ ])),
130
+ _: 1
131
+ }, 8, ["modelValue"])
132
+ ]),
133
+ _: 1
134
+ }, 8, ["display-value", "label"])
135
+ ]);
136
+ }
137
+ const B = /* @__PURE__ */ f(v, [["render", b], ["__scopeId", "data-v-3c3dbd58"]]);
138
+ export {
139
+ B as default
140
+ };