@arkitektum/altinn-studio-custom-components 3.2.0 → 4.0.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.
- package/dist/49c816770b639989d28b.woff2 +0 -0
- package/dist/main.css +241 -0
- package/dist/main.js +1 -1
- package/package.json +9 -3
|
Binary file
|
package/dist/main.css
ADDED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
custom-divider {
|
|
2
|
+
hr {
|
|
3
|
+
background-color: var(--color-divider-default);
|
|
4
|
+
border: none;
|
|
5
|
+
height: 1px;
|
|
6
|
+
margin: 20px 0;
|
|
7
|
+
page-break-before: avoid;
|
|
8
|
+
&::before {
|
|
9
|
+
content: "";
|
|
10
|
+
display: block;
|
|
11
|
+
height: 50px;
|
|
12
|
+
margin-top: -50px;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
custom-field {
|
|
18
|
+
font-family: var(--font-family-default);
|
|
19
|
+
font-size: var(--font-size-default);
|
|
20
|
+
font-weight: var(--font-weight-default);
|
|
21
|
+
color: var(--color-text-default);
|
|
22
|
+
line-height: var(--line-height-default);
|
|
23
|
+
& .field {
|
|
24
|
+
&.inline {
|
|
25
|
+
display: flex;
|
|
26
|
+
align-items: baseline;
|
|
27
|
+
flex-direction: row;
|
|
28
|
+
gap: 0.5rem;
|
|
29
|
+
}
|
|
30
|
+
& label {
|
|
31
|
+
font-weight: bold;
|
|
32
|
+
display: block;
|
|
33
|
+
page-break-after: avoid;
|
|
34
|
+
page-break-inside: avoid;
|
|
35
|
+
&::after {
|
|
36
|
+
content: "";
|
|
37
|
+
display: block;
|
|
38
|
+
height: 50px;
|
|
39
|
+
margin-bottom: -50px;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
& span {
|
|
43
|
+
white-space: pre-line;
|
|
44
|
+
display: block;
|
|
45
|
+
}
|
|
46
|
+
&:not(.inline) {
|
|
47
|
+
& span {
|
|
48
|
+
&.has-title {
|
|
49
|
+
page-break-before: avoid;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
custom-header {
|
|
57
|
+
font-family: var(--font-family-default);
|
|
58
|
+
font-weight: var(--font-weight-default);
|
|
59
|
+
color: var(--color-text-default);
|
|
60
|
+
display: block;
|
|
61
|
+
page-break-after: avoid;
|
|
62
|
+
page-break-inside: avoid;
|
|
63
|
+
&::after {
|
|
64
|
+
content: "";
|
|
65
|
+
display: block;
|
|
66
|
+
height: 150px;
|
|
67
|
+
margin-bottom: -150px;
|
|
68
|
+
}
|
|
69
|
+
& h1,
|
|
70
|
+
& h2,
|
|
71
|
+
& h3,
|
|
72
|
+
& h4 {
|
|
73
|
+
page-break-after: avoid;
|
|
74
|
+
display: inline-block;
|
|
75
|
+
margin-block-start: 1em;
|
|
76
|
+
margin-block-end: 0;
|
|
77
|
+
line-height: 1.1em;
|
|
78
|
+
}
|
|
79
|
+
& h1 {
|
|
80
|
+
font-size: var(--font-size-h1);
|
|
81
|
+
font-weight: var(--font-weight-default);
|
|
82
|
+
}
|
|
83
|
+
& h2 {
|
|
84
|
+
font-size: var(--font-size-h2);
|
|
85
|
+
font-weight: var(--font-weight-default);
|
|
86
|
+
}
|
|
87
|
+
& h3 {
|
|
88
|
+
font-size: var(--font-size-h3);
|
|
89
|
+
font-weight: var(--font-weight-default);
|
|
90
|
+
}
|
|
91
|
+
& h4 {
|
|
92
|
+
font-size: var(--font-size-h4);
|
|
93
|
+
font-weight: var(--font-weight-default);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
custom-list {
|
|
98
|
+
font-family: var(--font-family-default);
|
|
99
|
+
font-size: var(--font-size-default);
|
|
100
|
+
font-weight: var(--font-weight-default);
|
|
101
|
+
color: var(--color-text-default);
|
|
102
|
+
line-height: var(--line-height-default);
|
|
103
|
+
& .field {
|
|
104
|
+
& label {
|
|
105
|
+
font-weight: bold;
|
|
106
|
+
display: block;
|
|
107
|
+
page-break-after: avoid;
|
|
108
|
+
page-break-inside: avoid;
|
|
109
|
+
&::after {
|
|
110
|
+
content: "";
|
|
111
|
+
display: block;
|
|
112
|
+
height: 50px;
|
|
113
|
+
margin-bottom: -50px;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
ul {
|
|
118
|
+
padding-inline-start: 1em;
|
|
119
|
+
margin-block: 0;
|
|
120
|
+
display: block;
|
|
121
|
+
&.has-title {
|
|
122
|
+
page-break-before: avoid;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
custom-table {
|
|
128
|
+
font-family: var(--font-family-default);
|
|
129
|
+
font-size: var(--font-size-default);
|
|
130
|
+
font-weight: var(--font-weight-default);
|
|
131
|
+
color: var(--color-text-default);
|
|
132
|
+
line-height: var(--line-height-default);
|
|
133
|
+
& table {
|
|
134
|
+
border-spacing: 0;
|
|
135
|
+
border: 1px solid #e7e4e4;
|
|
136
|
+
border-radius: 6px;
|
|
137
|
+
overflow: hidden;
|
|
138
|
+
width: 100%;
|
|
139
|
+
margin: 0.75rem 0px;
|
|
140
|
+
& td,
|
|
141
|
+
& th {
|
|
142
|
+
padding: 8px 12px;
|
|
143
|
+
}
|
|
144
|
+
& thead {
|
|
145
|
+
& th {
|
|
146
|
+
text-align: left;
|
|
147
|
+
font-weight: 500;
|
|
148
|
+
background-color: var(--background-muted);
|
|
149
|
+
border-bottom: 1px solid #dddada;
|
|
150
|
+
line-height: var(--line-height-table-header);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
& tbody {
|
|
154
|
+
& tr {
|
|
155
|
+
&:nth-child(even) {
|
|
156
|
+
background-color: #fefcfc;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
& tr:not(:last-of-type) {
|
|
160
|
+
& td {
|
|
161
|
+
border-bottom: 1px solid #dddada;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
custom-field-adresse {
|
|
169
|
+
display: block;
|
|
170
|
+
page-break-inside: avoid;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
@font-face {
|
|
174
|
+
font-family: "Roboto Flex";
|
|
175
|
+
src: url(49c816770b639989d28b.woff2) format("woff2");
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
:root {
|
|
179
|
+
--font-family-default: "Roboto Flex", Arial, sans-serif;
|
|
180
|
+
--color-text-default: #1c1b1d;
|
|
181
|
+
--background-muted: #f7f4f4;
|
|
182
|
+
--color-divider-default: #cdcaca;
|
|
183
|
+
--font-size-default: 16px;
|
|
184
|
+
--font-size-h1: 42px;
|
|
185
|
+
--font-size-h2: 30px;
|
|
186
|
+
--font-size-h3: 23px;
|
|
187
|
+
--font-size-h4: 19px;
|
|
188
|
+
--font-weight-default: 400;
|
|
189
|
+
--line-height-default: 24px;
|
|
190
|
+
--line-height-table-header: 20px;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
body {
|
|
194
|
+
-webkit-print-color-adjust: exact !important;
|
|
195
|
+
print-color-adjust: exact !important;
|
|
196
|
+
background-color: #fff;
|
|
197
|
+
font-family: var(--font-family-default);
|
|
198
|
+
font-size: var(--font-size-default);
|
|
199
|
+
color: var(--color-text-default);
|
|
200
|
+
line-height: var(--line-height-default);
|
|
201
|
+
letter-spacing: normal;
|
|
202
|
+
& p,
|
|
203
|
+
& h1,
|
|
204
|
+
& h2,
|
|
205
|
+
& h3,
|
|
206
|
+
& h4,
|
|
207
|
+
& h5,
|
|
208
|
+
& h6 {
|
|
209
|
+
color: var(--color-text-default);
|
|
210
|
+
&[class^="fds-"] {
|
|
211
|
+
font-family: var(--font-family-default);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
@media print {
|
|
217
|
+
html {
|
|
218
|
+
font-size: inherit !important;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
@page {
|
|
223
|
+
size: A4 portrait;
|
|
224
|
+
margin-top: 1cm;
|
|
225
|
+
margin-left: 1.25cm;
|
|
226
|
+
margin-right: 1.25cm;
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
#pdfView {
|
|
230
|
+
& > div:first-of-type {
|
|
231
|
+
margin-bottom: -55px;
|
|
232
|
+
& h1 {
|
|
233
|
+
margin-top: -50px;
|
|
234
|
+
}
|
|
235
|
+
& img {
|
|
236
|
+
width: 85px;
|
|
237
|
+
height: auto;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
|
package/dist/main.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{"use strict";class e{constructor(e){this.adresselinje1=e?.adresselinje1,this.adresselinje2=e?.adresselinje2,this.adresselinje3=e?.adresselinje3,this.postnr=e?.postnr,this.poststed=e?.poststed}}function t(e){for(let t in e)if(!!e?.[t]?.toString().length>0)return!0;return!1}function s(e,t){for(let s in t)e.style[s]=t[s]}async function n(e){let t=e.getAttribute("texts");return t?JSON.parse(t):(t=await(s=e,n="texts",new Promise(((e,t)=>{void 0===s[n]?Object.defineProperty(s,n,{set:t=>{Object.defineProperty(s,n,{value:t}),e(t)},configurable:!0,enumerable:!0}):e(s[n])}))),t);var s,n}function i(e,t){const s=document.createElement(e);return function(e,t){for(const s in t)e.setAttribute(s,t[s])}(s,{formdata:JSON.stringify({["object"==typeof t?.data?"data":"simpleBinding"]:t?.data}),text:t?.text?.toString()||"",size:t?.size?.toString()||"",hidetitle:t?.hideTitle?.toString()||"",hideifempty:t?.hideIfEmpty?.toString()||"",emptyfieldtext:t?.emptyFieldText?.toString()||"",styleoverride:JSON.stringify(t?.styleoverride)||"",grid:JSON.stringify(t?.grid)||"",texts:JSON.stringify(t?.texts)||""}),s}function l(e){const t=document.createElement("div"),n=document.createElement("div");return n.appendChild(e),t.appendChild(n),s(t,{padding:"0.75rem 0"}),t}function r(e,t){const n=document.createElement("label");n.classList.add("fds-label","fds-label--md"),s(n,{breakAfter:"avoid"});const i=document.createElement("span");return i.innerText=`${e}${t?":":""}`,n.appendChild(i),n}function a(e,t,n){n={returnHtml:!0,inline:!1,styleoverride:{},...n};const i=document.createElement("div");return i.classList.add("field"),e?.length&&i.appendChild(r(e,n.inline)),i.appendChild(function(e){const t=document.createElement("span");return t.classList.add("fds-paragraph","fds-paragraph--md"),t.innerHTML=e,s(t,{whiteSpace:"pre-line"}),t}(t)),s(i,{...n.styleoverride,display:"flex",alignItems:"baseline",flexDirection:n.inline?"row":"column",gap:n.inline?"0.5rem":"0"}),n.returnHtml?i.outerHTML:i}function d(e,t,s=!0){const n=document.createElement(t||"ul");return n.classList.add("fds-paragraph","fds-paragraph--md","fds-list","fds-list--md"),e.forEach((e=>{const t=document.createElement("li");t.innerHTML=e,n.appendChild(t)})),s?n.outerHTML:n}function o(e,t,n){const i=document.createElement("div");return i.classList.add("field"),e?.length&&i.appendChild(r(e)),i.appendChild(d(t,n,!1)),s(i,{display:"flex",flexDirection:"column"}),i.outerHTML}function c(e){return{data:function(e){const s=t(e?.simpleBinding)?e.simpleBinding:null,n=t(e?.data)?e.data:null;return s||n}(JSON.parse(e.getAttribute("formdata"))),text:e.getAttribute("text"),inline:"true"===e.getAttribute("inline"),hideTitle:"true"===e.getAttribute("hideTitle"),hideIfEmpty:"true"===e.getAttribute("hideIfEmpty"),emptyFieldText:e.getAttribute("emptyFieldText"),styleoverride:JSON.parse(e.getAttribute("styleoverride")||"{}")}}function u(e,t,s,n){s.forEach((s=>{void 0!==e[s]&&null!==e[s]||(null!=t?.[s]?console.warn(`Missing textResourceBindings.${s} for "${n}". Using fallback text: "${t[s]}"`):console.warn(`Missing textResourceBindings.${s} for "${n}".`))}))}function m(e){return e?.parentElement?.parentElement}customElements.define("custom-field-adresse",class extends HTMLElement{connectedCallback(){const{data:s,text:n,hideTitle:i,hideIfEmpty:l,emptyFieldText:r,inline:d,styleoverride:o}=c(this),u=m(this),f=new e(s);if(l&&!t(f)&&u)u.style.display="none";else{const e=!i&&n,t=function(e){const t=function(e){return[e.adresselinje1,e.adresselinje2,e.adresselinje3].filter((e=>e?.length)).join("\n")}(e),s=function(e){return[e.postnr,e.poststed].filter((e=>e?.length)).join(" ")}(e);return t?.length?`${t}\n${s}`:s}(f),s={inline:d,styleoverride:o};this.innerHTML=a(e,t?.length?t:r,s)}}});class f{constructor(e){this.navn=e?.navn,this.organisasjonsnummer=e?.organisasjonsnummer}}customElements.define("custom-field-part-navn",class extends HTMLElement{connectedCallback(){const{data:e,text:s,hideTitle:n,hideIfEmpty:i,emptyFieldText:l,inline:r,styleoverride:d}=c(this),o=m(this),u=new f(e);if(i&&!t(u)&&o)o.style.display="none";else{const e=!n&&s,t=function(e,t){let s=e?.navn||"";return t||(s+=e?.organisasjonsnummer?.length?`\nOrganisasjonsnummer: ${e.organisasjonsnummer}`:""),s}(u,"true"===this.getAttribute("hideOrgNr")),i={inline:r,styleoverride:d};this.innerHTML=a(e,t?.length?t:l,i)}}}),customElements.define("custom-field-boolean-text",class extends HTMLElement{async connectedCallback(){const{data:e,text:t,hideTitle:s,hideIfEmpty:i,inline:l,styleoverride:r}=c(this),d=m(this),o=await async function(e,t){const s=t.getAttribute("id"),i=await n(t),l={trueText:"Ja",falseText:"Nei",defaultText:""};return u(i,l,["trueText","falseText","defaultText"],s),!0===e||"true"===e?void 0!==i?.trueText&&null!==i.trueText?i.trueText:l.trueText:!1===e||"false"===e?void 0!==i?.falseText&&null!==i.falseText?i.falseText:l.falseText:i?.defaultText?i.defaultText:l.defaultText}(e,this);if(i&&!o?.length&&d)d.style.display="none";else{const e=!s&&t,n={inline:l,styleoverride:r};this.innerHTML=a(e,o,n)}}}),customElements.define("custom-field-data",class extends HTMLElement{connectedCallback(){const{data:e,text:t,hideTitle:s,hideIfEmpty:n,emptyFieldText:i,inline:l,styleoverride:r}=c(this),d=m(this);if(n&&!e&&d)d.style.display="none";else{const n=!s&&t,d=e||i,o={inline:l,styleoverride:r};this.innerHTML=a(n,d,o)}}});class h{constructor(e){this.saksaar=e?.saksaar,this.sakssekvensnummer=e?.sakssekvensnummer}}customElements.define("custom-field-kommunens-saksnummer",class extends HTMLElement{connectedCallback(){const{data:e,text:s,hideTitle:n,hideIfEmpty:i,emptyFieldText:l,inline:r,styleoverride:d}=c(this),o=m(this),u=new h(e);if(i&&!t(u)&&o)o.style.display="none";else{const e=!n&&s,t=function(e){return[e?.saksaar.toString(),e?.sakssekvensnummer.toString()].filter((e=>e?.length)).join("/")}(u),i={inline:r,styleoverride:d};this.innerHTML=a(e,t?.length?t:l,i)}}});class p{constructor(e){this.prosjektnavn=e?.prosjektnavn,this.prosjektnr=e?.prosjektnr}}customElements.define("custom-field-prosjekt",class extends HTMLElement{connectedCallback(){const{data:e,text:s,hideTitle:n,hideIfEmpty:i,emptyFieldText:l,inline:r,styleoverride:d}=c(this),o=m(this),u=new p(e);if(i&&!t(u)&&o)o.style.display="none";else{const e=!n&&s,t=function(e){const t=e?.prosjektnr?.length&&`(${e.prosjektnr})`;return[e?.prosjektnavn,t].filter((e=>e?.length)).join(" ")}(u),i=t?.length?t:l,o={inline:r,styleoverride:d};this.innerHTML=a(e,i,o)}}});class g{constructor(e){this.telefonnummer=e?.telefonnummer,this.mobilnummer=e?.mobilnummer}}customElements.define("custom-field-telefonnummer",class extends HTMLElement{connectedCallback(){const{data:e,text:s,hideTitle:n,hideIfEmpty:i,emptyFieldText:l,inline:r,styleoverride:d}=c(this),o=m(this),u=new g(e);if(i&&!t(u)&&o)o.style.display="none";else{const e=!n&&s,t=function(e){return[e.telefonnummer,e.mobilnummer].filter((e=>e?.length)).join("\n")}(u),i=t?.length?t:l,o={inline:r,styleoverride:d};this.innerHTML=a(e,i,o)}}});class y{constructor(e){this.erUtfallBesvaresSenere=e?.erUtfallBesvaresSenere,this.erUtfallBesvart=e?.erUtfallBesvart}}customElements.define("custom-field-utfall-svar-status",class extends HTMLElement{async connectedCallback(){const{data:e,text:t,hideTitle:s,hideIfEmpty:i,inline:l,styleoverride:r}=c(this),d=m(this),o=new y(e),f=await async function(e,t){const s=t.getAttribute("id"),i=await n(t),l={erUtfallBesvaresSenere:"Besvares senere",erUtfallBesvart:"Svar innsendt tidligere",status:"Besvares nå"};return u(i,l,["erUtfallBesvaresSenere","erUtfallBesvart","status"],s),e?.erUtfallBesvaresSenere?null!=i?.erUtfallBesvaresSenere?i.erUtfallBesvaresSenere:l.erUtfallBesvaresSenere:e?.erUtfallBesvart?null!=i?.erUtfallBesvart?i.erUtfallBesvart:l.erUtfallBesvart:i?.status?i.status:l.status}(o,this);if(i&&!f?.length&&d)d.style.display="none";else{const e=!s&&t,n={inline:l,styleoverride:r};this.innerHTML=a(e,f,n)}}});class v{constructor(e){this.kodebeskrivelse=e?.kodebeskrivelse}}class x{constructor(e){this.kodeverdi=e?.kodeverdi}}class T{constructor(e){this.kodebeskrivelse=e?.kodebeskrivelse}}class E{constructor(e){this.filnavn=e?.filnavn,this.vedleggstype=e?.vedleggstype&&new T(e.vedleggstype)}}class k{constructor(e){this.vedlegg=e?.vedlegg&&e.vedlegg.map((e=>new E(e)))}}class b{constructor(e){this.beskrivelse=e?.beskrivelse,this.erUtfallBesvaresSenere=e?.erUtfallBesvaresSenere,this.erUtfallBesvart=e?.erUtfallBesvart,this.kommentar=e?.kommentar,this.tema=e?.tema&&new v(e.tema),this.tittel=e?.tittel,this.utfallType=e?.utfallType&&new x(e.utfallType),this.vedleggsliste=e?.vedleggsliste&&new k(e.vedleggsliste)}}customElements.define("custom-grouplist-utfall-svar-type",class extends HTMLElement{async connectedCallback(){const{data:e}=c(this),s=m(this),l=await n(this),r=e.reduce(((e,t)=>{const s=t?.utfallType?.kodeverdi;return e[s]||(e[s]=[]),e[s].push(new b(t)),e}),{});if(!t(e)&&s)s.style.display="none";else for(const e of Object.keys(r)){const t=await i("custom-group-utfall-svar-type",{data:r[e],text:l[`${e?.toLowerCase()}.header`],texts:l});this.appendChild(t)}}}),customElements.define("custom-group-utfall-svar-type",class extends HTMLElement{async connectedCallback(){const{data:e,text:s}=c(this),n=JSON.parse(this.getAttribute("texts"));if(t(e)){const t=l(i("custom-header-text",{text:s,size:"h2"}));this.appendChild(t);const r=l(await i("custom-grouplist-utfall-svar",{data:e,texts:n}));this.appendChild(r)}}}),customElements.define("custom-grouplist-utfall-svar",class extends HTMLElement{connectedCallback(){const{data:e,hideIfEmpty:n}=c(this),l=m(this),r=JSON.parse(this.getAttribute("texts"));if(n&&!t(e)&&l)l.style.display="none";else{for(const t of e){const n=i("custom-group-utfall-svar",{data:t,hideIfEmpty:!0,texts:r});if(this.appendChild(n),t!==e[e.length-1]){const e=document.createElement("hr");s(e,{height:"2px",border:"none",backgroundColor:"#68707C",margin:"0"}),this.appendChild(e)}}s(this,{display:"flex",flexDirection:"column",gap:"1.5rem"})}}}),customElements.define("custom-group-utfall-svar",class extends HTMLElement{async connectedCallback(){const{data:e}=c(this),n=m(this),r=JSON.parse(this.getAttribute("texts"));if(!t(e)&&n)n.style.display="none";else{const t=document.createElement("div"),n=i("custom-header-text",{text:e?.tittel,size:"h3"});t.appendChild(n),t.appendChild(function(e){return l(i("custom-field-data",{data:e?.beskrivelse,hideIfEmpty:!0}))}(e)),t.appendChild(function(e,t){return l(i("custom-field-utfall-svar-status",{data:e,texts:t,text:t?.["status.title"]}))}(e,r)),t.appendChild(function(e,t){return l(i("custom-field-data",{data:e?.tema?.kodebeskrivelse,text:t?.["tema.kodebeskrivelse.title"],hideIfEmpty:!0}))}(e,r)),t.appendChild(function(e,t){return l(i("custom-field-data",{data:e?.kommentar,text:t?.["kommentar.title"],hideIfEmpty:!1,emptyFieldText:"-"}))}(e,r)),t.appendChild(function(e,t){return l(i("custom-list-vedlegg",{data:e?.vedleggsliste?.vedlegg,text:t?.["vedleggsliste.vedlegg.title"],hideIfEmpty:!0}))}(e,r)),this.appendChild(t),s(this,{display:"flex",flexFlow:"wrap",justifyContent:"start",alignItems:"flex-start"})}}}),customElements.define("custom-header-text",class extends HTMLElement{connectedCallback(){const{text:e,styleoverride:t}=c(this),n=this.getAttribute("size");this.innerHTML=function(e,t,n){const i=document.createElement(t||"h2");return i.classList.add("fds-heading",function(e){const t=[{size:"h2",className:"fds-heading--md"},{size:"h3",className:"fds-heading--sm"},{size:"h4",className:"fds-heading--xs"}].find((t=>t.size===e));return t?.className||"fds-heading--md"}(t)),i.innerHTML=e,s(i,n),i.outerHTML}(e,n,t),s(this,{display:"block",pageBreakAfter:"avoid",pageBreakInside:"avoid"})}}),customElements.define("custom-list-data",class extends HTMLElement{connectedCallback(){const{data:e,text:s,hideTitle:n,hideIfEmpty:i,emptyFieldText:l,styleoverride:r}=c(this),u=m(this),f=this.getAttribute("itemKey"),h=f?.length?function(e,t){return e.map((e=>e?.[t]))}(e,f):e,p=!n&&s;i&&!t(h)&&u?u.style.display="none":this.innerHTML=l?.length&&!h?.length?a(p,l,!0):p?.length?o(p,h):d(h)}}),customElements.define("custom-list-vedlegg",class extends HTMLElement{connectedCallback(){const{data:e,text:s,hideTitle:n,hideIfEmpty:i,emptyFieldText:l,styleoverride:r}=c(this),u=m(this),f=(h=e,h?.length&&h.map((e=>{const t=new E(e),s=function(e){return e?.vedleggstype?.kodebeskrivelse}(t),n=function(e){return e?.filnavn}(t);return s?.length&&n?.length?`${s} (${n})`:s?.length?s:n?.length?n:null})).filter((e=>e)));var h;const p=!n&&s;i&&!t(f)&&u?u.style.display="none":this.innerHTML=l?.length&&!f?.length?a(p,l,!0):p?.length?o(p,f):d(f)}})})();
|
|
1
|
+
(()=>{"use strict";function e(e){if("string"==typeof e)return e.length>0;if("number"==typeof e)return!1===isNaN(e);for(let t in e)if(!!e?.[t]?.toString().length>0)return!0;return!1}function t(e,t){for(let n in t)e.style[n]=t[n]}async function n(e){let t=e.getAttribute("texts");return t?JSON.parse(t):(t=await(n=e,s="texts",new Promise(((e,t)=>{void 0===n[s]?Object.defineProperty(n,s,{set:t=>{Object.defineProperty(n,s,{value:t}),e(t)},configurable:!0,enumerable:!0}):e(n[s])}))),t);var n,s}function s(t,n){const s=document.createElement(t),i={isChildComponent:"true"};if(e(n?.data)){const e="object"==typeof n?.data?"data":"simpleBinding",t="number"==typeof n?.data?n.data.toString():n?.data;i.formdata=JSON.stringify({[e]:t})}return(n?.text||n?.texts?.title)&&(i.text=n?.text?.toString()||n?.texts?.title?.toString()||""),e(n?.size)&&(i.size=n?.size?.toString()||""),"true"===n?.hideTitle?.toString()&&(i.hidetitle="true"),"true"===n?.hideIfEmpty?.toString()&&(i.hideifempty="true"),"true"===n?.inline?.toString()&&(i.inline="true"),e(n?.emptyFieldText)&&(i.emptyfieldtext=n?.emptyFieldText.toString()||""),e(n?.styleoverride)&&(i.styleoverride=JSON.stringify(n?.styleoverride)||""),e(n?.grid)&&(i.grid=JSON.stringify(n?.grid)||""),e(n?.texts)&&(i.texts=JSON.stringify(n?.texts)||""),e(n?.tableColumns)&&(i.tablecolumns=JSON.stringify(n?.tableColumns)||""),function(e,t){for(const n in t)e.setAttribute(n,t[n])}(s,i),s}function i(e){const n=document.createElement("div"),s=document.createElement("div");return s.appendChild(e),n.appendChild(s),t(n,{padding:"0.75rem 0"}),n}function l(t){return{data:function(t){const n=e(t?.simpleBinding)?t.simpleBinding:null,s=e(t?.data)?t.data:null;return n||s}(JSON.parse(t.getAttribute("formdata"))),text:t.getAttribute("text"),inline:"true"===t.getAttribute("inline"),hideTitle:"true"===t.getAttribute("hideTitle"),size:t.getAttribute("size"),hideIfEmpty:"true"===t.getAttribute("hideIfEmpty"),emptyFieldText:t.getAttribute("emptyFieldText"),styleoverride:JSON.parse(t.getAttribute("styleoverride")||"{}"),isChildComponent:"true"===t.getAttribute("isChildComponent")}}function r(e,t,n,s){n.forEach((n=>{void 0!==e[n]&&null!==e[n]||(null!=t?.[n]?console.warn(`Missing textResourceBindings.${n} for "${s}". Using fallback text: "${t[n]}"`):console.warn(`Missing textResourceBindings.${n} for "${s}".`))}))}function a(e){return e?.parentElement?.parentElement}function o(e,t,n=!0){const s=document.createElement(t||"ul");return e.forEach((e=>{const t=document.createElement("li");t.innerHTML=e,s.appendChild(t)})),n?s.outerHTML:s}function d(e,n){const i=document.createElement("table"),l=document.createElement("thead"),r=document.createElement("tr");if(e?.tableHeaders?.length&&e?.tableRows?.length){e.tableHeaders.forEach((e=>{r.appendChild(function(e){const n=document.createElement("th");return n.textContent=e.text,t(n,e?.props?.styleOverride),n}(e))})),l.appendChild(r),i.appendChild(l);const n=document.createElement("tbody");e.tableRows.forEach((e=>{n.appendChild(function(e){const t=document.createElement("tr");return e.forEach((e=>{t.appendChild(function(e){const t=document.createElement("td");return t.innerHTML=s(e.tagName,{data:e.data,text:e.text,hideTitle:!0,emptyFieldText:e.emptyFieldText,styleoverride:e.styleoverride}).outerHTML,t}(e))})),t}(e))})),i.appendChild(n)}else if(n){const e=document.createElement("tr"),t=document.createElement("td");t.textContent=n,e.appendChild(t),i.appendChild(e)}return i}customElements.define("custom-divider",class extends HTMLElement{connectedCallback(){const{styleoverride:e}=l(this),n=document.createElement("hr");t(n,e),this.innerHTML="",this.appendChild(n)}}),customElements.define("custom-field",class extends HTMLElement{connectedCallback(){const{data:e,text:n,hideIfEmpty:s,inline:i,styleoverride:r}=l(this),o=a(this);if(s&&!e&&o)o.style.display="none";else{const s={inline:i,styleoverride:r};this.innerHTML=function(e,n,s){s={returnHtml:!0,inline:!1,styleoverride:{},...s};const i=document.createElement("div");i.classList.add("field"),e?.length&&i.appendChild(function(e,t){const n=document.createElement("label");return n.innerText=`${e}${t?":":""}`,n}(e,s.inline)),s?.inline&&i.classList.add("inline");const l=function(e){const t=document.createElement("span");return t.innerHTML=e,t}(n);return e?.length&&l.classList.add("has-title"),i.appendChild(l),t(i,{...s.styleoverride}),s.returnHtml?i.outerHTML:i}(n,e,s)}}}),customElements.define("custom-header",class extends HTMLElement{connectedCallback(){const{text:e,styleoverride:n,size:s}=l(this);this.innerHTML=function(e,t){const n=document.createElement(t||"h2");return n.innerHTML=e,n.outerHTML}(e,s),t(this,n)}}),customElements.define("custom-list",class extends HTMLElement{connectedCallback(){const{data:e,text:n,styleoverride:s}=l(this);this.innerHTML=n?.length?function(e,t,n){const s=document.createElement("div");s.classList.add("field"),e?.length&&s.appendChild(function(e){const t=document.createElement("label");return t.innerText=e,t}(e));const i=o(t,n,!1);return e?.length&&i.classList.add("has-title"),s.appendChild(i),s.outerHTML}(n,e):o(e),t(this,s)}}),customElements.define("custom-table",class extends HTMLElement{async connectedCallback(){const{data:e,text:n,hideIfEmpty:i,emptyFieldText:r,size:o,styleoverride:c}=l(this),u=a(this);if(i&&!e&&u)u.style.display="none";else{const i=function(e,t){if(e)return s("custom-header",{text:e,size:t})}(n,o),l=d(e,r);this.innerHTML="",i&&this.appendChild(i),this.appendChild(l),t(this,c)}}});class c{constructor(e){this.adresselinje1=e?.adresselinje1,this.adresselinje2=e?.adresselinje2,this.adresselinje3=e?.adresselinje3,this.postnr=e?.postnr,this.poststed=e?.poststed}}customElements.define("custom-field-adresse",class extends HTMLElement{connectedCallback(){const{data:t,text:n,hideTitle:i,hideIfEmpty:r,emptyFieldText:o,inline:d,styleoverride:u}=l(this),m=a(this),h=new c(t);if(r&&!e(h)&&m)m.style.display="none";else{const e=!i&&n,t=function(e){const t=function(e){return[e.adresselinje1,e.adresselinje2,e.adresselinje3].filter((e=>e?.length)).join("\n")}(e),n=function(e){return[e.postnr,e.poststed].filter((e=>e?.length)).join(" ")}(e);return t?.length?`${t}\n${n}`:n}(h);this.innerHTML=s("custom-field",{data:t?.length?t:o,text:e,inline:d,styleoverride:u}).outerHTML}}});class u{constructor(e){this.navn=e?.navn,this.organisasjonsnummer=e?.organisasjonsnummer}}customElements.define("custom-field-part-navn",class extends HTMLElement{connectedCallback(){const{data:t,text:n,hideTitle:i,hideIfEmpty:r,emptyFieldText:o,inline:d,styleoverride:c}=l(this),m=a(this),h=new u(t);if(r&&!e(h)&&m)m.style.display="none";else{const e=!i&&n,t=function(e,t){let n=e?.navn||"";return t||(n+=e?.organisasjonsnummer?.length?`\nOrganisasjonsnummer: ${e.organisasjonsnummer}`:""),n}(h,"true"===this.getAttribute("hideOrgNr"));this.innerHTML=s("custom-field",{data:t?.length?t:o,text:e,inline:d,styleoverride:c}).outerHTML}}}),customElements.define("custom-field-boolean-text",class extends HTMLElement{async connectedCallback(){const{data:e,text:t,hideTitle:i,hideIfEmpty:o,inline:d,styleoverride:c}=l(this),u=a(this),m=await async function(e,t){const s=t.getAttribute("id"),i=await n(t),l={trueText:"Ja",falseText:"Nei",defaultText:""};return r(i,l,["trueText","falseText","defaultText"],s),!0===e||"true"===e?void 0!==i?.trueText&&null!==i.trueText?i.trueText:l.trueText:!1===e||"false"===e?void 0!==i?.falseText&&null!==i.falseText?i.falseText:l.falseText:i?.defaultText?i.defaultText:l.defaultText}(e,this);if(o&&!m?.length&&u)u.style.display="none";else{const e=!i&&t;this.innerHTML=s("custom-field",{data:m,text:e,inline:d,styleoverride:c}).outerHTML}}}),customElements.define("custom-field-data",class extends HTMLElement{connectedCallback(){const{data:e,text:t,hideTitle:n,hideIfEmpty:i,emptyFieldText:r,inline:o,styleoverride:d}=l(this),c=a(this);if(i&&!e&&c)c.style.display="none";else{const l=!n&&t,a=e||r;this.innerHTML=s("custom-field",{data:a,text:l,hideTitle:n,hideIfEmpty:i,emptyFieldText:r,inline:o,styleoverride:d}).outerHTML}}});class m{constructor(e){this.saksaar=e?.saksaar,this.sakssekvensnummer=e?.sakssekvensnummer}}customElements.define("custom-field-kommunens-saksnummer",class extends HTMLElement{connectedCallback(){const{data:t,text:n,hideTitle:i,hideIfEmpty:r,emptyFieldText:o,inline:d,styleoverride:c}=l(this),u=a(this),h=new m(t);if(r&&!e(h)&&u)u.style.display="none";else{const e=!i&&n,t=function(e){return[e?.saksaar.toString(),e?.sakssekvensnummer.toString()].filter((e=>e?.length)).join("/")}(h);this.innerHTML=s("custom-field",{data:t?.length?t:o,text:e,inline:d,styleoverride:c}).outerHTML}}});class h{constructor(e){this.prosjektnavn=e?.prosjektnavn,this.prosjektnr=e?.prosjektnr}}customElements.define("custom-field-prosjekt",class extends HTMLElement{connectedCallback(){const{data:t,text:n,hideTitle:i,hideIfEmpty:r,emptyFieldText:o,inline:d,styleoverride:c}=l(this),u=a(this),m=new h(t);if(r&&!e(m)&&u)u.style.display="none";else{const e=!i&&n,t=function(e){const t=e?.prosjektnr?.length&&`(${e.prosjektnr})`;return[e?.prosjektnavn,t].filter((e=>e?.length)).join(" ")}(m),l=t?.length?t:o;this.innerHTML=s("custom-field",{data:l,text:e,inline:d,styleoverride:c}).outerHTML}}});class f{constructor(e){this.telefonnummer=e?.telefonnummer,this.mobilnummer=e?.mobilnummer}}customElements.define("custom-field-telefonnummer",class extends HTMLElement{connectedCallback(){const{data:t,text:n,hideTitle:i,hideIfEmpty:r,emptyFieldText:o,inline:d,styleoverride:c}=l(this),u=a(this),m=new f(t);if(r&&!e(m)&&u)u.style.display="none";else{const e=!i&&n,t=function(e){return[e.telefonnummer,e.mobilnummer].filter((e=>e?.length)).join("\n")}(m),l=t?.length?t:o;this.innerHTML=s("custom-field",{data:l,text:e,inline:d,styleoverride:c}).outerHTML}}});class p{constructor(e){this.erUtfallBesvaresSenere=e?.erUtfallBesvaresSenere,this.erUtfallBesvart=e?.erUtfallBesvart}}customElements.define("custom-field-utfall-svar-status",class extends HTMLElement{async connectedCallback(){const{data:e,text:t,hideTitle:i,hideIfEmpty:o,inline:d,styleoverride:c}=l(this),u=a(this),m=new p(e),h=await async function(e,t){const s=t.getAttribute("id"),i=await n(t),l={erUtfallBesvaresSenere:"Besvares senere",erUtfallBesvart:"Svar innsendt tidligere",status:"Besvares nå"};return r(i,l,["erUtfallBesvaresSenere","erUtfallBesvart","status"],s),e?.erUtfallBesvaresSenere?null!=i?.erUtfallBesvaresSenere?i.erUtfallBesvaresSenere:l.erUtfallBesvaresSenere:e?.erUtfallBesvart?null!=i?.erUtfallBesvart?i.erUtfallBesvart:l.erUtfallBesvart:i?.status?i.status:l.status}(m,this);if(o&&!h?.length&&u)u.style.display="none";else{const e=!i&&t;this.innerHTML=s("custom-field",{data:h,text:e,inline:d,styleoverride:c}).outerHTML}}});class y{constructor(e){this.kodebeskrivelse=e?.kodebeskrivelse}}class g{constructor(e){this.kodeverdi=e?.kodeverdi}}class x{constructor(e){this.kodebeskrivelse=e?.kodebeskrivelse}}class v{constructor(e){this.filnavn=e?.filnavn,this.vedleggstype=e?.vedleggstype&&new x(e.vedleggstype)}}class T{constructor(e){this.vedlegg=e?.vedlegg&&e.vedlegg.map((e=>new v(e)))}}class E{constructor(e){this.beskrivelse=e?.beskrivelse,this.erUtfallBesvaresSenere=e?.erUtfallBesvaresSenere,this.erUtfallBesvart=e?.erUtfallBesvart,this.kommentar=e?.kommentar,this.tema=e?.tema&&new y(e.tema),this.tittel=e?.tittel,this.utfallType=e?.utfallType&&new g(e.utfallType),this.vedleggsliste=e?.vedleggsliste&&new T(e.vedleggsliste)}}function b(e,t){return e.map((e=>({text:t[e.titleResourceKey],props:e.props})))}function L(e,t){return!Array.isArray(t)&&(t=[t]),t.map((t=>{const n=[];return e.forEach((e=>{const s=function(e,t){if(!t)return e;const n=t?.split(/\.|\[|\]/).filter(Boolean);for(let t=0;t<n.length;t++)e=e[n[t]];return e}(t,e.dataKey);n.push({...e.props,data:s,hideTitle:!0,tagName:e.tagName})})),n}))}customElements.define("custom-grouplist-utfall-svar-type",class extends HTMLElement{async connectedCallback(){const{data:t}=l(this),i=a(this),r=await n(this),o=t.reduce(((e,t)=>{const n=t?.utfallType?.kodeverdi;return e[n]||(e[n]=[]),e[n].push(new E(t)),e}),{});if(!e(t)&&i)i.style.display="none";else for(const e of Object.keys(o)){const t=await s("custom-group-utfall-svar-type",{data:o[e],text:r[`${e?.toLowerCase()}.header`],texts:r});this.appendChild(t)}}}),customElements.define("custom-group-utfall-svar-type",class extends HTMLElement{async connectedCallback(){const{data:t,text:n}=l(this),i=JSON.parse(this.getAttribute("texts"));if(e(t)){const e=s("custom-header-text",{text:n,size:"h2"});this.appendChild(e);const l=await s("custom-grouplist-utfall-svar",{data:t,texts:i});this.appendChild(l)}}}),customElements.define("custom-grouplist-utfall-svar",class extends HTMLElement{connectedCallback(){const{data:t,hideIfEmpty:n}=l(this),i=a(this),r=JSON.parse(this.getAttribute("texts"));if(n&&!e(t)&&i)i.style.display="none";else for(const e of t){const t=s("custom-group-utfall-svar",{data:e,hideIfEmpty:!0,texts:r});this.appendChild(t);const n=s("custom-divider");this.appendChild(n)}}}),customElements.define("custom-group-utfall-svar",class extends HTMLElement{async connectedCallback(){const{data:n}=l(this),r=a(this),o=JSON.parse(this.getAttribute("texts"));if(!e(n)&&r)r.style.display="none";else{const e=document.createElement("div"),l=s("custom-header-text",{text:n?.tittel,size:"h3"});e.appendChild(l),e.appendChild(function(e){return i(s("custom-field-data",{data:e?.beskrivelse,hideIfEmpty:!0}))}(n)),e.appendChild(function(e,t){return i(s("custom-field-utfall-svar-status",{data:e,texts:t,text:t?.["status.title"]}))}(n,o)),e.appendChild(function(e,t){return i(s("custom-field-data",{data:e?.tema?.kodebeskrivelse,text:t?.["tema.kodebeskrivelse.title"],hideIfEmpty:!0}))}(n,o)),e.appendChild(function(e,t){return i(s("custom-field-data",{data:e?.kommentar,text:t?.["kommentar.title"],hideIfEmpty:!1,emptyFieldText:"-"}))}(n,o)),e.appendChild(function(e,t){return i(s("custom-list-vedlegg",{data:e?.vedleggsliste?.vedlegg,text:t?.["vedleggsliste.vedlegg.title"],hideIfEmpty:!0}))}(n,o)),this.appendChild(e),t(this,{display:"flex",flexFlow:"wrap",justifyContent:"start",alignItems:"flex-start"})}}}),customElements.define("custom-header-text",class extends HTMLElement{connectedCallback(){const{text:e,styleoverride:n,size:i,isChildComponent:r}=l(this);r||t(a(this),{padding:"0 0.75rem"}),this.innerHTML=s("custom-header",{text:e,size:i,styleoverride:n}).outerHTML}}),customElements.define("custom-list-data",class extends HTMLElement{connectedCallback(){const{data:t,text:n,hideTitle:i,hideIfEmpty:r,emptyFieldText:o,styleoverride:d}=l(this),c=a(this),u=this.getAttribute("itemKey"),m=u?.length?function(e,t){return e.map((e=>e?.[t]))}(t,u):t,h=!i&&n;r&&!e(m)&&c?c.style.display="none":this.innerHTML=o?.length&&!m?.length?s("custom-field",{data:o,text:h,styleoverride:d}).outerHTML:s("custom-list",{data:m,text:h,styleoverride:d}).outerHTML}}),customElements.define("custom-list-vedlegg",class extends HTMLElement{connectedCallback(){const{data:t,text:n,hideTitle:i,hideIfEmpty:r,emptyFieldText:o,styleoverride:d}=l(this),c=a(this),u=(m=t,m?.length&&m.map((e=>{const t=new v(e),n=function(e){return e?.vedleggstype?.kodebeskrivelse}(t),s=function(e){return e?.filnavn}(t);return n?.length&&s?.length?`${n} (${s})`:n?.length?n:s?.length?s:null})).filter((e=>e)));var m;const h=!i&&n;r&&!e(u)&&c?c.style.display="none":this.innerHTML=o?.length&&!u?.length?s("custom-field",{data:o,text:h,styleoverride:d}).outerHTML:s("custom-list",{data:u,text:h,styleoverride:d}).outerHTML}}),customElements.define("custom-table-data",class extends HTMLElement{async connectedCallback(){const{data:e,text:t,hideTitle:i,hideIfEmpty:r,emptyFieldText:o,size:d,styleoverride:c}=l(this),u=a(this);if(r&&!e&&u)u.style.display="none";else{const l=await n(this),r=JSON.parse(this.getAttribute("tableColumns")),a=!i&&t;this.innerHTML=s("custom-table",{data:{tableHeaders:b(r,l),tableRows:L(r,e)},text:a,size:d,emptyFieldText:o,styleoverride:c}).outerHTML}}})})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arkitektum/altinn-studio-custom-components",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "Custom components for Altinn Studio",
|
|
5
5
|
"main": "dist/main.js",
|
|
6
6
|
"module": "dist/main.js",
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
],
|
|
11
11
|
"scripts": {
|
|
12
12
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
13
|
-
"build": "webpack --mode production"
|
|
13
|
+
"build": "webpack --mode production",
|
|
14
|
+
"start": "webpack serve --mode development"
|
|
14
15
|
},
|
|
15
16
|
"repository": {
|
|
16
17
|
"type": "git",
|
|
@@ -22,7 +23,12 @@
|
|
|
22
23
|
},
|
|
23
24
|
"homepage": "https://github.com/Arkitektum/altinn-studio-custom-components#readme",
|
|
24
25
|
"devDependencies": {
|
|
26
|
+
"css-loader": "^7.1.2",
|
|
27
|
+
"mini-css-extract-plugin": "^2.9.2",
|
|
28
|
+
"prettier": "3.4.2",
|
|
29
|
+
"style-loader": "^4.0.0",
|
|
25
30
|
"webpack": "^5.97.1",
|
|
26
|
-
"webpack-cli": "^6.0.1"
|
|
31
|
+
"webpack-cli": "^6.0.1",
|
|
32
|
+
"webpack-dev-server": "^5.2.0"
|
|
27
33
|
}
|
|
28
34
|
}
|