1import{Controller}from"@hotwired/stimulus";export default class extends Controller{static targets=["stylable"];static classes=["style","styleOff"];static values={animate:{type:Boolean,default:!1},transition:{type:String,default:"all .5s cubic-bezier(0.16, 1, 0.3, 1)"}};connect(){this.stylables=this.hasStylableTarget?this.stylableTargets:[this.element],this.animateValue&&this.hasTransitionValue&&this.stylables.forEach((s=>{s.style.transition=this.transitionValue}))}disconnect(){this.animateValue&&this.hasTransitionValue&&this.stylables.forEach((s=>{s.style.transition=null}))}add({params:{id:s,klass:t}}={params:{}}){this.stylables.forEach((a=>{this.#s(a,{id:s,klass:t})&&this.#t(a)}))}remove({params:{id:s,klass:t}}={params:{}}){this.stylables.forEach((a=>{this.#s(a,{id:s,klass:t})&&this.#a(a)}))}toggle({params:{id:s,klass:t}}={params:{}}){this.stylables.forEach((a=>{this.#s(a,{id:s,klass:t})&&(a.classList.contains(...this.styleClasses)?this.#a(a):this.#t(a))}))}switch({params:{id:s,klass:t}}={params:{}}){this.stylables.forEach((a=>{this.#s(a,{id:s,klass:t})?this.#t(a):this.#a(a)}))}#t(s){s.classList.add(...this.styleClasses),s.classList.remove(...this.styleOffClasses)}#a(s){s.classList.remove(...this.styleClasses),s.classList.add(...this.styleOffClasses)}#s(s,{id:t,klass:a}={}){return(null==t||s.id==t)&&(null==a||s.classList.contains(...this.#l(a)))}#l(s){return"string"==typeof s?s.split(" "):s}}
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.