@dso-toolkit/core 42.0.0 → 43.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.
Files changed (85) hide show
  1. package/dist/cjs/dso-autosuggest.cjs.entry.js +17 -8
  2. package/dist/cjs/dso-badge.cjs.entry.js +1 -1
  3. package/dist/cjs/dso-header.cjs.entry.js +1 -1
  4. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +1 -1
  5. package/dist/cjs/dso-image-overlay.cjs.entry.js +1 -1
  6. package/dist/cjs/dso-label.cjs.entry.js +78 -3
  7. package/dist/cjs/dso-map-controls.cjs.entry.js +1 -1
  8. package/dist/cjs/dso-ozon-content.cjs.entry.js +32 -3
  9. package/dist/cjs/dso-pagination.cjs.entry.js +5 -2
  10. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  11. package/dist/cjs/dso-tooltip.cjs.entry.js +7 -0
  12. package/dist/cjs/dso-tree-view.cjs.entry.js +24 -2
  13. package/dist/cjs/dso-viewer-grid.cjs.entry.js +1 -1
  14. package/dist/cjs/loader.cjs.js +1 -1
  15. package/dist/collection/components/autosuggest/autosuggest.js +37 -9
  16. package/dist/collection/components/autosuggest/autosuggest.template.js +2 -1
  17. package/dist/collection/components/badge/badge.css +4 -1
  18. package/dist/collection/components/header/header.css +27 -0
  19. package/dist/collection/components/helpcenter-panel/helpcenter-panel.css +96 -2
  20. package/dist/collection/components/image-overlay/image-overlay.css +124 -2
  21. package/dist/collection/components/label/label.css +13 -0
  22. package/dist/collection/components/label/label.js +118 -12
  23. package/dist/collection/components/label/label.template.js +2 -1
  24. package/dist/collection/components/list/list.template.js +11 -4
  25. package/dist/collection/components/map-controls/map-controls.css +147 -2
  26. package/dist/collection/components/ozon-content/nodes/int-io-ref.node.js +27 -0
  27. package/dist/collection/components/ozon-content/nodes/int-ref.node.js +1 -0
  28. package/dist/collection/components/ozon-content/ozon-content-mapper.js +3 -1
  29. package/dist/collection/components/ozon-content/ozon-content.css +23 -0
  30. package/dist/collection/components/ozon-content/ozon-content.js +3 -1
  31. package/dist/collection/components/pagination/pagination.js +8 -5
  32. package/dist/collection/components/tooltip/tooltip.js +7 -0
  33. package/dist/collection/components/tree-view/tree-item.js +1 -1
  34. package/dist/collection/components/tree-view/tree-view.js +58 -2
  35. package/dist/collection/components/viewer-grid/viewer-grid.css +207 -5
  36. package/dist/custom-elements/index.js +171 -26
  37. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  38. package/dist/dso-toolkit/p-04b8814d.entry.js +1 -0
  39. package/dist/dso-toolkit/{p-37e12c3c.entry.js → p-17e9802f.entry.js} +1 -1
  40. package/dist/dso-toolkit/p-19b5fae2.entry.js +1 -0
  41. package/dist/dso-toolkit/p-1bd0e0c3.entry.js +1 -0
  42. package/dist/dso-toolkit/p-1d52d4f2.entry.js +1 -0
  43. package/dist/dso-toolkit/p-553bd3aa.entry.js +1 -0
  44. package/dist/dso-toolkit/p-63e0f10d.entry.js +1 -0
  45. package/dist/dso-toolkit/p-a5705dd1.entry.js +1 -0
  46. package/dist/dso-toolkit/p-a7bcd356.entry.js +1 -0
  47. package/dist/dso-toolkit/p-aa098949.entry.js +1 -0
  48. package/dist/dso-toolkit/p-c282135e.entry.js +1 -0
  49. package/dist/dso-toolkit/p-ca3a1440.entry.js +1 -0
  50. package/dist/esm/dso-autosuggest.entry.js +17 -8
  51. package/dist/esm/dso-badge.entry.js +1 -1
  52. package/dist/esm/dso-header.entry.js +1 -1
  53. package/dist/esm/dso-helpcenter-panel.entry.js +1 -1
  54. package/dist/esm/dso-image-overlay.entry.js +1 -1
  55. package/dist/esm/dso-label.entry.js +79 -4
  56. package/dist/esm/dso-map-controls.entry.js +1 -1
  57. package/dist/esm/dso-ozon-content.entry.js +32 -3
  58. package/dist/esm/dso-pagination.entry.js +5 -2
  59. package/dist/esm/dso-toolkit.js +1 -1
  60. package/dist/esm/dso-tooltip.entry.js +7 -0
  61. package/dist/esm/dso-tree-view.entry.js +24 -2
  62. package/dist/esm/dso-viewer-grid.entry.js +1 -1
  63. package/dist/esm/loader.js +1 -1
  64. package/dist/types/components/autosuggest/autosuggest.d.ts +6 -0
  65. package/dist/types/components/autosuggest/autosuggest.template.d.ts +1 -1
  66. package/dist/types/components/label/label.d.ts +21 -3
  67. package/dist/types/components/label/label.template.d.ts +1 -1
  68. package/dist/types/components/ozon-content/nodes/int-io-ref.node.d.ts +6 -0
  69. package/dist/types/components/ozon-content/ozon-content-node-context.interface.d.ts +2 -1
  70. package/dist/types/components/ozon-content/ozon-content.interfaces.d.ts +2 -0
  71. package/dist/types/components/tooltip/tooltip.d.ts +1 -0
  72. package/dist/types/components/tree-view/tree-view.d.ts +10 -2
  73. package/dist/types/components.d.ts +16 -0
  74. package/package.json +1 -1
  75. package/dist/dso-toolkit/p-076400f4.entry.js +0 -1
  76. package/dist/dso-toolkit/p-2f64bded.entry.js +0 -1
  77. package/dist/dso-toolkit/p-5e614420.entry.js +0 -1
  78. package/dist/dso-toolkit/p-60679db4.entry.js +0 -1
  79. package/dist/dso-toolkit/p-7796687c.entry.js +0 -1
  80. package/dist/dso-toolkit/p-7f41f2a1.entry.js +0 -1
  81. package/dist/dso-toolkit/p-9dc7e3c5.entry.js +0 -1
  82. package/dist/dso-toolkit/p-b1dc8d76.entry.js +0 -1
  83. package/dist/dso-toolkit/p-e01b1657.entry.js +0 -1
  84. package/dist/dso-toolkit/p-e1496a15.entry.js +0 -1
  85. package/dist/dso-toolkit/p-f1026921.entry.js +0 -1
@@ -89,10 +89,18 @@ button::-moz-focus-inner {
89
89
  line-height: 16px;
90
90
  }
91
91
  .open.btn-sm dso-icon,
92
- .open.btn-sm svg.di, .open.btn-sm.extern::after, .open.btn-sm.download::after {
92
+ .open.btn-sm svg.di, .open.btn-sm.extern::after, .open.btn-sm.download::after, .open.btn-sm.dso-spinner::before {
93
93
  margin-bottom: -4px;
94
94
  margin-top: -4px;
95
95
  }
96
+ .open.btn-sm.dso-spinner-left::before {
97
+ height: 16px;
98
+ width: 16px;
99
+ }
100
+ .open.btn-sm.dso-spinner-right::after {
101
+ height: 16px;
102
+ width: 16px;
103
+ }
96
104
  .open.download::after {
97
105
  background: var(--dso-icon, var(--di-download)) no-repeat;
98
106
  background-position: center;
@@ -131,6 +139,59 @@ button::-moz-focus-inner {
131
139
  clip: rect(0, 0, 0, 0);
132
140
  border: 0;
133
141
  }
142
+ .open.dso-spinner-left[disabled], .open.dso-spinner-right[disabled] {
143
+ background-color: #fff;
144
+ border-color: #39870c;
145
+ color: #39870c;
146
+ }
147
+ .open.dso-spinner-left::before {
148
+ background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E");
149
+ background-repeat: no-repeat;
150
+ content: "";
151
+ display: inline-block;
152
+ height: 24px;
153
+ vertical-align: top;
154
+ width: 24px;
155
+ margin-right: 8px;
156
+ }
157
+ .open.dso-spinner-left:not([disabled]):hover::before {
158
+ background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E");
159
+ background-repeat: no-repeat;
160
+ content: "";
161
+ display: inline-block;
162
+ height: 24px;
163
+ vertical-align: top;
164
+ width: 24px;
165
+ margin-right: 8px;
166
+ }
167
+ .open.dso-spinner-left:not([disabled]).btn-sm:hover::before {
168
+ height: 16px;
169
+ width: 16px;
170
+ }
171
+ .open.dso-spinner-right::after {
172
+ background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E");
173
+ background-repeat: no-repeat;
174
+ content: "";
175
+ display: inline-block;
176
+ height: 24px;
177
+ vertical-align: top;
178
+ width: 24px;
179
+ margin-left: 8px;
180
+ }
181
+ .open.dso-spinner-right:not([disabled]):hover::after {
182
+ background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E");
183
+ background-repeat: no-repeat;
184
+ content: "";
185
+ display: inline-block;
186
+ height: 24px;
187
+ vertical-align: top;
188
+ width: 24px;
189
+ margin-left: 8px;
190
+ }
191
+ .open.dso-spinner-right:not([disabled]).btn-sm:hover::after {
192
+ height: 16px;
193
+ width: 16px;
194
+ }
134
195
 
135
196
  .dimmer {
136
197
  position: fixed;
@@ -219,10 +280,18 @@ button::-moz-focus-inner {
219
280
  line-height: 16px;
220
281
  }
221
282
  .close.btn-sm dso-icon,
222
- .close.btn-sm svg.di, .close.btn-sm.extern::after, .close.btn-sm.download::after {
283
+ .close.btn-sm svg.di, .close.btn-sm.extern::after, .close.btn-sm.download::after, .close.btn-sm.dso-spinner::before {
223
284
  margin-bottom: -4px;
224
285
  margin-top: -4px;
225
286
  }
287
+ .close.btn-sm.dso-spinner-left::before {
288
+ height: 16px;
289
+ width: 16px;
290
+ }
291
+ .close.btn-sm.dso-spinner-right::after {
292
+ height: 16px;
293
+ width: 16px;
294
+ }
226
295
  .close.download::after {
227
296
  background: var(--dso-icon, var(--di-download)) no-repeat;
228
297
  background-position: center;
@@ -260,4 +329,57 @@ button::-moz-focus-inner {
260
329
  overflow: hidden;
261
330
  clip: rect(0, 0, 0, 0);
262
331
  border: 0;
332
+ }
333
+ .close.dso-spinner-left[disabled], .close.dso-spinner-right[disabled] {
334
+ background-color: #fff;
335
+ border-color: #39870c;
336
+ color: #39870c;
337
+ }
338
+ .close.dso-spinner-left::before {
339
+ background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E");
340
+ background-repeat: no-repeat;
341
+ content: "";
342
+ display: inline-block;
343
+ height: 24px;
344
+ vertical-align: top;
345
+ width: 24px;
346
+ margin-right: 8px;
347
+ }
348
+ .close.dso-spinner-left:not([disabled]):hover::before {
349
+ background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E");
350
+ background-repeat: no-repeat;
351
+ content: "";
352
+ display: inline-block;
353
+ height: 24px;
354
+ vertical-align: top;
355
+ width: 24px;
356
+ margin-right: 8px;
357
+ }
358
+ .close.dso-spinner-left:not([disabled]).btn-sm:hover::before {
359
+ height: 16px;
360
+ width: 16px;
361
+ }
362
+ .close.dso-spinner-right::after {
363
+ background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E");
364
+ background-repeat: no-repeat;
365
+ content: "";
366
+ display: inline-block;
367
+ height: 24px;
368
+ vertical-align: top;
369
+ width: 24px;
370
+ margin-left: 8px;
371
+ }
372
+ .close.dso-spinner-right:not([disabled]):hover::after {
373
+ background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E");
374
+ background-repeat: no-repeat;
375
+ content: "";
376
+ display: inline-block;
377
+ height: 24px;
378
+ vertical-align: top;
379
+ width: 24px;
380
+ margin-left: 8px;
381
+ }
382
+ .close.dso-spinner-right:not([disabled]).btn-sm:hover::after {
383
+ height: 16px;
384
+ width: 16px;
263
385
  }
@@ -1,5 +1,6 @@
1
1
  :host {
2
2
  display: inline-block;
3
+ max-width: 100%;
3
4
  }
4
5
 
5
6
  *,
@@ -81,4 +82,16 @@
81
82
  color: #191919;
82
83
  border: 1px solid #ccc;
83
84
  padding: 3px 7px;
85
+ }
86
+ .dso-label.dso-hover .dso-label-content {
87
+ text-decoration: line-through;
88
+ }
89
+
90
+ .dso-truncate.dso-label-content {
91
+ display: inline-block;
92
+ max-width: 184px;
93
+ overflow: hidden;
94
+ text-overflow: ellipsis;
95
+ vertical-align: bottom;
96
+ white-space: nowrap;
84
97
  }
@@ -1,17 +1,91 @@
1
- import { Component, h, Prop, Event, State } from '@stencil/core';
1
+ import { Component, h, Prop, Event, State, Element, Fragment, Watch } from '@stencil/core';
2
2
  import clsx from 'clsx';
3
+ function hasEllipses(el) {
4
+ return el.scrollWidth > el.clientWidth;
5
+ }
3
6
  export class Label {
7
+ constructor() {
8
+ this.resizeObserver = new ResizeObserver(() => this.truncateLabel());
9
+ this.keydownListenerActive = false;
10
+ this.keyDownListener = (event) => {
11
+ if (event.key == 'Escape') {
12
+ this.textHover = false;
13
+ this.textFocus = false;
14
+ }
15
+ };
16
+ }
17
+ watchTruncate(truncate) {
18
+ if (truncate) {
19
+ this.startTruncate();
20
+ }
21
+ else {
22
+ this.stopTruncate();
23
+ }
24
+ }
25
+ watchTooltipActive() {
26
+ if (!this.keydownListenerActive && (this.textHover || this.textFocus)) {
27
+ document.addEventListener('keydown', this.keyDownListener);
28
+ this.keydownListenerActive = true;
29
+ }
30
+ if (!this.textHover && !this.textFocus) {
31
+ document.removeEventListener('keydown', this.keyDownListener);
32
+ this.keydownListenerActive = false;
33
+ }
34
+ }
35
+ truncateLabel() {
36
+ setTimeout(() => {
37
+ if (this.labelContent) {
38
+ this.truncatedContent = hasEllipses(this.labelContent) ? this.host.innerText : undefined;
39
+ }
40
+ });
41
+ }
42
+ componentDidLoad() {
43
+ if (this.truncate) {
44
+ this.startTruncate();
45
+ }
46
+ }
47
+ disconnectedCallback() {
48
+ this.stopTruncate();
49
+ }
50
+ startTruncate() {
51
+ this.mutationObserver = new MutationObserver(() => {
52
+ this.truncateLabel();
53
+ });
54
+ this.mutationObserver.observe(this.host, {
55
+ attributes: true,
56
+ subtree: true
57
+ });
58
+ this.resizeObserver.observe(this.host);
59
+ this.truncateLabel();
60
+ }
61
+ stopTruncate() {
62
+ var _a;
63
+ document.removeEventListener('keydown', this.keyDownListener);
64
+ (_a = this.mutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
65
+ this.resizeObserver.unobserve(this.host);
66
+ this.truncatedContent = undefined;
67
+ this.keydownListenerActive = false;
68
+ }
4
69
  render() {
5
70
  const status = this.status && Label.statusMap.get(this.status);
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" }),
8
- status && (h("span", { class: "sr-only" },
9
- status,
10
- ": ")),
11
- h("slot", null),
12
- this.removable && (h("button", { type: "button", onClick: e => this.removeClick.emit(e), onMouseEnter: () => this.hover = true, onMouseLeave: () => this.hover = false },
13
- h("span", { class: "sr-only" }, "Verwijder"),
14
- h("dso-icon", { icon: "times" })))));
71
+ return (h(Fragment, null,
72
+ h("span", { id: "toggle-anchor", class: clsx('dso-label', {
73
+ [`dso-label-${this.status}`]: this.status,
74
+ 'dso-compact': this.compact && !this.removable,
75
+ 'dso-hover': this.removeHover || this.removeFocus,
76
+ }) },
77
+ h("slot", { name: "symbol" }),
78
+ status && (h("span", { class: "sr-only" },
79
+ status,
80
+ ": ")),
81
+ h("span", { class: clsx('dso-label-content', {
82
+ 'dso-truncate': !!this.truncate,
83
+ }), ref: element => this.labelContent = element, tabindex: (this.truncate && this.truncatedContent) ? 0 : -1, onMouseEnter: () => this.textHover = true, onMouseLeave: () => this.textHover = false, onFocus: () => this.textFocus = true, onBlur: () => this.textFocus = false },
84
+ h("slot", null)),
85
+ this.removable && (h("button", { type: "button", onClick: e => this.removeClick.emit(e), onMouseEnter: () => this.removeHover = true, onMouseLeave: () => this.removeHover = false, onFocus: () => this.removeFocus = true, onBlur: () => this.removeFocus = false },
86
+ h("span", { class: "sr-only" }, "Verwijder"),
87
+ h("dso-icon", { icon: "times" })))),
88
+ h("dso-tooltip", { stateless: true, for: "toggle-anchor", active: !!this.truncatedContent && (this.textHover || this.textFocus), position: "top" }, this.truncatedContent)));
15
89
  }
16
90
  static get is() { return "dso-label"; }
17
91
  static get encapsulation() { return "shadow"; }
@@ -72,10 +146,31 @@ export class Label {
72
146
  },
73
147
  "attribute": "status",
74
148
  "reflect": false
149
+ },
150
+ "truncate": {
151
+ "type": "boolean",
152
+ "mutable": false,
153
+ "complexType": {
154
+ "original": "boolean",
155
+ "resolved": "boolean | undefined",
156
+ "references": {}
157
+ },
158
+ "required": false,
159
+ "optional": true,
160
+ "docs": {
161
+ "tags": [],
162
+ "text": ""
163
+ },
164
+ "attribute": "truncate",
165
+ "reflect": false
75
166
  }
76
167
  }; }
77
168
  static get states() { return {
78
- "hover": {}
169
+ "removeHover": {},
170
+ "removeFocus": {},
171
+ "textHover": {},
172
+ "textFocus": {},
173
+ "truncatedContent": {}
79
174
  }; }
80
175
  static get events() { return [{
81
176
  "method": "removeClick",
@@ -97,10 +192,21 @@ export class Label {
97
192
  }
98
193
  }
99
194
  }]; }
195
+ static get elementRef() { return "host"; }
196
+ static get watchers() { return [{
197
+ "propName": "truncate",
198
+ "methodName": "watchTruncate"
199
+ }, {
200
+ "propName": "textHover",
201
+ "methodName": "watchTooltipActive"
202
+ }, {
203
+ "propName": "textFocus",
204
+ "methodName": "watchTooltipActive"
205
+ }]; }
100
206
  }
101
207
  Label.statusMap = new Map([
102
208
  ['info', 'Opmerking'],
103
209
  ['success', 'Gelukt'],
104
210
  ['warning', 'Waarschuwing'],
105
- ['danger', 'Fout']
211
+ ['danger', 'Fout'],
106
212
  ]);
@@ -1,11 +1,12 @@
1
1
  import { html, nothing } from 'lit-html';
2
2
  import { ifDefined } from 'lit-html/directives/if-defined.js';
3
3
  import { unsafeHTML } from 'lit-html/directives/unsafe-html.js';
4
- export function labelTemplate({ status, label, button, compact, symbol }) {
4
+ export function labelTemplate({ status, label, button, compact, truncate, symbol }) {
5
5
  return html `
6
6
  <dso-label
7
7
  status=${ifDefined(status)}
8
8
  @removeClick=${ifDefined(button === null || button === void 0 ? void 0 : button.onClick)}
9
+ ?truncate=${truncate}
9
10
  ?compact=${compact}
10
11
  ?removable=${button}
11
12
  >
@@ -1,12 +1,13 @@
1
1
  // Keep in sync with packages\css\src\components\list\list.template.ts (https://github.com/dso-toolkit/dso-toolkit/issues/1438)
2
2
  import { Type } from '@dso-toolkit/sources';
3
- import { html } from 'lit-html';
3
+ import { html, nothing } from 'lit-html';
4
4
  import { classMap } from 'lit-html/directives/class-map.js';
5
5
  function ul(children, modifier) {
6
6
  return html `
7
7
  <ul class="${classMap({
8
8
  'list-group': modifier === 'group',
9
- 'dso-columns-list': modifier === 'columns'
9
+ 'dso-columns-list': modifier === 'columns',
10
+ 'dso-img-list': modifier === 'img-list'
10
11
  })}">
11
12
  ${children}
12
13
  </ul>
@@ -16,7 +17,8 @@ function ol(children, modifier) {
16
17
  return html `
17
18
  <ol class="${classMap({
18
19
  'list-group': modifier === 'group',
19
- 'dso-columns-list': modifier === 'columns'
20
+ 'dso-columns-list': modifier === 'columns',
21
+ 'dso-img-list': modifier === 'img-list'
20
22
  })}">
21
23
  ${children}
22
24
  </ol>
@@ -26,7 +28,12 @@ export function listTemplate({ type, items, modifier }) {
26
28
  const children = html `
27
29
  ${items.map(item => html `
28
30
  <li class="${classMap({ 'list-group-item': modifier === 'group' })}">
29
- ${item}
31
+ ${modifier === 'img-list' ?
32
+ html `
33
+ <img src=${item.imgSrc} />
34
+ `
35
+ : nothing}
36
+ ${item.text}
30
37
  </li>
31
38
  `)}
32
39
  `;
@@ -107,10 +107,18 @@ button::-moz-focus-inner {
107
107
  line-height: 16px;
108
108
  }
109
109
  #toggle-visibility-button.btn-sm dso-icon,
110
- #toggle-visibility-button.btn-sm svg.di, #toggle-visibility-button.btn-sm.extern::after, #toggle-visibility-button.btn-sm.download::after {
110
+ #toggle-visibility-button.btn-sm svg.di, #toggle-visibility-button.btn-sm.extern::after, #toggle-visibility-button.btn-sm.download::after, #toggle-visibility-button.btn-sm.dso-spinner::before {
111
111
  margin-bottom: -4px;
112
112
  margin-top: -4px;
113
113
  }
114
+ #toggle-visibility-button.btn-sm.dso-spinner-left::before {
115
+ height: 16px;
116
+ width: 16px;
117
+ }
118
+ #toggle-visibility-button.btn-sm.dso-spinner-right::after {
119
+ height: 16px;
120
+ width: 16px;
121
+ }
114
122
  #toggle-visibility-button.download::after {
115
123
  background: var(--dso-icon, var(--di-download)) no-repeat;
116
124
  background-position: center;
@@ -149,6 +157,59 @@ button::-moz-focus-inner {
149
157
  margin-left: 8px;
150
158
  margin-right: -8px;
151
159
  }
160
+ #toggle-visibility-button.dso-spinner-left[disabled], #toggle-visibility-button.dso-spinner-right[disabled] {
161
+ background-color: #fff;
162
+ border-color: #39870c;
163
+ color: #39870c;
164
+ }
165
+ #toggle-visibility-button.dso-spinner-left::before {
166
+ background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E");
167
+ background-repeat: no-repeat;
168
+ content: "";
169
+ display: inline-block;
170
+ height: 24px;
171
+ vertical-align: top;
172
+ width: 24px;
173
+ margin-right: 8px;
174
+ }
175
+ #toggle-visibility-button.dso-spinner-left:not([disabled]):hover::before {
176
+ background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E");
177
+ background-repeat: no-repeat;
178
+ content: "";
179
+ display: inline-block;
180
+ height: 24px;
181
+ vertical-align: top;
182
+ width: 24px;
183
+ margin-right: 8px;
184
+ }
185
+ #toggle-visibility-button.dso-spinner-left:not([disabled]).btn-sm:hover::before {
186
+ height: 16px;
187
+ width: 16px;
188
+ }
189
+ #toggle-visibility-button.dso-spinner-right::after {
190
+ background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E");
191
+ background-repeat: no-repeat;
192
+ content: "";
193
+ display: inline-block;
194
+ height: 24px;
195
+ vertical-align: top;
196
+ width: 24px;
197
+ margin-left: 8px;
198
+ }
199
+ #toggle-visibility-button.dso-spinner-right:not([disabled]):hover::after {
200
+ background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E");
201
+ background-repeat: no-repeat;
202
+ content: "";
203
+ display: inline-block;
204
+ height: 24px;
205
+ vertical-align: top;
206
+ width: 24px;
207
+ margin-left: 8px;
208
+ }
209
+ #toggle-visibility-button.dso-spinner-right:not([disabled]).btn-sm:hover::after {
210
+ height: 16px;
211
+ width: 16px;
212
+ }
152
213
  #toggle-visibility-button:focus-visible {
153
214
  background-color: #39870c;
154
215
  border-color: #39870c;
@@ -228,10 +289,18 @@ button::-moz-focus-inner {
228
289
  line-height: 16px;
229
290
  }
230
291
  #zoom-buttons button.btn-sm dso-icon,
231
- #zoom-buttons button.btn-sm svg.di, #zoom-buttons button.btn-sm.extern::after, #zoom-buttons button.btn-sm.download::after {
292
+ #zoom-buttons button.btn-sm svg.di, #zoom-buttons button.btn-sm.extern::after, #zoom-buttons button.btn-sm.download::after, #zoom-buttons button.btn-sm.dso-spinner::before {
232
293
  margin-bottom: -4px;
233
294
  margin-top: -4px;
234
295
  }
296
+ #zoom-buttons button.btn-sm.dso-spinner-left::before {
297
+ height: 16px;
298
+ width: 16px;
299
+ }
300
+ #zoom-buttons button.btn-sm.dso-spinner-right::after {
301
+ height: 16px;
302
+ width: 16px;
303
+ }
235
304
  #zoom-buttons button.download::after {
236
305
  background: var(--dso-icon, var(--di-download)) no-repeat;
237
306
  background-position: center;
@@ -270,6 +339,59 @@ button::-moz-focus-inner {
270
339
  clip: rect(0, 0, 0, 0);
271
340
  border: 0;
272
341
  }
342
+ #zoom-buttons button.dso-spinner-left[disabled], #zoom-buttons button.dso-spinner-right[disabled] {
343
+ background-color: #fff;
344
+ border-color: #39870c;
345
+ color: #39870c;
346
+ }
347
+ #zoom-buttons button.dso-spinner-left::before {
348
+ background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E");
349
+ background-repeat: no-repeat;
350
+ content: "";
351
+ display: inline-block;
352
+ height: 24px;
353
+ vertical-align: top;
354
+ width: 24px;
355
+ margin-right: 8px;
356
+ }
357
+ #zoom-buttons button.dso-spinner-left:not([disabled]):hover::before {
358
+ background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E");
359
+ background-repeat: no-repeat;
360
+ content: "";
361
+ display: inline-block;
362
+ height: 24px;
363
+ vertical-align: top;
364
+ width: 24px;
365
+ margin-right: 8px;
366
+ }
367
+ #zoom-buttons button.dso-spinner-left:not([disabled]).btn-sm:hover::before {
368
+ height: 16px;
369
+ width: 16px;
370
+ }
371
+ #zoom-buttons button.dso-spinner-right::after {
372
+ background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E");
373
+ background-repeat: no-repeat;
374
+ content: "";
375
+ display: inline-block;
376
+ height: 24px;
377
+ vertical-align: top;
378
+ width: 24px;
379
+ margin-left: 8px;
380
+ }
381
+ #zoom-buttons button.dso-spinner-right:not([disabled]):hover::after {
382
+ background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E");
383
+ background-repeat: no-repeat;
384
+ content: "";
385
+ display: inline-block;
386
+ height: 24px;
387
+ vertical-align: top;
388
+ width: 24px;
389
+ margin-left: 8px;
390
+ }
391
+ #zoom-buttons button.dso-spinner-right:not([disabled]).btn-sm:hover::after {
392
+ height: 16px;
393
+ width: 16px;
394
+ }
273
395
  #zoom-buttons button:focus-visible {
274
396
  background-color: #39870c;
275
397
  border-color: #39870c;
@@ -320,6 +442,9 @@ button::-moz-focus-inner {
320
442
  #close-button[disabled] {
321
443
  color: #afcf9d;
322
444
  }
445
+ #close-button[disabled].dso-spinner-left, #close-button[disabled].dso-spinner-right {
446
+ color: #39870c;
447
+ }
323
448
  #close-button:not([disabled]):hover {
324
449
  color: #676cb0;
325
450
  text-decoration: underline;
@@ -364,6 +489,26 @@ button::-moz-focus-inner {
364
489
  #close-button.extern:not([disabled]):hover::after, #close-button.extern:not([disabled]):active::after {
365
490
  --dso-icon: var(--di-external-link-scampi);
366
491
  }
492
+ #close-button.dso-spinner-left::before {
493
+ background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E");
494
+ background-repeat: no-repeat;
495
+ content: "";
496
+ display: inline-block;
497
+ height: 24px;
498
+ vertical-align: middle;
499
+ width: 24px;
500
+ margin-right: 8px;
501
+ }
502
+ #close-button.dso-spinner-right::after {
503
+ background-image: url("data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='10' stroke-linecap='butt' cx='50' cy='50' r='45'%3E%3C/circle%3E%3C/svg%3E");
504
+ background-repeat: no-repeat;
505
+ content: "";
506
+ display: inline-block;
507
+ height: 24px;
508
+ vertical-align: middle;
509
+ width: 24px;
510
+ margin-left: 8px;
511
+ }
367
512
  #close-button > span {
368
513
  position: absolute;
369
514
  width: 1px;
@@ -0,0 +1,27 @@
1
+ import { h } from '@stencil/core';
2
+ export class OzonContentIntIoRefNode {
3
+ constructor() {
4
+ this.name = 'IntIoRef';
5
+ }
6
+ render(node, { mapNodeToJsx, emitAnchorClick }) {
7
+ const ref = node.getAttribute('ref');
8
+ if (!ref) {
9
+ return mapNodeToJsx(node.childNodes);
10
+ }
11
+ const intRefOnClick = (event) => {
12
+ event.preventDefault();
13
+ const target = event.currentTarget;
14
+ if (!(target instanceof HTMLAnchorElement)) {
15
+ return;
16
+ }
17
+ const { href } = target;
18
+ emitAnchorClick({
19
+ node: this.name,
20
+ href,
21
+ documentComponent: ref,
22
+ originalEvent: event
23
+ });
24
+ };
25
+ return (h("a", { href: `#${ref}`, onClick: intRefOnClick }, mapNodeToJsx(node.childNodes)));
26
+ }
27
+ }
@@ -16,6 +16,7 @@ export class OzonContentIntRefNode {
16
16
  }
17
17
  const { href } = target;
18
18
  emitAnchorClick({
19
+ node: this.name,
19
20
  href,
20
21
  documentComponent: ref,
21
22
  originalEvent: event
@@ -12,6 +12,7 @@ import { OzonContentTableNode } from './nodes/table.node';
12
12
  import { OzonContentTextNode } from './nodes/text.node';
13
13
  import { getNodeName } from './get-node-name.function';
14
14
  import { OzonContentFallbackNode } from './nodes/fallback.node';
15
+ import { OzonContentIntIoRefNode } from './nodes/int-io-ref.node';
15
16
  export class Mapper {
16
17
  constructor() {
17
18
  this.mappers = [
@@ -25,7 +26,8 @@ export class Mapper {
25
26
  new OzonContentInlineNodes(),
26
27
  new OzonContentIllustratieNode(),
27
28
  new OzonContentNootNode(),
28
- new OzonContentTableNode()
29
+ new OzonContentTableNode(),
30
+ new OzonContentIntIoRefNode(),
29
31
  ];
30
32
  this.skip = this.mappers.reduce((t, m) => {
31
33
  if (m.handles) {