PageSourceSearch

https://widget.bitycle.com/static/script/index.js

js bitycle.com collected 2026-10-08 23:43:12 UTC 18,266 bytes, 1 lines download raw bytes

1"use strict";var e="https://widget.bitycle.com";function t(e){var t={};return t.__widgetCallbackId=e,t}function n(e,t,n){var o=e.callbacks.get(n);o&&e.fnToId.delete(o),e.callbacks.delete(n),t&&e.subscriptionByEvent.get(t)===n&&e.subscriptionByEvent.delete(t)}function o(e,o,i){var r=e.length>0?e[e.length-1]:void 0,a="subscribe"===r,s="unsubscribe"===r,c=(a||s)&&"string"==typeof o[0]?o[0]:void 0,l=o.map(function(e){if("function"!=typeof e)return e;if(s){var o=function(e,t,n){var o=e.fnToId.get(n);return o||(t?e.subscriptionByEvent.get(t):void 0)}(i,c,e);if(!o)throw new Error("[BitycleWidget] unsubscribe: no subscription found for this event. Call subscribe() first.");return n(i,c,o),t(o)}var r=i.fnToId.get(e);return r||(r="wcb_"+Math.random().toString(36).substring(2,10),i.fnToId.set(e,r),i.callbacks.set(r,e)),a&&c&&i.subscriptionByEvent.set(c,r),t(r)});if(s&&c&&!o.some(function(e){return"function"==typeof e})){var d=i.subscriptionByEvent.get(c);if(!d)throw new Error("[BitycleWidget] unsubscribe: no subscription found for this event. Call subscribe() first.");n(i,c,d),l.push(t(d))}return l}function i(e,t,n,i,r,a,s){var c,l=!1!==(null==s?void 0:s.awaitResponse);try{c=o(r,a,n)}catch(e){return Promise.reject(e instanceof Error?e:new Error(String(e)))}var d={path:r,args:c,handle:null==s?void 0:s.handle};return(null==s?void 0:s.target)&&(d.target=s.target),l?new Promise(function(n,o){var r="widgetRpc_".concat(Math.random().toString(36).substring(2,10));t.set(r,function(e){var i;t.delete(r);var a=e,c=null!==(i=null==a?void 0:a.value)&&void 0!==i?i:e;if(null==c?void 0:c.error)o(new Error(c.error));else if(null==s?void 0:s.rawResponse)n(null!=c?c:{});else try{n(function(e){if(e){if(e.error)throw new Error(e.error);return void 0!==e.result?e.result:e}}(c))}catch(e){o(e)}}),i(e,{message:"widgetRpc",value:d,subscribeId:r})}):(i(e,{message:"widgetRpc",value:d,subscribeId:"widgetRpc_".concat(Math.random().toString(36).substring(2,10))}),Promise.resolve(void 0))}var r=new Set(["addShape"]),a=new Set(["then","catch","finally","constructor"]);function s(e,t){return e?function(e,t){if(null===t||"object"!=typeof t)return!1;var n=t;if(n.requestId!==e)return!1;return Object.prototype.hasOwnProperty.call(n,"result")||Object.prototype.hasOwnProperty.call(n,"error")}(e,t)?t:{requestId:e,result:t}:t}function c(e,t,n,o){var i={message:t,value:n};void 0!==o&&(i.error=o),e(i)}function l(e,t,n){var o,i;if(t.includes("Res")){var r=null!==(o=null==n?void 0:n.subscribeId)&&void 0!==o?o:t.replace(/Res$/,""),a=e.subscribeMessages.get(r),l=null===(i=null==n?void 0:n.value)||void 0===i?void 0:i.requestId;if(a){var d=function(t){var n,o=t instanceof Error?t.message:String(t);console.error("Handler error (".concat(r,"):"),t),c(e.postToIframe,r,(n=o,l?{requestId:l,error:n}:null),o)};try{var u=a(n),f=function(t){return c(e.postToIframe,r,s(l,t))};u instanceof Promise?u.then(f).catch(d):f(u)}catch(e){d(e)}}else if(l){var y="No handler registered";c(e.postToIframe,r,{requestId:l,error:y},y)}}}function d(e){return function(t){var n,o,i,r,a,s,c,d=null===(n=t.data)||void 0===n?void 0:n.type,u=null===(o=t.data)||void 0===o?void 0:o.iframeId,f=null===(i=t.data)||void 0===i?void 0:i.payload;if("ENGAGEMENT_EVENT"!==d)if("WIDGET_DATA_EVENT"!==d){if(d&&e.widgetId===u)if("widgetRpcEvent"!==d){if("popoverOpen"===d)return y=u,g=e.originalContainerStyles,void((m=document.getElementById(y))&&(g.has(y)||g.set(y,{overflow:m.style.overflow,zIndex:m.style.zIndex}),m.style.overflow="visible",m.style.zIndex="9999999"));var y,g,m;"popoverClose"!==d?"updateStyle"!==d?l(e,d,f):function(e,t){var n=null==t?void 0:t.style;if(n&&"object"==typeof n){var o=document.getElementById("".concat(e,"-iframe"));o&&(Object.entries(n).forEach(function(e){var t=e[0],n=e[1];if(null!=n)try{o.style[t]=n}catch(e){console.warn("Failed to apply style ".concat(t,":"),e)}}),window.dispatchEvent(new CustomEvent("bitycleStyleUpdate",{detail:{style:n,type:(null==t?void 0:t.type)||"unknown",iframeId:o.id}})))}}(u,f):function(e,t){var n=document.getElementById(e),o=t.get(e);n&&o&&(n.style.overflow=o.overflow,n.style.zIndex=o.zIndex),t.delete(e)}(u,e.originalContainerStyles)}else{var v=null==f?void 0:f.callbackId,p=v?e.widgetCallbackRegistry.callbacks.get(v):void 0;null==p||p(null==f?void 0:f.value)}}else{if(t.source!==e.iframe.contentWindow)return;if((b=null===(s=t.data)||void 0===s?void 0:s.widget_id)&&b!==e.widgetId)return;null===(c=e.subscribeMessages.get("subscribeData"))||void 0===c||c(t.data)}else{if(t.source!==e.iframe.contentWindow)return;var b;if((b=null===(r=t.data)||void 0===r?void 0:r.widget_id)&&b!==e.widgetId)return;null===(a=e.subscribeMessages.get("subscribeEngagement"))||void 0===a||a(t.data)}}}function u(e,t){var n;try{null===(n=e.contentWindow)||void 0===n||n.postMessage(t,"*")}catch(e){console.error("PostMessage error:",e)}}function f(e){return function(t){return u(e,t)}}var y={setIndicator:"addIndicator",clearShapes:"removeShapes"};function g(e){return"engagement"===e||"data"===e}function m(e){return"subscribe".concat(e.charAt(0).toUpperCase()).concat(e.slice(1))}function v(e){var t,n,o=(t=e.innerHTML.trim(),n=document.createElement("textarea"),n.innerHTML=t,n.value).replace(/[“”]/g,'"');try{return JSON.parse(o)}catch(e){return console.error("Widget scriptContentToJSON error:",e),null}}function p(e,t){var n=new Map,o={callbacks:new Map,fnToId:new Map,subscriptionByEvent:new Map},s=null,c=new Map,l=t.id,v=document.createElement("iframe");v.src=e,v.width="100%",v.height="100%",v.id=t.id+"-iframe",v.allowFullscreen=!0,v.frameBorder="0px",v.title="Bitycle Widget Chart",v.style.border="none",v.style.colorScheme=t.mode||"light",s=d({widgetId:l,iframe:v,subscribeMessages:n,widgetCallbackRegistry:o,originalContainerStyles:c,postToIframe:f(v)}),v.onload=function(){s&&window.addEventListener("message",s)},window.BitycleWidget=window.BitycleWidget||{};var p,b=function(e,t,r){return i(v,n,o,u,e,t,r)},h=function(e,t){return void 0===t&&(t=!1),function(){for(var n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return b(e,n,{awaitResponse:t})}},w={setMode:function(e){var t;v.style.colorScheme=e,h(["setConfig"],!1)({mode:e});var n=document.getElementById("".concat(l,"-widget-button-iframe"));if(n){var o=n.contentDocument||(null===(t=n.contentWindow)||void 0===t?void 0:t.document);null==o||o.documentElement.classList.toggle("dark")}},setMarket:function(e){h(["setConfig"],!1)({market:e})},setFrame:function(e){h(["setConfig"],!1)({frame:e})}
1,setSymbol:function(e){h(["setConfig"],!1)({symbol:e})},subscribe:function(e,t){n.delete(m(e)),n.set(m(e),t),g(e)||h(["subscribe"],!1)(e)},unsubscribe:function(e){n.delete(m(e)),g(e)||h(["unsubscribe"],!1)(e)},pushExternalData:function(e,t){h(["pushExternalData"],!1)(Object.assign({type:e},t))},pushBrokerData:function(e,t){h(["pushBrokerData"],!1)(Object.assign({type:e},t))},destroy:function(){v.remove(),n.clear(),o.callbacks.clear(),o.fnToId.clear(),c.clear(),s&&(window.removeEventListener("message",s),s=null)},tradingView:(p=function(e,t,n){return b(e,t,{target:"widget",handle:n,rawResponse:!0})},function e(t,n){return new Proxy(function(){},{get:function(o,i){if("then"!==i&&"symbol"!=typeof i)return e(t.concat(String(i)),n)},apply:function(o,i,r){return p(t,r,n).then(function(t){if(t.error)throw new Error(t.error);return t.handle?e([],t.handle):t.result})}})}([]))};return window.BitycleWidget[l]=function(e,t,n){var o=null!=n?n:function(e){return e};return new Proxy(e,{get:function(e,n,i){if("string"!=typeof n||a.has(n))return Reflect.get(e,n,i);if(Object.prototype.hasOwnProperty.call(e,n))return Reflect.get(e,n,i);var s=o(n),c=r.has(s);return t([s],c)}})}(w,h,function(e){var t;return null!==(t=y[e])&&void 0!==t?t:e}),v}function b(e,t,n){switch(e){case"left_top":return{inset:"".concat(t," auto auto ").concat(n),transform:"none"};case"left_bottom":return{inset:"auto auto ".concat(t," ").concat(n),transform:"none"};case"left_center":return{inset:"50% auto auto ".concat(n),transform:"translateY(-50%)"};case"right_top":return{inset:"".concat(t," ").concat(n," auto auto"),transform:"none"};case"right_bottom":default:return{inset:"auto ".concat(n," ").concat(t," auto"),transform:"none"};case"right_center":return{inset:"50% ".concat(n," auto auto"),transform:"translateY(-50%)"};case"top_center":return{inset:"".concat(t," auto auto 50%"),transform:"translateX(-50%)"};case"bottom_center":return{inset:"auto auto ".concat(t," 50%"),transform:"translateX(-50%)"}}}function h(t,n){var o,i,r,a,s=null,c=null,l=null,d=null,u=!1,f=null;function y(e){l&&c&&(!function(e){var t,n=e.widgetId,o=e.container,i=e.mainIframe,r=e.buttonContainer,a="fixed"===o.style.position;if(o.style.display="block",a?(o.style.opacity="0",o.style.transition="opacity 0.3s ease-out",setTimeout(function(){o&&(o.style.opacity="1")},10)):o.style.opacity="1",o.classList.contains("bitycle-widget-modal")){var s=document.getElementById("".concat(n,"-widget-main-overlay"));s&&(s.style.display="block",requestAnimationFrame(function(){s.style.opacity="1"})),o.style.display="block",requestAnimationFrame(function(){o&&(o.style.opacity="1",o.style.transform="translate(-50%, -50%) scale(1)")})}r&&(r.style.transition="opacity 0.2s ease-out",r.style.opacity="0",setTimeout(function(){r&&(r.style.display="none")},200));try{null===(t=i.contentWindow)||void 0===t||t.postMessage({type:"openWidget",iframeId:n},"*")}catch(e){console.error("Error posting message to widget iframe:",e)}}({widgetId:e,container:l,mainIframe:c,buttonContainer:d}),u=!0)}function g(e){l&&c&&(!function(e){var t,n=e.widgetId,o=e.container,i=e.mainIframe,r=e.buttonContainer,a=o.classList.contains("bitycle-widget-modal");if("fixed"===o.style.position?(o.style.transition="opacity 0.3s ease-out",o.style.opacity="0",setTimeout(function(){o&&(o.style.display="none")},300)):o.style.display="none",a){var s=document.getElementById("".concat(n,"-widget-main-overlay"));o.style.opacity="0",o.style.transform="translate(-50%, -50%) scale(0.95)",s&&(s.style.opacity="0"),setTimeout(function(){o&&(o.style.display="none"),s&&(s.style.display="none")},250)}if(r&&(r.style.display="block",r.style.opacity="0",r.style.transition="opacity 0.3s ease-out",requestAnimationFrame(function(){r&&(r.style.opacity="1")})),i)try{null===(t=i.contentWindow)||void 0===t||t.postMessage({type:"closeWidget",iframeId:n},"*")}catch(e){console.error("Error posting message to widget iframe:",e)}}({widgetId:e,container:l,mainIframe:c,buttonContainer:d}),u=!1)}c=t;var m,v=n.injection_type||"inline",p="inline"===v;c.addEventListener("load",function(){var t;if(!(0==(null===(t=n.trigger_button)||void 0===t?void 0:t.enabled))&&!p){var o=function(t){var n=t.config,o="".concat(n.id,"-widget-button"),i=n.mode||"light",r=n.trigger_button||{},a=r.placement||"right_bottom",s=r.block_offset||"20px",c=r.inline_offset||"20px",l=r.size||"48px",d=document.getElementById(o);d&&d.remove();var u=document.createElement("div");u.id=o,u.style.position="fixed";var f=b(a,s,c);
1u.style.inset=f.inset,u.style.transform=f.transform,u.style.width=l,u.style.height=l,u.style.zIndex="999999",u.style.cursor="pointer",u.style.transition="opacity 0.3s ease-out, transform 0.3s ease-out",document.body.appendChild(u);var y=document.createElement("iframe");y.id="".concat(o,"-iframe"),y.style.width="100%",y.style.height="100%",y.style.border="none",y.style.borderRadius="50%",y.style.overflow="hidden",y.frameBorder="0";var g=r.logo_address||"".concat(e,"/static/images/logo.svg"),m='\n    <!DOCTYPE html>\n    <html class="'.concat("dark"==i?"dark":"",'">\n    <head>\n      <meta charset="UTF-8">\n      <meta name="viewport" content="width=device-width, initial-scale=1.0">\n      <style>\n        * {\n          margin: 0;\n          padding: 0;\n          box-sizing: border-box;\n        }\n        html {\n            overflow: hidden;\n            color-scheme: light;\n        }\n        html.dark {\n            color-scheme: dark;\n        }\n        body {\n          width: 100%;\n          height: 100%;\n          display: flex;\n          align-items: center;\n          justify-content: center;\n          background: transparent;\n          cursor: pointer;\n        }\n        .widget-button {\n          width: 100%;\n          height: 100%;\n          border-radius: 50%;\n          background: ').concat((null==r?void 0:r.light_bg)||"#fafafa",";\n          display: flex;\n          align-items: center;\n          justify-content: center;\n          box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);\n          transition: transform 0.2s, box-shadow 0.2s;\n          position: relative;\n        }\n        html.dark .widget-button {\n          background: ").concat(r.dark_bg||"#1f2229",';\n        }\n        .widget-button:hover {\n          transform: scale(1.1);\n          box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);\n        }\n        .widget-button:active {\n          transform: scale(0.95);\n        }\n        .logo-container {\n          width: 100%;\n          height: 100%;\n          aspect-ratio: 1 / 1;\n          display: flex;\n          align-items: center;\n          justify-content: center;\n        }\n        .logo-container img {\n          width: 70%;\n          height: 70%;\n          object-fit: contain;\n        }\n      </style>\n    </head>\n    <body>\n      <div class="widget-button" id="toggleButton">\n        <div class="logo-container">\n          <img src="').concat(g,"\" alt=\"Bitycle Logo\" />\n        </div>\n      </div>\n      <script>\n        const button = document.getElementById('toggleButton');\n        button.addEventListener('click', function() {\n          window.parent.postMessage({ \n            type: 'openWidget',\n            iframeId: '").concat(n.id,"'\n          }, '*');\n        });\n      <\/script>\n    </body>\n    </html>\n  ");return y.srcdoc=m,u.appendChild(y),{buttonContainer:u,buttonIframe:y}}({config:n}),i=o.buttonContainer,r=o.buttonIframe;s=r,d=i}}),l=function(e){var t,n=e.config,o=e.mainIframe,i=n.injection_type||"inline";if("inline"===i){if(!(t=document.getElementById(n.id)))throw new Error("Cannot find iframeContainer with id: ".concat(n.id));return t.innerHTML="",t.appendChild(o),t}var r="".concat(n.id,"-widget-main"),a=document.getElementById(r);if(a&&a.remove(),(t=document.createElement("div")).id=r,"modal"===i){var s=n.modal||{},c=s.height,l=s.max_height,d=s.width,u=void 0===d?"500px":d,f=s.show_overlay,y=void 0===f||f;if(t.style.position="fixed",t.style.top="50%",t.style.left="50%",t.style.transform="translate(-50%, -50%) scale(0.95)",t.style.width=u,t.style.maxWidth="100%",t.style.height=c||"auto",t.style.background="transparent",t.style.zIndex="999998",t.style.display="none",t.style.opacity="0",t.style.transition="opacity 0.25s ease, transform 0.25s ease",t.style.borderRadius="16px",t.style.overflow="hidden",t.className="bitycle-widget-modal",o.style.maxHeight=l||"90svh",y){var g=document.createElement("div");g.id="".concat(r,"-overlay"),g.style.position="fixed",g.style.inset="0",g.style.background="rgba(0,0,0,0.4)",g.style.zIndex="999997",g.style.opacity="0",g.style.transition="opacity 0.25s ease",g.style.display="none",document.body.appendChild(g)}document.body.appendChild(t)}else{var m=n.float_box||{},v=(c=m.height,l=m.max_height,m.width),p=(u=void 0===v?"350px":v,m.block_offset),h=void 0===p?"20px":p,w=m.inline_offset,I=void 0===w?"20p
1x":w,E=m.placement,x=void 0===E?"right_bottom":E;t.style.position="fixed";var _=b(x,h,I);t.style.inset=_.inset,t.style.transform=_.transform,t.style.width=u,t.style.height=c||"auto",t.style.zIndex="999998",t.style.display="none",t.style.borderRadius="12px",t.style.overflow="hidden",t.className="bitycle-widget-container-float",t.style.opacity="0",t.style.transition="opacity 0.3s ease-out",t.style.boxShadow="0 8px 32px rgba(0, 0, 0, 0.2)",o.style.maxHeight=l?"calc(".concat(l," - ").concat(h," - ").concat(h):"calc(100svh - ".concat(h," - ").concat(h),t.style.maxWidth="calc(100vw - ".concat(I," - ").concat(I,")"),t.style.boxSizing="border-box",document.body.appendChild(t)}return o.style.minHeight="100%",t.appendChild(o),t}({config:n,mainIframe:c}),null==l||l.appendChild(((m=document.createElement("a")).href="https://bitycle.com",m.target="_blank",m.rel="noopener noreferrer",m.textContent="بایتیکل",m.style.display="none",m));var h=function(e){var t,o,i=null===(t=e.data)||void 0===t?void 0:t.iframeId,r=null===(o=e.data)||void 0===o?void 0:o.type;i===n.id&&("openWidget"!==r?"closeWidget"!==r||g(i):y(i))};window.addEventListener("message",h),null!==(i=null===(o=n.float_box)||void 0===o?void 0:o.close_on_outside_click)&&void 0!==i&&i&&"float"===v&&(f=function(e){if(u&&l){var t=e.target,o=document.getElementById("".concat(n.id,"-widget-button")),i=l.contains(t),r=null==o?void 0:o.contains(t);i||r||g(n.id)}},document.addEventListener("mousedown",f)),(null===(a=null===(r=n.modal)||void 0===r?void 0:r.close_on_outside_click)||void 0===a||a)&&"modal"===v&&(f=function(e){var t=document.getElementById("".concat(n.id,"-widget-main-overlay"));e.target===t&&g(n.id)},document.addEventListener("mousedown",f)),p||(window.BitycleWidget=window.BitycleWidget||{},window.BitycleWidget[n.id]=Object.assign({},window.BitycleWidget[n.id],{close:function(){return g(n.id)},open:function(){return y(n.id)},toggle:function(){return u?g(n.id):y(n.id)},cleanup:function(){if(window.removeEventListener("message",h),f&&(document.removeEventListener("mousedown",f),f=null),s){var e=document.getElementById("".concat(n.id,"-widget-button"));e&&e.remove(),s=null}l&&(l.remove(),l=null),c=null,u=!1}}))}!function(){var t=v(function(){var e=document.currentScript;if(!e)throw new Error("currentScript not loaded successfully");return e}());t.id=t.id||"iframeContainer";var n=function(e){var t=new URLSearchParams("");try{var n=window.location.hostname;return t.append("parentHostname",n),t.append("parent_origin",window.location.origin),Object.entries(e).forEach(function(e){var n=e[0],o=e[1];t.append(n,"object"==typeof o?JSON.stringify(o):String(o))}),t.toString()}catch(e){return console.error("Widget JSONToSearchParams error:",e),null}}(t),o=t.type||"overview";h(p("".concat(e,"/").concat(t.locale||"en","/").concat(t.theme?t.theme.split(".")[0]:"bitycle","/").concat(o,"?").concat(n),t),t)}();

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.