@dso-toolkit/core 99.4.0 → 100.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/dist/bundle/dso-advanced-select.js +3 -3
  2. package/dist/bundle/dso-document-component.js +1 -1
  3. package/dist/bundle/dso-dropdown-menu.js +51 -12
  4. package/dist/bundle/dso-header.js +51 -12
  5. package/dist/bundle/dso-highlight-box.js +1 -1
  6. package/dist/bundle/dso-info.js +1 -1
  7. package/dist/bundle/dso-list-button.js +2 -2
  8. package/dist/bundle/dso-map-base-layers.js +2 -2
  9. package/dist/bundle/dso-map-overlays.js +2 -2
  10. package/dist/bundle/dso-ozon-content.js +1 -1
  11. package/dist/bundle/dso-selectable.js +1 -1
  12. package/dist/bundle/dso-tree-view.js +1 -1
  13. package/dist/bundle/dso-viewer-grid.js +3 -3
  14. package/dist/bundle/dsot-document-component-demo.js +4 -4
  15. package/dist/bundle/index.js +0 -2
  16. package/dist/bundle/p-0mKOaHii.js +48 -0
  17. package/dist/bundle/{p-BHoewcI-.js → p-BSvOi0zH.js} +4 -4
  18. package/dist/bundle/{p-DtOWRu1L.js → p-ClW9x8PR.js} +1 -1
  19. package/dist/bundle/{p-BoPUWtZk.js → p-DoZnyoat.js} +47 -28
  20. package/dist/cjs/dso-advanced-select.cjs.entry.js +3 -3
  21. package/dist/cjs/dso-alert_7.cjs.entry.js +4 -4
  22. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +46 -27
  23. package/dist/cjs/dso-dropdown-menu.cjs.entry.js +51 -12
  24. package/dist/cjs/dso-header.cjs.entry.js +51 -12
  25. package/dist/cjs/dso-highlight-box.cjs.entry.js +1 -1
  26. package/dist/cjs/dso-info_3.cjs.entry.js +1 -1
  27. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  28. package/dist/cjs/dso-tree-view.cjs.entry.js +1 -1
  29. package/dist/cjs/dso-viewer-grid.cjs.entry.js +3 -3
  30. package/dist/cjs/dsot-document-component-demo.cjs.entry.js +2 -2
  31. package/dist/cjs/loader.cjs.js +1 -1
  32. package/dist/collection/collection-manifest.json +0 -1
  33. package/dist/collection/components/advanced-select/advanced-select.css +12 -11
  34. package/dist/collection/components/advanced-select/advanced-select.js +2 -2
  35. package/dist/collection/components/document-component/document-component-heading.js +35 -19
  36. package/dist/collection/components/document-component/document-component.css +1 -0
  37. package/dist/collection/components/document-component/document-component.js +16 -13
  38. package/dist/collection/components/document-component-demo/document-component.demo.js +2 -2
  39. package/dist/collection/components/dropdown-menu/dropdown-menu.js +51 -12
  40. package/dist/collection/components/header/header.js +51 -12
  41. package/dist/collection/components/highlight-box/highlight-box.css +2 -4
  42. package/dist/collection/components/info/info.css +10 -17
  43. package/dist/collection/components/ozon-content/nodes/int-io-ref.node.js +1 -1
  44. package/dist/collection/components/ozon-content/nodes/int-ref.node.js +1 -1
  45. package/dist/collection/components/ozon-content/nodes/noot.node.js +1 -1
  46. package/dist/collection/components/ozon-content/ozon-content-mapper.js +1 -1
  47. package/dist/collection/components/tree-view/tree-view.js +1 -1
  48. package/dist/collection/components/viewer-grid/viewer-grid.css +36 -16
  49. package/dist/collection/components/viewer-grid/viewer-grid.js +2 -2
  50. package/dist/components/document-component.js +1 -1
  51. package/dist/components/dso-advanced-select.js +1 -1
  52. package/dist/components/dso-dropdown-menu.js +1 -1
  53. package/dist/components/dso-header.js +1 -1
  54. package/dist/components/dso-highlight-box.js +1 -1
  55. package/dist/components/dso-tree-view.js +1 -1
  56. package/dist/components/dso-viewer-grid.js +1 -1
  57. package/dist/components/dsot-document-component-demo.js +1 -1
  58. package/dist/components/index.d.ts +0 -2
  59. package/dist/components/index.js +1 -1
  60. package/dist/components/info.js +1 -1
  61. package/dist/components/ozon-content.js +1 -1
  62. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  63. package/dist/dso-toolkit/{p-7a852b15.entry.js → p-4a971ee1.entry.js} +1 -1
  64. package/dist/dso-toolkit/{p-441b88f3.entry.js → p-4dacadca.entry.js} +1 -1
  65. package/dist/dso-toolkit/p-5455f456.entry.js +1 -0
  66. package/dist/dso-toolkit/p-56f5668a.entry.js +1 -0
  67. package/dist/dso-toolkit/p-72c632b1.entry.js +1 -0
  68. package/dist/dso-toolkit/{p-0083183c.entry.js → p-84cda47a.entry.js} +1 -1
  69. package/dist/dso-toolkit/p-b35b9bf4.entry.js +1 -0
  70. package/dist/dso-toolkit/{p-e3826220.entry.js → p-b6d829b6.entry.js} +2 -2
  71. package/dist/dso-toolkit/p-dce72b97.entry.js +1 -0
  72. package/dist/dso-toolkit/p-e0a1e35a.entry.js +1 -0
  73. package/dist/esm/dso-advanced-select.entry.js +3 -3
  74. package/dist/esm/dso-alert_7.entry.js +4 -4
  75. package/dist/esm/dso-annotation-locatie_2.entry.js +46 -27
  76. package/dist/esm/dso-dropdown-menu.entry.js +51 -12
  77. package/dist/esm/dso-header.entry.js +51 -12
  78. package/dist/esm/dso-highlight-box.entry.js +1 -1
  79. package/dist/esm/dso-info_3.entry.js +1 -1
  80. package/dist/esm/dso-toolkit.js +1 -1
  81. package/dist/esm/dso-tree-view.entry.js +1 -1
  82. package/dist/esm/dso-viewer-grid.entry.js +3 -3
  83. package/dist/esm/dsot-document-component-demo.entry.js +2 -2
  84. package/dist/esm/loader.js +1 -1
  85. package/dist/types/components/document-component/document-component-heading.d.ts +2 -2
  86. package/dist/types/components/document-component/document-component.d.ts +5 -2
  87. package/dist/types/components/dropdown-menu/dropdown-menu.d.ts +2 -0
  88. package/dist/types/components/header/header.d.ts +2 -0
  89. package/dist/types/components.d.ts +7 -105
  90. package/package.json +3 -5
  91. package/dist/bundle/dso-tooltip.d.ts +0 -11
  92. package/dist/bundle/dso-tooltip.js +0 -2119
  93. package/dist/bundle/p-CAqSxnd4.js +0 -48
  94. package/dist/cjs/dso-tooltip.cjs.entry.js +0 -2080
  95. package/dist/collection/components/tooltip/tooltip.css +0 -114
  96. package/dist/collection/components/tooltip/tooltip.js +0 -448
  97. package/dist/components/dso-tooltip.d.ts +0 -11
  98. package/dist/components/dso-tooltip.js +0 -1
  99. package/dist/dso-toolkit/p-2149be85.entry.js +0 -1
  100. package/dist/dso-toolkit/p-2e501bb0.entry.js +0 -1
  101. package/dist/dso-toolkit/p-5cdda2dd.entry.js +0 -1
  102. package/dist/dso-toolkit/p-6e027a66.entry.js +0 -1
  103. package/dist/dso-toolkit/p-87a19b2e.entry.js +0 -1
  104. package/dist/dso-toolkit/p-8d4cce03.entry.js +0 -1
  105. package/dist/dso-toolkit/p-cfb08b19.entry.js +0 -1
  106. package/dist/esm/dso-tooltip.entry.js +0 -2078
  107. package/dist/types/components/tooltip/tooltip.d.ts +0 -61
@@ -2,4 +2,4 @@ import{proxyCustomElement as o,HTMLElement as r,createEvent as t,h as n,transfor
2
2
  /*!
3
3
  * focus-trap 8.2.2
4
4
  * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE
5
- */function y(o,r){(null==r||r>o.length)&&(r=o.length);for(var t=0,n=Array(r);t<r;t++)n[t]=o[t];return n}function g(o,r){var t="undefined"!=typeof Symbol&&o[Symbol.iterator]||o["@@iterator"];if(!t){if(Array.isArray(o)||(t=w(o))||r){t&&(o=t);var n=0,e=function(){};return{s:e,n:function(){return n>=o.length?{done:!0}:{done:!1,value:o[n++]}},e:function(o){throw o},f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,c=!1;return{s:function(){t=t.call(o)},n:function(){var o=t.next();return a=o.done,o},e:function(o){c=!0,i=o},f:function(){try{a||null==t.return||t.return()}finally{if(c)throw i}}}}function h(o,r,t){return(r=function(o){var r=function(o,r){if("object"!=typeof o||!o)return o;var t=o[Symbol.toPrimitive];if(void 0!==t){var n=t.call(o,r);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return o+""}(o,"string");return"symbol"==typeof r?r:r+""}(r))in o?Object.defineProperty(o,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):o[r]=t,o}function k(o,r){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(o);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(o,r).enumerable}))),t.push.apply(t,n)}return t}function m(o){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?k(Object(t),!0).forEach((function(r){h(o,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):k(Object(t)).forEach((function(r){Object.defineProperty(o,r,Object.getOwnPropertyDescriptor(t,r))}))}return o}function w(o,r){if(o){if("string"==typeof o)return y(o,r);var t={}.toString.call(o).slice(8,-1);return"Object"===t&&o.constructor&&(t=o.constructor.name),"Map"===t||"Set"===t?Array.from(o):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?y(o,r):void 0}}var x={getActiveTrap:function(o){return(null==o?void 0:o.length)>0?o[o.length-1]:null},activateTrap:function(o,r){r!==x.getActiveTrap(o)&&x.pauseTrap(o);var t=o.indexOf(r);-1===t||o.splice(t,1),o.push(r)},deactivateTrap:function(o,r){var t=o.indexOf(r);-1!==t&&o.splice(t,1),x.unpauseTrap(o)},pauseTrap:function(o){var r=x.getActiveTrap(o);null==r||r._setPausedState(!0)},unpauseTrap:function(o){var r=x.getActiveTrap(o);r&&!r._isManuallyPaused()&&r._setPausedState(!1)}},j=function(o){return"Tab"===(null==o?void 0:o.key)||9===(null==o?void 0:o.keyCode)},C=function(o){return j(o)&&!o.shiftKey},E=function(o){return j(o)&&o.shiftKey},z=function(o){return setTimeout(o,0)},F=function(o){for(var r=arguments.length,t=Array(r>1?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];return"function"==typeof o?o.apply(void 0,t):o},S=function(o){return o.target.shadowRoot&&"function"==typeof o.composedPath?o.composedPath()[0]:o.target},T=[],O=function(o,r){var t,n=(null==r?void 0:r.document)||document,e=(null==r?void 0:r.trapStack)||T,i=m({returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0,delayReturnFocus:!0,isolateSubtrees:!1,isKeyForward:C,isKeyBackward:E},r),u={containers:[],containerGroups:[],tabbableGroups:[],adjacentElements:new Set,alreadySilent:new Set,nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,manuallyPaused:!1,delayInitialFocusTimer:void 0,recentNavEvent:void 0},b=function(o,r,t){return o&&void 0!==o[r]?o[r]:i[t||r]},f=function(o,r){var t="function"==typeof(null==r?void 0:r.composedPath)?r.composedPath():void 0;return u.containerGroups.findIndex((function(r){var n=r.container,e=r.tabbableNodes;return n.contains(o)||(null==t?void 0:t.includes(n))||e.find((function(r){return r===o}))}))},v=function(o){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=r.hasFallback,e=void 0!==t&&t,a=r.params,c=i[o];if("function"==typeof c&&(c=c.apply(void 0,function(o){return function(o){if(Array.isArray(o))return y(o)}(o)||function(o){if("undefined"!=typeof Symbol&&null!=o[Symbol.iterator]||null!=o["@@iterator"])return Array.from(o)}(o)||w(o)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(void 0===a?[]:a))),!0===c&&(c=void 0),!c){if(void 0===c||!1===c)return c;throw Error("`".concat(o,"` was specified but was not a node, or did not return a node"))}var d=c;if("string"==typeof c){try{d=n.querySelector(c)}catch(r){throw Error("`".concat(o,'` appears to be an invalid selector; error="').concat(r.message,'"'))}if(!d&&!e)throw Error("`".concat(o,"` as selector refers to no known node"))}return d},p=function(o){var r=o.activeElement;return r?r.shadowRoot&&null!==r.shadowRoot.activeElement?p(r.shadowRoot):r:null},_=function(){var o=v("initialFocus",{hasFallback:!0});if(!1===o)return!1;if(void 0===o||o&&!l(o,i.tabbableOptions)){var r=p(n);if(f(r)>=0)o=r;else{var t=u.tabbableGroups[0];o=t&&t.firstTabbableNode||v("fallbackFocus")}}else null===o&&(o=v("fallbackFocus"));if(!o)throw Error("Your focus-trap needs to have at least one focusable element");return o},h=function(){if(u.containerGroups=u.containers.map((function(o){var r=a(o,i.tabbableOptions),t=c(o,i.tabbableOptions),n=r.length>0?r[0]:void 0,e=r.length>0?r[r.length-1]:void 0,l=t.find((function(o){return d(o)})),u=t.slice().reverse().find((function(o){return d(o)})),b=!!r.find((function(o){return s(o)>0}));return{container:o,tabbableNodes:r,focusableNodes:t,posTabIndexesFound:b,firstTabbableNode:n,lastTabbableNode:e,firstDomTabbableNode:l,lastDomTabbableNode:u,nextTabbableNode:function(o){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],e=r.indexOf(o);return e<0?n?t.slice(t.indexOf(o)+1).find((function(o){return d(o)})):t.slice(0,t.indexOf(o)).reverse().find((function(o){return d(o)})):r[e+(n?1:-1)]}}})),u.tabbableGroups=u.containerGroups.filter((function(o){return o.tabbableNodes.length>0})),u.tabbableGroups.length<=0&&!v("fallbackFocus"))throw Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(u.containerGroups.find((function(o){return o.posTabIndexesFound}))&&u.containerGroups.length>1)throw Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},k=function(o){!1!==o&&o!==p(document)&&(o&&o.focus?(o.focus({preventScroll:!!i.preventScroll}),u.mostRecentlyFocusedNode=o,function(o){return o.tagName&&"input"===o.tagName.toLowerCase()&&"function"==typeof o.select}(o)&&o.select()):k(_()))},O=function(o){var r=v("setReturnFocus",{params:[o]});return r||!1!==r&&o},D=function(o){var r=o.target,t=o.event,n=o.isBackward,e=void 0!==n&&n;r=r||S(t),h();var a=null;if(u.tabbableGroups.length>0){var c=f(r,t),b=c>=0?u.containerGroups[c]:void 0;if(c<0)a=e?u.tabbableGroups[u.tabbableGroups.length-1].lastTabbableNode:u.tabbableGroups[0].firstTabbableNode;else if(e){var p=u.tabbableGroups.findIndex((function(o){return r===o.firstTabbableNode}));if(p<0&&(b.container===r||l(r,i.tabbableOptions)&&!d(r,i.tabbableOptions)&&!b.nextTabbableNode(r,!1))&&(p=c),p>=0){var _=u.tabbableGroups[0===p?u.tabbableGroups.length-1:p-1];a=s(r)>=0?_.lastTabbableNode:_.lastDomTabbableNode}else j(t)||(a=b.nextTabbableNode(r,!1))}else{var y=u.tabbableGroups.findIndex((function(o){return r===o.lastTabbableNode}));if(y<0&&(b.container===r||l(r,i.tabbableOptions)&&!d(r,i.tabbableOptions)&&!b.nextTabbableNode(r))&&(y=c),y>=0){var g=u.tabbableGroups[y===u.tabbableGroups.length-1?0:y+1];a=s(r)>=0?g.firstTabbableNode:g.firstDomTabbableNode}else j(t)||(a=b.nextTabbableNode(r))}}else a=v("fallbackFocus");return a},A=function(o){var r=S(o);f(r,o)>=0||(F(i.clickOutsideDeactivates,o)?t.deactivate({returnFocus:i.returnFocusOnDeactivate}):F(i.allowOutsideClick,o)||o.preventDefault())},R=function(o){var r=S(o),t=f(r,o)>=0;if(t||r instanceof Document)t&&(u.mostRecentlyFocusedNode=r);else{var n;o.stopImmediatePropagation();var e=!0;if(u.mostRecentlyFocusedNode)if(s(u.mostRecentlyFocusedNode)>0){var a=f(u.mostRecentlyFocusedNode),c=u.containerGroups[a].tabbableNodes;if(c.length>0){var d=c.findIndex((function(o){return o===u.mostRecentlyFocusedNode}));d>=0&&(i.isKeyForward(u.recentNavEvent)?d+1<c.length&&(n=c[d+1],e=!1):d-1>=0&&(n=c[d-1],e=!1))}}else u.containerGroups.some((function(o){return o.tabbableNodes.some((function(o){return s(o)>0}))}))||(e=!1);else e=!1;e&&(n=D({target:u.mostRecentlyFocusedNode,isBackward:i.isKeyBackward(u.recentNavEvent)})),k(n||u.mostRecentlyFocusedNode||_())}u.recentNavEvent=void 0},P=function(o){(i.isKeyForward(o)||i.isKeyBackward(o))&&function(o){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];u.recentNavEvent=o;var t=D({event:o,isBackward:r});t&&(j(o)&&o.preventDefault(),k(t))}(o,i.isKeyBackward(o))},I=function(o){(function(o){return"Escape"===(null==o?void 0:o.key)||"Esc"===(null==o?void 0:o.key)||27===(null==o?void 0:o.keyCode)})(o)&&!1!==F(i.escapeDeactivates,o)&&(o.preventDefault(),t.deactivate())},N=function(o){var r=S(o);f(r,o)>=0||F(i.clickOutsideDeactivates,o)||F(i.allowOutsideClick,o)||(o.preventDefault(),o.stopImmediatePropagation())},B=function(){var o;if(u.active)return x.activateTrap(e,t),i.delayInitialFocus?o=new Promise((function(o){u.delayInitialFocusTimer=z((function(){k(_()),o()}))})):k(_()),n.addEventListener("focusin",R,!0),n.addEventListener("mousedown",A,{capture:!0,passive:!1}),n.addEventListener("touchstart",A,{capture:!0,passive:!1}),n.addEventListener("click",N,{capture:!0,passive:!1}),n.addEventListener("keydown",P,{capture:!0,passive:!1}),n.addEventListener("keydown",I),o},M=function(){if(u.active)return n.removeEventListener("focusin",R,!0),n.removeEventListener("mousedown",A,!0),n.removeEventListener("touchstart",A,!0),n.removeEventListener("click",N,!0),n.removeEventListener("keydown",P,!0),n.removeEventListener("keydown",I),t},H="undefined"!=typeof window&&"MutationObserver"in window?new MutationObserver((function(o){var r=u.mostRecentlyFocusedNode;if(r&&o.some((function(o){return Array.from(o.removedNodes).some((function(o){return o===r||"function"==typeof o.contains&&o.contains(r)}))}))&&u.containers.some((function(o){return null==o?void 0:o.isConnected}))){h();var t=_();k(t)}})):void 0,U=function(){H&&(H.disconnect(),u.active&&!u.paused&&u.containers.map((function(o){H.observe(o,{subtree:!0,childList:!0})})))};return Object.defineProperties(t={get active(){return u.active},get paused(){return u.paused},activate:function(o){if(u.active)return this;var r,i=b(o,"onActivate"),a=b(o,"onPostActivate"),c=b(o,"checkCanFocusTrap"),d=x.getActiveTrap(e),s=!1;d&&!d.paused&&(null===(r=d._setSubtreeIsolation)||void 0===r||r.call(d,!1),s=!0);try{c||h(),u.active=!0,u.paused=!1,u.nodeFocusedBeforeActivation=p(n),null==i||i({trap:t});var l=function(){c&&h();var o=function(){t._setSubtreeIsolation(!0),U(),null==a||a({trap:t})},r=B();r?r.then(o):o()};if(c)return c(u.containers.concat()).then(l,l),this;l()}catch(o){var f;throw d===x.getActiveTrap(e)&&s&&(null===(f=d._setSubtreeIsolation)||void 0===f||f.call(d,!0)),o}return this},deactivate:function(o){if(!u.active)return this;var r=m({onDeactivate:i.onDeactivate,onPostDeactivate:i.onPostDeactivate,checkCanReturnFocus:i.checkCanReturnFocus},o);clearTimeout(u.delayInitialFocusTimer),u.delayInitialFocusTimer=void 0,u.paused||t._setSubtreeIsolation(!1),u.alreadySilent.clear(),M(),u.active=!1,u.paused=!1,U(),x.deactivateTrap(e,t);var n=b(r,"onDeactivate"),a=b(r,"onPostDeactivate"),c=b(r,"checkCanReturnFocus"),d=b(r,"delayReturnFocus"),s=b(r,"returnFocus","returnFocusOnDeactivate");null==n||n({trap:t});var l=function(){s&&k(O(u.nodeFocusedBeforeActivation)),null==a||a({trap:t})},f=function(){d&&s?z(l):l()};return s&&c?(c(O(u.nodeFocusedBeforeActivation)).then(f,f),this):(f(),this)},pause:function(o){return u.active?(u.manuallyPaused=!0,this._setPausedState(!0,o)):this},unpause:function(o){return u.active?(u.manuallyPaused=!1,e[e.length-1]!==this?this:this._setPausedState(!1,o)):this},updateContainerElements:function(o){var r=[].concat(o).filter(Boolean);return u.containers=r.map((function(o){return"string"==typeof o?n.querySelector(o):o})),i.isolateSubtrees&&function(o){u.active&&!u.paused&&t._setSubtreeIsolation(!1),u.adjacentElements.clear(),u.alreadySilent.clear();var r,n=new Set,e=new Set,i=g(o);try{for(i.s();!(r=i.n()).done;){var a=r.value;n.add(a);for(var c="undefined"!=typeof ShadowRoot&&a.getRootNode()instanceof ShadowRoot,d=a;d;){n.add(d);var s=d.parentElement,l=[];s?l=s.children:!s&&c&&(l=d.getRootNode().children,s=d.getRootNode().host,c="undefined"!=typeof ShadowRoot&&s.getRootNode()instanceof ShadowRoot);var b,f=g(l);try{for(f.s();!(b=f.n()).done;)e.add(b.value)}catch(o){f.e(o)}finally{f.f()}d=s}}}catch(o){i.e(o)}finally{i.f()}n.forEach((function(o){e.delete(o)})),u.adjacentElements=e}(u.containers),u.active&&(h(),u.paused||t._setSubtreeIsolation(!0)),U(),this}},{_isManuallyPaused:{value:function(){return u.manuallyPaused}},_setPausedState:{value:function(o,r){if(u.paused===o)return this;if(u.paused=o,o){var n=b(r,"onPause"),e=b(r,"onPostPause");null==n||n({trap:t}),M(),t._setSubtreeIsolation(!1),U(),null==e||e({trap:t})}else{var i=b(r,"onUnpause"),a=b(r,"onPostUnpause");null==i||i({trap:t}),function(){h();var o=function(){t._setSubtreeIsolation(!0),U(),null==a||a({trap:t})},r=B();r?r.then(o):o()}()}return this}},_setSubtreeIsolation:{value:function(o){i.isolateSubtrees&&u.adjacentElements.forEach((function(r){var t;o?"aria-hidden"===i.isolateSubtrees?("true"!==r.ariaHidden&&"true"!==(null===(t=r.getAttribute("aria-hidden"))||void 0===t?void 0:t.toLowerCase())||u.alreadySilent.add(r),r.setAttribute("aria-hidden","true")):((r.inert||r.hasAttribute("inert"))&&u.alreadySilent.add(r),r.setAttribute("inert",!0)):u.alreadySilent.has(r)||r.removeAttribute("aria-hidden"===i.isolateSubtrees?"aria-hidden":"inert")}))}}}),t.updateContainerElements(o),t};const D=o(class extends r{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.dsoChange=t(this,"dsoChange",3),this.dsoRedirect=t(this,"dsoRedirect",3),this.options=[],this.open=!1,this.toggleOpen=()=>{this.open=!this.open},this.handleOptionClick=(o,r)=>{this.dsoChange.emit({originalEvent:o,option:r}),this.open=!1},this.handleRedirectClick=(o,r)=>{this.dsoRedirect.emit({originalEvent:o,isModifiedEvent:u(o),redirect:r}),this.open=!1}}keyDownListener(o){this.open&&"ArrowUp"===o.key?(o.preventDefault(),this.handleTab(-1)):this.open&&"ArrowDown"===o.key&&(o.preventDefault(),this.handleTab(1))}componentDidRender(){this.open&&!this.trap?this.createTrap():!this.open&&this.trap&&this.removeTrap()}createTrap(){this.trap=O(this.host,{clickOutsideDeactivates:!0,escapeDeactivates:!0,setReturnFocus:this.toggleButtonElementRef,tabbableOptions:{getShadowRoot:!0},onDeactivate:()=>{this.open=!1}}).activate()}removeTrap(){this.trap?.deactivate(),delete this.trap}handleTab(o){const r=this.host.isConnected?a(this.host,{getShadowRoot:!0}):[];let t=r.findIndex((o=>o===this.host.shadowRoot?.activeElement))+o;t>=r.length?t=0:t<0&&(t=r.length-1),r[t]?.focus()}render(){const o=this.open?"caret-up":"caret-down";return n("div",{key:"caa960271b7eb724eedf59a6ecc3963d0edd44a7",class:"advanced-select"},n("div",{key:"ee68b2509312c5069a1efa48340b41420b815900",class:"advanced-select-button"},n("button",{key:"fcf9ad0e9f20869b4f023054b8a0d5c85120ce4b","aria-expanded":""+this.open,class:i(["active-option",{open:this.open}]),type:"button",onClick:this.toggleOpen,ref:o=>this.toggleButtonElementRef=o},n(P,{key:"1fa22990b25898c3efb0e30f37f1be77b521a7c6",active:this.active,options:this.options}),n("span",{key:"ecd6a91ab2508d20beb307a1455199cf2639311f",class:"active-option-label"},this.active?.label??"Selecteer een optie"),n("span",{key:"f9614e4abb3d443df8460a05e65177da03eb5aa9",class:"active-option-aside"},n("dso-icon",{key:"3ce4f7aa4468e2697c5a4a51ba59bc6f50dffb09",icon:o,"aria-hidden":"true"}))),this.open&&n("div",{key:"9ef3f404c54ae68f8ecdfa583c1e1f5e6043473c",class:"groups-container"},n("ul",{key:"2060f56e121dc676f80e5fb421f7417c57f69c89",class:"groups"},this.options.map((o=>"options"in o&&n("li",{class:i(["group",{["group-"+o.variant]:!!o.variant}])},n("p",{class:"group-label"},o.label),n("ul",{class:"options"},o.options.map((r=>n("li",null,n(A,{option:r,active:this.active,activeHint:this.activeHint,callback:this.handleOptionClick,variant:o.variant}))))),o.redirect&&n(R,{redirect:o.redirect,callback:this.handleRedirectClick}))||"placeholder"in o&&n("li",{class:"group"},n("p",{class:"group-label"},o.label),n("p",{class:"placeholder"},o.placeholder),o.redirect&&n(R,{redirect:o.redirect,callback:this.handleRedirectClick}))||n("li",null,n(A,{option:o,active:this.active,activeHint:this.activeHint,callback:this.handleOptionClick}))))))),this.options.some((o=>"summaryCounter"in o&&o?.summaryCounter))&&n("span",{key:"9d376f04f707c29a7e094b760aacd117cf0a2d39",class:"badges"},this.options.filter((o=>"options"in o&&"summaryCounter"in o&&!!o?.summaryCounter)).map((o=>n("dso-badge",{status:o.variant??"outline",label:o.badgeLabel??"Toon toelichting voor "+o.label.toLowerCase()},o.options.length,n("div",{slot:"toggletip"},o.toggletip))))))}static get delegatesFocus(){return!0}get host(){return this}static get style(){return":host{display:block}*,*::after,*::before{box-sizing:border-box}.advanced-select{display:flex;flex-direction:row}.advanced-select-button{flex:1;min-inline-size:0}.active-option{color:inherit;display:flex;inline-size:100%;justify-content:flex-start;align-items:center;padding:0;border:1px solid #275937;border-radius:4px;cursor:pointer;background-color:#fff;line-height:inherit;font-family:inherit;font-size:inherit;letter-spacing:inherit}.active-option.open{border-radius:4px 4px 0 0}.active-option dso-icon{color:#275937}.active-option dso-label{margin-inline-start:8px}.active-option-label{line-height:1;padding-block:12px;padding-inline:8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.active-option-aside{padding-inline:8px;margin-inline-start:auto}.badges{display:flex;justify-content:space-between;align-items:center;gap:4px;padding-inline-start:8px}.groups-container{position:relative;z-index:200}.groups{position:absolute;inset-block-start:-1px;inset-inline-start:0;inline-size:100%;max-block-size:500px;margin:0;padding:0;overflow-y:auto;background-color:#fff;border:1px solid #275937;border-radius:0 0 4px 4px}.groups li::marker{display:none}.group{border-block-end:1px solid #ccc}.group:last-child{border-block-end:none}.group-label{margin:0;padding-block:4px;padding-inline:16px;color:#666;font-size:0.875rem;font-weight:600}.group-link{display:block;padding-block:8px;padding-inline:4px;text-align:end;color:#39870c;text-decoration:none}.group-link:hover,.group-link:focus{text-decoration:underline}.group-link dso-icon{color:#39870c}.group-info .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-zwart);--_dso-link-extern-icon:var(--_dso-di-external-link-zwart);--_dso-link-phone-icon:var(--_dso-di-call-zwart);--_dso-link-mail-icon:var(--_dso-di-mail-outline-zwart);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-zwart);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:#1f472c;--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:#275937;--_dso-icon-button-secondary-toggled-hover-background-color:#1b3e27;--_dso-icon-button-tertiary-color:#191919;--_dso-icon-button-tertiary-hover-color:#4c4c4c;--_dso-icon-button-tertiary-active-color:#1f472c;--_dso-icon-button-tertiary-toggled-color:#275937;--_dso-icon-button-tertiary-toggled-hover-color:#1b3e27;--_dso-icon-button-tertiary-disabled-color:#999;--_dso-button-tertiary-download-icon:var(--_dso-di-download-zwart);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-zwart);--_dso-button-tertiary-color:#191919;--_dso-button-tertiary-hover-color:#4c4c4c;--_dso-button-tertiary-active-color:#173521;--_dso-button-tertiary-disabled-color:#999;background-color:#6ca4d9;color:#191919}.group-primary .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-wit);--_dso-link-extern-icon:var(--_dso-di-external-link-wit);--_dso-link-phone-icon:var(--_dso-di-call-wit);--_dso-link-mail-icon:var(--_dso-di-mail-outline-wit);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-wit);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:rgba(255, 255, 255, 0.2);--_dso-icon-button-secondary-toggled-hover-background-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-color:#f2f2f2;--_dso-icon-button-tertiary-hover-color:#fff;--_dso-icon-button-tertiary-active-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-tertiary-toggled-color:#fff;--_dso-icon-button-tertiary-toggled-hover-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-disabled-color:#b2b2b2;--_dso-button-tertiary-download-icon:var(--_dso-di-download-wit);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-wit);--_dso-button-primary-background-color:#fff;--_dso-button-primary-hover-background-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-background-color:#f2f2f2;--_dso-button-primary-disabled-background-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-border-color:#fff;--_dso-button-primary-hover-border-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-border-color:#f2f2f2;--_dso-button-primary-disabled-border-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-color:#191919;--_dso-button-primary-hover-color:#191919;--_dso-button-primary-active-color:#191919;--_dso-button-primary-disabled-color:#666;--_dso-button-secondary-background-color:none;--_dso-button-secondary-hover-background-color:rgba(255, 255, 255, 0.2);--_dso-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-background-color:none;--_dso-button-secondary-border-color:#fff;--_dso-button-secondary-hover-border-color:#fff;--_dso-button-secondary-active-border-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-border-color:rgba(255, 255, 255, 0.7);--_dso-button-secondary-color:#fff;--_dso-button-secondary-hover-color:#fff;--_dso-button-secondary-active-color:#fff;--_dso-button-secondary-disabled-color:rgba(255, 255, 255, 0.7);--_dso-button-tertiary-color:#fff;--_dso-button-tertiary-hover-color:#fff;--_dso-button-tertiary-active-color:#fff;--_dso-button-tertiary-disabled-color:#b2b2b2;background-color:#275937;color:#fff}.group-success .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-wit);--_dso-link-extern-icon:var(--_dso-di-external-link-wit);--_dso-link-phone-icon:var(--_dso-di-call-wit);--_dso-link-mail-icon:var(--_dso-di-mail-outline-wit);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-wit);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:rgba(255, 255, 255, 0.2);--_dso-icon-button-secondary-toggled-hover-background-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-color:#f2f2f2;--_dso-icon-button-tertiary-hover-color:#fff;--_dso-icon-button-tertiary-active-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-tertiary-toggled-color:#fff;--_dso-icon-button-tertiary-toggled-hover-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-disabled-color:#b2b2b2;--_dso-button-tertiary-download-icon:var(--_dso-di-download-wit);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-wit);--_dso-button-primary-background-color:#fff;--_dso-button-primary-hover-background-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-background-color:#f2f2f2;--_dso-button-primary-disabled-background-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-border-color:#fff;--_dso-button-primary-hover-border-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-border-color:#f2f2f2;--_dso-button-primary-disabled-border-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-color:#191919;--_dso-button-primary-hover-color:#191919;--_dso-button-primary-active-color:#191919;--_dso-button-primary-disabled-color:#666;--_dso-button-secondary-background-color:none;--_dso-button-secondary-hover-background-color:rgba(255, 255, 255, 0.2);--_dso-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-background-color:none;--_dso-button-secondary-border-color:#fff;--_dso-button-secondary-hover-border-color:#fff;--_dso-button-secondary-active-border-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-border-color:rgba(255, 255, 255, 0.7);--_dso-button-secondary-color:#fff;--_dso-button-secondary-hover-color:#fff;--_dso-button-secondary-active-color:#fff;--_dso-button-secondary-disabled-color:rgba(255, 255, 255, 0.7);--_dso-button-tertiary-color:#fff;--_dso-button-tertiary-hover-color:#fff;--_dso-button-tertiary-active-color:#fff;--_dso-button-tertiary-disabled-color:#b2b2b2;background-color:#39870c;color:#fff}.group-warning .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-zwart);--_dso-link-extern-icon:var(--_dso-di-external-link-zwart);--_dso-link-phone-icon:var(--_dso-di-call-zwart);--_dso-link-mail-icon:var(--_dso-di-mail-outline-zwart);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-zwart);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:#1f472c;--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:#275937;--_dso-icon-button-secondary-toggled-hover-background-color:#1b3e27;--_dso-icon-button-tertiary-color:#191919;--_dso-icon-button-tertiary-hover-color:#4c4c4c;--_dso-icon-button-tertiary-active-color:#1f472c;--_dso-icon-button-tertiary-toggled-color:#275937;--_dso-icon-button-tertiary-toggled-hover-color:#1b3e27;--_dso-icon-button-tertiary-disabled-color:#999;--_dso-button-tertiary-download-icon:var(--_dso-di-download-zwart);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-zwart);--_dso-button-tertiary-color:#191919;--_dso-button-tertiary-hover-color:#4c4c4c;--_dso-button-tertiary-active-color:#173521;--_dso-button-tertiary-disabled-color:#999;background-color:#dcd400;color:#191919}.group-error .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-wit);--_dso-link-extern-icon:var(--_dso-di-external-link-wit);--_dso-link-phone-icon:var(--_dso-di-call-wit);--_dso-link-mail-icon:var(--_dso-di-mail-outline-wit);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-wit);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:rgba(255, 255, 255, 0.2);--_dso-icon-button-secondary-toggled-hover-background-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-color:#f2f2f2;--_dso-icon-button-tertiary-hover-color:#fff;--_dso-icon-button-tertiary-active-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-tertiary-toggled-color:#fff;--_dso-icon-button-tertiary-toggled-hover-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-disabled-color:#b2b2b2;--_dso-button-tertiary-download-icon:var(--_dso-di-download-wit);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-wit);--_dso-button-primary-background-color:#fff;--_dso-button-primary-hover-background-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-background-color:#f2f2f2;--_dso-button-primary-disabled-background-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-border-color:#fff;--_dso-button-primary-hover-border-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-border-color:#f2f2f2;--_dso-button-primary-disabled-border-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-color:#191919;--_dso-button-primary-hover-color:#191919;--_dso-button-primary-active-color:#191919;--_dso-button-primary-disabled-color:#666;--_dso-button-secondary-background-color:none;--_dso-button-secondary-hover-background-color:rgba(255, 255, 255, 0.2);--_dso-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-background-color:none;--_dso-button-secondary-border-color:#fff;--_dso-button-secondary-hover-border-color:#fff;--_dso-button-secondary-active-border-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-border-color:rgba(255, 255, 255, 0.7);--_dso-button-secondary-color:#fff;--_dso-button-secondary-hover-color:#fff;--_dso-button-secondary-active-color:#fff;--_dso-button-secondary-disabled-color:rgba(255, 255, 255, 0.7);--_dso-button-tertiary-color:#fff;--_dso-button-tertiary-hover-color:#fff;--_dso-button-tertiary-active-color:#fff;--_dso-button-tertiary-disabled-color:#b2b2b2;background-color:#ce3f51;color:#fff}.group-attention .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-wit);--_dso-link-extern-icon:var(--_dso-di-external-link-wit);--_dso-link-phone-icon:var(--_dso-di-call-wit);--_dso-link-mail-icon:var(--_dso-di-mail-outline-wit);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-wit);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:rgba(255, 255, 255, 0.2);--_dso-icon-button-secondary-toggled-hover-background-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-color:#f2f2f2;--_dso-icon-button-tertiary-hover-color:#fff;--_dso-icon-button-tertiary-active-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-tertiary-toggled-color:#fff;--_dso-icon-button-tertiary-toggled-hover-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-disabled-color:#b2b2b2;--_dso-button-tertiary-download-icon:var(--_dso-di-download-wit);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-wit);--_dso-button-primary-background-color:#fff;--_dso-button-primary-hover-background-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-background-color:#f2f2f2;--_dso-button-primary-disabled-background-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-border-color:#fff;--_dso-button-primary-hover-border-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-border-color:#f2f2f2;--_dso-button-primary-disabled-border-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-color:#191919;--_dso-button-primary-hover-color:#191919;--_dso-button-primary-active-color:#191919;--_dso-button-primary-disabled-color:#666;--_dso-button-secondary-background-color:none;--_dso-button-secondary-hover-background-color:rgba(255, 255, 255, 0.2);--_dso-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-background-color:none;--_dso-button-secondary-border-color:#fff;--_dso-button-secondary-hover-border-color:#fff;--_dso-button-secondary-active-border-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-border-color:rgba(255, 255, 255, 0.7);--_dso-button-secondary-color:#fff;--_dso-button-secondary-hover-color:#fff;--_dso-button-secondary-active-color:#fff;--_dso-button-secondary-disabled-color:rgba(255, 255, 255, 0.7);--_dso-button-tertiary-color:#fff;--_dso-button-tertiary-hover-color:#fff;--_dso-button-tertiary-active-color:#fff;--_dso-button-tertiary-disabled-color:#b2b2b2;background-color:#8b4a6a;color:#fff}.options{margin:0;padding:0}.option{display:flex;align-items:center;gap:8px;inline-size:100%;padding-block:8px;padding-inline:16px;cursor:pointer;line-height:inherit;font-family:inherit;font-size:inherit;letter-spacing:inherit;border:none;text-align:start;background-color:#fff}.option dso-icon{flex-shrink:0}.option.option-active,.option.option-active:hover,.option.option-active:focus{background-color:#275937}.option.option-active .option-label,.option.option-active dso-icon,.option.option-active:hover .option-label,.option.option-active:hover dso-icon,.option.option-active:focus .option-label,.option.option-active:focus dso-icon{color:#fff;font-weight:600}.option:hover,.option:focus{background-color:#ebf3e6}.option-label{position:relative;color:#191919}.option-hint{padding-inline-start:5px;color:#fff;font-weight:600}.placeholder{margin:0;padding-block:8px;padding-inline:16px;color:#666}"}},[17,"dso-advanced-select",{options:[16],active:[16],activeHint:[1,"active-hint"],open:[32]},[[8,"keydown","keyDownListener"]]]),A=({option:o,active:r,activeHint:t,callback:e,variant:a})=>{const c="success"===a?"document":"warning"===a?"document-pencil":"hammer";return n("button",{class:i(["option",{"option-active":r===o}]),type:"button",onClick:r=>e(r,o)},n("dso-icon",{icon:c,"aria-hidden":"true"}),n("span",{class:"option-label"},o.label," ",!!t&&r===o&&n("span",{class:"option-hint"},"(",t,")")))},R=({redirect:o,callback:r})=>n("a",{class:"group-link",href:o.href,onClick:t=>r(t,o)},o.label,n("dso-icon",{icon:"chevron-right","aria-hidden":"true"})),P=({active:o,options:r})=>{const t=r.find((r=>"options"in r&&!!r.options.find((r=>r===o))&&!!r.activeLabel));return t&&n("dso-label",{compact:!0,status:t.variant},t.activeLabel)},I=D,N=function(){"undefined"!=typeof customElements&&["dso-advanced-select","dso-badge","dso-icon","dso-icon-button","dso-label","dso-scrollable"].forEach((o=>{switch(o){case"dso-advanced-select":customElements.get(e(o))||customElements.define(e(o),D);break;case"dso-badge":customElements.get(e(o))||b();break;case"dso-icon":customElements.get(e(o))||f();break;case"dso-icon-button":customElements.get(e(o))||v();break;case"dso-label":customElements.get(e(o))||p();break;case"dso-scrollable":customElements.get(e(o))||_()}}))};export{I as DsoAdvancedSelect,N as defineCustomElement}
5
+ */function y(o,r){(null==r||r>o.length)&&(r=o.length);for(var t=0,n=Array(r);t<r;t++)n[t]=o[t];return n}function g(o,r){var t="undefined"!=typeof Symbol&&o[Symbol.iterator]||o["@@iterator"];if(!t){if(Array.isArray(o)||(t=w(o))||r){t&&(o=t);var n=0,e=function(){};return{s:e,n:function(){return n>=o.length?{done:!0}:{done:!1,value:o[n++]}},e:function(o){throw o},f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,c=!1;return{s:function(){t=t.call(o)},n:function(){var o=t.next();return a=o.done,o},e:function(o){c=!0,i=o},f:function(){try{a||null==t.return||t.return()}finally{if(c)throw i}}}}function h(o,r,t){return(r=function(o){var r=function(o,r){if("object"!=typeof o||!o)return o;var t=o[Symbol.toPrimitive];if(void 0!==t){var n=t.call(o,r);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return o+""}(o,"string");return"symbol"==typeof r?r:r+""}(r))in o?Object.defineProperty(o,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):o[r]=t,o}function k(o,r){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(o);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(o,r).enumerable}))),t.push.apply(t,n)}return t}function m(o){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?k(Object(t),!0).forEach((function(r){h(o,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(t)):k(Object(t)).forEach((function(r){Object.defineProperty(o,r,Object.getOwnPropertyDescriptor(t,r))}))}return o}function w(o,r){if(o){if("string"==typeof o)return y(o,r);var t={}.toString.call(o).slice(8,-1);return"Object"===t&&o.constructor&&(t=o.constructor.name),"Map"===t||"Set"===t?Array.from(o):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?y(o,r):void 0}}var x={getActiveTrap:function(o){return(null==o?void 0:o.length)>0?o[o.length-1]:null},activateTrap:function(o,r){r!==x.getActiveTrap(o)&&x.pauseTrap(o);var t=o.indexOf(r);-1===t||o.splice(t,1),o.push(r)},deactivateTrap:function(o,r){var t=o.indexOf(r);-1!==t&&o.splice(t,1),x.unpauseTrap(o)},pauseTrap:function(o){var r=x.getActiveTrap(o);null==r||r._setPausedState(!0)},unpauseTrap:function(o){var r=x.getActiveTrap(o);r&&!r._isManuallyPaused()&&r._setPausedState(!1)}},j=function(o){return"Tab"===(null==o?void 0:o.key)||9===(null==o?void 0:o.keyCode)},C=function(o){return j(o)&&!o.shiftKey},E=function(o){return j(o)&&o.shiftKey},z=function(o){return setTimeout(o,0)},F=function(o){for(var r=arguments.length,t=Array(r>1?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];return"function"==typeof o?o.apply(void 0,t):o},S=function(o){return o.target.shadowRoot&&"function"==typeof o.composedPath?o.composedPath()[0]:o.target},T=[],O=function(o,r){var t,n=(null==r?void 0:r.document)||document,e=(null==r?void 0:r.trapStack)||T,i=m({returnFocusOnDeactivate:!0,escapeDeactivates:!0,delayInitialFocus:!0,delayReturnFocus:!0,isolateSubtrees:!1,isKeyForward:C,isKeyBackward:E},r),u={containers:[],containerGroups:[],tabbableGroups:[],adjacentElements:new Set,alreadySilent:new Set,nodeFocusedBeforeActivation:null,mostRecentlyFocusedNode:null,active:!1,paused:!1,manuallyPaused:!1,delayInitialFocusTimer:void 0,recentNavEvent:void 0},b=function(o,r,t){return o&&void 0!==o[r]?o[r]:i[t||r]},f=function(o,r){var t="function"==typeof(null==r?void 0:r.composedPath)?r.composedPath():void 0;return u.containerGroups.findIndex((function(r){var n=r.container,e=r.tabbableNodes;return n.contains(o)||(null==t?void 0:t.includes(n))||e.find((function(r){return r===o}))}))},v=function(o){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=r.hasFallback,e=void 0!==t&&t,a=r.params,c=i[o];if("function"==typeof c&&(c=c.apply(void 0,function(o){return function(o){if(Array.isArray(o))return y(o)}(o)||function(o){if("undefined"!=typeof Symbol&&null!=o[Symbol.iterator]||null!=o["@@iterator"])return Array.from(o)}(o)||w(o)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(void 0===a?[]:a))),!0===c&&(c=void 0),!c){if(void 0===c||!1===c)return c;throw Error("`".concat(o,"` was specified but was not a node, or did not return a node"))}var d=c;if("string"==typeof c){try{d=n.querySelector(c)}catch(r){throw Error("`".concat(o,'` appears to be an invalid selector; error="').concat(r.message,'"'))}if(!d&&!e)throw Error("`".concat(o,"` as selector refers to no known node"))}return d},p=function(o){var r=o.activeElement;return r?r.shadowRoot&&null!==r.shadowRoot.activeElement?p(r.shadowRoot):r:null},_=function(){var o=v("initialFocus",{hasFallback:!0});if(!1===o)return!1;if(void 0===o||o&&!l(o,i.tabbableOptions)){var r=p(n);if(f(r)>=0)o=r;else{var t=u.tabbableGroups[0];o=t&&t.firstTabbableNode||v("fallbackFocus")}}else null===o&&(o=v("fallbackFocus"));if(!o)throw Error("Your focus-trap needs to have at least one focusable element");return o},h=function(){if(u.containerGroups=u.containers.map((function(o){var r=a(o,i.tabbableOptions),t=c(o,i.tabbableOptions),n=r.length>0?r[0]:void 0,e=r.length>0?r[r.length-1]:void 0,l=t.find((function(o){return d(o)})),u=t.slice().reverse().find((function(o){return d(o)})),b=!!r.find((function(o){return s(o)>0}));return{container:o,tabbableNodes:r,focusableNodes:t,posTabIndexesFound:b,firstTabbableNode:n,lastTabbableNode:e,firstDomTabbableNode:l,lastDomTabbableNode:u,nextTabbableNode:function(o){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],e=r.indexOf(o);return e<0?n?t.slice(t.indexOf(o)+1).find((function(o){return d(o)})):t.slice(0,t.indexOf(o)).reverse().find((function(o){return d(o)})):r[e+(n?1:-1)]}}})),u.tabbableGroups=u.containerGroups.filter((function(o){return o.tabbableNodes.length>0})),u.tabbableGroups.length<=0&&!v("fallbackFocus"))throw Error("Your focus-trap must have at least one container with at least one tabbable node in it at all times");if(u.containerGroups.find((function(o){return o.posTabIndexesFound}))&&u.containerGroups.length>1)throw Error("At least one node with a positive tabindex was found in one of your focus-trap's multiple containers. Positive tabindexes are only supported in single-container focus-traps.")},k=function(o){!1!==o&&o!==p(document)&&(o&&o.focus?(o.focus({preventScroll:!!i.preventScroll}),u.mostRecentlyFocusedNode=o,function(o){return o.tagName&&"input"===o.tagName.toLowerCase()&&"function"==typeof o.select}(o)&&o.select()):k(_()))},O=function(o){var r=v("setReturnFocus",{params:[o]});return r||!1!==r&&o},D=function(o){var r=o.target,t=o.event,n=o.isBackward,e=void 0!==n&&n;r=r||S(t),h();var a=null;if(u.tabbableGroups.length>0){var c=f(r,t),b=c>=0?u.containerGroups[c]:void 0;if(c<0)a=e?u.tabbableGroups[u.tabbableGroups.length-1].lastTabbableNode:u.tabbableGroups[0].firstTabbableNode;else if(e){var p=u.tabbableGroups.findIndex((function(o){return r===o.firstTabbableNode}));if(p<0&&(b.container===r||l(r,i.tabbableOptions)&&!d(r,i.tabbableOptions)&&!b.nextTabbableNode(r,!1))&&(p=c),p>=0){var _=u.tabbableGroups[0===p?u.tabbableGroups.length-1:p-1];a=s(r)>=0?_.lastTabbableNode:_.lastDomTabbableNode}else j(t)||(a=b.nextTabbableNode(r,!1))}else{var y=u.tabbableGroups.findIndex((function(o){return r===o.lastTabbableNode}));if(y<0&&(b.container===r||l(r,i.tabbableOptions)&&!d(r,i.tabbableOptions)&&!b.nextTabbableNode(r))&&(y=c),y>=0){var g=u.tabbableGroups[y===u.tabbableGroups.length-1?0:y+1];a=s(r)>=0?g.firstTabbableNode:g.firstDomTabbableNode}else j(t)||(a=b.nextTabbableNode(r))}}else a=v("fallbackFocus");return a},A=function(o){var r=S(o);f(r,o)>=0||(F(i.clickOutsideDeactivates,o)?t.deactivate({returnFocus:i.returnFocusOnDeactivate}):F(i.allowOutsideClick,o)||o.preventDefault())},R=function(o){var r=S(o),t=f(r,o)>=0;if(t||r instanceof Document)t&&(u.mostRecentlyFocusedNode=r);else{var n;o.stopImmediatePropagation();var e=!0;if(u.mostRecentlyFocusedNode)if(s(u.mostRecentlyFocusedNode)>0){var a=f(u.mostRecentlyFocusedNode),c=u.containerGroups[a].tabbableNodes;if(c.length>0){var d=c.findIndex((function(o){return o===u.mostRecentlyFocusedNode}));d>=0&&(i.isKeyForward(u.recentNavEvent)?d+1<c.length&&(n=c[d+1],e=!1):d-1>=0&&(n=c[d-1],e=!1))}}else u.containerGroups.some((function(o){return o.tabbableNodes.some((function(o){return s(o)>0}))}))||(e=!1);else e=!1;e&&(n=D({target:u.mostRecentlyFocusedNode,isBackward:i.isKeyBackward(u.recentNavEvent)})),k(n||u.mostRecentlyFocusedNode||_())}u.recentNavEvent=void 0},P=function(o){(i.isKeyForward(o)||i.isKeyBackward(o))&&function(o){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];u.recentNavEvent=o;var t=D({event:o,isBackward:r});t&&(j(o)&&o.preventDefault(),k(t))}(o,i.isKeyBackward(o))},I=function(o){(function(o){return"Escape"===(null==o?void 0:o.key)||"Esc"===(null==o?void 0:o.key)||27===(null==o?void 0:o.keyCode)})(o)&&!1!==F(i.escapeDeactivates,o)&&(o.preventDefault(),t.deactivate())},N=function(o){var r=S(o);f(r,o)>=0||F(i.clickOutsideDeactivates,o)||F(i.allowOutsideClick,o)||(o.preventDefault(),o.stopImmediatePropagation())},B=function(){var o;if(u.active)return x.activateTrap(e,t),i.delayInitialFocus?o=new Promise((function(o){u.delayInitialFocusTimer=z((function(){k(_()),o()}))})):k(_()),n.addEventListener("focusin",R,!0),n.addEventListener("mousedown",A,{capture:!0,passive:!1}),n.addEventListener("touchstart",A,{capture:!0,passive:!1}),n.addEventListener("click",N,{capture:!0,passive:!1}),n.addEventListener("keydown",P,{capture:!0,passive:!1}),n.addEventListener("keydown",I),o},M=function(){if(u.active)return n.removeEventListener("focusin",R,!0),n.removeEventListener("mousedown",A,!0),n.removeEventListener("touchstart",A,!0),n.removeEventListener("click",N,!0),n.removeEventListener("keydown",P,!0),n.removeEventListener("keydown",I),t},H="undefined"!=typeof window&&"MutationObserver"in window?new MutationObserver((function(o){var r=u.mostRecentlyFocusedNode;if(r&&o.some((function(o){return Array.from(o.removedNodes).some((function(o){return o===r||"function"==typeof o.contains&&o.contains(r)}))}))&&u.containers.some((function(o){return null==o?void 0:o.isConnected}))){h();var t=_();k(t)}})):void 0,U=function(){H&&(H.disconnect(),u.active&&!u.paused&&u.containers.map((function(o){H.observe(o,{subtree:!0,childList:!0})})))};return Object.defineProperties(t={get active(){return u.active},get paused(){return u.paused},activate:function(o){if(u.active)return this;var r,i=b(o,"onActivate"),a=b(o,"onPostActivate"),c=b(o,"checkCanFocusTrap"),d=x.getActiveTrap(e),s=!1;d&&!d.paused&&(null===(r=d._setSubtreeIsolation)||void 0===r||r.call(d,!1),s=!0);try{c||h(),u.active=!0,u.paused=!1,u.nodeFocusedBeforeActivation=p(n),null==i||i({trap:t});var l=function(){c&&h();var o=function(){t._setSubtreeIsolation(!0),U(),null==a||a({trap:t})},r=B();r?r.then(o):o()};if(c)return c(u.containers.concat()).then(l,l),this;l()}catch(o){var f;throw d===x.getActiveTrap(e)&&s&&(null===(f=d._setSubtreeIsolation)||void 0===f||f.call(d,!0)),o}return this},deactivate:function(o){if(!u.active)return this;var r=m({onDeactivate:i.onDeactivate,onPostDeactivate:i.onPostDeactivate,checkCanReturnFocus:i.checkCanReturnFocus},o);clearTimeout(u.delayInitialFocusTimer),u.delayInitialFocusTimer=void 0,u.paused||t._setSubtreeIsolation(!1),u.alreadySilent.clear(),M(),u.active=!1,u.paused=!1,U(),x.deactivateTrap(e,t);var n=b(r,"onDeactivate"),a=b(r,"onPostDeactivate"),c=b(r,"checkCanReturnFocus"),d=b(r,"delayReturnFocus"),s=b(r,"returnFocus","returnFocusOnDeactivate");null==n||n({trap:t});var l=function(){s&&k(O(u.nodeFocusedBeforeActivation)),null==a||a({trap:t})},f=function(){d&&s?z(l):l()};return s&&c?(c(O(u.nodeFocusedBeforeActivation)).then(f,f),this):(f(),this)},pause:function(o){return u.active?(u.manuallyPaused=!0,this._setPausedState(!0,o)):this},unpause:function(o){return u.active?(u.manuallyPaused=!1,e[e.length-1]!==this?this:this._setPausedState(!1,o)):this},updateContainerElements:function(o){var r=[].concat(o).filter(Boolean);return u.containers=r.map((function(o){return"string"==typeof o?n.querySelector(o):o})),i.isolateSubtrees&&function(o){u.active&&!u.paused&&t._setSubtreeIsolation(!1),u.adjacentElements.clear(),u.alreadySilent.clear();var r,n=new Set,e=new Set,i=g(o);try{for(i.s();!(r=i.n()).done;){var a=r.value;n.add(a);for(var c="undefined"!=typeof ShadowRoot&&a.getRootNode()instanceof ShadowRoot,d=a;d;){n.add(d);var s=d.parentElement,l=[];s?l=s.children:!s&&c&&(l=d.getRootNode().children,s=d.getRootNode().host,c="undefined"!=typeof ShadowRoot&&s.getRootNode()instanceof ShadowRoot);var b,f=g(l);try{for(f.s();!(b=f.n()).done;)e.add(b.value)}catch(o){f.e(o)}finally{f.f()}d=s}}}catch(o){i.e(o)}finally{i.f()}n.forEach((function(o){e.delete(o)})),u.adjacentElements=e}(u.containers),u.active&&(h(),u.paused||t._setSubtreeIsolation(!0)),U(),this}},{_isManuallyPaused:{value:function(){return u.manuallyPaused}},_setPausedState:{value:function(o,r){if(u.paused===o)return this;if(u.paused=o,o){var n=b(r,"onPause"),e=b(r,"onPostPause");null==n||n({trap:t}),M(),t._setSubtreeIsolation(!1),U(),null==e||e({trap:t})}else{var i=b(r,"onUnpause"),a=b(r,"onPostUnpause");null==i||i({trap:t}),function(){h();var o=function(){t._setSubtreeIsolation(!0),U(),null==a||a({trap:t})},r=B();r?r.then(o):o()}()}return this}},_setSubtreeIsolation:{value:function(o){i.isolateSubtrees&&u.adjacentElements.forEach((function(r){var t;o?"aria-hidden"===i.isolateSubtrees?("true"!==r.ariaHidden&&"true"!==(null===(t=r.getAttribute("aria-hidden"))||void 0===t?void 0:t.toLowerCase())||u.alreadySilent.add(r),r.setAttribute("aria-hidden","true")):((r.inert||r.hasAttribute("inert"))&&u.alreadySilent.add(r),r.setAttribute("inert",!0)):u.alreadySilent.has(r)||r.removeAttribute("aria-hidden"===i.isolateSubtrees?"aria-hidden":"inert")}))}}}),t.updateContainerElements(o),t};const D=o(class extends r{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.dsoChange=t(this,"dsoChange",3),this.dsoRedirect=t(this,"dsoRedirect",3),this.options=[],this.open=!1,this.toggleOpen=()=>{this.open=!this.open},this.handleOptionClick=(o,r)=>{this.dsoChange.emit({originalEvent:o,option:r}),this.open=!1},this.handleRedirectClick=(o,r)=>{this.dsoRedirect.emit({originalEvent:o,isModifiedEvent:u(o),redirect:r}),this.open=!1}}keyDownListener(o){this.open&&"ArrowUp"===o.key?(o.preventDefault(),this.handleTab(-1)):this.open&&"ArrowDown"===o.key&&(o.preventDefault(),this.handleTab(1))}componentDidRender(){this.open&&!this.trap?this.createTrap():!this.open&&this.trap&&this.removeTrap()}createTrap(){this.trap=O(this.host,{clickOutsideDeactivates:!0,escapeDeactivates:!0,setReturnFocus:this.toggleButtonElementRef,tabbableOptions:{getShadowRoot:!0},onDeactivate:()=>{this.open=!1}}).activate()}removeTrap(){this.trap?.deactivate(),delete this.trap}handleTab(o){const r=this.host.isConnected?a(this.host,{getShadowRoot:!0}):[];let t=r.findIndex((o=>o===this.host.shadowRoot?.activeElement))+o;t>=r.length?t=0:t<0&&(t=r.length-1),r[t]?.focus()}render(){const o=this.open?"caret-up":"caret-down";return n("div",{key:"caa960271b7eb724eedf59a6ecc3963d0edd44a7",class:"advanced-select"},n("div",{key:"ee68b2509312c5069a1efa48340b41420b815900",class:"advanced-select-button"},n("button",{key:"fcf9ad0e9f20869b4f023054b8a0d5c85120ce4b","aria-expanded":""+this.open,class:i(["active-option",{open:this.open}]),type:"button",onClick:this.toggleOpen,ref:o=>this.toggleButtonElementRef=o},n("span",{key:"bfc430f8bbf04dd3b96b7899e7f6291a62b1bb9b",class:"active-option-label"},n(P,{key:"9cd3e3c60b0286c0d50a45f8d8de830c42728f33",active:this.active,options:this.options}),this.active?.label??"Selecteer een optie"),n("span",{key:"ef87672c65cd65e7a6a6ceb37b5c15e98c0bb58c",class:"active-option-aside"},n("dso-icon",{key:"0eb9b166c8894579d44e0d0a0787ceba75bd52c1",icon:o,"aria-hidden":"true"}))),this.open&&n("div",{key:"43fede22505062bd93adf933307eb76462293e2c",class:"groups-container"},n("ul",{key:"9f12aadfca802808c8e99181e6819a872f9f39e4",class:"groups"},this.options.map((o=>"options"in o&&n("li",{class:i(["group",{["group-"+o.variant]:!!o.variant}])},n("p",{class:"group-label"},o.label),n("ul",{class:"options"},o.options.map((r=>n("li",null,n(A,{option:r,active:this.active,activeHint:this.activeHint,callback:this.handleOptionClick,variant:o.variant}))))),o.redirect&&n(R,{redirect:o.redirect,callback:this.handleRedirectClick}))||"placeholder"in o&&n("li",{class:"group"},n("p",{class:"group-label"},o.label),n("p",{class:"placeholder"},o.placeholder),o.redirect&&n(R,{redirect:o.redirect,callback:this.handleRedirectClick}))||n("li",null,n(A,{option:o,active:this.active,activeHint:this.activeHint,callback:this.handleOptionClick}))))))),this.options.some((o=>"summaryCounter"in o&&o?.summaryCounter))&&n("span",{key:"fd9e7f96ab6bd4a79974991e6d51f208e7ea2346",class:"badges"},this.options.filter((o=>"options"in o&&"summaryCounter"in o&&!!o?.summaryCounter)).map((o=>n("dso-badge",{status:o.variant??"outline",label:o.badgeLabel??"Toon toelichting voor "+o.label.toLowerCase()},o.options.length,n("div",{slot:"toggletip"},o.toggletip))))))}static get delegatesFocus(){return!0}get host(){return this}static get style(){return":host{display:block}*,*::after,*::before{box-sizing:border-box}.advanced-select{display:flex;flex-direction:row}.advanced-select-button{flex:1;min-inline-size:0}.active-option{color:inherit;display:flex;inline-size:100%;justify-content:flex-start;align-items:center;padding:0;border:1px solid #275937;border-radius:4px;cursor:pointer;background-color:#fff;text-align:start;line-height:inherit;font-family:inherit;font-size:inherit;letter-spacing:inherit}.active-option.open{border-radius:4px 4px 0 0}.active-option dso-icon{color:#275937}@media (max-width: 480px){.active-option-label{hyphens:auto}}.active-option-label{line-height:1.5;padding-block:8px;padding-inline:8px}.active-option-label dso-label{margin-inline-end:8px}.active-option-aside{padding-inline:8px;margin-inline-start:auto}.badges{display:flex;justify-content:space-between;gap:4px;padding-block-start:8px;padding-inline-start:8px}.groups-container{position:relative;z-index:200}.groups{position:absolute;inset-block-start:-1px;inset-inline-start:0;inline-size:100%;max-block-size:500px;margin:0;padding:0;overflow-y:auto;background-color:#fff;border:1px solid #275937;border-radius:0 0 4px 4px}.groups li::marker{display:none}.group{border-block-end:1px solid #ccc}.group:last-child{border-block-end:none}.group-label{margin:0;padding-block:4px;padding-inline:16px;color:#666;font-size:0.875rem;font-weight:600}.group-link{display:block;padding-block:8px;padding-inline:4px;text-align:end;color:#39870c;text-decoration:none}.group-link:hover,.group-link:focus{text-decoration:underline}.group-link dso-icon{color:#39870c}.group-info .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-zwart);--_dso-link-extern-icon:var(--_dso-di-external-link-zwart);--_dso-link-phone-icon:var(--_dso-di-call-zwart);--_dso-link-mail-icon:var(--_dso-di-mail-outline-zwart);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-zwart);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:#1f472c;--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:#275937;--_dso-icon-button-secondary-toggled-hover-background-color:#1b3e27;--_dso-icon-button-tertiary-color:#191919;--_dso-icon-button-tertiary-hover-color:#4c4c4c;--_dso-icon-button-tertiary-active-color:#1f472c;--_dso-icon-button-tertiary-toggled-color:#275937;--_dso-icon-button-tertiary-toggled-hover-color:#1b3e27;--_dso-icon-button-tertiary-disabled-color:#999;--_dso-button-tertiary-download-icon:var(--_dso-di-download-zwart);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-zwart);--_dso-button-tertiary-color:#191919;--_dso-button-tertiary-hover-color:#4c4c4c;--_dso-button-tertiary-active-color:#173521;--_dso-button-tertiary-disabled-color:#999;background-color:#6ca4d9;color:#191919}.group-primary .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-wit);--_dso-link-extern-icon:var(--_dso-di-external-link-wit);--_dso-link-phone-icon:var(--_dso-di-call-wit);--_dso-link-mail-icon:var(--_dso-di-mail-outline-wit);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-wit);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:rgba(255, 255, 255, 0.2);--_dso-icon-button-secondary-toggled-hover-background-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-color:#f2f2f2;--_dso-icon-button-tertiary-hover-color:#fff;--_dso-icon-button-tertiary-active-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-tertiary-toggled-color:#fff;--_dso-icon-button-tertiary-toggled-hover-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-disabled-color:#b2b2b2;--_dso-button-tertiary-download-icon:var(--_dso-di-download-wit);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-wit);--_dso-button-primary-background-color:#fff;--_dso-button-primary-hover-background-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-background-color:#f2f2f2;--_dso-button-primary-disabled-background-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-border-color:#fff;--_dso-button-primary-hover-border-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-border-color:#f2f2f2;--_dso-button-primary-disabled-border-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-color:#191919;--_dso-button-primary-hover-color:#191919;--_dso-button-primary-active-color:#191919;--_dso-button-primary-disabled-color:#666;--_dso-button-secondary-background-color:none;--_dso-button-secondary-hover-background-color:rgba(255, 255, 255, 0.2);--_dso-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-background-color:none;--_dso-button-secondary-border-color:#fff;--_dso-button-secondary-hover-border-color:#fff;--_dso-button-secondary-active-border-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-border-color:rgba(255, 255, 255, 0.7);--_dso-button-secondary-color:#fff;--_dso-button-secondary-hover-color:#fff;--_dso-button-secondary-active-color:#fff;--_dso-button-secondary-disabled-color:rgba(255, 255, 255, 0.7);--_dso-button-tertiary-color:#fff;--_dso-button-tertiary-hover-color:#fff;--_dso-button-tertiary-active-color:#fff;--_dso-button-tertiary-disabled-color:#b2b2b2;background-color:#275937;color:#fff}.group-success .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-wit);--_dso-link-extern-icon:var(--_dso-di-external-link-wit);--_dso-link-phone-icon:var(--_dso-di-call-wit);--_dso-link-mail-icon:var(--_dso-di-mail-outline-wit);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-wit);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:rgba(255, 255, 255, 0.2);--_dso-icon-button-secondary-toggled-hover-background-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-color:#f2f2f2;--_dso-icon-button-tertiary-hover-color:#fff;--_dso-icon-button-tertiary-active-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-tertiary-toggled-color:#fff;--_dso-icon-button-tertiary-toggled-hover-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-disabled-color:#b2b2b2;--_dso-button-tertiary-download-icon:var(--_dso-di-download-wit);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-wit);--_dso-button-primary-background-color:#fff;--_dso-button-primary-hover-background-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-background-color:#f2f2f2;--_dso-button-primary-disabled-background-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-border-color:#fff;--_dso-button-primary-hover-border-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-border-color:#f2f2f2;--_dso-button-primary-disabled-border-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-color:#191919;--_dso-button-primary-hover-color:#191919;--_dso-button-primary-active-color:#191919;--_dso-button-primary-disabled-color:#666;--_dso-button-secondary-background-color:none;--_dso-button-secondary-hover-background-color:rgba(255, 255, 255, 0.2);--_dso-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-background-color:none;--_dso-button-secondary-border-color:#fff;--_dso-button-secondary-hover-border-color:#fff;--_dso-button-secondary-active-border-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-border-color:rgba(255, 255, 255, 0.7);--_dso-button-secondary-color:#fff;--_dso-button-secondary-hover-color:#fff;--_dso-button-secondary-active-color:#fff;--_dso-button-secondary-disabled-color:rgba(255, 255, 255, 0.7);--_dso-button-tertiary-color:#fff;--_dso-button-tertiary-hover-color:#fff;--_dso-button-tertiary-active-color:#fff;--_dso-button-tertiary-disabled-color:#b2b2b2;background-color:#39870c;color:#fff}.group-warning .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-zwart);--_dso-link-extern-icon:var(--_dso-di-external-link-zwart);--_dso-link-phone-icon:var(--_dso-di-call-zwart);--_dso-link-mail-icon:var(--_dso-di-mail-outline-zwart);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-zwart);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:#1f472c;--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:#275937;--_dso-icon-button-secondary-toggled-hover-background-color:#1b3e27;--_dso-icon-button-tertiary-color:#191919;--_dso-icon-button-tertiary-hover-color:#4c4c4c;--_dso-icon-button-tertiary-active-color:#1f472c;--_dso-icon-button-tertiary-toggled-color:#275937;--_dso-icon-button-tertiary-toggled-hover-color:#1b3e27;--_dso-icon-button-tertiary-disabled-color:#999;--_dso-button-tertiary-download-icon:var(--_dso-di-download-zwart);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-zwart);--_dso-button-tertiary-color:#191919;--_dso-button-tertiary-hover-color:#4c4c4c;--_dso-button-tertiary-active-color:#173521;--_dso-button-tertiary-disabled-color:#999;background-color:#dcd400;color:#191919}.group-error .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-wit);--_dso-link-extern-icon:var(--_dso-di-external-link-wit);--_dso-link-phone-icon:var(--_dso-di-call-wit);--_dso-link-mail-icon:var(--_dso-di-mail-outline-wit);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-wit);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:rgba(255, 255, 255, 0.2);--_dso-icon-button-secondary-toggled-hover-background-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-color:#f2f2f2;--_dso-icon-button-tertiary-hover-color:#fff;--_dso-icon-button-tertiary-active-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-tertiary-toggled-color:#fff;--_dso-icon-button-tertiary-toggled-hover-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-disabled-color:#b2b2b2;--_dso-button-tertiary-download-icon:var(--_dso-di-download-wit);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-wit);--_dso-button-primary-background-color:#fff;--_dso-button-primary-hover-background-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-background-color:#f2f2f2;--_dso-button-primary-disabled-background-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-border-color:#fff;--_dso-button-primary-hover-border-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-border-color:#f2f2f2;--_dso-button-primary-disabled-border-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-color:#191919;--_dso-button-primary-hover-color:#191919;--_dso-button-primary-active-color:#191919;--_dso-button-primary-disabled-color:#666;--_dso-button-secondary-background-color:none;--_dso-button-secondary-hover-background-color:rgba(255, 255, 255, 0.2);--_dso-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-background-color:none;--_dso-button-secondary-border-color:#fff;--_dso-button-secondary-hover-border-color:#fff;--_dso-button-secondary-active-border-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-border-color:rgba(255, 255, 255, 0.7);--_dso-button-secondary-color:#fff;--_dso-button-secondary-hover-color:#fff;--_dso-button-secondary-active-color:#fff;--_dso-button-secondary-disabled-color:rgba(255, 255, 255, 0.7);--_dso-button-tertiary-color:#fff;--_dso-button-tertiary-hover-color:#fff;--_dso-button-tertiary-active-color:#fff;--_dso-button-tertiary-disabled-color:#b2b2b2;background-color:#ce3f51;color:#fff}.group-attention .option-label::before{--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-wit);--_dso-link-extern-icon:var(--_dso-di-external-link-wit);--_dso-link-phone-icon:var(--_dso-di-call-wit);--_dso-link-mail-icon:var(--_dso-di-mail-outline-wit);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-wit);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:rgba(255, 255, 255, 0.2);--_dso-icon-button-secondary-toggled-hover-background-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-color:#f2f2f2;--_dso-icon-button-tertiary-hover-color:#fff;--_dso-icon-button-tertiary-active-color:rgba(255, 255, 255, 0.4);--_dso-icon-button-tertiary-toggled-color:#fff;--_dso-icon-button-tertiary-toggled-hover-color:rgba(255, 255, 255, 0.3);--_dso-icon-button-tertiary-disabled-color:#b2b2b2;--_dso-button-tertiary-download-icon:var(--_dso-di-download-wit);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-wit);--_dso-button-primary-background-color:#fff;--_dso-button-primary-hover-background-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-background-color:#f2f2f2;--_dso-button-primary-disabled-background-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-border-color:#fff;--_dso-button-primary-hover-border-color:rgba(255, 255, 255, 0.8);--_dso-button-primary-active-border-color:#f2f2f2;--_dso-button-primary-disabled-border-color:rgba(255, 255, 255, 0.6);--_dso-button-primary-color:#191919;--_dso-button-primary-hover-color:#191919;--_dso-button-primary-active-color:#191919;--_dso-button-primary-disabled-color:#666;--_dso-button-secondary-background-color:none;--_dso-button-secondary-hover-background-color:rgba(255, 255, 255, 0.2);--_dso-button-secondary-active-background-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-background-color:none;--_dso-button-secondary-border-color:#fff;--_dso-button-secondary-hover-border-color:#fff;--_dso-button-secondary-active-border-color:rgba(255, 255, 255, 0.4);--_dso-button-secondary-disabled-border-color:rgba(255, 255, 255, 0.7);--_dso-button-secondary-color:#fff;--_dso-button-secondary-hover-color:#fff;--_dso-button-secondary-active-color:#fff;--_dso-button-secondary-disabled-color:rgba(255, 255, 255, 0.7);--_dso-button-tertiary-color:#fff;--_dso-button-tertiary-hover-color:#fff;--_dso-button-tertiary-active-color:#fff;--_dso-button-tertiary-disabled-color:#b2b2b2;background-color:#8b4a6a;color:#fff}.options{margin:0;padding:0}.option{display:flex;align-items:center;gap:8px;inline-size:100%;padding-block:8px;padding-inline:16px;cursor:pointer;line-height:inherit;font-family:inherit;font-size:inherit;letter-spacing:inherit;border:none;text-align:start;background-color:#fff}.option dso-icon{flex-shrink:0}.option.option-active,.option.option-active:hover,.option.option-active:focus{background-color:#275937}.option.option-active .option-label,.option.option-active dso-icon,.option.option-active:hover .option-label,.option.option-active:hover dso-icon,.option.option-active:focus .option-label,.option.option-active:focus dso-icon{color:#fff;font-weight:600}.option:hover,.option:focus{background-color:#ebf3e6}.option-label{position:relative;color:#191919}.option-hint{padding-inline-start:5px;color:#fff;font-weight:600}.placeholder{margin:0;padding-block:8px;padding-inline:16px;color:#666}"}},[17,"dso-advanced-select",{options:[16],active:[16],activeHint:[1,"active-hint"],open:[32]},[[8,"keydown","keyDownListener"]]]),A=({option:o,active:r,activeHint:t,callback:e,variant:a})=>{const c="success"===a?"document":"warning"===a?"document-pencil":"hammer";return n("button",{class:i(["option",{"option-active":r===o}]),type:"button",onClick:r=>e(r,o)},n("dso-icon",{icon:c,"aria-hidden":"true"}),n("span",{class:"option-label"},o.label," ",!!t&&r===o&&n("span",{class:"option-hint"},"(",t,")")))},R=({redirect:o,callback:r})=>n("a",{class:"group-link",href:o.href,onClick:t=>r(t,o)},o.label,n("dso-icon",{icon:"chevron-right","aria-hidden":"true"})),P=({active:o,options:r})=>{const t=r.find((r=>"options"in r&&!!r.options.find((r=>r===o))&&!!r.activeLabel));return t&&n("dso-label",{compact:!0,status:t.variant},t.activeLabel)},I=D,N=function(){"undefined"!=typeof customElements&&["dso-advanced-select","dso-badge","dso-icon","dso-icon-button","dso-label","dso-scrollable"].forEach((o=>{switch(o){case"dso-advanced-select":customElements.get(e(o))||customElements.define(e(o),D);break;case"dso-badge":customElements.get(e(o))||b();break;case"dso-icon":customElements.get(e(o))||f();break;case"dso-icon-button":customElements.get(e(o))||v();break;case"dso-label":customElements.get(e(o))||p();break;case"dso-scrollable":customElements.get(e(o))||_()}}))};export{I as DsoAdvancedSelect,N as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as o,HTMLElement as t,forceUpdate as r,h as e,Host as n,transformTag as s}from"@stencil/core/internal/client";import{a,c as i,o as d,f as l,d as c}from"./floating-ui.dom.js";import{c as b}from"./index2.js";import{d as p}from"./icon.js";import{d as f}from"./scrollable.js";import{v as u}from"./v4.js";const m=o(class extends t{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.variant="secondary",this.open=!1,this.focusOutListener=o=>{!this.open||o.relatedTarget instanceof t||this.toggleOptions(!1)},this.keyDownHandler=o=>{if(o.target instanceof t&&!o.defaultPrevented&&this.open){switch(o.key){case"Tab":o.shiftKey?this.moveFocusToPrevious(o.target):this.moveFocusToNext(o.target);break;case"ArrowDown":this.moveFocusToNext(o.target,!1);break;case"ArrowUp":this.moveFocusToPrevious(o.target,!1);break;case"Escape":this.escape();break;default:return}o.preventDefault()}},this.escape=()=>{this.button?.focus(),this.toggleOptions(!1)};const{state:r}=b({checkable:!1});this.dropdownMenuState=r}get checkable(){return this.dropdownMenuState.checkable}set checkable(o){this.dropdownMenuState.checkable=o||!1,r(this.host)}dsoClickHandler(o){o.stopPropagation(),this.open&&o.target instanceof t&&this.toggleOptions(!1)}async _getState(){return this.dropdownMenuState}dropdownMenuTabbables(o){const t=this.host.isConnected?Array.from(this.host.querySelectorAll(":scope > dso-dropdown-menu-group > dso-dropdown-menu-item")):[];return o?[this.host,...t]:t}componentDidRender(){if(this.button&&this.popoverElement&&!this.cleanUp){const o=this.popoverElement,t=this.button;this.cleanUp=a(t,o,(()=>{i(t,o,{strategy:"fixed",middleware:[d(2),l({padding:2}),c({apply({availableHeight:o,availableWidth:t,elements:r}){const e=r.floating.querySelector("dso-scrollable")??r.floating;Object.assign(e.style,{maxHeight:o+"px",maxInlineSize:t+"px"})}})],placement:"bottom-start"}).then((({x:t,y:r})=>{Object.assign(o.style,{left:t+"px",top:r+"px"})}))}))}}toggleOptions(o){this.open=o??!this.open,this.popoverElement?.isConnected&&this.popoverElement.togglePopover(this.open),this.open&&requestAnimationFrame((()=>this.moveFocusTo(this.firstItem(!1)))),!this.open&&this.cleanUp&&(this.cleanUp(),this.cleanUp=void 0)}disconnectedCallback(){this.toggleOptions(!1)}get lastItem(){return this.dropdownMenuTabbables(!0).at(-1)}firstItem(o){return this.dropdownMenuTabbables(o)[0]}moveFocusToPrevious(o,t=!0){const r=this.dropdownMenuTabbables(t).findIndex((t=>t===o)),e=this.dropdownMenuTabbables(t)[r-1]??this.lastItem;this.moveFocusTo(e)}moveFocusToNext(o,t=!0){const r=this.dropdownMenuTabbables(t).findIndex((t=>t===o)),e=this.dropdownMenuTabbables(t)[r+1]??this.firstItem(t);this.moveFocusTo(e)}moveFocusTo(o){o&&(o===this.host&&this.button?this.button.focus():"_dsoFocus"in o&&o._dsoFocus())}render(){const o=u();return e(n,{key:"63dba747057e58c38f29d830b2a867dd02e07541",onFocusout:this.focusOutListener,onKeyDown:this.keyDownHandler},this.label&&e("button",{key:"3711038ff64c7e43a27c1a0a072fa904db484068",id:o,class:"dso-"+this.variant,type:"button",onClick:()=>this.toggleOptions(),"aria-expanded":""+this.open,"aria-haspopup":"menu",ref:o=>this.button=o},this.label,e("dso-icon",{key:"45037c7c83a4edecf75762b703115c34c2a39804",icon:this.open?"chevron-up":"chevron-down"})),e("div",{key:"34099ec42eef8744a3701e3fa90701e53791a8e5",popover:"manual",class:"dso-dropdown-options","aria-labelledby":o,role:"menu",ref:o=>this.popoverElement=o},e("dso-scrollable",{key:"d1b88fa03257379e7b213c29616b02f24872e2aa"},e("slot",{key:"7e9c881bc357590c9750ddbe3a6f6fdac46733c7"}))))}get host(){return this}static get style(){return":host(:focus) { outline: none; } :host { display: inline-block; } button { -webkit-appearance: button; color: inherit; cursor: pointer; font: inherit; font-family: inherit; font-size: inherit; letter-spacing: inherit; line-height: inherit; margin: 0; overflow: visible; text-transform: none; } button[disabled] { cursor: default; } button::-moz-focus-inner { border: 0; padding: 0; } button.dso-primary { display: inline-block; font-size: 1em; font-weight: 500; margin-block-end: 0; text-decoration: none; touch-action: manipulation; text-align: var(--_dso-button-text-align, start); user-select: none; vertical-align: middle; background-clip: padding-box; } button.dso-primary:focus, button.dso-primary:focus-visible { outline-offset: 2px; } button.dso-primary:active { outline: 0; } button.dso-primary.extern::after, button.dso-primary.download::after { content: \"\"; display: inline-block; } button.dso-primary { background-color: var(--_dso-button-primary-background-color, #39870c); border-color: var(--_dso-button-primary-border-color, #39870c); color: var(--_dso-button-primary-color, #fff); float: var(--_dso-button-float-primary, none); border-width: 1px; border-style: solid; border-radius: 4px; line-height: 1.5; min-inline-size: 56px; inline-size: var(--_dso-button-inline-size, auto); padding-block: 11px; padding-inline: 15px; } button.dso-primary:hover { background-color: var(--_dso-button-primary-hover-background-color, #275937); border-color: var(--_dso-button-primary-hover-border-color, #275937); color: var(--_dso-button-primary-hover-color, #fff); float: var(--_dso-button-float-primary, none); } button.dso-primary:active { background-color: var(--_dso-button-primary-active-background-color, #173521); border-color: var(--_dso-button-primary-active-border-color, #173521); color: var(--_dso-button-primary-active-color, #fff); float: var(--_dso-button-float-primary, none); } button.dso-primary[disabled], button.dso-primary[disabled]:hover { background-color: var(--_dso-button-primary-disabled-background-color, #afcf9d); border-color: var(--_dso-button-primary-disabled-border-color, #afcf9d); color: var(--_dso-button-primary-disabled-color, #fff); float: var(--_dso-button-float-primary, none); } button.dso-primary.dso-small { line-height: 1rem; } button.dso-primary.dso-small dso-icon, button.dso-primary.dso-small.extern::after, button.dso-primary.dso-small.download::after, button.dso-primary.dso-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } button.dso-primary.dso-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } button.dso-primary.dso-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } button.dso-primary.dso-extra-small { line-height: 1rem; } button.dso-primary.dso-extra-small dso-icon, button.dso-primary.dso-extra-small.extern::after, button.dso-primary.dso-extra-small.download::after, button.dso-primary.dso-extra-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } button.dso-primary.dso-extra-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } button.dso-primary.dso-extra-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } button.dso-primary.dso-extra-small { padding-block: 9px; } button.dso-primary dso-icon:has(+ span:not(.sr-only)) { margin-inline-start: -8px; } button.dso-primary span:not(.sr-only) + dso-icon { margin-inline-start: 8px; margin-inline-end: -8px; } button.dso-primary dso-icon + span:not(.sr-only) { margin-inline-start: 8px; } button.dso-primary.dso-spinner-left[disabled], button.dso-primary.dso-spinner-right[disabled] { background-color: #39870c; border-color: #39870c; color: #fff; } button.dso-primary.dso-spinner-left::before { background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E\"); background-repeat: no-repeat; content: \"\"; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-end: 8px; } button.dso-primary.dso-spinner-right::after { background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E\"); background-repeat: no-repeat; content: \"\"; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-start: 8px; } button.dso-secondary { display: inline-block; font-size: 1em; font-weight: 500; margin-block-end: 0; text-decoration: none; touch-action: manipulation; text-align: var(--_dso-button-text-align, start); user-select: none; vertical-align: middle; background-clip: padding-box; } button.dso-secondary:focus, button.dso-secondary:focus-visible { outline-offset: 2px; } button.dso-secondary:active { outline: 0; } button.dso-secondary.extern::after, button.dso-secondary.download::after { content: \"\"; display: inline-block; } button.dso-secondary { background-color: var(--_dso-button-secondary-background-color, #fff); border-color: var(--_dso-button-secondary-border-color, #39870c); color: var(--_dso-button-secondary-color, #39870c); float: var(--_dso-button-float-secondary, none); border-width: 1px; border-style: solid; border-radius: 4px; line-height: 1.5; min-inline-size: 56px; inline-size: var(--_dso-button-inline-size, auto); padding-block: 11px; padding-inline: 15px; } button.dso-secondary:hover { background-color: var(--_dso-button-secondary-hover-background-color, #d7e7ce); border-color: var(--_dso-button-secondary-hover-border-color, #275937); color: var(--_dso-button-secondary-hover-color, #275937); float: var(--_dso-button-float-secondary, none); } button.dso-secondary:active { background-color: var(--_dso-button-secondary-active-background-color, #275937); border-color: var(--_dso-button-secondary-active-border-color, #275937); color: var(--_dso-button-secondary-active-color, #fff); float: var(--_dso-button-float-secondary, none); } button.dso-secondary[disabled], button.dso-secondary[disabled]:hover { background-color: var(--_dso-button-secondary-disabled-background-color, #fff); border-color: var(--_dso-button-secondary-disabled-border-color, #afcf9d); color: var(--_dso-button-secondary-disabled-color, #afcf9d); float: var(--_dso-button-float-secondary, none); } button.dso-secondary.dso-small { line-height: 1rem; } button.dso-secondary.dso-small dso-icon, button.dso-secondary.dso-small.extern::after, button.dso-secondary.dso-small.download::after, button.dso-secondary.dso-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } button.dso-secondary.dso-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } button.dso-secondary.dso-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } button.dso-secondary.dso-extra-small { line-height: 1rem; } button.dso-secondary.dso-extra-small dso-icon, button.dso-secondary.dso-extra-small.extern::after, button.dso-secondary.dso-extra-small.download::after, button.dso-secondary.dso-extra-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } button.dso-secondary.dso-extra-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } button.dso-secondary.dso-extra-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } button.dso-secondary.dso-extra-small { padding-block: 9px; } button.dso-secondary dso-icon:has(+ span:not(.sr-only)) { margin-inline-start: -8px; } button.dso-secondary span:not(.sr-only) + dso-icon { margin-inline-start: 8px; margin-inline-end: -8px; } button.dso-secondary dso-icon + span:not(.sr-only) { margin-inline-start: 8px; } button.dso-secondary.dso-spinner-left[disabled], button.dso-secondary.dso-spinner-right[disabled] { background-color: #fff; border-color: #39870c; color: #39870c; } button.dso-secondary.dso-spinner-left::before { background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E\"); background-repeat: no-repeat; content: \"\"; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-end: 8px; } button.dso-secondary.dso-spinner-left:not([disabled]):hover::before { background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E\"); background-repeat: no-repeat; content: \"\"; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-end: 8px; } button.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before { block-size: 16px; inline-size: 16px; } button.dso-secondary.dso-spinner-right::after { background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E\"); background-repeat: no-repeat; content: \"\"; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-start: 8px; } button.dso-secondary.dso-spinner-right:not([disabled]):hover::after { background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E\"); background-repeat: no-repeat; content: \"\"; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-start: 8px; } button.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after { block-size: 16px; inline-size: 16px; } button.dso-tertiary { display: inline-block; font-size: 1em; font-weight: 500; margin-block-end: 0; text-decoration: none; touch-action: manipulation; text-align: var(--_dso-button-text-align, start); user-select: none; vertical-align: middle; background-clip: padding-box; } button.dso-tertiary:focus, button.dso-tertiary:focus-visible { outline-offset: 2px; } button.dso-tertiary:active { outline: 0; } button.dso-tertiary.extern::after, button.dso-tertiary.download::after { content: \"\"; display: inline-block; } button.dso-tertiary { display: inline-block; font-size: 1em; font-weight: 500; margin-block-end: 0; text-decoration: none; touch-action: manipulation; text-align: var(--_dso-button-text-align, start); user-select: none; vertical-align: middle; background-clip: padding-box; } button.dso-tertiary:focus, button.dso-tertiary:focus-visible { outline-offset: 2px; } button.dso-tertiary:active { outline: 0; } button.dso-tertiary.extern::after, button.dso-tertiary.download::after { content: \"\"; display: inline-block; } button.dso-tertiary { background-color: var(--_dso-button-tertiary-background-color, ); border-color: var(--_dso-button-tertiary-border-color, ); color: var(--_dso-button-tertiary-color, #39870c); float: var(--_dso-button-float-tertiary, none); border-width: 1px; border-style: solid; border-radius: 4px; line-height: 1.5; min-inline-size: auto; inline-size: var(--_dso-button-inline-size, auto); padding-block: 11px; padding-inline: 15px; } button.dso-tertiary:hover { background-color: var(--_dso-button-tertiary-hover-background-color, ); border-color: var(--_dso-button-tertiary-hover-border-color, ); color: var(--_dso-button-tertiary-hover-color, #275937); float: var(--_dso-button-float-tertiary, none); } button.dso-tertiary:active { background-color: var(--_dso-button-tertiary-active-background-color, ); border-color: var(--_dso-button-tertiary-active-border-color, ); color: var(--_dso-button-tertiary-active-color, #173521); float: var(--_dso-button-float-tertiary, none); } button.dso-tertiary[disabled], button.dso-tertiary[disabled]:hover { background-color: var(--_dso-button-tertiary-disabled-background-color, ); border-color: var(--_dso-button-tertiary-disabled-border-color, ); color: var(--_dso-button-tertiary-disabled-color, #afcf9d); float: var(--_dso-button-float-tertiary, none); } button.dso-tertiary.dso-small { line-height: 1rem; } button.dso-tertiary.dso-small dso-icon, button.dso-tertiary.dso-small.extern::after, button.dso-tertiary.dso-small.download::after, button.dso-tertiary.dso-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } button.dso-tertiary.dso-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } button.dso-tertiary.dso-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } button.dso-tertiary.dso-extra-small { line-height: 1rem; } button.dso-tertiary.dso-extra-small dso-icon, button.dso-tertiary.dso-extra-small.extern::after, button.dso-tertiary.dso-extra-small.download::after, button.dso-tertiary.dso-extra-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } button.dso-tertiary.dso-extra-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } button.dso-tertiary.dso-extra-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } button.dso-tertiary.dso-extra-small { padding-block: 9px; } button.dso-tertiary { border: 0; line-height: 1; padding-inline: 0; padding-block: var(--_dso-button-padding-block-tertiary, 0); background-color: transparent; } button.dso-tertiary[disabled].dso-spinner-left, button.dso-tertiary[disabled].dso-spinner-right { color: #39870c; } button.dso-tertiary:not([disabled]):hover { text-decoration: underline; text-underline-position: under; } button.dso-tertiary.dso-align { line-height: calc(1.5em - 1px); padding-block: 11px; padding-inline: 0; position: relative; } button.dso-tertiary.dso-truncate { max-inline-size: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } button.dso-tertiary.dso-spinner-left::before { background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E\"); background-repeat: no-repeat; content: \"\"; display: inline-block; block-size: 24px; vertical-align: middle; inline-size: 24px; margin-inline-end: 8px; } button.dso-tertiary.dso-spinner-right::after { background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E\"); background-repeat: no-repeat; content: \"\"; display: inline-block; block-size: 24px; vertical-align: middle; inline-size: 24px; margin-inline-start: 8px; } button.dso-tertiary dso-icon + span:not(.sr-only), button.dso-tertiary span:not(.sr-only) + dso-icon { margin-inline-start: 4px; } button.dso-tertiary dso-icon, button.dso-tertiary span { vertical-align: middle; } button dso-icon { margin-inline-start: 8px; } button:not(.dso-tertiary) dso-icon { margin-inline-end: 0; } .dso-dropdown-options { box-sizing: border-box; margin: 0 !important; overflow: unset; background-clip: padding-box; background-color: #fff; border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.15); box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.4); font-size: 1rem; min-inline-size: 160px; inline-size: max-content; padding: 0; z-index: 220; } ::slotted(dso-dropdown-menu-group:not(:last-child)) { border-block-end: 1px solid #e5e5e5; margin-block-end: 11px; padding-block-end: 11px; }"}},[257,"dso-dropdown-menu",{checkable:[6660],label:[513],variant:[513],open:[32],_getState:[64]},[[0,"dsoClick","dsoClickHandler"]]]),g=m,y=function(){"undefined"!=typeof customElements&&["dso-dropdown-menu","dso-icon","dso-scrollable"].forEach((o=>{switch(o){case"dso-dropdown-menu":customElements.get(s(o))||customElements.define(s(o),m);break;case"dso-icon":customElements.get(s(o))||p();break;case"dso-scrollable":customElements.get(s(o))||f()}}))};export{g as DsoDropdownMenu,y as defineCustomElement}
1
+ import{proxyCustomElement as o,HTMLElement as t,forceUpdate as r,h as e,Host as n,transformTag as s}from"@stencil/core/internal/client";import{a,c as i,o as d,f as l,d as c}from"./floating-ui.dom.js";import{c as b}from"./index2.js";import{d as p}from"./icon.js";import{d as f}from"./scrollable.js";import{v as u}from"./v4.js";const m=o(class extends t{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.variant="secondary",this.open=!1,this.focusOutListener=o=>{!this.open||o.relatedTarget instanceof t||this.toggleOptions(!1)},this.keyDownHandler=o=>{if(o.target instanceof t&&!o.defaultPrevented&&this.open){switch(o.key){case"Tab":o.shiftKey?this.moveFocusToPrevious(o.target):this.moveFocusToNext(o.target);break;case"ArrowDown":this.moveFocusToNext(o.target,!1);break;case"ArrowUp":this.moveFocusToPrevious(o.target,!1);break;case"Escape":this.escape();break;default:return}o.preventDefault()}},this.escape=()=>{this.button?.focus(),this.toggleOptions(!1)};const{state:r}=b({checkable:!1});this.dropdownMenuState=r}get checkable(){return this.dropdownMenuState.checkable}set checkable(o){this.dropdownMenuState.checkable=o||!1,r(this.host)}dsoClickHandler(o){o.stopPropagation(),this.open&&o.target instanceof t&&this.toggleOptions(!1)}async _getState(){return this.dropdownMenuState}dropdownMenuTabbables(o){const t=this.host.isConnected?Array.from(this.host.querySelectorAll(":scope > dso-dropdown-menu-group > dso-dropdown-menu-item")):[];return o?[this.host,...t]:t}componentDidRender(){if(this.open&&this.button&&this.popoverElement&&!this.cleanUp){const o=this.popoverElement,t=this.button;let r=!0;const e=(t,r)=>{if(o.isConnected){if(this.pendingPopoverConstraints){const t=o.querySelector("dso-scrollable")??o;Object.assign(t.style,{maxHeight:this.pendingPopoverConstraints.availableHeight+"px",maxInlineSize:this.pendingPopoverConstraints.availableWidth+"px"})}Object.assign(o.style,{left:t+"px",top:r+"px"})}},n=a(t,o,(()=>{i(t,o,{strategy:"fixed",middleware:[d(2),l({padding:2}),c({apply:({availableHeight:o,availableWidth:t})=>{this.pendingPopoverConstraints={availableWidth:t,availableHeight:o}}})],placement:"bottom-start"}).then((({x:o,y:t})=>{if(r)return r=!1,void e(o,t);void 0!==this.popoverFrameId&&cancelAnimationFrame(this.popoverFrameId),this.popoverFrameId=requestAnimationFrame((()=>{this.popoverFrameId=void 0,e(o,t)}))}))}));this.cleanUp=()=>{void 0!==this.popoverFrameId&&(cancelAnimationFrame(this.popoverFrameId),this.popoverFrameId=void 0),n()}}}toggleOptions(o){this.open=o??!this.open,this.popoverElement?.isConnected&&this.popoverElement.togglePopover(this.open),this.open&&requestAnimationFrame((()=>this.moveFocusTo(this.firstItem(!1)))),!this.open&&this.cleanUp&&(this.cleanUp(),this.cleanUp=void 0)}disconnectedCallback(){this.toggleOptions(!1)}get lastItem(){return this.dropdownMenuTabbables(!0).at(-1)}firstItem(o){return this.dropdownMenuTabbables(o)[0]}moveFocusToPrevious(o,t=!0){const r=this.dropdownMenuTabbables(t).findIndex((t=>t===o)),e=this.dropdownMenuTabbables(t)[r-1]??this.lastItem;this.moveFocusTo(e)}moveFocusToNext(o,t=!0){const r=this.dropdownMenuTabbables(t).findIndex((t=>t===o)),e=this.dropdownMenuTabbables(t)[r+1]??this.firstItem(t);this.moveFocusTo(e)}moveFocusTo(o){o&&(o===this.host&&this.button?this.button.focus():"_dsoFocus"in o&&o._dsoFocus())}render(){const o=u();return e(n,{key:"86c4a174ec1a4f8083f6e13728bef4d0fbf73d2b",onFocusout:this.focusOutListener,onKeyDown:this.keyDownHandler},this.label&&e("button",{key:"6b93303a8ee2717870bc52147667485e9f56c0cb",id:o,class:"dso-"+this.variant,type:"button",onClick:()=>this.toggleOptions(),"aria-expanded":""+this.open,"aria-haspopup":"menu",ref:o=>this.button=o},this.label,e("dso-icon",{key:"02d4af678a2de9e68c6c7983279e8a8af1b221d5",icon:this.open?"chevron-up":"chevron-down"})),e("div",{key:"0653885c62d4e5f9e6567cd1a06ef1f60c31bd50",popover:"manual",class:"dso-dropdown-options","aria-labelledby":o,role:"menu",ref:o=>this.popoverElement=o},e("dso-scrollable",{key:"008a6527bce7398d5bf016431c90343011b62596"},e("slot",{key:"cbfdd95cd211485fc8672e9dff1f3bb3ed233d99"}))))}get host(){return this}static get style(){return":host(:focus) { outline: none; } :host { display: inline-block; } button { -webkit-appearance: button; color: inherit; cursor: pointer; font: inherit; font-family: inherit; font-size: inherit; letter-spacing: inherit; line-height: inherit; margin: 0; overflow: visible; text-transform: none; } button[disabled] { cursor: default; } button::-moz-focus-inner { border: 0; padding: 0; } button.dso-primary { display: inline-block; font-size: 1em; font-weight: 500; margin-block-end: 0; text-decoration: none; touch-action: manipulation; text-align: var(--_dso-button-text-align, start); user-select: none; vertical-align: middle; background-clip: padding-box; } button.dso-primary:focus, button.dso-primary:focus-visible { outline-offset: 2px; } button.dso-primary:active { outline: 0; } button.dso-primary.extern::after, button.dso-primary.download::after { content: \"\"; display: inline-block; } button.dso-primary { background-color: var(--_dso-button-primary-background-color, #39870c); border-color: var(--_dso-button-primary-border-color, #39870c); color: var(--_dso-button-primary-color, #fff); float: var(--_dso-button-float-primary, none); border-width: 1px; border-style: solid; border-radius: 4px; line-height: 1.5; min-inline-size: 56px; inline-size: var(--_dso-button-inline-size, auto); padding-block: 11px; padding-inline: 15px; } button.dso-primary:hover { background-color: var(--_dso-button-primary-hover-background-color, #275937); border-color: var(--_dso-button-primary-hover-border-color, #275937); color: var(--_dso-button-primary-hover-color, #fff); float: var(--_dso-button-float-primary, none); } button.dso-primary:active { background-color: var(--_dso-button-primary-active-background-color, #173521); border-color: var(--_dso-button-primary-active-border-color, #173521); color: var(--_dso-button-primary-active-color, #fff); float: var(--_dso-button-float-primary, none); } button.dso-primary[disabled], button.dso-primary[disabled]:hover { background-color: var(--_dso-button-primary-disabled-background-color, #afcf9d); border-color: var(--_dso-button-primary-disabled-border-color, #afcf9d); color: var(--_dso-button-primary-disabled-color, #fff); float: var(--_dso-button-float-primary, none); } button.dso-primary.dso-small { line-height: 1rem; } button.dso-primary.dso-small dso-icon, button.dso-primary.dso-small.extern::after, button.dso-primary.dso-small.download::after, button.dso-primary.dso-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } button.dso-primary.dso-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } button.dso-primary.dso-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } button.dso-primary.dso-extra-small { line-height: 1rem; } button.dso-primary.dso-extra-small dso-icon, button.dso-primary.dso-extra-small.extern::after, button.dso-primary.dso-extra-small.download::after, button.dso-primary.dso-extra-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } button.dso-primary.dso-extra-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } button.dso-primary.dso-extra-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } button.dso-primary.dso-extra-small { padding-block: 9px; } button.dso-primary dso-icon:has(+ span:not(.sr-only)) { margin-inline-start: -8px; } button.dso-primary span:not(.sr-only) + dso-icon { margin-inline-start: 8px; margin-inline-end: -8px; } button.dso-primary dso-icon + span:not(.sr-only) { margin-inline-start: 8px; } button.dso-primary.dso-spinner-left[disabled], button.dso-primary.dso-spinner-right[disabled] { background-color: #39870c; border-color: #39870c; color: #fff; } button.dso-primary.dso-spinner-left::before { background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E\"); background-repeat: no-repeat; content: \"\"; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-end: 8px; } button.dso-primary.dso-spinner-right::after { background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E\"); background-repeat: no-repeat; content: \"\"; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-start: 8px; } button.dso-secondary { display: inline-block; font-size: 1em; font-weight: 500; margin-block-end: 0; text-decoration: none; touch-action: manipulation; text-align: var(--_dso-button-text-align, start); user-select: none; vertical-align: middle; background-clip: padding-box; } button.dso-secondary:focus, button.dso-secondary:focus-visible { outline-offset: 2px; } button.dso-secondary:active { outline: 0; } button.dso-secondary.extern::after, button.dso-secondary.download::after { content: \"\"; display: inline-block; } button.dso-secondary { background-color: var(--_dso-button-secondary-background-color, #fff); border-color: var(--_dso-button-secondary-border-color, #39870c); color: var(--_dso-button-secondary-color, #39870c); float: var(--_dso-button-float-secondary, none); border-width: 1px; border-style: solid; border-radius: 4px; line-height: 1.5; min-inline-size: 56px; inline-size: var(--_dso-button-inline-size, auto); padding-block: 11px; padding-inline: 15px; } button.dso-secondary:hover { background-color: var(--_dso-button-secondary-hover-background-color, #d7e7ce); border-color: var(--_dso-button-secondary-hover-border-color, #275937); color: var(--_dso-button-secondary-hover-color, #275937); float: var(--_dso-button-float-secondary, none); } button.dso-secondary:active { background-color: var(--_dso-button-secondary-active-background-color, #275937); border-color: var(--_dso-button-secondary-active-border-color, #275937); color: var(--_dso-button-secondary-active-color, #fff); float: var(--_dso-button-float-secondary, none); } button.dso-secondary[disabled], button.dso-secondary[disabled]:hover { background-color: var(--_dso-button-secondary-disabled-background-color, #fff); border-color: var(--_dso-button-secondary-disabled-border-color, #afcf9d); color: var(--_dso-button-secondary-disabled-color, #afcf9d); float: var(--_dso-button-float-secondary, none); } button.dso-secondary.dso-small { line-height: 1rem; } button.dso-secondary.dso-small dso-icon, button.dso-secondary.dso-small.extern::after, button.dso-secondary.dso-small.download::after, button.dso-secondary.dso-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } button.dso-secondary.dso-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } button.dso-secondary.dso-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } button.dso-secondary.dso-extra-small { line-height: 1rem; } button.dso-secondary.dso-extra-small dso-icon, button.dso-secondary.dso-extra-small.extern::after, button.dso-secondary.dso-extra-small.download::after, button.dso-secondary.dso-extra-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } button.dso-secondary.dso-extra-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } button.dso-secondary.dso-extra-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } button.dso-secondary.dso-extra-small { padding-block: 9px; } button.dso-secondary dso-icon:has(+ span:not(.sr-only)) { margin-inline-start: -8px; } button.dso-secondary span:not(.sr-only) + dso-icon { margin-inline-start: 8px; margin-inline-end: -8px; } button.dso-secondary dso-icon + span:not(.sr-only) { margin-inline-start: 8px; } button.dso-secondary.dso-spinner-left[disabled], button.dso-secondary.dso-spinner-right[disabled] { background-color: #fff; border-color: #39870c; color: #39870c; } button.dso-secondary.dso-spinner-left::before { background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E\"); background-repeat: no-repeat; content: \"\"; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-end: 8px; } button.dso-secondary.dso-spinner-left:not([disabled]):hover::before { background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E\"); background-repeat: no-repeat; content: \"\"; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-end: 8px; } button.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before { block-size: 16px; inline-size: 16px; } button.dso-secondary.dso-spinner-right::after { background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E\"); background-repeat: no-repeat; content: \"\"; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-start: 8px; } button.dso-secondary.dso-spinner-right:not([disabled]):hover::after { background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E\"); background-repeat: no-repeat; content: \"\"; display: inline-block; block-size: 24px; vertical-align: top; inline-size: 24px; margin-inline-start: 8px; } button.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after { block-size: 16px; inline-size: 16px; } button.dso-tertiary { display: inline-block; font-size: 1em; font-weight: 500; margin-block-end: 0; text-decoration: none; touch-action: manipulation; text-align: var(--_dso-button-text-align, start); user-select: none; vertical-align: middle; background-clip: padding-box; } button.dso-tertiary:focus, button.dso-tertiary:focus-visible { outline-offset: 2px; } button.dso-tertiary:active { outline: 0; } button.dso-tertiary.extern::after, button.dso-tertiary.download::after { content: \"\"; display: inline-block; } button.dso-tertiary { display: inline-block; font-size: 1em; font-weight: 500; margin-block-end: 0; text-decoration: none; touch-action: manipulation; text-align: var(--_dso-button-text-align, start); user-select: none; vertical-align: middle; background-clip: padding-box; } button.dso-tertiary:focus, button.dso-tertiary:focus-visible { outline-offset: 2px; } button.dso-tertiary:active { outline: 0; } button.dso-tertiary.extern::after, button.dso-tertiary.download::after { content: \"\"; display: inline-block; } button.dso-tertiary { background-color: var(--_dso-button-tertiary-background-color, ); border-color: var(--_dso-button-tertiary-border-color, ); color: var(--_dso-button-tertiary-color, #39870c); float: var(--_dso-button-float-tertiary, none); border-width: 1px; border-style: solid; border-radius: 4px; line-height: 1.5; min-inline-size: auto; inline-size: var(--_dso-button-inline-size, auto); padding-block: 11px; padding-inline: 15px; } button.dso-tertiary:hover { background-color: var(--_dso-button-tertiary-hover-background-color, ); border-color: var(--_dso-button-tertiary-hover-border-color, ); color: var(--_dso-button-tertiary-hover-color, #275937); float: var(--_dso-button-float-tertiary, none); } button.dso-tertiary:active { background-color: var(--_dso-button-tertiary-active-background-color, ); border-color: var(--_dso-button-tertiary-active-border-color, ); color: var(--_dso-button-tertiary-active-color, #173521); float: var(--_dso-button-float-tertiary, none); } button.dso-tertiary[disabled], button.dso-tertiary[disabled]:hover { background-color: var(--_dso-button-tertiary-disabled-background-color, ); border-color: var(--_dso-button-tertiary-disabled-border-color, ); color: var(--_dso-button-tertiary-disabled-color, #afcf9d); float: var(--_dso-button-float-tertiary, none); } button.dso-tertiary.dso-small { line-height: 1rem; } button.dso-tertiary.dso-small dso-icon, button.dso-tertiary.dso-small.extern::after, button.dso-tertiary.dso-small.download::after, button.dso-tertiary.dso-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } button.dso-tertiary.dso-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } button.dso-tertiary.dso-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } button.dso-tertiary.dso-extra-small { line-height: 1rem; } button.dso-tertiary.dso-extra-small dso-icon, button.dso-tertiary.dso-extra-small.extern::after, button.dso-tertiary.dso-extra-small.download::after, button.dso-tertiary.dso-extra-small.dso-spinner::before { margin-block-end: -4px; margin-block-start: -4px; } button.dso-tertiary.dso-extra-small.dso-spinner-left::before { block-size: 16px; inline-size: 16px; } button.dso-tertiary.dso-extra-small.dso-spinner-right::after { block-size: 16px; inline-size: 16px; } button.dso-tertiary.dso-extra-small { padding-block: 9px; } button.dso-tertiary { border: 0; line-height: 1; padding-inline: 0; padding-block: var(--_dso-button-padding-block-tertiary, 0); background-color: transparent; } button.dso-tertiary[disabled].dso-spinner-left, button.dso-tertiary[disabled].dso-spinner-right { color: #39870c; } button.dso-tertiary:not([disabled]):hover { text-decoration: underline; text-underline-position: under; } button.dso-tertiary.dso-align { line-height: calc(1.5em - 1px); padding-block: 11px; padding-inline: 0; position: relative; } button.dso-tertiary.dso-truncate { max-inline-size: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } button.dso-tertiary.dso-spinner-left::before { background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E\"); background-repeat: no-repeat; content: \"\"; display: inline-block; block-size: 24px; vertical-align: middle; inline-size: 24px; margin-inline-end: 8px; } button.dso-tertiary.dso-spinner-right::after { background-image: url(\"data:image/svg+xml,%3Csvg class='spinner' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 42.4; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 42.4; %7D 50%25 %7B stroke-dashoffset: 10.4; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 42.4; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class='path' fill='none' stroke-width='1.6' stroke-linecap='butt' cx='12' cy='12' r='7.2'%3E%3C/circle%3E%3C/svg%3E\"); background-repeat: no-repeat; content: \"\"; display: inline-block; block-size: 24px; vertical-align: middle; inline-size: 24px; margin-inline-start: 8px; } button.dso-tertiary dso-icon + span:not(.sr-only), button.dso-tertiary span:not(.sr-only) + dso-icon { margin-inline-start: 4px; } button.dso-tertiary dso-icon, button.dso-tertiary span { vertical-align: middle; } button dso-icon { margin-inline-start: 8px; } button:not(.dso-tertiary) dso-icon { margin-inline-end: 0; } .dso-dropdown-options { box-sizing: border-box; margin: 0 !important; overflow: unset; background-clip: padding-box; background-color: #fff; border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.15); box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.4); font-size: 1rem; min-inline-size: 160px; inline-size: max-content; padding: 0; z-index: 220; } ::slotted(dso-dropdown-menu-group:not(:last-child)) { border-block-end: 1px solid #e5e5e5; margin-block-end: 11px; padding-block-end: 11px; }"}},[257,"dso-dropdown-menu",{checkable:[6660],label:[513],variant:[513],open:[32],_getState:[64]},[[0,"dsoClick","dsoClickHandler"]]]),g=m,h=function(){"undefined"!=typeof customElements&&["dso-dropdown-menu","dso-icon","dso-scrollable"].forEach((o=>{switch(o){case"dso-dropdown-menu":customElements.get(s(o))||customElements.define(s(o),m);break;case"dso-icon":customElements.get(s(o))||p();break;case"dso-scrollable":customElements.get(s(o))||f()}}))};export{g as DsoDropdownMenu,h as defineCustomElement}
@@ -1 +1 @@
1
- import{h as o,proxyCustomElement as i,HTMLElement as e,createEvent as n,forceUpdate as t,Host as s,Fragment as r,transformTag as d}from"@stencil/core/internal/client";import{a as l,c as a,o as h,f as u,d as p}from"./floating-ui.dom.js";import{c}from"./clsx.js";import{t as m}from"./index.esm.js";import{g as b}from"./get-active-element.js";import{i as f}from"./i18n.js";import{i as g}from"./is-modified-event.js";import{d as v}from"./icon.js";import{d as w}from"./scrollable.js";import{v as x}from"./v4.js";const k={en:{"dso-header":{menu:"Menu",login:"Log in",logout:"Log out",help:"Help",overflowMenu:"More"}},nl:{"dso-header":{menu:"Menu",login:"Inloggen",logout:"Uitloggen",help:"Help",overflowMenu:"Meer",userHome:"Mijn Omgevingsloket"}}},y=({item:i,onClick:e,key:n,ref:t})=>o("li",{class:c({"dso-active":i.active}),key:n,ref:t},o("a",{href:i.url,"aria-current":i.active?"page":void 0,onClick:e},i.label)),C=i(class extends e{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.dsoHeaderClick=n(this,"dsoHeaderClick",7),this.mainMenu=[],this.compact="auto",this.authStatus="none",this.showHelp=!1,this.userHomeActive=!1,this.visibleMenuItemsCount=void 0,this.dropdownOptionsOffset=0,this.open=!1,this.escape=()=>{this.dropdownButtonElement?.focus(),this.toggleOptions()},this.keyDownHandler=o=>{if(!o.defaultPrevented&&this.open){switch(o.key){case"Tab":this.tabInPopup(this.tabbables(!0),o.shiftKey?-1:1);break;case"ArrowDown":this.tabInPopup(this.tabbables(!1),1);break;case"ArrowUp":this.tabInPopup(this.tabbables(!1),-1);break;case"Escape":this.escape();break;case" ":o.target instanceof e&&o.target.click();break;default:return}o.preventDefault()}},this.resetVisibleMenuItems=()=>{this.visibleMenuItemsCount=void 0},this.clickHandler=(o,i,e)=>{this.toggleOptions(!1),this.dsoHeaderClick.emit({originalEvent:o,isModifiedEvent:g(o),type:i,menuItem:e?.menuItem,url:e?.url??e?.menuItem?.url})},this.menuItemElementRefs=[],this.text=f((()=>this.host),k),this.flushResize=()=>{this.resizeFrameId=void 0,this.host.isConnected&&(this.resetVisibleMenuItems(),this.toggleOptions(!1),this.dropdownOptionsOffset=0,t(this.host))},this.scheduleResize=()=>{void 0===this.resizeFrameId&&(this.resizeFrameId=requestAnimationFrame(this.flushResize))},this.resizeObserver=new ResizeObserver((()=>{this.scheduleResize()})),this.focusOutListener=o=>{!this.open||o.relatedTarget instanceof e&&this.tabbables(!0).includes(o.relatedTarget)||this.toggleOptions(!1)}}mainMenuChanged(){this.resetVisibleMenuItems()}tabInPopup(o,i){let e=o.findIndex((o=>o===b()))+i;e>=o.length?e=0:e<0&&(e=o.length-1),o[e]?.focus()}get isCompact(){return"always"===this.compact||window.innerWidth<992}calculateOverflowMenuItemCount(o){const i=o.offsetWidth,e=this.menuItemElementRefs[this.menuItemElementRefs.length-1],n=this.userHomeMenuItemElementRef??e,t=this.dropdownMenuItemElementRef;if(!n||!t||!e)return this.menuItemElementRefs.length;const s=t.offsetLeft+t.offsetWidth-(e.offsetLeft+e.offsetWidth);if(n.offsetLeft+n.offsetWidth-s<=i)return this.menuItemElementRefs.length;const r=i-s-(this.userHomeMenuItemElementRef?this.userHomeMenuItemElementRef.offsetLeft+this.userHomeMenuItemElementRef.offsetWidth-(t.offsetLeft+t.offsetWidth):0),d=this.menuItemElementRefs.findIndex((o=>o&&o.offsetLeft+o.offsetWidth>r));return d<0?this.menuItemElementRefs.length:d}calculateDropdownOptionsOffset(){return this.dropdownElement?this.host.clientHeight-(this.dropdownElement?.getBoundingClientRect().bottom-this.host.getBoundingClientRect().top):0}get visibleMainMenuItems(){return"number"==typeof this.visibleMenuItemsCount?this.mainMenu.slice(0,this.visibleMenuItemsCount):this.mainMenu}get hiddenMainMenuItems(){return"number"==typeof this.visibleMenuItemsCount?this.mainMenu.slice(this.visibleMenuItemsCount):[]}connectedCallback(){this.resizeObserver.observe(this.host)}disconnectedCallback(){this.resizeObserver.disconnect(),void 0!==this.resizeFrameId&&(cancelAnimationFrame(this.resizeFrameId),this.resizeFrameId=void 0),this.toggleOptions(!1)}componentDidRender(){if(this.host.isConnected&&(this.isCompact&&this.dropdownElement&&(this.dropdownOptionsOffset=this.calculateDropdownOptionsOffset()),void 0===this.visibleMenuItemsCount&&this.navElement&&(this.visibleMenuItemsCount=this.calculateOverflowMenuItemCount(this.navElement)),this.popoverElement&&!this.cleanUp&&this.dropdownButtonElement)){const o=this.popoverElement;this.cleanUp=l(this.dropdownButtonElement,o,(()=>{this.dropdownButtonElement&&a(this.dropdownButtonElement,o,{strategy:"fixed",middleware:[h(this.dropdownOptionsOffset),u({padding:this.dropdownOptionsOffset}),p({apply({availableHeight:o,availableWidth:i,elements:e}){const n=e.floating.querySelector(".dropdown-menu-options")??e.floating;Object.assign(n.style,{maxHeight:o+"px",maxInlineSize:i+"px"})}})],placement:this.isCompact?"bottom-end":"bottom-start"}).then((({x:i,y:e})=>{Object.assign(o.style,{left:i+"px",top:e+"px"})}))}))}}render(){return o(s,{key:"bafceec3e7c095cb67f876e8b5ed7a817e7db8c1","is-compact":this.isCompact},o("div",{key:"bd6eaaede73b41374e9b11683c8fd94bf08c32f2",class:"dso-header"},o("div",{key:"20bbba41193597e3b97ef6fbc84f1518c0b47d2a",class:"logo-container"},o("slot",{key:"b78e8f54a29a296ff77f687fe792ae9311e2b44c",name:"logo"})),this.isCompact?this.renderCompact():this.renderNormal()))}tabbables(o){const i=this.dropdownElement?m(this.dropdownElement):[];return o?i:i.filter((o=>o!==this.dropdownButtonElement))}toggleOptions(o){this.open=o??!this.open,this.popoverElement?.isConnected&&this.popoverElement?.togglePopover(this.open),!this.open&&this.cleanUp&&(this.cleanUp(),this.cleanUp=void 0)}renderCompact(){return(this.mainMenu.length>0||this.userHomeUrl||"none"!==this.authStatus)&&o("div",{class:"dropdown"},o("div",{class:"dropdown-menu",onFocusout:this.focusOutListener,ref:o=>this.dropdownElement=o},o("button",{id:x(),type:"button",onClick:()=>this.toggleOptions(),ref:o=>this.dropdownButtonElement=o,"aria-haspopup":"menu","aria-expanded":this.open?"true":"false"},o("span",null,this.text("menu")),o("dso-icon",{icon:"chevron-down"})),o("div",{popover:"manual",ref:o=>this.popoverElement=o},o("dso-scrollable",{class:"dropdown-menu-options",role:"menu","aria-labelledby":this.dropdownButtonElement?.id,onKeyDown:this.keyDownHandler},o("ul",{role:"group"},this.mainMenu.map((i=>o(y,{item:i,onClick:o=>this.clickHandler(o,"menuItem",{menuItem:i}),key:i.label}))),this.userHomeUrl&&o("li",{role:"menuitem"},o("a",{href:this.userHomeUrl,onClick:o=>this.clickHandler(o,"userHome",{url:this.userHomeUrl})},this.text("userHome"))),this.userProfileUrl&&this.userProfileName&&"loggedIn"===this.authStatus&&o("li",{role:"menuitem"},o("a",{href:this.userProfileUrl,onClick:o=>this.clickHandler(o,"profile",{url:this.userProfileUrl})},this.userProfileName,o("span",{class:"profile-label"}," - Mijn profiel"))),"loggedOut"===this.authStatus&&o("li",{role:"menuitem"},this.loginUrl?o("a",{href:this.loginUrl,onClick:o=>this.clickHandler(o,"login",{url:this.loginUrl})},this.text("login")):o("button",{type:"button",onClick:o=>this.clickHandler(o,"login")},this.text("login"))),"loggedIn"===this.authStatus&&o("li",{role:"menuitem"},this.logoutUrl?o("a",{href:this.logoutUrl,onClick:o=>this.clickHandler(o,"logout",{url:this.logoutUrl})},this.text("logout")):o("button",{type:"button",onClick:o=>this.clickHandler(o,"logout")},this.text("logout"))),this.showHelp&&o("li",{role:"menuitem"},this.helpUrl?o("a",{href:this.helpUrl,class:"dso-tertiary",onClick:o=>this.clickHandler(o,"help",{url:this.helpUrl})},o("span",null,this.text("help")),o("dso-icon",{icon:"help-outline"})):o("button",{type:"button",class:"dso-tertiary",onClick:o=>this.clickHandler(o,"help")},o("span",null,this.text("help")),o("dso-icon",{icon:"help-outline"}))))))))}renderNormal(){return this.menuItemElementRefs=[],o(r,null,o("div",{class:"dso-header-session"},this.userProfileUrl&&this.userProfileName&&"loggedIn"===this.authStatus&&o("div",{class:"profile"},o("a",{href:this.userProfileUrl,class:"dso-tertiary",onClick:o=>this.clickHandler(o,"profile",{url:this.userProfileUrl})},this.userProfileName)),"loggedOut"===this.authStatus&&o("div",{class:"login"},this.loginUrl?o("a",{href:this.loginUrl,class:"dso-tertiary",onClick:o=>this.clickHandler(o,"login",{url:this.loginUrl})},this.text("login")):o("button",{class:"dso-tertiary",type:"button",onClick:o=>this.clickHandler(o,"login")},this.text("login"))),"loggedIn"===this.authStatus&&o("div",{class:"logout"},this.logoutUrl?o("a",{href:this.logoutUrl,class:"dso-tertiary",onClick:o=>this.clickHandler(o,"logout",{url:this.logoutUrl})},this.text("logout")):o("button",{class:"dso-tertiary",type:"button",onClick:o=>this.clickHandler(o,"logout")},this.text("logout"))),this.showHelp&&o("div",{class:"help"},this.helpUrl?o("a",{href:this.helpUrl,class:"dso-tertiary",onClick:o=>this.clickHandler(o,"help",{url:this.helpUrl})},o("span",null,this.text("help")),o("dso-icon",{icon:"help-outline"})):o("button",{class:"dso-tertiary",type:"button",onClick:o=>this.clickHandler(o,"help")},o("span",null,this.text("help")),o("dso-icon",{icon:"help-outline"})))),(this.mainMenu.length>0||this.userHomeUrl)&&o("nav",{class:"dso-navbar"},o("ul",{class:c("dso-nav","dso-nav-main",{ready:void 0!==this.visibleMenuItemsCount}),ref:o=>this.navElement=o},this.visibleMainMenuItems.map(((i,e)=>o(y,{item:i,onClick:o=>this.clickHandler(o,"menuItem",{menuItem:i}),key:i.label,ref:o=>this.menuItemElementRefs[e]=o}))),(void 0===this.visibleMenuItemsCount||this.hiddenMainMenuItems.length>0)&&o("li",{"aria-hidden":void 0===this.visibleMenuItemsCount,ref:o=>this.dropdownMenuItemElementRef=o,class:"dropdown-menu-item"},o("div",{class:"dropdown-menu",onFocusout:this.focusOutListener,ref:o=>this.dropdownElement=o},o("button",{id:x(),type:"button",onClick:()=>this.toggleOptions(),ref:o=>this.dropdownButtonElement=o,"aria-haspopup":"menu","aria-expanded":this.open?"true":"false"},o("span",null,this.text("overflowMenu")),o("dso-icon",{icon:"chevron-down",class:"main-menu-item-icon"})),o("div",{popover:"manual",ref:o=>this.popoverElement=o},o("div",{class:"dropdown-menu-options",role:"menu","aria-labelledby":this.dropdownButtonElement?.id,onKeyDown:this.keyDownHandler},o("ul",null,this.hiddenMainMenuItems.map((i=>o(y,{item:i,onClick:o=>this.clickHandler(o,"menuItem",{menuItem:i}),key:i.label})))))))),this.userHomeUrl&&o("li",{class:c("menu-user-home",{"dso-active":this.userHomeActive}),ref:o=>this.userHomeMenuItemElementRef=o},o("a",{href:this.userHomeUrl,"aria-current":this.userHomeActive?"page":void 0,onClick:o=>this.clickHandler(o,"userHome",{url:this.userHomeUrl})},o("dso-icon",{icon:"user-outline",class:"main-menu-item-icon"}),this.text("userHome"))))))}get host(){return this}static get watchers(){return{mainMenu:[{mainMenuChanged:0}]}}static get style(){return"*,*::after,*::before{box-sizing:border-box}:host{display:block}:host([is-compact]) ::slotted([slot=logo]){--_dso-logo-block-size:2.5rem !important}:host([is-compact]) .dso-header{flex-wrap:nowrap}:host([is-compact]) .dropdown-menu .dropdown-menu-options{inline-size:100%}:host(:not([is-compact])) .dso-header{align-items:center}:host(:not([is-compact])) .dropdown-menu .dropdown-menu-options{inline-size:375px}div[popover]{margin:0 !important;border:0;padding:0;background-color:transparent;overflow:unset;inline-size:max-content}.dso-header{border-block-end:1px solid #ccc;display:flex;flex-wrap:wrap;position:relative}.dso-header .dso-nav{border:0}.logo-container{flex:1 1 12.5rem;margin-inline-end:24px;padding-block-end:16px;padding-block-start:16px}.dso-header-session{display:flex;align-items:center;margin-inline-start:auto}.dso-header-session .profile .dso-tertiary,.dso-header-session .login .dso-tertiary,.dso-header-session .logout .dso-tertiary,.dso-header-session .help .dso-tertiary{display:flex;cursor:pointer;border:0;background-color:transparent;padding-inline:0;outline-offset:2px;font-family:Asap, sans-serif;color:#39870c;font-size:1rem;font-weight:600;line-height:1.5;text-decoration:none}.dso-header-session .profile .dso-tertiary:hover,.dso-header-session .login .dso-tertiary:hover,.dso-header-session .logout .dso-tertiary:hover,.dso-header-session .help .dso-tertiary:hover{text-decoration:underline}.dso-header-session .profile+.logout,.dso-header-session .logout+.help,.dso-header-session .login+.help{border-inline-start:3px solid #ccc;margin-inline-start:8px;padding-inline-start:8px}.dso-header-session .help a,.dso-header-session .help button{display:flex}.dso-navbar{flex-basis:100%;max-inline-size:100%;position:relative}.dropdown-menu button{align-items:center;background-color:transparent;border:0;color:#39870c;display:flex;font-family:Asap, sans-serif;font-size:1rem;font-weight:600;line-height:normal;letter-spacing:inherit;position:relative}.dropdown-menu button::after{margin-inline-start:8px;position:absolute;inset-inline-end:0;inset-block-start:50%;transform:translateY(-50%)}.dropdown-menu button:hover,.dropdown-menu button:active{cursor:pointer;text-decoration:underline}.dropdown-menu button dso-icon{inline-size:24px;block-size:24px;margin-inline-start:8px;padding-block-start:2px}.dropdown-menu button[aria-expanded=true] dso-icon{transform:rotate(180deg)}.dropdown-menu .dropdown-menu-options{box-sizing:border-box;background-clip:padding-box;background-color:#fff;border:0;border-radius:0;box-shadow:0 8px 10px 1px rgba(0, 0, 0, 0.4);font-size:1rem;min-inline-size:160px;padding-inline:0;z-index:220}.dropdown-menu .dropdown-menu-options ul{margin:0;padding:0;list-style:none}.dropdown-menu .dropdown-menu-options ul:not(:last-child){border-block-end:1px solid #e5e5e5;margin-block-end:11px;padding-block-end:11px}.dropdown-menu .dropdown-menu-options ul li{list-style:none}.dropdown-menu .dropdown-menu-options ul li a,.dropdown-menu .dropdown-menu-options ul li button{text-decoration:none}.dropdown-menu .dropdown-menu-options ul li a:hover,.dropdown-menu .dropdown-menu-options ul li a:focus-visible,.dropdown-menu .dropdown-menu-options ul li a:active,.dropdown-menu .dropdown-menu-options ul li button:hover,.dropdown-menu .dropdown-menu-options ul li button:focus-visible,.dropdown-menu .dropdown-menu-options ul li button:active{text-decoration:underline}.dropdown-menu .dropdown-menu-options ul li a,.dropdown-menu .dropdown-menu-options ul li button{clear:both;color:#275937;display:block;font-size:1.25rem;font-weight:400;line-height:1.5;padding:16px;text-decoration:none;white-space:nowrap}.dropdown-menu .dropdown-menu-options ul li a:hover,.dropdown-menu .dropdown-menu-options ul li a:focus,.dropdown-menu .dropdown-menu-options ul li button:hover,.dropdown-menu .dropdown-menu-options ul li button:focus{background-color:#39870c;border-color:#39870c;color:#fff;text-decoration:none}.dropdown-menu .dropdown-menu-options ul li a:focus-visible,.dropdown-menu .dropdown-menu-options ul li button:focus-visible{background-color:#39870c;color:#fff}.dropdown-menu .dropdown-menu-options ul li a:hover,.dropdown-menu .dropdown-menu-options ul li a:hover:visited,.dropdown-menu .dropdown-menu-options ul li button:hover,.dropdown-menu .dropdown-menu-options ul li button:hover:visited{color:#275937}.dropdown-menu .dropdown-menu-options ul li a:hover,.dropdown-menu .dropdown-menu-options ul li button:hover{background-color:#fff;text-decoration:underline}.dropdown-menu .dropdown-menu-options ul li a:visited,.dropdown-menu .dropdown-menu-options ul li button:visited{color:#fff}.dropdown-menu .dropdown-menu-options ul li a:visited:not(:hover):not(:focus):not(:focus-visible),.dropdown-menu .dropdown-menu-options ul li button:visited:not(:hover):not(:focus):not(:focus-visible){color:#275937}.dropdown-menu .dropdown-menu-options ul li.dso-active a{font-weight:600}.dropdown-menu .dropdown-menu-options ul li+li{border-block-start:1px solid #ccc}.dropdown{margin-inline-start:auto;display:flex;align-items:center}.dropdown .dropdown-menu{position:static}.dropdown .dropdown-menu .dropdown-menu-options{inset-inline-end:0;inset-block-start:100%;box-shadow:0 8px 10px 1px rgba(0, 0, 0, 0.4)}.dso-nav.ready .menu-user-home{margin-inline-start:auto}.dso-nav{align-items:end;column-gap:32px;display:flex;list-style:none;margin-block-end:0;margin-block-start:0;padding-inline-start:0}.dso-nav>li{margin-block-end:4px}.dso-nav>li>a{display:block}.dso-nav>li>a,.dso-nav>li>a:hover,.dso-nav>li>a:focus,.dso-nav>li>a:visited{color:#275937}.dso-nav>li.dso-active,.dso-nav>li.is-active{margin-block-end:0}.dso-nav>li.dso-active>a,.dso-nav>li.is-active>a{border-block-end:4px solid #8b4a6a;font-weight:bold}.dso-nav.dso-nav-main{display:flex !important}.dso-nav.dso-nav-main>li>a{text-decoration:none}.dso-nav.dso-nav-main>li>a:hover,.dso-nav.dso-nav-main>li>a:focus-visible,.dso-nav.dso-nav-main>li>a:active{text-decoration:underline}.dso-nav.dso-nav-main>li>a{font-size:1.25em;line-height:1;padding-block:16px;padding-inline:0;white-space:nowrap}.dso-nav.dso-nav-main .dropdown-menu .dropdown-menu-options{inset-inline-start:-1rem !important;inset-block-start:3px !important}.dso-nav.dso-nav-main .dropdown-menu button{font-size:1.25em;line-height:1;padding-block:16px;padding-inline:0;align-items:flex-end;color:#275937}.dso-nav.dso-nav-main .dropdown-menu button:hover,.dso-nav.dso-nav-main .dropdown-menu button:active{cursor:pointer;text-decoration:underline}.dso-nav.dso-nav-main .dropdown-menu button::after{margin-inline-start:8px;position:absolute;inset-inline-end:0px;inset-block-start:auto;transform:none}.dso-nav .main-menu-item-icon{block-size:1em;margin-inline-end:8px;position:relative;inset-block-start:-2px;inline-size:1.2em}.dso-nav .dropdown-menu-item .main-menu-item-icon{margin-inline-end:0}"}},[257,"dso-header",{mainMenu:[16],compact:[1],authStatus:[1,"auth-status"],loginUrl:[1,"login-url"],logoutUrl:[1,"logout-url"],showHelp:[4,"show-help"],helpUrl:[1,"help-url"],userProfileName:[1,"user-profile-name"],userProfileUrl:[1,"user-profile-url"],userHomeUrl:[1,"user-home-url"],userHomeActive:[4,"user-home-active"],visibleMenuItemsCount:[32],dropdownOptionsOffset:[32],open:[32]},void 0,{mainMenu:[{mainMenuChanged:0}]}]),M=C,z=function(){"undefined"!=typeof customElements&&["dso-header","dso-icon","dso-scrollable"].forEach((o=>{switch(o){case"dso-header":customElements.get(d(o))||customElements.define(d(o),C);break;case"dso-icon":customElements.get(d(o))||v();break;case"dso-scrollable":customElements.get(d(o))||w()}}))};export{M as DsoHeader,z as defineCustomElement}
1
+ import{h as o,proxyCustomElement as i,HTMLElement as e,createEvent as n,forceUpdate as t,Host as s,Fragment as r,transformTag as d}from"@stencil/core/internal/client";import{a,c as l,o as h,f as u,d as p}from"./floating-ui.dom.js";import{c as m}from"./clsx.js";import{t as c}from"./index.esm.js";import{g as b}from"./get-active-element.js";import{i as f}from"./i18n.js";import{i as v}from"./is-modified-event.js";import{d as g}from"./icon.js";import{d as w}from"./scrollable.js";import{v as x}from"./v4.js";const k={en:{"dso-header":{menu:"Menu",login:"Log in",logout:"Log out",help:"Help",overflowMenu:"More"}},nl:{"dso-header":{menu:"Menu",login:"Inloggen",logout:"Uitloggen",help:"Help",overflowMenu:"Meer",userHome:"Mijn Omgevingsloket"}}},y=({item:i,onClick:e,key:n,ref:t})=>o("li",{class:m({"dso-active":i.active}),key:n,ref:t},o("a",{href:i.url,"aria-current":i.active?"page":void 0,onClick:e},i.label)),C=i(class extends e{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow(),this.dsoHeaderClick=n(this,"dsoHeaderClick",7),this.mainMenu=[],this.compact="auto",this.authStatus="none",this.showHelp=!1,this.userHomeActive=!1,this.visibleMenuItemsCount=void 0,this.dropdownOptionsOffset=0,this.open=!1,this.escape=()=>{this.dropdownButtonElement?.focus(),this.toggleOptions()},this.keyDownHandler=o=>{if(!o.defaultPrevented&&this.open){switch(o.key){case"Tab":this.tabInPopup(this.tabbables(!0),o.shiftKey?-1:1);break;case"ArrowDown":this.tabInPopup(this.tabbables(!1),1);break;case"ArrowUp":this.tabInPopup(this.tabbables(!1),-1);break;case"Escape":this.escape();break;case" ":o.target instanceof e&&o.target.click();break;default:return}o.preventDefault()}},this.resetVisibleMenuItems=()=>{this.visibleMenuItemsCount=void 0},this.clickHandler=(o,i,e)=>{this.toggleOptions(!1),this.dsoHeaderClick.emit({originalEvent:o,isModifiedEvent:v(o),type:i,menuItem:e?.menuItem,url:e?.url??e?.menuItem?.url})},this.menuItemElementRefs=[],this.text=f((()=>this.host),k),this.flushResize=()=>{this.resizeFrameId=void 0,this.host.isConnected&&(this.resetVisibleMenuItems(),this.toggleOptions(!1),this.dropdownOptionsOffset=0,t(this.host))},this.scheduleResize=()=>{void 0===this.resizeFrameId&&(this.resizeFrameId=requestAnimationFrame(this.flushResize))},this.resizeObserver=new ResizeObserver((()=>{this.scheduleResize()})),this.focusOutListener=o=>{!this.open||o.relatedTarget instanceof e&&this.tabbables(!0).includes(o.relatedTarget)||this.toggleOptions(!1)}}mainMenuChanged(){this.resetVisibleMenuItems()}tabInPopup(o,i){let e=o.findIndex((o=>o===b()))+i;e>=o.length?e=0:e<0&&(e=o.length-1),o[e]?.focus()}get isCompact(){return"always"===this.compact||window.innerWidth<992}calculateOverflowMenuItemCount(o){const i=o.offsetWidth,e=this.menuItemElementRefs[this.menuItemElementRefs.length-1],n=this.userHomeMenuItemElementRef??e,t=this.dropdownMenuItemElementRef;if(!n||!t||!e)return this.menuItemElementRefs.length;const s=t.offsetLeft+t.offsetWidth-(e.offsetLeft+e.offsetWidth);if(n.offsetLeft+n.offsetWidth-s<=i)return this.menuItemElementRefs.length;const r=i-s-(this.userHomeMenuItemElementRef?this.userHomeMenuItemElementRef.offsetLeft+this.userHomeMenuItemElementRef.offsetWidth-(t.offsetLeft+t.offsetWidth):0),d=this.menuItemElementRefs.findIndex((o=>o&&o.offsetLeft+o.offsetWidth>r));return d<0?this.menuItemElementRefs.length:d}calculateDropdownOptionsOffset(){return this.dropdownElement?this.host.clientHeight-(this.dropdownElement?.getBoundingClientRect().bottom-this.host.getBoundingClientRect().top):0}get visibleMainMenuItems(){return"number"==typeof this.visibleMenuItemsCount?this.mainMenu.slice(0,this.visibleMenuItemsCount):this.mainMenu}get hiddenMainMenuItems(){return"number"==typeof this.visibleMenuItemsCount?this.mainMenu.slice(this.visibleMenuItemsCount):[]}connectedCallback(){this.resizeObserver.observe(this.host)}disconnectedCallback(){this.resizeObserver.disconnect(),void 0!==this.resizeFrameId&&(cancelAnimationFrame(this.resizeFrameId),this.resizeFrameId=void 0),this.toggleOptions(!1)}componentDidRender(){if(this.host.isConnected&&(this.isCompact&&this.dropdownElement&&(this.dropdownOptionsOffset=this.calculateDropdownOptionsOffset()),void 0===this.visibleMenuItemsCount&&this.navElement&&(this.visibleMenuItemsCount=this.calculateOverflowMenuItemCount(this.navElement)),this.open&&this.popoverElement&&!this.cleanUp&&this.dropdownButtonElement)){const o=this.popoverElement;let i=!0;const e=(i,e)=>{if(o.isConnected){if(this.pendingPopoverConstraints){const i=o.querySelector(".dropdown-menu-options")??o;Object.assign(i.style,{maxHeight:this.pendingPopoverConstraints.availableHeight+"px",maxInlineSize:this.pendingPopoverConstraints.availableWidth+"px"})}Object.assign(o.style,{left:i+"px",top:e+"px"})}},n=a(this.dropdownButtonElement,o,(()=>{this.dropdownButtonElement&&l(this.dropdownButtonElement,o,{strategy:"fixed",middleware:[h(this.dropdownOptionsOffset),u({padding:this.dropdownOptionsOffset}),p({apply:({availableHeight:o,availableWidth:i})=>{this.pendingPopoverConstraints={availableWidth:i,availableHeight:o}}})],placement:this.isCompact?"bottom-end":"bottom-start"}).then((({x:o,y:n})=>{if(i)return i=!1,void e(o,n);void 0!==this.popoverFrameId&&cancelAnimationFrame(this.popoverFrameId),this.popoverFrameId=requestAnimationFrame((()=>{this.popoverFrameId=void 0,e(o,n)}))}))}));this.cleanUp=()=>{void 0!==this.popoverFrameId&&(cancelAnimationFrame(this.popoverFrameId),this.popoverFrameId=void 0),n()}}}render(){return o(s,{key:"0ea04cc1432dd27da79f2fecaf342beb4486f99a","is-compact":this.isCompact},o("div",{key:"471e73275bf1d645fbcb83e35dc6bb5612a800ba",class:"dso-header"},o("div",{key:"795356c3f82e93df6ff699db5b36540aaee7e832",class:"logo-container"},o("slot",{key:"9dcdcdf2f5e6292fe31b25915d263e3505047312",name:"logo"})),this.isCompact?this.renderCompact():this.renderNormal()))}tabbables(o){const i=this.dropdownElement?c(this.dropdownElement):[];return o?i:i.filter((o=>o!==this.dropdownButtonElement))}toggleOptions(o){this.open=o??!this.open,this.popoverElement?.isConnected&&this.popoverElement?.togglePopover(this.open),!this.open&&this.cleanUp&&(this.cleanUp(),this.cleanUp=void 0)}renderCompact(){return(this.mainMenu.length>0||this.userHomeUrl||"none"!==this.authStatus)&&o("div",{class:"dropdown"},o("div",{class:"dropdown-menu",onFocusout:this.focusOutListener,ref:o=>this.dropdownElement=o},o("button",{id:x(),type:"button",onClick:()=>this.toggleOptions(),ref:o=>this.dropdownButtonElement=o,"aria-haspopup":"menu","aria-expanded":this.open?"true":"false"},o("span",null,this.text("menu")),o("dso-icon",{icon:"chevron-down"})),o("div",{popover:"manual",ref:o=>this.popoverElement=o},o("dso-scrollable",{class:"dropdown-menu-options",role:"menu","aria-labelledby":this.dropdownButtonElement?.id,onKeyDown:this.keyDownHandler},o("ul",{role:"group"},this.mainMenu.map((i=>o(y,{item:i,onClick:o=>this.clickHandler(o,"menuItem",{menuItem:i}),key:i.label}))),this.userHomeUrl&&o("li",{role:"menuitem"},o("a",{href:this.userHomeUrl,onClick:o=>this.clickHandler(o,"userHome",{url:this.userHomeUrl})},this.text("userHome"))),this.userProfileUrl&&this.userProfileName&&"loggedIn"===this.authStatus&&o("li",{role:"menuitem"},o("a",{href:this.userProfileUrl,onClick:o=>this.clickHandler(o,"profile",{url:this.userProfileUrl})},this.userProfileName,o("span",{class:"profile-label"}," - Mijn profiel"))),"loggedOut"===this.authStatus&&o("li",{role:"menuitem"},this.loginUrl?o("a",{href:this.loginUrl,onClick:o=>this.clickHandler(o,"login",{url:this.loginUrl})},this.text("login")):o("button",{type:"button",onClick:o=>this.clickHandler(o,"login")},this.text("login"))),"loggedIn"===this.authStatus&&o("li",{role:"menuitem"},this.logoutUrl?o("a",{href:this.logoutUrl,onClick:o=>this.clickHandler(o,"logout",{url:this.logoutUrl})},this.text("logout")):o("button",{type:"button",onClick:o=>this.clickHandler(o,"logout")},this.text("logout"))),this.showHelp&&o("li",{role:"menuitem"},this.helpUrl?o("a",{href:this.helpUrl,class:"dso-tertiary",onClick:o=>this.clickHandler(o,"help",{url:this.helpUrl})},o("span",null,this.text("help")),o("dso-icon",{icon:"help-outline"})):o("button",{type:"button",class:"dso-tertiary",onClick:o=>this.clickHandler(o,"help")},o("span",null,this.text("help")),o("dso-icon",{icon:"help-outline"}))))))))}renderNormal(){return this.menuItemElementRefs=[],o(r,null,o("div",{class:"dso-header-session"},this.userProfileUrl&&this.userProfileName&&"loggedIn"===this.authStatus&&o("div",{class:"profile"},o("a",{href:this.userProfileUrl,class:"dso-tertiary",onClick:o=>this.clickHandler(o,"profile",{url:this.userProfileUrl})},this.userProfileName)),"loggedOut"===this.authStatus&&o("div",{class:"login"},this.loginUrl?o("a",{href:this.loginUrl,class:"dso-tertiary",onClick:o=>this.clickHandler(o,"login",{url:this.loginUrl})},this.text("login")):o("button",{class:"dso-tertiary",type:"button",onClick:o=>this.clickHandler(o,"login")},this.text("login"))),"loggedIn"===this.authStatus&&o("div",{class:"logout"},this.logoutUrl?o("a",{href:this.logoutUrl,class:"dso-tertiary",onClick:o=>this.clickHandler(o,"logout",{url:this.logoutUrl})},this.text("logout")):o("button",{class:"dso-tertiary",type:"button",onClick:o=>this.clickHandler(o,"logout")},this.text("logout"))),this.showHelp&&o("div",{class:"help"},this.helpUrl?o("a",{href:this.helpUrl,class:"dso-tertiary",onClick:o=>this.clickHandler(o,"help",{url:this.helpUrl})},o("span",null,this.text("help")),o("dso-icon",{icon:"help-outline"})):o("button",{class:"dso-tertiary",type:"button",onClick:o=>this.clickHandler(o,"help")},o("span",null,this.text("help")),o("dso-icon",{icon:"help-outline"})))),(this.mainMenu.length>0||this.userHomeUrl)&&o("nav",{class:"dso-navbar"},o("ul",{class:m("dso-nav","dso-nav-main",{ready:void 0!==this.visibleMenuItemsCount}),ref:o=>this.navElement=o},this.visibleMainMenuItems.map(((i,e)=>o(y,{item:i,onClick:o=>this.clickHandler(o,"menuItem",{menuItem:i}),key:i.label,ref:o=>this.menuItemElementRefs[e]=o}))),(void 0===this.visibleMenuItemsCount||this.hiddenMainMenuItems.length>0)&&o("li",{"aria-hidden":void 0===this.visibleMenuItemsCount,ref:o=>this.dropdownMenuItemElementRef=o,class:"dropdown-menu-item"},o("div",{class:"dropdown-menu",onFocusout:this.focusOutListener,ref:o=>this.dropdownElement=o},o("button",{id:x(),type:"button",onClick:()=>this.toggleOptions(),ref:o=>this.dropdownButtonElement=o,"aria-haspopup":"menu","aria-expanded":this.open?"true":"false"},o("span",null,this.text("overflowMenu")),o("dso-icon",{icon:"chevron-down",class:"main-menu-item-icon"})),o("div",{popover:"manual",ref:o=>this.popoverElement=o},o("div",{class:"dropdown-menu-options",role:"menu","aria-labelledby":this.dropdownButtonElement?.id,onKeyDown:this.keyDownHandler},o("ul",null,this.hiddenMainMenuItems.map((i=>o(y,{item:i,onClick:o=>this.clickHandler(o,"menuItem",{menuItem:i}),key:i.label})))))))),this.userHomeUrl&&o("li",{class:m("menu-user-home",{"dso-active":this.userHomeActive}),ref:o=>this.userHomeMenuItemElementRef=o},o("a",{href:this.userHomeUrl,"aria-current":this.userHomeActive?"page":void 0,onClick:o=>this.clickHandler(o,"userHome",{url:this.userHomeUrl})},o("dso-icon",{icon:"user-outline",class:"main-menu-item-icon"}),this.text("userHome"))))))}get host(){return this}static get watchers(){return{mainMenu:[{mainMenuChanged:0}]}}static get style(){return"*,*::after,*::before{box-sizing:border-box}:host{display:block}:host([is-compact]) ::slotted([slot=logo]){--_dso-logo-block-size:2.5rem !important}:host([is-compact]) .dso-header{flex-wrap:nowrap}:host([is-compact]) .dropdown-menu .dropdown-menu-options{inline-size:100%}:host(:not([is-compact])) .dso-header{align-items:center}:host(:not([is-compact])) .dropdown-menu .dropdown-menu-options{inline-size:375px}div[popover]{margin:0 !important;border:0;padding:0;background-color:transparent;overflow:unset;inline-size:max-content}.dso-header{border-block-end:1px solid #ccc;display:flex;flex-wrap:wrap;position:relative}.dso-header .dso-nav{border:0}.logo-container{flex:1 1 12.5rem;margin-inline-end:24px;padding-block-end:16px;padding-block-start:16px}.dso-header-session{display:flex;align-items:center;margin-inline-start:auto}.dso-header-session .profile .dso-tertiary,.dso-header-session .login .dso-tertiary,.dso-header-session .logout .dso-tertiary,.dso-header-session .help .dso-tertiary{display:flex;cursor:pointer;border:0;background-color:transparent;padding-inline:0;outline-offset:2px;font-family:Asap, sans-serif;color:#39870c;font-size:1rem;font-weight:600;line-height:1.5;text-decoration:none}.dso-header-session .profile .dso-tertiary:hover,.dso-header-session .login .dso-tertiary:hover,.dso-header-session .logout .dso-tertiary:hover,.dso-header-session .help .dso-tertiary:hover{text-decoration:underline}.dso-header-session .profile+.logout,.dso-header-session .logout+.help,.dso-header-session .login+.help{border-inline-start:3px solid #ccc;margin-inline-start:8px;padding-inline-start:8px}.dso-header-session .help a,.dso-header-session .help button{display:flex}.dso-navbar{flex-basis:100%;max-inline-size:100%;position:relative}.dropdown-menu button{align-items:center;background-color:transparent;border:0;color:#39870c;display:flex;font-family:Asap, sans-serif;font-size:1rem;font-weight:600;line-height:normal;letter-spacing:inherit;position:relative}.dropdown-menu button::after{margin-inline-start:8px;position:absolute;inset-inline-end:0;inset-block-start:50%;transform:translateY(-50%)}.dropdown-menu button:hover,.dropdown-menu button:active{cursor:pointer;text-decoration:underline}.dropdown-menu button dso-icon{inline-size:24px;block-size:24px;margin-inline-start:8px;padding-block-start:2px}.dropdown-menu button[aria-expanded=true] dso-icon{transform:rotate(180deg)}.dropdown-menu .dropdown-menu-options{box-sizing:border-box;background-clip:padding-box;background-color:#fff;border:0;border-radius:0;box-shadow:0 8px 10px 1px rgba(0, 0, 0, 0.4);font-size:1rem;min-inline-size:160px;padding-inline:0;z-index:220}.dropdown-menu .dropdown-menu-options ul{margin:0;padding:0;list-style:none}.dropdown-menu .dropdown-menu-options ul:not(:last-child){border-block-end:1px solid #e5e5e5;margin-block-end:11px;padding-block-end:11px}.dropdown-menu .dropdown-menu-options ul li{list-style:none}.dropdown-menu .dropdown-menu-options ul li a,.dropdown-menu .dropdown-menu-options ul li button{text-decoration:none}.dropdown-menu .dropdown-menu-options ul li a:hover,.dropdown-menu .dropdown-menu-options ul li a:focus-visible,.dropdown-menu .dropdown-menu-options ul li a:active,.dropdown-menu .dropdown-menu-options ul li button:hover,.dropdown-menu .dropdown-menu-options ul li button:focus-visible,.dropdown-menu .dropdown-menu-options ul li button:active{text-decoration:underline}.dropdown-menu .dropdown-menu-options ul li a,.dropdown-menu .dropdown-menu-options ul li button{clear:both;color:#275937;display:block;font-size:1.25rem;font-weight:400;line-height:1.5;padding:16px;text-decoration:none;white-space:nowrap}.dropdown-menu .dropdown-menu-options ul li a:hover,.dropdown-menu .dropdown-menu-options ul li a:focus,.dropdown-menu .dropdown-menu-options ul li button:hover,.dropdown-menu .dropdown-menu-options ul li button:focus{background-color:#39870c;border-color:#39870c;color:#fff;text-decoration:none}.dropdown-menu .dropdown-menu-options ul li a:focus-visible,.dropdown-menu .dropdown-menu-options ul li button:focus-visible{background-color:#39870c;color:#fff}.dropdown-menu .dropdown-menu-options ul li a:hover,.dropdown-menu .dropdown-menu-options ul li a:hover:visited,.dropdown-menu .dropdown-menu-options ul li button:hover,.dropdown-menu .dropdown-menu-options ul li button:hover:visited{color:#275937}.dropdown-menu .dropdown-menu-options ul li a:hover,.dropdown-menu .dropdown-menu-options ul li button:hover{background-color:#fff;text-decoration:underline}.dropdown-menu .dropdown-menu-options ul li a:visited,.dropdown-menu .dropdown-menu-options ul li button:visited{color:#fff}.dropdown-menu .dropdown-menu-options ul li a:visited:not(:hover):not(:focus):not(:focus-visible),.dropdown-menu .dropdown-menu-options ul li button:visited:not(:hover):not(:focus):not(:focus-visible){color:#275937}.dropdown-menu .dropdown-menu-options ul li.dso-active a{font-weight:600}.dropdown-menu .dropdown-menu-options ul li+li{border-block-start:1px solid #ccc}.dropdown{margin-inline-start:auto;display:flex;align-items:center}.dropdown .dropdown-menu{position:static}.dropdown .dropdown-menu .dropdown-menu-options{inset-inline-end:0;inset-block-start:100%;box-shadow:0 8px 10px 1px rgba(0, 0, 0, 0.4)}.dso-nav.ready .menu-user-home{margin-inline-start:auto}.dso-nav{align-items:end;column-gap:32px;display:flex;list-style:none;margin-block-end:0;margin-block-start:0;padding-inline-start:0}.dso-nav>li{margin-block-end:4px}.dso-nav>li>a{display:block}.dso-nav>li>a,.dso-nav>li>a:hover,.dso-nav>li>a:focus,.dso-nav>li>a:visited{color:#275937}.dso-nav>li.dso-active,.dso-nav>li.is-active{margin-block-end:0}.dso-nav>li.dso-active>a,.dso-nav>li.is-active>a{border-block-end:4px solid #8b4a6a;font-weight:bold}.dso-nav.dso-nav-main{display:flex !important}.dso-nav.dso-nav-main>li>a{text-decoration:none}.dso-nav.dso-nav-main>li>a:hover,.dso-nav.dso-nav-main>li>a:focus-visible,.dso-nav.dso-nav-main>li>a:active{text-decoration:underline}.dso-nav.dso-nav-main>li>a{font-size:1.25em;line-height:1;padding-block:16px;padding-inline:0;white-space:nowrap}.dso-nav.dso-nav-main .dropdown-menu .dropdown-menu-options{inset-inline-start:-1rem !important;inset-block-start:3px !important}.dso-nav.dso-nav-main .dropdown-menu button{font-size:1.25em;line-height:1;padding-block:16px;padding-inline:0;align-items:flex-end;color:#275937}.dso-nav.dso-nav-main .dropdown-menu button:hover,.dso-nav.dso-nav-main .dropdown-menu button:active{cursor:pointer;text-decoration:underline}.dso-nav.dso-nav-main .dropdown-menu button::after{margin-inline-start:8px;position:absolute;inset-inline-end:0px;inset-block-start:auto;transform:none}.dso-nav .main-menu-item-icon{block-size:1em;margin-inline-end:8px;position:relative;inset-block-start:-2px;inline-size:1.2em}.dso-nav .dropdown-menu-item .main-menu-item-icon{margin-inline-end:0}"}},[257,"dso-header",{mainMenu:[16],compact:[1],authStatus:[1,"auth-status"],loginUrl:[1,"login-url"],logoutUrl:[1,"logout-url"],showHelp:[4,"show-help"],helpUrl:[1,"help-url"],userProfileName:[1,"user-profile-name"],userProfileUrl:[1,"user-profile-url"],userHomeUrl:[1,"user-home-url"],userHomeActive:[4,"user-home-active"],visibleMenuItemsCount:[32],dropdownOptionsOffset:[32],open:[32]},void 0,{mainMenu:[{mainMenuChanged:0}]}]),M=C,z=function(){"undefined"!=typeof customElements&&["dso-header","dso-icon","dso-scrollable"].forEach((o=>{switch(o){case"dso-header":customElements.get(d(o))||customElements.define(d(o),C);break;case"dso-icon":customElements.get(d(o))||g();break;case"dso-scrollable":customElements.get(d(o))||w()}}))};export{M as DsoHeader,z as defineCustomElement}
@@ -1 +1 @@
1
- import{proxyCustomElement as o,HTMLElement as r,h as t,Host as n,transformTag as e}from"@stencil/core/internal/client";const i=o(class extends r{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow()}render(){const o=this.step||!!this.element.querySelector("[slot=icon]");return t(n,{key:"3293b12fe82396580186ef78dee0165063fa1a04","has-counter":o},o&&t("div",{key:"b8c864d67fcd3ea0d84a2037648ca72ce47103c4",class:"dso-step-counter","aria-hidden":"true"},this.step??t("slot",{key:"df482099bbb3e4b303238c36d2afcde6dfa6bba4",name:"icon"})),t("slot",{key:"a68efd769d984c6d936d4b0db53d7532ed648b35"}))}get element(){return this}static get style(){return"*,*::after,*::before{box-sizing:border-box}.dso-step-counter{background-color:#275937;border:8px solid #79b929;border-radius:50%;box-sizing:content-box;inset-inline-start:16px;position:absolute;inset-block-start:-1.5rem;block-size:2rem;inline-size:2rem;color:#fff;font-size:1.25rem;font-weight:500;line-height:2rem;text-align:center}:host{display:block;container-type:inline-size;position:relative;z-index:1;margin-block-start:16px;padding:16px;margin-block-end:24px;block-size:var(--_dso-highlight-box-block-size, unset);min-block-size:var(--_dso-highlight-box-min-block-size, unset);--_dso-link-list-margin-block-end:0;--_dso-rich-content-margin-block-start:0}:host([has-counter]){block-size:var(--_dso-highlight-box-counter-block-size, unset);margin-block-start:48px;padding-block-start:2.5rem;position:relative}:host(:not([has-counter])){block-size:var(--_dso-highlight-box-nocounter-block-size, unset)}:host(:not([white],[yellow],[border],[green])){--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-zwart);--_dso-link-extern-icon:var(--_dso-di-external-link-zwart);--_dso-link-phone-icon:var(--_dso-di-call-zwart);--_dso-link-mail-icon:var(--_dso-di-mail-outline-zwart);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-zwart);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:#1f472c;--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:#275937;--_dso-icon-button-secondary-toggled-hover-background-color:#1b3e27;--_dso-icon-button-tertiary-color:#191919;--_dso-icon-button-tertiary-hover-color:#4c4c4c;--_dso-icon-button-tertiary-active-color:#1f472c;--_dso-icon-button-tertiary-toggled-color:#275937;--_dso-icon-button-tertiary-toggled-hover-color:#1b3e27;--_dso-icon-button-tertiary-disabled-color:#999;--_dso-button-tertiary-download-icon:var(--_dso-di-download-zwart);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-zwart);--_dso-button-tertiary-color:#191919;--_dso-button-tertiary-hover-color:#4c4c4c;--_dso-button-tertiary-active-color:#173521;--_dso-button-tertiary-disabled-color:#999;background-color:#f2f2f2;color:#191919}:host([grey]){--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-zwart);--_dso-link-extern-icon:var(--_dso-di-external-link-zwart);--_dso-link-phone-icon:var(--_dso-di-call-zwart);--_dso-link-mail-icon:var(--_dso-di-mail-outline-zwart);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-zwart);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:#1f472c;--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:#275937;--_dso-icon-button-secondary-toggled-hover-background-color:#1b3e27;--_dso-icon-button-tertiary-color:#191919;--_dso-icon-button-tertiary-hover-color:#4c4c4c;--_dso-icon-button-tertiary-active-color:#1f472c;--_dso-icon-button-tertiary-toggled-color:#275937;--_dso-icon-button-tertiary-toggled-hover-color:#1b3e27;--_dso-icon-button-tertiary-disabled-color:#999;--_dso-button-tertiary-download-icon:var(--_dso-di-download-zwart);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-zwart);--_dso-button-tertiary-color:#191919;--_dso-button-tertiary-hover-color:#4c4c4c;--_dso-button-tertiary-active-color:#173521;--_dso-button-tertiary-disabled-color:#999;background-color:#f2f2f2;color:#191919}:host([white]){--_dso-alert-success-border-color:initial;--_dso-alert-error-border-color:initial;--_dso-alert-info-border-color:initial;--_dso-alert-warning-border-color:initial;background-color:#fff;color:#191919}:host([yellow]){--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-zwart);--_dso-link-extern-icon:var(--_dso-di-external-link-zwart);--_dso-link-phone-icon:var(--_dso-di-call-zwart);--_dso-link-mail-icon:var(--_dso-di-mail-outline-zwart);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-zwart);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:#1f472c;--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:#275937;--_dso-icon-button-secondary-toggled-hover-background-color:#1b3e27;--_dso-icon-button-tertiary-color:#191919;--_dso-icon-button-tertiary-hover-color:#4c4c4c;--_dso-icon-button-tertiary-active-color:#1f472c;--_dso-icon-button-tertiary-toggled-color:#275937;--_dso-icon-button-tertiary-toggled-hover-color:#1b3e27;--_dso-icon-button-tertiary-disabled-color:#999;--_dso-button-tertiary-download-icon:var(--_dso-di-download-zwart);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-zwart);--_dso-button-tertiary-color:#191919;--_dso-button-tertiary-hover-color:#4c4c4c;--_dso-button-tertiary-active-color:#173521;--_dso-button-tertiary-disabled-color:#999;background-color:#f8f6cc;color:#191919}:host([green]){--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-zwart);--_dso-link-extern-icon:var(--_dso-di-external-link-zwart);--_dso-link-phone-icon:var(--_dso-di-call-zwart);--_dso-link-mail-icon:var(--_dso-di-mail-outline-zwart);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-zwart);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:#1f472c;--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:#275937;--_dso-icon-button-secondary-toggled-hover-background-color:#1b3e27;--_dso-icon-button-tertiary-color:#191919;--_dso-icon-button-tertiary-hover-color:#4c4c4c;--_dso-icon-button-tertiary-active-color:#1f472c;--_dso-icon-button-tertiary-toggled-color:#275937;--_dso-icon-button-tertiary-toggled-hover-color:#1b3e27;--_dso-icon-button-tertiary-disabled-color:#999;--_dso-button-tertiary-download-icon:var(--_dso-di-download-zwart);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-zwart);--_dso-button-tertiary-color:#191919;--_dso-button-tertiary-hover-color:#4c4c4c;--_dso-button-tertiary-active-color:#173521;--_dso-button-tertiary-disabled-color:#999;background-color:#ebf3e6;color:#191919}:host([drop-shadow]){box-shadow:0 4px 8px 0 rgba(0, 0, 0, 0.2)}:host([border]){border:1px solid #ccc;padding:15px}:host([border]:not([grey],[yellow])){--_dso-alert-success-border-color:initial;--_dso-alert-error-border-color:initial;--_dso-alert-info-border-color:initial;--_dso-alert-warning-border-color:initial;background-color:#fff;color:#191919}::slotted([slot=icon]){margin-block-start:0.25rem}::slotted(img.dso-highlight-box-banner){aspect-ratio:2.38/1;margin-inline-start:-16px;margin-inline-end:-16px;margin-block-start:-16px;margin-block-end:8px;object-fit:cover;inline-size:calc(100% + 32px);max-inline-size:unset !important}@container (min-width: 360px) and (max-width: 470px){::slotted(img.dso-highlight-box-banner){aspect-ratio:3/1}}@container (min-width: 471px){::slotted(img.dso-highlight-box-banner){aspect-ratio:3.5/1}}::slotted(:last-child){margin-block-end:0 !important}"}},[257,"dso-highlight-box",{yellow:[516],border:[516],white:[516],green:[516],dropShadow:[516,"drop-shadow"],step:[514]}]),d=i,c=function(){"undefined"!=typeof customElements&&["dso-highlight-box"].forEach((o=>{"dso-highlight-box"===o&&(customElements.get(e(o))||customElements.define(e(o),i))}))};export{d as DsoHighlightBox,c as defineCustomElement}
1
+ import{proxyCustomElement as o,HTMLElement as r,h as t,Host as e,transformTag as n}from"@stencil/core/internal/client";const i=o(class extends r{constructor(o){super(),!1!==o&&this.__registerHost(),this.__attachShadow()}render(){const o=this.step||!!this.element.querySelector("[slot=icon]");return t(e,{key:"3293b12fe82396580186ef78dee0165063fa1a04","has-counter":o},o&&t("div",{key:"b8c864d67fcd3ea0d84a2037648ca72ce47103c4",class:"dso-step-counter","aria-hidden":"true"},this.step??t("slot",{key:"df482099bbb3e4b303238c36d2afcde6dfa6bba4",name:"icon"})),t("slot",{key:"a68efd769d984c6d936d4b0db53d7532ed648b35"}))}get element(){return this}static get style(){return"*,*::after,*::before{box-sizing:border-box}.dso-step-counter{background-color:#275937;border:8px solid #79b929;border-radius:50%;box-sizing:content-box;inset-inline-start:16px;position:absolute;inset-block-start:-1.5rem;block-size:2rem;inline-size:2rem;color:#fff;font-size:1.25rem;font-weight:500;line-height:2rem;text-align:center}:host{display:block;container-type:inline-size;position:relative;z-index:1;margin-block-start:16px;padding:16px;margin-block-end:24px;block-size:var(--_dso-highlight-box-block-size, unset);min-block-size:var(--_dso-highlight-box-min-block-size, unset);--_dso-link-list-margin-block-end:0;--_dso-rich-content-margin-block-start:0}:host([has-counter]){block-size:var(--_dso-highlight-box-counter-block-size, unset);margin-block-start:48px;padding-block-start:2.5rem;position:relative}:host(:not([has-counter])){block-size:var(--_dso-highlight-box-nocounter-block-size, unset)}:host(:not([white],[yellow],[border],[green])){--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-zwart);--_dso-link-extern-icon:var(--_dso-di-external-link-zwart);--_dso-link-phone-icon:var(--_dso-di-call-zwart);--_dso-link-mail-icon:var(--_dso-di-mail-outline-zwart);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-zwart);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:#1f472c;--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:#275937;--_dso-icon-button-secondary-toggled-hover-background-color:#1b3e27;--_dso-icon-button-tertiary-color:#191919;--_dso-icon-button-tertiary-hover-color:#4c4c4c;--_dso-icon-button-tertiary-active-color:#1f472c;--_dso-icon-button-tertiary-toggled-color:#275937;--_dso-icon-button-tertiary-toggled-hover-color:#1b3e27;--_dso-icon-button-tertiary-disabled-color:#999;--_dso-button-tertiary-download-icon:var(--_dso-di-download-zwart);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-zwart);--_dso-button-tertiary-color:#191919;--_dso-button-tertiary-hover-color:#4c4c4c;--_dso-button-tertiary-active-color:#173521;--_dso-button-tertiary-disabled-color:#999;background-color:#f2f2f2;color:#191919}:host([grey]){--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-zwart);--_dso-link-extern-icon:var(--_dso-di-external-link-zwart);--_dso-link-phone-icon:var(--_dso-di-call-zwart);--_dso-link-mail-icon:var(--_dso-di-mail-outline-zwart);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-zwart);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:#1f472c;--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:#275937;--_dso-icon-button-secondary-toggled-hover-background-color:#1b3e27;--_dso-icon-button-tertiary-color:#191919;--_dso-icon-button-tertiary-hover-color:#4c4c4c;--_dso-icon-button-tertiary-active-color:#1f472c;--_dso-icon-button-tertiary-toggled-color:#275937;--_dso-icon-button-tertiary-toggled-hover-color:#1b3e27;--_dso-icon-button-tertiary-disabled-color:#999;--_dso-button-tertiary-download-icon:var(--_dso-di-download-zwart);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-zwart);--_dso-button-tertiary-color:#191919;--_dso-button-tertiary-hover-color:#4c4c4c;--_dso-button-tertiary-active-color:#173521;--_dso-button-tertiary-disabled-color:#999;background-color:#f2f2f2;color:#191919}:host([white]){--_dso-alert-success-border-color:initial;--_dso-alert-error-border-color:initial;--_dso-alert-info-border-color:initial;--_dso-alert-warning-border-color:initial;background-color:#fff;color:#191919}:host([yellow]){--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-zwart);--_dso-link-extern-icon:var(--_dso-di-external-link-zwart);--_dso-link-phone-icon:var(--_dso-di-call-zwart);--_dso-link-mail-icon:var(--_dso-di-mail-outline-zwart);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-zwart);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:#1f472c;--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:#275937;--_dso-icon-button-secondary-toggled-hover-background-color:#1b3e27;--_dso-icon-button-tertiary-color:#191919;--_dso-icon-button-tertiary-hover-color:#4c4c4c;--_dso-icon-button-tertiary-active-color:#1f472c;--_dso-icon-button-tertiary-toggled-color:#275937;--_dso-icon-button-tertiary-toggled-hover-color:#1b3e27;--_dso-icon-button-tertiary-disabled-color:#999;--_dso-button-tertiary-download-icon:var(--_dso-di-download-zwart);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-zwart);--_dso-button-tertiary-color:#191919;--_dso-button-tertiary-hover-color:#4c4c4c;--_dso-button-tertiary-active-color:#173521;--_dso-button-tertiary-disabled-color:#999;background-color:#f8f6cc;color:#191919}:host([green]){--_dso-alert-success-border-color:#39870c;--_dso-alert-error-border-color:#ce3f51;--_dso-alert-info-border-color:#6ca4d9;--_dso-alert-warning-border-color:#dcd400;--_dso-link-color:currentColor;--_dso-link-hover-color:currentColor;--_dso-link-visited-color:currentColor;--_dso-link-download-icon:var(--_dso-di-download-zwart);--_dso-link-extern-icon:var(--_dso-di-external-link-zwart);--_dso-link-phone-icon:var(--_dso-di-call-zwart);--_dso-link-mail-icon:var(--_dso-di-mail-outline-zwart);--_dso-link-list-chevron-icon:var(--_dso-di-chevron-right-zwart);--_dso-icon-button-secondary-active-color:#fff;--_dso-icon-button-secondary-active-background-color:#1f472c;--_dso-icon-button-secondary-toggled-color:#fff;--_dso-icon-button-secondary-toggled-background-color:#275937;--_dso-icon-button-secondary-toggled-hover-background-color:#1b3e27;--_dso-icon-button-tertiary-color:#191919;--_dso-icon-button-tertiary-hover-color:#4c4c4c;--_dso-icon-button-tertiary-active-color:#1f472c;--_dso-icon-button-tertiary-toggled-color:#275937;--_dso-icon-button-tertiary-toggled-hover-color:#1b3e27;--_dso-icon-button-tertiary-disabled-color:#999;--_dso-button-tertiary-download-icon:var(--_dso-di-download-zwart);--_dso-button-tertiary-external-link-icon:var(--_dso-di-external-link-zwart);--_dso-button-tertiary-color:#191919;--_dso-button-tertiary-hover-color:#4c4c4c;--_dso-button-tertiary-active-color:#173521;--_dso-button-tertiary-disabled-color:#999;background-color:#ebf3e6;color:#191919}:host([drop-shadow]){box-shadow:0 4px 8px 0 rgba(0, 0, 0, 0.2)}:host([border]){border:1px solid #ccc;padding:15px}:host([border]:not([grey],[yellow])){--_dso-alert-success-border-color:initial;--_dso-alert-error-border-color:initial;--_dso-alert-info-border-color:initial;--_dso-alert-warning-border-color:initial;background-color:#fff;color:#191919}::slotted([slot=icon]){margin-block-start:0.25rem}::slotted(img.dso-highlight-box-banner){--_dso-image-margin-inline:-16px -16px;--_dso-image-margin-block:-16px 8px;aspect-ratio:2.38/1;object-fit:cover;inline-size:calc(100% + 32px);max-inline-size:unset !important}@container (min-width: 360px) and (max-width: 470px){::slotted(img.dso-highlight-box-banner){aspect-ratio:3/1}}@container (min-width: 471px){::slotted(img.dso-highlight-box-banner){aspect-ratio:3.5/1}}::slotted(:last-child){margin-block-end:0 !important}"}},[257,"dso-highlight-box",{yellow:[516],border:[516],white:[516],green:[516],dropShadow:[516,"drop-shadow"],step:[514]}]),d=i,c=function(){"undefined"!=typeof customElements&&["dso-highlight-box"].forEach((o=>{"dso-highlight-box"===o&&(customElements.get(n(o))||customElements.define(n(o),i))}))};export{d as DsoHighlightBox,c as defineCustomElement}
@@ -1 +1 @@
1
- import{h as e,Fragment as t,proxyCustomElement as o,HTMLElement as s,createEvent as i,transformTag as n}from"@stencil/core/internal/client";import{c as r}from"./clsx.js";import{d as a}from"./icon.js";import{d as c}from"./progress-indicator.js";const l=({owner:o,ancestors:s,item:i,index:n,level:a,setSize:c})=>e("li",{key:i.id,class:r("tree-item",{"has-child":i.hasItems,"is-expanded":!!i.open&&!!i.items?.length}),role:"none"},e("div",{class:"tree-branch-control"},i.hasItems?e("div",{onClick:e=>o.itemClick(e,s,i)},e("dso-icon",{icon:i.open?"minus-square-outline":"plus-square-outline"})):e("dso-icon",null)),e("p",{class:r("tree-content",{active:i.active},{selected:i.selected}),tabindex:1===a&&0===n?0:-1,role:"treeitem","aria-expanded":i.hasItems?""+(!!i.open&&!!i.items?.length):void 0,"aria-current":i.active?"true":void 0,"aria-level":a,"aria-setsize":c,"aria-posinset":n+1,"aria-busy":i.loading?"true":void 0,"data-item-id":i.id,onClick:e=>o.itemClick(e,s,i)},i.selected&&e("span",{class:"sr-only"},"Resultaat: "),i.href?e("a",{href:i.href,tabindex:"-1"},i.label):e("span",null,i.label),i.icons?.map((t=>e("dso-icon",{icon:t.icon,title:t.label})))),i.open&&e(t,null,i.hasItems&&!i.items&&i.loading?e("dso-progress-indicator",{size:"small",label:"Resultaten laden: een moment geduld alstublieft."}):e("ul",{role:"group"},i.items?.map(((t,n,r)=>e(l,{owner:o,ancestors:[...s,i],item:t,index:n,level:a+1,setSize:r.length})))))),d=o(class t extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.dsoOpenItem=i(this,"dsoOpenItem",7),this.dsoCloseItem=i(this,"dsoCloseItem",7),this.dsoClickItem=i(this,"dsoClickItem",7),this.keyDownListener=e=>{if(e.defaultPrevented)return;const o=e.composedPath().find((e=>e instanceof s&&"dso-tree"===e.className));if(e.target instanceof HTMLParagraphElement&&o instanceof s){switch(e.key){case"ArrowDown":t.moveFocus(o,e.target,"next");break;case"ArrowUp":t.moveFocus(o,e.target,"previous");break;case"ArrowRight":t.expandItemOrFocusChild(o,e.target);break;case"ArrowLeft":t.collapseItemOrFocusParent(o,e.target);break;case"End":t.moveFocus(o,e.target,"last");break;case"Home":t.moveFocus(o,e.target,"first");break;case"Enter":case" ":e.target.click();break;default:if((e=>1===e.length&&e.match(/\S/))(e.key)&&t.setFocusByFirstCharacter(o,e.target,e.key,e.shiftKey))break;return}e.preventDefault()}},this.itemClick=(e,o,i)=>{if(!(e.target instanceof s))return;const n=e.target.closest(".tree-content");if(n){const r=e.composedPath().find((e=>e instanceof s&&"dso-tree"===e.className));if(!(n instanceof HTMLParagraphElement&&r instanceof s))return;return t.setFocus(r,n),void this.dsoClickItem.emit({path:[...o,i],originalEvent:e})}i.open?this.dsoCloseItem.emit([...o,i]):this.dsoOpenItem.emit([...o,i])}}async focusItem(e){const o=this.tree;if(!o||0===e.length)return!1;const s=e[e.length-1];if(!s)throw Error("No itemToFocus found");const i=Array.from(o.querySelectorAll("p")??[]).filter((e=>e.offsetWidth>0&&e.offsetHeight>0)).find((e=>e.dataset.itemId===s.id));return!!i&&(t.setFocus(o,i),!0)}static setFocus(e,t){t&&(Array.from(e.querySelectorAll("p")).filter((e=>0===e.tabIndex)).forEach((e=>e.tabIndex=-1)),t.tabIndex=0,t.focus())}static moveFocus(e,o,s){const i=Array.from(e.querySelectorAll("p")).filter((e=>e.offsetWidth>0&&e.offsetHeight>0));let n=0;switch(s){case"first":n=0;break;case"previous":n=i.indexOf(o)-1;break;case"next":n=i.indexOf(o)+1;break;case"last":n=i.length-1}const r=i[n];if(!r)throw Error("No focusableItem found");t.setFocus(e,r)}static expandItemOrFocusChild(e,o){if("true"===o?.getAttribute("aria-expanded"))t.moveFocus(e,o,"next");else{const e=o.previousElementSibling?.firstElementChild;e instanceof s&&e.click()}}static collapseItemOrFocusParent(e,o){if("true"===o?.getAttribute("aria-expanded")){const e=o.previousElementSibling?.firstElementChild;e instanceof s&&e.click()}else{const i=o?.parentElement?.parentElement?.previousElementSibling;i instanceof s&&t.setFocus(e,i)}}static setFocusByFirstCharacter(e,o,s,i){const n=Array.from(e.querySelectorAll("p")).filter((e=>e.offsetWidth>0&&e.offsetHeight>0));i&&n.reverse();const r=n.indexOf(o);s=s.toLowerCase();let a=n.find(((e,t)=>t>r&&e.textContent?.toLowerCase().startsWith(s)));return a||(a=n.find(((e,t)=>t<r&&e.textContent?.toLowerCase().startsWith(s)))),!!a&&(t.setFocus(e,a),!0)}render(){return e("div",{key:"045da3d6b0bc4381b3e439890e7f8db679fc8f9a",id:"tree",class:"dso-tree",onKeyDown:e=>this.keyDownListener(e),ref:e=>this.tree=e},e("ul",{key:"de2140f76fd20b0fa2bf85e60a79dede60a62082",role:"tree","aria-label":"Objectenboom"},this.collection?.map(((t,o)=>e(l,{owner:this,ancestors:[],item:t,index:o,level:1,setSize:this.collection.length})))))}static get style(){return':host ul{list-style-type:none;padding-inline-start:32px;position:relative}:host li{position:relative}:host ul[role=tree]{padding-inline-start:0}:host ul[role=group]::before{border-inline-start:1px solid #275937;content:"";block-size:8px;inset-inline-start:44px;position:absolute;inset-block-start:0;inline-size:0}:host li:not(.has-child)::before{border-block-start:1px solid #275937;content:"";block-size:0;inset-inline-start:12px;position:absolute;inset-block-start:20px;inline-size:16px}:host li:not(.has-child)::after{border-inline-start:1px solid #275937;content:"";block-size:100%;inset-inline-start:12px;position:absolute;inset-block-start:8px;inline-size:0}:host li:not(.has-child):last-child::after{block-size:20px;inset-block-start:0}:host li.has-child::before{border-block-start:1px solid #275937;content:"";block-size:0;inset-inline-start:24px;position:absolute;inset-block-start:20px;inline-size:4px}:host li.has-child:not(:last-child)::after{border-inline-start:1px solid #275937;content:"";block-size:calc(100% - 24px);inset-inline-start:12px;position:absolute;inset-block-start:32px;inline-size:0}:host li.has-child.is-expanded:last-child::after{border-inline-start:1px solid #275937;content:"";block-size:calc(100% - 32px);inset-inline-start:12px;position:absolute;inset-block-start:32px;inline-size:0}:host .tree-branch-control{color:#39870c;display:inline-block;font-size:16px;margin-block:8px;margin-inline:0 8px;vertical-align:top}:host .tree-branch-control>div{cursor:pointer}:host .tree-content{cursor:pointer;display:inline-flex;margin-block:8px;margin-inline:0;max-inline-size:calc(100% - 40px)}:host .tree-content a{color:#191919;text-decoration:underline}:host .tree-content a:hover,:host .tree-content a:focus{color:#191919;text-decoration:none}:host .tree-content a:active{text-decoration:none}:host .tree-content.selected{color:#191919;font-weight:700;text-decoration:underline}:host .tree-content.selected:hover,:host .tree-content.selected:focus{text-decoration:none}:host .tree-content.active{color:#8b4a6a;font-style:italic;font-weight:700;text-decoration:underline}:host .tree-content.active:hover,:host .tree-content.active:focus{text-decoration:none}:host .tree-content.active a{color:#8b4a6a}:host .tree-content.active a:hover,:host .tree-content.active a:focus{text-decoration:none}:host .tree-content dso-icon{color:#39870c;font-size:0.75em;vertical-align:text-bottom}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip-path:rect(0 0 0 0)}'}},[1,"dso-tree-view",{collection:[16],focusItem:[64]}]),p=d,h=function(){"undefined"!=typeof customElements&&["dso-tree-view","dso-icon","dso-progress-indicator"].forEach((e=>{switch(e){case"dso-tree-view":customElements.get(n(e))||customElements.define(n(e),d);break;case"dso-icon":customElements.get(n(e))||a();break;case"dso-progress-indicator":customElements.get(n(e))||c()}}))};export{p as DsoTreeView,h as defineCustomElement}
1
+ import{h as e,Fragment as t,proxyCustomElement as o,HTMLElement as s,createEvent as i,transformTag as n}from"@stencil/core/internal/client";import{c as r}from"./clsx.js";import{d as a}from"./icon.js";import{d as c}from"./progress-indicator.js";const l=({owner:o,ancestors:s,item:i,index:n,level:a,setSize:c})=>e("li",{key:i.id,class:r("tree-item",{"has-child":i.hasItems,"is-expanded":!!i.open&&!!i.items?.length}),role:"none"},e("div",{class:"tree-branch-control"},i.hasItems?e("div",{onClick:e=>o.itemClick(e,s,i)},e("dso-icon",{icon:i.open?"minus-square-outline":"plus-square-outline"})):e("dso-icon",null)),e("p",{class:r("tree-content",{active:i.active},{selected:i.selected}),tabindex:1===a&&0===n?0:-1,role:"treeitem","aria-expanded":i.hasItems?""+(!!i.open&&!!i.items?.length):void 0,"aria-current":i.active?"true":void 0,"aria-level":a,"aria-setsize":c,"aria-posinset":n+1,"aria-busy":i.loading?"true":void 0,"data-item-id":i.id,onClick:e=>o.itemClick(e,s,i)},i.selected&&e("span",{class:"sr-only"},"Resultaat: "),i.href?e("a",{href:i.href,tabindex:"-1"},i.label):e("span",null,i.label),i.icons?.map((t=>e("dso-icon",{icon:t.icon,title:t.label})))),i.open&&e(t,null,i.hasItems&&!i.items&&i.loading?e("dso-progress-indicator",{size:"small",label:"Resultaten laden: een moment geduld alstublieft."}):e("ul",{role:"group"},i.items?.map(((t,n,r)=>e(l,{owner:o,ancestors:[...s,i],item:t,index:n,level:a+1,setSize:r.length})))))),d=o(class t extends s{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.dsoOpenItem=i(this,"dsoOpenItem",7),this.dsoCloseItem=i(this,"dsoCloseItem",7),this.dsoClickItem=i(this,"dsoClickItem",7),this.keyDownListener=e=>{if(e.defaultPrevented)return;const o=e.composedPath().find((e=>e instanceof s&&"dso-tree"===e.className));if(e.target instanceof HTMLParagraphElement&&o instanceof s){switch(e.key){case"ArrowDown":t.moveFocus(o,e.target,"next");break;case"ArrowUp":t.moveFocus(o,e.target,"previous");break;case"ArrowRight":t.expandItemOrFocusChild(o,e.target);break;case"ArrowLeft":t.collapseItemOrFocusParent(o,e.target);break;case"End":t.moveFocus(o,e.target,"last");break;case"Home":t.moveFocus(o,e.target,"first");break;case"Enter":case" ":e.target.click();break;default:if((e=>1===e.length&&e.match(/\S/))(e.key)&&t.setFocusByFirstCharacter(o,e.target,e.key,e.shiftKey))break;return}e.preventDefault()}},this.itemClick=(e,o,i)=>{if(!(e.target instanceof s))return;const n=e.target.closest(".tree-content");if(n){const r=e.composedPath().find((e=>e instanceof s&&"dso-tree"===e.className));if(!(n instanceof HTMLParagraphElement&&r instanceof s))return;return t.setFocus(r,n),void this.dsoClickItem.emit({path:[...o,i],originalEvent:e})}i.open?this.dsoCloseItem.emit([...o,i]):this.dsoOpenItem.emit([...o,i])}}async focusItem(e){const o=this.tree;if(!o||0===e.length)return!1;const s=e[e.length-1];if(!s)throw Error("No itemToFocus found");const i=Array.from(o.querySelectorAll("p")??[]).filter((e=>e.offsetWidth>0&&e.offsetHeight>0)).find((e=>e.dataset.itemId===s.id));return!!i&&(t.setFocus(o,i),!0)}static setFocus(e,t){t&&(Array.from(e.querySelectorAll("p")).filter((e=>0===e.tabIndex)).forEach((e=>e.tabIndex=-1)),t.tabIndex=0,t.focus())}static moveFocus(e,o,s){const i=Array.from(e.querySelectorAll("p")).filter((e=>e.offsetWidth>0&&e.offsetHeight>0));let n=0;switch(s){case"first":n=0;break;case"previous":n=i.indexOf(o)-1;break;case"next":n=i.indexOf(o)+1;break;case"last":n=i.length-1}const r=i[n];if(!r)throw Error("No focusableItem found");t.setFocus(e,r)}static expandItemOrFocusChild(e,o){if("true"===o?.getAttribute("aria-expanded"))t.moveFocus(e,o,"next");else{const e=o.previousElementSibling?.firstElementChild;e instanceof s&&e.click()}}static collapseItemOrFocusParent(e,o){if("true"===o?.getAttribute("aria-expanded")){const e=o.previousElementSibling?.firstElementChild;e instanceof s&&e.click()}else{const i=o?.parentElement?.parentElement?.previousElementSibling;i instanceof s&&t.setFocus(e,i)}}static setFocusByFirstCharacter(e,o,s,i){const n=Array.from(e.querySelectorAll("p")).filter((e=>e.offsetWidth>0&&e.offsetHeight>0));i&&n.reverse();const r=n.indexOf(o);s=s.toLowerCase();let a=n.find(((e,t)=>t>r&&e.textContent?.toLowerCase().startsWith(s)));return a||(a=n.find(((e,t)=>t<r&&e.textContent?.toLowerCase().startsWith(s)))),!!a&&(t.setFocus(e,a),!0)}render(){return e("div",{key:"283e4d605869d7a654955ffb9bcc3621a477b3af",id:"tree",class:"dso-tree",onKeyDown:e=>this.keyDownListener(e),ref:e=>this.tree=e},e("ul",{key:"a664ea7dade4174cccc880169de9d49d8eeb57db",role:"tree","aria-label":"Objectenboom"},this.collection?.map(((t,o)=>e(l,{owner:this,ancestors:[],item:t,index:o,level:1,setSize:this.collection.length})))))}static get style(){return':host ul{list-style-type:none;padding-inline-start:32px;position:relative}:host li{position:relative}:host ul[role=tree]{padding-inline-start:0}:host ul[role=group]::before{border-inline-start:1px solid #275937;content:"";block-size:8px;inset-inline-start:44px;position:absolute;inset-block-start:0;inline-size:0}:host li:not(.has-child)::before{border-block-start:1px solid #275937;content:"";block-size:0;inset-inline-start:12px;position:absolute;inset-block-start:20px;inline-size:16px}:host li:not(.has-child)::after{border-inline-start:1px solid #275937;content:"";block-size:100%;inset-inline-start:12px;position:absolute;inset-block-start:8px;inline-size:0}:host li:not(.has-child):last-child::after{block-size:20px;inset-block-start:0}:host li.has-child::before{border-block-start:1px solid #275937;content:"";block-size:0;inset-inline-start:24px;position:absolute;inset-block-start:20px;inline-size:4px}:host li.has-child:not(:last-child)::after{border-inline-start:1px solid #275937;content:"";block-size:calc(100% - 24px);inset-inline-start:12px;position:absolute;inset-block-start:32px;inline-size:0}:host li.has-child.is-expanded:last-child::after{border-inline-start:1px solid #275937;content:"";block-size:calc(100% - 32px);inset-inline-start:12px;position:absolute;inset-block-start:32px;inline-size:0}:host .tree-branch-control{color:#39870c;display:inline-block;font-size:16px;margin-block:8px;margin-inline:0 8px;vertical-align:top}:host .tree-branch-control>div{cursor:pointer}:host .tree-content{cursor:pointer;display:inline-flex;margin-block:8px;margin-inline:0;max-inline-size:calc(100% - 40px)}:host .tree-content a{color:#191919;text-decoration:underline}:host .tree-content a:hover,:host .tree-content a:focus{color:#191919;text-decoration:none}:host .tree-content a:active{text-decoration:none}:host .tree-content.selected{color:#191919;font-weight:700;text-decoration:underline}:host .tree-content.selected:hover,:host .tree-content.selected:focus{text-decoration:none}:host .tree-content.active{color:#8b4a6a;font-style:italic;font-weight:700;text-decoration:underline}:host .tree-content.active:hover,:host .tree-content.active:focus{text-decoration:none}:host .tree-content.active a{color:#8b4a6a}:host .tree-content.active a:hover,:host .tree-content.active a:focus{text-decoration:none}:host .tree-content dso-icon{color:#39870c;font-size:0.75em;vertical-align:text-bottom}*,*::after,*::before{box-sizing:border-box}.sr-only{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;border:0;overflow:hidden;clip-path:rect(0 0 0 0)}'}},[1,"dso-tree-view",{collection:[16],focusItem:[64]}]),p=d,h=function(){"undefined"!=typeof customElements&&["dso-tree-view","dso-icon","dso-progress-indicator"].forEach((e=>{switch(e){case"dso-tree-view":customElements.get(n(e))||customElements.define(n(e),d);break;case"dso-icon":customElements.get(n(e))||a();break;case"dso-progress-indicator":customElements.get(n(e))||c()}}))};export{p as DsoTreeView,h as defineCustomElement}