@dso-toolkit/core 33.2.0 → 34.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 (170) hide show
  1. package/dist/cjs/dso-alert.cjs.entry.js +1 -1
  2. package/dist/cjs/dso-attachments-counter.cjs.entry.js +2 -2
  3. package/dist/cjs/dso-autosuggest.cjs.entry.js +3 -71
  4. package/dist/cjs/dso-badge.cjs.entry.js +1 -1
  5. package/dist/cjs/dso-banner.cjs.entry.js +1 -1
  6. package/dist/cjs/dso-date-picker.cjs.entry.js +49 -28
  7. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +19 -232
  8. package/dist/cjs/dso-header.cjs.entry.js +101 -0
  9. package/dist/cjs/dso-helpcenter-panel.cjs.entry.js +1 -1
  10. package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
  11. package/dist/cjs/dso-icon.cjs.entry.js +1 -1
  12. package/dist/cjs/dso-info-button.cjs.entry.js +2 -2
  13. package/dist/cjs/dso-info_2.cjs.entry.js +2 -2
  14. package/dist/cjs/dso-label.cjs.entry.js +1 -1
  15. package/dist/cjs/dso-map-base-layers.cjs.entry.js +7 -6
  16. package/dist/cjs/dso-map-controls.cjs.entry.js +3 -3
  17. package/dist/cjs/dso-map-overlays.cjs.entry.js +9 -10
  18. package/dist/cjs/dso-ozon-content.cjs.entry.js +1 -1
  19. package/dist/cjs/dso-progress-bar.cjs.entry.js +1 -1
  20. package/dist/cjs/dso-progress-indicator.cjs.entry.js +1 -1
  21. package/dist/cjs/dso-toggletip.cjs.entry.js +1 -1
  22. package/dist/cjs/dso-toolkit.cjs.js +2 -2
  23. package/dist/cjs/dso-tooltip.cjs.entry.js +169 -76
  24. package/dist/cjs/dso-tree-view.cjs.entry.js +2 -2
  25. package/dist/cjs/dso-viewer-grid.cjs.entry.js +778 -0
  26. package/dist/cjs/{index-fcdfdd38.js → index-5ea63531.js} +26 -2
  27. package/dist/cjs/index-794ad37a.js +72 -0
  28. package/dist/cjs/index.esm-2ac7081c.js +267 -0
  29. package/dist/cjs/loader.cjs.js +2 -2
  30. package/dist/collection/collection-manifest.json +3 -1
  31. package/dist/collection/components/alert/alert.css +0 -3
  32. package/dist/collection/components/anchor/anchor.template.js +17 -0
  33. package/dist/collection/components/attachments-counter/attachments-counter.css +0 -4
  34. package/dist/collection/components/autosuggest/autosuggest.css +0 -3
  35. package/dist/collection/components/badge/badge.css +0 -3
  36. package/dist/collection/components/banner/banner.css +0 -3
  37. package/dist/collection/components/button/button.template.js +48 -0
  38. package/dist/collection/components/context/context.template.js +42 -0
  39. package/dist/collection/components/date-picker/date-picker.css +3 -5
  40. package/dist/collection/components/date-picker/date-picker.js +49 -28
  41. package/dist/collection/components/date-picker/date-picker.template.js +2 -1
  42. package/dist/collection/components/definition-list/definition-list.template.js +36 -0
  43. package/dist/collection/components/dropdown-menu/dropdown-menu.css +0 -3
  44. package/dist/collection/components/dropdown-menu/dropdown-menu.js +15 -4
  45. package/dist/collection/components/header/header.css +433 -0
  46. package/dist/collection/components/header/header.js +294 -0
  47. package/dist/collection/components/header/header.template.js +32 -0
  48. package/dist/collection/components/helpcenter-panel/helpcenter-panel.css +0 -3
  49. package/dist/collection/components/highlight-box/highlight-box.css +0 -3
  50. package/dist/collection/components/icon/icon.css +0 -4
  51. package/dist/collection/components/info/info.css +1 -4
  52. package/dist/collection/components/info-button/info-button.css +1 -3
  53. package/dist/collection/components/label/label.css +0 -3
  54. package/dist/collection/components/label-group/label-group.template.js +7 -0
  55. package/dist/collection/components/list/list.template.js +37 -0
  56. package/dist/collection/components/map-base-layers/map-base-layers.css +4 -3
  57. package/dist/collection/components/map-base-layers/map-base-layers.js +10 -27
  58. package/dist/collection/components/map-controls/map-controls.css +30 -11
  59. package/dist/collection/components/map-controls/map-controls.js +10 -11
  60. package/dist/collection/components/map-controls/map-controls.template.js +12 -20
  61. package/dist/collection/components/map-overlays/map-overlays.css +4 -3
  62. package/dist/collection/components/map-overlays/map-overlays.js +13 -35
  63. package/dist/collection/components/ozon-content/ozon-content.css +0 -3
  64. package/dist/collection/components/progress-bar/progress-bar.css +0 -3
  65. package/dist/collection/components/progress-indicator/progress-indicator.css +0 -3
  66. package/dist/collection/components/selectable/selectable.css +0 -3
  67. package/dist/collection/components/toggletip/toggletip.css +0 -3
  68. package/dist/collection/components/tooltip/tooltip.css +34 -15
  69. package/dist/collection/components/tooltip/tooltip.js +19 -4
  70. package/dist/collection/components/tooltip/tooltip.template.js +3 -5
  71. package/dist/collection/components/tree-view/tree-view.css +3 -3
  72. package/dist/collection/components/viewer-grid/viewer-grid-document-header.template.js +39 -0
  73. package/dist/collection/components/viewer-grid/viewer-grid-document-list-item.template.js +19 -0
  74. package/dist/collection/components/viewer-grid/viewer-grid-filterblok.template.js +28 -0
  75. package/dist/collection/components/viewer-grid/viewer-grid.css +386 -0
  76. package/dist/collection/components/viewer-grid/viewer-grid.js +128 -0
  77. package/dist/collection/components/viewer-grid/viewer-grid.template.js +23 -0
  78. package/dist/custom-elements/index.d.ts +12 -0
  79. package/dist/custom-elements/index.js +1162 -132
  80. package/dist/dso-toolkit/dso-toolkit.css +1 -1
  81. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  82. package/dist/dso-toolkit/p-06de0fa1.entry.js +1 -0
  83. package/dist/dso-toolkit/p-17f073d1.entry.js +1 -0
  84. package/dist/dso-toolkit/p-1805f5b0.js +1 -0
  85. package/dist/dso-toolkit/{p-75233655.entry.js → p-1fefbf8c.entry.js} +1 -1
  86. package/dist/dso-toolkit/{p-a52d3623.entry.js → p-20856f91.entry.js} +1 -1
  87. package/dist/dso-toolkit/{p-262858dd.entry.js → p-2b6a3dfa.entry.js} +1 -1
  88. package/dist/dso-toolkit/{p-be5682cc.entry.js → p-348414bf.entry.js} +1 -1
  89. package/dist/dso-toolkit/{p-984551a8.entry.js → p-3b493a2c.entry.js} +1 -1
  90. package/dist/dso-toolkit/{p-0a08ac9f.entry.js → p-4e573fc5.entry.js} +1 -1
  91. package/dist/dso-toolkit/{p-c9c1bc8f.entry.js → p-5037944e.entry.js} +1 -1
  92. package/dist/dso-toolkit/p-7b006b11.entry.js +1 -0
  93. package/dist/dso-toolkit/p-88bc5873.entry.js +1 -0
  94. package/dist/dso-toolkit/p-8bf3a60e.js +5 -0
  95. package/dist/dso-toolkit/p-94b79e43.entry.js +1 -0
  96. package/dist/dso-toolkit/{p-83f166b3.entry.js → p-94dffa65.entry.js} +1 -1
  97. package/dist/dso-toolkit/{p-b07991b9.entry.js → p-951f5872.entry.js} +1 -1
  98. package/dist/dso-toolkit/p-a7306b7b.entry.js +1 -0
  99. package/dist/dso-toolkit/p-aadc4f8e.entry.js +1 -0
  100. package/dist/dso-toolkit/p-ad2210ad.entry.js +1 -0
  101. package/dist/dso-toolkit/p-b69134ed.entry.js +5 -0
  102. package/dist/dso-toolkit/{p-b5b946de.entry.js → p-bc14cafd.entry.js} +1 -1
  103. package/dist/dso-toolkit/{p-5665f1ee.entry.js → p-c54ecae1.entry.js} +1 -1
  104. package/dist/dso-toolkit/p-c95108fe.entry.js +1 -0
  105. package/dist/dso-toolkit/{p-e814d644.entry.js → p-daa1e29d.entry.js} +1 -1
  106. package/dist/dso-toolkit/p-dad72605.js +1 -0
  107. package/dist/dso-toolkit/{p-2e7d535c.entry.js → p-dc86d830.entry.js} +1 -1
  108. package/dist/dso-toolkit/{p-19de4cc7.entry.js → p-f0b67246.entry.js} +1 -1
  109. package/dist/esm/dso-alert.entry.js +1 -1
  110. package/dist/esm/dso-attachments-counter.entry.js +2 -2
  111. package/dist/esm/dso-autosuggest.entry.js +2 -70
  112. package/dist/esm/dso-badge.entry.js +1 -1
  113. package/dist/esm/dso-banner.entry.js +1 -1
  114. package/dist/esm/dso-date-picker.entry.js +49 -28
  115. package/dist/esm/dso-dropdown-menu.entry.js +17 -230
  116. package/dist/esm/dso-header.entry.js +97 -0
  117. package/dist/esm/dso-helpcenter-panel.entry.js +1 -1
  118. package/dist/esm/dso-highlight-box.entry.js +1 -1
  119. package/dist/esm/dso-icon.entry.js +1 -1
  120. package/dist/esm/dso-info-button.entry.js +2 -2
  121. package/dist/esm/dso-info_2.entry.js +2 -2
  122. package/dist/esm/dso-label.entry.js +1 -1
  123. package/dist/esm/dso-map-base-layers.entry.js +7 -6
  124. package/dist/esm/dso-map-controls.entry.js +3 -3
  125. package/dist/esm/dso-map-overlays.entry.js +9 -10
  126. package/dist/esm/dso-ozon-content.entry.js +1 -1
  127. package/dist/esm/dso-progress-bar.entry.js +1 -1
  128. package/dist/esm/dso-progress-indicator.entry.js +1 -1
  129. package/dist/esm/dso-toggletip.entry.js +1 -1
  130. package/dist/esm/dso-toolkit.js +2 -2
  131. package/dist/esm/dso-tooltip.entry.js +169 -76
  132. package/dist/esm/dso-tree-view.entry.js +2 -2
  133. package/dist/esm/dso-viewer-grid.entry.js +774 -0
  134. package/dist/esm/{index-61410be2.js → index-d54cae76.js} +26 -2
  135. package/dist/esm/index-f2bf58ce.js +70 -0
  136. package/dist/esm/index.esm-a1362957.js +262 -0
  137. package/dist/esm/loader.js +2 -2
  138. package/dist/types/components/anchor/anchor.template.d.ts +2 -0
  139. package/dist/types/components/button/button.template.d.ts +2 -0
  140. package/dist/types/components/context/context.template.d.ts +3 -0
  141. package/dist/types/components/date-picker/date-picker.d.ts +3 -1
  142. package/dist/types/components/date-picker/date-picker.template.d.ts +1 -1
  143. package/dist/types/components/definition-list/definition-list.template.d.ts +3 -0
  144. package/dist/types/components/dropdown-menu/dropdown-menu.d.ts +1 -1
  145. package/dist/types/components/header/header.d.ts +36 -0
  146. package/dist/types/components/header/header.template.d.ts +2 -0
  147. package/dist/types/components/label-group/label-group.template.d.ts +2 -0
  148. package/dist/types/components/list/list.template.d.ts +3 -0
  149. package/dist/types/components/map-base-layers/map-base-layers.d.ts +3 -4
  150. package/dist/types/components/map-base-layers/map-base-layers.interfaces.d.ts +6 -1
  151. package/dist/types/components/map-controls/map-controls.template.d.ts +1 -1
  152. package/dist/types/components/map-overlays/map-overlays.d.ts +4 -4
  153. package/dist/types/components/map-overlays/map-overlays.interfaces.d.ts +7 -1
  154. package/dist/types/components/tooltip/tooltip.d.ts +1 -0
  155. package/dist/types/components/viewer-grid/viewer-grid-document-header.template.d.ts +3 -0
  156. package/dist/types/components/viewer-grid/viewer-grid-document-list-item.template.d.ts +3 -0
  157. package/dist/types/components/viewer-grid/viewer-grid-filterblok.template.d.ts +3 -0
  158. package/dist/types/components/viewer-grid/viewer-grid.d.ts +22 -0
  159. package/dist/types/components/viewer-grid/viewer-grid.template.d.ts +3 -0
  160. package/dist/types/components.d.ts +50 -8
  161. package/package.json +4 -2
  162. package/dist/dso-toolkit/p-08427682.entry.js +0 -1
  163. package/dist/dso-toolkit/p-731a9631.entry.js +0 -1
  164. package/dist/dso-toolkit/p-741e96de.entry.js +0 -5
  165. package/dist/dso-toolkit/p-759920d0.entry.js +0 -1
  166. package/dist/dso-toolkit/p-a40eeb32.js +0 -1
  167. package/dist/dso-toolkit/p-affe82e6.entry.js +0 -1
  168. package/dist/dso-toolkit/p-e4269e02.entry.js +0 -1
  169. package/dist/dso-toolkit/p-e7700d9e.entry.js +0 -1
  170. package/dist/dso-toolkit/p-fd5e24c9.entry.js +0 -1
@@ -72,6 +72,7 @@ const HYDRATE_ID = 's-id';
72
72
  const HYDRATED_STYLE_ID = 'sty-id';
73
73
  const HYDRATE_CHILD_ID = 'c-id';
74
74
  const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
75
+ const XLINK_NS = 'http://www.w3.org/1999/xlink';
75
76
  const createTime = (fnName, tagName = '') => {
76
77
  {
77
78
  return () => {
@@ -421,16 +422,36 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
421
422
  }
422
423
  catch (e) { }
423
424
  }
425
+ /**
426
+ * Need to manually update attribute if:
427
+ * - memberName is not an attribute
428
+ * - if we are rendering the host element in order to reflect attribute
429
+ * - if it's a SVG, since properties might not work in <svg>
430
+ * - if the newValue is null/undefined or 'false'.
431
+ */
432
+ let xlink = false;
433
+ {
434
+ if (ln !== (ln = ln.replace(/^xlink\:?/, ''))) {
435
+ memberName = ln;
436
+ xlink = true;
437
+ }
438
+ }
424
439
  if (newValue == null || newValue === false) {
425
440
  if (newValue !== false || elm.getAttribute(memberName) === '') {
426
- {
441
+ if (xlink) {
442
+ elm.removeAttributeNS(XLINK_NS, memberName);
443
+ }
444
+ else {
427
445
  elm.removeAttribute(memberName);
428
446
  }
429
447
  }
430
448
  }
431
449
  else if ((!isProp || flags & 4 /* isHost */ || isSvg) && !isComplex) {
432
450
  newValue = newValue === true ? '' : newValue;
433
- {
451
+ if (xlink) {
452
+ elm.setAttributeNS(XLINK_NS, memberName, newValue);
453
+ }
454
+ else {
434
455
  elm.setAttribute(memberName, newValue);
435
456
  }
436
457
  }
@@ -1188,6 +1209,9 @@ const postUpdateComponent = (hostRef) => {
1188
1209
  }
1189
1210
  }
1190
1211
  else {
1212
+ {
1213
+ safeCall(instance, 'componentDidUpdate');
1214
+ }
1191
1215
  endPostUpdate();
1192
1216
  }
1193
1217
  {
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Returns a function, that, as long as it continues to be invoked, will not
3
+ * be triggered. The function will be called after it stops being called for
4
+ * N milliseconds. If `immediate` is passed, trigger the function on the
5
+ * leading edge, instead of the trailing. The function also has a property 'clear'
6
+ * that is a function which will clear the timer to prevent previously scheduled executions.
7
+ *
8
+ * @source underscore.js
9
+ * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/
10
+ * @param {Function} function to wrap
11
+ * @param {Number} timeout in ms (`100`)
12
+ * @param {Boolean} whether to execute at the beginning (`false`)
13
+ * @api public
14
+ */
15
+ function debounce(func, wait, immediate){
16
+ var timeout, args, context, timestamp, result;
17
+ if (null == wait) wait = 100;
18
+
19
+ function later() {
20
+ var last = Date.now() - timestamp;
21
+
22
+ if (last < wait && last >= 0) {
23
+ timeout = setTimeout(later, wait - last);
24
+ } else {
25
+ timeout = null;
26
+ if (!immediate) {
27
+ result = func.apply(context, args);
28
+ context = args = null;
29
+ }
30
+ }
31
+ }
32
+ var debounced = function(){
33
+ context = this;
34
+ args = arguments;
35
+ timestamp = Date.now();
36
+ var callNow = immediate && !timeout;
37
+ if (!timeout) timeout = setTimeout(later, wait);
38
+ if (callNow) {
39
+ result = func.apply(context, args);
40
+ context = args = null;
41
+ }
42
+
43
+ return result;
44
+ };
45
+
46
+ debounced.clear = function() {
47
+ if (timeout) {
48
+ clearTimeout(timeout);
49
+ timeout = null;
50
+ }
51
+ };
52
+
53
+ debounced.flush = function() {
54
+ if (timeout) {
55
+ result = func.apply(context, args);
56
+ context = args = null;
57
+
58
+ clearTimeout(timeout);
59
+ timeout = null;
60
+ }
61
+ };
62
+
63
+ return debounced;
64
+ }
65
+ // Adds compatibility for ES modules
66
+ debounce.debounce = debounce;
67
+
68
+ var debounce_1 = debounce;
69
+
70
+ export { debounce_1 as d };
@@ -0,0 +1,262 @@
1
+ /*!
2
+ * tabbable 5.2.1
3
+ * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
4
+ */
5
+ var candidateSelectors = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable="false"])', 'details>summary:first-of-type', 'details'];
6
+ var candidateSelector = /* #__PURE__ */candidateSelectors.join(',');
7
+ var matches = typeof Element === 'undefined' ? function () {} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
8
+
9
+ var getCandidates = function getCandidates(el, includeContainer, filter) {
10
+ var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));
11
+
12
+ if (includeContainer && matches.call(el, candidateSelector)) {
13
+ candidates.unshift(el);
14
+ }
15
+
16
+ candidates = candidates.filter(filter);
17
+ return candidates;
18
+ };
19
+
20
+ var isContentEditable = function isContentEditable(node) {
21
+ return node.contentEditable === 'true';
22
+ };
23
+
24
+ var getTabindex = function getTabindex(node) {
25
+ var tabindexAttr = parseInt(node.getAttribute('tabindex'), 10);
26
+
27
+ if (!isNaN(tabindexAttr)) {
28
+ return tabindexAttr;
29
+ } // Browsers do not return `tabIndex` correctly for contentEditable nodes;
30
+ // so if they don't have a tabindex attribute specifically set, assume it's 0.
31
+
32
+
33
+ if (isContentEditable(node)) {
34
+ return 0;
35
+ } // in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default
36
+ // `tabIndex` of -1 when the 'tabindex' attribute isn't specified in the DOM,
37
+ // yet they are still part of the regular tab order; in FF, they get a default
38
+ // `tabIndex` of 0; since Chrome still puts those elements in the regular tab
39
+ // order, consider their tab index to be 0.
40
+
41
+
42
+ if ((node.nodeName === 'AUDIO' || node.nodeName === 'VIDEO' || node.nodeName === 'DETAILS') && node.getAttribute('tabindex') === null) {
43
+ return 0;
44
+ }
45
+
46
+ return node.tabIndex;
47
+ };
48
+
49
+ var sortOrderedTabbables = function sortOrderedTabbables(a, b) {
50
+ return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;
51
+ };
52
+
53
+ var isInput = function isInput(node) {
54
+ return node.tagName === 'INPUT';
55
+ };
56
+
57
+ var isHiddenInput = function isHiddenInput(node) {
58
+ return isInput(node) && node.type === 'hidden';
59
+ };
60
+
61
+ var isDetailsWithSummary = function isDetailsWithSummary(node) {
62
+ var r = node.tagName === 'DETAILS' && Array.prototype.slice.apply(node.children).some(function (child) {
63
+ return child.tagName === 'SUMMARY';
64
+ });
65
+ return r;
66
+ };
67
+
68
+ var getCheckedRadio = function getCheckedRadio(nodes, form) {
69
+ for (var i = 0; i < nodes.length; i++) {
70
+ if (nodes[i].checked && nodes[i].form === form) {
71
+ return nodes[i];
72
+ }
73
+ }
74
+ };
75
+
76
+ var isTabbableRadio = function isTabbableRadio(node) {
77
+ if (!node.name) {
78
+ return true;
79
+ }
80
+
81
+ var radioScope = node.form || node.ownerDocument;
82
+
83
+ var queryRadios = function queryRadios(name) {
84
+ return radioScope.querySelectorAll('input[type="radio"][name="' + name + '"]');
85
+ };
86
+
87
+ var radioSet;
88
+
89
+ if (typeof window !== 'undefined' && typeof window.CSS !== 'undefined' && typeof window.CSS.escape === 'function') {
90
+ radioSet = queryRadios(window.CSS.escape(node.name));
91
+ } else {
92
+ try {
93
+ radioSet = queryRadios(node.name);
94
+ } catch (err) {
95
+ // eslint-disable-next-line no-console
96
+ console.error('Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s', err.message);
97
+ return false;
98
+ }
99
+ }
100
+
101
+ var checked = getCheckedRadio(radioSet, node.form);
102
+ return !checked || checked === node;
103
+ };
104
+
105
+ var isRadio = function isRadio(node) {
106
+ return isInput(node) && node.type === 'radio';
107
+ };
108
+
109
+ var isNonTabbableRadio = function isNonTabbableRadio(node) {
110
+ return isRadio(node) && !isTabbableRadio(node);
111
+ };
112
+
113
+ var isHidden = function isHidden(node, displayCheck) {
114
+ if (getComputedStyle(node).visibility === 'hidden') {
115
+ return true;
116
+ }
117
+
118
+ var isDirectSummary = matches.call(node, 'details>summary:first-of-type');
119
+ var nodeUnderDetails = isDirectSummary ? node.parentElement : node;
120
+
121
+ if (matches.call(nodeUnderDetails, 'details:not([open]) *')) {
122
+ return true;
123
+ }
124
+
125
+ if (!displayCheck || displayCheck === 'full') {
126
+ while (node) {
127
+ if (getComputedStyle(node).display === 'none') {
128
+ return true;
129
+ }
130
+
131
+ node = node.parentElement;
132
+ }
133
+ } else if (displayCheck === 'non-zero-area') {
134
+ var _node$getBoundingClie = node.getBoundingClientRect(),
135
+ width = _node$getBoundingClie.width,
136
+ height = _node$getBoundingClie.height;
137
+
138
+ return width === 0 && height === 0;
139
+ }
140
+
141
+ return false;
142
+ }; // form fields (nested) inside a disabled fieldset are not focusable/tabbable
143
+ // unless they are in the _first_ <legend> element of the top-most disabled
144
+ // fieldset
145
+
146
+
147
+ var isDisabledFromFieldset = function isDisabledFromFieldset(node) {
148
+ if (isInput(node) || node.tagName === 'SELECT' || node.tagName === 'TEXTAREA' || node.tagName === 'BUTTON') {
149
+ var parentNode = node.parentElement;
150
+
151
+ while (parentNode) {
152
+ if (parentNode.tagName === 'FIELDSET' && parentNode.disabled) {
153
+ // look for the first <legend> as an immediate child of the disabled
154
+ // <fieldset>: if the node is in that legend, it'll be enabled even
155
+ // though the fieldset is disabled; otherwise, the node is in a
156
+ // secondary/subsequent legend, or somewhere else within the fieldset
157
+ // (however deep nested) and it'll be disabled
158
+ for (var i = 0; i < parentNode.children.length; i++) {
159
+ var child = parentNode.children.item(i);
160
+
161
+ if (child.tagName === 'LEGEND') {
162
+ if (child.contains(node)) {
163
+ return false;
164
+ } // the node isn't in the first legend (in doc order), so no matter
165
+ // where it is now, it'll be disabled
166
+
167
+
168
+ return true;
169
+ }
170
+ } // the node isn't in a legend, so no matter where it is now, it'll be disabled
171
+
172
+
173
+ return true;
174
+ }
175
+
176
+ parentNode = parentNode.parentElement;
177
+ }
178
+ } // else, node's tabbable/focusable state should not be affected by a fieldset's
179
+ // enabled/disabled state
180
+
181
+
182
+ return false;
183
+ };
184
+
185
+ var isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(options, node) {
186
+ if (node.disabled || isHiddenInput(node) || isHidden(node, options.displayCheck) || // For a details element with a summary, the summary element gets the focus
187
+ isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {
188
+ return false;
189
+ }
190
+
191
+ return true;
192
+ };
193
+
194
+ var isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable(options, node) {
195
+ if (!isNodeMatchingSelectorFocusable(options, node) || isNonTabbableRadio(node) || getTabindex(node) < 0) {
196
+ return false;
197
+ }
198
+
199
+ return true;
200
+ };
201
+
202
+ var tabbable = function tabbable(el, options) {
203
+ options = options || {};
204
+ var regularTabbables = [];
205
+ var orderedTabbables = [];
206
+ var candidates = getCandidates(el, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));
207
+ candidates.forEach(function (candidate, i) {
208
+ var candidateTabindex = getTabindex(candidate);
209
+
210
+ if (candidateTabindex === 0) {
211
+ regularTabbables.push(candidate);
212
+ } else {
213
+ orderedTabbables.push({
214
+ documentOrder: i,
215
+ tabIndex: candidateTabindex,
216
+ node: candidate
217
+ });
218
+ }
219
+ });
220
+ var tabbableNodes = orderedTabbables.sort(sortOrderedTabbables).map(function (a) {
221
+ return a.node;
222
+ }).concat(regularTabbables);
223
+ return tabbableNodes;
224
+ };
225
+
226
+ var focusable = function focusable(el, options) {
227
+ options = options || {};
228
+ var candidates = getCandidates(el, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));
229
+ return candidates;
230
+ };
231
+
232
+ var isTabbable = function isTabbable(node, options) {
233
+ options = options || {};
234
+
235
+ if (!node) {
236
+ throw new Error('No node provided');
237
+ }
238
+
239
+ if (matches.call(node, candidateSelector) === false) {
240
+ return false;
241
+ }
242
+
243
+ return isNodeMatchingSelectorTabbable(options, node);
244
+ };
245
+
246
+ var focusableCandidateSelector = /* #__PURE__ */candidateSelectors.concat('iframe').join(',');
247
+
248
+ var isFocusable = function isFocusable(node, options) {
249
+ options = options || {};
250
+
251
+ if (!node) {
252
+ throw new Error('No node provided');
253
+ }
254
+
255
+ if (matches.call(node, focusableCandidateSelector) === false) {
256
+ return false;
257
+ }
258
+
259
+ return isNodeMatchingSelectorFocusable(options, node);
260
+ };
261
+
262
+ export { isFocusable as a, focusable as f, isTabbable as i, tabbable as t };
@@ -1,4 +1,4 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-61410be2.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-d54cae76.js';
2
2
 
3
3
  /*
4
4
  Stencil Client Patch Esm v2.9.0 | MIT Licensed | https://stenciljs.com
@@ -10,7 +10,7 @@ const patchEsm = () => {
10
10
  const defineCustomElements = (win, options) => {
11
11
  if (typeof window === 'undefined') return Promise.resolve();
12
12
  return patchEsm().then(() => {
13
- return bootstrapLazy([["dso-map-base-layers",[[1,"dso-map-base-layers",{"baseLayers":[16],"selectedBaseLayer":[1040]}]]],["dso-map-overlays",[[1,"dso-map-overlays",{"overlays":[16],"checkedOverlays":[1040]}]]],["dso-toggletip",[[1,"dso-toggletip",{"label":[1],"position":[1],"small":[4],"secondary":[4],"active":[32]}]]],["dso-tree-view",[[1,"dso-tree-view",{"collection":[16]}]]],["dso-date-picker",[[1,"dso-date-picker",{"name":[1],"identifier":[1],"disabled":[516],"role":[1],"direction":[1],"required":[4],"dsoAutofocus":[4,"dso-autofocus"],"value":[1537],"min":[1],"max":[1],"activeFocus":[32],"focusedDay":[32],"open":[32],"setFocus":[64],"show":[64],"hide":[64]},[[6,"click","handleDocumentClick"]]]]],["dso-helpcenter-panel",[[1,"dso-helpcenter-panel",{"label":[1],"url":[1],"visibility":[32],"isOpen":[32],"slideState":[32],"loadIframe":[32]}]]],["dso-label",[[1,"dso-label",{"compact":[4],"removable":[4],"status":[1],"hover":[32]}]]],["dso-map-controls",[[1,"dso-map-controls",{"open":[1540],"disableZoom":[1,"disable-zoom"],"hideContent":[32]}]]],["dso-alert",[[1,"dso-alert",{"status":[1],"roleAlert":[4,"role-alert"]}]]],["dso-attachments-counter",[[1,"dso-attachments-counter",{"count":[2]}]]],["dso-autosuggest",[[6,"dso-autosuggest",{"suggestions":[16],"suggestOnFocus":[4,"suggest-on-focus"],"showSuggestions":[32],"selectedSuggestion":[32]},[[4,"click","onDocumentClick"]]]]],["dso-badge",[[1,"dso-badge",{"status":[1]}]]],["dso-banner",[[1,"dso-banner",{"status":[1]}]]],["dso-dropdown-menu",[[1,"dso-dropdown-menu",{"open":[1540],"dropdownAlign":[1,"dropdown-align"],"checkable":[4]}]]],["dso-highlight-box",[[1,"dso-highlight-box",{"yellow":[4],"border":[4],"white":[4],"dropShadow":[4,"drop-shadow"],"step":[2]}]]],["dso-ozon-content",[[0,"dso-ozon-content",{"content":[1]},[[0,"click","handleClick"]]]]],["dso-progress-bar",[[1,"dso-progress-bar",{"progress":[2],"min":[2],"max":[2]}]]],["dso-progress-indicator",[[1,"dso-progress-indicator",{"label":[1],"size":[1],"block":[4]}]]],["dso-tooltip",[[1,"dso-tooltip",{"position":[1],"for":[1],"noArrow":[4,"no-arrow"],"stateless":[4],"small":[4],"active":[1540],"hidden":[32],"activate":[64],"deactivate":[64]},[[0,"click","listenClick"]]]]],["dso-info-button",[[1,"dso-info-button",{"active":[1540],"secondary":[4],"label":[1]}]]],["dso-info_2",[[1,"dso-selectable",{"type":[1],"identifier":[1],"name":[1],"value":[1],"invalid":[4],"describedById":[1,"described-by-id"],"disabled":[4],"required":[4],"checked":[4],"indeterminate":[4],"infoFixed":[4,"info-fixed"],"infoActive":[32]}],[1,"dso-info",{"fixed":[516],"active":[516]}]]],["dso-icon",[[1,"dso-icon",{"icon":[1]}]]]], options);
13
+ return bootstrapLazy([["dso-map-base-layers",[[1,"dso-map-base-layers",{"baseLayers":[16]}]]],["dso-map-overlays",[[1,"dso-map-overlays",{"overlays":[16]}]]],["dso-header",[[1,"dso-header",{"loginUrl":[1,"login-url"],"logoutUrl":[1,"logout-url"],"mainMenu":[16],"useDropDownMenu":[1,"use-drop-down-menu"],"isLoggedIn":[4,"is-logged-in"],"userProfileName":[1,"user-profile-name"],"userProfileUrl":[1,"user-profile-url"],"userHomeUrl":[1,"user-home-url"],"showDropDown":[32],"hasSubLogo":[32],"overflowMenuItems":[32]}]]],["dso-toggletip",[[1,"dso-toggletip",{"label":[1],"position":[1],"small":[4],"secondary":[4],"active":[32]}]]],["dso-tree-view",[[1,"dso-tree-view",{"collection":[16]}]]],["dso-date-picker",[[2,"dso-date-picker",{"name":[1],"identifier":[1],"disabled":[516],"role":[1],"direction":[1],"required":[4],"dsoAutofocus":[4,"dso-autofocus"],"value":[1537],"min":[1],"max":[1],"activeFocus":[32],"focusedDay":[32],"open":[32],"setFocus":[64],"show":[64],"hide":[64]},[[6,"click","handleDocumentClick"]]]]],["dso-helpcenter-panel",[[1,"dso-helpcenter-panel",{"label":[1],"url":[1],"visibility":[32],"isOpen":[32],"slideState":[32],"loadIframe":[32]}]]],["dso-label",[[1,"dso-label",{"compact":[4],"removable":[4],"status":[1],"hover":[32]}]]],["dso-map-controls",[[1,"dso-map-controls",{"open":[1540],"disableZoom":[1,"disable-zoom"],"hideContent":[32]}]]],["dso-viewer-grid",[[1,"dso-viewer-grid",{"overlayOpen":[4,"overlay-open"],"mainSize":[32]}]]],["dso-alert",[[1,"dso-alert",{"status":[1],"roleAlert":[4,"role-alert"]}]]],["dso-attachments-counter",[[1,"dso-attachments-counter",{"count":[2]}]]],["dso-autosuggest",[[6,"dso-autosuggest",{"suggestions":[16],"suggestOnFocus":[4,"suggest-on-focus"],"showSuggestions":[32],"selectedSuggestion":[32]},[[4,"click","onDocumentClick"]]]]],["dso-badge",[[1,"dso-badge",{"status":[1]}]]],["dso-banner",[[1,"dso-banner",{"status":[1]}]]],["dso-highlight-box",[[1,"dso-highlight-box",{"yellow":[4],"border":[4],"white":[4],"dropShadow":[4,"drop-shadow"],"step":[2]}]]],["dso-ozon-content",[[0,"dso-ozon-content",{"content":[1]},[[0,"click","handleClick"]]]]],["dso-progress-bar",[[1,"dso-progress-bar",{"progress":[2],"min":[2],"max":[2]}]]],["dso-dropdown-menu",[[1,"dso-dropdown-menu",{"open":[1540],"dropdownAlign":[1,"dropdown-align"],"checkable":[4]}]]],["dso-progress-indicator",[[1,"dso-progress-indicator",{"label":[1],"size":[1],"block":[4]}]]],["dso-tooltip",[[1,"dso-tooltip",{"position":[1],"for":[1],"noArrow":[4,"no-arrow"],"stateless":[4],"small":[4],"active":[1540],"hidden":[32],"activate":[64],"deactivate":[64]},[[0,"click","listenClick"]]]]],["dso-info-button",[[1,"dso-info-button",{"active":[1540],"secondary":[4],"label":[1]}]]],["dso-info_2",[[1,"dso-selectable",{"type":[1],"identifier":[1],"name":[1],"value":[1],"invalid":[4],"describedById":[1,"described-by-id"],"disabled":[4],"required":[4],"checked":[4],"indeterminate":[4],"infoFixed":[4,"info-fixed"],"infoActive":[32]}],[1,"dso-info",{"fixed":[516],"active":[516]}]]],["dso-icon",[[1,"dso-icon",{"icon":[1]}]]]], options);
14
14
  });
15
15
  };
16
16
 
@@ -0,0 +1,2 @@
1
+ import { Anchor } from '@dso-toolkit/sources';
2
+ export declare function anchorTemplate({ icon, iconMode, label, modifier, url }: Anchor): import("lit-html").TemplateResult<1>;
@@ -0,0 +1,2 @@
1
+ import { Button, ButtonAnchor } from '@dso-toolkit/sources';
2
+ export declare function buttonTemplate(button: Button | ButtonAnchor): import("lit-html").TemplateResult<1>;
@@ -0,0 +1,3 @@
1
+ import { Context } from '@dso-toolkit/sources';
2
+ import { TemplateResult } from 'lit-html';
3
+ export declare function contextTemplate({ label, type, content, children }: Context<TemplateResult>): TemplateResult<1>;
@@ -3,7 +3,7 @@ export declare type DsoDatePickerChangeEvent = {
3
3
  component: "dso-date-picker";
4
4
  valueAsDate: Date | undefined;
5
5
  value: string;
6
- error?: "invalid" | "required";
6
+ error?: "invalid" | "required" | "min-range" | "max-range";
7
7
  };
8
8
  export declare type DsoDatePickerFocusEvent = {
9
9
  component: "dso-date-picker";
@@ -161,7 +161,9 @@ export declare class DsoDatePicker implements ComponentInterface {
161
161
  private handleMonthSelect;
162
162
  private handleYearSelect;
163
163
  private handleInputChange;
164
+ private handleKeyPress;
164
165
  private setValue;
166
+ private prepareEvent;
165
167
  private processFocusedDayNode;
166
168
  componentDidLoad(): void;
167
169
  /**
@@ -1,5 +1,5 @@
1
1
  import { DatePicker } from '@dso-toolkit/sources';
2
2
  import { TemplateResult } from 'lit-html';
3
- export declare function datePickerTemplate({ id, onDateChange, value, min, max, disabled, autofocus }: DatePicker): TemplateResult<1>;
3
+ export declare function datePickerTemplate({ id, onDateChange, value, min, max, disabled, autofocus, direction }: DatePicker): TemplateResult<1>;
4
4
  export declare function datePickerWithLabelTemplate(datePicker: TemplateResult, id: string, label: string): TemplateResult<1>;
5
5
  export declare function datePickerShowByScriptingTemplate(datePicker: TemplateResult, id: string): TemplateResult<1>;
@@ -0,0 +1,3 @@
1
+ import { DefinitionList } from '@dso-toolkit/sources';
2
+ import { TemplateResult } from 'lit-html';
3
+ export declare function definitionListTemplate({ modifier, definitions, useSrOnlyColon }: DefinitionList<TemplateResult>): TemplateResult<1>;
@@ -18,12 +18,12 @@ export declare class DropdownMenu {
18
18
  get tabbables(): FocusableElement[];
19
19
  openWatch(open: boolean): void;
20
20
  connectedCallback(): void;
21
- componentDidRender(): void;
22
21
  componentWillRender(): void;
23
22
  openPopup(): void;
24
23
  closePopup(): void;
25
24
  focusOutListener: (event: FocusEvent) => void;
26
25
  keyDownListener: (event: KeyboardEvent) => void;
26
+ getActiveElement(root?: Document | ShadowRoot): Element | null;
27
27
  tabInPopup(direction: number): void;
28
28
  escape: () => void;
29
29
  render(): any;
@@ -0,0 +1,36 @@
1
+ export interface HeaderMenuItem {
2
+ label: string;
3
+ url: string;
4
+ active?: boolean;
5
+ }
6
+ export declare class Header {
7
+ loginUrl?: string;
8
+ logoutUrl?: string;
9
+ mainMenu: HeaderMenuItem[];
10
+ useDropDownMenu: "always" | "never" | "auto";
11
+ showDropDown: boolean;
12
+ isLoggedIn: boolean;
13
+ userProfileName?: string;
14
+ userProfileUrl?: string;
15
+ userHomeUrl?: string;
16
+ host: HTMLElement;
17
+ hasSubLogo: boolean;
18
+ overflowMenuItems: number;
19
+ watchUseDropDownMenu(value: "always" | "never" | "auto"): void;
20
+ wrapper: HTMLDivElement | undefined;
21
+ nav: HTMLUListElement | undefined;
22
+ componentWillLoad(): void;
23
+ shrinkMenuToFit(): void;
24
+ componentDidRender(): void;
25
+ setOverflowMenu(): void;
26
+ setDropDownMenu(): void;
27
+ onWindowResize: (() => void) & {
28
+ clear(): void;
29
+ } & {
30
+ flush(): void;
31
+ };
32
+ connectedCallback(): void;
33
+ disconnectedCallback(): void;
34
+ MenuItem(item: HeaderMenuItem): any;
35
+ render(): any;
36
+ }
@@ -0,0 +1,2 @@
1
+ import { Header } from "@dso-toolkit/sources";
2
+ export declare function headerTemplate({ logo, subLogo, mainMenu, useDropDownMenu, showSubLogo, loginUrl, logoutUrl, isLoggedIn, showLoggedIn, userProfileUrl, userProfileName, userHomeUrl, }: Header): import("lit-html").TemplateResult<1>;
@@ -0,0 +1,2 @@
1
+ import { LabelGroup } from '@dso-toolkit/sources';
2
+ export declare function labelGroupTemplate({ labels }: LabelGroup): import("lit-html").TemplateResult<1>;
@@ -0,0 +1,3 @@
1
+ import { List } from '@dso-toolkit/sources';
2
+ import { TemplateResult } from 'lit-html';
3
+ export declare function listTemplate({ type, items, modifier }: List): TemplateResult<1>;
@@ -1,9 +1,8 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import { BaseLayer } from './map-base-layers.interfaces';
2
+ import { BaseLayer, BaseLayerChangeEvent } from './map-base-layers.interfaces';
3
3
  export declare class MapBaseLayers {
4
- baseLayerChange: EventEmitter<BaseLayer>;
4
+ baseLayerChange: EventEmitter<BaseLayerChangeEvent>;
5
5
  baseLayers: BaseLayer[];
6
- selectedBaseLayer: BaseLayer | undefined;
7
- selectBaseLayer(baseLayer: BaseLayer): void;
6
+ baseLayerChangeHandler(baseLayer: BaseLayer): void;
8
7
  render(): any;
9
8
  }
@@ -1,5 +1,10 @@
1
1
  export interface BaseLayer {
2
2
  id: number;
3
3
  name: string;
4
+ checked?: boolean;
5
+ disabled?: boolean;
6
+ info?: string;
7
+ }
8
+ export interface BaseLayerChangeEvent {
9
+ activeBaseLayer: BaseLayer;
4
10
  }
5
- export declare type SelectedBaseLayerChangeEvent = CustomEvent<BaseLayer>;
@@ -1,2 +1,2 @@
1
1
  import { MapControls } from '@dso-toolkit/sources';
2
- export declare function mapControlsTemplate({ zoomIn, zoomOut, open, baseLayers, selectedBaseLayer, baseLayerChange, overlays, checkedOverlays, checkedOverlaysChange, disableZoom }: MapControls): import("lit-html").TemplateResult<1>;
2
+ export declare function mapControlsTemplate({ zoomIn, zoomOut, open, baseLayers, baseLayerChange, overlays, toggleOverlay, disableZoom }: MapControls): import("lit-html").TemplateResult<1>;
@@ -1,9 +1,9 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import { Overlay } from './map-overlays.interfaces';
2
+ import { Overlay, OverlayChangeEvent } from './map-overlays.interfaces';
3
+ import { SelectableChangeEvent } from '../selectable/selectable';
3
4
  export declare class MapOverlays {
4
5
  overlays: Overlay[];
5
- checkedOverlays: Overlay[];
6
- checkedOverlaysChange: EventEmitter<Overlay[]>;
7
- toggleOverlay(overlay: Overlay, checked: boolean): void;
6
+ toggleOverlay: EventEmitter<OverlayChangeEvent>;
7
+ overlayChangeHandler(overlay: Overlay, e: CustomEvent<SelectableChangeEvent>): void;
8
8
  render(): any;
9
9
  }
@@ -1,5 +1,11 @@
1
1
  export interface Overlay {
2
2
  id: number;
3
3
  name: string;
4
+ checked?: boolean;
5
+ disabled?: boolean;
6
+ info?: string;
7
+ }
8
+ export interface OverlayChangeEvent {
9
+ overlay: Overlay;
10
+ checked: boolean;
4
11
  }
5
- export declare type CheckedOverlaysChangeEvent = CustomEvent<Overlay[]>;
@@ -43,6 +43,7 @@ export declare class Tooltip {
43
43
  private callbacks;
44
44
  private hidden;
45
45
  listenClick(e: MouseEvent): void;
46
+ private applyMaxSize;
46
47
  componentDidLoad(): void;
47
48
  disconnectedCallback(): void;
48
49
  componentDidRender(): void;
@@ -0,0 +1,3 @@
1
+ import { ViewerGridDocumentHeader } from "@dso-toolkit/sources";
2
+ import { TemplateResult } from "lit-html";
3
+ export declare function viewerGridDocumentHeaderTemplate({ title, type, features, featuresAction, mapAction, featuresOpen, owner, status, }: ViewerGridDocumentHeader<TemplateResult>): TemplateResult<1>;
@@ -0,0 +1,3 @@
1
+ import { ViewerGridDocumentListItem } from "@dso-toolkit/sources";
2
+ import { TemplateResult } from "lit-html";
3
+ export declare function viewerGridDocumentListItem({ title, type, owner, status, }: ViewerGridDocumentListItem<TemplateResult>): TemplateResult<1>;
@@ -0,0 +1,3 @@
1
+ import { ViewerGridFilterblok } from "@dso-toolkit/sources";
2
+ import { TemplateResult } from "lit-html";
3
+ export declare function viewerGridFilterblok({ title, address, activeFilters, onAllOptions, }: ViewerGridFilterblok<TemplateResult>): TemplateResult<1>;
@@ -0,0 +1,22 @@
1
+ import { EventEmitter } from "../../stencil-public-runtime";
2
+ import * as focusTrap from "focus-trap";
3
+ declare type MainSize = "small" | "medium" | "large";
4
+ export declare class ViewerGrid {
5
+ overlayOpen: boolean;
6
+ mainSize: MainSize;
7
+ closeOverlay: EventEmitter<MouseEvent | KeyboardEvent>;
8
+ host: HTMLElement;
9
+ overlay: HTMLDivElement | undefined;
10
+ overlaySlot: HTMLDivElement | null | undefined;
11
+ trap: focusTrap.FocusTrap | undefined;
12
+ shrinkMain: () => void;
13
+ expandMain: () => void;
14
+ updateFocusTrap(): void;
15
+ keyDownListener: (event: KeyboardEvent) => void;
16
+ connectedCallback(): void;
17
+ componentDidLoad(): void;
18
+ componentDidUpdate(): void;
19
+ disconnectedCallback(): void;
20
+ render(): any;
21
+ }
22
+ export {};
@@ -0,0 +1,3 @@
1
+ import { ViewerGrid } from "@dso-toolkit/sources";
2
+ import { TemplateResult } from "lit-html";
3
+ export declare function viewerGridTemplate({ main, map, overlay, noOverlay, overlayOpen, closeOverlay, }: ViewerGrid<TemplateResult>): TemplateResult<1>;