@cling-se/widget 0.17.3 → 0.18.1

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 +24 -0
  2. package/dist/AddClientCallout-CCt78VvH.js +101 -0
  3. package/dist/AnswerModal-B4LwVv2N.js +3371 -0
  4. package/dist/AttachmentItem-DnvYffKP.js +171 -0
  5. package/dist/BaseUpload-DFoV0ZLe.js +6503 -0
  6. package/dist/BlockMedia-Amo_kdHo.js +103 -0
  7. package/dist/CCallout-Gd06ds6O.js +104 -0
  8. package/dist/{CCurrencyDropdown-CXXQu8th.js → CCurrencyDropdown-B4GNmOGA.js} +91 -53
  9. package/dist/CDropdownItem-BUNVCpSR.js +749 -0
  10. package/dist/CFormField.vue_vue_type_script_setup_true_lang-Bo2J0c4G.js +292 -0
  11. package/dist/{CPhoneFormat-BtBGl8b4.js → CPhoneFormat-DmN5r9Ci.js} +13 -21
  12. package/dist/CPhoneInput-B6iyhsOG.js +207 -0
  13. package/dist/CPriceInput-BLQaNu1d.js +142 -0
  14. package/dist/CSelect-BVO9iO9L.js +98 -0
  15. package/dist/CSkeleton.vue_vue_type_script_setup_true_lang-C9loRtrk.js +51 -0
  16. package/dist/ClientAutocomplete-C__yUaxD.js +532 -0
  17. package/dist/ClientModal-B9cbuEiC.js +1188 -0
  18. package/dist/ColorPicker-G2kkxL7_.js +1408 -0
  19. package/dist/CompanyModal-por9AG4P.js +250 -0
  20. package/dist/ContentWrapper-CQtaGA2u.js +265 -0
  21. package/dist/CoverBlockSettings-BCBDouyl.js +861 -0
  22. package/dist/DocAnswer-BrKctwrY.js +33 -0
  23. package/dist/DocDetails-B_LWVHGt.js +452 -0
  24. package/dist/DocForm-D6T7NmfO.js +6772 -0
  25. package/dist/DocFormSend-COYPrhl7.js +171 -0
  26. package/dist/DocLinks-B0LjxXIk.js +36 -0
  27. package/dist/DocModalBase-DObZHuYr.js +29 -0
  28. package/dist/DocPrint-CkDq78fB.js +399 -0
  29. package/dist/DocReceipt-CYBPyePC.js +341 -0
  30. package/dist/DocSendReminder-Dau6s43e.js +181 -0
  31. package/dist/{DocTextEditor-yD9Dt_um.js → DocTextEditor-CVn6gE1i.js} +7907 -5579
  32. package/dist/DocTimeline-ChBDPOfd.js +537 -0
  33. package/dist/DocumentClient-MLXzzXLb.js +90 -0
  34. package/dist/DocumentLayout-BMHOt380.js +1434 -0
  35. package/dist/DocumentLogotype-Clj3fopX.js +162 -0
  36. package/dist/DocumentVoided-B5_MSBbC.js +33 -0
  37. package/dist/EmbedInput-CzkOa02p.js +156 -0
  38. package/dist/EmbedSettings-Cf_F3KrM.js +103 -0
  39. package/dist/ErrorCallout-CJn6NCse.js +34 -0
  40. package/dist/FilePreviewModal-Di1VnPNY.js +202 -0
  41. package/dist/Flag-C4_G5IY1.js +41 -0
  42. package/dist/HeaderSettings-DWN0TjVD.js +720 -0
  43. package/dist/ImageSelectModal-DmAJ9PrN.js +119 -0
  44. package/dist/ImageUploadWrapper-QLEhA_dI.js +1585 -0
  45. package/dist/Index-B06eCuBA.js +76 -0
  46. package/dist/Index-B8Zj0-MX.js +87 -0
  47. package/dist/{Index-C_aIQ908.js → Index-BBBXL4zh.js} +319 -214
  48. package/dist/Index-BCHLxp7B.js +21 -0
  49. package/dist/Index-BDAp1CwZ.js +363 -0
  50. package/dist/Index-BFbcjFo4.js +16 -0
  51. package/dist/{Index-CRiATiQn.js → Index-BODJXJNp.js} +10 -18
  52. package/dist/Index-BOx_9tTM.js +136 -0
  53. package/dist/Index-BgZNiD7A.js +47 -0
  54. package/dist/Index-Bt97lEsI.js +228 -0
  55. package/dist/Index-C9aBeBBk.js +70 -0
  56. package/dist/Index-CE3pWPzp.js +49 -0
  57. package/dist/Index-CMdPSsp4.js +38 -0
  58. package/dist/Index-CNhBDG2e.js +126 -0
  59. package/dist/Index-CdsOdgG2.js +28 -0
  60. package/dist/{Index-Ch9r5yhG.js → Index-CmxFh3dW.js} +9 -17
  61. package/dist/Index-CpxzwwQS.js +52 -0
  62. package/dist/Index-CxTwWRD9.js +93 -0
  63. package/dist/Index-D9WFWlE6.js +140 -0
  64. package/dist/Index-D9bulLeI.js +39 -0
  65. package/dist/{Index-RWMPRDAE.js → Index-DL_9LzoR.js} +10 -18
  66. package/dist/Index-DR-sGE3Y.js +25 -0
  67. package/dist/Index-DRoOW5Pn.js +163 -0
  68. package/dist/Index-DTn47-hP.js +74 -0
  69. package/dist/Index-DeGDlj0B.js +68 -0
  70. package/dist/Index-DhYYK4bK.js +28 -0
  71. package/dist/Index-Dssdb-0Z.js +629 -0
  72. package/dist/Index-OcBnU480.js +200 -0
  73. package/dist/Index-Qh_8JqAv.js +3477 -0
  74. package/dist/Index-W10PQb8i.js +102 -0
  75. package/dist/Index-lbWFEELM.js +4 -0
  76. package/dist/Index-qFAg7VVU.js +1098 -0
  77. package/dist/Index-rDndJKo1.js +160 -0
  78. package/dist/{Index-Dfq7egc1.js → Index-s-6Qh_NE.js} +47 -60
  79. package/dist/Index.vue_vue_type_script_lang-CriDqp1F.js +671 -0
  80. package/dist/InputToggleRow-DJarYsVL.js +99 -0
  81. package/dist/ManualPopover-BMrkEHtV.js +65 -0
  82. package/dist/MediaWrapper-BYdVpmov.js +18 -0
  83. package/dist/{NotBindingText-CC7TxUqg.js → NotBindingText-DGjJoN8-.js} +13 -17
  84. package/dist/PackageGroup-q7_oBOqw.js +1060 -0
  85. package/dist/PdfTerms-DBEClYQ5.js +34 -0
  86. package/dist/PdfViewer-C_y5sqXB.js +392 -0
  87. package/dist/PlainHtml.vue_vue_type_script_setup_true_lang-D5ZLw34T.js +17 -0
  88. package/dist/PriceHeader-BSwv3mzc.js +488 -0
  89. package/dist/{SearchApi-G2Hvp0Dd.js → SearchApi-BM6TTqxW.js} +37 -49
  90. package/dist/SendForm-DfmBbhp9.js +6689 -0
  91. package/dist/Setup-BC1feKr_.js +47 -0
  92. package/dist/{SmartList-BynTuXtB.js → SmartList-B3pgsg4S.js} +16 -24
  93. package/dist/Sortable.vue_vue_type_script_setup_true_lang-YOP-Y07m.js +1349 -0
  94. package/dist/{TermsSettings-cA5YAO77.js → TermsSettings-DEkACrRU.js} +169 -56
  95. package/dist/ThemeColorRow-qG8Dkkyj.js +105 -0
  96. package/dist/ToggleBinding-Cdtl_-1s.js +44 -0
  97. package/dist/UploadModal-1OWPRxA5.js +134 -0
  98. package/dist/VideoPlayerInput-DgFNjiKK.js +134 -0
  99. package/dist/VideoPlayerSettings-CFuA-7RC.js +78 -0
  100. package/dist/VideoSelectModal-CSv67eA8.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-CximZA1J.js → focusDrawerMixin-r-OZchfV.js} +1 -1
  105. package/dist/{formDrawerState-CkNGdxn5.js → formDrawerState-COVczNhJ.js} +2 -2
  106. package/dist/helpers-ChwW54Ex.js +46 -0
  107. package/dist/index-BMZle8Ew.js +513 -0
  108. package/dist/index-Bf-fiKJf.js +268 -0
  109. package/dist/index-Bg4JRi5S.js +125 -0
  110. package/dist/index-C7chK2UD.js +3525 -0
  111. package/dist/index-CR52qIBO.js +149 -0
  112. package/dist/index-D1x9O_nJ.js +188 -0
  113. package/dist/index-YFcPqc9m.js +508 -0
  114. package/dist/index.es.js +2 -5
  115. package/dist/index.umd.js +303 -1486
  116. package/dist/main-DI0diChK.js +57570 -0
  117. package/dist/mapFormMixin-Cgvwie9a.js +1528 -0
  118. package/dist/omit-DpjD7Dj9.js +56 -0
  119. package/dist/{publicSenderState-CGEm9EYe.js → publicSenderState-BcjNldje.js} +4 -4
  120. package/dist/splitpanes-BypKTSRL.js +342 -0
  121. package/dist/template-Dzexob5I.js +1572 -0
  122. package/dist/tippy.esm-0UMN6kWf.js +1994 -0
  123. package/dist/useTermsModal-DzH_PDFP.js +87 -0
  124. package/dist/{utils-Dr4AcaE9.js → utils--kBYCNZD.js} +8 -11
  125. package/dist/validation-B-omH73u.js +40 -0
  126. package/dist/widget.css +1 -0
  127. package/package.json +20 -25
  128. package/dist/AddClientCallout-Br6IhwGH.js +0 -48
  129. package/dist/AnswerModal-CsWltR6j.js +0 -3879
  130. package/dist/AttachmentItem-BG7FuSCD.js +0 -85
  131. package/dist/BaseDatePicker-PSNBtUIh.js +0 -3187
  132. package/dist/BaseUpload-BfEurAAV.js +0 -1977
  133. package/dist/BlockMedia-Bo3OfNSU.js +0 -76
  134. package/dist/CCallout-CAjM8-1X.js +0 -58
  135. package/dist/CDropdownItem-CN7gSfgY.js +0 -640
  136. package/dist/CFormField-Clvcf2Jh.js +0 -240
  137. package/dist/CPhoneInput-CEHXh5jM.js +0 -138
  138. package/dist/CPriceInput-D2c07SXp.js +0 -116
  139. package/dist/CSelect-Cz2IPzxS.js +0 -91
  140. package/dist/CSkeleton-AsnvnD-m.js +0 -55
  141. package/dist/ClientAutocomplete-CZ55-DKe.js +0 -438
  142. package/dist/ClientModal-CgUhWZ5L.js +0 -666
  143. package/dist/ColorPicker-IFGHqH-u.js +0 -2879
  144. package/dist/CompanyModal-TLSBFo3U.js +0 -147
  145. package/dist/ContentWrapper-HClxKPuT.js +0 -190
  146. package/dist/CoverBlockSettings-D99hAa6e.js +0 -659
  147. package/dist/DocAnswer-CTV_Bpt7.js +0 -36
  148. package/dist/DocDetails-CQe5htXj.js +0 -263
  149. package/dist/DocForm-6Efv5_oz.js +0 -5017
  150. package/dist/DocFormSend-DbXcklxU.js +0 -146
  151. package/dist/DocLinks-BO545zbL.js +0 -38
  152. package/dist/DocModalBase-DXHNJ-6i.js +0 -28
  153. package/dist/DocPrint-Bf2U4FQN.js +0 -240
  154. package/dist/DocReceipt-CWXvC7bY.js +0 -217
  155. package/dist/DocSendReminder-CRzBM2NJ.js +0 -140
  156. package/dist/DocTimeline-DGVOk8-2.js +0 -485
  157. package/dist/DocumentClient-Das9BaJ7.js +0 -136
  158. package/dist/DocumentLayout-4q8rmTVT.js +0 -4880
  159. package/dist/DocumentLogotype-DLncJJAB.js +0 -92
  160. package/dist/DocumentVoided-CcI9lX27.js +0 -25
  161. package/dist/EmbedInput-BPdy0lGS.js +0 -117
  162. package/dist/EmbedSettings-L2iwYLQK.js +0 -74
  163. package/dist/ErrorCallout-Ds_tBT02.js +0 -27
  164. package/dist/FilePreviewModal-hxUu330p.js +0 -81
  165. package/dist/Flag-1-HcT5Dz.js +0 -46
  166. package/dist/HeaderSettings-C27fMugK.js +0 -440
  167. package/dist/ImageSelectModal-BKDIyxF4.js +0 -86
  168. package/dist/ImageUploadWrapper-BiYzUQur.js +0 -1604
  169. package/dist/Index-5BOWxcPG.js +0 -26
  170. package/dist/Index-B1Odktov.js +0 -754
  171. package/dist/Index-B3d5BjEn.js +0 -25
  172. package/dist/Index-B3sSU_4X.js +0 -54
  173. package/dist/Index-B5Dqsh3K.js +0 -150
  174. package/dist/Index-B6aO1c_w.js +0 -62
  175. package/dist/Index-BGfICxJQ.js +0 -643
  176. package/dist/Index-BHopC0hv.js +0 -24
  177. package/dist/Index-BJXcSmp_.js +0 -55
  178. package/dist/Index-BQe6QjQZ.js +0 -25
  179. package/dist/Index-BmXx_x6t.js +0 -77
  180. package/dist/Index-C692qMTG.js +0 -294
  181. package/dist/Index-CEvbw-3i.js +0 -41
  182. package/dist/Index-CYSULnpn.js +0 -32
  183. package/dist/Index-CdtYzwAM.js +0 -107
  184. package/dist/Index-CetF2FW0.js +0 -230
  185. package/dist/Index-Cv6XLM20.js +0 -73
  186. package/dist/Index-Cwy8ff76.js +0 -154
  187. package/dist/Index-D34z4UEY.js +0 -84
  188. package/dist/Index-DNCei-lp.js +0 -56
  189. package/dist/Index-DUbxgIYB.js +0 -2445
  190. package/dist/Index-DVwn_LLf.js +0 -28
  191. package/dist/Index-Dla-mesV.js +0 -146
  192. package/dist/Index-KtUkOPI2.js +0 -58
  193. package/dist/Index-LjnOTVJk.js +0 -66
  194. package/dist/Index-ky1SRtfY.js +0 -94
  195. package/dist/Index-mceZW2NX.js +0 -41
  196. package/dist/Index-tD3hZjh8.js +0 -144
  197. package/dist/Index-vM5kDtC2.js +0 -33
  198. package/dist/InputToggleRow-BmDuSbE2.js +0 -57
  199. package/dist/ManualPopover-CQfjPvFe.js +0 -60
  200. package/dist/MediaWrapper-DDzcjR6V.js +0 -23
  201. package/dist/PackageGroup-mAGXfZDv.js +0 -704
  202. package/dist/PdfTerms-BH_Nwf2h.js +0 -31
  203. package/dist/PdfViewer-mBLxI8bA.js +0 -383
  204. package/dist/PlainHtml-B7gUNNZd.js +0 -27
  205. package/dist/PriceHeader-DClYMPcq.js +0 -338
  206. package/dist/SendForm-Cxv_m8Rq.js +0 -1023
  207. package/dist/Setup-B90VDZTG.js +0 -50
  208. package/dist/ThemeColorRow-D-Z7w4Wk.js +0 -69
  209. package/dist/ToggleBinding-DOeTcWzi.js +0 -42
  210. package/dist/UploadModal-DOPLVEpV.js +0 -95
  211. package/dist/VideoPlayerInput-1zG06elO.js +0 -97
  212. package/dist/VideoPlayerSettings-O-4rAYYh.js +0 -61
  213. package/dist/VideoSelectModal-DzqFrqCg.js +0 -104
  214. package/dist/answerDocumentMixin-HBiNWYCH.js +0 -51
  215. package/dist/debounce-Ch1d3526.js +0 -84
  216. package/dist/formValidationMixin-D_MzsHsR.js +0 -49
  217. package/dist/index-BNdbPq4J.js +0 -492
  218. package/dist/index-BXzugeJ6.js +0 -81
  219. package/dist/index-C5wcxrC6.js +0 -167
  220. package/dist/index-CgDOs7t4.js +0 -2700
  221. package/dist/index-Cj-_2coz.js +0 -351
  222. package/dist/index-DpqV5y0K.js +0 -102
  223. package/dist/main-BL_yzf2r.js +0 -57357
  224. package/dist/mapFormMixin-Cu_vkTP-.js +0 -3028
  225. package/dist/omit-Dfe_H1Ft.js +0 -31
  226. package/dist/simplebar.min-CRlLD1Oz.js +0 -71
  227. package/dist/splitpanes-BHUVsCZF.js +0 -382
  228. package/dist/style.css +0 -4
  229. package/dist/throttle-BX_w77tW.js +0 -18
  230. package/dist/tippy.esm-n4arfVzA.js +0 -1805
  231. package/dist/vuedraggable.umd-DW4PJoZ3.js +0 -3161
  232. package/dist/vuex.esm-DKGl8mcw.js +0 -467
@@ -0,0 +1,93 @@
1
+ import { _, A as g, o as s, b as o, F as u, k as d, s as r, B as h, v as a } from "./main-DI0diChK.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,140 @@
1
+ import { m as c } from "./mapFormMixin-Cgvwie9a.js";
2
+ import { I as g } from "./InputToggleRow-DJarYsVL.js";
3
+ import { C as P } from "./CPriceInput-BLQaNu1d.js";
4
+ import { _ as f, e as u, o as p, b as d, s as k, v as t, f as $, d as a, w as n, B as m } from "./main-DI0diChK.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
+ };
@@ -0,0 +1,39 @@
1
+ import { m as d } from "./mapFormMixin-Cgvwie9a.js";
2
+ import { _ as p, z as n, o, c as i, e as m } from "./main-DI0diChK.js";
3
+ const u = {
4
+ name: "ExtraWorkTimeImpactText",
5
+ components: {
6
+ Read: n(() => import("./Index-DL_9LzoR.js")),
7
+ Edit: n(() => import("./Index-Bt97lEsI.js"))
8
+ },
9
+ emits: ["input"],
10
+ mixins: [
11
+ d([
12
+ "workStartAt",
13
+ "workEndAt",
14
+ "timeUnit",
15
+ "noOfTimeUnits",
16
+ "timeDeltaDirection"
17
+ ])
18
+ ]
19
+ };
20
+ function c(t, e, l, k, f, w) {
21
+ const r = m("Edit"), a = m("Read");
22
+ return t.canEdit ? (o(), i(r, {
23
+ key: 0,
24
+ _document: t._document,
25
+ _value: t._value,
26
+ onInput: e[0] || (e[0] = (s) => t.$emit("input", s))
27
+ }, null, 8, ["_document", "_value"])) : (o(), i(a, {
28
+ key: 1,
29
+ "work-start-at": t.workStartAt,
30
+ "work-end-at": t.workEndAt,
31
+ "time-unit": t.timeUnit,
32
+ "no-of-time-units": t.noOfTimeUnits,
33
+ "time-delta-direction": t.timeDeltaDirection
34
+ }, null, 8, ["work-start-at", "work-end-at", "time-unit", "no-of-time-units", "time-delta-direction"]));
35
+ }
36
+ const A = /* @__PURE__ */ p(u, [["render", c]]);
37
+ export {
38
+ A as default
39
+ };
@@ -1,6 +1,6 @@
1
- import { P as r } from "./PlainHtml-B7gUNNZd.js";
2
- import { n as o } from "./main-BL_yzf2r.js";
3
- const s = {
1
+ import { _ as o } from "./PlainHtml.vue_vue_type_script_setup_true_lang-D5ZLw34T.js";
2
+ import { d as e, B as t } from "./main-DI0diChK.js";
3
+ const d = {
4
4
  name: "ExtraWorkTimeImpactTextRead",
5
5
  props: {
6
6
  workStartAt: {
@@ -39,23 +39,15 @@ const s = {
39
39
  description4: " by"
40
40
  }
41
41
  },
42
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
43
- render(t) {
44
- const e = this.$formatDate(this.workStartAt), n = this.$formatDate(this.workEndAt), i = this.$tc(`_common:${this.timeUnit}`, {
42
+ render() {
43
+ const i = this.$formatDate(this.workStartAt), n = this.$formatDate(this.workEndAt), r = this.$tc(`_common:${this.timeUnit}`, {
45
44
  count: this.noOfTimeUnits
46
45
  });
47
- return t(r, [this.$t("description1"), " ", t("strong", [e]), " ", this.$t("description2"), t("strong", [n]), ".", this.$t("description3"), " ", t("strong", [this.$t(`_common:${this.timeDeltaDirection}`)]), this.$t("description4"), " ", t("strong", [i]), "."]);
46
+ return e(o, null, {
47
+ default: () => [this.$t("description1"), t(" "), e("strong", null, [i]), t(" "), this.$t("description2"), e("strong", null, [n]), t("."), this.$t("description3"), t(" "), e("strong", null, [this.$t(`_common:${this.timeDeltaDirection}`)]), this.$t("description4"), t(" "), e("strong", null, [r]), t(".")]
48
+ });
48
49
  }
49
- }, a = null, c = null;
50
- var d = /* @__PURE__ */ o(
51
- s,
52
- a,
53
- c,
54
- !1,
55
- null,
56
- null
57
- );
58
- const p = d.exports;
50
+ };
59
51
  export {
60
- p as default
52
+ d as default
61
53
  };
@@ -0,0 +1,25 @@
1
+ import { m as r } from "./mapFormMixin-Cgvwie9a.js";
2
+ import { _ as c, z as e, o as i, c as m, f as u, e as a } from "./main-DI0diChK.js";
3
+ const _ = {
4
+ name: "NotBinding",
5
+ components: {
6
+ Edit: e(() => import("./ToggleBinding-Cdtl_-1s.js")),
7
+ Read: e(() => import("./NotBindingText-DGjJoN8-.js"))
8
+ },
9
+ emits: ["input"],
10
+ mixins: [r()]
11
+ };
12
+ function f(n, o, l, B, $, g) {
13
+ var t;
14
+ const d = a("Edit"), s = a("Read");
15
+ return n.canEdit ? (i(), m(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 ? (i(), m(s, { key: 1 })) : u("", !0);
21
+ }
22
+ const y = /* @__PURE__ */ c(_, [["render", f]]);
23
+ export {
24
+ y as default
25
+ };
@@ -0,0 +1,163 @@
1
+ import { m as P } from "./mapFormMixin-Cgvwie9a.js";
2
+ import I from "./FilePreviewModal-Di1VnPNY.js";
3
+ import { _ as F, S as k, z as w, a8 as C, o as m, b as u, d as f, w as g, s as S, F as v, k as b, B, v as A, f as z, e as d, c as U } from "./main-DI0diChK.js";
4
+ const $ = {
5
+ name: "FilePreviewWrapper",
6
+ props: {
7
+ list: {
8
+ type: Array,
9
+ default: () => [],
10
+ validator: (e) => e.length ? !(!e[0].hasOwnProperty("url") || !e[0].hasOwnProperty("name") || !e[0].hasOwnProperty("mime")) : !0
11
+ }
12
+ },
13
+ computed: {
14
+ fileList() {
15
+ return this.list.reduce(
16
+ (e, t) => this.isImage(t.mime) || this.isPdf(t.mime) ? [...e, t] : e,
17
+ []
18
+ );
19
+ }
20
+ },
21
+ methods: {
22
+ isImage(e) {
23
+ const t = e.toLowerCase(e);
24
+ return /image\/(gif|jpg|jpeg|png|bmp|svg|svg\+xml|tiff)$/.test(t);
25
+ },
26
+ isPdf(e) {
27
+ return e === "application/pdf";
28
+ },
29
+ FilePreviewModal(e) {
30
+ this.$modal.show(
31
+ I,
32
+ {
33
+ index: this.fileList.indexOf(this.list[e]),
34
+ // Translate src index to img list index
35
+ list: this.fileList
36
+ },
37
+ {
38
+ adaptive: !0,
39
+ height: "100%",
40
+ width: "100%",
41
+ classes: "",
42
+ // Don't remove. In place to not apply default modal class
43
+ transition: ""
44
+ }
45
+ );
46
+ }
47
+ }
48
+ };
49
+ function M(e, t, o, r, a, s) {
50
+ return k(e.$slots, "default", {
51
+ openModal: (n) => s.FilePreviewModal(n),
52
+ isImageOrPdf: (n) => s.isImage(n) || s.isPdf(n)
53
+ });
54
+ }
55
+ const V = /* @__PURE__ */ F($, [["render", M]]), j = {
56
+ name: "AttachmentList",
57
+ components: {
58
+ FilePreviewWrapper: V,
59
+ BaseUpload: w(
60
+ () => import("./BaseUpload-DFoV0ZLe.js")
61
+ ),
62
+ AttachmentItem: w(() => import("./AttachmentItem-DnvYffKP.js"))
63
+ },
64
+ mixins: [P(["attachments"])],
65
+ data() {
66
+ return {
67
+ hoverIndex: null,
68
+ newFiles: [],
69
+ maxFileSize: 1e3 * 1e3 * 30
70
+ // 30 MB
71
+ };
72
+ },
73
+ computed: {
74
+ cAttachments() {
75
+ return [
76
+ ...this.attachments,
77
+ ...this.newFiles.map(
78
+ ({ displayName: e, type: t, url: o, progress: r }) => ({
79
+ name: e,
80
+ mime: t,
81
+ url: o,
82
+ progress: parseInt(r, 10)
83
+ })
84
+ )
85
+ ];
86
+ },
87
+ showRecentModal() {
88
+ return !this.viewSettings.isPublicForm;
89
+ }
90
+ },
91
+ methods: {
92
+ immutable: C,
93
+ async onUploadSuccess(e) {
94
+ const { id: t, displayName: o, url: r, mime: a } = e.response;
95
+ if (!t) throw new Error("Could not read id from uploaded file");
96
+ this.attachments = [
97
+ ...this.attachments,
98
+ {
99
+ fileId: t,
100
+ name: o,
101
+ mime: a,
102
+ url: r
103
+ }
104
+ ], this.$refs.uploader.remove(e);
105
+ },
106
+ remove(e) {
107
+ if (!this.attachments[e]) return;
108
+ const t = this.attachments.slice();
109
+ t.splice(e, 1), this.attachments = t;
110
+ }
111
+ }
112
+ }, L = { class: "font-inter" };
113
+ function N(e, t, o, r, a, s) {
114
+ const n = d("AttachmentItem"), _ = d("FilePreviewWrapper"), y = d("BaseUpload"), x = d("CButton");
115
+ return m(), u("div", L, [
116
+ f(_, { list: s.cAttachments }, {
117
+ default: g(({ openModal: p, isImageOrPdf: h }) => [
118
+ S("div", null, [
119
+ (m(!0), u(v, null, b(s.cAttachments, (i, l) => (m(), U(n, {
120
+ key: l,
121
+ "is-image-or-pdf": h(i.mime),
122
+ attachment: i,
123
+ "can-edit": e.canEdit,
124
+ "upload-progress": i.progress,
125
+ onClick: (c) => h(i.mime) ? p(l) : null,
126
+ onRemove: (c) => s.remove(l),
127
+ onInput: (c) => e.attachments = s.immutable(e.attachments).set(c, l)
128
+ }, null, 8, ["is-image-or-pdf", "attachment", "can-edit", "upload-progress", "onClick", "onRemove", "onInput"]))), 128))
129
+ ])
130
+ ]),
131
+ _: 1
132
+ }, 8, ["list"]),
133
+ e.canEdit ? (m(), u(v, { key: 0 }, [
134
+ f(y, {
135
+ ref: "uploader",
136
+ modelValue: a.newFiles,
137
+ "onUpdate:modelValue": t[0] || (t[0] = (p) => a.newFiles = p),
138
+ "recent-modal": s.showRecentModal,
139
+ "autostart-upload": !0,
140
+ "max-size": a.maxFileSize,
141
+ extensions: "png,gif,jpg,jpeg,svg,bmp,heic,heif,pdf,txt,odp,ods,odt,rtf,doc,docx,xls,xlsx,ppt,pptx,csv,ogv,mp4,webm,m4v,ogg,mp3,wav,zip,rar,json,7z,mpeg,oga,ogv,vsd,weba,webm,webp,xml,gz,tif,jfif,dwg,dwf,dwfx,dwt,msg,ai,psd,md,markdown,mdown,markdn",
142
+ accept: "*",
143
+ onUploadSuccess: s.onUploadSuccess
144
+ }, null, 8, ["modelValue", "recent-modal", "max-size", "onUploadSuccess"]),
145
+ f(x, {
146
+ type: "none",
147
+ pattern: "secondary",
148
+ wide: "",
149
+ "icon-left": "upload-cloud",
150
+ onClick: t[1] || (t[1] = () => e.$refs.uploader ? e.$refs.uploader.open() : null)
151
+ }, {
152
+ default: g(() => [
153
+ B(A(e.$t("_common:upload", { thing: e.$t("_common:file") })), 1)
154
+ ]),
155
+ _: 1
156
+ })
157
+ ], 64)) : z("", !0)
158
+ ]);
159
+ }
160
+ const W = /* @__PURE__ */ F(j, [["render", N]]);
161
+ export {
162
+ W as default
163
+ };
@@ -0,0 +1,74 @@
1
+ import { m as l } from "./mapFormMixin-Cgvwie9a.js";
2
+ import { u as c } from "./index-BMZle8Ew.js";
3
+ import { _ as v, z as p, o as s, c as i, e as n } from "./main-DI0diChK.js";
4
+ const g = {
5
+ name: "PackageGroupBlock",
6
+ components: {
7
+ PackageGroupRead: p(
8
+ () => import("./PackageGroup-q7_oBOqw.js")
9
+ ),
10
+ PackageGroupEdit: p(() => import("./Index-Qh_8JqAv.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 = n("PackageGroupEdit"), m = n("PackageGroupRead");
55
+ return e.canEdit ? (s(), i(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"])) : (s(), i(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,68 @@
1
+ import { m as c } from "./mapFormMixin-Cgvwie9a.js";
2
+ import { _ as u, Y as m, o, b as i, s as d, c as f, ae as g, v, f as y, S as h, n as S, $ as B, e as b } from "./main-DI0diChK.js";
3
+ const C = {
4
+ name: "DocChapter",
5
+ components: {
6
+ CInput: m
7
+ },
8
+ mixins: [c(["title"])],
9
+ props: {
10
+ enableSpacingX: {
11
+ type: Boolean,
12
+ default: !0
13
+ },
14
+ enableSpacingY: {
15
+ type: Boolean,
16
+ default: !0
17
+ },
18
+ pdfSpacingX: {
19
+ type: Boolean,
20
+ default: !1
21
+ }
22
+ },
23
+ methods: {
24
+ onAdd() {
25
+ var e;
26
+ this._isNodeRecentlyAdded() && ((e = this.$refs.input) == null || e.focus());
27
+ }
28
+ }
29
+ }, k = {
30
+ key: 1,
31
+ class: "title"
32
+ };
33
+ function I(e, t, n, $, A, r) {
34
+ var s;
35
+ const p = b("CInput");
36
+ return o(), i("div", B(e.$attrs, { class: "chapter" }), [
37
+ d("div", {
38
+ class: S(["no-drag", {
39
+ "chapter-spacing-x": n.enableSpacingX,
40
+ "chapter-spacing-y": n.enableSpacingY,
41
+ "pdf-spacing-x": n.pdfSpacingX
42
+ }])
43
+ }, [
44
+ e.canEdit && ((s = e._value) != null && s.title) ? (o(), f(p, {
45
+ key: 0,
46
+ ref: "input",
47
+ "model-value": e.title,
48
+ spellcheck: !1,
49
+ placeholder: e.$t("components:account.documentForm.titleAndText.title"),
50
+ static: "",
51
+ class: "title preview-title-input",
52
+ onKeydown: t[0] || (t[0] = g((a) => a.target.blur(), ["enter"])),
53
+ onBlur: t[1] || (t[1] = (a) => {
54
+ var l;
55
+ e.title = ((l = a.target) == null ? void 0 : l.value) || "";
56
+ }),
57
+ onVnodeMounted: r.onAdd
58
+ }, null, 8, ["model-value", "placeholder", "onVnodeMounted"])) : e.title ? (o(), i("div", k, v(e.title), 1)) : y("", !0),
59
+ d("div", null, [
60
+ h(e.$slots, "default", {}, void 0, !0)
61
+ ])
62
+ ], 2)
63
+ ], 16);
64
+ }
65
+ const _ = /* @__PURE__ */ u(C, [["render", I], ["__scopeId", "data-v-fe61ce8b"]]);
66
+ export {
67
+ _ as default
68
+ };
@@ -0,0 +1,28 @@
1
+ import { m as i } from "./mapFormMixin-Cgvwie9a.js";
2
+ import { _ as p, z as e, o, c as a, e as s } from "./main-DI0diChK.js";
3
+ const u = {
4
+ name: "EstimatedWorkStartAndEndAtText",
5
+ components: {
6
+ Read: e(() => import("./Index-CmxFh3dW.js")),
7
+ Edit: e(() => import("./Index-C9aBeBBk.js"))
8
+ },
9
+ emits: ["input"],
10
+ mixins: [i(["startAt", "endAt"])]
11
+ };
12
+ function c(t, n, l, _, f, A) {
13
+ const r = s("Edit"), d = s("Read");
14
+ return t.canEdit ? (o(), a(r, {
15
+ key: 0,
16
+ _document: t._document,
17
+ _value: t._value,
18
+ onInput: n[0] || (n[0] = (m) => t.$emit("input", m))
19
+ }, null, 8, ["_document", "_value"])) : (o(), a(d, {
20
+ key: 1,
21
+ "start-at": t.startAt,
22
+ "end-at": t.endAt
23
+ }, null, 8, ["start-at", "end-at"]));
24
+ }
25
+ const $ = /* @__PURE__ */ p(u, [["render", c]]);
26
+ export {
27
+ $ as default
28
+ };