diff --git a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/index.html b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/index.html index 18c04ff831..79a7ea9125 100644 --- a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/index.html +++ b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/-menu-item.html b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/-menu-item.html index c6c06c7c92..125cee0f12 100644 --- a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/-menu-item.html +++ b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/-menu-item.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/image-vector.html b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/image-vector.html index 44357e8ee0..506707fba9 100644 --- a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/image-vector.html +++ b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/image-vector.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/index.html b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/index.html index 8b64d91f2c..760e8bc147 100644 --- a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/index.html +++ b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/is-important.html b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/is-important.html index 4937c5225e..220b469463 100644 --- a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/is-important.html +++ b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/is-important.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/label.html b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/label.html index 5f77d53f2b..78b2114507 100644 --- a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/label.html +++ b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/label.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/on-click.html b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/on-click.html index 07b9e20c79..2eaf56d16c 100644 --- a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/on-click.html +++ b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/-menu-item/on-click.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/index.html b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/index.html index 703fe24109..782d35451a 100644 --- a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/index.html +++ b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/core/org.dokka.it.android.kmp.core/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/material3/index.html b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/material3/index.html index dd0926bb2f..40b2227b65 100644 --- a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/material3/index.html +++ b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/material3/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/material3/org.dokka.it.android.kmp.material3/-top-app-bar-action.html b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/material3/org.dokka.it.android.kmp.material3/-top-app-bar-action.html index 660d165dbe..247d544799 100644 --- a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/material3/org.dokka.it.android.kmp.material3/-top-app-bar-action.html +++ b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/material3/org.dokka.it.android.kmp.material3/-top-app-bar-action.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/material3/org.dokka.it.android.kmp.material3/index.html b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/material3/org.dokka.it.android.kmp.material3/index.html index bf8f31fda8..0958bc9dba 100644 --- a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/material3/org.dokka.it.android.kmp.material3/index.html +++ b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/material3/org.dokka.it.android.kmp.material3/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/scripts/platform-content-handler.js b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/scripts/platform-content-handler.js index 44e7231137..ada75ff34e 100644 --- a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/scripts/platform-content-handler.js +++ b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/scripts/platform-content-handler.js @@ -9,12 +9,8 @@ filteringContext = { } let highlightedAnchor; let topNavbarOffset; -let instances = []; let sourcesetNotification; -const samplesDarkThemeName = 'darcula' -const samplesLightThemeName = 'idea' - window.addEventListener('load', () => { document.querySelectorAll("div[data-platform-hinted]") .forEach(elem => elem.addEventListener('click', (event) => togglePlatformDependent(event, elem))) @@ -37,7 +33,11 @@ const darkModeSwitch = () => { const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches const darkModeEnabled = storage ? JSON.parse(storage) : osDarkSchemePreferred const element = document.getElementById("theme-toggle-button") - initPlayground(darkModeEnabled ? samplesDarkThemeName : samplesLightThemeName) + + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) + } element.addEventListener('click', () => { const enabledClasses = document.getElementsByTagName("html")[0].classList @@ -45,52 +45,14 @@ const darkModeSwitch = () => { //if previously we had saved dark theme then we set it to light as this is what we save in local storage const darkModeEnabled = enabledClasses.contains("theme-dark") - if (darkModeEnabled) { - initPlayground(samplesDarkThemeName) - } else { - initPlayground(samplesLightThemeName) + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) } safeLocalStorage.setItem(localStorageKey, JSON.stringify(darkModeEnabled)) }) } -const initPlayground = (theme) => { - if (!samplesAreEnabled()) return - instances.forEach(instance => instance.destroy()) - instances = [] - - // Manually tag code fragments as not processed by playground since we also manually destroy all of its instances - document.querySelectorAll('code.runnablesample').forEach(node => { - node.removeAttribute("data-kotlin-playground-initialized"); - - if (node.parentNode) { - node.parentNode.setAttribute("runnable-code-sample", ""); - } - }) - - KotlinPlayground('code.runnablesample', { - getInstance: playgroundInstance => { - instances.push(playgroundInstance) - }, - theme: theme - }); -} - -// We check if type is accessible from the current scope to determine if samples script is present -// As an alternative we could extract this samples-specific script to new js file but then we would handle dark mode in 2 separate files which is not ideal -const samplesAreEnabled = () => { - try { - if (typeof KotlinPlayground === 'undefined') { - // KotlinPlayground is exported universally as a global variable or as a module - // Due to possible interaction with other js scripts KotlinPlayground may not be accessible directly from `window`, so we need an additional check - KotlinPlayground = exports.KotlinPlayground; - } - return typeof KotlinPlayground === 'function'; - } catch (e) { - return false - } -} - // Hash change is needed in order to allow for linking inside the same page with anchors // If this is not present user is forced to refresh the site in order to use an anchor window.onhashchange = handleAnchor @@ -278,16 +240,6 @@ function refreshFiltering() { refreshFilterButtons() refreshPlatformTabs() refreshNoContentNotification() - refreshPlaygroundSamples() -} - -function refreshPlaygroundSamples() { - document.querySelectorAll('code.runnablesample').forEach(node => { - const playground = node.KotlinPlayground; - /* Some samples may be hidden by filter, they have 0px height for visible code area - * after rendering. Call this method for re-calculate code area height */ - playground && playground.view.codemirror.refresh(); - }); } function refreshNoContentNotification() { diff --git a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/styles/style.css b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/styles/style.css index a5762e4c27..1eee255ada 100644 --- a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/styles/style.css +++ b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/styles/style.css @@ -452,7 +452,3 @@ Just in case of possible performance degradation it excluding tabs with briefs o font-size: 20px; font-weight: 600; } - -div.runnablesample { - height: fit-content; -} diff --git a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/ui-kit/ui-kit.min.css b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/ui-kit/ui-kit.min.css index 101832e16d..84756531fc 100644 --- a/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/ui-kit/ui-kit.min.css +++ b/dokka-integration-tests/gradle/projects/it-android-compose/expectedData/html/ui-kit/ui-kit.min.css @@ -1 +1 @@ -.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.table+hr{display:none}.main-content .content>hr{border:none;border-top:1px solid rgba(0,0,0,.2);border-top:1px solid var(--color-b20);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:1px solid hsla(0,0%,100%,.16);border-top:1px solid var(--color-w16)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.tabs-section-body .with-platform-tabs{padding-bottom:12px;padding-top:12px}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08))}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;min-height:40px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(max-width:899px){.toc--row{min-height:52px}}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;padding:0 8px 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;line-height:0;position:relative;top:8px;transform:rotate(0deg);width:24px}@media(max-width:899px){.toc--button:after{top:14px}}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;height:calc(100% - 16px);min-height:40px;padding:8px 4px 8px 0;width:100%}@media(max-width:899px){.toc--link{min-height:52px;padding:14px 4px 14px 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(40px + var(--size-m1)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(40px + var(--size-m1)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(40px + var(--size-m1)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file +.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.main-content .content>hr{border:none;border-top:3px double rgba(0,0,0,.5);border-top:3px double var(--color-b50);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:3px double hsla(0,0%,100%,.5);border-top:3px double var(--color-w50)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}h4.tableheader{margin-top:24px;margin-top:var(--size-m1)}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.table .platform-bookmarks-row,.table .tabs-section{margin-bottom:16px;margin-bottom:var(--size-s3)}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08));--toc-item-padding-left:8px;--toc-item-padding-right:4px;--toc-item-padding-top:8px;--toc-item-padding-bottom:8px;--toc-item-padding-left-mobile:8px;--toc-item-padding-right-mobile:4px;--toc-item-padding-top-mobile:14px;--toc-item-padding-bottom-mobile:14px;--toc-icon-size:24px;--toc-button-width:calc(var(--toc-icon-size) + var(--toc-item-padding-left)*2)}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;min-width:var(--toc-button-width);padding:0 4px 0 0;padding:0 var(--toc-item-padding-right) 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-position:50%;background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;height:var(--toc-icon-size);line-height:0;margin-top:-12px;margin-top:calc(var(--toc-icon-size)/-2);position:absolute;top:50%;transform:rotate(0deg);width:24px;width:var(--toc-icon-size)}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;padding:8px 4px 8px 0;padding:var(--toc-item-padding-top) var(--toc-item-padding-right) var(--toc-item-padding-bottom) 0;width:100%}@media(max-width:899px){.toc--link{padding:14px 4px 14px 0;padding:var(--toc-item-padding-top-mobile) var(--toc-item-padding-right-mobile) var(--toc-item-padding-bottom-mobile) 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{min-height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file diff --git a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/index.html b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/index.html index 614a4761ac..cdaa93bc36 100644 --- a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/index.html +++ b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-android-specific-class/-android-specific-class.html b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-android-specific-class/-android-specific-class.html index a2c80703c8..359ab34eba 100644 --- a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-android-specific-class/-android-specific-class.html +++ b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-android-specific-class/-android-specific-class.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-android-specific-class/create-view.html b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-android-specific-class/create-view.html index 67e58275de..25be833659 100644 --- a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-android-specific-class/create-view.html +++ b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-android-specific-class/create-view.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-android-specific-class/index.html b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-android-specific-class/index.html index 5cc379c5c3..df2384609a 100644 --- a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-android-specific-class/index.html +++ b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-android-specific-class/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-android-specific-class/sparse-int-array.html b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-android-specific-class/sparse-int-array.html index 1fc87a92b9..a32f9d0651 100644 --- a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-android-specific-class/sparse-int-array.html +++ b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-android-specific-class/sparse-int-array.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-integration-test-activity/-integration-test-activity.html b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-integration-test-activity/-integration-test-activity.html index 1478f0d429..31f3fcf588 100644 --- a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-integration-test-activity/-integration-test-activity.html +++ b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-integration-test-activity/-integration-test-activity.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-integration-test-activity/index.html b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-integration-test-activity/index.html index 720e93f7c9..06581cca60 100644 --- a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-integration-test-activity/index.html +++ b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/-integration-test-activity/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/index.html b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/index.html index 892ed16750..14ac32aef8 100644 --- a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/index.html +++ b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/it-android/it.android/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/scripts/platform-content-handler.js b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/scripts/platform-content-handler.js index 44e7231137..ada75ff34e 100644 --- a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/scripts/platform-content-handler.js +++ b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/scripts/platform-content-handler.js @@ -9,12 +9,8 @@ filteringContext = { } let highlightedAnchor; let topNavbarOffset; -let instances = []; let sourcesetNotification; -const samplesDarkThemeName = 'darcula' -const samplesLightThemeName = 'idea' - window.addEventListener('load', () => { document.querySelectorAll("div[data-platform-hinted]") .forEach(elem => elem.addEventListener('click', (event) => togglePlatformDependent(event, elem))) @@ -37,7 +33,11 @@ const darkModeSwitch = () => { const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches const darkModeEnabled = storage ? JSON.parse(storage) : osDarkSchemePreferred const element = document.getElementById("theme-toggle-button") - initPlayground(darkModeEnabled ? samplesDarkThemeName : samplesLightThemeName) + + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) + } element.addEventListener('click', () => { const enabledClasses = document.getElementsByTagName("html")[0].classList @@ -45,52 +45,14 @@ const darkModeSwitch = () => { //if previously we had saved dark theme then we set it to light as this is what we save in local storage const darkModeEnabled = enabledClasses.contains("theme-dark") - if (darkModeEnabled) { - initPlayground(samplesDarkThemeName) - } else { - initPlayground(samplesLightThemeName) + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) } safeLocalStorage.setItem(localStorageKey, JSON.stringify(darkModeEnabled)) }) } -const initPlayground = (theme) => { - if (!samplesAreEnabled()) return - instances.forEach(instance => instance.destroy()) - instances = [] - - // Manually tag code fragments as not processed by playground since we also manually destroy all of its instances - document.querySelectorAll('code.runnablesample').forEach(node => { - node.removeAttribute("data-kotlin-playground-initialized"); - - if (node.parentNode) { - node.parentNode.setAttribute("runnable-code-sample", ""); - } - }) - - KotlinPlayground('code.runnablesample', { - getInstance: playgroundInstance => { - instances.push(playgroundInstance) - }, - theme: theme - }); -} - -// We check if type is accessible from the current scope to determine if samples script is present -// As an alternative we could extract this samples-specific script to new js file but then we would handle dark mode in 2 separate files which is not ideal -const samplesAreEnabled = () => { - try { - if (typeof KotlinPlayground === 'undefined') { - // KotlinPlayground is exported universally as a global variable or as a module - // Due to possible interaction with other js scripts KotlinPlayground may not be accessible directly from `window`, so we need an additional check - KotlinPlayground = exports.KotlinPlayground; - } - return typeof KotlinPlayground === 'function'; - } catch (e) { - return false - } -} - // Hash change is needed in order to allow for linking inside the same page with anchors // If this is not present user is forced to refresh the site in order to use an anchor window.onhashchange = handleAnchor @@ -278,16 +240,6 @@ function refreshFiltering() { refreshFilterButtons() refreshPlatformTabs() refreshNoContentNotification() - refreshPlaygroundSamples() -} - -function refreshPlaygroundSamples() { - document.querySelectorAll('code.runnablesample').forEach(node => { - const playground = node.KotlinPlayground; - /* Some samples may be hidden by filter, they have 0px height for visible code area - * after rendering. Call this method for re-calculate code area height */ - playground && playground.view.codemirror.refresh(); - }); } function refreshNoContentNotification() { diff --git a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/styles/style.css b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/styles/style.css index a5762e4c27..1eee255ada 100644 --- a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/styles/style.css +++ b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/styles/style.css @@ -452,7 +452,3 @@ Just in case of possible performance degradation it excluding tabs with briefs o font-size: 20px; font-weight: 600; } - -div.runnablesample { - height: fit-content; -} diff --git a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/ui-kit/ui-kit.min.css b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/ui-kit/ui-kit.min.css index 2ccc0adcdb..84756531fc 100644 --- a/dokka-integration-tests/gradle/projects/it-android/expectedData/html/ui-kit/ui-kit.min.css +++ b/dokka-integration-tests/gradle/projects/it-android/expectedData/html/ui-kit/ui-kit.min.css @@ -1 +1 @@ -.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.table+hr{display:none}.main-content .content>hr{border:none;border-top:1px solid rgba(0,0,0,.2);border-top:1px solid var(--color-b20);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:1px solid hsla(0,0%,100%,.16);border-top:1px solid var(--color-w16)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.tabs-section-body .with-platform-tabs{padding-bottom:12px;padding-top:12px}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08));--toc-item-padding-left:8px;--toc-item-padding-right:4px;--toc-item-padding-top:8px;--toc-item-padding-bottom:8px;--toc-item-padding-left-mobile:8px;--toc-item-padding-right-mobile:4px;--toc-item-padding-top-mobile:14px;--toc-item-padding-bottom-mobile:14px;--toc-icon-size:24px;--toc-button-width:calc(var(--toc-icon-size) + var(--toc-item-padding-left)*2)}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;min-width:var(--toc-button-width);padding:0 4px 0 0;padding:0 var(--toc-item-padding-right) 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-position:50%;background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;height:var(--toc-icon-size);line-height:0;margin-top:-12px;margin-top:calc(var(--toc-icon-size)/-2);position:absolute;top:50%;transform:rotate(0deg);width:24px;width:var(--toc-icon-size)}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;padding:8px 4px 8px 0;padding:var(--toc-item-padding-top) var(--toc-item-padding-right) var(--toc-item-padding-bottom) 0;width:100%}@media(max-width:899px){.toc--link{padding:14px 4px 14px 0;padding:var(--toc-item-padding-top-mobile) var(--toc-item-padding-right-mobile) var(--toc-item-padding-bottom-mobile) 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{min-height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file +.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.main-content .content>hr{border:none;border-top:3px double rgba(0,0,0,.5);border-top:3px double var(--color-b50);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:3px double hsla(0,0%,100%,.5);border-top:3px double var(--color-w50)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}h4.tableheader{margin-top:24px;margin-top:var(--size-m1)}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.table .platform-bookmarks-row,.table .tabs-section{margin-bottom:16px;margin-bottom:var(--size-s3)}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08));--toc-item-padding-left:8px;--toc-item-padding-right:4px;--toc-item-padding-top:8px;--toc-item-padding-bottom:8px;--toc-item-padding-left-mobile:8px;--toc-item-padding-right-mobile:4px;--toc-item-padding-top-mobile:14px;--toc-item-padding-bottom-mobile:14px;--toc-icon-size:24px;--toc-button-width:calc(var(--toc-icon-size) + var(--toc-item-padding-left)*2)}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;min-width:var(--toc-button-width);padding:0 4px 0 0;padding:0 var(--toc-item-padding-right) 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-position:50%;background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;height:var(--toc-icon-size);line-height:0;margin-top:-12px;margin-top:calc(var(--toc-icon-size)/-2);position:absolute;top:50%;transform:rotate(0deg);width:24px;width:var(--toc-icon-size)}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;padding:8px 4px 8px 0;padding:var(--toc-item-padding-top) var(--toc-item-padding-right) var(--toc-item-padding-bottom) 0;width:100%}@media(max-width:899px){.toc--link{padding:14px 4px 14px 0;padding:var(--toc-item-padding-top-mobile) var(--toc-item-padding-right-mobile) var(--toc-item-padding-bottom-mobile) 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{min-height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/index.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/index.html index 8dd749dd2d..00c1d29e43 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/index.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-common-main-cls/-common-main-cls.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-common-main-cls/-common-main-cls.html index 509fbbd3ef..82ec0150a7 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-common-main-cls/-common-main-cls.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-common-main-cls/-common-main-cls.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-common-main-cls/index.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-common-main-cls/index.html index 64cbae708b..ad969b7487 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-common-main-cls/index.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-common-main-cls/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-ios-main-cls/-ios-main-cls.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-ios-main-cls/-ios-main-cls.html index abc5bb8f33..2d42c44ba5 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-ios-main-cls/-ios-main-cls.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-ios-main-cls/-ios-main-cls.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-ios-main-cls/index.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-ios-main-cls/index.html index c1345ec9c9..3b61c41eb6 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-ios-main-cls/index.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-ios-main-cls/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-jvm-main-cls/-jvm-main-cls.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-jvm-main-cls/-jvm-main-cls.html index 1b543148b9..96c08ed26a 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-jvm-main-cls/-jvm-main-cls.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-jvm-main-cls/-jvm-main-cls.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-jvm-main-cls/index.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-jvm-main-cls/index.html index 12135e759d..66973fc3a0 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-jvm-main-cls/index.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-jvm-main-cls/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-linux-main-cls/-linux-main-cls.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-linux-main-cls/-linux-main-cls.html index 5dbb2f73f7..f7e65717dd 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-linux-main-cls/-linux-main-cls.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-linux-main-cls/-linux-main-cls.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-linux-main-cls/index.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-linux-main-cls/index.html index 675fe96c22..c77e18c3d8 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-linux-main-cls/index.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-linux-main-cls/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-native-main-cls/-native-main-cls.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-native-main-cls/-native-main-cls.html index 424888654c..63c353ee94 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-native-main-cls/-native-main-cls.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-native-main-cls/-native-main-cls.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-native-main-cls/index.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-native-main-cls/index.html index 3840a187d3..fc3ec6d582 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-native-main-cls/index.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/-native-main-cls/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/[ios-arm64]ios-x64-main-fn.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/[ios-arm64]ios-x64-main-fn.html index 8fc120111b..862f608124 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/[ios-arm64]ios-x64-main-fn.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/[ios-arm64]ios-x64-main-fn.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/[ios-x64]ios-x64-main-fn.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/[ios-x64]ios-x64-main-fn.html index a029d35f99..362f222a2b 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/[ios-x64]ios-x64-main-fn.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/[ios-x64]ios-x64-main-fn.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/commpn-main-fn.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/commpn-main-fn.html index 44805f80cf..aac23aedfe 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/commpn-main-fn.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/commpn-main-fn.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/index.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/index.html index 0479fc2b25..9c7a2a3c9f 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/index.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/ios-main-fn.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/ios-main-fn.html index 3402c07d3d..ecc89dc499 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/ios-main-fn.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/ios-main-fn.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/jvm-main-fn.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/jvm-main-fn.html index b77e2eb671..5f91ebef4c 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/jvm-main-fn.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/jvm-main-fn.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/linux-arm64-fn.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/linux-arm64-fn.html index 31117ba42f..c9579b5ee0 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/linux-arm64-fn.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/linux-arm64-fn.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/linux-fn.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/linux-fn.html index 92deb0033c..c161d970dc 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/linux-fn.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/linux-fn.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/linux-x64-fn.html b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/linux-x64-fn.html index a9c74f71b4..29f1c6ade6 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/linux-x64-fn.html +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/it-kotlin-multiplatform/a.b.c/linux-x64-fn.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/scripts/platform-content-handler.js b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/scripts/platform-content-handler.js index 44e7231137..ada75ff34e 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/scripts/platform-content-handler.js +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/scripts/platform-content-handler.js @@ -9,12 +9,8 @@ filteringContext = { } let highlightedAnchor; let topNavbarOffset; -let instances = []; let sourcesetNotification; -const samplesDarkThemeName = 'darcula' -const samplesLightThemeName = 'idea' - window.addEventListener('load', () => { document.querySelectorAll("div[data-platform-hinted]") .forEach(elem => elem.addEventListener('click', (event) => togglePlatformDependent(event, elem))) @@ -37,7 +33,11 @@ const darkModeSwitch = () => { const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches const darkModeEnabled = storage ? JSON.parse(storage) : osDarkSchemePreferred const element = document.getElementById("theme-toggle-button") - initPlayground(darkModeEnabled ? samplesDarkThemeName : samplesLightThemeName) + + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) + } element.addEventListener('click', () => { const enabledClasses = document.getElementsByTagName("html")[0].classList @@ -45,52 +45,14 @@ const darkModeSwitch = () => { //if previously we had saved dark theme then we set it to light as this is what we save in local storage const darkModeEnabled = enabledClasses.contains("theme-dark") - if (darkModeEnabled) { - initPlayground(samplesDarkThemeName) - } else { - initPlayground(samplesLightThemeName) + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) } safeLocalStorage.setItem(localStorageKey, JSON.stringify(darkModeEnabled)) }) } -const initPlayground = (theme) => { - if (!samplesAreEnabled()) return - instances.forEach(instance => instance.destroy()) - instances = [] - - // Manually tag code fragments as not processed by playground since we also manually destroy all of its instances - document.querySelectorAll('code.runnablesample').forEach(node => { - node.removeAttribute("data-kotlin-playground-initialized"); - - if (node.parentNode) { - node.parentNode.setAttribute("runnable-code-sample", ""); - } - }) - - KotlinPlayground('code.runnablesample', { - getInstance: playgroundInstance => { - instances.push(playgroundInstance) - }, - theme: theme - }); -} - -// We check if type is accessible from the current scope to determine if samples script is present -// As an alternative we could extract this samples-specific script to new js file but then we would handle dark mode in 2 separate files which is not ideal -const samplesAreEnabled = () => { - try { - if (typeof KotlinPlayground === 'undefined') { - // KotlinPlayground is exported universally as a global variable or as a module - // Due to possible interaction with other js scripts KotlinPlayground may not be accessible directly from `window`, so we need an additional check - KotlinPlayground = exports.KotlinPlayground; - } - return typeof KotlinPlayground === 'function'; - } catch (e) { - return false - } -} - // Hash change is needed in order to allow for linking inside the same page with anchors // If this is not present user is forced to refresh the site in order to use an anchor window.onhashchange = handleAnchor @@ -278,16 +240,6 @@ function refreshFiltering() { refreshFilterButtons() refreshPlatformTabs() refreshNoContentNotification() - refreshPlaygroundSamples() -} - -function refreshPlaygroundSamples() { - document.querySelectorAll('code.runnablesample').forEach(node => { - const playground = node.KotlinPlayground; - /* Some samples may be hidden by filter, they have 0px height for visible code area - * after rendering. Call this method for re-calculate code area height */ - playground && playground.view.codemirror.refresh(); - }); } function refreshNoContentNotification() { diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/styles/style.css b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/styles/style.css index a5762e4c27..1eee255ada 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/styles/style.css +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/styles/style.css @@ -452,7 +452,3 @@ Just in case of possible performance degradation it excluding tabs with briefs o font-size: 20px; font-weight: 600; } - -div.runnablesample { - height: fit-content; -} diff --git a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/ui-kit/ui-kit.min.css b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/ui-kit/ui-kit.min.css index 2ccc0adcdb..84756531fc 100644 --- a/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/ui-kit/ui-kit.min.css +++ b/dokka-integration-tests/gradle/projects/it-kotlin-multiplatform/expectedData/html/ui-kit/ui-kit.min.css @@ -1 +1 @@ -.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.table+hr{display:none}.main-content .content>hr{border:none;border-top:1px solid rgba(0,0,0,.2);border-top:1px solid var(--color-b20);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:1px solid hsla(0,0%,100%,.16);border-top:1px solid var(--color-w16)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.tabs-section-body .with-platform-tabs{padding-bottom:12px;padding-top:12px}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08));--toc-item-padding-left:8px;--toc-item-padding-right:4px;--toc-item-padding-top:8px;--toc-item-padding-bottom:8px;--toc-item-padding-left-mobile:8px;--toc-item-padding-right-mobile:4px;--toc-item-padding-top-mobile:14px;--toc-item-padding-bottom-mobile:14px;--toc-icon-size:24px;--toc-button-width:calc(var(--toc-icon-size) + var(--toc-item-padding-left)*2)}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;min-width:var(--toc-button-width);padding:0 4px 0 0;padding:0 var(--toc-item-padding-right) 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-position:50%;background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;height:var(--toc-icon-size);line-height:0;margin-top:-12px;margin-top:calc(var(--toc-icon-size)/-2);position:absolute;top:50%;transform:rotate(0deg);width:24px;width:var(--toc-icon-size)}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;padding:8px 4px 8px 0;padding:var(--toc-item-padding-top) var(--toc-item-padding-right) var(--toc-item-padding-bottom) 0;width:100%}@media(max-width:899px){.toc--link{padding:14px 4px 14px 0;padding:var(--toc-item-padding-top-mobile) var(--toc-item-padding-right-mobile) var(--toc-item-padding-bottom-mobile) 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{min-height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file +.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.main-content .content>hr{border:none;border-top:3px double rgba(0,0,0,.5);border-top:3px double var(--color-b50);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:3px double hsla(0,0%,100%,.5);border-top:3px double var(--color-w50)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}h4.tableheader{margin-top:24px;margin-top:var(--size-m1)}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.table .platform-bookmarks-row,.table .tabs-section{margin-bottom:16px;margin-bottom:var(--size-s3)}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08));--toc-item-padding-left:8px;--toc-item-padding-right:4px;--toc-item-padding-top:8px;--toc-item-padding-bottom:8px;--toc-item-padding-left-mobile:8px;--toc-item-padding-right-mobile:4px;--toc-item-padding-top-mobile:14px;--toc-item-padding-bottom-mobile:14px;--toc-icon-size:24px;--toc-button-width:calc(var(--toc-icon-size) + var(--toc-item-padding-left)*2)}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;min-width:var(--toc-button-width);padding:0 4px 0 0;padding:0 var(--toc-item-padding-right) 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-position:50%;background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;height:var(--toc-icon-size);line-height:0;margin-top:-12px;margin-top:calc(var(--toc-icon-size)/-2);position:absolute;top:50%;transform:rotate(0deg);width:24px;width:var(--toc-icon-size)}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;padding:8px 4px 8px 0;padding:var(--toc-item-padding-top) var(--toc-item-padding-right) var(--toc-item-padding-bottom) 0;width:100%}@media(max-width:899px){.toc--link{padding:14px 4px 14px 0;padding:var(--toc-item-padding-top-mobile) var(--toc-item-padding-right-mobile) var(--toc-item-padding-bottom-mobile) 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{min-height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/-greeter/-greeter.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/-greeter/-greeter.html index 646a55396b..57f5cda971 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/-greeter/-greeter.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/-greeter/-greeter.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/-greeter/greet.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/-greeter/greet.html index d68e5bf263..2c71c9cf91 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/-greeter/greet.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/-greeter/greet.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/-greeter/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/-greeter/index.html index 8ad5133e56..5ab1d37d61 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/-greeter/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/-greeter/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/-greeter/name.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/-greeter/name.html index 6bbbdb187e..000e61963a 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/-greeter/name.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/-greeter/name.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/index.html index f7ab88a4d2..94f9f175df 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/main.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/main.html index e6f665e1fe..78e504add7 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/main.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/-dokka -gradle -example/demo/main.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/index.html index 8887bfb9aa..356685b56c 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/scripts/platform-content-handler.js b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/scripts/platform-content-handler.js index 44e7231137..ada75ff34e 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/scripts/platform-content-handler.js +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/scripts/platform-content-handler.js @@ -9,12 +9,8 @@ filteringContext = { } let highlightedAnchor; let topNavbarOffset; -let instances = []; let sourcesetNotification; -const samplesDarkThemeName = 'darcula' -const samplesLightThemeName = 'idea' - window.addEventListener('load', () => { document.querySelectorAll("div[data-platform-hinted]") .forEach(elem => elem.addEventListener('click', (event) => togglePlatformDependent(event, elem))) @@ -37,7 +33,11 @@ const darkModeSwitch = () => { const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches const darkModeEnabled = storage ? JSON.parse(storage) : osDarkSchemePreferred const element = document.getElementById("theme-toggle-button") - initPlayground(darkModeEnabled ? samplesDarkThemeName : samplesLightThemeName) + + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) + } element.addEventListener('click', () => { const enabledClasses = document.getElementsByTagName("html")[0].classList @@ -45,52 +45,14 @@ const darkModeSwitch = () => { //if previously we had saved dark theme then we set it to light as this is what we save in local storage const darkModeEnabled = enabledClasses.contains("theme-dark") - if (darkModeEnabled) { - initPlayground(samplesDarkThemeName) - } else { - initPlayground(samplesLightThemeName) + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) } safeLocalStorage.setItem(localStorageKey, JSON.stringify(darkModeEnabled)) }) } -const initPlayground = (theme) => { - if (!samplesAreEnabled()) return - instances.forEach(instance => instance.destroy()) - instances = [] - - // Manually tag code fragments as not processed by playground since we also manually destroy all of its instances - document.querySelectorAll('code.runnablesample').forEach(node => { - node.removeAttribute("data-kotlin-playground-initialized"); - - if (node.parentNode) { - node.parentNode.setAttribute("runnable-code-sample", ""); - } - }) - - KotlinPlayground('code.runnablesample', { - getInstance: playgroundInstance => { - instances.push(playgroundInstance) - }, - theme: theme - }); -} - -// We check if type is accessible from the current scope to determine if samples script is present -// As an alternative we could extract this samples-specific script to new js file but then we would handle dark mode in 2 separate files which is not ideal -const samplesAreEnabled = () => { - try { - if (typeof KotlinPlayground === 'undefined') { - // KotlinPlayground is exported universally as a global variable or as a module - // Due to possible interaction with other js scripts KotlinPlayground may not be accessible directly from `window`, so we need an additional check - KotlinPlayground = exports.KotlinPlayground; - } - return typeof KotlinPlayground === 'function'; - } catch (e) { - return false - } -} - // Hash change is needed in order to allow for linking inside the same page with anchors // If this is not present user is forced to refresh the site in order to use an anchor window.onhashchange = handleAnchor @@ -278,16 +240,6 @@ function refreshFiltering() { refreshFilterButtons() refreshPlatformTabs() refreshNoContentNotification() - refreshPlaygroundSamples() -} - -function refreshPlaygroundSamples() { - document.querySelectorAll('code.runnablesample').forEach(node => { - const playground = node.KotlinPlayground; - /* Some samples may be hidden by filter, they have 0px height for visible code area - * after rendering. Call this method for re-calculate code area height */ - playground && playground.view.codemirror.refresh(); - }); } function refreshNoContentNotification() { diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/styles/style.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/styles/style.css index a5762e4c27..1eee255ada 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/styles/style.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/styles/style.css @@ -452,7 +452,3 @@ Just in case of possible performance degradation it excluding tabs with briefs o font-size: 20px; font-weight: 600; } - -div.runnablesample { - height: fit-content; -} diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/ui-kit/ui-kit.min.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/ui-kit/ui-kit.min.css index 101832e16d..84756531fc 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/ui-kit/ui-kit.min.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/basic-gradle-example/html/ui-kit/ui-kit.min.css @@ -1 +1 @@ -.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.table+hr{display:none}.main-content .content>hr{border:none;border-top:1px solid rgba(0,0,0,.2);border-top:1px solid var(--color-b20);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:1px solid hsla(0,0%,100%,.16);border-top:1px solid var(--color-w16)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.tabs-section-body .with-platform-tabs{padding-bottom:12px;padding-top:12px}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08))}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;min-height:40px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(max-width:899px){.toc--row{min-height:52px}}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;padding:0 8px 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;line-height:0;position:relative;top:8px;transform:rotate(0deg);width:24px}@media(max-width:899px){.toc--button:after{top:14px}}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;height:calc(100% - 16px);min-height:40px;padding:8px 4px 8px 0;width:100%}@media(max-width:899px){.toc--link{min-height:52px;padding:14px 4px 14px 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(40px + var(--size-m1)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(40px + var(--size-m1)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(40px + var(--size-m1)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file +.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.main-content .content>hr{border:none;border-top:3px double rgba(0,0,0,.5);border-top:3px double var(--color-b50);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:3px double hsla(0,0%,100%,.5);border-top:3px double var(--color-w50)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}h4.tableheader{margin-top:24px;margin-top:var(--size-m1)}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.table .platform-bookmarks-row,.table .tabs-section{margin-bottom:16px;margin-bottom:var(--size-s3)}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08));--toc-item-padding-left:8px;--toc-item-padding-right:4px;--toc-item-padding-top:8px;--toc-item-padding-bottom:8px;--toc-item-padding-left-mobile:8px;--toc-item-padding-right-mobile:4px;--toc-item-padding-top-mobile:14px;--toc-item-padding-bottom-mobile:14px;--toc-icon-size:24px;--toc-button-width:calc(var(--toc-icon-size) + var(--toc-item-padding-left)*2)}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;min-width:var(--toc-button-width);padding:0 4px 0 0;padding:0 var(--toc-item-padding-right) 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-position:50%;background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;height:var(--toc-icon-size);line-height:0;margin-top:-12px;margin-top:calc(var(--toc-icon-size)/-2);position:absolute;top:50%;transform:rotate(0deg);width:24px;width:var(--toc-icon-size)}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;padding:8px 4px 8px 0;padding:var(--toc-item-padding-top) var(--toc-item-padding-right) var(--toc-item-padding-bottom) 0;width:100%}@media(max-width:899px){.toc--link{padding:14px 4px 14px 0;padding:var(--toc-item-padding-top-mobile) var(--toc-item-padding-right-mobile) var(--toc-item-padding-bottom-mobile) 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{min-height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/foo.example.module.kakapo/-kakapo/-kakapo.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/foo.example.module.kakapo/-kakapo/-kakapo.html index a0a1662ac1..e3710d2119 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/foo.example.module.kakapo/-kakapo/-kakapo.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/foo.example.module.kakapo/-kakapo/-kakapo.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/foo.example.module.kakapo/-kakapo/description.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/foo.example.module.kakapo/-kakapo/description.html index 51192644d4..d6410853dd 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/foo.example.module.kakapo/-kakapo/description.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/foo.example.module.kakapo/-kakapo/description.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/foo.example.module.kakapo/-kakapo/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/foo.example.module.kakapo/-kakapo/index.html index 9c54364137..45a68310a2 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/foo.example.module.kakapo/-kakapo/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/foo.example.module.kakapo/-kakapo/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/foo.example.module.kakapo/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/foo.example.module.kakapo/index.html index e9465b2a82..ff58f5b2a2 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/foo.example.module.kakapo/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/foo.example.module.kakapo/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/index.html index 4eba1df2aa..5840ca6842 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kakakpo/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/foo.example.module.kea/-kea/-kea.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/foo.example.module.kea/-kea/-kea.html index ea96130dd2..a2bb62b8e5 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/foo.example.module.kea/-kea/-kea.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/foo.example.module.kea/-kea/-kea.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/foo.example.module.kea/-kea/description.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/foo.example.module.kea/-kea/description.html index 5f80f3ec73..d3cae5daae 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/foo.example.module.kea/-kea/description.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/foo.example.module.kea/-kea/description.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/foo.example.module.kea/-kea/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/foo.example.module.kea/-kea/index.html index c480f93f0b..0b5053c56c 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/foo.example.module.kea/-kea/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/foo.example.module.kea/-kea/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/foo.example.module.kea/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/foo.example.module.kea/index.html index 483c489cb9..83332fc012 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/foo.example.module.kea/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/foo.example.module.kea/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/index.html index a499262580..30392c4c41 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/kea/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/scripts/platform-content-handler.js b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/scripts/platform-content-handler.js index 44e7231137..ada75ff34e 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/scripts/platform-content-handler.js +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/scripts/platform-content-handler.js @@ -9,12 +9,8 @@ filteringContext = { } let highlightedAnchor; let topNavbarOffset; -let instances = []; let sourcesetNotification; -const samplesDarkThemeName = 'darcula' -const samplesLightThemeName = 'idea' - window.addEventListener('load', () => { document.querySelectorAll("div[data-platform-hinted]") .forEach(elem => elem.addEventListener('click', (event) => togglePlatformDependent(event, elem))) @@ -37,7 +33,11 @@ const darkModeSwitch = () => { const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches const darkModeEnabled = storage ? JSON.parse(storage) : osDarkSchemePreferred const element = document.getElementById("theme-toggle-button") - initPlayground(darkModeEnabled ? samplesDarkThemeName : samplesLightThemeName) + + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) + } element.addEventListener('click', () => { const enabledClasses = document.getElementsByTagName("html")[0].classList @@ -45,52 +45,14 @@ const darkModeSwitch = () => { //if previously we had saved dark theme then we set it to light as this is what we save in local storage const darkModeEnabled = enabledClasses.contains("theme-dark") - if (darkModeEnabled) { - initPlayground(samplesDarkThemeName) - } else { - initPlayground(samplesLightThemeName) + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) } safeLocalStorage.setItem(localStorageKey, JSON.stringify(darkModeEnabled)) }) } -const initPlayground = (theme) => { - if (!samplesAreEnabled()) return - instances.forEach(instance => instance.destroy()) - instances = [] - - // Manually tag code fragments as not processed by playground since we also manually destroy all of its instances - document.querySelectorAll('code.runnablesample').forEach(node => { - node.removeAttribute("data-kotlin-playground-initialized"); - - if (node.parentNode) { - node.parentNode.setAttribute("runnable-code-sample", ""); - } - }) - - KotlinPlayground('code.runnablesample', { - getInstance: playgroundInstance => { - instances.push(playgroundInstance) - }, - theme: theme - }); -} - -// We check if type is accessible from the current scope to determine if samples script is present -// As an alternative we could extract this samples-specific script to new js file but then we would handle dark mode in 2 separate files which is not ideal -const samplesAreEnabled = () => { - try { - if (typeof KotlinPlayground === 'undefined') { - // KotlinPlayground is exported universally as a global variable or as a module - // Due to possible interaction with other js scripts KotlinPlayground may not be accessible directly from `window`, so we need an additional check - KotlinPlayground = exports.KotlinPlayground; - } - return typeof KotlinPlayground === 'function'; - } catch (e) { - return false - } -} - // Hash change is needed in order to allow for linking inside the same page with anchors // If this is not present user is forced to refresh the site in order to use an anchor window.onhashchange = handleAnchor @@ -278,16 +240,6 @@ function refreshFiltering() { refreshFilterButtons() refreshPlatformTabs() refreshNoContentNotification() - refreshPlaygroundSamples() -} - -function refreshPlaygroundSamples() { - document.querySelectorAll('code.runnablesample').forEach(node => { - const playground = node.KotlinPlayground; - /* Some samples may be hidden by filter, they have 0px height for visible code area - * after rendering. Call this method for re-calculate code area height */ - playground && playground.view.codemirror.refresh(); - }); } function refreshNoContentNotification() { diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/styles/style.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/styles/style.css index a5762e4c27..1eee255ada 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/styles/style.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/styles/style.css @@ -452,7 +452,3 @@ Just in case of possible performance degradation it excluding tabs with briefs o font-size: 20px; font-weight: 600; } - -div.runnablesample { - height: fit-content; -} diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/ui-kit/ui-kit.min.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/ui-kit/ui-kit.min.css index 101832e16d..84756531fc 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/ui-kit/ui-kit.min.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/composite-build-example/html/ui-kit/ui-kit.min.css @@ -1 +1 @@ -.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.table+hr{display:none}.main-content .content>hr{border:none;border-top:1px solid rgba(0,0,0,.2);border-top:1px solid var(--color-b20);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:1px solid hsla(0,0%,100%,.16);border-top:1px solid var(--color-w16)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.tabs-section-body .with-platform-tabs{padding-bottom:12px;padding-top:12px}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08))}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;min-height:40px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(max-width:899px){.toc--row{min-height:52px}}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;padding:0 8px 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;line-height:0;position:relative;top:8px;transform:rotate(0deg);width:24px}@media(max-width:899px){.toc--button:after{top:14px}}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;height:calc(100% - 16px);min-height:40px;padding:8px 4px 8px 0;width:100%}@media(max-width:899px){.toc--link{min-height:52px;padding:14px 4px 14px 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(40px + var(--size-m1)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(40px + var(--size-m1)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(40px + var(--size-m1)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file +.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.main-content .content>hr{border:none;border-top:3px double rgba(0,0,0,.5);border-top:3px double var(--color-b50);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:3px double hsla(0,0%,100%,.5);border-top:3px double var(--color-w50)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}h4.tableheader{margin-top:24px;margin-top:var(--size-m1)}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.table .platform-bookmarks-row,.table .tabs-section{margin-bottom:16px;margin-bottom:var(--size-s3)}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08));--toc-item-padding-left:8px;--toc-item-padding-right:4px;--toc-item-padding-top:8px;--toc-item-padding-bottom:8px;--toc-item-padding-left-mobile:8px;--toc-item-padding-right-mobile:4px;--toc-item-padding-top-mobile:14px;--toc-item-padding-bottom-mobile:14px;--toc-icon-size:24px;--toc-button-width:calc(var(--toc-icon-size) + var(--toc-item-padding-left)*2)}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;min-width:var(--toc-button-width);padding:0 4px 0 0;padding:0 var(--toc-item-padding-right) 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-position:50%;background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;height:var(--toc-icon-size);line-height:0;margin-top:-12px;margin-top:calc(var(--toc-icon-size)/-2);position:absolute;top:50%;transform:rotate(0deg);width:24px;width:var(--toc-icon-size)}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;padding:8px 4px 8px 0;padding:var(--toc-item-padding-top) var(--toc-item-padding-right) var(--toc-item-padding-bottom) 0;width:100%}@media(max-width:899px){.toc--link{padding:14px 4px 14px 0;padding:var(--toc-item-padding-top-mobile) var(--toc-item-padding-right-mobile) var(--toc-item-padding-bottom-mobile) 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{min-height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-greeter/-greeter.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-greeter/-greeter.html index c59f66de7a..025debef16 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-greeter/-greeter.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-greeter/-greeter.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-greeter/greet.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-greeter/greet.html index dc466a06c0..6207e205cb 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-greeter/greet.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-greeter/greet.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-greeter/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-greeter/index.html index a3596ec4ca..6e25986586 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-greeter/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-greeter/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-greeter/name.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-greeter/name.html index 56eb573605..c98471bc91 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-greeter/name.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-greeter/name.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-hide-from-dokka/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-hide-from-dokka/index.html index db2d89a891..3b4e8a117c 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-hide-from-dokka/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/-hide-from-dokka/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/index.html index 2024e7f555..2bf9af8eca 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/-demo -library/demo/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/index.html index 2125ad63ec..5dffbe816f 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/scripts/platform-content-handler.js b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/scripts/platform-content-handler.js index 44e7231137..ada75ff34e 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/scripts/platform-content-handler.js +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/scripts/platform-content-handler.js @@ -9,12 +9,8 @@ filteringContext = { } let highlightedAnchor; let topNavbarOffset; -let instances = []; let sourcesetNotification; -const samplesDarkThemeName = 'darcula' -const samplesLightThemeName = 'idea' - window.addEventListener('load', () => { document.querySelectorAll("div[data-platform-hinted]") .forEach(elem => elem.addEventListener('click', (event) => togglePlatformDependent(event, elem))) @@ -37,7 +33,11 @@ const darkModeSwitch = () => { const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches const darkModeEnabled = storage ? JSON.parse(storage) : osDarkSchemePreferred const element = document.getElementById("theme-toggle-button") - initPlayground(darkModeEnabled ? samplesDarkThemeName : samplesLightThemeName) + + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) + } element.addEventListener('click', () => { const enabledClasses = document.getElementsByTagName("html")[0].classList @@ -45,52 +45,14 @@ const darkModeSwitch = () => { //if previously we had saved dark theme then we set it to light as this is what we save in local storage const darkModeEnabled = enabledClasses.contains("theme-dark") - if (darkModeEnabled) { - initPlayground(samplesDarkThemeName) - } else { - initPlayground(samplesLightThemeName) + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) } safeLocalStorage.setItem(localStorageKey, JSON.stringify(darkModeEnabled)) }) } -const initPlayground = (theme) => { - if (!samplesAreEnabled()) return - instances.forEach(instance => instance.destroy()) - instances = [] - - // Manually tag code fragments as not processed by playground since we also manually destroy all of its instances - document.querySelectorAll('code.runnablesample').forEach(node => { - node.removeAttribute("data-kotlin-playground-initialized"); - - if (node.parentNode) { - node.parentNode.setAttribute("runnable-code-sample", ""); - } - }) - - KotlinPlayground('code.runnablesample', { - getInstance: playgroundInstance => { - instances.push(playgroundInstance) - }, - theme: theme - }); -} - -// We check if type is accessible from the current scope to determine if samples script is present -// As an alternative we could extract this samples-specific script to new js file but then we would handle dark mode in 2 separate files which is not ideal -const samplesAreEnabled = () => { - try { - if (typeof KotlinPlayground === 'undefined') { - // KotlinPlayground is exported universally as a global variable or as a module - // Due to possible interaction with other js scripts KotlinPlayground may not be accessible directly from `window`, so we need an additional check - KotlinPlayground = exports.KotlinPlayground; - } - return typeof KotlinPlayground === 'function'; - } catch (e) { - return false - } -} - // Hash change is needed in order to allow for linking inside the same page with anchors // If this is not present user is forced to refresh the site in order to use an anchor window.onhashchange = handleAnchor @@ -278,16 +240,6 @@ function refreshFiltering() { refreshFilterButtons() refreshPlatformTabs() refreshNoContentNotification() - refreshPlaygroundSamples() -} - -function refreshPlaygroundSamples() { - document.querySelectorAll('code.runnablesample').forEach(node => { - const playground = node.KotlinPlayground; - /* Some samples may be hidden by filter, they have 0px height for visible code area - * after rendering. Call this method for re-calculate code area height */ - playground && playground.view.codemirror.refresh(); - }); } function refreshNoContentNotification() { diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/styles/style.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/styles/style.css index a5762e4c27..1eee255ada 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/styles/style.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/styles/style.css @@ -452,7 +452,3 @@ Just in case of possible performance degradation it excluding tabs with briefs o font-size: 20px; font-weight: 600; } - -div.runnablesample { - height: fit-content; -} diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/ui-kit/ui-kit.min.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/ui-kit/ui-kit.min.css index 101832e16d..84756531fc 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/ui-kit/ui-kit.min.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-dokka-plugin-example/html/ui-kit/ui-kit.min.css @@ -1 +1 @@ -.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.table+hr{display:none}.main-content .content>hr{border:none;border-top:1px solid rgba(0,0,0,.2);border-top:1px solid var(--color-b20);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:1px solid hsla(0,0%,100%,.16);border-top:1px solid var(--color-w16)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.tabs-section-body .with-platform-tabs{padding-bottom:12px;padding-top:12px}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08))}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;min-height:40px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(max-width:899px){.toc--row{min-height:52px}}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;padding:0 8px 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;line-height:0;position:relative;top:8px;transform:rotate(0deg);width:24px}@media(max-width:899px){.toc--button:after{top:14px}}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;height:calc(100% - 16px);min-height:40px;padding:8px 4px 8px 0;width:100%}@media(max-width:899px){.toc--link{min-height:52px;padding:14px 4px 14px 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(40px + var(--size-m1)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(40px + var(--size-m1)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(40px + var(--size-m1)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file +.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.main-content .content>hr{border:none;border-top:3px double rgba(0,0,0,.5);border-top:3px double var(--color-b50);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:3px double hsla(0,0%,100%,.5);border-top:3px double var(--color-w50)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}h4.tableheader{margin-top:24px;margin-top:var(--size-m1)}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.table .platform-bookmarks-row,.table .tabs-section{margin-bottom:16px;margin-bottom:var(--size-s3)}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08));--toc-item-padding-left:8px;--toc-item-padding-right:4px;--toc-item-padding-top:8px;--toc-item-padding-bottom:8px;--toc-item-padding-left-mobile:8px;--toc-item-padding-right-mobile:4px;--toc-item-padding-top-mobile:14px;--toc-item-padding-bottom-mobile:14px;--toc-icon-size:24px;--toc-button-width:calc(var(--toc-icon-size) + var(--toc-item-padding-left)*2)}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;min-width:var(--toc-button-width);padding:0 4px 0 0;padding:0 var(--toc-item-padding-right) 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-position:50%;background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;height:var(--toc-icon-size);line-height:0;margin-top:-12px;margin-top:calc(var(--toc-icon-size)/-2);position:absolute;top:50%;transform:rotate(0deg);width:24px;width:var(--toc-icon-size)}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;padding:8px 4px 8px 0;padding:var(--toc-item-padding-top) var(--toc-item-padding-right) var(--toc-item-padding-bottom) 0;width:100%}@media(max-width:899px){.toc--link{padding:14px 4px 14px 0;padding:var(--toc-item-padding-top-mobile) var(--toc-item-padding-right-mobile) var(--toc-item-padding-bottom-mobile) 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{min-height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/-greeter/-greeter.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/-greeter/-greeter.html index 8aede45dbe..1b360b6bfd 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/-greeter/-greeter.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/-greeter/-greeter.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/-greeter/greet.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/-greeter/greet.html index 0306aff757..5192dae86a 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/-greeter/greet.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/-greeter/greet.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/-greeter/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/-greeter/index.html index 59525c2ff6..4f06069ef2 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/-greeter/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/-greeter/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/-greeter/name.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/-greeter/name.html index ec2b2e1650..ccc7be9f3b 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/-greeter/name.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/-greeter/name.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/index.html index 9990c6d4e3..b7c7af0ee8 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/main.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/main.html index 0aa35a1227..918da5e73d 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/main.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/custom-format-example/demo/main.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/index.html index 86a75310a4..524caf0f80 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/scripts/platform-content-handler.js b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/scripts/platform-content-handler.js index 44e7231137..ada75ff34e 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/scripts/platform-content-handler.js +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/scripts/platform-content-handler.js @@ -9,12 +9,8 @@ filteringContext = { } let highlightedAnchor; let topNavbarOffset; -let instances = []; let sourcesetNotification; -const samplesDarkThemeName = 'darcula' -const samplesLightThemeName = 'idea' - window.addEventListener('load', () => { document.querySelectorAll("div[data-platform-hinted]") .forEach(elem => elem.addEventListener('click', (event) => togglePlatformDependent(event, elem))) @@ -37,7 +33,11 @@ const darkModeSwitch = () => { const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches const darkModeEnabled = storage ? JSON.parse(storage) : osDarkSchemePreferred const element = document.getElementById("theme-toggle-button") - initPlayground(darkModeEnabled ? samplesDarkThemeName : samplesLightThemeName) + + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) + } element.addEventListener('click', () => { const enabledClasses = document.getElementsByTagName("html")[0].classList @@ -45,52 +45,14 @@ const darkModeSwitch = () => { //if previously we had saved dark theme then we set it to light as this is what we save in local storage const darkModeEnabled = enabledClasses.contains("theme-dark") - if (darkModeEnabled) { - initPlayground(samplesDarkThemeName) - } else { - initPlayground(samplesLightThemeName) + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) } safeLocalStorage.setItem(localStorageKey, JSON.stringify(darkModeEnabled)) }) } -const initPlayground = (theme) => { - if (!samplesAreEnabled()) return - instances.forEach(instance => instance.destroy()) - instances = [] - - // Manually tag code fragments as not processed by playground since we also manually destroy all of its instances - document.querySelectorAll('code.runnablesample').forEach(node => { - node.removeAttribute("data-kotlin-playground-initialized"); - - if (node.parentNode) { - node.parentNode.setAttribute("runnable-code-sample", ""); - } - }) - - KotlinPlayground('code.runnablesample', { - getInstance: playgroundInstance => { - instances.push(playgroundInstance) - }, - theme: theme - }); -} - -// We check if type is accessible from the current scope to determine if samples script is present -// As an alternative we could extract this samples-specific script to new js file but then we would handle dark mode in 2 separate files which is not ideal -const samplesAreEnabled = () => { - try { - if (typeof KotlinPlayground === 'undefined') { - // KotlinPlayground is exported universally as a global variable or as a module - // Due to possible interaction with other js scripts KotlinPlayground may not be accessible directly from `window`, so we need an additional check - KotlinPlayground = exports.KotlinPlayground; - } - return typeof KotlinPlayground === 'function'; - } catch (e) { - return false - } -} - // Hash change is needed in order to allow for linking inside the same page with anchors // If this is not present user is forced to refresh the site in order to use an anchor window.onhashchange = handleAnchor @@ -278,16 +240,6 @@ function refreshFiltering() { refreshFilterButtons() refreshPlatformTabs() refreshNoContentNotification() - refreshPlaygroundSamples() -} - -function refreshPlaygroundSamples() { - document.querySelectorAll('code.runnablesample').forEach(node => { - const playground = node.KotlinPlayground; - /* Some samples may be hidden by filter, they have 0px height for visible code area - * after rendering. Call this method for re-calculate code area height */ - playground && playground.view.codemirror.refresh(); - }); } function refreshNoContentNotification() { diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/styles/style.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/styles/style.css index a5762e4c27..1eee255ada 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/styles/style.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/styles/style.css @@ -452,7 +452,3 @@ Just in case of possible performance degradation it excluding tabs with briefs o font-size: 20px; font-weight: 600; } - -div.runnablesample { - height: fit-content; -} diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/ui-kit/ui-kit.min.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/ui-kit/ui-kit.min.css index 101832e16d..84756531fc 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/ui-kit/ui-kit.min.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/custom-styling-example/html/ui-kit/ui-kit.min.css @@ -1 +1 @@ -.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.table+hr{display:none}.main-content .content>hr{border:none;border-top:1px solid rgba(0,0,0,.2);border-top:1px solid var(--color-b20);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:1px solid hsla(0,0%,100%,.16);border-top:1px solid var(--color-w16)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.tabs-section-body .with-platform-tabs{padding-bottom:12px;padding-top:12px}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08))}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;min-height:40px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(max-width:899px){.toc--row{min-height:52px}}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;padding:0 8px 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;line-height:0;position:relative;top:8px;transform:rotate(0deg);width:24px}@media(max-width:899px){.toc--button:after{top:14px}}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;height:calc(100% - 16px);min-height:40px;padding:8px 4px 8px 0;width:100%}@media(max-width:899px){.toc--link{min-height:52px;padding:14px 4px 14px 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(40px + var(--size-m1)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(40px + var(--size-m1)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(40px + var(--size-m1)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file +.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.main-content .content>hr{border:none;border-top:3px double rgba(0,0,0,.5);border-top:3px double var(--color-b50);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:3px double hsla(0,0%,100%,.5);border-top:3px double var(--color-w50)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}h4.tableheader{margin-top:24px;margin-top:var(--size-m1)}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.table .platform-bookmarks-row,.table .tabs-section{margin-bottom:16px;margin-bottom:var(--size-s3)}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08));--toc-item-padding-left:8px;--toc-item-padding-right:4px;--toc-item-padding-top:8px;--toc-item-padding-bottom:8px;--toc-item-padding-left-mobile:8px;--toc-item-padding-right-mobile:4px;--toc-item-padding-top-mobile:14px;--toc-item-padding-bottom-mobile:14px;--toc-icon-size:24px;--toc-button-width:calc(var(--toc-icon-size) + var(--toc-item-padding-left)*2)}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;min-width:var(--toc-button-width);padding:0 4px 0 0;padding:0 var(--toc-item-padding-right) 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-position:50%;background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;height:var(--toc-icon-size);line-height:0;margin-top:-12px;margin-top:calc(var(--toc-icon-size)/-2);position:absolute;top:50%;transform:rotate(0deg);width:24px;width:var(--toc-icon-size)}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;padding:8px 4px 8px 0;padding:var(--toc-item-padding-top) var(--toc-item-padding-right) var(--toc-item-padding-bottom) 0;width:100%}@media(max-width:899px){.toc--link{padding:14px 4px 14px 0;padding:var(--toc-item-padding-top-mobile) var(--toc-item-padding-right-mobile) var(--toc-item-padding-bottom-mobile) 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{min-height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/demo/-my-java-application/-my-java-application.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/demo/-my-java-application/-my-java-application.html index 9e39f9166f..c63daab3b3 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/demo/-my-java-application/-my-java-application.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/demo/-my-java-application/-my-java-application.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/demo/-my-java-application/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/demo/-my-java-application/index.html index 55daaeb833..419ad694a7 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/demo/-my-java-application/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/demo/-my-java-application/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/demo/-my-java-application/main.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/demo/-my-java-application/main.html index 88f80fc233..6576f7f235 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/demo/-my-java-application/main.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/demo/-my-java-application/main.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/demo/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/demo/index.html index ac90bc8e84..ac414eb613 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/demo/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/demo/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/index.html index ccbf21ad94..c23ed603cc 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-application/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.feature/-my-java-feature-util/-my-java-feature-util.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.feature/-my-java-feature-util/-my-java-feature-util.html index a26486d978..0a9b0c8f19 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.feature/-my-java-feature-util/-my-java-feature-util.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.feature/-my-java-feature-util/-my-java-feature-util.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.feature/-my-java-feature-util/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.feature/-my-java-feature-util/index.html index 8bb3b552f1..8bf4c5f411 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.feature/-my-java-feature-util/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.feature/-my-java-feature-util/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.feature/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.feature/index.html index ca98e936a5..6cadc37de5 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.feature/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.feature/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.mongodb/-my-mongo-db-util/-my-mongo-db-util.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.mongodb/-my-mongo-db-util/-my-mongo-db-util.html index 35229ecee1..fbeb203100 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.mongodb/-my-mongo-db-util/-my-mongo-db-util.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.mongodb/-my-mongo-db-util/-my-mongo-db-util.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.mongodb/-my-mongo-db-util/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.mongodb/-my-mongo-db-util/index.html index 0525c27738..c71eecb10f 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.mongodb/-my-mongo-db-util/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.mongodb/-my-mongo-db-util/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.mongodb/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.mongodb/index.html index 6e96fbcb02..ff2d1d71bd 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.mongodb/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/demo.mongodb/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/index.html index 202591514f..d25d2ff275 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-features/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-library/demo/-my-java-library-class/-my-java-library-class.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-library/demo/-my-java-library-class/-my-java-library-class.html index 73b1575df8..f6d093e413 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-library/demo/-my-java-library-class/-my-java-library-class.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-library/demo/-my-java-library-class/-my-java-library-class.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-library/demo/-my-java-library-class/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-library/demo/-my-java-library-class/index.html index 4bc2609861..7c73d7a504 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-library/demo/-my-java-library-class/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-library/demo/-my-java-library-class/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-library/demo/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-library/demo/index.html index 333424e814..a87b6f4c7d 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-library/demo/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-library/demo/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-library/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-library/index.html index 5fa224f4d3..c72931b2d1 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-library/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/my-java-library/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/scripts/platform-content-handler.js b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/scripts/platform-content-handler.js index 44e7231137..ada75ff34e 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/scripts/platform-content-handler.js +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/scripts/platform-content-handler.js @@ -9,12 +9,8 @@ filteringContext = { } let highlightedAnchor; let topNavbarOffset; -let instances = []; let sourcesetNotification; -const samplesDarkThemeName = 'darcula' -const samplesLightThemeName = 'idea' - window.addEventListener('load', () => { document.querySelectorAll("div[data-platform-hinted]") .forEach(elem => elem.addEventListener('click', (event) => togglePlatformDependent(event, elem))) @@ -37,7 +33,11 @@ const darkModeSwitch = () => { const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches const darkModeEnabled = storage ? JSON.parse(storage) : osDarkSchemePreferred const element = document.getElementById("theme-toggle-button") - initPlayground(darkModeEnabled ? samplesDarkThemeName : samplesLightThemeName) + + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) + } element.addEventListener('click', () => { const enabledClasses = document.getElementsByTagName("html")[0].classList @@ -45,52 +45,14 @@ const darkModeSwitch = () => { //if previously we had saved dark theme then we set it to light as this is what we save in local storage const darkModeEnabled = enabledClasses.contains("theme-dark") - if (darkModeEnabled) { - initPlayground(samplesDarkThemeName) - } else { - initPlayground(samplesLightThemeName) + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) } safeLocalStorage.setItem(localStorageKey, JSON.stringify(darkModeEnabled)) }) } -const initPlayground = (theme) => { - if (!samplesAreEnabled()) return - instances.forEach(instance => instance.destroy()) - instances = [] - - // Manually tag code fragments as not processed by playground since we also manually destroy all of its instances - document.querySelectorAll('code.runnablesample').forEach(node => { - node.removeAttribute("data-kotlin-playground-initialized"); - - if (node.parentNode) { - node.parentNode.setAttribute("runnable-code-sample", ""); - } - }) - - KotlinPlayground('code.runnablesample', { - getInstance: playgroundInstance => { - instances.push(playgroundInstance) - }, - theme: theme - }); -} - -// We check if type is accessible from the current scope to determine if samples script is present -// As an alternative we could extract this samples-specific script to new js file but then we would handle dark mode in 2 separate files which is not ideal -const samplesAreEnabled = () => { - try { - if (typeof KotlinPlayground === 'undefined') { - // KotlinPlayground is exported universally as a global variable or as a module - // Due to possible interaction with other js scripts KotlinPlayground may not be accessible directly from `window`, so we need an additional check - KotlinPlayground = exports.KotlinPlayground; - } - return typeof KotlinPlayground === 'function'; - } catch (e) { - return false - } -} - // Hash change is needed in order to allow for linking inside the same page with anchors // If this is not present user is forced to refresh the site in order to use an anchor window.onhashchange = handleAnchor @@ -278,16 +240,6 @@ function refreshFiltering() { refreshFilterButtons() refreshPlatformTabs() refreshNoContentNotification() - refreshPlaygroundSamples() -} - -function refreshPlaygroundSamples() { - document.querySelectorAll('code.runnablesample').forEach(node => { - const playground = node.KotlinPlayground; - /* Some samples may be hidden by filter, they have 0px height for visible code area - * after rendering. Call this method for re-calculate code area height */ - playground && playground.view.codemirror.refresh(); - }); } function refreshNoContentNotification() { diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/styles/style.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/styles/style.css index a5762e4c27..1eee255ada 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/styles/style.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/styles/style.css @@ -452,7 +452,3 @@ Just in case of possible performance degradation it excluding tabs with briefs o font-size: 20px; font-weight: 600; } - -div.runnablesample { - height: fit-content; -} diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/ui-kit/ui-kit.min.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/ui-kit/ui-kit.min.css index 101832e16d..84756531fc 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/ui-kit/ui-kit.min.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/java-example/html/ui-kit/ui-kit.min.css @@ -1 +1 @@ -.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.table+hr{display:none}.main-content .content>hr{border:none;border-top:1px solid rgba(0,0,0,.2);border-top:1px solid var(--color-b20);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:1px solid hsla(0,0%,100%,.16);border-top:1px solid var(--color-w16)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.tabs-section-body .with-platform-tabs{padding-bottom:12px;padding-top:12px}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08))}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;min-height:40px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(max-width:899px){.toc--row{min-height:52px}}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;padding:0 8px 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;line-height:0;position:relative;top:8px;transform:rotate(0deg);width:24px}@media(max-width:899px){.toc--button:after{top:14px}}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;height:calc(100% - 16px);min-height:40px;padding:8px 4px 8px 0;width:100%}@media(max-width:899px){.toc--link{min-height:52px;padding:14px 4px 14px 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(40px + var(--size-m1)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(40px + var(--size-m1)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(40px + var(--size-m1)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file +.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.main-content .content>hr{border:none;border-top:3px double rgba(0,0,0,.5);border-top:3px double var(--color-b50);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:3px double hsla(0,0%,100%,.5);border-top:3px double var(--color-w50)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}h4.tableheader{margin-top:24px;margin-top:var(--size-m1)}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.table .platform-bookmarks-row,.table .tabs-section{margin-bottom:16px;margin-bottom:var(--size-s3)}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08));--toc-item-padding-left:8px;--toc-item-padding-right:4px;--toc-item-padding-top:8px;--toc-item-padding-bottom:8px;--toc-item-padding-left-mobile:8px;--toc-item-padding-right-mobile:4px;--toc-item-padding-top-mobile:14px;--toc-item-padding-bottom-mobile:14px;--toc-icon-size:24px;--toc-button-width:calc(var(--toc-icon-size) + var(--toc-item-padding-left)*2)}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;min-width:var(--toc-button-width);padding:0 4px 0 0;padding:0 var(--toc-item-padding-right) 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-position:50%;background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;height:var(--toc-icon-size);line-height:0;margin-top:-12px;margin-top:calc(var(--toc-icon-size)/-2);position:absolute;top:50%;transform:rotate(0deg);width:24px;width:var(--toc-icon-size)}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;padding:8px 4px 8px 0;padding:var(--toc-item-padding-top) var(--toc-item-padding-right) var(--toc-item-padding-bottom) 0;width:100%}@media(max-width:899px){.toc--link{padding:14px 4px 14px 0;padding:var(--toc-item-padding-top-mobile) var(--toc-item-padding-right-mobile) var(--toc-item-padding-bottom-mobile) 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{min-height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/index.html index dca01bc78a..6e16c31685 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-greeter/-greeter.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-greeter/-greeter.html index d092f14135..81c74a726f 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-greeter/-greeter.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-greeter/-greeter.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-greeter/get-name.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-greeter/get-name.html index 11df69d26e..f14d4981ad 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-greeter/get-name.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-greeter/get-name.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-greeter/greet.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-greeter/greet.html index d2d35ee9d3..d38551eb7e 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-greeter/greet.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-greeter/greet.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-greeter/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-greeter/index.html index 7106f0e9f5..88862181ef 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-greeter/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-greeter/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-hello-world-kt/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-hello-world-kt/index.html index 21b21030e2..349a3acab6 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-hello-world-kt/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-hello-world-kt/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-hello-world-kt/main.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-hello-world-kt/main.html index 020fcec63b..9eb7ce331b 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-hello-world-kt/main.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/-hello-world-kt/main.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/index.html index 00d2ff326d..7f90bc2e16 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/kotlin-as-java-example/demo/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/scripts/platform-content-handler.js b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/scripts/platform-content-handler.js index 44e7231137..ada75ff34e 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/scripts/platform-content-handler.js +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/scripts/platform-content-handler.js @@ -9,12 +9,8 @@ filteringContext = { } let highlightedAnchor; let topNavbarOffset; -let instances = []; let sourcesetNotification; -const samplesDarkThemeName = 'darcula' -const samplesLightThemeName = 'idea' - window.addEventListener('load', () => { document.querySelectorAll("div[data-platform-hinted]") .forEach(elem => elem.addEventListener('click', (event) => togglePlatformDependent(event, elem))) @@ -37,7 +33,11 @@ const darkModeSwitch = () => { const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches const darkModeEnabled = storage ? JSON.parse(storage) : osDarkSchemePreferred const element = document.getElementById("theme-toggle-button") - initPlayground(darkModeEnabled ? samplesDarkThemeName : samplesLightThemeName) + + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) + } element.addEventListener('click', () => { const enabledClasses = document.getElementsByTagName("html")[0].classList @@ -45,52 +45,14 @@ const darkModeSwitch = () => { //if previously we had saved dark theme then we set it to light as this is what we save in local storage const darkModeEnabled = enabledClasses.contains("theme-dark") - if (darkModeEnabled) { - initPlayground(samplesDarkThemeName) - } else { - initPlayground(samplesLightThemeName) + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) } safeLocalStorage.setItem(localStorageKey, JSON.stringify(darkModeEnabled)) }) } -const initPlayground = (theme) => { - if (!samplesAreEnabled()) return - instances.forEach(instance => instance.destroy()) - instances = [] - - // Manually tag code fragments as not processed by playground since we also manually destroy all of its instances - document.querySelectorAll('code.runnablesample').forEach(node => { - node.removeAttribute("data-kotlin-playground-initialized"); - - if (node.parentNode) { - node.parentNode.setAttribute("runnable-code-sample", ""); - } - }) - - KotlinPlayground('code.runnablesample', { - getInstance: playgroundInstance => { - instances.push(playgroundInstance) - }, - theme: theme - }); -} - -// We check if type is accessible from the current scope to determine if samples script is present -// As an alternative we could extract this samples-specific script to new js file but then we would handle dark mode in 2 separate files which is not ideal -const samplesAreEnabled = () => { - try { - if (typeof KotlinPlayground === 'undefined') { - // KotlinPlayground is exported universally as a global variable or as a module - // Due to possible interaction with other js scripts KotlinPlayground may not be accessible directly from `window`, so we need an additional check - KotlinPlayground = exports.KotlinPlayground; - } - return typeof KotlinPlayground === 'function'; - } catch (e) { - return false - } -} - // Hash change is needed in order to allow for linking inside the same page with anchors // If this is not present user is forced to refresh the site in order to use an anchor window.onhashchange = handleAnchor @@ -278,16 +240,6 @@ function refreshFiltering() { refreshFilterButtons() refreshPlatformTabs() refreshNoContentNotification() - refreshPlaygroundSamples() -} - -function refreshPlaygroundSamples() { - document.querySelectorAll('code.runnablesample').forEach(node => { - const playground = node.KotlinPlayground; - /* Some samples may be hidden by filter, they have 0px height for visible code area - * after rendering. Call this method for re-calculate code area height */ - playground && playground.view.codemirror.refresh(); - }); } function refreshNoContentNotification() { diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/styles/style.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/styles/style.css index a5762e4c27..1eee255ada 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/styles/style.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/styles/style.css @@ -452,7 +452,3 @@ Just in case of possible performance degradation it excluding tabs with briefs o font-size: 20px; font-weight: 600; } - -div.runnablesample { - height: fit-content; -} diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/ui-kit/ui-kit.min.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/ui-kit/ui-kit.min.css index 2ccc0adcdb..84756531fc 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/ui-kit/ui-kit.min.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-as-java-example/html/ui-kit/ui-kit.min.css @@ -1 +1 @@ -.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.table+hr{display:none}.main-content .content>hr{border:none;border-top:1px solid rgba(0,0,0,.2);border-top:1px solid var(--color-b20);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:1px solid hsla(0,0%,100%,.16);border-top:1px solid var(--color-w16)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.tabs-section-body .with-platform-tabs{padding-bottom:12px;padding-top:12px}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08));--toc-item-padding-left:8px;--toc-item-padding-right:4px;--toc-item-padding-top:8px;--toc-item-padding-bottom:8px;--toc-item-padding-left-mobile:8px;--toc-item-padding-right-mobile:4px;--toc-item-padding-top-mobile:14px;--toc-item-padding-bottom-mobile:14px;--toc-icon-size:24px;--toc-button-width:calc(var(--toc-icon-size) + var(--toc-item-padding-left)*2)}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;min-width:var(--toc-button-width);padding:0 4px 0 0;padding:0 var(--toc-item-padding-right) 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-position:50%;background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;height:var(--toc-icon-size);line-height:0;margin-top:-12px;margin-top:calc(var(--toc-icon-size)/-2);position:absolute;top:50%;transform:rotate(0deg);width:24px;width:var(--toc-icon-size)}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;padding:8px 4px 8px 0;padding:var(--toc-item-padding-top) var(--toc-item-padding-right) var(--toc-item-padding-bottom) 0;width:100%}@media(max-width:899px){.toc--link{padding:14px 4px 14px 0;padding:var(--toc-item-padding-top-mobile) var(--toc-item-padding-right-mobile) var(--toc-item-padding-bottom-mobile) 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{min-height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file +.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.main-content .content>hr{border:none;border-top:3px double rgba(0,0,0,.5);border-top:3px double var(--color-b50);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:3px double hsla(0,0%,100%,.5);border-top:3px double var(--color-w50)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}h4.tableheader{margin-top:24px;margin-top:var(--size-m1)}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.table .platform-bookmarks-row,.table .tabs-section{margin-bottom:16px;margin-bottom:var(--size-s3)}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08));--toc-item-padding-left:8px;--toc-item-padding-right:4px;--toc-item-padding-top:8px;--toc-item-padding-bottom:8px;--toc-item-padding-left-mobile:8px;--toc-item-padding-right-mobile:4px;--toc-item-padding-top-mobile:14px;--toc-item-padding-bottom-mobile:14px;--toc-icon-size:24px;--toc-button-width:calc(var(--toc-icon-size) + var(--toc-item-padding-left)*2)}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;min-width:var(--toc-button-width);padding:0 4px 0 0;padding:0 var(--toc-item-padding-right) 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-position:50%;background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;height:var(--toc-icon-size);line-height:0;margin-top:-12px;margin-top:calc(var(--toc-icon-size)/-2);position:absolute;top:50%;transform:rotate(0deg);width:24px;width:var(--toc-icon-size)}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;padding:8px 4px 8px 0;padding:var(--toc-item-padding-top) var(--toc-item-padding-right) var(--toc-item-padding-bottom) 0;width:100%}@media(max-width:899px){.toc--link{padding:14px 4px 14px 0;padding:var(--toc-item-padding-top-mobile) var(--toc-item-padding-right-mobile) var(--toc-item-padding-bottom-mobile) 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{min-height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.common/-foo/-foo.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.common/-foo/-foo.html index c13f63c9a0..2ac13daa10 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.common/-foo/-foo.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.common/-foo/-foo.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.common/-foo/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.common/-foo/index.html index 23ae3b10a1..c727d92cb9 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.common/-foo/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.common/-foo/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.common/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.common/index.html index f9f461092d..d68a473025 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.common/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.common/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.coroutines/async-with-delay.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.coroutines/async-with-delay.html index 593818ae5c..87ecdcbaa7 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.coroutines/async-with-delay.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.coroutines/async-with-delay.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.coroutines/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.coroutines/index.html index 072a6113c8..d9f8657bfe 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.coroutines/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.coroutines/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.coroutines/name.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.coroutines/name.html index 0aab9572d4..87a76b7709 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.coroutines/name.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.coroutines/name.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.date/get-current-date.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.date/get-current-date.html index daebc881b1..359e647d6f 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.date/get-current-date.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.date/get-current-date.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.date/get-date.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.date/get-date.html index 6e4ffe9476..e63813993a 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.date/get-date.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.date/get-date.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.date/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.date/index.html index 7b391cad9a..038daf917c 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.date/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp.date/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/-java-annotation/aliases.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/-java-annotation/aliases.html index e7d7bd672f..81b63b9ee2 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/-java-annotation/aliases.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/-java-annotation/aliases.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/-java-annotation/description.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/-java-annotation/description.html index 860247b887..33e2aaecf2 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/-java-annotation/description.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/-java-annotation/description.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/-java-annotation/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/-java-annotation/index.html index cd9e744098..17597f0622 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/-java-annotation/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/-java-annotation/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/-java-annotation/usage.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/-java-annotation/usage.html index 8a3f11fe61..43580cb45a 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/-java-annotation/usage.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/-java-annotation/usage.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/[js]my-extension.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/[js]my-extension.html index c944fa4be7..0fc8e96f82 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/[js]my-extension.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/[js]my-extension.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/[js]shared.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/[js]shared.html index 346d7b877b..0da2d3d13a 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/[js]shared.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/[js]shared.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/[jvm]my-extension.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/[jvm]my-extension.html index 28dc77d6ff..4db14f4d97 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/[jvm]my-extension.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/[jvm]my-extension.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/[jvm]shared.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/[jvm]shared.html index e8942f41fd..debcb8f943 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/[jvm]shared.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/[jvm]shared.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/index.html index c248067c72..16f37a6584 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/js.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/js.html index 89ed61c58f..25d43b09fb 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/js.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/js.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/jvm.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/jvm.html index 9eb96cc8a4..3a0d8b7ec3 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/jvm.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/jvm.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/print-pointer-raw-value.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/print-pointer-raw-value.html index 7d06e765f4..f89295d802 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/print-pointer-raw-value.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/print-pointer-raw-value.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/start-connection-pipeline.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/start-connection-pipeline.html index dd473d052b..051dc92933 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/start-connection-pipeline.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/dokka-multiplatform-example/org.kotlintestmpp/start-connection-pipeline.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/index.html index c72e39da08..f94bbbce17 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/scripts/platform-content-handler.js b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/scripts/platform-content-handler.js index 44e7231137..ada75ff34e 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/scripts/platform-content-handler.js +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/scripts/platform-content-handler.js @@ -9,12 +9,8 @@ filteringContext = { } let highlightedAnchor; let topNavbarOffset; -let instances = []; let sourcesetNotification; -const samplesDarkThemeName = 'darcula' -const samplesLightThemeName = 'idea' - window.addEventListener('load', () => { document.querySelectorAll("div[data-platform-hinted]") .forEach(elem => elem.addEventListener('click', (event) => togglePlatformDependent(event, elem))) @@ -37,7 +33,11 @@ const darkModeSwitch = () => { const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches const darkModeEnabled = storage ? JSON.parse(storage) : osDarkSchemePreferred const element = document.getElementById("theme-toggle-button") - initPlayground(darkModeEnabled ? samplesDarkThemeName : samplesLightThemeName) + + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) + } element.addEventListener('click', () => { const enabledClasses = document.getElementsByTagName("html")[0].classList @@ -45,52 +45,14 @@ const darkModeSwitch = () => { //if previously we had saved dark theme then we set it to light as this is what we save in local storage const darkModeEnabled = enabledClasses.contains("theme-dark") - if (darkModeEnabled) { - initPlayground(samplesDarkThemeName) - } else { - initPlayground(samplesLightThemeName) + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) } safeLocalStorage.setItem(localStorageKey, JSON.stringify(darkModeEnabled)) }) } -const initPlayground = (theme) => { - if (!samplesAreEnabled()) return - instances.forEach(instance => instance.destroy()) - instances = [] - - // Manually tag code fragments as not processed by playground since we also manually destroy all of its instances - document.querySelectorAll('code.runnablesample').forEach(node => { - node.removeAttribute("data-kotlin-playground-initialized"); - - if (node.parentNode) { - node.parentNode.setAttribute("runnable-code-sample", ""); - } - }) - - KotlinPlayground('code.runnablesample', { - getInstance: playgroundInstance => { - instances.push(playgroundInstance) - }, - theme: theme - }); -} - -// We check if type is accessible from the current scope to determine if samples script is present -// As an alternative we could extract this samples-specific script to new js file but then we would handle dark mode in 2 separate files which is not ideal -const samplesAreEnabled = () => { - try { - if (typeof KotlinPlayground === 'undefined') { - // KotlinPlayground is exported universally as a global variable or as a module - // Due to possible interaction with other js scripts KotlinPlayground may not be accessible directly from `window`, so we need an additional check - KotlinPlayground = exports.KotlinPlayground; - } - return typeof KotlinPlayground === 'function'; - } catch (e) { - return false - } -} - // Hash change is needed in order to allow for linking inside the same page with anchors // If this is not present user is forced to refresh the site in order to use an anchor window.onhashchange = handleAnchor @@ -278,16 +240,6 @@ function refreshFiltering() { refreshFilterButtons() refreshPlatformTabs() refreshNoContentNotification() - refreshPlaygroundSamples() -} - -function refreshPlaygroundSamples() { - document.querySelectorAll('code.runnablesample').forEach(node => { - const playground = node.KotlinPlayground; - /* Some samples may be hidden by filter, they have 0px height for visible code area - * after rendering. Call this method for re-calculate code area height */ - playground && playground.view.codemirror.refresh(); - }); } function refreshNoContentNotification() { diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/styles/style.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/styles/style.css index a5762e4c27..1eee255ada 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/styles/style.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/styles/style.css @@ -452,7 +452,3 @@ Just in case of possible performance degradation it excluding tabs with briefs o font-size: 20px; font-weight: 600; } - -div.runnablesample { - height: fit-content; -} diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/ui-kit/ui-kit.min.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/ui-kit/ui-kit.min.css index 101832e16d..84756531fc 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/ui-kit/ui-kit.min.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/kotlin-multiplatform-example/html/ui-kit/ui-kit.min.css @@ -1 +1 @@ -.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.table+hr{display:none}.main-content .content>hr{border:none;border-top:1px solid rgba(0,0,0,.2);border-top:1px solid var(--color-b20);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:1px solid hsla(0,0%,100%,.16);border-top:1px solid var(--color-w16)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.tabs-section-body .with-platform-tabs{padding-bottom:12px;padding-top:12px}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08))}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;min-height:40px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(max-width:899px){.toc--row{min-height:52px}}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;padding:0 8px 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;line-height:0;position:relative;top:8px;transform:rotate(0deg);width:24px}@media(max-width:899px){.toc--button:after{top:14px}}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;height:calc(100% - 16px);min-height:40px;padding:8px 4px 8px 0;width:100%}@media(max-width:899px){.toc--link{min-height:52px;padding:14px 4px 14px 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(40px + var(--size-m1)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(40px + var(--size-m1)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(40px + var(--size-m1)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file +.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.main-content .content>hr{border:none;border-top:3px double rgba(0,0,0,.5);border-top:3px double var(--color-b50);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:3px double hsla(0,0%,100%,.5);border-top:3px double var(--color-w50)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}h4.tableheader{margin-top:24px;margin-top:var(--size-m1)}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.table .platform-bookmarks-row,.table .tabs-section{margin-bottom:16px;margin-bottom:var(--size-s3)}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08));--toc-item-padding-left:8px;--toc-item-padding-right:4px;--toc-item-padding-top:8px;--toc-item-padding-bottom:8px;--toc-item-padding-left-mobile:8px;--toc-item-padding-right-mobile:4px;--toc-item-padding-top-mobile:14px;--toc-item-padding-bottom-mobile:14px;--toc-icon-size:24px;--toc-button-width:calc(var(--toc-icon-size) + var(--toc-item-padding-left)*2)}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;min-width:var(--toc-button-width);padding:0 4px 0 0;padding:0 var(--toc-item-padding-right) 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-position:50%;background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;height:var(--toc-icon-size);line-height:0;margin-top:-12px;margin-top:calc(var(--toc-icon-size)/-2);position:absolute;top:50%;transform:rotate(0deg);width:24px;width:var(--toc-icon-size)}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;padding:8px 4px 8px 0;padding:var(--toc-item-padding-top) var(--toc-item-padding-right) var(--toc-item-padding-bottom) 0;width:100%}@media(max-width:899px){.toc--link{padding:14px 4px 14px 0;padding:var(--toc-item-padding-top-mobile) var(--toc-item-padding-right-mobile) var(--toc-item-padding-bottom-mobile) 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{min-height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/-greeter/-greeter.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/-greeter/-greeter.html index 2db18c215b..94b4500e22 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/-greeter/-greeter.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/-greeter/-greeter.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/-greeter/greet.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/-greeter/greet.html index 6f3b16e15a..b1436bf322 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/-greeter/greet.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/-greeter/greet.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/-greeter/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/-greeter/index.html index e7891bcdb1..b8612a4c8b 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/-greeter/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/-greeter/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/-greeter/name.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/-greeter/name.html index 5ab35c67d2..3bf33bec71 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/-greeter/name.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/-greeter/name.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/index.html index c73029e012..e5b1765b1e 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/main.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/main.html index a686367932..5785dbb8d1 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/main.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/dokka-library-publishing-example/demo/main.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/index.html index cd7300ebc3..7f7bb83f22 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/index.html @@ -19,7 +19,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/scripts/platform-content-handler.js b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/scripts/platform-content-handler.js index 44e7231137..ada75ff34e 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/scripts/platform-content-handler.js +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/scripts/platform-content-handler.js @@ -9,12 +9,8 @@ filteringContext = { } let highlightedAnchor; let topNavbarOffset; -let instances = []; let sourcesetNotification; -const samplesDarkThemeName = 'darcula' -const samplesLightThemeName = 'idea' - window.addEventListener('load', () => { document.querySelectorAll("div[data-platform-hinted]") .forEach(elem => elem.addEventListener('click', (event) => togglePlatformDependent(event, elem))) @@ -37,7 +33,11 @@ const darkModeSwitch = () => { const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches const darkModeEnabled = storage ? JSON.parse(storage) : osDarkSchemePreferred const element = document.getElementById("theme-toggle-button") - initPlayground(darkModeEnabled ? samplesDarkThemeName : samplesLightThemeName) + + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) + } element.addEventListener('click', () => { const enabledClasses = document.getElementsByTagName("html")[0].classList @@ -45,52 +45,14 @@ const darkModeSwitch = () => { //if previously we had saved dark theme then we set it to light as this is what we save in local storage const darkModeEnabled = enabledClasses.contains("theme-dark") - if (darkModeEnabled) { - initPlayground(samplesDarkThemeName) - } else { - initPlayground(samplesLightThemeName) + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) } safeLocalStorage.setItem(localStorageKey, JSON.stringify(darkModeEnabled)) }) } -const initPlayground = (theme) => { - if (!samplesAreEnabled()) return - instances.forEach(instance => instance.destroy()) - instances = [] - - // Manually tag code fragments as not processed by playground since we also manually destroy all of its instances - document.querySelectorAll('code.runnablesample').forEach(node => { - node.removeAttribute("data-kotlin-playground-initialized"); - - if (node.parentNode) { - node.parentNode.setAttribute("runnable-code-sample", ""); - } - }) - - KotlinPlayground('code.runnablesample', { - getInstance: playgroundInstance => { - instances.push(playgroundInstance) - }, - theme: theme - }); -} - -// We check if type is accessible from the current scope to determine if samples script is present -// As an alternative we could extract this samples-specific script to new js file but then we would handle dark mode in 2 separate files which is not ideal -const samplesAreEnabled = () => { - try { - if (typeof KotlinPlayground === 'undefined') { - // KotlinPlayground is exported universally as a global variable or as a module - // Due to possible interaction with other js scripts KotlinPlayground may not be accessible directly from `window`, so we need an additional check - KotlinPlayground = exports.KotlinPlayground; - } - return typeof KotlinPlayground === 'function'; - } catch (e) { - return false - } -} - // Hash change is needed in order to allow for linking inside the same page with anchors // If this is not present user is forced to refresh the site in order to use an anchor window.onhashchange = handleAnchor @@ -278,16 +240,6 @@ function refreshFiltering() { refreshFilterButtons() refreshPlatformTabs() refreshNoContentNotification() - refreshPlaygroundSamples() -} - -function refreshPlaygroundSamples() { - document.querySelectorAll('code.runnablesample').forEach(node => { - const playground = node.KotlinPlayground; - /* Some samples may be hidden by filter, they have 0px height for visible code area - * after rendering. Call this method for re-calculate code area height */ - playground && playground.view.codemirror.refresh(); - }); } function refreshNoContentNotification() { diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/styles/style.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/styles/style.css index a5762e4c27..1eee255ada 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/styles/style.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/styles/style.css @@ -452,7 +452,3 @@ Just in case of possible performance degradation it excluding tabs with briefs o font-size: 20px; font-weight: 600; } - -div.runnablesample { - height: fit-content; -} diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/ui-kit/ui-kit.min.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/ui-kit/ui-kit.min.css index 101832e16d..84756531fc 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/ui-kit/ui-kit.min.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/library-publishing-example/html/ui-kit/ui-kit.min.css @@ -1 +1 @@ -.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.table+hr{display:none}.main-content .content>hr{border:none;border-top:1px solid rgba(0,0,0,.2);border-top:1px solid var(--color-b20);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:1px solid hsla(0,0%,100%,.16);border-top:1px solid var(--color-w16)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.tabs-section-body .with-platform-tabs{padding-bottom:12px;padding-top:12px}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08))}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;min-height:40px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(max-width:899px){.toc--row{min-height:52px}}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;padding:0 8px 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;line-height:0;position:relative;top:8px;transform:rotate(0deg);width:24px}@media(max-width:899px){.toc--button:after{top:14px}}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;height:calc(100% - 16px);min-height:40px;padding:8px 4px 8px 0;width:100%}@media(max-width:899px){.toc--link{min-height:52px;padding:14px 4px 14px 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(40px + var(--size-m1)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(40px + var(--size-m1)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(40px + var(--size-m1)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file +.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.main-content .content>hr{border:none;border-top:3px double rgba(0,0,0,.5);border-top:3px double var(--color-b50);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:3px double hsla(0,0%,100%,.5);border-top:3px double var(--color-w50)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}h4.tableheader{margin-top:24px;margin-top:var(--size-m1)}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.table .platform-bookmarks-row,.table .tabs-section{margin-bottom:16px;margin-bottom:var(--size-s3)}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08));--toc-item-padding-left:8px;--toc-item-padding-right:4px;--toc-item-padding-top:8px;--toc-item-padding-bottom:8px;--toc-item-padding-left-mobile:8px;--toc-item-padding-right-mobile:4px;--toc-item-padding-top-mobile:14px;--toc-item-padding-bottom-mobile:14px;--toc-icon-size:24px;--toc-button-width:calc(var(--toc-icon-size) + var(--toc-item-padding-left)*2)}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;min-width:var(--toc-button-width);padding:0 4px 0 0;padding:0 var(--toc-item-padding-right) 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-position:50%;background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;height:var(--toc-icon-size);line-height:0;margin-top:-12px;margin-top:calc(var(--toc-icon-size)/-2);position:absolute;top:50%;transform:rotate(0deg);width:24px;width:var(--toc-icon-size)}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;padding:8px 4px 8px 0;padding:var(--toc-item-padding-top) var(--toc-item-padding-right) var(--toc-item-padding-bottom) 0;width:100%}@media(max-width:899px){.toc--link{padding:14px 4px 14px 0;padding:var(--toc-item-padding-top-mobile) var(--toc-item-padding-right-mobile) var(--toc-item-padding-bottom-mobile) 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{min-height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectA/demo/-child-project-a-class/-child-project-a-class.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectA/demo/-child-project-a-class/-child-project-a-class.html index 159228f225..cf7f9e5933 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectA/demo/-child-project-a-class/-child-project-a-class.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectA/demo/-child-project-a-class/-child-project-a-class.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectA/demo/-child-project-a-class/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectA/demo/-child-project-a-class/index.html index 302b1638fe..5b59304ef3 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectA/demo/-child-project-a-class/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectA/demo/-child-project-a-class/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectA/demo/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectA/demo/index.html index 818328aab8..ba6f865b67 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectA/demo/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectA/demo/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectA/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectA/index.html index cfc8a9cd9d..1c76a5a92e 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectA/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectA/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectB/demo/-child-project-b-class/-child-project-b-class.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectB/demo/-child-project-b-class/-child-project-b-class.html index 97e23fe992..4970b7f822 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectB/demo/-child-project-b-class/-child-project-b-class.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectB/demo/-child-project-b-class/-child-project-b-class.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectB/demo/-child-project-b-class/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectB/demo/-child-project-b-class/index.html index bdada129f9..a682a8d6b8 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectB/demo/-child-project-b-class/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectB/demo/-child-project-b-class/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectB/demo/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectB/demo/index.html index 73640ad1ef..d3e2ec1479 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectB/demo/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectB/demo/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectB/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectB/index.html index aeed1f96bb..bfab05c721 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectB/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/childProjectB/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/scripts/platform-content-handler.js b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/scripts/platform-content-handler.js index 44e7231137..ada75ff34e 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/scripts/platform-content-handler.js +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/scripts/platform-content-handler.js @@ -9,12 +9,8 @@ filteringContext = { } let highlightedAnchor; let topNavbarOffset; -let instances = []; let sourcesetNotification; -const samplesDarkThemeName = 'darcula' -const samplesLightThemeName = 'idea' - window.addEventListener('load', () => { document.querySelectorAll("div[data-platform-hinted]") .forEach(elem => elem.addEventListener('click', (event) => togglePlatformDependent(event, elem))) @@ -37,7 +33,11 @@ const darkModeSwitch = () => { const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches const darkModeEnabled = storage ? JSON.parse(storage) : osDarkSchemePreferred const element = document.getElementById("theme-toggle-button") - initPlayground(darkModeEnabled ? samplesDarkThemeName : samplesLightThemeName) + + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) + } element.addEventListener('click', () => { const enabledClasses = document.getElementsByTagName("html")[0].classList @@ -45,52 +45,14 @@ const darkModeSwitch = () => { //if previously we had saved dark theme then we set it to light as this is what we save in local storage const darkModeEnabled = enabledClasses.contains("theme-dark") - if (darkModeEnabled) { - initPlayground(samplesDarkThemeName) - } else { - initPlayground(samplesLightThemeName) + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) } safeLocalStorage.setItem(localStorageKey, JSON.stringify(darkModeEnabled)) }) } -const initPlayground = (theme) => { - if (!samplesAreEnabled()) return - instances.forEach(instance => instance.destroy()) - instances = [] - - // Manually tag code fragments as not processed by playground since we also manually destroy all of its instances - document.querySelectorAll('code.runnablesample').forEach(node => { - node.removeAttribute("data-kotlin-playground-initialized"); - - if (node.parentNode) { - node.parentNode.setAttribute("runnable-code-sample", ""); - } - }) - - KotlinPlayground('code.runnablesample', { - getInstance: playgroundInstance => { - instances.push(playgroundInstance) - }, - theme: theme - }); -} - -// We check if type is accessible from the current scope to determine if samples script is present -// As an alternative we could extract this samples-specific script to new js file but then we would handle dark mode in 2 separate files which is not ideal -const samplesAreEnabled = () => { - try { - if (typeof KotlinPlayground === 'undefined') { - // KotlinPlayground is exported universally as a global variable or as a module - // Due to possible interaction with other js scripts KotlinPlayground may not be accessible directly from `window`, so we need an additional check - KotlinPlayground = exports.KotlinPlayground; - } - return typeof KotlinPlayground === 'function'; - } catch (e) { - return false - } -} - // Hash change is needed in order to allow for linking inside the same page with anchors // If this is not present user is forced to refresh the site in order to use an anchor window.onhashchange = handleAnchor @@ -278,16 +240,6 @@ function refreshFiltering() { refreshFilterButtons() refreshPlatformTabs() refreshNoContentNotification() - refreshPlaygroundSamples() -} - -function refreshPlaygroundSamples() { - document.querySelectorAll('code.runnablesample').forEach(node => { - const playground = node.KotlinPlayground; - /* Some samples may be hidden by filter, they have 0px height for visible code area - * after rendering. Call this method for re-calculate code area height */ - playground && playground.view.codemirror.refresh(); - }); } function refreshNoContentNotification() { diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/styles/style.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/styles/style.css index a5762e4c27..1eee255ada 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/styles/style.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/styles/style.css @@ -452,7 +452,3 @@ Just in case of possible performance degradation it excluding tabs with briefs o font-size: 20px; font-weight: 600; } - -div.runnablesample { - height: fit-content; -} diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/ui-kit/ui-kit.min.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/ui-kit/ui-kit.min.css index 101832e16d..84756531fc 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/ui-kit/ui-kit.min.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/multimodule-example/html/ui-kit/ui-kit.min.css @@ -1 +1 @@ -.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.table+hr{display:none}.main-content .content>hr{border:none;border-top:1px solid rgba(0,0,0,.2);border-top:1px solid var(--color-b20);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:1px solid hsla(0,0%,100%,.16);border-top:1px solid var(--color-w16)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.tabs-section-body .with-platform-tabs{padding-bottom:12px;padding-top:12px}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08))}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;min-height:40px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media(max-width:899px){.toc--row{min-height:52px}}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;padding:0 8px 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;line-height:0;position:relative;top:8px;transform:rotate(0deg);width:24px}@media(max-width:899px){.toc--button:after{top:14px}}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;height:calc(100% - 16px);min-height:40px;padding:8px 4px 8px 0;width:100%}@media(max-width:899px){.toc--link{min-height:52px;padding:14px 4px 14px 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(40px + var(--size-m1)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(40px + var(--size-m1)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(40px + var(--size-m1)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(40px + var(--size-m1)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(40px + var(--size-m1)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(40px + var(--size-m1)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(40px + var(--size-m1)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(40px + var(--size-m1)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(40px + var(--size-m1)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(40px + var(--size-m1)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(40px + var(--size-m1)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(40px + var(--size-m1)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(40px + var(--size-m1)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file +.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.main-content .content>hr{border:none;border-top:3px double rgba(0,0,0,.5);border-top:3px double var(--color-b50);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:3px double hsla(0,0%,100%,.5);border-top:3px double var(--color-w50)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}h4.tableheader{margin-top:24px;margin-top:var(--size-m1)}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.table .platform-bookmarks-row,.table .tabs-section{margin-bottom:16px;margin-bottom:var(--size-s3)}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08));--toc-item-padding-left:8px;--toc-item-padding-right:4px;--toc-item-padding-top:8px;--toc-item-padding-bottom:8px;--toc-item-padding-left-mobile:8px;--toc-item-padding-right-mobile:4px;--toc-item-padding-top-mobile:14px;--toc-item-padding-bottom-mobile:14px;--toc-icon-size:24px;--toc-button-width:calc(var(--toc-icon-size) + var(--toc-item-padding-left)*2)}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;min-width:var(--toc-button-width);padding:0 4px 0 0;padding:0 var(--toc-item-padding-right) 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-position:50%;background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;height:var(--toc-icon-size);line-height:0;margin-top:-12px;margin-top:calc(var(--toc-icon-size)/-2);position:absolute;top:50%;transform:rotate(0deg);width:24px;width:var(--toc-icon-size)}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;padding:8px 4px 8px 0;padding:var(--toc-item-padding-top) var(--toc-item-padding-right) var(--toc-item-padding-bottom) 0;width:100%}@media(max-width:899px){.toc--link{padding:14px 4px 14px 0;padding:var(--toc-item-padding-top-mobile) var(--toc-item-padding-right-mobile) var(--toc-item-padding-bottom-mobile) 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{min-height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-child-project-a-class/-child-project-a-class.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-child-project-a-class/-child-project-a-class.html index 30da0adc28..3b01a62125 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-child-project-a-class/-child-project-a-class.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-child-project-a-class/-child-project-a-class.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-child-project-a-class/extend.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-child-project-a-class/extend.html index 2fa0dad674..a9521a459b 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-child-project-a-class/extend.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-child-project-a-class/extend.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-child-project-a-class/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-child-project-a-class/index.html index e19918d782..5fe215130f 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-child-project-a-class/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-child-project-a-class/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-fancy-a-p-i/-fancy-a-p-i.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-fancy-a-p-i/-fancy-a-p-i.html index b27017a9f7..5c9f25f92d 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-fancy-a-p-i/-fancy-a-p-i.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-fancy-a-p-i/-fancy-a-p-i.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-fancy-a-p-i/do-something.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-fancy-a-p-i/do-something.html index d4a2b27347..d33d2118c5 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-fancy-a-p-i/do-something.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-fancy-a-p-i/do-something.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-fancy-a-p-i/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-fancy-a-p-i/index.html index 836f47eac7..63e0873ff2 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-fancy-a-p-i/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/-fancy-a-p-i/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/index.html index 99a0837e22..48371d7957 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/demo/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/index.html index c7222defdd..323ee28527 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectA/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/demo/-child-project-b-class/-child-project-b-class.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/demo/-child-project-b-class/-child-project-b-class.html index 42feeedcd7..e11652db0b 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/demo/-child-project-b-class/-child-project-b-class.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/demo/-child-project-b-class/-child-project-b-class.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/demo/-child-project-b-class/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/demo/-child-project-b-class/index.html index 3adfd55c55..1ea71c2a97 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/demo/-child-project-b-class/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/demo/-child-project-b-class/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/demo/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/demo/index.html index af910a6c9c..3f5d498533 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/demo/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/demo/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/demo/super-function42.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/demo/super-function42.html index 843f21f6d6..244775583d 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/demo/super-function42.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/demo/super-function42.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/index.html b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/index.html index 768243fd70..4b265bff2c 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/index.html +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/childProjectB/index.html @@ -18,7 +18,6 @@ } } - diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/scripts/platform-content-handler.js b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/scripts/platform-content-handler.js index 44e7231137..ada75ff34e 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/scripts/platform-content-handler.js +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/scripts/platform-content-handler.js @@ -9,12 +9,8 @@ filteringContext = { } let highlightedAnchor; let topNavbarOffset; -let instances = []; let sourcesetNotification; -const samplesDarkThemeName = 'darcula' -const samplesLightThemeName = 'idea' - window.addEventListener('load', () => { document.querySelectorAll("div[data-platform-hinted]") .forEach(elem => elem.addEventListener('click', (event) => togglePlatformDependent(event, elem))) @@ -37,7 +33,11 @@ const darkModeSwitch = () => { const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches const darkModeEnabled = storage ? JSON.parse(storage) : osDarkSchemePreferred const element = document.getElementById("theme-toggle-button") - initPlayground(darkModeEnabled ? samplesDarkThemeName : samplesLightThemeName) + + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) + } element.addEventListener('click', () => { const enabledClasses = document.getElementsByTagName("html")[0].classList @@ -45,52 +45,14 @@ const darkModeSwitch = () => { //if previously we had saved dark theme then we set it to light as this is what we save in local storage const darkModeEnabled = enabledClasses.contains("theme-dark") - if (darkModeEnabled) { - initPlayground(samplesDarkThemeName) - } else { - initPlayground(samplesLightThemeName) + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) } safeLocalStorage.setItem(localStorageKey, JSON.stringify(darkModeEnabled)) }) } -const initPlayground = (theme) => { - if (!samplesAreEnabled()) return - instances.forEach(instance => instance.destroy()) - instances = [] - - // Manually tag code fragments as not processed by playground since we also manually destroy all of its instances - document.querySelectorAll('code.runnablesample').forEach(node => { - node.removeAttribute("data-kotlin-playground-initialized"); - - if (node.parentNode) { - node.parentNode.setAttribute("runnable-code-sample", ""); - } - }) - - KotlinPlayground('code.runnablesample', { - getInstance: playgroundInstance => { - instances.push(playgroundInstance) - }, - theme: theme - }); -} - -// We check if type is accessible from the current scope to determine if samples script is present -// As an alternative we could extract this samples-specific script to new js file but then we would handle dark mode in 2 separate files which is not ideal -const samplesAreEnabled = () => { - try { - if (typeof KotlinPlayground === 'undefined') { - // KotlinPlayground is exported universally as a global variable or as a module - // Due to possible interaction with other js scripts KotlinPlayground may not be accessible directly from `window`, so we need an additional check - KotlinPlayground = exports.KotlinPlayground; - } - return typeof KotlinPlayground === 'function'; - } catch (e) { - return false - } -} - // Hash change is needed in order to allow for linking inside the same page with anchors // If this is not present user is forced to refresh the site in order to use an anchor window.onhashchange = handleAnchor @@ -278,16 +240,6 @@ function refreshFiltering() { refreshFilterButtons() refreshPlatformTabs() refreshNoContentNotification() - refreshPlaygroundSamples() -} - -function refreshPlaygroundSamples() { - document.querySelectorAll('code.runnablesample').forEach(node => { - const playground = node.KotlinPlayground; - /* Some samples may be hidden by filter, they have 0px height for visible code area - * after rendering. Call this method for re-calculate code area height */ - playground && playground.view.codemirror.refresh(); - }); } function refreshNoContentNotification() { diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/styles/style.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/styles/style.css index a5762e4c27..1eee255ada 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/styles/style.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/styles/style.css @@ -452,7 +452,3 @@ Just in case of possible performance degradation it excluding tabs with briefs o font-size: 20px; font-weight: 600; } - -div.runnablesample { - height: fit-content; -} diff --git a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/ui-kit/ui-kit.min.css b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/ui-kit/ui-kit.min.css index 2ccc0adcdb..84756531fc 100644 --- a/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/ui-kit/ui-kit.min.css +++ b/dokka-integration-tests/gradle/src/testExampleProjects/expectedData/exampleProjects/versioning-multimodule-example/html/ui-kit/ui-kit.min.css @@ -1 +1 @@ -.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.table+hr{display:none}.main-content .content>hr{border:none;border-top:1px solid rgba(0,0,0,.2);border-top:1px solid var(--color-b20);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:1px solid hsla(0,0%,100%,.16);border-top:1px solid var(--color-w16)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.tabs-section-body .with-platform-tabs{padding-bottom:12px;padding-top:12px}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08));--toc-item-padding-left:8px;--toc-item-padding-right:4px;--toc-item-padding-top:8px;--toc-item-padding-bottom:8px;--toc-item-padding-left-mobile:8px;--toc-item-padding-right-mobile:4px;--toc-item-padding-top-mobile:14px;--toc-item-padding-bottom-mobile:14px;--toc-icon-size:24px;--toc-button-width:calc(var(--toc-icon-size) + var(--toc-item-padding-left)*2)}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;min-width:var(--toc-button-width);padding:0 4px 0 0;padding:0 var(--toc-item-padding-right) 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-position:50%;background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;height:var(--toc-icon-size);line-height:0;margin-top:-12px;margin-top:calc(var(--toc-icon-size)/-2);position:absolute;top:50%;transform:rotate(0deg);width:24px;width:var(--toc-icon-size)}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;padding:8px 4px 8px 0;padding:var(--toc-item-padding-top) var(--toc-item-padding-right) var(--toc-item-padding-bottom) 0;width:100%}@media(max-width:899px){.toc--link{padding:14px 4px 14px 0;padding:var(--toc-item-padding-top-mobile) var(--toc-item-padding-right-mobile) var(--toc-item-padding-bottom-mobile) 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{min-height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file +.breadcrumbs{--breadcrumb-size:24px;margin-top:var(--breadcrumb-size);min-height:var(--breadcrumb-size);word-wrap:break-word}.breadcrumbs .delimiter{color:var(--text-outline);margin:0 4px}.button{align-items:center;background-color:transparent;border:none;border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;color:#000;color:var(--color-text);cursor:pointer;display:flex;height:40px;justify-content:center;letter-spacing:.045em;padding:8px 12px;padding:var(--size-s2) 12px}.button[\:has\(\:first-child\)]{gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}.button:has(:first-child){gap:8px;gap:var(--size-s2);padding:8px;padding:var(--size-s2)}@media(hover:hover){.button:hover{background-color:rgba(0,0,0,.08);background-color:var(--color-b08)}}.button:active{background-color:#307fff;background-color:var(--color-key-blue)}.button:disabled{cursor:not-allowed;opacity:.5}.button.focus-visible{outline:var(--focus-outline)}.button:focus-visible{outline:var(--focus-outline)}.theme-dark .button{color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.theme-dark .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.button_background{background-color:#fff;background-color:var(--color-w100)}.theme-dark .button_background{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.theme-dark .button_background:hover{background-color:hsla(0,0%,100%,.05);background-color:var(--color-w05)}.button_dropdown{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:8px;padding:var(--size-s2)}.button_dropdown:after{background-image:url(../images/arrow-down.svg);background-repeat:no-repeat;content:"";display:block;filter:invert(1);height:24px;height:var(--size-m1);transform:rotate(0);width:24px;width:var(--size-m1);will-change:transform}.theme-dark .button_dropdown:after{filter:none}@media(max-width:899px){.button_dropdown.search--close-button:after{background-image:url(../images/cross.svg)}}.button_dropdown_active{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.button_dropdown_active:hover,.theme-dark .button_dropdown_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.button_dropdown_active:after{filter:invert(0);transform:rotate(-180deg)}.checkbox{cursor:pointer;display:inline-block;position:relative}.checkbox--input{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;visibility:hidden}.checkbox--icon{background-image:url(../images/checkbox-off.svg);height:24px;height:var(--size-m1);margin-left:-32px;margin-left:calc(var(--size-m2)*-1);position:absolute;width:24px;width:var(--size-m1)}.checkbox--input:checked+.checkbox--icon{background-image:url(../images/checkbox-on.svg)}.checkbox--input:disabled+.checkbox--icon{opacity:.2}.checkbox--input.focus-visible{outline:var(--focus-outline)}.checkbox--input:focus-visible{outline:var(--focus-outline)}.symbol:not(.token):not(.wrapped),code.block{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border-radius:4px;border-radius:var(--size-s1);box-sizing:border-box;display:block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);overflow:auto;padding:12px 16px;position:relative;white-space:pre-wrap;word-break:break-word}code.block{max-width:100%;overflow-x:auto}.source-link-wrapper:after{clear:both;content:"";display:block;height:0}@media screen and (max-width:899px){.source-link-wrapper{display:block;margin-top:8px}}.source-link{float:right}.sample-container,div.CodeMirror{display:flex;flex-direction:column;position:relative}pre[runnable-code-sample]:after,pre[runnable-code-sample]:before{display:none}.copy-tooltip{align-items:center;display:flex;justify-content:center;position:absolute;right:4px;right:var(--size-s1);top:4px;top:var(--size-s1)}.copy-icon{border-radius:8px;border-radius:var(--size-s2);cursor:pointer;display:none;padding:8px;padding:var(--size-s2)}.copy-icon:hover{background:hsla(0,0%,100%,.5);background:var(--color-w50)}.copy-icon:before{background-color:var(--text-color);content:"";display:block;flex:0 0 auto;height:24px;-webkit-mask:url(../images/copy-icon.svg) no-repeat center/contain;mask:url(../images/copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .copy-icon:hover{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.js .sample-container:hover .copy-icon,.js-touched .copy-icon{display:block}.copy-popup-wrapper{background-color:#262628;background-color:var(--color-background-page-dt);border:1px solid hsla(0,0%,100%,.16);border:1px solid var(--color-w16);border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);cursor:default;display:none;padding:7px 16px 7px 8px;padding:7px var(--size-s3) 7px var(--size-s2);z-index:1}.copy-popup-wrapper>span{flex:0 0 auto}.copy-popup-wrapper.popup-to-left{margin-right:4px;margin-right:var(--size-s1)}.sample-container:hover .copy-popup-wrapper.active-popup,.table-row:hover .copy-popup-wrapper.active-popup{align-items:center;display:flex;justify-content:flex-start}.copy-popup-icon{background-image:url(../images/success-icon.svg);background-position:50%;background-repeat:no-repeat;background-size:contain;height:24px;width:24px}.anchor-wrapper{margin-left:4px;margin-left:var(--size-s1);position:relative}.anchor-wrapper .copy-popup-wrapper{left:100%;margin-left:4px;margin-left:var(--size-s1);position:absolute;top:-8px;width:-moz-max-content;width:max-content}.anchor-wrapper .copy-popup-wrapper_bottom{left:calc(100% - 36px);top:32px}.anchor-wrapper .copy-popup-wrapper_bottom-right{left:auto;right:calc(100% - 32px);top:32px}.anchor-icon{align-items:center;background:rgba(0,0,0,.08);background:var(--color-b08);border-radius:4px;border-radius:var(--size-s1);color:#000;color:var(--color-text);display:flex;justify-content:center;margin:-4px 0;opacity:0;padding:4px;padding:var(--size-s1);transition:opacity .2s ease-in-out}.anchor-icon:hover{cursor:pointer}.anchor-icon:before{background-color:#000;background-color:var(--color-text);content:"";display:block;height:24px;-webkit-mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;mask:url(../images/anchor-copy-icon.svg) no-repeat center/contain;width:24px}.theme-dark .anchor-icon{background:hsla(0,0%,100%,.1);background:var(--color-w10)}.theme-dark .anchor-icon:before{background-color:#fff;background-color:var(--color-w100)}.js .main-subrow:hover .anchor-icon{opacity:1}.dropdown{position:relative}@media(max-width:899px){.dropdown{position:static}}.dropdown--list{background-color:#323237;background-color:var(--color-background-nav-dt);border:1px solid #56565f;box-shadow:0 2px 8px 0 rgba(0,0,0,.251);display:none;max-height:400px;max-width:360px;min-width:272px;overflow-y:auto;padding:12px 0;position:absolute;right:0;top:44px;transform:translateZ(0);width:-moz-fit-content;width:fit-content;z-index:10}@media(max-width:899px){.dropdown--list{border:none;height:100vh;max-height:none;min-width:min(360px,100vw);padding:0;right:0;top:0}}@media(max-width:439px){.dropdown--list{max-width:none;width:100vw}}.dropdown--list_positioned_right{right:0}.dropdown--list_positioned_left{left:0}@media(max-width:899px){.dropdown--list_positioned_left{left:auto}}.dropdown--list_expanded{display:block}@media(min-width:900px){.dropdown--list_toc-list{background-color:transparent;border:none;box-shadow:none;display:block;max-height:none;max-width:none;min-width:100%;padding:0;position:relative;top:0}}@media(min-width:440px)and (max-width:899px){.dropdown--list_toc-list{width:408px}}.dropdown--option{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border:none;color:var(--color-text-nav-dt);cursor:pointer;display:flex;font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);gap:8px;letter-spacing:-.03em;list-style-type:none;padding:8px 12px;padding:var(--size-s2) 12px;position:relative}@media(max-width:899px){.dropdown--option{padding:14px 12px}}.dropdown--option:hover{background-color:#4a4a52}.dropdown--option.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0;z-index:1}.dropdown--option:visited{color:var(--color-text-nav-dt)}.dropdown--option_active{background-color:#307fff;background-color:var(--color-key-blue)}.dropdown--option_active:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.dropdown--option_link{color:var(--color-text-nav-dt);text-decoration:none}.dropdown--option_link.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option_link:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.dropdown--option .checkbox{pointer-events:none}.dropdown--option .checkbox:first-letter{text-transform:uppercase}.dropdown--option-icon{display:inline-block;flex-shrink:0;height:24px;height:var(--size-m1);width:24px;width:var(--size-m1)}.dropdown--option-icon_selected{background-image:url(../images/check.svg)}.dropdown--option-text{display:inline-block;overflow:hidden;text-overflow:ellipsis}.dropdown--overlay{background-color:rgba(0,0,0,.5);background-color:var(--color-b50);bottom:0;content:"";display:none;height:100vh;left:0;position:absolute;right:0;top:0;width:100vw;z-index:4}.dropdown--list_expanded+.dropdown--overlay{display:block}@media(min-width:900px){.dropdown--list_expanded+.dropdown--overlay{display:none}}.dropdown--header{align-items:center;background-color:#323237;background-color:var(--color-background-nav-dt);border-bottom:1px solid #56565f;color:hsla(0,0%,100%,.7);color:var(--color-w70);display:flex;height:52px;justify-content:space-between;padding-left:16px;padding-left:var(--size-s3);position:sticky;top:0;z-index:2}@media(min-width:900px){.dropdown--header{display:none}}@media(max-width:899px){.dropdown--header+:not(.sidebar--inner){margin-top:12px}.dropdown--header .button{border-radius:0;outline-offset:-4px}}.dropdown--header .button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}.dropdown--header .button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section{align-items:center;display:flex;flex-wrap:wrap;gap:2px;justify-content:flex-end;margin-right:12px;max-height:40px;padding-left:0;position:static;z-index:1}.filter-section_loading{overflow:hidden}@media(min-width:900px){.filter-section--dropdown{display:none}}.filter-section--dropdown-toggle_as-filters{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;min-width:40px}.filter-section--dropdown-toggle_as-filters:after{display:none}@media(max-width:899px){.filter-section{margin-right:0;max-height:none}.filter-section>:not(.dropdown){display:none}.filter-section--dropdown-toggle{background-image:url(../images/filter.svg);background-position:50% 50%;background-repeat:no-repeat;position:relative}.filter-section--dropdown-toggle:after{display:none}}@media(max-width:899px)and (max-width:899px){.filter-section--dropdown-toggle{border-radius:0;outline-offset:-4px}.filter-section--dropdown-toggle:hover{background-color:hsla(0,0%,100%,.16)!important;background-color:var(--color-w16)!important}.filter-section--dropdown-toggle:active{background-color:hsla(0,0%,100%,.21)!important;background-color:var(--color-w21)!important}}.no-js .filter-section{display:none}.footer{background-color:#ebebeb;background-color:var(--color-background-footer);color:rgba(0,0,0,.7);color:var(--color-text-light);font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);letter-spacing:.15px;margin-top:auto;min-height:var(--footer-height);position:relative}.theme-dark .footer{background-color:#323237;background-color:var(--color-background-footer-dt);color:hsla(0,0%,100%,.7);color:var(--color-text-light-dt)}.footer--container{align-items:flex-start;box-sizing:border-box;display:flex;justify-content:space-between;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px;padding:0 var(--size-m3)}@media(max-width:439px){.footer--container{padding:0 16px;padding:0 var(--size-s3)}}.footer--button{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;filter:invert(1);flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;margin-bottom:12px;margin-top:12px;outline-color:#6c4a00!important;padding:0;width:40px;z-index:0}.theme-dark .footer--button{filter:none;outline-color:rgba(48,127,255,.5)!important;outline-color:var(--color-key-blue-50)!important}@media(hover:hover){.footer--button:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}}.footer--button:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.footer--button.focus-visible{outline:var(--focus-outline)}.footer--button:focus-visible{outline:var(--focus-outline)}.footer--button_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.footer--link{border-bottom:1px solid rgba(0,0,0,.7);border-bottom:1px solid var(--color-text-light);color:inherit}.theme-dark .footer--link{border-bottom-color:hsla(0,0%,100%,.7);border-bottom-color:var(--color-text-light-dt)}.footer--link.focus-visible{outline:var(--focus-outline)}.footer--link:focus-visible{outline:var(--focus-outline)}.footer--link:hover{border-bottom-color:#000;border-bottom-color:var(--color-text)}.theme-dark .footer--link:hover{border-bottom-color:hsla(0,0%,100%,.96);border-bottom-color:var(--color-text-dt)}.footer--content{align-items:center;display:flex;margin:12px 0;min-height:40px;text-align:right}.ui-kit-icon{background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;filter:invert(1);font-size:0;height:24px;height:var(--size-m1);line-height:0;width:24px;width:var(--size-m1);will-change:background-color}.theme-dark .ui-kit-icon{filter:none}@media(max-width:899px){.theme-dark_mobile .ui-kit-icon{filter:none}}.ui-kit-icon_arrow-down{background-image:url(../images/arrow-down.svg)}.ui-kit-icon_placeholder{background-image:url(../images/placeholder.svg)}.ui-kit-icon_cross{background-image:url(../images/cross.svg)}code:not(.block){background:rgba(0,0,0,.08);background:var(--color-background-inline-code);border-radius:2px;display:inline-block;font:400 15.5px/24px JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font:var(--font-code);padding:0 4px}.root{display:flex;flex-direction:column;height:100%}#container{display:flex;flex:1 1 auto;min-height:0}#main{display:flex;flex:1 1 0;flex-direction:column;margin-left:-5px;overflow:auto!important;scrollbar-gutter:stable}.main-content{box-sizing:border-box;margin-left:auto;margin-right:auto;max-width:var(--content-max-width);padding:0 48px 72px;padding:0 var(--size-m3) var(--size-l2);width:100%;z-index:0}@media(max-width:439px){.main-content{padding-left:16px;padding-left:var(--size-s3);padding-right:16px;padding-right:var(--size-s3)}}.resizer{cursor:ew-resize;flex:0 0 5px!important;left:-3px;position:relative;z-index:1}.main-content .content>hr{border:none;border-top:3px double rgba(0,0,0,.5);border-top:3px double var(--color-b50);margin:24px 0;margin:var(--size-m1) 0}.theme-dark .main-content .content>hr{border-top:3px double hsla(0,0%,100%,.5);border-top:3px double var(--color-w50)}.library-name--link{align-items:center;border-radius:4px;border-radius:var(--size-s1);color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-right:8px;margin-right:var(--size-s2);position:relative;white-space:nowrap}.library-name--link.focus-visible{outline:var(--focus-outline)}.library-name--link:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.library-name--link{border-radius:0;height:52px;margin-left:12px;outline-offset:-4px}}.library-name--link:before{background:var(--dokka-logo-image-url) center no-repeat;background-size:min(var(--dokka-logo-height),120px) min(var(--dokka-logo-width),36px);content:"";height:var(--dokka-logo-height);margin-right:8px;margin-right:var(--size-s2);max-height:36px;max-width:120px;width:var(--dokka-logo-width)}.library-version{box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);padding-top:1px}@media(max-width:899px){.library-version{align-items:center;background-color:#000;background-color:var(--color-b100);display:flex;flex-grow:100;height:52px;padding-top:0}}a{text-decoration:none}.main-content a:not([data-name]){border-bottom:1px solid var(--text-outline);cursor:pointer;font-size:inherit;font-style:normal;line-height:inherit;outline:none;padding-bottom:1px;transition:color .2s,border-color .2s;word-break:break-word;word-wrap:break-word}.main-content a:not([data-name]),.main-content a:not([data-name]):active,.main-content a:not([data-name]):focus,.main-content a:not([data-name]):hover{color:var(--text-color);text-decoration:none}.main-content a:not([data-name]):hover{border-bottom-color:var(--text-color)}.main-content a:not([data-name]).focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.main-content a:not([data-name]):focus-visible{box-shadow:0 0 0 4px rgba(48,127,255,.5);box-shadow:0 0 0 4px var(--color-key-blue-50)}.navigation{align-items:center;background-color:#27282c;background-color:var(--color-background-nav);box-sizing:border-box;color:hsla(0,0%,100%,.96);color:var(--color-text-dt);display:flex;flex-wrap:nowrap;justify-content:flex-start;padding:12px 24px;padding:12px var(--size-m1);z-index:4}@media(max-width:899px){.navigation{flex-wrap:wrap;height:auto;padding:0}}.theme-dark .navigation{background-color:#323237;background-color:var(--color-background-nav-dt)}@media(max-width:899px){.navigation .button{height:52px;min-width:52px}}.navigation-controls{align-items:center;display:flex;gap:4px;gap:var(--size-s1);margin-left:auto}@media(max-width:899px){.navigation-controls{background-color:#000;background-color:var(--color-text);flex-grow:1;gap:0;justify-content:flex-end}}.no-js .navigation-controls{display:none}.navigation-controls--btn{align-items:center;background-color:transparent;background-position:50% 50%;background-repeat:no-repeat;background-size:24px 24px;border:none;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:0;height:40px;justify-content:center;line-height:0;padding:0;width:40px;z-index:0}.navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10)}@media(max-width:899px){.navigation-controls .navigation-controls--btn:hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls .navigation-controls--btn:active{background-color:hsla(0,0%,100%,.21);background-color:var(--color-w21)}}.navigation-controls--btn:active{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.navigation-controls--btn.focus-visible{outline:var(--focus-outline)}.navigation-controls--btn:focus-visible{outline:var(--focus-outline)}@media(max-width:899px){.navigation-controls--btn{border-radius:0;height:52px;outline-offset:-4px;width:52px}}.navigation-controls--break{flex-basis:100%}.navigation-controls--btn_theme{background-image:url(../images/theme-toggle.svg)}.navigation-controls--btn_homepage{background-image:url(../images/homepage.svg)}.navigation-controls--btn_toc{background-image:url(../images/burger.svg);margin-left:auto}.navigation-controls--btn_go-to-top{background-image:url(../images/go-to-top-icon.svg)}.platform-tags{display:flex;flex-wrap:wrap;margin-bottom:-6px;margin-left:-4px;position:relative;top:-2px}@media(max-width:439px){.platform-tags{margin-left:0;margin-top:0}.platform-tags--wrapper{flex-basis:100%;float:none;margin-left:-16px;margin-top:8px}}.platform-tag{--platform-tag-color:#bababb;border:0;border-radius:4px;border-radius:var(--size-s1);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 12px;position:relative;text-transform:capitalize}.platform-tags .platform-tag{align-items:center;display:flex;font-size:13px;padding:5px 8px}button.platform-tag{cursor:pointer;position:relative}button.platform-tag.focus-visible{outline:var(--focus-outline);z-index:1}button.platform-tag:focus-visible{outline:var(--focus-outline);z-index:1}.platform-selector-option{padding-left:44px}.platform-selector-option.js-like,.platform-selector-option.jvm-like,.platform-selector-option.wasm-like,.platform-tag.js-like,.platform-tag.jvm-like,.platform-tag.wasm-like{text-transform:uppercase}.filter-section .platform-tag[data-active]{background-color:var(--platform-tag-color);color:#19191c}.filter-section .platform-tag.jvm-like[data-active],.platform-tags .platform-tag.jvm-like{--platform-tag-color:#4dbb5f}.filter-section .platform-tag.js-like[data-active],.platform-tags .platform-tag.js-like{--platform-tag-color:#ffc700}.filter-section .platform-tag.native-like[data-active],.platform-tags .platform-tag.native-like{--platform-tag-color:#e082f3}.filter-section .platform-tag.wasm-like[data-active],.platform-tags .platform-tag.wasm-like{--platform-tag-color:#9585f9}@media(hover:hover){.filter-section .platform-tag[data-active]:hover{background-image:linear-gradient(rgba(0,0,0,.08),rgba(0,0,0,.08),rgba(0,0,0,.08));background-image:linear-gradient(var(--color-b08),var(--color-b08),var(--color-b08))}}.filter-section .platform-tag[data-active]:active{background-color:hsla(240,1%,73%,.7);color:#fff}.filter-section .platform-tag:not([data-active]){background-color:hsla(0,0%,100%,.1);background-color:var(--color-w10);color:hsla(0,0%,100%,.5);color:var(--color-w50);text-decoration:none}.filter-section .platform-tag:not([data-active]):hover{background-color:hsla(0,0%,100%,.16);background-color:var(--color-w16)}.filter-section .platform-tag:not([data-active]):after{background-color:currentColor;content:"";height:1px;left:12px;position:absolute;right:12px;top:20px;z-index:1}.platform-tags .platform-tag:before{background:var(--platform-tag-color);border-radius:50%;content:"";display:inline-block;font-size:13px;height:8px;line-height:1.6;margin:0 4px 0 8px;width:8px}.table-row .inline-comment{padding-bottom:8px;padding-top:8px}.table-row .platform-hinted .sourceset-dependent-content .brief,.table-row .platform-hinted .sourceset-dependent-content .inline-comment{padding:8px}.table{display:flex;flex-direction:column;margin-bottom:32px}.tableheader{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);font:600 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-h4);margin-bottom:0;margin-top:0;padding:7px 16px}.theme-dark .tableheader{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){.tableheader{border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}h4.tableheader{margin-top:24px;margin-top:var(--size-m1)}.table-row{background-color:var(--color-background);border:1px rgba(0,0,0,.2);border-style:solid solid none;border:1px solid var(--color-b20);border-bottom:1px var(--color-b20);display:flex;flex-direction:column;padding:16px 16px 15px}.theme-dark .table-row{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}.table-row_multimodule,.table-row_platform-tagged{border-left:none;border-right:none;padding-left:0;padding-right:0}.table-row_multimodule:first-of-type,.table-row_platform-tagged:first-of-type{border-top:none}@media(max-width:439px){.table-row:not(.table-row_multimodule):not(.table-row_platform-tagged){border-left:none;border-right:none;margin-left:-16px;margin-right:-16px}}.table-row:last-of-type{border-bottom-style:solid;border-bottom-width:1px}.table-row_multimodule:last-of-type,.table-row_platform-tagged:last-of-type{border-bottom:none}.table-row .brief-comment{color:#27282c;color:var(--color-background-nav)}.theme-dark .table-row .brief-comment{color:hsla(0,0%,100%,.4)}td.content{display:flex;flex-direction:column;padding-left:24px;padding-top:16px}.main-subrow{display:flex;flex-direction:row;flex-wrap:wrap;padding:0}.title-row{display:grid;grid-template-columns:auto auto 7em;width:100%}@media (min-width:901px),print{.title-row{grid-template-columns:20% auto 7em}}.keyValue{display:grid;grid-gap:16px}@media (min-width:901px),print{.keyValue{grid-template-columns:1fr 4fr}.keyValue>div:first-child{word-break:break-word}}.table--container{overflow:auto}@media(max-width:439px){.table--container{margin-left:-16px;overflow:auto;width:calc(100% + 32px)}}table{border-collapse:collapse;margin-bottom:24px;margin-top:24px;width:100%}td,th{border:1px solid rgba(0,0,0,.2);border:1px solid var(--color-b20);min-width:40px;text-align:left;vertical-align:top}th{background-color:rgba(25,25,28,.05);background-color:var(--color-background-code-block);padding:7.5px 15.5px}td{padding:15.5px}.theme-dark td,.theme-dark th{border-color:hsla(0,0%,100%,.16);border-color:var(--color-w16)}@media(max-width:439px){td:first-child,th:first-child{border-left:none}td:last-child,th:last-child{border-right:none}}tbody>tr{min-height:56px}td:first-child{width:20vw}.platform-hinted>.platform-bookmarks-row,.tabs-section{border-bottom:1px solid var(--text-outline);margin-bottom:32px;margin-bottom:var(--size-m2)}.platform-hinted>.platform-bookmarks-row.tabs_wrapping,.tabs-section.tabs_wrapping{border-bottom:none}.platform-hinted>.platform-bookmarks-row>.platform-bookmark,.section-tab{background-color:transparent;border:0;border-bottom:4px solid transparent;border-top-left-radius:4px;border-top-right-radius:4px;color:var(--text-color);cursor:pointer;font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s);padding:10px 16px 6px;position:relative;top:1px}.no-js .platform-bookmarks-row+.sourceset-dependent-content{margin-top:8px;margin-top:var(--size-s2)}.no-js .platform-bookmarks-row+.sourceset-dependent-content:last-of-type{margin-top:0}.section-tab:hover{background-color:var(--color-background-hover)}.section-tab.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.section-tab[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.tabs-section-body>div{margin-top:12px}.table .platform-bookmarks-row,.table .tabs-section{margin-bottom:16px;margin-bottom:var(--size-s3)}.platform-hinted{display:block;flex:auto}.platform-hinted>.platform-bookmarks-row>.platform-bookmark{align-self:flex-start;background:inherit;flex:none;min-width:64px;min-width:var(--size-l1);order:5}.platform-hinted>.platform-bookmarks-row>.platform-bookmark.focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:focus-visible{outline:var(--focus-outline);outline-offset:-4px}.platform-hinted>.platform-bookmarks-row>.platform-bookmark:hover{background-color:var(--color-background-hover)}.platform-hinted>.platform-bookmarks-row>.platform-bookmark[data-active=""]{border-bottom:4px solid var(--active-tab-border-color)}.js .platform-hinted>.content:not([data-active]),.js .tabs-section-body [data-togglable]:not([data-active]),.main-content[data-page-type=package] .tabs-section-body h2,.no-js .platform-bookmarks-row,.no-js .tabs-section{display:none}:root{--toc-hover-color:var(--color-b08);--toc-font:400 13px/24px var(--font-family-default);--toc-color:var(--color-text);--toc-link-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));--toc-button-hover-gradient:linear-gradient(270deg,transparent,rgba(0,0,0,.08));--toc-item-padding-left:8px;--toc-item-padding-right:4px;--toc-item-padding-top:8px;--toc-item-padding-bottom:8px;--toc-item-padding-left-mobile:8px;--toc-item-padding-right-mobile:4px;--toc-item-padding-top-mobile:14px;--toc-item-padding-bottom-mobile:14px;--toc-icon-size:24px;--toc-button-width:calc(var(--toc-icon-size) + var(--toc-item-padding-left)*2)}.theme-dark{--toc-hover-color:var(--color-w08);--toc-color:var(--color-text-dt);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}@media(max-width:899px){.theme-dark_mobile{--toc-color:var(--color-text-dt);--toc-hover-color:var(--color-w08);--toc-link-hover-gradient:linear-gradient(270deg,hsla(0,0%,100%,.08),rgba(17,0,0,0));--toc-button-hover-gradient:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,0))}}.toc--part{color:#000;color:var(--toc-color);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font)}.toc--part,.toc--row{box-sizing:border-box}.toc--row{align-items:center;display:flex;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.toc--button{align-items:flex-start;background-color:inherit;border:none;cursor:pointer;display:inline-flex;flex-shrink:0;height:100%;justify-content:flex-end;min-width:40px;min-width:var(--toc-button-width);padding:0 4px 0 0;padding:0 var(--toc-item-padding-right) 0 0;position:absolute}.toc--button:after{background-image:url(../images/arrow-down.svg);background-position:50%;background-repeat:no-repeat;background-size:24px 24px;content:" ";filter:invert(1);font-size:0;height:24px;height:var(--toc-icon-size);line-height:0;margin-top:-12px;margin-top:calc(var(--toc-icon-size)/-2);position:absolute;top:50%;transform:rotate(0deg);width:24px;width:var(--toc-icon-size)}.toc--part_hidden .toc--button:after{transform:rotate(-90deg)}.theme-dark .toc--button:after{filter:invert(0)}@media(max-width:899px){.theme-dark_mobile .toc--button:after{filter:invert(0)}}.toc--button:hover{background:linear-gradient(270deg,transparent,rgba(0,0,0,.08));background:var(--toc-button-hover-gradient)}.toc--button.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--button:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline)}.toc--link{box-sizing:border-box;color:inherit;padding:8px 4px 8px 0;padding:var(--toc-item-padding-top) var(--toc-item-padding-right) var(--toc-item-padding-bottom) 0;width:100%}@media(max-width:899px){.toc--link{padding:14px 4px 14px 0;padding:var(--toc-item-padding-top-mobile) var(--toc-item-padding-right-mobile) var(--toc-item-padding-bottom-mobile) 0}}.toc--link:hover{background:rgba(0,0,0,.08);background:var(--toc-hover-color)}.toc--link.focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--link:focus-visible{box-shadow:inset 4px 0 0 rgba(48,127,255,.5),inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset 4px 0 0 var(--color-key-blue-50),inset -4px 0 0 var(--color-key-blue-50);outline:var(--focus-outline);outline-offset:0}.toc--button~.toc--link.focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--button~.toc--link:focus-visible{box-shadow:inset -4px 0 0 rgba(48,127,255,.5);box-shadow:inset -4px 0 0 var(--color-key-blue-50)}.toc--skip-link{background-color:#458cff;background-color:var(--color-key-blue-hover);color:#fff;color:var(--color-w100);font:400 13px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--toc-font);margin-top:36px;padding:1px;position:absolute;z-index:100}.toc--skip-link:not(:focus){overflow:hidden!important;clip:rect(1px,1px,1px,1px)!important;border:0!important;height:1px!important;padding:0!important;width:1px!important}.toc--skip-link:focus{outline:var(--focus-outline);outline-offset:0}.sidebar>.toc--skip-link{margin-top:0}.toc--part_hidden>.toc--row>.toc--button~.toc--skip-link{display:none}@media(max-width:899px){.toc--skip-link{display:none}}.toc--part[data-nesting-level="0"] .toc--row>.toc--link:first-child{padding-left:40px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button+.toc--link{margin-left:40px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="0"] .toc--button{width:40px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*0)}.toc--part[data-nesting-level="1"] .toc--row>.toc--link:first-child{padding-left:64px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button+.toc--link{margin-left:64px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="1"] .toc--button{width:64px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*1)}.toc--part[data-nesting-level="2"] .toc--row>.toc--link:first-child{padding-left:88px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button+.toc--link{margin-left:88px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="2"] .toc--button{width:88px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*2)}.toc--part[data-nesting-level="3"] .toc--row>.toc--link:first-child{padding-left:112px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button+.toc--link{margin-left:112px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="3"] .toc--button{width:112px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*3)}.toc--part[data-nesting-level="4"] .toc--row>.toc--link:first-child{padding-left:136px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button+.toc--link{margin-left:136px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="4"] .toc--button{width:136px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*4)}.toc--part[data-nesting-level="5"] .toc--row>.toc--link:first-child{padding-left:160px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button+.toc--link{margin-left:160px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="5"] .toc--button{width:160px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*5)}.toc--part[data-nesting-level="6"] .toc--row>.toc--link:first-child{padding-left:184px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button+.toc--link{margin-left:184px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="6"] .toc--button{width:184px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*6)}.toc--part[data-nesting-level="7"] .toc--row>.toc--link:first-child{padding-left:208px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button+.toc--link{margin-left:208px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="7"] .toc--button{width:208px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*7)}.toc--part[data-nesting-level="8"] .toc--row>.toc--link:first-child{padding-left:232px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button+.toc--link{margin-left:232px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="8"] .toc--button{width:232px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*8)}.toc--part[data-nesting-level="9"] .toc--row>.toc--link:first-child{padding-left:256px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button+.toc--link{margin-left:256px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="9"] .toc--button{width:256px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*9)}.toc--part[data-nesting-level="10"] .toc--row>.toc--link:first-child{padding-left:280px;padding-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button+.toc--link{margin-left:280px;margin-left:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.toc--part[data-nesting-level="10"] .toc--button{width:280px;width:calc(var(--toc-button-width) + var(--toc-icon-size)*10)}.filtered>.toc--button,.toc .filtered>a{display:none}.toc #nav-submenu{padding-left:24px}.toc--part_hidden>.toc--part{display:none}.toc--row .toc--link-grid{display:grid;grid-template-columns:16px auto;grid-gap:6px}.toc--icon{height:16px;line-height:32px;width:16px}.toc--button+.toc--link:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.08),rgba(17,0,0,.08));background:var(--toc-link-hover-gradient)}.toc--icon.class:before{content:url(../images/class.svg)}.toc--icon.class-kt:before{content:url(../images/class-kotlin.svg)}.toc--icon.function:before{content:url(../images/function.svg)}.toc--icon.enum-class:before{content:url(../images/enum.svg)}.toc--icon.enum-class-kt:before{content:url(../images/enum-kotlin.svg)}.toc--icon.annotation-class:before{content:url(../images/annotation.svg)}.toc--icon.annotation-class-kt:before{content:url(../images/annotation-kotlin.svg)}.toc--icon.abstract-class:before{content:url(../images/abstract-class.svg)}.toc--icon.abstract-class-kt:before{content:url(../images/abstract-class-kotlin.svg)}.toc--icon.exception-class:before{content:url(../images/exception-class.svg)}.toc--icon.interface:before{content:url(../images/interface.svg)}.toc--icon.interface-kt:before{content:url(../images/interface-kotlin.svg)}.toc--icon.object:before{content:url(../images/object.svg)}.toc--icon.typealias-kt:before{content:url(../images/typealias-kotlin.svg)}.toc--icon.val:before{content:url(../images/field-value.svg)}.toc--icon.var:before{content:url(../images/field-variable.svg)}.toc--part[data-active]>.toc--row .toc--button,.toc--part[data-active]>.toc--row .toc--link{background-color:#307fff;background-color:var(--color-key-blue);color:hsla(0,0%,100%,.96);color:var(--color-text-dt)}.toc--part[data-active]>.toc--row .toc--button:after,.toc--part[data-active]>.toc--row .toc--link:after{filter:invert(0)}.toc--part[data-active]>.toc--row .toc--link:hover{background-color:#458cff;background-color:var(--color-key-blue-hover)}.toc--part[data-active]>.toc--row .toc--button~.toc--link:hover{background:linear-gradient(270deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(270deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.toc--part[data-active]>.toc--row .toc--button:hover{background:linear-gradient(90deg,hsla(0,0%,100%,.16),rgba(17,0,0,0)),#307fff;background:linear-gradient(90deg,hsla(0,0%,100%,.16) 0,rgba(17,0,0,0) 100%),var(--color-key-blue)}.sidebar{border-right:1px solid rgba(39,40,44,.2);box-sizing:border-box;overflow:auto!important;width:var(--sidebar-width)}@media(max-width:899px){.sidebar{border:none;width:0}}@media(min-width:900px){.sidebar{position:relative;z-index:1}}@media(max-width:899px){.sidebar .button{min-height:52px;min-width:52px}}.theme-dark .sidebar{border-right-color:#56565f}.no-js .sidebar{display:none}.sidebar--inner{padding-bottom:12px;padding-top:12px}@media(max-width:899px){.ui-kit_desktop-only{display:none}}@media(min-width:900px){.ui-kit_mobile-only{display:none}}:root{--breakpoint-desktop-min:900px;--breakpoint-tablet-max:899px;--breakpoint-tablet-min:440px;--breakpoint-mobile-max:439px;--breakpoint-mobile-min:360px;--color-key-blue:#307fff;--color-key-blue-hover:#458cff;--color-key-blue-50:rgba(48,127,255,.5);--color-background-nav:#27282c;--color-background-nav-dt:#323237;--color-background-page:#fff;--color-background-page-dt:#262628;--color-background-footer:#ebebeb;--color-background-footer-dt:#323237;--color-text:#000;--color-text-dt:hsla(0,0%,100%,.96);--color-text-light:rgba(0,0,0,.7);--color-text-light-dt:hsla(0,0%,100%,.7);--color-w05:hsla(0,0%,100%,.05);--color-w08:hsla(0,0%,100%,.08);--color-w10:hsla(0,0%,100%,.1);--color-w16:hsla(0,0%,100%,.16);--color-w21:hsla(0,0%,100%,.21);--color-w50:hsla(0,0%,100%,.5);--color-w70:hsla(0,0%,100%,.7);--color-w80:hsla(0,0%,100%,.8);--color-w100:#fff;--color-b05:rgba(0,0,0,.05);--color-b08:rgba(0,0,0,.08);--color-b20:rgba(0,0,0,.2);--color-b50:rgba(0,0,0,.5);--color-b70:rgba(0,0,0,.7);--color-b100:#000;--color-background-inline-code:var(--color-b08);--color-background-code-block:rgba(25,25,28,.05);--color-cd-punctuation:#999;--color-cd-keyword:#0033b3;--color-cd-keyword-alternative:#cc7832;--color-cd-builtin:#067d17;--color-cd-builtin-alternative:#e7bf6a;--color-cd-function:#00627a;--color-cd-function-alternative:#ffc66d;--color-cd-operator:#9a6e3a;--color-cd-operator-alternative:#a9b7c6;--color-cd-number:#871094;--color-cd-number-alternative:#6db9f3;--color-generic:#539df3;--color-jvm:#4dbb5f;--color-js:#ffc700;--color-wasm:#fff;--copy-icon-color:var(--color-b50);--copy-icon-hover-color:var(--color-b70);--size-s1:4px;--size-s2:8px;--size-s3:16px;--size-m1:24px;--size-m2:32px;--size-m3:48px;--size-l1:64px;--size-l2:72px;--size-ta1:40px;--size-ta2:52px;--font-family-default:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Droid Sans,Helvetica Neue,Arial,sans-serif;--font-family-mono:JetBrains Mono,SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;--font-h1:600 44px/44px var(--font-family-default);--font-h2:600 32px/32px var(--font-family-default);--font-h3:600 24px/24px var(--font-family-default);--font-h4:600 16px/24px var(--font-family-default);--font-text-m:400 16px/24px var(--font-family-default);--font-text-s:400 14px/20px var(--font-family-default);--font-code:400 15.5px/24px var(--font-family-mono);--hover-transition:background-color 200ms ease-in-out;--rotate-transition:transform 200ms ease-in-out;--color-background:var(--color-background-page);--color-background-hover:var(--color-b08);--focus-outline:4px solid var(--color-key-blue-50);--content-max-width:1128px;--text-color:var(--color-text);--text-outline:var(--color-b20);--sidebar-width:280px}.theme-dark{--color-background:var(--color-background-page-dt);--color-background-hover:var(--color-w10);--text-color:var(--color-text-dt);--text-outline:var(--color-w16);--color-background-inline-code:var(--color-w10);--color-background-code-block:var(--color-w05)}body{background-color:#fff;background-color:var(--color-background);color:#000;color:var(--text-color);font:400 16px/24px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-m);margin:0}small{font:400 14px/20px Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,Oxygen,Droid Sans,Helvetica Neue,Arial;font:var(--font-text-s)}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:400;src:url(fonts/inter-latin-400-normal.woff2) format("woff2"),url(fonts/inter-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:600;src:url(fonts/inter-latin-600-normal.woff2) format("woff2"),url(fonts/inter-latin-600-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-400-normal.woff) format("woff")}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:600;src:url(fonts/jetbrains-mono-latin-600-normal.woff2) format("woff2"),url(fonts/jetbrains-mono-latin-600-normal.woff) format("woff")} \ No newline at end of file diff --git a/dokka-runners/dokka-gradle-plugin/api/dokka-gradle-plugin.api b/dokka-runners/dokka-gradle-plugin/api/dokka-gradle-plugin.api index 20b9275d75..600e439d4e 100644 --- a/dokka-runners/dokka-gradle-plugin/api/dokka-gradle-plugin.api +++ b/dokka-runners/dokka-gradle-plugin/api/dokka-gradle-plugin.api @@ -369,6 +369,18 @@ public abstract class org/jetbrains/dokka/gradle/engine/plugins/DokkaHtmlPluginP public final class org/jetbrains/dokka/gradle/engine/plugins/DokkaHtmlPluginParameters$Companion { } +public abstract class org/jetbrains/dokka/gradle/engine/plugins/DokkaKotlinPlaygroundSamplesParameters : org/jetbrains/dokka/gradle/engine/plugins/DokkaPluginParametersBaseSpec { + public static final field Companion Lorg/jetbrains/dokka/gradle/engine/plugins/DokkaKotlinPlaygroundSamplesParameters$Companion; + public static final field DOKKA_KOTLIN_PLAYGROUND_SAMPLES_PLUGIN_FQN Ljava/lang/String; + public static final field DOKKA_KOTLIN_PLAYGROUND_SAMPLES_PLUGIN_PARAMETERS_NAME Ljava/lang/String; + public abstract fun getKotlinPlaygroundScript ()Lorg/gradle/api/provider/Property; + public abstract fun getKotlinPlaygroundServer ()Lorg/gradle/api/provider/Property; + public fun jsonEncode ()Ljava/lang/String; +} + +public final class org/jetbrains/dokka/gradle/engine/plugins/DokkaKotlinPlaygroundSamplesParameters$Companion { +} + public abstract class org/jetbrains/dokka/gradle/engine/plugins/DokkaPluginParametersBaseSpec : java/io/Serializable, org/gradle/api/Named { public fun getName ()Ljava/lang/String; public fun getPluginFqn ()Ljava/lang/String; diff --git a/dokka-runners/dokka-gradle-plugin/build.gradle.kts b/dokka-runners/dokka-gradle-plugin/build.gradle.kts index a9cfbbe2ee..d57b3093e9 100644 --- a/dokka-runners/dokka-gradle-plugin/build.gradle.kts +++ b/dokka-runners/dokka-gradle-plugin/build.gradle.kts @@ -90,6 +90,7 @@ dependencies { devPublication("org.jetbrains.dokka:plugin-jekyll:${project.version}") devPublication("org.jetbrains.dokka:plugin-jekyll-template-processing:${project.version}") devPublication("org.jetbrains.dokka:plugin-kotlin-as-java:${project.version}") + devPublication("org.jetbrains.dokka:plugin-kotlin-playground-samples:${project.version}") devPublication("org.jetbrains.dokka:plugin-mathjax:${project.version}") devPublication("org.jetbrains.dokka:plugin-templating:${project.version}") devPublication("org.jetbrains.dokka:plugin-versioning:${project.version}") diff --git a/dokka-runners/dokka-gradle-plugin/src/main/kotlin/engine/plugins/DokkaKotlinPlaygroundSamplesParameters.kt b/dokka-runners/dokka-gradle-plugin/src/main/kotlin/engine/plugins/DokkaKotlinPlaygroundSamplesParameters.kt new file mode 100644 index 0000000000..ab18c6ae48 --- /dev/null +++ b/dokka-runners/dokka-gradle-plugin/src/main/kotlin/engine/plugins/DokkaKotlinPlaygroundSamplesParameters.kt @@ -0,0 +1,58 @@ +/* + * Copyright 2014-2025 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +package org.jetbrains.dokka.gradle.engine.plugins + +import kotlinx.serialization.json.buildJsonObject +import org.gradle.api.provider.Property +import org.gradle.api.tasks.Input +import org.gradle.api.tasks.Optional +import org.jetbrains.dokka.gradle.internal.InternalDokkaGradlePluginApi +import org.jetbrains.dokka.gradle.internal.putIfNotNull +import javax.inject.Inject + +/** + * Configuration for Dokka Kotlin Playground Samples Plugin. + * + * The Kotlin Playground Samples Plugin makes `@sample` code blocks interactive and runnable using [Kotlin Playground](https://github.com/JetBrains/kotlin-playground). + * + * Note: The Kotlin Playground Samples Plugin only works with Dokka's HTML format. + */ +abstract class DokkaKotlinPlaygroundSamplesParameters +@InternalDokkaGradlePluginApi +@Inject +constructor( + name: String +) : DokkaPluginParametersBaseSpec( + name, + DOKKA_KOTLIN_PLAYGROUND_SAMPLES_PLUGIN_FQN +) { + + /** + * URL to the Kotlin Playground JS script. + */ + @get:Input + @get:Optional + abstract val kotlinPlaygroundScript: Property + + /** + * URL to the Kotlin Playground server for running and compiling samples. Used by the Kotlin Playground script. + */ + @get:Input + @get:Optional + abstract val kotlinPlaygroundServer: Property + + override fun jsonEncode(): String { + return buildJsonObject { + putIfNotNull("kotlinPlaygroundScript", kotlinPlaygroundScript.orNull) + putIfNotNull("kotlinPlaygroundServer", kotlinPlaygroundServer.orNull) + }.toString() + } + + companion object { + const val DOKKA_KOTLIN_PLAYGROUND_SAMPLES_PLUGIN_PARAMETERS_NAME = "kotlinPlaygroundSamples" + const val DOKKA_KOTLIN_PLAYGROUND_SAMPLES_PLUGIN_FQN = + "org.jetbrains.dokka.kotlinPlaygroundSamples.KotlinPlaygroundSamplesPlugin" + } +} diff --git a/dokka-runners/dokka-gradle-plugin/src/main/kotlin/formats/DokkaHtmlPlugin.kt b/dokka-runners/dokka-gradle-plugin/src/main/kotlin/formats/DokkaHtmlPlugin.kt index bd44423329..ef81f39342 100644 --- a/dokka-runners/dokka-gradle-plugin/src/main/kotlin/formats/DokkaHtmlPlugin.kt +++ b/dokka-runners/dokka-gradle-plugin/src/main/kotlin/formats/DokkaHtmlPlugin.kt @@ -13,6 +13,8 @@ import org.gradle.kotlin.dsl.registerBinding import org.gradle.kotlin.dsl.withType import org.jetbrains.dokka.gradle.engine.plugins.DokkaHtmlPluginParameters import org.jetbrains.dokka.gradle.engine.plugins.DokkaHtmlPluginParameters.Companion.DOKKA_HTML_PARAMETERS_NAME +import org.jetbrains.dokka.gradle.engine.plugins.DokkaKotlinPlaygroundSamplesParameters +import org.jetbrains.dokka.gradle.engine.plugins.DokkaKotlinPlaygroundSamplesParameters.Companion.DOKKA_KOTLIN_PLAYGROUND_SAMPLES_PLUGIN_PARAMETERS_NAME import org.jetbrains.dokka.gradle.engine.plugins.DokkaVersioningPluginParameters import org.jetbrains.dokka.gradle.engine.plugins.DokkaVersioningPluginParameters.Companion.DOKKA_VERSIONING_PLUGIN_PARAMETERS_NAME import org.jetbrains.dokka.gradle.internal.InternalDokkaGradlePluginApi @@ -37,6 +39,7 @@ constructor( override fun DokkaFormatPluginContext.configure() { registerDokkaBasePluginConfiguration() registerDokkaVersioningPlugin() + registerDokkaKotlinPlaygroundSamplesPlugin() configureHtmlUrlLogging() configureModuleAggregation() } @@ -67,6 +70,17 @@ constructor( } } + /** Register Dokka Kotlin Playground Samples Plugin */ + private fun DokkaFormatPluginContext.registerDokkaKotlinPlaygroundSamplesPlugin() { + with(dokkaExtension.pluginsConfiguration) { + registerBinding( + DokkaKotlinPlaygroundSamplesParameters::class, + DokkaKotlinPlaygroundSamplesParameters::class + ) + register(DOKKA_KOTLIN_PLAYGROUND_SAMPLES_PLUGIN_PARAMETERS_NAME) + } + } + /** Register a [LogHtmlPublicationLinkTask] task. */ private fun DokkaFormatPluginContext.configureHtmlUrlLogging() { val indexHtmlFile = dokkaTasks.generatePublication diff --git a/dokka-runners/dokka-gradle-plugin/src/test/kotlin/engine/plugins/DokkaKotlinPlaygroundSamplesParametersTest.kt b/dokka-runners/dokka-gradle-plugin/src/test/kotlin/engine/plugins/DokkaKotlinPlaygroundSamplesParametersTest.kt new file mode 100644 index 0000000000..9b8b5ed651 --- /dev/null +++ b/dokka-runners/dokka-gradle-plugin/src/test/kotlin/engine/plugins/DokkaKotlinPlaygroundSamplesParametersTest.kt @@ -0,0 +1,125 @@ +/* + * Copyright 2014-2025 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +package org.jetbrains.dokka.gradle.engine.plugins + +import io.kotest.assertions.json.shouldEqualJson +import io.kotest.core.spec.style.FunSpec +import io.kotest.core.test.TestScope +import io.kotest.matchers.nulls.shouldBeNull +import io.kotest.matchers.shouldBe +import org.gradle.kotlin.dsl.apply +import org.gradle.kotlin.dsl.create +import org.gradle.kotlin.dsl.getByType +import org.gradle.testfixtures.ProjectBuilder +import org.jetbrains.dokka.gradle.DokkaExtension +import org.jetbrains.dokka.gradle.DokkaPlugin +import org.jetbrains.dokka.gradle.utils.enableV2Plugin + +class DokkaKotlinPlaygroundSamplesParametersTest : FunSpec({ + + val project = ProjectBuilder.builder().build() + .enableV2Plugin() + project.plugins.apply(type = DokkaPlugin::class) + + fun TestScope.kotlinPlaygroundSamplesPluginParams( + configure: DokkaKotlinPlaygroundSamplesParameters.() -> Unit = {} + ): DokkaKotlinPlaygroundSamplesParameters = + project.extensions + .getByType() + .pluginsConfiguration + .create(testCase.name.testName, configure) + + + context("when no params are provided") { + val params = kotlinPlaygroundSamplesPluginParams { + // no configuration + } + + test("kotlinPlaygroundScript is null") { + params.kotlinPlaygroundScript.orNull.shouldBeNull() + } + + test("kotlinPlaygroundServer is null") { + params.kotlinPlaygroundServer.orNull.shouldBeNull() + } + + test("JSON is empty") { + params.jsonEncode() shouldEqualJson "{}" + } + } + + context("when only kotlinPlaygroundScript is provided") { + val kotlinPlaygroundScriptUrl = "https://customKotlinPlaygroundScript/example.js" + val params = kotlinPlaygroundSamplesPluginParams { + kotlinPlaygroundScript.set(kotlinPlaygroundScriptUrl) + } + + test("kotlinPlaygroundScript is correct") { + params.kotlinPlaygroundScript.orNull shouldBe kotlinPlaygroundScriptUrl + } + + test("kotlinPlaygroundServer is null") { + params.kotlinPlaygroundServer.orNull.shouldBeNull() + } + + test("expect correct JSON") { + params.jsonEncode() shouldEqualJson """ + |{ + | "kotlinPlaygroundScript": "$kotlinPlaygroundScriptUrl" + |} + """.trimMargin() + } + } + + context("when only kotlinPlaygroundServer is provided") { + val kotlinPlaygroundServerUrl = "https://kotlinPlaygroundServer.example.com/" + val params = kotlinPlaygroundSamplesPluginParams { + kotlinPlaygroundServer.set(kotlinPlaygroundServerUrl) + } + + test("kotlinPlaygroundScript is null") { + params.kotlinPlaygroundScript.orNull.shouldBeNull() + } + + test("kotlinPlaygroundServer is correct") { + params.kotlinPlaygroundServer.orNull shouldBe kotlinPlaygroundServerUrl + } + + test("expect correct JSON") { + params.jsonEncode() shouldEqualJson """ + |{ + | "kotlinPlaygroundServer": "$kotlinPlaygroundServerUrl" + |} + """.trimMargin() + } + } + + context("when both kotlinPlaygroundScript and kotlinPlaygroundServer are provided") { + val kotlinPlaygroundScriptUrl = "https://customKotlinPlaygroundScript/example.js" + val kotlinPlaygroundServerUrl = "https://kotlinPlaygroundServer.example.com/" + + val params = kotlinPlaygroundSamplesPluginParams { + kotlinPlaygroundScript.set(kotlinPlaygroundScriptUrl) + kotlinPlaygroundServer.set(kotlinPlaygroundServerUrl) + } + + test("kotlinPlaygroundScript is correct") { + params.kotlinPlaygroundScript.orNull shouldBe kotlinPlaygroundScriptUrl + } + + test("kotlinPlaygroundServer is correct") { + params.kotlinPlaygroundServer.orNull shouldBe kotlinPlaygroundServerUrl + } + + test("expect correct JSON") { + params.jsonEncode() shouldEqualJson """ + |{ + | "kotlinPlaygroundScript": "$kotlinPlaygroundScriptUrl", + | "kotlinPlaygroundServer": "$kotlinPlaygroundServerUrl" + |} + """.trimMargin() + } + } +}) diff --git a/dokka-runners/dokka-gradle-plugin/src/testFunctional/resources/KotlinDslAccessorsTest/root-project.txt b/dokka-runners/dokka-gradle-plugin/src/testFunctional/resources/KotlinDslAccessorsTest/root-project.txt index 1a4669182d..0cea598581 100644 --- a/dokka-runners/dokka-gradle-plugin/src/testFunctional/resources/KotlinDslAccessorsTest/root-project.txt +++ b/dokka-runners/dokka-gradle-plugin/src/testFunctional/resources/KotlinDslAccessorsTest/root-project.txt @@ -1236,6 +1236,9 @@ fun org.gradle.api.ExtensiblePolymorphicDomainObjectContainer.`html`(configure: Action): Unit = (this as org.gradle.api.plugins.ExtensionAware).extensions.configure("html", configure) +fun org.gradle.api.ExtensiblePolymorphicDomainObjectContainer.`kotlinPlaygroundSamples`(configure: Action): Unit = + (this as org.gradle.api.plugins.ExtensionAware).extensions.configure("kotlinPlaygroundSamples", configure) + fun org.gradle.api.ExtensiblePolymorphicDomainObjectContainer.`versioning`(configure: Action): Unit = (this as org.gradle.api.plugins.ExtensionAware).extensions.configure("versioning", configure) @@ -1263,6 +1266,9 @@ fun org.jetbrains.dokka.gradle.DokkaExtension.`pluginsConfiguration`(configure: fun org.jetbrains.dokka.gradle.engine.plugins.DokkaHtmlPluginParameters.`ext`(configure: Action): Unit = (this as org.gradle.api.plugins.ExtensionAware).extensions.configure("ext", configure) +fun org.jetbrains.dokka.gradle.engine.plugins.DokkaKotlinPlaygroundSamplesParameters.`ext`(configure: Action): Unit = + (this as org.gradle.api.plugins.ExtensionAware).extensions.configure("ext", configure) + fun org.jetbrains.dokka.gradle.engine.plugins.DokkaVersioningPluginParameters.`ext`(configure: Action): Unit = (this as org.gradle.api.plugins.ExtensionAware).extensions.configure("ext", configure) @@ -1296,6 +1302,9 @@ val org.gradle.api.ExtensiblePolymorphicDomainObjectContainer.`html`: org.jetbrains.dokka.gradle.engine.plugins.DokkaHtmlPluginParameters get() = (this as org.gradle.api.plugins.ExtensionAware).extensions.getByName("html") as org.jetbrains.dokka.gradle.engine.plugins.DokkaHtmlPluginParameters +val org.gradle.api.ExtensiblePolymorphicDomainObjectContainer.`kotlinPlaygroundSamples`: org.jetbrains.dokka.gradle.engine.plugins.DokkaKotlinPlaygroundSamplesParameters get() = + (this as org.gradle.api.plugins.ExtensionAware).extensions.getByName("kotlinPlaygroundSamples") as org.jetbrains.dokka.gradle.engine.plugins.DokkaKotlinPlaygroundSamplesParameters + val org.gradle.api.ExtensiblePolymorphicDomainObjectContainer.`versioning`: org.jetbrains.dokka.gradle.engine.plugins.DokkaVersioningPluginParameters get() = (this as org.gradle.api.plugins.ExtensionAware).extensions.getByName("versioning") as org.jetbrains.dokka.gradle.engine.plugins.DokkaVersioningPluginParameters @@ -1407,5 +1416,8 @@ val org.jetbrains.dokka.gradle.DokkaExtension.`pluginsConfiguration`: org.gradle val org.jetbrains.dokka.gradle.engine.plugins.DokkaHtmlPluginParameters.`ext`: org.gradle.api.plugins.ExtraPropertiesExtension get() = (this as org.gradle.api.plugins.ExtensionAware).extensions.getByName("ext") as org.gradle.api.plugins.ExtraPropertiesExtension +val org.jetbrains.dokka.gradle.engine.plugins.DokkaKotlinPlaygroundSamplesParameters.`ext`: org.gradle.api.plugins.ExtraPropertiesExtension get() = + (this as org.gradle.api.plugins.ExtensionAware).extensions.getByName("ext") as org.gradle.api.plugins.ExtraPropertiesExtension + val org.jetbrains.dokka.gradle.engine.plugins.DokkaVersioningPluginParameters.`ext`: org.gradle.api.plugins.ExtraPropertiesExtension get() = (this as org.gradle.api.plugins.ExtensionAware).extensions.getByName("ext") as org.gradle.api.plugins.ExtraPropertiesExtension diff --git a/dokka-runners/dokka-gradle-plugin/src/testFunctional/resources/KotlinDslAccessorsTest/subproject-goodbye.txt b/dokka-runners/dokka-gradle-plugin/src/testFunctional/resources/KotlinDslAccessorsTest/subproject-goodbye.txt index 1a4669182d..0cea598581 100644 --- a/dokka-runners/dokka-gradle-plugin/src/testFunctional/resources/KotlinDslAccessorsTest/subproject-goodbye.txt +++ b/dokka-runners/dokka-gradle-plugin/src/testFunctional/resources/KotlinDslAccessorsTest/subproject-goodbye.txt @@ -1236,6 +1236,9 @@ fun org.gradle.api.ExtensiblePolymorphicDomainObjectContainer.`html`(configure: Action): Unit = (this as org.gradle.api.plugins.ExtensionAware).extensions.configure("html", configure) +fun org.gradle.api.ExtensiblePolymorphicDomainObjectContainer.`kotlinPlaygroundSamples`(configure: Action): Unit = + (this as org.gradle.api.plugins.ExtensionAware).extensions.configure("kotlinPlaygroundSamples", configure) + fun org.gradle.api.ExtensiblePolymorphicDomainObjectContainer.`versioning`(configure: Action): Unit = (this as org.gradle.api.plugins.ExtensionAware).extensions.configure("versioning", configure) @@ -1263,6 +1266,9 @@ fun org.jetbrains.dokka.gradle.DokkaExtension.`pluginsConfiguration`(configure: fun org.jetbrains.dokka.gradle.engine.plugins.DokkaHtmlPluginParameters.`ext`(configure: Action): Unit = (this as org.gradle.api.plugins.ExtensionAware).extensions.configure("ext", configure) +fun org.jetbrains.dokka.gradle.engine.plugins.DokkaKotlinPlaygroundSamplesParameters.`ext`(configure: Action): Unit = + (this as org.gradle.api.plugins.ExtensionAware).extensions.configure("ext", configure) + fun org.jetbrains.dokka.gradle.engine.plugins.DokkaVersioningPluginParameters.`ext`(configure: Action): Unit = (this as org.gradle.api.plugins.ExtensionAware).extensions.configure("ext", configure) @@ -1296,6 +1302,9 @@ val org.gradle.api.ExtensiblePolymorphicDomainObjectContainer.`html`: org.jetbrains.dokka.gradle.engine.plugins.DokkaHtmlPluginParameters get() = (this as org.gradle.api.plugins.ExtensionAware).extensions.getByName("html") as org.jetbrains.dokka.gradle.engine.plugins.DokkaHtmlPluginParameters +val org.gradle.api.ExtensiblePolymorphicDomainObjectContainer.`kotlinPlaygroundSamples`: org.jetbrains.dokka.gradle.engine.plugins.DokkaKotlinPlaygroundSamplesParameters get() = + (this as org.gradle.api.plugins.ExtensionAware).extensions.getByName("kotlinPlaygroundSamples") as org.jetbrains.dokka.gradle.engine.plugins.DokkaKotlinPlaygroundSamplesParameters + val org.gradle.api.ExtensiblePolymorphicDomainObjectContainer.`versioning`: org.jetbrains.dokka.gradle.engine.plugins.DokkaVersioningPluginParameters get() = (this as org.gradle.api.plugins.ExtensionAware).extensions.getByName("versioning") as org.jetbrains.dokka.gradle.engine.plugins.DokkaVersioningPluginParameters @@ -1407,5 +1416,8 @@ val org.jetbrains.dokka.gradle.DokkaExtension.`pluginsConfiguration`: org.gradle val org.jetbrains.dokka.gradle.engine.plugins.DokkaHtmlPluginParameters.`ext`: org.gradle.api.plugins.ExtraPropertiesExtension get() = (this as org.gradle.api.plugins.ExtensionAware).extensions.getByName("ext") as org.gradle.api.plugins.ExtraPropertiesExtension +val org.jetbrains.dokka.gradle.engine.plugins.DokkaKotlinPlaygroundSamplesParameters.`ext`: org.gradle.api.plugins.ExtraPropertiesExtension get() = + (this as org.gradle.api.plugins.ExtensionAware).extensions.getByName("ext") as org.gradle.api.plugins.ExtraPropertiesExtension + val org.jetbrains.dokka.gradle.engine.plugins.DokkaVersioningPluginParameters.`ext`: org.gradle.api.plugins.ExtraPropertiesExtension get() = (this as org.gradle.api.plugins.ExtensionAware).extensions.getByName("ext") as org.gradle.api.plugins.ExtraPropertiesExtension diff --git a/dokka-runners/dokka-gradle-plugin/src/testFunctional/resources/KotlinDslAccessorsTest/subproject-hello.txt b/dokka-runners/dokka-gradle-plugin/src/testFunctional/resources/KotlinDslAccessorsTest/subproject-hello.txt index 1a4669182d..0cea598581 100644 --- a/dokka-runners/dokka-gradle-plugin/src/testFunctional/resources/KotlinDslAccessorsTest/subproject-hello.txt +++ b/dokka-runners/dokka-gradle-plugin/src/testFunctional/resources/KotlinDslAccessorsTest/subproject-hello.txt @@ -1236,6 +1236,9 @@ fun org.gradle.api.ExtensiblePolymorphicDomainObjectContainer.`html`(configure: Action): Unit = (this as org.gradle.api.plugins.ExtensionAware).extensions.configure("html", configure) +fun org.gradle.api.ExtensiblePolymorphicDomainObjectContainer.`kotlinPlaygroundSamples`(configure: Action): Unit = + (this as org.gradle.api.plugins.ExtensionAware).extensions.configure("kotlinPlaygroundSamples", configure) + fun org.gradle.api.ExtensiblePolymorphicDomainObjectContainer.`versioning`(configure: Action): Unit = (this as org.gradle.api.plugins.ExtensionAware).extensions.configure("versioning", configure) @@ -1263,6 +1266,9 @@ fun org.jetbrains.dokka.gradle.DokkaExtension.`pluginsConfiguration`(configure: fun org.jetbrains.dokka.gradle.engine.plugins.DokkaHtmlPluginParameters.`ext`(configure: Action): Unit = (this as org.gradle.api.plugins.ExtensionAware).extensions.configure("ext", configure) +fun org.jetbrains.dokka.gradle.engine.plugins.DokkaKotlinPlaygroundSamplesParameters.`ext`(configure: Action): Unit = + (this as org.gradle.api.plugins.ExtensionAware).extensions.configure("ext", configure) + fun org.jetbrains.dokka.gradle.engine.plugins.DokkaVersioningPluginParameters.`ext`(configure: Action): Unit = (this as org.gradle.api.plugins.ExtensionAware).extensions.configure("ext", configure) @@ -1296,6 +1302,9 @@ val org.gradle.api.ExtensiblePolymorphicDomainObjectContainer.`html`: org.jetbrains.dokka.gradle.engine.plugins.DokkaHtmlPluginParameters get() = (this as org.gradle.api.plugins.ExtensionAware).extensions.getByName("html") as org.jetbrains.dokka.gradle.engine.plugins.DokkaHtmlPluginParameters +val org.gradle.api.ExtensiblePolymorphicDomainObjectContainer.`kotlinPlaygroundSamples`: org.jetbrains.dokka.gradle.engine.plugins.DokkaKotlinPlaygroundSamplesParameters get() = + (this as org.gradle.api.plugins.ExtensionAware).extensions.getByName("kotlinPlaygroundSamples") as org.jetbrains.dokka.gradle.engine.plugins.DokkaKotlinPlaygroundSamplesParameters + val org.gradle.api.ExtensiblePolymorphicDomainObjectContainer.`versioning`: org.jetbrains.dokka.gradle.engine.plugins.DokkaVersioningPluginParameters get() = (this as org.gradle.api.plugins.ExtensionAware).extensions.getByName("versioning") as org.jetbrains.dokka.gradle.engine.plugins.DokkaVersioningPluginParameters @@ -1407,5 +1416,8 @@ val org.jetbrains.dokka.gradle.DokkaExtension.`pluginsConfiguration`: org.gradle val org.jetbrains.dokka.gradle.engine.plugins.DokkaHtmlPluginParameters.`ext`: org.gradle.api.plugins.ExtraPropertiesExtension get() = (this as org.gradle.api.plugins.ExtensionAware).extensions.getByName("ext") as org.gradle.api.plugins.ExtraPropertiesExtension +val org.jetbrains.dokka.gradle.engine.plugins.DokkaKotlinPlaygroundSamplesParameters.`ext`: org.gradle.api.plugins.ExtraPropertiesExtension get() = + (this as org.gradle.api.plugins.ExtensionAware).extensions.getByName("ext") as org.gradle.api.plugins.ExtraPropertiesExtension + val org.jetbrains.dokka.gradle.engine.plugins.DokkaVersioningPluginParameters.`ext`: org.gradle.api.plugins.ExtraPropertiesExtension get() = (this as org.gradle.api.plugins.ExtensionAware).extensions.getByName("ext") as org.gradle.api.plugins.ExtraPropertiesExtension diff --git a/dokka-subprojects/README.md b/dokka-subprojects/README.md index 855a008303..4cc120b46f 100644 --- a/dokka-subprojects/README.md +++ b/dokka-subprojects/README.md @@ -11,6 +11,7 @@ | [plugin-javadoc](plugin-javadoc) | Provides the ability to generate documentation in Javadoc format. | | [plugin-jekyll](plugin-jekyll) | Provides the ability to generate documentation in `Jekyll Flavoured Markdown` format. | | [plugin-kotlin-as-java](plugin-kotlin-as-java) | Renders all Kotlin signatures as Java signatures. | +| [plugin-kotlin-playground-samples](plugin-kotlin-playground-samples) | Makes @sample code blocks interactive and runnable using Kotlin Playground. | | [plugin-mathjax](plugin-mathjax) | Allows rendering mathematics in the web pages. | | [plugin-templating](plugin-templating) | An internal Dokka plugin that handles HTML template processing. | | [plugin-versioning](plugin-versioning) | Provides the ability to host documentation for multiple versions of your library/application. | diff --git a/dokka-subprojects/plugin-base/src/main/kotlin/org/jetbrains/dokka/base/renderers/html/HtmlRenderer.kt b/dokka-subprojects/plugin-base/src/main/kotlin/org/jetbrains/dokka/base/renderers/html/HtmlRenderer.kt index ee5f22ec0d..cd0a388704 100644 --- a/dokka-subprojects/plugin-base/src/main/kotlin/org/jetbrains/dokka/base/renderers/html/HtmlRenderer.kt +++ b/dokka-subprojects/plugin-base/src/main/kotlin/org/jetbrains/dokka/base/renderers/html/HtmlRenderer.kt @@ -870,12 +870,7 @@ public open class HtmlRenderer( code.children.forEach { buildContentNode(it, pageContext) } } } - /* - Disable copy button on samples as: - - it is useless - - it overflows with playground's run button - */ - if (!code.style.contains(ContentStyle.RunnableSample)) copyButton() + copyButton() } } diff --git a/dokka-subprojects/plugin-base/src/main/kotlin/org/jetbrains/dokka/base/transformers/pages/DefaultSamplesTransformer.kt b/dokka-subprojects/plugin-base/src/main/kotlin/org/jetbrains/dokka/base/transformers/pages/DefaultSamplesTransformer.kt index aadab12f5c..f115819e0c 100644 --- a/dokka-subprojects/plugin-base/src/main/kotlin/org/jetbrains/dokka/base/transformers/pages/DefaultSamplesTransformer.kt +++ b/dokka-subprojects/plugin-base/src/main/kotlin/org/jetbrains/dokka/base/transformers/pages/DefaultSamplesTransformer.kt @@ -17,8 +17,6 @@ import org.jetbrains.dokka.transformers.pages.PageTransformer import org.jetbrains.dokka.analysis.kotlin.sample.SampleAnalysisEnvironmentCreator import org.jetbrains.dokka.analysis.kotlin.sample.SampleSnippet -internal const val KOTLIN_PLAYGROUND_SCRIPT = "https://unpkg.com/kotlin-playground@1/dist/playground.min.js" - /** * It works ONLY with a content model from the base plugin. */ @@ -44,69 +42,33 @@ internal class DefaultSamplesTransformer(val context: DokkaContext) : PageTransf } page.modified( - content = newContent, - embeddedResources = page.embeddedResources + KOTLIN_PLAYGROUND_SCRIPT + content = newContent ) } } } + private fun ContentNode.addSample( contentPage: ContentPage, fqLink: String, sample: SampleSnippet, ): ContentNode { - val node = contentCode(contentPage.content.sourceSets, contentPage.dri, createSampleBody(sample.imports, sample.body), "kotlin") + val node = contentCode(contentPage.content.sourceSets, contentPage.dri, sample.body, "kotlin") return dfs(fqLink, node) } - /** - * If both [imports] and [body] are present, it should return - * - * ```kotlin - * import com.example.One - * import com.example.Two - * - * fun main() { - * //sampleStart - * println("Sample function body") - * println("Another line") - * //sampleEnd - * } - * ``` - * - * If [imports] are empty, it should return: - * - * ```kotlin - * fun main() { - * //sampleStart - * println("Sample function body") - * println("Another line") - * //sampleEnd - * } - * ``` - * - * Notice the presence/absence of the new line before the body. - */ - private fun createSampleBody(imports: List, body: String) = - // takeIf {} is needed so that joinToString's postfix is not added for empty lists, - // and trimMargin() then removes the first empty line - """ |${imports.takeIf { it.isNotEmpty() }?.joinToString(separator = "\n", postfix = "\n") { "import $it" } ?: "" } - |fun main() { - | //sampleStart - | $body - | //sampleEnd - |}""".trimMargin() - private fun ContentNode.dfs(fqName: String, node: ContentCodeBlock): ContentNode { return when (this) { is ContentHeader -> copy(children.map { it.dfs(fqName, node) }) is ContentDivergentGroup -> @Suppress("UNCHECKED_CAST") copy(children.map { it.dfs(fqName, node) } as List) + is ContentDivergentInstance -> copy( before.let { it?.dfs(fqName, node) }, divergent.dfs(fqName, node), after.let { it?.dfs(fqName, node) }) + is ContentCodeBlock -> copy(children.map { it.dfs(fqName, node) }) is ContentCodeInline -> copy(children.map { it.dfs(fqName, node) }) is ContentDRILink -> copy(children.map { it.dfs(fqName, node) }) @@ -143,7 +105,7 @@ internal class DefaultSamplesTransformer(val context: DokkaContext) : PageTransf language = language, dci = DCI(dri, ContentKind.Sample), sourceSets = sourceSets, - style = styles + ContentStyle.RunnableSample + TextStyle.Monospace, + style = styles + TextStyle.Monospace, extra = extra ) } diff --git a/dokka-subprojects/plugin-base/src/main/kotlin/org/jetbrains/dokka/base/translators/documentables/DescriptionSections.kt b/dokka-subprojects/plugin-base/src/main/kotlin/org/jetbrains/dokka/base/translators/documentables/DescriptionSections.kt index 91f9bdd70b..17e1623c38 100644 --- a/dokka-subprojects/plugin-base/src/main/kotlin/org/jetbrains/dokka/base/translators/documentables/DescriptionSections.kt +++ b/dokka-subprojects/plugin-base/src/main/kotlin/org/jetbrains/dokka/base/translators/documentables/DescriptionSections.kt @@ -230,7 +230,7 @@ internal fun PageContentBuilder.DocumentableContentBuilder.samplesSectionContent group( sourceSets = setOf(sourceSet), kind = ContentKind.Sample, - styles = setOf(TextStyle.Monospace, ContentStyle.RunnableSample), + styles = setOf(TextStyle.Monospace), ) { samples.filter { it.value.isEmpty() || sourceSet in it.value } .forEach { text(text = it.key, sourceSets = setOf(sourceSet)) } diff --git a/dokka-subprojects/plugin-base/src/main/resources/dokka/scripts/platform-content-handler.js b/dokka-subprojects/plugin-base/src/main/resources/dokka/scripts/platform-content-handler.js index 44e7231137..ada75ff34e 100644 --- a/dokka-subprojects/plugin-base/src/main/resources/dokka/scripts/platform-content-handler.js +++ b/dokka-subprojects/plugin-base/src/main/resources/dokka/scripts/platform-content-handler.js @@ -9,12 +9,8 @@ filteringContext = { } let highlightedAnchor; let topNavbarOffset; -let instances = []; let sourcesetNotification; -const samplesDarkThemeName = 'darcula' -const samplesLightThemeName = 'idea' - window.addEventListener('load', () => { document.querySelectorAll("div[data-platform-hinted]") .forEach(elem => elem.addEventListener('click', (event) => togglePlatformDependent(event, elem))) @@ -37,7 +33,11 @@ const darkModeSwitch = () => { const osDarkSchemePreferred = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches const darkModeEnabled = storage ? JSON.parse(storage) : osDarkSchemePreferred const element = document.getElementById("theme-toggle-button") - initPlayground(darkModeEnabled ? samplesDarkThemeName : samplesLightThemeName) + + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) + } element.addEventListener('click', () => { const enabledClasses = document.getElementsByTagName("html")[0].classList @@ -45,52 +45,14 @@ const darkModeSwitch = () => { //if previously we had saved dark theme then we set it to light as this is what we save in local storage const darkModeEnabled = enabledClasses.contains("theme-dark") - if (darkModeEnabled) { - initPlayground(samplesDarkThemeName) - } else { - initPlayground(samplesLightThemeName) + // Notify external scripts about changing dark mode, runnable samples plugin depends on this + if (window.onDarkModeChanged) { + window.onDarkModeChanged(darkModeEnabled) } safeLocalStorage.setItem(localStorageKey, JSON.stringify(darkModeEnabled)) }) } -const initPlayground = (theme) => { - if (!samplesAreEnabled()) return - instances.forEach(instance => instance.destroy()) - instances = [] - - // Manually tag code fragments as not processed by playground since we also manually destroy all of its instances - document.querySelectorAll('code.runnablesample').forEach(node => { - node.removeAttribute("data-kotlin-playground-initialized"); - - if (node.parentNode) { - node.parentNode.setAttribute("runnable-code-sample", ""); - } - }) - - KotlinPlayground('code.runnablesample', { - getInstance: playgroundInstance => { - instances.push(playgroundInstance) - }, - theme: theme - }); -} - -// We check if type is accessible from the current scope to determine if samples script is present -// As an alternative we could extract this samples-specific script to new js file but then we would handle dark mode in 2 separate files which is not ideal -const samplesAreEnabled = () => { - try { - if (typeof KotlinPlayground === 'undefined') { - // KotlinPlayground is exported universally as a global variable or as a module - // Due to possible interaction with other js scripts KotlinPlayground may not be accessible directly from `window`, so we need an additional check - KotlinPlayground = exports.KotlinPlayground; - } - return typeof KotlinPlayground === 'function'; - } catch (e) { - return false - } -} - // Hash change is needed in order to allow for linking inside the same page with anchors // If this is not present user is forced to refresh the site in order to use an anchor window.onhashchange = handleAnchor @@ -278,16 +240,6 @@ function refreshFiltering() { refreshFilterButtons() refreshPlatformTabs() refreshNoContentNotification() - refreshPlaygroundSamples() -} - -function refreshPlaygroundSamples() { - document.querySelectorAll('code.runnablesample').forEach(node => { - const playground = node.KotlinPlayground; - /* Some samples may be hidden by filter, they have 0px height for visible code area - * after rendering. Call this method for re-calculate code area height */ - playground && playground.view.codemirror.refresh(); - }); } function refreshNoContentNotification() { diff --git a/dokka-subprojects/plugin-base/src/main/resources/dokka/styles/style.css b/dokka-subprojects/plugin-base/src/main/resources/dokka/styles/style.css index a5762e4c27..1eee255ada 100644 --- a/dokka-subprojects/plugin-base/src/main/resources/dokka/styles/style.css +++ b/dokka-subprojects/plugin-base/src/main/resources/dokka/styles/style.css @@ -452,7 +452,3 @@ Just in case of possible performance degradation it excluding tabs with briefs o font-size: 20px; font-weight: 600; } - -div.runnablesample { - height: fit-content; -} diff --git a/dokka-subprojects/plugin-base/src/test/kotlin/content/samples/ContentForSamplesTest.kt b/dokka-subprojects/plugin-base/src/test/kotlin/content/samples/ContentForSamplesTest.kt index be2a79ce21..12098852b1 100644 --- a/dokka-subprojects/plugin-base/src/test/kotlin/content/samples/ContentForSamplesTest.kt +++ b/dokka-subprojects/plugin-base/src/test/kotlin/content/samples/ContentForSamplesTest.kt @@ -6,16 +6,13 @@ package content.samples import matchers.content.* import org.jetbrains.dokka.base.testApi.testRunner.BaseAbstractTest -import org.jetbrains.dokka.base.transformers.pages.KOTLIN_PLAYGROUND_SCRIPT import org.jetbrains.dokka.model.DisplaySourceSet import utils.TestOutputWriterPlugin -import utils.assertContains import utils.classSignature import utils.findTestType import java.nio.file.Paths import kotlin.test.Test import kotlin.test.assertEquals -import kotlin.test.assertNotEquals class ContentForSamplesTest : BaseAbstractTest() { private val testDataDir = getTestDataDir("content/samples").toAbsolutePath() @@ -78,7 +75,6 @@ class ContentForSamplesTest : BaseAbstractTest() { ) { pagesTransformationStage = { module -> val page = module.findTestType("test", "Foo") - assertContains(page.embeddedResources, KOTLIN_PLAYGROUND_SCRIPT) page.content.assertNode { group { header(1) { +"Foo" } @@ -93,12 +89,7 @@ class ContentForSamplesTest : BaseAbstractTest() { header(4) { +"Samples" } group { codeBlock { - +"""| - |fun main() { - | //sampleStart - | print("Hello") - | //sampleEnd - |}""".trimMargin() + +"""print("Hello")""".trimMargin() } } } @@ -106,9 +97,6 @@ class ContentForSamplesTest : BaseAbstractTest() { skipAllNotMatching() } } - renderingStage = { _, _ -> - assertNotEquals(-1, writerPlugin.writer.contents["root/test/-foo/index.html"]?.indexOf(KOTLIN_PLAYGROUND_SCRIPT)) - } } } @@ -142,7 +130,6 @@ class ContentForSamplesTest : BaseAbstractTest() { ) { pagesTransformationStage = { module -> val page = module.findTestType("pageMerger", "Parent") - assertContains(page.embeddedResources, KOTLIN_PLAYGROUND_SCRIPT) page.content.assertNode { group { header(1) { +"Parent" } @@ -168,12 +155,7 @@ class ContentForSamplesTest : BaseAbstractTest() { header(4) { +"Samples" } group { codeBlock { - +"""| - |fun main() { - | //sampleStart - | print("Hello") - | //sampleEnd - |}""".trimMargin() + +"""print("Hello")""".trimMargin() } check { sourceSets.assertSourceSet("common") diff --git a/dokka-subprojects/plugin-base/src/test/kotlin/linkableContent/LinkableContentTest.kt b/dokka-subprojects/plugin-base/src/test/kotlin/linkableContent/LinkableContentTest.kt index f529a2b0c7..327f4a2a1f 100644 --- a/dokka-subprojects/plugin-base/src/test/kotlin/linkableContent/LinkableContentTest.kt +++ b/dokka-subprojects/plugin-base/src/test/kotlin/linkableContent/LinkableContentTest.kt @@ -211,16 +211,8 @@ class LinkableContentTest : BaseAbstractTest() { .let { it as ContentCodeBlock }.children.single() .let { it as ContentText }.text assertEquals( - """ - |import p2.${name}Class - |import kotlin.collections.List - |import kotlin.collections.Map - | - |fun main() { - | //sampleStart - | ${name}Class().printWithExclamation("Hi, $name") - | //sampleEnd - |}""".trimMargin(), + """${name}Class().printWithExclamation("Hi, $name")""" + .trimMargin(), text ) } diff --git a/dokka-subprojects/plugin-kotlin-playground-samples/README.md b/dokka-subprojects/plugin-kotlin-playground-samples/README.md new file mode 100644 index 0000000000..d4e726df32 --- /dev/null +++ b/dokka-subprojects/plugin-kotlin-playground-samples/README.md @@ -0,0 +1,69 @@ +# Kotlin Playground Samples Plugin + +Dokka plugin that makes @sample code blocks interactive and runnable using [Kotlin Playground](https://github.com/JetBrains/kotlin-playground). + +## Applying the plugin +Plugin works out of the box without any additional configuration required. + +You can apply the Kotlin Playground Samples plugin the same way as other Dokka plugins: + +
+Kotlin + +```kotlin +dependencies { + dokkaHtmlPlugin("org.jetbrains.dokka:kotlin-playground-samples-plugin") +} +``` +
+ +
+Groovy + +```groovy +dependencies { + dokkaHtmlPlugin 'org.jetbrains.dokka:kotlin-playground-samples-plugin' +} +``` +
+ +
+Maven + +```xml + + org.jetbrains.dokka + dokka-maven-plugin + ... + + + + org.jetbrains.dokka + kotlin-playground-samples-plugin + 2.1.0 + + + + +``` +
+ +## Configuration (Optional) +You can specify the Kotlin Playground JS script and the Kotlin Playground server. Otherwise, default values are used. + +| Option | Description | +|--------------------------|----------------------------------------------------------------------------------------------------------| +| `kotlinPlaygroundScript` | URL to the Kotlin Playground JS script. | +| `kotlinPlaygroundServer` | URL to the Kotlin Playground server for running and compiling samples. Used by Kotlin Playground script. | + +### Configuration example using Dokka Gradle Plugin v2: +```kotlin +dokka { + pluginsConfiguration { + kotlinPlaygroundSamples { + kotlinPlaygroundScript = "https://customKotlinPlaygroundScript/example.js" + kotlinPlaygroundServer = "https://kotlinPlaygroundServer.example.com/" + } + } +} +``` diff --git a/dokka-subprojects/plugin-kotlin-playground-samples/api/plugin-kotlin-playground-samples.api b/dokka-subprojects/plugin-kotlin-playground-samples/api/plugin-kotlin-playground-samples.api new file mode 100644 index 0000000000..6c99c18f13 --- /dev/null +++ b/dokka-subprojects/plugin-kotlin-playground-samples/api/plugin-kotlin-playground-samples.api @@ -0,0 +1,29 @@ +public final class org/jetbrains/dokka/kotlinPlaygroundSamples/KotlinPlaygroundSamplesConfiguration : org/jetbrains/dokka/plugability/ConfigurableBlock { + public static final field Companion Lorg/jetbrains/dokka/kotlinPlaygroundSamples/KotlinPlaygroundSamplesConfiguration$Companion; + public static final field defaultKotlinPlaygroundScript Ljava/lang/String; + public fun ()V + public fun (Ljava/lang/String;Ljava/lang/String;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;)Lorg/jetbrains/dokka/kotlinPlaygroundSamples/KotlinPlaygroundSamplesConfiguration; + public static synthetic fun copy$default (Lorg/jetbrains/dokka/kotlinPlaygroundSamples/KotlinPlaygroundSamplesConfiguration;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lorg/jetbrains/dokka/kotlinPlaygroundSamples/KotlinPlaygroundSamplesConfiguration; + public fun equals (Ljava/lang/Object;)Z + public final fun getKotlinPlaygroundScript ()Ljava/lang/String; + public final fun getKotlinPlaygroundServer ()Ljava/lang/String; + public fun hashCode ()I + public final fun setKotlinPlaygroundScript (Ljava/lang/String;)V + public final fun setKotlinPlaygroundServer (Ljava/lang/String;)V + public fun toString ()Ljava/lang/String; +} + +public final class org/jetbrains/dokka/kotlinPlaygroundSamples/KotlinPlaygroundSamplesConfiguration$Companion { +} + +public final class org/jetbrains/dokka/kotlinPlaygroundSamples/KotlinPlaygroundSamplesPlugin : org/jetbrains/dokka/plugability/DokkaPlugin { + public fun ()V + public final fun getKotlinPlaygroundSamplesScriptsInstaller ()Lorg/jetbrains/dokka/plugability/Extension; + public final fun getKotlinPlaygroundSamplesStylesInstaller ()Lorg/jetbrains/dokka/plugability/Extension; + public final fun getKotlinPlaygroundSamplesTransformer ()Lorg/jetbrains/dokka/plugability/Extension; +} + diff --git a/dokka-subprojects/plugin-kotlin-playground-samples/build.gradle.kts b/dokka-subprojects/plugin-kotlin-playground-samples/build.gradle.kts new file mode 100644 index 0000000000..fe3a1b09a9 --- /dev/null +++ b/dokka-subprojects/plugin-kotlin-playground-samples/build.gradle.kts @@ -0,0 +1,26 @@ +/* + * Copyright 2014-2025 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +import dokkabuild.overridePublicationArtifactId + +plugins { + id("dokkabuild.kotlin-jvm") + id("dokkabuild.publish-jvm") + id("dokkabuild.test-k2") +} + +overridePublicationArtifactId("kotlin-playground-samples-plugin") + +dependencies { + compileOnly(projects.dokkaSubprojects.dokkaCore) + compileOnly(projects.dokkaSubprojects.analysisKotlinApi) + + implementation(projects.dokkaSubprojects.pluginBase) + + testImplementation(libs.kotlin.test) + testImplementation(projects.dokkaSubprojects.dokkaTestApi) + testImplementation(projects.dokkaSubprojects.pluginBaseTestUtils) + symbolsTestImplementation(project(path = ":dokka-subprojects:analysis-kotlin-symbols", configuration = "shadow")) + descriptorsTestImplementation(project(path = ":dokka-subprojects:analysis-kotlin-descriptors", configuration = "shadow")) +} diff --git a/dokka-subprojects/plugin-kotlin-playground-samples/src/main/kotlin/org/jetbrains/dokka/kotlinPlaygroundSamples/KotlinPlaygroundSamplesConfiguration.kt b/dokka-subprojects/plugin-kotlin-playground-samples/src/main/kotlin/org/jetbrains/dokka/kotlinPlaygroundSamples/KotlinPlaygroundSamplesConfiguration.kt new file mode 100644 index 0000000000..94eb4a5c01 --- /dev/null +++ b/dokka-subprojects/plugin-kotlin-playground-samples/src/main/kotlin/org/jetbrains/dokka/kotlinPlaygroundSamples/KotlinPlaygroundSamplesConfiguration.kt @@ -0,0 +1,17 @@ +/* + * Copyright 2014-2025 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +package org.jetbrains.dokka.kotlinPlaygroundSamples + +import org.jetbrains.dokka.plugability.ConfigurableBlock + +public data class KotlinPlaygroundSamplesConfiguration( + var kotlinPlaygroundScript: String = defaultKotlinPlaygroundScript, + var kotlinPlaygroundServer: String? = null +) : ConfigurableBlock { + public companion object { + public const val defaultKotlinPlaygroundScript: String = + "https://unpkg.com/kotlin-playground@1/dist/playground.min.js" + } +} diff --git a/dokka-subprojects/plugin-kotlin-playground-samples/src/main/kotlin/org/jetbrains/dokka/kotlinPlaygroundSamples/KotlinPlaygroundSamplesInstaller.kt b/dokka-subprojects/plugin-kotlin-playground-samples/src/main/kotlin/org/jetbrains/dokka/kotlinPlaygroundSamples/KotlinPlaygroundSamplesInstaller.kt new file mode 100644 index 0000000000..f700455a93 --- /dev/null +++ b/dokka-subprojects/plugin-kotlin-playground-samples/src/main/kotlin/org/jetbrains/dokka/kotlinPlaygroundSamples/KotlinPlaygroundSamplesInstaller.kt @@ -0,0 +1,66 @@ +/* + * Copyright 2014-2025 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +package org.jetbrains.dokka.kotlinPlaygroundSamples + +import org.jetbrains.dokka.pages.* +import org.jetbrains.dokka.plugability.DokkaContext +import org.jetbrains.dokka.plugability.configuration +import org.jetbrains.dokka.transformers.pages.PageTransformer + +internal class KotlinPlaygroundSamplesScriptsInstaller(private val dokkaContext: DokkaContext) : PageTransformer { + + private val kotlinPlaygroundServer = + configuration(dokkaContext)?.kotlinPlaygroundServer + + private val scriptsPages = listOf( + "scripts/kotlin-playground-samples.js" + ) + + override fun invoke(input: RootPageNode): RootPageNode = + input.let { root -> + if (dokkaContext.configuration.delayTemplateSubstitution) root + else { + if (kotlinPlaygroundServer == null) { + root.modified(children = input.children + scriptsPages.toRenderSpecificResourcePage()) + } else { + val modifiedScript = modifyScript() + + root.modified(children = input.children + scriptsPages.map { + RendererSpecificResourcePage( + it, + emptyList(), + RenderingStrategy.Write(modifiedScript) + ) + }) + } + } + } + + private fun modifyScript(): String { + val scriptContent = javaClass.getResource("/dokka/${scriptsPages.first()}") + ?.readText() + ?: throw IllegalStateException("Script /dokka/${scriptsPages.first()} not found in resources") + + return scriptContent.replace( + "const kotlinPlaygroundServer = null", + "const kotlinPlaygroundServer = \"$kotlinPlaygroundServer\"" + ) + } +} + +internal class KotlinPlaygroundSamplesStylesInstaller(private val dokkaContext: DokkaContext) : PageTransformer { + private val stylesPages = listOf( + "styles/kotlin-playground-samples.css" + ) + + override fun invoke(input: RootPageNode): RootPageNode = + input.let { root -> + if (dokkaContext.configuration.delayTemplateSubstitution) root + else root.modified(children = input.children + stylesPages.toRenderSpecificResourcePage()) + } +} + +private fun List.toRenderSpecificResourcePage(): List = + map { RendererSpecificResourcePage(it, emptyList(), RenderingStrategy.Copy("/dokka/$it")) } diff --git a/dokka-subprojects/plugin-kotlin-playground-samples/src/main/kotlin/org/jetbrains/dokka/kotlinPlaygroundSamples/KotlinPlaygroundSamplesPlugin.kt b/dokka-subprojects/plugin-kotlin-playground-samples/src/main/kotlin/org/jetbrains/dokka/kotlinPlaygroundSamples/KotlinPlaygroundSamplesPlugin.kt new file mode 100644 index 0000000000..a754cfd86f --- /dev/null +++ b/dokka-subprojects/plugin-kotlin-playground-samples/src/main/kotlin/org/jetbrains/dokka/kotlinPlaygroundSamples/KotlinPlaygroundSamplesPlugin.kt @@ -0,0 +1,39 @@ +/* + * Copyright 2014-2025 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +package org.jetbrains.dokka.kotlinPlaygroundSamples + +import org.jetbrains.dokka.CoreExtensions +import org.jetbrains.dokka.base.DokkaBase +import org.jetbrains.dokka.plugability.DokkaPlugin +import org.jetbrains.dokka.plugability.PluginApiPreviewAcknowledgement +import org.jetbrains.dokka.plugability.DokkaPluginApiPreview +import org.jetbrains.dokka.plugability.Extension +import org.jetbrains.dokka.transformers.pages.PageTransformer + +public class KotlinPlaygroundSamplesPlugin : DokkaPlugin() { + + private val dokkaBase by lazy { plugin() } + + public val kotlinPlaygroundSamplesTransformer: Extension by extending { + CoreExtensions.pageTransformer providing ::KotlinPlaygroundSamplesTransformer override dokkaBase.defaultSamplesTransformer + } + + public val kotlinPlaygroundSamplesScriptsInstaller: Extension by extending { + dokkaBase.htmlPreprocessors providing ::KotlinPlaygroundSamplesScriptsInstaller order { + after(dokkaBase.scriptsInstaller) + before(dokkaBase.customResourceInstaller) + } + } + + public val kotlinPlaygroundSamplesStylesInstaller: Extension by extending { + dokkaBase.htmlPreprocessors providing ::KotlinPlaygroundSamplesStylesInstaller order { + after(dokkaBase.stylesInstaller) + before(dokkaBase.customResourceInstaller) + } + } + + @DokkaPluginApiPreview + override fun pluginApiPreviewAcknowledgement(): PluginApiPreviewAcknowledgement = PluginApiPreviewAcknowledgement +} diff --git a/dokka-subprojects/plugin-kotlin-playground-samples/src/main/kotlin/org/jetbrains/dokka/kotlinPlaygroundSamples/KotlinPlaygroundSamplesTransformer.kt b/dokka-subprojects/plugin-kotlin-playground-samples/src/main/kotlin/org/jetbrains/dokka/kotlinPlaygroundSamples/KotlinPlaygroundSamplesTransformer.kt new file mode 100644 index 0000000000..6e7582bb0c --- /dev/null +++ b/dokka-subprojects/plugin-kotlin-playground-samples/src/main/kotlin/org/jetbrains/dokka/kotlinPlaygroundSamples/KotlinPlaygroundSamplesTransformer.kt @@ -0,0 +1,168 @@ +/* + * Copyright 2014-2025 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. + */ + +package org.jetbrains.dokka.kotlinPlaygroundSamples + +import org.jetbrains.dokka.analysis.kotlin.KotlinAnalysisPlugin +import org.jetbrains.dokka.analysis.kotlin.sample.SampleAnalysisEnvironmentCreator +import org.jetbrains.dokka.analysis.kotlin.sample.SampleSnippet +import org.jetbrains.dokka.links.DRI +import org.jetbrains.dokka.model.DisplaySourceSet +import org.jetbrains.dokka.model.doc.Sample +import org.jetbrains.dokka.model.properties.PropertyContainer +import org.jetbrains.dokka.pages.* +import org.jetbrains.dokka.plugability.DokkaContext +import org.jetbrains.dokka.plugability.plugin +import org.jetbrains.dokka.plugability.querySingle +import org.jetbrains.dokka.plugability.configuration +import org.jetbrains.dokka.transformers.pages.PageTransformer + +/** + * Replaces DefaultSamplesTransformer, adds runnable samples functionality with Kotlin Playground. + */ +internal class KotlinPlaygroundSamplesTransformer(val context: DokkaContext) : PageTransformer { + + private val sampleAnalysisEnvironment: SampleAnalysisEnvironmentCreator = + context.plugin().querySingle { sampleAnalysisEnvironmentCreator } + + private val config = configuration(context) + + private val kotlinPlaygroundScript = config?.kotlinPlaygroundScript + ?: KotlinPlaygroundSamplesConfiguration.defaultKotlinPlaygroundScript + + private val kotlinPlaygroundSamplesResources = listOf( + "scripts/kotlin-playground-samples.js", + "styles/kotlin-playground-samples.css" + ) + + override fun invoke(input: RootPageNode): RootPageNode { + return sampleAnalysisEnvironment.use { + input.transformContentPagesTree { page -> + val samples = (page as? WithDocumentables)?.documentables?.flatMap { + it.documentation.entries.flatMap { entry -> + entry.value.children.filterIsInstance().map { entry.key to it } + } + } ?: return@transformContentPagesTree page + + val newContent = samples.fold(page.content) { acc, (sampleSourceSet, sample) -> + resolveSample(sampleSourceSet, sample.name) + ?.let { + acc.addSample(page, sample.name, it) + } ?: acc + } + + page.modified( + content = newContent, + embeddedResources = page.embeddedResources + kotlinPlaygroundScript + kotlinPlaygroundSamplesResources + ) + } + } + } + + private fun ContentNode.addSample( + contentPage: ContentPage, + fqLink: String, + sample: SampleSnippet, + ): ContentNode { + val node = contentCode( + contentPage.content.sourceSets, + contentPage.dri, + createSampleBody(sample.imports, sample.body), + "kotlin" + ) + return dfs(fqLink, node) + } + + /** + * If both [imports] and [body] are present, it should return + * + * ```kotlin + * import com.example.One + * import com.example.Two + * + * fun main() { + * //sampleStart + * println("Sample function body") + * println("Another line") + * //sampleEnd + * } + * ``` + * + * If [imports] are empty, it should return: + * + * ```kotlin + * fun main() { + * //sampleStart + * println("Sample function body") + * println("Another line") + * //sampleEnd + * } + * ``` + * + * Notice the presence/absence of the new line before the body. + */ + private fun createSampleBody(imports: List, body: String) = + // takeIf {} is needed so that joinToString's postfix is not added for empty lists, + // and trimMargin() then removes the first empty line + """ |${ + imports.takeIf { it.isNotEmpty() }?.joinToString(separator = "\n", postfix = "\n") { "import $it" } ?: "" + } + |fun main() { + | //sampleStart + | $body + | //sampleEnd + |}""".trimMargin() + + private fun ContentNode.dfs(fqName: String, node: ContentCodeBlock): ContentNode { + return when (this) { + is ContentHeader -> copy(children.map { it.dfs(fqName, node) }) + is ContentDivergentGroup -> @Suppress("UNCHECKED_CAST") copy(children.map { + it.dfs(fqName, node) + } as List) + + is ContentDivergentInstance -> copy( + before.let { it?.dfs(fqName, node) }, + divergent.dfs(fqName, node), + after.let { it?.dfs(fqName, node) }) + + is ContentCodeBlock -> copy(children.map { it.dfs(fqName, node) }) + is ContentCodeInline -> copy(children.map { it.dfs(fqName, node) }) + is ContentDRILink -> copy(children.map { it.dfs(fqName, node) }) + is ContentResolvedLink -> copy(children.map { it.dfs(fqName, node) }) + is ContentEmbeddedResource -> copy(children.map { it.dfs(fqName, node) }) + is ContentTable -> copy(children = children.map { it.dfs(fqName, node) as ContentGroup }) + is ContentList -> copy(children.map { it.dfs(fqName, node) }) + is ContentGroup -> copy(children.map { it.dfs(fqName, node) }) + is PlatformHintedContent -> copy(inner.dfs(fqName, node)) + is ContentText -> if (text == fqName) node else this + is ContentBreakLine -> this + else -> this.also { context.logger.error("Could not recognize $this ContentNode in SamplesTransformer") } + } + } + + private fun contentCode( + sourceSets: Set, + dri: Set, + content: String, + language: String, + styles: Set