/*!
 * KoliBri - The accessible HTML-Standard
 */
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});const index=require("./index-4e35d174.js"),componentNames=require("./component-names-7808fb62.js"),dev_utils=require("./dev.utils-cad0c4bb.js"),prop_validators=require("./prop.validators-37d21dea.js"),label=require("./label-d84e4f92.js"),open=require("./open-19fa99c9.js"),href=require("./href-50c41695.js");require("./reuse-8cfefa9b.js"),require("./dev.utils-58fde089.js"),require("./index-bf4a6924.js");const validateActive=(e,t,a)=>{prop_validators.watchBoolean(e,"_active",t,a)},KolTreeItemWc=class{constructor(e){index.registerInstance(this,e),this.groupId=`tree-group-${dev_utils.nonce()}`,this.level=void 0,this.state={_active:!1,_hasChildren:!1,_href:"",_label:"",_open:!1},this._active=void 0,this._label=void 0,this._open=void 0,this._href=void 0}render(){const{_href:e,_active:t,_hasChildren:a,_open:i,_label:s}=this.state;return index.h(index.Host,{key:"4364cb19591055058e8893714c9a6deaf0afdad1",onSlotchange:this.handleSlotchange.bind(this),class:"kol-tree-item-wc"},index.h("li",{key:"ad5d8a8054180d0bdec565fb1b2101045f7d343f",class:"tree-item",style:{"--level":`${this.level}`}},index.h(componentNames.KolLinkWcTag,{key:"901f2bc989fde2687e115056a67c6548ebbcc157",class:{"tree-link":!0,"first-level":0===this.level,active:Boolean(t)},_href:e,_label:"",_role:"treeitem",_tabIndex:t?0:-1,_ariaExpanded:a?i:void 0,_ariaOwns:a?this.groupId:void 0,ref:e=>this.linkElement=e},index.h("span",{key:"9870cc6ece0861216dc44fd9a24f6ad878dee8a5",slot:"expert"},a&&index.h("span",{key:"8d07da1ca25ea86118c8eac6400b46029137a544",class:"toggle-button",onClick:e=>i?void this.handleCollapseClick(e):void this.handleExpandClick(e)},index.h(componentNames.KolIconTag,{key:"95649317f4685ed2c46bb30feb65325e4125ab9b",class:"toggle-button-icon",_icons:"codicon codicon-"+(i?"chevron-down":"chevron-right"),_label:""}))," ",s)),index.h("ul",{key:"c9f1633a0884483d4a050d3c87b071a9ac179d22",hidden:!a||!i,role:"group",id:this.groupId},index.h("slot",{key:"67dda157773837ab70455a9457ca4ca8b783e532"}))))}validateActive(e){validateActive(this,e||!1)}validateLabel(e){label.validateLabel(this,e)}validateOpen(e){open.validateOpen(this,e)}validateHref(e){href.validateHref(this,e)}componentWillLoad(){this.validateActive(this._active),this.validateLabel(this._label),this.validateOpen(this._open),this.validateHref(this._href),this.checkForChildren(),this.determineTreeItemDepth()}determineTreeItemDepth(){let e=0,t=this.host.parentNode.host.parentNode;for(;null!==t&&t.tagName.toLowerCase()!==componentNames.KolTreeTag&&t!==document.body;)t=t.parentElement,e+=1;this.level=e}handleSlotchange(){this.checkForChildren()}checkForChildren(){var e,t;this.state=Object.assign(Object.assign({},this.state),{_hasChildren:Boolean(null===(t=null===(e=this.host.querySelector("slot"))||void 0===e?void 0:e.assignedElements)||void 0===t?void 0:t.call(e).length)})}async focusLink(){await this.linkElement.kolFocus()}async handleExpandClick(e){e.preventDefault(),await this.linkElement.kolFocus(),await this.expand()}async expand(){this.state._hasChildren&&(this.state=Object.assign(Object.assign({},this.state),{_open:!0}))}async handleCollapseClick(e){e.preventDefault(),this.linkElement.focus(),await this.collapse()}async collapse(){this.state._hasChildren&&(this.state=Object.assign(Object.assign({},this.state),{_open:!1}))}async isOpen(){var e;return null!==(e=this.state._open)&&void 0!==e&&e}get host(){return index.getElement(this)}static get watchers(){return{_active:["validateActive"],_label:["validateLabel"],_open:["validateOpen"],_href:["validateHref"]}}};exports.kol_tree_item_wc=KolTreeItemWc;