@dso-toolkit/core 31.0.0 → 32.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/dist/cjs/dso-alert.cjs.entry.js +1 -1
  2. package/dist/cjs/dso-banner.cjs.entry.js +1 -1
  3. package/dist/cjs/dso-date-picker.cjs.entry.js +54 -14
  4. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +44 -0
  5. package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
  6. package/dist/cjs/dso-icon.cjs.entry.js +29 -5
  7. package/dist/cjs/dso-info-button.cjs.entry.js +2 -2
  8. package/dist/cjs/dso-info_2.cjs.entry.js +1 -1
  9. package/dist/cjs/dso-label.cjs.entry.js +1 -1
  10. package/dist/cjs/dso-ozon-content.cjs.entry.js +48 -11
  11. package/dist/cjs/dso-toggletip.cjs.entry.js +1 -1
  12. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  13. package/dist/cjs/dso-tree-view.cjs.entry.js +23 -19
  14. package/dist/cjs/loader.cjs.js +1 -1
  15. package/dist/collection/collection-manifest.json +1 -0
  16. package/dist/collection/components/alert/alert.css +2 -0
  17. package/dist/collection/components/banner/banner.css +2 -0
  18. package/dist/collection/components/date-picker/date-localization.js +1 -1
  19. package/dist/collection/components/date-picker/date-picker.css +0 -3
  20. package/dist/collection/components/date-picker/date-picker.js +108 -14
  21. package/dist/collection/components/date-picker/date-picker.template.js +2 -1
  22. package/dist/collection/components/helpcenter-panel/helpcenter-panel.css +312 -0
  23. package/dist/collection/components/helpcenter-panel/helpcenter-panel.js +92 -0
  24. package/dist/collection/components/helpcenter-panel/helpcenter-panel.template.js +13 -0
  25. package/dist/collection/components/highlight-box/highlight-box.css +1 -1
  26. package/dist/collection/components/icon/icon.js +8 -0
  27. package/dist/collection/components/info/info.css +4 -4
  28. package/dist/collection/components/info-button/info-button.css +8 -0
  29. package/dist/collection/components/info-button/info-button.js +18 -1
  30. package/dist/collection/components/info-button/info-button.template.js +2 -1
  31. package/dist/collection/components/label/label.decorator.js +6 -0
  32. package/dist/collection/components/label/label.js +1 -0
  33. package/dist/collection/components/label/label.template.js +10 -2
  34. package/dist/collection/components/ozon-content/ozon-content.transformer.js +1 -1
  35. package/dist/collection/components/toggletip/toggletip.js +18 -1
  36. package/dist/collection/components/toggletip/toggletip.template.js +2 -1
  37. package/dist/collection/components/tree-view/tree-item.js +10 -11
  38. package/dist/collection/components/tree-view/tree-view.interfaces.js +1 -0
  39. package/dist/collection/components/tree-view/tree-view.js +18 -13
  40. package/dist/custom-elements/index.d.ts +6 -0
  41. package/dist/custom-elements/index.js +207 -61
  42. package/dist/dso-toolkit/dso-toolkit.css +1 -1
  43. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  44. package/dist/dso-toolkit/{p-968d9e1d.entry.js → p-19de4cc7.entry.js} +1 -1
  45. package/dist/dso-toolkit/p-5665f1ee.entry.js +1 -0
  46. package/dist/dso-toolkit/p-75233655.entry.js +1 -0
  47. package/dist/dso-toolkit/{p-d748df48.entry.js → p-83f166b3.entry.js} +1 -1
  48. package/dist/dso-toolkit/p-9e9f8bcf.entry.js +1 -0
  49. package/dist/dso-toolkit/p-a52d3623.entry.js +1 -0
  50. package/dist/dso-toolkit/p-ad8f467f.entry.js +1 -0
  51. package/dist/dso-toolkit/p-affe82e6.entry.js +1 -0
  52. package/dist/dso-toolkit/p-b07991b9.entry.js +1 -0
  53. package/dist/dso-toolkit/{p-ae6209c6.entry.js → p-be5682cc.entry.js} +1 -1
  54. package/dist/dso-toolkit/p-e03d7741.entry.js +1 -0
  55. package/dist/dso-toolkit/{p-69f366a9.entry.js → p-e2dc97c4.entry.js} +1 -1
  56. package/dist/esm/dso-alert.entry.js +1 -1
  57. package/dist/esm/dso-banner.entry.js +1 -1
  58. package/dist/esm/dso-date-picker.entry.js +54 -14
  59. package/dist/esm/dso-helpcenter-panel.entry.js +40 -0
  60. package/dist/esm/dso-highlight-box.entry.js +1 -1
  61. package/dist/esm/dso-icon.entry.js +29 -5
  62. package/dist/esm/dso-info-button.entry.js +2 -2
  63. package/dist/esm/dso-info_2.entry.js +1 -1
  64. package/dist/esm/dso-label.entry.js +1 -1
  65. package/dist/esm/dso-ozon-content.entry.js +48 -11
  66. package/dist/esm/dso-toggletip.entry.js +1 -1
  67. package/dist/esm/dso-toolkit.js +1 -1
  68. package/dist/esm/dso-tree-view.entry.js +24 -20
  69. package/dist/esm/loader.js +1 -1
  70. package/dist/types/components/date-picker/date-picker.d.ts +20 -0
  71. package/dist/types/components/date-picker/date-picker.template.d.ts +1 -1
  72. package/dist/types/components/helpcenter-panel/helpcenter-panel.d.ts +11 -0
  73. package/dist/types/components/helpcenter-panel/helpcenter-panel.template.d.ts +2 -0
  74. package/dist/types/components/info-button/info-button.d.ts +1 -0
  75. package/dist/types/components/info-button/info-button.template.d.ts +1 -1
  76. package/dist/types/components/label/label.decorator.d.ts +3 -0
  77. package/dist/types/components/label/label.template.d.ts +1 -1
  78. package/dist/types/components/toggletip/toggletip.d.ts +1 -0
  79. package/dist/types/components/toggletip/toggletip.template.d.ts +1 -1
  80. package/dist/types/components/tree-view/tree-view.d.ts +1 -1
  81. package/dist/types/components/tree-view/tree-view.interfaces.d.ts +24 -0
  82. package/dist/types/components.d.ts +39 -2
  83. package/package.json +1 -1
  84. package/dist/dso-toolkit/p-187782ee.entry.js +0 -1
  85. package/dist/dso-toolkit/p-2c6e9460.entry.js +0 -1
  86. package/dist/dso-toolkit/p-378fb428.entry.js +0 -1
  87. package/dist/dso-toolkit/p-453e2c6f.entry.js +0 -1
  88. package/dist/dso-toolkit/p-5a67f3f7.entry.js +0 -1
  89. package/dist/dso-toolkit/p-6fcc89f9.entry.js +0 -1
  90. package/dist/dso-toolkit/p-faf19a1d.entry.js +0 -1
@@ -0,0 +1,312 @@
1
+ /* stylelint-disable value-keyword-case */
2
+ /* stylelint-disable string-no-newline */
3
+ /* stylelint-enable */
4
+ :host {
5
+ display: block;
6
+ --di-times: url("data:image/svg+xml,%3csvg id='times' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %2339870c%3b'%3e %3cpath fill='currentColor' d='M13.36%2c12l3.3-3.3A1%2c1%2c0%2c1%2c0%2c15.3%2c7.34L12%2c10.64%2c8.7%2c7.34A1%2c1%2c0%2c1%2c0%2c7.34%2c8.7l3.3%2c3.3-3.3%2c3.3A1%2c1%2c0%2c1%2c0%2c8.7%2c16.66l3.3-3.3%2c3.3%2c3.3a1%2c1%2c0%2c1%2c0%2c1.36-1.36Z'/%3e %3c/svg%3e");
7
+ --di-times-wit: url("data:image/svg+xml,%3csvg id='times' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: white%3b'%3e %3cpath fill='currentColor' d='M13.36%2c12l3.3-3.3A1%2c1%2c0%2c1%2c0%2c15.3%2c7.34L12%2c10.64%2c8.7%2c7.34A1%2c1%2c0%2c1%2c0%2c7.34%2c8.7l3.3%2c3.3-3.3%2c3.3A1%2c1%2c0%2c1%2c0%2c8.7%2c16.66l3.3-3.3%2c3.3%2c3.3a1%2c1%2c0%2c1%2c0%2c1.36-1.36Z'/%3e %3c/svg%3e");
8
+ }
9
+
10
+ .sr-only {
11
+ position: absolute;
12
+ width: 1px;
13
+ height: 1px;
14
+ padding: 0;
15
+ margin: -1px;
16
+ overflow: hidden;
17
+ clip: rect(0, 0, 0, 0);
18
+ border: 0;
19
+ }
20
+
21
+ .wrapper {
22
+ height: 100%;
23
+ left: 0;
24
+ position: fixed;
25
+ top: 0;
26
+ visibility: hidden;
27
+ width: 100%;
28
+ }
29
+ .wrapper.visible {
30
+ visibility: visible;
31
+ }
32
+
33
+ .dimscreen {
34
+ background-color: #000;
35
+ height: 100%;
36
+ opacity: 0.4;
37
+ width: 100%;
38
+ }
39
+
40
+ .open-button {
41
+ display: inline-block;
42
+ font-size: 1em;
43
+ font-weight: 500;
44
+ margin-bottom: 0;
45
+ text-decoration: none;
46
+ touch-action: manipulation;
47
+ text-align: left;
48
+ user-select: none;
49
+ vertical-align: middle;
50
+ display: inline-block;
51
+ font-size: 1em;
52
+ font-weight: 500;
53
+ margin-bottom: 0;
54
+ text-decoration: none;
55
+ touch-action: manipulation;
56
+ text-align: left;
57
+ user-select: none;
58
+ vertical-align: middle;
59
+ background-color: #39870c;
60
+ border-color: #39870c;
61
+ color: #fff;
62
+ border-width: 1px;
63
+ border-style: solid;
64
+ border-radius: 4px;
65
+ line-height: 1.5;
66
+ min-width: 56px;
67
+ padding: 11px 15px;
68
+ border: 0;
69
+ bottom: 16px;
70
+ font-family: Asap, sans-serif;
71
+ position: fixed;
72
+ right: 16px;
73
+ }
74
+ .open-button:focus, .open-button:focus-visible {
75
+ outline-offset: 2px;
76
+ }
77
+ .open-button:active {
78
+ outline: 0;
79
+ }
80
+ .open-button.extern::after, .open-button.download::after {
81
+ content: "";
82
+ display: inline-block;
83
+ height: 1.5em;
84
+ margin-left: 8px;
85
+ vertical-align: top;
86
+ width: 1.5em;
87
+ }
88
+ .open-button:focus, .open-button:focus-visible {
89
+ outline-offset: 2px;
90
+ }
91
+ .open-button:active {
92
+ outline: 0;
93
+ }
94
+ .open-button.extern::after, .open-button.download::after {
95
+ content: "";
96
+ display: inline-block;
97
+ height: 1.5em;
98
+ margin-left: 8px;
99
+ vertical-align: top;
100
+ width: 1.5em;
101
+ }
102
+ .open-button:hover {
103
+ background-color: #275937;
104
+ border-color: #275937;
105
+ color: #fff;
106
+ }
107
+ .open-button:active {
108
+ background-color: #15301e;
109
+ border-color: #15301e;
110
+ color: #fff;
111
+ }
112
+ .open-button[disabled], .open-button[disabled]:hover {
113
+ background-color: #afcf9d;
114
+ border-color: #afcf9d;
115
+ color: #fff;
116
+ }
117
+ .open-button.btn-sm {
118
+ line-height: 16px;
119
+ }
120
+ .open-button.btn-sm dso-icon,
121
+ .open-button.btn-sm svg.di, .open-button.btn-sm.extern::after, .open-button.btn-sm.download::after {
122
+ margin-bottom: -4px;
123
+ margin-top: -4px;
124
+ }
125
+ .open-button.download::after {
126
+ background: var(--dso-icon, var(--di-download-wit)) no-repeat;
127
+ background-position: center;
128
+ background-size: cover;
129
+ height: 1.5em;
130
+ vertical-align: top;
131
+ width: 1.5em;
132
+ }
133
+ .open-button.extern::after {
134
+ background: var(--dso-icon, var(--di-external-link-wit)) no-repeat;
135
+ background-position: center;
136
+ background-size: cover;
137
+ height: 1.5em;
138
+ vertical-align: top;
139
+ width: 1.5em;
140
+ }
141
+ .open-button dso-icon,
142
+ .open-button svg.di {
143
+ margin-left: -8px;
144
+ margin-right: 8px;
145
+ }
146
+ .open-button span + dso-icon,
147
+ .open-button span + svg.di {
148
+ margin-left: 8px;
149
+ margin-right: -8px;
150
+ }
151
+ .open-button:hover {
152
+ cursor: pointer;
153
+ }
154
+ .open-button.open {
155
+ display: none;
156
+ }
157
+
158
+ .close-button {
159
+ display: inline-block;
160
+ font-size: 1em;
161
+ font-weight: 500;
162
+ margin-bottom: 0;
163
+ text-decoration: none;
164
+ touch-action: manipulation;
165
+ text-align: left;
166
+ user-select: none;
167
+ vertical-align: middle;
168
+ background-color: #fff;
169
+ border-color: #39870c;
170
+ color: #39870c;
171
+ border-width: 1px;
172
+ border-style: solid;
173
+ border-radius: 4px;
174
+ line-height: 1.5;
175
+ min-width: 56px;
176
+ padding: 11px 15px;
177
+ border-right: 0;
178
+ border-top: 0;
179
+ border-radius: 0 0 0 8px;
180
+ height: 40px;
181
+ min-width: 40px;
182
+ padding: 0;
183
+ position: fixed;
184
+ right: 0;
185
+ width: 40px;
186
+ top: 0;
187
+ }
188
+ .close-button:focus, .close-button:focus-visible {
189
+ outline-offset: 2px;
190
+ }
191
+ .close-button:active {
192
+ outline: 0;
193
+ }
194
+ .close-button.extern::after, .close-button.download::after {
195
+ content: "";
196
+ display: inline-block;
197
+ height: 1.5em;
198
+ margin-left: 8px;
199
+ vertical-align: top;
200
+ width: 1.5em;
201
+ }
202
+ .close-button:hover {
203
+ background-color: #39870c;
204
+ border-color: #39870c;
205
+ color: #fff;
206
+ }
207
+ .close-button:active {
208
+ background-color: #275937;
209
+ border-color: #275937;
210
+ color: #fff;
211
+ }
212
+ .close-button[disabled], .close-button[disabled]:hover {
213
+ background-color: #fff;
214
+ border-color: #afcf9d;
215
+ color: #afcf9d;
216
+ }
217
+ .close-button.btn-sm {
218
+ line-height: 16px;
219
+ }
220
+ .close-button.btn-sm dso-icon,
221
+ .close-button.btn-sm svg.di, .close-button.btn-sm.extern::after, .close-button.btn-sm.download::after {
222
+ margin-bottom: -4px;
223
+ margin-top: -4px;
224
+ }
225
+ .close-button.download::after {
226
+ background: var(--dso-icon, var(--di-download)) no-repeat;
227
+ background-position: center;
228
+ background-size: cover;
229
+ height: 1.5em;
230
+ vertical-align: top;
231
+ width: 1.5em;
232
+ }
233
+ .close-button.download:hover::after {
234
+ --dso-icon: var(--di-download-wit);
235
+ }
236
+ .close-button.download[disabled]::after {
237
+ --dso-icon: var(--di-download-grasgroen-40);
238
+ }
239
+ .close-button.extern::after {
240
+ background: var(--dso-icon, var(--di-external-link)) no-repeat;
241
+ background-position: center;
242
+ background-size: cover;
243
+ height: 1.5em;
244
+ vertical-align: top;
245
+ width: 1.5em;
246
+ }
247
+ .close-button.extern:hover::after {
248
+ --dso-icon: var(--di-external-link-wit);
249
+ }
250
+ .close-button.extern[disabled]::after {
251
+ --dso-icon: var(--di-external-link-grasgroen-40);
252
+ }
253
+ .close-button dso-icon,
254
+ .close-button svg.di {
255
+ margin-left: -8px;
256
+ margin-right: 8px;
257
+ }
258
+ .close-button span + dso-icon,
259
+ .close-button span + svg.di {
260
+ margin-left: 8px;
261
+ margin-right: -8px;
262
+ }
263
+ .close-button::before {
264
+ background: var(--dso-icon, var(--di-times)) no-repeat;
265
+ background-position: center;
266
+ background-size: cover;
267
+ height: 1.5em;
268
+ vertical-align: top;
269
+ width: 1.5em;
270
+ content: "";
271
+ display: inline-block;
272
+ position: absolute;
273
+ left: 50%;
274
+ top: 50%;
275
+ transform: translate(-50%, -50%);
276
+ }
277
+ .close-button:hover, .close-button:active, .close-button:focus {
278
+ cursor: pointer;
279
+ }
280
+ .close-button:hover::before, .close-button:active::before, .close-button:focus::before {
281
+ background: var(--dso-icon, var(--di-times-wit)) no-repeat;
282
+ background-position: center;
283
+ background-size: cover;
284
+ height: 1.5em;
285
+ vertical-align: top;
286
+ width: 1.5em;
287
+ }
288
+ .close-button.close {
289
+ display: none;
290
+ }
291
+
292
+ .iframe-container {
293
+ background-color: #fff;
294
+ border: 0;
295
+ border-left: 1px solid #ccc;
296
+ box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.4);
297
+ height: 100%;
298
+ position: absolute;
299
+ right: -640px;
300
+ top: 0;
301
+ transition: right 0.5s;
302
+ width: 640px;
303
+ }
304
+ .iframe-container.open {
305
+ right: 0;
306
+ }
307
+
308
+ iframe {
309
+ border: 0;
310
+ height: 100%;
311
+ width: 100%;
312
+ }
@@ -0,0 +1,92 @@
1
+ import { h, Component, Fragment, Prop, State } from "@stencil/core";
2
+ const maxCssTransitionMilliseconds = 500;
3
+ export class HelpcenterPanel {
4
+ constructor() {
5
+ this.label = "Hulp nodig";
6
+ this.visibility = "hidden";
7
+ this.isOpen = "close";
8
+ this.slideState = "close";
9
+ this.loadIframe = false;
10
+ this.openClick = () => {
11
+ this.visibility = "visible";
12
+ this.slideState = "open";
13
+ setTimeout(() => {
14
+ this.isOpen = "open";
15
+ });
16
+ if (!this.loadIframe) {
17
+ setTimeout(() => {
18
+ this.loadIframe = true;
19
+ }, maxCssTransitionMilliseconds);
20
+ }
21
+ };
22
+ this.closeClick = () => {
23
+ this.isOpen = "close";
24
+ this.slideState = "close";
25
+ setTimeout(() => {
26
+ this.visibility = "hidden";
27
+ }, maxCssTransitionMilliseconds);
28
+ };
29
+ }
30
+ render() {
31
+ return (h(Fragment, null,
32
+ h("button", { type: "button", onClick: this.openClick, class: `open-button ${this.isOpen}` },
33
+ h("dso-icon", { icon: "help" }),
34
+ h("span", null, this.label)),
35
+ h("div", { class: `wrapper ${this.visibility}` },
36
+ h("div", { class: "dimscreen" }),
37
+ h("div", { class: `iframe-container ${this.slideState}` }, this.loadIframe ? h("iframe", { src: this.url }) : h("div", null)),
38
+ h("button", { type: "button", class: `close-button ${this.isOpen}`, onClick: this.closeClick },
39
+ h("span", { class: "sr-only" }, "sluiten")))));
40
+ }
41
+ static get is() { return "dso-helpcenter-panel"; }
42
+ static get encapsulation() { return "shadow"; }
43
+ static get originalStyleUrls() { return {
44
+ "$": ["helpcenter-panel.scss"]
45
+ }; }
46
+ static get styleUrls() { return {
47
+ "$": ["helpcenter-panel.css"]
48
+ }; }
49
+ static get properties() { return {
50
+ "label": {
51
+ "type": "string",
52
+ "mutable": false,
53
+ "complexType": {
54
+ "original": "string",
55
+ "resolved": "string | undefined",
56
+ "references": {}
57
+ },
58
+ "required": false,
59
+ "optional": true,
60
+ "docs": {
61
+ "tags": [],
62
+ "text": ""
63
+ },
64
+ "attribute": "label",
65
+ "reflect": false,
66
+ "defaultValue": "\"Hulp nodig\""
67
+ },
68
+ "url": {
69
+ "type": "string",
70
+ "mutable": false,
71
+ "complexType": {
72
+ "original": "string",
73
+ "resolved": "string",
74
+ "references": {}
75
+ },
76
+ "required": true,
77
+ "optional": false,
78
+ "docs": {
79
+ "tags": [],
80
+ "text": ""
81
+ },
82
+ "attribute": "url",
83
+ "reflect": false
84
+ }
85
+ }; }
86
+ static get states() { return {
87
+ "visibility": {},
88
+ "isOpen": {},
89
+ "slideState": {},
90
+ "loadIframe": {}
91
+ }; }
92
+ }
@@ -0,0 +1,13 @@
1
+ import { html } from "lit-html";
2
+ import { ifDefined } from "lit-html/directives/if-defined";
3
+ import { unsafeHTML } from "lit-html/directives/unsafe-html";
4
+ export function helpcenterPanelTemplate({ label, url, content, }) {
5
+ return html `
6
+ ${unsafeHTML(content)}
7
+ <dso-helpcenter-panel
8
+ label=${ifDefined(label)}
9
+ url=${url}
10
+ ></dso-helpcenter-panel>
11
+ ${unsafeHTML(content)}
12
+ `;
13
+ }
@@ -28,7 +28,7 @@
28
28
  }
29
29
 
30
30
  .dso-highlight-box {
31
- background-color: #e5e5e5;
31
+ background-color: #f2f2f2;
32
32
  margin-top: 16px;
33
33
  padding: 16px;
34
34
  margin-bottom: 16px;
@@ -8,8 +8,10 @@ import balloon from '@dso-toolkit/sources/src/icons/balloon.svg';
8
8
  import bars from '@dso-toolkit/sources/src/icons/bars.svg';
9
9
  import buildings from '@dso-toolkit/sources/src/icons/buildings.svg';
10
10
  import calendar from '@dso-toolkit/sources/src/icons/calendar.svg';
11
+ import call from '@dso-toolkit/sources/src/icons/call.svg';
11
12
  import caretDown from '@dso-toolkit/sources/src/icons/caret-down.svg';
12
13
  import check from '@dso-toolkit/sources/src/icons/check.svg';
14
+ import checkCircle from '@dso-toolkit/sources/src/icons/check-circle.svg';
13
15
  import chevronDown from '@dso-toolkit/sources/src/icons/chevron-down.svg';
14
16
  import chevronLeft from '@dso-toolkit/sources/src/icons/chevron-left.svg';
15
17
  import chevronRight from '@dso-toolkit/sources/src/icons/chevron-right.svg';
@@ -19,6 +21,7 @@ import clock from '@dso-toolkit/sources/src/icons/clock.svg';
19
21
  import copy from '@dso-toolkit/sources/src/icons/copy.svg';
20
22
  import crown from '@dso-toolkit/sources/src/icons/crown.svg';
21
23
  import cultural from '@dso-toolkit/sources/src/icons/cultural.svg';
24
+ import document from '@dso-toolkit/sources/src/icons/document.svg';
22
25
  import download from '@dso-toolkit/sources/src/icons/download.svg';
23
26
  import email from '@dso-toolkit/sources/src/icons/email.svg';
24
27
  import energy from '@dso-toolkit/sources/src/icons/energy.svg';
@@ -74,6 +77,7 @@ import sortAscending from '@dso-toolkit/sources/src/icons/sort-ascending.svg';
74
77
  import sortDescending from '@dso-toolkit/sources/src/icons/sort-descending.svg';
75
78
  import sort from '@dso-toolkit/sources/src/icons/sort.svg';
76
79
  import sound from '@dso-toolkit/sources/src/icons/sound.svg';
80
+ import statusForbidden from '@dso-toolkit/sources/src/icons/status-forbidden.svg';
77
81
  import statusDanger from '@dso-toolkit/sources/src/icons/status-danger.svg';
78
82
  import statusInfo from '@dso-toolkit/sources/src/icons/status-info.svg';
79
83
  import statusSuccess from '@dso-toolkit/sources/src/icons/status-success.svg';
@@ -97,8 +101,10 @@ const icons = [
97
101
  { alias: 'bars', svg: bars },
98
102
  { alias: 'buildings', svg: buildings },
99
103
  { alias: 'calendar', svg: calendar },
104
+ { alias: 'call', svg: call },
100
105
  { alias: 'caret-down', svg: caretDown },
101
106
  { alias: 'check', svg: check },
107
+ { alias: 'check-circle', svg: checkCircle },
102
108
  { alias: 'chevron-down', svg: chevronDown },
103
109
  { alias: 'chevron-left', svg: chevronLeft },
104
110
  { alias: 'chevron-right', svg: chevronRight },
@@ -108,6 +114,7 @@ const icons = [
108
114
  { alias: 'copy', svg: copy },
109
115
  { alias: 'crown', svg: crown },
110
116
  { alias: 'cultural', svg: cultural },
117
+ { alias: 'document', svg: document },
111
118
  { alias: 'download', svg: download },
112
119
  { alias: 'email', svg: email },
113
120
  { alias: 'energy', svg: energy },
@@ -164,6 +171,7 @@ const icons = [
164
171
  { alias: 'sort', svg: sort },
165
172
  { alias: 'sound', svg: sound },
166
173
  { alias: 'status-danger', svg: statusDanger },
174
+ { alias: 'status-forbidden', svg: statusForbidden },
167
175
  { alias: 'status-info', svg: statusInfo },
168
176
  { alias: 'status-success', svg: statusSuccess },
169
177
  { alias: 'status-warning', svg: statusWarning },
@@ -4,7 +4,7 @@
4
4
  :host {
5
5
  --di-times-bosgroen: url("data:image/svg+xml,%3csvg id='times' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23275937%3b'%3e %3cpath fill='currentColor' d='M13.36%2c12l3.3-3.3A1%2c1%2c0%2c1%2c0%2c15.3%2c7.34L12%2c10.64%2c8.7%2c7.34A1%2c1%2c0%2c1%2c0%2c7.34%2c8.7l3.3%2c3.3-3.3%2c3.3A1%2c1%2c0%2c1%2c0%2c8.7%2c16.66l3.3-3.3%2c3.3%2c3.3a1%2c1%2c0%2c1%2c0%2c1.36-1.36Z'/%3e %3c/svg%3e");
6
6
  display: block;
7
- background-color: #e5e5e5;
7
+ background-color: #f2f2f2;
8
8
  padding: 16px 32px 16px 16px;
9
9
  position: relative;
10
10
  }
@@ -13,11 +13,11 @@
13
13
  border-style: none;
14
14
  padding: 0;
15
15
  position: absolute;
16
- right: 0;
17
- top: 0;
16
+ right: 8px;
17
+ top: 8px;
18
18
  }
19
19
  :host > button::before {
20
- background: var(--dso-icon, var(--di-times-bosgroen)) no-repeat;
20
+ background: var(--dso-icon, var(--di-times-grijs90)) no-repeat;
21
21
  background-position: center;
22
22
  background-size: cover;
23
23
  height: 1.5em;
@@ -5,6 +5,8 @@
5
5
  display: inline-block;
6
6
  --di-info: url("data:image/svg+xml,%3csvg id='info' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %2339870c%3b'%3e %3cpath fill='currentColor' d='M12%2c3a9%2c9%2c0%2c1%2c1-9%2c9%2c9%2c9%2c0%2c0%2c1%2c9-9m0-2A11%2c11%2c0%2c1%2c0%2c23%2c12%2c11%2c11%2c0%2c0%2c0%2c12%2c1Zm0%2c8a1%2c1%2c0%2c1%2c0-1-1A1%2c1%2c0%2c0%2c0%2c12%2c9Zm1%2c7.79V11.21A1.12%2c1.12%2c0%2c0%2c0%2c12%2c10a1.12%2c1.12%2c0%2c0%2c0-1%2c1.21v5.58A1.12%2c1.12%2c0%2c0%2c0%2c12%2c18%2c1.12%2c1.12%2c0%2c0%2c0%2c13%2c16.79Z'/%3e %3c/svg%3e");
7
7
  --di-info-active: url("data:image/svg+xml,%3csvg id='info-active' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %2339870c%3b'%3e %3cpath fill='currentColor' d='M23%2c12A11%2c11%2c0%2c1%2c1%2c12%2c1%2c11%2c11%2c0%2c0%2c1%2c23%2c12ZM12%2c9a1%2c1%2c0%2c1%2c0-1-1A1%2c1%2c0%2c0%2c0%2c12%2c9Zm1%2c7.79V11.21A1.12%2c1.12%2c0%2c0%2c0%2c12%2c10a1.12%2c1.12%2c0%2c0%2c0-1%2c1.21v5.58A1.12%2c1.12%2c0%2c0%2c0%2c12%2c18%2c1.12%2c1.12%2c0%2c0%2c0%2c13%2c16.79Z'/%3e %3c/svg%3e");
8
+ --di-info-secondary: url("data:image/svg+xml,%3csvg id='info' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23666%3b'%3e %3cpath fill='currentColor' d='M12%2c3a9%2c9%2c0%2c1%2c1-9%2c9%2c9%2c9%2c0%2c0%2c1%2c9-9m0-2A11%2c11%2c0%2c1%2c0%2c23%2c12%2c11%2c11%2c0%2c0%2c0%2c12%2c1Zm0%2c8a1%2c1%2c0%2c1%2c0-1-1A1%2c1%2c0%2c0%2c0%2c12%2c9Zm1%2c7.79V11.21A1.12%2c1.12%2c0%2c0%2c0%2c12%2c10a1.12%2c1.12%2c0%2c0%2c0-1%2c1.21v5.58A1.12%2c1.12%2c0%2c0%2c0%2c12%2c18%2c1.12%2c1.12%2c0%2c0%2c0%2c13%2c16.79Z'/%3e %3c/svg%3e");
9
+ --di-info-active-secondary: url("data:image/svg+xml,%3csvg id='info-active' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' style='color: %23666%3b'%3e %3cpath fill='currentColor' d='M23%2c12A11%2c11%2c0%2c1%2c1%2c12%2c1%2c11%2c11%2c0%2c0%2c1%2c23%2c12ZM12%2c9a1%2c1%2c0%2c1%2c0-1-1A1%2c1%2c0%2c0%2c0%2c12%2c9Zm1%2c7.79V11.21A1.12%2c1.12%2c0%2c0%2c0%2c12%2c10a1.12%2c1.12%2c0%2c0%2c0-1%2c1.21v5.58A1.12%2c1.12%2c0%2c0%2c0%2c12%2c18%2c1.12%2c1.12%2c0%2c0%2c0%2c13%2c16.79Z'/%3e %3c/svg%3e");
8
10
  }
9
11
 
10
12
  *,
@@ -37,4 +39,10 @@ button {
37
39
  }
38
40
  button.dso-open, button:hover, button:active {
39
41
  --dso-icon: var(--di-info-active);
42
+ }
43
+ button.dso-info-secondary {
44
+ --dso-icon: var(--di-info-secondary);
45
+ }
46
+ button.dso-info-secondary.dso-open, button.dso-info-secondary:hover, button.dso-info-secondary:active {
47
+ --dso-icon: var(--di-info-active-secondary);
40
48
  }
@@ -9,7 +9,7 @@ export class InfoButton {
9
9
  this.toggle.emit({ originalEvent: e, active: this.active });
10
10
  }
11
11
  render() {
12
- return (h("button", { type: "button", class: clsx('btn', { 'dso-open': !!this.active }), "aria-expanded": typeof this.active === 'boolean' ? this.active.toString() : undefined, onClick: e => this.handleToggle(e) },
12
+ return (h("button", { type: "button", class: clsx('btn', { 'dso-open': !!this.active, 'dso-info-secondary': !!this.secondary }), "aria-expanded": typeof this.active === 'boolean' ? this.active.toString() : undefined, onClick: e => this.handleToggle(e) },
13
13
  h("span", { class: "sr-only" }, this.label)));
14
14
  }
15
15
  static get is() { return "dso-info-button"; }
@@ -38,6 +38,23 @@ export class InfoButton {
38
38
  "attribute": "active",
39
39
  "reflect": true
40
40
  },
41
+ "secondary": {
42
+ "type": "boolean",
43
+ "mutable": false,
44
+ "complexType": {
45
+ "original": "boolean",
46
+ "resolved": "boolean | undefined",
47
+ "references": {}
48
+ },
49
+ "required": false,
50
+ "optional": true,
51
+ "docs": {
52
+ "tags": [],
53
+ "text": ""
54
+ },
55
+ "attribute": "secondary",
56
+ "reflect": false
57
+ },
41
58
  "label": {
42
59
  "type": "string",
43
60
  "mutable": false,
@@ -1,9 +1,10 @@
1
1
  import { html } from 'lit-html';
2
- export function infoButtonTemplate({ label, active, onClick }) {
2
+ export function infoButtonTemplate({ label, active, secondary, onClick }) {
3
3
  return html `
4
4
  <dso-info-button
5
5
  label=${label}
6
6
  ?active=${active}
7
+ ?secondary=${secondary}
7
8
  @toggle=${(e) => onClick(e.detail)}
8
9
  ></dso-info-button>
9
10
  `;
@@ -0,0 +1,6 @@
1
+ import { html } from 'lit-html';
2
+ export const decorator = (story, css) => html `
3
+ ${story()}
4
+
5
+ <style>${css}</style>
6
+ `;
@@ -4,6 +4,7 @@ export class Label {
4
4
  render() {
5
5
  const status = this.status && Label.statusMap.get(this.status);
6
6
  return (h("span", { class: clsx('dso-label', { [`dso-label-${this.status}`]: this.status, 'dso-compact': this.compact && !this.removable, 'dso-hover': this.hover }) },
7
+ h("slot", { name: "symbol" }),
7
8
  status && (h("span", { class: "sr-only" },
8
9
  status,
9
10
  ": ")),
@@ -1,6 +1,7 @@
1
- import { html } from 'lit-html';
1
+ import { html, nothing } from 'lit-html';
2
2
  import { ifDefined } from 'lit-html/directives/if-defined';
3
- export function labelTemplate({ status, label, button, compact }) {
3
+ import { unsafeHTML } from 'lit-html/directives/unsafe-html';
4
+ export function labelTemplate({ status, label, button, compact, symbol }) {
4
5
  return html `
5
6
  <dso-label
6
7
  status=${ifDefined(status)}
@@ -8,6 +9,13 @@ export function labelTemplate({ status, label, button, compact }) {
8
9
  ?compact=${compact}
9
10
  ?removable=${button}
10
11
  >
12
+ ${symbol
13
+ ? html `
14
+ <span slot="symbol">
15
+ ${unsafeHTML(symbol)}
16
+ </span>
17
+ `
18
+ : nothing}
11
19
  ${label}
12
20
  </dso-label>
13
21
  `;
@@ -1,6 +1,6 @@
1
1
  import isURL from 'validator/es/lib/isURL';
2
2
  function transformDescriptionNote(body) {
3
- body.querySelectorAll('.od-Al > div.noot').forEach((nootElement, index) => {
3
+ body.querySelectorAll('div.noot').forEach((nootElement, index) => {
4
4
  const contentElement = nootElement.nextElementSibling;
5
5
  if (!(contentElement instanceof HTMLDivElement && contentElement.classList.value === 'noot_popup')) {
6
6
  return;
@@ -46,7 +46,7 @@ export class Toggletip {
46
46
  }
47
47
  render() {
48
48
  return (h(Fragment, null,
49
- h("dso-info-button", { id: "toggle", onClick: this.click, label: this.label, active: this.active }),
49
+ h("dso-info-button", { id: "toggle", onClick: this.click, label: this.label, active: this.active, secondary: this.secondary }),
50
50
  h("dso-tooltip", { stateless: true, for: "toggle", active: this.active, position: this.position, small: this.small },
51
51
  h("slot", null))));
52
52
  }
@@ -111,6 +111,23 @@ export class Toggletip {
111
111
  },
112
112
  "attribute": "small",
113
113
  "reflect": false
114
+ },
115
+ "secondary": {
116
+ "type": "boolean",
117
+ "mutable": false,
118
+ "complexType": {
119
+ "original": "boolean",
120
+ "resolved": "boolean | undefined",
121
+ "references": {}
122
+ },
123
+ "required": false,
124
+ "optional": true,
125
+ "docs": {
126
+ "tags": [],
127
+ "text": ""
128
+ },
129
+ "attribute": "secondary",
130
+ "reflect": false
114
131
  }
115
132
  }; }
116
133
  static get states() { return {
@@ -1,11 +1,12 @@
1
1
  import { html } from "lit-html";
2
2
  import { ifDefined } from "lit-html/directives/if-defined";
3
3
  import { unsafeHTML } from "lit-html/directives/unsafe-html";
4
- export function toggletipTemplate({ children, label, position, small, }) {
4
+ export function toggletipTemplate({ children, label, position, small, secondary, }) {
5
5
  return html `<dso-toggletip
6
6
  label=${ifDefined(label)}
7
7
  position=${ifDefined(position)}
8
8
  ?small=${small}
9
+ ?secondary=${secondary}
9
10
  >${unsafeHTML(children)}</dso-toggletip
10
11
  >`;
11
12
  }