@dso-toolkit/core 69.0.0 → 69.2.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 (130) hide show
  1. package/dist/cjs/dso-accordion-section.cjs.entry.js +2 -2
  2. package/dist/cjs/dso-accordion-section.cjs.entry.js.map +1 -1
  3. package/dist/cjs/dso-alert_6.cjs.entry.js +14 -1
  4. package/dist/cjs/dso-alert_6.cjs.entry.js.map +1 -1
  5. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js +1 -1
  6. package/dist/cjs/dso-annotation-locatie_2.cjs.entry.js.map +1 -1
  7. package/dist/cjs/dso-autosuggest.cjs.entry.js +149 -20
  8. package/dist/cjs/dso-autosuggest.cjs.entry.js.map +1 -1
  9. package/dist/cjs/dso-label_3.cjs.entry.js +37 -9
  10. package/dist/cjs/dso-label_3.cjs.entry.js.map +1 -1
  11. package/dist/cjs/dso-pagination.cjs.entry.js +39 -26
  12. package/dist/cjs/dso-pagination.cjs.entry.js.map +1 -1
  13. package/dist/cjs/dso-scrollable.cjs.entry.js +5 -2
  14. package/dist/cjs/dso-scrollable.cjs.entry.js.map +1 -1
  15. package/dist/cjs/dso-survey-rating.cjs.entry.js +1 -1
  16. package/dist/cjs/dso-survey-rating.cjs.entry.js.map +1 -1
  17. package/dist/cjs/dso-toolkit.cjs.js +1 -1
  18. package/dist/cjs/dso-tooltip.cjs.entry.js +1 -1
  19. package/dist/cjs/dso-tooltip.cjs.entry.js.map +1 -1
  20. package/dist/cjs/loader.cjs.js +1 -1
  21. package/dist/collection/components/accordion/components/accordion-section.js +4 -4
  22. package/dist/collection/components/accordion/components/accordion-section.js.map +1 -1
  23. package/dist/collection/components/autosuggest/autosuggest.css +23 -11
  24. package/dist/collection/components/autosuggest/autosuggest.interfaces.js.map +1 -1
  25. package/dist/collection/components/autosuggest/autosuggest.js +158 -23
  26. package/dist/collection/components/autosuggest/autosuggest.js.map +1 -1
  27. package/dist/collection/components/document-component/document-component.css +2 -2
  28. package/dist/collection/components/ozon-content/nodes/abbr.node.js +11 -0
  29. package/dist/collection/components/ozon-content/nodes/abbr.node.js.map +1 -0
  30. package/dist/collection/components/ozon-content/ozon-content-mapper.js +2 -0
  31. package/dist/collection/components/ozon-content/ozon-content-mapper.js.map +1 -1
  32. package/dist/collection/components/ozon-content/ozon-content.css +4 -0
  33. package/dist/collection/components/pagination/pagination.js +39 -26
  34. package/dist/collection/components/pagination/pagination.js.map +1 -1
  35. package/dist/collection/components/renvooi/renvooi-render-text.js +17 -0
  36. package/dist/collection/components/renvooi/renvooi-render-text.js.map +1 -0
  37. package/dist/collection/components/renvooi/renvooi-render.js +16 -0
  38. package/dist/collection/components/renvooi/renvooi-render.js.map +1 -0
  39. package/dist/collection/components/renvooi/renvooi.css +10 -0
  40. package/dist/collection/components/renvooi/renvooi.interfaces.js.map +1 -1
  41. package/dist/collection/components/renvooi/renvooi.js +54 -14
  42. package/dist/collection/components/renvooi/renvooi.js.map +1 -1
  43. package/dist/collection/components/scrollable/scrollable.js +5 -2
  44. package/dist/collection/components/scrollable/scrollable.js.map +1 -1
  45. package/dist/collection/components/survey-rating/survey-rating.css +3 -1
  46. package/dist/collection/components/tooltip/tooltip.css +3 -5
  47. package/dist/components/document-component.js +1 -1
  48. package/dist/components/document-component.js.map +1 -1
  49. package/dist/components/dso-accordion-section.js +2 -2
  50. package/dist/components/dso-accordion-section.js.map +1 -1
  51. package/dist/components/dso-autosuggest.js +150 -20
  52. package/dist/components/dso-autosuggest.js.map +1 -1
  53. package/dist/components/dso-pagination.js +39 -26
  54. package/dist/components/dso-pagination.js.map +1 -1
  55. package/dist/components/dso-survey-rating.js +1 -1
  56. package/dist/components/dso-survey-rating.js.map +1 -1
  57. package/dist/components/ozon-content.js +14 -1
  58. package/dist/components/ozon-content.js.map +1 -1
  59. package/dist/components/renvooi.js +39 -10
  60. package/dist/components/renvooi.js.map +1 -1
  61. package/dist/components/scrollable.js +5 -2
  62. package/dist/components/scrollable.js.map +1 -1
  63. package/dist/components/tooltip.js +1 -1
  64. package/dist/components/tooltip.js.map +1 -1
  65. package/dist/dso-toolkit/dso-toolkit.esm.js +1 -1
  66. package/dist/dso-toolkit/dso-toolkit.esm.js.map +1 -1
  67. package/dist/dso-toolkit/{p-1746cde9.entry.js → p-0c7615c1.entry.js} +2 -2
  68. package/dist/dso-toolkit/p-0c7615c1.entry.js.map +1 -0
  69. package/dist/dso-toolkit/p-1c72e7eb.entry.js +2 -0
  70. package/dist/dso-toolkit/p-1c72e7eb.entry.js.map +1 -0
  71. package/dist/dso-toolkit/p-3efc1929.entry.js +2 -0
  72. package/dist/dso-toolkit/p-3efc1929.entry.js.map +1 -0
  73. package/dist/dso-toolkit/{p-631af6b1.entry.js → p-732b261f.entry.js} +2 -2
  74. package/dist/dso-toolkit/p-732b261f.entry.js.map +1 -0
  75. package/dist/dso-toolkit/{p-d51d44f7.entry.js → p-743f5beb.entry.js} +2 -2
  76. package/dist/dso-toolkit/p-743f5beb.entry.js.map +1 -0
  77. package/dist/dso-toolkit/p-7949fc70.entry.js +2 -0
  78. package/dist/dso-toolkit/p-7949fc70.entry.js.map +1 -0
  79. package/dist/dso-toolkit/p-a811a886.entry.js +2 -0
  80. package/dist/dso-toolkit/p-a811a886.entry.js.map +1 -0
  81. package/dist/dso-toolkit/p-e26460b5.entry.js +2 -0
  82. package/dist/dso-toolkit/p-e26460b5.entry.js.map +1 -0
  83. package/dist/dso-toolkit/p-eeca54c6.entry.js +2 -0
  84. package/dist/dso-toolkit/p-eeca54c6.entry.js.map +1 -0
  85. package/dist/esm/dso-accordion-section.entry.js +2 -2
  86. package/dist/esm/dso-accordion-section.entry.js.map +1 -1
  87. package/dist/esm/dso-alert_6.entry.js +14 -1
  88. package/dist/esm/dso-alert_6.entry.js.map +1 -1
  89. package/dist/esm/dso-annotation-locatie_2.entry.js +1 -1
  90. package/dist/esm/dso-annotation-locatie_2.entry.js.map +1 -1
  91. package/dist/esm/dso-autosuggest.entry.js +149 -20
  92. package/dist/esm/dso-autosuggest.entry.js.map +1 -1
  93. package/dist/esm/dso-label_3.entry.js +37 -9
  94. package/dist/esm/dso-label_3.entry.js.map +1 -1
  95. package/dist/esm/dso-pagination.entry.js +39 -26
  96. package/dist/esm/dso-pagination.entry.js.map +1 -1
  97. package/dist/esm/dso-scrollable.entry.js +5 -2
  98. package/dist/esm/dso-scrollable.entry.js.map +1 -1
  99. package/dist/esm/dso-survey-rating.entry.js +1 -1
  100. package/dist/esm/dso-survey-rating.entry.js.map +1 -1
  101. package/dist/esm/dso-toolkit.js +1 -1
  102. package/dist/esm/dso-tooltip.entry.js +1 -1
  103. package/dist/esm/dso-tooltip.entry.js.map +1 -1
  104. package/dist/esm/loader.js +1 -1
  105. package/dist/types/components/accordion/components/accordion-section.d.ts +1 -1
  106. package/dist/types/components/autosuggest/autosuggest.d.ts +18 -7
  107. package/dist/types/components/autosuggest/autosuggest.interfaces.d.ts +10 -0
  108. package/dist/types/components/ozon-content/nodes/abbr.node.d.ts +6 -0
  109. package/dist/types/components/pagination/pagination.d.ts +2 -0
  110. package/dist/types/components/renvooi/renvooi-render-text.d.ts +9 -0
  111. package/dist/types/components/renvooi/renvooi-render.d.ts +9 -0
  112. package/dist/types/components/renvooi/renvooi.d.ts +11 -2
  113. package/dist/types/components/renvooi/renvooi.interfaces.d.ts +12 -0
  114. package/dist/types/components.d.ts +37 -10
  115. package/package.json +3 -3
  116. package/dist/dso-toolkit/p-135bf595.entry.js +0 -2
  117. package/dist/dso-toolkit/p-135bf595.entry.js.map +0 -1
  118. package/dist/dso-toolkit/p-1746cde9.entry.js.map +0 -1
  119. package/dist/dso-toolkit/p-32f26545.entry.js +0 -2
  120. package/dist/dso-toolkit/p-32f26545.entry.js.map +0 -1
  121. package/dist/dso-toolkit/p-4549dc10.entry.js +0 -2
  122. package/dist/dso-toolkit/p-4549dc10.entry.js.map +0 -1
  123. package/dist/dso-toolkit/p-631af6b1.entry.js.map +0 -1
  124. package/dist/dso-toolkit/p-beaa587d.entry.js +0 -2
  125. package/dist/dso-toolkit/p-beaa587d.entry.js.map +0 -1
  126. package/dist/dso-toolkit/p-d51d44f7.entry.js.map +0 -1
  127. package/dist/dso-toolkit/p-da7f089a.entry.js +0 -2
  128. package/dist/dso-toolkit/p-da7f089a.entry.js.map +0 -1
  129. package/dist/dso-toolkit/p-fd989862.entry.js +0 -2
  130. package/dist/dso-toolkit/p-fd989862.entry.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dso-toolkit/core",
3
- "version": "69.0.0",
3
+ "version": "69.2.0",
4
4
  "description": "DSO Toolkit Web Components",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/components/index.js",
@@ -23,7 +23,7 @@
23
23
  "@stencil/core": "4.25.1",
24
24
  "@stencil/store": "^2.0.16",
25
25
  "clsx": "^2.1.1",
26
- "dso-toolkit": "^69.0.0",
26
+ "dso-toolkit": "^69.2.0",
27
27
  "escape-string-regexp": "^5.0.0",
28
28
  "focus-trap": "^7.6.4",
29
29
  "i18next": "^24.2.2",
@@ -54,7 +54,7 @@
54
54
  "typescript": "~5.6.3"
55
55
  },
56
56
  "peerDependencies": {
57
- "dso-toolkit": "69.0.0"
57
+ "dso-toolkit": "69.2.0"
58
58
  },
59
59
  "nx": {
60
60
  "includedScripts": []
@@ -1,2 +0,0 @@
1
- import{r as s,c as t,h as i,F as e,a as o}from"./p-abc59cdf.js";import{d as h}from"./p-16e112f1.js";import{i as n}from"./p-078b7eca.js";import{v as a}from"./p-82796232.js";function r(s){if(typeof s!=="string"){throw new TypeError("Expected a string")}return s.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}const l={en:{"dso-autosuggest":{notFound:"{{inputValue}} was not found."}},nl:{"dso-autosuggest":{notFound:"{{inputValue}} is niet gevonden."}}};const u=".sc-dso-autosuggest-h{display:block;position:relative}.listbox-container.sc-dso-autosuggest{inset-inline:0;inset-block-start:100%;block-size:auto;max-block-size:var(--max-block-size);min-block-size:50px;overflow-y:auto;position:absolute;z-index:200}ul.sc-dso-autosuggest,.autosuggest-progress-box.sc-dso-autosuggest{background-clip:padding-box;background-color:#fff;border:1px solid rgba(0, 0, 0, 0.15);border-radius:4px;box-shadow:0 6px 12px rgba(0, 0, 0, 0.175);list-style-type:none;margin-block:0}.autosuggest-progress-box.sc-dso-autosuggest{padding-block:12px;padding-inline:8px}ul.sc-dso-autosuggest{padding-block:8px;padding-inline:0}ul.sc-dso-autosuggest li.sc-dso-autosuggest{padding-block:4px;padding-inline:16px}ul.sc-dso-autosuggest li.sc-dso-autosuggest .suggestion-row.sc-dso-autosuggest{display:flex;justify-content:space-between}li[aria-selected=true].sc-dso-autosuggest{cursor:pointer;background-color:#39870c}li[aria-selected=true].sc-dso-autosuggest,li[aria-selected=true].sc-dso-autosuggest .type.sc-dso-autosuggest,li[aria-selected=true].sc-dso-autosuggest .extra.sc-dso-autosuggest{color:#fff}mark.sc-dso-autosuggest{font-weight:700;background-color:inherit;color:inherit;padding:0}.type.sc-dso-autosuggest,.extra.sc-dso-autosuggest{color:#666}.type.sc-dso-autosuggest{text-align:end}.extra.sc-dso-autosuggest{font-size:14px;line-height:21px}.extra.sc-dso-autosuggest:not(:first-child){text-align:end}";const d=u;const c=10;const g=8;const f=1;const p=class{constructor(i){s(this,i);this.dsoSelect=t(this,"dsoSelect",7);this.dsoChange=t(this,"dsoChange",7);this.dsoSearch=t(this,"dsoSearch",7);this.suggestions=null;this.loading=false;this.loadingLabel="Een moment geduld.";this.suggestOnFocus=false;this.showSuggestions=false;this.notFound=false;this.showLoading=false;this.listItemBlockSize=0;this.listboxContainerMaxBlockSize=0;this.listboxItems=[];this.listboxId=a();this.inputId=a();this.labelId=a();this.resizeObserver=new ResizeObserver(h((()=>this.setListboxContainerMaxBlockSize()),150));this.debouncedEmitValue=h((s=>{this.dsoChange.emit(s);this.debouncedShowLoading()}),200);this.debouncedShowLoading=h((()=>{if(this.inputValue){this.showLoading=true}}),this.loadingDelayed);this.inputValue="";this.onInput=s=>{if(!(s.target instanceof HTMLInputElement)){return}this.showLoading=!this.loadingDelayed;this.inputValue=s.target.value;this.debouncedEmitValue(s.target.value.match(/(\S+)/g)?s.target.value:"")};this.onFocusIn=()=>{if(this.suggestOnFocus){this.openSuggestions()}};this.text=n((()=>this.host),l);this.onWindowResize=h((()=>this.setListboxContainerMaxBlockSize()),150);this.onScrollend=()=>this.setListboxContainerMaxBlockSize();this.onKeyDown=s=>{if(s.defaultPrevented||this.loading){return}switch(s.key){case"ArrowDown":if(!this.showSuggestions){this.openSuggestions("first")}else{this.selectNextSuggestion()}break;case"ArrowUp":if(!this.showSuggestions){this.openSuggestions("last")}else{this.selectPreviousSuggestion()}break;case"Tab":this.closeSuggestions();return;case"Escape":this.closeSuggestions();break;case"Enter":this.pickSelectedValue();break;default:return}s.preventDefault()}}suggestionsWatcher(){this.resetSelectedSuggestion();if((!this.showSuggestions||!this.notFound)&&this.inputValue){this.openSuggestions()}else if((this.showSuggestions||this.notFound)&&!this.inputValue){this.closeSuggestions()}}onDocumentClick(s){if((this.showSuggestions||this.notFound)&&this.listbox&&s.target instanceof Node&&!this.listbox.contains(s.target)&&this.input!==s.target){this.closeSuggestions()}}componentDidRender(){this.setListboxContainerMaxBlockSize()}connectedCallback(){setTimeout((()=>{const s=this.host.querySelector('input[type="text"]');if(!(s instanceof HTMLInputElement)){return}this.input=s;if(s.id){this.inputId=s.id}else{s.id=this.inputId}if(!this.input.labels||this.input.labels.length<1){return}const t=this.input.labels[0];if(t===null||t===void 0?void 0:t.id){this.labelId=t.id}else if(t){t.id=this.labelId}this.input.setAttribute("role","combobox");this.input.setAttribute("aria-haspopup","listbox");this.input.setAttribute("aria-expanded","false");this.input.setAttribute("autocomplete","off");this.input.setAttribute("aria-autocomplete","list");this.input.setAttribute("aria-activedescendant","");this.input.addEventListener("input",this.onInput);this.input.addEventListener("keydown",this.onKeyDown);this.input.addEventListener("focusin",this.onFocusIn);window.addEventListener("resize",this.onWindowResize);document.addEventListener("scrollend",this.onScrollend);this.resizeObserver.observe(this.host);this.setListboxContainerMaxBlockSize()}))}disconnectedCallback(){var s,t,i;(s=this.input)===null||s===void 0?void 0:s.removeEventListener("input",this.onInput);(t=this.input)===null||t===void 0?void 0:t.removeEventListener("keydown",this.onKeyDown);(i=this.input)===null||i===void 0?void 0:i.removeEventListener("focusin",this.onFocusIn);window.removeEventListener("resize",this.onWindowResize);document.removeEventListener("scrollend",this.onScrollend);this.resizeObserver.disconnect()}setListboxContainerMaxBlockSize(){if(!this.listboxContainer||!this.showSuggestions){return}if(this.listboxItems[0]&&this.showSuggestions){this.listItemBlockSize=this.listboxItems[0].getBoundingClientRect().height}const s=window.innerHeight-this.host.getBoundingClientRect().bottom;const t=this.listItemBlockSize*c+2*g+2*f;if(s>this.listItemBlockSize){if(s<t){this.listboxContainerMaxBlockSize=s-2*g}else{this.listboxContainerMaxBlockSize=t}}}showInputValueNotFound(s){var t,i;return this.processAutosuggestMarkItems(this.markTerms((i=(t=this.input)===null||t===void 0?void 0:t.value.split(" ").filter((s=>s)))!==null&&i!==void 0?i:[],s))}handleMark(s,t,i,e){var o,h;if(this.mark&&i){return this.processAutosuggestMarkItems(this.mark(s,t,i,e))}return this.processAutosuggestMarkItems(this.markTerms((h=(o=this.input)===null||o===void 0?void 0:o.value.split(" ").filter((s=>s)))!==null&&h!==void 0?h:[],t))}markTerms(s,t){if(!t||!s||s.length===0||s[0]===undefined){return[""]}const i=new RegExp(`(${r(s[0])})`,"gi");return t.split(i).reduce(((t,e)=>{if(!e){t.push(e)}else if(i.test(e)){t.push({mark:e})}else if(s.length===1){t.push(e)}else{t.push(...this.markTerms(s.slice(1),e))}return t}),[])}processAutosuggestMarkItems(s){if(s.length===0){return[""]}return s.map((s=>{if(typeof s==="object"){return i("mark",null,s.mark)}return s}))}selectSuggestion(s){this.selectedSuggestion=s;this.setAriaActiveDescendant()}selectFirstSuggestion(){if(!this.suggestions){return}this.selectedSuggestion=this.suggestions[0];this.setAriaActiveDescendant(true)}selectLastSuggestion(){if(!this.suggestions){return}this.selectedSuggestion=this.suggestions[this.suggestions.length-1];this.setAriaActiveDescendant(true)}selectNextSuggestion(){var s;if(!this.suggestions){return}const t=this.selectedSuggestion?this.suggestions.indexOf(this.selectedSuggestion):-1;this.selectedSuggestion=(s=this.suggestions[t+1])!==null&&s!==void 0?s:this.suggestions[0];this.setAriaActiveDescendant(true)}selectPreviousSuggestion(){var s;if(!this.suggestions){return}const t=this.selectedSuggestion?this.suggestions.indexOf(this.selectedSuggestion):0;this.selectedSuggestion=(s=this.suggestions[t-1])!==null&&s!==void 0?s:this.suggestions[this.suggestions.length-1];this.setAriaActiveDescendant(true)}setAriaActiveDescendant(s=false){var t,i;if(this.selectedSuggestion){const e=this.listboxItemId(this.selectedSuggestion);(t=this.input)===null||t===void 0?void 0:t.setAttribute("aria-activedescendant",e);if(s){(i=document.getElementById(e))===null||i===void 0?void 0:i.scrollIntoView({block:"nearest"})}}}resetSelectedSuggestion(){var s;this.showLoading=!this.loadingDelayed;this.notFound=false;this.selectedSuggestion=undefined;(s=this.input)===null||s===void 0?void 0:s.setAttribute("aria-activedescendant","")}openSuggestions(s){var t,i,e,o;this.showSuggestions=(t=this.suggestions&&this.suggestions.length>0)!==null&&t!==void 0?t:false;this.notFound=(e=this.suggestions&&((i=this.suggestions)===null||i===void 0?void 0:i.length)===0)!==null&&e!==void 0?e:false;(o=this.input)===null||o===void 0?void 0:o.setAttribute("aria-expanded",(this.showSuggestions||this.notFound).toString());if(this.showSuggestions&&s==="first"){this.selectFirstSuggestion()}else if(this.showSuggestions&&s==="last"){this.selectLastSuggestion()}}closeSuggestions(){var s;this.showSuggestions=false;this.notFound=false;(s=this.input)===null||s===void 0?void 0:s.setAttribute("aria-expanded","false");this.selectFirstSuggestion()}pickSelectedValue(){var s;if(this.selectedSuggestion&&this.showSuggestions){this.dsoSelect.emit(this.selectedSuggestion)}else{this.dsoSearch.emit((s=this.input)===null||s===void 0?void 0:s.value)}this.closeSuggestions()}listboxItemId(s){if(!this.suggestions){return""}return`${this.inputId}-${this.suggestions.indexOf(s)+1}`}getChunkedExtras(s){return s.reduce(((s,t,i)=>{var e;const o=Math.floor(i/2);if(!s[o]){s[o]=[]}(e=s[o])===null||e===void 0?void 0:e.push(t);return s}),[])}render(){this.listboxItems=[];const s=this.showSuggestions||this.notFound;if(s&&this.input){this.input.setAttribute("aria-controls",this.listboxId)}else if(this.input){this.input.removeAttribute("aria-controls")}return i(e,null,i("slot",{key:"2ed8694b6cfa86863f0e22b6a7cfa1a1144e673f"}),this.loading&&this.showLoading?i("div",{class:"autosuggest-progress-box"},i("dso-progress-indicator",{label:this.loadingLabel})):s&&i("dso-scrollable",{class:"listbox-container",ref:s=>this.listboxContainer=s,style:{"--max-block-size":`${this.listboxContainerMaxBlockSize}px`}},i("ul",{role:"listbox","aria-live":"polite",id:this.listboxId,"aria-labelledby":this.labelId,ref:s=>this.listbox=s,tabindex:"0"},this.showSuggestions&&this.suggestions&&this.suggestions.map((s=>i("li",{role:"option",id:this.listboxItemId(s),key:s.value,onMouseEnter:()=>this.selectSuggestion(s),onMouseLeave:()=>this.resetSelectedSuggestion(),onClick:()=>this.pickSelectedValue(),"aria-selected":(s===this.selectedSuggestion).toString(),"aria-label":s.value,ref:s=>s&&this.listboxItems.push(s)},i("div",{class:"suggestion-row"},i("span",{class:"value"},this.handleMark(s,s.value,"value")),s.type?i("span",{class:"type"},this.handleMark(s,s.type,"type")):undefined),s.extras&&this.getChunkedExtras(s.extras).map(((t,e)=>i("div",{class:"suggestion-row"},t.map(((t,o)=>i("span",{class:"extra"},this.handleMark(s,t,"extra",e*2+o))))))))))||this.notFound&&i("li",null,i("span",{class:"value"},this.notFoundLabel||this.showInputValueNotFound(this.text("notFound",{inputValue:this.inputValue})))))))}get host(){return o(this)}static get watchers(){return{suggestions:["suggestionsWatcher"]}}};p.style=d;export{p as dso_autosuggest};
2
- //# sourceMappingURL=p-135bf595.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["escapeStringRegexp","string","TypeError","replace","translations","en","notFound","nl","autosuggestCss","DsoAutosuggestStyle0","maxSuggestionsViewable","listboxPaddingBlock","listboxBorderWidth","Autosuggest","constructor","hostRef","this","suggestions","loading","loadingLabel","suggestOnFocus","showSuggestions","showLoading","listItemBlockSize","listboxContainerMaxBlockSize","listboxItems","listboxId","v4","inputId","labelId","resizeObserver","ResizeObserver","debounce","setListboxContainerMaxBlockSize","debouncedEmitValue","value","dsoChange","emit","debouncedShowLoading","inputValue","loadingDelayed","onInput","event","target","HTMLInputElement","match","onFocusIn","openSuggestions","text","i18n","host","onWindowResize","onScrollend","onKeyDown","defaultPrevented","key","selectNextSuggestion","selectPreviousSuggestion","closeSuggestions","pickSelectedValue","preventDefault","suggestionsWatcher","resetSelectedSuggestion","onDocumentClick","listbox","Node","contains","input","componentDidRender","connectedCallback","setTimeout","querySelector","id","labels","length","label","setAttribute","addEventListener","window","document","observe","disconnectedCallback","_a","removeEventListener","_b","_c","disconnect","listboxContainer","getBoundingClientRect","height","availableBlockSize","innerHeight","bottom","listboxMaxBlockSize","showInputValueNotFound","processAutosuggestMarkItems","markTerms","split","filter","t","handleMark","suggestion","type","extraIndex","mark","terms","suggestionValue","undefined","termRegex","RegExp","reduce","total","valuePart","push","test","slice","items","map","item","h","selectSuggestion","selectedSuggestion","setAriaActiveDescendant","selectFirstSuggestion","selectLastSuggestion","index","indexOf","scroll","listboxItemId","getElementById","scrollIntoView","block","_d","toString","dsoSelect","dsoSearch","getChunkedExtras","extras","resultArray","extra","chunkIndex","Math","floor","render","showListbox","removeAttribute","Fragment","class","ref","element","style","role","tabindex","onMouseEnter","onMouseLeave","onClick","li","chunk","c","i","notFoundLabel"],"sources":["../../node_modules/escape-string-regexp/index.js","src/components/autosuggest/autosuggest.i18n.ts","src/components/autosuggest/autosuggest.scss?tag=dso-autosuggest&encapsulation=scoped","src/components/autosuggest/autosuggest.tsx"],"sourcesContent":["export default function escapeStringRegexp(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n}\n","import { Resource } from \"../../utils/i18n\";\r\n\r\nexport const translations: Resource = {\r\n en: {\r\n \"dso-autosuggest\": {\r\n notFound: \"{{inputValue}} was not found.\",\r\n },\r\n },\r\n nl: {\r\n \"dso-autosuggest\": {\r\n notFound: \"{{inputValue}} is niet gevonden.\",\r\n },\r\n },\r\n};\r\n","@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/scaffolding\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n\r\n@use \"autosuggest.variables\" as core-autosuggest-variables;\r\n\r\n:host {\r\n display: block;\r\n position: relative;\r\n}\r\n\r\n.listbox-container {\r\n inset-inline: 0;\r\n inset-block-start: 100%;\r\n block-size: auto;\r\n max-block-size: var(--max-block-size);\r\n min-block-size: core-autosuggest-variables.$listbox-min-block-size;\r\n overflow-y: auto;\r\n position: absolute;\r\n z-index: zindex.$autosuggest;\r\n}\r\n\r\nul,\r\n.autosuggest-progress-box {\r\n background-clip: padding-box;\r\n background-color: core-autosuggest-variables.$background-color;\r\n border: core-autosuggest-variables.$listbox-border-width solid core-autosuggest-variables.$border-color;\r\n border-radius: scaffolding.$border-radius-base;\r\n box-shadow: core-autosuggest-variables.$box-shadow;\r\n list-style-type: none;\r\n margin-block: 0;\r\n}\r\n\r\n.autosuggest-progress-box {\r\n padding-block: units.$u1 * 1.5;\r\n padding-inline: units.$u1;\r\n}\r\n\r\nul {\r\n padding-block: core-autosuggest-variables.$listbox-padding-block;\r\n padding-inline: 0;\r\n\r\n li {\r\n padding-block: core-autosuggest-variables.$list-item-padding-block;\r\n padding-inline: units.$u2;\r\n\r\n .suggestion-row {\r\n display: flex;\r\n justify-content: space-between;\r\n }\r\n }\r\n}\r\n\r\nli[aria-selected=\"true\"] {\r\n cursor: pointer;\r\n background-color: colors.$grasgroen;\r\n\r\n &,\r\n .type,\r\n .extra {\r\n color: colors.$wit;\r\n }\r\n}\r\n\r\nmark {\r\n font-weight: 700;\r\n background-color: inherit;\r\n color: inherit;\r\n padding: 0;\r\n}\r\n\r\n.type,\r\n.extra {\r\n color: colors.$grijs-60;\r\n}\r\n\r\n.type {\r\n text-align: end;\r\n}\r\n\r\n.extra {\r\n font-size: typography.$root-font-size-small;\r\n line-height: typography.$root-font-size-small * typography.$line-height-base;\r\n\r\n &:not(:first-child) {\r\n text-align: end;\r\n }\r\n}\r\n","import { Component, Element, Event, EventEmitter, Fragment, h, Listen, Prop, State, VNode, Watch } from \"@stencil/core\";\r\n\r\nimport debounce from \"debounce\";\r\nimport escapeStringRegexp from \"escape-string-regexp\";\r\n\r\nimport { v4 } from \"uuid\";\r\n\r\nimport { i18n } from \"../../utils/i18n\";\r\n\r\nimport { AutosuggestMarkFunction, AutosuggestMarkItem, Suggestion } from \"./autosuggest.interfaces\";\r\nimport { translations } from \"./autosuggest.i18n\";\r\n\r\nconst maxSuggestionsViewable = 10;\r\nconst listboxPaddingBlock = 8;\r\nconst listboxBorderWidth = 1;\r\n\r\n@Component({\r\n tag: \"dso-autosuggest\",\r\n styleUrl: \"autosuggest.scss\",\r\n scoped: true,\r\n})\r\nexport class Autosuggest {\r\n /**\r\n * The suggestions for the value of the slotted input element. Optionally a\r\n * Suggestion can have a `type` and `item`.\r\n *\r\n * The `type` is used to style the suggestion. `item` can be use to reference\r\n * the original object that was used to create the suggestion.\r\n *\r\n * The value should be null when no suggestions have been fetched.\r\n */\r\n @Prop()\r\n readonly suggestions: Suggestion[] | null = null;\r\n\r\n /**\r\n * Shows progress indicator when fetching results.\r\n */\r\n @Prop()\r\n loading = false;\r\n\r\n /**\r\n * To override progress indicator's default loading label.\r\n */\r\n @Prop()\r\n loadingLabel?: string = \"Een moment geduld.\";\r\n\r\n /**\r\n * To delay progress indicator showing (in ms).\r\n */\r\n @Prop()\r\n loadingDelayed?: number;\r\n\r\n /**\r\n * To show text when no results are found.\r\n */\r\n @Prop()\r\n notFoundLabel?: string;\r\n\r\n /**\r\n * Whether the previous suggestions will be presented when the input gets focus again.\r\n */\r\n @Prop()\r\n suggestOnFocus = false;\r\n\r\n /**\r\n * A function provided by the consumer of the autosuggest component, that returns an array of `AutosuggestMarkItem`s\r\n */\r\n @Prop()\r\n mark?: AutosuggestMarkFunction;\r\n\r\n /**\r\n * Emitted when a suggestion is selected.\r\n * The `detail` property of the `CustomEvent` will contain the selected suggestion.\r\n */\r\n @Event()\r\n dsoSelect!: EventEmitter<Suggestion>;\r\n\r\n /**\r\n * This is emitted debounced for every change for the slotted input type=text element.\r\n */\r\n @Event()\r\n dsoChange!: EventEmitter<string>;\r\n\r\n /**\r\n * Emitted when enter is pressed.\r\n * The `detail` property of the `CustomEvent` will contain the input text.\r\n */\r\n @Event()\r\n dsoSearch!: EventEmitter<string>;\r\n\r\n @Element()\r\n host!: HTMLDsoAutosuggestElement;\r\n\r\n @State()\r\n showSuggestions = false;\r\n\r\n @State()\r\n selectedSuggestion: Suggestion | undefined;\r\n\r\n @State()\r\n notFound = false;\r\n\r\n @State()\r\n showLoading = false;\r\n\r\n @State()\r\n listItemBlockSize = 0;\r\n\r\n @State()\r\n listboxContainerMaxBlockSize = 0;\r\n\r\n @Watch(\"suggestions\")\r\n suggestionsWatcher() {\r\n this.resetSelectedSuggestion();\r\n\r\n if ((!this.showSuggestions || !this.notFound) && this.inputValue) {\r\n this.openSuggestions();\r\n } else if ((this.showSuggestions || this.notFound) && !this.inputValue) {\r\n this.closeSuggestions();\r\n }\r\n }\r\n\r\n private input?: HTMLInputElement;\r\n\r\n private listboxContainer: HTMLDsoScrollableElement | undefined;\r\n\r\n private listbox: HTMLUListElement | undefined;\r\n\r\n private listboxItems: HTMLLIElement[] = [];\r\n\r\n private listboxId: string = v4();\r\n\r\n private inputId: string = v4();\r\n\r\n private labelId: string = v4();\r\n\r\n private resizeObserver = new ResizeObserver(debounce(() => this.setListboxContainerMaxBlockSize(), 150));\r\n\r\n private debouncedEmitValue = debounce((value: string) => {\r\n this.dsoChange.emit(value);\r\n this.debouncedShowLoading();\r\n }, 200);\r\n\r\n private debouncedShowLoading = debounce(() => {\r\n if (this.inputValue) {\r\n this.showLoading = true;\r\n }\r\n }, this.loadingDelayed);\r\n\r\n private inputValue = \"\";\r\n\r\n private onInput = (event: Event) => {\r\n if (!(event.target instanceof HTMLInputElement)) {\r\n return;\r\n // throw new Error(\"event.target is not instanceof HTMLInputElement\"); #2293\r\n }\r\n\r\n this.showLoading = !this.loadingDelayed;\r\n this.inputValue = event.target.value;\r\n this.debouncedEmitValue(event.target.value.match(/(\\S+)/g) ? event.target.value : \"\");\r\n };\r\n\r\n private onFocusIn = () => {\r\n if (this.suggestOnFocus) {\r\n this.openSuggestions();\r\n }\r\n };\r\n\r\n @Listen(\"click\", { target: \"document\" })\r\n onDocumentClick(event: MouseEvent) {\r\n if (\r\n (this.showSuggestions || this.notFound) &&\r\n this.listbox &&\r\n event.target instanceof Node &&\r\n !this.listbox.contains(event.target) &&\r\n this.input !== event.target\r\n ) {\r\n this.closeSuggestions();\r\n }\r\n }\r\n\r\n private text = i18n(() => this.host, translations);\r\n\r\n componentDidRender() {\r\n this.setListboxContainerMaxBlockSize();\r\n }\r\n\r\n connectedCallback() {\r\n setTimeout(() => {\r\n const input = this.host.querySelector('input[type=\"text\"]');\r\n if (!(input instanceof HTMLInputElement)) {\r\n return;\r\n // throw new ReferenceError(\"Mandatory text input not found\"); #2293\r\n }\r\n\r\n this.input = input;\r\n if (input.id) {\r\n this.inputId = input.id;\r\n } else {\r\n input.id = this.inputId;\r\n }\r\n\r\n if (!this.input.labels || this.input.labels.length < 1) {\r\n return;\r\n // throw new ReferenceError(\"Mandatory label for text input not found\"); #2293\r\n }\r\n\r\n const label = this.input.labels[0];\r\n if (label?.id) {\r\n this.labelId = label.id;\r\n } else if (label) {\r\n label.id = this.labelId;\r\n }\r\n\r\n this.input.setAttribute(\"role\", \"combobox\");\r\n this.input.setAttribute(\"aria-haspopup\", \"listbox\");\r\n this.input.setAttribute(\"aria-expanded\", \"false\");\r\n this.input.setAttribute(\"autocomplete\", \"off\");\r\n this.input.setAttribute(\"aria-autocomplete\", \"list\");\r\n this.input.setAttribute(\"aria-activedescendant\", \"\");\r\n this.input.addEventListener(\"input\", this.onInput);\r\n this.input.addEventListener(\"keydown\", this.onKeyDown);\r\n this.input.addEventListener(\"focusin\", this.onFocusIn);\r\n\r\n window.addEventListener(\"resize\", this.onWindowResize);\r\n\r\n document.addEventListener(\"scrollend\", this.onScrollend);\r\n\r\n this.resizeObserver.observe(this.host);\r\n\r\n this.setListboxContainerMaxBlockSize();\r\n });\r\n }\r\n\r\n disconnectedCallback() {\r\n this.input?.removeEventListener(\"input\", this.onInput);\r\n this.input?.removeEventListener(\"keydown\", this.onKeyDown);\r\n this.input?.removeEventListener(\"focusin\", this.onFocusIn);\r\n\r\n window.removeEventListener(\"resize\", this.onWindowResize);\r\n\r\n document.removeEventListener(\"scrollend\", this.onScrollend);\r\n\r\n this.resizeObserver.disconnect();\r\n }\r\n\r\n private onWindowResize = debounce(() => this.setListboxContainerMaxBlockSize(), 150);\r\n\r\n private onScrollend = () => this.setListboxContainerMaxBlockSize();\r\n\r\n private setListboxContainerMaxBlockSize(): void {\r\n if (!this.listboxContainer || !this.showSuggestions) {\r\n return;\r\n }\r\n\r\n if (this.listboxItems[0] && this.showSuggestions) {\r\n this.listItemBlockSize = this.listboxItems[0].getBoundingClientRect().height;\r\n }\r\n\r\n const availableBlockSize = window.innerHeight - this.host.getBoundingClientRect().bottom;\r\n const listboxMaxBlockSize =\r\n this.listItemBlockSize * maxSuggestionsViewable + 2 * listboxPaddingBlock + 2 * listboxBorderWidth;\r\n\r\n if (availableBlockSize > this.listItemBlockSize) {\r\n if (availableBlockSize < listboxMaxBlockSize) {\r\n this.listboxContainerMaxBlockSize = availableBlockSize - 2 * listboxPaddingBlock;\r\n } else {\r\n this.listboxContainerMaxBlockSize = listboxMaxBlockSize;\r\n }\r\n }\r\n }\r\n\r\n private showInputValueNotFound(text?: string) {\r\n return this.processAutosuggestMarkItems(this.markTerms(this.input?.value.split(\" \").filter((t) => t) ?? [], text));\r\n }\r\n\r\n private handleMark(\r\n suggestion: Suggestion,\r\n text: string,\r\n type?: \"value\" | \"type\" | \"extra\",\r\n extraIndex?: number,\r\n ): (VNode | string)[] {\r\n if (this.mark && type) {\r\n return this.processAutosuggestMarkItems(this.mark(suggestion, text, type, extraIndex));\r\n }\r\n return this.processAutosuggestMarkItems(this.markTerms(this.input?.value.split(\" \").filter((t) => t) ?? [], text));\r\n }\r\n\r\n private markTerms(terms: string[], suggestionValue?: string): AutosuggestMarkItem[] {\r\n if (!suggestionValue || !terms || terms.length === 0 || terms[0] === undefined) {\r\n return [\"\"];\r\n }\r\n\r\n const termRegex = new RegExp(`(${escapeStringRegexp(terms[0])})`, \"gi\");\r\n\r\n return suggestionValue.split(termRegex).reduce((total: AutosuggestMarkItem[], valuePart: string) => {\r\n if (!valuePart) {\r\n total.push(valuePart);\r\n } else if (termRegex.test(valuePart)) {\r\n total.push({ mark: valuePart });\r\n } else if (terms.length === 1) {\r\n total.push(valuePart);\r\n } else {\r\n total.push(...this.markTerms(terms.slice(1), valuePart));\r\n }\r\n\r\n return total;\r\n }, []);\r\n }\r\n\r\n private processAutosuggestMarkItems(items: AutosuggestMarkItem[]): (VNode | string)[] {\r\n if (items.length === 0) {\r\n return [\"\"];\r\n }\r\n\r\n return items.map((item) => {\r\n if (typeof item === \"object\") {\r\n return <mark>{item.mark}</mark>;\r\n }\r\n return item;\r\n });\r\n }\r\n\r\n private selectSuggestion(suggestion: Suggestion) {\r\n this.selectedSuggestion = suggestion;\r\n\r\n this.setAriaActiveDescendant();\r\n }\r\n\r\n private selectFirstSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n this.selectedSuggestion = this.suggestions[0];\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectLastSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n this.selectedSuggestion = this.suggestions[this.suggestions.length - 1];\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectNextSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : -1;\r\n\r\n this.selectedSuggestion = this.suggestions[index + 1] ?? this.suggestions[0];\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private selectPreviousSuggestion() {\r\n if (!this.suggestions) {\r\n return;\r\n }\r\n\r\n const index = this.selectedSuggestion ? this.suggestions.indexOf(this.selectedSuggestion) : 0;\r\n\r\n this.selectedSuggestion = this.suggestions[index - 1] ?? this.suggestions[this.suggestions.length - 1];\r\n\r\n this.setAriaActiveDescendant(true);\r\n }\r\n\r\n private setAriaActiveDescendant(scroll = false): void {\r\n if (this.selectedSuggestion) {\r\n const id = this.listboxItemId(this.selectedSuggestion);\r\n this.input?.setAttribute(\"aria-activedescendant\", id);\r\n if (scroll) {\r\n document.getElementById(id)?.scrollIntoView({ block: \"nearest\" });\r\n }\r\n }\r\n }\r\n\r\n private resetSelectedSuggestion() {\r\n this.showLoading = !this.loadingDelayed;\r\n this.notFound = false;\r\n this.selectedSuggestion = undefined;\r\n this.input?.setAttribute(\"aria-activedescendant\", \"\");\r\n }\r\n\r\n private openSuggestions(selectSuggestion?: \"first\" | \"last\") {\r\n this.showSuggestions = (this.suggestions && this.suggestions.length > 0) ?? false;\r\n this.notFound = (this.suggestions && this.suggestions?.length === 0) ?? false;\r\n this.input?.setAttribute(\"aria-expanded\", (this.showSuggestions || this.notFound).toString());\r\n\r\n if (this.showSuggestions && selectSuggestion === \"first\") {\r\n this.selectFirstSuggestion();\r\n } else if (this.showSuggestions && selectSuggestion === \"last\") {\r\n this.selectLastSuggestion();\r\n }\r\n }\r\n\r\n private closeSuggestions() {\r\n this.showSuggestions = false;\r\n this.notFound = false;\r\n this.input?.setAttribute(\"aria-expanded\", \"false\");\r\n this.selectFirstSuggestion();\r\n }\r\n\r\n private pickSelectedValue() {\r\n if (this.selectedSuggestion && this.showSuggestions) {\r\n this.dsoSelect.emit(this.selectedSuggestion);\r\n } else {\r\n this.dsoSearch.emit(this.input?.value);\r\n }\r\n\r\n this.closeSuggestions();\r\n }\r\n\r\n private onKeyDown = (event: KeyboardEvent) => {\r\n if (event.defaultPrevented || this.loading) {\r\n return;\r\n }\r\n\r\n switch (event.key) {\r\n case \"ArrowDown\":\r\n if (!this.showSuggestions) {\r\n this.openSuggestions(\"first\");\r\n } else {\r\n this.selectNextSuggestion();\r\n }\r\n\r\n break;\r\n\r\n case \"ArrowUp\":\r\n if (!this.showSuggestions) {\r\n this.openSuggestions(\"last\");\r\n } else {\r\n this.selectPreviousSuggestion();\r\n }\r\n\r\n break;\r\n\r\n case \"Tab\":\r\n this.closeSuggestions();\r\n return;\r\n\r\n case \"Escape\":\r\n this.closeSuggestions();\r\n break;\r\n\r\n case \"Enter\":\r\n this.pickSelectedValue();\r\n break;\r\n\r\n default:\r\n return;\r\n }\r\n\r\n event.preventDefault();\r\n };\r\n\r\n private listboxItemId(suggestion: Suggestion): string {\r\n if (!this.suggestions) {\r\n return \"\";\r\n }\r\n return `${this.inputId}-${this.suggestions.indexOf(suggestion) + 1}`;\r\n }\r\n\r\n private getChunkedExtras(extras: string[]): string[][] {\r\n return extras.reduce((resultArray: string[][], extra, index) => {\r\n const chunkIndex = Math.floor(index / 2);\r\n\r\n if (!resultArray[chunkIndex]) {\r\n resultArray[chunkIndex] = [];\r\n }\r\n resultArray[chunkIndex]?.push(extra);\r\n return resultArray;\r\n }, []);\r\n }\r\n\r\n render() {\r\n this.listboxItems = [];\r\n\r\n const showListbox = this.showSuggestions || this.notFound;\r\n\r\n if (showListbox && this.input) {\r\n this.input.setAttribute(\"aria-controls\", this.listboxId);\r\n } else if (this.input) {\r\n this.input.removeAttribute(\"aria-controls\");\r\n }\r\n\r\n return (\r\n <>\r\n <slot />\r\n {this.loading && this.showLoading ? (\r\n <div class=\"autosuggest-progress-box\">\r\n <dso-progress-indicator label={this.loadingLabel}></dso-progress-indicator>\r\n </div>\r\n ) : (\r\n showListbox && (\r\n <dso-scrollable\r\n class=\"listbox-container\"\r\n ref={(element) => (this.listboxContainer = element)}\r\n style={{ \"--max-block-size\": `${this.listboxContainerMaxBlockSize}px` }}\r\n >\r\n <ul\r\n role=\"listbox\"\r\n aria-live=\"polite\"\r\n id={this.listboxId}\r\n aria-labelledby={this.labelId}\r\n ref={(element) => (this.listbox = element)}\r\n tabindex=\"0\"\r\n >\r\n {(this.showSuggestions &&\r\n this.suggestions &&\r\n this.suggestions.map((suggestion) => (\r\n <li\r\n role=\"option\"\r\n id={this.listboxItemId(suggestion)}\r\n key={suggestion.value}\r\n onMouseEnter={() => this.selectSuggestion(suggestion)}\r\n onMouseLeave={() => this.resetSelectedSuggestion()}\r\n onClick={() => this.pickSelectedValue()}\r\n aria-selected={(suggestion === this.selectedSuggestion).toString()}\r\n aria-label={suggestion.value}\r\n ref={(li) => li && this.listboxItems.push(li)}\r\n >\r\n <div class=\"suggestion-row\">\r\n <span class=\"value\">{this.handleMark(suggestion, suggestion.value, \"value\")}</span>\r\n {suggestion.type ? (\r\n <span class=\"type\">{this.handleMark(suggestion, suggestion.type, \"type\")}</span>\r\n ) : undefined}\r\n </div>\r\n {suggestion.extras &&\r\n this.getChunkedExtras(suggestion.extras).map((chunk, index) => (\r\n <div class=\"suggestion-row\">\r\n {chunk.map((c, i) => (\r\n <span class=\"extra\">{this.handleMark(suggestion, c, \"extra\", index * 2 + i)}</span>\r\n ))}\r\n </div>\r\n ))}\r\n </li>\r\n ))) ||\r\n (this.notFound && (\r\n <li>\r\n <span class=\"value\">\r\n {this.notFoundLabel ||\r\n this.showInputValueNotFound(this.text(\"notFound\", { inputValue: this.inputValue }))}\r\n </span>\r\n </li>\r\n ))}\r\n </ul>\r\n </dso-scrollable>\r\n )\r\n )}\r\n </>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["annotationCss","DsoAnnotationLocatieStyle0","AnnotationLocatie","constructor","hostRef","this","watcher","host","connectedCallback","watch","disconnectedCallback","unwatch","render","hasSymbool","h","AnnotationBody","key","symbol","AnnotationSymbolSlot","undefined","active","dsoActiveChange","title","Fragment","class","value","locatieNoemer","gewijzigdeLocatie","AnnotationGewijzigdeLocatie","Heading","_a","children","heading","mode","href","onClick","props","__rest","headingElement","Object","assign","documentComponentCss","DsoDocumentComponentStyle0","wijzigactieLabels","nieuweContainer","verwijder","verwijderContainer","voegtoe","DocumentComponent","open","filtered","notApplicable","genesteOntwerpInformatie","bevatOntwerpInformatie","annotated","gereserveerd","vervallen","openAnnotation","handleHeadingClick","e","dsoTableOfContentsClick","emit","originalEvent","isModifiedEvent","type","dsoOpenToggle","handleOzonContentAnchorClick","dsoOzonContentAnchorClick","ozonContentAnchorClick","detail","handleRecursiveToggleClick","dsoRecursiveToggle","current","recursiveToggle","next","wijzigactieLabel","wijzigactie","suffix","showOntwerpBadge","collapsible","label","nummer","opschrift","alternativeTitle","showHeading","Host","part","toString","icon","id","kop","content","addSpaceBeforeNode","onDsoAnchorClick","mark","text","call","onDsoOzonContentMarkItemHighlight","dsoMarkItemHighlight","source","inline","status","compact","dsoAnnotationToggle","onDsoCloseClick","closeButtonLabel","slot","name","inhoud"],"sources":["src/components/annotation/annotation.scss?tag=dso-annotation-locatie&encapsulation=shadow","src/components/annotation/annotation-locatie/annotation-locatie.tsx","src/components/document-component/document-component-heading.tsx","src/components/document-component/document-component.scss?tag=dso-document-component&encapsulation=shadow","src/components/document-component/document-component.tsx"],"sourcesContent":["@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n@use \"~dso-toolkit/src/components/insert\";\r\n@use \"~dso-toolkit/src/components/delete\";\r\n\r\n@use \"~dso-toolkit/src/components/anchor/anchor\";\r\n\r\n:host {\r\n display: block;\r\n padding: 2px;\r\n}\r\n\r\n:host([wijzigactie=\"voegtoe\"]) {\r\n @include insert.root();\r\n}\r\n\r\n:host([wijzigactie=\"verwijder\"]) {\r\n @include delete.root();\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.annotation-body {\r\n display: flex;\r\n gap: units.$u1;\r\n}\r\n\r\n.annotation-info {\r\n flex-grow: 1;\r\n}\r\n\r\n.annotation-symbol,\r\n.annotation-control {\r\n flex-shrink: 0;\r\n}\r\n\r\n.annotation-title {\r\n font-weight: 500;\r\n word-break: break-word;\r\n}\r\n\r\n.annotation-title,\r\n.annotation-data {\r\n margin-block: 0;\r\n\r\n .content:has(+ dso-label) {\r\n margin-inline-end: units.$u1 * 0.5;\r\n }\r\n}\r\n\r\n.annotation-data {\r\n font-size: 0.875rem;\r\n}\r\n","import { Component, ComponentInterface, Prop, Event, h, EventEmitter, Fragment, Element } from \"@stencil/core\";\r\nimport { AnnotationActiveChangeEvent, AnnotationWijzigactie } from \"../annotation.interfaces\";\r\n\r\nimport { AnnotationBody } from \"../annotation-body\";\r\nimport { AnnotationGewijzigdeLocatie } from \"../annotation-gewijzigde-locatie\";\r\nimport { watcher } from \"../annotation-watcher\";\r\nimport { AnnotationSymbolSlot } from \"../annotation-symbol-slot\";\r\nimport { RenvooiValue } from \"../../renvooi/renvooi.interfaces\";\r\n\r\n/**\r\n * @slot symbool - Een optionele afbeelding die de annotatie symboliseert.\r\n */\r\n@Component({\r\n tag: \"dso-annotation-locatie\",\r\n styleUrl: \"../annotation.scss\",\r\n shadow: true,\r\n})\r\nexport class AnnotationLocatie implements ComponentInterface {\r\n /**\r\n * Een optionele wijzigactie die aangeeft of de annotatie toegevoegd of verwijderd is.\r\n */\r\n @Prop({ reflect: true })\r\n wijzigactie?: AnnotationWijzigactie;\r\n\r\n /**\r\n * Een optionele boolean die aangeeft of de annotatie actief is.\r\n */\r\n @Prop({ reflect: true })\r\n active?: boolean;\r\n\r\n /**\r\n * Een optionele boolean die aangeeft of de locatie van de annotatie gewijzigd is.\r\n */\r\n @Prop({ reflect: true })\r\n gewijzigdeLocatie?: boolean;\r\n\r\n /**\r\n * Een optionele event listener voor wijzigingen aan de status van de annotatie.\r\n */\r\n @Event()\r\n dsoActiveChange!: EventEmitter<AnnotationActiveChangeEvent>;\r\n\r\n /**\r\n * De noemer van de locatie.\r\n */\r\n @Prop()\r\n locatieNoemer?: RenvooiValue | string;\r\n\r\n @Element()\r\n private host!: HTMLDsoAnnotationLocatieElement;\r\n\r\n private watcher = watcher(this.host);\r\n\r\n connectedCallback(): void {\r\n this.watcher.watch();\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.watcher.unwatch();\r\n }\r\n\r\n render() {\r\n const hasSymbool = this.watcher.hasSymbool();\r\n\r\n return (\r\n <AnnotationBody\r\n symbol={hasSymbool ? <AnnotationSymbolSlot /> : undefined}\r\n active={this.active}\r\n dsoActiveChange={this.dsoActiveChange}\r\n title={\r\n <>\r\n <span class=\"content\">\r\n <dso-renvooi value={this.locatieNoemer} />\r\n </span>\r\n {this.gewijzigdeLocatie && <AnnotationGewijzigdeLocatie />}\r\n </>\r\n }\r\n />\r\n );\r\n }\r\n}\r\n","import { h, FunctionalComponent, VNode } from \"@stencil/core\";\r\nimport { JSXBase } from \"@stencil/core/internal\";\r\nimport { DocumentComponentMode } from \"./document-component.models\";\r\n\r\ninterface DocumentComponentHeadingProps {\r\n heading: \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\r\n mode: DocumentComponentMode;\r\n href?: string;\r\n}\r\n\r\nexport const Heading: FunctionalComponent<\r\n DocumentComponentHeadingProps & JSXBase.HTMLAttributes<HTMLHeadingElement>\r\n> = ({ heading, mode, href, onClick, ...props }, children) => {\r\n let headingElement: VNode;\r\n switch (heading) {\r\n default:\r\n case \"h2\":\r\n headingElement = (\r\n <h2 {...props} onClick={mode === \"document\" ? onClick : undefined}>\r\n {children}\r\n </h2>\r\n );\r\n break;\r\n case \"h3\":\r\n headingElement = (\r\n <h3 {...props} onClick={mode === \"document\" ? onClick : undefined}>\r\n {children}\r\n </h3>\r\n );\r\n break;\r\n case \"h4\":\r\n headingElement = (\r\n <h4 {...props} onClick={mode === \"document\" ? onClick : undefined}>\r\n {children}\r\n </h4>\r\n );\r\n break;\r\n case \"h5\":\r\n headingElement = (\r\n <h5 {...props} onClick={mode === \"document\" ? onClick : undefined}>\r\n {children}\r\n </h5>\r\n );\r\n break;\r\n case \"h6\":\r\n headingElement = (\r\n <h6 {...props} onClick={mode === \"document\" ? onClick : undefined}>\r\n {children}\r\n </h6>\r\n );\r\n }\r\n\r\n if (mode === \"table-of-contents\" && href) {\r\n return (\r\n <a href={href} onClick={onClick} class=\"heading-anchor\">\r\n {headingElement}\r\n </a>\r\n );\r\n }\r\n\r\n return headingElement;\r\n};\r\n","@use \"~dso-toolkit/src/utilities\";\r\n\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n@use \"~dso-toolkit/src/components/anchor\";\r\n@use \"~dso-toolkit/src/components/button/button\";\r\n@use \"~dso-toolkit/src/components/document-component\";\r\n@use \"~dso-toolkit/src/components/delete\";\r\n@use \"~dso-toolkit/src/components/insert\";\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n:host {\r\n display: block;\r\n\r\n --depth: var(--a, 0);\r\n}\r\n\r\n:host([not-collapsible]:where([wijzigactie=\"verwijder\"], [wijzigactie=\"voegtoe\"])) {\r\n padding-inline-start: units.$u1;\r\n margin-inline-end: units.$u1;\r\n}\r\n\r\n:host(:where([wijzigactie=\"verwijder\"], [wijzigactie=\"voegtoe\"])),\r\n:host(:where([wijzigactie=\"nieuweContainer\"], [wijzigactie=\"verwijderContainer\"])) .heading-container {\r\n padding-block-start: units.$u1 * 0.5;\r\n padding-block-end: units.$u1 * 0.5;\r\n}\r\n\r\n:host([wijzigactie=\"verwijderContainer\"]) .heading-container,\r\n:host(:where([wijzigactie=\"verwijder\"])) {\r\n @include delete.root($strikethrough: false);\r\n\r\n --_dso-document-component-text-decoration: line-through;\r\n}\r\n\r\n.heading-element,\r\n.content {\r\n @include delete.strikethrough($_value: var(--_dso-document-component-text-decoration));\r\n}\r\n\r\n:host([wijzigactie=\"nieuweContainer\"]) .heading-container,\r\n:host([wijzigactie=\"voegtoe\"]) {\r\n @include insert.root();\r\n}\r\n\r\n:host([filtered]) {\r\n position: relative;\r\n\r\n &::before {\r\n content: \"\";\r\n inset-inline-start: -3px;\r\n position: absolute;\r\n display: block;\r\n inline-size: 3px;\r\n inset-block-start: 0;\r\n inset-block-end: 0;\r\n background-color: colors.$lichtblauw;\r\n }\r\n}\r\n\r\n:host([open]),\r\n:host([open-annotation]) {\r\n .annotation-container,\r\n .heading-container {\r\n margin-block-end: units.$u1;\r\n }\r\n}\r\n\r\n.recursive-toggle,\r\n.toggle-button {\r\n border: 0;\r\n padding: 0;\r\n background: 0;\r\n color: colors.$bosgroen;\r\n}\r\n\r\n.heading-anchor {\r\n display: flex;\r\n flex-wrap: nowrap;\r\n\r\n @include anchor.root();\r\n\r\n text-decoration: none;\r\n}\r\n\r\n.heading-element {\r\n align-items: start;\r\n display: flex;\r\n font-size: 1rem;\r\n color: colors.$bosgroen;\r\n margin: 0;\r\n\r\n > * {\r\n vertical-align: middle;\r\n }\r\n}\r\n\r\n#heading-title {\r\n display: block;\r\n}\r\n\r\n:host([not-collapsible]) {\r\n .heading-container {\r\n margin-block-end: 0;\r\n }\r\n\r\n .editaction-label {\r\n margin-inline-start: 0;\r\n }\r\n\r\n .heading-element {\r\n color: colors.$zwart;\r\n }\r\n}\r\n\r\n:host([mode=\"document\"]:not([not-collapsible])) {\r\n --link-color: document-component.$heading-anchor-color;\r\n --link-hover-color: document-component.$heading-anchor-hover-color;\r\n\r\n .heading-element {\r\n cursor: pointer;\r\n @include anchor.pseudo();\r\n }\r\n\r\n .editaction-label {\r\n margin-inline-start: document-component.$indent;\r\n }\r\n}\r\n\r\n:host([mode=\"table-of-contents\"]) {\r\n .heading-container {\r\n padding-inline-start: document-component.$indent-table-of-contents;\r\n }\r\n\r\n .heading-element {\r\n color: inherit;\r\n }\r\n\r\n .editaction-label {\r\n margin-inline-start: 0;\r\n }\r\n}\r\n\r\n:host([mode=\"table-of-contents\"][type=\"ARTIKEL\"]) {\r\n .heading-element {\r\n color: inherit;\r\n }\r\n}\r\n\r\n:host([mode=\"table-of-contents\"]:not([type=\"HOOFDSTUK\"])) {\r\n .heading-element {\r\n font-weight: normal;\r\n }\r\n}\r\n\r\n.addons {\r\n margin-inline-start: auto;\r\n display: flex;\r\n gap: units.$u1;\r\n}\r\n\r\n.heading {\r\n display: flex;\r\n align-items: start;\r\n gap: units.$u1;\r\n}\r\n\r\n:host([type=\"ARTIKEL\"]) {\r\n .heading-element,\r\n .toggle-button {\r\n color: colors.$zwart;\r\n }\r\n}\r\n\r\n:host([type=\"LID\"][open-annotation]) {\r\n .annotation-container {\r\n margin-block-start: units.$u1;\r\n }\r\n}\r\n\r\n.editaction-label {\r\n font-style: italic;\r\n margin-inline-start: units.$u1;\r\n}\r\n\r\n.content,\r\n.heading-container {\r\n padding-inline-end: units.$u1;\r\n}\r\n\r\n.annotation-container {\r\n padding-inline-end: units.$u1;\r\n\r\n dso-panel {\r\n --_dso-panel-body-background-color: #{colors.$wit};\r\n }\r\n}\r\n\r\n:host(:where([annotations-wijzigactie=\"verwijder\"])) {\r\n .annotation-container {\r\n dso-panel {\r\n --_dso-panel-body-background-color: #{colors.$rood-10};\r\n --_dso-renvooi-text-decoration: line-through;\r\n }\r\n }\r\n}\r\n\r\n:host([annotations-wijzigactie=\"voegtoe\"]) {\r\n .annotation-container {\r\n dso-panel {\r\n --_dso-panel-body-background-color: #{colors.$lime-10};\r\n }\r\n }\r\n}\r\n","import { h, Component, ComponentInterface, Event, EventEmitter, Fragment, Prop, Host } from \"@stencil/core\";\r\n\r\nimport { isModifiedEvent } from \"../../utils/is-modified-event\";\r\n\r\nimport {\r\n DocumentComponentOpenToggleEvent,\r\n DocumentComponentToggleAnnotationEvent,\r\n DocumentComponentOzonContentAnchorClickEvent,\r\n DocumentComponentWijzigactie,\r\n DocumentComponentAnnotationsWijzigactie,\r\n DocumentComponentInputType,\r\n DocumentComponentMarkFunction,\r\n DocumentComponentMarkItemHighlightEvent,\r\n DocumentComponentRecursiveToggleEvent,\r\n DocumentComponentRecursiveToggleState,\r\n DocumentComponentMode,\r\n DocumentComponentTableOfContentsClickEvent,\r\n} from \"./document-component.models\";\r\nimport { OzonContentAnchorClickEvent } from \"../ozon-content/ozon-content.interfaces\";\r\nimport { Heading } from \"./document-component-heading\";\r\n\r\nimport { DsoOzonContentCustomEvent } from \"../../components\";\r\n\r\nconst wijzigactieLabels: { [wijzigactie in DocumentComponentWijzigactie]: string } = {\r\n nieuweContainer: \"Toegevoegd\",\r\n verwijder: \"Verwijderd\",\r\n verwijderContainer: \"Verwijderd\",\r\n voegtoe: \"Toegevoegd\",\r\n};\r\n\r\n/**\r\n * @part _annotation-container - private part, do not touch.\r\n * @part _children-container - private part, do not touch.\r\n * @part _content - private part, do not touch.\r\n * @part _heading-container - private part, do not touch.\r\n */\r\n@Component({\r\n tag: \"dso-document-component\",\r\n styleUrl: \"document-component.scss\",\r\n shadow: true,\r\n})\r\nexport class DocumentComponent implements ComponentInterface {\r\n /**\r\n * The heading element to use.\r\n */\r\n @Prop()\r\n heading: \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" = \"h2\";\r\n\r\n /**\r\n * The Label XML.\r\n * @deprecated Use `kop` instead.\r\n */\r\n @Prop()\r\n label?: DocumentComponentInputType;\r\n\r\n /**\r\n * The Nummer XML.\r\n * @deprecated Use `kop` instead.\r\n */\r\n @Prop()\r\n nummer?: DocumentComponentInputType;\r\n\r\n /**\r\n * The Opschrift XML.\r\n * @deprecated Use `kop` instead.\r\n */\r\n @Prop()\r\n opschrift?: DocumentComponentInputType;\r\n\r\n /**\r\n * The Kop XML.\r\n */\r\n @Prop()\r\n kop?: DocumentComponentInputType;\r\n\r\n /**\r\n * The Inhoud XML.\r\n */\r\n @Prop()\r\n inhoud?: DocumentComponentInputType;\r\n\r\n /**\r\n * This boolean attribute indicates whether the children are visible.\r\n */\r\n @Prop({ reflect: true })\r\n open = false;\r\n\r\n /**\r\n * Marks this Document Component as belonging to an active filter.\r\n */\r\n @Prop({ reflect: true })\r\n filtered = false;\r\n\r\n /**\r\n * Marks this Document Component as not-applicable.\r\n */\r\n @Prop({ reflect: true })\r\n notApplicable = false;\r\n\r\n /**\r\n * When a child Document Component has a status \"Draft\".\r\n */\r\n @Prop({ reflect: true })\r\n genesteOntwerpInformatie = false;\r\n\r\n /**\r\n * Marks as draft.\r\n */\r\n @Prop({ reflect: true })\r\n bevatOntwerpInformatie = false;\r\n\r\n /**\r\n * Enables annotations.\r\n */\r\n @Prop({ reflect: true })\r\n annotated = false;\r\n\r\n /**\r\n * Marks Document Component as reserved.\r\n */\r\n @Prop()\r\n gereserveerd = false;\r\n\r\n /**\r\n * Marks the Document Component as expired.\r\n */\r\n @Prop()\r\n vervallen = false;\r\n\r\n /**\r\n * When the Annotation is opened, set this to true.\r\n */\r\n @Prop({ reflect: true })\r\n openAnnotation = false;\r\n\r\n /**\r\n * An alternative title to show when there is nothing to create a title.\r\n */\r\n @Prop()\r\n alternativeTitle?: string;\r\n\r\n /**\r\n * Type of Document Component.\r\n */\r\n @Prop({ reflect: true })\r\n type?: string;\r\n\r\n /**\r\n * The wijzigactie as in STOP.\r\n */\r\n @Prop({ reflect: true })\r\n wijzigactie?: DocumentComponentWijzigactie;\r\n\r\n /**\r\n * The wijzigactie for all annotations.\r\n */\r\n @Prop({ reflect: true })\r\n annotationsWijzigactie?: DocumentComponentAnnotationsWijzigactie;\r\n\r\n /**\r\n * To mark text.\r\n */\r\n @Prop()\r\n mark?: DocumentComponentMarkFunction;\r\n\r\n /**\r\n * Shows the recursive toggle button. When the user activates this button the event `dsoRecursiveToggle` is emitted.\r\n */\r\n @Prop()\r\n recursiveToggle: DocumentComponentRecursiveToggleState;\r\n\r\n /**\r\n * The mode of the Document Component. One of \"document\" or \"table-of-contents\". Defaults to \"document\"\r\n */\r\n @Prop({ reflect: true })\r\n mode: DocumentComponentMode = \"document\";\r\n\r\n /**\r\n * The URL to which the Heading links (only in mode=\"table-of-contents\").\r\n */\r\n @Prop({ reflect: true })\r\n href?: string;\r\n\r\n /**\r\n * Emitted when the user activates the recursive toggle.\r\n */\r\n @Event({ bubbles: false })\r\n dsoRecursiveToggle!: EventEmitter<DocumentComponentRecursiveToggleEvent>;\r\n\r\n /**\r\n * Emitted when the user activates the toggle.\r\n */\r\n @Event({ bubbles: false })\r\n dsoOpenToggle!: EventEmitter<DocumentComponentOpenToggleEvent>;\r\n\r\n /**\r\n * Emitted when the user clicks the heading in mode=\"table-of-contents\".\r\n */\r\n @Event({ bubbles: false })\r\n dsoTableOfContentsClick!: EventEmitter<DocumentComponentTableOfContentsClickEvent>;\r\n\r\n /**\r\n * Emitted when the user actives intRef or intIoRef anchors in Ozon Content\r\n */\r\n @Event({ bubbles: false })\r\n dsoOzonContentAnchorClick!: EventEmitter<DocumentComponentOzonContentAnchorClickEvent>;\r\n\r\n /**\r\n * Emitted when the user activates the annotation button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoAnnotationToggle!: EventEmitter<DocumentComponentToggleAnnotationEvent>;\r\n\r\n /**\r\n * Emitted each time a marked item gets highlighted.\r\n */\r\n @Event({ bubbles: false })\r\n dsoMarkItemHighlight!: EventEmitter<DocumentComponentMarkItemHighlightEvent>;\r\n\r\n private get wijzigactieLabel(): string | undefined {\r\n return this.wijzigactie && wijzigactieLabels[this.wijzigactie];\r\n }\r\n\r\n private handleHeadingClick = (e: MouseEvent) => {\r\n if (this.mode === \"table-of-contents\") {\r\n this.dsoTableOfContentsClick.emit({ originalEvent: e, isModifiedEvent: isModifiedEvent(e) });\r\n } else if (this.type !== \"LID\") {\r\n this.dsoOpenToggle.emit({ originalEvent: e, open: !this.open });\r\n }\r\n };\r\n\r\n private suffix(): string | undefined {\r\n if (this.vervallen) {\r\n return \"vervallen\";\r\n }\r\n\r\n if (this.gereserveerd) {\r\n return \"gereserveerd\";\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n private handleOzonContentAnchorClick = (e: DsoOzonContentCustomEvent<OzonContentAnchorClickEvent>) => {\r\n this.dsoOzonContentAnchorClick.emit({ originalEvent: e, ozonContentAnchorClick: e.detail });\r\n };\r\n\r\n private handleRecursiveToggleClick = (e: MouseEvent) => {\r\n this.dsoRecursiveToggle.emit({\r\n originalEvent: e,\r\n current: this.recursiveToggle,\r\n next: this.recursiveToggle !== true,\r\n });\r\n };\r\n\r\n private showOntwerpBadge(): boolean {\r\n return (\r\n this.genesteOntwerpInformatie &&\r\n !this.bevatOntwerpInformatie &&\r\n ((!this.open && this.mode === \"document\") || this.mode === \"table-of-contents\")\r\n );\r\n }\r\n\r\n render() {\r\n const suffix = this.suffix();\r\n const collapsible = !!(\r\n (this.label || this.nummer || this.opschrift || this.alternativeTitle) &&\r\n this.type !== \"LID\"\r\n );\r\n\r\n const showHeading = !!(\r\n this.wijzigactie ||\r\n collapsible ||\r\n this.label ||\r\n this.nummer ||\r\n this.opschrift ||\r\n this.alternativeTitle ||\r\n this.bevatOntwerpInformatie ||\r\n this.annotated\r\n );\r\n\r\n return (\r\n <Host not-collapsible={!collapsible}>\r\n {showHeading && (\r\n <div class=\"heading-container\" part=\"_heading-container\">\r\n {this.wijzigactie && <span class=\"editaction-label\">{this.wijzigactieLabel}:</span>}\r\n <div class=\"heading\">\r\n <Heading\r\n heading={this.heading}\r\n class=\"heading-element\"\r\n onClick={this.handleHeadingClick}\r\n mode={this.mode}\r\n href={this.href}\r\n >\r\n {collapsible && this.mode === \"document\" && (\r\n <button\r\n type=\"button\"\r\n class=\"toggle-button\"\r\n aria-describedby=\"heading-title\"\r\n aria-expanded={this.open.toString()}\r\n >\r\n <dso-icon icon={this.open ? \"chevron-down\" : \"chevron-right\"}></dso-icon>\r\n <span class=\"sr-only\">{this.open ? \"Invouwen\" : \"Uitvouwen\"}</span>\r\n </button>\r\n )}\r\n <span id=\"heading-title\">\r\n {this.notApplicable && <span class=\"sr-only\">Niet van toepassing:</span>}\r\n\r\n {this.kop && (\r\n <dso-ozon-content\r\n content={this.kop}\r\n addSpaceBeforeNode\r\n onDsoAnchorClick={this.handleOzonContentAnchorClick}\r\n mark={this.mark && ((text) => this.mark?.(text, \"kop\"))}\r\n onDsoOzonContentMarkItemHighlight={(e) =>\r\n this.dsoMarkItemHighlight.emit({ ...e.detail, source: \"kop\" })\r\n }\r\n inline\r\n />\r\n )}\r\n\r\n {(this.label || this.nummer || this.opschrift) && !this.kop ? (\r\n <>\r\n {this.label && (\r\n <>\r\n {\" \"}\r\n <dso-ozon-content\r\n content={this.label}\r\n onDsoAnchorClick={this.handleOzonContentAnchorClick}\r\n mark={this.mark && ((text) => this.mark?.(text, \"label\"))}\r\n onDsoOzonContentMarkItemHighlight={(e) =>\r\n this.dsoMarkItemHighlight.emit({ ...e.detail, source: \"label\" })\r\n }\r\n inline\r\n ></dso-ozon-content>\r\n </>\r\n )}\r\n {this.nummer && (\r\n <>\r\n {\" \"}\r\n <dso-ozon-content\r\n content={this.nummer}\r\n onDsoAnchorClick={this.handleOzonContentAnchorClick}\r\n mark={this.mark && ((text) => this.mark?.(text, \"nummer\"))}\r\n onDsoOzonContentMarkItemHighlight={(e) =>\r\n this.dsoMarkItemHighlight.emit({ ...e.detail, source: \"nummer\" })\r\n }\r\n inline\r\n ></dso-ozon-content>\r\n </>\r\n )}\r\n {this.opschrift && (\r\n <>\r\n {\" \"}\r\n <dso-ozon-content\r\n content={this.opschrift}\r\n onDsoAnchorClick={this.handleOzonContentAnchorClick}\r\n mark={this.mark && ((text) => this.mark?.(text, \"opschrift\"))}\r\n onDsoOzonContentMarkItemHighlight={(e) =>\r\n this.dsoMarkItemHighlight.emit({ ...e.detail, source: \"opschrift\" })\r\n }\r\n inline\r\n ></dso-ozon-content>\r\n </>\r\n )}\r\n </>\r\n ) : (\r\n this.alternativeTitle\r\n )}\r\n {suffix && <span> - [{suffix}]</span>}\r\n </span>\r\n </Heading>\r\n {this.recursiveToggle !== undefined && this.open && this.mode === \"document\" && (\r\n <button\r\n type=\"button\"\r\n class=\"recursive-toggle\"\r\n title={this.recursiveToggle === true ? \"Verberg alles\" : \"Toon alles\"}\r\n onClick={this.handleRecursiveToggleClick}\r\n >\r\n <dso-icon icon={this.recursiveToggle === true ? \"eye\" : \"eye-slash\"} />\r\n </button>\r\n )}\r\n {this.showOntwerpBadge() && (\r\n <>\r\n <dso-badge status=\"warning\" aria-describedby=\"nested-draft-description\">\r\n !\r\n </dso-badge>\r\n <dso-tooltip id=\"nested-draft-description\">\r\n Er zijn onderliggende onderdelen die veranderen binnen dit ontwerp.\r\n </dso-tooltip>\r\n </>\r\n )}\r\n {(this.bevatOntwerpInformatie || this.annotated) && (\r\n <div class=\"addons\">\r\n {this.bevatOntwerpInformatie && (\r\n <dso-label status=\"warning\" compact>\r\n Ontwerp\r\n </dso-label>\r\n )}\r\n {this.annotated && this.mode === \"document\" && (\r\n <button\r\n type=\"button\"\r\n class=\"dso-tertiary\"\r\n aria-controls={this.openAnnotation ? \"annotations\" : undefined}\r\n aria-expanded={this.openAnnotation.toString()}\r\n onClick={(e) => this.dsoAnnotationToggle.emit({ originalEvent: e })}\r\n >\r\n <dso-icon icon=\"label\"></dso-icon>\r\n <span class=\"sr-only\">\r\n Kenmerken en kaartgegevens {this.openAnnotation ? \"verbergen\" : \"tonen\"}\r\n </span>\r\n </button>\r\n )}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n )}\r\n {this.openAnnotation && (\r\n <div class=\"annotation-container\" part=\"_annotation-container\">\r\n <dso-panel\r\n id=\"annotations\"\r\n onDsoCloseClick={(e) => this.dsoAnnotationToggle.emit({ originalEvent: e })}\r\n closeButtonLabel=\"Kenmerken en kaartgegevens verbergen\"\r\n >\r\n <h2 slot=\"heading\">Kenmerken en kaart</h2>\r\n <slot name=\"annotations\" />\r\n </dso-panel>\r\n </div>\r\n )}\r\n {this.open && (this.inhoud || this.gereserveerd || this.vervallen) && this.mode === \"document\" && (\r\n <div class=\"content\" part=\"_content\">\r\n {this.gereserveerd && (\r\n <dso-alert status=\"info\">Dit onderdeel is gereserveerd voor toekomstige toevoeging.</dso-alert>\r\n )}\r\n {this.vervallen && <dso-alert status=\"info\">Dit onderdeel is vervallen.</dso-alert>}\r\n {this.inhoud && (\r\n <dso-ozon-content\r\n content={this.inhoud}\r\n onDsoAnchorClick={this.handleOzonContentAnchorClick}\r\n mark={this.mark && ((text) => this.mark?.(text, \"inhoud\"))}\r\n onDsoOzonContentMarkItemHighlight={(e) =>\r\n this.dsoMarkItemHighlight.emit({ ...e.detail, source: \"inhoud\" })\r\n }\r\n />\r\n )}\r\n </div>\r\n )}\r\n <div class=\"children-container\" part=\"_children-container\">\r\n <slot />\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as e,c as n,h as r,F as o}from"./p-abc59cdf.js";const a=':host {\n display: block;\n position: absolute;\n inset-block-end: 16px;\n inset-inline-start: 16px;\n inline-size: 370px;\n box-shadow: -3px 3px 6px 0 rgba(0, 0, 0, 0.5);\n border-radius: 4px;\n}\n@media screen and (max-width: 480px) {\n :host {\n inline-size: 320px;\n inset-block-end: 0;\n inset-inline-start: 0;\n --panel-heading-padding-inline-start: 8px;\n --panel-body-padding-inline: 8px;\n }\n}\n\n*,\n*::after,\n*::before {\n box-sizing: border-box;\n}\n\n.sr-only {\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n.visual-rating-labels {\n display: flex;\n justify-content: space-between;\n margin-block: 8px;\n}\n\ninput[type=radio] {\n appearance: none;\n cursor: pointer;\n position: absolute;\n margin-inline: 0;\n margin-block: 0;\n inset-block: 8px 0;\n inset-inline: 0;\n z-index: 1;\n}\n\nlabel {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n inline-size: 48px;\n block-size: 48px;\n border: 1px solid #ccc;\n border-inline-end-width: 0;\n padding-block-start: 8px;\n}\n@media screen and (max-width: 480px) {\n label {\n inline-size: 43px;\n block-size: 43px;\n }\n}\nlabel:hover {\n background-color: #f2f2f2;\n}\nlabel:active {\n background-color: #e5e5e5;\n}\nlabel:first-of-type {\n border-radius: 4px 0 0 4px;\n}\nlabel:first-of-type::before {\n border-radius: 3px 0 0;\n}\nlabel:last-of-type {\n border-inline-end-width: 1px;\n border-radius: 0 4px 4px 0;\n}\nlabel:last-of-type::before {\n border-radius: 0 3px 0 0;\n}\nlabel::before {\n content: "";\n display: block;\n position: absolute;\n inset-block-start: 0;\n block-size: 8px;\n inline-size: 100%;\n border-block-end: 1px solid #ccc;\n}\nlabel:has(input:checked) {\n font-weight: bold;\n}\nlabel.survey-rating-1::before, label.survey-rating-1:has(input:checked) {\n --link-color: currentColor;\n --link-hover-color: currentColor;\n --link-visited-color: currentColor;\n background-color: #b62f41;\n border-color: #ccc;\n color: #fff;\n}\nlabel.survey-rating-1::before a:is(.download, .download:hover, .download:focus-visible), label.survey-rating-1:has(input:checked) a:is(.download, .download:hover, .download:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#download-wit"));\n}\nlabel.survey-rating-1::before a:is(.extern, .extern:hover, .extern:focus-visible), label.survey-rating-1:has(input:checked) a:is(.extern, .extern:hover, .extern:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#external-link-wit"));\n}\nlabel.survey-rating-1::before a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible), label.survey-rating-1:has(input:checked) a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#call-wit"));\n}\nlabel.survey-rating-1::before a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible), label.survey-rating-1:has(input:checked) a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#email-wit"));\n}\nlabel.survey-rating-2::before, label.survey-rating-2:has(input:checked) {\n --link-color: currentColor;\n --link-hover-color: currentColor;\n --link-visited-color: currentColor;\n background-color: #ce3f51;\n border-color: #ccc;\n color: #fff;\n}\nlabel.survey-rating-2::before a:is(.download, .download:hover, .download:focus-visible), label.survey-rating-2:has(input:checked) a:is(.download, .download:hover, .download:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#download-wit"));\n}\nlabel.survey-rating-2::before a:is(.extern, .extern:hover, .extern:focus-visible), label.survey-rating-2:has(input:checked) a:is(.extern, .extern:hover, .extern:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#external-link-wit"));\n}\nlabel.survey-rating-2::before a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible), label.survey-rating-2:has(input:checked) a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#call-wit"));\n}\nlabel.survey-rating-2::before a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible), label.survey-rating-2:has(input:checked) a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#email-wit"));\n}\nlabel.survey-rating-3::before, label.survey-rating-3:has(input:checked) {\n --link-color: currentColor;\n --link-hover-color: currentColor;\n --link-visited-color: currentColor;\n background-color: #e17000;\n border-color: #ccc;\n color: #191919;\n}\nlabel.survey-rating-3::before a:is(.download, .download:hover, .download:focus-visible), label.survey-rating-3:has(input:checked) a:is(.download, .download:hover, .download:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#download-zwart"));\n}\nlabel.survey-rating-3::before a:is(.extern, .extern:hover, .extern:focus-visible), label.survey-rating-3:has(input:checked) a:is(.extern, .extern:hover, .extern:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#external-link-zwart"));\n}\nlabel.survey-rating-3::before a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible), label.survey-rating-3:has(input:checked) a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#call-zwart"));\n}\nlabel.survey-rating-3::before a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible), label.survey-rating-3:has(input:checked) a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#email-zwart"));\n}\nlabel.survey-rating-4::before, label.survey-rating-4:has(input:checked) {\n --link-color: currentColor;\n --link-hover-color: currentColor;\n --link-visited-color: currentColor;\n background-color: #dcd400;\n border-color: #ccc;\n color: #191919;\n}\nlabel.survey-rating-4::before a:is(.download, .download:hover, .download:focus-visible), label.survey-rating-4:has(input:checked) a:is(.download, .download:hover, .download:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#download-zwart"));\n}\nlabel.survey-rating-4::before a:is(.extern, .extern:hover, .extern:focus-visible), label.survey-rating-4:has(input:checked) a:is(.extern, .extern:hover, .extern:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#external-link-zwart"));\n}\nlabel.survey-rating-4::before a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible), label.survey-rating-4:has(input:checked) a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#call-zwart"));\n}\nlabel.survey-rating-4::before a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible), label.survey-rating-4:has(input:checked) a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#email-zwart"));\n}\nlabel.survey-rating-5::before, label.survey-rating-5:has(input:checked) {\n --link-color: currentColor;\n --link-hover-color: currentColor;\n --link-visited-color: currentColor;\n background-color: #79b929;\n border-color: #ccc;\n color: #191919;\n}\nlabel.survey-rating-5::before a:is(.download, .download:hover, .download:focus-visible), label.survey-rating-5:has(input:checked) a:is(.download, .download:hover, .download:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#download-zwart"));\n}\nlabel.survey-rating-5::before a:is(.extern, .extern:hover, .extern:focus-visible), label.survey-rating-5:has(input:checked) a:is(.extern, .extern:hover, .extern:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#external-link-zwart"));\n}\nlabel.survey-rating-5::before a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible), label.survey-rating-5:has(input:checked) a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#call-zwart"));\n}\nlabel.survey-rating-5::before a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible), label.survey-rating-5:has(input:checked) a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#email-zwart"));\n}\nlabel.survey-rating-6::before, label.survey-rating-6:has(input:checked) {\n --link-color: currentColor;\n --link-hover-color: currentColor;\n --link-visited-color: currentColor;\n background-color: #39870c;\n border-color: #ccc;\n color: #fff;\n}\nlabel.survey-rating-6::before a:is(.download, .download:hover, .download:focus-visible), label.survey-rating-6:has(input:checked) a:is(.download, .download:hover, .download:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#download-wit"));\n}\nlabel.survey-rating-6::before a:is(.extern, .extern:hover, .extern:focus-visible), label.survey-rating-6:has(input:checked) a:is(.extern, .extern:hover, .extern:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#external-link-wit"));\n}\nlabel.survey-rating-6::before a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible), label.survey-rating-6:has(input:checked) a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#call-wit"));\n}\nlabel.survey-rating-6::before a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible), label.survey-rating-6:has(input:checked) a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#email-wit"));\n}\nlabel.survey-rating-7::before, label.survey-rating-7:has(input:checked) {\n --link-color: currentColor;\n --link-hover-color: currentColor;\n --link-visited-color: currentColor;\n background-color: #275937;\n border-color: #ccc;\n color: #fff;\n}\nlabel.survey-rating-7::before a:is(.download, .download:hover, .download:focus-visible), label.survey-rating-7:has(input:checked) a:is(.download, .download:hover, .download:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#download-wit"));\n}\nlabel.survey-rating-7::before a:is(.extern, .extern:hover, .extern:focus-visible), label.survey-rating-7:has(input:checked) a:is(.extern, .extern:hover, .extern:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#external-link-wit"));\n}\nlabel.survey-rating-7::before a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible), label.survey-rating-7:has(input:checked) a:is([href^="tel:"], [href^="tel:"]:hover, [href^="tel:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#call-wit"));\n}\nlabel.survey-rating-7::before a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible), label.survey-rating-7:has(input:checked) a:is([href^="mailto:"], [href^="mailto:"]:hover, [href^="mailto:"]:focus-visible) {\n background-image: var(--_dso-di-background-image, url("./di.svg#email-wit"));\n}\n\nbutton {\n -webkit-appearance: button;\n color: inherit;\n cursor: pointer;\n font: inherit;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n margin: 0;\n overflow: visible;\n text-transform: none;\n margin-block-start: 16px;\n}\nbutton[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\nbutton.dso-secondary {\n display: inline-block;\n font-size: 1em;\n font-weight: 500;\n margin-block-end: 0;\n text-decoration: none;\n touch-action: manipulation;\n text-align: start;\n user-select: none;\n vertical-align: middle;\n}\nbutton.dso-secondary:focus, button.dso-secondary:focus-visible {\n outline-offset: 2px;\n}\nbutton.dso-secondary:active {\n outline: 0;\n}\nbutton.dso-secondary.extern::after, button.dso-secondary.download::after {\n content: "";\n display: inline-block;\n margin-inline-start: 8px;\n}\nbutton.dso-secondary {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\nbutton.dso-secondary {\n border-width: 1px;\n border-style: solid;\n border-radius: 4px;\n line-height: 1.5;\n min-inline-size: 56px;\n padding-block: 11px;\n padding-inline: 15px;\n}\nbutton.dso-secondary:hover {\n background-color: #d7e7ce;\n border-color: #39870c;\n color: #39870c;\n}\nbutton.dso-secondary:active {\n background-color: #39870c;\n border-color: #39870c;\n color: #fff;\n}\nbutton.dso-secondary[disabled], button.dso-secondary[disabled]:hover {\n background-color: #fff;\n border-color: #afcf9d;\n color: #afcf9d;\n}\nbutton.dso-secondary.dso-small {\n line-height: 1rem;\n}\nbutton.dso-secondary.dso-small dso-icon,\nbutton.dso-secondary.dso-small svg.di, button.dso-secondary.dso-small.extern::after, button.dso-secondary.dso-small.download::after, button.dso-secondary.dso-small.dso-spinner::before {\n margin-block-end: -4px;\n margin-block-start: -4px;\n}\nbutton.dso-secondary.dso-small.dso-spinner-left::before {\n block-size: 16px;\n inline-size: 16px;\n}\nbutton.dso-secondary.dso-small.dso-spinner-right::after {\n block-size: 16px;\n inline-size: 16px;\n}\nbutton.dso-secondary dso-icon,\nbutton.dso-secondary svg.di {\n margin-inline-start: -8px;\n margin-inline-end: 8px;\n}\nbutton.dso-secondary span + dso-icon,\nbutton.dso-secondary span + svg.di {\n margin-inline-start: 8px;\n margin-inline-end: -8px;\n}\nbutton.dso-secondary.dso-spinner-left[disabled], button.dso-secondary.dso-spinner-right[disabled] {\n background-color: #fff;\n border-color: #39870c;\n color: #39870c;\n}\nbutton.dso-secondary.dso-spinner-left::before {\n background-image: url("data:image/svg+xml,%3Csvg class=\'spinner\' viewBox=\'0 0 100 100\' xmlns=\'http://www.w3.org/2000/svg\' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class=\'path\' fill=\'none\' stroke-width=\'10\' stroke-linecap=\'butt\' cx=\'50\' cy=\'50\' r=\'45\'%3E%3C/circle%3E%3C/svg%3E");\n background-repeat: no-repeat;\n content: "";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\nbutton.dso-secondary.dso-spinner-left:not([disabled]):hover::before {\n background-image: url("data:image/svg+xml,%3Csvg class=\'spinner\' viewBox=\'0 0 100 100\' xmlns=\'http://www.w3.org/2000/svg\' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class=\'path\' fill=\'none\' stroke-width=\'10\' stroke-linecap=\'butt\' cx=\'50\' cy=\'50\' r=\'45\'%3E%3C/circle%3E%3C/svg%3E");\n background-repeat: no-repeat;\n content: "";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-end: 8px;\n}\nbutton.dso-secondary.dso-spinner-left:not([disabled]).dso-small:hover::before {\n block-size: 16px;\n inline-size: 16px;\n}\nbutton.dso-secondary.dso-spinner-right::after {\n background-image: url("data:image/svg+xml,%3Csvg class=\'spinner\' viewBox=\'0 0 100 100\' xmlns=\'http://www.w3.org/2000/svg\' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %2339870c; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class=\'path\' fill=\'none\' stroke-width=\'10\' stroke-linecap=\'butt\' cx=\'50\' cy=\'50\' r=\'45\'%3E%3C/circle%3E%3C/svg%3E");\n background-repeat: no-repeat;\n content: "";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\nbutton.dso-secondary.dso-spinner-right:not([disabled]):hover::after {\n background-image: url("data:image/svg+xml,%3Csvg class=\'spinner\' viewBox=\'0 0 100 100\' xmlns=\'http://www.w3.org/2000/svg\' %3E%3Cstyle%3E .spinner %7B animation: rotator 8s linear infinite; transform-origin: center; %7D @keyframes rotator %7B 0%25 %7B transform: rotate(0deg); %7D 100%25 %7B transform: rotate(360deg); %7D %7D .path %7B stroke-dasharray: 265; stroke-dashoffset: 0; transform-origin: center; stroke: %23fff; animation: dash 2s ease-in-out infinite; %7D @keyframes dash %7B 0%25 %7B stroke-dashoffset: 265; %7D 50%25 %7B stroke-dashoffset: 65; transform:rotate(90deg); %7D 100%25 %7B stroke-dashoffset: 265; transform:rotate(360deg); %7D %3C/style%3E%3Ccircle class=\'path\' fill=\'none\' stroke-width=\'10\' stroke-linecap=\'butt\' cx=\'50\' cy=\'50\' r=\'45\'%3E%3C/circle%3E%3C/svg%3E");\n background-repeat: no-repeat;\n content: "";\n display: inline-block;\n block-size: 24px;\n vertical-align: top;\n inline-size: 24px;\n margin-inline-start: 8px;\n}\nbutton.dso-secondary.dso-spinner-right:not([disabled]).dso-small:hover::after {\n block-size: 16px;\n inline-size: 16px;\n}';const i=a;const s=class{constructor(r){e(this,r);this.dsoSubmit=n(this,"dsoSubmit",7);this.dsoClose=n(this,"dsoClose",7)}handleForm(e){e.preventDefault();this.dsoSubmit.emit({rating:this.rating,scale:{start:1,end:7},originalEvent:e})}handleChange(e){const n=e.target;this.rating=Number(n.value)}render(){const e=["Heel moeilijk","Moeilijk","Redelijk moeilijk","Neutraal","Redelijk makkelijk","Makkelijk","Heel makkelijk"];return r("dso-panel",{key:"0cf488d4cae02ff7c37d6f6953ad32d6c19c7011",emphasized:true,onDsoCloseClick:e=>this.dsoClose.emit({originalEvent:e})},r("h2",{key:"8b36e4dbf8c9017cfec97283b0c4bb11dc2ba60a",slot:"heading"},"Help ons met een onderzoek"),r("strong",{key:"3f819218453cd2e500c7e03856754c5afbf16001"},"Hoe moeilijk of makkelijk was deze taak om uit te voeren"),r("form",{key:"a9b6ccfbccddcb07b94c3889cee0447f1d09118e",onSubmit:e=>this.handleForm(e)},r("div",{key:"a321b5ff7c0e021ed8e3264ae7aa2f78781b674d",class:"visual-rating-labels","aria-hidden":"true"},r("span",{key:"dc908a71b2fc40d017e55f7995924731caf9d1c8"},"Heel moeilijk"),r("span",{key:"8affdcc507818d6f6a8792285aa1f59d75e8b16a"},"Heel makkelijk")),r("div",{key:"616c3feb3eabdb93c949f1a5166d08300b8c370b",role:"radiogroup"},e.map(((e,n)=>{const a=n+1;return r(o,null,r("label",{class:`survey-rating-${a}`},a,r("span",{class:"sr-only"},e),r("input",{type:"radio",name:"rating",value:a,checked:a===this.rating,onChange:e=>this.handleChange(e)})))}))),r("button",{key:"733c311a66455f627ec1921bb61e7bab92b53c23",type:"submit",class:"dso-secondary"},r("span",{key:"461c2e464c7bd2d005d2511a62bafa1099412e6d"},"Antwoord verzenden"))))}};s.style=i;export{s as dso_survey_rating};
2
- //# sourceMappingURL=p-32f26545.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["surveyRatingCss","DsoSurveyRatingStyle0","SurveyRating","handleForm","e","preventDefault","this","dsoSubmit","emit","rating","scale","start","end","originalEvent","handleChange","target","Number","value","render","ratings","h","key","emphasized","onDsoCloseClick","dsoClose","slot","onSubmit","class","role","map","index","ratingNumber","Fragment","type","name","checked","onChange"],"sources":["src/components/survey-rating/survey-rating.scss?tag=dso-survey-rating&encapsulation=shadow","src/components/survey-rating/survey-rating.tsx"],"sourcesContent":["@use \"sass:list\";\r\n@use \"sass:map\";\r\n\r\n@use \"~dso-toolkit/src/components/button\";\r\n@use \"~dso-toolkit/src/global/mixins/set-colors.mixin\" as set-colors;\r\n@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/media-query-breakpoints\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n\r\n@use \"survey-rating.variables\" as survey-rating-variables;\r\n\r\n:host {\r\n display: block;\r\n position: absolute;\r\n inset-block-end: units.$u2;\r\n inset-inline-start: units.$u2;\r\n inline-size: survey-rating-variables.$survey-rating-inline-size;\r\n box-shadow: -3px 3px 6px 0 rgba(0, 0, 0, 0.5);\r\n border-radius: survey-rating-variables.$survey-rating-border-radius;\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-min) {\r\n inline-size: survey-rating-variables.$survey-rating-xs-min-inline-size;\r\n inset-block-end: 0;\r\n inset-inline-start: 0;\r\n\r\n --panel-heading-padding-inline-start: #{units.$u1};\r\n --panel-body-padding-inline: #{units.$u1};\r\n }\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n.visual-rating-labels {\r\n display: flex;\r\n justify-content: space-between;\r\n margin-block: units.$u1;\r\n}\r\n\r\ninput[type=\"radio\"] {\r\n appearance: none;\r\n cursor: pointer;\r\n position: absolute;\r\n margin-inline: 0;\r\n margin-block: 0;\r\n inset-block: units.$u1 0;\r\n inset-inline: 0;\r\n z-index: 1;\r\n}\r\n\r\nlabel {\r\n position: relative;\r\n display: inline-flex;\r\n align-items: center;\r\n justify-content: center;\r\n inline-size: survey-rating-variables.$survey-rating-input-label-size;\r\n block-size: survey-rating-variables.$survey-rating-input-label-size;\r\n border: 1px solid survey-rating-variables.$survey-rating-border-color;\r\n border-inline-end-width: 0;\r\n padding-block-start: units.$u1;\r\n\r\n @media screen and (max-width: media-query-breakpoints.$screen-xs-min) {\r\n inline-size: survey-rating-variables.$survey-rating-rating-label-xs-min-size;\r\n block-size: survey-rating-variables.$survey-rating-rating-label-xs-min-size;\r\n }\r\n\r\n &:hover {\r\n background-color: survey-rating-variables.$survey-rating-color-hover;\r\n }\r\n\r\n &:active {\r\n background-color: survey-rating-variables.$survey-rating-color-active;\r\n }\r\n\r\n &:first-of-type {\r\n border-radius: survey-rating-variables.$survey-rating-border-radius 0 0\r\n survey-rating-variables.$survey-rating-border-radius;\r\n\r\n &::before {\r\n border-radius: (survey-rating-variables.$survey-rating-border-radius - 1) 0 0;\r\n }\r\n }\r\n\r\n &:last-of-type {\r\n border-inline-end-width: 1px;\r\n border-radius: 0 survey-rating-variables.$survey-rating-border-radius\r\n survey-rating-variables.$survey-rating-border-radius 0;\r\n\r\n &::before {\r\n border-radius: 0 (survey-rating-variables.$survey-rating-border-radius - 1) 0 0;\r\n }\r\n }\r\n\r\n &::before {\r\n content: \"\";\r\n display: block;\r\n position: absolute;\r\n inset-block-start: 0;\r\n block-size: units.$u1;\r\n inline-size: 100%;\r\n border-block-end: 1px solid survey-rating-variables.$survey-rating-border-color;\r\n }\r\n\r\n &:has(input:checked) {\r\n font-weight: bold;\r\n }\r\n\r\n @each $survey-rating in survey-rating-variables.$survey-ratings {\r\n $i: list.index(survey-rating-variables.$survey-ratings, $survey-rating);\r\n $color: map.get($survey-rating, color);\r\n\r\n &.survey-rating-#{$i} {\r\n &::before,\r\n &:has(input:checked) {\r\n @include set-colors.apply($color, survey-rating-variables.$survey-rating-border-color);\r\n }\r\n }\r\n }\r\n}\r\n\r\nbutton {\r\n @include button.element();\r\n\r\n &.dso-secondary {\r\n @include button.secondary($base-styling: true);\r\n }\r\n\r\n margin-block-start: units.$u2;\r\n}\r\n","import { Component, ComponentInterface, Event, EventEmitter, Fragment, h } from \"@stencil/core\";\r\nimport { SurveyRatingCloseEvent, SurveyRatingSubmitEvent } from \"./survey-rating.interfaces\";\r\n\r\n@Component({\r\n tag: \"dso-survey-rating\",\r\n styleUrl: \"survey-rating.scss\",\r\n shadow: true,\r\n})\r\nexport class SurveyRating implements ComponentInterface {\r\n private rating: number | undefined;\r\n\r\n /**\r\n * Emitted when user submits the Survey Rating.\r\n */\r\n @Event()\r\n dsoSubmit!: EventEmitter<SurveyRatingSubmitEvent>;\r\n\r\n /**\r\n * Emitted when the user wants to close the Survey Rating.\r\n */\r\n @Event()\r\n dsoClose!: EventEmitter<SurveyRatingCloseEvent>;\r\n\r\n private handleForm(e: Event): void {\r\n e.preventDefault();\r\n this.dsoSubmit.emit({ rating: this.rating, scale: { start: 1, end: 7 }, originalEvent: e });\r\n }\r\n\r\n private handleChange(e: Event): void {\r\n const target = e.target as HTMLInputElement;\r\n this.rating = Number(target.value);\r\n }\r\n\r\n render() {\r\n const ratings = [\r\n \"Heel moeilijk\",\r\n \"Moeilijk\",\r\n \"Redelijk moeilijk\",\r\n \"Neutraal\",\r\n \"Redelijk makkelijk\",\r\n \"Makkelijk\",\r\n \"Heel makkelijk\",\r\n ];\r\n\r\n return (\r\n <dso-panel emphasized onDsoCloseClick={(e) => this.dsoClose.emit({ originalEvent: e })}>\r\n <h2 slot=\"heading\">Help ons met een onderzoek</h2>\r\n <strong>Hoe moeilijk of makkelijk was deze taak om uit te voeren</strong>\r\n <form onSubmit={(e) => this.handleForm(e)}>\r\n <div class=\"visual-rating-labels\" aria-hidden=\"true\">\r\n <span>Heel moeilijk</span>\r\n <span>Heel makkelijk</span>\r\n </div>\r\n <div role=\"radiogroup\">\r\n {ratings.map((rating, index) => {\r\n const ratingNumber = index + 1;\r\n\r\n return (\r\n <>\r\n <label class={`survey-rating-${ratingNumber}`}>\r\n {ratingNumber}\r\n <span class=\"sr-only\">{rating}</span>\r\n <input\r\n type=\"radio\"\r\n name=\"rating\"\r\n value={ratingNumber}\r\n checked={ratingNumber === this.rating}\r\n onChange={(e) => this.handleChange(e)}\r\n />\r\n </label>\r\n </>\r\n );\r\n })}\r\n </div>\r\n <button type=\"submit\" class=\"dso-secondary\">\r\n <span>Antwoord verzenden</span>\r\n </button>\r\n </form>\r\n </dso-panel>\r\n );\r\n }\r\n}\r\n"],"mappings":"yDAAA,MAAMA,EAAkB,wglBACxB,MAAAC,EAAeD,E,MCOFE,EAAY,M,iGAef,UAAAC,CAAWC,GACjBA,EAAEC,iBACFC,KAAKC,UAAUC,KAAK,CAAEC,OAAQH,KAAKG,OAAQC,MAAO,CAAEC,MAAO,EAAGC,IAAK,GAAKC,cAAeT,G,CAGjF,YAAAU,CAAaV,GACnB,MAAMW,EAASX,EAAEW,OACjBT,KAAKG,OAASO,OAAOD,EAAOE,M,CAG9B,MAAAC,GACE,MAAMC,EAAU,CACd,gBACA,WACA,oBACA,WACA,qBACA,YACA,kBAGF,OACEC,EAAA,aAAAC,IAAA,2CAAWC,WAAU,KAACC,gBAAkBnB,GAAME,KAAKkB,SAAShB,KAAK,CAAEK,cAAeT,KAChFgB,EAAA,MAAAC,IAAA,2CAAII,KAAK,WAAS,8BAClBL,EAAA,UAAAC,IAAA,wGACAD,EAAA,QAAAC,IAAA,2CAAMK,SAAWtB,GAAME,KAAKH,WAAWC,IACrCgB,EAAA,OAAAC,IAAA,2CAAKM,MAAM,uBAAsB,cAAa,QAC5CP,EAAA,QAAAC,IAAA,6DACAD,EAAA,QAAAC,IAAA,+DAEFD,EAAA,OAAAC,IAAA,2CAAKO,KAAK,cACPT,EAAQU,KAAI,CAACpB,EAAQqB,KACpB,MAAMC,EAAeD,EAAQ,EAE7B,OACEV,EAAAY,EAAA,KACEZ,EAAA,SAAOO,MAAO,iBAAiBI,KAC5BA,EACDX,EAAA,QAAMO,MAAM,WAAWlB,GACvBW,EAAA,SACEa,KAAK,QACLC,KAAK,SACLjB,MAAOc,EACPI,QAASJ,IAAiBzB,KAAKG,OAC/B2B,SAAWhC,GAAME,KAAKQ,aAAaV,MAGtC,KAITgB,EAAA,UAAAC,IAAA,2CAAQY,KAAK,SAASN,MAAM,iBAC1BP,EAAA,QAAAC,IAAA,oE","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,h as i,H as e,a as o}from"./p-abc59cdf.js";import{d as n,h as r,c as a,b as s}from"./p-202d2cdf.js";import{c as l}from"./p-8a1a6e56.js";import{d}from"./p-16e112f1.js";var p={name:"maxSize",enabled:true,phase:"main",requiresIfExists:["offset","preventOverflow","flip"],fn:function t(i){var e=i.state,o=i.name,r=i.options;var a=n(e,r);var s=e.modifiersData.preventOverflow||{x:0,y:0},l=s.x,d=s.y;var p=e.rects.popper,c=p.width,h=p.height;var f=e.placement.split("-"),b=f[0];var m=b==="left"?"left":"right";var u=b==="top"?"top":"bottom";e.modifiersData[o]={width:c-a[m]-l,height:h-a[u]-d}}};const c=":host(.hidden){visibility:hidden}*,*::after,*::before{box-sizing:border-box}.tooltip{font-family:Asap, sans-serif;font-style:normal;font-weight:400;line-height:1.5;line-break:auto;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:break-word;word-spacing:normal;word-wrap:normal;white-space:normal;--link-color:#39870c;display:block;filter:drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4));font-size:14px;opacity:0;position:absolute;transition:opacity 0.15s linear;z-index:410}.tooltip.in{opacity:1}.tooltip.in .tooltip-inner{max-block-size:200vh;overflow:auto;visibility:visible;padding-block:8px;padding-inline:16px}.tooltip:not(.in) .tooltip-inner{max-block-size:0;overflow:hidden;visibility:hidden;transition:all 0s linear 0.15s}.tooltip .tooltip-inner{background-color:#fff;border-radius:4px;color:#191919;display:inline-block;font-size:1rem;max-inline-size:640px;position:relative}.tooltip .tooltip-inner.dso-small{max-inline-size:320px}.tooltip .tooltip-arrow{border-color:transparent;border-style:solid;block-size:0;inline-size:0}.tooltip[data-popper-placement=top]{margin-block-start:-3px;padding-block:6px;padding-inline:0}.tooltip[data-popper-placement=top] .tooltip-arrow{inset-block-end:0;border-block-start-color:#fff;border-width:6px;border-block-end-width:0;margin-inline-start:var(--tooltip-margin-inline-start, -3px)}.tooltip[data-popper-placement=right]{margin-inline-start:3px;padding-block:0;padding-inline:6px}.tooltip[data-popper-placement=right] .tooltip-arrow{inset-inline-start:0;border-inline-end-color:#fff;border-width:6px;border-inline-start-width:0;margin-block-start:var(--tooltip-margin-block-start, -3px)}.tooltip[data-popper-placement=bottom]{margin-block-start:3px;padding-block:6px;padding-inline:0}.tooltip[data-popper-placement=bottom] .tooltip-arrow{inset-block-start:0;border-block-end-color:#fff;border-width:6px;border-block-start-width:0;margin-inline-start:var(--tooltip-margin-inline-start, -3px)}.tooltip[data-popper-placement=left]{margin-inline-start:-3px;margin-inline-end:var(--tooltip-margin-inline-end, unset);padding-block:0;padding-inline:6px}.tooltip[data-popper-placement=left] .tooltip-arrow{inset-inline-end:0;border-inline-start-color:#fff;border-width:6px;border-inline-end-width:0;margin-block-start:var(--tooltip-margin-block-start, -3px)}";const h=c;var f=undefined&&undefined.__classPrivateFieldGet||function(t,i,e,o){if(e==="a"&&!o)throw new TypeError("Private accessor was defined without a getter");if(typeof i==="function"?t!==i||!o:!i.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?o:e==="a"?o.call(t):o?o.value:i.get(t)};var b=undefined&&undefined.__classPrivateFieldSet||function(t,i,e,o,n){if(o==="m")throw new TypeError("Private method is not writable");if(o==="a"&&!n)throw new TypeError("Private accessor was defined without a setter");if(typeof i==="function"?t!==i||!n:!i.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return o==="a"?n.call(t,e):n?n.value=e:i.set(t,e),e};var m;const u=150;const v={name:"applyMaxSize",enabled:true,phase:s,requires:["maxSize"],fn({state:t}){let{width:i}=t.modifiersData.maxSize;if(i<160){i=160}t.styles.popper=Object.assign(Object.assign({},t.styles.popper),{maxWidth:`${i}px`})}};const w=class{constructor(i){t(this,i);this.descriptive=false;this.position="top";this.strategy="auto";this.noArrow=false;this.active=false;this.callbacks={activate:()=>this.active=true,deactivate:()=>{setTimeout((()=>{if(this.element.isConnected){this.active=false}}),2)}};this.onMouseLeave=()=>{var t;if(!this.element.matches(":hover")&&!((t=this.target)===null||t===void 0?void 0:t.matches(":hover"))){this.callbacks.deactivate()}};this.hidden=true;this.keyDownListener=t=>{if(t.key==="Escape"){this.deactivate()}};this.deactivatePopper=d((()=>{var t;this.hidden=true;(t=this.popper)===null||t===void 0?void 0:t.destroy();this.popper=undefined}),u);m.set(this,void 0)}async activate(){this.active=true}async deactivate(){this.active=false}watchPosition(){if(!this.popper){return}this.popper.setOptions({placement:this.position})}watchStrategy(){this.setStrategy()}setStrategy(){if(!this.popper){return}if(this.strategy==="absolute"||this.strategy==="fixed"){this.popper.setOptions({strategy:this.strategy});return}let t=this.element;while(t&&t.parentNode!==document){t=t.parentNode instanceof ShadowRoot?t.parentNode.host:t.parentElement;if(t!==null&&r(t)){this.popper.setOptions({strategy:"fixed"});return}}this.popper.setOptions({strategy:"absolute"})}watchActive(){if(this.active){this.activatePopper();if(!this.stateless){setTimeout((()=>{var t;(t=this.popper)===null||t===void 0?void 0:t.setOptions({modifiers:[{name:"eventListeners",enabled:true}]});document.addEventListener("keydown",this.keyDownListener)}))}}else{document.removeEventListener("keydown",this.keyDownListener);this.deactivatePopper()}}listenClick(t){t.stopPropagation()}componentDidLoad(){var t;const i=(t=this.element.shadowRoot)===null||t===void 0?void 0:t.querySelector(".tooltip");if(!(i instanceof HTMLElement)){throw new Error("tooltip element is not instanceof HTMLElement")}if(!this.stateless&&this.target){this.target.addEventListener("mouseenter",this.callbacks.activate);[this.element,this.target].forEach((t=>t.addEventListener("mouseleave",this.onMouseLeave)));this.target.addEventListener("focus",this.callbacks.activate);this.target.addEventListener("blur",this.callbacks.deactivate)}}disconnectedCallback(){var t;(t=this.popper)===null||t===void 0?void 0:t.destroy();if(!this.stateless&&this.target){this.target.removeEventListener("mouseenter",this.callbacks.activate);[this.element,this.target].forEach((t=>t.removeEventListener("mouseleave",this.onMouseLeave)));this.target.removeEventListener("focus",this.callbacks.activate);this.target.removeEventListener("blur",this.callbacks.deactivate)}this.target=undefined}componentDidRender(){var t;if(this.active){(t=this.popper)===null||t===void 0?void 0:t.update()}}render(){return i(e,{key:"937cf3e393747c90908dd40d9f1cd4004972ee14",class:{hidden:this.hidden},role:"tooltip",onClick:this.listenClick},i("div",{key:"ec8d45dfe98721323a129f885c17458c2fce1755",class:l("tooltip",{in:this.active})},!this.noArrow&&i("div",{key:"f41fcdefbcbfbfa6898ae0ac380f40bac2d20fef","data-popper-arrow":true,class:"tooltip-arrow"}),i("div",{key:"9dc5919c76eb4bae36267cb884a8e07ea9b795b8","aria-hidden":!this.descriptive||undefined,class:l("tooltip-inner",{"dso-small":this.small})},i("slot",{key:"3c999ec1a312662dbd287486eb54114638499db9"}))))}activatePopper(){var t;this.hidden=false;if(this.popper){return}const i=(t=this.element.shadowRoot)===null||t===void 0?void 0:t.querySelector(".tooltip");if(this.target&&i instanceof HTMLElement){this.popper=a(this.target,i,{placement:this.position,modifiers:[p,v,{name:"eventListeners",enabled:false}]});this.setStrategy()}}get target(){var t;return(t=f(this,m,"f"))!==null&&t!==void 0?t:this.initializeTarget()}set target(t){b(this,m,t,"f")}initializeTarget(){const t=this.element.id;if(!t){console.warn("Unable to find reference tooltip has no [id] attribute.");return}const i=this.element.getRootNode();if(!(i instanceof Document||i instanceof ShadowRoot)){console.warn(`rootNode is not instance of Document or ShadowRoot`);return}const e=i.querySelector(`[aria-describedBy="${t}`);if(!e){console.warn(`Unable to find reference with aria-describedby ${t}`);return}b(this,m,e,"f");return e}get element(){return o(this)}static get watchers(){return{position:["watchPosition"],strategy:["watchStrategy"],active:["watchActive"]}}};m=new WeakMap;w.style=h;export{w as dso_tooltip};
2
- //# sourceMappingURL=p-4549dc10.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["maxSize","name","enabled","phase","requiresIfExists","fn","_ref","state","options","overflow","detectOverflow","_ref2","modifiersData","preventOverflow","x","y","_state$rects$popper","rects","popper","width","height","_state$placement$spli","placement","split","basePlacement","widthProp","heightProp","tooltipCss","DsoTooltipStyle0","transitionDuration","applyMaxSize","beforeWrite","requires","styles","Object","assign","maxWidth","Tooltip","constructor","hostRef","this","descriptive","position","strategy","noArrow","active","callbacks","activate","deactivate","setTimeout","element","isConnected","onMouseLeave","matches","_a","target","hidden","keyDownListener","event","key","deactivatePopper","debounce","destroy","undefined","_Tooltip_target","set","watchPosition","setOptions","watchStrategy","setStrategy","parentNode","document","ShadowRoot","host","parentElement","hasOverflow","watchActive","activatePopper","stateless","modifiers","addEventListener","removeEventListener","listenClick","e","stopPropagation","componentDidLoad","tooltip","shadowRoot","querySelector","HTMLElement","Error","forEach","disconnectedCallback","componentDidRender","update","render","h","Host","class","role","onClick","clsx","in","small","createPopper","__classPrivateFieldGet","initializeTarget","__classPrivateFieldSet","id","console","warn","rootNode","getRootNode","Document","reference"],"sources":["../../node_modules/popper-max-size-modifier/dist/popper-max-size-modifier.esm.js","src/components/tooltip/tooltip.scss?tag=dso-tooltip&encapsulation=shadow","src/components/tooltip/tooltip.tsx"],"sourcesContent":["import { detectOverflow } from '@popperjs/core';\n\nvar maxSize = {\n name: 'maxSize',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['offset', 'preventOverflow', 'flip'],\n fn: function fn(_ref) {\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var overflow = detectOverflow(state, options);\n\n var _ref2 = state.modifiersData.preventOverflow || {\n x: 0,\n y: 0\n },\n x = _ref2.x,\n y = _ref2.y;\n\n var _state$rects$popper = state.rects.popper,\n width = _state$rects$popper.width,\n height = _state$rects$popper.height;\n\n var _state$placement$spli = state.placement.split('-'),\n basePlacement = _state$placement$spli[0];\n\n var widthProp = basePlacement === 'left' ? 'left' : 'right';\n var heightProp = basePlacement === 'top' ? 'top' : 'bottom';\n state.modifiersData[name] = {\n width: width - overflow[widthProp] - x,\n height: height - overflow[heightProp] - y\n };\n }\n};\n\nexport default maxSize;\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/zindex\";\r\n\r\n@use \"tooltip.variables\" as tooltip-variables;\r\n\r\n:host(.hidden) {\r\n visibility: hidden;\r\n}\r\n\r\n@include utilities.box-sizing();\r\n\r\n.tooltip {\r\n font-family: typography.$font-family-base;\r\n // We deliberately do NOT reset font-size.\r\n font-style: normal;\r\n font-weight: 400;\r\n line-height: typography.$line-height-base;\r\n line-break: auto;\r\n text-align: start;\r\n text-decoration: none;\r\n text-shadow: none;\r\n text-transform: none;\r\n letter-spacing: normal;\r\n word-break: break-word;\r\n word-spacing: normal;\r\n word-wrap: normal;\r\n white-space: normal;\r\n\r\n --link-color: #{colors.$grasgroen};\r\n display: block;\r\n filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.4));\r\n font-size: typography.$font-size-small;\r\n opacity: 0;\r\n position: absolute;\r\n transition: opacity tooltip-variables.$transition-duration linear;\r\n z-index: zindex.$tooltip;\r\n\r\n &.in {\r\n opacity: tooltip-variables.$opacity;\r\n\r\n .tooltip-inner {\r\n max-block-size: 200vh; // an extreme max-block-size, just to be sure it always fits\r\n overflow: auto;\r\n visibility: visible;\r\n padding-block: tooltip-variables.$padding-block; // set padding-block here to hide the div when the .in class is not active\r\n padding-inline: tooltip-variables.$padding-inline; // set padding-inline here to hide the div when the .in class is not active\r\n }\r\n }\r\n\r\n &:not(.in) {\r\n .tooltip-inner {\r\n max-block-size: 0; // hide the element\r\n overflow: hidden;\r\n visibility: hidden;\r\n transition: all 0s linear tooltip-variables.$transition-duration; // delay all the properties with a 0s linear animation till the parent opacity animation time has passed\r\n }\r\n }\r\n\r\n .tooltip-inner {\r\n background-color: colors.$wit;\r\n border-radius: tooltip-variables.$border-radius;\r\n color: colors.$grijs-90;\r\n display: inline-block;\r\n font-size: typography.$root-font-size-base;\r\n max-inline-size: tooltip-variables.$max-inline-size;\r\n position: relative;\r\n\r\n &.dso-small {\r\n max-inline-size: tooltip-variables.$max-inline-size-small;\r\n }\r\n }\r\n\r\n .tooltip-arrow {\r\n border-color: transparent;\r\n border-style: solid;\r\n block-size: 0;\r\n inline-size: 0;\r\n }\r\n\r\n &[data-popper-placement=\"top\"] {\r\n margin-block-start: -3px;\r\n padding-block: tooltip-variables.$arrow-inline-size;\r\n padding-inline: 0;\r\n\r\n .tooltip-arrow {\r\n inset-block-end: 0;\r\n border-block-start-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-block-end-width: 0;\r\n margin-inline-start: var(--tooltip-margin-inline-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"right\"] {\r\n margin-inline-start: 3px;\r\n padding-block: 0;\r\n padding-inline: tooltip-variables.$arrow-inline-size;\r\n\r\n .tooltip-arrow {\r\n inset-inline-start: 0;\r\n border-inline-end-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-inline-start-width: 0;\r\n margin-block-start: var(--tooltip-margin-block-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"bottom\"] {\r\n margin-block-start: 3px;\r\n padding-block: tooltip-variables.$arrow-inline-size;\r\n padding-inline: 0;\r\n\r\n .tooltip-arrow {\r\n inset-block-start: 0;\r\n border-block-end-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-block-start-width: 0;\r\n margin-inline-start: var(--tooltip-margin-inline-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n\r\n &[data-popper-placement=\"left\"] {\r\n margin-inline-start: -3px;\r\n margin-inline-end: var(--tooltip-margin-inline-end, unset);\r\n padding-block: 0;\r\n padding-inline: tooltip-variables.$arrow-inline-size;\r\n\r\n .tooltip-arrow {\r\n inset-inline-end: 0;\r\n border-inline-start-color: tooltip-variables.$arrow-color;\r\n border-width: tooltip-variables.$arrow-inline-size;\r\n border-inline-end-width: 0;\r\n margin-block-start: var(--tooltip-margin-block-start, tooltip-variables.$arrow-margin * -1);\r\n }\r\n }\r\n}\r\n","import { beforeWrite, createPopper, Instance as PopperInstance, Placement, State as PopperState } from \"@popperjs/core\";\r\nimport maxSize from \"popper-max-size-modifier\";\r\nimport { h, Component, Element, Host, Method, Prop, State, Watch, ComponentInterface } from \"@stencil/core\";\r\nimport clsx from \"clsx\";\r\nimport { hasOverflow } from \"../../utils/has-overflow\";\r\nimport debounce from \"debounce\";\r\n\r\n// Keep const in sync with $tooltip-transition-duration in dso-toolkit/src/components/tooltip/tooltip.scss tooltip_root() mixin\r\nconst transitionDuration = 150;\r\n\r\nconst applyMaxSize = {\r\n name: \"applyMaxSize\",\r\n enabled: true,\r\n phase: beforeWrite,\r\n requires: [\"maxSize\"],\r\n fn({ state }: { state: PopperState }) {\r\n let { width } = state.modifiersData.maxSize;\r\n if (width < 160) {\r\n width = 160;\r\n }\r\n\r\n state.styles.popper = {\r\n ...state.styles.popper,\r\n maxWidth: `${width}px`,\r\n };\r\n },\r\n};\r\n\r\n@Component({\r\n tag: \"dso-tooltip\",\r\n styleUrl: \"tooltip.scss\",\r\n shadow: true,\r\n})\r\nexport class Tooltip implements ComponentInterface {\r\n /**\r\n * Defines if the tooltip is descriptive. A descriptive tooltip contains a meaningful message. Tooltips that are not descriptive are hidden from screenreaders using `aria-hidden`.\r\n */\r\n @Prop({\r\n reflect: true,\r\n })\r\n descriptive = false;\r\n\r\n /**\r\n * Set position of tooltip relative to target\r\n */\r\n @Prop()\r\n position: Placement = \"top\";\r\n\r\n /**\r\n * Set position strategy of tooltip\r\n */\r\n @Prop()\r\n strategy: \"auto\" | \"absolute\" | \"fixed\" = \"auto\";\r\n\r\n /**\r\n * Set attribute `no-arrow` to hide the arrow\r\n */\r\n @Prop()\r\n noArrow = false;\r\n\r\n /**\r\n * Deactivates mouseover behaviour\r\n */\r\n @Prop()\r\n stateless?: boolean;\r\n\r\n /**\r\n * Defines if the tooltip has a smaller max-width\r\n */\r\n @Prop()\r\n small?: boolean;\r\n\r\n /**\r\n * Whether or not to show the tooltip. To control the tooltip add the `active` attribute or use the `activate()` and `deactivate()` instance methods.\r\n */\r\n @Prop({ reflect: true, mutable: true })\r\n active = false;\r\n\r\n /**\r\n * Activate the tooltip (Sets the `active` attribute)\r\n */\r\n @Method()\r\n async activate(): Promise<void> {\r\n this.active = true;\r\n }\r\n\r\n /**\r\n * Deactivate the tooltip (Removes the `active` attribute)\r\n */\r\n @Method()\r\n async deactivate(): Promise<void> {\r\n this.active = false;\r\n }\r\n\r\n @Watch(\"position\")\r\n watchPosition() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n this.popper.setOptions({\r\n placement: this.position,\r\n });\r\n }\r\n\r\n @Watch(\"strategy\")\r\n watchStrategy() {\r\n this.setStrategy();\r\n }\r\n\r\n private setStrategy() {\r\n if (!this.popper) {\r\n return;\r\n }\r\n\r\n if (this.strategy === \"absolute\" || this.strategy === \"fixed\") {\r\n this.popper.setOptions({\r\n strategy: this.strategy,\r\n });\r\n\r\n return;\r\n }\r\n\r\n let element: Element | null = this.element;\r\n while (element && element.parentNode !== document) {\r\n element = element.parentNode instanceof ShadowRoot ? element.parentNode.host : element.parentElement;\r\n if (element !== null && hasOverflow(element)) {\r\n this.popper.setOptions({\r\n strategy: \"fixed\",\r\n });\r\n\r\n return;\r\n }\r\n }\r\n\r\n this.popper.setOptions({\r\n strategy: \"absolute\",\r\n });\r\n }\r\n\r\n @Watch(\"active\")\r\n watchActive() {\r\n if (this.active) {\r\n this.activatePopper();\r\n\r\n if (!this.stateless) {\r\n setTimeout(() => {\r\n this.popper?.setOptions({\r\n modifiers: [{ name: \"eventListeners\", enabled: true }],\r\n });\r\n document.addEventListener(\"keydown\", this.keyDownListener);\r\n });\r\n }\r\n } else {\r\n document.removeEventListener(\"keydown\", this.keyDownListener);\r\n this.deactivatePopper();\r\n }\r\n }\r\n\r\n @Element()\r\n private element!: HTMLDsoTooltipElement;\r\n\r\n private popper: PopperInstance | undefined;\r\n\r\n private callbacks: TooltipCallbacks = {\r\n activate: () => (this.active = true),\r\n deactivate: () => {\r\n // Zie https://github.com/dso-toolkit/dso-toolkit/issues/2997#issuecomment-2654330094 voor de aanleiding\r\n // van setTimeout() met 2ms.\r\n setTimeout(() => {\r\n if (this.element.isConnected) {\r\n this.active = false;\r\n }\r\n }, 2);\r\n },\r\n };\r\n\r\n private onMouseLeave = () => {\r\n if (!this.element.matches(\":hover\") && !this.target?.matches(\":hover\")) {\r\n this.callbacks.deactivate();\r\n }\r\n };\r\n\r\n @State()\r\n private hidden = true;\r\n\r\n private listenClick(e: MouseEvent) {\r\n e.stopPropagation();\r\n }\r\n\r\n componentDidLoad(): void {\r\n const tooltip = this.element.shadowRoot?.querySelector(\".tooltip\");\r\n if (!(tooltip instanceof HTMLElement)) {\r\n throw new Error(\"tooltip element is not instanceof HTMLElement\");\r\n }\r\n\r\n if (!this.stateless && this.target) {\r\n this.target.addEventListener(\"mouseenter\", this.callbacks.activate);\r\n [this.element, this.target].forEach((element) => element.addEventListener(\"mouseleave\", this.onMouseLeave));\r\n this.target.addEventListener(\"focus\", this.callbacks.activate);\r\n this.target.addEventListener(\"blur\", this.callbacks.deactivate);\r\n }\r\n }\r\n\r\n disconnectedCallback(): void {\r\n this.popper?.destroy();\r\n\r\n if (!this.stateless && this.target) {\r\n this.target.removeEventListener(\"mouseenter\", this.callbacks.activate);\r\n [this.element, this.target].forEach((element) => element.removeEventListener(\"mouseleave\", this.onMouseLeave));\r\n this.target.removeEventListener(\"focus\", this.callbacks.activate);\r\n this.target.removeEventListener(\"blur\", this.callbacks.deactivate);\r\n }\r\n\r\n this.target = undefined;\r\n }\r\n\r\n componentDidRender() {\r\n if (this.active) {\r\n this.popper?.update();\r\n }\r\n }\r\n\r\n private keyDownListener = (event: KeyboardEvent) => {\r\n if (event.key === \"Escape\") {\r\n this.deactivate();\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n <Host class={{ hidden: this.hidden }} role=\"tooltip\" onClick={this.listenClick}>\r\n <div class={clsx(\"tooltip\", { in: this.active })}>\r\n {!this.noArrow && <div data-popper-arrow class=\"tooltip-arrow\"></div>}\r\n <div aria-hidden={!this.descriptive || undefined} class={clsx(\"tooltip-inner\", { \"dso-small\": this.small })}>\r\n <slot></slot>\r\n </div>\r\n </div>\r\n </Host>\r\n );\r\n }\r\n\r\n private deactivatePopper = debounce(() => {\r\n this.hidden = true;\r\n this.popper?.destroy();\r\n this.popper = undefined;\r\n }, transitionDuration);\r\n\r\n private activatePopper(): void {\r\n this.hidden = false;\r\n\r\n if (this.popper) {\r\n return;\r\n }\r\n\r\n const tooltip = this.element.shadowRoot?.querySelector(\".tooltip\");\r\n\r\n if (this.target && tooltip instanceof HTMLElement) {\r\n this.popper = createPopper(this.target, tooltip, {\r\n placement: this.position,\r\n modifiers: [maxSize, applyMaxSize, { name: \"eventListeners\", enabled: false }],\r\n });\r\n\r\n this.setStrategy();\r\n }\r\n }\r\n\r\n private get target(): HTMLElement | undefined {\r\n return this.#target ?? this.initializeTarget();\r\n }\r\n\r\n private set target(element: HTMLElement | undefined) {\r\n this.#target = element;\r\n }\r\n\r\n #target?: HTMLElement;\r\n\r\n private initializeTarget(): HTMLElement | undefined {\r\n const id = this.element.id;\r\n\r\n if (!id) {\r\n console.warn(\"Unable to find reference tooltip has no [id] attribute.\");\r\n\r\n return;\r\n }\r\n\r\n const rootNode = this.element.getRootNode();\r\n if (!(rootNode instanceof Document || rootNode instanceof ShadowRoot)) {\r\n console.warn(`rootNode is not instance of Document or ShadowRoot`);\r\n\r\n return;\r\n }\r\n\r\n const reference = rootNode.querySelector<HTMLElement>(`[aria-describedBy=\"${id}`);\r\n if (!reference) {\r\n console.warn(`Unable to find reference with aria-describedby ${id}`);\r\n\r\n return;\r\n }\r\n\r\n this.#target = reference;\r\n return reference;\r\n }\r\n}\r\n\r\ninterface TooltipCallbacks {\r\n activate: () => void;\r\n deactivate: () => void;\r\n}\r\n"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["stateMap","success","info","warning","danger","error","accordionSectionCss","DsoAccordionSectionStyle0","log","window","console","bind","HandleElement","handleUrl","onClick","open","showSlideToggle","active","onActiveChange","handleElementRef","children","h","Fragment","href","ref","accessibleLabel","checked","onDsoActiveChange","type","Handle","heading","class","HandleIcon","state","icon","attachmentCount","HandleStateIcon","count","AccordionSection","constructor","hostRef","this","hasNestedAccordion","activatable","hover","handleClick","event","dsoToggleClick","emit","originalEvent","handleActiveChange","dsoActiveChange","current","Boolean","next","handleExpandableAnimationStart","e","dsoAnimationStart","animation","scrollIntoView","behavior","detail","bodyHeight","handleExpandableAnimationEnd","dsoAnimationEnd","focusHandle","_a","focus","containsNestedAccordion","host","querySelector","componentWillLoad","accordion","_getState","then","accordionState","forceUpdate","isNeutral","variant","JSON","stringify","bodyClientRect","sectionBody","getBoundingClientRect","headingClientRect","_b","sectionHeading","sectionBottomY","top","height","innerHeight","box","scrollTop","scrollY","document","documentElement","body","clientTop","expandedAccordionHeight","shouldScrollToTopOfSection","scrollTo","closest","render","reverseAlign","hasAddons","statusDescription","status","Host","key","wijzigactie","hidden","onMouseenter","onMouseleave","element","value","handleTitle","label","labelStatus","compact","enableAnimation","minimumHeight","onDsoExpandableAnimationStart","onDsoExpandableAnimationEnd"],"sources":["src/components/accordion/components/accordion-section.interfaces.ts","src/components/accordion/components/accordion-section.scss?tag=dso-accordion-section&encapsulation=shadow","src/components/accordion/components/accordion-section.tsx"],"sourcesContent":["export type AccordionSectionState = \"success\" | \"info\" | \"warning\" | \"danger\" | \"error\";\r\n\r\nexport type AccordionHeading = \"h2\" | \"h3\" | \"h4\" | \"h5\";\r\n\r\nexport type AccordionSectionWijzigactie = \"voegtoe\" | \"verwijder\";\r\n\r\nexport const stateMap: Record<AccordionSectionState, string> = {\r\n success: \"succes:\",\r\n info: \"info:\",\r\n warning: \"waarschuwing:\",\r\n danger: \"fout:\",\r\n error: \"fout:\",\r\n};\r\n\r\nexport interface AccordionSectionToggleClickEvent {\r\n /**\r\n * The original MouseEvent that triggered the click.\r\n *\r\n * In case the Section Handle is an <a> this event can be used to preventDefault() so the framework router is reponsible for navigating the user.\r\n */\r\n originalEvent?: MouseEvent;\r\n\r\n /**\r\n * The requested state. If the Accordion Section is closed, `open = true`.\r\n */\r\n open: boolean;\r\n}\r\n\r\nexport interface AccordionSectionAnimationStartEvent {\r\n /**\r\n * Helper function to scroll the Accordion Section into view.\r\n */\r\n scrollIntoView(behavior?: ScrollBehavior): void;\r\n\r\n /**\r\n * Whether or not the Accordion opening or closing.\r\n */\r\n animation: \"opening\" | \"closing\";\r\n}\r\n\r\nexport interface AccordionSectionAnimationEndEvent {\r\n /**\r\n * Helper function to scroll the Accordion Section into view.\r\n */\r\n scrollIntoView(behavior?: ScrollBehavior): void;\r\n\r\n /**\r\n * The state of the Accordion Section after animation.\r\n */\r\n open: boolean;\r\n}\r\n\r\nexport interface AccordionSectionActiveChangeEvent {\r\n /**\r\n * De current status van de Accordion Section.\r\n */\r\n current: boolean;\r\n\r\n /**\r\n * De desired status van de Accordion Section.\r\n */\r\n next: boolean;\r\n\r\n originalEvent: Event;\r\n}\r\n","@use \"~dso-toolkit/src/utilities\";\r\n@use \"~dso-toolkit/src/variables/units\";\r\n@use \"~dso-toolkit/src/variables/colors\";\r\n@use \"~dso-toolkit/src/variables/typography\";\r\n\r\n@use \"~dso-toolkit/src/components/accordion\";\r\n@use \"~dso-toolkit/src/components/anchor\";\r\n\r\n@use \"accordion-section-theme-compact\";\r\n@use \"accordion-section-theme-compact-black\";\r\n@use \"accordion-section-theme-conclusion\";\r\n@use \"accordion-section-theme-default\";\r\n@use \"accordion-section-theme-neutral\";\r\n\r\n@include utilities.box-sizing();\r\n\r\n.sr-only {\r\n @include utilities.sr-only();\r\n}\r\n\r\n:host {\r\n display: block;\r\n\r\n .dso-section-handle {\r\n font-size: 1em;\r\n font-weight: 600;\r\n line-height: accordion.$handle-line-height;\r\n margin: 0;\r\n position: relative;\r\n\r\n > a:active {\r\n text-decoration: none;\r\n }\r\n\r\n a {\r\n @include anchor.clean();\r\n }\r\n\r\n .dso-status {\r\n font-weight: 400;\r\n }\r\n }\r\n\r\n .dso-section-handle > button,\r\n .dso-section-handle > a {\r\n align-items: flex-start;\r\n background-color: transparent;\r\n border: 0;\r\n cursor: pointer;\r\n display: flex;\r\n font-family: typography.$font-family-base;\r\n font-size: 1em;\r\n font-weight: 600;\r\n line-height: accordion.$handle-line-height;\r\n margin: 0;\r\n padding-block: accordion.$block-padding;\r\n padding-inline: accordion.$inline-padding;\r\n text-align: start;\r\n inline-size: 100%;\r\n word-break: break-word;\r\n\r\n dso-icon {\r\n flex-shrink: 0;\r\n\r\n &.dso-section-handle-chevron {\r\n @include utilities.transition(transform);\r\n\r\n transform: rotate(0);\r\n }\r\n }\r\n\r\n > .dso-section-handle-addons:first-child,\r\n > dso-icon:first-child {\r\n margin-inline-end: units.$u1;\r\n }\r\n\r\n > dso-icon:last-child {\r\n margin-inline-start: auto;\r\n }\r\n\r\n > .dso-section-handle-addons:last-child {\r\n margin-inline-start: auto;\r\n\r\n dso-attachments-counter,\r\n dso-icon {\r\n margin-inline-start: units.$u2;\r\n }\r\n }\r\n\r\n > dso-label {\r\n margin-inline-start: auto;\r\n padding-inline-start: units.$u1;\r\n word-break: normal;\r\n\r\n & + dso-icon:last-child,\r\n & + .dso-section-handle-addons:last-child {\r\n margin-inline-start: units.$u1;\r\n }\r\n }\r\n }\r\n}\r\n\r\n:host([open]:not([open=\"false\"])) {\r\n .dso-section-handle {\r\n > button,\r\n > a {\r\n .dso-section-handle-chevron {\r\n &:first-child {\r\n transform: rotate(90deg);\r\n }\r\n\r\n &:last-child {\r\n transform: rotate(-180deg);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n.dso-section-body {\r\n background-color: colors.$wit;\r\n border-block-start: 0;\r\n\r\n .dso-section-body-content {\r\n padding-block: units.$u2 + accordion.$border-radius units.$u2;\r\n padding-inline: units.$u2;\r\n }\r\n}\r\n\r\n// Default\r\n:host(.dso-accordion-default) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default();\r\n}\r\n\r\n:host(.dso-accordion-default[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default-open();\r\n}\r\n\r\n:host(.dso-accordion-default.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-default.dso-web-component-accordion-default-open-nested();\r\n}\r\n\r\n// Compact\r\n:host(.dso-accordion-compact) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact();\r\n}\r\n\r\n:host(.dso-accordion-compact.dso-accordion-reverse-align) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-reverse();\r\n}\r\n\r\n:host(.dso-accordion-compact[open]:not([open=\"false\"]):not(.dso-nested-accordion)) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-open();\r\n}\r\n\r\n:host(.dso-accordion-compact.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-compact.dso-web-component-accordion-compact-open-nested();\r\n}\r\n\r\n// Compact black\r\n:host(.dso-accordion-compact-black) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-section-activate) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black();\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-activate();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-voegtoe) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-voegtoe();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-wijzigactie-verwijder) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-verwijder();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-accordion-reverse-align) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-reverse();\r\n}\r\n\r\n:host(.dso-accordion-compact-black[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-open();\r\n}\r\n\r\n:host(.dso-accordion-compact-black.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-compact-black.dso-web-component-accordion-compact-black-open-nested();\r\n}\r\n\r\n// Conclusion\r\n:host(.dso-accordion-conclusion) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion();\r\n}\r\n\r\n:host(.dso-accordion-conclusion[open]:not([open=\"false\"]):not(.dso-nested-accordion)) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion-open();\r\n}\r\n\r\n:host(.dso-accordion-conclusion.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-conclusion.dso-web-component-accordion-conclusion-open-nested();\r\n}\r\n\r\n// Neutral\r\n:host(.dso-accordion-neutral) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral();\r\n}\r\n\r\n:host(.dso-accordion-neutral[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral-open();\r\n}\r\n\r\n:host(.dso-accordion-neutral.dso-nested-accordion[open]:not([open=\"false\"])) {\r\n @include accordion-section-theme-neutral.dso-web-component-accordion-neutral-open-nested();\r\n}\r\n","import {\r\n Component,\r\n ComponentInterface,\r\n Element,\r\n Event,\r\n EventEmitter,\r\n forceUpdate,\r\n Fragment,\r\n FunctionalComponent,\r\n h,\r\n Host,\r\n Method,\r\n Prop,\r\n State,\r\n} from \"@stencil/core\";\r\n\r\nimport { AccordionInternalState } from \"../accordion.interfaces\";\r\nimport {\r\n AccordionHeading,\r\n AccordionSectionActiveChangeEvent,\r\n AccordionSectionAnimationEndEvent,\r\n AccordionSectionAnimationStartEvent,\r\n AccordionSectionState,\r\n AccordionSectionToggleClickEvent,\r\n AccordionSectionWijzigactie,\r\n stateMap,\r\n} from \"./accordion-section.interfaces\";\r\nimport { ExpandableAnimationEndEvent } from \"../../expandable/expandable\";\r\nimport { LabelStatus } from \"../../label/label.interfaces\";\r\nimport { RenvooiValue } from \"../../renvooi/renvooi.interfaces\";\r\nimport { SlideToggleActiveEvent } from \"../../slide-toggle/slide-toggle.interfaces\";\r\n\r\nimport { DsoSlideToggleCustomEvent } from \"../../../components\";\r\n\r\n// eslint-disable-next-line no-console\r\nconst log = (window as any)[\"_dsoLog\"] === true ? console.log.bind(console.log) : function () {};\r\n\r\nconst HandleElement: FunctionalComponent<{\r\n handleUrl: string | undefined;\r\n open: boolean;\r\n showSlideToggle: boolean;\r\n active: boolean;\r\n onActiveChange: (e: DsoSlideToggleCustomEvent<SlideToggleActiveEvent>) => void;\r\n handleElementRef: (element: HTMLAnchorElement | HTMLButtonElement | undefined) => void;\r\n onClick: (e: MouseEvent) => void;\r\n}> = ({ handleUrl, onClick, open, showSlideToggle, active, onActiveChange, handleElementRef }, children) => {\r\n if (handleUrl) {\r\n return (\r\n <>\r\n <a href={handleUrl} onClick={onClick} aria-expanded={open ? \"true\" : \"false\"} ref={handleElementRef}>\r\n {children}\r\n </a>\r\n {showSlideToggle && (\r\n <dso-slide-toggle accessibleLabel=\"Toon op kaart\" checked={active} onDsoActiveChange={onActiveChange} />\r\n )}\r\n </>\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n <button type=\"button\" onClick={onClick} aria-expanded={open ? \"true\" : \"false\"} ref={handleElementRef}>\r\n {children}\r\n </button>\r\n {showSlideToggle && (\r\n <dso-slide-toggle accessibleLabel=\"Toon op kaart\" checked={active} onDsoActiveChange={onActiveChange} />\r\n )}\r\n </>\r\n );\r\n};\r\n\r\nconst Handle: FunctionalComponent<{\r\n heading: AccordionHeading;\r\n ref: (element: HTMLHeadingElement | undefined) => void;\r\n}> = ({ heading, ref }, children) => {\r\n switch (heading) {\r\n default:\r\n case \"h2\":\r\n return (\r\n <h2 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h2>\r\n );\r\n case \"h3\":\r\n return (\r\n <h3 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h3>\r\n );\r\n case \"h4\":\r\n return (\r\n <h4 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h4>\r\n );\r\n case \"h5\":\r\n return (\r\n <h5 ref={ref} class=\"dso-section-handle\">\r\n {children}\r\n </h5>\r\n );\r\n }\r\n};\r\n\r\nconst HandleIcon: FunctionalComponent<{\r\n state?: AccordionSectionState;\r\n icon?: string;\r\n attachmentCount?: number;\r\n}> = ({ state, icon, attachmentCount }) => {\r\n if (state) {\r\n return <HandleStateIcon state={state} />;\r\n }\r\n\r\n if (attachmentCount) {\r\n return <dso-attachments-counter count={attachmentCount}></dso-attachments-counter>;\r\n }\r\n\r\n if (icon) {\r\n return <dso-icon icon={icon}></dso-icon>;\r\n }\r\n};\r\n\r\nconst HandleStateIcon: FunctionalComponent<{ state: AccordionSectionState }> = ({ state }) => {\r\n if (state === \"error\") {\r\n return <dso-icon icon=\"status-error\"></dso-icon>;\r\n }\r\n\r\n if (state === \"danger\") {\r\n return <dso-icon icon=\"status-danger\"></dso-icon>;\r\n }\r\n\r\n if (state === \"success\") {\r\n return <dso-icon icon=\"status-success\"></dso-icon>;\r\n }\r\n\r\n if (state === \"info\") {\r\n return <dso-icon icon=\"status-info\"></dso-icon>;\r\n }\r\n\r\n if (state === \"warning\") {\r\n return <dso-icon icon=\"status-warning\"></dso-icon>;\r\n }\r\n};\r\n\r\n@Component({\r\n tag: \"dso-accordion-section\",\r\n styleUrl: \"accordion-section.scss\",\r\n shadow: true,\r\n})\r\nexport class AccordionSection implements ComponentInterface {\r\n private accordionState?: AccordionInternalState;\r\n\r\n private sectionBody?: HTMLDivElement;\r\n\r\n private sectionHeading?: HTMLHeadingElement;\r\n\r\n @Element()\r\n host!: HTMLDsoAccordionSectionElement;\r\n\r\n /**\r\n * The title of the handle\r\n */\r\n @Prop()\r\n handleTitle!: RenvooiValue | undefined;\r\n\r\n /**\r\n * An optional 'wijzigactie' that signals if the section is added or removed.\r\n */\r\n @Prop()\r\n wijzigactie?: AccordionSectionWijzigactie;\r\n\r\n /**\r\n * Which heading element to use.\r\n */\r\n @Prop()\r\n heading: AccordionHeading = \"h2\";\r\n\r\n /**\r\n * When set the handle will render as a `<a>`. When undefined it renders as a `<button>`\r\n */\r\n @Prop()\r\n handleUrl?: string;\r\n\r\n /**\r\n * `state` takes precedence over `attachmentCount` and `icon`\r\n */\r\n @Prop()\r\n status?: AccordionSectionState;\r\n\r\n /**\r\n * `attachmentCount` takes precedence over `icon`\r\n */\r\n @Prop()\r\n attachmentCount?: number;\r\n\r\n /**\r\n * To set an icon in the heading handle.\r\n */\r\n @Prop()\r\n icon?: string;\r\n\r\n /**\r\n * The status of the section.\r\n */\r\n @Prop()\r\n statusDescription?: string;\r\n\r\n /**\r\n * Set the Accordion Section open.\r\n */\r\n @Prop({ reflect: true })\r\n open = false;\r\n\r\n /**\r\n * Set when this Accordion Section contains or will contain an Accordion.\r\n */\r\n @Prop({ reflect: true })\r\n hasNestedAccordion = false;\r\n\r\n /**\r\n * The label to be displayed in the heading handle inside a Label (optional)\r\n */\r\n @Prop()\r\n label?: string;\r\n\r\n /**\r\n * The status of the Label in the heading handle (optional)\r\n */\r\n @Prop()\r\n labelStatus?: LabelStatus;\r\n\r\n /**\r\n * A boolean to indicate if the Accordion Section is capable of being activated. When `true` a Slide Toggle displays\r\n * on the right in the heading handle (optional). Works only for `variant` `compact-black` and `reverseAlign` false.\r\n */\r\n @Prop({ reflect: true })\r\n activatable = false;\r\n\r\n /**\r\n * A boolean to indicate if the Accordion Section is `active`. Only applicable when the Accordion Section is\r\n * `activatable`.\r\n */\r\n @Prop({ reflect: true })\r\n active = false;\r\n\r\n /**\r\n * An optional event listener for changes on the value of property `active`.\r\n */\r\n @Event()\r\n dsoActiveChange!: EventEmitter<AccordionSectionActiveChangeEvent>;\r\n\r\n /**\r\n * Calling this method will set focus to the handle.\r\n */\r\n @Method()\r\n async focusHandle() {\r\n this.handleElementRef?.focus();\r\n }\r\n\r\n @State()\r\n hover = false;\r\n\r\n get containsNestedAccordion() {\r\n return this.host.querySelector(\"dso-accordion\") !== null;\r\n }\r\n\r\n componentWillLoad() {\r\n this.accordion?._getState().then((state) => {\r\n this.accordionState = state;\r\n\r\n forceUpdate(this.host);\r\n });\r\n }\r\n\r\n get isNeutral() {\r\n return this.accordionState?.variant === \"neutral\";\r\n }\r\n\r\n private async scrollIntoView(bodyHeight: number | undefined, behavior: ScrollBehavior = \"auto\"): Promise<void> {\r\n log(\r\n `DSO Toolkit [Accordion Section] scrollIntoView(bodyHeight: ${JSON.stringify(\r\n bodyHeight,\r\n )}, behavior: ${JSON.stringify(behavior)})`,\r\n );\r\n\r\n const bodyClientRect = this.sectionBody?.getBoundingClientRect();\r\n const headingClientRect = this.sectionHeading?.getBoundingClientRect();\r\n\r\n log(`DSO Toolkit [Accordion Section] const bodyClientRect = ${JSON.stringify(bodyClientRect)};`);\r\n log(`DSO Toolkit [Accordion Section] const headingClientRect = ${JSON.stringify(headingClientRect)};`);\r\n log(`DSO Toolkit [Accordion Section] this.accordionState = ${JSON.stringify(this.accordionState)};`);\r\n log(`DSO Toolkit [Accordion Section] this.open = ${JSON.stringify(this.open)};`);\r\n\r\n if (!bodyClientRect || !headingClientRect || !this.accordionState) {\r\n log(`DSO Toolkit [Accordion Section] returning`);\r\n\r\n return;\r\n }\r\n\r\n // this y is relative to the top of the viewport.\r\n const sectionBottomY = headingClientRect.top + headingClientRect.height + (this.open ? (bodyHeight ?? 0) : 0);\r\n\r\n log(`DSO Toolkit [Accordion Section] const sectionBottomY = ${JSON.stringify(sectionBottomY)};`);\r\n log(`DSO Toolkit [Accordion Section] window.innerHeight = ${JSON.stringify(window.innerHeight)};`);\r\n\r\n const box = this.host.getBoundingClientRect();\r\n\r\n const scrollTop = window.scrollY || document.documentElement.scrollTop || document.body.scrollTop;\r\n const clientTop = document.documentElement.clientTop || document.body.clientTop || 0;\r\n const top = box.top + scrollTop - clientTop;\r\n\r\n log(\"DSO Toolkit [Accordion Section] scroll\", { box, scrollTop, clientTop, top });\r\n\r\n if (sectionBottomY > window.innerHeight) {\r\n log(\r\n `DSO Toolkit [Accordion Section] sectionBottomY > window.innerHeight === ${JSON.stringify(\r\n sectionBottomY > window.innerHeight,\r\n )};`,\r\n );\r\n\r\n const expandedAccordionHeight = sectionBottomY - headingClientRect.top;\r\n const shouldScrollToTopOfSection = expandedAccordionHeight > window.innerHeight;\r\n\r\n log(\r\n `DSO Toolkit [Accordion Section] const expandedAccordionHeight = ${JSON.stringify(expandedAccordionHeight)};`,\r\n );\r\n log(\r\n `DSO Toolkit [Accordion Section] const shouldScrollToTopOfSection = ${JSON.stringify(\r\n shouldScrollToTopOfSection,\r\n )};`,\r\n );\r\n\r\n window.scrollTo({\r\n top: shouldScrollToTopOfSection ? top : top - (window.innerHeight - expandedAccordionHeight),\r\n behavior,\r\n });\r\n } else if (headingClientRect.top < 0) {\r\n log(\r\n `DSO Toolkit [Accordion Section] headingClientRect.top < 0 === ${JSON.stringify(headingClientRect.top < 0)};`,\r\n );\r\n\r\n window.scrollTo({\r\n top,\r\n behavior,\r\n });\r\n }\r\n }\r\n\r\n private get accordion() {\r\n return this.host.closest(\"dso-accordion\");\r\n }\r\n\r\n private handleClick = (event: MouseEvent) => {\r\n this.dsoToggleClick.emit({\r\n originalEvent: event,\r\n open: !this.open,\r\n });\r\n };\r\n\r\n private handleActiveChange = (event: DsoSlideToggleCustomEvent<SlideToggleActiveEvent>) => {\r\n this.dsoActiveChange.emit({\r\n current: Boolean(this.active),\r\n next: !this.active,\r\n originalEvent: event,\r\n });\r\n };\r\n\r\n private handleExpandableAnimationStart = (e: CustomEvent<any>) => {\r\n this.dsoAnimationStart.emit({\r\n animation: this.open ? \"opening\" : \"closing\",\r\n scrollIntoView: (behavior: ScrollBehavior = \"auto\") => this.scrollIntoView(e.detail.bodyHeight, behavior),\r\n });\r\n };\r\n\r\n private handleExpandableAnimationEnd = (e: CustomEvent<ExpandableAnimationEndEvent>) => {\r\n this.dsoAnimationEnd.emit({\r\n open: this.open,\r\n scrollIntoView: (behavior: ScrollBehavior = \"auto\") => this.scrollIntoView(e.detail.bodyHeight, behavior),\r\n });\r\n };\r\n\r\n /**\r\n * Emitted when the user activates the toggle button.\r\n */\r\n @Event({ bubbles: false })\r\n dsoToggleClick!: EventEmitter<AccordionSectionToggleClickEvent>;\r\n\r\n /**\r\n * Event emitted when the Accordion Section starts its toggle animation.\r\n */\r\n @Event({ bubbles: false })\r\n dsoAnimationStart!: EventEmitter<AccordionSectionAnimationStartEvent>;\r\n\r\n /**\r\n * Event emitted when the Accordion Section completes its toggle animation.\r\n */\r\n @Event({ bubbles: false })\r\n dsoAnimationEnd!: EventEmitter<AccordionSectionAnimationEndEvent>;\r\n\r\n private handleElementRef?: HTMLAnchorElement | HTMLButtonElement;\r\n\r\n render() {\r\n const { variant, reverseAlign } = this.accordionState ?? {};\r\n const hasAddons = !!this.statusDescription || !!this.status || !!this.icon || !!this.attachmentCount;\r\n const showSlideToggle = this.activatable && variant === \"compact-black\" && !reverseAlign;\r\n\r\n return (\r\n <Host\r\n class={{\r\n \"dso-accordion-section\": true,\r\n [\"dso-accordion-\" + variant]: true,\r\n \"dso-nested-accordion\": this.hasNestedAccordion || this.containsNestedAccordion,\r\n \"dso-accordion-reverse-align\": reverseAlign ?? false,\r\n [\"dso-accordion-wijzigactie-\" + this.wijzigactie]: !!this.wijzigactie,\r\n \"dso-accordion-section-activate\": showSlideToggle,\r\n }}\r\n hidden={!variant}\r\n onMouseenter={() => (this.hover = true)}\r\n onMouseleave={() => (this.hover = false)}\r\n >\r\n <Handle heading={this.heading} ref={(element) => (this.sectionHeading = element)}>\r\n <HandleElement\r\n handleUrl={this.handleUrl}\r\n onClick={this.handleClick}\r\n open={this.open}\r\n showSlideToggle={showSlideToggle}\r\n active={this.active}\r\n onActiveChange={this.handleActiveChange}\r\n handleElementRef={(e) => (this.handleElementRef = e)}\r\n >\r\n {reverseAlign ? (\r\n <Fragment>\r\n {this.icon && (\r\n <div class=\"dso-section-handle-addons\">\r\n <HandleIcon icon={this.icon} />\r\n </div>\r\n )}\r\n <dso-renvooi value={this.handleTitle} />\r\n {this.label && (\r\n <dso-label status={this.labelStatus} compact>\r\n {this.label}\r\n </dso-label>\r\n )}\r\n <div class=\"dso-section-handle-addons\">\r\n {this.statusDescription && <span class=\"dso-status\">{this.statusDescription}</span>}\r\n <dso-icon class=\"dso-section-handle-chevron\" icon=\"chevron-down\"></dso-icon>\r\n </div>\r\n </Fragment>\r\n ) : (\r\n <Fragment>\r\n <dso-icon class=\"dso-section-handle-chevron\" icon=\"chevron-right\"></dso-icon>\r\n {this.status && <span class=\"sr-only\">{stateMap[this.status]}</span>}\r\n <span>\r\n <dso-renvooi value={this.handleTitle} />\r\n {this.isNeutral && (\r\n <dso-icon class=\"info-icon\" icon={this.open || this.hover ? \"info-active\" : \"info\"} />\r\n )}\r\n </span>\r\n {this.label && (\r\n <dso-label status={this.labelStatus} compact>\r\n {this.label}\r\n </dso-label>\r\n )}\r\n {hasAddons && (\r\n <div class=\"dso-section-handle-addons\">\r\n {this.statusDescription && <span class=\"dso-status\">{this.statusDescription}</span>}\r\n <HandleIcon state={this.status} icon={this.icon} attachmentCount={this.attachmentCount} />\r\n </div>\r\n )}\r\n </Fragment>\r\n )}\r\n </HandleElement>\r\n </Handle>\r\n <dso-expandable\r\n class=\"dso-section-body\"\r\n open={this.open}\r\n enableAnimation\r\n minimumHeight={this.isNeutral ? 0 : 4}\r\n onDsoExpandableAnimationStart={this.handleExpandableAnimationStart}\r\n onDsoExpandableAnimationEnd={this.handleExpandableAnimationEnd}\r\n >\r\n <div class=\"dso-section-body-content\" ref={(element) => (this.sectionBody = element)}>\r\n <slot />\r\n </div>\r\n </dso-expandable>\r\n </Host>\r\n );\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}