@dso-toolkit/core 51.2.1 → 51.4.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 (211) hide show
  1. package/dist/cjs/annotation.service-e980f478.js +21 -0
  2. package/dist/cjs/dso-accordion-section.cjs.entry.js +1 -1
  3. package/dist/cjs/dso-accordion.cjs.entry.js +2 -192
  4. package/dist/cjs/dso-alert.cjs.entry.js +1 -1
  5. package/dist/cjs/dso-annotation-button.cjs.entry.js +25 -0
  6. package/dist/cjs/dso-annotation-output.cjs.entry.js +35 -0
  7. package/dist/cjs/dso-badge.cjs.entry.js +1 -1
  8. package/dist/cjs/dso-card.cjs.entry.js +5 -3
  9. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +45 -1
  10. package/dist/cjs/dso-expandable-heading.cjs.entry.js +47 -0
  11. package/dist/cjs/dso-expandable.cjs.entry.js +20 -0
  12. package/dist/cjs/dso-header.cjs.entry.js +1 -1
  13. package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
  14. package/dist/cjs/dso-image-overlay.cjs.entry.js +1 -2
  15. package/dist/cjs/dso-info_2.cjs.entry.js +4 -3
  16. package/dist/cjs/dso-label.cjs.entry.js +2 -2
  17. package/dist/cjs/dso-map-controls.cjs.entry.js +12 -4
  18. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  19. package/dist/cjs/dso-tooltip.cjs.entry.js +4 -1801
  20. package/dist/cjs/index-71b733b1.js +196 -0
  21. package/dist/cjs/index.cjs.js +7 -0
  22. package/dist/cjs/loader.cjs.js +1 -1
  23. package/dist/cjs/map-controls.interfaces-5ceec716.js +5 -0
  24. package/dist/cjs/popper-6adb1c1a.js +1803 -0
  25. package/dist/collection/collection-manifest.json +4 -0
  26. package/dist/collection/components/accordion/components/accordion-section.css +6 -11
  27. package/dist/collection/components/alert/alert.css +4 -4
  28. package/dist/collection/components/annotation-button/annotation-button.css +3 -0
  29. package/dist/collection/components/annotation-button/annotation-button.js +45 -0
  30. package/dist/collection/components/annotation-output/annotation-output.css +82 -0
  31. package/dist/collection/components/annotation-output/annotation-output.interfaces.js +1 -0
  32. package/dist/collection/components/annotation-output/annotation-output.js +126 -0
  33. package/dist/collection/components/badge/badge.css +7 -2
  34. package/dist/collection/components/badge/badge.js +2 -2
  35. package/dist/collection/components/card/card.css +0 -1
  36. package/dist/collection/components/card/card.js +22 -2
  37. package/dist/collection/components/dropdown-menu/dropdown-menu.css +0 -1
  38. package/dist/collection/components/dropdown-menu/dropdown-menu.js +64 -0
  39. package/dist/collection/components/expandable/expandable.css +24 -0
  40. package/dist/collection/components/expandable/expandable.js +42 -0
  41. package/dist/collection/components/expandable-heading/expandable-heading.css +145 -0
  42. package/dist/collection/components/expandable-heading/expandable-heading.interfaces.js +1 -0
  43. package/dist/collection/components/expandable-heading/expandable-heading.js +117 -0
  44. package/dist/collection/components/expandable-heading/heading.js +16 -0
  45. package/dist/collection/components/header/header.css +2 -2
  46. package/dist/collection/components/highlight-box/highlight-box.css +1 -0
  47. package/dist/collection/components/image-overlay/image-overlay.js +1 -3
  48. package/dist/collection/components/info/info.css +1 -0
  49. package/dist/collection/components/label/label.css +11 -10
  50. package/dist/collection/components/label/label.js +3 -3
  51. package/dist/collection/components/map-controls/map-controls.interfaces.js +1 -0
  52. package/dist/collection/components/map-controls/map-controls.js +58 -2
  53. package/dist/collection/components/selectable/selectable.css +1 -0
  54. package/dist/collection/components/selectable/selectable.js +19 -1
  55. package/dist/collection/index.js +3 -0
  56. package/dist/collection/services/annotation.service.js +16 -0
  57. package/dist/components/annotation.service.js +19 -0
  58. package/dist/components/dropdown-menu.js +47 -2
  59. package/dist/components/dso-accordion-section.js +2 -2
  60. package/dist/components/dso-accordion.js +2 -192
  61. package/dist/components/dso-alert.js +1 -1
  62. package/dist/components/dso-annotation-button.d.ts +11 -0
  63. package/dist/components/dso-annotation-button.js +45 -0
  64. package/dist/components/dso-annotation-output.d.ts +11 -0
  65. package/dist/components/dso-annotation-output.js +69 -0
  66. package/dist/components/dso-autosuggest.js +1 -1
  67. package/dist/components/dso-badge.js +1 -1
  68. package/dist/components/dso-card.js +7 -4
  69. package/dist/components/dso-expandable-heading.d.ts +11 -0
  70. package/dist/components/dso-expandable-heading.js +77 -0
  71. package/dist/components/dso-expandable.d.ts +11 -0
  72. package/dist/components/dso-expandable.js +6 -0
  73. package/dist/components/dso-header.js +2 -2
  74. package/dist/components/dso-highlight-box.js +1 -1
  75. package/dist/components/dso-image-overlay.js +2 -4
  76. package/dist/components/dso-label.js +2 -2
  77. package/dist/components/dso-map-controls.js +14 -4
  78. package/dist/components/dso-table.js +1 -1
  79. package/dist/components/expandable.js +33 -0
  80. package/dist/components/index.d.ts +4 -0
  81. package/dist/components/index.js +5 -1
  82. package/dist/components/index2.js +185 -61
  83. package/dist/components/index3.js +70 -0
  84. package/dist/components/info.js +1 -1
  85. package/dist/components/popper.js +1799 -0
  86. package/dist/components/selectable.js +4 -2
  87. package/dist/components/tooltip.js +4 -1801
  88. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  89. package/dist/dso-toolkit/index.esm.js +1 -0
  90. package/dist/dso-toolkit/p-07952ece.entry.js +1 -0
  91. package/dist/dso-toolkit/p-09424a1d.entry.js +1 -0
  92. package/dist/dso-toolkit/{p-a9baa631.entry.js → p-0af9bfb1.entry.js} +1 -1
  93. package/dist/dso-toolkit/{p-746dc38a.entry.js → p-0fce0861.entry.js} +1 -1
  94. package/dist/dso-toolkit/{p-abbcbe6a.entry.js → p-147ec7bd.entry.js} +1 -1
  95. package/dist/dso-toolkit/{p-a8cb2eae.entry.js → p-1aef13ee.entry.js} +1 -1
  96. package/dist/dso-toolkit/{p-19323600.entry.js → p-1cb94d7d.entry.js} +1 -1
  97. package/dist/dso-toolkit/p-1cea3b99.js +1 -0
  98. package/dist/dso-toolkit/{p-c846d208.entry.js → p-22f9240a.entry.js} +1 -1
  99. package/dist/dso-toolkit/p-30df5586.entry.js +1 -0
  100. package/dist/dso-toolkit/{p-427f6d90.entry.js → p-3914ad70.entry.js} +1 -1
  101. package/dist/dso-toolkit/{p-67c4987c.entry.js → p-43f3d736.entry.js} +1 -1
  102. package/dist/dso-toolkit/p-452c7fbb.entry.js +1 -0
  103. package/dist/dso-toolkit/{p-3b8cbd05.entry.js → p-494fe8e5.entry.js} +1 -1
  104. package/dist/dso-toolkit/p-4b18389c.entry.js +1 -0
  105. package/dist/dso-toolkit/p-4b8535b7.js +1 -0
  106. package/dist/dso-toolkit/p-4c8426b7.entry.js +1 -0
  107. package/dist/dso-toolkit/{p-8aa39e7f.entry.js → p-5082d823.entry.js} +1 -1
  108. package/dist/dso-toolkit/{p-ff72ee4c.entry.js → p-588bc4d7.entry.js} +1 -1
  109. package/dist/dso-toolkit/p-67df25a7.entry.js +1 -0
  110. package/dist/dso-toolkit/p-6cdc1acd.entry.js +1 -0
  111. package/dist/dso-toolkit/{p-11176cb8.entry.js → p-82465cdc.entry.js} +1 -1
  112. package/dist/dso-toolkit/p-85b18dbd.js +1 -0
  113. package/dist/dso-toolkit/p-89b97fce.js +1 -0
  114. package/dist/dso-toolkit/{p-8e9f6355.entry.js → p-96efc763.entry.js} +1 -1
  115. package/dist/dso-toolkit/{p-8f35c8f8.js → p-98fd1658.js} +1 -1
  116. package/dist/dso-toolkit/p-9b07b034.entry.js +1 -0
  117. package/dist/dso-toolkit/p-ad0b38cf.entry.js +1 -0
  118. package/dist/dso-toolkit/{p-6080bb9e.entry.js → p-ba0da696.entry.js} +1 -1
  119. package/dist/dso-toolkit/p-c1226b66.entry.js +1 -0
  120. package/dist/dso-toolkit/{p-520a2cdd.entry.js → p-c16ce11e.entry.js} +1 -1
  121. package/dist/dso-toolkit/p-c2a4f4ea.entry.js +1 -0
  122. package/dist/dso-toolkit/{p-655eff47.entry.js → p-c54ad578.entry.js} +1 -1
  123. package/dist/dso-toolkit/{p-35687d62.entry.js → p-d4772fb0.entry.js} +1 -1
  124. package/dist/dso-toolkit/{p-2fa96ac0.entry.js → p-d6ea8670.entry.js} +1 -1
  125. package/dist/dso-toolkit/{p-ec25868b.entry.js → p-d987ef37.entry.js} +1 -1
  126. package/dist/dso-toolkit/{p-92ad1cdb.entry.js → p-e00a3019.entry.js} +1 -1
  127. package/dist/dso-toolkit/p-e3c9c7d0.entry.js +1 -0
  128. package/dist/dso-toolkit/{p-ec4501bb.entry.js → p-e4f667b3.entry.js} +1 -1
  129. package/dist/dso-toolkit/p-ee1acb32.entry.js +1 -0
  130. package/dist/dso-toolkit/{p-55142124.entry.js → p-efdf5c91.entry.js} +1 -1
  131. package/dist/dso-toolkit/p-f3f0d6c9.entry.js +1 -0
  132. package/dist/dso-toolkit/p-f53860da.entry.js +1 -0
  133. package/dist/dso-toolkit/{p-76a1428a.entry.js → p-f8a08ba1.entry.js} +1 -1
  134. package/dist/esm/annotation.service-d0add3fc.js +19 -0
  135. package/dist/esm/dso-accordion-section.entry.js +2 -2
  136. package/dist/esm/dso-accordion.entry.js +2 -192
  137. package/dist/esm/dso-alert.entry.js +2 -2
  138. package/dist/esm/dso-annotation-button.entry.js +21 -0
  139. package/dist/esm/dso-annotation-output.entry.js +31 -0
  140. package/dist/esm/dso-attachments-counter.entry.js +1 -1
  141. package/dist/esm/dso-autosuggest.entry.js +1 -1
  142. package/dist/esm/dso-badge.entry.js +2 -2
  143. package/dist/esm/dso-banner.entry.js +1 -1
  144. package/dist/esm/dso-card-container.entry.js +1 -1
  145. package/dist/esm/dso-card.entry.js +6 -4
  146. package/dist/esm/dso-date-picker.entry.js +1 -1
  147. package/dist/esm/dso-dropdown-menu.entry.js +46 -2
  148. package/dist/esm/dso-expandable-heading.entry.js +43 -0
  149. package/dist/esm/dso-expandable.entry.js +16 -0
  150. package/dist/esm/dso-header.entry.js +2 -2
  151. package/dist/esm/dso-helpcenter-panel.entry.js +1 -1
  152. package/dist/esm/dso-highlight-box.entry.js +2 -2
  153. package/dist/esm/dso-icon.entry.js +1 -1
  154. package/dist/esm/dso-image-overlay.entry.js +2 -3
  155. package/dist/esm/dso-info-button.entry.js +1 -1
  156. package/dist/esm/dso-info_2.entry.js +5 -4
  157. package/dist/esm/dso-label.entry.js +3 -3
  158. package/dist/esm/dso-list-button.entry.js +1 -1
  159. package/dist/esm/dso-map-base-layers.entry.js +1 -1
  160. package/dist/esm/dso-map-controls.entry.js +11 -3
  161. package/dist/esm/dso-map-overlays.entry.js +1 -1
  162. package/dist/esm/dso-modal.entry.js +1 -1
  163. package/dist/esm/dso-ozon-content.entry.js +1 -1
  164. package/dist/esm/dso-pagination.entry.js +1 -1
  165. package/dist/esm/dso-progress-bar.entry.js +1 -1
  166. package/dist/esm/dso-progress-indicator.entry.js +1 -1
  167. package/dist/esm/dso-responsive-element.entry.js +1 -1
  168. package/dist/esm/dso-slide-toggle.entry.js +1 -1
  169. package/dist/esm/dso-table.entry.js +1 -1
  170. package/dist/esm/dso-toggletip.entry.js +1 -1
  171. package/dist/esm/dso-toolkit.js +2 -2
  172. package/dist/esm/dso-tooltip.entry.js +2 -1799
  173. package/dist/esm/dso-tree-view.entry.js +1 -1
  174. package/dist/esm/dso-viewer-grid.entry.js +1 -1
  175. package/dist/esm/{index-1a4dda48.js → index-ac5a22a3.js} +1 -1
  176. package/dist/esm/index-d6ffb688.js +194 -0
  177. package/dist/esm/index.js +1 -1
  178. package/dist/esm/loader.js +2 -2
  179. package/dist/esm/map-controls.interfaces-2323e8ac.js +3 -0
  180. package/dist/esm/popper-467f7841.js +1799 -0
  181. package/dist/types/components/annotation-button/annotation-button.d.ts +7 -0
  182. package/dist/types/components/annotation-output/annotation-output.d.ts +12 -0
  183. package/dist/types/components/annotation-output/annotation-output.interfaces.d.ts +4 -0
  184. package/dist/types/components/badge/badge.d.ts +1 -1
  185. package/dist/types/components/card/card.d.ts +1 -0
  186. package/dist/types/components/dropdown-menu/dropdown-menu.d.ts +5 -0
  187. package/dist/types/components/expandable/expandable.d.ts +4 -0
  188. package/dist/types/components/expandable-heading/expandable-heading.d.ts +11 -0
  189. package/dist/types/components/expandable-heading/expandable-heading.interfaces.d.ts +5 -0
  190. package/dist/types/components/expandable-heading/heading.d.ts +9 -0
  191. package/dist/types/components/image-overlay/image-overlay.d.ts +0 -1
  192. package/dist/types/components/label/label.d.ts +1 -1
  193. package/dist/types/components/map-controls/map-controls.d.ts +9 -0
  194. package/dist/types/components/map-controls/map-controls.interfaces.d.ts +5 -0
  195. package/dist/types/components/selectable/selectable.d.ts +1 -0
  196. package/dist/types/components.d.ts +113 -4
  197. package/dist/types/index.d.ts +3 -0
  198. package/dist/types/services/annotation.service.d.ts +10 -0
  199. package/package.json +2 -2
  200. package/dist/dso-toolkit/p-04ffcc93.entry.js +0 -1
  201. package/dist/dso-toolkit/p-06b4f78d.entry.js +0 -1
  202. package/dist/dso-toolkit/p-0e5315a3.entry.js +0 -1
  203. package/dist/dso-toolkit/p-36cd87c4.entry.js +0 -1
  204. package/dist/dso-toolkit/p-46acc09f.entry.js +0 -1
  205. package/dist/dso-toolkit/p-6bd8515a.entry.js +0 -1
  206. package/dist/dso-toolkit/p-78ee23c5.entry.js +0 -1
  207. package/dist/dso-toolkit/p-9287b2f2.entry.js +0 -1
  208. package/dist/dso-toolkit/p-c2157b55.entry.js +0 -1
  209. package/dist/dso-toolkit/p-c7ec6e6e.entry.js +0 -1
  210. package/dist/dso-toolkit/p-ce475f06.entry.js +0 -1
  211. package/dist/dso-toolkit/p-d7b2adc3.entry.js +0 -1
@@ -1,8 +1,9 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { t as tabbable } from './index.esm.js';
3
3
  import { v as v4 } from './v4.js';
4
+ import { c as createPopper } from './popper.js';
4
5
 
5
- const dropdownMenuCss = ":host(:focus){outline:none}:host{display:inline-block;position:relative}";
6
+ const dropdownMenuCss = ":host(:focus){outline:none}:host{display:inline-block}";
6
7
 
7
8
  const DropdownMenu = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
8
9
  constructor() {
@@ -45,6 +46,15 @@ const DropdownMenu = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
45
46
  this.open = false;
46
47
  this.dropdownAlign = "left";
47
48
  this.checkable = false;
49
+ this.boundary = undefined;
50
+ }
51
+ watchPosition() {
52
+ if (!this.popper) {
53
+ return;
54
+ }
55
+ this.popper.setOptions({
56
+ placement: this.dropdownAlign === "right" ? "bottom-end" : "bottom-start",
57
+ });
48
58
  }
49
59
  get button() {
50
60
  const button = this.host.querySelector('button[slot="toggle"]');
@@ -77,8 +87,35 @@ const DropdownMenu = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
77
87
  li.setAttribute("role", "none");
78
88
  }
79
89
  }
90
+ if (this.popper) {
91
+ return;
92
+ }
93
+ const dropdownOptions = this.host.querySelector(".dso-dropdown-options");
94
+ if (!(dropdownOptions instanceof HTMLElement)) {
95
+ throw new Error("dropdown options element is not instanceof HTMLElement");
96
+ }
97
+ this.popper = createPopper(this.button, dropdownOptions, {
98
+ placement: this.dropdownAlign === "right" ? "bottom-end" : "bottom-start",
99
+ modifiers: [
100
+ {
101
+ name: "offset",
102
+ options: {
103
+ offset: [0, 2], // 2px margin between button and options
104
+ },
105
+ },
106
+ {
107
+ name: "preventOverflow",
108
+ options: {
109
+ boundary: this.boundary ? document.querySelector(this.boundary) : null,
110
+ },
111
+ enabled: this.boundary !== undefined,
112
+ },
113
+ ],
114
+ });
80
115
  }
81
116
  componentDidRender() {
117
+ var _a;
118
+ (_a = this.popper) === null || _a === void 0 ? void 0 : _a.update();
82
119
  for (const li of Array.from(this.host.getElementsByTagName("li"))) {
83
120
  for (const tab of tabbable(li)) {
84
121
  tab.setAttribute("role", this.checkable ? "menuitemradio" : "menuitem");
@@ -99,6 +136,10 @@ const DropdownMenu = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
99
136
  }
100
137
  });
101
138
  }
139
+ disconnectedCallback() {
140
+ var _a;
141
+ (_a = this.popper) === null || _a === void 0 ? void 0 : _a.destroy();
142
+ }
102
143
  getActiveElement(root = document) {
103
144
  const activeEl = root.activeElement;
104
145
  if (!activeEl) {
@@ -125,11 +166,15 @@ const DropdownMenu = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
125
166
  return (h(Host, { onFocusout: this.focusOutListener, tabindex: this.open ? "-1" : undefined }, h("slot", { name: "toggle" }), h("div", { hidden: !this.open }, h("slot", null))));
126
167
  }
127
168
  get host() { return this; }
169
+ static get watchers() { return {
170
+ "dropdownAlign": ["watchPosition"]
171
+ }; }
128
172
  static get style() { return dropdownMenuCss; }
129
173
  }, [1, "dso-dropdown-menu", {
130
174
  "open": [1540],
131
175
  "dropdownAlign": [1, "dropdown-align"],
132
- "checkable": [4]
176
+ "checkable": [4],
177
+ "boundary": [1]
133
178
  }]);
134
179
  function defineCustomElement() {
135
180
  if (typeof customElements === "undefined") {
@@ -1,5 +1,5 @@
1
1
  import { h, proxyCustomElement, HTMLElement, forceUpdate, Host, Fragment } from '@stencil/core/internal/client';
2
- import { d as debounce_1 } from './index2.js';
2
+ import { d as debounce_1 } from './index3.js';
3
3
  import { d as defineCustomElement$2 } from './icon.js';
4
4
 
5
5
  /*
@@ -1369,7 +1369,7 @@ const HandleIcon = ({ state, icon, attachmentCount }) => {
1369
1369
  }
1370
1370
  };
1371
1371
 
1372
- const accordionSectionCss = "*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}:host{display:block}:host .dso-section-handle{font-size:1em;font-weight:600;line-height:1.375em;margin:0;position:relative}:host .dso-section-handle>a:active{text-decoration:none}:host .dso-section-handle a{text-decoration:none}:host .dso-section-handle a:hover,:host .dso-section-handle a:focus{text-decoration:none}:host .dso-section-handle a:active{text-decoration:underline}:host .dso-section-handle .dso-status{font-weight:400;text-decoration:underline}:host .dso-section-handle>button,:host .dso-section-handle>a{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;font-family:Asap, sans-serif;font-size:1em;font-weight:600;line-height:1.375em;margin:0;padding:12px 16px 12px;text-align:start;width:100%;word-break:break-word}:host .dso-section-handle>button dso-icon,:host .dso-section-handle>a dso-icon{flex-shrink:0}:host .dso-section-handle>button dso-icon.dso-section-handle-chevron,:host .dso-section-handle>a dso-icon.dso-section-handle-chevron{transition:transform 260ms cubic-bezier(0.4, 0, 0.2, 1);transform:rotate(0)}:host .dso-section-handle>button>.dso-section-handle-addons:first-child,:host .dso-section-handle>button>dso-icon:first-child,:host .dso-section-handle>a>.dso-section-handle-addons:first-child,:host .dso-section-handle>a>dso-icon:first-child{margin-right:8px}:host .dso-section-handle>button>dso-icon:last-child,:host .dso-section-handle>a>dso-icon:last-child{margin-left:auto}:host .dso-section-handle>button>.dso-section-handle-addons:last-child,:host .dso-section-handle>a>.dso-section-handle-addons:last-child{margin-left:auto}:host .dso-section-handle>button>.dso-section-handle-addons:last-child dso-attachments-counter,:host .dso-section-handle>button>.dso-section-handle-addons:last-child dso-icon,:host .dso-section-handle>a>.dso-section-handle-addons:last-child dso-attachments-counter,:host .dso-section-handle>a>.dso-section-handle-addons:last-child dso-icon{margin-left:16px}:host([open]) .dso-section-body{position:inherit;visibility:inherit}:host([open]) .dso-section-handle>button .dso-section-handle-chevron:first-child,:host([open]) .dso-section-handle>a .dso-section-handle-chevron:first-child{transform:rotate(90deg)}:host([open]) .dso-section-handle>button .dso-section-handle-chevron:last-child,:host([open]) .dso-section-handle>a .dso-section-handle-chevron:last-child{transform:rotate(-180deg)}.dso-section-body{background-color:#fff;border-top:0;margin-top:-4px;overflow-y:hidden}.dso-section-body:not(.dso-animate-ready){position:absolute;visibility:hidden}.dso-section-body .dso-section-body-content{padding:20px 16px 16px}:host(.dso-accordion-default) .dso-section-handle{background-color:#fff;border:1px solid #8b4a6a;border-radius:4px}:host(.dso-accordion-default) .dso-section-handle a,:host(.dso-accordion-default) .dso-section-handle button{color:#8b4a6a}:host(.dso-accordion-default) .dso-section-handle a:hover,:host(.dso-accordion-default) .dso-section-handle a:active,:host(.dso-accordion-default) .dso-section-handle a.active,:host(.dso-accordion-default) .dso-section-handle button:hover,:host(.dso-accordion-default) .dso-section-handle button:active,:host(.dso-accordion-default) .dso-section-handle button.active{color:#8b4a6a}:host(.dso-accordion-default) .dso-section-body{border:1px solid #8b4a6a;border-radius:0 0 4px 4px}:host(.dso-accordion-default[open])>.dso-section-handle{background-color:#8b4a6a;border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}:host(.dso-accordion-default[open])>.dso-section-handle a,:host(.dso-accordion-default[open])>.dso-section-handle button{color:#fff}:host(.dso-accordion-default[open])>.dso-section-handle a dso-attachments-counter,:host(.dso-accordion-default[open])>.dso-section-handle button dso-attachments-counter{--dso-attachments-counter-color:#fff;--dso-icon:var(--di-paperclip-wit)}:host(.dso-accordion-default.dso-nested-accordion[open]) .dso-section-body{background-color:#e5e5e5}:host(.dso-accordion-compact) .dso-section-handle{border-bottom:1px solid transparent;border-top:1px solid #ccc}:host(.dso-accordion-compact) .dso-section-handle a,:host(.dso-accordion-compact) .dso-section-handle button{color:#39870c;padding-bottom:11px;padding-left:0;padding-top:11px}:host(.dso-accordion-compact) .dso-section-handle a:hover,:host(.dso-accordion-compact) .dso-section-handle a:active,:host(.dso-accordion-compact) .dso-section-handle a.active,:host(.dso-accordion-compact) .dso-section-handle button:hover,:host(.dso-accordion-compact) .dso-section-handle button:active,:host(.dso-accordion-compact) .dso-section-handle button.active{color:#39870c}:host(.dso-accordion-compact) .dso-section-body .dso-section-body-content{padding-left:32px;padding-top:0;padding-right:0}:host(.dso-accordion-compact.dso-accordion-reverse-align) .dso-section-handle a,:host(.dso-accordion-compact.dso-accordion-reverse-align) .dso-section-handle button{padding-left:16px}:host(.dso-accordion-compact.dso-accordion-reverse-align) .dso-section-body .dso-section-body-content{padding-left:16px;padding-right:0}:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle{background-color:transparent}:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle a,:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle button{color:#39870c}:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle a:hover,:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle a:active,:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle a.active,:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle button:hover,:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle button:active,:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle button.active{color:#39870c}:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle a dso-attachments-counter,:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle button dso-attachments-counter{--dso-attachments-counter-color:#666;--dso-icon:var(--di-paperclip-grijs)}:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-body{border-top:0}:host(.dso-accordion-compact.dso-nested-accordion[open])>.dso-section-body{padding-bottom:0}:host(.dso-accordion-compact.dso-nested-accordion[open])>.dso-section-body dso-accordion-section:last-child{border-bottom:0}:host(.dso-accordion-conclusion) .dso-section-handle{background-color:#f2f2f2;border:1px solid #f2f2f2}:host(.dso-accordion-conclusion) .dso-section-handle a,:host(.dso-accordion-conclusion) .dso-section-handle button{color:#191919}:host(.dso-accordion-conclusion) .dso-section-handle a:hover,:host(.dso-accordion-conclusion) .dso-section-handle a:active,:host(.dso-accordion-conclusion) .dso-section-handle a.active,:host(.dso-accordion-conclusion) .dso-section-handle button:hover,:host(.dso-accordion-conclusion) .dso-section-handle button:active,:host(.dso-accordion-conclusion) .dso-section-handle button.active{background-color:#e5e5e5;color:#191919}:host(.dso-accordion-conclusion) .dso-section-body{border:2px solid #f2f2f2}:host(.dso-accordion-conclusion[open]:not(.dso-nested-accordion))>.dso-section-handle{background-color:#f2f2f2}:host(.dso-accordion-conclusion[open]:not(.dso-nested-accordion))>.dso-section-handle a,:host(.dso-accordion-conclusion[open]:not(.dso-nested-accordion))>.dso-section-handle button{color:#191919}:host(.dso-accordion-conclusion[open]:not(.dso-nested-accordion))>.dso-section-handle a dso-attachments-counter,:host(.dso-accordion-conclusion[open]:not(.dso-nested-accordion))>.dso-section-handle button dso-attachments-counter{--dso-attachments-counter-color:#666;--dso-icon:var(--di-paperclip-grijs)}:host(.dso-accordion-conclusion.dso-nested-accordion[open]){background-color:#fff}";
1372
+ const accordionSectionCss = "*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}:host{display:block}:host .dso-section-handle{font-size:1em;font-weight:600;line-height:1.375em;margin:0;position:relative}:host .dso-section-handle>a:active{text-decoration:none}:host .dso-section-handle a{text-decoration:none}:host .dso-section-handle a:hover,:host .dso-section-handle a:focus{text-decoration:none}:host .dso-section-handle a:active{text-decoration:underline}:host .dso-section-handle .dso-status{font-weight:400;text-decoration:underline}:host .dso-section-handle>button,:host .dso-section-handle>a{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;font-family:Asap, sans-serif;font-size:1em;font-weight:600;line-height:1.375em;margin:0;padding:12px 16px 12px;text-align:start;width:100%;word-break:break-word}:host .dso-section-handle>button dso-icon,:host .dso-section-handle>a dso-icon{flex-shrink:0}:host .dso-section-handle>button dso-icon.dso-section-handle-chevron,:host .dso-section-handle>a dso-icon.dso-section-handle-chevron{transition:transform 260ms cubic-bezier(0.4, 0, 0.2, 1);transform:rotate(0)}:host .dso-section-handle>button>.dso-section-handle-addons:first-child,:host .dso-section-handle>button>dso-icon:first-child,:host .dso-section-handle>a>.dso-section-handle-addons:first-child,:host .dso-section-handle>a>dso-icon:first-child{margin-right:8px}:host .dso-section-handle>button>dso-icon:last-child,:host .dso-section-handle>a>dso-icon:last-child{margin-left:auto}:host .dso-section-handle>button>.dso-section-handle-addons:last-child,:host .dso-section-handle>a>.dso-section-handle-addons:last-child{margin-left:auto}:host .dso-section-handle>button>.dso-section-handle-addons:last-child dso-attachments-counter,:host .dso-section-handle>button>.dso-section-handle-addons:last-child dso-icon,:host .dso-section-handle>a>.dso-section-handle-addons:last-child dso-attachments-counter,:host .dso-section-handle>a>.dso-section-handle-addons:last-child dso-icon{margin-left:16px}:host([open]) .dso-section-body{position:inherit;visibility:inherit}:host([open]) .dso-section-handle>button .dso-section-handle-chevron:first-child,:host([open]) .dso-section-handle>a .dso-section-handle-chevron:first-child{transform:rotate(90deg)}:host([open]) .dso-section-handle>button .dso-section-handle-chevron:last-child,:host([open]) .dso-section-handle>a .dso-section-handle-chevron:last-child{transform:rotate(-180deg)}.dso-section-body{background-color:#fff;border-top:0;margin-top:-4px;overflow-y:hidden}.dso-section-body:not(.dso-animate-ready){position:absolute;visibility:hidden}.dso-section-body .dso-section-body-content{padding:20px 16px 16px}:host(.dso-accordion-default) .dso-section-handle{background-color:#fff;border:1px solid #8b4a6a;border-radius:4px}:host(.dso-accordion-default) .dso-section-handle a,:host(.dso-accordion-default) .dso-section-handle button{color:#8b4a6a}:host(.dso-accordion-default) .dso-section-handle a:hover,:host(.dso-accordion-default) .dso-section-handle a:active,:host(.dso-accordion-default) .dso-section-handle a.active,:host(.dso-accordion-default) .dso-section-handle button:hover,:host(.dso-accordion-default) .dso-section-handle button:active,:host(.dso-accordion-default) .dso-section-handle button.active{color:#8b4a6a}:host(.dso-accordion-default) .dso-section-body{border:1px solid #8b4a6a;border-radius:0 0 4px 4px}:host(.dso-accordion-default[open])>.dso-section-handle{background-color:#8b4a6a;border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}:host(.dso-accordion-default[open])>.dso-section-handle a,:host(.dso-accordion-default[open])>.dso-section-handle button{color:#fff}:host(.dso-accordion-default[open])>.dso-section-handle a dso-attachments-counter,:host(.dso-accordion-default[open])>.dso-section-handle button dso-attachments-counter{--dso-attachments-counter-color:#fff;--dso-icon:var(--di-paperclip-wit)}:host(.dso-accordion-default.dso-nested-accordion[open]) .dso-section-body{background-color:#e5e5e5}:host(.dso-accordion-compact) .dso-section-handle{border-bottom:1px solid transparent;border-top:1px solid #ccc}:host(.dso-accordion-compact) .dso-section-handle a,:host(.dso-accordion-compact) .dso-section-handle button{color:#39870c;padding-bottom:11px;padding-left:0;padding-top:11px}:host(.dso-accordion-compact) .dso-section-handle a:hover,:host(.dso-accordion-compact) .dso-section-handle a:active,:host(.dso-accordion-compact) .dso-section-handle a.active,:host(.dso-accordion-compact) .dso-section-handle button:hover,:host(.dso-accordion-compact) .dso-section-handle button:active,:host(.dso-accordion-compact) .dso-section-handle button.active{color:#39870c}:host(.dso-accordion-compact) .dso-section-body .dso-section-body-content{padding-left:32px;padding-top:0;padding-right:0}:host(.dso-accordion-compact.dso-accordion-reverse-align) .dso-section-handle a,:host(.dso-accordion-compact.dso-accordion-reverse-align) .dso-section-handle button{padding-left:16px}:host(.dso-accordion-compact.dso-accordion-reverse-align) .dso-section-body .dso-section-body-content{padding-left:16px;padding-right:0}:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle{background-color:transparent}:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle a,:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle button{color:#39870c}:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle a:hover,:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle a:active,:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle a.active,:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle button:hover,:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle button:active,:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle button.active{color:#39870c}:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle a dso-attachments-counter,:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-handle button dso-attachments-counter{--dso-attachments-counter-color:#666;--dso-icon:var(--di-paperclip-grijs)}:host(.dso-accordion-compact[open]:not(.dso-nested-accordion))>.dso-section-body{border-top:0}:host(.dso-accordion-compact.dso-nested-accordion[open])>.dso-section-body{padding-bottom:0}:host(.dso-accordion-compact.dso-nested-accordion[open])>.dso-section-body dso-accordion-section:last-child{border-bottom:0}:host(.dso-accordion-conclusion) .dso-section-handle{background-color:#f2f2f2;border:1px solid #f2f2f2}:host(.dso-accordion-conclusion) .dso-section-handle a,:host(.dso-accordion-conclusion) .dso-section-handle button{color:#000}:host(.dso-accordion-conclusion) .dso-section-handle a:hover,:host(.dso-accordion-conclusion) .dso-section-handle a:active,:host(.dso-accordion-conclusion) .dso-section-handle a.active,:host(.dso-accordion-conclusion) .dso-section-handle button:hover,:host(.dso-accordion-conclusion) .dso-section-handle button:active,:host(.dso-accordion-conclusion) .dso-section-handle button.active{background-color:#e5e5e5}:host(.dso-accordion-conclusion) .dso-section-handle a dso-attachments-counter,:host(.dso-accordion-conclusion) .dso-section-handle button dso-attachments-counter{--dso-attachments-counter-color:#000;--dso-icon:var(--di-paperclip-zwart)}:host(.dso-accordion-conclusion) .dso-section-body{border:2px solid #f2f2f2}:host(.dso-accordion-conclusion[open]:not(.dso-nested-accordion))>.dso-section-handle{background-color:#f2f2f2}:host(.dso-accordion-conclusion.dso-nested-accordion[open]){background-color:#fff}";
1373
1373
 
1374
1374
  const AccordionSection = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
1375
1375
  constructor() {
@@ -1,195 +1,5 @@
1
- import { getRenderingRef, forceUpdate, proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
-
3
- const appendToMap = (map, propName, value) => {
4
- const items = map.get(propName);
5
- if (!items) {
6
- map.set(propName, [value]);
7
- }
8
- else if (!items.includes(value)) {
9
- items.push(value);
10
- }
11
- };
12
- const debounce = (fn, ms) => {
13
- let timeoutId;
14
- return (...args) => {
15
- if (timeoutId) {
16
- clearTimeout(timeoutId);
17
- }
18
- timeoutId = setTimeout(() => {
19
- timeoutId = 0;
20
- fn(...args);
21
- }, ms);
22
- };
23
- };
24
-
25
- /**
26
- * Check if a possible element isConnected.
27
- * The property might not be there, so we check for it.
28
- *
29
- * We want it to return true if isConnected is not a property,
30
- * otherwise we would remove these elements and would not update.
31
- *
32
- * Better leak in Edge than to be useless.
33
- */
34
- const isConnected = (maybeElement) => !('isConnected' in maybeElement) || maybeElement.isConnected;
35
- const cleanupElements = debounce((map) => {
36
- for (let key of map.keys()) {
37
- map.set(key, map.get(key).filter(isConnected));
38
- }
39
- }, 2000);
40
- const stencilSubscription = () => {
41
- if (typeof getRenderingRef !== 'function') {
42
- // If we are not in a stencil project, we do nothing.
43
- // This function is not really exported by @stencil/core.
44
- return {};
45
- }
46
- const elmsToUpdate = new Map();
47
- return {
48
- dispose: () => elmsToUpdate.clear(),
49
- get: (propName) => {
50
- const elm = getRenderingRef();
51
- if (elm) {
52
- appendToMap(elmsToUpdate, propName, elm);
53
- }
54
- },
55
- set: (propName) => {
56
- const elements = elmsToUpdate.get(propName);
57
- if (elements) {
58
- elmsToUpdate.set(propName, elements.filter(forceUpdate));
59
- }
60
- cleanupElements(elmsToUpdate);
61
- },
62
- reset: () => {
63
- elmsToUpdate.forEach((elms) => elms.forEach(forceUpdate));
64
- cleanupElements(elmsToUpdate);
65
- },
66
- };
67
- };
68
-
69
- const unwrap = (val) => (typeof val === 'function' ? val() : val);
70
- const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) => {
71
- const unwrappedState = unwrap(defaultState);
72
- let states = new Map(Object.entries(unwrappedState !== null && unwrappedState !== void 0 ? unwrappedState : {}));
73
- const handlers = {
74
- dispose: [],
75
- get: [],
76
- set: [],
77
- reset: [],
78
- };
79
- const reset = () => {
80
- var _a;
81
- // When resetting the state, the default state may be a function - unwrap it to invoke it.
82
- // otherwise, the state won't be properly reset
83
- states = new Map(Object.entries((_a = unwrap(defaultState)) !== null && _a !== void 0 ? _a : {}));
84
- handlers.reset.forEach((cb) => cb());
85
- };
86
- const dispose = () => {
87
- // Call first dispose as resetting the state would
88
- // cause less updates ;)
89
- handlers.dispose.forEach((cb) => cb());
90
- reset();
91
- };
92
- const get = (propName) => {
93
- handlers.get.forEach((cb) => cb(propName));
94
- return states.get(propName);
95
- };
96
- const set = (propName, value) => {
97
- const oldValue = states.get(propName);
98
- if (shouldUpdate(value, oldValue, propName)) {
99
- states.set(propName, value);
100
- handlers.set.forEach((cb) => cb(propName, value, oldValue));
101
- }
102
- };
103
- const state = (typeof Proxy === 'undefined'
104
- ? {}
105
- : new Proxy(unwrappedState, {
106
- get(_, propName) {
107
- return get(propName);
108
- },
109
- ownKeys(_) {
110
- return Array.from(states.keys());
111
- },
112
- getOwnPropertyDescriptor() {
113
- return {
114
- enumerable: true,
115
- configurable: true,
116
- };
117
- },
118
- has(_, propName) {
119
- return states.has(propName);
120
- },
121
- set(_, propName, value) {
122
- set(propName, value);
123
- return true;
124
- },
125
- }));
126
- const on = (eventName, callback) => {
127
- handlers[eventName].push(callback);
128
- return () => {
129
- removeFromArray(handlers[eventName], callback);
130
- };
131
- };
132
- const onChange = (propName, cb) => {
133
- const unSet = on('set', (key, newValue) => {
134
- if (key === propName) {
135
- cb(newValue);
136
- }
137
- });
138
- // We need to unwrap the defaultState because it might be a function.
139
- // Otherwise we might not be sending the right reset value.
140
- const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));
141
- return () => {
142
- unSet();
143
- unReset();
144
- };
145
- };
146
- const use = (...subscriptions) => {
147
- const unsubs = subscriptions.reduce((unsubs, subscription) => {
148
- if (subscription.set) {
149
- unsubs.push(on('set', subscription.set));
150
- }
151
- if (subscription.get) {
152
- unsubs.push(on('get', subscription.get));
153
- }
154
- if (subscription.reset) {
155
- unsubs.push(on('reset', subscription.reset));
156
- }
157
- if (subscription.dispose) {
158
- unsubs.push(on('dispose', subscription.dispose));
159
- }
160
- return unsubs;
161
- }, []);
162
- return () => unsubs.forEach((unsub) => unsub());
163
- };
164
- const forceUpdate = (key) => {
165
- const oldValue = states.get(key);
166
- handlers.set.forEach((cb) => cb(key, oldValue, oldValue));
167
- };
168
- return {
169
- state,
170
- get,
171
- set,
172
- on,
173
- onChange,
174
- use,
175
- dispose,
176
- reset,
177
- forceUpdate,
178
- };
179
- };
180
- const removeFromArray = (array, item) => {
181
- const index = array.indexOf(item);
182
- if (index >= 0) {
183
- array[index] = array[array.length - 1];
184
- array.length--;
185
- }
186
- };
187
-
188
- const createStore = (defaultState, shouldUpdate) => {
189
- const map = createObservableMap(defaultState, shouldUpdate);
190
- map.use(stencilSubscription());
191
- return map;
192
- };
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import { c as createStore } from './index2.js';
193
3
 
194
4
  const accordionCss = ":host{display:block}*,*::after,*::before{box-sizing:border-box}";
195
5
 
@@ -2,7 +2,7 @@ import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/clien
2
2
  import { c as clsx } from './clsx.m.js';
3
3
  import { d as defineCustomElement$2 } from './icon.js';
4
4
 
5
- const alertCss = ":host{display:block}:host(:not(:first-child)){margin-top:24px}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.alert{border:1px solid transparent;line-height:1.5;margin-bottom:24px;min-height:64px;position:relative}@media screen and (min-width: 481px){.alert{padding:19px 16px 19px 63px}}@media screen and (max-width: 480px){.alert{padding:63px 16px 16px}}.alert:not(:first-child){margin-top:24px}.alert.alert-success{color:#191919;background-color:#e4f1d4;border-color:#e4f1d4}.alert.alert-error{color:#191919;background-color:#f5d8dc;border-color:#f5d8dc}.alert.alert-warning{color:#191919;background-color:#f8f6cc;border-color:#f8f6cc}.alert.alert-info{color:#191919;background-color:#e1ecf7;border-color:#e1ecf7}.alert dso-icon{left:15px;position:absolute;top:15px;height:32px;width:32px}";
5
+ const alertCss = ":host{display:block}:host(:not(:first-child)){margin-top:24px}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.alert{border:1px solid transparent;line-height:1.5;margin-bottom:24px;min-height:64px;position:relative}@media screen and (min-width: 481px){.alert{padding:19px 16px 19px 63px}}@media screen and (max-width: 480px){.alert{padding:63px 16px 16px}}.alert:not(:first-child){margin-top:24px}.alert.alert-success{color:#000;background-color:#e4f1d4;border-color:#e4f1d4}.alert.alert-error{color:#000;background-color:#f5d8dc;border-color:#f5d8dc}.alert.alert-warning{color:#000;background-color:#f8f6cc;border-color:#f8f6cc}.alert.alert-info{color:#000;background-color:#e1ecf7;border-color:#e1ecf7}.alert dso-icon{left:15px;position:absolute;top:15px;height:32px;width:32px}";
6
6
 
7
7
  const Alert = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
8
8
  constructor() {
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface DsoAnnotationButton extends Components.DsoAnnotationButton, HTMLElement {}
4
+ export const DsoAnnotationButton: {
5
+ prototype: DsoAnnotationButton;
6
+ new (): DsoAnnotationButton;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,45 @@
1
+ import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
+ import { A as AnnotationService } from './annotation.service.js';
3
+ import { d as defineCustomElement$2 } from './icon.js';
4
+
5
+ const annotationButtonCss = "dso-annotation-button{display:block}";
6
+
7
+ const AnnotationButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
8
+ constructor() {
9
+ super();
10
+ this.__registerHost();
11
+ this.identifier = undefined;
12
+ }
13
+ componentDidLoad() {
14
+ this.annotationOutput = document.querySelector(`dso-annotation-output[identifier='${this.identifier}']`);
15
+ }
16
+ render() {
17
+ return (h("button", { type: "button", class: "dso-tertiary", "aria-controls": this.identifier, "aria-expanded": AnnotationService.state[this.identifier] ? "true" : "false", onClick: (e) => { var _a; return (_a = this.annotationOutput) === null || _a === void 0 ? void 0 : _a.toggleAnnotation(e, this.identifier); } }, h("dso-icon", { icon: "label" }), h("span", { class: "sr-only" }, "Toelichting bekijken")));
18
+ }
19
+ static get style() { return annotationButtonCss; }
20
+ }, [0, "dso-annotation-button", {
21
+ "identifier": [1]
22
+ }]);
23
+ function defineCustomElement$1() {
24
+ if (typeof customElements === "undefined") {
25
+ return;
26
+ }
27
+ const components = ["dso-annotation-button", "dso-icon"];
28
+ components.forEach(tagName => { switch (tagName) {
29
+ case "dso-annotation-button":
30
+ if (!customElements.get(tagName)) {
31
+ customElements.define(tagName, AnnotationButton);
32
+ }
33
+ break;
34
+ case "dso-icon":
35
+ if (!customElements.get(tagName)) {
36
+ defineCustomElement$2();
37
+ }
38
+ break;
39
+ } });
40
+ }
41
+
42
+ const DsoAnnotationButton = AnnotationButton;
43
+ const defineCustomElement = defineCustomElement$1;
44
+
45
+ export { DsoAnnotationButton, defineCustomElement };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface DsoAnnotationOutput extends Components.DsoAnnotationOutput, HTMLElement {}
4
+ export const DsoAnnotationOutput: {
5
+ prototype: DsoAnnotationOutput;
6
+ new (): DsoAnnotationOutput;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,69 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h } from '@stencil/core/internal/client';
2
+ import { A as AnnotationService } from './annotation.service.js';
3
+ import { d as defineCustomElement$4 } from './expandable.js';
4
+ import { d as defineCustomElement$3 } from './icon.js';
5
+ import { d as defineCustomElement$2 } from './responsive-element.js';
6
+
7
+ const annotationOutputCss = "*,*::after,*::before{box-sizing:border-box}dso-annotation-output{display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.dso-annotation-header{align-items:center;background-color:#f2f2f2;clear:both;display:flex;margin-bottom:2px;margin-top:8px;padding-left:16px;padding-right:8px;padding-top:8px;padding-bottom:8px}.dso-annotation-header>*[slot=title]{color:#000;font-size:1.25rem;margin-bottom:0;margin-top:0}.dso-annotation-header>*:nth-child(2){margin-left:auto}dso-responsive-element[small] .dso-annotation-header,dso-responsive-element[medium] .dso-annotation-header{display:grid;row-gap:8px}dso-responsive-element[small] .dso-annotation-header *[slot=title],dso-responsive-element[medium] .dso-annotation-header *[slot=title]{grid-row:1;grid-column:1}dso-responsive-element[small] .dso-annotation-header *[slot=addons],dso-responsive-element[medium] .dso-annotation-header *[slot=addons]{grid-row:2;grid-column:1;margin-left:initial}dso-responsive-element[small] .dso-annotation-header .dso-annotation-close-button,dso-responsive-element[medium] .dso-annotation-header .dso-annotation-close-button{grid-row:1;grid-column:2;margin-left:8px;text-align:end}.dso-annotation-content{background-color:#f2f2f2;padding-left:16px;padding-right:8px;padding-top:8px;padding-bottom:8px}.dso-annotation-close-button{margin-left:32px}.dso-annotation-prefix{font-style:italic}";
8
+
9
+ const AnnotationOutput = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
10
+ constructor() {
11
+ super();
12
+ this.__registerHost();
13
+ this.dsoToggle = createEvent(this, "dsoToggle", 7);
14
+ this.identifier = undefined;
15
+ this.annotationPrefix = undefined;
16
+ }
17
+ async toggleAnnotation(e, identifier) {
18
+ AnnotationService.toggle(identifier);
19
+ this.dsoToggle.emit({
20
+ originalEvent: e,
21
+ open: AnnotationService.state[this.identifier],
22
+ });
23
+ }
24
+ toggleHandler(e) {
25
+ this.toggleAnnotation(e, this.identifier);
26
+ }
27
+ render() {
28
+ const expandableProperties = AnnotationService.state[this.identifier] ? { open: true } : {};
29
+ return (h("dso-responsive-element", null, h("dso-expandable", Object.assign({ id: this.identifier }, expandableProperties), this.annotationPrefix && h("span", { class: "dso-annotation-prefix" }, this.annotationPrefix), h("div", { class: "dso-annotation-header" }, h("slot", { name: "title" }), h("slot", { name: "addons" }), h("button", { type: "button", class: "dso-tertiary dso-annotation-close-button", onClick: (e) => this.toggleHandler(e) }, h("dso-icon", { icon: "times" }), h("span", { class: "sr-only" }, "Toelichting sluiten"))), h("div", { class: "dso-annotation-content" }, h("slot", null)))));
30
+ }
31
+ static get style() { return annotationOutputCss; }
32
+ }, [4, "dso-annotation-output", {
33
+ "identifier": [1],
34
+ "annotationPrefix": [1, "annotation-prefix"],
35
+ "toggleAnnotation": [64]
36
+ }]);
37
+ function defineCustomElement$1() {
38
+ if (typeof customElements === "undefined") {
39
+ return;
40
+ }
41
+ const components = ["dso-annotation-output", "dso-expandable", "dso-icon", "dso-responsive-element"];
42
+ components.forEach(tagName => { switch (tagName) {
43
+ case "dso-annotation-output":
44
+ if (!customElements.get(tagName)) {
45
+ customElements.define(tagName, AnnotationOutput);
46
+ }
47
+ break;
48
+ case "dso-expandable":
49
+ if (!customElements.get(tagName)) {
50
+ defineCustomElement$4();
51
+ }
52
+ break;
53
+ case "dso-icon":
54
+ if (!customElements.get(tagName)) {
55
+ defineCustomElement$3();
56
+ }
57
+ break;
58
+ case "dso-responsive-element":
59
+ if (!customElements.get(tagName)) {
60
+ defineCustomElement$2();
61
+ }
62
+ break;
63
+ } });
64
+ }
65
+
66
+ const DsoAnnotationOutput = AnnotationOutput;
67
+ const defineCustomElement = defineCustomElement$1;
68
+
69
+ export { DsoAnnotationOutput, defineCustomElement };
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Fragment } from '@stencil/core/internal/client';
2
- import { d as debounce_1 } from './index2.js';
2
+ import { d as debounce_1 } from './index3.js';
3
3
  import { d as defineCustomElement$2 } from './progress-indicator.js';
4
4
  import { v as v4 } from './v4.js';
5
5
 
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
2
  import { c as clsx } from './clsx.m.js';
3
3
 
4
- const badgeCss = ":host{display:inline-block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.dso-badge{background-color:#666;border:1px solid #666;border-radius:1em;color:#fff;display:inline-block;font-size:0.875em;line-height:1;min-width:1.5rem;padding:4px 8px;text-align:center}.dso-badge.badge-info{background-color:#6ca4d9;border-color:#6ca4d9;color:#191919}.dso-badge.badge-primary{background-color:#275937;border-color:#275937;color:#fff}.dso-badge.badge-success{background-color:#39870c;border-color:#39870c;color:#fff}.dso-badge.badge-warning{background-color:#dcd400;border-color:#dcd400;color:#191919}.dso-badge.badge-danger{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.dso-badge.badge-error{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.dso-badge.badge-outline{background-color:#fff;border-color:#191919;color:#191919}";
4
+ const badgeCss = ":host{display:inline-block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.dso-badge{background-color:#666;border:1px solid #666;border-radius:1em;color:#fff;display:inline-block;font-size:0.875em;line-height:1;min-width:1.5rem;padding:4px 8px;text-align:center}.dso-badge.badge-info{background-color:#6ca4d9;border-color:#6ca4d9;color:#000}.dso-badge.badge-primary{background-color:#275937;border-color:#275937;color:#fff}.dso-badge.badge-success{background-color:#39870c;border-color:#39870c;color:#fff}.dso-badge.badge-warning{background-color:#dcd400;border-color:#dcd400;color:#000}.dso-badge.badge-danger{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.dso-badge.badge-error{background-color:#ce3f51;border-color:#ce3f51;color:#fff}.dso-badge.badge-outline{background-color:#fff;border-color:#191919;color:#191919}.dso-badge.badge-attention{background-color:#8b4a6a;border-color:#8b4a6a;color:#fff}";
5
5
 
6
6
  const Badge = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
7
  constructor() {
@@ -1,4 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import { c as clsx } from './clsx.m.js';
2
3
  import { i as isModifiedEvent } from './is-modified-event.js';
3
4
 
4
5
  const isInteractiveElement = (element) => {
@@ -8,7 +9,7 @@ const isInteractiveElement = (element) => {
8
9
  element.tagName.startsWith("DSO-TOGGLETIP"));
9
10
  };
10
11
 
11
- const cardCss = ":host .dso-card-selectable,:host .dso-card-image{grid-row:span 2}*,*::after,*::before{box-sizing:border-box}:host{display:block}:host .dso-card-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}@media screen and (max-width: 480px){:host .dso-card-heading{flex-wrap:wrap}}:host .dso-card-image{margin-right:8px}";
12
+ const cardCss = ":host .dso-card-selectable,:host .dso-card-image{grid-row:span 2}*,*::after,*::before{box-sizing:border-box}:host{display:block}:host .dso-card-heading{align-items:center;display:flex;margin-bottom:8px}@media screen and (max-width: 480px){:host .dso-card-heading{flex-wrap:wrap}}:host .dso-card-image{margin-right:8px}";
12
13
 
13
14
  const Card = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
14
15
  constructor() {
@@ -18,9 +19,10 @@ const Card = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
18
19
  this.dsoCardClicked = createEvent(this, "dsoCardClicked", 7);
19
20
  this.isSelectable = false;
20
21
  this.hasImage = false;
22
+ this.clickable = true;
21
23
  }
22
24
  clickEventHandler(e) {
23
- if (!(e.target instanceof HTMLElement)) {
25
+ if (!(e.target instanceof HTMLElement) || !this.clickable) {
24
26
  return;
25
27
  }
26
28
  let element = e.target;
@@ -42,13 +44,14 @@ const Card = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
42
44
  this.hasImage = this.host.querySelector("*[slot = 'image']") !== null;
43
45
  }
44
46
  render() {
45
- return (h(Host, { onClick: (e) => this.clickEventHandler(e) }, h("div", { class: "dso-card-selectable", hidden: !this.isSelectable }, h("slot", { name: "selectable" })), h("div", { class: "dso-card-image", hidden: !this.hasImage }, h("slot", { name: "image" })), h("div", { class: "dso-card-heading" }, h("slot", { name: "heading" }), h("slot", { name: "interactions" })), h("div", { class: "dso-card-content" }, h("slot", { name: "content" }))));
47
+ return (h(Host, { class: clsx({ "dso-not-clickable": !this.clickable }), onClick: (e) => this.clickEventHandler(e) }, h("div", { class: "dso-card-selectable", hidden: !this.isSelectable }, h("slot", { name: "selectable" })), h("div", { class: "dso-card-image", hidden: !this.hasImage }, h("slot", { name: "image" })), h("div", { class: "dso-card-heading" }, h("slot", { name: "heading" }), h("slot", { name: "interactions" })), h("div", { class: "dso-card-content" }, h("slot", { name: "content" }))));
46
48
  }
47
49
  get host() { return this; }
48
50
  static get style() { return cardCss; }
49
51
  }, [1, "dso-card", {
50
52
  "isSelectable": [516, "is-selectable"],
51
- "hasImage": [516, "has-image"]
53
+ "hasImage": [516, "has-image"],
54
+ "clickable": [4]
52
55
  }]);
53
56
  function defineCustomElement$1() {
54
57
  if (typeof customElements === "undefined") {
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface DsoExpandableHeading extends Components.DsoExpandableHeading, HTMLElement {}
4
+ export const DsoExpandableHeading: {
5
+ prototype: DsoExpandableHeading;
6
+ new (): DsoExpandableHeading;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,77 @@
1
+ import { h, proxyCustomElement, HTMLElement, createEvent, Fragment } from '@stencil/core/internal/client';
2
+ import { c as clsx } from './clsx.m.js';
3
+ import { d as defineCustomElement$3 } from './expandable.js';
4
+ import { d as defineCustomElement$2 } from './icon.js';
5
+ import { v as v4 } from './v4.js';
6
+
7
+ const Heading = ({ heading, ref, className }, children) => {
8
+ switch (heading) {
9
+ default:
10
+ case "h2":
11
+ return (h("h2", { ref: ref, class: className }, children));
12
+ case "h3":
13
+ return (h("h3", { ref: ref, class: className }, children));
14
+ case "h4":
15
+ return (h("h4", { ref: ref, class: className }, children));
16
+ case "h5":
17
+ return (h("h5", { ref: ref, class: className }, children));
18
+ case "h6":
19
+ return (h("h6", { ref: ref, class: className }, children));
20
+ }
21
+ };
22
+
23
+ const expandableHeadingCss = "h1,.h1,h2,.h2,h3,.h3{margin-bottom:16px;margin-top:24px}h1,.h1{line-height:1.25}h1{color:#275937;font-size:2rem;font-weight:700}h2,.h2{line-height:1.33}h2{color:#275937;font-size:1.5rem;font-weight:700}h3,.h3{line-height:1.2}h3{color:#275937;font-size:1.25rem;font-weight:600}h4,.h4,h5,.h5,h6,.h6{margin-bottom:16px;margin-top:12px}h4,.h4{line-height:1.5}h4{color:#275937;font-size:1rem;font-weight:600}h5,.h5{line-height:1.5}h5{color:#191919;font-size:1rem;font-weight:600}h6,.h6{line-height:1.5}:host{display:block}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.expandable-heading{align-items:center;display:flex;margin-bottom:8px;margin-top:8px}.expandable-heading h2,.expandable-heading h3,.expandable-heading h4,.expandable-heading h5,.expandable-heading h6{font-size:1rem;margin-bottom:0;margin-right:8px;margin-top:0}.expandable-heading button{align-items:flex-start;cursor:pointer;background-color:transparent;border:0;color:inherit;display:flex;line-height:24px;font-size:inherit;font-weight:inherit;padding:0;text-align:left}.expandable-heading button>dso-icon{flex-shrink:0}.expandable-heading.dso-expandable-heading-black button{color:#000}dso-expandable{padding-left:24px}.addons-end{display:inline-block;margin-left:auto}";
24
+
25
+ const ExpandableHeading = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
26
+ constructor() {
27
+ super();
28
+ this.__registerHost();
29
+ this.__attachShadow();
30
+ this.dsoToggle = createEvent(this, "dsoToggle", 7);
31
+ this.identifier = v4();
32
+ this.open = undefined;
33
+ this.heading = "h2";
34
+ this.color = "default";
35
+ }
36
+ toggle(e) {
37
+ this.open = !this.open;
38
+ this.dsoToggle.emit({ originalEvent: e, open: this.open });
39
+ }
40
+ render() {
41
+ const expandableProperties = this.open ? { open: true } : {};
42
+ return (h(Fragment, null, h("div", { class: clsx("expandable-heading", this.color === "black" ? "dso-expandable-heading-black" : "") }, h(Heading, { heading: this.heading }, h("button", { type: "button", "aria-expanded": this.open ? "true" : "false", "aria-controls": this.identifier, onClick: (e) => this.toggle(e) }, h("dso-icon", { icon: this.open ? "chevron-down" : "chevron-right" }), h("slot", { name: "title" }))), h("slot", { name: "addons-start" }), h("div", { class: "addons-end" }, h("slot", { name: "addons-end" }))), h("dso-expandable", Object.assign({ id: this.identifier }, expandableProperties), h("slot", null))));
43
+ }
44
+ static get style() { return expandableHeadingCss; }
45
+ }, [1, "dso-expandable-heading", {
46
+ "open": [4],
47
+ "heading": [1],
48
+ "color": [1]
49
+ }]);
50
+ function defineCustomElement$1() {
51
+ if (typeof customElements === "undefined") {
52
+ return;
53
+ }
54
+ const components = ["dso-expandable-heading", "dso-expandable", "dso-icon"];
55
+ components.forEach(tagName => { switch (tagName) {
56
+ case "dso-expandable-heading":
57
+ if (!customElements.get(tagName)) {
58
+ customElements.define(tagName, ExpandableHeading);
59
+ }
60
+ break;
61
+ case "dso-expandable":
62
+ if (!customElements.get(tagName)) {
63
+ defineCustomElement$3();
64
+ }
65
+ break;
66
+ case "dso-icon":
67
+ if (!customElements.get(tagName)) {
68
+ defineCustomElement$2();
69
+ }
70
+ break;
71
+ } });
72
+ }
73
+
74
+ const DsoExpandableHeading = ExpandableHeading;
75
+ const defineCustomElement = defineCustomElement$1;
76
+
77
+ export { DsoExpandableHeading, defineCustomElement };