(()=>{"use strict";document.addEventListener("DOMContentLoaded",(function(){document.querySelectorAll("div.button").forEach((function(e){e.addEventListener("keyup",(function(t){var n=t.key;"Enter"!==n&&" "!==n||e.dispatchEvent(new MouseEvent("click"))}))}))}));var e=new ResizeObserver((function(e){return requestAnimationFrame((function(){return e.forEach(n)}))}));function t(){document.querySelectorAll("div.symbol").forEach((function(t){return e.observe(t)}))}function n(e){var t,n=e.target,i=e.borderBoxSize&&e.borderBoxSize[0]&&e.borderBoxSize[0].inlineSize,o=(null===(t=n.querySelector('[data-element-type="source-link"]'))||void 0===t?void 0:t.getBoundingClientRect().width)||0;if(i>0){var r=n.querySelectorAll(".parameters");if(0===r.length)return;r.forEach((function(e){if(e){e.classList.remove("wrapped"),e.querySelectorAll(".parameter .nbsp-indent").forEach((function(e){return e.remove()}));var t=Array.from(n.children).filter((function(e){return!e.classList.contains("block")})).map((function(e){return e.getBoundingClientRect().width})).reduce((function(e,t){return e+t}),0);t>i-32-o&&(e.classList.add("wrapped"),e.querySelectorAll(".parameter").forEach((function(e){var t;e.prepend(((t=document.createElement("span")).append(document.createTextNode("    ")),t.classList.add("nbsp-indent"),t))})))}}))}}function i(e,t){return!(!e||!e.classList.contains(t))||!!e.parentElement&&i(e.parentElement,t)}function o(){return window.innerWidth>=900}function r(){return window.innerWidth<440?"mobile":window.innerWidth>=440&&window.innerWidth<900?"tablet":"desktop"}function a(e){var t=e;if(-1===t.tabIndex)return!1;for(;t;){var n=getComputedStyle(t);if("none"===n.display||"hidden"===n.visibility)return!1;t=t.parentElement}return!0}function s(){var e=document.createElement("div");e.style.width="100px",e.style.height="100px",e.style.overflow="scroll",document.body.appendChild(e);var t=e.offsetWidth-e.clientWidth;return document.body.removeChild(e),t}function c(e,t){var n=null;return function(){for(var i=this,o=[],r=0;rwindow.innerWidth)if(n.classList.add("copy-popup-wrapper_bottom"),i.right-o.width>=0)n.classList.add("copy-popup-wrapper_bottom-right");else{var r=s(),a=i.right+o.width-window.innerWidth+r;n.style.left="calc(100% - ".concat(a,"px)")}setTimeout((function(){n.classList.remove("active-popup","copy-popup-wrapper_bottom","copy-popup-wrapper_bottom-right"),n.style.left=""}),1200)}}"loading"===document.readyState?window.addEventListener("DOMContentLoaded",t):t(),document.addEventListener("click",(function(e){var t,n,i;e.target instanceof Element&&(e.target.matches("span.copy-icon")?(t=e.target,(i=null===(n=t.closest(".sample-container"))||void 0===n?void 0:n.querySelector("code"))&&l(i.textContent||"",t)):e.target.matches("span.anchor-icon")&&function(e){e.hasAttribute("pointing-to")&&l(window.location.origin+window.location.pathname+window.location.search+"#"+e.getAttribute("pointing-to"),e)}(e.target))})),function(){if("ontouchstart"in window||navigator.maxTouchPoints>0){var e="js-touched";document.addEventListener("touchstart",(function(t){var n=t.target.closest(".sample-container");document.querySelectorAll(".".concat(e)).forEach((function(t){t!==n&&t.classList.remove(e)})),n&&n.classList.add(e)})),document.addEventListener("touchend",(function(t){t.target.closest(".".concat(e))||document.querySelectorAll(".".concat(e)).forEach((function(t){t.classList.remove(e)}))}))}}();var f=function(){function e(e){var t=e.trapElement,n=e.navigationKeys,i=e.interactiveElementsSelector;this.getInteractiveElementsSelector=function(){return'button, a, input, textarea, select, [tabindex]:not([tabindex="-1"])'},this.navigationKeys=["Tab"],this.trapElement=t,n&&(this.navigationKeys=n),i&&(this.getInteractiveElementsSelector=i),this.handleKeyDown=this.handleKeyDown.bind(this),this.trapElement.addEventListener("keydown",this.handleKeyDown)}return e.prototype.handleKeyDown=function(e){var t=Array.from(this.trapElement.querySelectorAll(this.getInteractiveElementsSelector())).filter(a);if(this.navigationKeys.includes(e.key)&&0!==t.length){var n=Array.from(this.trapElement.querySelectorAll('[data-role="dropdown-toggle"]')).filter(a),i=o()||1===n.length?n[0]:n[1];i&&t.unshift(i);var r=t[0],s=t[t.length-1];if("ArrowUp"===e.key)if(document.activeElement===r)s.focus();else{var c=t.indexOf(document.activeElement);t[c-1].focus()}if("ArrowDown"===e.key&&(document.activeElement===s?r.focus():(c=t.indexOf(document.activeElement),t[c+1].focus())),"Tab"===e.key){var l=t.findIndex((function(e){return e&&document.activeElement===e}));-1!==l&&(t[e.shiftKey?(l-1+t.length)%t.length:(l+1)%t.length].focus(),e.preventDefault())}}},e.prototype.destroy=function(){this.trapElement.removeEventListener("keydown",this.handleKeyDown)},e}(),h='[data-role="dropdown"]',v='[data-role="dropdown-toggle"]',m='[data-role="dropdown-listbox"]',g="dropdownToggled";function p(e){var t=e.querySelectorAll(v);null==t||t.forEach(y);var n=e.querySelector(m);!function(e,t){e&&(e.classList.toggle("dropdown--list_expanded"),e.classList.contains("dropdown--list_expanded")&&o()?b(e,t):b(e,void 0))}(n,t[0].offsetWidth),document.dispatchEvent(new CustomEvent(g,{detail:{dropdownId:e.id,isExpanded:null==n?void 0:n.classList.contains("dropdown--list_expanded")}}))}function y(e){e.classList.contains("button_dropdown")&&e.classList.toggle("button_dropdown_active")}function b(e,t){if(t){var n=parseInt(getComputedStyle(e).minWidth,10),i=isNaN(n)?t:Math.max(n,t);e.style.minWidth="".concat(i,"px")}else e.style.minWidth=""}function S(e){var t=e.target;i(t,"dropdown")&&"dropdown--overlay"!==t.className||document.querySelectorAll(h).forEach((function(e){var t,n;null===(t=e.querySelectorAll(v))||void 0===t||t.forEach((function(e){e.classList.remove("button_dropdown_active")})),null===(n=e.querySelectorAll(m))||void 0===n||n.forEach((function(e){e.classList.remove("dropdown--list_expanded"),e.style.minWidth=""}))}))}function w(e){e.tag.removeAttribute("style"),e.option.setAttribute("style","display: none")}function E(e){e.tag.setAttribute("style","display: none"),e.option.removeAttribute("style")}function z(e){var t,n=null===(t=e.querySelector(".checkbox--input"))||void 0===t?void 0:t.getAttribute("data-filter");n&&(-1===filteringContext.activeFilters.findIndex((function(e){return e===n}))?unfilterSourceset(n):filterSourceset(n)),refreshFiltering()}document.addEventListener("DOMContentLoaded",(function(){document.querySelectorAll(h).forEach((function(e){var t;null===(t=e.querySelectorAll(v))||void 0===t||t.forEach((function(t){t.addEventListener("click",(function(){return p(e)}))})),function(e){new f({trapElement:e,navigationKeys:["Tab","ArrowUp","ArrowDown"],interactiveElementsSelector:function(){return o()?'[role="option"]':'[role="option"], .toc--link, .toc--button'}}),e.addEventListener("keyup",(function(t){var n;"Escape"===t.key&&(p(e),null===(n=e.querySelector(v))||void 0===n||n.focus())})),e.addEventListener("keydown",(function(e){var t=e.target;(null==t?void 0:t.matches(".dropdown--option"))&&function(e){" "===e.key&&(e.preventDefault(),e.stopPropagation())}(e)}))}(e)})),document.addEventListener("click",S)})),document.addEventListener("DOMContentLoaded",(function(){var e=document.getElementById("navigation-wrapper"),t=document.getElementById("library-version"),n=document.getElementById("filter-section"),i=document.querySelector("#filter-section + .navigation-controls--btn"),o=document.getElementById("filter-section-dropdown");if(e&&t&&n&&i&&o){var a=null==n?void 0:n.querySelectorAll(".dropdown--option"),s=null==n?void 0:n.querySelectorAll(".platform-selector");if(s&&a)if(s.length===a.length){var c=Array.from({length:s.length}).map((function(e,t){return{tag:s[t],option:a[t]}})),l=c.map((function(e){return e.tag.getBoundingClientRect().width})),d=r(),u=new ResizeObserver((function(){var t=r();d!==t&&(c.forEach(w),l=function(e){return e.map((function(e){return e.tag.getBoundingClientRect().width}))}(c)),d=t,h(),u.unobserve(e)})),f=function(){u.observe(e)};h(),f(),a.forEach((function(e){e.addEventListener("click",(function(e){z(e.target)})),e.addEventListener("keyup",(function(e){var t=e.key;"Enter"!==t&&" "!==t||z(e.target)}))})),window.addEventListener("resize",f)}else console.warn("Dokka: filter section items are not equal");else console.warn("Dokka: filter section items are not found")}function h(){var r,a;if(e&&o){if(e.getBoundingClientRect().width<900)return c.forEach(E),void o.removeAttribute("style");var s=(t&&i?i.getBoundingClientRect().left-t.getBoundingClientRect().right:0)-44-10,d=0;o.removeAttribute("style");var u=!1;c.forEach((function(e,t){(d+=l[t]+4)({sizeInfoArray:e,flexGrowRatio:t/n})}}function k(e){return Number.isFinite(e)&&e>0}function B(e,t,n,i){let{collect:o,getResult:r}=C(),a=i?1:-1,s=O(e,t,a,n),c=O(e,-t,-a,n),l=t-s.remainingOffset,d=-t-c.remainingOffset;function u(t,i){t.forEach(o),o(n[e]),i.forEach(o)}if(l===-d)u(s.sizeInfoArray,c.sizeInfoArray);else if(Math.abs(l)=0:e<=i.length-1}return{sizeInfoArray:o,remainingOffset:r}}function q(e,t){if(t.isSolid)return{remainingOffset:e,sizeInfo:t};let{nextSize:n,remainingOffset:i}=function(e,{maxSize:t,minSize:n=0}){return et?{nextSize:t,remainingOffset:e-t}:{nextSize:e,remainingOffset:0}}(t.currentSize+e,t);return{sizeInfo:{...t,currentSize:n},remainingOffset:i}}var D={barIndex:-1,offset:0,type:"deactivate",originalCoordinate:R,defaultSizeInfoArray:[],sizeInfoArray:[],discard:!0,flexGrowRatio:0};function M(e,t,n){e?.dispatchEvent(new CustomEvent(t,{detail:n}))}var _=class{disposeFnSet=new Set;watchResizerEvent=(e,t,n)=>{e?.addEventListener(t,n);let i=()=>e?.removeEventListener(t,n);return this.disposeFnSet.add(i),i};reset=()=>{this.disposeFnSet.forEach((e=>e())),this.disposeFnSet.clear()}},T=class{infoMap=new Map;items=[];update(e){this.infoMap.clear(),this.items.forEach((e=>e.destroy())),this.items=e,e.forEach(((e,t)=>{this.infoMap.set(e.elm,{item:e,index:t})}))}reset(){this.update([])}getItems(){return this.items}getItem(e){return this.infoMap.get(e)?.item??null}getItemIndex(e){return this.infoMap.get(e)?.index??null}},N=!0;try{window.addEventListener("test",null,{get passive(){return N={passive:!1},!0}})}catch{}function W({size:e}){return k(e)}function G(e){let{disableResponsive:t}=e;return!(!W(e)||void 0!==t)||!!t}function K(e){return t=>({"data-item-type":e,"data-item-config":JSON.stringify(t)})}function F({elm:e}){try{let t=JSON.parse(e.getAttribute("data-item-config")??"");return t&&"object"==typeof t?t:{}}catch{return{}}}function V(e){return 2*e+1}function j(e){return 2*e}var H=class{constructor(e){this.resizeResult=e}isDiscarded=!1;resizeSection(e,t){if(this.isDiscarded)return;let n=j(e),i=this.getSize(n);if(i>=0&&t.toSize>=0){let o=t.toSize-i;n===this.resizeResult.sizeInfoArray.length-1||t.preferMoveLeftBar?this.moveBar(e-1,{withOffset:-o}):this.moveBar(e,{withOffset:o})}}moveBar(e,t){this.isDiscarded||(this.resizeResult=B(V(e),t.withOffset,this.resizeResult.sizeInfoArray,void 0))}discard(){this.isDiscarded=!0}isSectionResized(e){let t=j(e);return"defaultSizeInfoArray"in this.resizeResult&&this.getSize(t)!==this.resizeResult.defaultSizeInfoArray[t].currentSize}isBarActivated(e){return"barIndex"in this.resizeResult&&this.resizeResult.barIndex===V(e)}getSectionSize(e){return this.getSize(j(e))}getResult(){return{...this.resizeResult,discard:this.isDiscarded}}getTotalSize(){return this.resizeResult.sizeInfoArray.filter(((e,t)=>e&&t%2==0)).reduce(((e,{currentSize:t})=>e+t),0)}getSize(e){let t=this.resizeResult.sizeInfoArray[e];return t?t.currentSize:-1}},J=class{constructor(e,t,n){this.type=e,this.elm=t,this.getConfig=n,this._config=this.getConfig(),this._observer=new MutationObserver((()=>this._config=this.getConfig())),this._observer.observe(t,{attributes:!0,attributeFilter:["data-item-config"]})}_config;_observer;get config(){return this._config}destroy(){this._observer.disconnect()}},$=class extends J{constructor(e,t){super("BAR",e.elm,(()=>function(e){let{size:t}=F(e);return{size:k(t)?t:10}}(e))),this.dispatchBarAction=t;let n=[this.attachListener(this.elm,"mousedown","activate"),this.attachListener(document,"mousemove","move"),this.attachListener(document,"mouseup","deactivate"),this.attachListener(this.elm,"touchstart","activate",N),this.attachListener(document,"touchmove","move",N),this.attachListener(document,"touchend","deactivate"),this.attachListener(document,"touchcancel","deactivate")];this.destroy=()=>{super.destroy(),n.forEach((e=>e()))}}static getStyle({size:e}){return{flex:`0 0 ${e}px`}}isActive=!1;isValidClick=!0;attachListener(e,t,n,i){let o=e=>{this.disableUserSelectIfResizing(e,n);let{clientX:t,clientY:i}=("touches"in e?e.touches[0]:e)||{clientX:0,clientY:0};this.triggerAction(this.elm,n,{x:t,y:i})};return e.addEventListener(t,o,i),()=>e.removeEventListener(t,o,i)}disableUserSelectIfResizing(e,t){(this.isActive||"activate"===t)&&e.preventDefault()}triggerAction(e,t,n){(this.isActive||"activate"===t)&&this.dispatchBarAction(e,{type:t,coordinate:n}),this.isActive&&this.isValidClick&&"deactivate"===t&&(this.isValidClick=!1,M(e,"bar:click",null)),this.updateStatusIfNeed(e,t),this.updateClickStatus(t)}updateStatusIfNeed(e,t){let n=t=>{this.isActive!==t&&(this.isActive=t,M(e,"bar:status-change",{isActive:t}))};"activate"===t?n(!0):"deactivate"===t&&n(!1)}updateClickStatus(e){this.isActive&&("activate"===e?this.isValidClick=!0:"move"===e&&(this.isValidClick=!1))}},P=class extends J{static getStyle({maxSize:e,minSize:t},n){let i=e=>k(e)?`${e}px`:void 0;return{overflow:"hidden",[n?"maxHeight":"maxWidth"]:i(e),[n?"minHeight":"minWidth"]:i(t)}}sizeInfo=null;flexGrowRatio=0;constructor(e){super("SECTION",e.elm,(()=>function(e){let{size:t,defaultSize:n,maxSize:i,minSize:o,disableResponsive:r}=F(e);return{size:k(t)?t:void 0,defaultSize:k(n)?n:void 0,maxSize:k(i)?i:void 0,minSize:k(o)?o:void 0,disableResponsive:!!r}}(e))),this.updateStyle()}update({sizeInfo:e,flexGrowRatio:t}){this.sizeInfo=e,this.flexGrowRatio=t,this.updateStyle(),M(this.elm,"section:size-change",{size:e.currentSize})}updateStyle(){let{flexGrow:e,flexShrink:t,flexBasis:n}=this.getStyle();this.elm.style.flexGrow=`${e}`,this.elm.style.flexShrink=`${t}`,this.elm.style.flexBasis=`${n}px`}getStyle(){let e=k(this.config.size)?0:this.config.disableResponsive?1:0;if(this.sizeInfo){let{disableResponsive:t,currentSize:n}=this.sizeInfo;return{flexShrink:e,flexGrow:t?0:this.flexGrowRatio*n,flexBasis:t?n:0}}{let t=this.config.size||this.config.defaultSize;return k(t)?{flexShrink:e,flexGrow:0,flexBasis:t}:{flexShrink:e,flexGrow:1,flexBasis:0}}}},U=class{constructor(e){this.config=e,this.barStore=function(e){let t=D,n=new Set;return{dispatch(i){t=(()=>{let n={barIndex:i.barIndex,type:i.type};switch(i.type){case"activate":let{sizeInfoArray:o,flexGrowRatio:r}=e.getSizeRelatedInfo();return{...D,...n,originalCoordinate:i.coordinate,defaultSizeInfoArray:o,sizeInfoArray:o,flexGrowRatio:r};case"move":let a=e.calculateOffset(i.coordinate,t.originalCoordinate);return{...n,...B(i.barIndex,a,t.defaultSizeInfoArray,e.flipResizeMoveDirection),offset:a,originalCoordinate:t.originalCoordinate,defaultSizeInfoArray:t.defaultSizeInfoArray,discard:!1};case"deactivate":return D}})(),n.forEach((e=>e(t)))},subscribe:e=>(n.add(e),()=>n.delete(e)),unsubscribeAll(){n.clear()}}}({calculateOffset:(e,t)=>function(e,t){return t?{x:e.x-t.x,y:e.y-t.y}:R}(e,t)[this.axis],getSizeRelatedInfo:()=>this.makeSizeInfos(),flipResizeMoveDirection:e.rtl&&!e.vertical})}styles={container:e=>({...e,display:"flex",flexDirection:this.direction}),section:(e,t)=>({...t,...P.getStyle(e,this.config.vertical)}),bar:(e,t)=>({...t,...$.getStyle(e)})};attributes={bar:K("BAR"),section:K("SECTION")};itemsCache=new T;eventHub=new _;container=null;barStore;get axis(){return this.config.vertical?"y":"x"}get dimension(){return this.config.vertical?"height":"width"}get direction(){return this.config.vertical?"column":"row"}get on(){return this.eventHub.watchResizerEvent}init(e){var t;this.dispose(),this.container=e,e&&(this.itemsCache.update((t=e,Array.from(t.childNodes).map((e=>{if(!(e instanceof HTMLElement))return null;let t=e.getAttribute("data-item-type");return function(e){return!!e&&e in I}(t)?{type:t,elm:e}:null})).filter((e=>!!e))).map((e=>{switch(e.type){case"BAR":return new $(e,this.dispatchBarAction);case"SECTION":return new P(e)}}))),this.initStyles(e,this.itemsCache.getItems()),this.sizeRelatedInfoChange(this.makeSizeInfos()),this.barStore.subscribe((e=>{this.monitorBarStatusChanges(e),this.sizeRelatedInfoChange(e)})))}dispose(){this.container=null,this.itemsCache.reset(),this.barStore.unsubscribeAll(),this.eventHub.reset()}getResizer(){return new H(this.makeSizeInfos())}applyResizer(e){this.sizeRelatedInfoChange(e.getResult())}dispatchBarAction=(e,t)=>{let n=this.itemsCache.getItemIndex(e);n&&this.barStore.dispatch({...t,barIndex:n})};sizeRelatedInfoChange(e){e.discard||(e=(()=>{if("function"==typeof this.config.beforeApplyResizer){let t=new H(e);return this.config.beforeApplyResizer(t),t.getResult()}return e})(),!e.discard&&e.sizeInfoArray.forEach((t=>{let n=this.itemsCache.getItem(t.elm);n instanceof P&&n.update({sizeInfo:t,flexGrowRatio:e.flexGrowRatio})})))}monitorBarStatusChanges({type:e}){switch(e){case"activate":return M(this.container,"column:activate",null);case"deactivate":return M(this.container,"column:after-resizing",null);default:return}}makeSizeInfos(){let{collect:e,getResult:t}=C();return this.itemsCache.getItems().forEach((t=>{t instanceof $&&e({elm:t.elm,disableResponsive:!0,isSolid:!0,currentSize:t.elm.getBoundingClientRect()[this.dimension]}),t instanceof P&&e({elm:t.elm,maxSize:t.config.maxSize,minSize:t.config.minSize,disableResponsive:G(t.config),isSolid:W(t.config),currentSize:t.elm.getBoundingClientRect()[this.dimension]})})),t()}initStyles(e,t){Object.assign(e.style,this.styles.container()),t.forEach((e=>{e instanceof $&&Object.assign(e.elm.style,this.styles.bar(e.config)),e instanceof P&&Object.assign(e.elm.style,this.styles.section(e.config))}))}},X=function(){return X=Object.assign||function(e){for(var t,n=1,i=arguments.length;ni){var o=n.scrollWidth-i+1,r=Math.floor(document.documentElement.clientWidth-e.getBoundingClientRect().right+48-s()),a=Math.min(o,r);n.style.marginRight="-".concat(a,"px")}}))}),200);new ResizeObserver((function(){n(e)})).observe(e),window.addEventListener("resize",(function(){n(e)}))}}));var ne=function(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],i=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},ie=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var i,o,r=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a},oe=function(e,t,n){if(n||2===arguments.length)for(var i,o=0,r=t.length;o41?e.classList.add(i):e.classList.remove(i)}for(var l=[],d=function(e){var t=c(s,100),n=new ResizeObserver((function(){t(a[e])}));l.push(n)},u=0;u button[data-togglable="'+JSON.parse(n)+'"]');i&&re(i)}},window.toggleSections=re,document.addEventListener("DOMContentLoaded",(function(){document.querySelectorAll('[data-remove-style="true"]').forEach((function(e){e.removeAttribute("style")}))}))})();