@dso-toolkit/core 51.3.0 → 51.4.1

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 (86) hide show
  1. package/dist/cjs/dso-accordion-section.cjs.entry.js +1 -1
  2. package/dist/cjs/dso-alert.cjs.entry.js +1 -1
  3. package/dist/cjs/dso-badge.cjs.entry.js +1 -1
  4. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +78 -1
  5. package/dist/cjs/dso-header.cjs.entry.js +1 -1
  6. package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
  7. package/dist/cjs/dso-info_2.cjs.entry.js +4 -3
  8. package/dist/cjs/dso-label.cjs.entry.js +1 -1
  9. package/dist/cjs/dso-map-controls.cjs.entry.js +12 -4
  10. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  11. package/dist/cjs/dso-tooltip.cjs.entry.js +5 -1809
  12. package/dist/cjs/has-overflow-b1b4f3f3.js +1812 -0
  13. package/dist/cjs/index.cjs.js +7 -0
  14. package/dist/cjs/loader.cjs.js +1 -1
  15. package/dist/cjs/map-controls.interfaces-5ceec716.js +5 -0
  16. package/dist/collection/components/accordion/components/accordion-section.css +6 -11
  17. package/dist/collection/components/alert/alert.css +4 -4
  18. package/dist/collection/components/badge/badge.css +2 -2
  19. package/dist/collection/components/dropdown-menu/dropdown-menu.css +0 -1
  20. package/dist/collection/components/dropdown-menu/dropdown-menu.js +118 -0
  21. package/dist/collection/components/header/header.css +2 -2
  22. package/dist/collection/components/highlight-box/highlight-box.css +1 -0
  23. package/dist/collection/components/info/info.css +1 -0
  24. package/dist/collection/components/label/label.css +2 -2
  25. package/dist/collection/components/map-controls/map-controls.interfaces.js +1 -0
  26. package/dist/collection/components/map-controls/map-controls.js +58 -2
  27. package/dist/collection/components/selectable/selectable.css +1 -0
  28. package/dist/collection/components/selectable/selectable.js +19 -1
  29. package/dist/collection/components/tooltip/tooltip.js +1 -7
  30. package/dist/collection/index.js +1 -0
  31. package/dist/collection/utils/has-overflow.js +7 -0
  32. package/dist/components/dropdown-menu.js +81 -2
  33. package/dist/components/dso-accordion-section.js +1 -1
  34. package/dist/components/dso-alert.js +1 -1
  35. package/dist/components/dso-badge.js +1 -1
  36. package/dist/components/dso-header.js +1 -1
  37. package/dist/components/dso-highlight-box.js +1 -1
  38. package/dist/components/dso-label.js +1 -1
  39. package/dist/components/dso-map-controls.js +14 -4
  40. package/dist/components/has-overflow.js +1807 -0
  41. package/dist/components/index.js +1 -1
  42. package/dist/components/info.js +1 -1
  43. package/dist/components/selectable.js +4 -2
  44. package/dist/components/tooltip.js +4 -1808
  45. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  46. package/dist/dso-toolkit/index.esm.js +1 -0
  47. package/dist/dso-toolkit/p-07952ece.entry.js +1 -0
  48. package/dist/dso-toolkit/{p-1f0672f2.entry.js → p-147ec7bd.entry.js} +1 -1
  49. package/dist/dso-toolkit/p-30df5586.entry.js +1 -0
  50. package/dist/dso-toolkit/p-4b18389c.entry.js +1 -0
  51. package/dist/dso-toolkit/{p-2af58b20.entry.js → p-4c8426b7.entry.js} +1 -1
  52. package/dist/dso-toolkit/{p-8de85ae7.entry.js → p-5082d823.entry.js} +1 -1
  53. package/dist/dso-toolkit/p-85b18dbd.js +1 -0
  54. package/dist/dso-toolkit/p-bdc3b14b.entry.js +1 -0
  55. package/dist/dso-toolkit/{p-5b7c0fa5.entry.js → p-c1226b66.entry.js} +1 -1
  56. package/dist/dso-toolkit/p-d3ed00f6.js +1 -0
  57. package/dist/dso-toolkit/p-e3bd7689.entry.js +1 -0
  58. package/dist/dso-toolkit/{p-c4c309b5.entry.js → p-f53860da.entry.js} +1 -1
  59. package/dist/esm/dso-accordion-section.entry.js +1 -1
  60. package/dist/esm/dso-alert.entry.js +1 -1
  61. package/dist/esm/dso-badge.entry.js +1 -1
  62. package/dist/esm/dso-dropdown-menu.entry.js +78 -1
  63. package/dist/esm/dso-header.entry.js +1 -1
  64. package/dist/esm/dso-highlight-box.entry.js +1 -1
  65. package/dist/esm/dso-info_2.entry.js +4 -3
  66. package/dist/esm/dso-label.entry.js +1 -1
  67. package/dist/esm/dso-map-controls.entry.js +10 -2
  68. package/dist/esm/dso-toolkit.js +1 -1
  69. package/dist/esm/dso-tooltip.entry.js +1 -1805
  70. package/dist/esm/has-overflow-c44a8a0a.js +1807 -0
  71. package/dist/esm/index.js +1 -1
  72. package/dist/esm/loader.js +1 -1
  73. package/dist/esm/map-controls.interfaces-2323e8ac.js +3 -0
  74. package/dist/types/components/dropdown-menu/dropdown-menu.d.ts +11 -0
  75. package/dist/types/components/map-controls/map-controls.d.ts +9 -0
  76. package/dist/types/components/map-controls/map-controls.interfaces.d.ts +5 -0
  77. package/dist/types/components/selectable/selectable.d.ts +1 -0
  78. package/dist/types/components.d.ts +24 -0
  79. package/dist/types/index.d.ts +1 -0
  80. package/dist/types/utils/has-overflow.d.ts +1 -0
  81. package/package.json +2 -2
  82. package/dist/dso-toolkit/p-0bc8885e.entry.js +0 -1
  83. package/dist/dso-toolkit/p-0ca60778.entry.js +0 -1
  84. package/dist/dso-toolkit/p-1854d6ed.entry.js +0 -1
  85. package/dist/dso-toolkit/p-b337f001.entry.js +0 -1
  86. package/dist/dso-toolkit/p-fbb20550.entry.js +0 -1
@@ -1,2 +1,9 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const mapControls_interfaces = require('./map-controls.interfaces-5ceec716.js');
6
+
7
+
8
+
9
+ exports.transitionDuration = mapControls_interfaces.transitionDuration;
@@ -14,7 +14,7 @@ const patchEsm = () => {
14
14
  const defineCustomElements = (win, options) => {
15
15
  if (typeof window === 'undefined') return Promise.resolve();
16
16
  return patchEsm().then(() => {
17
- return index.bootstrapLazy([["dso-icon.cjs",[[1,"dso-icon",{"icon":[1]}]]],["dso-map-base-layers.cjs",[[1,"dso-map-base-layers",{"group":[1],"baseLayers":[16]}]]],["dso-map-overlays.cjs",[[1,"dso-map-overlays",{"group":[1],"overlays":[16]}]]],["dso-annotation-output.cjs",[[4,"dso-annotation-output",{"identifier":[1],"annotationPrefix":[1,"annotation-prefix"],"toggleAnnotation":[64]}]]],["dso-toggletip.cjs",[[1,"dso-toggletip",{"label":[1],"position":[1],"small":[4],"secondary":[4],"active":[32]}]]],["dso-expandable-heading.cjs",[[1,"dso-expandable-heading",{"open":[4],"heading":[1],"color":[1]}]]],["dso-header.cjs",[[6,"dso-header",{"mainMenu":[16],"useDropDownMenu":[1,"use-drop-down-menu"],"authStatus":[1,"auth-status"],"loginUrl":[1,"login-url"],"logoutUrl":[1,"logout-url"],"userProfileName":[1,"user-profile-name"],"userProfileUrl":[1,"user-profile-url"],"userHomeUrl":[1,"user-home-url"],"showDropDown":[32],"hasSubLogo":[32],"overflowMenuItems":[32]}]]],["dso-label.cjs",[[1,"dso-label",{"compact":[4],"removable":[4],"status":[1],"truncate":[4],"removeHover":[32],"removeFocus":[32],"textHover":[32],"textFocus":[32],"truncatedContent":[32],"labelText":[32]}]]],["dso-pagination.cjs",[[1,"dso-pagination",{"totalPages":[2,"total-pages"],"currentPage":[2,"current-page"],"formatHref":[16],"availablePositions":[32]},[[0,"dsoSizeChange","sizeChangeHandler"]]]]],["dso-tree-view.cjs",[[1,"dso-tree-view",{"collection":[16],"focusItem":[64]}]]],["dso-accordion-section.cjs",[[1,"dso-accordion-section",{"handleTitle":[1,"handle-title"],"heading":[1],"handleUrl":[1,"handle-url"],"state":[1],"attachmentCount":[2,"attachment-count"],"icon":[1],"status":[1],"open":[1540],"hasNestedSection":[32],"toggleSection":[64],"scrollSectionIntoView":[64]}]]],["dso-alert.cjs",[[1,"dso-alert",{"status":[1],"roleAlert":[4,"role-alert"]}]]],["dso-annotation-button.cjs",[[0,"dso-annotation-button",{"identifier":[1]}]]],["dso-attachments-counter.cjs",[[1,"dso-attachments-counter",{"count":[2]}]]],["dso-autosuggest.cjs",[[6,"dso-autosuggest",{"suggestions":[16],"loading":[4],"loadingLabel":[1,"loading-label"],"loadingDelayed":[2,"loading-delayed"],"notFoundLabel":[1,"not-found-label"],"suggestOnFocus":[4,"suggest-on-focus"],"showSuggestions":[32],"selectedSuggestion":[32],"notFound":[32],"showLoading":[32]},[[4,"click","onDocumentClick"]]]]],["dso-date-picker.cjs",[[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],"visible":[32],"setFocus":[64],"show":[64],"hide":[64]},[[6,"click","handleDocumentClick"]]]]],["dso-helpcenter-panel.cjs",[[1,"dso-helpcenter-panel",{"label":[1],"url":[1],"visibility":[32],"isOpen":[32],"slideState":[32],"loadIframe":[32]},[[8,"keydown","keyDownListener"]]]]],["dso-image-overlay.cjs",[[1,"dso-image-overlay",{"active":[32],"zoomable":[32]},[[2,"load","loadListener"]]]]],["dso-list-button.cjs",[[1,"dso-list-button",{"label":[1],"sublabel":[1],"subcontent":[1],"count":[2],"min":[8],"max":[8],"checked":[516],"disabled":[516],"manualInputWrapperElement":[32],"manualCount":[32]}]]],["dso-map-controls.cjs",[[1,"dso-map-controls",{"open":[1540],"disableZoom":[1,"disable-zoom"],"hideContent":[32]}]]],["dso-modal.cjs",[[1,"dso-modal",{"modalTitle":[1,"modal-title"],"role":[1],"showCloseButton":[4,"show-close-button"],"initialFocus":[1,"initial-focus"],"ariaId":[32],"hasFooter":[32]}]]],["dso-table.cjs",[[1,"dso-table",{"noModal":[516,"no-modal"],"isResponsive":[516,"is-responsive"],"modalActive":[32],"placeholderHeight":[32]}]]],["dso-viewer-grid.cjs",[[1,"dso-viewer-grid",{"filterpanelOpen":[516,"filterpanel-open"],"overlayOpen":[516,"overlay-open"],"initialMainSize":[1,"initial-main-size"],"mainSize":[32]}]]],["dso-accordion.cjs",[[1,"dso-accordion",{"variant":[513],"reverseAlign":[516,"reverse-align"],"allowMultipleOpen":[516,"allow-multiple-open"],"getState":[64],"toggleSection":[64],"animationEnd":[64],"closeOpenSections":[64]}]]],["dso-badge.cjs",[[1,"dso-badge",{"status":[1]}]]],["dso-banner.cjs",[[1,"dso-banner",{"status":[513]}]]],["dso-card.cjs",[[1,"dso-card",{"isSelectable":[516,"is-selectable"],"hasImage":[516,"has-image"],"clickable":[4]}]]],["dso-card-container.cjs",[[1,"dso-card-container",{"mode":[513]}]]],["dso-highlight-box.cjs",[[1,"dso-highlight-box",{"yellow":[4],"border":[4],"white":[4],"dropShadow":[4,"drop-shadow"],"step":[2]}]]],["dso-ozon-content.cjs",[[6,"dso-ozon-content",{"content":[1],"inline":[516],"deleted":[516],"interactive":[520],"state":[32]}]]],["dso-progress-bar.cjs",[[1,"dso-progress-bar",{"progress":[2],"min":[2],"max":[2]}]]],["dso-slide-toggle.cjs",[[4,"dso-slide-toggle",{"checked":[4],"disabled":[4],"accessibleLabel":[1,"accessible-label"],"labelledbyId":[1,"labelledby-id"],"identifier":[1],"hasVisibleLabel":[32]}]]],["dso-dropdown-menu.cjs",[[1,"dso-dropdown-menu",{"open":[1540],"dropdownAlign":[1,"dropdown-align"],"checkable":[4]}]]],["dso-expandable.cjs",[[1,"dso-expandable",{"open":[516]}]]],["dso-progress-indicator.cjs",[[1,"dso-progress-indicator",{"label":[1],"size":[513],"block":[4]}]]],["dso-responsive-element.cjs",[[1,"dso-responsive-element",{"sizeAlias":[32],"sizeWidth":[32],"getSize":[64]}]]],["dso-tooltip.cjs",[[1,"dso-tooltip",{"descriptive":[516],"position":[1],"strategy":[1],"noArrow":[4,"no-arrow"],"stateless":[4],"small":[4],"active":[1540],"hidden":[32],"activate":[64],"deactivate":[64]},[[0,"click","listenClick"]]]]],["dso-info-button.cjs",[[1,"dso-info-button",{"active":[1540],"secondary":[4],"label":[1],"hover":[32],"setFocus":[64]}]]],["dso-info_2.cjs",[[6,"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],"toggleInfo":[64]}],[1,"dso-info",{"fixed":[516],"active":[516]}]]]], options);
17
+ return index.bootstrapLazy([["dso-icon.cjs",[[1,"dso-icon",{"icon":[1]}]]],["dso-map-base-layers.cjs",[[1,"dso-map-base-layers",{"group":[1],"baseLayers":[16]}]]],["dso-map-overlays.cjs",[[1,"dso-map-overlays",{"group":[1],"overlays":[16]}]]],["dso-annotation-output.cjs",[[4,"dso-annotation-output",{"identifier":[1],"annotationPrefix":[1,"annotation-prefix"],"toggleAnnotation":[64]}]]],["dso-toggletip.cjs",[[1,"dso-toggletip",{"label":[1],"position":[1],"small":[4],"secondary":[4],"active":[32]}]]],["dso-expandable-heading.cjs",[[1,"dso-expandable-heading",{"open":[4],"heading":[1],"color":[1]}]]],["dso-header.cjs",[[6,"dso-header",{"mainMenu":[16],"useDropDownMenu":[1,"use-drop-down-menu"],"authStatus":[1,"auth-status"],"loginUrl":[1,"login-url"],"logoutUrl":[1,"logout-url"],"userProfileName":[1,"user-profile-name"],"userProfileUrl":[1,"user-profile-url"],"userHomeUrl":[1,"user-home-url"],"showDropDown":[32],"hasSubLogo":[32],"overflowMenuItems":[32]}]]],["dso-label.cjs",[[1,"dso-label",{"compact":[4],"removable":[4],"status":[1],"truncate":[4],"removeHover":[32],"removeFocus":[32],"textHover":[32],"textFocus":[32],"truncatedContent":[32],"labelText":[32]}]]],["dso-pagination.cjs",[[1,"dso-pagination",{"totalPages":[2,"total-pages"],"currentPage":[2,"current-page"],"formatHref":[16],"availablePositions":[32]},[[0,"dsoSizeChange","sizeChangeHandler"]]]]],["dso-tree-view.cjs",[[1,"dso-tree-view",{"collection":[16],"focusItem":[64]}]]],["dso-accordion-section.cjs",[[1,"dso-accordion-section",{"handleTitle":[1,"handle-title"],"heading":[1],"handleUrl":[1,"handle-url"],"state":[1],"attachmentCount":[2,"attachment-count"],"icon":[1],"status":[1],"open":[1540],"hasNestedSection":[32],"toggleSection":[64],"scrollSectionIntoView":[64]}]]],["dso-alert.cjs",[[1,"dso-alert",{"status":[1],"roleAlert":[4,"role-alert"]}]]],["dso-annotation-button.cjs",[[0,"dso-annotation-button",{"identifier":[1]}]]],["dso-attachments-counter.cjs",[[1,"dso-attachments-counter",{"count":[2]}]]],["dso-autosuggest.cjs",[[6,"dso-autosuggest",{"suggestions":[16],"loading":[4],"loadingLabel":[1,"loading-label"],"loadingDelayed":[2,"loading-delayed"],"notFoundLabel":[1,"not-found-label"],"suggestOnFocus":[4,"suggest-on-focus"],"showSuggestions":[32],"selectedSuggestion":[32],"notFound":[32],"showLoading":[32]},[[4,"click","onDocumentClick"]]]]],["dso-date-picker.cjs",[[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],"visible":[32],"setFocus":[64],"show":[64],"hide":[64]},[[6,"click","handleDocumentClick"]]]]],["dso-helpcenter-panel.cjs",[[1,"dso-helpcenter-panel",{"label":[1],"url":[1],"visibility":[32],"isOpen":[32],"slideState":[32],"loadIframe":[32]},[[8,"keydown","keyDownListener"]]]]],["dso-image-overlay.cjs",[[1,"dso-image-overlay",{"active":[32],"zoomable":[32]},[[2,"load","loadListener"]]]]],["dso-list-button.cjs",[[1,"dso-list-button",{"label":[1],"sublabel":[1],"subcontent":[1],"count":[2],"min":[8],"max":[8],"checked":[516],"disabled":[516],"manualInputWrapperElement":[32],"manualCount":[32]}]]],["dso-map-controls.cjs",[[1,"dso-map-controls",{"open":[1540],"disableZoom":[1,"disable-zoom"],"hideContent":[32],"toggleVisibility":[64]}]]],["dso-modal.cjs",[[1,"dso-modal",{"modalTitle":[1,"modal-title"],"role":[1],"showCloseButton":[4,"show-close-button"],"initialFocus":[1,"initial-focus"],"ariaId":[32],"hasFooter":[32]}]]],["dso-table.cjs",[[1,"dso-table",{"noModal":[516,"no-modal"],"isResponsive":[516,"is-responsive"],"modalActive":[32],"placeholderHeight":[32]}]]],["dso-viewer-grid.cjs",[[1,"dso-viewer-grid",{"filterpanelOpen":[516,"filterpanel-open"],"overlayOpen":[516,"overlay-open"],"initialMainSize":[1,"initial-main-size"],"mainSize":[32]}]]],["dso-accordion.cjs",[[1,"dso-accordion",{"variant":[513],"reverseAlign":[516,"reverse-align"],"allowMultipleOpen":[516,"allow-multiple-open"],"getState":[64],"toggleSection":[64],"animationEnd":[64],"closeOpenSections":[64]}]]],["dso-badge.cjs",[[1,"dso-badge",{"status":[1]}]]],["dso-banner.cjs",[[1,"dso-banner",{"status":[513]}]]],["dso-card.cjs",[[1,"dso-card",{"isSelectable":[516,"is-selectable"],"hasImage":[516,"has-image"],"clickable":[4]}]]],["dso-card-container.cjs",[[1,"dso-card-container",{"mode":[513]}]]],["dso-highlight-box.cjs",[[1,"dso-highlight-box",{"yellow":[4],"border":[4],"white":[4],"dropShadow":[4,"drop-shadow"],"step":[2]}]]],["dso-ozon-content.cjs",[[6,"dso-ozon-content",{"content":[1],"inline":[516],"deleted":[516],"interactive":[520],"state":[32]}]]],["dso-progress-bar.cjs",[[1,"dso-progress-bar",{"progress":[2],"min":[2],"max":[2]}]]],["dso-slide-toggle.cjs",[[4,"dso-slide-toggle",{"checked":[4],"disabled":[4],"accessibleLabel":[1,"accessible-label"],"labelledbyId":[1,"labelledby-id"],"identifier":[1],"hasVisibleLabel":[32]}]]],["dso-dropdown-menu.cjs",[[1,"dso-dropdown-menu",{"open":[1540],"dropdownAlign":[1,"dropdown-align"],"checkable":[4],"boundary":[1],"strategy":[1]}]]],["dso-expandable.cjs",[[1,"dso-expandable",{"open":[516]}]]],["dso-progress-indicator.cjs",[[1,"dso-progress-indicator",{"label":[1],"size":[513],"block":[4]}]]],["dso-responsive-element.cjs",[[1,"dso-responsive-element",{"sizeAlias":[32],"sizeWidth":[32],"getSize":[64]}]]],["dso-tooltip.cjs",[[1,"dso-tooltip",{"descriptive":[516],"position":[1],"strategy":[1],"noArrow":[4,"no-arrow"],"stateless":[4],"small":[4],"active":[1540],"hidden":[32],"activate":[64],"deactivate":[64]},[[0,"click","listenClick"]]]]],["dso-info-button.cjs",[[1,"dso-info-button",{"active":[1540],"secondary":[4],"label":[1],"hover":[32],"setFocus":[64]}]]],["dso-info_2.cjs",[[6,"dso-selectable",{"type":[1],"identifier":[1],"name":[1],"value":[1],"invalid":[4],"describedById":[1,"described-by-id"],"labelledById":[1,"labelled-by-id"],"disabled":[4],"required":[4],"checked":[4],"indeterminate":[4],"infoFixed":[4,"info-fixed"],"infoActive":[32],"toggleInfo":[64]}],[1,"dso-info",{"fixed":[516],"active":[516]}]]]], options);
18
18
  });
19
19
  };
20
20
 
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ const transitionDuration = 300; // Sync with $transition-duration in ./map-controls.scss
4
+
5
+ exports.transitionDuration = transitionDuration;
@@ -222,14 +222,18 @@
222
222
  }
223
223
  :host(.dso-accordion-conclusion) .dso-section-handle a,
224
224
  :host(.dso-accordion-conclusion) .dso-section-handle button {
225
- color: #191919;
225
+ color: #000;
226
226
  }
227
227
  :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,
228
228
  :host(.dso-accordion-conclusion) .dso-section-handle button:hover,
229
229
  :host(.dso-accordion-conclusion) .dso-section-handle button:active,
230
230
  :host(.dso-accordion-conclusion) .dso-section-handle button.active {
231
231
  background-color: #e5e5e5;
232
- color: #191919;
232
+ }
233
+ :host(.dso-accordion-conclusion) .dso-section-handle a dso-attachments-counter,
234
+ :host(.dso-accordion-conclusion) .dso-section-handle button dso-attachments-counter {
235
+ --dso-attachments-counter-color: #000;
236
+ --dso-icon: var(--di-paperclip-zwart);
233
237
  }
234
238
  :host(.dso-accordion-conclusion) .dso-section-body {
235
239
  border: 2px solid #f2f2f2;
@@ -238,15 +242,6 @@
238
242
  :host(.dso-accordion-conclusion[open]:not(.dso-nested-accordion)) > .dso-section-handle {
239
243
  background-color: #f2f2f2;
240
244
  }
241
- :host(.dso-accordion-conclusion[open]:not(.dso-nested-accordion)) > .dso-section-handle a,
242
- :host(.dso-accordion-conclusion[open]:not(.dso-nested-accordion)) > .dso-section-handle button {
243
- color: #191919;
244
- }
245
- :host(.dso-accordion-conclusion[open]:not(.dso-nested-accordion)) > .dso-section-handle a dso-attachments-counter,
246
- :host(.dso-accordion-conclusion[open]:not(.dso-nested-accordion)) > .dso-section-handle button dso-attachments-counter {
247
- --dso-attachments-counter-color: #666;
248
- --dso-icon: var(--di-paperclip-grijs);
249
- }
250
245
 
251
246
  :host(.dso-accordion-conclusion.dso-nested-accordion[open]) {
252
247
  background-color: #fff;
@@ -44,22 +44,22 @@
44
44
  margin-top: 24px;
45
45
  }
46
46
  .alert.alert-success {
47
- color: #191919;
47
+ color: #000;
48
48
  background-color: #e4f1d4;
49
49
  border-color: #e4f1d4;
50
50
  }
51
51
  .alert.alert-error {
52
- color: #191919;
52
+ color: #000;
53
53
  background-color: #f5d8dc;
54
54
  border-color: #f5d8dc;
55
55
  }
56
56
  .alert.alert-warning {
57
- color: #191919;
57
+ color: #000;
58
58
  background-color: #f8f6cc;
59
59
  border-color: #f8f6cc;
60
60
  }
61
61
  .alert.alert-info {
62
- color: #191919;
62
+ color: #000;
63
63
  background-color: #e1ecf7;
64
64
  border-color: #e1ecf7;
65
65
  }
@@ -34,7 +34,7 @@
34
34
  .dso-badge.badge-info {
35
35
  background-color: #6ca4d9;
36
36
  border-color: #6ca4d9;
37
- color: #191919;
37
+ color: #000;
38
38
  }
39
39
  .dso-badge.badge-primary {
40
40
  background-color: #275937;
@@ -49,7 +49,7 @@
49
49
  .dso-badge.badge-warning {
50
50
  background-color: #dcd400;
51
51
  border-color: #dcd400;
52
- color: #191919;
52
+ color: #000;
53
53
  }
54
54
  .dso-badge.badge-danger {
55
55
  background-color: #ce3f51;
@@ -4,5 +4,4 @@
4
4
 
5
5
  :host {
6
6
  display: inline-block;
7
- position: relative;
8
7
  }
@@ -1,6 +1,8 @@
1
+ import { createPopper } from "@popperjs/core";
1
2
  import { h, Host } from "@stencil/core";
2
3
  import { tabbable } from "tabbable";
3
4
  import { v4 as uuidv4 } from "uuid";
5
+ import { hasOverflow } from "../../utils/has-overflow";
4
6
  export class DropdownMenu {
5
7
  constructor() {
6
8
  this.focusOutListener = (event) => {
@@ -39,6 +41,44 @@ export class DropdownMenu {
39
41
  this.open = false;
40
42
  this.dropdownAlign = "left";
41
43
  this.checkable = false;
44
+ this.boundary = undefined;
45
+ this.strategy = "auto";
46
+ }
47
+ watchPosition() {
48
+ if (!this.popper) {
49
+ return;
50
+ }
51
+ this.popper.setOptions({
52
+ placement: this.dropdownAlign === "right" ? "bottom-end" : "bottom-start",
53
+ });
54
+ }
55
+ watchStrategy() {
56
+ this.setStrategy();
57
+ }
58
+ setStrategy() {
59
+ if (!this.popper) {
60
+ return;
61
+ }
62
+ if (this.strategy === "absolute" || this.strategy === "fixed") {
63
+ this.popper.setOptions({
64
+ strategy: this.strategy,
65
+ });
66
+ return;
67
+ }
68
+ let element = this.host;
69
+ const boundary = this.boundary || document;
70
+ while (element && element.parentNode !== boundary) {
71
+ element = element.parentNode instanceof ShadowRoot ? element.parentNode.host : element.parentElement;
72
+ if (element !== null && hasOverflow(element)) {
73
+ this.popper.setOptions({
74
+ strategy: "fixed",
75
+ });
76
+ return;
77
+ }
78
+ }
79
+ this.popper.setOptions({
80
+ strategy: "absolute",
81
+ });
42
82
  }
43
83
  get button() {
44
84
  const button = this.host.querySelector('button[slot="toggle"]');
@@ -71,8 +111,38 @@ export class DropdownMenu {
71
111
  li.setAttribute("role", "none");
72
112
  }
73
113
  }
114
+ if (this.popper) {
115
+ return;
116
+ }
117
+ const dropdownOptionsElement = this.host.querySelector(".dso-dropdown-options");
118
+ if (!(dropdownOptionsElement instanceof HTMLElement)) {
119
+ throw new Error("dropdown options element is not instanceof HTMLElement");
120
+ }
121
+ this.popper = createPopper(this.button, dropdownOptionsElement, {
122
+ placement: this.dropdownAlign === "right" ? "bottom-end" : "bottom-start",
123
+ modifiers: [
124
+ {
125
+ name: "offset",
126
+ options: {
127
+ offset: [0, 2], // 2px margin between button and options
128
+ },
129
+ },
130
+ {
131
+ name: "preventOverflow",
132
+ options: {
133
+ boundary: this.boundary ? document.querySelector(this.boundary) : null,
134
+ },
135
+ enabled: this.boundary !== undefined,
136
+ },
137
+ ],
138
+ });
74
139
  }
75
140
  componentDidRender() {
141
+ var _a;
142
+ this.setStrategy();
143
+ if (this.open) {
144
+ (_a = this.popper) === null || _a === void 0 ? void 0 : _a.update();
145
+ }
76
146
  for (const li of Array.from(this.host.getElementsByTagName("li"))) {
77
147
  for (const tab of tabbable(li)) {
78
148
  tab.setAttribute("role", this.checkable ? "menuitemradio" : "menuitem");
@@ -93,6 +163,10 @@ export class DropdownMenu {
93
163
  }
94
164
  });
95
165
  }
166
+ disconnectedCallback() {
167
+ var _a;
168
+ (_a = this.popper) === null || _a === void 0 ? void 0 : _a.destroy();
169
+ }
96
170
  getActiveElement(root = document) {
97
171
  const activeEl = root.activeElement;
98
172
  if (!activeEl) {
@@ -185,8 +259,52 @@ export class DropdownMenu {
185
259
  "attribute": "checkable",
186
260
  "reflect": false,
187
261
  "defaultValue": "false"
262
+ },
263
+ "boundary": {
264
+ "type": "string",
265
+ "mutable": false,
266
+ "complexType": {
267
+ "original": "string",
268
+ "resolved": "string | undefined",
269
+ "references": {}
270
+ },
271
+ "required": false,
272
+ "optional": true,
273
+ "docs": {
274
+ "tags": [],
275
+ "text": "Selector for the element the dropdown options should not be overflowing."
276
+ },
277
+ "attribute": "boundary",
278
+ "reflect": false
279
+ },
280
+ "strategy": {
281
+ "type": "string",
282
+ "mutable": false,
283
+ "complexType": {
284
+ "original": "\"auto\" | \"absolute\" | \"fixed\"",
285
+ "resolved": "\"absolute\" | \"auto\" | \"fixed\"",
286
+ "references": {}
287
+ },
288
+ "required": false,
289
+ "optional": false,
290
+ "docs": {
291
+ "tags": [],
292
+ "text": "Set position strategy of dropdown options"
293
+ },
294
+ "attribute": "strategy",
295
+ "reflect": false,
296
+ "defaultValue": "\"auto\""
188
297
  }
189
298
  };
190
299
  }
191
300
  static get elementRef() { return "host"; }
301
+ static get watchers() {
302
+ return [{
303
+ "propName": "dropdownAlign",
304
+ "methodName": "watchPosition"
305
+ }, {
306
+ "propName": "strategy",
307
+ "methodName": "watchStrategy"
308
+ }];
309
+ }
192
310
  }
@@ -195,8 +195,8 @@ dso-dropdown-menu .dso-dropdown-options ul li + li {
195
195
  text-decoration: underline;
196
196
  }
197
197
  .dso-nav.dso-nav-main dso-dropdown-menu .dso-dropdown-options {
198
- left: -1rem;
199
- top: calc(100% + 3px);
198
+ left: -1rem !important;
199
+ top: 3px !important;
200
200
  }
201
201
  .dso-nav.dso-nav-main dso-dropdown-menu button {
202
202
  font-size: 1.25em;
@@ -24,6 +24,7 @@
24
24
 
25
25
  .dso-highlight-box {
26
26
  background-color: #f2f2f2;
27
+ color: #000;
27
28
  margin-top: 16px;
28
29
  padding: 16px;
29
30
  margin-bottom: 24px;
@@ -1,6 +1,7 @@
1
1
  :host {
2
2
  display: block;
3
3
  background-color: #f2f2f2;
4
+ color: #000;
4
5
  padding: 16px 32px 16px 16px;
5
6
  position: relative;
6
7
  }
@@ -54,7 +54,7 @@
54
54
  }
55
55
  .dso-label.dso-label-info {
56
56
  background-color: #6ca4d9;
57
- color: #191919;
57
+ color: #000;
58
58
  }
59
59
  .dso-label.dso-label-primary {
60
60
  background-color: #275937;
@@ -66,7 +66,7 @@
66
66
  }
67
67
  .dso-label.dso-label-warning {
68
68
  background-color: #dcd400;
69
- color: #191919;
69
+ color: #000;
70
70
  }
71
71
  .dso-label.dso-label-danger {
72
72
  background-color: #ce3f51;
@@ -0,0 +1 @@
1
+ export const transitionDuration = 300; // Sync with $transition-duration in ./map-controls.scss
@@ -16,7 +16,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
16
16
  };
17
17
  var _MapControls_closeButtonElement, _MapControls_toggleButtonElement;
18
18
  import { h, Host } from "@stencil/core";
19
- const transitionDuration = 300; // Sync with $transition-duration in ./map-controls.scss
19
+ import { transitionDuration } from "./map-controls.interfaces";
20
20
  export class MapControls {
21
21
  constructor() {
22
22
  this.panelTitle = "Kaartlagen";
@@ -39,8 +39,15 @@ export class MapControls {
39
39
  }, transitionDuration);
40
40
  }
41
41
  }
42
+ async toggleVisibility(e) {
43
+ this.open = !this.open;
44
+ this.dsoToggle.emit({
45
+ originalEvent: e,
46
+ open: this.open,
47
+ });
48
+ }
42
49
  render() {
43
- return (h(Host, null, h("button", { type: "button", id: "toggle-visibility-button", class: "toggle-visibility-button", onClick: () => (this.open = !this.open), ref: (element) => (__classPrivateFieldSet(this, _MapControls_toggleButtonElement, element, "f")) }, h("dso-icon", { icon: "layers" }), h("span", null, "Kaartlagen")), h("div", { class: "zoom-buttons" }, h("button", { type: "button", onClick: (e) => this.dsoZoomIn.emit(e), disabled: this.disableZoom === "in" || this.disableZoom === "both" }, h("span", null, "Zoom in"), h("dso-icon", { icon: "plus" })), h("button", { type: "button", onClick: (e) => this.dsoZoomOut.emit(e), disabled: this.disableZoom === "out" || this.disableZoom === "both" }, h("span", null, "Zoom uit"), h("dso-icon", { icon: "minus" }))), h("section", { hidden: this.hideContent }, h("header", null, h("h2", null, this.panelTitle), h("button", { type: "button", class: "close-button", onClick: () => (this.open = false), ref: (element) => (__classPrivateFieldSet(this, _MapControls_closeButtonElement, element, "f")) }, h("span", null, "Verberg paneel ", this.panelTitle), h("dso-icon", { icon: "times" }))), h("div", { class: "content" }, h("slot", null)))));
50
+ return (h(Host, null, h("button", { type: "button", id: "toggle-visibility-button", class: "toggle-visibility-button", onClick: (e) => this.toggleVisibility(e), ref: (element) => (__classPrivateFieldSet(this, _MapControls_toggleButtonElement, element, "f")) }, h("dso-icon", { icon: "layers" }), h("span", null, "Kaartlagen")), h("div", { class: "zoom-buttons" }, h("button", { type: "button", onClick: (e) => this.dsoZoomIn.emit(e), disabled: this.disableZoom === "in" || this.disableZoom === "both" }, h("span", null, "Zoom in"), h("dso-icon", { icon: "plus" })), h("button", { type: "button", onClick: (e) => this.dsoZoomOut.emit(e), disabled: this.disableZoom === "out" || this.disableZoom === "both" }, h("span", null, "Zoom uit"), h("dso-icon", { icon: "minus" }))), h("section", { hidden: this.hideContent }, h("header", null, h("h2", null, this.panelTitle), h("button", { type: "button", class: "close-button", onClick: (e) => this.toggleVisibility(e), ref: (element) => (__classPrivateFieldSet(this, _MapControls_closeButtonElement, element, "f")) }, h("span", null, "Verberg paneel ", this.panelTitle), h("dso-icon", { icon: "times" }))), h("div", { class: "content" }, h("slot", null)))));
44
51
  }
45
52
  static get is() { return "dso-map-controls"; }
46
53
  static get encapsulation() { return "shadow"; }
@@ -137,8 +144,57 @@ export class MapControls {
137
144
  }
138
145
  }
139
146
  }
147
+ }, {
148
+ "method": "dsoToggle",
149
+ "name": "dsoToggle",
150
+ "bubbles": true,
151
+ "cancelable": true,
152
+ "composed": true,
153
+ "docs": {
154
+ "tags": [],
155
+ "text": "emits when the panel opens or closes.\r\n\r\n- `event.detail.originalEvent` contains the original `MouseEvent / KeyboardEvent` when the panel is toggled by clicking the visibility button or the close button.\r\n- `event.detail.open` is true when the panel opens and false when the panel closes."
156
+ },
157
+ "complexType": {
158
+ "original": "MapControlsToggleEvent",
159
+ "resolved": "MapControlsToggleEvent",
160
+ "references": {
161
+ "MapControlsToggleEvent": {
162
+ "location": "import",
163
+ "path": "./map-controls.interfaces"
164
+ }
165
+ }
166
+ }
140
167
  }];
141
168
  }
169
+ static get methods() {
170
+ return {
171
+ "toggleVisibility": {
172
+ "complexType": {
173
+ "signature": "(e: MouseEvent | KeyboardEvent) => Promise<void>",
174
+ "parameters": [{
175
+ "tags": [],
176
+ "text": ""
177
+ }],
178
+ "references": {
179
+ "Promise": {
180
+ "location": "global"
181
+ },
182
+ "MouseEvent": {
183
+ "location": "global"
184
+ },
185
+ "KeyboardEvent": {
186
+ "location": "global"
187
+ }
188
+ },
189
+ "return": "Promise<void>"
190
+ },
191
+ "docs": {
192
+ "text": "",
193
+ "tags": []
194
+ }
195
+ }
196
+ };
197
+ }
142
198
  static get watchers() {
143
199
  return [{
144
200
  "propName": "open",
@@ -150,6 +150,7 @@
150
150
 
151
151
  .dso-selectable-input-wrapper {
152
152
  display: inline-block;
153
+ min-height: 24px;
153
154
  padding-left: 32px;
154
155
  }
155
156
  .dso-selectable-input-wrapper:focus-within {
@@ -9,6 +9,7 @@ export class Selectable {
9
9
  this.value = undefined;
10
10
  this.invalid = undefined;
11
11
  this.describedById = undefined;
12
+ this.labelledById = undefined;
12
13
  this.disabled = undefined;
13
14
  this.required = undefined;
14
15
  this.checked = undefined;
@@ -41,7 +42,7 @@ export class Selectable {
41
42
  render() {
42
43
  var _a;
43
44
  const hasInfo = !!this.host.querySelector('[slot="info"]');
44
- return (h(Fragment, null, h("div", { class: "dso-selectable-input-wrapper" }, h("input", { type: this.type, id: this.getIdentifier(), value: this.value, name: this.name, "aria-invalid": (_a = this.invalid) === null || _a === void 0 ? void 0 : _a.toString(), "aria-describedby": hasInfo && this.infoFixed ? this.describedById : undefined, disabled: this.disabled, required: this.required, checked: this.checked, onChange: (e) => this.dsoChange.emit(e), ref: (el) => (this.input = el) }), h("label", { htmlFor: this.getIdentifier() }, h("slot", null))), hasInfo && (h(Fragment, null, !this.infoFixed && (h("dso-info-button", { active: this.infoActive, onDsoToggle: (e) => (this.infoActive = e.detail.active) })), h("dso-info", { id: hasInfo && this.infoFixed ? this.describedById : undefined, fixed: this.infoFixed, active: this.infoActive, onDsoClose: () => (this.infoActive = false) }, h("div", null, h("slot", { name: "info" })))))));
45
+ return (h(Fragment, null, h("div", { class: "dso-selectable-input-wrapper" }, h("input", { type: this.type, id: this.getIdentifier(), value: this.value, name: this.name, "aria-invalid": (_a = this.invalid) === null || _a === void 0 ? void 0 : _a.toString(), "aria-describedby": hasInfo && this.infoFixed ? this.describedById : undefined, "aria-labelledBy": this.labelledById, disabled: this.disabled, required: this.required, checked: this.checked, onChange: (e) => this.dsoChange.emit(e), ref: (el) => (this.input = el) }), !this.labelledById ? (h("label", { htmlFor: this.getIdentifier() }, h("slot", null))) : (h("label", null))), hasInfo && (h(Fragment, null, !this.infoFixed && (h("dso-info-button", { active: this.infoActive, onDsoToggle: (e) => (this.infoActive = e.detail.active) })), h("dso-info", { id: hasInfo && this.infoFixed ? this.describedById : undefined, fixed: this.infoFixed, active: this.infoActive, onDsoClose: () => (this.infoActive = false) }, h("div", null, h("slot", { name: "info" })))))));
45
46
  }
46
47
  getIdentifier() {
47
48
  var _a;
@@ -163,6 +164,23 @@ export class Selectable {
163
164
  "attribute": "described-by-id",
164
165
  "reflect": false
165
166
  },
167
+ "labelledById": {
168
+ "type": "string",
169
+ "mutable": false,
170
+ "complexType": {
171
+ "original": "string",
172
+ "resolved": "string | undefined",
173
+ "references": {}
174
+ },
175
+ "required": false,
176
+ "optional": true,
177
+ "docs": {
178
+ "tags": [],
179
+ "text": ""
180
+ },
181
+ "attribute": "labelled-by-id",
182
+ "reflect": false
183
+ },
166
184
  "disabled": {
167
185
  "type": "boolean",
168
186
  "mutable": false,
@@ -2,15 +2,9 @@ import { beforeWrite, createPopper } from "@popperjs/core";
2
2
  import maxSize from "popper-max-size-modifier";
3
3
  import { h, Host } from "@stencil/core";
4
4
  import clsx from "clsx";
5
+ import { hasOverflow } from "../../utils/has-overflow";
5
6
  // Keep const in sync with $tooltip-transition-duration in dso-toolkit/src/components/tooltip/tooltip.scss tooltip_root() mixin
6
7
  const transitionDuration = 150;
7
- function hasOverflow(el) {
8
- const style = window.getComputedStyle(el);
9
- const overflowX = style.getPropertyValue("overflow-x");
10
- const overflowY = style.getPropertyValue("overflow-y");
11
- const overflowValues = ["hidden", "clip"];
12
- return overflowValues.indexOf(overflowX) !== -1 || overflowValues.indexOf(overflowY) !== -1;
13
- }
14
8
  export class Tooltip {
15
9
  constructor() {
16
10
  this.applyMaxSize = {
@@ -8,6 +8,7 @@ export * from "./components/header/header.interfaces";
8
8
  export * from "./components/info-button/info-button.interfaces";
9
9
  export * from "./components/list-button/list-button.interfaces";
10
10
  export * from "./components/map-base-layers/map-base-layers.interfaces";
11
+ export * from "./components/map-controls/map-controls.interfaces";
11
12
  export * from "./components/map-overlays/map-overlays.interfaces";
12
13
  export * from "./components/modal/modal.interfaces";
13
14
  export * from "./components/ozon-content/ozon-content.interfaces";
@@ -0,0 +1,7 @@
1
+ export function hasOverflow(el) {
2
+ const style = window.getComputedStyle(el);
3
+ const overflowX = style.getPropertyValue("overflow-x");
4
+ const overflowY = style.getPropertyValue("overflow-y");
5
+ const overflowValues = ["hidden", "clip"];
6
+ return overflowValues.indexOf(overflowX) !== -1 || overflowValues.indexOf(overflowY) !== -1;
7
+ }
@@ -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
+ import { h as hasOverflow, c as createPopper } from './has-overflow.js';
3
4
  import { v as v4 } from './v4.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,44 @@ 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
+ this.strategy = "auto";
51
+ }
52
+ watchPosition() {
53
+ if (!this.popper) {
54
+ return;
55
+ }
56
+ this.popper.setOptions({
57
+ placement: this.dropdownAlign === "right" ? "bottom-end" : "bottom-start",
58
+ });
59
+ }
60
+ watchStrategy() {
61
+ this.setStrategy();
62
+ }
63
+ setStrategy() {
64
+ if (!this.popper) {
65
+ return;
66
+ }
67
+ if (this.strategy === "absolute" || this.strategy === "fixed") {
68
+ this.popper.setOptions({
69
+ strategy: this.strategy,
70
+ });
71
+ return;
72
+ }
73
+ let element = this.host;
74
+ const boundary = this.boundary || document;
75
+ while (element && element.parentNode !== boundary) {
76
+ element = element.parentNode instanceof ShadowRoot ? element.parentNode.host : element.parentElement;
77
+ if (element !== null && hasOverflow(element)) {
78
+ this.popper.setOptions({
79
+ strategy: "fixed",
80
+ });
81
+ return;
82
+ }
83
+ }
84
+ this.popper.setOptions({
85
+ strategy: "absolute",
86
+ });
48
87
  }
49
88
  get button() {
50
89
  const button = this.host.querySelector('button[slot="toggle"]');
@@ -77,8 +116,38 @@ const DropdownMenu = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
77
116
  li.setAttribute("role", "none");
78
117
  }
79
118
  }
119
+ if (this.popper) {
120
+ return;
121
+ }
122
+ const dropdownOptionsElement = this.host.querySelector(".dso-dropdown-options");
123
+ if (!(dropdownOptionsElement instanceof HTMLElement)) {
124
+ throw new Error("dropdown options element is not instanceof HTMLElement");
125
+ }
126
+ this.popper = createPopper(this.button, dropdownOptionsElement, {
127
+ placement: this.dropdownAlign === "right" ? "bottom-end" : "bottom-start",
128
+ modifiers: [
129
+ {
130
+ name: "offset",
131
+ options: {
132
+ offset: [0, 2], // 2px margin between button and options
133
+ },
134
+ },
135
+ {
136
+ name: "preventOverflow",
137
+ options: {
138
+ boundary: this.boundary ? document.querySelector(this.boundary) : null,
139
+ },
140
+ enabled: this.boundary !== undefined,
141
+ },
142
+ ],
143
+ });
80
144
  }
81
145
  componentDidRender() {
146
+ var _a;
147
+ this.setStrategy();
148
+ if (this.open) {
149
+ (_a = this.popper) === null || _a === void 0 ? void 0 : _a.update();
150
+ }
82
151
  for (const li of Array.from(this.host.getElementsByTagName("li"))) {
83
152
  for (const tab of tabbable(li)) {
84
153
  tab.setAttribute("role", this.checkable ? "menuitemradio" : "menuitem");
@@ -99,6 +168,10 @@ const DropdownMenu = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
99
168
  }
100
169
  });
101
170
  }
171
+ disconnectedCallback() {
172
+ var _a;
173
+ (_a = this.popper) === null || _a === void 0 ? void 0 : _a.destroy();
174
+ }
102
175
  getActiveElement(root = document) {
103
176
  const activeEl = root.activeElement;
104
177
  if (!activeEl) {
@@ -125,11 +198,17 @@ const DropdownMenu = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement
125
198
  return (h(Host, { onFocusout: this.focusOutListener, tabindex: this.open ? "-1" : undefined }, h("slot", { name: "toggle" }), h("div", { hidden: !this.open }, h("slot", null))));
126
199
  }
127
200
  get host() { return this; }
201
+ static get watchers() { return {
202
+ "dropdownAlign": ["watchPosition"],
203
+ "strategy": ["watchStrategy"]
204
+ }; }
128
205
  static get style() { return dropdownMenuCss; }
129
206
  }, [1, "dso-dropdown-menu", {
130
207
  "open": [1540],
131
208
  "dropdownAlign": [1, "dropdown-align"],
132
- "checkable": [4]
209
+ "checkable": [4],
210
+ "boundary": [1],
211
+ "strategy": [1]
133
212
  }]);
134
213
  function defineCustomElement() {
135
214
  if (typeof customElements === "undefined") {