@iccandle/vuejs-widget 0.2.2 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +33 -2
- package/dist/widget-iccandle.cjs +3 -3
- package/dist/widget-iccandle.js +998 -836
- package/package.json +1 -1
package/dist/widget-iccandle.js
CHANGED
|
@@ -2,10 +2,25 @@
|
|
|
2
2
|
import { Fragment as e, Teleport as t, TransitionGroup as n, computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createElementVNode as s, createStaticVNode as c, createTextVNode as l, createVNode as u, defineComponent as d, inject as f, isRef as p, mergeModels as m, nextTick as h, normalizeClass as g, normalizeStyle as _, onBeforeUnmount as v, onMounted as y, onWatcherCleanup as b, openBlock as x, provide as S, reactive as C, ref as w, renderList as T, renderSlot as ee, resolveDynamicComponent as E, shallowRef as D, toDisplayString as O, unref as k, useModel as A, vModelText as j, watch as M, withCtx as N, withDirectives as te, withModifiers as P } from "vue";
|
|
3
3
|
import F, { isAxiosError as I } from "axios";
|
|
4
4
|
//#region src/constants/app.constant.ts
|
|
5
|
-
var ne = "https://api.iccandle.ai", L = "Authorization", R = "An unknown error occurred", z = "https://embed-iccandle-app.iccandle.ai", B = "tv:clicked-news-event", V = "tv:selected-news-events", H = {
|
|
5
|
+
var ne = "https://api.iccandle.ai", L = "Authorization", R = "An unknown error occurred", z = "https://embed-iccandle-app.iccandle.ai", B = "tv:clicked-news-event", V = "tv:selected-news-events", H = "iccandle_token", re = {
|
|
6
6
|
light: "#ffffff",
|
|
7
7
|
dark: "#0F0F0F"
|
|
8
|
-
}, U =
|
|
8
|
+
}, U = 24 * 3600, W = 7 * U, ie = 30 * U, G = (e) => {
|
|
9
|
+
let t = e.trim().toUpperCase();
|
|
10
|
+
if (t === "D" || t === "1D" || t === "1440") return U;
|
|
11
|
+
if (t === "W" || t === "1W") return W;
|
|
12
|
+
if (t === "M" || t === "1M") return ie;
|
|
13
|
+
let n = /^(\d+)D$/.exec(t);
|
|
14
|
+
if (n) return Number(n[1]) * U;
|
|
15
|
+
let r = /^(\d+)W$/.exec(t);
|
|
16
|
+
if (r) return Number(r[1]) * W;
|
|
17
|
+
let i = /^(\d+)M$/.exec(t);
|
|
18
|
+
if (i) return Number(i[1]) * ie;
|
|
19
|
+
let a = /^(\d+)S$/.exec(t);
|
|
20
|
+
if (a) return Number(a[1]);
|
|
21
|
+
let o = Number.parseInt(t, 10);
|
|
22
|
+
return !Number.isFinite(o) || o <= 0 ? 60 : o * 60;
|
|
23
|
+
}, K = (e) => G(e), q = [
|
|
9
24
|
"en",
|
|
10
25
|
"zh",
|
|
11
26
|
"vi",
|
|
@@ -15,12 +30,12 @@ var ne = "https://api.iccandle.ai", L = "Authorization", R = "An unknown error o
|
|
|
15
30
|
"mn",
|
|
16
31
|
"ru"
|
|
17
32
|
];
|
|
18
|
-
function
|
|
19
|
-
return e &&
|
|
33
|
+
function ae(e) {
|
|
34
|
+
return e && q.includes(e) ? e : "en";
|
|
20
35
|
}
|
|
21
36
|
//#endregion
|
|
22
37
|
//#region src/i18n/widget-messages.ts
|
|
23
|
-
var
|
|
38
|
+
var J = {
|
|
24
39
|
en: {
|
|
25
40
|
Common: {
|
|
26
41
|
or: "OR",
|
|
@@ -7439,7 +7454,7 @@ var K = {
|
|
|
7439
7454
|
Legal: /* @__PURE__ */ JSON.parse("{\"Page\":{\"title\":{\"terms\":\"Условия обслуживания\",\"privacy\":\"Политика конфиденциальности\",\"refund\":\"Политика возврата средств и отмены\",\"cookie\":\"Политика использования файлов куки\"},\"tabs\":{\"terms\":\"Условия обслуживания\",\"privacy\":\"Политика конфиденциальности\",\"refund\":\"Политика возврата средств и отмены\",\"cookie\":\"Политика использования файлов куки\"},\"nav\":{\"terms\":\"Условия обслуживания\",\"privacy\":\"Политика конфиденциальности\",\"refund\":\"Политика возврата средств и отмены\",\"cookie\":\"Политика использования файлов куки\"}},\"Terms\":{\"title\":\"Условия обслуживания, TOS, условия, положения, отказ от ответственности, договор, соглашение\",\"intro\":{\"p1\":\"Настоящее соглашение заключается между Pixel Nexus Global, сингапурской компанией с ограниченной ответственностью, осуществляющей деятельность через сайт www.iccandle.ai («Pixel Nexus Global», «мы», «нас» или «наш»), и физическим или юридическим лицом, приобретающим или использующим услуги, предлагаемые через Платформу («Клиент», «вы» или «ваш»). Если вы приобретаете Услуги от имени третьей стороны, вы подтверждаете, что обладаете законными полномочиями обязать такую сторону соблюдать настоящие Условия обслуживания и несёте ответственность за их использование Услуг.\",\"p2\":\"Получая доступ к Платформе и Услугам, описанным в настоящем документе и размещённым на www.iccandle.ai, либо оформляя подписку через сайт iccandle.ai, вы подтверждаете, что прочитали, поняли и согласились с настоящими Условиями, Положениями и отказами от ответственности. Вы также соглашаетесь, что ваши отношения с нами регулируются положениями настоящих Условий обслуживания.\",\"p2Emphasis\":\"Если вы не принимаете данные условия, вы обязаны немедленно прекратить использование iccandle.ai и любых связанных услуг или платформ.\"},\"sections\":[{\"title\":\"1. Услуги\",\"paragraphs\":[\"Pixel Nexus Global will provide active customers in good standing with access to its AI-powered analytical tool (the “Platform”). As used in this Agreement, the term “Services” refers to Pixel Nexus Global’s provision of your access to the Platform. The Services will be provided to you under one or more subscriptions, account activations, sign-ups, or orders placed by you on the iccandle.ai website and accepted by Pixel Nexus Global (an “Order”).\",\"In case of any conflict between these TOS and an Order, the terms of these TOS shall take precedence. By accepting the Services, you acknowledge and agree that any different or additional terms proposed by you in an Order or otherwise are expressly rejected by Pixel Nexus Global, unless we have agreed to such terms in a written document signed by an authorized representative.\"]},{\"title\":\"2. Ваши обязательства\",\"subsections\":[{\"title\":\"Информация о клиенте и ответственность за аккаунт\",\"paragraphs\":[\"You agree to provide Pixel Nexus Global with accurate information when creating your account, throughout our business relationship, and in all correspondence with us. We may occasionally need to contact you via email or telephone regarding the Services. You agree to maintain a valid email address that you check daily and to promptly notify us of any changes to your contact information.\",\"Pixel Nexus Global shall not be responsible for any service interruptions, damages, or consequences resulting from misdirected communications due to your failure to provide current contact details. You also agree to complete all data entitlement surveys within the platform completely and truthfully to maintain compliance with exchange regulations.\"]},{\"title\":\"Разрешённое использование платформы\",\"paragraphs\":[\"Your use of the Platform must comply with these TOS and any accompanying documentation we provide. If you permit third parties to access the Platform, you agree to: (i) restrict their use in accordance with these terms; (ii) ensure their compliance with these TOS and our Privacy Policy; and (iii) remain fully liable for any violations of these TOS or the Privacy Policy by such third parties.\"]},{\"title\":\"Интеллектуальная собственность и соблюдение закона\",\"paragraphs\":[\"You agree not to alter, obscure, or remove any trademark or proprietary notices. You may only use the Platform in accordance with: (i) the laws governing these TOS; and (ii) all applicable laws in your jurisdiction.\",\"Несанкционированное использование строго запрещено.\"]}]},{\"title\":\"3. Срок действия\",\"subsections\":[{\"title\":\"Дата вступления в силу\",\"paragraphs\":[\"These Terms of Service (TOS) become effective (\\\"Effective Date\\\") on the earlier of: (i) the date you click \\\"I accept\\\" as recorded by our servers; or (ii) the date you first access or use the Platform.\",\"These TOS remain in effect for the duration of any active Order.\"]},{\"title\":\"Подписка и продление\",\"paragraphs\":[\"The Services will automatically renew for successive periods (monthly, quarterly, or annually) as specified in your Order. If unspecified, the default initial subscription period (\\\"Initial Term\\\") is one month. Subsequent renewal periods (\\\"Renewal Terms\\\") will match the Initial Term’s duration.\"]},{\"title\":\"Пробный период\",\"paragraphs\":[\"Pixel Nexus Global may offer trial periods (paid or free) as indicated on the iccandle.ai trial signup page. During any trial period:\"],\"listOrdered\":[\"применяются все условия как для платной подписки\",\"вы можете отменить подписку до автоматического продления\",\"условия могут изменяться без уведомления\"]},{\"title\":\"Управление подпиской\",\"paragraphs\":[\"You are solely responsible for managing your subscription, including:\"],\"listDisc\":[\"контроль дат продления\",\"обновление платёжных данных\",\"отмена подписки\",\"актуальность контактных данных\"],\"paragraphsAfter\":[\"Pixel Nexus Global is not responsible for any charges due to failure to manage your subscription.\"]}]},{\"title\":\"4. Прекращение\",\"subsections\":[{\"title\":\"Отмена и возвраты\",\"paragraphs\":[\"Details about cancellation and refund policies are available on our Refund and Cancellation Policy page at iccandle.ai. Terminating your account disables automatic renewals but does not cancel past invoices or make prior payments refundable unless stated otherwise in our Refund and Cancellation Policy.\",\"Any currently due invoices must be paid in full to settle your account. Your access to Pixel Nexus Global services will continue until the expiration of your prepaid period or trial term.\"]},{\"title\":\"Расторжение по инициативе сторон\",\"paragraphs\":[\"Either party may terminate any Order by providing written notice at least one (1) day before the expiration of the Initial Term or any Renewal Term. For purposes of this provision, “written notice” includes communication through email, live chat, telephone, or via the Online Portal, indicating a desire not to continue service with Pixel Nexus Global in the future.\"]},{\"title\":\"Нарушения\",\"paragraphs\":[\"Pixel Nexus Global reserve the right to immediately suspend Services and/or terminate any Order in cases of violation of these TOS, breach of our Privacy Policy, or use of Services in a manner contrary to law or generally accepted internet standards. Such termination may occur without prior notice, dispute resolution process, or refund of any fees.\"]},{\"title\":\"Последствия\",\"paragraphs\":[\"The expiration or termination of any Order does not affect any rights or obligations that either (i) came into effect upon or after such expiration/termination, or (ii) survive the termination and were incurred by the parties prior to termination. Upon termination, you must promptly settle any outstanding balance. Pixel Nexus Global is not obligated to return any paid fees for terminations occurring prior to completion of a full term, except as may be expressly provided in our Refund and Cancellation Policy.\",\"All termination matters are governed by the complete terms set forth in this agreement, and Pixel Nexus Global maintains full discretion in enforcing these provisions.\"]}]},{\"title\":\"5. Лицензия и ограничения\",\"paragraphs\":[\"Pixel Nexus Global grants you a limited, revocable, non-exclusive, non-transferable, worldwide license to utilize our proprietary technology (\\\"Pixel Nexus Technology\\\") solely for accessing and employing our analytical engines as part of the Services, including any generated reports (\\\"Reports\\\"). This license is restricted to your account's registered users and automatically terminates upon expiration or termination of these TOS.\",\"No rights beyond this limited license are conferred. All ownership rights in the Pixel Nexus Technology remain exclusively with Pixel Nexus Global or its licensors. You are expressly prohibited from: transferring, leasing, lending, sublicensing, reselling, or distributing the technology; using it for timesharing or service bureau purposes; or permitting unauthorized third-party access. You may not circumvent any protective measures safeguarding our proprietary interests, nor modify, reproduce, decompile, reverse engineer, or create derivative works from the Pixel Nexus Technology or Platform components. Upon termination, you must immediately cease using and permanently delete all Pixel Nexus Technology in your possession, ensuring any third parties with access do likewise.\"],\"subsections\":[{\"title\":\"Права собственности\",\"paragraphs\":[\"Pixel Nexus Global retains all rights, title, and interest in the Pixel Nexus Technology and Platform, including but not limited to all derivative works, improvements, enhancements, and associated intellectual property rights such as trademarks and copyrights.\"]},{\"title\":\"Положения об обратной связи\",\"paragraphs\":[\"You may voluntarily provide, or we may solicit, input regarding the Platform or Services (\\\"Feedback\\\"), including suggestions for modifications or improvements. You acknowledge such Feedback constitutes Pixel Nexus Global's confidential proprietary information and irrevocably assign all related rights and interests to us. Pixel Nexus Global may utilize Feedback for any purpose without limitation or compensation obligation. This assignment applies globally and survives termination of these TOS.\",\"All rights not expressly granted herein are reserved by Pixel Nexus Global. Any unauthorized use constitutes breach of these TOS and may result in immediate termination of your access rights.\"]}]},{\"title\":\"6. Использование данных и ИС\",\"paragraphs\":[\"Pixel Nexus Global may utilize information you provide or data collected from your use of the Platform and Services (\\\"Operational Information\\\") to deliver technical support and facilitate the implementation, operation, and administration of the Services. By using our Services, you grant us a perpetual, irrevocable license to process and analyze this Operational Information. We may combine this data with aggregate information from our general business operations to enhance existing Services or develop new products and offerings.\",\"Pixel Nexus Global shall retain exclusive ownership of all intellectual property derived from such analysis and improvements. You hereby irrevocably waive any potential rights to this intellectual property and assign all rights, title, and interest therein to Pixel Nexus Global. You further agree to provide reasonable cooperation in securing and protecting these rights. We reserve the right to commercialize this Operational Information through sale, monetization, or incorporation into other products and services, without obligation to compensate you or grant you any ownership interest.\",\"This license shall terminate upon expiration or cancellation of these Terms of Service, except with respect to historical data that has been aggregated and anonymized such that it cannot be identified as originating from your organization. Pixel Nexus Global may retain and continue to use such anonymized, aggregated data indefinitely for any lawful business purpose.\",\"All intellectual property rights not expressly granted herein remain the exclusive property of Pixel Nexus Global. Your continued use of the Services constitutes acceptance of these terms regarding data usage and intellectual property rights.\"]},{\"title\":\"7. Отказ от ответственности за точность информации\",\"paragraphs\":[\"Pixel Nexus Global relies on third-party data feeds to power its platform and therefore cannot guarantee the absolute accuracy of the information displayed. Different features within our system (such as scanners, automated analysis tools, charting functions, and back testing capabilities) may utilize separate data providers, which can result in variances between datasets across different platform features. Users should always verify analysis results and scanner conditions to ensure data consistency.\",\"The platform's analytical outputs are inherently dependent on the quality of underlying third-party data, and Pixel Nexus Global makes no representations or warranties regarding the accuracy of these analyses. The iccandle.ai website, Services, and Platform are designed solely for informational and research purposes - they should never serve as the sole basis for investment decisions. Pixel Nexus Global disclaims all liability for any financial losses resulting from reliance on potentially inaccurate data or analysis within the Platform.\",\"The Pixel Nexus Global system is provided strictly on an \\\"as-is\\\" basis without guarantees or warranties of any kind, as its functionality depends on unverified third- party data sources. The platform is intended exclusively for educational, entertainment, and general informational use - not as professional financial advice or a substitute for independent investment research. Users assume all risk associated with interpreting and acting upon any information displayed within the system.\",\"By accessing and using the Platform, you acknowledge these inherent limitations and agree that Pixel Nexus Global shall not be held responsible for any consequences arising from data inaccuracies, analysis errors, or investment decisions made based on platform content.\"]},{\"title\":\"8. Отказ от инвестиционных рекомендаций и ограничения платформы\",\"paragraphs\":[\"The analytical tools and outputs provided by Pixel Nexus Global's iccandle.ai platform are strictly for informational and research purposes only and should not be construed as investment advice. The platform relies on third-party data sources that may contain inaccuracies, and different features may produce varying results due to separate data providers. All analysis, including results from our Pattern Selector, Pattern Tracker, and News Impact Intelligence, is provided \\\"AS-IS\\\" without any guarantees of accuracy. These tools demonstrate historical patterns, probabilities, and market behavior under past conditions and cannot predict future results, as actual market outcomes may differ due to liquidity, execution, and other variables. You must never rely solely on platform analysis when making investment decisions.\"]},{\"title\":\"9. Признание рисков и ответственность пользователя\",\"paragraphs\":[\"By using Pixel Nexus Global's platform (iccandle.ai), you expressly acknowledge and accept full responsibility for all risks associated with any investment decisions made based on information or analysis obtained from our Platform. You understand that our services rely on third-party data sources that may contain inaccuracies, and that our analytical models employ mathematical formulas and sequences that have not been independently verified for predictive accuracy. Pixel Nexus Global cannot and does not guarantee the reliability of any market data, technical indicators, or analytical outputs generated by the Platform.\",\"Prior to executing any trades, you agree to either: (i) consult with a qualified, licensed financial professional; or (ii) conduct comprehensive independent research using multiple verified information sources.\",\"Pixel Nexus Global expressly disclaims all liability for any trading losses, missed opportunities, or other financial consequences resulting from your reliance on Platform content. By continuing to use iccandle.ai, you confirm your understanding that our tools are designed for informational purposes only and that you alone bear complete responsibility for all investment choices and outcomes. This warning constitutes an essential term of our agreement, and your use of the Platform signifies your unconditional acceptance of these risk disclosures.\"]},{\"title\":\"10. Отказ от гарантий и ограничения сервиса\",\"paragraphs\":[\"The Pixel Nexus Global platform (iccandle.ai), including all Services, scripts, reports, analytical engines, and related technology, is provided strictly on an \\\"AS-IS\\\" and \\\"AS- AVAILABLE\\\" basis. Pixel Nexus Global makes no representations or warranties of any kind, whether express or implied. This includes, but is not limited to, all implied warranties of non-infringement, merchantability, fitness for a particular purpose, accuracy, quality, or achievement of specific results. No warranties arise from any course of dealing, performance, or trade usage.\",\"Pixel Nexus Global does not guarantee that the Service will meet your requirements, operate without interruption, remain error-free, or be secure from viruses or other harmful components. Compatibility with all websites or browsers is not assured, and Pixel Nexus Global disclaims all liability for issues arising from browser incompatibility or third-party services, even if such services appear integrated with our Platform. Any data transmitted via our Services remains your sole responsibility, and Pixel Nexus Global expressly disclaims liability for such content. No warranties provided by third- party vendors to Pixel Nexus Global extend to you, and you are not a third-party beneficiary of such agreements.\"],\"subsections\":[{\"title\":\"Функции оповещений и бета-функции\",\"paragraphs\":[\"The Platform includes alert features (e.g., \\\"Dynamic Price Alerts\\\" and \\\"Multi-Factor Alerts\\\"), which are provided without warranty or guarantee of reliability. Technical delays or failures may occur due to cellular networks, email services, system errors, or other factors. You acknowledge that alerts may not function as intended and agree that Pixel Nexus Global bears no liability for trading losses resulting from reliance on these features, regardless of whether they were used correctly.\",\"Certain features labeled as 'Beta' are under active development and may exhibit unstable or unreliable performance, including inconsistent data or incorrect information due to software bugs or programming errors. These Beta features carry additional risks and should be used with extreme caution.\"]},{\"title\":\"Общие положения\",\"paragraphs\":[\"This warranty disclaimer applies to all oral or written information provided by Pixel Nexus Global, its employees, affiliates, or third-party vendors. You may not rely on any such statements or representations.\",\"Some jurisdictions may not permit the exclusion of certain warranties. If applicable to you, any warranty claim must be filed within ninety (90) days of the Service provision that gave rise to the claim. Failure to submit a claim within this period constitutes an irrevocable waiver of your right to pursue such claims thereafter.\",\"Third-party websites linked through the Pixel Nexus Global platform are not under our control, and we assume no responsibility for their content or functionality. Accessing these external sites is entirely at your own risk. Such links are provided for convenience only and do not constitute an endorsement or recommendation by Pixel Nexus Global.\",\"By using the Platform, you acknowledge and accept these limitations and disclaimers in full.\"]}]},{\"title\":\"11. Ограничение ответственности\",\"paragraphs\":[\"Pixel Nexus Global's total liability under this Agreement shall not exceed the aggregate fees actually paid by you to Pixel Nexus Global during the one (1) month period immediately preceding the event giving rise to such liability. For purposes of this limitation, \\\"Pixel Nexus Global\\\" includes its employees, agents, owners, directors, officers, affiliates, and any third-party service providers facilitating the Services.\",\"To the maximum extent permitted by law, you agree that under no circumstances - including negligence - shall Pixel Nexus Global or its licensors, agents, employees, officers, or third-party vendors be liable for any indirect, incidental, special, consequential, or punitive damages. This exclusion applies to, but is not limited to, damages for:\"],\"listOrdered\":[\"Упущенная прибыль или доход\",\"Прерывание бизнеса\",\"Потеря или повреждение данных\",\"Потеря сбережений\",\"Любые другие финансовые потери, понесённые вами, конечными пользователями или третьими лицами\"],\"paragraphsAfter\":[\"These limitations apply regardless of whether the action arises in contract, tort (including negligence), or any other legal theory, and shall remain in effect even if Pixel Nexus Global has been advised of the possibility of such damages. While some jurisdictions may not allow limitations on certain liabilities, you agree that, where such restrictions apply, Pixel Nexus Global's liability shall be limited to the maximum extent permitted by applicable law.\",\"This limitation of liability constitutes an essential basis of the bargain between you and Pixel Nexus Global and shall survive termination of this Agreement. By using the Services, you acknowledge that these limitations are reasonable and reflect the risk allocation between both parties.\"]},{\"title\":\"12. Уведомления\",\"paragraphs\":[\"All official notices will be sent to your account’s listed contact information. You are responsible for maintaining current and accurate contact details in our records at all times.\",\"For most inquiries, including technical support and billing matters, please visit our website at www.iccandle.ai for contact information and support options.\",\"However, any legal notices regarding these Terms of Service or other Pixel Nexus Global policies must be sent exclusively via postal mail to our designated address:\"],\"address\":{\"company\":\"Pixel Nexus Global PTE. LTD.\",\"lines\":[\"160 Robinson Road, #14-04\",\"Singapore Business Federation Center\",\"Singapore 068914\"]}},{\"title\":\"13. Форс-мажор\",\"paragraphs\":[\"Neither party shall be liable for any failure or delay in performance (except for payment obligations) due to events beyond their reasonable control, including, but not limited to, acts of God, natural disasters, war, civil unrest, epidemics, labor disputes, utility failures, telecommunication outages, supply chain disruptions, government actions, or other unforeseeable catastrophic events; provided that: (i) the affected party notifies the other in writing within ten (10) days of the event’s commencement; (ii) all payment obligations remain unaffected; (iii) the time for performance shall be extended day-for-day to match the duration of the disruption; and (iv) both parties use commercially reasonable efforts to mitigate the impact.\",\"It is understood that this clause does not permit termination of the Agreement solely due to force majeure conditions, nor does it extend the Agreement term beyond its original expiration date without mutual written agreement.\"]},{\"title\":\"14. Отказ от прав\",\"paragraphs\":[\"No failure or delay by Pixel Nexus Global in exercising any right under these Terms shall operate as a waiver of that right, nor shall any single or partial exercise of any right preclude the further or full exercise of that right or any other right under these Terms.\"]},{\"title\":\"15. Уступка\",\"paragraphs\":[\"Pixel Nexus Global may assign these Terms, or any rights hereunder, without your consent. You may not assign these Terms without our prior written approval. These Terms shall be binding upon, and inure to the benefit of, the parties' respective successors and permitted assigns.\"]},{\"title\":\"16. Разделимость\",\"paragraphs\":[\"If any provision of these Terms is held to be invalid or unenforceable by a court of competent jurisdiction, that provision shall be modified to the minimum extent necessary to make it valid and enforceable while preserving its original intent. All other provisions shall remain in full force and effect.\"]},{\"title\":\"17. Отсутствие агентских отношений\",\"paragraphs\":[\"Nothing in these Terms creates an agency, partnership, joint venture or employment relationship between the parties. Neither party has authority to bind the other or incur obligations on the other's behalf.\"]},{\"title\":\"18. Конфиденциальность и конфликты\",\"paragraphs\":[\"Our Privacy Policy is incorporated herein by reference. In the event of a conflict between agreements: (i) these Terms prevail over the Privacy Policy; (ii) any separate service agreement shall prevail over conflicting provisions of these Terms, but only with respect to those specific provisions; and (iii) in all other cases, these Terms shall govern.\"]},{\"title\":\"19. Юрисдикция и ограничения\",\"paragraphs\":[\"The services and information provided on iccandle.ai are not intended for use in jurisdictions where such services would be contrary to local laws or regulations. Access to and use of this website are strictly prohibited for citizens of the following jurisdictions: United States of America, Canada, Russian Federation, Iran, North Korea, Myanmar, Syria, Cuba, Crimea, Donetsk, and Luhansk regions of Ukraine, Afghanistan, Belarus, and Venezuela. This list may be updated at any time without prior notice. Users are solely responsible for ensuring that their access to and use of this website comply with all applicable laws and regulations in their country. iccandle.ai accepts no responsibility or liability for any non-compliance by users with their local regulatory requirements and reserves the right to restrict, block, or terminate access at its sole discretion.\"]}],\"content\":\"Условия обслуживания, TOS, условия, положения, отказ от ответственности, договор, соглашение\\nНастоящее соглашение заключается между Pixel Nexus Global, сингапурской компанией с ограниченной ответственностью, осуществляющей деятельность через сайт www.iccandle.ai («Pixel Nexus Global», «мы», «нас» или «наш»), и физическим или юридическим лицом, приобретающим или использующим услуги, предлагаемые через Платформу («Клиент», «вы» или «ваш»). Если вы приобретаете Услуги от имени третьей стороны, вы подтверждаете, что обладаете законными полномочиями обязать такую сторону соблюдать настоящие Условия обслуживания и несёте ответственность за их использование Услуг.\\n\\nУсловия обслуживания, TOS, условия, положения, отказ от ответственности, договор, соглашение Настоящее соглашение заключается между Pixel Nexus Global, сингапурской компанией с ограниченной ответственностью, осуществляющей деятельность через сайт www.iccandle.ai («Pixel Nexus Global», «мы», «нас» или «наш»), и физическим или юридическим лицом, приобретающим или использующим услуги, предлагаемые через Платформу («Клиент», «вы» или «ваш»). Если вы приобретаете Услуги от имени третьей стороны, вы подтверждаете, что обладаете законными полномочиями обязать такую сторону соблюдать настоящие Условия обслуживания и несёте ответственность за их использование Услуг.\\n\\nПолучая доступ к Платформе и Услугам, описанным в настоящем документе и размещённым на www.iccandle.ai, либо оформляя подписку через сайт iccandle.ai, вы подтверждаете, что прочитали, поняли и согласились с настоящими Условиями, Положениями и отказами от ответственности. Вы также соглашаетесь, что ваши отношения с нами регулируются положениями настоящих TOS.\\nЕсли вы не принимаете данные условия, вы обязаны немедленно прекратить использование iccandle.ai и любых связанных услуг или платформ.\\n\\n1. Услуги\\n\\nPixel Nexus Global предоставляет действующим клиентам, находящимся в надлежащем статусе, доступ к своему аналитическому инструменту на базе искусственного интеллекта («Платформа»).\\nВ рамках настоящего соглашения термин «Услуги» означает предоставление Pixel Nexus Global доступа к Платформе.\\nУслуги предоставляются в рамках одной или нескольких подписок, активаций аккаунта, регистраций или заказов, оформленных вами на сайте iccandle.ai и принятых Pixel Nexus Global («Заказ»).\\n\\nPixel Nexus Global предоставляет действующим клиентам, находящимся в надлежащем статусе, доступ к своему аналитическому инструменту на базе искусственного интеллекта («Платформа»). В рамках настоящего соглашения термин «Услуги» означает предоставление Pixel Nexus Global доступа к Платформе. Услуги предоставляются в рамках одной или нескольких подписок, активаций аккаунта, регистраций или заказов, оформленных вами на сайте iccandle.ai и принятых Pixel Nexus Global («Заказ»).\\n\\nВ случае противоречий между настоящими TOS и Заказом, приоритет имеют положения настоящих TOS.\\nПринимая Услуги, вы соглашаетесь, что любые иные или дополнительные условия, предложенные вами в Заказе или иным образом, прямо отклоняются Pixel Nexus Global, если только мы не согласовали их в письменной форме, подписанной уполномоченным представителем.\\n\\n2. Ваши обязательства\\nИнформация о клиенте и ответственность за аккаунт\\n\\nВы соглашаетесь предоставлять Pixel Nexus Global точную информацию при создании аккаунта, в течение всего периода взаимодействия и во всей переписке. Мы можем периодически связываться с вами по электронной почте или телефону. Вы обязуетесь поддерживать действующий e-mail, проверяемый ежедневно, и своевременно сообщать об изменениях контактных данных.\\n\\nВы соглашаетесь предоставлять Pixel Nexus Global точную информацию при создании аккаунта, в течение всего периода взаимодействия и во всей переписке.\\nМы можем периодически связываться с вами по электронной почте или телефону.\\nВы обязуетесь поддерживать действующий e-mail, проверяемый ежедневно, и своевременно сообщать об изменениях контактных данных.\\n\\nPixel Nexus Global не несёт ответственности за перебои в обслуживании, ущерб или последствия, вызванные некорректной доставкой сообщений из-за устаревших контактных данных. Вы также соглашаетесь полностью и добросовестно заполнять все анкеты на платформе для соблюдения требований регуляторов бирж.\\n\\nРазрешённое использование платформы\\nРазрешённое использование платформы\\n\\nИспользование Платформы должно соответствовать настоящим TOS и сопутствующей документации.\\nЕсли вы предоставляете доступ третьим лицам, вы обязуетесь: (i) ограничивать их использование в соответствии с условиями; (ii) обеспечивать соблюдение ими TOS и Политики конфиденциальности; (iii) нести полную ответственность за любые их нарушения.\\n\\nИспользование Платформы должно соответствовать настоящим TOS и сопутствующей документации.\\nЕсли вы предоставляете доступ третьим лицам,\\nвы обязуетесь: (i) ограничивать их использование в соответствии с условиями;\\n(ii) обеспечивать соблюдение ими TOS и Политики конфиденциальности;\\n(iii) нести полную ответственность за любые их нарушения.\\n\\nИнтеллектуальная собственность и соблюдение закона\\nИнтеллектуальная собственность и соблюдение закона\\nИнтеллектуальная собственность и соблюдение закона\\nИнтеллектуальная собственность и соблюдение закона\\nИнтеллектуальная собственность и соблюдение закона\\n\\nВы не имеете права изменять или удалять уведомления о товарных знаках и собственности. Использование Платформы допускается только в рамках:\\n(i) законодательства, регулирующего настоящие TOS;\\n(ii) всех применимых законов вашей юрисдикции.\\n\\nНесанкционированное использование строго запрещено.\\n\\nНесанкционированное испол\\nьзование строго запрещено.\\n\\n3. Срок действия\\nДата вступления в силу\\n\\nНастоящие Условия вступают в силу («Дата вступления в силу») с момента: (i) нажатия «Я принимаю» (фиксируется сервером),\\nили (ii) первого доступа или использования Платформы.\\n\\nУсловия действуют на протяжении любого активного Заказа.\\n\\nУсловия действуют на протяже\\nнии любого активного Заказа.\\n\\nПодписка и продление\\n\\nУслуги автоматически продлеваются (ежемесячно, ежеквартально или ежегодно) согласно Заказу.\\nПо умолчанию срок подписки — 1 месяц.\\n\\nПробный период\\nПробный период\\n\\nПробный период\\n\\nPixel Nexus Global может предоставлять пробные периоды (платные или бесплатные).\\nВ течение пробного периода:\\n\\nприменяются все условия как для платной подписки; вы можете отменить подписку до автоматического продления; условия могут изменяться без уведомления. Управление подпиской\\n\\nВы самостоятельно отвечаете за:\\n\\nВы самостоятельно отвечаете за:\\n\\nконтроль дат продления; обновление платёжных данных;\\nотмену подписки; актуальность контактных данных.\\n\\nPixel Nexus Global не несёт ответственности за списания из-за вашего несоблюдения этих обязанностей.\\n\\n4. Прекращение Отмена и возвраты\\n\\n4. Прекращение Отмена и возвраты\\n\\nИнформация о возвратах размещена на странице Refund and Cancellation Policy на iccandle.ai.\\nОтмена аккаунта отключает автопродление, но не аннулирует уже выставленные счета.\\n\\nРасторжение по инициативе сторон\\nРасторжение по инициативе сторон\\n\\nЛюбая сторона может расторгнуть Заказ, уведомив другую сторону минимум за 1 день до окончания срока.\\n\\nЛюбая сторона может расторгнуть Заказ, уведомив другую сторону минимум за 1 день до окончания срока.\\n\\nНарушения\\nНарушения\\n\\nPixel Nexus Global может немедленно приостановить или прекратить доступ без уведомления и возврата средств при нарушении условий или законодательства.\\n\\nПоследствия\\nПоследствия\\n\\nПоследствия\\n\\nОбязательства, возникшие до прекращения, сохраняются. Все задолженности должны быть оплачены.\\nВозврат средств не гарантируется.\\n\\n5. Лицензия и ограничения\\n\\nPixel Nexus Global предоставляет ограниченную, отзывную, неисключительную и непередаваемую лицензию на использование технологии («Pixel Nexus Technology») исключительно для доступа к аналитическим инструментам.\\n\\nPixel Nexus Global предоставляет ограниченную, отзывную, неисключительную и непередаваемую лицензию на использование технологии («Pixel Nexus Technology») исключительно для доступа к аналитическим инструментам.\\n\\nЗапрещено:\\nЗапрещено:\\n\\nпередача, продажа, аренда, сублицензирование; обратная разработка, декомпиляция; обход защитных механизмов; предоставление доступа третьим лицам.\\n\\nВсе права принадлежат Pixel Nexus Global.\\nВсе права принадлежат Pixel Nexus Global.\\nВсе права принадлежат Pixel Nexus Global.\\nВсе права принадлежат Pixel Nexus Global.\\nВсе права принадлежат Pixel Nexus Global.\\nВсе права принадлежат Pixel Nexus Global.\\n\\nВсе права принадлежат Pixel Nexus Global.\\n\\n6.\\nИспользование данных и ИС\\n\\nКомпания может использовать данные пользователя («Operational Information») для поддержки и улучшения услуг. Вы предоставляете бессрочную лицензию на обработку данных.\\n\\nPixel Nexus Global сохраняет исключительные права на результаты анализа и может коммерциализировать их без компенсации пользователю.\\n\\nPixel Nexus Global сохраняет исключительные права на результаты ан\\nализа и может коммерциализировать их без компенсации пользователю.\\n\\n7–9. Отказ от ответственности и риски\\n\\nПлатформа использует сторонние данные и предоставляется «как есть». Информация может быть неточной и не является инвестиционной рекомендацией. Пользователь полностью принимает риски финансовых потерь и обязан проводить самостоятельный анализ.\\n\\n10.\\nОтсутствие гарантий\\n\\n10. Отсутствие гарантий\\n\\nНет гарантий работоспособности, точности, отсутствия ошибок или бесперебойности.\\nБета-функции могут быть нестабильными.\\n\\n11.\\nОграничение ответственности\\n\\nМаксимальная ответственность ограничивается суммой, уплаченной за последний месяц.\\nКомпания не несёт ответственности за косвенные или случайные убытки.\\n\\nМаксимальная ответственность ограничивается суммой, уплаченной за последний месяц.\\nКомпания не несёт ответственности за косвенные или случайные убытки.\\n\\n12–19.\\nПрочие условия\\n\\nВключают уведомления, форс-мажор, отказ от прав, уступку прав,\\nразделимость положений, отсутствие агентских отношений, приоритет документов, юрисдикционные ограничения и запреты на использование в определённых странах.\"},\"Refund\":{\"title\":\"Политика возврата и отмены\",\"intro\":\"Настоящая Политика возврата и отмены («Политика») регулирует условия возврата и отмены услуг, предоставляемых компанией Pixel Nexus Global Pte. Ltd. («мы», «нас») через платформу iccandle.ai («Сервис»). Данная Политика является частью Условий обслуживания и должна рассматриваться совместно с ними.\",\"sections\":[{\"title\":\"1. Определения\",\"definitions\":[{\"term\":\"Подписка\",\"text\":\"A recurring paid access to the Services for a specified period (e.g., monthly or annually).\"},{\"term\":\"Биллинг-период\",\"text\":\"The recurring time interval for which a Subscription fee is charged.\"},{\"term\":\"Изменение подписки\",\"text\":\"Any upgrade or downgrade to a different Subscription plan.\"}]},{\"title\":\"2. Условия отмены\",\"subsections\":[{\"title\":\"Отмена подписки\",\"listDisc\":[\"You may cancel your Subscription at any time through your account dashboard or by contacting support.\",\"Cancellation will take effect at the end of the current billing period; you will retain access to the Services through the end of that period.\",\"Cancelling your Subscription does not automatically entitle you to a refund of fees already paid.\"]}]},{\"title\":\"3. Условия возврата\",\"subsections\":[{\"title\":\"3.1 Общие положения\",\"paragraphs\":[\"Except as expressly provided in this Policy or required by applicable law, all fees paid for Subscriptions are non‑refundable once charged.\"]},{\"title\":\"3.2 Случаи возможного возврата\",\"paragraphs\":[\"We may issue a refund at our sole discretion only in limited circumstances, including but not limited to:\"],\"listDisc\":[\"Duplicate payments (verified duplicate charges will be refunded).\",\"Technical errors that demonstrably prevented access to Services, where the error was not caused by user actions and is verified by us.\",\"Applicable statutory rights under consumer protection law where these rights apply and cannot be waived.\"],\"paragraphsAfter\":[\"Refunds, if approved, will be processed to the original payment method within a commercially reasonable timeframe determined by payment processors and banking partners.\"]},{\"title\":\"3.3 Отсутствие возврата за частичное использование\",\"paragraphs\":[\"Refunds will not be issued for:\"],\"listDisc\":[\"Partial use of the Services during a billing period.\",\"Downgrades of Subscription plans.\",\"Change of mind or business decisions after payment.\",\"Subscription cancellations submitted after a billing cycle has renewed.\"]}]},{\"title\":\"4. Изменение подписки\",\"paragraphs\":[\"We provide two options when changing your Subscription plan:\"],\"subsections\":[{\"title\":\"4.1 Немедленное изменение\",\"paragraphs\":[\"If you select \\\"Change Now,\\\" your new plan will take effect immediately, and the associated charge will be applied.\",\"Please note that no refunds, credits, or prorated adjustments will be provided for any unused portion of your current plan.\"]},{\"title\":\"4.2 Изменение со следующего периода\",\"paragraphs\":[\"If you choose \\\"Change on Next Billing,\\\" your current plan will remain active until the end of the current Billing Period.\",\"The new plan will take effect at the start of the next Billing Period.\",\"No refunds or credits apply to the current Billing Period.\"]}]},{\"title\":\"5. Отмена после продления\",\"paragraphs\":[\"If an automatic renewal has already occurred before you submit a cancellation request: The renewal fee is non-refundable. The cancellation will apply to the next Billing Period.\"]},{\"title\":\"6. Чарджбэки и споры\",\"paragraphs\":[\"We maintain a strict no-tolerance policy toward unjustified chargebacks.\",\"Initiating a chargeback or payment dispute without first contacting us to seek resolution is considered a breach of this Refund and Cancellation Policy and our Terms of Service. Such actions may result in immediate suspension or permanent termination of your account, without notice, and forfeiture of access to the Services.\",\"We reserve the right to challenge and dispute any chargeback that we deem unauthorized, abusive, or inconsistent with this Policy. This includes providing payment processors, banks, and financial institutions with all relevant evidence, including but not limited to:\"],\"listDisc\":[\"Подтверждение оказания услуг и журналы доступа\",\"Записи активности аккаунта\",\"Принятие наших Условий обслуживания и политик\",\"История переписки с клиентом\"],\"paragraphsAfter\":[\"Customers are strongly encouraged to contact our support team first to resolve any billing concerns. We are committed to addressing legitimate issues in good faith; however, chargebacks used as a substitute for cancellation or refund requests will not be tolerated.\"]},{\"title\":\"7. Изменение Политики\",\"paragraphs\":[\"We may update this Policy from time to time. Material changes will be posted on our website or communicated via email prior to taking effect. Continued use of the Services after such updates constitutes acceptance of the revised Policy.\"]},{\"title\":\"8. Контакты\",\"paragraphs\":[\"For all cancellation and refund requests, please contact our support team via our help center.\"]}],\"content\":\"Политика возврата и отмены\\n\\nНастоящая Политика возврата и отмены («Политика») регулирует условия возврата и отмены услуг, предоставляемых компанией Pixel Nexus Global Pte. Ltd. («мы», «нас») через платформу iccandle.ai («Сервис»). Данная Политика является частью Условий обслуживания и должна рассматриваться совместно с ними.\\n\\n1. Определения\\n\\nПодписка (Subscription): платный доступ к Сервису на определённый период (ежемесячно или ежегодно).\\n\\nБиллинг-период (Billing Period): повторяющийся интервал списания оплаты.\\n\\nИзменение подписки (Subscription Change): переход на другой тариф (повышение или понижение).\\n\\n2. Условия отмены\\nОтмена подписки\\nПодписку можно отменить в любое время через личный кабинет или поддержку\\nОтмена вступает в силу в конце текущего биллингового периода\\nДоступ к сервису сохраняется до конца оплаченного периода\\nУже оплаченные средства не подлежат автоматическому возврату\\n3. Условия возврата\\n3.1 Общие положения\\n\\nЕсли иное не предусмотрено настоящей Политикой или законом, все оплаченные суммы не подлежат возврату после списания.\\n\\n3.2 Случаи возможного возврата\\n\\nВозврат может быть произведён по нашему усмотрению в ограниченных случаях:\\n\\nДвойное списание (подтверждённое)\\nТехническая ошибка, полностью препятствующая доступу к сервису (не по вине пользователя)\\nПрава, предусмотренные законодательством о защите прав потребителей\\n\\nОдобренные возвраты обрабатываются через исходный платёжный метод в разумные сроки.\\n\\n3.3 Отсутствие возврата за частичное использование\\n\\nВозврат не предоставляется за:\\n\\nЧастичное использование периода\\nПонижение тарифа\\nИзменение решения после оплаты\\nОтмену после автоматического продления\\n4. Изменение подписки\\n4.1 Немедленное изменение\\n\\nНовый тариф вступает в силу сразу, соответствующая сумма списывается немедленно. Возвраты за неиспользованный период не предоставляются.\\n\\n4.2 Изменение со следующего периода\\n\\nТекущий тариф действует до конца периода, новый тариф вступает в силу со следующего биллинга.\\n\\n5. Отмена после продления\\n\\nЕсли подписка уже была автоматически продлена, возврат за текущий период не предоставляется, отмена применяется со следующего периода.\\n\\n6. Чарджбэки и споры\\n\\nМы не допускаем необоснованные чарджбэки.\\n\\nИнициирование спора без предварительного обращения в поддержку считается нарушением Политики и может привести к блокировке или удалению аккаунта.\\n\\n7. Изменение Политики\\n\\nМы можем периодически обновлять Политику. Существенные изменения будут заранее опубликованы или отправлены по электронной почте.\\n\\n8. Контакты\\n\\nВсе запросы на возврат и отмену направляйте через службу поддержки.\"},\"Privacy\":{\"title\":\"Политика конфиденциальности\",\"intro\":\"Настоящая Политика конфиденциальности объясняет, как Pixel Nexus Global Pte. Ltd. («мы», «нас») собирает, использует, раскрывает и защищает персональные данные при использовании веб-сайта, приложений и сервисов (далее — «Сервисы»).\",\"sections\":[{\"title\":\"1. Собираемая информация\",\"paragraphs\":[\"We collect the following information:\"],\"listDisc\":[\"Адрес электронной почты, предоставленный при регистрации\",\"Service usage information, including interactions with features, pages viewed, session activity, and general usage patterns, collected to improve the functionality, performance, and user experience of our Services\"],\"paragraphsAfter\":[\"Мы не собираем, не храним и не обрабатываем данные банковских карт или другую чувствительную платёжную информацию.\"]},{\"title\":\"2. Платежи и Stripe\",\"paragraphs\":[\"All payment transactions are processed by our third-party payment service provider, Stripe.\",\"When you make a payment, Stripe collects and processes payment-related information (such as card details, billing information, and transaction data) directly. This information is handled in accordance with Stripe’s Privacy Policy and security standards, including PCI-DSS compliance.\",\"We only receive limited information from Stripe necessary to operate our Services, including:\"],\"listDisc\":[\"подтверждение платежа\",\"статус подписки\",\"идентификаторы транзакций\"],\"paragraphsAfter\":[\"Мы не имеем доступа к полным платёжным данным.\",\"You can review Stripe’s Privacy Policy here:\"],\"stripePrivacyUrl\":\"https://stripe.com/privacy\"},{\"title\":\"3. Использование информации\",\"paragraphs\":[\"We use the email addresses we collect to:\"],\"listDisc\":[\"Provide, operate, and maintain our Services\",\"Analyze service usage and improve product functionality, performance, and user experience\",\"Communicate with you regarding technical notices, updates, and support\",\"Inform you about products, services, features, and events\"]},{\"title\":\"4. Передача данных\",\"paragraphs\":[\"We do not sell your personal information.\",\"We may share your information only with:\"],\"listDisc\":[\"Service providers who support our operations (including hosting, analytics, and payment processing via Stripe)\",\"Professional advisors, such as legal, accounting, or compliance consultants\",\"Law enforcement or regulatory authorities, when required by law or to protect our legal rights\"],\"paragraphsAfter\":[\"All third-party service providers are required to process personal data in accordance with applicable data protection laws.\"]},{\"title\":\"5. Ваши права\",\"paragraphs\":[\"Depending on your location, you may have the right to:\"],\"listDisc\":[\"получить доступ к данным\",\"исправить email\",\"удалить данные\",\"ограничить или возразить против обработки\"],\"paragraphsAfter\":[\"Requests related to payment data should be directed to Stripe, as they act as the data controller for payment information.\"]},{\"title\":\"6. Сторонние сервисы\",\"paragraphs\":[\"Our Services rely on third-party providers such as Stripe. Their handling of personal data is governed by their own privacy policies, and we encourage you to review them.\"]},{\"title\":\"7. Контакты\",\"paragraphs\":[\"If you have any questions about this Privacy Policy or our data practices, please contact us at:\",\"support@iccandle.ai\"]}],\"content\":\"Политика конфиденциальности\\n\\nНастоящая Политика конфиденциальности объясняет, как Pixel Nexus Global Pte. Ltd. («мы», «нас») собирает, использует, раскрывает и защищает персональные данные при использовании веб-сайта, приложений и сервисов (далее — «Сервисы»).\\n\\n1. Собираемая информация\\n\\nМы собираем следующие данные:\\n\\nАдрес электронной почты, предоставленный при регистрации\\nДанные об использовании сервиса (взаимодействие с функциями, просмотренные страницы, сессии и модели использования)\\n\\nЭти данные используются для улучшения функциональности, производительности и пользовательского опыта.\\n\\nМы не собираем, не храним и не обрабатываем данные банковских карт или другую чувствительную платёжную информацию.\\n\\n2. Платежи и Stripe\\n\\nВсе платежи обрабатываются сторонним провайдером Stripe.\\n\\nПри оплате Stripe напрямую собирает и обрабатывает платёжные данные (данные карты, биллинг-информация и транзакции) в соответствии со своей политикой конфиденциальности и стандартом PCI-DSS.\\n\\nМы получаем от Stripe только ограниченную информацию:\\n\\nподтверждение платежа\\nстатус подписки\\nидентификаторы транзакций\\n\\nМы не имеем доступа к полным платёжным данным.\\n\\nПолитика конфиденциальности Stripe: https://stripe.com/privacy\\n\\n3. Использование информации\\n\\nМы используем email для:\\n\\nпредоставления и поддержки сервиса\\nанализа и улучшения продукта\\nтехнических уведомлений и поддержки\\nинформирования о функциях и обновлениях\\n4. Передача данных\\n\\nМы не продаём персональные данные.\\n\\nМы можем передавать данные только:\\n\\nпоставщикам услуг (хостинг, аналитика, Stripe)\\nюридическим, бухгалтерским и комплаенс-консультантам\\nгосударственным органам при необходимости по закону\\n\\nВсе третьи стороны обязаны соблюдать законы о защите данных.\\n\\n5. Ваши права\\n\\nВ зависимости от юрисдикции вы можете иметь право:\\n\\nполучить доступ к данным\\nисправить email\\nудалить данные\\nограничить или возразить против обработки\\n\\nЗапросы по платёжным данным следует направлять напрямую в Stripe.\\n\\n6. Сторонние сервисы\\n\\nНаши сервисы используют сторонние платформы (например, Stripe), которые обрабатывают данные по своим политикам.\\n\\n7. Контакты\\n\\nsupport@iccandle.ai\"},\"Cookie\":{\"title\":\"Политика использования файлов куки\",\"intro\":[\"This Cookie Policy explains how Pixel Nexus Global Pte. Ltd. (\\\"we\\\", \\\"us\\\", or \\\"our\\\") uses cookies and similar technologies when you visit or use iccandle.ai and related services (collectively, the \\\"Services\\\").\",\"Эта Политика должна рассматриваться совместно с Политикой конфиденциальности.\"],\"sections\":[{\"title\":\"1. Что такое куки\",\"paragraphs\":[\"Cookies — это небольшие текстовые файлы, которые сохраняются на вашем устройстве при посещении веб-сайта. Они используются для:\",\"обеспечения работы сайта\"],\"listDisc\":[\"Сессионные куки (удаляются при закрытии браузера)\",\"Постоянные куки (хранятся определённый срок или до удаления).\"]},{\"title\":\"2. Типы используемых куки\",\"subsections\":[{\"title\":\"2.1 Строго необходимые куки\",\"paragraphs\":[\"Постоянные cookies (хранятся определённый срок или до удаления)\"],\"listDisc\":[\"безопасный вход и аутентификация\",\"поддержание пользовательских сессий\",\"защита от мошенничества и злоупотреблений\"],\"paragraphsAfter\":[\"Без этих куки сервис не может работать должным образом.\"]},{\"title\":\"2.2 Функциональные куки\",\"paragraphs\":[\"защита от мошенничества и злоупотреблений\"],\"listDisc\":[\"язык и регион\",\"настройки аккаунта\"],\"paragraphsAfter\":[\"Они улучшают удобство, но не являются строго необходимыми.\"]},{\"title\":\"2.3 Аналитические и производительные куки\",\"paragraphs\":[\"2.3 Аналитические и производительные cookies\"],\"listDisc\":[\"посещённые страницы\",\"продолжительность сессий\",\"данные об ошибках и производительности\"],\"paragraphsAfter\":[\"данные об ошибках и производительности\"]},{\"title\":\"2.4 Сторонние куки\",\"paragraphs\":[\"2.4 Сторонние cookies\"],\"listDisc\":[\"Некоторые cookies устанавливаются сторонними поставщиками:\",\"платёжные системы (например, Stripe)\"],\"paragraphsAfter\":[\"аналитические и инфраструктурные провайдеры\"]}]},{\"title\":\"3. Для чего мы НЕ используем куки\",\"listDisc\":[\"реклама и поведенческий таргетинг\",\"продажа cookie-данных\",\"сбор чувствительной персональной информации\"]},{\"title\":\"4. Управление куки\",\"paragraphs\":[\"4. Управление cookies\"],\"listDisc\":[\"просмотр куки\",\"удаление куки\",\"блокировка куки\"],\"paragraphsAfter\":[\"Отключение некоторых куки может повлиять на работу сервиса.\"]},{\"title\":\"5. Изменения политики\",\"paragraphs\":[\"5. Изменения политики\"]},{\"title\":\"6. Контакты\",\"paragraphs\":[\"6. Контакты\",\"support@iccandle.ai\"]}],\"content\":\"Политика использования файлов cookie\\n\\nНастоящая Политика использования файлов cookie объясняет, как Pixel Nexus Global Pte. Ltd. («мы», «нас») использует файлы cookie и аналогичные технологии при посещении или использовании iccandle.ai и связанных сервисов (далее — «Сервисы»).\\n\\nЭта Политика должна рассматриваться совместно с Политикой конфиденциальности.\\n\\n1. Что такое cookies\\n\\nCookies — это небольшие текстовые файлы, которые сохраняются на вашем устройстве при посещении веб-сайта. Они используются для:\\n\\nобеспечения работы сайта\\nулучшения пользовательского опыта\\nпредоставления информации владельцам сайта\\n\\nCookies бывают:\\n\\nСессионные cookies (удаляются при закрытии браузера)\\nПостоянные cookies (хранятся определённый срок или до удаления)\\n2. Типы используемых cookies\\n2.1 Строго необходимые cookies\\n\\nЭти cookies необходимы для работы сервиса и не могут быть отключены.\\n\\nбезопасный вход и аутентификация\\nподдержание пользовательских сессий\\nзащита от мошенничества и злоупотреблений\\n2.2 Функциональные cookies\\n\\nИспользуются для запоминания ваших настроек:\\n\\nязык и регион\\nнастройки аккаунта\\n2.3 Аналитические и производительные cookies\\n\\nИспользуются для анализа того, как пользователи взаимодействуют с сервисом:\\n\\nпосещённые страницы\\nпродолжительность сессий\\nданные об ошибках и производительности\\n\\nЭти данные используются только для улучшения сервиса и не идентифицируют пользователей напрямую.\\n\\n2.4 Сторонние cookies\\n\\nНекоторые cookies устанавливаются сторонними поставщиками:\\n\\nплатёжные системы (например, Stripe)\\nаналитические и инфраструктурные провайдеры\\n\\nЭти третьи стороны используют cookies в соответствии со своими политиками.\\n\\n3. Для чего мы НЕ используем cookies\\nреклама и поведенческий таргетинг\\nпродажа cookie-данных\\nсбор чувствительной персональной информации\\n4. Управление cookies\\n\\nВы можете управлять cookies через настройки браузера:\\n\\nпросмотр cookies\\nудаление cookies\\nблокировка cookies\\n\\nОтключение некоторых cookies может повлиять на работу сервиса.\\n\\n5. Изменения политики\\n\\nМы можем обновлять эту Политику. Существенные изменения будут опубликованы на сайте. Продолжение использования сервиса означает согласие с обновлениями.\\n\\n6. Контакты\\n\\nsupport@iccandle.ai\"}}")
|
|
7440
7455
|
}
|
|
7441
7456
|
};
|
|
7442
|
-
function
|
|
7457
|
+
function Y(e, t) {
|
|
7443
7458
|
let n = t.split("."), r = e;
|
|
7444
7459
|
for (let e of n) {
|
|
7445
7460
|
if (!r || typeof r != "object" || !(e in r)) return;
|
|
@@ -7447,74 +7462,74 @@ function ie(e, t) {
|
|
|
7447
7462
|
}
|
|
7448
7463
|
return typeof r == "string" ? r : void 0;
|
|
7449
7464
|
}
|
|
7450
|
-
function
|
|
7465
|
+
function oe(e, t) {
|
|
7451
7466
|
return t ? e.replace(/\{(\w+)\}/g, (e, n) => t[n] == null ? `{${n}}` : String(t[n])) : e;
|
|
7452
7467
|
}
|
|
7453
|
-
function
|
|
7454
|
-
return
|
|
7468
|
+
function se(e, t, n) {
|
|
7469
|
+
return oe(Y(J[e], t) ?? Y(J.en, t) ?? t, n);
|
|
7455
7470
|
}
|
|
7456
7471
|
//#endregion
|
|
7457
7472
|
//#region src/context/widget-language.ts
|
|
7458
|
-
var
|
|
7459
|
-
function
|
|
7460
|
-
|
|
7473
|
+
var ce = Symbol("widget-language"), le = "en";
|
|
7474
|
+
function ue(e) {
|
|
7475
|
+
le = e;
|
|
7461
7476
|
}
|
|
7462
|
-
function
|
|
7463
|
-
return
|
|
7477
|
+
function de() {
|
|
7478
|
+
return le;
|
|
7464
7479
|
}
|
|
7465
|
-
function
|
|
7466
|
-
|
|
7467
|
-
|
|
7480
|
+
function fe(e) {
|
|
7481
|
+
ue(e.value), M(e, (e) => {
|
|
7482
|
+
ue(e);
|
|
7468
7483
|
}, { immediate: !0 });
|
|
7469
7484
|
let t = {
|
|
7470
7485
|
language: e,
|
|
7471
|
-
t: (t, n) =>
|
|
7486
|
+
t: (t, n) => se(e.value, t, n)
|
|
7472
7487
|
};
|
|
7473
|
-
return S(
|
|
7488
|
+
return S(ce, t), t;
|
|
7474
7489
|
}
|
|
7475
7490
|
function X() {
|
|
7476
|
-
return f(
|
|
7491
|
+
return f(ce) || {
|
|
7477
7492
|
language: r(() => "en"),
|
|
7478
|
-
t: ((e, t) =>
|
|
7493
|
+
t: ((e, t) => se("en", e, t))
|
|
7479
7494
|
};
|
|
7480
7495
|
}
|
|
7481
7496
|
//#endregion
|
|
7482
7497
|
//#region src/components/ui/toast-state.ts
|
|
7483
|
-
var
|
|
7484
|
-
function
|
|
7485
|
-
let t =
|
|
7486
|
-
t && (clearTimeout(t),
|
|
7498
|
+
var pe = 5e3, me = 1, he = /* @__PURE__ */ new Map(), ge = w([]);
|
|
7499
|
+
function _e(e) {
|
|
7500
|
+
let t = he.get(e);
|
|
7501
|
+
t && (clearTimeout(t), he.delete(e)), ge.value = ge.value.filter((t) => t.id !== e);
|
|
7487
7502
|
}
|
|
7488
|
-
function
|
|
7489
|
-
let o =
|
|
7503
|
+
function ve({ title: e, description: t, action: n, dismiss: r, variant: i = "info", duration: a = pe }) {
|
|
7504
|
+
let o = me++, s = {
|
|
7490
7505
|
id: o,
|
|
7491
7506
|
title: e,
|
|
7492
7507
|
description: t,
|
|
7493
7508
|
action: n,
|
|
7494
7509
|
dismiss: r !== !1 && {
|
|
7495
|
-
label: r?.label ??
|
|
7510
|
+
label: r?.label ?? se(de(), "Common.dismiss"),
|
|
7496
7511
|
onClick: r?.onClick
|
|
7497
7512
|
},
|
|
7498
7513
|
variant: i
|
|
7499
7514
|
};
|
|
7500
|
-
if (
|
|
7501
|
-
let e = setTimeout(() =>
|
|
7502
|
-
|
|
7515
|
+
if (ge.value = [...ge.value, s], a > 0) {
|
|
7516
|
+
let e = setTimeout(() => _e(o), a);
|
|
7517
|
+
he.set(o, e);
|
|
7503
7518
|
}
|
|
7504
7519
|
return o;
|
|
7505
7520
|
}
|
|
7506
7521
|
//#endregion
|
|
7507
7522
|
//#region src/lib/search-filter-storage.ts
|
|
7508
|
-
var
|
|
7509
|
-
function
|
|
7523
|
+
var ye = "search-filter", be = "search-filter-session", xe = "scanner-always-show";
|
|
7524
|
+
function Se() {
|
|
7510
7525
|
if (typeof window > "u") return !0;
|
|
7511
|
-
let e = localStorage.getItem(
|
|
7526
|
+
let e = localStorage.getItem(xe);
|
|
7512
7527
|
return e === null || e === "true";
|
|
7513
7528
|
}
|
|
7514
|
-
function
|
|
7515
|
-
typeof window > "u" || localStorage.setItem(
|
|
7529
|
+
function Ce(e) {
|
|
7530
|
+
typeof window > "u" || localStorage.setItem(xe, String(e));
|
|
7516
7531
|
}
|
|
7517
|
-
function
|
|
7532
|
+
function we(e) {
|
|
7518
7533
|
if (!e) return {};
|
|
7519
7534
|
try {
|
|
7520
7535
|
return JSON.parse(e);
|
|
@@ -7522,32 +7537,32 @@ function be(e) {
|
|
|
7522
7537
|
return {};
|
|
7523
7538
|
}
|
|
7524
7539
|
}
|
|
7525
|
-
function
|
|
7526
|
-
return typeof window > "u" ? {} :
|
|
7540
|
+
function Te() {
|
|
7541
|
+
return typeof window > "u" ? {} : we(localStorage.getItem(ye));
|
|
7527
7542
|
}
|
|
7528
|
-
function
|
|
7529
|
-
let e =
|
|
7543
|
+
function Ee() {
|
|
7544
|
+
let e = Te();
|
|
7530
7545
|
return Array.isArray(e.symbols) && e.symbols.length > 0;
|
|
7531
7546
|
}
|
|
7532
|
-
function
|
|
7547
|
+
function De(e, t) {
|
|
7533
7548
|
if (typeof window > "u") return;
|
|
7534
7549
|
let n = JSON.stringify(e);
|
|
7535
|
-
t ? (localStorage.setItem(
|
|
7550
|
+
t ? (localStorage.setItem(ye, n), sessionStorage.removeItem(be)) : (sessionStorage.setItem(be, n), ke());
|
|
7536
7551
|
}
|
|
7537
|
-
function
|
|
7552
|
+
function Oe() {
|
|
7538
7553
|
if (typeof window > "u") return {};
|
|
7539
|
-
let e =
|
|
7540
|
-
return Object.keys(e).length > 0 ? e :
|
|
7554
|
+
let e = we(sessionStorage.getItem(be));
|
|
7555
|
+
return Object.keys(e).length > 0 ? e : Te();
|
|
7541
7556
|
}
|
|
7542
|
-
function
|
|
7543
|
-
typeof window > "u" || localStorage.removeItem(
|
|
7557
|
+
function ke() {
|
|
7558
|
+
typeof window > "u" || localStorage.removeItem(ye);
|
|
7544
7559
|
}
|
|
7545
|
-
function
|
|
7560
|
+
function Ae(e) {
|
|
7546
7561
|
return e.isAllSelected ? !1 : !Array.isArray(e.symbols) || e.symbols.length <= 1;
|
|
7547
7562
|
}
|
|
7548
7563
|
//#endregion
|
|
7549
7564
|
//#region src/constants/symbol.constant.ts
|
|
7550
|
-
var
|
|
7565
|
+
var je = {
|
|
7551
7566
|
min: 10,
|
|
7552
7567
|
max: 50,
|
|
7553
7568
|
custom: [
|
|
@@ -7958,11 +7973,11 @@ var De = {
|
|
|
7958
7973
|
type: "commodity",
|
|
7959
7974
|
session: "1700-1700"
|
|
7960
7975
|
}
|
|
7961
|
-
],
|
|
7976
|
+
], Me = { class: "iccandle-simple-tooltip-trigger" }, Ne = {
|
|
7962
7977
|
key: 0,
|
|
7963
7978
|
class: "iccandle-simple-tooltip-content",
|
|
7964
7979
|
role: "tooltip"
|
|
7965
|
-
},
|
|
7980
|
+
}, Pe = /* @__PURE__ */ d({
|
|
7966
7981
|
__name: "SimpleTooltip",
|
|
7967
7982
|
props: { text: {} },
|
|
7968
7983
|
setup(e) {
|
|
@@ -7971,9 +7986,9 @@ var De = {
|
|
|
7971
7986
|
class: "iccandle-simple-tooltip-wrapper",
|
|
7972
7987
|
onMouseenter: r[0] ||= (e) => t.value = !0,
|
|
7973
7988
|
onMouseleave: r[1] ||= (e) => t.value = !1
|
|
7974
|
-
}, [s("span",
|
|
7989
|
+
}, [s("span", Me, [ee(n.$slots, "default")]), t.value && e.text ? (x(), o("div", Ne, O(e.text), 1)) : a("", !0)], 32));
|
|
7975
7990
|
}
|
|
7976
|
-
}),
|
|
7991
|
+
}), Fe = ["width", "height"], Ie = ["stroke"], Le = ["stroke"], Re = ["stroke"], ze = ["stroke"], Be = ["stroke"], Ve = /* @__PURE__ */ d({
|
|
7977
7992
|
__name: "ScanIcon",
|
|
7978
7993
|
props: {
|
|
7979
7994
|
size: { default: 24 },
|
|
@@ -7996,7 +8011,7 @@ var De = {
|
|
|
7996
8011
|
"stroke-linecap": "round",
|
|
7997
8012
|
"stroke-linejoin": "round",
|
|
7998
8013
|
"stroke-width": "1.4"
|
|
7999
|
-
}, null, 8,
|
|
8014
|
+
}, null, 8, Ie),
|
|
8000
8015
|
s("path", {
|
|
8001
8016
|
d: "M16.54,12.13v1.34c0,2.11-1.71,3.83-3.83,3.83h-1.14",
|
|
8002
8017
|
fill: "none",
|
|
@@ -8004,7 +8019,7 @@ var De = {
|
|
|
8004
8019
|
"stroke-linecap": "round",
|
|
8005
8020
|
"stroke-linejoin": "round",
|
|
8006
8021
|
"stroke-width": "1.4"
|
|
8007
|
-
}, null, 8,
|
|
8022
|
+
}, null, 8, Le),
|
|
8008
8023
|
s("path", {
|
|
8009
8024
|
d: "M11.57,1.98h1.14c2.11,0,3.83,1.71,3.83,3.83v.91",
|
|
8010
8025
|
fill: "none",
|
|
@@ -8012,7 +8027,7 @@ var De = {
|
|
|
8012
8027
|
"stroke-linecap": "round",
|
|
8013
8028
|
"stroke-linejoin": "round",
|
|
8014
8029
|
"stroke-width": "1.4"
|
|
8015
|
-
}, null, 8,
|
|
8030
|
+
}, null, 8, Re),
|
|
8016
8031
|
s("path", {
|
|
8017
8032
|
d: "M.7,6.72v-.91c0-2.11,1.71-3.83,3.83-3.83h1.09",
|
|
8018
8033
|
fill: "none",
|
|
@@ -8020,7 +8035,7 @@ var De = {
|
|
|
8020
8035
|
"stroke-linecap": "round",
|
|
8021
8036
|
"stroke-linejoin": "round",
|
|
8022
8037
|
"stroke-width": "1.4"
|
|
8023
|
-
}, null, 8,
|
|
8038
|
+
}, null, 8, ze),
|
|
8024
8039
|
s("path", {
|
|
8025
8040
|
d: "M5.62,17.29h-1.09c-2.11,0-3.83-1.71-3.83-3.83v-1.34",
|
|
8026
8041
|
fill: "none",
|
|
@@ -8028,14 +8043,14 @@ var De = {
|
|
|
8028
8043
|
"stroke-linecap": "round",
|
|
8029
8044
|
"stroke-linejoin": "round",
|
|
8030
8045
|
"stroke-width": "1.4"
|
|
8031
|
-
}, null, 8,
|
|
8032
|
-
], 10,
|
|
8046
|
+
}, null, 8, Be)
|
|
8047
|
+
], 10, Fe));
|
|
8033
8048
|
}
|
|
8034
|
-
}),
|
|
8049
|
+
}), He = [
|
|
8035
8050
|
"width",
|
|
8036
8051
|
"height",
|
|
8037
8052
|
"fill"
|
|
8038
|
-
],
|
|
8053
|
+
], Ue = ["fill"], We = ["fill"], Ge = ["fill"], Ke = ["fill"], qe = ["fill"], Je = /* @__PURE__ */ d({
|
|
8039
8054
|
__name: "PatternTrackerIcon",
|
|
8040
8055
|
props: {
|
|
8041
8056
|
size: { default: 24 },
|
|
@@ -8055,35 +8070,35 @@ var De = {
|
|
|
8055
8070
|
s("path", {
|
|
8056
8071
|
d: "M4.97,15.12c-.4,0-.73-.33-.73-.73v-6.02c0-.4.33-.73.73-.73s.73.33.73.73v6.02c0,.4-.33.73-.73.73Z",
|
|
8057
8072
|
fill: e.color
|
|
8058
|
-
}, null, 8,
|
|
8073
|
+
}, null, 8, Ue),
|
|
8059
8074
|
s("path", {
|
|
8060
8075
|
d: "M7.79,16.95c-.4,0-.73-.33-.73-.73V5.22c0-.4.33-.73.73-.73s.73.33.73.73v11c0,.4-.33.73-.73.73Z",
|
|
8061
8076
|
fill: e.color
|
|
8062
|
-
}, null, 8,
|
|
8077
|
+
}, null, 8, We),
|
|
8063
8078
|
s("path", {
|
|
8064
8079
|
d: "M10.62,13.88c-.4,0-.73-.33-.73-.73v-5.23c0-.4.33-.73.73-.73s.73.33.73.73v5.23c0,.4-.33.73-.73.73Z",
|
|
8065
8080
|
fill: e.color
|
|
8066
|
-
}, null, 8,
|
|
8081
|
+
}, null, 8, Ge),
|
|
8067
8082
|
s("path", {
|
|
8068
8083
|
d: "M13.44,17.22c-.4,0-.73-.33-.73-.73v-7.54c0-.4.33-.73.73-.73s.73.33.73.73v7.54c0,.4-.33.73-.73.73Z",
|
|
8069
8084
|
fill: e.color
|
|
8070
|
-
}, null, 8,
|
|
8085
|
+
}, null, 8, Ke),
|
|
8071
8086
|
s("path", {
|
|
8072
8087
|
d: "M16.26,15.12c-.4,0-.73-.33-.73-.73V6.25c0-.4.33-.73.73-.73s.73.33.73.73v8.14c0,.4-.33.73-.73.73Z",
|
|
8073
8088
|
fill: e.color
|
|
8074
|
-
}, null, 8,
|
|
8089
|
+
}, null, 8, qe),
|
|
8075
8090
|
n[0] ||= s("path", { d: "M20.65,11.66h-2.48c-.4,0-.73-.33-.73-.73s.33-.73.73-.73h2.48c.4,0,.73.33.73.73s-.33.73-.73.73Z" }, null, -1),
|
|
8076
8091
|
n[1] ||= s("path", { d: "M3.21,11.66H.73c-.4,0-.73-.33-.73-.73s.33-.73.73-.73h2.48c.4,0,.73.33.73.73s-.33.73-.73.73Z" }, null, -1),
|
|
8077
8092
|
n[2] ||= s("path", { d: "M10.69,21.11c-.4,0-.73-.33-.73-.73v-2.48c0-.4.33-.73.73-.73s.73.33.73.73v2.48c0,.4-.33.73-.73.73Z" }, null, -1),
|
|
8078
8093
|
n[3] ||= s("path", { d: "M10.69,3.93c-.4,0-.73-.33-.73-.73V.73c0-.4.33-.73.73-.73s.73.33.73.73v2.48c0,.4-.33.73-.73.73Z" }, null, -1)
|
|
8079
|
-
]), n[4] ||= s("path", { d: "M15.15,20.03H6.08c-2.65,0-4.8-2.15-4.8-4.8V6.16C1.27,3.51,3.43,1.35,6.08,1.35h9.07c2.65,0,4.8,2.15,4.8,4.8v9.07c0,2.65-2.16,4.8-4.8,4.8ZM6.08,2.74c-1.88,0-3.42,1.53-3.42,3.42v9.07c0,1.88,1.53,3.42,3.42,3.42h9.07c1.88,0,3.42-1.53,3.42-3.42V6.16c0-1.88-1.53-3.42-3.42-3.42H6.08Z" }, null, -1)], 10,
|
|
8094
|
+
]), n[4] ||= s("path", { d: "M15.15,20.03H6.08c-2.65,0-4.8-2.15-4.8-4.8V6.16C1.27,3.51,3.43,1.35,6.08,1.35h9.07c2.65,0,4.8,2.15,4.8,4.8v9.07c0,2.65-2.16,4.8-4.8,4.8ZM6.08,2.74c-1.88,0-3.42,1.53-3.42,3.42v9.07c0,1.88,1.53,3.42,3.42,3.42h9.07c1.88,0,3.42-1.53,3.42-3.42V6.16c0-1.88-1.53-3.42-3.42-3.42H6.08Z" }, null, -1)], 10, He));
|
|
8080
8095
|
}
|
|
8081
|
-
}),
|
|
8096
|
+
}), Ye = [
|
|
8082
8097
|
"width",
|
|
8083
8098
|
"height",
|
|
8084
8099
|
"stroke",
|
|
8085
8100
|
"stroke-width"
|
|
8086
|
-
],
|
|
8101
|
+
], Xe = /* @__PURE__ */ d({
|
|
8087
8102
|
__name: "GripVerticalIcon",
|
|
8088
8103
|
props: {
|
|
8089
8104
|
size: { default: 24 },
|
|
@@ -8103,13 +8118,13 @@ var De = {
|
|
|
8103
8118
|
"stroke-linecap": "round",
|
|
8104
8119
|
"stroke-linejoin": "round",
|
|
8105
8120
|
class: g(e.className)
|
|
8106
|
-
}, [...n[0] ||= [c("<circle cx=\"9\" cy=\"12\" r=\"1\"></circle><circle cx=\"9\" cy=\"5\" r=\"1\"></circle><circle cx=\"9\" cy=\"19\" r=\"1\"></circle><circle cx=\"15\" cy=\"12\" r=\"1\"></circle><circle cx=\"15\" cy=\"5\" r=\"1\"></circle><circle cx=\"15\" cy=\"19\" r=\"1\"></circle>", 6)]], 10,
|
|
8121
|
+
}, [...n[0] ||= [c("<circle cx=\"9\" cy=\"12\" r=\"1\"></circle><circle cx=\"9\" cy=\"5\" r=\"1\"></circle><circle cx=\"9\" cy=\"19\" r=\"1\"></circle><circle cx=\"15\" cy=\"12\" r=\"1\"></circle><circle cx=\"15\" cy=\"5\" r=\"1\"></circle><circle cx=\"15\" cy=\"19\" r=\"1\"></circle>", 6)]], 10, Ye));
|
|
8107
8122
|
}
|
|
8108
|
-
}),
|
|
8123
|
+
}), Ze = [
|
|
8109
8124
|
"width",
|
|
8110
8125
|
"height",
|
|
8111
8126
|
"stroke"
|
|
8112
|
-
],
|
|
8127
|
+
], Qe = /* @__PURE__ */ d({
|
|
8113
8128
|
__name: "Minimize2Icon",
|
|
8114
8129
|
props: {
|
|
8115
8130
|
size: { default: 24 },
|
|
@@ -8141,13 +8156,13 @@ var De = {
|
|
|
8141
8156
|
y1: "21",
|
|
8142
8157
|
y2: "14"
|
|
8143
8158
|
}, null, -1)
|
|
8144
|
-
]], 8,
|
|
8159
|
+
]], 8, Ze));
|
|
8145
8160
|
}
|
|
8146
|
-
}),
|
|
8161
|
+
}), $e = [
|
|
8147
8162
|
"width",
|
|
8148
8163
|
"height",
|
|
8149
8164
|
"stroke"
|
|
8150
|
-
],
|
|
8165
|
+
], et = /* @__PURE__ */ d({
|
|
8151
8166
|
__name: "Maximize2Icon",
|
|
8152
8167
|
props: {
|
|
8153
8168
|
size: { default: 24 },
|
|
@@ -8179,15 +8194,15 @@ var De = {
|
|
|
8179
8194
|
y1: "21",
|
|
8180
8195
|
y2: "14"
|
|
8181
8196
|
}, null, -1)
|
|
8182
|
-
]], 8,
|
|
8197
|
+
]], 8, $e));
|
|
8183
8198
|
}
|
|
8184
|
-
}), Ze = "data:image/png;base64,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", Qe = { class: "iccandle-scanner-popup__inner" }, $e = { class: "iccandle-handle iccandle-scanner-popup__bars" }, et = ["disabled"], tt = ["disabled"], nt = {
|
|
8199
|
+
}), tt = "data:image/png;base64,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", nt = { class: "iccandle-scanner-popup__inner" }, rt = { class: "iccandle-handle iccandle-scanner-popup__bars" }, it = ["disabled"], at = ["disabled"], ot = {
|
|
8185
8200
|
key: 1,
|
|
8186
8201
|
class: "iccandle-scanner-popup__action-row"
|
|
8187
|
-
},
|
|
8202
|
+
}, st = ["src"], ct = {
|
|
8188
8203
|
key: 0,
|
|
8189
8204
|
class: "iccandle-scanner-popup__label"
|
|
8190
|
-
},
|
|
8205
|
+
}, lt = /* @__PURE__ */ d({
|
|
8191
8206
|
__name: "ScannerPopUp",
|
|
8192
8207
|
props: {
|
|
8193
8208
|
handleTrackPatternClick: {},
|
|
@@ -8279,7 +8294,7 @@ var De = {
|
|
|
8279
8294
|
});
|
|
8280
8295
|
async function E() {
|
|
8281
8296
|
if (n.selectedCandles?.length) {
|
|
8282
|
-
|
|
8297
|
+
ve({
|
|
8283
8298
|
title: c("Common.error"),
|
|
8284
8299
|
description: c("Selector.clearReplayFirst"),
|
|
8285
8300
|
variant: "error"
|
|
@@ -8289,62 +8304,62 @@ var De = {
|
|
|
8289
8304
|
let e = n.candles[0], t = n.candles[n.candles.length - 1];
|
|
8290
8305
|
if (!e || !t) return;
|
|
8291
8306
|
n.setScanLoading?.(!0);
|
|
8292
|
-
let r = e.timestamp, i = t.timestamp;
|
|
8307
|
+
let r = e.timestamp, i = t.timestamp, a = i > 0xe8d4a51000 ? Math.floor(i / 1e3) : i, o = r > 0xe8d4a51000 ? Math.floor(r / 1e3) : r;
|
|
8293
8308
|
if (n.chartWidget) {
|
|
8294
|
-
let e = n.chartWidget.activeChart(), t =
|
|
8309
|
+
let e = n.chartWidget.activeChart(), t = G(n.resolution), r = a - (100 * t + t * n.window_size + t * 100), i = a + 100 / 3 * t;
|
|
8295
8310
|
try {
|
|
8296
8311
|
await e.setVisibleRange({
|
|
8297
8312
|
from: r,
|
|
8298
|
-
to:
|
|
8313
|
+
to: i
|
|
8299
8314
|
});
|
|
8300
8315
|
} catch (e) {
|
|
8301
8316
|
console.error("Error setting visible range:", e);
|
|
8302
8317
|
}
|
|
8303
8318
|
}
|
|
8304
|
-
let
|
|
8319
|
+
let s;
|
|
8305
8320
|
try {
|
|
8306
8321
|
let { data: e } = await F.post("https://scan-service.iccandle.ai/cacheCandle", { candles: n.candles }, { headers: { Authorization: `Bearer ${localStorage.getItem("iccandle_token")}` } });
|
|
8307
|
-
|
|
8322
|
+
s = e;
|
|
8308
8323
|
} catch (e) {
|
|
8309
8324
|
console.error("Error caching candles:", e), n.setScanLoading?.(!1);
|
|
8310
8325
|
return;
|
|
8311
8326
|
}
|
|
8312
|
-
if (!
|
|
8327
|
+
if (!s?.id) {
|
|
8313
8328
|
n.setScanLoading?.(!1);
|
|
8314
8329
|
return;
|
|
8315
8330
|
}
|
|
8316
|
-
let
|
|
8331
|
+
let l = Oe(), u = l.timeframe || n.timeframe, d = {
|
|
8317
8332
|
reference_resolution: n.resolution,
|
|
8318
|
-
resolution:
|
|
8333
|
+
resolution: u,
|
|
8319
8334
|
symbol: n.currentSymbol,
|
|
8320
|
-
end_timestamp:
|
|
8321
|
-
start_timestamp:
|
|
8335
|
+
end_timestamp: a,
|
|
8336
|
+
start_timestamp: o,
|
|
8322
8337
|
window_size: n.window_size,
|
|
8323
|
-
top_k:
|
|
8338
|
+
top_k: l.top_k || 25,
|
|
8324
8339
|
percent: 90,
|
|
8325
|
-
analyze_window:
|
|
8326
|
-
candle_id:
|
|
8340
|
+
analyze_window: l.probability || 0,
|
|
8341
|
+
candle_id: s?.id || ""
|
|
8327
8342
|
};
|
|
8328
|
-
if (!
|
|
8329
|
-
symbols:
|
|
8330
|
-
types:
|
|
8343
|
+
if (!Ae(l) && !l.isAllSelected && (l.symbolTypes?.length ?? 0) > 0 && (l.symbols?.length ?? 0) > 0) d.filter = {
|
|
8344
|
+
symbols: l.symbols.join(","),
|
|
8345
|
+
types: l.symbolTypes || []
|
|
8331
8346
|
};
|
|
8332
|
-
else if (!
|
|
8347
|
+
else if (!l.isAllSelected) {
|
|
8333
8348
|
let e = Z.find((e) => e.ticker === n.currentSymbol)?.type;
|
|
8334
|
-
|
|
8349
|
+
d.filter = {
|
|
8335
8350
|
symbols: n.currentSymbol,
|
|
8336
8351
|
...e ? { types: [e] } : {}
|
|
8337
8352
|
};
|
|
8338
8353
|
}
|
|
8339
|
-
if (
|
|
8340
|
-
let e =
|
|
8341
|
-
|
|
8354
|
+
if (l.period && l.period > 0) {
|
|
8355
|
+
let e = a - l.period * 365.25 * 24 * 60 * 60;
|
|
8356
|
+
d.filter ||= {}, d.filter.period = e;
|
|
8342
8357
|
}
|
|
8343
|
-
let
|
|
8344
|
-
n.clearScannerNewsMarks(), n.submitCallback(
|
|
8358
|
+
let f = `${z}/${n.language}?symbol=${d.symbol}&ref_res=${d.reference_resolution}&tk=${d.top_k}&res=${d.resolution}&cid=${d.candle_id}&from=${d.start_timestamp * 1e3}&to=${d.end_timestamp * 1e3}` + (d.filter?.symbols?.length ? `&fs=${d.filter.symbols}` : "") + (d.filter?.period == null ? "" : `&period=${d.filter.period}`) + (l.model ? `&model=${l.model}` : "") + (l.temperature == null ? "" : `&temp=${l.temperature}`) + (n.theme === "dark" ? "&theme=dark" : "&theme=light");
|
|
8359
|
+
n.clearScannerNewsMarks(), n.submitCallback(f);
|
|
8345
8360
|
}
|
|
8346
8361
|
function D() {
|
|
8347
|
-
return localStorage.getItem("iccandle_token") ? !0 : (
|
|
8362
|
+
return localStorage.getItem("iccandle_token") ? !0 : (ve({
|
|
8348
8363
|
title: c("Common.warning"),
|
|
8349
8364
|
description: c("Selector.pleaseLoginFirst"),
|
|
8350
8365
|
variant: "info"
|
|
@@ -8353,15 +8368,15 @@ var De = {
|
|
|
8353
8368
|
function A() {
|
|
8354
8369
|
if (n.onScanClick?.(), D()) {
|
|
8355
8370
|
if (n.selectedCandles?.length) {
|
|
8356
|
-
|
|
8371
|
+
ve({
|
|
8357
8372
|
title: c("Common.error"),
|
|
8358
8373
|
description: c("Selector.clearReplayFirst"),
|
|
8359
8374
|
variant: "error"
|
|
8360
8375
|
});
|
|
8361
8376
|
return;
|
|
8362
8377
|
}
|
|
8363
|
-
if (
|
|
8364
|
-
let e =
|
|
8378
|
+
if (Ee() && !Se()) {
|
|
8379
|
+
let e = Te().timeframe;
|
|
8365
8380
|
e && n.onApplySavedTimeframe?.(e), E();
|
|
8366
8381
|
return;
|
|
8367
8382
|
}
|
|
@@ -8384,8 +8399,8 @@ var De = {
|
|
|
8384
8399
|
class: "iccandle-scanner-popup",
|
|
8385
8400
|
style: _(y.value),
|
|
8386
8401
|
onPointerdown: ee
|
|
8387
|
-
}, [s("div",
|
|
8388
|
-
u(
|
|
8402
|
+
}, [s("div", nt, [
|
|
8403
|
+
u(Xe, {
|
|
8389
8404
|
"stroke-width": 1,
|
|
8390
8405
|
size: 20,
|
|
8391
8406
|
color: "#b2b5be",
|
|
@@ -8393,11 +8408,11 @@ var De = {
|
|
|
8393
8408
|
}),
|
|
8394
8409
|
r[4] ||= s("div", { class: "iccandle-scanner-popup__divider" }, null, -1),
|
|
8395
8410
|
t.hasActiveShape ? (x(), o(e, { key: 0 }, [
|
|
8396
|
-
u(
|
|
8397
|
-
default: N(() => [s("div",
|
|
8411
|
+
u(Pe, { text: k(c)("Selector.availableBars") }, {
|
|
8412
|
+
default: N(() => [s("div", rt, O(t.window_size) + " bar ", 1)]),
|
|
8398
8413
|
_: 1
|
|
8399
8414
|
}, 8, ["text"]),
|
|
8400
|
-
t.hideScanButton ? a("", !0) : (x(), i(
|
|
8415
|
+
t.hideScanButton ? a("", !0) : (x(), i(Pe, {
|
|
8401
8416
|
key: 0,
|
|
8402
8417
|
text: k(c)("Selector.scan")
|
|
8403
8418
|
}, {
|
|
@@ -8406,47 +8421,47 @@ var De = {
|
|
|
8406
8421
|
disabled: p.value,
|
|
8407
8422
|
class: "iccandle-scanner-popup__action-btn",
|
|
8408
8423
|
onClick: A
|
|
8409
|
-
}, [u(
|
|
8424
|
+
}, [u(Ve, {
|
|
8410
8425
|
size: 20,
|
|
8411
8426
|
color: m.value
|
|
8412
8427
|
}, null, 8, ["color"]), l.value ? (x(), o("div", {
|
|
8413
8428
|
key: 0,
|
|
8414
8429
|
class: g(h.value)
|
|
8415
|
-
}, O(k(c)("Selector.scan")), 3)) : a("", !0)], 8,
|
|
8430
|
+
}, O(k(c)("Selector.scan")), 3)) : a("", !0)], 8, it)]),
|
|
8416
8431
|
_: 1
|
|
8417
8432
|
}, 8, ["text"])),
|
|
8418
|
-
t.hideTrackerButton ? a("", !0) : (x(), o(e, { key: 1 }, [r[2] ||= s("div", { class: "iccandle-scanner-popup__divider" }, null, -1), u(
|
|
8433
|
+
t.hideTrackerButton ? a("", !0) : (x(), o(e, { key: 1 }, [r[2] ||= s("div", { class: "iccandle-scanner-popup__divider" }, null, -1), u(Pe, { text: k(c)("Layout.headerNav.patternShortTitle") }, {
|
|
8419
8434
|
default: N(() => [s("button", {
|
|
8420
8435
|
type: "button",
|
|
8421
8436
|
disabled: p.value,
|
|
8422
8437
|
class: "iccandle-scanner-popup__action-btn",
|
|
8423
8438
|
onClick: j
|
|
8424
|
-
}, [u(
|
|
8439
|
+
}, [u(Je, {
|
|
8425
8440
|
size: 20,
|
|
8426
8441
|
color: m.value,
|
|
8427
8442
|
stroke: m.value
|
|
8428
8443
|
}, null, 8, ["color", "stroke"]), l.value ? (x(), o("div", {
|
|
8429
8444
|
key: 0,
|
|
8430
8445
|
class: g(h.value)
|
|
8431
|
-
}, O(k(c)("Layout.headerNav.patternShortTitle")), 3)) : a("", !0)], 8,
|
|
8446
|
+
}, O(k(c)("Layout.headerNav.patternShortTitle")), 3)) : a("", !0)], 8, at)]),
|
|
8432
8447
|
_: 1
|
|
8433
8448
|
}, 8, ["text"])], 64))
|
|
8434
|
-
], 64)) : (x(), o("div",
|
|
8449
|
+
], 64)) : (x(), o("div", ot, [u(Pe, { text: k(c)("Selector.activateSelector") }, {
|
|
8435
8450
|
default: N(() => [s("button", {
|
|
8436
8451
|
type: "button",
|
|
8437
8452
|
class: "iccandle-scanner-popup__action-btn iccandle-scanner-popup__action-btn--with-gap",
|
|
8438
8453
|
onClick: r[0] ||= (e) => t.triggerScanner?.()
|
|
8439
8454
|
}, [s("img", {
|
|
8440
|
-
src: k(
|
|
8455
|
+
src: k(tt),
|
|
8441
8456
|
width: "24",
|
|
8442
8457
|
height: "24",
|
|
8443
8458
|
alt: "scanner",
|
|
8444
8459
|
class: "iccandle-scanner-popup__logo"
|
|
8445
|
-
}, null, 8,
|
|
8460
|
+
}, null, 8, st), l.value ? (x(), o("div", ct, O(k(c)("Selector.activateSelector")), 1)) : a("", !0)])]),
|
|
8446
8461
|
_: 1
|
|
8447
8462
|
}, 8, ["text"])])),
|
|
8448
8463
|
r[5] ||= s("div", { class: "iccandle-scanner-popup__divider" }, null, -1),
|
|
8449
|
-
u(
|
|
8464
|
+
u(Pe, { text: k(c)("Selector.settings") }, {
|
|
8450
8465
|
default: N(() => [s("button", {
|
|
8451
8466
|
type: "button",
|
|
8452
8467
|
class: "iccandle-scanner-popup__settings",
|
|
@@ -8466,16 +8481,16 @@ var De = {
|
|
|
8466
8481
|
})], -1)]])]),
|
|
8467
8482
|
_: 1
|
|
8468
8483
|
}, 8, ["text"]),
|
|
8469
|
-
u(
|
|
8484
|
+
u(Pe, { text: l.value ? k(c)("Selector.collapseToolbar") : k(c)("Selector.expandToolbar") }, {
|
|
8470
8485
|
default: N(() => [s("button", {
|
|
8471
8486
|
type: "button",
|
|
8472
8487
|
class: "iccandle-scanner-popup__toggle",
|
|
8473
8488
|
onClick: te
|
|
8474
|
-
}, [l.value ? (x(), i(
|
|
8489
|
+
}, [l.value ? (x(), i(Qe, {
|
|
8475
8490
|
key: 0,
|
|
8476
8491
|
size: 20,
|
|
8477
8492
|
color: "#b2b5be"
|
|
8478
|
-
})) : (x(), i(
|
|
8493
|
+
})) : (x(), i(et, {
|
|
8479
8494
|
key: 1,
|
|
8480
8495
|
size: 20,
|
|
8481
8496
|
color: "#b2b5be"
|
|
@@ -8490,24 +8505,52 @@ var De = {
|
|
|
8490
8505
|
function Q(...e) {
|
|
8491
8506
|
return e.filter(Boolean).join(" ");
|
|
8492
8507
|
}
|
|
8493
|
-
function
|
|
8508
|
+
function ut(e, t) {
|
|
8494
8509
|
let n;
|
|
8495
8510
|
return (r, i) => {
|
|
8496
8511
|
clearTimeout(n), n = setTimeout(() => e(r, i), t);
|
|
8497
8512
|
};
|
|
8498
8513
|
}
|
|
8499
|
-
var
|
|
8514
|
+
var dt = (e) => e === "1D" || e === "D" || e === "1440", ft = (e) => {
|
|
8515
|
+
let t = e.trim().toUpperCase();
|
|
8516
|
+
return t === "W" || /^\d+W$/.test(t);
|
|
8517
|
+
}, pt = (e) => {
|
|
8518
|
+
let t = e.trim().toUpperCase();
|
|
8519
|
+
return t === "M" || /^\d+M$/.test(t);
|
|
8520
|
+
}, mt = (e) => dt(e) || ft(e) || pt(e), ht = (e) => {
|
|
8521
|
+
let t = new Date(e);
|
|
8522
|
+
t.setUTCHours(0, 0, 0, 0);
|
|
8523
|
+
let n = t.getUTCDay(), r = n === 0 ? 6 : n - 1;
|
|
8524
|
+
return t.setUTCDate(t.getUTCDate() - r), t.getTime();
|
|
8525
|
+
}, gt = (e, t, n) => {
|
|
8526
|
+
let r = e > 1e11 ? e : e * 1e3, i = t > 1e11 ? t : t * 1e3;
|
|
8527
|
+
if (pt(n)) {
|
|
8528
|
+
let e = new Date(r), t = new Date(i);
|
|
8529
|
+
return e.getUTCFullYear() === t.getUTCFullYear() && e.getUTCMonth() === t.getUTCMonth();
|
|
8530
|
+
}
|
|
8531
|
+
return ft(n) ? ht(r) === ht(i) : dt(n) ? _t(r, n) === _t(i, n) : r === i;
|
|
8532
|
+
}, _t = (e, t) => {
|
|
8500
8533
|
let n = e.toString().length > 11 ? e : e * 1e3;
|
|
8501
|
-
if (t
|
|
8502
|
-
let e = new Date(n);
|
|
8503
|
-
return e.setUTCHours(0, 0, 0, 0), e.getTime();
|
|
8534
|
+
if (dt(t)) {
|
|
8535
|
+
let e = new Date(n + 420 * 60 * 1e3);
|
|
8536
|
+
return e.setUTCHours(0, 0, 0, 0), e.getUTCDay() === 6 && e.setUTCDate(e.getUTCDate() - 1), e.getTime();
|
|
8504
8537
|
}
|
|
8505
8538
|
return n;
|
|
8506
|
-
},
|
|
8539
|
+
}, vt = (e, t) => {
|
|
8540
|
+
let n = e > 0xe8d4a51000 ? Math.floor(e / 1e3) : e;
|
|
8541
|
+
if (!mt(t)) return n;
|
|
8542
|
+
let r = /* @__PURE__ */ new Date(n * 1e3);
|
|
8543
|
+
return r.getUTCHours() !== 0 || r.getUTCMinutes() !== 0 || r.getUTCSeconds() !== 0 ? n : Math.floor(_t(e, t) / 1e3) + 720 * 60;
|
|
8544
|
+
}, yt = (e, t, n) => {
|
|
8545
|
+
for (let n = 0; n < e.length; n++) if (e[n][0] === t) return n;
|
|
8546
|
+
if (!mt(n)) return -1;
|
|
8547
|
+
for (let r = 0; r < e.length; r++) if (gt(e[r][0], t, n)) return r;
|
|
8548
|
+
return -1;
|
|
8549
|
+
}, bt = (e) => e > 1e11 ? Math.floor(e / 1e3) : e, xt = [
|
|
8507
8550
|
"width",
|
|
8508
8551
|
"height",
|
|
8509
8552
|
"stroke"
|
|
8510
|
-
],
|
|
8553
|
+
], St = /* @__PURE__ */ d({
|
|
8511
8554
|
__name: "XIcon",
|
|
8512
8555
|
props: {
|
|
8513
8556
|
size: { default: 24 },
|
|
@@ -8526,15 +8569,15 @@ var ct = (e, t) => {
|
|
|
8526
8569
|
"stroke-linecap": "round",
|
|
8527
8570
|
"stroke-linejoin": "round",
|
|
8528
8571
|
class: g(e.className)
|
|
8529
|
-
}, [...n[0] ||= [s("path", { d: "M18 6 6 18" }, null, -1), s("path", { d: "m6 6 12 12" }, null, -1)]], 10,
|
|
8572
|
+
}, [...n[0] ||= [s("path", { d: "M18 6 6 18" }, null, -1), s("path", { d: "m6 6 12 12" }, null, -1)]], 10, xt));
|
|
8530
8573
|
}
|
|
8531
|
-
}),
|
|
8574
|
+
}), Ct = ["width", "height"], wt = { class: "iccandle-info-tooltip-content__inner" }, Tt = { class: "iccandle-info-tooltip-content__title" }, Et = {
|
|
8532
8575
|
key: 0,
|
|
8533
8576
|
class: "iccandle-info-tooltip-content__body"
|
|
8534
|
-
},
|
|
8577
|
+
}, Dt = { class: "iccandle-info-tooltip-content__line-label" }, Ot = {
|
|
8535
8578
|
key: 1,
|
|
8536
8579
|
class: "iccandle-info-tooltip-content__description"
|
|
8537
|
-
},
|
|
8580
|
+
}, kt = /* @__PURE__ */ d({
|
|
8538
8581
|
__name: "ToolTip",
|
|
8539
8582
|
props: {
|
|
8540
8583
|
title: {},
|
|
@@ -8617,24 +8660,24 @@ var ct = (e, t) => {
|
|
|
8617
8660
|
}, null, -1),
|
|
8618
8661
|
s("path", { d: "M12 16v-4" }, null, -1),
|
|
8619
8662
|
s("path", { d: "M12 8h.01" }, null, -1)
|
|
8620
|
-
]], 10,
|
|
8663
|
+
]], 10, Ct))], 32), (x(), i(t, { to: p.value }, [f.value ? (x(), o("div", {
|
|
8621
8664
|
key: 0,
|
|
8622
8665
|
ref_key: "contentRef",
|
|
8623
8666
|
ref: d,
|
|
8624
8667
|
class: g(k(Q)("iccandle-info-tooltip-content", "iccandle-theme-scope", y.value && "iccandle-dark")),
|
|
8625
8668
|
role: "tooltip",
|
|
8626
8669
|
style: _(m.value)
|
|
8627
|
-
}, [s("div",
|
|
8670
|
+
}, [s("div", wt, [s("h4", Tt, O(n.title), 1), n.lines?.length ? (x(), o("div", Et, [(x(!0), o(e, null, T(n.lines, (e) => (x(), o("p", {
|
|
8628
8671
|
key: e.label,
|
|
8629
8672
|
class: "iccandle-info-tooltip-content__line"
|
|
8630
|
-
}, [s("span",
|
|
8673
|
+
}, [s("span", Dt, O(e.label), 1), l(" " + O(e.text), 1)]))), 128))])) : n.description ? (x(), o("p", Ot, O(n.description), 1)) : a("", !0)])], 6)) : a("", !0)], 8, ["to"]))], 64));
|
|
8631
8674
|
}
|
|
8632
|
-
}),
|
|
8675
|
+
}), At = [
|
|
8633
8676
|
"width",
|
|
8634
8677
|
"height",
|
|
8635
8678
|
"stroke",
|
|
8636
8679
|
"stroke-width"
|
|
8637
|
-
],
|
|
8680
|
+
], jt = /* @__PURE__ */ d({
|
|
8638
8681
|
__name: "ChevronDownIcon",
|
|
8639
8682
|
props: {
|
|
8640
8683
|
size: { default: 16 },
|
|
@@ -8654,12 +8697,12 @@ var ct = (e, t) => {
|
|
|
8654
8697
|
"stroke-linecap": "round",
|
|
8655
8698
|
"stroke-linejoin": "round",
|
|
8656
8699
|
class: g(e.className)
|
|
8657
|
-
}, [...n[0] ||= [s("path", { d: "m6 9 6 6 6-6" }, null, -1)]], 10,
|
|
8700
|
+
}, [...n[0] ||= [s("path", { d: "m6 9 6 6 6-6" }, null, -1)]], 10, At));
|
|
8658
8701
|
}
|
|
8659
|
-
}),
|
|
8702
|
+
}), Mt = ["aria-expanded"], Nt = ["aria-selected", "onClick"], Pt = {
|
|
8660
8703
|
key: 0,
|
|
8661
8704
|
class: "iccandle-scanner-ai-settings__upgrade-btn-wrap ai-gradient-border"
|
|
8662
|
-
},
|
|
8705
|
+
}, Ft = /* @__PURE__ */ d({
|
|
8663
8706
|
__name: "LimitSelect",
|
|
8664
8707
|
props: {
|
|
8665
8708
|
value: {},
|
|
@@ -8740,11 +8783,11 @@ var ct = (e, t) => {
|
|
|
8740
8783
|
"aria-expanded": n.open,
|
|
8741
8784
|
"aria-haspopup": "listbox",
|
|
8742
8785
|
onClick: j
|
|
8743
|
-
}, [s("span", null, O(n.getLabel(n.value)), 1), u(
|
|
8786
|
+
}, [s("span", null, O(n.getLabel(n.value)), 1), u(jt, {
|
|
8744
8787
|
size: 16,
|
|
8745
8788
|
"class-name": `iccandle-scanner-ai-settings__trigger-chevron${n.open ? " iccandle-scanner-ai-settings__trigger-chevron--open" : ""}`,
|
|
8746
8789
|
"aria-hidden": "true"
|
|
8747
|
-
}, null, 8, ["class-name"])], 8,
|
|
8790
|
+
}, null, 8, ["class-name"])], 8, Mt)], 2), n.open && C.value ? (x(), i(t, {
|
|
8748
8791
|
key: 0,
|
|
8749
8792
|
to: b.value
|
|
8750
8793
|
}, [s("div", {
|
|
@@ -8759,13 +8802,13 @@ var ct = (e, t) => {
|
|
|
8759
8802
|
"aria-selected": e === n.value,
|
|
8760
8803
|
class: g(["iccandle-scanner-ai-settings__dropdown-item", (n.isLocked?.(e) ?? !1) && "iccandle-scanner-ai-settings__dropdown-item--locked"]),
|
|
8761
8804
|
onClick: (t) => N(e, n.isLocked?.(e) ?? !1)
|
|
8762
|
-
}, [s("span", { class: g(n.isLocked?.(e) ?? !1 ? "is-disabled" : void 0) }, O(n.getLabel(e)), 3), n.isLocked?.(e) ? (x(), o("span",
|
|
8805
|
+
}, [s("span", { class: g(n.isLocked?.(e) ?? !1 ? "is-disabled" : void 0) }, O(n.getLabel(e)), 3), n.isLocked?.(e) ? (x(), o("span", Pt, [s("button", {
|
|
8763
8806
|
type: "button",
|
|
8764
8807
|
class: "iccandle-scanner-ai-settings__upgrade-btn",
|
|
8765
8808
|
onMousedown: te
|
|
8766
|
-
}, O(k(f)("Common.upgradePlan")), 33)])) : a("", !0)], 10,
|
|
8809
|
+
}, O(k(f)("Common.upgradePlan")), 33)])) : a("", !0)], 10, Nt))), 128))], 6)], 8, ["to"])) : a("", !0)], 2));
|
|
8767
8810
|
}
|
|
8768
|
-
}),
|
|
8811
|
+
}), It = { class: "iccandle-scanner-advanced-options" }, Lt = { class: "iccandle-scanner-advanced-options__row" }, Rt = { class: "iccandle-scanner-advanced-options__label" }, zt = { class: "iccandle-scanner-advanced-options__row" }, Bt = { class: "iccandle-scanner-advanced-options__label" }, Vt = { class: "iccandle-scanner-advanced-options__row" }, Ht = { class: "iccandle-scanner-advanced-options__label" }, Ut = /* @__PURE__ */ d({
|
|
8769
8812
|
__name: "ScannerAdvancedOptions",
|
|
8770
8813
|
props: /*@__PURE__*/ m({ temperature: {} }, {
|
|
8771
8814
|
modelValue: { required: !0 },
|
|
@@ -8851,14 +8894,14 @@ var ct = (e, t) => {
|
|
|
8851
8894
|
function y(e, t) {
|
|
8852
8895
|
c.value = t ? e : null;
|
|
8853
8896
|
}
|
|
8854
|
-
return (t, r) => (x(), o("div",
|
|
8855
|
-
s("div",
|
|
8897
|
+
return (t, r) => (x(), o("div", It, [
|
|
8898
|
+
s("div", Lt, [s("label", Rt, [l(O(k(a)("Selector.period")) + " ", 1), u(kt, {
|
|
8856
8899
|
title: k(a)("Selector.period"),
|
|
8857
8900
|
description: k(a)("Selector.periodTooltip"),
|
|
8858
8901
|
side: "right",
|
|
8859
8902
|
size: 16,
|
|
8860
8903
|
"class-name": "text-muted-foreground"
|
|
8861
|
-
}, null, 8, ["title", "description"])]), u(
|
|
8904
|
+
}, null, 8, ["title", "description"])]), u(Ft, {
|
|
8862
8905
|
value: n.value.period ?? 0,
|
|
8863
8906
|
options: p,
|
|
8864
8907
|
"get-label": (e) => g.value.get(e) ?? String(e),
|
|
@@ -8870,13 +8913,13 @@ var ct = (e, t) => {
|
|
|
8870
8913
|
"get-label",
|
|
8871
8914
|
"open"
|
|
8872
8915
|
])]),
|
|
8873
|
-
s("div",
|
|
8916
|
+
s("div", zt, [s("label", Bt, [l(O(k(a)("Common.timeframe")) + " ", 1), u(kt, {
|
|
8874
8917
|
title: k(a)("Common.timeframe"),
|
|
8875
8918
|
description: k(a)("Selector.timeframeTooltip"),
|
|
8876
8919
|
side: "right",
|
|
8877
8920
|
size: 16,
|
|
8878
8921
|
"class-name": "text-muted-foreground"
|
|
8879
|
-
}, null, 8, ["title", "description"])]), u(
|
|
8922
|
+
}, null, 8, ["title", "description"])]), u(Ft, {
|
|
8880
8923
|
value: n.value.timeframe,
|
|
8881
8924
|
options: m,
|
|
8882
8925
|
"get-label": (e) => _.value.get(e) ?? e,
|
|
@@ -8888,13 +8931,13 @@ var ct = (e, t) => {
|
|
|
8888
8931
|
"get-label",
|
|
8889
8932
|
"open"
|
|
8890
8933
|
])]),
|
|
8891
|
-
s("div",
|
|
8934
|
+
s("div", Vt, [s("label", Ht, [l(O(k(a)("Selector.aiTemperature")) + " ", 1), u(kt, {
|
|
8892
8935
|
title: k(a)("Selector.aiTemperature"),
|
|
8893
8936
|
description: k(a)("Selector.aiTemperatureTooltip"),
|
|
8894
8937
|
side: "right",
|
|
8895
8938
|
size: 16,
|
|
8896
8939
|
"class-name": "text-muted-foreground"
|
|
8897
|
-
}, null, 8, ["title", "description"])]), u(
|
|
8940
|
+
}, null, 8, ["title", "description"])]), u(Ft, {
|
|
8898
8941
|
value: e.temperature,
|
|
8899
8942
|
options: h,
|
|
8900
8943
|
"get-label": v,
|
|
@@ -8904,18 +8947,18 @@ var ct = (e, t) => {
|
|
|
8904
8947
|
}, null, 8, ["value", "open"])])
|
|
8905
8948
|
]));
|
|
8906
8949
|
}
|
|
8907
|
-
}),
|
|
8950
|
+
}), Wt = [
|
|
8908
8951
|
"light",
|
|
8909
8952
|
"standard",
|
|
8910
8953
|
"plus",
|
|
8911
8954
|
"pro"
|
|
8912
|
-
],
|
|
8913
|
-
function
|
|
8914
|
-
return
|
|
8955
|
+
], Gt = "light";
|
|
8956
|
+
function Kt(e) {
|
|
8957
|
+
return Wt.includes(e) ? e : Gt;
|
|
8915
8958
|
}
|
|
8916
8959
|
//#endregion
|
|
8917
8960
|
//#region src/components/selector/ScannerAiSettings.vue?vue&type=script&setup=true&lang.ts
|
|
8918
|
-
var
|
|
8961
|
+
var qt = { class: "iccandle-scanner-ai-settings" }, Jt = { class: "iccandle-scanner-ai-settings__row" }, Yt = { class: "iccandle-scanner-ai-settings__label" }, Xt = { class: "iccandle-scanner-ai-settings__row" }, Zt = { class: "iccandle-scanner-ai-settings__label" }, Qt = /* @__PURE__ */ d({
|
|
8919
8962
|
__name: "ScannerAiSettings",
|
|
8920
8963
|
props: /*@__PURE__*/ m({
|
|
8921
8964
|
userResultLimit: {},
|
|
@@ -8945,7 +8988,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
8945
8988
|
100,
|
|
8946
8989
|
150,
|
|
8947
8990
|
200
|
|
8948
|
-
], c = A(e, "topK"), d = e, f = t, { t: p } = X(), m = w(null), h = r(() =>
|
|
8991
|
+
], c = A(e, "topK"), d = e, f = t, { t: p } = X(), m = w(null), h = r(() => Wt.map((e) => ({
|
|
8949
8992
|
label: n[e],
|
|
8950
8993
|
text: p(i[e])
|
|
8951
8994
|
})));
|
|
@@ -8961,13 +9004,13 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
8961
9004
|
function y() {
|
|
8962
9005
|
f("upgradeClick");
|
|
8963
9006
|
}
|
|
8964
|
-
return (t, n) => (x(), o("div",
|
|
9007
|
+
return (t, n) => (x(), o("div", qt, [s("div", Jt, [s("label", Yt, [l(O(k(p)("Selector.result")) + " ", 1), u(kt, {
|
|
8965
9008
|
title: k(p)("Selector.result"),
|
|
8966
9009
|
description: k(p)("Selector.topResultsTooltip"),
|
|
8967
9010
|
side: "right",
|
|
8968
9011
|
size: 16,
|
|
8969
9012
|
"class-name": "text-muted-foreground"
|
|
8970
|
-
}, null, 8, ["title", "description"])]), u(
|
|
9013
|
+
}, null, 8, ["title", "description"])]), u(Ft, {
|
|
8971
9014
|
value: c.value ?? 30,
|
|
8972
9015
|
options: a,
|
|
8973
9016
|
"is-locked": g,
|
|
@@ -8980,15 +9023,15 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
8980
9023
|
"value",
|
|
8981
9024
|
"get-label",
|
|
8982
9025
|
"open"
|
|
8983
|
-
])]), s("div",
|
|
9026
|
+
])]), s("div", Xt, [s("div", Zt, [l(O(k(p)("Selector.aiModel")) + " ", 1), u(kt, {
|
|
8984
9027
|
title: "Candle simulation engine (CSE)",
|
|
8985
9028
|
lines: h.value,
|
|
8986
9029
|
side: "right",
|
|
8987
9030
|
size: 16,
|
|
8988
9031
|
"class-name": "text-muted-foreground"
|
|
8989
|
-
}, null, 8, ["lines"])]), u(
|
|
9032
|
+
}, null, 8, ["lines"])]), u(Ft, {
|
|
8990
9033
|
value: e.model,
|
|
8991
|
-
options: k(
|
|
9034
|
+
options: k(Wt),
|
|
8992
9035
|
"is-locked": _,
|
|
8993
9036
|
"get-label": v,
|
|
8994
9037
|
"wrap-class-name": "ai-gradient-border",
|
|
@@ -9002,38 +9045,38 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9002
9045
|
"open"
|
|
9003
9046
|
])])]));
|
|
9004
9047
|
}
|
|
9005
|
-
}),
|
|
9048
|
+
}), $t = { class: "iccandle-forexIcons" }, en = ["src"], tn = ["src"], nn = ["src"], rn = /* @__PURE__ */ d({
|
|
9006
9049
|
__name: "ForexIcons",
|
|
9007
9050
|
props: { name: {} },
|
|
9008
9051
|
setup(t) {
|
|
9009
9052
|
let n = t, i = r(() => Z?.find((e) => e.ticker === n.name)?.logo_urls.map((e) => e) || []);
|
|
9010
|
-
return (t, n) => (x(), o("div",
|
|
9053
|
+
return (t, n) => (x(), o("div", $t, [i.value.length === 1 ? (x(), o("img", {
|
|
9011
9054
|
key: 0,
|
|
9012
9055
|
src: i.value[0],
|
|
9013
9056
|
alt: "forex icon",
|
|
9014
9057
|
width: "24",
|
|
9015
9058
|
height: "24",
|
|
9016
9059
|
class: "iccandle-forexIcons__img iccandle-forexIcons__img--single"
|
|
9017
|
-
}, null, 8,
|
|
9060
|
+
}, null, 8, en)) : i.value.length === 2 ? (x(), o(e, { key: 1 }, [s("img", {
|
|
9018
9061
|
src: i.value[0],
|
|
9019
9062
|
alt: "forex icon 1",
|
|
9020
9063
|
width: "18",
|
|
9021
9064
|
height: "18",
|
|
9022
9065
|
class: "iccandle-forexIcons__img iccandle-forexIcons__img--left"
|
|
9023
|
-
}, null, 8,
|
|
9066
|
+
}, null, 8, tn), s("img", {
|
|
9024
9067
|
src: i.value[1],
|
|
9025
9068
|
alt: "forex icon 2",
|
|
9026
9069
|
width: "18",
|
|
9027
9070
|
height: "18",
|
|
9028
9071
|
class: "iccandle-forexIcons__img iccandle-forexIcons__img--right"
|
|
9029
|
-
}, null, 8,
|
|
9072
|
+
}, null, 8, nn)], 64)) : a("", !0)]));
|
|
9030
9073
|
}
|
|
9031
|
-
}),
|
|
9074
|
+
}), an = [
|
|
9032
9075
|
"width",
|
|
9033
9076
|
"height",
|
|
9034
9077
|
"stroke",
|
|
9035
9078
|
"stroke-width"
|
|
9036
|
-
],
|
|
9079
|
+
], on = /* @__PURE__ */ d({
|
|
9037
9080
|
__name: "CheckIcon",
|
|
9038
9081
|
props: {
|
|
9039
9082
|
size: { default: 16 },
|
|
@@ -9053,14 +9096,14 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9053
9096
|
"stroke-linecap": "round",
|
|
9054
9097
|
"stroke-linejoin": "round",
|
|
9055
9098
|
class: g(e.className)
|
|
9056
|
-
}, [...n[0] ||= [s("polyline", { points: "20 6 9 17 4 12" }, null, -1)]], 10,
|
|
9099
|
+
}, [...n[0] ||= [s("polyline", { points: "20 6 9 17 4 12" }, null, -1)]], 10, an));
|
|
9057
9100
|
}
|
|
9058
|
-
}),
|
|
9101
|
+
}), sn = [
|
|
9059
9102
|
"width",
|
|
9060
9103
|
"height",
|
|
9061
9104
|
"stroke",
|
|
9062
9105
|
"stroke-width"
|
|
9063
|
-
],
|
|
9106
|
+
], cn = /* @__PURE__ */ d({
|
|
9064
9107
|
__name: "ChevronsUpDownIcon",
|
|
9065
9108
|
props: {
|
|
9066
9109
|
size: { default: 16 },
|
|
@@ -9080,14 +9123,14 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9080
9123
|
"stroke-linecap": "round",
|
|
9081
9124
|
"stroke-linejoin": "round",
|
|
9082
9125
|
class: g(e.className)
|
|
9083
|
-
}, [...n[0] ||= [s("path", { d: "m7 15 5 5 5-5" }, null, -1), s("path", { d: "m7 9 5-5 5 5" }, null, -1)]], 10,
|
|
9126
|
+
}, [...n[0] ||= [s("path", { d: "m7 15 5 5 5-5" }, null, -1), s("path", { d: "m7 9 5-5 5 5" }, null, -1)]], 10, sn));
|
|
9084
9127
|
}
|
|
9085
|
-
}),
|
|
9128
|
+
}), ln = [
|
|
9086
9129
|
"width",
|
|
9087
9130
|
"height",
|
|
9088
9131
|
"stroke",
|
|
9089
9132
|
"stroke-width"
|
|
9090
|
-
],
|
|
9133
|
+
], un = /* @__PURE__ */ d({
|
|
9091
9134
|
__name: "MinusIcon",
|
|
9092
9135
|
props: {
|
|
9093
9136
|
size: { default: 16 },
|
|
@@ -9107,14 +9150,14 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9107
9150
|
"stroke-linecap": "round",
|
|
9108
9151
|
"stroke-linejoin": "round",
|
|
9109
9152
|
class: g(e.className)
|
|
9110
|
-
}, [...n[0] ||= [s("path", { d: "M5 12h14" }, null, -1)]], 10,
|
|
9153
|
+
}, [...n[0] ||= [s("path", { d: "M5 12h14" }, null, -1)]], 10, ln));
|
|
9111
9154
|
}
|
|
9112
|
-
}),
|
|
9155
|
+
}), dn = [
|
|
9113
9156
|
"width",
|
|
9114
9157
|
"height",
|
|
9115
9158
|
"stroke",
|
|
9116
9159
|
"stroke-width"
|
|
9117
|
-
],
|
|
9160
|
+
], fn = /* @__PURE__ */ d({
|
|
9118
9161
|
__name: "SearchIcon",
|
|
9119
9162
|
props: {
|
|
9120
9163
|
size: { default: 24 },
|
|
@@ -9138,47 +9181,47 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9138
9181
|
cx: "11",
|
|
9139
9182
|
cy: "11",
|
|
9140
9183
|
r: "8"
|
|
9141
|
-
}, null, -1), s("path", { d: "m21 21-4.3-4.3" }, null, -1)]], 10,
|
|
9184
|
+
}, null, -1), s("path", { d: "m21 21-4.3-4.3" }, null, -1)]], 10, dn));
|
|
9142
9185
|
}
|
|
9143
|
-
}),
|
|
9186
|
+
}), pn = ["aria-expanded"], mn = { class: "iccandle-scanner-symbol-search__chips" }, hn = {
|
|
9144
9187
|
key: 0,
|
|
9145
9188
|
class: "iccandle-scanner-symbol-search__placeholder"
|
|
9146
|
-
},
|
|
9189
|
+
}, gn = { class: "iccandle-scanner-symbol-search__chip-icon" }, _n = { class: "iccandle-scanner-symbol-search__chip-label" }, vn = [
|
|
9147
9190
|
"aria-label",
|
|
9148
9191
|
"onClick",
|
|
9149
9192
|
"onKeydown"
|
|
9150
|
-
],
|
|
9193
|
+
], yn = {
|
|
9151
9194
|
key: 0,
|
|
9152
9195
|
class: "iccandle-scanner-symbol-search__chip-overflow"
|
|
9153
|
-
},
|
|
9196
|
+
}, bn = { class: "iccandle-scanner-symbol-search__trigger-meta" }, xn = { class: "iccandle-scanner-symbol-search__search" }, Sn = [
|
|
9154
9197
|
"placeholder",
|
|
9155
9198
|
"value",
|
|
9156
9199
|
"aria-label"
|
|
9157
|
-
],
|
|
9200
|
+
], Cn = {
|
|
9158
9201
|
key: 0,
|
|
9159
9202
|
class: "iccandle-scanner-symbol-search__empty"
|
|
9160
|
-
},
|
|
9203
|
+
}, wn = {
|
|
9161
9204
|
key: 1,
|
|
9162
9205
|
class: "iccandle-scanner-symbol-search__select-all"
|
|
9163
|
-
},
|
|
9206
|
+
}, Tn = ["aria-label"], En = {
|
|
9164
9207
|
key: 0,
|
|
9165
9208
|
class: "iccandle-scanner-symbol-search__check iccandle-scanner-symbol-search__check--on"
|
|
9166
|
-
},
|
|
9209
|
+
}, Dn = {
|
|
9167
9210
|
key: 1,
|
|
9168
9211
|
class: "iccandle-scanner-symbol-search__check iccandle-scanner-symbol-search__check--on"
|
|
9169
|
-
},
|
|
9212
|
+
}, On = {
|
|
9170
9213
|
key: 2,
|
|
9171
9214
|
class: "iccandle-scanner-symbol-search__check"
|
|
9172
|
-
},
|
|
9215
|
+
}, kn = { class: "iccandle-scanner-symbol-search__group-row" }, An = ["aria-label", "onClick"], jn = {
|
|
9173
9216
|
key: 0,
|
|
9174
9217
|
class: "iccandle-scanner-symbol-search__check iccandle-scanner-symbol-search__check--on"
|
|
9175
|
-
},
|
|
9218
|
+
}, Mn = {
|
|
9176
9219
|
key: 1,
|
|
9177
9220
|
class: "iccandle-scanner-symbol-search__check iccandle-scanner-symbol-search__check--on"
|
|
9178
|
-
},
|
|
9221
|
+
}, Nn = {
|
|
9179
9222
|
key: 2,
|
|
9180
9223
|
class: "iccandle-scanner-symbol-search__check"
|
|
9181
|
-
},
|
|
9224
|
+
}, Pn = ["aria-expanded", "onClick"], Fn = ["aria-selected", "onClick"], In = { class: "iccandle-scanner-symbol-search__item-label" }, Ln = 3, Rn = /* @__PURE__ */ d({
|
|
9182
9225
|
__name: "ScannerSymbolSearch",
|
|
9183
9226
|
props: {
|
|
9184
9227
|
searchTerm: {},
|
|
@@ -9212,7 +9255,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9212
9255
|
let t = e?.closest(".iccandle-theme-scope, .iccandle-selector-widget") ?? document.body;
|
|
9213
9256
|
D.value = t;
|
|
9214
9257
|
}
|
|
9215
|
-
let F = r(() => (f.allSymbols ?? f.filteredSymbols ?? []).filter((e) => f.selectedSymbols[e.ticker])), I = r(() => F.value.slice(0,
|
|
9258
|
+
let F = r(() => (f.allSymbols ?? f.filteredSymbols ?? []).filter((e) => f.selectedSymbols[e.ticker])), I = r(() => F.value.slice(0, Ln)), ne = r(() => F.value.length - I.value.length), L = r(() => {
|
|
9216
9259
|
let e = /* @__PURE__ */ new Set();
|
|
9217
9260
|
for (let t of F.value) e.add(t.type);
|
|
9218
9261
|
return e;
|
|
@@ -9242,31 +9285,31 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9242
9285
|
[e]: !t
|
|
9243
9286
|
};
|
|
9244
9287
|
}
|
|
9245
|
-
function
|
|
9288
|
+
function re(e) {
|
|
9246
9289
|
p("symbolChange", e, !f.selectedSymbols[e]);
|
|
9247
9290
|
}
|
|
9248
|
-
function
|
|
9291
|
+
function U(e) {
|
|
9249
9292
|
let t = e.map((e) => e.ticker), n = B(e) !== "all";
|
|
9250
9293
|
p("groupChange", t, n);
|
|
9251
9294
|
}
|
|
9252
|
-
function
|
|
9295
|
+
function W() {
|
|
9253
9296
|
let e = z.value.map((e) => e.ticker), t = B(z.value) !== "all";
|
|
9254
9297
|
p("groupChange", e, t);
|
|
9255
9298
|
}
|
|
9256
|
-
function
|
|
9299
|
+
function ie(e, t) {
|
|
9257
9300
|
t.preventDefault(), t.stopPropagation(), p("symbolChange", e, !1);
|
|
9258
9301
|
}
|
|
9259
|
-
function
|
|
9302
|
+
function G() {
|
|
9260
9303
|
E.value = !1, j.value = null, p("searchChange", "");
|
|
9261
9304
|
}
|
|
9262
|
-
function
|
|
9305
|
+
function K(e) {
|
|
9263
9306
|
if (e) {
|
|
9264
9307
|
E.value = !0;
|
|
9265
9308
|
return;
|
|
9266
9309
|
}
|
|
9267
|
-
|
|
9310
|
+
G();
|
|
9268
9311
|
}
|
|
9269
|
-
function
|
|
9312
|
+
function q() {
|
|
9270
9313
|
let e = S.value;
|
|
9271
9314
|
if (!e) return;
|
|
9272
9315
|
let t = e.getBoundingClientRect(), n = window.innerHeight - t.bottom - 4 - 8, r = t.top - 8, i = n < 240 && r > n, a = Math.max(160, Math.min(384, i ? r : n)), o = i ? Math.max(8, t.top - 4 - a) : t.bottom + 4;
|
|
@@ -9277,22 +9320,22 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9277
9320
|
maxHeight: a
|
|
9278
9321
|
};
|
|
9279
9322
|
}
|
|
9280
|
-
function
|
|
9323
|
+
function ae(e) {
|
|
9281
9324
|
let t = e.target;
|
|
9282
|
-
t && (b.value?.contains(t) || C.value?.contains(t) ||
|
|
9325
|
+
t && (b.value?.contains(t) || C.value?.contains(t) || G());
|
|
9283
9326
|
}
|
|
9284
9327
|
function J(e) {
|
|
9285
|
-
e.key === "Escape" &&
|
|
9328
|
+
e.key === "Escape" && G();
|
|
9286
9329
|
}
|
|
9287
9330
|
function Y() {
|
|
9288
|
-
|
|
9331
|
+
q();
|
|
9289
9332
|
}
|
|
9290
9333
|
M(E, async (e) => {
|
|
9291
|
-
window.removeEventListener("resize", Y), window.removeEventListener("scroll", Y, !0), document.removeEventListener("mousedown",
|
|
9334
|
+
window.removeEventListener("resize", Y), window.removeEventListener("scroll", Y, !0), document.removeEventListener("mousedown", ae), document.removeEventListener("keydown", J), e && (q(), window.addEventListener("resize", Y), window.addEventListener("scroll", Y, !0), document.addEventListener("mousedown", ae), document.addEventListener("keydown", J), await h(), requestAnimationFrame(() => {
|
|
9292
9335
|
ee.value?.focus();
|
|
9293
9336
|
}));
|
|
9294
9337
|
}), v(() => {
|
|
9295
|
-
window.removeEventListener("resize", Y), window.removeEventListener("scroll", Y, !0), document.removeEventListener("mousedown",
|
|
9338
|
+
window.removeEventListener("resize", Y), window.removeEventListener("scroll", Y, !0), document.removeEventListener("mousedown", ae), document.removeEventListener("keydown", J);
|
|
9296
9339
|
});
|
|
9297
9340
|
let oe = r(() => B(z.value)), se = r(() => y.value <= 1 ? m("Pattern.symbolSelected", { count: y.value }) : m("Pattern.symbolsSelected", { count: y.value })), ce = r(() => j.value ? Math.max(120, j.value.maxHeight - 48) : 120);
|
|
9298
9341
|
return (r, c) => (x(), o("div", {
|
|
@@ -9306,27 +9349,27 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9306
9349
|
"aria-expanded": E.value,
|
|
9307
9350
|
"aria-haspopup": "listbox",
|
|
9308
9351
|
class: "iccandle-scanner-symbol-search__trigger",
|
|
9309
|
-
onClick: c[0] ||= (e) =>
|
|
9310
|
-
}, [s("div",
|
|
9352
|
+
onClick: c[0] ||= (e) => K(!E.value)
|
|
9353
|
+
}, [s("div", mn, [F.value.length === 0 ? (x(), o("span", hn, O(k(m)("Selector.searchSymbol")), 1)) : (x(), o(e, { key: 1 }, [(x(!0), o(e, null, T(I.value, (e) => (x(), o("span", {
|
|
9311
9354
|
key: e.ticker,
|
|
9312
9355
|
class: "iccandle-scanner-symbol-search__chip"
|
|
9313
9356
|
}, [
|
|
9314
|
-
s("span",
|
|
9315
|
-
s("span",
|
|
9357
|
+
s("span", gn, [u(rn, { name: e.ticker }, null, 8, ["name"])]),
|
|
9358
|
+
s("span", _n, O(e.display_name), 1),
|
|
9316
9359
|
s("span", {
|
|
9317
9360
|
role: "button",
|
|
9318
9361
|
tabindex: "0",
|
|
9319
9362
|
"aria-label": `Remove ${e.display_name}`,
|
|
9320
9363
|
class: "iccandle-scanner-symbol-search__chip-remove",
|
|
9321
|
-
onClick: (t) =>
|
|
9364
|
+
onClick: (t) => ie(e.ticker, t),
|
|
9322
9365
|
onKeydown: (t) => {
|
|
9323
9366
|
(t.key === "Enter" || t.key === " ") && (t.preventDefault(), t.stopPropagation(), p("symbolChange", e.ticker, !1));
|
|
9324
9367
|
}
|
|
9325
|
-
}, [u(
|
|
9326
|
-
]))), 128)), ne.value > 0 ? (x(), o("span",
|
|
9368
|
+
}, [u(St, { size: 10 })], 40, vn)
|
|
9369
|
+
]))), 128)), ne.value > 0 ? (x(), o("span", yn, " +" + O(ne.value), 1)) : a("", !0)], 64))]), s("div", bn, [s("span", null, O(se.value), 1), u(cn, {
|
|
9327
9370
|
size: 16,
|
|
9328
9371
|
"class-name": "iccandle-scanner-symbol-search__trigger-meta-icon"
|
|
9329
|
-
})])], 8,
|
|
9372
|
+
})])], 8, pn), E.value && j.value ? (x(), i(t, {
|
|
9330
9373
|
key: 0,
|
|
9331
9374
|
to: D.value
|
|
9332
9375
|
}, [s("div", {
|
|
@@ -9341,7 +9384,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9341
9384
|
width: `${j.value.width}px`,
|
|
9342
9385
|
maxHeight: `${j.value.maxHeight}px`
|
|
9343
9386
|
})
|
|
9344
|
-
}, [s("div",
|
|
9387
|
+
}, [s("div", xn, [u(fn, {
|
|
9345
9388
|
size: 16,
|
|
9346
9389
|
"class-name": "iccandle-scanner-symbol-search__search-icon"
|
|
9347
9390
|
}), s("input", {
|
|
@@ -9353,64 +9396,64 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9353
9396
|
value: n.searchTerm,
|
|
9354
9397
|
"aria-label": k(m)("Selector.searchSymbol"),
|
|
9355
9398
|
onInput: c[1] ||= (e) => p("searchChange", e.target.value.toUpperCase())
|
|
9356
|
-
}, null, 40,
|
|
9399
|
+
}, null, 40, Sn)]), s("div", {
|
|
9357
9400
|
class: "iccandle-scanner-symbol-search__command-list",
|
|
9358
9401
|
style: _({ maxHeight: `${ce.value}px` })
|
|
9359
9402
|
}, [
|
|
9360
|
-
n.searchTerm.trim() && z.value.length === 0 ? (x(), o("div",
|
|
9361
|
-
z.value.length > 0 ? (x(), o("div",
|
|
9403
|
+
n.searchTerm.trim() && z.value.length === 0 ? (x(), o("div", Cn, O(k(m)("Selector.noResultsFound")), 1)) : a("", !0),
|
|
9404
|
+
z.value.length > 0 ? (x(), o("div", wn, [s("button", {
|
|
9362
9405
|
type: "button",
|
|
9363
9406
|
class: "iccandle-scanner-symbol-search__group-check-btn",
|
|
9364
9407
|
"aria-label": k(m)("Selector.selectAll"),
|
|
9365
|
-
onClick:
|
|
9366
|
-
}, [oe.value === "all" ? (x(), o("div",
|
|
9408
|
+
onClick: W
|
|
9409
|
+
}, [oe.value === "all" ? (x(), o("div", En, [u(on, { size: 12 })])) : oe.value === "some" ? (x(), o("div", Dn, [u(un, { size: 12 })])) : (x(), o("div", On))], 8, Tn), s("button", {
|
|
9367
9410
|
type: "button",
|
|
9368
9411
|
class: "iccandle-scanner-symbol-search__group-label-btn",
|
|
9369
|
-
onClick:
|
|
9412
|
+
onClick: W
|
|
9370
9413
|
}, O(k(m)("Selector.selectAll")), 1)])) : a("", !0),
|
|
9371
9414
|
(x(!0), o(e, null, T(R.value, (t) => (x(), o("div", {
|
|
9372
9415
|
key: t.type,
|
|
9373
9416
|
class: "iccandle-scanner-symbol-search__group"
|
|
9374
|
-
}, [s("div",
|
|
9417
|
+
}, [s("div", kn, [s("button", {
|
|
9375
9418
|
type: "button",
|
|
9376
9419
|
class: "iccandle-scanner-symbol-search__group-check-btn",
|
|
9377
9420
|
"aria-label": `${k(m)("Selector.selectAll")} ${k(m)(d[t.type])}`,
|
|
9378
|
-
onClick: P((e) =>
|
|
9379
|
-
}, [B(t.symbols) === "all" ? (x(), o("div",
|
|
9421
|
+
onClick: P((e) => U(t.symbols), ["stop", "prevent"])
|
|
9422
|
+
}, [B(t.symbols) === "all" ? (x(), o("div", jn, [u(on, { size: 12 })])) : B(t.symbols) === "some" ? (x(), o("div", Mn, [u(un, { size: 12 })])) : (x(), o("div", Nn))], 8, An), s("button", {
|
|
9380
9423
|
type: "button",
|
|
9381
9424
|
class: "iccandle-scanner-symbol-search__group-expand-btn",
|
|
9382
9425
|
"aria-expanded": V(t.type),
|
|
9383
9426
|
onClick: (e) => H(t.type)
|
|
9384
|
-
}, [s("span", null, O(k(m)(d[t.type])), 1), u(
|
|
9427
|
+
}, [s("span", null, O(k(m)(d[t.type])), 1), u(jt, {
|
|
9385
9428
|
size: 16,
|
|
9386
9429
|
"class-name": k(Q)("iccandle-scanner-symbol-search__group-expand-icon", !V(t.type) && "iccandle-scanner-symbol-search__group-expand-icon--collapsed")
|
|
9387
|
-
}, null, 8, ["class-name"])], 8,
|
|
9430
|
+
}, null, 8, ["class-name"])], 8, Pn)]), V(t.type) ? (x(!0), o(e, { key: 0 }, T(t.symbols, (e) => (x(), o("button", {
|
|
9388
9431
|
key: e.ticker,
|
|
9389
9432
|
type: "button",
|
|
9390
9433
|
role: "option",
|
|
9391
9434
|
"aria-selected": !!n.selectedSymbols[e.ticker],
|
|
9392
9435
|
class: "iccandle-scanner-symbol-search__item",
|
|
9393
|
-
onClick: (t) =>
|
|
9436
|
+
onClick: (t) => re(e.ticker)
|
|
9394
9437
|
}, [
|
|
9395
|
-
s("div", { class: g(k(Q)("iccandle-scanner-symbol-search__check", n.selectedSymbols[e.ticker] && "iccandle-scanner-symbol-search__check--on")) }, [n.selectedSymbols[e.ticker] ? (x(), i(
|
|
9438
|
+
s("div", { class: g(k(Q)("iccandle-scanner-symbol-search__check", n.selectedSymbols[e.ticker] && "iccandle-scanner-symbol-search__check--on")) }, [n.selectedSymbols[e.ticker] ? (x(), i(on, {
|
|
9396
9439
|
key: 0,
|
|
9397
9440
|
size: 12
|
|
9398
9441
|
})) : a("", !0)], 2),
|
|
9399
|
-
u(
|
|
9400
|
-
s("div",
|
|
9401
|
-
], 8,
|
|
9442
|
+
u(rn, { name: e.ticker }, null, 8, ["name"]),
|
|
9443
|
+
s("div", In, O(e.display_name), 1)
|
|
9444
|
+
], 8, Fn))), 128)) : a("", !0)]))), 128))
|
|
9402
9445
|
], 4)], 6)], 8, ["to"])) : a("", !0)], 512));
|
|
9403
9446
|
}
|
|
9404
|
-
}),
|
|
9447
|
+
}), zn = { class: "iccandle-scanner-settings" }, Bn = { class: "iccandle-scanner-settings__header" }, Vn = { class: "iccandle-scanner-settings__title-wrap" }, Hn = { class: "iccandle-scanner-settings__title" }, Un = { class: "iccandle-scanner-settings__description" }, Wn = ["aria-label"], Gn = { class: "iccandle-scanner-settings__body" }, Kn = { class: "iccandle-scanner-settings__section" }, qn = { class: "iccandle-scanner-settings__section-title" }, Jn = { class: "iccandle-scanner-settings__section" }, Yn = { class: "iccandle-scanner-settings__section" }, Xn = ["aria-expanded"], Zn = {
|
|
9405
9448
|
key: 0,
|
|
9406
9449
|
class: "iccandle-scanner-settings__accordion-content"
|
|
9407
|
-
},
|
|
9450
|
+
}, Qn = { class: "iccandle-scanner-option__footer" }, $n = {
|
|
9408
9451
|
key: 0,
|
|
9409
9452
|
class: "iccandle-scanner-option__error"
|
|
9410
|
-
},
|
|
9453
|
+
}, er = { class: "iccandle-scanner-option__actions" }, tr = { class: "iccandle-scanner-option__always-show" }, nr = ["checked"], rr = {
|
|
9411
9454
|
for: "scanner-always-show",
|
|
9412
9455
|
class: "iccandle-scanner-option__always-show-label"
|
|
9413
|
-
},
|
|
9456
|
+
}, ir = { class: "iccandle-scanner-option__buttons" }, ar = /* @__PURE__ */ d({
|
|
9414
9457
|
__name: "ScannerSettingsStep",
|
|
9415
9458
|
props: {
|
|
9416
9459
|
intent: {},
|
|
@@ -9435,25 +9478,32 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9435
9478
|
}
|
|
9436
9479
|
let d = e, f = t, { t: m } = X();
|
|
9437
9480
|
function h() {
|
|
9438
|
-
let e =
|
|
9481
|
+
let e = Te();
|
|
9439
9482
|
return Object.keys(e).length > 0 ? e : null;
|
|
9440
9483
|
}
|
|
9441
9484
|
function _(e, t) {
|
|
9442
|
-
return e && !
|
|
9485
|
+
return e && !Ae(e) && e.symbols?.length ? e.symbols : t ? [t] : [];
|
|
9443
9486
|
}
|
|
9444
9487
|
function b(e, t) {
|
|
9445
9488
|
return _(e, t).reduce((e, t) => (e[t] = !0, e), {});
|
|
9446
9489
|
}
|
|
9447
|
-
function S(e
|
|
9448
|
-
return
|
|
9449
|
-
|
|
9450
|
-
|
|
9451
|
-
|
|
9490
|
+
function S(e) {
|
|
9491
|
+
return [
|
|
9492
|
+
"15",
|
|
9493
|
+
"30",
|
|
9494
|
+
"60",
|
|
9495
|
+
"120",
|
|
9496
|
+
"240",
|
|
9497
|
+
"1D"
|
|
9498
|
+
].includes(e) ? e : "60";
|
|
9499
|
+
}
|
|
9500
|
+
let T = w(localStorage.getItem("iccandle_token") ? null : "free"), ee = r(() => c(T.value)), E = r(() => T.value === "pro" || T.value === "expert"), D = w(Se()), A = h(), j = A?.top_k ?? 30, N = w(""), te = w(""), P = null, I = w(!1), L = w((() => {
|
|
9501
|
+
let e = Kt(A?.model);
|
|
9452
9502
|
return !localStorage.getItem("iccandle_token") && e !== "light" ? "light" : e;
|
|
9453
9503
|
})()), R = w(A?.temperature ?? 1), z = w(b(A, d.currentSymbol)), B = w(null), V = null, H = C({
|
|
9454
9504
|
probability: A?.probability ?? 0,
|
|
9455
9505
|
top_k: localStorage.getItem("iccandle_token") ? j : Math.min(n.free, j),
|
|
9456
|
-
timeframe: S(
|
|
9506
|
+
timeframe: S(d.timeframe),
|
|
9457
9507
|
period: A?.period ?? 0,
|
|
9458
9508
|
symbols: _(A, d.currentSymbol)
|
|
9459
9509
|
});
|
|
@@ -9462,16 +9512,16 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9462
9512
|
te.value = e;
|
|
9463
9513
|
}, 0);
|
|
9464
9514
|
});
|
|
9465
|
-
let
|
|
9515
|
+
let re = r(() => {
|
|
9466
9516
|
let e = /* @__PURE__ */ new Map();
|
|
9467
9517
|
return Z.forEach((t) => {
|
|
9468
9518
|
e.set(t.ticker, t.logo_urls);
|
|
9469
9519
|
}), e;
|
|
9470
|
-
}),
|
|
9520
|
+
}), U = r(() => {
|
|
9471
9521
|
let e = te.value.toLowerCase();
|
|
9472
9522
|
return Z.filter((t) => t.display_name.toLowerCase().includes(e));
|
|
9473
|
-
}),
|
|
9474
|
-
function
|
|
9523
|
+
}), W = r(() => Object.values(z.value).filter(Boolean).length);
|
|
9524
|
+
function ie(e) {
|
|
9475
9525
|
let t = Object.entries(e).filter(([, e]) => e).map(([e]) => e);
|
|
9476
9526
|
H.symbols = t;
|
|
9477
9527
|
}
|
|
@@ -9480,19 +9530,19 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9480
9530
|
}), M(() => H.symbols.length, (e) => {
|
|
9481
9531
|
e > 0 && (B.value = null);
|
|
9482
9532
|
});
|
|
9483
|
-
function
|
|
9533
|
+
function G(e, t) {
|
|
9484
9534
|
let n = {
|
|
9485
9535
|
...z.value,
|
|
9486
9536
|
[e]: t
|
|
9487
9537
|
};
|
|
9488
|
-
z.value = n,
|
|
9538
|
+
z.value = n, ie(n);
|
|
9489
9539
|
}
|
|
9490
|
-
function
|
|
9540
|
+
function K(e, t) {
|
|
9491
9541
|
let n = { ...z.value };
|
|
9492
9542
|
for (let r of e) n[r] = t;
|
|
9493
|
-
z.value = n,
|
|
9543
|
+
z.value = n, ie(n);
|
|
9494
9544
|
}
|
|
9495
|
-
function
|
|
9545
|
+
function q() {
|
|
9496
9546
|
let e = H.symbols ?? [];
|
|
9497
9547
|
if (e.length === 0) {
|
|
9498
9548
|
B.value = m("Pattern.signalDialog.selectOneSymbol"), V && clearTimeout(V), V = setTimeout(() => {
|
|
@@ -9501,7 +9551,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9501
9551
|
return;
|
|
9502
9552
|
}
|
|
9503
9553
|
let t = Array.from(new Set(Z.filter((t) => e.includes(t.ticker)).map((e) => e.type))), n = Z.every((e) => z.value[e.ticker]) ?? !1;
|
|
9504
|
-
|
|
9554
|
+
De({
|
|
9505
9555
|
probability: 0,
|
|
9506
9556
|
top_k: H.top_k,
|
|
9507
9557
|
timeframe: H.timeframe,
|
|
@@ -9512,17 +9562,17 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9512
9562
|
followCurrentSymbol: e.length === 1,
|
|
9513
9563
|
model: L.value,
|
|
9514
9564
|
temperature: R.value
|
|
9515
|
-
}, !0),
|
|
9565
|
+
}, !0), Ce(D.value), d.setResolution(H.timeframe), f("cancel"), d.intent === "settings" ? ve({
|
|
9516
9566
|
title: m("Common.success"),
|
|
9517
9567
|
description: m("Selector.searchFilterSaved"),
|
|
9518
9568
|
variant: "success"
|
|
9519
9569
|
}) : f("scanConfigSaved");
|
|
9520
9570
|
}
|
|
9521
|
-
function
|
|
9522
|
-
e.preventDefault(),
|
|
9571
|
+
function ae(e) {
|
|
9572
|
+
e.preventDefault(), q();
|
|
9523
9573
|
}
|
|
9524
9574
|
function J(e) {
|
|
9525
|
-
D.value = e,
|
|
9575
|
+
D.value = e, Ce(e);
|
|
9526
9576
|
}
|
|
9527
9577
|
function Y() {
|
|
9528
9578
|
f("cancel");
|
|
@@ -9548,28 +9598,28 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9548
9598
|
window.removeEventListener("keydown", se), P && clearTimeout(P), V && clearTimeout(V);
|
|
9549
9599
|
});
|
|
9550
9600
|
let ce = r(() => d.intent === "scan" ? m("Selector.scan") : m("Selector.saveOptions"));
|
|
9551
|
-
return (t, n) => (x(), o("div",
|
|
9552
|
-
s("div",
|
|
9601
|
+
return (t, n) => (x(), o("div", zn, [
|
|
9602
|
+
s("div", Bn, [s("div", Vn, [s("div", Hn, O(k(m)("Selector.scannerOptions")), 1), s("div", Un, O(k(m)("Selector.scannerOptionsDescription")), 1)]), s("button", {
|
|
9553
9603
|
type: "button",
|
|
9554
9604
|
class: "iccandle-scanner-option__close-btn",
|
|
9555
9605
|
"aria-label": k(m)("Common.close"),
|
|
9556
9606
|
onClick: Y
|
|
9557
|
-
}, [u(
|
|
9607
|
+
}, [u(St, { size: 20 })], 8, Wn)]),
|
|
9558
9608
|
s("form", {
|
|
9559
9609
|
id: "scanner-option-form",
|
|
9560
9610
|
class: "iccandle-scanner-settings__form",
|
|
9561
|
-
onSubmit:
|
|
9562
|
-
}, [s("div",
|
|
9563
|
-
s("section",
|
|
9611
|
+
onSubmit: ae
|
|
9612
|
+
}, [s("div", Gn, [
|
|
9613
|
+
s("section", Kn, [s("h3", qn, O(k(m)("Selector.tabSymbols")), 1), u(Rn, {
|
|
9564
9614
|
"search-term": N.value,
|
|
9565
9615
|
"selected-symbols": z.value,
|
|
9566
|
-
"filtered-symbols":
|
|
9567
|
-
"selected-count":
|
|
9568
|
-
"logo-by-ticker":
|
|
9616
|
+
"filtered-symbols": U.value,
|
|
9617
|
+
"selected-count": W.value,
|
|
9618
|
+
"logo-by-ticker": re.value,
|
|
9569
9619
|
"all-symbols": k(Z),
|
|
9570
9620
|
onSearchChange: n[0] ||= (e) => N.value = e,
|
|
9571
|
-
onSymbolChange:
|
|
9572
|
-
onGroupChange:
|
|
9621
|
+
onSymbolChange: G,
|
|
9622
|
+
onGroupChange: K
|
|
9573
9623
|
}, null, 8, [
|
|
9574
9624
|
"search-term",
|
|
9575
9625
|
"selected-symbols",
|
|
@@ -9578,7 +9628,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9578
9628
|
"logo-by-ticker",
|
|
9579
9629
|
"all-symbols"
|
|
9580
9630
|
])]),
|
|
9581
|
-
s("section",
|
|
9631
|
+
s("section", Jn, [u(Qt, {
|
|
9582
9632
|
"top-k": k(H).top_k,
|
|
9583
9633
|
"onUpdate:topK": n[1] ||= (e) => k(H).top_k = e,
|
|
9584
9634
|
"user-result-limit": ee.value,
|
|
@@ -9592,24 +9642,24 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9592
9642
|
"model",
|
|
9593
9643
|
"is-pro-model-enabled"
|
|
9594
9644
|
])]),
|
|
9595
|
-
s("section",
|
|
9645
|
+
s("section", Yn, [s("button", {
|
|
9596
9646
|
type: "button",
|
|
9597
9647
|
class: "iccandle-scanner-settings__accordion-trigger",
|
|
9598
9648
|
"aria-expanded": I.value,
|
|
9599
9649
|
onClick: n[3] ||= (e) => I.value = !I.value
|
|
9600
|
-
}, [s("span", null, O(k(m)("Selector.tabAdvancedOptions")), 1), s("span", { class: g(k(Q)("iccandle-scanner-settings__accordion-caret", I.value && "iccandle-scanner-settings__accordion-caret--open")) }, null, 2)], 8,
|
|
9650
|
+
}, [s("span", null, O(k(m)("Selector.tabAdvancedOptions")), 1), s("span", { class: g(k(Q)("iccandle-scanner-settings__accordion-caret", I.value && "iccandle-scanner-settings__accordion-caret--open")) }, null, 2)], 8, Xn), I.value ? (x(), o("div", Zn, [u(Ut, {
|
|
9601
9651
|
modelValue: k(H),
|
|
9602
9652
|
"onUpdate:modelValue": n[4] ||= (e) => p(H) ? H.value = e : H = e,
|
|
9603
9653
|
temperature: R.value,
|
|
9604
9654
|
onTemperatureChange: n[5] ||= (e) => R.value = e
|
|
9605
9655
|
}, null, 8, ["modelValue", "temperature"])])) : a("", !0)])
|
|
9606
9656
|
])], 32),
|
|
9607
|
-
s("div",
|
|
9657
|
+
s("div", Qn, [B.value ? (x(), o("p", $n, O(B.value), 1)) : a("", !0), s("div", er, [s("div", tr, [s("input", {
|
|
9608
9658
|
id: "scanner-always-show",
|
|
9609
9659
|
type: "checkbox",
|
|
9610
9660
|
checked: D.value,
|
|
9611
9661
|
onChange: n[6] ||= (e) => J(e.target.checked)
|
|
9612
|
-
}, null, 40,
|
|
9662
|
+
}, null, 40, nr), s("label", rr, O(k(m)("Selector.alwaysShow")), 1)]), s("div", ir, [s("button", {
|
|
9613
9663
|
type: "button",
|
|
9614
9664
|
class: "iccandle-scanner-option__btn iccandle-scanner-option__btn--outline",
|
|
9615
9665
|
onClick: Y
|
|
@@ -9617,14 +9667,14 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9617
9667
|
type: "submit",
|
|
9618
9668
|
form: "scanner-option-form",
|
|
9619
9669
|
class: g(k(Q)("iccandle-scanner-option__btn iccandle-scanner-option__btn--primary", e.intent === "scan" && "iccandle-scanner-option__btn--scan"))
|
|
9620
|
-
}, [e.intent === "scan" ? (x(), i(
|
|
9670
|
+
}, [e.intent === "scan" ? (x(), i(Ve, {
|
|
9621
9671
|
key: 0,
|
|
9622
9672
|
size: 14,
|
|
9623
9673
|
color: "#ffb84d"
|
|
9624
9674
|
})) : a("", !0), l(" " + O(ce.value), 1)], 2)])])])
|
|
9625
9675
|
]));
|
|
9626
9676
|
}
|
|
9627
|
-
}),
|
|
9677
|
+
}), or = /* @__PURE__ */ d({
|
|
9628
9678
|
__name: "ScannerOption",
|
|
9629
9679
|
props: {
|
|
9630
9680
|
intent: { default: "settings" },
|
|
@@ -9653,7 +9703,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9653
9703
|
}, [s("div", {
|
|
9654
9704
|
class: "iccandle-scanner-option__card",
|
|
9655
9705
|
onPointerdown: r[0] ||= P(() => {}, ["stop"])
|
|
9656
|
-
}, [u(
|
|
9706
|
+
}, [u(ar, {
|
|
9657
9707
|
intent: e.intent,
|
|
9658
9708
|
"set-resolution": e.setResolution,
|
|
9659
9709
|
timeframe: e.timeframe,
|
|
@@ -9669,11 +9719,11 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9669
9719
|
"onCancel"
|
|
9670
9720
|
])], 32)], 34)]));
|
|
9671
9721
|
}
|
|
9672
|
-
}),
|
|
9722
|
+
}), sr = [
|
|
9673
9723
|
"width",
|
|
9674
9724
|
"height",
|
|
9675
9725
|
"stroke"
|
|
9676
|
-
],
|
|
9726
|
+
], cr = /* @__PURE__ */ d({
|
|
9677
9727
|
__name: "BellIcon",
|
|
9678
9728
|
props: {
|
|
9679
9729
|
size: { default: 20 },
|
|
@@ -9692,9 +9742,9 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9692
9742
|
"stroke-linecap": "round",
|
|
9693
9743
|
"stroke-linejoin": "round",
|
|
9694
9744
|
class: g(e.className)
|
|
9695
|
-
}, [...n[0] ||= [s("path", { d: "M10.268 21a2 2 0 0 0 3.464 0" }, null, -1), s("path", { d: "M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326" }, null, -1)]], 10,
|
|
9745
|
+
}, [...n[0] ||= [s("path", { d: "M10.268 21a2 2 0 0 0 3.464 0" }, null, -1), s("path", { d: "M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326" }, null, -1)]], 10, sr));
|
|
9696
9746
|
}
|
|
9697
|
-
}),
|
|
9747
|
+
}), lr = ["width", "height"], ur = ["stroke"], dr = ["stroke"], fr = /* @__PURE__ */ d({
|
|
9698
9748
|
__name: "CloseIcon",
|
|
9699
9749
|
props: {
|
|
9700
9750
|
size: { default: 24 },
|
|
@@ -9715,24 +9765,24 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9715
9765
|
"stroke-width": "2",
|
|
9716
9766
|
"stroke-linecap": "round",
|
|
9717
9767
|
"stroke-linejoin": "round"
|
|
9718
|
-
}, null, 8,
|
|
9768
|
+
}, null, 8, ur), s("path", {
|
|
9719
9769
|
d: "m6 6 12 12",
|
|
9720
9770
|
stroke: e.color,
|
|
9721
9771
|
"stroke-width": "2",
|
|
9722
9772
|
"stroke-linecap": "round",
|
|
9723
9773
|
"stroke-linejoin": "round"
|
|
9724
|
-
}, null, 8,
|
|
9774
|
+
}, null, 8, dr)], 10, lr));
|
|
9725
9775
|
}
|
|
9726
|
-
}),
|
|
9776
|
+
}), pr = { class: "iccandle-pattern-alert-name" }, mr = { class: "iccandle-pattern-alert-name__header" }, hr = { class: "iccandle-pattern-alert-name__title-row" }, gr = { class: "iccandle-pattern-alert-name__title" }, _r = ["aria-label"], vr = { class: "iccandle-pattern-alert-name__description" }, yr = { class: "iccandle-pattern-alert-name__content" }, br = { class: "iccandle-pattern-alert-name__form" }, xr = { class: "iccandle-pattern-alert-name__field" }, Sr = {
|
|
9727
9777
|
for: "patternName",
|
|
9728
9778
|
class: "iccandle-pattern-alert-name__label"
|
|
9729
|
-
},
|
|
9779
|
+
}, Cr = ["placeholder", "value"], wr = {
|
|
9730
9780
|
key: 0,
|
|
9731
9781
|
class: "iccandle-pattern-alert-name__error"
|
|
9732
|
-
},
|
|
9782
|
+
}, Tr = {
|
|
9733
9783
|
key: 1,
|
|
9734
9784
|
class: "iccandle-pattern-alert-name__error"
|
|
9735
|
-
},
|
|
9785
|
+
}, Er = { class: "iccandle-pattern-alert-name__footer-wrap" }, Dr = { class: "iccandle-pattern-alert-name__footer" }, Or = ["disabled"], kr = /* @__PURE__ */ d({
|
|
9736
9786
|
__name: "PatternAlertNameStep",
|
|
9737
9787
|
props: {
|
|
9738
9788
|
patternName: {},
|
|
@@ -9746,8 +9796,8 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9746
9796
|
let t = e.target.value.slice(0, 20);
|
|
9747
9797
|
n("patternNameChange", t);
|
|
9748
9798
|
}
|
|
9749
|
-
return (t, n) => (x(), o("div",
|
|
9750
|
-
s("div",
|
|
9799
|
+
return (t, n) => (x(), o("div", pr, [
|
|
9800
|
+
s("div", mr, [s("div", hr, [s("h2", gr, [u(Je, {
|
|
9751
9801
|
size: 20,
|
|
9752
9802
|
"class-name": "iccandle-pattern-alert-name__title-icon"
|
|
9753
9803
|
}), l(" " + O(k(r)("Pattern.addToPatternTracker")), 1)]), s("button", {
|
|
@@ -9755,12 +9805,12 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9755
9805
|
class: "iccandle-pattern-alert-name__close-btn",
|
|
9756
9806
|
"aria-label": k(r)("Common.close"),
|
|
9757
9807
|
onClick: n[0] ||= (...t) => e.onCancel && e.onCancel(...t)
|
|
9758
|
-
}, [u(
|
|
9759
|
-
s("div",
|
|
9808
|
+
}, [u(fr, { size: 20 })], 8, _r)]), s("p", vr, O(k(r)("Pattern.addToPatternTrackerDescription")), 1)]),
|
|
9809
|
+
s("div", yr, [u(cr, {
|
|
9760
9810
|
size: 64,
|
|
9761
9811
|
"class-name": "iccandle-pattern-alert-name__bell-icon"
|
|
9762
|
-
}), s("div",
|
|
9763
|
-
s("label",
|
|
9812
|
+
}), s("div", br, [s("div", xr, [
|
|
9813
|
+
s("label", Sr, O(k(r)("Pattern.patternName")), 1),
|
|
9764
9814
|
s("input", {
|
|
9765
9815
|
id: "patternName",
|
|
9766
9816
|
class: "iccandle-pattern-alert-name__input",
|
|
@@ -9769,10 +9819,10 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9769
9819
|
maxlength: "20",
|
|
9770
9820
|
minlength: "5",
|
|
9771
9821
|
onInput: i
|
|
9772
|
-
}, null, 40,
|
|
9773
|
-
e.patternName.length === 20 ? (x(), o("p",
|
|
9822
|
+
}, null, 40, Cr),
|
|
9823
|
+
e.patternName.length === 20 ? (x(), o("p", wr, O(k(r)("Pattern.patternNameMaxChars")), 1)) : e.patternName.trim().length > 0 && e.patternName.trim().length < 5 ? (x(), o("p", Tr, O(k(r)("Pattern.patternNameMinChars")), 1)) : a("", !0)
|
|
9774
9824
|
])])]),
|
|
9775
|
-
s("div",
|
|
9825
|
+
s("div", Er, [n[3] ||= s("hr", { class: "iccandle-pattern-alert-name__divider" }, null, -1), s("div", Dr, [s("button", {
|
|
9776
9826
|
type: "button",
|
|
9777
9827
|
class: "iccandle-pattern-alert-name__btn iccandle-pattern-alert-name__btn--outline",
|
|
9778
9828
|
onClick: n[1] ||= (...t) => e.onCancel && e.onCancel(...t)
|
|
@@ -9781,10 +9831,10 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9781
9831
|
class: "iccandle-pattern-alert-name__btn iccandle-pattern-alert-name__btn--primary",
|
|
9782
9832
|
disabled: e.patternName.trim().length < 5,
|
|
9783
9833
|
onClick: n[2] ||= (...t) => e.onNext && e.onNext(...t)
|
|
9784
|
-
}, O(k(r)("Common.next")), 9,
|
|
9834
|
+
}, O(k(r)("Common.next")), 9, Or)])])
|
|
9785
9835
|
]));
|
|
9786
9836
|
}
|
|
9787
|
-
}),
|
|
9837
|
+
}), Ar = [
|
|
9788
9838
|
{
|
|
9789
9839
|
value: "M15",
|
|
9790
9840
|
label: "M15",
|
|
@@ -9821,33 +9871,33 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9821
9871
|
description: "Daily",
|
|
9822
9872
|
type: "daily"
|
|
9823
9873
|
}
|
|
9824
|
-
],
|
|
9874
|
+
], jr = ["aria-expanded"], Mr = { class: "iccandle-scanner-timeframe-search__chips" }, Nr = {
|
|
9825
9875
|
key: 0,
|
|
9826
9876
|
class: "iccandle-scanner-timeframe-search__placeholder"
|
|
9827
|
-
},
|
|
9877
|
+
}, Pr = { class: "iccandle-scanner-timeframe-search__chip-label" }, Fr = [
|
|
9828
9878
|
"aria-label",
|
|
9829
9879
|
"onClick",
|
|
9830
9880
|
"onKeydown"
|
|
9831
|
-
],
|
|
9881
|
+
], Ir = { class: "iccandle-scanner-timeframe-search__trigger-meta" }, Lr = { class: "iccandle-scanner-timeframe-search__search" }, Rr = [
|
|
9832
9882
|
"placeholder",
|
|
9833
9883
|
"value",
|
|
9834
9884
|
"aria-label"
|
|
9835
|
-
],
|
|
9885
|
+
], zr = {
|
|
9836
9886
|
key: 0,
|
|
9837
9887
|
class: "iccandle-scanner-timeframe-search__empty"
|
|
9838
|
-
},
|
|
9888
|
+
}, Br = {
|
|
9839
9889
|
key: 1,
|
|
9840
9890
|
class: "iccandle-scanner-timeframe-search__select-all"
|
|
9841
|
-
},
|
|
9891
|
+
}, Vr = ["aria-label"], Hr = {
|
|
9842
9892
|
key: 0,
|
|
9843
9893
|
class: "iccandle-scanner-timeframe-search__check iccandle-scanner-timeframe-search__check--on"
|
|
9844
|
-
},
|
|
9894
|
+
}, Ur = {
|
|
9845
9895
|
key: 1,
|
|
9846
9896
|
class: "iccandle-scanner-timeframe-search__check iccandle-scanner-timeframe-search__check--on"
|
|
9847
|
-
},
|
|
9897
|
+
}, Wr = {
|
|
9848
9898
|
key: 2,
|
|
9849
9899
|
class: "iccandle-scanner-timeframe-search__check"
|
|
9850
|
-
},
|
|
9900
|
+
}, Gr = ["aria-selected", "onClick"], Kr = { class: "iccandle-scanner-timeframe-search__item-label" }, qr = { class: "iccandle-scanner-timeframe-search__item-description" }, Jr = /* @__PURE__ */ d({
|
|
9851
9901
|
__name: "ScannerTimeframeSearch",
|
|
9852
9902
|
props: {
|
|
9853
9903
|
searchTerm: {},
|
|
@@ -9868,7 +9918,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9868
9918
|
let t = e?.closest(".iccandle-theme-scope, .iccandle-selector-widget") ?? document.body;
|
|
9869
9919
|
C.value = t;
|
|
9870
9920
|
}
|
|
9871
|
-
let A = r(() => l.allTimeframes ?? l.filteredTimeframes ??
|
|
9921
|
+
let A = r(() => l.allTimeframes ?? l.filteredTimeframes ?? Ar), j = r(() => l.filteredTimeframes ?? Ar), N = r(() => A.value.filter((e) => l.selectedTimeframes[e.value]));
|
|
9872
9922
|
function te(e) {
|
|
9873
9923
|
if (e.length === 0) return "none";
|
|
9874
9924
|
let t = e.filter((e) => l.selectedTimeframes[e.value]).length;
|
|
@@ -9925,7 +9975,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9925
9975
|
}), v(() => {
|
|
9926
9976
|
window.removeEventListener("resize", B), window.removeEventListener("scroll", B, !0), document.removeEventListener("mousedown", V), document.removeEventListener("keydown", H);
|
|
9927
9977
|
});
|
|
9928
|
-
let
|
|
9978
|
+
let re = r(() => te(j.value)), U = r(() => l.selectedCount <= 1 ? f("Pattern.timeframeSelected", { count: l.selectedCount }) : f("Pattern.timeframesSelected", { count: l.selectedCount })), W = r(() => E.value ? Math.max(120, E.value.maxHeight - 48) : 120);
|
|
9929
9979
|
return (r, c) => (x(), o("div", {
|
|
9930
9980
|
ref: (e) => D(e),
|
|
9931
9981
|
class: "iccandle-scanner-timeframe-search iccandle-scanner-timeframe-search--combobox"
|
|
@@ -9938,10 +9988,10 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9938
9988
|
"aria-haspopup": "listbox",
|
|
9939
9989
|
class: "iccandle-scanner-timeframe-search__trigger",
|
|
9940
9990
|
onClick: c[0] ||= (e) => z(!S.value)
|
|
9941
|
-
}, [s("div",
|
|
9991
|
+
}, [s("div", Mr, [N.value.length === 0 ? (x(), o("span", Nr, O(k(f)("Selector.searchTimeframe")), 1)) : (x(!0), o(e, { key: 1 }, T(N.value, (e) => (x(), o("span", {
|
|
9942
9992
|
key: e.value,
|
|
9943
9993
|
class: "iccandle-scanner-timeframe-search__chip"
|
|
9944
|
-
}, [s("span",
|
|
9994
|
+
}, [s("span", Pr, O(e.label), 1), s("span", {
|
|
9945
9995
|
role: "button",
|
|
9946
9996
|
tabindex: "0",
|
|
9947
9997
|
"aria-label": `Remove ${e.label}`,
|
|
@@ -9950,10 +10000,10 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9950
10000
|
onKeydown: (t) => {
|
|
9951
10001
|
(t.key === "Enter" || t.key === " ") && (t.preventDefault(), t.stopPropagation(), d("timeframeChange", e.value, !1));
|
|
9952
10002
|
}
|
|
9953
|
-
}, [u(
|
|
10003
|
+
}, [u(St, { size: 10 })], 40, Fr)]))), 128))]), s("div", Ir, [s("span", null, O(U.value), 1), u(cn, {
|
|
9954
10004
|
size: 16,
|
|
9955
10005
|
style: { opacity: .6 }
|
|
9956
|
-
})])], 8,
|
|
10006
|
+
})])], 8, jr), (x(), i(t, { to: C.value }, [S.value && E.value ? (x(), o("div", {
|
|
9957
10007
|
key: 0,
|
|
9958
10008
|
ref_key: "popoverRef",
|
|
9959
10009
|
ref: y,
|
|
@@ -9966,7 +10016,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9966
10016
|
width: `${E.value.width}px`,
|
|
9967
10017
|
maxHeight: `${E.value.maxHeight}px`
|
|
9968
10018
|
})
|
|
9969
|
-
}, [s("div",
|
|
10019
|
+
}, [s("div", Lr, [u(fn, {
|
|
9970
10020
|
size: 16,
|
|
9971
10021
|
"class-name": "iccandle-scanner-timeframe-search__search-icon"
|
|
9972
10022
|
}), s("input", {
|
|
@@ -9978,17 +10028,17 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
9978
10028
|
value: n.searchTerm,
|
|
9979
10029
|
"aria-label": k(f)("Selector.searchTimeframe"),
|
|
9980
10030
|
onInput: c[1] ||= (e) => d("searchChange", e.target.value.toUpperCase())
|
|
9981
|
-
}, null, 40,
|
|
10031
|
+
}, null, 40, Rr)]), s("div", {
|
|
9982
10032
|
class: "iccandle-scanner-timeframe-search__command-list",
|
|
9983
|
-
style: _({ maxHeight: `${
|
|
10033
|
+
style: _({ maxHeight: `${W.value}px` })
|
|
9984
10034
|
}, [
|
|
9985
|
-
n.searchTerm.trim() && j.value.length === 0 ? (x(), o("div",
|
|
9986
|
-
j.value.length > 0 ? (x(), o("div",
|
|
10035
|
+
n.searchTerm.trim() && j.value.length === 0 ? (x(), o("div", zr, O(k(f)("Selector.noResultsFound")), 1)) : a("", !0),
|
|
10036
|
+
j.value.length > 0 ? (x(), o("div", Br, [s("button", {
|
|
9987
10037
|
type: "button",
|
|
9988
10038
|
class: "iccandle-scanner-timeframe-search__group-check-btn",
|
|
9989
10039
|
"aria-label": k(f)("Selector.selectAllTimeframes"),
|
|
9990
10040
|
onClick: ne
|
|
9991
|
-
}, [
|
|
10041
|
+
}, [re.value === "all" ? (x(), o("div", Hr, [u(on, { size: 12 })])) : re.value === "some" ? (x(), o("div", Ur, [u(un, { size: 12 })])) : (x(), o("div", Wr))], 8, Vr), s("button", {
|
|
9992
10042
|
type: "button",
|
|
9993
10043
|
class: "iccandle-scanner-timeframe-search__group-label-btn",
|
|
9994
10044
|
onClick: ne
|
|
@@ -10001,16 +10051,16 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10001
10051
|
class: "iccandle-scanner-timeframe-search__item",
|
|
10002
10052
|
onClick: (t) => I(e.value)
|
|
10003
10053
|
}, [
|
|
10004
|
-
s("div", { class: g(k(Q)("iccandle-scanner-timeframe-search__check", n.selectedTimeframes[e.value] && "iccandle-scanner-timeframe-search__check--on")) }, [n.selectedTimeframes[e.value] ? (x(), i(
|
|
10054
|
+
s("div", { class: g(k(Q)("iccandle-scanner-timeframe-search__check", n.selectedTimeframes[e.value] && "iccandle-scanner-timeframe-search__check--on")) }, [n.selectedTimeframes[e.value] ? (x(), i(on, {
|
|
10005
10055
|
key: 0,
|
|
10006
10056
|
size: 12
|
|
10007
10057
|
})) : a("", !0)], 2),
|
|
10008
|
-
s("span",
|
|
10009
|
-
s("span",
|
|
10010
|
-
], 8,
|
|
10058
|
+
s("span", Kr, O(P(e.value)), 1),
|
|
10059
|
+
s("span", qr, O(F(e.value)), 1)
|
|
10060
|
+
], 8, Gr))), 128))
|
|
10011
10061
|
], 4)], 6)) : a("", !0)], 8, ["to"]))], 512));
|
|
10012
10062
|
}
|
|
10013
|
-
}),
|
|
10063
|
+
}), Yr = { class: "iccandle-timeframes-tab" }, Xr = { class: "iccandle-timeframes-tab__header" }, Zr = { class: "iccandle-timeframes-tab__title" }, Qr = /* @__PURE__ */ d({
|
|
10014
10064
|
__name: "TimeframesTab",
|
|
10015
10065
|
props: { form: {} },
|
|
10016
10066
|
setup(e) {
|
|
@@ -10022,13 +10072,13 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10022
10072
|
}, { immediate: !0 });
|
|
10023
10073
|
let l = r(() => t.form.timeframes.reduce((e, t) => (e[t] = !0, e), {})), d = r(() => {
|
|
10024
10074
|
let e = a.value.toLowerCase();
|
|
10025
|
-
return
|
|
10075
|
+
return Ar.filter((t) => {
|
|
10026
10076
|
let r = n(`Pattern.timeframeOptions.${t.value}.displayName`).toLowerCase(), i = n(`Pattern.timeframeOptions.${t.value}.description`).toLowerCase();
|
|
10027
10077
|
return t.label.toLowerCase().includes(e) || t.value.toLowerCase().includes(e) || r.includes(e) || i.includes(e);
|
|
10028
10078
|
});
|
|
10029
10079
|
}), f = r(() => Object.values(l.value).filter(Boolean).length);
|
|
10030
10080
|
function p(e) {
|
|
10031
|
-
t.form.timeframes =
|
|
10081
|
+
t.form.timeframes = Ar.filter((t) => e[t.value]).map((e) => e.value);
|
|
10032
10082
|
}
|
|
10033
10083
|
function m(e, t) {
|
|
10034
10084
|
p({
|
|
@@ -10041,12 +10091,12 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10041
10091
|
for (let r of e) n[r] = t;
|
|
10042
10092
|
p(n);
|
|
10043
10093
|
}
|
|
10044
|
-
return (e, t) => (x(), o("div",
|
|
10094
|
+
return (e, t) => (x(), o("div", Yr, [s("div", Xr, [s("h3", Zr, O(k(n)("Pattern.selectTimeframes")), 1)]), u(Jr, {
|
|
10045
10095
|
"search-term": i.value,
|
|
10046
10096
|
"selected-timeframes": l.value,
|
|
10047
10097
|
"filtered-timeframes": d.value,
|
|
10048
10098
|
"selected-count": f.value,
|
|
10049
|
-
"all-timeframes": [...k(
|
|
10099
|
+
"all-timeframes": [...k(Ar)],
|
|
10050
10100
|
onSearchChange: t[0] ||= (e) => i.value = e,
|
|
10051
10101
|
onTimeframeChange: m,
|
|
10052
10102
|
onGroupChange: h
|
|
@@ -10058,7 +10108,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10058
10108
|
"all-timeframes"
|
|
10059
10109
|
])]));
|
|
10060
10110
|
}
|
|
10061
|
-
}),
|
|
10111
|
+
}), $r = { class: "iccandle-symbols-tab" }, ei = { class: "iccandle-symbols-tab__header" }, ti = { class: "iccandle-symbols-tab__title" }, ni = /* @__PURE__ */ d({
|
|
10062
10112
|
__name: "SymbolsTab",
|
|
10063
10113
|
props: { form: {} },
|
|
10064
10114
|
setup(e) {
|
|
@@ -10094,7 +10144,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10094
10144
|
for (let r of e) n[r] = t;
|
|
10095
10145
|
m(n);
|
|
10096
10146
|
}
|
|
10097
|
-
return (e, t) => (x(), o("div",
|
|
10147
|
+
return (e, t) => (x(), o("div", $r, [s("div", ei, [s("h3", ti, O(k(n)("Pattern.signalDialog.selectCurrencyPairs")), 1)]), u(Rn, {
|
|
10098
10148
|
"search-term": i.value,
|
|
10099
10149
|
"selected-symbols": l.value,
|
|
10100
10150
|
"filtered-symbols": d.value,
|
|
@@ -10113,7 +10163,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10113
10163
|
"all-symbols"
|
|
10114
10164
|
])]));
|
|
10115
10165
|
}
|
|
10116
|
-
}),
|
|
10166
|
+
}), ri = [
|
|
10117
10167
|
{
|
|
10118
10168
|
value: "new_york",
|
|
10119
10169
|
label: "New York Session",
|
|
@@ -10142,12 +10192,12 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10142
10192
|
start: "09:00",
|
|
10143
10193
|
end: "18:00"
|
|
10144
10194
|
}
|
|
10145
|
-
],
|
|
10195
|
+
], ii = [
|
|
10146
10196
|
{
|
|
10147
10197
|
value: "all_time",
|
|
10148
10198
|
label: "All time"
|
|
10149
10199
|
},
|
|
10150
|
-
...
|
|
10200
|
+
...ri.map((e) => ({
|
|
10151
10201
|
value: e.value,
|
|
10152
10202
|
label: e.label
|
|
10153
10203
|
})),
|
|
@@ -10155,61 +10205,61 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10155
10205
|
value: "customize",
|
|
10156
10206
|
label: "Customize"
|
|
10157
10207
|
}
|
|
10158
|
-
],
|
|
10208
|
+
], ai = (e) => {
|
|
10159
10209
|
let t = e.match(/GMT([+-])(\d{1,2})(?::?(\d{2}))?/);
|
|
10160
10210
|
if (!t) return 0;
|
|
10161
10211
|
let n = t[1] === "-" ? -1 : 1, r = Number(t[2]), i = Number(t[3] ?? "0");
|
|
10162
10212
|
return n * (r * 60 + i);
|
|
10163
|
-
},
|
|
10213
|
+
}, oi = (e, t) => ai(new Intl.DateTimeFormat("en-US", {
|
|
10164
10214
|
timeZone: t,
|
|
10165
10215
|
timeZoneName: "shortOffset",
|
|
10166
10216
|
hour: "2-digit"
|
|
10167
|
-
}).formatToParts(e).find((e) => e.type === "timeZoneName")?.value ?? "GMT+0"),
|
|
10168
|
-
let [r, i] = e.split(":").map(Number), a = /* @__PURE__ */ new Date(), o = Date.UTC(a.getUTCFullYear(), a.getUTCMonth(), a.getUTCDate(), r, i, 0), s = o -
|
|
10169
|
-
return s = o -
|
|
10217
|
+
}).formatToParts(e).find((e) => e.type === "timeZoneName")?.value ?? "GMT+0"), si = (e, t, n) => {
|
|
10218
|
+
let [r, i] = e.split(":").map(Number), a = /* @__PURE__ */ new Date(), o = Date.UTC(a.getUTCFullYear(), a.getUTCMonth(), a.getUTCDate(), r, i, 0), s = o - oi(new Date(o), t) * 6e4;
|
|
10219
|
+
return s = o - oi(new Date(s), t) * 6e4, new Intl.DateTimeFormat("en-GB", {
|
|
10170
10220
|
timeZone: n,
|
|
10171
10221
|
hour12: !1,
|
|
10172
10222
|
hour: "2-digit",
|
|
10173
10223
|
minute: "2-digit"
|
|
10174
10224
|
}).format(new Date(s));
|
|
10175
|
-
},
|
|
10176
|
-
let n =
|
|
10225
|
+
}, ci = (e, t) => {
|
|
10226
|
+
let n = ri.find((t) => t.value === e);
|
|
10177
10227
|
return n ? {
|
|
10178
|
-
start_time:
|
|
10179
|
-
end_time:
|
|
10228
|
+
start_time: si(n.start, n.timezone, t),
|
|
10229
|
+
end_time: si(n.end, n.timezone, t),
|
|
10180
10230
|
timezone: t
|
|
10181
10231
|
} : null;
|
|
10182
|
-
},
|
|
10232
|
+
}, li = (e, t) => {
|
|
10183
10233
|
if (!e) return "all_time";
|
|
10184
10234
|
let n = e.timezone || t, r = !!(e.start_time && e.end_time);
|
|
10185
10235
|
if (e.preset_session) {
|
|
10186
10236
|
if (e.preset_session === "all_time") return "all_time";
|
|
10187
10237
|
if (e.preset_session === "customize") return "customize";
|
|
10188
|
-
let t =
|
|
10238
|
+
let t = ci(e.preset_session, n);
|
|
10189
10239
|
if (t && t.start_time === e.start_time && t.end_time === e.end_time) return e.preset_session;
|
|
10190
10240
|
}
|
|
10191
10241
|
if (!r) return "customize";
|
|
10192
|
-
let i =
|
|
10193
|
-
let r =
|
|
10242
|
+
let i = ri.find((t) => {
|
|
10243
|
+
let r = ci(t.value, n);
|
|
10194
10244
|
return r && r.start_time === e.start_time && r.end_time === e.end_time;
|
|
10195
10245
|
});
|
|
10196
10246
|
return i ? i.value : "customize";
|
|
10197
|
-
},
|
|
10247
|
+
}, ui = (e) => {
|
|
10198
10248
|
let t = Intl, n = typeof t.supportedValuesOf == "function" ? t.supportedValuesOf("timeZone") ?? [] : [], r = e || "UTC";
|
|
10199
10249
|
return (n.length ? n : [r]).filter(Boolean);
|
|
10200
|
-
},
|
|
10250
|
+
}, di = { class: "iccandle-time-config-section__header" }, fi = { class: "iccandle-time-config-section__title" }, pi = { class: "iccandle-time-config-section__fields" }, mi = { class: "iccandle-time-config-section__row" }, hi = { class: "iccandle-time-config-section__field" }, gi = { class: "iccandle-time-config-section__label" }, _i = ["aria-expanded"], vi = { class: "iccandle-time-config-section__select-label" }, yi = { class: "iccandle-time-config-section__field" }, bi = { class: "iccandle-time-config-section__label" }, xi = ["aria-expanded", "disabled"], Si = { class: "iccandle-time-config-section__select-label" }, Ci = { class: "iccandle-time-config-section__row" }, wi = { class: "iccandle-time-config-section__field" }, Ti = { class: "iccandle-time-config-section__label" }, Ei = ["disabled", "value"], Di = { class: "iccandle-time-config-section__field" }, Oi = { class: "iccandle-time-config-section__label" }, ki = ["disabled", "value"], Ai = { class: "iccandle-time-config-section__dropdown-search" }, ji = ["placeholder"], Mi = {
|
|
10201
10251
|
class: "iccandle-time-config-section__dropdown-group-label",
|
|
10202
10252
|
"aria-hidden": "true"
|
|
10203
|
-
},
|
|
10253
|
+
}, Ni = {
|
|
10204
10254
|
key: 0,
|
|
10205
10255
|
class: "iccandle-time-config-section__dropdown-empty"
|
|
10206
|
-
},
|
|
10256
|
+
}, Pi = ["aria-selected", "onClick"], Fi = { class: "iccandle-time-config-section__dropdown-header" }, Ii = { class: "iccandle-time-config-section__dropdown-title" }, Li = { class: "iccandle-time-config-section__dropdown-subtitle" }, Ri = { class: "iccandle-time-config-section__dropdown-search" }, zi = ["placeholder"], Bi = {
|
|
10207
10257
|
class: "iccandle-time-config-section__dropdown-group-label",
|
|
10208
10258
|
"aria-hidden": "true"
|
|
10209
|
-
},
|
|
10259
|
+
}, Vi = {
|
|
10210
10260
|
key: 0,
|
|
10211
10261
|
class: "iccandle-time-config-section__dropdown-empty"
|
|
10212
|
-
},
|
|
10262
|
+
}, Hi = ["aria-selected", "onClick"], Ui = /* @__PURE__ */ d({
|
|
10213
10263
|
__name: "TimeConfigSection",
|
|
10214
10264
|
props: {
|
|
10215
10265
|
timeconfig: {},
|
|
@@ -10233,11 +10283,11 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10233
10283
|
let t = e?.closest(".iccandle-theme-scope, .iccandle-selector-widget") ?? document.body;
|
|
10234
10284
|
ee.value = t;
|
|
10235
10285
|
}
|
|
10236
|
-
let L = Intl.DateTimeFormat().resolvedOptions().timeZone, R = r(() =>
|
|
10286
|
+
let L = Intl.DateTimeFormat().resolvedOptions().timeZone, R = r(() => li(d.timeconfig, L)), z = (e) => p(c[e]), B = r(() => d.timeconfig?.timezone?.trim() || L || "UTC"), V = r(() => R.value === "all_time" ? p("TimeConfig.yourTimezone") : B.value), H = r(() => ui(L)), re = r(() => {
|
|
10237
10287
|
let e = N.value.trim().toLowerCase();
|
|
10238
|
-
return e ?
|
|
10239
|
-
}),
|
|
10240
|
-
function
|
|
10288
|
+
return e ? ii.filter((t) => z(t.value).toLowerCase().includes(e) || t.value.toLowerCase().includes(e)) : ii;
|
|
10289
|
+
}), U = r(() => f(H.value, P.value)), W = r(() => `iccandle-time-config-section ${d.containerClassName}`.trim());
|
|
10290
|
+
function ie(e, t) {
|
|
10241
10291
|
if (!e) return;
|
|
10242
10292
|
let n = e.getBoundingClientRect(), r = window.innerHeight - n.bottom - 4 - 8, i = n.top - 8, a = r < 180 && i > r, o = Math.max(160, Math.min(320, a ? i : r));
|
|
10243
10293
|
t({
|
|
@@ -10247,13 +10297,13 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10247
10297
|
maxHeight: o
|
|
10248
10298
|
});
|
|
10249
10299
|
}
|
|
10250
|
-
function
|
|
10300
|
+
function G() {
|
|
10251
10301
|
A.value = !1, N.value = "", F.value = null;
|
|
10252
10302
|
}
|
|
10253
|
-
function
|
|
10303
|
+
function K() {
|
|
10254
10304
|
D.value = !1, P.value = "", I.value = null;
|
|
10255
10305
|
}
|
|
10256
|
-
function
|
|
10306
|
+
function q(e, t) {
|
|
10257
10307
|
let n = d.timeconfig || { timezone: L };
|
|
10258
10308
|
d.onTimeConfigChange({
|
|
10259
10309
|
...n,
|
|
@@ -10261,9 +10311,9 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10261
10311
|
preset_session: "customize"
|
|
10262
10312
|
}, { shouldDirty: !0 });
|
|
10263
10313
|
}
|
|
10264
|
-
function
|
|
10265
|
-
if (
|
|
10266
|
-
d.timeconfig && d.onTimeConfigChange(void 0, { shouldDirty: !0 }),
|
|
10314
|
+
function ae(e) {
|
|
10315
|
+
if (G(), e === "all_time") {
|
|
10316
|
+
d.timeconfig && d.onTimeConfigChange(void 0, { shouldDirty: !0 }), K();
|
|
10267
10317
|
return;
|
|
10268
10318
|
}
|
|
10269
10319
|
if (e === "customize") {
|
|
@@ -10278,7 +10328,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10278
10328
|
}, { shouldDirty: !0 });
|
|
10279
10329
|
return;
|
|
10280
10330
|
}
|
|
10281
|
-
let t =
|
|
10331
|
+
let t = ci(e, d.timeconfig?.timezone || L);
|
|
10282
10332
|
t && d.onTimeConfigChange({
|
|
10283
10333
|
...t,
|
|
10284
10334
|
preset_session: e
|
|
@@ -10286,7 +10336,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10286
10336
|
}
|
|
10287
10337
|
function J(e) {
|
|
10288
10338
|
if (R.value !== "all_time" && R.value !== "customize") {
|
|
10289
|
-
let t =
|
|
10339
|
+
let t = ci(R.value, e);
|
|
10290
10340
|
t && d.onTimeConfigChange({
|
|
10291
10341
|
...t,
|
|
10292
10342
|
preset_session: R.value
|
|
@@ -10295,7 +10345,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10295
10345
|
...d.timeconfig || {},
|
|
10296
10346
|
timezone: e
|
|
10297
10347
|
}, { shouldDirty: !0 });
|
|
10298
|
-
|
|
10348
|
+
K();
|
|
10299
10349
|
}
|
|
10300
10350
|
function Y(e) {
|
|
10301
10351
|
if (R.value !== "customize") return;
|
|
@@ -10305,18 +10355,18 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10305
10355
|
} catch {}
|
|
10306
10356
|
}
|
|
10307
10357
|
function oe() {
|
|
10308
|
-
A.value &&
|
|
10358
|
+
A.value && ie(y.value, (e) => {
|
|
10309
10359
|
F.value = e;
|
|
10310
|
-
}), D.value &&
|
|
10360
|
+
}), D.value && ie(b.value, (e) => {
|
|
10311
10361
|
I.value = e;
|
|
10312
10362
|
});
|
|
10313
10363
|
}
|
|
10314
10364
|
function se(e) {
|
|
10315
10365
|
let t = e.target;
|
|
10316
|
-
t && (m.value?.contains(t) || S.value?.contains(t) || C.value?.contains(t) || (A.value &&
|
|
10366
|
+
t && (m.value?.contains(t) || S.value?.contains(t) || C.value?.contains(t) || (A.value && G(), D.value && K()));
|
|
10317
10367
|
}
|
|
10318
10368
|
function ce(e) {
|
|
10319
|
-
e.key === "Escape" && (A.value &&
|
|
10369
|
+
e.key === "Escape" && (A.value && G(), D.value && K());
|
|
10320
10370
|
}
|
|
10321
10371
|
M(() => [d.timeconfig, R.value], () => {
|
|
10322
10372
|
!d.timeconfig || R.value === "all_time" || d.timeconfig.timezone || d.onTimeConfigChange({
|
|
@@ -10331,10 +10381,10 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10331
10381
|
let le = r(() => F.value ? Math.max(120, F.value.maxHeight - 52) : 120), ue = r(() => I.value ? Math.max(120, I.value.maxHeight - 96) : 120);
|
|
10332
10382
|
return (r, c) => (x(), o("div", {
|
|
10333
10383
|
ref: (e) => ne(e),
|
|
10334
|
-
class: g(
|
|
10384
|
+
class: g(W.value)
|
|
10335
10385
|
}, [
|
|
10336
|
-
s("div",
|
|
10337
|
-
s("div",
|
|
10386
|
+
s("div", di, [s("h3", fi, O(k(p)("TimeConfig.title")), 1)]),
|
|
10387
|
+
s("div", pi, [s("div", mi, [s("div", hi, [s("label", gi, O(k(p)("TimeConfig.session")), 1), s("div", { class: g(["iccandle-time-config-section__select-wrap", A.value && "iccandle-time-config-section__select-wrap--open"]) }, [s("button", {
|
|
10338
10388
|
ref_key: "sessionTriggerRef",
|
|
10339
10389
|
ref: y,
|
|
10340
10390
|
type: "button",
|
|
@@ -10343,12 +10393,12 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10343
10393
|
"aria-expanded": A.value,
|
|
10344
10394
|
onClick: c[0] ||= () => {
|
|
10345
10395
|
if (A.value) {
|
|
10346
|
-
|
|
10396
|
+
G();
|
|
10347
10397
|
return;
|
|
10348
10398
|
}
|
|
10349
|
-
|
|
10399
|
+
K(), A.value = !0;
|
|
10350
10400
|
}
|
|
10351
|
-
}, [s("span",
|
|
10401
|
+
}, [s("span", vi, O(z(R.value) || k(p)("TimeConfig.selectSession")), 1)], 8, _i)], 2)]), s("div", yi, [s("label", bi, O(k(p)("TimeConfig.timezone")), 1), s("div", { class: g(["iccandle-time-config-section__select-wrap", D.value && "iccandle-time-config-section__select-wrap--open"]) }, [s("button", {
|
|
10352
10402
|
ref_key: "timezoneTriggerRef",
|
|
10353
10403
|
ref: b,
|
|
10354
10404
|
type: "button",
|
|
@@ -10358,26 +10408,26 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10358
10408
|
disabled: R.value === "all_time",
|
|
10359
10409
|
onClick: c[1] ||= () => {
|
|
10360
10410
|
if (D.value) {
|
|
10361
|
-
|
|
10411
|
+
K();
|
|
10362
10412
|
return;
|
|
10363
10413
|
}
|
|
10364
|
-
|
|
10414
|
+
G(), D.value = !0;
|
|
10365
10415
|
}
|
|
10366
|
-
}, [s("span",
|
|
10416
|
+
}, [s("span", Si, O(V.value), 1)], 8, xi)], 2)])]), s("div", Ci, [s("div", wi, [s("label", Ti, O(k(p)("TimeConfig.startTime")), 1), s("input", {
|
|
10367
10417
|
type: "time",
|
|
10368
10418
|
disabled: R.value !== "customize",
|
|
10369
10419
|
value: n.timeconfig?.start_time ?? "",
|
|
10370
10420
|
class: "iccandle-time-config-section__input",
|
|
10371
|
-
onInput: c[2] ||= (e) =>
|
|
10421
|
+
onInput: c[2] ||= (e) => q("start_time", e.target.value),
|
|
10372
10422
|
onClick: Y
|
|
10373
|
-
}, null, 40,
|
|
10423
|
+
}, null, 40, Ei)]), s("div", Di, [s("label", Oi, O(k(p)("TimeConfig.endTime")), 1), s("input", {
|
|
10374
10424
|
type: "time",
|
|
10375
10425
|
disabled: R.value !== "customize",
|
|
10376
10426
|
value: n.timeconfig?.end_time ?? "",
|
|
10377
10427
|
class: "iccandle-time-config-section__input",
|
|
10378
|
-
onInput: c[3] ||= (e) =>
|
|
10428
|
+
onInput: c[3] ||= (e) => q("end_time", e.target.value),
|
|
10379
10429
|
onClick: Y
|
|
10380
|
-
}, null, 40,
|
|
10430
|
+
}, null, 40, ki)])])]),
|
|
10381
10431
|
(x(), i(t, { to: ee.value }, [A.value && F.value ? (x(), o("div", {
|
|
10382
10432
|
key: 0,
|
|
10383
10433
|
ref_key: "sessionPopoverRef",
|
|
@@ -10390,22 +10440,22 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10390
10440
|
width: `${F.value.width}px`,
|
|
10391
10441
|
maxHeight: `${F.value.maxHeight}px`
|
|
10392
10442
|
})
|
|
10393
|
-
}, [s("div",
|
|
10443
|
+
}, [s("div", Ai, [te(s("input", {
|
|
10394
10444
|
"onUpdate:modelValue": c[4] ||= (e) => N.value = e,
|
|
10395
10445
|
type: "text",
|
|
10396
10446
|
class: "iccandle-time-config-section__dropdown-search-input",
|
|
10397
10447
|
placeholder: k(p)("TimeConfig.searchSession"),
|
|
10398
10448
|
autofocus: ""
|
|
10399
|
-
}, null, 8,
|
|
10449
|
+
}, null, 8, ji), [[j, N.value]])]), s("ul", {
|
|
10400
10450
|
class: "iccandle-time-config-section__dropdown-list",
|
|
10401
10451
|
style: _({ maxHeight: `${le.value}px` })
|
|
10402
|
-
}, [s("li",
|
|
10452
|
+
}, [s("li", Mi, O(k(p)("TimeConfig.sessionsHeading")), 1), re.value.length === 0 ? (x(), o("li", Ni, O(k(p)("TimeConfig.noSessionFound")), 1)) : (x(!0), o(e, { key: 1 }, T(re.value, (e) => (x(), o("li", { key: e.value }, [s("button", {
|
|
10403
10453
|
type: "button",
|
|
10404
10454
|
role: "option",
|
|
10405
10455
|
"aria-selected": R.value === e.value,
|
|
10406
10456
|
class: g(["iccandle-time-config-section__dropdown-item", R.value === e.value && "iccandle-time-config-section__dropdown-item--selected"]),
|
|
10407
|
-
onClick: (t) =>
|
|
10408
|
-
}, [u(
|
|
10457
|
+
onClick: (t) => ae(e.value)
|
|
10458
|
+
}, [u(on, { "class-name": ["iccandle-time-config-section__check", R.value === e.value && "iccandle-time-config-section__check--visible"].filter(Boolean).join(" ") }, null, 8, ["class-name"]), l(" " + O(z(e.value)), 1)], 10, Pi)]))), 128))], 4)], 6)) : a("", !0)], 8, ["to"])),
|
|
10409
10459
|
(x(), i(t, { to: ee.value }, [D.value && I.value ? (x(), o("div", {
|
|
10410
10460
|
key: 0,
|
|
10411
10461
|
ref_key: "timezonePopoverRef",
|
|
@@ -10419,31 +10469,31 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10419
10469
|
maxHeight: `${I.value.maxHeight}px`
|
|
10420
10470
|
})
|
|
10421
10471
|
}, [
|
|
10422
|
-
s("div",
|
|
10423
|
-
s("div",
|
|
10472
|
+
s("div", Fi, [s("p", Ii, O(k(p)("TimeConfig.selectTimezone")), 1), s("p", Li, O(k(p)("TimeConfig.selectTimezoneHint")), 1)]),
|
|
10473
|
+
s("div", Ri, [te(s("input", {
|
|
10424
10474
|
"onUpdate:modelValue": c[5] ||= (e) => P.value = e,
|
|
10425
10475
|
type: "text",
|
|
10426
10476
|
class: "iccandle-time-config-section__dropdown-search-input",
|
|
10427
10477
|
placeholder: k(p)("TimeConfig.searchTimezone"),
|
|
10428
10478
|
autofocus: ""
|
|
10429
|
-
}, null, 8,
|
|
10479
|
+
}, null, 8, zi), [[j, P.value]])]),
|
|
10430
10480
|
s("ul", {
|
|
10431
10481
|
class: "iccandle-time-config-section__dropdown-list",
|
|
10432
10482
|
style: _({ maxHeight: `${ue.value}px` })
|
|
10433
|
-
}, [s("li",
|
|
10483
|
+
}, [s("li", Bi, O(k(p)("TimeConfig.timezonesHeading")), 1), U.value.length === 0 ? (x(), o("li", Vi, O(k(p)("TimeConfig.noTimezoneFound")), 1)) : (x(!0), o(e, { key: 1 }, T(U.value, (e) => (x(), o("li", { key: e }, [s("button", {
|
|
10434
10484
|
type: "button",
|
|
10435
10485
|
role: "option",
|
|
10436
10486
|
"aria-selected": B.value === e,
|
|
10437
10487
|
class: g(["iccandle-time-config-section__dropdown-item", B.value === e && "iccandle-time-config-section__dropdown-item--selected"]),
|
|
10438
10488
|
onClick: (t) => J(e)
|
|
10439
|
-
}, [u(
|
|
10489
|
+
}, [u(on, { "class-name": ["iccandle-time-config-section__check", B.value === e && "iccandle-time-config-section__check--visible"].filter(Boolean).join(" ") }, null, 8, ["class-name"]), l(" " + O(e), 1)], 10, Hi)]))), 128))], 4)
|
|
10440
10490
|
], 6)) : a("", !0)], 8, ["to"]))
|
|
10441
10491
|
], 2));
|
|
10442
10492
|
}
|
|
10443
|
-
}),
|
|
10493
|
+
}), Wi = { class: "iccandle-pattern-alert-settings" }, Gi = { class: "iccandle-pattern-alert-settings__header-row" }, Ki = { class: "iccandle-pattern-alert-settings__header" }, qi = { class: "iccandle-pattern-alert-settings__title-row" }, Ji = { class: "iccandle-pattern-alert-settings__title" }, Yi = { class: "iccandle-pattern-alert-settings__title-text" }, Xi = ["aria-label"], Zi = { class: "iccandle-pattern-alert-settings__sections" }, Qi = { class: "iccandle-pattern-alert-settings__section" }, $i = { class: "iccandle-pattern-alert-settings__section" }, ea = { class: "iccandle-pattern-alert-settings__section" }, ta = { class: "iccandle-pattern-alert-settings__footer" }, na = {
|
|
10444
10494
|
key: 0,
|
|
10445
10495
|
class: "iccandle-pattern-alert-settings__error iccandle-pattern-alert-settings__error--visible"
|
|
10446
|
-
},
|
|
10496
|
+
}, ra = ["disabled"], ia = /* @__PURE__ */ d({
|
|
10447
10497
|
__name: "PatternAlertSettingsStep",
|
|
10448
10498
|
props: {
|
|
10449
10499
|
form: {},
|
|
@@ -10480,30 +10530,30 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10480
10530
|
function h(e, n) {
|
|
10481
10531
|
t.form.timeconfig = e;
|
|
10482
10532
|
}
|
|
10483
|
-
return (t, r) => (x(), o("div",
|
|
10484
|
-
s("div",
|
|
10533
|
+
return (t, r) => (x(), o("div", Wi, [
|
|
10534
|
+
s("div", Gi, [u(Je, {
|
|
10485
10535
|
size: 20,
|
|
10486
10536
|
"class-name": "iccandle-pattern-alert-settings__header-icon"
|
|
10487
|
-
}), s("div",
|
|
10537
|
+
}), s("div", Ki, [s("div", qi, [s("h2", Ji, [s("span", Yi, O(k(n)("Pattern.configurePatternTracker")), 1)]), s("button", {
|
|
10488
10538
|
type: "button",
|
|
10489
10539
|
class: "iccandle-pattern-alert-settings__close-btn",
|
|
10490
10540
|
"aria-label": k(n)("Common.close"),
|
|
10491
10541
|
onClick: r[0] ||= (...t) => e.onCancel && e.onCancel(...t)
|
|
10492
|
-
}, [u(
|
|
10542
|
+
}, [u(fr, { size: 16 })], 8, Xi)])])]),
|
|
10493
10543
|
s("form", {
|
|
10494
10544
|
class: "iccandle-pattern-alert-settings__form",
|
|
10495
10545
|
id: "pattern-alert-settings-form",
|
|
10496
10546
|
onSubmit: m
|
|
10497
|
-
}, [s("div",
|
|
10498
|
-
s("section",
|
|
10499
|
-
s("section",
|
|
10500
|
-
s("section",
|
|
10547
|
+
}, [s("div", Zi, [
|
|
10548
|
+
s("section", Qi, [u(Qr, { form: e.form }, null, 8, ["form"])]),
|
|
10549
|
+
s("section", $i, [u(ni, { form: e.form }, null, 8, ["form"])]),
|
|
10550
|
+
s("section", ea, [u(Ui, {
|
|
10501
10551
|
timeconfig: e.form.timeconfig,
|
|
10502
10552
|
"on-time-config-change": h,
|
|
10503
10553
|
"container-class-name": "iccandle-pattern-alert-settings__time-config"
|
|
10504
10554
|
}, null, 8, ["timeconfig"])])
|
|
10505
10555
|
])], 32),
|
|
10506
|
-
s("div",
|
|
10556
|
+
s("div", ta, [f.value ? (x(), o("p", na, O(f.value), 1)) : a("", !0), s("div", { class: g(["iccandle-pattern-alert-settings__actions", f.value && "iccandle-pattern-alert-settings__actions--with-error"]) }, [s("button", {
|
|
10507
10557
|
type: "button",
|
|
10508
10558
|
class: "iccandle-pattern-alert-settings__btn iccandle-pattern-alert-settings__btn--outline",
|
|
10509
10559
|
onClick: r[1] ||= (...t) => e.onBack && e.onBack(...t)
|
|
@@ -10512,13 +10562,13 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
|
|
|
10512
10562
|
form: "pattern-alert-settings-form",
|
|
10513
10563
|
class: "iccandle-pattern-alert-settings__btn iccandle-pattern-alert-settings__btn--primary",
|
|
10514
10564
|
disabled: e.isSubscribing
|
|
10515
|
-
}, O(e.isSubscribing ? k(n)("Pattern.subscribing") : k(n)("Pattern.subscribe")), 9,
|
|
10565
|
+
}, O(e.isSubscribing ? k(n)("Pattern.subscribing") : k(n)("Pattern.subscribe")), 9, ra)], 2)])
|
|
10516
10566
|
]));
|
|
10517
10567
|
}
|
|
10518
10568
|
});
|
|
10519
10569
|
//#endregion
|
|
10520
10570
|
//#region src/services/pattern-tracker.ts
|
|
10521
|
-
async function
|
|
10571
|
+
async function aa(e) {
|
|
10522
10572
|
let { data: t } = await F.post("https://api.iccandle.ai/custom-pattern/v1/searchless", e, { headers: {
|
|
10523
10573
|
Authorization: `Bearer ${localStorage.getItem("iccandle_token")}`,
|
|
10524
10574
|
...window.location.hostname === "localhost" ? {} : { "X-Client-Name": window.location.origin }
|
|
@@ -10527,63 +10577,63 @@ async function Ji(e) {
|
|
|
10527
10577
|
}
|
|
10528
10578
|
//#endregion
|
|
10529
10579
|
//#region src/services/base-service.ts
|
|
10530
|
-
var
|
|
10580
|
+
var oa = F.create({
|
|
10531
10581
|
timeout: 6e4,
|
|
10532
10582
|
baseURL: ne
|
|
10533
10583
|
});
|
|
10534
|
-
|
|
10584
|
+
oa.interceptors.request.use(async (e) => {
|
|
10535
10585
|
if (typeof window > "u") return e;
|
|
10536
10586
|
let t = localStorage.getItem("iccandle_token");
|
|
10537
10587
|
return t && (e.headers[L] = `Bearer ${t}`), e;
|
|
10538
|
-
}, (e) => Promise.reject(e)),
|
|
10588
|
+
}, (e) => Promise.reject(e)), oa.interceptors.response.use((e) => e, async (e) => Promise.reject(e));
|
|
10539
10589
|
//#endregion
|
|
10540
10590
|
//#region src/services/credits.ts
|
|
10541
|
-
async function
|
|
10542
|
-
let { data: e } = await
|
|
10591
|
+
async function sa() {
|
|
10592
|
+
let { data: e } = await oa.get("/credits/v1/me");
|
|
10543
10593
|
return e;
|
|
10544
10594
|
}
|
|
10545
|
-
function
|
|
10595
|
+
function ca(e) {
|
|
10546
10596
|
return e.usage?.pattern;
|
|
10547
10597
|
}
|
|
10548
|
-
function
|
|
10598
|
+
function la(e) {
|
|
10549
10599
|
return e.user_credit?.plan?.toLowerCase() || "free";
|
|
10550
10600
|
}
|
|
10551
10601
|
//#endregion
|
|
10552
10602
|
//#region src/lib/find-error-message.ts
|
|
10553
|
-
var
|
|
10603
|
+
var ua = (e) => {
|
|
10554
10604
|
if (typeof e == "string") return e;
|
|
10555
10605
|
if (typeof e != "object" || !e) return R;
|
|
10556
10606
|
for (let t in e) if (Object.prototype.hasOwnProperty.call(e, t)) {
|
|
10557
|
-
let n =
|
|
10607
|
+
let n = ua(e[t]);
|
|
10558
10608
|
if (n) return n;
|
|
10559
10609
|
}
|
|
10560
10610
|
return R;
|
|
10561
|
-
},
|
|
10562
|
-
function
|
|
10611
|
+
}, da = (e) => I(e) ? ua(e.response?.data) : e.message, fa = "pattern.custom_pattern_saved";
|
|
10612
|
+
function pa() {
|
|
10563
10613
|
return JSON.stringify({
|
|
10564
|
-
name:
|
|
10614
|
+
name: fa,
|
|
10565
10615
|
data: null
|
|
10566
10616
|
});
|
|
10567
10617
|
}
|
|
10568
|
-
function
|
|
10618
|
+
function ma(e, t, n = 0) {
|
|
10569
10619
|
!e || n > 4 || e.querySelectorAll("iframe").forEach((e) => {
|
|
10570
10620
|
let r = e.contentWindow;
|
|
10571
10621
|
if (!(!r || t.has(r))) {
|
|
10572
10622
|
t.add(r);
|
|
10573
10623
|
try {
|
|
10574
|
-
|
|
10624
|
+
ma(e.contentDocument, t, n + 1);
|
|
10575
10625
|
} catch {}
|
|
10576
10626
|
}
|
|
10577
10627
|
});
|
|
10578
10628
|
}
|
|
10579
|
-
function
|
|
10629
|
+
function ha() {
|
|
10580
10630
|
if (typeof document > "u") return;
|
|
10581
|
-
let e =
|
|
10582
|
-
|
|
10631
|
+
let e = pa(), t = /* @__PURE__ */ new Set();
|
|
10632
|
+
ma(document, t), t.forEach((t) => t.postMessage(e, "*"));
|
|
10583
10633
|
}
|
|
10584
10634
|
//#endregion
|
|
10585
10635
|
//#region src/components/pattern-tracker/PatternTrackerSubscriptionModal.vue?vue&type=script&setup=true&lang.ts
|
|
10586
|
-
var
|
|
10636
|
+
var ga = ["aria-label"], _a = /* @__PURE__ */ d({
|
|
10587
10637
|
__name: "PatternTrackerSubscriptionModal",
|
|
10588
10638
|
props: {
|
|
10589
10639
|
open: { type: Boolean },
|
|
@@ -10665,10 +10715,10 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
|
|
|
10665
10715
|
};
|
|
10666
10716
|
m.value = !0;
|
|
10667
10717
|
try {
|
|
10668
|
-
let e = await
|
|
10718
|
+
let e = await sa(), t = ca(e);
|
|
10669
10719
|
if (t && t.remaining <= 0) {
|
|
10670
|
-
let t =
|
|
10671
|
-
|
|
10720
|
+
let t = la(e), n = t === "free", r = t === "expert";
|
|
10721
|
+
ve({
|
|
10672
10722
|
title: u(n ? "Pattern.currentPlan" : "Pattern.limitReached"),
|
|
10673
10723
|
description: u(n ? "Pattern.trackerTutorialPlanNoTracking" : r ? "Pattern.limitReachedTrackerDescription" : "Pattern.trackerUpgradeToastDescription"),
|
|
10674
10724
|
variant: "warning",
|
|
@@ -10679,14 +10729,14 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
|
|
|
10679
10729
|
});
|
|
10680
10730
|
return;
|
|
10681
10731
|
}
|
|
10682
|
-
await
|
|
10732
|
+
await aa(a), ha(), ve({
|
|
10683
10733
|
title: u("Pattern.patternSubscribed"),
|
|
10684
10734
|
description: u("Pattern.patternSubscribedDesc", { name: d.value }),
|
|
10685
10735
|
variant: "success"
|
|
10686
10736
|
}), l(!1);
|
|
10687
10737
|
} catch (e) {
|
|
10688
|
-
let t =
|
|
10689
|
-
p.value = t,
|
|
10738
|
+
let t = da(e);
|
|
10739
|
+
p.value = t, ve({
|
|
10690
10740
|
title: u("Pattern.patternSubscriptionError"),
|
|
10691
10741
|
description: t,
|
|
10692
10742
|
variant: "error"
|
|
@@ -10715,7 +10765,7 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
|
|
|
10715
10765
|
class: g(k(Q)("iccandle-pattern-tracker-modal__content", f.value && "iccandle-pattern-tracker-modal__content--settings")),
|
|
10716
10766
|
style: _({ height: f.value ? "100%" : void 0 }),
|
|
10717
10767
|
onPointerdown: r[1] ||= P(() => {}, ["stop"])
|
|
10718
|
-
}, [f.value ? (x(), i(
|
|
10768
|
+
}, [f.value ? (x(), i(ia, {
|
|
10719
10769
|
key: 1,
|
|
10720
10770
|
form: h,
|
|
10721
10771
|
"on-back": T,
|
|
@@ -10728,18 +10778,18 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
|
|
|
10728
10778
|
"on-cancel",
|
|
10729
10779
|
"is-subscribing",
|
|
10730
10780
|
"error-message"
|
|
10731
|
-
])) : (x(), i(
|
|
10781
|
+
])) : (x(), i(kr, {
|
|
10732
10782
|
key: 0,
|
|
10733
10783
|
"pattern-name": d.value,
|
|
10734
10784
|
"on-next": y,
|
|
10735
10785
|
"on-cancel": () => l(!1),
|
|
10736
10786
|
onPatternNameChange: r[0] ||= (e) => d.value = e
|
|
10737
|
-
}, null, 8, ["pattern-name", "on-cancel"]))], 38)], 46,
|
|
10787
|
+
}, null, 8, ["pattern-name", "on-cancel"]))], 38)], 46, ga)) : a("", !0)]));
|
|
10738
10788
|
}
|
|
10739
|
-
}),
|
|
10789
|
+
}), va = { class: "iccandle-event-info-modal__header" }, ya = { class: "iccandle-event-info-modal__title-row" }, ba = { class: "iccandle-event-info-modal__title" }, xa = ["aria-label"], Sa = {
|
|
10740
10790
|
key: 0,
|
|
10741
10791
|
class: "iccandle-event-info-modal__date"
|
|
10742
|
-
},
|
|
10792
|
+
}, Ca = { class: "iccandle-event-info-modal__rows" }, wa = { class: "iccandle-event-info-modal__row" }, Ta = { class: "iccandle-event-info-modal__label" }, Ea = { class: "iccandle-event-info-modal__value" }, Da = { class: "iccandle-event-info-modal__row" }, Oa = { class: "iccandle-event-info-modal__label" }, ka = { class: "iccandle-event-info-modal__value" }, Aa = { class: "iccandle-event-info-modal__row" }, ja = { class: "iccandle-event-info-modal__label" }, Ma = { class: "iccandle-event-info-modal__value" }, Na = { class: "iccandle-event-info-modal__row" }, Pa = { class: "iccandle-event-info-modal__label" }, Fa = { class: "iccandle-event-info-modal__actions" }, Ia = /* @__PURE__ */ d({
|
|
10743
10793
|
__name: "EventInfoModal",
|
|
10744
10794
|
props: {
|
|
10745
10795
|
event: {},
|
|
@@ -10796,21 +10846,21 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
|
|
|
10796
10846
|
onClick: n[0] ||= P(() => {}, ["stop"]),
|
|
10797
10847
|
onKeydown: h
|
|
10798
10848
|
}, [
|
|
10799
|
-
s("div",
|
|
10849
|
+
s("div", va, [s("div", ya, [u(rn, { name: e.event.default_symbol || e.symbol || "" }, null, 8, ["name"]), s("h3", ba, O(e.event.event_name), 1)]), s("button", {
|
|
10800
10850
|
ref_key: "closeButtonRef",
|
|
10801
10851
|
ref: l,
|
|
10802
10852
|
type: "button",
|
|
10803
10853
|
class: "iccandle-event-info-modal__close",
|
|
10804
10854
|
"aria-label": k(i)("Common.close"),
|
|
10805
10855
|
onClick: p
|
|
10806
|
-
}, [u(
|
|
10807
|
-
s("div", null, [e.event.timestamp ? (x(), o("p",
|
|
10808
|
-
s("div",
|
|
10809
|
-
s("div",
|
|
10810
|
-
s("div",
|
|
10811
|
-
s("div",
|
|
10856
|
+
}, [u(St, { size: 20 })], 8, xa)]),
|
|
10857
|
+
s("div", null, [e.event.timestamp ? (x(), o("p", Sa, O(f(e.event.timestamp, k(c))), 1)) : a("", !0), s("div", Ca, [
|
|
10858
|
+
s("div", wa, [s("span", Ta, O(k(i)("Common.actual")) + ": ", 1), s("span", Ea, O(e.event.actual || "-"), 1)]),
|
|
10859
|
+
s("div", Da, [s("span", Oa, O(k(i)("News.previousActual")) + ": ", 1), s("span", ka, O(e.event.previous || "-"), 1)]),
|
|
10860
|
+
s("div", Aa, [s("span", ja, O(k(i)("News.currentForecast")) + ": ", 1), s("span", Ma, O(e.event.forecast || "-"), 1)]),
|
|
10861
|
+
s("div", Na, [s("span", Pa, O(k(i)("News.previousForecast")) + ": ", 1), n[1] ||= s("span", { class: "iccandle-event-info-modal__value" }, "-", -1)])
|
|
10812
10862
|
])]),
|
|
10813
|
-
s("div",
|
|
10863
|
+
s("div", Fa, [s("button", {
|
|
10814
10864
|
type: "button",
|
|
10815
10865
|
class: "iccandle-event-info-modal__btn iccandle-event-info-modal__btn--outline",
|
|
10816
10866
|
onClick: p
|
|
@@ -10821,7 +10871,7 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
|
|
|
10821
10871
|
}, O(k(i)("News.goToEventDetail")), 1)])
|
|
10822
10872
|
], 36)]));
|
|
10823
10873
|
}
|
|
10824
|
-
}),
|
|
10874
|
+
}), La = ["width", "height"], Ra = ["stroke"], za = ["stroke"], Ba = ["stroke"], Va = /* @__PURE__ */ d({
|
|
10825
10875
|
__name: "AlertTriangleIcon",
|
|
10826
10876
|
props: {
|
|
10827
10877
|
size: { default: 24 },
|
|
@@ -10843,28 +10893,28 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
|
|
|
10843
10893
|
"stroke-width": "2",
|
|
10844
10894
|
"stroke-linecap": "round",
|
|
10845
10895
|
"stroke-linejoin": "round"
|
|
10846
|
-
}, null, 8,
|
|
10896
|
+
}, null, 8, Ra),
|
|
10847
10897
|
s("path", {
|
|
10848
10898
|
d: "M12 9v4",
|
|
10849
10899
|
stroke: e.color,
|
|
10850
10900
|
"stroke-width": "2",
|
|
10851
10901
|
"stroke-linecap": "round",
|
|
10852
10902
|
"stroke-linejoin": "round"
|
|
10853
|
-
}, null, 8,
|
|
10903
|
+
}, null, 8, za),
|
|
10854
10904
|
s("path", {
|
|
10855
10905
|
d: "M12 17h.01",
|
|
10856
10906
|
stroke: e.color,
|
|
10857
10907
|
"stroke-width": "2",
|
|
10858
10908
|
"stroke-linecap": "round",
|
|
10859
10909
|
"stroke-linejoin": "round"
|
|
10860
|
-
}, null, 8,
|
|
10861
|
-
], 10,
|
|
10910
|
+
}, null, 8, Ba)
|
|
10911
|
+
], 10, La));
|
|
10862
10912
|
}
|
|
10863
|
-
}),
|
|
10913
|
+
}), Ha = [
|
|
10864
10914
|
"width",
|
|
10865
10915
|
"height",
|
|
10866
10916
|
"stroke"
|
|
10867
|
-
],
|
|
10917
|
+
], Ua = /* @__PURE__ */ d({
|
|
10868
10918
|
__name: "CheckCircleIcon",
|
|
10869
10919
|
props: {
|
|
10870
10920
|
size: { default: 20 },
|
|
@@ -10887,13 +10937,13 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
|
|
|
10887
10937
|
cx: "12",
|
|
10888
10938
|
cy: "12",
|
|
10889
10939
|
r: "10"
|
|
10890
|
-
}, null, -1), s("path", { d: "m9 12 2 2 4-4" }, null, -1)]], 10,
|
|
10940
|
+
}, null, -1), s("path", { d: "m9 12 2 2 4-4" }, null, -1)]], 10, Ha));
|
|
10891
10941
|
}
|
|
10892
|
-
}),
|
|
10942
|
+
}), Wa = [
|
|
10893
10943
|
"width",
|
|
10894
10944
|
"height",
|
|
10895
10945
|
"stroke"
|
|
10896
|
-
],
|
|
10946
|
+
], Ga = /* @__PURE__ */ d({
|
|
10897
10947
|
__name: "AlertCircleIcon",
|
|
10898
10948
|
props: {
|
|
10899
10949
|
size: { default: 20 },
|
|
@@ -10930,40 +10980,40 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
|
|
|
10930
10980
|
y1: "16",
|
|
10931
10981
|
y2: "16"
|
|
10932
10982
|
}, null, -1)
|
|
10933
|
-
]], 10,
|
|
10983
|
+
]], 10, Wa));
|
|
10934
10984
|
}
|
|
10935
|
-
}),
|
|
10985
|
+
}), Ka = {
|
|
10936
10986
|
class: "custom-toast",
|
|
10937
10987
|
role: "alert"
|
|
10938
|
-
},
|
|
10988
|
+
}, qa = { class: "custom-toast__icon-wrap" }, Ja = { class: "custom-toast__content" }, Ya = { class: "custom-toast__header" }, Xa = { class: "custom-toast__title" }, Za = {
|
|
10939
10989
|
key: 0,
|
|
10940
10990
|
class: "custom-toast__description"
|
|
10941
|
-
},
|
|
10991
|
+
}, Qa = {
|
|
10942
10992
|
key: 1,
|
|
10943
10993
|
class: "custom-toast__actions"
|
|
10944
|
-
},
|
|
10994
|
+
}, $a = /* @__PURE__ */ d({
|
|
10945
10995
|
__name: "CustomToast",
|
|
10946
10996
|
props: { toast: {} },
|
|
10947
10997
|
setup(e) {
|
|
10948
10998
|
let t = e, n = r(() => {
|
|
10949
10999
|
switch (t.toast.variant) {
|
|
10950
|
-
case "warning": return
|
|
10951
|
-
case "success": return
|
|
10952
|
-
case "error": return
|
|
10953
|
-
default: return
|
|
11000
|
+
case "warning": return Va;
|
|
11001
|
+
case "success": return Ua;
|
|
11002
|
+
case "error": return Ga;
|
|
11003
|
+
default: return cr;
|
|
10954
11004
|
}
|
|
10955
11005
|
});
|
|
10956
11006
|
function c() {
|
|
10957
|
-
t.toast.action?.onClick(),
|
|
11007
|
+
t.toast.action?.onClick(), _e(t.toast.id);
|
|
10958
11008
|
}
|
|
10959
11009
|
function l() {
|
|
10960
11010
|
let e = t.toast.dismiss;
|
|
10961
|
-
e && typeof e == "object" && e.onClick?.(),
|
|
11011
|
+
e && typeof e == "object" && e.onClick?.(), _e(t.toast.id);
|
|
10962
11012
|
}
|
|
10963
|
-
return (t, r) => (x(), o("div",
|
|
10964
|
-
s("div",
|
|
10965
|
-
e.toast.description ? (x(), o("p",
|
|
10966
|
-
e.toast.action || e.toast.dismiss ? (x(), o("div",
|
|
11013
|
+
return (t, r) => (x(), o("div", Ka, [s("div", qa, [(x(), i(E(n.value), { class: "custom-toast__icon" }))]), s("div", Ja, [
|
|
11014
|
+
s("div", Ya, [s("p", Xa, O(e.toast.title), 1)]),
|
|
11015
|
+
e.toast.description ? (x(), o("p", Za, O(e.toast.description), 1)) : a("", !0),
|
|
11016
|
+
e.toast.action || e.toast.dismiss ? (x(), o("div", Qa, [e.toast.action ? (x(), o("button", {
|
|
10967
11017
|
key: 0,
|
|
10968
11018
|
type: "button",
|
|
10969
11019
|
class: "custom-toast__button custom-toast__button--action",
|
|
@@ -10976,7 +11026,7 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
|
|
|
10976
11026
|
}, O(e.toast.dismiss.label ?? "Dismiss"), 1)) : a("", !0)])) : a("", !0)
|
|
10977
11027
|
])]));
|
|
10978
11028
|
}
|
|
10979
|
-
}),
|
|
11029
|
+
}), eo = /*#__PURE__*/ ((e, t) => {
|
|
10980
11030
|
let n = e.__vccOpts || e;
|
|
10981
11031
|
for (let [e, r] of t) n[e] = r;
|
|
10982
11032
|
return n;
|
|
@@ -10998,16 +11048,16 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
|
|
|
10998
11048
|
tag: "div",
|
|
10999
11049
|
class: "iccandle-toast-list"
|
|
11000
11050
|
}, {
|
|
11001
|
-
default: N(() => [(x(!0), o(e, null, T(k(
|
|
11051
|
+
default: N(() => [(x(!0), o(e, null, T(k(ge), (e) => (x(), i($a, {
|
|
11002
11052
|
key: e.id,
|
|
11003
11053
|
toast: e
|
|
11004
11054
|
}, null, 8, ["toast"]))), 128))]),
|
|
11005
11055
|
_: 1
|
|
11006
11056
|
})], 6));
|
|
11007
11057
|
}
|
|
11008
|
-
}), [["__scopeId", "data-v-1549ae5b"]]),
|
|
11009
|
-
function
|
|
11010
|
-
let t = e ||
|
|
11058
|
+
}), [["__scopeId", "data-v-1549ae5b"]]), to = "#00dfb9";
|
|
11059
|
+
function no(e) {
|
|
11060
|
+
let t = e || to;
|
|
11011
11061
|
return {
|
|
11012
11062
|
shape: "date_range",
|
|
11013
11063
|
overrides: {
|
|
@@ -11024,7 +11074,7 @@ function Ga(e) {
|
|
|
11024
11074
|
}
|
|
11025
11075
|
};
|
|
11026
11076
|
}
|
|
11027
|
-
var
|
|
11077
|
+
var ro = "\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n \n \n \n ", io = {
|
|
11028
11078
|
symbol: "XAU_USD",
|
|
11029
11079
|
interval: "60",
|
|
11030
11080
|
library_path: "/charting_library/",
|
|
@@ -11034,7 +11084,7 @@ var Ka = "\n \n \n
|
|
|
11034
11084
|
user_id: "public_user_id",
|
|
11035
11085
|
fullscreen: !1,
|
|
11036
11086
|
autosize: !0
|
|
11037
|
-
},
|
|
11087
|
+
}, ao = {
|
|
11038
11088
|
D: "1440",
|
|
11039
11089
|
H4: "240",
|
|
11040
11090
|
H2: "120",
|
|
@@ -11046,7 +11096,7 @@ var Ka = "\n \n \n
|
|
|
11046
11096
|
};
|
|
11047
11097
|
//#endregion
|
|
11048
11098
|
//#region src/composables/use-selected-news-window-message.ts
|
|
11049
|
-
function
|
|
11099
|
+
function oo(e, t) {
|
|
11050
11100
|
let n = async ({ origin: n, data: r }) => {
|
|
11051
11101
|
if (n !== "https://embed-iccandle-app.iccandle.ai" || typeof r != "string") return;
|
|
11052
11102
|
let i;
|
|
@@ -11088,19 +11138,19 @@ function Ya(e, t) {
|
|
|
11088
11138
|
}
|
|
11089
11139
|
//#endregion
|
|
11090
11140
|
//#region src/lib/debounce.ts
|
|
11091
|
-
function
|
|
11141
|
+
function so(e, t, n = 1) {
|
|
11092
11142
|
if (t === 0 || !isFinite(t)) return n;
|
|
11093
11143
|
let r = e / t;
|
|
11094
11144
|
return isFinite(r) ? r : n;
|
|
11095
11145
|
}
|
|
11096
|
-
function
|
|
11146
|
+
function co(e) {
|
|
11097
11147
|
if (e.length === 0) return 0;
|
|
11098
11148
|
let t = [...e].sort((e, t) => e - t), n = Math.floor(t.length / 2);
|
|
11099
11149
|
return t.length % 2 == 0 ? (t[n - 1] + t[n]) / 2 : t[n];
|
|
11100
11150
|
}
|
|
11101
|
-
function
|
|
11151
|
+
function lo(e, t, n = []) {
|
|
11102
11152
|
if (e.length === 0) return [];
|
|
11103
|
-
let r = n.map((e) => Math.abs(e.c - e.o)), i =
|
|
11153
|
+
let r = n.map((e) => Math.abs(e.c - e.o)), i = co(e.map((e) => Math.abs(e.c - e.o))), a = so(co(r), i), o = e[0].o, s = t.c;
|
|
11104
11154
|
return e.map((e) => {
|
|
11105
11155
|
let t = (e.o - o) * a + s, n = (e.h - o) * a + s, r = (e.l - o) * a + s, i = (e.c - o) * a + s;
|
|
11106
11156
|
return {
|
|
@@ -11113,7 +11163,7 @@ function Qa(e, t, n = []) {
|
|
|
11113
11163
|
}
|
|
11114
11164
|
//#endregion
|
|
11115
11165
|
//#region src/lib/session-time.ts
|
|
11116
|
-
var
|
|
11166
|
+
var uo = "America/New_York", fo = 17, po = {
|
|
11117
11167
|
Sun: 0,
|
|
11118
11168
|
Mon: 1,
|
|
11119
11169
|
Tue: 2,
|
|
@@ -11121,49 +11171,82 @@ var $a = "America/New_York", eo = 17, to = {
|
|
|
11121
11171
|
Thu: 4,
|
|
11122
11172
|
Fri: 5,
|
|
11123
11173
|
Sat: 6
|
|
11124
|
-
},
|
|
11125
|
-
timeZone:
|
|
11174
|
+
}, mo = new Intl.DateTimeFormat("en-US", {
|
|
11175
|
+
timeZone: uo,
|
|
11126
11176
|
weekday: "short",
|
|
11127
11177
|
hour: "numeric",
|
|
11128
11178
|
minute: "numeric",
|
|
11129
11179
|
hourCycle: "h23"
|
|
11130
|
-
}),
|
|
11131
|
-
let t =
|
|
11180
|
+
}), ho = (e) => {
|
|
11181
|
+
let t = mo.formatToParts(new Date(e)), n = t.find((e) => e.type === "weekday")?.value ?? "Sun", r = Number(t.find((e) => e.type === "hour")?.value), i = r === 24 ? 0 : r;
|
|
11132
11182
|
return {
|
|
11133
|
-
day:
|
|
11183
|
+
day: po[n] ?? 0,
|
|
11134
11184
|
hour: i
|
|
11135
11185
|
};
|
|
11136
|
-
},
|
|
11137
|
-
let { day: t, hour: n } =
|
|
11138
|
-
return t === 6 ? !1 : t === 0 ? n >=
|
|
11139
|
-
},
|
|
11186
|
+
}, go = (e) => {
|
|
11187
|
+
let { day: t, hour: n } = ho(e);
|
|
11188
|
+
return t === 6 ? !1 : t === 0 ? n >= fo : t !== 5 || n < fo;
|
|
11189
|
+
}, _o = (e, t) => {
|
|
11140
11190
|
let n = e, r = Math.max(1, Math.ceil(11520 * 60 * 1e3 / t));
|
|
11141
|
-
for (let e = 0; e < r && !
|
|
11191
|
+
for (let e = 0; e < r && !go(n); e++) n += t;
|
|
11192
|
+
return n;
|
|
11193
|
+
}, vo = 1440 * 60 * 1e3, yo = 7 * vo, bo = (e) => e > 1e11 ? e : e * 1e3, xo = (e, t) => {
|
|
11194
|
+
let n = e + vo;
|
|
11195
|
+
for (; t && new Date(n).getUTCDay() % 6 == 0;) n += vo;
|
|
11196
|
+
return n;
|
|
11197
|
+
}, So = (e) => {
|
|
11198
|
+
let t = new Date(e), n = t.getUTCDate(), r = t.getUTCHours(), i = t.getUTCMinutes(), a = t.getUTCSeconds(), o = t.getUTCMilliseconds(), s = t.getUTCFullYear(), c = t.getUTCMonth() + 1, l = new Date(Date.UTC(s, c + 1, 0)).getUTCDate();
|
|
11199
|
+
return Date.UTC(s, c, Math.min(n, l), r, i, a, o);
|
|
11200
|
+
}, Co = (e, t) => {
|
|
11201
|
+
let n = [], r = bo(e);
|
|
11202
|
+
for (let e = 0; e < t; e++) r += yo, n.push(r);
|
|
11203
|
+
return n;
|
|
11204
|
+
}, wo = (e, t) => {
|
|
11205
|
+
let n = [], r = bo(e);
|
|
11206
|
+
for (let e = 0; e < t; e++) r = So(r), n.push(r);
|
|
11142
11207
|
return n;
|
|
11143
|
-
},
|
|
11144
|
-
let
|
|
11145
|
-
for (let e = 0; e < n; e++)
|
|
11208
|
+
}, To = (e, t, n, r) => {
|
|
11209
|
+
let i = r !== "24x7", a = [], o = bo(e);
|
|
11210
|
+
for (let e = 0; e < n; e++) o = xo(o, i), a.push(o);
|
|
11211
|
+
return a;
|
|
11212
|
+
}, Eo = (e, t, n, r) => {
|
|
11213
|
+
let i = r !== "24x7", a = _t(t, n), o = 0, s = _t(e, n);
|
|
11214
|
+
for (; s < a;) s = xo(s, i), s <= a && o++;
|
|
11215
|
+
return o;
|
|
11216
|
+
}, Do = (e, t) => {
|
|
11217
|
+
let n = bo(t), r = 0, i = bo(e);
|
|
11218
|
+
for (; i < n;) i = So(i), i <= n && r++;
|
|
11219
|
+
return r;
|
|
11220
|
+
}, Oo = (e, t, n) => {
|
|
11221
|
+
let r = K(t) * 1e3, i = [], a = e;
|
|
11222
|
+
for (let e = 0; e < n; e++) a += r, go(a) || (a = _o(a, r)), i.push(a);
|
|
11146
11223
|
return i;
|
|
11147
|
-
},
|
|
11224
|
+
}, ko = (e, t, n, r) => {
|
|
11148
11225
|
if (n <= 0) return [];
|
|
11226
|
+
if (dt(t)) return To(e, t, n, r);
|
|
11227
|
+
if (ft(t)) return Co(e, n);
|
|
11228
|
+
if (pt(t)) return wo(e, n);
|
|
11149
11229
|
if (r === "24x7") {
|
|
11150
|
-
let r =
|
|
11230
|
+
let r = K(t) * 1e3;
|
|
11151
11231
|
return Array.from({ length: n }, (t, n) => e + (n + 1) * r);
|
|
11152
11232
|
}
|
|
11153
|
-
if (r === "1700-1700") return
|
|
11154
|
-
let i =
|
|
11233
|
+
if (r === "1700-1700") return Oo(e, t, n);
|
|
11234
|
+
let i = K(t) * 1e3;
|
|
11155
11235
|
return Array.from({ length: n }, (t, n) => e + (n + 1) * i);
|
|
11156
|
-
},
|
|
11236
|
+
}, Ao = (e, t, n, r) => {
|
|
11237
|
+
if (dt(n)) return Eo(e, t, n, r);
|
|
11238
|
+
if (ft(n)) return Math.max(0, Math.floor((bo(t) - bo(e)) / yo));
|
|
11239
|
+
if (pt(n)) return Do(e, t);
|
|
11157
11240
|
if (r === "24x7") {
|
|
11158
|
-
let r =
|
|
11241
|
+
let r = K(n) * 1e3;
|
|
11159
11242
|
return Math.max(0, Math.floor((t - e) / r));
|
|
11160
11243
|
}
|
|
11161
11244
|
if (r === "1700-1700") {
|
|
11162
|
-
let r =
|
|
11163
|
-
for (; a < t;) a += r,
|
|
11245
|
+
let r = K(n) * 1e3, i = 0, a = e;
|
|
11246
|
+
for (; a < t;) a += r, go(a) || (a = _o(a, r)), a <= t && i++;
|
|
11164
11247
|
return i;
|
|
11165
11248
|
}
|
|
11166
|
-
let i =
|
|
11249
|
+
let i = K(n) * 1e3;
|
|
11167
11250
|
return Math.max(0, Math.floor((t - e) / i));
|
|
11168
11251
|
}, $ = C({
|
|
11169
11252
|
activeTab: "patterns",
|
|
@@ -11190,89 +11273,92 @@ var $a = "America/New_York", eo = 17, to = {
|
|
|
11190
11273
|
this.gapCount = e;
|
|
11191
11274
|
}
|
|
11192
11275
|
});
|
|
11193
|
-
function
|
|
11276
|
+
function jo() {
|
|
11194
11277
|
return $;
|
|
11195
11278
|
}
|
|
11196
11279
|
//#endregion
|
|
11197
11280
|
//#region src/lib/play-chart.ts
|
|
11198
|
-
var
|
|
11199
|
-
function
|
|
11200
|
-
Number.isFinite(e) && e >
|
|
11281
|
+
var Mo = null, No = !1, Po = !1, Fo = 0, Io = !1;
|
|
11282
|
+
function Lo(e) {
|
|
11283
|
+
Number.isFinite(e) && e > Fo && (Fo = e);
|
|
11284
|
+
}
|
|
11285
|
+
function Ro(e) {
|
|
11286
|
+
Number.isFinite(e) && e > 0 && (Fo = e);
|
|
11201
11287
|
}
|
|
11202
|
-
function
|
|
11203
|
-
|
|
11288
|
+
function zo() {
|
|
11289
|
+
Fo = 0;
|
|
11204
11290
|
}
|
|
11205
|
-
function
|
|
11206
|
-
return
|
|
11291
|
+
function Bo() {
|
|
11292
|
+
return Io;
|
|
11207
11293
|
}
|
|
11208
|
-
function
|
|
11209
|
-
|
|
11294
|
+
function Vo() {
|
|
11295
|
+
Io = !1;
|
|
11210
11296
|
}
|
|
11211
|
-
function
|
|
11297
|
+
function Ho(e) {
|
|
11212
11298
|
return typeof e == "function" && typeof e.onReady != "function";
|
|
11213
11299
|
}
|
|
11214
|
-
function
|
|
11300
|
+
function Uo(e) {
|
|
11215
11301
|
if (typeof e?.onReady != "function") throw Error("withPlayChart: expected a TradingView datafeed object with onReady(). If you use a factory, call it first: withPlayChart(yourDataFeed(...)) or pass factory args: withPlayChart(yourDataFeed, arg1, arg2).");
|
|
11216
11302
|
}
|
|
11217
|
-
function
|
|
11218
|
-
return
|
|
11219
|
-
t?.time &&
|
|
11303
|
+
function Wo(e) {
|
|
11304
|
+
return Mo = e, (t) => {
|
|
11305
|
+
t?.time && Lo(t.time), !(!No && Po) && e(t);
|
|
11220
11306
|
};
|
|
11221
11307
|
}
|
|
11222
|
-
function
|
|
11223
|
-
|
|
11308
|
+
function Go(e) {
|
|
11309
|
+
Uo(e);
|
|
11224
11310
|
let t = e.getBars?.bind(e), n = e.subscribeBars?.bind(e);
|
|
11225
11311
|
return !n && !t ? e : Object.assign(Object.create(Object.getPrototypeOf(e)), e, {
|
|
11226
11312
|
getBars(e, n, r, i, a) {
|
|
11227
11313
|
if (t) return t(e, n, r, (e, t) => {
|
|
11228
11314
|
let n = e?.[e.length - 1];
|
|
11229
|
-
n?.time &&
|
|
11315
|
+
n?.time && Lo(n.time), i(e, t);
|
|
11230
11316
|
}, a);
|
|
11231
11317
|
},
|
|
11232
11318
|
subscribeBars(e, t, r, i, a) {
|
|
11233
|
-
if (n) return n(e, t,
|
|
11319
|
+
if (n) return n(e, t, Wo(r), i, a);
|
|
11234
11320
|
}
|
|
11235
11321
|
});
|
|
11236
11322
|
}
|
|
11237
|
-
function
|
|
11238
|
-
if (
|
|
11239
|
-
if (t.length > 0) return
|
|
11323
|
+
function Ko(e, ...t) {
|
|
11324
|
+
if (Ho(e)) {
|
|
11325
|
+
if (t.length > 0) return Go(e(...t));
|
|
11240
11326
|
throw Error("withPlayChart: received a datafeed factory. Call it before passing to TradingView: withPlayChart(yourDataFeed(...)) or pass factory arguments: withPlayChart(yourDataFeed, arg1, arg2).");
|
|
11241
11327
|
}
|
|
11242
|
-
return
|
|
11328
|
+
return Go(e);
|
|
11243
11329
|
}
|
|
11244
|
-
function
|
|
11245
|
-
|
|
11330
|
+
function qo(e) {
|
|
11331
|
+
Po = e;
|
|
11246
11332
|
}
|
|
11247
|
-
function
|
|
11248
|
-
if (!
|
|
11249
|
-
if (
|
|
11250
|
-
|
|
11333
|
+
function Jo(e) {
|
|
11334
|
+
if (!Mo) return !1;
|
|
11335
|
+
if (Fo > 0 && e.time < Fo) return !0;
|
|
11336
|
+
No = !0;
|
|
11251
11337
|
try {
|
|
11252
|
-
|
|
11338
|
+
Lo(e.time), Io = !0, Mo(e);
|
|
11253
11339
|
} finally {
|
|
11254
|
-
|
|
11340
|
+
No = !1;
|
|
11255
11341
|
}
|
|
11256
11342
|
return !0;
|
|
11257
11343
|
}
|
|
11258
11344
|
//#endregion
|
|
11259
11345
|
//#region src/lib/highlight-bars-store.ts
|
|
11260
|
-
var
|
|
11261
|
-
|
|
11262
|
-
},
|
|
11263
|
-
let n =
|
|
11264
|
-
return t.find((e) =>
|
|
11265
|
-
},
|
|
11266
|
-
id:
|
|
11346
|
+
var Yo = [], Xo = null, Zo = (e, t) => {
|
|
11347
|
+
Yo = e, Xo = t ?? null;
|
|
11348
|
+
}, Qo = () => Yo, $o = (e) => e > 1e11 ? e : e * 1e3, es = (e, t) => {
|
|
11349
|
+
let n = $o(e), r = t.find((e) => $o(e.time) === n);
|
|
11350
|
+
return r || !Xo || !mt(Xo) ? r : t.find((e) => gt($o(e.time), n, Xo));
|
|
11351
|
+
}, ts = "Generated Candles - By iC Candle", ns = "Generated Candles Background - By iC Candle", rs = "revealed_count", is = {
|
|
11352
|
+
id: rs,
|
|
11267
11353
|
name: "Revealed Count",
|
|
11268
11354
|
type: "integer",
|
|
11269
11355
|
defval: 0,
|
|
11270
11356
|
isHidden: !0,
|
|
11271
11357
|
min: 0
|
|
11272
|
-
},
|
|
11358
|
+
}, as = (e) => {
|
|
11273
11359
|
let t = Math.max(0, Number(e(0)) || 0);
|
|
11274
|
-
return
|
|
11275
|
-
},
|
|
11360
|
+
return Qo().slice(0, t);
|
|
11361
|
+
}, os = (e, t) => !!es(e, t), ss = ({ id: e, description: t, shortDescription: n, isHiddenStudy: r, bodyColors: i, wickColors: a, borderColors: o }) => ({
|
|
11276
11362
|
_metainfoVersion: 51,
|
|
11277
11363
|
id: e,
|
|
11278
11364
|
description: t,
|
|
@@ -11285,7 +11371,7 @@ var Do = [], Oo = (e) => {
|
|
|
11285
11371
|
type: "price",
|
|
11286
11372
|
precision: 2
|
|
11287
11373
|
},
|
|
11288
|
-
inputs: [
|
|
11374
|
+
inputs: [is],
|
|
11289
11375
|
palettes: {
|
|
11290
11376
|
palette_bar: {
|
|
11291
11377
|
colors: {
|
|
@@ -11413,9 +11499,9 @@ var Do = [], Oo = (e) => {
|
|
|
11413
11499
|
} }
|
|
11414
11500
|
},
|
|
11415
11501
|
precision: 2,
|
|
11416
|
-
inputs: { [
|
|
11502
|
+
inputs: { [rs]: 0 }
|
|
11417
11503
|
}
|
|
11418
|
-
}),
|
|
11504
|
+
}), cs = 0, ls = (e = "light") => re[e], us = [
|
|
11419
11505
|
NaN,
|
|
11420
11506
|
NaN,
|
|
11421
11507
|
NaN,
|
|
@@ -11423,32 +11509,32 @@ var Do = [], Oo = (e) => {
|
|
|
11423
11509
|
NaN,
|
|
11424
11510
|
NaN,
|
|
11425
11511
|
NaN
|
|
11426
|
-
],
|
|
11512
|
+
], ds = (e) => function() {
|
|
11427
11513
|
this.init = function(e) {
|
|
11428
11514
|
this._context = e;
|
|
11429
11515
|
}, this.main = function(t, n) {
|
|
11430
11516
|
this._context = t;
|
|
11431
|
-
let r = t.symbol.time, i =
|
|
11432
|
-
return !Number.isFinite(r) || !i.length || !
|
|
11517
|
+
let r = t.symbol.time, i = as(n);
|
|
11518
|
+
return !Number.isFinite(r) || !i.length || !os(r, i) ? [...us] : e(t, i);
|
|
11433
11519
|
};
|
|
11434
|
-
},
|
|
11435
|
-
let t =
|
|
11436
|
-
name:
|
|
11520
|
+
}, fs = (e = "light") => {
|
|
11521
|
+
let t = ls(e), n = {
|
|
11522
|
+
name: ns,
|
|
11437
11523
|
metainfo: {
|
|
11438
11524
|
_metainfoVersion: 51,
|
|
11439
11525
|
id: "Generated Candles Background - By iC Candle@tv-basicstudies-1",
|
|
11440
|
-
description:
|
|
11526
|
+
description: ns,
|
|
11441
11527
|
shortDescription: "Generated Candles Background",
|
|
11442
11528
|
isCustomIndicator: !0,
|
|
11443
11529
|
is_hidden_study: !0,
|
|
11444
11530
|
is_price_study: !0,
|
|
11445
11531
|
linkedToSeries: !0,
|
|
11446
11532
|
format: { type: "inherit" },
|
|
11447
|
-
inputs: [
|
|
11533
|
+
inputs: [is],
|
|
11448
11534
|
palettes: {
|
|
11449
11535
|
prediction_bar_palette: {
|
|
11450
11536
|
colors: { 0: { name: "Predicted Bar" } },
|
|
11451
|
-
valToIndex: { [
|
|
11537
|
+
valToIndex: { [cs]: 0 }
|
|
11452
11538
|
},
|
|
11453
11539
|
prediction_mask_palette: {
|
|
11454
11540
|
colors: { 0: { name: "Predicted Mask" } },
|
|
@@ -11526,7 +11612,7 @@ var Do = [], Oo = (e) => {
|
|
|
11526
11612
|
style: 0
|
|
11527
11613
|
} } }
|
|
11528
11614
|
},
|
|
11529
|
-
inputs: { [
|
|
11615
|
+
inputs: { [rs]: 0 }
|
|
11530
11616
|
}
|
|
11531
11617
|
},
|
|
11532
11618
|
constructor: function() {
|
|
@@ -11534,8 +11620,8 @@ var Do = [], Oo = (e) => {
|
|
|
11534
11620
|
this._context = e;
|
|
11535
11621
|
}, this.main = function(e, t) {
|
|
11536
11622
|
this._context = e;
|
|
11537
|
-
let n = e.symbol.time, r =
|
|
11538
|
-
if (!Number.isFinite(n) || !
|
|
11623
|
+
let n = e.symbol.time, r = as(t);
|
|
11624
|
+
if (!Number.isFinite(n) || !os(n, r)) return [
|
|
11539
11625
|
NaN,
|
|
11540
11626
|
NaN,
|
|
11541
11627
|
NaN,
|
|
@@ -11547,7 +11633,7 @@ var Do = [], Oo = (e) => {
|
|
|
11547
11633
|
];
|
|
11548
11634
|
let { open: i, high: a, low: o, close: s } = e.symbol, c = Math.max(a - o, Math.abs(s - i), Math.abs(s) * 1e-4, .01);
|
|
11549
11635
|
return [
|
|
11550
|
-
|
|
11636
|
+
cs,
|
|
11551
11637
|
i,
|
|
11552
11638
|
a + c,
|
|
11553
11639
|
o - c,
|
|
@@ -11559,19 +11645,19 @@ var Do = [], Oo = (e) => {
|
|
|
11559
11645
|
};
|
|
11560
11646
|
}
|
|
11561
11647
|
}, r = {
|
|
11562
|
-
name:
|
|
11563
|
-
metainfo:
|
|
11648
|
+
name: ts,
|
|
11649
|
+
metainfo: ss({
|
|
11564
11650
|
id: "Generated Candles - By iC Candle@tv-basicstudies-1",
|
|
11565
|
-
description:
|
|
11651
|
+
description: ts,
|
|
11566
11652
|
shortDescription: "Generated Candles",
|
|
11567
11653
|
isHiddenStudy: !1,
|
|
11568
11654
|
bodyColors: ["#00dfb9", "#ffb84d"],
|
|
11569
11655
|
wickColors: ["#00dfb9", "#ffb84d"],
|
|
11570
11656
|
borderColors: ["#00dfb9", "#ffb84d"]
|
|
11571
11657
|
}),
|
|
11572
|
-
constructor:
|
|
11573
|
-
let n =
|
|
11574
|
-
if (!n) return [...
|
|
11658
|
+
constructor: ds((e, t) => {
|
|
11659
|
+
let n = es(e.symbol.time, t);
|
|
11660
|
+
if (!n) return [...us];
|
|
11575
11661
|
let r = +(n.close < n.open);
|
|
11576
11662
|
return [
|
|
11577
11663
|
n.open,
|
|
@@ -11585,35 +11671,35 @@ var Do = [], Oo = (e) => {
|
|
|
11585
11671
|
})
|
|
11586
11672
|
};
|
|
11587
11673
|
return Promise.resolve([n, r]);
|
|
11588
|
-
},
|
|
11674
|
+
}, ps = (e, t) => {
|
|
11589
11675
|
if (t) try {
|
|
11590
11676
|
e.removeEntity(t);
|
|
11591
11677
|
} catch {}
|
|
11592
|
-
},
|
|
11678
|
+
}, ms = (e) => ({
|
|
11593
11679
|
"ohlcPlots.mask_candle.color": e,
|
|
11594
11680
|
"ohlcPlots.mask_candle.borderColor": e,
|
|
11595
11681
|
"ohlcPlots.mask_candle.wickColor": e,
|
|
11596
11682
|
"palettes.prediction_bar_palette.colors.0.color": e,
|
|
11597
11683
|
"palettes.prediction_mask_palette.colors.0.color": e
|
|
11598
|
-
}),
|
|
11684
|
+
}), hs = (e, t) => {
|
|
11599
11685
|
try {
|
|
11600
11686
|
e.getSeries().sendToBack();
|
|
11601
11687
|
} catch {}
|
|
11602
11688
|
let n = t.generatedCandlesStudyIdRef.current;
|
|
11603
11689
|
n && e.bringToFront([n]);
|
|
11604
|
-
},
|
|
11690
|
+
}, gs = (e) => {
|
|
11605
11691
|
try {
|
|
11606
11692
|
e.getSeries().bringToFront();
|
|
11607
11693
|
} catch {}
|
|
11608
|
-
},
|
|
11609
|
-
|
|
11610
|
-
let r = await e.createStudy(
|
|
11694
|
+
}, _s = async (e, t, n) => {
|
|
11695
|
+
ps(e, t.generatedCandlesStudyIdRef.current), ps(e, t.generatedCandlesBackgroundStudyIdRef.current), t.generatedCandlesStudyIdRef.current = null, t.generatedCandlesBackgroundStudyIdRef.current = null;
|
|
11696
|
+
let r = await e.createStudy(ns, !0, !0, void 0, ms(n));
|
|
11611
11697
|
r && (t.generatedCandlesBackgroundStudyIdRef.current = r);
|
|
11612
|
-
let i = await e.createStudy(
|
|
11613
|
-
i && (t.generatedCandlesStudyIdRef.current = i),
|
|
11614
|
-
},
|
|
11698
|
+
let i = await e.createStudy(ts, !0, !0);
|
|
11699
|
+
i && (t.generatedCandlesStudyIdRef.current = i), hs(e, t);
|
|
11700
|
+
}, vs = (e, t, n) => {
|
|
11615
11701
|
let r = {
|
|
11616
|
-
id:
|
|
11702
|
+
id: rs,
|
|
11617
11703
|
value: n
|
|
11618
11704
|
};
|
|
11619
11705
|
for (let n of [t.generatedCandlesBackgroundStudyIdRef, t.generatedCandlesStudyIdRef]) if (n.current) try {
|
|
@@ -11622,22 +11708,22 @@ var Do = [], Oo = (e) => {
|
|
|
11622
11708
|
};
|
|
11623
11709
|
//#endregion
|
|
11624
11710
|
//#region src/composables/use-predict-candle.ts
|
|
11625
|
-
function
|
|
11711
|
+
function ys(e, t, n, r, i, a) {
|
|
11626
11712
|
let o = t.highlightBarsRef, s = { current: i.value }, c = { current: null }, l = !1, u, d = () => {
|
|
11627
11713
|
u &&= (clearInterval(u), void 0);
|
|
11628
11714
|
}, f = (n) => {
|
|
11629
11715
|
let r = e.value;
|
|
11630
11716
|
if (r) try {
|
|
11631
|
-
|
|
11717
|
+
vs(r.activeChart(), t, n);
|
|
11632
11718
|
} catch {}
|
|
11633
11719
|
}, p = (t, r, a = []) => {
|
|
11634
11720
|
let o = e.value, s = i.value, c = $.targetCandles;
|
|
11635
11721
|
if (!(!o || !s?.length) && !(!t.length && !a.length) && c.length) try {
|
|
11636
|
-
let e = o.activeChart(), i =
|
|
11637
|
-
if (r > 0 && t.length > 0) l =
|
|
11722
|
+
let e = o.activeChart(), i = G(n.value), s = _t(c[0].timestamp, n.value) / 1e3 - 100 * i, l;
|
|
11723
|
+
if (r > 0 && t.length > 0) l = $o(t[r - 1].time) / 1e3 + 100 / 3 * i;
|
|
11638
11724
|
else {
|
|
11639
11725
|
let e = t[t.length - 1] ?? a[a.length - 1];
|
|
11640
|
-
l = (e ?
|
|
11726
|
+
l = (e ? $o(e.time) : _t(c[c.length - 1].timestamp, n.value)) / 1e3 + 100 / 3 * i;
|
|
11641
11727
|
}
|
|
11642
11728
|
e.setVisibleRange({
|
|
11643
11729
|
from: s,
|
|
@@ -11663,7 +11749,7 @@ function Xo(e, t, n, r, i, a) {
|
|
|
11663
11749
|
return;
|
|
11664
11750
|
}
|
|
11665
11751
|
let t = e[i];
|
|
11666
|
-
if (t &&
|
|
11752
|
+
if (t && Jo(t)) {
|
|
11667
11753
|
i++, a = 0, n?.(i), i >= e.length && o();
|
|
11668
11754
|
return;
|
|
11669
11755
|
}
|
|
@@ -11675,14 +11761,14 @@ function Xo(e, t, n, r, i, a) {
|
|
|
11675
11761
|
if (!(!n || !t.generatedCandlesStudyIdRef || !t.generatedCandlesBackgroundStudyIdRef)) {
|
|
11676
11762
|
if (t.generatedCandlesStudyIdRef.current && t.generatedCandlesBackgroundStudyIdRef.current) try {
|
|
11677
11763
|
let e = n.activeChart();
|
|
11678
|
-
|
|
11764
|
+
vs(e, t, 0), hs(e, t);
|
|
11679
11765
|
return;
|
|
11680
11766
|
} catch {}
|
|
11681
11767
|
try {
|
|
11682
11768
|
await new Promise((e) => {
|
|
11683
11769
|
n.onChartReady(async () => {
|
|
11684
11770
|
try {
|
|
11685
|
-
await
|
|
11771
|
+
await _s(n.activeChart(), t, a.value);
|
|
11686
11772
|
} catch (e) {
|
|
11687
11773
|
console.error("Failed to recreate generated candle studies:", e);
|
|
11688
11774
|
}
|
|
@@ -11692,61 +11778,79 @@ function Xo(e, t, n, r, i, a) {
|
|
|
11692
11778
|
} catch {}
|
|
11693
11779
|
}
|
|
11694
11780
|
}, g = (e) => {
|
|
11695
|
-
l || (
|
|
11696
|
-
}, _ = async (
|
|
11697
|
-
if (l || (
|
|
11698
|
-
if (p(
|
|
11699
|
-
|
|
11700
|
-
|
|
11701
|
-
|
|
11702
|
-
|
|
11703
|
-
|
|
11781
|
+
l || (qo(!1), c.current = i.value, o.current = e);
|
|
11782
|
+
}, _ = async (r, i = []) => {
|
|
11783
|
+
if (l || (qo(!0), Zo(r, n.value), o.current = [], await h(), l)) return;
|
|
11784
|
+
if (p(r, 0, i), i.length > 0) {
|
|
11785
|
+
let e = G(n.value) * 1e3;
|
|
11786
|
+
Ro(Math.max(0, i[0].time - e));
|
|
11787
|
+
for (let e of i) {
|
|
11788
|
+
if (l) return;
|
|
11789
|
+
Jo(e);
|
|
11790
|
+
}
|
|
11791
|
+
}
|
|
11792
|
+
if (await m(r, 100, (e) => {
|
|
11793
|
+
f(e), o.current = r.slice(0, e);
|
|
11704
11794
|
}), l) return;
|
|
11705
|
-
let
|
|
11706
|
-
if (
|
|
11707
|
-
|
|
11795
|
+
let a = e.value;
|
|
11796
|
+
if (a) try {
|
|
11797
|
+
hs(a.activeChart(), t);
|
|
11708
11798
|
} catch {}
|
|
11709
|
-
g(
|
|
11799
|
+
g(r);
|
|
11710
11800
|
}, y = () => {
|
|
11711
11801
|
l = !1, d();
|
|
11712
11802
|
let a = i.value, u = $.targetCandles, f = $.gapCount, p = e.value;
|
|
11713
11803
|
if (a?.length && u.length > 0) {
|
|
11714
11804
|
if (c.current === a) return;
|
|
11715
|
-
|
|
11716
|
-
|
|
11717
|
-
|
|
11718
|
-
|
|
11719
|
-
|
|
11720
|
-
|
|
11721
|
-
|
|
11722
|
-
|
|
11723
|
-
|
|
11724
|
-
|
|
11725
|
-
|
|
11726
|
-
|
|
11727
|
-
|
|
11728
|
-
|
|
11729
|
-
|
|
11730
|
-
|
|
11731
|
-
|
|
11732
|
-
|
|
11733
|
-
|
|
11734
|
-
|
|
11735
|
-
|
|
11736
|
-
|
|
11805
|
+
(async () => {
|
|
11806
|
+
let e = mt(n.value) && f || 0, t = lo([...a].slice(-50 - e), u[u.length - 1], u), i = Z.find((e) => e.ticker === r.value || e.display_name === r.value)?.session || "24x7", o = u[u.length - 1], s = mt(n.value) ? o.timestamp > 1e11 ? o.timestamp : o.timestamp * 1e3 : _t(o.timestamp, n.value), c = o.c, d = ko(s, n.value, e, i), m = d.map((e) => ({
|
|
11807
|
+
open: c,
|
|
11808
|
+
high: c,
|
|
11809
|
+
low: c,
|
|
11810
|
+
close: c,
|
|
11811
|
+
time: e
|
|
11812
|
+
})), h = ko(e ? d[d.length - 1] : s, n.value, t.length, i);
|
|
11813
|
+
if (mt(n.value) && e === 0 && p) try {
|
|
11814
|
+
let { data: e } = await p.activeChart().exportData({ includedStudies: [] }), r = _t(s, n.value), a = [];
|
|
11815
|
+
for (let i of e ?? []) {
|
|
11816
|
+
let e = i[0] > 1e11 ? i[0] : i[0] * 1e3;
|
|
11817
|
+
if (_t(e, n.value) <= r) continue;
|
|
11818
|
+
let o = a[a.length - 1];
|
|
11819
|
+
if (!(o != null && gt(o, e, n.value)) && (a.push(e), a.length >= t.length)) break;
|
|
11820
|
+
}
|
|
11821
|
+
if (a.length > 0) {
|
|
11822
|
+
let e = ko(a[a.length - 1], n.value, t.length - a.length, i);
|
|
11823
|
+
h = [...a, ...e];
|
|
11824
|
+
}
|
|
11825
|
+
} catch {}
|
|
11826
|
+
let g = [...t.map((e, t) => ({
|
|
11827
|
+
open: e.o,
|
|
11828
|
+
high: e.h,
|
|
11829
|
+
low: e.l,
|
|
11830
|
+
close: e.c,
|
|
11831
|
+
time: mt(n.value) ? h[t] : _t(h[t], n.value)
|
|
11832
|
+
}))].sort((e, t) => e.time - t.time);
|
|
11833
|
+
if (!l) try {
|
|
11834
|
+
p?.onChartReady(() => {
|
|
11835
|
+
_(g, m);
|
|
11836
|
+
});
|
|
11837
|
+
} catch {
|
|
11838
|
+
_(g, m);
|
|
11839
|
+
}
|
|
11840
|
+
})();
|
|
11737
11841
|
} else {
|
|
11738
|
-
if (
|
|
11739
|
-
|
|
11842
|
+
if (qo(!1), Zo([]), c.current = null, o.current = [], p) try {
|
|
11843
|
+
vs(p.activeChart(), t, 0);
|
|
11740
11844
|
} catch {}
|
|
11741
11845
|
try {
|
|
11742
11846
|
p?.onChartReady(() => {
|
|
11743
|
-
p &&
|
|
11847
|
+
p && gs(p.activeChart());
|
|
11744
11848
|
});
|
|
11745
11849
|
} catch {}
|
|
11746
11850
|
}
|
|
11747
11851
|
s.current = a;
|
|
11748
11852
|
}, b = () => {
|
|
11749
|
-
l = !0, d(),
|
|
11853
|
+
l = !0, d(), qo(!1);
|
|
11750
11854
|
};
|
|
11751
11855
|
M([
|
|
11752
11856
|
e,
|
|
@@ -11764,30 +11868,30 @@ function Xo(e, t, n, r, i, a) {
|
|
|
11764
11868
|
deep: !0
|
|
11765
11869
|
}), M(i, (n) => {
|
|
11766
11870
|
if (!n?.length) {
|
|
11767
|
-
|
|
11871
|
+
Zo([]), o.current = [];
|
|
11768
11872
|
let n = e.value;
|
|
11769
11873
|
if (n) try {
|
|
11770
|
-
|
|
11874
|
+
vs(n.activeChart(), t, 0);
|
|
11771
11875
|
} catch {}
|
|
11772
11876
|
}
|
|
11773
11877
|
}), v(b);
|
|
11774
11878
|
}
|
|
11775
11879
|
//#endregion
|
|
11776
11880
|
//#region src/composables/use-window-message.ts
|
|
11777
|
-
var
|
|
11881
|
+
var bs = (e) => Number(bt(e)), xs = (e, t) => ({
|
|
11778
11882
|
o: e[1],
|
|
11779
11883
|
h: e[2],
|
|
11780
11884
|
l: e[3],
|
|
11781
11885
|
c: e[4],
|
|
11782
|
-
timestamp:
|
|
11783
|
-
}),
|
|
11886
|
+
timestamp: mt(t) ? e[0] > 1e11 ? e[0] : e[0] * 1e3 : bs(e[0])
|
|
11887
|
+
}), Ss = (e) => bs(e[0]), Cs = (e, t) => {
|
|
11784
11888
|
let n = -1, r = -Infinity;
|
|
11785
11889
|
for (let i = 0; i < e.length; i++) {
|
|
11786
|
-
let a =
|
|
11890
|
+
let a = Ss(e[i]);
|
|
11787
11891
|
a <= t && a >= r && (r = a, n = i);
|
|
11788
11892
|
}
|
|
11789
11893
|
return n;
|
|
11790
|
-
},
|
|
11894
|
+
}, ws = (e, t = 500) => new Promise((n) => {
|
|
11791
11895
|
let r = !1, i = () => {
|
|
11792
11896
|
r || (r = !0, n());
|
|
11793
11897
|
};
|
|
@@ -11795,7 +11899,7 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
|
|
|
11795
11899
|
e.onDataLoaded().subscribe(null, i, !0);
|
|
11796
11900
|
} catch {}
|
|
11797
11901
|
setTimeout(i, t);
|
|
11798
|
-
}),
|
|
11902
|
+
}), Ts = (e, t, n) => t >= e && t - e < n, Es = (e, t, n, r) => t > e && (!mt(r) || !Ts(e, t, n)), Ds = (e, t) => {
|
|
11799
11903
|
if (t.current) {
|
|
11800
11904
|
try {
|
|
11801
11905
|
let n = e?.activeChart?.();
|
|
@@ -11805,7 +11909,7 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
|
|
|
11805
11909
|
} catch {}
|
|
11806
11910
|
t.current = null;
|
|
11807
11911
|
}
|
|
11808
|
-
},
|
|
11912
|
+
}, Os = (e) => {
|
|
11809
11913
|
try {
|
|
11810
11914
|
localStorage.removeItem(B);
|
|
11811
11915
|
} catch {}
|
|
@@ -11814,25 +11918,25 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
|
|
|
11814
11918
|
if (!t) return;
|
|
11815
11919
|
t.clearMarks(2), t.refreshMarks();
|
|
11816
11920
|
} catch {}
|
|
11817
|
-
},
|
|
11921
|
+
}, ks = (e, t) => {
|
|
11818
11922
|
try {
|
|
11819
11923
|
localStorage.setItem(B, JSON.stringify(t));
|
|
11820
11924
|
} catch {}
|
|
11821
11925
|
try {
|
|
11822
11926
|
(e?.activeChart?.())?.refreshMarks();
|
|
11823
11927
|
} catch {}
|
|
11824
|
-
},
|
|
11928
|
+
}, As = async (e, t) => {
|
|
11825
11929
|
if (!(!e || !Number.isFinite(t) || t <= 0)) try {
|
|
11826
11930
|
await e.headerReady();
|
|
11827
|
-
let n = e.activeChart(), r =
|
|
11828
|
-
a = i?.from != null && i?.to != null && i.to > i.from ? (i.to - i.from) / 2 : 100 *
|
|
11931
|
+
let n = e.activeChart(), r = bs(t), i = n.getVisibleRange(), a;
|
|
11932
|
+
a = i?.from != null && i?.to != null && i.to > i.from ? (i.to - i.from) / 2 : 100 * K(n.resolution()) / 2, await n.setVisibleRange({
|
|
11829
11933
|
from: r - a,
|
|
11830
11934
|
to: r + a
|
|
11831
|
-
}), await
|
|
11935
|
+
}), await ws(n);
|
|
11832
11936
|
} catch (e) {
|
|
11833
11937
|
console.error("Error centering visible range on event", e);
|
|
11834
11938
|
}
|
|
11835
|
-
},
|
|
11939
|
+
}, js = async (e, t, n) => {
|
|
11836
11940
|
if (!e || !Number.isFinite(t) || t <= 0) return;
|
|
11837
11941
|
await e?.headerReady();
|
|
11838
11942
|
let r = e?.activeChart?.();
|
|
@@ -11844,11 +11948,11 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
|
|
|
11844
11948
|
n.current = null;
|
|
11845
11949
|
}
|
|
11846
11950
|
try {
|
|
11847
|
-
let e =
|
|
11951
|
+
let e = r.resolution(), i = K(e), a = bs(t), { data: o } = await r.exportData({
|
|
11848
11952
|
includedStudies: [],
|
|
11849
|
-
from:
|
|
11850
|
-
to:
|
|
11851
|
-
}),
|
|
11953
|
+
from: a - 5 * i,
|
|
11954
|
+
to: a + i
|
|
11955
|
+
}), s = o ?? [], c = Cs(s, a), l = a - a % i, u = vt(c >= 0 && Ts(Ss(s[c]), a, i) ? Ss(s[c]) : l, e), d = await r.createShape({ time: u }, {
|
|
11852
11956
|
shape: "vertical_line",
|
|
11853
11957
|
lock: !0,
|
|
11854
11958
|
disableSelection: !0,
|
|
@@ -11857,27 +11961,27 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
|
|
|
11857
11961
|
linewidth: 1
|
|
11858
11962
|
}
|
|
11859
11963
|
});
|
|
11860
|
-
|
|
11964
|
+
d && (r.getShapeById(d)?.setSavingEnabled(!1), n.current = d);
|
|
11861
11965
|
} catch {}
|
|
11862
11966
|
} catch {}
|
|
11863
|
-
},
|
|
11967
|
+
}, Ms = async (e, t) => {
|
|
11864
11968
|
if (!(!e || !Number.isFinite(t) || t <= 0)) try {
|
|
11865
11969
|
await e.headerReady();
|
|
11866
|
-
let n = e.activeChart(), r =
|
|
11970
|
+
let n = e.activeChart(), r = K(n.resolution()), { data: i } = await n.exportData();
|
|
11867
11971
|
if (!i?.length) return;
|
|
11868
|
-
let a =
|
|
11972
|
+
let a = Ss(i[i.length - 1]), o = bs(t);
|
|
11869
11973
|
await n.setVisibleRange({
|
|
11870
11974
|
from: a - 100 * r,
|
|
11871
11975
|
to: o + 100 / 3 * r
|
|
11872
|
-
}), await
|
|
11976
|
+
}), await ws(n);
|
|
11873
11977
|
} catch (e) {
|
|
11874
11978
|
console.error("Error expanding visible range for future event", e);
|
|
11875
11979
|
}
|
|
11876
|
-
},
|
|
11980
|
+
}, Ns = async (e, t, n) => {
|
|
11877
11981
|
if (!e || !n || !Number.isFinite(t) || t <= 0) return !1;
|
|
11878
11982
|
try {
|
|
11879
11983
|
await e.headerReady();
|
|
11880
|
-
let r = e.activeChart(), i = r.resolution(), a =
|
|
11984
|
+
let r = e.activeChart(), i = r.resolution(), a = K(i), o = bs(t), s = async (e, t) => {
|
|
11881
11985
|
let { data: n } = await r.exportData({
|
|
11882
11986
|
includedStudies: [],
|
|
11883
11987
|
...e != null && t != null ? {
|
|
@@ -11888,43 +11992,45 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
|
|
|
11888
11992
|
return n ?? [];
|
|
11889
11993
|
}, c = await s();
|
|
11890
11994
|
if (!c.length) return !1;
|
|
11891
|
-
let l =
|
|
11995
|
+
let l = Es(Ss(c[c.length - 1]), o, a, i), u = r.symbol(), d = Z.find((e) => e.ticker === u || e.display_name === u)?.session || "24x7";
|
|
11892
11996
|
n.clearSelectedCandles();
|
|
11893
11997
|
let f = $.playEndTimestamp;
|
|
11894
|
-
$.setPlayEndTimestamp(null),
|
|
11998
|
+
$.setPlayEndTimestamp(null), qo(!1);
|
|
11895
11999
|
let p = () => {
|
|
11896
12000
|
f != null && Number.isFinite(f) && $.setPlayEndTimestamp(f);
|
|
11897
12001
|
};
|
|
11898
|
-
l ? await
|
|
12002
|
+
l ? await Ms(e, t) : await As(e, t);
|
|
11899
12003
|
let m = async () => {
|
|
11900
12004
|
let e = await s(o - 250 * a, o + 100 / 3 * a);
|
|
11901
12005
|
return e.length ? e : s();
|
|
11902
12006
|
};
|
|
11903
12007
|
if (c = await m(), !c.length) return p(), !1;
|
|
11904
12008
|
let h = (e) => {
|
|
11905
|
-
let t =
|
|
11906
|
-
return t < 0
|
|
11907
|
-
}, g =
|
|
12009
|
+
let t = Cs(e, o);
|
|
12010
|
+
return t < 0 ? -1 : mt(i) && t + 1 < e.length ? o < Ss(e[t + 1]) ? t : -1 : Ts(Ss(e[t]), o, a) ? t : -1;
|
|
12011
|
+
}, g = Ss(c[c.length - 1]), _ = Es(g, o, a, i), v = _ ? -1 : h(c);
|
|
11908
12012
|
if (!_ && v < 0) {
|
|
11909
|
-
if (await
|
|
11910
|
-
g =
|
|
12013
|
+
if (await ws(r), c = await m(), !c.length) return p(), !1;
|
|
12014
|
+
g = Ss(c[c.length - 1]), _ = Es(g, o, a, i), v = _ ? -1 : h(c);
|
|
11911
12015
|
}
|
|
11912
12016
|
if (_) {
|
|
11913
|
-
let e = o - o % a,
|
|
11914
|
-
$.setGapCount(
|
|
11915
|
-
let
|
|
11916
|
-
return
|
|
12017
|
+
let e = o - o % a, r = Ao(_t(g, i), _t(e, i), i, d);
|
|
12018
|
+
$.setGapCount(mt(i) ? Math.max(0, r - 1) : r), $.setPlayEndTimestamp(mt(i) ? t : e);
|
|
12019
|
+
let s = c.slice(-50).map((e) => xs(e, i));
|
|
12020
|
+
return s.length === 0 || n.setTargetCandles(s), !0;
|
|
11917
12021
|
}
|
|
11918
12022
|
if ($.setGapCount(0), v < 0) return p(), !1;
|
|
11919
|
-
|
|
11920
|
-
|
|
11921
|
-
|
|
12023
|
+
let y = mt(i) ? v - 1 : v;
|
|
12024
|
+
if (y < 0) return p(), !1;
|
|
12025
|
+
$.setPlayEndTimestamp(Ss(c[y]));
|
|
12026
|
+
let b = c.slice(Math.max(0, y - 49), y + 1).map((e) => xs(e, i));
|
|
12027
|
+
return b.length === 0 ? (p(), !1) : (n.setTargetCandles(b), !1);
|
|
11922
12028
|
} catch (e) {
|
|
11923
12029
|
return console.error("Error preparing event target candles", e), !1;
|
|
11924
12030
|
}
|
|
11925
|
-
},
|
|
11926
|
-
if (!e || !
|
|
11927
|
-
|
|
12031
|
+
}, Ps = (e) => {
|
|
12032
|
+
if (!e || !Bo()) {
|
|
12033
|
+
Vo();
|
|
11928
12034
|
return;
|
|
11929
12035
|
}
|
|
11930
12036
|
try {
|
|
@@ -11935,13 +12041,13 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
|
|
|
11935
12041
|
n = e?.from, r = e?.to;
|
|
11936
12042
|
} catch {}
|
|
11937
12043
|
try {
|
|
11938
|
-
t.resetData(), e.resetCache?.(),
|
|
12044
|
+
t.resetData(), e.resetCache?.(), zo();
|
|
11939
12045
|
} catch (e) {
|
|
11940
12046
|
console.error("Error resetting chart data", e);
|
|
11941
12047
|
} finally {
|
|
11942
|
-
|
|
12048
|
+
Vo();
|
|
11943
12049
|
}
|
|
11944
|
-
n != null && r != null && Number.isFinite(n) && Number.isFinite(r) && n < r &&
|
|
12050
|
+
n != null && r != null && Number.isFinite(n) && Number.isFinite(r) && n < r && ws(t, 800).then(() => {
|
|
11945
12051
|
t.setVisibleRange({
|
|
11946
12052
|
from: n,
|
|
11947
12053
|
to: r
|
|
@@ -11949,11 +12055,11 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
|
|
|
11949
12055
|
});
|
|
11950
12056
|
});
|
|
11951
12057
|
} catch {
|
|
11952
|
-
|
|
12058
|
+
Vo();
|
|
11953
12059
|
}
|
|
11954
|
-
},
|
|
11955
|
-
t([]), n?.preserveStartAnchor || ($.setPlayEndTimestamp(null), $.setGapCount(0)),
|
|
11956
|
-
},
|
|
12060
|
+
}, Fs = (e, t, n) => {
|
|
12061
|
+
t([]), n?.preserveStartAnchor || ($.setPlayEndTimestamp(null), $.setGapCount(0)), qo(!1), Ps(e);
|
|
12062
|
+
}, Is = (e, t) => {
|
|
11957
12063
|
if (e) try {
|
|
11958
12064
|
let n = e.activeChart?.();
|
|
11959
12065
|
if (!n) return;
|
|
@@ -11969,23 +12075,23 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
|
|
|
11969
12075
|
} catch {}
|
|
11970
12076
|
});
|
|
11971
12077
|
} catch {}
|
|
11972
|
-
},
|
|
12078
|
+
}, Ls = (e) => ao[e] || e, Rs = (e) => {
|
|
11973
12079
|
if (!e) return null;
|
|
11974
12080
|
let t = Object.keys(e)[0], n = Number(t);
|
|
11975
12081
|
return Number.isFinite(n) && n > 0 ? n : null;
|
|
11976
|
-
},
|
|
12082
|
+
}, zs = async (e, t, n, r, i, a) => {
|
|
11977
12083
|
if (!e) return;
|
|
11978
|
-
let { end_timestamp: o, symbol: s, timeframe: c } = t, l =
|
|
12084
|
+
let { end_timestamp: o, symbol: s, timeframe: c } = t, l = Rs(i), u = Ls(c);
|
|
11979
12085
|
if (!(!s || !c || !Number.isFinite(o) || o <= 0 || l == null) && !(a && a.length > 0 && !a.includes(u) && !a.includes(c))) try {
|
|
11980
12086
|
await e.headerReady();
|
|
11981
|
-
let i =
|
|
11982
|
-
r?.clearSelectedCandles(), $.setPlayEndTimestamp(null), $.setGapCount(0),
|
|
12087
|
+
let i = K(u);
|
|
12088
|
+
r?.clearSelectedCandles(), $.setPlayEndTimestamp(null), $.setGapCount(0), qo(!1), r && (r.applyingPatternRef.current = !0);
|
|
11983
12089
|
try {
|
|
11984
12090
|
await new Promise((t) => {
|
|
11985
12091
|
e.setSymbol(s, u, () => t());
|
|
11986
12092
|
});
|
|
11987
12093
|
let a = e.activeChart();
|
|
11988
|
-
|
|
12094
|
+
Is(e, n);
|
|
11989
12095
|
let c = o - (l - 1) * i;
|
|
11990
12096
|
try {
|
|
11991
12097
|
await a.setVisibleRange({
|
|
@@ -11997,7 +12103,7 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
|
|
|
11997
12103
|
}
|
|
11998
12104
|
let { data: d } = await a.exportData(), f = d.findIndex((e) => e[0] === o);
|
|
11999
12105
|
f === -1 && (f = d.length - 1);
|
|
12000
|
-
let p = Math.max(0, f - l + 1), m = d.slice(p, f + 1), h = m[0]?.[0] ?? o, g = m[m.length - 1]?.[0] ?? o, _ = t.pattern?.trim() || "", v =
|
|
12106
|
+
let p = Math.max(0, f - l + 1), m = d.slice(p, f + 1), h = m[0]?.[0] ?? o, g = m[m.length - 1]?.[0] ?? o, _ = t.pattern?.trim() || "", v = no(), y = await a.createMultipointShape([{ time: h }, { time: g }], {
|
|
12001
12107
|
...v,
|
|
12002
12108
|
overrides: {
|
|
12003
12109
|
...v.overrides,
|
|
@@ -12015,7 +12121,7 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
|
|
|
12015
12121
|
} }), e.setSavingEnabled(!1)), n.current = y, r && (r.lastEntity.current = y);
|
|
12016
12122
|
}
|
|
12017
12123
|
if (r && m.length > 0) {
|
|
12018
|
-
let e = m.map(
|
|
12124
|
+
let e = m.map((e) => xs(e, u)), t = e.slice(-50);
|
|
12019
12125
|
r.setSymbol(s), r.setResolution(u), r.setTimeframe(u), r.setWindowSize(e.length), r.setCandles(e), r.setTargetCandles(t), r.setHasActiveShape(!0);
|
|
12020
12126
|
}
|
|
12021
12127
|
} finally {
|
|
@@ -12029,7 +12135,7 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
|
|
|
12029
12135
|
}, 600);
|
|
12030
12136
|
}
|
|
12031
12137
|
};
|
|
12032
|
-
function
|
|
12138
|
+
function Bs(e, t, n, r, i, a, o, s, c) {
|
|
12033
12139
|
let l = { current: n.value }, u = { current: e.value }, d = { current: t }, f = { current: r }, p = { current: i }, m = { current: a }, h = { current: o }, g = { current: typeof s == "function" ? s() : s }, _ = { current: c }, y = { current: null }, b = { current: null }, x = { current: null }, S = { current: null };
|
|
12034
12140
|
M(n, (e) => {
|
|
12035
12141
|
l.current = e;
|
|
@@ -12052,7 +12158,7 @@ function gs(e, t, n, r, i, a, o, s, c) {
|
|
|
12052
12158
|
}
|
|
12053
12159
|
if (!n || typeof n != "object") return;
|
|
12054
12160
|
let r = () => {
|
|
12055
|
-
|
|
12161
|
+
Is(u.current, b);
|
|
12056
12162
|
let e = m.current;
|
|
12057
12163
|
e && (e.lastEntity.current = null, e.setHasActiveShape(!1), e.setCandles([]), e.setTargetCandles([]));
|
|
12058
12164
|
}, i = n.name;
|
|
@@ -12078,9 +12184,9 @@ function gs(e, t, n, r, i, a, o, s, c) {
|
|
|
12078
12184
|
} catch {
|
|
12079
12185
|
n = null;
|
|
12080
12186
|
}
|
|
12081
|
-
let r = e.playEndTimestamp != null && Number.isFinite(e.playEndTimestamp) ?
|
|
12082
|
-
($.playEndTimestamp == null || $.targetCandles.length === 0) && n != null && await
|
|
12083
|
-
let i = $.playEndTimestamp ?? r ?? S.current ?? (n == null ? l.current :
|
|
12187
|
+
let r = e.playEndTimestamp != null && Number.isFinite(e.playEndTimestamp) ? bs(e.playEndTimestamp) : null;
|
|
12188
|
+
($.playEndTimestamp == null || $.targetCandles.length === 0) && n != null && await Ns(u.current, n, m.current);
|
|
12189
|
+
let i = $.playEndTimestamp ?? r ?? S.current ?? (n == null ? l.current : bs(n));
|
|
12084
12190
|
i != null && Number.isFinite(i) && (S.current = i, $.setPlayEndTimestamp(i)), d.current(t);
|
|
12085
12191
|
})();
|
|
12086
12192
|
return;
|
|
@@ -12095,13 +12201,13 @@ function gs(e, t, n, r, i, a, o, s, c) {
|
|
|
12095
12201
|
case "chart.stop":
|
|
12096
12202
|
if (a?.isReplay === !1) {
|
|
12097
12203
|
let e = $.playEndTimestamp;
|
|
12098
|
-
e != null && Number.isFinite(e) && (S.current = e), d.current([]),
|
|
12204
|
+
e != null && Number.isFinite(e) && (S.current = e), d.current([]), qo(!1), Ps(u.current);
|
|
12099
12205
|
break;
|
|
12100
12206
|
}
|
|
12101
|
-
d.current(null), S.current = null, $.setPlayEndTimestamp(null), $.setGapCount(0),
|
|
12207
|
+
d.current(null), S.current = null, $.setPlayEndTimestamp(null), $.setGapCount(0), qo(!1), Ps(u.current);
|
|
12102
12208
|
break;
|
|
12103
12209
|
case "selector.closeResult":
|
|
12104
|
-
|
|
12210
|
+
Fs(u.current, d.current), p.current?.();
|
|
12105
12211
|
break;
|
|
12106
12212
|
case "selector.loading": {
|
|
12107
12213
|
let e = a;
|
|
@@ -12110,37 +12216,37 @@ function gs(e, t, n, r, i, a, o, s, c) {
|
|
|
12110
12216
|
}
|
|
12111
12217
|
case "auth.signIn": {
|
|
12112
12218
|
let e = a;
|
|
12113
|
-
localStorage.setItem(
|
|
12219
|
+
localStorage.setItem(H, e?.idToken || "");
|
|
12114
12220
|
break;
|
|
12115
12221
|
}
|
|
12116
12222
|
case "auth.signOut":
|
|
12117
|
-
localStorage.removeItem(
|
|
12223
|
+
localStorage.removeItem(H);
|
|
12118
12224
|
break;
|
|
12119
12225
|
case "news.eventClicked": {
|
|
12120
12226
|
let e = a?.event;
|
|
12121
12227
|
if (!e?.timestamp) return;
|
|
12122
|
-
x.current = e.timestamp,
|
|
12123
|
-
await
|
|
12228
|
+
x.current = e.timestamp, ks(u.current, e), (async () => {
|
|
12229
|
+
await Ns(u.current, e.timestamp, m.current), await js(u.current, e.timestamp, y);
|
|
12124
12230
|
})();
|
|
12125
12231
|
break;
|
|
12126
12232
|
}
|
|
12127
12233
|
case "news.back":
|
|
12128
|
-
|
|
12234
|
+
Ds(u.current, y), Os(u.current), Fs(u.current, d.current), x.current = null, S.current = null, $.setGapCount(0), m.current?.setTargetCandles([]);
|
|
12129
12235
|
break;
|
|
12130
12236
|
case "news.backToSimilarEvents":
|
|
12131
|
-
|
|
12237
|
+
Fs(u.current, d.current);
|
|
12132
12238
|
break;
|
|
12133
12239
|
case "pattern.classicPatternSelected": {
|
|
12134
12240
|
let e = n.data?.pattern, t = e?.compared_pattern;
|
|
12135
12241
|
if (!t) return;
|
|
12136
|
-
|
|
12242
|
+
zs(u.current, t, b, m.current, e?.results?.matches_by_window, g.current);
|
|
12137
12243
|
break;
|
|
12138
12244
|
}
|
|
12139
12245
|
case "pattern.custom_pattern_selected":
|
|
12140
12246
|
case "patter.custom_pattern_selected": {
|
|
12141
12247
|
let e = a?.pattern, t = e?.compared_pattern;
|
|
12142
12248
|
if (!t) return;
|
|
12143
|
-
|
|
12249
|
+
zs(u.current, t, b, m.current, e?.results?.matches_by_window, g.current);
|
|
12144
12250
|
break;
|
|
12145
12251
|
}
|
|
12146
12252
|
case "pattern.clear_custom_pattern_selected":
|
|
@@ -12164,76 +12270,76 @@ function gs(e, t, n, r, i, a, o, s, c) {
|
|
|
12164
12270
|
}
|
|
12165
12271
|
//#endregion
|
|
12166
12272
|
//#region src/lib/post-chart-resolution.ts
|
|
12167
|
-
var
|
|
12168
|
-
function
|
|
12273
|
+
var Vs = "chart-resolution";
|
|
12274
|
+
function Hs(e) {
|
|
12169
12275
|
return {
|
|
12170
|
-
type:
|
|
12276
|
+
type: Vs,
|
|
12171
12277
|
resolution: e
|
|
12172
12278
|
};
|
|
12173
12279
|
}
|
|
12174
|
-
function
|
|
12175
|
-
let n = JSON.stringify(
|
|
12280
|
+
function Us(e, t) {
|
|
12281
|
+
let n = JSON.stringify(Hs(t));
|
|
12176
12282
|
e.postMessage(n, "*");
|
|
12177
12283
|
}
|
|
12178
|
-
function
|
|
12284
|
+
function Ws(e, t, n = 0) {
|
|
12179
12285
|
!e || n > 4 || e.querySelectorAll("iframe").forEach((e) => {
|
|
12180
12286
|
let r = e.contentWindow;
|
|
12181
12287
|
if (!(!r || t.has(r))) {
|
|
12182
12288
|
t.add(r);
|
|
12183
12289
|
try {
|
|
12184
|
-
|
|
12290
|
+
Ws(e.contentDocument, t, n + 1);
|
|
12185
12291
|
} catch {}
|
|
12186
12292
|
}
|
|
12187
12293
|
});
|
|
12188
12294
|
}
|
|
12189
|
-
function
|
|
12295
|
+
function Gs(e, t) {
|
|
12190
12296
|
if (!t) return !1;
|
|
12191
12297
|
let n = /* @__PURE__ */ new Set();
|
|
12192
|
-
return e?.contentWindow && n.add(e.contentWindow), typeof document < "u" &&
|
|
12298
|
+
return e?.contentWindow && n.add(e.contentWindow), typeof document < "u" && Ws(document, n), n.forEach((e) => Us(e, t)), n.size > 0;
|
|
12193
12299
|
}
|
|
12194
12300
|
//#endregion
|
|
12195
12301
|
//#region src/lib/post-selector-loading.ts
|
|
12196
|
-
var
|
|
12197
|
-
function
|
|
12302
|
+
var Ks = "selector-loading";
|
|
12303
|
+
function qs(e) {
|
|
12198
12304
|
return {
|
|
12199
|
-
type:
|
|
12305
|
+
type: Ks,
|
|
12200
12306
|
isLoading: e
|
|
12201
12307
|
};
|
|
12202
12308
|
}
|
|
12203
|
-
function
|
|
12309
|
+
function Js(e, t) {
|
|
12204
12310
|
let n = e?.contentWindow;
|
|
12205
12311
|
if (!n) return !1;
|
|
12206
12312
|
let r = "*";
|
|
12207
12313
|
try {
|
|
12208
12314
|
e?.src && (r = new URL(e.src).origin);
|
|
12209
12315
|
} catch {}
|
|
12210
|
-
return n.postMessage(JSON.stringify(
|
|
12316
|
+
return n.postMessage(JSON.stringify(qs(t)), r), !0;
|
|
12211
12317
|
}
|
|
12212
12318
|
//#endregion
|
|
12213
12319
|
//#region src/lib/post-parent-message.ts
|
|
12214
|
-
var
|
|
12215
|
-
function
|
|
12320
|
+
var Ys = "open-pricing";
|
|
12321
|
+
function Xs(e) {
|
|
12216
12322
|
return {
|
|
12217
|
-
type:
|
|
12323
|
+
type: Ys,
|
|
12218
12324
|
...e
|
|
12219
12325
|
};
|
|
12220
12326
|
}
|
|
12221
|
-
function
|
|
12222
|
-
e.postMessage(JSON.stringify(
|
|
12327
|
+
function Zs(e, t) {
|
|
12328
|
+
e.postMessage(JSON.stringify(Xs(t)), "*");
|
|
12223
12329
|
}
|
|
12224
|
-
function
|
|
12330
|
+
function Qs(e, t) {
|
|
12225
12331
|
let n = e?.contentWindow;
|
|
12226
|
-
return n ? (
|
|
12332
|
+
return n ? (Zs(n, t), !0) : !1;
|
|
12227
12333
|
}
|
|
12228
|
-
function
|
|
12229
|
-
return typeof window > "u" || window.parent === window ? !1 : (
|
|
12334
|
+
function $s(e) {
|
|
12335
|
+
return typeof window > "u" || window.parent === window ? !1 : (Zs(window.parent, e), !0);
|
|
12230
12336
|
}
|
|
12231
12337
|
//#endregion
|
|
12232
12338
|
//#region src/tradingview/WidgetIccandle.vue?vue&type=script&setup=true&lang.ts
|
|
12233
|
-
var
|
|
12339
|
+
var ec = ["lang"], tc = {
|
|
12234
12340
|
key: 3,
|
|
12235
12341
|
class: "iccandle-selector-widget__overlay"
|
|
12236
|
-
},
|
|
12342
|
+
}, nc = /* @__PURE__ */ d({
|
|
12237
12343
|
__name: "WidgetIccandle",
|
|
12238
12344
|
props: {
|
|
12239
12345
|
chartWidget: {},
|
|
@@ -12286,22 +12392,22 @@ var As = ["lang"], js = {
|
|
|
12286
12392
|
function c(e) {
|
|
12287
12393
|
return !(!e?.event_name || !e.currency || e.event_name === "Holiday" || e.status === "early");
|
|
12288
12394
|
}
|
|
12289
|
-
let l = e, d = r(() =>
|
|
12290
|
-
|
|
12395
|
+
let l = e, d = r(() => ae(l.language));
|
|
12396
|
+
fe(d);
|
|
12291
12397
|
let f = {
|
|
12292
12398
|
highlightBarsRef: { current: [] },
|
|
12293
12399
|
generatedCandlesBackgroundStudyIdRef: { current: null },
|
|
12294
12400
|
generatedCandlesStudyIdRef: { current: null }
|
|
12295
12401
|
};
|
|
12296
12402
|
t({ chartRefs: f });
|
|
12297
|
-
let p = { current: null }, m = { current: null }, h = { current: !1 }, S = w(null), C = { current: [] }, T = w(null), E =
|
|
12403
|
+
let p = { current: null }, m = { current: null }, h = { current: !1 }, S = w(null), C = { current: [] }, T = w(null), E = jo(), O = w(!1), k = w(null), A = w(!1), j = w(null), N = w(null), te = () => T.value && getComputedStyle(T.value).getPropertyValue("--iccandle-primary").trim() || void 0, P = { current: te };
|
|
12298
12404
|
M(T, () => {
|
|
12299
12405
|
P.current = te;
|
|
12300
12406
|
}, { immediate: !0 });
|
|
12301
12407
|
let F = r(() => l.theme === "system" ? window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : l.theme), I = r(() => ({
|
|
12302
|
-
light: l.chartMaskColors?.light ??
|
|
12303
|
-
dark: l.chartMaskColors?.dark ??
|
|
12304
|
-
})[F.value]), ne = r(() => ({ zIndex: 9999999999 })), L = w(!1), R = w(!1),
|
|
12408
|
+
light: l.chartMaskColors?.light ?? re.light,
|
|
12409
|
+
dark: l.chartMaskColors?.dark ?? re.dark
|
|
12410
|
+
})[F.value]), ne = r(() => ({ zIndex: 9999999999 })), L = w(!1), R = w(!1), H = w(!1), U = w(25), W = w([]), ie = w(null), G = w(!1), K = w("60"), q = w(io.interval || "60"), J = w(""), Y = () => {
|
|
12305
12411
|
try {
|
|
12306
12412
|
let e = l.chartWidget?.activeChart?.();
|
|
12307
12413
|
if (e) {
|
|
@@ -12318,44 +12424,44 @@ var As = ["lang"], js = {
|
|
|
12318
12424
|
});
|
|
12319
12425
|
}
|
|
12320
12426
|
} catch {}
|
|
12321
|
-
|
|
12427
|
+
H.value = !1, W.value = [], E.setTargetCandles([]);
|
|
12322
12428
|
}, oe = (e) => {
|
|
12323
12429
|
let t = e;
|
|
12324
12430
|
try {
|
|
12325
12431
|
t = new URL(e, `${z}/`).pathname;
|
|
12326
12432
|
} catch {}
|
|
12327
|
-
t.includes("/news") && Y(), k.value?.length && (E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null,
|
|
12433
|
+
t.includes("/news") && Y(), k.value?.length && (E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null, qo(!1));
|
|
12328
12434
|
}, se = () => {
|
|
12329
12435
|
R.value = !0;
|
|
12330
|
-
},
|
|
12436
|
+
}, ce = () => {
|
|
12331
12437
|
R.value = !1;
|
|
12332
12438
|
}, le = () => {
|
|
12333
|
-
E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null,
|
|
12439
|
+
E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null, qo(!1), S.value?.();
|
|
12334
12440
|
}, ue = () => {
|
|
12335
|
-
|
|
12441
|
+
ie.value = "settings";
|
|
12336
12442
|
}, de = () => {
|
|
12337
|
-
|
|
12338
|
-
},
|
|
12339
|
-
|
|
12443
|
+
ie.value = "scan";
|
|
12444
|
+
}, X = () => {
|
|
12445
|
+
ie.value = null;
|
|
12340
12446
|
}, pe = () => {
|
|
12341
|
-
|
|
12447
|
+
G.value = !1;
|
|
12342
12448
|
}, me = () => {
|
|
12343
|
-
|
|
12449
|
+
G.value = !0;
|
|
12344
12450
|
}, he = (e) => {
|
|
12345
|
-
O.value = e,
|
|
12451
|
+
O.value = e, Js(l.resultIframeRef?.current, e);
|
|
12346
12452
|
}, ge = () => {
|
|
12347
12453
|
let e = q.value;
|
|
12348
12454
|
try {
|
|
12349
|
-
e =
|
|
12455
|
+
e = De.value?.activeChart?.()?.resolution?.() || q.value;
|
|
12350
12456
|
} catch {
|
|
12351
12457
|
e = q.value;
|
|
12352
12458
|
}
|
|
12353
|
-
|
|
12459
|
+
Gs(l.resultIframeRef?.current, e);
|
|
12354
12460
|
}, _e = { current: [] }, ve = (e) => {
|
|
12355
12461
|
_e.current.forEach((e) => window.clearTimeout(e));
|
|
12356
12462
|
let t = () => {
|
|
12357
12463
|
if (e) {
|
|
12358
|
-
|
|
12464
|
+
Gs(l.resultIframeRef?.current, e);
|
|
12359
12465
|
return;
|
|
12360
12466
|
}
|
|
12361
12467
|
ge();
|
|
@@ -12372,13 +12478,13 @@ var As = ["lang"], js = {
|
|
|
12372
12478
|
theme: F.value === "dark" ? "dark" : "light",
|
|
12373
12479
|
language: d.value
|
|
12374
12480
|
};
|
|
12375
|
-
|
|
12481
|
+
Qs(l.resultIframeRef?.current, e) || $s(e) || l.submitCallback(`${z}/${d.value}?pricing=true&theme=${F.value === "dark" ? "dark" : "light"}`);
|
|
12376
12482
|
}, be = () => {
|
|
12377
12483
|
A.value = !1, j.value = null, N.value = null;
|
|
12378
12484
|
}, xe = () => {
|
|
12379
12485
|
L.value = !0;
|
|
12380
12486
|
}, Se = (e) => {
|
|
12381
|
-
let t = e.default_symbol || J.value, n = F.value === "dark" ? "dark" : "light", r =
|
|
12487
|
+
let t = e.default_symbol || J.value, n = F.value === "dark" ? "dark" : "light", r = De.value;
|
|
12382
12488
|
Y(), k.value = null, E.setPlayEndTimestamp(null);
|
|
12383
12489
|
let i = {
|
|
12384
12490
|
id: e.id,
|
|
@@ -12399,17 +12505,17 @@ var As = ["lang"], js = {
|
|
|
12399
12505
|
r?.activeChart?.()?.refreshMarks();
|
|
12400
12506
|
} catch {}
|
|
12401
12507
|
(async () => {
|
|
12402
|
-
await
|
|
12508
|
+
await Ns(r, e.timestamp, {
|
|
12403
12509
|
lastEntity: p,
|
|
12404
12510
|
applyingPatternRef: h,
|
|
12405
12511
|
setHasActiveShape: (e) => {
|
|
12406
|
-
|
|
12512
|
+
H.value = e;
|
|
12407
12513
|
},
|
|
12408
12514
|
setCandles: (e) => {
|
|
12409
|
-
|
|
12515
|
+
W.value = e;
|
|
12410
12516
|
},
|
|
12411
12517
|
setWindowSize: (e) => {
|
|
12412
|
-
|
|
12518
|
+
U.value = e;
|
|
12413
12519
|
},
|
|
12414
12520
|
setSymbol: (e) => {
|
|
12415
12521
|
J.value = e;
|
|
@@ -12418,7 +12524,7 @@ var As = ["lang"], js = {
|
|
|
12418
12524
|
q.value = e;
|
|
12419
12525
|
},
|
|
12420
12526
|
setTimeframe: (e) => {
|
|
12421
|
-
|
|
12527
|
+
K.value = e;
|
|
12422
12528
|
},
|
|
12423
12529
|
setTargetCandles: (e) => {
|
|
12424
12530
|
E.setTargetCandles(e);
|
|
@@ -12426,11 +12532,11 @@ var As = ["lang"], js = {
|
|
|
12426
12532
|
clearSelectedCandles: () => {
|
|
12427
12533
|
k.value = null;
|
|
12428
12534
|
}
|
|
12429
|
-
}), await
|
|
12535
|
+
}), await js(r, e.timestamp, m);
|
|
12430
12536
|
})(), l.submitCallback(`${z}/${d.value}/news/similar-events/${e.id}?symbol=${encodeURIComponent(t)}&theme=${n}`);
|
|
12431
12537
|
}, Ce = (e) => {
|
|
12432
12538
|
if (!e) return;
|
|
12433
|
-
let t =
|
|
12539
|
+
let t = De.value;
|
|
12434
12540
|
if (!t) return;
|
|
12435
12541
|
let n;
|
|
12436
12542
|
try {
|
|
@@ -12469,9 +12575,9 @@ var As = ["lang"], js = {
|
|
|
12469
12575
|
let f = d.timestamp ? d.timestamp / 1e3 : null, p = i.to - i.from, m = u(f ?? i.from + p * .5);
|
|
12470
12576
|
m && (N.value = m), j.value = d, A.value = !0;
|
|
12471
12577
|
}, we = () => {
|
|
12472
|
-
h.current || (p.current = null,
|
|
12578
|
+
h.current || (p.current = null, H.value = !1);
|
|
12473
12579
|
}, Te = (e) => {
|
|
12474
|
-
|
|
12580
|
+
K.value = e, q.value = e, ve(e), we(), l.availableIntervals != null && !l.availableIntervals.includes(String(e)) && (ie.value = null, G.value = !1), h.current || k.value?.length && (E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null, qo(!1));
|
|
12475
12581
|
let t = null;
|
|
12476
12582
|
try {
|
|
12477
12583
|
t = JSON.parse(localStorage.getItem("tv:clicked-news-event") || "null");
|
|
@@ -12479,17 +12585,17 @@ var As = ["lang"], js = {
|
|
|
12479
12585
|
t = null;
|
|
12480
12586
|
}
|
|
12481
12587
|
!t?.timestamp || !l.chartWidget || (async () => {
|
|
12482
|
-
await
|
|
12588
|
+
await Ns(l.chartWidget, t.timestamp, {
|
|
12483
12589
|
lastEntity: p,
|
|
12484
12590
|
applyingPatternRef: h,
|
|
12485
12591
|
setHasActiveShape: (e) => {
|
|
12486
|
-
|
|
12592
|
+
H.value = e;
|
|
12487
12593
|
},
|
|
12488
12594
|
setCandles: (e) => {
|
|
12489
|
-
|
|
12595
|
+
W.value = e;
|
|
12490
12596
|
},
|
|
12491
12597
|
setWindowSize: (e) => {
|
|
12492
|
-
|
|
12598
|
+
U.value = e;
|
|
12493
12599
|
},
|
|
12494
12600
|
setSymbol: (e) => {
|
|
12495
12601
|
J.value = e;
|
|
@@ -12498,7 +12604,7 @@ var As = ["lang"], js = {
|
|
|
12498
12604
|
q.value = e;
|
|
12499
12605
|
},
|
|
12500
12606
|
setTimeframe: (e) => {
|
|
12501
|
-
|
|
12607
|
+
K.value = e;
|
|
12502
12608
|
},
|
|
12503
12609
|
setTargetCandles: (e) => {
|
|
12504
12610
|
E.setTargetCandles(e);
|
|
@@ -12506,17 +12612,17 @@ var As = ["lang"], js = {
|
|
|
12506
12612
|
clearSelectedCandles: () => {
|
|
12507
12613
|
k.value = null;
|
|
12508
12614
|
}
|
|
12509
|
-
}), await
|
|
12615
|
+
}), await js(l.chartWidget, t.timestamp, m);
|
|
12510
12616
|
})();
|
|
12511
12617
|
}, Ee = (e) => {
|
|
12512
|
-
J.value = e.library_custom_fields?.ticker || e.ticker || e.name || e.base_name + "" || "", we(), ve(), !h.current && k.value?.length && (E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null,
|
|
12513
|
-
},
|
|
12618
|
+
J.value = e.library_custom_fields?.ticker || e.ticker || e.name || e.base_name + "" || "", we(), ve(), !h.current && k.value?.length && (E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null, qo(!1));
|
|
12619
|
+
}, De = D(l.chartWidget);
|
|
12514
12620
|
M(() => l.chartWidget, (e) => {
|
|
12515
|
-
|
|
12516
|
-
}), M(
|
|
12621
|
+
De.value = e;
|
|
12622
|
+
}), M(De, (e) => {
|
|
12517
12623
|
let t, r, i;
|
|
12518
12624
|
b(() => {
|
|
12519
|
-
|
|
12625
|
+
H.value = !1, p.current = null, S.value = null;
|
|
12520
12626
|
try {
|
|
12521
12627
|
if (r && clearTimeout(r), e) {
|
|
12522
12628
|
let n = e.activeChart();
|
|
@@ -12529,50 +12635,50 @@ var As = ["lang"], js = {
|
|
|
12529
12635
|
let a = e.activeChart();
|
|
12530
12636
|
if (a) {
|
|
12531
12637
|
let o = a.resolution();
|
|
12532
|
-
|
|
12638
|
+
K.value = o, q.value = o;
|
|
12533
12639
|
let s = Z?.find((e) => e.display_name === a.symbol());
|
|
12534
12640
|
J.value = s?.ticker || a.symbol();
|
|
12535
12641
|
let c = async (e, t) => {
|
|
12536
12642
|
if (((a?.getAllShapes())?.filter((e) => e.name === "date_range"))?.forEach((e) => {
|
|
12537
12643
|
a?.removeEntity(e.id);
|
|
12538
12644
|
}), t) {
|
|
12539
|
-
let { data:
|
|
12540
|
-
i === -1 && (i =
|
|
12541
|
-
let o =
|
|
12542
|
-
|
|
12543
|
-
let
|
|
12544
|
-
if (!
|
|
12545
|
-
if (p.current = await a.createMultipointShape([{ time:
|
|
12645
|
+
let { data: e } = await a.exportData(), r = a.resolution(), i = yt(e, t, r);
|
|
12646
|
+
i === -1 && (i = e.length - 1);
|
|
12647
|
+
let o = e.slice(Math.max(0, i - 25 + 1), i + 1), s = e.slice(Math.max(0, i - 49), i + 1);
|
|
12648
|
+
U.value = o.length, W.value = o.map(n), E.setTargetCandles(s.map(n)), H.value = !0;
|
|
12649
|
+
let c = o[0], l = o[o.length - 1];
|
|
12650
|
+
if (!c || !l) return;
|
|
12651
|
+
if (p.current = await a.createMultipointShape([{ time: vt(c[0], r) }, { time: vt(l[0], r) }], no(P.current())), p.current) {
|
|
12546
12652
|
let e = a.getShapeById(p.current);
|
|
12547
12653
|
e && e.setSavingEnabled && (e.setProperties({ customText: {
|
|
12548
12654
|
visible: !0,
|
|
12549
|
-
text:
|
|
12655
|
+
text: ro
|
|
12550
12656
|
} }), e.setSavingEnabled(!1));
|
|
12551
12657
|
}
|
|
12552
12658
|
}
|
|
12553
12659
|
};
|
|
12554
|
-
t =
|
|
12555
|
-
if (!h.current && (r === "remove" && (p.current === t && (p.current = null),
|
|
12660
|
+
t = ut(async (t, r) => {
|
|
12661
|
+
if (!h.current && (r === "remove" && (p.current === t && (p.current = null), H.value = !1), r === "points_changed" && a.getAllShapes().filter((e) => e.name === "date_range").some((e) => e.id === t) && e)) {
|
|
12556
12662
|
let e = a.getShapeById(t);
|
|
12557
12663
|
if (!e) return;
|
|
12558
|
-
let r = e.getPoints(), i = r[0].time, o = r[1].time, { data: s } = await a.exportData(), c =
|
|
12559
|
-
|
|
12560
|
-
let
|
|
12561
|
-
|
|
12664
|
+
let r = e.getPoints(), i = r[0].time, o = r[1].time, { data: s } = await a.exportData(), c = a.resolution(), l = yt(s, o, c), u = yt(s, i, c);
|
|
12665
|
+
l === -1 && (l = s.length - 2, u = s.length - 1 - 25);
|
|
12666
|
+
let d = s.slice(u, l + 1).length - 1;
|
|
12667
|
+
d > je.max ? (d = Math.round(d / 10) * 10 - 1, d > je.custom[je.custom.length - 1] && (d = je.custom[je.custom.length - 1] - 1)) : d <= je.min && (d = je.min - 1), p.current && a.removeEntity(p.current), a.getAllShapes().filter((e) => e.name === "date_range").forEach((e) => {
|
|
12562
12668
|
a.removeEntity(e.id);
|
|
12563
12669
|
});
|
|
12564
|
-
let
|
|
12565
|
-
if (!
|
|
12566
|
-
if (p.current = await a.createMultipointShape([{ time:
|
|
12670
|
+
let f = s.slice(l - d, l + 1), m = s.slice(l - 49, l + 1), h = f[0], g = f[f.length - 1];
|
|
12671
|
+
if (!h || !g) return;
|
|
12672
|
+
if (p.current = await a.createMultipointShape([{ time: vt(h[0], c) }, { time: vt(g[0], c) }], no(P.current())), U.value = f.length, W.value = f.map(n), E.setTargetCandles(m.map(n)), H.value = !0, p.current) {
|
|
12567
12673
|
let e = a.getShapeById(p.current);
|
|
12568
12674
|
e && e.setSavingEnabled && (e.setProperties({ customText: {
|
|
12569
12675
|
visible: !0,
|
|
12570
|
-
text:
|
|
12676
|
+
text: ro
|
|
12571
12677
|
} }), e.setSavingEnabled(!1));
|
|
12572
12678
|
}
|
|
12573
12679
|
}
|
|
12574
12680
|
}, 500), S.value = () => {
|
|
12575
|
-
|
|
12681
|
+
H.value = !0;
|
|
12576
12682
|
let e = a.getVisibleRange();
|
|
12577
12683
|
e?.from && e?.to && c(e.from, e.to);
|
|
12578
12684
|
};
|
|
@@ -12593,25 +12699,25 @@ var As = ["lang"], js = {
|
|
|
12593
12699
|
};
|
|
12594
12700
|
i = (e) => {
|
|
12595
12701
|
r && clearTimeout(r), r = setTimeout(() => {
|
|
12596
|
-
l(e) ?
|
|
12702
|
+
l(e) ? H.value = !1 : p.current && (H.value = !0);
|
|
12597
12703
|
}, 150);
|
|
12598
12704
|
}, a.onIntervalChanged().subscribe(null, Te), a.onSymbolChanged().subscribe(null, Ee), a.onVisibleRangeChanged().subscribe(null, i), e.subscribe?.("drawing_event", t);
|
|
12599
12705
|
}
|
|
12600
12706
|
});
|
|
12601
12707
|
}, { immediate: !0 });
|
|
12602
|
-
let
|
|
12603
|
-
|
|
12604
|
-
let
|
|
12708
|
+
let Oe = r(() => W.value[W.value.length - 1]?.timestamp ?? null);
|
|
12709
|
+
oo(De, C);
|
|
12710
|
+
let ke = {
|
|
12605
12711
|
lastEntity: p,
|
|
12606
12712
|
applyingPatternRef: h,
|
|
12607
12713
|
setHasActiveShape: (e) => {
|
|
12608
|
-
|
|
12714
|
+
H.value = e;
|
|
12609
12715
|
},
|
|
12610
12716
|
setCandles: (e) => {
|
|
12611
|
-
|
|
12717
|
+
W.value = e;
|
|
12612
12718
|
},
|
|
12613
12719
|
setWindowSize: (e) => {
|
|
12614
|
-
|
|
12720
|
+
U.value = e;
|
|
12615
12721
|
},
|
|
12616
12722
|
setSymbol: (e) => {
|
|
12617
12723
|
J.value = e;
|
|
@@ -12620,7 +12726,7 @@ var As = ["lang"], js = {
|
|
|
12620
12726
|
q.value = e;
|
|
12621
12727
|
},
|
|
12622
12728
|
setTimeframe: (e) => {
|
|
12623
|
-
|
|
12729
|
+
K.value = e;
|
|
12624
12730
|
},
|
|
12625
12731
|
setTargetCandles: (e) => {
|
|
12626
12732
|
E.setTargetCandles(e);
|
|
@@ -12629,11 +12735,11 @@ var As = ["lang"], js = {
|
|
|
12629
12735
|
k.value = null;
|
|
12630
12736
|
}
|
|
12631
12737
|
};
|
|
12632
|
-
|
|
12738
|
+
Bs(De, (e) => {
|
|
12633
12739
|
k.value = e;
|
|
12634
|
-
},
|
|
12740
|
+
}, Oe, (e) => {
|
|
12635
12741
|
O.value = e;
|
|
12636
|
-
}, l.onCloseResult,
|
|
12742
|
+
}, l.onCloseResult, ke, oe, () => l.availableIntervals, ge), M(() => l.iframeLoaded, (e) => {
|
|
12637
12743
|
e && ve();
|
|
12638
12744
|
}), y(() => {
|
|
12639
12745
|
if (typeof document > "u") return;
|
|
@@ -12646,7 +12752,7 @@ var As = ["lang"], js = {
|
|
|
12646
12752
|
}), v(() => {
|
|
12647
12753
|
t.disconnect(), window.clearTimeout(e);
|
|
12648
12754
|
});
|
|
12649
|
-
}), M([
|
|
12755
|
+
}), M([De, I], ([e]) => {
|
|
12650
12756
|
if (!e) return;
|
|
12651
12757
|
let t = !1;
|
|
12652
12758
|
b(() => {
|
|
@@ -12657,7 +12763,7 @@ var As = ["lang"], js = {
|
|
|
12657
12763
|
}), e.onChartReady(async () => {
|
|
12658
12764
|
if (!t) {
|
|
12659
12765
|
try {
|
|
12660
|
-
await
|
|
12766
|
+
await _s(e.activeChart(), f, I.value);
|
|
12661
12767
|
} catch (e) {
|
|
12662
12768
|
console.error("Failed to create generated candle studies:", e);
|
|
12663
12769
|
}
|
|
@@ -12666,8 +12772,8 @@ var As = ["lang"], js = {
|
|
|
12666
12772
|
} catch {}
|
|
12667
12773
|
}
|
|
12668
12774
|
});
|
|
12669
|
-
}, { immediate: !0 }),
|
|
12670
|
-
let
|
|
12775
|
+
}, { immediate: !0 }), ys(De, f, q, J, k, I);
|
|
12776
|
+
let Ae = () => {
|
|
12671
12777
|
try {
|
|
12672
12778
|
localStorage.removeItem(V), localStorage.removeItem(B);
|
|
12673
12779
|
} catch {}
|
|
@@ -12683,12 +12789,12 @@ var As = ["lang"], js = {
|
|
|
12683
12789
|
} catch {}
|
|
12684
12790
|
}
|
|
12685
12791
|
}, Me = (e) => {
|
|
12686
|
-
|
|
12792
|
+
K.value = e;
|
|
12687
12793
|
}, Ne = (e) => {
|
|
12688
12794
|
L.value = e;
|
|
12689
|
-
}, Pe = r(() => Z.find((e) => e.ticker === J.value)?.type ?? "forex"), Fe = r(() => J.value || localStorage.getItem("tv:latest-symbol") || "XAU_USD");
|
|
12795
|
+
}, Pe = r(() => Z.find((e) => e.ticker === J.value)?.type ?? "forex"), Fe = r(() => l.availableIntervals == null || l.availableIntervals.includes(String(q.value))), Ie = r(() => J.value || localStorage.getItem("tv:latest-symbol") || "XAU_USD");
|
|
12690
12796
|
return v(() => {
|
|
12691
|
-
_e.current.forEach((e) => window.clearTimeout(e)),
|
|
12797
|
+
_e.current.forEach((e) => window.clearTimeout(e)), H.value = !1, p.current = null, S.value = null;
|
|
12692
12798
|
}), (t, n) => (x(), o("div", {
|
|
12693
12799
|
ref_key: "rootEl",
|
|
12694
12800
|
ref: T,
|
|
@@ -12696,8 +12802,8 @@ var As = ["lang"], js = {
|
|
|
12696
12802
|
class: g(["iccandle-selector-widget", F.value === "dark" ? "iccandle-dark" : ""])
|
|
12697
12803
|
}, [
|
|
12698
12804
|
ee(t.$slots, "default", { chartRefs: f }),
|
|
12699
|
-
u(
|
|
12700
|
-
hide: !e.isShowScannerPopup,
|
|
12805
|
+
u(lt, {
|
|
12806
|
+
hide: !e.isShowScannerPopup || !Fe.value,
|
|
12701
12807
|
"hide-scan-button": !e.isShowScanButton,
|
|
12702
12808
|
"hide-tracker-button": !e.isShowTrackerButton,
|
|
12703
12809
|
"submit-callback": e.submitCallback,
|
|
@@ -12706,21 +12812,21 @@ var As = ["lang"], js = {
|
|
|
12706
12812
|
"on-scan-click": e.onScanClick,
|
|
12707
12813
|
"set-scan-loading": he,
|
|
12708
12814
|
"on-apply-saved-timeframe": Me,
|
|
12709
|
-
"pending-scan-after-config":
|
|
12815
|
+
"pending-scan-after-config": G.value,
|
|
12710
12816
|
"on-pending-scan-handled": pe,
|
|
12711
12817
|
"trigger-scanner": le,
|
|
12712
|
-
window_size:
|
|
12818
|
+
window_size: U.value,
|
|
12713
12819
|
"current-symbol": J.value,
|
|
12714
12820
|
resolution: q.value,
|
|
12715
|
-
timeframe:
|
|
12821
|
+
timeframe: K.value,
|
|
12716
12822
|
"chart-widget": e.chartWidget,
|
|
12717
|
-
candles:
|
|
12823
|
+
candles: W.value,
|
|
12718
12824
|
"handle-start-drag": se,
|
|
12719
|
-
"handle-stop-drag":
|
|
12720
|
-
"has-active-shape":
|
|
12825
|
+
"handle-stop-drag": ce,
|
|
12826
|
+
"has-active-shape": H.value,
|
|
12721
12827
|
theme: F.value,
|
|
12722
12828
|
language: d.value,
|
|
12723
|
-
"clear-scanner-news-marks":
|
|
12829
|
+
"clear-scanner-news-marks": Ae,
|
|
12724
12830
|
"selected-candles": k.value,
|
|
12725
12831
|
"iframe-loaded": e.iframeLoaded,
|
|
12726
12832
|
"is-loading": O.value,
|
|
@@ -12745,14 +12851,14 @@ var As = ["lang"], js = {
|
|
|
12745
12851
|
"iframe-loaded",
|
|
12746
12852
|
"is-loading"
|
|
12747
12853
|
]),
|
|
12748
|
-
L.value ? (x(), i(
|
|
12854
|
+
L.value ? (x(), i(_a, {
|
|
12749
12855
|
key: 0,
|
|
12750
12856
|
open: L.value,
|
|
12751
12857
|
"onUpdate:open": Ne,
|
|
12752
12858
|
resolution: q.value,
|
|
12753
12859
|
type: Pe.value,
|
|
12754
12860
|
symbol: J.value,
|
|
12755
|
-
candles:
|
|
12861
|
+
candles: W.value,
|
|
12756
12862
|
percent: 90,
|
|
12757
12863
|
theme: F.value,
|
|
12758
12864
|
onUpgradeClick: ye
|
|
@@ -12764,12 +12870,12 @@ var As = ["lang"], js = {
|
|
|
12764
12870
|
"candles",
|
|
12765
12871
|
"theme"
|
|
12766
12872
|
])) : a("", !0),
|
|
12767
|
-
|
|
12873
|
+
ie.value ? (x(), i(or, {
|
|
12768
12874
|
key: 1,
|
|
12769
|
-
intent:
|
|
12875
|
+
intent: ie.value,
|
|
12770
12876
|
"set-resolution": Me,
|
|
12771
|
-
timeframe:
|
|
12772
|
-
"handle-close-dialog":
|
|
12877
|
+
timeframe: K.value,
|
|
12878
|
+
"handle-close-dialog": X,
|
|
12773
12879
|
"current-symbol": J.value,
|
|
12774
12880
|
theme: F.value,
|
|
12775
12881
|
onScanConfigSaved: me,
|
|
@@ -12780,10 +12886,10 @@ var As = ["lang"], js = {
|
|
|
12780
12886
|
"current-symbol",
|
|
12781
12887
|
"theme"
|
|
12782
12888
|
])) : a("", !0),
|
|
12783
|
-
A.value && j.value ? (x(), i(
|
|
12889
|
+
A.value && j.value ? (x(), i(Ia, {
|
|
12784
12890
|
key: 2,
|
|
12785
12891
|
event: j.value,
|
|
12786
|
-
symbol:
|
|
12892
|
+
symbol: Ie.value,
|
|
12787
12893
|
position: N.value,
|
|
12788
12894
|
onClose: be,
|
|
12789
12895
|
onGoToEventDetail: Se
|
|
@@ -12792,14 +12898,14 @@ var As = ["lang"], js = {
|
|
|
12792
12898
|
"symbol",
|
|
12793
12899
|
"position"
|
|
12794
12900
|
])) : a("", !0),
|
|
12795
|
-
R.value ? (x(), o("div",
|
|
12796
|
-
u(
|
|
12901
|
+
R.value ? (x(), o("div", tc)) : a("", !0),
|
|
12902
|
+
u(eo, {
|
|
12797
12903
|
theme: F.value,
|
|
12798
12904
|
style: _(ne.value)
|
|
12799
12905
|
}, null, 8, ["theme", "style"])
|
|
12800
|
-
], 10,
|
|
12906
|
+
], 10, ec));
|
|
12801
12907
|
}
|
|
12802
|
-
}),
|
|
12908
|
+
}), rc = (e) => {
|
|
12803
12909
|
let t = e?.contentWindow;
|
|
12804
12910
|
if (!t || !e?.src) return;
|
|
12805
12911
|
let n = new URL(e.src).origin, r = () => t.postMessage(JSON.stringify({
|
|
@@ -12825,14 +12931,70 @@ var As = ["lang"], js = {
|
|
|
12825
12931
|
"lookup_key"
|
|
12826
12932
|
].forEach((e) => r.searchParams.delete(e)), window.history.replaceState({}, "", r);
|
|
12827
12933
|
}
|
|
12828
|
-
},
|
|
12829
|
-
function
|
|
12934
|
+
}, ic = 60;
|
|
12935
|
+
function ac(e) {
|
|
12936
|
+
let t = e.split(".")[1];
|
|
12937
|
+
if (!t) return null;
|
|
12938
|
+
try {
|
|
12939
|
+
let e = t.replace(/-/g, "+").replace(/_/g, "/"), n = e + "=".repeat((4 - e.length % 4) % 4);
|
|
12940
|
+
return JSON.parse(atob(n));
|
|
12941
|
+
} catch {
|
|
12942
|
+
return null;
|
|
12943
|
+
}
|
|
12944
|
+
}
|
|
12945
|
+
function oc(e) {
|
|
12946
|
+
let t = ac(e);
|
|
12947
|
+
return t?.exp ? t.exp - ic > Math.floor(Date.now() / 1e3) : !1;
|
|
12948
|
+
}
|
|
12949
|
+
function sc() {
|
|
12950
|
+
if (typeof window > "u") return null;
|
|
12951
|
+
let e = localStorage.getItem(H);
|
|
12952
|
+
return !e || !oc(e) ? null : e;
|
|
12953
|
+
}
|
|
12954
|
+
//#endregion
|
|
12955
|
+
//#region src/composables/use-iccandle-auth.ts
|
|
12956
|
+
function cc() {
|
|
12957
|
+
let e = w(sc()), t = (t) => {
|
|
12958
|
+
if (t && oc(t)) {
|
|
12959
|
+
localStorage.setItem(H, t), e.value = t;
|
|
12960
|
+
return;
|
|
12961
|
+
}
|
|
12962
|
+
localStorage.removeItem(H), e.value = null;
|
|
12963
|
+
}, n = (e) => {
|
|
12964
|
+
if (e.origin !== "https://embed-iccandle-app.iccandle.ai") return;
|
|
12965
|
+
let n;
|
|
12966
|
+
try {
|
|
12967
|
+
n = typeof e.data == "string" ? JSON.parse(e.data) : e.data;
|
|
12968
|
+
} catch {
|
|
12969
|
+
return;
|
|
12970
|
+
}
|
|
12971
|
+
if (n?.name === "auth.signIn") {
|
|
12972
|
+
t(n.data?.idToken || null);
|
|
12973
|
+
return;
|
|
12974
|
+
}
|
|
12975
|
+
n?.name === "auth.signOut" && t(null);
|
|
12976
|
+
}, i = (t) => {
|
|
12977
|
+
t.key === "iccandle_token" && (e.value = sc());
|
|
12978
|
+
};
|
|
12979
|
+
return y(() => {
|
|
12980
|
+
window.addEventListener("message", n), window.addEventListener("storage", i);
|
|
12981
|
+
}), v(() => {
|
|
12982
|
+
window.removeEventListener("message", n), window.removeEventListener("storage", i);
|
|
12983
|
+
}), {
|
|
12984
|
+
isAuthenticated: r(() => !!e.value),
|
|
12985
|
+
idToken: e
|
|
12986
|
+
};
|
|
12987
|
+
}
|
|
12988
|
+
//#endregion
|
|
12989
|
+
//#region src/lib/post-selector-scan.ts
|
|
12990
|
+
var lc = "selector-scan";
|
|
12991
|
+
function uc(e) {
|
|
12830
12992
|
return {
|
|
12831
|
-
type:
|
|
12993
|
+
type: lc,
|
|
12832
12994
|
url: e
|
|
12833
12995
|
};
|
|
12834
12996
|
}
|
|
12835
|
-
function
|
|
12997
|
+
function dc(e, t) {
|
|
12836
12998
|
if (!e?.src || !e.contentWindow) return !1;
|
|
12837
12999
|
try {
|
|
12838
13000
|
let n = new URL(e.src), r = new URL(t, n.origin);
|
|
@@ -12841,14 +13003,14 @@ function Is(e, t) {
|
|
|
12841
13003
|
return !1;
|
|
12842
13004
|
}
|
|
12843
13005
|
}
|
|
12844
|
-
function
|
|
13006
|
+
function fc(e, t) {
|
|
12845
13007
|
let n = e?.contentWindow;
|
|
12846
13008
|
if (!n) return !1;
|
|
12847
13009
|
let r = "*";
|
|
12848
13010
|
try {
|
|
12849
13011
|
e?.src && (r = new URL(e.src).origin);
|
|
12850
13012
|
} catch {}
|
|
12851
|
-
return n.postMessage(JSON.stringify(
|
|
13013
|
+
return n.postMessage(JSON.stringify(uc(t)), r), !0;
|
|
12852
13014
|
}
|
|
12853
13015
|
//#endregion
|
|
12854
|
-
export {
|
|
13016
|
+
export { H as ICCANDLE_TOKEN_KEY, Ys as OPEN_PRICING_MESSAGE_TYPE, Ks as SELECTOR_LOADING_MESSAGE_TYPE, lc as SELECTOR_SCAN_MESSAGE_TYPE, z as WIDGET_RESULT_URL, nc as WidgetIccandle, dc as canSoftSelectorNavigate, fs as getCustomIndicators, rc as handleResultIframeLoad, Qs as postOpenPricingToEmbed, $s as postOpenPricingToParent, Zs as postOpenPricingToWindow, Js as postSelectorLoadingToEmbed, fc as postSelectorScanToEmbed, cc as useICCandleAuth, Ko as withPlayChart };
|