1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[7836],{91403:(e,t,i)=>{i.r(t),i.d(t,{default:()=>h,initMultiple:()=>d});var l=i(67232);const s="changed.of.check_tree",c='input[type="checkbox"]',n={},r={};class a extends l.A{constructor(e,t){super(e,t),this._fields=[...this._element.querySelectorAll(c)],this._togglers=[...this._element.querySelectorAll('button[type="button"]')],this._initFields(),this._initTogglers(),this._element.dispatchEvent(new CustomEvent("initialized.of.check_tree"))}static get Default(){return r}static get DefaultType(){return n}static get NAME(){return"check_tree"}getValue(){return this._collectValuesFromElement(this._element)}setValue(e,t=!0){this._fields.filter((e=>{e.checked=!1,e.indeterminate=!1})),this._fields.filter((t=>e.includes(t.value))).forEach((e=>{e.checked=!0,this._updateField(e)})),t&&this._element.dispatchEvent(new CustomEvent(s))}_initFields(){this._fields.forEach((e=>{e.checked&&this._updateField(e),e.addEventListener("change",(()=>{this._updateField(e),this._element.dispatchEvent(new CustomEvent(s))}))}))}_initTogglers(){this._togglers.forEach((e=>e.addEventListener("click",(()=>{"true"===e.ariaExpanded?this._collapseToggler(e):this._expandToggler(e)}))))}_collectValuesFromElement(e){const t=[],i=e.querySelectorAll(`:scope > li > * > ${c}`);for(const e of i)if(e.checked)t.push(e.value);else if((e.checked||e.indeterminate)&&!e.checked&&e.indeterminate){const i=this._getFieldSubtree(e);if(!i)continue;t.push(...this._collectValuesFromElement(i))}return t}_updateField(e){const t=this._getFieldSubtree(e);t&&t.querySelectorAll(c).forEach((t=>t.checked=e.checked)),this._getParentFields(e).forEach((e=>{const t=[...this._getFieldSubtree(e).querySelectorAll(c)],i=t.filter((e=>e.checked)).length;switch(!0){case i===t.length:e.checked=!0,e.indeterminate=!1;break;case i>0:e.checked=!1,e.indeterminate=!0;break;case 0===i:e.checked=!1,e.indeterminate=!1}}))}_getFieldSubtree(e){return e.closest("li").querySelector(":scope > ul")}_getParentFields(e){const t=[];let i=e.closest("li").parentElement;for(;i&&i!==this._element;
1)"LI"===i.tagName&&t.push(i.querySelector(`:scope > * > ${c}`)),i=i.parentElement;return t}_collapseToggler(e){e.ariaExpanded="false",e.parentElement.ariaExpanded="false"}_expandToggler(e){e.ariaExpanded="true",e.parentElement.ariaExpanded="true"}}function d(e){for(const t of e)a.getOrCreateInstance(t,t.dataset.ofCheckTree?JSON.parse(t.dataset.ofCheckTree):{})}const h=a}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.