PageSourceSearch

https://fullviewsolutions.co.za/bitrix/js/ui/hint/dist/ui.hint.bundle.min.js?17908400276557

js fullviewsolutions.co.za collected 2026-10-07 15:40:20 UTC 6,557 bytes, 2 lines download raw bytes

1this.BX=this.BX||{};(function(t,e,i,n){"use strict";const o=17;const s=new Set(["auto","scroll","overlay"]);const a=(t,e)=>{const i=e.getBoundingClientRect();const n=i.x;const o=i.x+i.width;const s=i.y;const a=i.y+i.height;return t.x>=n&&t.x<=o&&t.y>=s&&t.y<=a};const r=t=>{const e=t.getBoundingClientRect();return e.width||t.offsetWidth};const p=t=>{const e=r(t);return e?i.Popup.getOption("angleLeftOffset")-o+e/2:false};const u=(t,e)=>{const i=t.getBoundingClientRect();const n=e.getBoundingClientRect();return i.width?i.left+i.width/2-n.left-o:false};const c=(t,e,i)=>{const n=getComputedStyle(t);const s=i==="bottom";const a=parseFloat(s?n.borderBottomLeftRadius:n.borderTopLeftRadius)||0;const r=parseFloat(s?n.borderBottomRightRadius:n.borderTopRightRadius)||0;const p=e.offsetWidth||o*2;const u=t.offsetWidth-p-r;return{min:a,max:Math.max(u,a)}};const l=(t,i)=>{const n=t.getBoundingClientRect();const o=t.ownerDocument.documentElement.clientWidth;const s=i>0?Math.min(i,Math.max(0,o-n.right)):Math.max(i,Math.min(0,-n.left));if(s!==0){const i=parseFloat(e.Dom.style(t,"left"))||0;e.Dom.style(t,"left",`${i+s}px`)}return s};const h=t=>{const{overflowY:e}=getComputedStyle(t);return s.has(e)&&t.scrollHeight>t.clientHeight};class m{attributeName="data-hint";attributeHtmlName="data-hint-html";attributeInitName="data-hint-init";attributeInteractivityName="data-hint-interactivity";classNameContent="ui-hint-content";#t="ui-hint";#e="ui-hint-icon";#i="ui-hint-popup";#n="ui-hint-popup-interactivity";#o="data-hint-size";#s=null;#a=null;#r=null;#p=null;#u={x:0,y:0};#c="data-hint-icon";#l=n.Main.HELP;#h=null;constructor(t={}){this.id=t.id||`ui-hint-popup-${Date.now()}`;if(t.attributeName){this.attributeName=t.attributeName}if(t.attributeInitName){this.attributeInitName=t.attributeInitName}if(t.classNameIcon){this.#e=t.classNameIcon}if(t.className){this.#t=t.className}if(t.content){if(!e.Type.isDomNode(t.content)){throw new Error("Parameter `content` should be a DOM Node.")}this.#a=t.content}if(t.popup){if(!(t.popup instanceof i.Popup)){throw new TypeError("Parameter `popup` should be an instance of Popup.")}this.#s=t.popup}if(t.popupParameters){this.#r=t.popupParameters}if(t.icon){this.#l=t.icon}if(t.iconResolver){this.#h=t.iconResolver}}#m(t){if(this.#h){const i=this.#h(t);if(e.Type.isString(i)&&i!==""){return i}}const i=t.getAttribute(this.#c);if(e.Type.isString(i)&&i!==""){return i}if(t.hasAttribute("data-hint-outline")){return n.Outline.QUESTION}return this.#l}initPage(){if(document.body){this.initByClassName()}e.Event.ready((()=>this.initByClassName()))}createInstance(t){return new m(t||{})}initByClassName(t){const e=t||document.body;if(!e){return}const i=[...e.getElementsByClassName(this.#t)];i.forEach((t=>this.initNode(t)));this.#d(e)}init(t){const e=t||document.body;if(!e){return}const i=[...e.querySelectorAll(`[${this.attributeName}]`)];i.forEach((t=>this.initNode(t)));this.#d(e)}initOwnerDocument(t){if(!t){return}this.#d(t)}#d(t){if(t.ownerDocument===this.#p){return}this.#p=t.ownerDocument;e.Event.bind(this.#p,"mousemove",(t=>{this.#u={x:t.x,y:t.y}}))}createNode(t){const e=document.createElement("span");e.setAttribute(this.attributeName,t);this.initNode(e);return e}initNode(t){if(t.getAttribute(this.attributeInitName)){return}t.setAttribute(this.attributeInitName,"y");let i=t.getAttribute(this.attributeName);if(!e.Type.isString(i)||i.trim()===""){return}if(!t.hasAttribute(this.attributeHtmlName)){i=e.Text.encode(i)}i=i.trim().replaceAll(/\r?\n/g,"<br>");const n=!t.hasAttribute("data-hint-no-icon");if(n){this.#f(t)}const o=t.hasAttribute("data-hint-center");e.Event.bind(t,"mouseenter",(()=>this.show(t,i||"",o,true)));e.Event.bind(t,"mouseleave",(()=>this.hide(t)))}#f(t){e.Dom.addClass(t,this.#t);const i=this.#m(t);const o=new n.Icon({icon:i});const s=o.render();e.Dom.addClass(s,this.#e);const a=t.querySelector(`.${this.#e}`);if(a){e.Dom.replace(a,s)}else{t.prepend(s)}const r=t.getAttribute(this.#o);if(r){e.Dom.addClass(t,`--ui-hint-size-${r.toLowerCase()}`)}}#g(t){let i=t.parentElement;const n=t.ownerDocument;while(i&&i!==n.body){if(h(i)){const t=getComputedStyle(i);if(t.position==="static"){e.Dom.style(i,"position","relative")}return i}i=i.parentElement}return n.body}#b(t,i){if(!i){return true}const n=t.getAttribute(this.attributeName);return e.Type.isString(n)}#y(t,n){const o=this.#g(t);if(this.#s&&(this.#s.bindElement!==t||this.#s.getTargetContainer()!==o)){this.#s.destroy();this.#s=null}if(!this.#a){this.#a=document.createElement("div");e.Dom.addClass(this.#a,this.classNameContent)}if(!this.#s){const s={...this.#N(t,n),targetContainer:o};this.#s=new i.Popup(this.id,t,s);e.Event.bind(this.#s.getPopupContainer(),"mouseleave",(()=>this.hide(this.#s.getPopupContainer())))}}#N(t,e){const i=this.#P(this.#r,t);return this.#I(i,t,e)}#P(t,e){return{content:this.#a,className:this.#i,zIndex:1e3,darkMode:true,focusTrap:false,animation:"fading-slide",...t}}
1#I(t,e,i){const n={...t};if(i){n.offsetLeft??=0;n.angle??={offset:0};n.events??={onPopupShow:()=>{this.fixPopupAngle()}}}else if(!n.angle){n.angle={offset:p(e)}}return n}fixPopupAngle(t){if(!this.#s||!this.#s.angle){return}const i=this.#s.getPopupContainer();if(!i){return}setTimeout((()=>{const n=i.offsetWidth;let s=t?u(t,i):n?n/2-o:false;if(s!==false){const e=c(i,this.#s.angle.element,this.#s.angle.position);const n=Math.min(Math.max(s,e.min),e.max);const o=t&&n!==s?l(i,s-n):0;s=Math.min(Math.max(s-o,e.min),e.max)}this.#s.angle.offset=s;if(this.#s.angle.position==="bottom"){e.Dom.style(this.#s.angle.element,"left","0");e.Dom.style(this.#s.angle.element,"marginLeft",s===false?"":`${s}px`)}else{e.Dom.style(this.#s.angle.element,"marginLeft","0");e.Dom.style(this.#s.angle.element,"left",s===false?"":`${s}px`)}}),0)}#C(t){const i=this.#s.getPopupContainer();if(t.hasAttribute(this.attributeInteractivityName)){e.Dom.addClass(i,this.#n)}else{e.Dom.removeClass(i,this.#n)}}#v(t){this.#a.innerHTML=t}#w(){const t=this.#s.getPopupContainer();e.Dom.style(t,"visibility","hidden");setTimeout((()=>{e.Dom.style(t,"visibility","")}),10)}show(t,e,i,n=false){if(!this.#b(t,n)){return}this.#y(t,i);if(!this.#s){return}this.#C(t);this.#v(e);this.#s.show();if(i){this.#w()}else{this.fixPopupAngle(t)}}hide(t){if(!this.#s){return}if(t&&t.hasAttribute(this.attributeInteractivityName)){setTimeout((()=>{if(this.#s&&!a(this.#u,this.#s.getPopupContainer())){this.#s.close()}}),100)}else{this.#s.close()}}}const d=new m;d.initPage();t.Hint=d})(this.BX.UI=this.BX.UI||{},BX,BX.Main,BX.UI.IconSet);
2//# sourceMappingURL=ui.hint.bundle.map.js

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.