@cling-se/widget 0.14.4 → 0.14.6

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 (129) hide show
  1. package/dist/AddClientCallout-C7abPZ87.js +46 -0
  2. package/dist/AnswerModal-CsA2pl2P.js +3874 -0
  3. package/dist/AttachmentItem-Da1-7xwf.js +78 -0
  4. package/dist/BaseDatePicker-k9zlSi5J.js +3183 -0
  5. package/dist/BaseUpload-BUrXX3fT.js +1977 -0
  6. package/dist/BlockMedia-CYI07qAn.js +76 -0
  7. package/dist/CCallout-Qwae66vo.js +59 -0
  8. package/dist/CCurrencyDropdown-Y_u0hgBx.js +246 -0
  9. package/dist/CDropdownItem-CXJ4xD8W.js +538 -0
  10. package/dist/CField.vue_vue_type_style_index_0_lang-l0sNRNKZ.js +1 -0
  11. package/dist/CFormField--m3PvQuT.js +241 -0
  12. package/dist/CPhoneFormat-Qg6MkDVP.js +62 -0
  13. package/dist/CPriceInput-Dlx44UrR.js +112 -0
  14. package/dist/CTabs.vue_vue_type_style_index_0_scoped_b7262014_lang-l0sNRNKZ.js +1 -0
  15. package/dist/ClientAutocomplete-BKKc_br6.js +78 -0
  16. package/dist/ClientModal-CVZFb1Br.js +625 -0
  17. package/dist/ColorPicker-Bo3s3Esp.js +2879 -0
  18. package/dist/CompanyModal-DadjAioS.js +141 -0
  19. package/dist/ContentWrapper-BC3ZBQW9.js +183 -0
  20. package/dist/CoverBlockSettings-B484eE4g.js +275 -0
  21. package/dist/DocAnswer-CcYryOWI.js +36 -0
  22. package/dist/DocDetails-BigsoEWL.js +246 -0
  23. package/dist/DocForm-DlN0eNWt.js +7273 -0
  24. package/dist/DocFormSend-TqKo210I.js +143 -0
  25. package/dist/DocLinks-DSo54vDn.js +38 -0
  26. package/dist/DocModalBase-XlM1SThW.js +28 -0
  27. package/dist/DocPrint-tD0Vd9Sw.js +240 -0
  28. package/dist/DocReceipt-CDHPrhXM.js +210 -0
  29. package/dist/DocSendReminder-C62RhltH.js +137 -0
  30. package/dist/DocTextEditor-VjhV9IRp.js +17181 -0
  31. package/dist/DocTimeline-LcW4z3nC.js +481 -0
  32. package/dist/DocumentClient-CqbTRdpB.js +136 -0
  33. package/dist/DocumentLayout-Dbf8_01r.js +4909 -0
  34. package/dist/DocumentLogotype-DXYnBedV.js +87 -0
  35. package/dist/DocumentVoided-vH1Ti5lZ.js +25 -0
  36. package/dist/EmbedInput-D9qP8OnY.js +113 -0
  37. package/dist/EmbedSettings-DISuNqJT.js +72 -0
  38. package/dist/ErrorCallout-CCtCVwSh.js +28 -0
  39. package/dist/FilePreviewModal-BjhNyb6L.js +81 -0
  40. package/dist/Flag-Dhukv9_J.js +114 -0
  41. package/dist/HeaderSettings-CK4SkB1x.js +392 -0
  42. package/dist/ImageSelectModal-DnvPZzXx.js +84 -0
  43. package/dist/ImageUploadWrapper-B7cNMu5a.js +1604 -0
  44. package/dist/Index-B3HoK_cZ.js +84 -0
  45. package/dist/Index-B3aucNji.js +25 -0
  46. package/dist/Index-B9H5MMHb.js +62 -0
  47. package/dist/Index-BAYdvT-t.js +754 -0
  48. package/dist/Index-BLeQprjq.js +46 -0
  49. package/dist/Index-BOyvQlng.js +154 -0
  50. package/dist/Index-BVsw2tak.js +70 -0
  51. package/dist/Index-BY1UKGEO.js +98 -0
  52. package/dist/Index-Bh0kMSsA.js +107 -0
  53. package/dist/Index-BlQSM7tC.js +144 -0
  54. package/dist/Index-BpcJBGGd.js +642 -0
  55. package/dist/Index-Bs8wprXw.js +58 -0
  56. package/dist/Index-BvZZAvFd.js +21 -0
  57. package/dist/Index-CFo-3Y5Q.js +26 -0
  58. package/dist/Index-CNvp5K3L.js +559 -0
  59. package/dist/Index-CPJVx14x.js +171 -0
  60. package/dist/Index-CQ325eVT.js +140 -0
  61. package/dist/Index-CWrDtcfT.js +49 -0
  62. package/dist/Index-CyJnSvDR.js +223 -0
  63. package/dist/Index-D6bc7lg4.js +52 -0
  64. package/dist/Index-DCR8ev4U.js +33 -0
  65. package/dist/Index-DGQSB9cH.js +24 -0
  66. package/dist/Index-DXAvlq74.js +292 -0
  67. package/dist/Index-D_rfst8y.js +45 -0
  68. package/dist/Index-Dm8xMFGg.js +61 -0
  69. package/dist/Index-DtSSgtxB.js +55 -0
  70. package/dist/Index-DuTw9vhb.js +77 -0
  71. package/dist/Index-Dw26jtGV.js +31 -0
  72. package/dist/Index-OxN73_fO.js +32 -0
  73. package/dist/Index-S-FHG7_k.js +2402 -0
  74. package/dist/Index-ZFkitzfq.js +69 -0
  75. package/dist/Index-dyWK9jgr.js +25 -0
  76. package/dist/Index-gb11ngPS.js +57 -0
  77. package/dist/Index-lKk_XKJ3.js +150 -0
  78. package/dist/InputToggleRow-DSSvhPKA.js +57 -0
  79. package/dist/ManualPopover-lpJYSkw5.js +58 -0
  80. package/dist/MediaWrapper-BQ22FA2B.js +23 -0
  81. package/dist/NotBindingText-JxwzZLPP.js +32 -0
  82. package/dist/PackageGroup-BLSMSUDz.js +699 -0
  83. package/dist/PdfTerms-DtutjM5Y.js +36 -0
  84. package/dist/PdfViewer-BsxcZI_x.js +374 -0
  85. package/dist/PlainHtml-BMPZs2fT.js +20 -0
  86. package/dist/PriceHeader-BRYY01H2.js +339 -0
  87. package/dist/SearchApi-6001iFxU.js +161 -0
  88. package/dist/Setup-cw6jMI9M.js +50 -0
  89. package/dist/SmartList-q6H-uLbm.js +83 -0
  90. package/dist/TermsSettings-DWvaPneu.js +102 -0
  91. package/dist/ThemeColorRow-BXWnvfz-.js +67 -0
  92. package/dist/ToggleBinding-DydtwpNG.js +38 -0
  93. package/dist/UploadModal-D_EDKHGD.js +95 -0
  94. package/dist/VideoPlayerInput-B9yzUeBW.js +93 -0
  95. package/dist/VideoPlayerSettings-Bvp9l0yj.js +61 -0
  96. package/dist/VideoSelectModal-DY3N4JiS.js +100 -0
  97. package/dist/anime.es-BrPTThYb.js +858 -0
  98. package/dist/answerDocumentMixin-BYZPU_R-.js +51 -0
  99. package/dist/color-TdtKxwVa.js +19 -0
  100. package/dist/debounce-BPnlzNwd.js +84 -0
  101. package/dist/dom-CJxkno7i.js +91 -0
  102. package/dist/favicon.ico +0 -0
  103. package/dist/focusDrawerMixin-DC9Oa1i7.js +22 -0
  104. package/dist/formComponentsInstall-CEW6TK6z.js +2499 -0
  105. package/dist/formDrawerState-CAzvSMiQ.js +20 -0
  106. package/dist/formValidationMixin-D7zXxCpC.js +49 -0
  107. package/dist/i18nMessages-Chz_lxGG.js +17 -0
  108. package/dist/index-B9WDC3Xe.js +166 -0
  109. package/dist/index-BCMaUC5r.js +3916 -0
  110. package/dist/index-BDMI4NVY.js +492 -0
  111. package/dist/index-BbscgdRg.js +81 -0
  112. package/dist/index-CLUljEDI.js +347 -0
  113. package/dist/index-SxyZvewN.js +102 -0
  114. package/dist/index.es.js +35 -0
  115. package/dist/index.umd.js +3148 -0
  116. package/dist/main-CQBEuZk9.js +56739 -0
  117. package/dist/mapFormMixin-DlFcgwhm.js +72 -0
  118. package/dist/omit-BWy0Zhd3.js +31 -0
  119. package/dist/publicSenderState-CvOcFv2U.js +21 -0
  120. package/dist/splitpanes-BHUVsCZF.js +382 -0
  121. package/dist/style.css +4 -0
  122. package/dist/throttle-BrC8eGjQ.js +18 -0
  123. package/dist/tinycolor-PhFP695w.js +633 -0
  124. package/dist/tippy.esm-7dmKOUvu.js +1799 -0
  125. package/dist/utils-NBLgNGHR.js +108 -0
  126. package/dist/vuedraggable.umd-ByfH7ZxC.js +3161 -0
  127. package/dist/vuex.esm-DKGl8mcw.js +467 -0
  128. package/package.json +1 -1
  129. package/vite.config.ts +0 -1
@@ -0,0 +1,69 @@
1
+ import { m as n } from "./mapFormMixin-DlFcgwhm.js";
2
+ import { I as a } from "./InputToggleRow-DSSvhPKA.js";
3
+ import { C as c } from "./CPriceInput-Dlx44UrR.js";
4
+ import { n as o } from "./main-CQBEuZk9.js";
5
+ const i = {
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: a,
27
+ CPriceInput: c
28
+ },
29
+ mixins: [
30
+ n(
31
+ [
32
+ "workPrice",
33
+ "managementPrice",
34
+ "entrepreneurMarkupPercentage",
35
+ "miscMarkupPercentage"
36
+ ],
37
+ { type: "number" }
38
+ )
39
+ ]
40
+ };
41
+ var s = function() {
42
+ var e = this, r = e._self._c;
43
+ return r("div", [r("div", { staticClass: "flex w-full justify-end", staticStyle: { position: "relative" } }, [e.workPrice || e.managementPrice ? r("div", { staticClass: "ex-vat" }, [e._v(" " + e._s(e.$t("_common:vat.exVat", { thing: e.$t("_common:vat.sharedTitle") }).capitalize()) + " ")]) : e._e()]), r("InputToggleRow", { attrs: { "display-value": e.workPrice ? `${e.workPrice / 100} ${e.$t("_common:currency.SEK")}/${e.$t(
44
+ "_common:unitType.hour"
45
+ )}` : e.$t("_common:add"), label: e.$t("workPrice") } }, [r("CPriceInput", { attrs: { currency: "SEK", min: "0", "suffix-class": "text-gray-400" }, scopedSlots: e._u([{ key: "suffix", fn: function() {
46
+ return [e._v(" " + e._s(e.$t("currency.SEK")) + "/" + e._s(e.$t("_common:unitType.hour")) + " ")];
47
+ }, proxy: !0 }]), model: { value: e.workPrice, callback: function(t) {
48
+ e.workPrice = e._n(t);
49
+ }, expression: "workPrice" } })], 1), r("InputToggleRow", { attrs: { "display-value": e.managementPrice ? `${e.managementPrice / 100} kr/h` : e.$t("_common:add"), label: e.$t("managementPrice") } }, [r("CPriceInput", { attrs: { currency: "SEK", min: "0", "suffix-class": "text-gray-400" }, scopedSlots: e._u([{ key: "suffix", fn: function() {
50
+ return [e._v(" " + e._s(e.$t("_common:currency.SEK")) + "/" + e._s(e.$t("unitType.hour")) + " ")];
51
+ }, proxy: !0 }]), model: { value: e.managementPrice, callback: function(t) {
52
+ e.managementPrice = e._n(t);
53
+ }, expression: "managementPrice" } })], 1), r("InputToggleRow", { attrs: { "display-value": e.entrepreneurMarkupPercentage ? `${e.entrepreneurMarkupPercentage} %` : e.$t("_common:add"), label: e.$t("entrepreneurMarkupPercentage") } }, [r("CInput", { model: { value: e.entrepreneurMarkupPercentage, callback: function(t) {
54
+ e.entrepreneurMarkupPercentage = e._n(t);
55
+ }, expression: "entrepreneurMarkupPercentage" } }, [r("template", { slot: "suffix" }, [e._v("%")])], 2)], 1), r("InputToggleRow", { attrs: { "display-value": e.miscMarkupPercentage ? `${e.miscMarkupPercentage} %` : e.$t("_common:add"), label: e.$t("miscMarkupPercentage") } }, [r("CInput", { model: { value: e.miscMarkupPercentage, callback: function(t) {
56
+ e.miscMarkupPercentage = e._n(t);
57
+ }, expression: "miscMarkupPercentage" } }, [r("template", { slot: "suffix" }, [e._v("%")])], 2)], 1)], 1);
58
+ }, u = [], m = /* @__PURE__ */ o(
59
+ i,
60
+ s,
61
+ u,
62
+ !1,
63
+ null,
64
+ "f5b5c32c"
65
+ );
66
+ const _ = m.exports;
67
+ export {
68
+ _ as default
69
+ };
@@ -0,0 +1,25 @@
1
+ import { m as e } from "./mapFormMixin-DlFcgwhm.js";
2
+ import { n as r } from "./main-CQBEuZk9.js";
3
+ const a = {
4
+ name: "EstimatedWorkStartAndEndAtText",
5
+ components: {
6
+ Read: () => import("./Index-BLeQprjq.js"),
7
+ Edit: () => import("./Index-Bs8wprXw.js")
8
+ },
9
+ mixins: [e(["startAt", "endAt"])]
10
+ };
11
+ var s = function() {
12
+ var t = this, n = t._self._c;
13
+ return t.canEdit ? n("Edit", t._g({ attrs: { _document: t._document, _value: t._value } }, t.$listeners)) : n("Read", { attrs: { "start-at": t.startAt, "end-at": t.endAt } });
14
+ }, o = [], m = /* @__PURE__ */ r(
15
+ a,
16
+ s,
17
+ o,
18
+ !1,
19
+ null,
20
+ null
21
+ );
22
+ const c = m.exports;
23
+ export {
24
+ c as default
25
+ };
@@ -0,0 +1,57 @@
1
+ import { m as r } from "./mapFormMixin-DlFcgwhm.js";
2
+ import { q as l, n as o } from "./main-CQBEuZk9.js";
3
+ const c = {
4
+ name: "DocChapter",
5
+ components: {
6
+ CInput: l
7
+ },
8
+ mixins: [r(["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
+ // Naming convention used by generateTemplate-functions in order for it to choose whether or not to run on add
25
+ conditionalOnAdd() {
26
+ const a = () => this.$refs.input.focus();
27
+ this.$refs.input ? a() : this.$once("triggerOnAdd", a);
28
+ }
29
+ }
30
+ };
31
+ var p = function() {
32
+ var i;
33
+ var t = this, n = t._self._c;
34
+ return n("div", { staticClass: "chapter" }, [n("div", { staticClass: "no-drag", class: {
35
+ "chapter-spacing-x": t.enableSpacingX,
36
+ "chapter-spacing-y": t.enableSpacingY,
37
+ "pdf-spacing-x": t.pdfSpacingX
38
+ } }, [t.canEdit && ((i = t._value) != null && i.title) ? n("CInput", { ref: "input", staticClass: "title preview-title-input", attrs: { value: t.title, spellcheck: !1, placeholder: t.$t("components:account.documentForm.titleAndText.title"), static: "" }, on: { blur: (e) => {
39
+ var s;
40
+ t.title = ((s = e.target) == null ? void 0 : s.value) || "";
41
+ }, "hook:mounted": function(e) {
42
+ return t.$emit("triggerOnAdd");
43
+ } }, nativeOn: { keydown: function(e) {
44
+ return !e.type.indexOf("key") && t._k(e.keyCode, "enter", 13, e.key, "Enter") ? null : e.target.blur();
45
+ } } }) : t.title ? n("div", { staticClass: "title" }, [t._v(" " + t._s(t.title) + " ")]) : t._e(), n("div", [t._t("default")], 2)], 1)]);
46
+ }, d = [], u = /* @__PURE__ */ o(
47
+ c,
48
+ p,
49
+ d,
50
+ !1,
51
+ null,
52
+ "5f56ae28"
53
+ );
54
+ const _ = u.exports;
55
+ export {
56
+ _ as default
57
+ };
@@ -0,0 +1,150 @@
1
+ import { m as c } from "./mapFormMixin-DlFcgwhm.js";
2
+ import l from "./FilePreviewModal-BjhNyb6L.js";
3
+ import { n as m, t as p } from "./main-CQBEuZk9.js";
4
+ const d = {
5
+ name: "FilePreviewWrapper",
6
+ components: {
7
+ FilePreviewModal: l
8
+ },
9
+ props: {
10
+ list: {
11
+ type: Array,
12
+ default: () => [],
13
+ validator: (t) => t.length ? !(!t[0].hasOwnProperty("url") || !t[0].hasOwnProperty("name") || !t[0].hasOwnProperty("mime")) : !0
14
+ }
15
+ },
16
+ computed: {
17
+ fileList() {
18
+ return this.list.reduce(
19
+ (t, e) => this.isImage(e.mime) || this.isPdf(e.mime) ? [...t, e] : t,
20
+ []
21
+ );
22
+ }
23
+ },
24
+ methods: {
25
+ isImage(t) {
26
+ const e = t.toLowerCase(t);
27
+ return /image\/(gif|jpg|jpeg|png|bmp|svg|svg\+xml|tiff)$/.test(e);
28
+ },
29
+ isPdf(t) {
30
+ return t === "application/pdf";
31
+ },
32
+ FilePreviewModal(t) {
33
+ this.$modal.show(
34
+ l,
35
+ {
36
+ index: this.fileList.indexOf(this.list[t]),
37
+ // Translate src index to img list index
38
+ list: this.fileList
39
+ },
40
+ {
41
+ adaptive: !0,
42
+ height: "100%",
43
+ width: "100%",
44
+ classes: "",
45
+ // Don't remove. In place to not apply default modal class
46
+ transition: ""
47
+ }
48
+ );
49
+ }
50
+ },
51
+ render() {
52
+ return this.$scopedSlots.default({
53
+ openModal: (t) => this.FilePreviewModal(t),
54
+ isImageOrPdf: (t) => this.isImage(t) || this.isPdf(t)
55
+ });
56
+ }
57
+ }, u = null, f = null;
58
+ var h = /* @__PURE__ */ m(
59
+ d,
60
+ u,
61
+ f,
62
+ !1,
63
+ null,
64
+ null
65
+ );
66
+ const w = h.exports, v = {
67
+ name: "AttachmentList",
68
+ components: {
69
+ FilePreviewWrapper: w,
70
+ BaseUpload: () => import("./BaseUpload-BUrXX3fT.js"),
71
+ AttachmentItem: () => import("./AttachmentItem-Da1-7xwf.js")
72
+ },
73
+ mixins: [c(["attachments"])],
74
+ data() {
75
+ return {
76
+ hoverIndex: null,
77
+ newFiles: [],
78
+ maxFileSize: 1e3 * 1e3 * 30
79
+ // 30 MB
80
+ };
81
+ },
82
+ computed: {
83
+ cAttachments() {
84
+ return [
85
+ ...this.attachments,
86
+ ...this.newFiles.map(
87
+ ({ displayName: t, type: e, url: s, progress: n }) => ({
88
+ name: t,
89
+ mime: e,
90
+ url: s,
91
+ progress: parseInt(n, 10)
92
+ })
93
+ )
94
+ ];
95
+ },
96
+ showRecentModal() {
97
+ return !this.viewSettings.isPublicForm;
98
+ }
99
+ },
100
+ methods: {
101
+ immutable: p,
102
+ async onUploadSuccess(t) {
103
+ const { id: e, displayName: s, url: n, mime: i } = t.response;
104
+ if (!e)
105
+ throw new Error("Could not read id from uploaded file");
106
+ this.attachments = [
107
+ ...this.attachments,
108
+ {
109
+ fileId: e,
110
+ name: s,
111
+ mime: i,
112
+ url: n
113
+ }
114
+ ], this.$refs.uploader.remove(t);
115
+ },
116
+ remove(t) {
117
+ if (!this.attachments[t])
118
+ return;
119
+ const e = this.attachments.slice();
120
+ e.splice(t, 1), this.attachments = e;
121
+ }
122
+ }
123
+ };
124
+ var g = function() {
125
+ var e = this, s = e._self._c;
126
+ return s("div", { staticClass: "font-inter" }, [s("FilePreviewWrapper", { attrs: { list: e.cAttachments }, scopedSlots: e._u([{ key: "default", fn: function({ openModal: n, isImageOrPdf: i }) {
127
+ return [s("div", e._l(e.cAttachments, function(o, r) {
128
+ return s("AttachmentItem", { key: r, attrs: { "is-image-or-pdf": i(o.mime), attachment: o, "can-edit": e.canEdit, "upload-progress": o.progress }, on: { click: function(a) {
129
+ i(o.mime) && n(r);
130
+ }, remove: function(a) {
131
+ return e.remove(r);
132
+ }, input: function(a) {
133
+ e.attachments = e.immutable(e.attachments).set(a, r);
134
+ } } });
135
+ }), 1)];
136
+ } }]) }), e.canEdit ? [s("BaseUpload", { ref: "uploader", attrs: { "recent-modal": e.showRecentModal, "autostart-upload": !0, "max-size": e.maxFileSize, 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", accept: "*" }, on: { "upload-success": e.onUploadSuccess }, model: { value: e.newFiles, callback: function(n) {
137
+ e.newFiles = n;
138
+ }, expression: "newFiles" } }), s("CButton", { attrs: { type: "none", pattern: "secondary", wide: "", "icon-left": "upload-cloud" }, on: { click: () => e.$refs.uploader ? e.$refs.uploader.open() : null } }, [e._v(" " + e._s(e.$t("_common:upload", { thing: e.$t("_common:file") })) + " ")])] : e._e()], 2);
139
+ }, _ = [], x = /* @__PURE__ */ m(
140
+ v,
141
+ g,
142
+ _,
143
+ !1,
144
+ null,
145
+ null
146
+ );
147
+ const P = x.exports;
148
+ export {
149
+ P as default
150
+ };
@@ -0,0 +1,57 @@
1
+ import { n as s } from "./main-CQBEuZk9.js";
2
+ const n = {
3
+ name: "InputCompactRow",
4
+ props: {
5
+ label: {
6
+ type: String,
7
+ required: !0
8
+ },
9
+ showClear: {
10
+ type: Boolean,
11
+ default: !1
12
+ },
13
+ displayValue: {
14
+ type: [String, Number, Boolean],
15
+ default: ""
16
+ }
17
+ },
18
+ data() {
19
+ return {
20
+ isEditing: !1
21
+ };
22
+ },
23
+ methods: {
24
+ openEdit() {
25
+ this.isEditing = !0, this.$nextTick(() => {
26
+ const i = this.$el.querySelector("input, [contenteditable]");
27
+ i && i.focus();
28
+ });
29
+ },
30
+ closeEdit() {
31
+ this.isEditing = !1;
32
+ }
33
+ }
34
+ };
35
+ var l = function() {
36
+ var t = this, e = t._self._c;
37
+ return e("div", { staticClass: "input-row" }, [e("div", { staticClass: "flex w-full justify-between" }, [e("div", { staticClass: "input-label" }, [t._t("label", function() {
38
+ return [t._v(t._s(t.label))];
39
+ })], 2), e("div", { staticClass: "flex w-full justify-end", staticStyle: { width: "initial" } }, [t._t("toggle", function() {
40
+ return [t.showClear ? e("CButton", { directives: [{ name: "tooltip", rawName: "v-tooltip", value: t.$t("remove"), expression: "$t('remove')" }], staticClass: "clear-input-button", attrs: { size: "small", icon: "x" }, on: { click: function(r) {
41
+ return t.$emit("remove");
42
+ } } }) : t._e(), t.isEditing ? t.$scopedSlots.bottom ? t._e() : e("div", { directives: [{ name: "click-outside", rawName: "v-click-outside", value: t.closeEdit, expression: "closeEdit" }], ref: "inputContainer" }, [t._t("default")], 2) : e("CButton", { staticClass: "input-toggle-button", class: { "is-edit": t.isEditing }, attrs: { type: "none", pattern: "secondary", size: "small" }, on: { click: t.openEdit } }, [t._t("displayValue", function() {
43
+ return [t._v(t._s(t.displayValue))];
44
+ })], 2)];
45
+ })], 2)]), t.$scopedSlots.bottom ? e("div", [e("div", { directives: [{ name: "click-outside", rawName: "v-click-outside", value: () => t.isEditing ? t.closeEdit : null, expression: "() => (isEditing ? closeEdit : null)" }] }, [t._t("bottom", null, { isEditing: t.isEditing, closeEdit: t.closeEdit })], 2)]) : t._e()]);
46
+ }, o = [], a = /* @__PURE__ */ s(
47
+ n,
48
+ l,
49
+ o,
50
+ !1,
51
+ null,
52
+ "7c177475"
53
+ );
54
+ const d = a.exports;
55
+ export {
56
+ d as I
57
+ };
@@ -0,0 +1,58 @@
1
+ import { n as i } from "./main-CQBEuZk9.js";
2
+ const n = {
3
+ name: "ManualPopover",
4
+ data() {
5
+ return {
6
+ open: !1
7
+ };
8
+ },
9
+ mounted() {
10
+ var e, o;
11
+ const t = (o = (e = this.$slots.default) == null ? void 0 : e[0]) == null ? void 0 : o.elm;
12
+ t && t.addEventListener("click", this.onButtonClick);
13
+ },
14
+ beforeDestroy() {
15
+ var e, o;
16
+ const t = (o = (e = this.$slots.default) == null ? void 0 : e[0]) == null ? void 0 : o.elm;
17
+ t && t.removeEventListener("click", this.onButtonClick), this.removeClickOutsideListener();
18
+ },
19
+ methods: {
20
+ onButtonClick() {
21
+ this.open = !this.open, this.open ? this.addClickOutsideListener() : this.removeClickOutsideListener();
22
+ },
23
+ onClickOutside(t) {
24
+ const e = this.$refs.popover.$el;
25
+ !this.$el.contains(t.target) && !e.contains(t.target) && (this.open = !1, this.removeClickOutsideListener());
26
+ },
27
+ addClickOutsideListener() {
28
+ setTimeout(() => {
29
+ this.getRootElm().addEventListener("click", this.onClickOutside);
30
+ }, 0);
31
+ },
32
+ removeClickOutsideListener() {
33
+ this.getRootElm().removeEventListener("click", this.onClickOutside);
34
+ },
35
+ getRootElm() {
36
+ var o, s;
37
+ const t = (s = (o = this.$el).getRootNode) == null ? void 0 : s.call(o);
38
+ return (t == null ? void 0 : t.toString()) === "[object ShadowRoot]" ? t : document;
39
+ }
40
+ }
41
+ };
42
+ var r = function() {
43
+ var e = this, o = e._self._c;
44
+ return o("v-popover", e._g(e._b({ ref: "popover", attrs: { trigger: "manual", open: e.open, "auto-hide": !1 }, on: { "update:open": function(s) {
45
+ e.open = s;
46
+ } } }, "v-popover", e.$attrs, !1), e.$listeners), [e._t("default"), o("div", { attrs: { slot: "popover" }, slot: "popover" }, [e._t("popover")], 2)], 2);
47
+ }, l = [], a = /* @__PURE__ */ i(
48
+ n,
49
+ r,
50
+ l,
51
+ !1,
52
+ null,
53
+ null
54
+ );
55
+ const d = a.exports;
56
+ export {
57
+ d as M
58
+ };
@@ -0,0 +1,23 @@
1
+ import { m as a } from "./mapFormMixin-DlFcgwhm.js";
2
+ import { B as n } from "./BlockMedia-CYI07qAn.js";
3
+ import { n as m } from "./main-CQBEuZk9.js";
4
+ const o = {
5
+ name: "MediaWrapper",
6
+ components: { BlockMedia: n },
7
+ mixins: [a(["item"])]
8
+ };
9
+ var i = function() {
10
+ var e = this, r = e._self._c;
11
+ return r("BlockMedia", { attrs: { media: e.item.media } });
12
+ }, t = [], s = /* @__PURE__ */ m(
13
+ o,
14
+ i,
15
+ t,
16
+ !1,
17
+ null,
18
+ null
19
+ );
20
+ const f = s.exports;
21
+ export {
22
+ f as default
23
+ };
@@ -0,0 +1,32 @@
1
+ import { P as e } from "./PlainHtml-BMPZs2fT.js";
2
+ import { n } from "./main-CQBEuZk9.js";
3
+ const r = {
4
+ name: "NotBindingText",
5
+ i18nOptions: {
6
+ namespaces: "NotBindingText",
7
+ messages: {
8
+ en: {
9
+ description: "The approval of this document is not binding and the contractor reserves the right on reasonable grounds (for instance, lack of time) refrain from accepting the project."
10
+ },
11
+ sv: {
12
+ description: "Svaret på dokumentet är ej bindande och Utställaren förbehåller sig rätten att vid rimliga skäl (exempelvis vid brist på tid) avstå från att anta projektet."
13
+ }
14
+ }
15
+ },
16
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
17
+ render(t) {
18
+ return t(e, [this.$t("description")]);
19
+ }
20
+ }, i = null, o = null;
21
+ var s = /* @__PURE__ */ n(
22
+ r,
23
+ i,
24
+ o,
25
+ !1,
26
+ null,
27
+ null
28
+ );
29
+ const c = s.exports;
30
+ export {
31
+ c as default
32
+ };