PageSourceSearch

https://joineryclt.com/views/site/js/dist/scripts.min/893.js?id=a0fdcf5473594c76

js joineryclt.com collected 2026-10-04 06:49:53 UTC 7,297 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[893,1050,6723],{893:function(e,t,i){i.r(t),i.d(t,{default:function(){return l}});var s=i(1050),n=i(6723);class l{#e=null;#t=2e3;constructor(e){this.trigger=e,this.dialogue=new s.default(e,{className:n.default.copyLink.root,dismissAfter:7e3,alignY:"center",ariaLabel:"Copy link to clipboard"}),this.trigger.addEventListener("click",(e=>{e.stopPropagation(),this.dialogue.isOpen?this.dialogue.close():this.#i()}))}#s(){return this.trigger.getAttribute("data-jds-url")||window.location.href}async#n(){try{await navigator.clipboard.writeText(this.#s())}catch{const e=document.createElement("textarea");e.value=this.#s(),e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select(),document.execCommand("copy"),e.remove()}}async#i(){const e=this.#s(),t=document.createElement("div");t.innerHTML=`\n            <input class="${n.default.copyLink.input}" type="text" value="${e.replace(/"/g,"&quot;")}" readonly aria-label="Link URL" />\n            <button class="${n.default.copyLink.action}" aria-label="Copy link"></button>\n        `,this.dialogue.open(t);this.dialogue.el.querySelector(`.${n.default.copyLink.action}`).addEventListener("click",(()=>{this.#n(),this.#l(),this.dialogue.resetDismissTimer()}));const i=this.dialogue.el.querySelector(`.${n.default.copyLink.input}`);i.addEventListener("click",(()=>{i.select(),this.dialogue.resetDismissTimer()})),i.focus(),i.select(),await this.#n(),this.#l()}#l(){if(!this.dialogue.isOpen)return;const e=this.dialogue.el.querySelector(`.${n.default.copyLink.action}`);e.innerHTML='<i class="jds-icon-check"></i> <span role="status">Copied</span>',e.classList.add(n.default.copyLink.confirmed),this.#e&&clearTimeout(this.#e),this.#e=setTimeout((()=>{this.dialogue.isOpen&&(e.innerHTML='<i class="jds-icon-link"></i>',e.classList.remove(n.default.copyLink.confirmed))}),this.#t)}}},6723:function(e,t,i){i.r(t),t.default={utility:{collapsed:"jds-collapsed",expanded:"jds-expanded",collapsing:"jds-collapsing",expanding:"jds-expanding",active:"jds-active",valid:"jds-valid",invalid:"jds-invalid",validated:"jds-validated",disabled:"jds-disabled",colorScope:"jds-color-scope",colorScopeReset:"jds-color-scope-reset"},btn:{underlinedSmooth:"jds-btn-underlined-smooth"},form:{validated:"jds-form-validated",usingInfieldLabels:"jds-form-labels-infield",usingFloatingLabels:"jds-form-labels-floating",field:"jds-form-field",fieldFocused:"jds-form-field-focused",fieldFilled:"jds-form-field-filled",checkboxField:"jds-form-checkbox-field",select:"jds-form-select"},accordion:{item:"jds-accordion-item",header:"jds-accordion-header",body:"jds-accordion-body",itemCollapsed:"jds-accordion-item-collapsed",itemCollapsing:"jds-accordion-item-collapsing",itemExpanded:"jds-accordion-item-expanded",itemExpanding:"jds-accordion-item-expanding"},carousel:{active:"jds-carousel-active",item:"jds-carousel-item",dot:"jds-carousel-dot"},copyLink:{root:"jds-copy-link",input:"jds-copy-link-input",action:"jds-copy-link-action",confirmed:"jds-copy-link-confirmed"},pagination:{list:"jds-pagination",item:"jds-pagination-item",itemEllipsis:"jds-pagination-item-ellipsis",link:"jds-pagination-link",ellipsis:"jds-pagination-ellipsis"}}},1050:function(e,t,i){i.r(t),i.d(t,{default:function(){return n}});var s=i(6723);class n{#o=null;#r=null;#a=null;#d=null;#c=null;#h=null;#u=null;constructor(e,t={}){this.trigger=e,this.el=null,this.trigger.setAttribute("aria-expanded","false"),this.trigger.setAttribute("aria-haspopup","dialog"),this.options={content:null,className:"",dismissAfter:!1,ariaLabel:null,alignY:"top",gap:8,closeOnResize:!0,closeOnClickOutside:!0,closeOnEscape:!0,followOnScroll:!0,scrollFadeDistance:50,onOpen:null,onClose:null,...t}}get isOpen(){return null!==this.el}open(e){if(this.close(),this.el=e||this.options.content,!this.el)return this;this.options.className&&this.el.classList.add(...this.options.className.split(/\s+/).filter(Boolean));const t=`jds-dialogue-${crypto.randomUUID().slice(0,8)}`;this.el.setAttribute("role","dialog"),this.el.id=t,this.options.ariaLabel&&this.el.setAttribute("aria-label",this.options.ariaLabel),this.trigger.setAttribute("aria-expanded","true"),this.trigger.setAttribute("aria-controls",t);return(this.trigger.closest(`.${s.default.utility.colorScope}`)||document.body).appendChild(this.el),this.el.style.transition="opacity 0.2s ease",this.el.style.opacity="1",this.#u=this.trigger.getBoundingClientRect().top,this.position(),this.#p(),this.options.dismissAfter&&this.resetDismissT
1imer(),this.options.onOpen?.call(this),this}close(){return this.#g(),this.#m(),this.el&&(this.trigger.setAttribute("aria-expanded","false"),this.trigger.removeAttribute("aria-controls"),this.el.remove(),this.el=null,this.trigger.focus(),this.options.onClose?.call(this)),this}toggle(e){return this.isOpen?this.close():this.open(e)}position(){if(!this.el)return;const e=this.options.gap,t=this.trigger.getBoundingClientRect(),i=this.el.getBoundingClientRect(),s=window.innerWidth,n=window.innerHeight;let l,o;const r="center"===this.options.alignY?t.top+t.height/2-i.height/2:t.top;t.right+e+i.width<=s?(o=t.right+e,l=r):t.left-e-i.width>=0?(o=t.left-e-i.width,l=r):t.bottom+e+i.height<=n?(o=t.left,l=t.bottom+e):(o=t.left,l=t.top-e-i.height),this.el.style.top=`${l}px`,this.el.style.left=`${o}px`}resetDismissTimer(){this.#o&&clearTimeout(this.#o),this.options.dismissAfter&&(this.#o=setTimeout((()=>this.close()),this.options.dismissAfter))}#p(){this.options.followOnScroll&&(this.#r=()=>{if(this.position(),this.el&&this.options.scrollFadeDistance){const e=this.trigger.getBoundingClientRect().top;Math.abs(e-this.#u)>=this.options.scrollFadeDistance&&(this.el.style.opacity="0",this.el.addEventListener("transitionend",(()=>this.close()),{once:!0}))}},window.addEventListener("scroll",this.#r,!0)),this.options.closeOnResize&&(this.#a=()=>this.close(),window.addEventListener("resize",this.#a)),this.options.closeOnClickOutside&&(this.#d=e=>{!this.el||this.el.contains(e.target)||this.trigger.contains(e.target)||this.close()},document.addEventListener("click",this.#d)),this.options.closeOnEscape&&(this.#c=e=>{"Escape"===e.key&&this.close()},document.addEventListener("keydown",this.#c)),this.el&&this.el.addEventListener("click",(e=>e.stopPropagation())),this.#h=e=>{if("Tab"!==e.key||!this.el)return;const t=[...this.el.querySelectorAll('input, button, select, textarea, a[href], [tabindex]:not([tabindex="-1"])')].filter((e=>!e.disabled));if(!t.length)return;const i=t[0],s=t[t.length-1];e.shiftKey?document.activeElement===this.trigger?(e.preventDefault(),s.focus()):document.activeElement===i&&(e.preventDefault(),this.trigger.focus()):document.activeElement===s?(e.preventDefault(),this.trigger.focus()):document.activeElement===this.trigger&&(e.preventDefault(),i.focus())},document.addEventListener("keydown",this.#h)}#g(){this.#r&&(window.removeEventListener("scroll",this.#r,!0),this.#r=null),this.#a&&(window.removeEventListener("resize",this.#a),this.#a=null),this.#d&&(document.removeEventListener("click",this.#d),this.#d=null),this.#c&&(document.removeEventListener("keydown",this.#c),this.#c=null),this.#h&&(document.removeEventListener("keydown",this.#h),this.#h=null)}#m(){this.#o&&(clearTimeout(this.#o),this.#o=null)}}}}]);

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.