PageSourceSearch

https://static.sketchfab.com/static/builds/web/dist/b5e8c16b5efe5afe8acbc3c0254de8a0-v2.js

js sketchfab.com collected 2026-09-24 08:25:14 UTC 14,668 bytes, 2 lines download raw bytes

1(self.webpackChunksketchfab=self.webpackChunksketchfab||[]).push([[3130],{yTkX:(e,t,n)=>{"use strict";n.d(t,{IO:()=>h,L0:()=>r,PF:()=>i,QG:()=>p,UW:()=>a,eF:()=>c,wv:()=>l});var s=n("HPk7"),o=n("g/7r");function i(e){return e.preventDefault(),e}function a(e){return e.stopPropagation(),e}function r(e){return{eventName:e.split(" ")[0],selector:e.split(" ").slice(1).join(" ")}}function l(e){const t=e.originalEvent||e;return{x:t.type.match(/^touch/)?t.changedTouches[0]?t.changedTouches[0].pageX:0:t.clientX,y:t.type.match(/^touch/)?t.changedTouches[0]?t.changedTouches[0].pageY:0:t.clientY}}function c(e,t){return t.velocity=function(e,t){const n=l(t),s=e?l(e):n;return{x:n.x-s.x,y:n.y-s.y}}(e,t),t}const u=e=>{const{x:t,y:n}=l(e);return e.dragX=t,e.dragY=n,e},d=(e,t,n)=>function(i){let a=!1,r=!1;const l=(0,s.Z)((0,o.Rp)(c,void 0,(e=>{a=!0,r||n.onDrag(u(e))})),16),d=s=>{r=!0,a&&n.onDragEnd(u(s)),window.removeEventListener(e,l),window.removeEventListener(t,d)};window.addEventListener(e,l),window.addEventListener(t,d),n.onDragStart(u(i))},p=({onDrag:e,onDragStart:t=(e=>e),onDragEnd:n=(e=>e)}={})=>({onMouseDown:d("mousemove","mouseup",{onDrag:e,onDragStart:t,onDragEnd:n}),onTouchStart:d("touchmove","touchend",{onDrag:e,onDragStart:t,onDragEnd:n})}),h=e=>t=>{13===(e=>e.which||e.keyCode)(t)&&e(t)}},"7e5f":(e,t,n)=>{"use strict";n.d(t,{Z:()=>Z});var s=n("Hjnd"),o=n.n(s),i=n("jQDz"),a=n("nv4P"),r=n("X40V"),l=n("RyS8"),c=n("yTkX"),u=n("R2Pi"),d=n("lotc"),p=n("XXsV"),h=n("lrhy"),m=n("kAIv"),f=n("Oyie");const g=[],Z=a.Z.extend({parent:"body",el:'<article data-element="popup" />',optionTypes:{cleanOnClose:d.Z.bool,shouldExitOnClickOutside:d.Z.bool,shouldExitOnEscape:d.Z.bool,shouldRejectOnCancel:d.Z.bool},defaultOptions:{cleanOnClose:!0,shouldExitOnClickOutside:!0,shouldExitOnEscape:!0,shouldRejectOnCancel:!1},events:{'click [data-action="close"]':"cancel","click button:not([type])":c.PF,"mousedown .popup-container":"onMouseDown","mouseup .popup-container":"onMouseUp"},onMouseDown:function(e){this.lastMouseDownTarget=e.target},onMouseUp:function(e){this.options.shouldExitOnClickOutside&&e.currentTarget===this.lastMouseDownTarget&&(this.cancel(e),delete this.lastMouseDownTarget)},constructor:function(){this.onKeyDown=this.onKeyDown.bind(this),this.identifier=Symbol(Math.random()),this.resizeHandler=function(){o().each(g,(function(e,t){t.setHeightForMobileResolution()}))}.bind(this),a.Z.apply(this,arguments)},initialize:function(){a.Z.prototype.initialize.apply(this,arguments),this.renderLayout()},setElement:function(){return a.Z.prototype.setElement.apply(this,arguments),this.$container=this.$(".popup-container"),this},delegateEvents:function(){a.Z.prototype.delegateEvents.apply(this,arguments),o()(window).on("resize",this.resizeHandler),document.addEventListener("keydown",this.onKeyDown,!0)},undelegateEvents:function(){a.Z.prototype.undelegateEvents.apply(this,arguments),o()(window).off("resize",this.resizeHandler),document.removeEventListener("keydown",this.onKeyDown,!0)},getPromise:function(){return this._promise||(this._promise=(0,h.pJ)()),this._promise},open:function(){return-1!==g.indexOf(this)?(this.show(),this.setElement(this.$el),this.getPromise()):(this.render(),g.unshift(this),o()((0,i.Z)(this,"parent")).append(this.$el),this.setElement(this.$el),this.hide(),this.setHeightForMobileResolution(),window.requestAnimationFrame(function(){this.show()}.bind(this)),this.getPromise())},show:function(){this.$container.removeClass("hidden"),document.body.classList.add("--prevent-scroll"),p.K.add(this.identifier)},hide:function(){this.$container.addClass("hidden"),p.K.delete(this.identifier),p.K.isEmpty()&&document.body.classList.remove("--prevent-scroll")},setIsLoading:function(e){this.$container.toggleClass("popup-loading",e)},isHidden:function(){return this.$container.hasClass("hidden")},onKeyDown:function(e){27===e.keyCode&&this.options.shouldExitOnEscape&&p.K.getTopPopup()===this.identifier&&(this.cancel(),e.stopPropagation())},cancel:function(e){return this._close(),this.options.shouldRejectOnCancel?this.getPromise().reject(new l.ud(e)):this.getPromise().resolve({manuallyClosed:Boolean(e&&e.target)})},continue:function(e){return this._close(),this.getPromise().resolve(e)},_close:function(e,t){return this.$container.closest(".inline-popup").length>0?this:this.options.cleanOnClose||t?(this.hide(),(0,h.Vs)(500,(0,m.Z)(this.$el)).catch((()=>{})).then(this.remove.bind(this))):(this.hide(),f.resolve())},close:function(e){return this._close(null,e)},replaceWith:function(e,t){return this.close(t),e.open()},setHeightForMobileResolution:function(){if(!u.default.any)return;const e=this.$(".js-popup");(0,r.Nc)({width:window.innerWidth,breakpoint:"breakpointXSmall"})&&e.css({height:window.innerHeight})},resize:function(e){var t=this.$(".js-popup");e.width&&t.width(e.width),e.height&&t.height(e.height)},autofocus:function(){var e=window.scrollX,t=window.scrollY;this.$(".form-input:visible").length>0?(this.$(".form-input").eq(0).focus(),window.scrollTo(e,t)):(this.$(".btn-primary, .submit").focus(),window.scrollTo(e,t))},_removeElement:function(){this.$el.remove()},remove:function(){return this.undelegateEvents(),a.Z.prototype.remove.apply(this,arguments)},renderLayout:function(){this.$el.html(this.template()),this.$container=this.$(".popup-container")}
1,afterRender:function(){a.Z.prototype.afterRender.apply(this,arguments),this.renderChildren()}})},"OUQ+":(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var s=n("nv4P"),o=n("jQDz"),i=n("bvKJ"),a=n("Hjnd"),r=n.n(a),l=n("KDlt"),c=n("kAIv"),u=n("lotc");n("kNR+");const d=s.Z.extend({displayName:"Notification",optionTypes:{parent:u.Z.string,class:u.Z.string,content:u.Z.string,delay:u.Z.number},defaultOptions:{parent:".flashmessage-container"},events:{'click [data-action="close"]':"onClickClose"},template:function(){return l.Z.getFromMacro("front/macros/notification","flashmessage",[this.options.class,this.options.content,{safecontent:"True"}])},initialize:function(){s.Z.prototype.initialize.apply(this,arguments),this.render(),this.options.delay&&this.close(this.options.delay)},render:function(){this.$el.html((0,o.Z)(this,"template")),r()(this.options.parent).append(this.$el);const e=this.$el.find(".notification");e.addClass("hidden"),(0,i.Z)(e.removeClass.bind(e,"hidden"))},onClickClose:function(e){e&&e.preventDefault&&e.preventDefault(),this.close(0)},close:function(e){e=e||0;const t=this.$el.find(".notification");return setTimeout((()=>{t.addClass("hidden"),(0,c.Z)(t).then((()=>{this.$el.parent()[0].removeChild(this.el)}))}),e),this}})},g6dK:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});n("rFQh");var s=n("lotc"),o=n("KDlt");const i=n("7e5f").Z.extend({displayName:"MessagePopup",optionTypes:{title:s.Z.string.isRequired,text:s.Z.string.isRequired,buttons:s.Z.shape({cancel:s.Z.bool,cancelClass:s.Z.string,cancelLabel:s.Z.string,close:s.Z.bool,closeClass:s.Z.string,closeLabel:s.Z.string,continue:s.Z.bool,continueClass:s.Z.string,continueLabel:s.Z.string,ok:s.Z.bool,okClass:s.Z.string,okLabel:s.Z.string,delete:s.Z.bool,deleteClass:s.Z.string,deleteLabel:s.Z.string}),popupClass:s.Z.string,safe:s.Z.bool,popupClosable:s.Z.bool,shouldRejectOnCancel:s.Z.bool},defaultOptions:{shouldRejectOnCancel:!0},events:{"reset form":"cancel","submit form":"continue"},template:function(){return o.Z.get("front/popups/message",{title:this.options.title,text:this.options.text,buttons:this.options.buttons,safe:this.options.safe,popupClass:this.options.popupClass,popupClosable:this.options.popupClosable})}})},vAnt:(e,t,n)=>{"use strict";n.d(t,{Z:()=>m});var s,o,i=n("sQwH"),a=n("3MRe"),r=n("D4hk"),l=n("3Z9q"),c=n("X40V"),u=n("wExz"),d=n("lMO9");const p=["subtext","text","onClick","icon","size","type","className","iconClassName","disabled","loading","success","progress","htmlType","children"],h=l.forwardRef(((e,t)=>e.href&&!e.disabled?l.createElement("a",(0,r.Z)({ref:t},e)):l.createElement("button",(0,r.Z)({ref:t},e)))),m=l.forwardRef(((e,t)=>{let{subtext:n,text:m,onClick:f,icon:g,size:Z="medium",type:v="primary",className:b="",iconClassName:w="",disabled:y=!1,loading:C=!1,success:k=!1,progress:E,htmlType:N,children:x}=e,D=(0,a.Z)(e,p);const O=y||C;return l.createElement(h,(0,r.Z)({ref:t},D,{type:N,className:(0,c.AK)("button",`btn-${v}`,`btn-${Z}`,b,{"btn-loading":C,"btn-disabled":O}),disabled:O,onClick:e=>{!O&&f&&f(e)}}),k?s||(s=(0,i.Z)(d.Z,{})):C?o||(o=(0,i.Z)(u.Z,{})):g?(0,i.Z)("span",{className:"icon"},void 0,g):w?(0,i.Z)("span",{className:(0,c.AK)("icon ",w)}):null,(0,i.Z)("span",{className:"button__text-container"},void 0,m,n?(0,i.Z)("span",{className:"button__subtext"},void 0,n):null),x,C&&void 0!==E?(0,i.Z)("span",{className:"button__progress",style:{width:100*E+"%"}}):null)}))},Q0AI:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var s=n("sQwH"),o=(n("3Z9q"),n("X40V"));function i({error:e,isTouched:t,label:n,children:i,className:a,labelClassName:r,htmlFor:l="",direction:c="vertical","data-selenium":u}){return(0,s.Z)("div",{className:(0,o.AK)("c-form-field",a,{"--vertical":"vertical"===c}),"data-selenium":u},void 0,n?(0,s.Z)("label",{htmlFor:l,className:(0,o.AK)("form-label",r)},void 0,n):null,i,e&&t?(0,s.Z)("p",{className:"form-error"},void 0,e):null)}},V4X4:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var s=n("D4hk"),o=n("3MRe"),i=n("MndH"),a=n("3Z9q"),r=n("X40V");const l=["onChange","className","grey","border","error","hasError","isTouched","autoFocus"],c=a.forwardRef(((e,t)=>{let{onChange:n,className:c="form-input",grey:u=!1,border:d=!1,error:p="",hasError:h=!1,isTouched:m=!1,autoFocus:f=!1}=e,g=(0,o.Z)(e,l);const Z=a.useRef(null);return a.useEffect((()=>{f&&Z.current&&Z.current.focus()}),[f]),a.createElement("input",(0,s.Z)({ref:t||Z,onChange:e=>n(e.target.value),className:(0,r.AK)(c,{"--grey":u,"--border":d,"--error":(Boolean(p)||h)&&m}),autoFocus:f},(0,i.Z)(g,"hasChanged")))}))},PWHN:(e,t,n)=>{"use strict";n.d(t,{Z:()=>b});var s,o=n("D4hk"),i=n("sQwH"),a=n("3Z9q"),r=n("vAnt"),l=n("UP2a"),c=n("V4X4"),u=n("xtQ3"),d=n("1bEe"),p=n("X40V"),h=n("Q0AI"),m=n("pLUK"),f=n("e1Pq"),g=n("g6dK"),Z=n("OUQ+");const v={global:{initialValue:"",validators:[]},email:e=>({initialValue:e.email||"",validators:[(0,d.C1)(),(0,d.Do)()]})},b=(0,u.Z)(v)((({onReset:e,form:t,className:n})=>{const{Api:u}=(0,f.Z)(),d=(0,m.Z)(a.useCallback((async t=>{try{return await u.resetPassword(t.email),e&&e(),new g.Z({title:"Password reset",text:`Instructions to reset your password have been sent to ${t.email}. Please check your inbox (and spam folder).`,buttons:{continue:!0}}).open()}catch(e){new Z.Z({content:"Error while trying to reset your password.",class:"error",delay:5e3})}}),[u,e])),v=a.useCallback((e=>{e.preventDefault(),t.onSubmit(d)}),[t,d]);return(0,i.Z)("form",{className:(0,p.AK)(l.Z.view,n),method:"post",onSubmit:()=>t.onSubmit(d)},void 0,(0,i.Z)("div",{className:(0,p.AK)("form-global-error",{cloaked:!t.errors.global})},void 0,s||(s=(0,i.Z)("i",{className:"icon fa-regular fa-warning"})),(0,i.Z)("span",{className:"message"},void 0,t.errors.global)),(0,i.Z)("div",{className:"fields"},void 0,a.createElement(h.Z,(0,o.Z)({label:"Email",className:"email"},t.fields.email),a.createElement(c.Z,(0,o.Z)({grey:!0},t.fields.email,{isTouched:Boolean(t.fields.email.isTouched&&t.fields.email.value),type:"email",name:"email",placeholder:"[email protected]",required:!0}))),(0,i.Z)("div",{className:"form-field form-buttons login-field"},void 0,(0,i.Z)(r.Z,{"data-selenium":"submit-button",size:"large",type:"primary",text:t.isSubmitting?"L
1oading":"Reset password",loading:t.isSubmitting,disabled:t.isSubmitting,onClick:v}))))}))},lMO9:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var s=n("sQwH"),o=(n("3Z9q"),n("KDlt"));n("Z5CY");const i=()=>(0,s.Z)("div",{className:"check",dangerouslySetInnerHTML:{__html:o.Z.getFromMacro("front/macros/logo","spinner_check",[])}})},wExz:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var s,o=n("sQwH");n("3Z9q");const i=()=>s||(s=(0,o.Z)("div",{className:"sketchfab-spinner"},void 0,(0,o.Z)("svg",{viewBox:"0 0 13 16",xmlns:"http://www.w3.org/2000/svg"},void 0,(0,o.Z)("g",{fillRule:"nonzero"},void 0,(0,o.Z)("path",{className:"shape1",d:"M5.3029 8.1731L0 4.9864v5.8286l5.3029 3.1867z"}),(0,o.Z)("path",{className:"shape2",d:"M5.9987 6.9902l5.8157-3.495L5.9987 0 .1829 3.4953z"}),(0,o.Z)("path",{className:"shape3",d:"M6.6944 8.1731v5.8286l5.303-3.1867V4.9864z"})))))},pLUK:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var s=n("3Z9q");const o=e=>{const t=(0,s.useRef)();return(0,s.useCallback)(((...n)=>t.current?t.current:(t.current=e(...n),t.current.catch((e=>{throw t.current=void 0,e})).then((e=>(t.current=void 0,e))))),[e])}}
1,e1Pq:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var s=n("3Z9q"),o=n("HGbS");function i(){return s.useContext(o.N1)}},"8BJ6":(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>u});var s=n("sQwH"),o=(n("3Z9q"),n("IDtV")),i=n("YpOo"),a=n("N0zu"),r=n("iu9k"),l=n("5hHH"),c=n("PWHN");const u=(0,o.Z)((({popup:e,onOpenLogin:t,email:n})=>{const o=()=>e&&e.close();return(0,s.Z)(i.Z,{onClose:o,title:"Lost password",className:a.Z.popup,footer:(0,s.Z)("a",{onClick:async()=>t?(o(),t()):(0,r.EQ)("users:signin",window.location.pathname)?void o():l.Z.push((0,r.HQ)("users:signin"))},void 0,"Back to login")},void 0,(0,s.Z)(c.Z,{onReset:o,email:n}))}))},"kNR+":()=>{(window.nunjucksPrecompiled=window.nunjucksPrecompiled||{})["front/macros/notification.jinja"]={root:function(e,t,n,s,o){var i="";try{i+="\n\n";var a=s.makeMacro(["type","content"],["options"],(function(o,i,a){var r=n;n=new s.Frame,(a=a||{}).hasOwnProperty("caller")&&n.set("caller",a.caller),n.set("type",o),n.set("content",i),n.set("options",a.hasOwnProperty("options")?a.options:{});var l,c="";return c+="\n\n    ",l=e.getFilter("merge").call(t,{safecontent:!1},s.contextOrFrameLookup(t,n,"options")),n.set("options",l,!0),n.topLevel&&t.setVariable("options",l),n.topLevel&&t.addExport("options",l),c+='\n\n    <div class="flashmessage notification ',c+=s.suppressValue(o,e.opts.autoescape),c+='">\n        <div class="inner">\n            <div class="message">\n                ',s.memberLookup(s.contextOrFrameLookup(t,n,"options"),"safecontent")?(c+="\n                    ",c+=s.suppressValue(e.getFilter("safe").call(t,i),e.opts.autoescape),c+="\n                "):(c+="\n                    ",c+=s.suppressValue(i,e.opts.autoescape),c+="\n                "),c+='\n            </div>\n            <button class="flashmessage-close" data-action="close" title="Close"></button>\n        </div>\n    </div>\n\n',n=r,new s.SafeString(c)}));t.addExport("flashmessage"),t.setVariable("flashmessage",a),o(null,i+="\n")}catch(e){o(s.handleError(e,null,null))}}}}}]);
2//# sourceMappingURL=b5e8c16b5efe5afe8acbc3c0254de8a0-v2.js.map

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.