@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.
@@ -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 = (e) => e === "1D" || e === "D" || e === "1440" ? 24 * 3600 : parseInt(e, 10) * 60, W = (e) => e === "1D" || e === "D" || e === "1440" ? 24 * 3600 : parseInt(e, 10) * 60, G = [
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 re(e) {
19
- return e && G.includes(e) ? e : "en";
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 K = {
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 ie(e, t) {
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 ae(e, t) {
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 q(e, t, n) {
7454
- return ae(ie(K[e], t) ?? ie(K.en, t) ?? t, n);
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 J = Symbol("widget-language"), Y = "en";
7459
- function oe(e) {
7460
- Y = e;
7473
+ var ce = Symbol("widget-language"), le = "en";
7474
+ function ue(e) {
7475
+ le = e;
7461
7476
  }
7462
- function se() {
7463
- return Y;
7477
+ function de() {
7478
+ return le;
7464
7479
  }
7465
- function ce(e) {
7466
- oe(e.value), M(e, (e) => {
7467
- oe(e);
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) => q(e.value, t, n)
7486
+ t: (t, n) => se(e.value, t, n)
7472
7487
  };
7473
- return S(J, t), t;
7488
+ return S(ce, t), t;
7474
7489
  }
7475
7490
  function X() {
7476
- return f(J) || {
7491
+ return f(ce) || {
7477
7492
  language: r(() => "en"),
7478
- t: ((e, t) => q("en", 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 le = 5e3, ue = 1, de = /* @__PURE__ */ new Map(), fe = w([]);
7484
- function pe(e) {
7485
- let t = de.get(e);
7486
- t && (clearTimeout(t), de.delete(e)), fe.value = fe.value.filter((t) => t.id !== e);
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 me({ title: e, description: t, action: n, dismiss: r, variant: i = "info", duration: a = le }) {
7489
- let o = ue++, s = {
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 ?? q(se(), "Common.dismiss"),
7510
+ label: r?.label ?? se(de(), "Common.dismiss"),
7496
7511
  onClick: r?.onClick
7497
7512
  },
7498
7513
  variant: i
7499
7514
  };
7500
- if (fe.value = [...fe.value, s], a > 0) {
7501
- let e = setTimeout(() => pe(o), a);
7502
- de.set(o, e);
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 he = "search-filter", ge = "search-filter-session", _e = "scanner-always-show";
7509
- function ve() {
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(_e);
7526
+ let e = localStorage.getItem(xe);
7512
7527
  return e === null || e === "true";
7513
7528
  }
7514
- function ye(e) {
7515
- typeof window > "u" || localStorage.setItem(_e, String(e));
7529
+ function Ce(e) {
7530
+ typeof window > "u" || localStorage.setItem(xe, String(e));
7516
7531
  }
7517
- function be(e) {
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 xe() {
7526
- return typeof window > "u" ? {} : be(localStorage.getItem(he));
7540
+ function Te() {
7541
+ return typeof window > "u" ? {} : we(localStorage.getItem(ye));
7527
7542
  }
7528
- function Se() {
7529
- let e = xe();
7543
+ function Ee() {
7544
+ let e = Te();
7530
7545
  return Array.isArray(e.symbols) && e.symbols.length > 0;
7531
7546
  }
7532
- function Ce(e, t) {
7547
+ function De(e, t) {
7533
7548
  if (typeof window > "u") return;
7534
7549
  let n = JSON.stringify(e);
7535
- t ? (localStorage.setItem(he, n), sessionStorage.removeItem(ge)) : (sessionStorage.setItem(ge, n), Te());
7550
+ t ? (localStorage.setItem(ye, n), sessionStorage.removeItem(be)) : (sessionStorage.setItem(be, n), ke());
7536
7551
  }
7537
- function we() {
7552
+ function Oe() {
7538
7553
  if (typeof window > "u") return {};
7539
- let e = be(sessionStorage.getItem(ge));
7540
- return Object.keys(e).length > 0 ? e : xe();
7554
+ let e = we(sessionStorage.getItem(be));
7555
+ return Object.keys(e).length > 0 ? e : Te();
7541
7556
  }
7542
- function Te() {
7543
- typeof window > "u" || localStorage.removeItem(he);
7557
+ function ke() {
7558
+ typeof window > "u" || localStorage.removeItem(ye);
7544
7559
  }
7545
- function Ee(e) {
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 De = {
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
- ], Oe = { class: "iccandle-simple-tooltip-trigger" }, ke = {
7976
+ ], Me = { class: "iccandle-simple-tooltip-trigger" }, Ne = {
7962
7977
  key: 0,
7963
7978
  class: "iccandle-simple-tooltip-content",
7964
7979
  role: "tooltip"
7965
- }, Ae = /* @__PURE__ */ d({
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", Oe, [ee(n.$slots, "default")]), t.value && e.text ? (x(), o("div", ke, O(e.text), 1)) : a("", !0)], 32));
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
- }), je = ["width", "height"], Me = ["stroke"], Ne = ["stroke"], Pe = ["stroke"], Fe = ["stroke"], Ie = ["stroke"], Le = /* @__PURE__ */ d({
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, Me),
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, Ne),
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, Pe),
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, Fe),
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, Ie)
8032
- ], 10, je));
8046
+ }, null, 8, Be)
8047
+ ], 10, Fe));
8033
8048
  }
8034
- }), Re = [
8049
+ }), He = [
8035
8050
  "width",
8036
8051
  "height",
8037
8052
  "fill"
8038
- ], ze = ["fill"], Be = ["fill"], Ve = ["fill"], He = ["fill"], Ue = ["fill"], We = /* @__PURE__ */ d({
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, ze),
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, Be),
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, Ve),
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, He),
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, Ue),
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, Re));
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
- }), Ge = [
8096
+ }), Ye = [
8082
8097
  "width",
8083
8098
  "height",
8084
8099
  "stroke",
8085
8100
  "stroke-width"
8086
- ], Ke = /* @__PURE__ */ d({
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, Ge));
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
- }), qe = [
8123
+ }), Ze = [
8109
8124
  "width",
8110
8125
  "height",
8111
8126
  "stroke"
8112
- ], Je = /* @__PURE__ */ d({
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, qe));
8159
+ ]], 8, Ze));
8145
8160
  }
8146
- }), Ye = [
8161
+ }), $e = [
8147
8162
  "width",
8148
8163
  "height",
8149
8164
  "stroke"
8150
- ], Xe = /* @__PURE__ */ d({
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, Ye));
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
- }, rt = ["src"], it = {
8202
+ }, st = ["src"], ct = {
8188
8203
  key: 0,
8189
8204
  class: "iccandle-scanner-popup__label"
8190
- }, at = 150, ot = /* @__PURE__ */ d({
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
- me({
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 = U(n.resolution), r = i - (at * t + t * n.window_size + t * 100), a = i + at / 3 * 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: a
8313
+ to: i
8299
8314
  });
8300
8315
  } catch (e) {
8301
8316
  console.error("Error setting visible range:", e);
8302
8317
  }
8303
8318
  }
8304
- let a;
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
- a = e;
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 (!a?.id) {
8327
+ if (!s?.id) {
8313
8328
  n.setScanLoading?.(!1);
8314
8329
  return;
8315
8330
  }
8316
- let o = we(), s = o.timeframe || n.timeframe, l = {
8331
+ let l = Oe(), u = l.timeframe || n.timeframe, d = {
8317
8332
  reference_resolution: n.resolution,
8318
- resolution: s,
8333
+ resolution: u,
8319
8334
  symbol: n.currentSymbol,
8320
- end_timestamp: i,
8321
- start_timestamp: r,
8335
+ end_timestamp: a,
8336
+ start_timestamp: o,
8322
8337
  window_size: n.window_size,
8323
- top_k: o.top_k || 25,
8338
+ top_k: l.top_k || 25,
8324
8339
  percent: 90,
8325
- analyze_window: o.probability || 0,
8326
- candle_id: a?.id || ""
8340
+ analyze_window: l.probability || 0,
8341
+ candle_id: s?.id || ""
8327
8342
  };
8328
- if (!Ee(o) && !o.isAllSelected && (o.symbolTypes?.length ?? 0) > 0 && (o.symbols?.length ?? 0) > 0) l.filter = {
8329
- symbols: o.symbols.join(","),
8330
- types: o.symbolTypes || []
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 (!o.isAllSelected) {
8347
+ else if (!l.isAllSelected) {
8333
8348
  let e = Z.find((e) => e.ticker === n.currentSymbol)?.type;
8334
- l.filter = {
8349
+ d.filter = {
8335
8350
  symbols: n.currentSymbol,
8336
8351
  ...e ? { types: [e] } : {}
8337
8352
  };
8338
8353
  }
8339
- if (o.period && o.period > 0) {
8340
- let e = i - o.period * 365.25 * 24 * 60 * 60;
8341
- l.filter ||= {}, l.filter.period = e;
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 u = `${z}/${n.language}?symbol=${l.symbol}&ref_res=${l.reference_resolution}&tk=${l.top_k}&res=${l.resolution}&cid=${l.candle_id}&from=${l.start_timestamp * 1e3}&to=${l.end_timestamp * 1e3}` + (l.filter?.symbols?.length ? `&fs=${l.filter.symbols}` : "") + (l.filter?.period == null ? "" : `&period=${l.filter.period}`) + (o.model ? `&model=${o.model}` : "") + (o.temperature == null ? "" : `&temp=${o.temperature}`) + (n.theme === "dark" ? "&theme=dark" : "&theme=light");
8344
- n.clearScannerNewsMarks(), n.submitCallback(u);
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 : (me({
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
- me({
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 (Se() && !ve()) {
8364
- let e = xe().timeframe;
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", Qe, [
8388
- u(Ke, {
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(Ae, { text: k(c)("Selector.availableBars") }, {
8397
- default: N(() => [s("div", $e, O(t.window_size) + " bar ", 1)]),
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(Ae, {
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(Le, {
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, et)]),
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(Ae, { text: k(c)("Layout.headerNav.patternShortTitle") }, {
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(We, {
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, tt)]),
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", nt, [u(Ae, { text: k(c)("Selector.activateSelector") }, {
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(Ze),
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, rt), l.value ? (x(), o("div", it, O(k(c)("Selector.activateSelector")), 1)) : a("", !0)])]),
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(Ae, { text: k(c)("Selector.settings") }, {
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(Ae, { text: l.value ? k(c)("Selector.collapseToolbar") : k(c)("Selector.expandToolbar") }, {
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(Je, {
8489
+ }, [l.value ? (x(), i(Qe, {
8475
8490
  key: 0,
8476
8491
  size: 20,
8477
8492
  color: "#b2b5be"
8478
- })) : (x(), i(Xe, {
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 st(e, t) {
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 ct = (e, t) => {
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 === "1D" || t === "D" || t === "1440") {
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
- }, lt = (e) => e > 1e11 ? Math.floor(e / 1e3) : e, ut = [
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
- ], dt = /* @__PURE__ */ d({
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, ut));
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
- }), ft = ["width", "height"], pt = { class: "iccandle-info-tooltip-content__inner" }, mt = { class: "iccandle-info-tooltip-content__title" }, ht = {
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
- }, gt = { class: "iccandle-info-tooltip-content__line-label" }, _t = {
8577
+ }, Dt = { class: "iccandle-info-tooltip-content__line-label" }, Ot = {
8535
8578
  key: 1,
8536
8579
  class: "iccandle-info-tooltip-content__description"
8537
- }, vt = /* @__PURE__ */ d({
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, ft))], 32), (x(), i(t, { to: p.value }, [f.value ? (x(), o("div", {
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", pt, [s("h4", mt, O(n.title), 1), n.lines?.length ? (x(), o("div", ht, [(x(!0), o(e, null, T(n.lines, (e) => (x(), o("p", {
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", gt, O(e.label), 1), l(" " + O(e.text), 1)]))), 128))])) : n.description ? (x(), o("p", _t, O(n.description), 1)) : a("", !0)])], 6)) : a("", !0)], 8, ["to"]))], 64));
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
- }), yt = [
8675
+ }), At = [
8633
8676
  "width",
8634
8677
  "height",
8635
8678
  "stroke",
8636
8679
  "stroke-width"
8637
- ], bt = /* @__PURE__ */ d({
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, yt));
8700
+ }, [...n[0] ||= [s("path", { d: "m6 9 6 6 6-6" }, null, -1)]], 10, At));
8658
8701
  }
8659
- }), xt = ["aria-expanded"], St = ["aria-selected", "onClick"], Ct = {
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
- }, wt = /* @__PURE__ */ d({
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(bt, {
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, xt)], 2), n.open && C.value ? (x(), i(t, {
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", Ct, [s("button", {
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, St))), 128))], 6)], 8, ["to"])) : a("", !0)], 2));
8809
+ }, O(k(f)("Common.upgradePlan")), 33)])) : a("", !0)], 10, Nt))), 128))], 6)], 8, ["to"])) : a("", !0)], 2));
8767
8810
  }
8768
- }), Tt = { class: "iccandle-scanner-advanced-options" }, Et = { class: "iccandle-scanner-advanced-options__row" }, Dt = { class: "iccandle-scanner-advanced-options__label" }, Ot = { class: "iccandle-scanner-advanced-options__row" }, kt = { class: "iccandle-scanner-advanced-options__label" }, At = { class: "iccandle-scanner-advanced-options__row" }, jt = { class: "iccandle-scanner-advanced-options__label" }, Mt = /* @__PURE__ */ d({
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", Tt, [
8855
- s("div", Et, [s("label", Dt, [l(O(k(a)("Selector.period")) + " ", 1), u(vt, {
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(wt, {
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", Ot, [s("label", kt, [l(O(k(a)("Common.timeframe")) + " ", 1), u(vt, {
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(wt, {
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", At, [s("label", jt, [l(O(k(a)("Selector.aiTemperature")) + " ", 1), u(vt, {
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(wt, {
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
- }), Nt = [
8950
+ }), Wt = [
8908
8951
  "light",
8909
8952
  "standard",
8910
8953
  "plus",
8911
8954
  "pro"
8912
- ], Pt = "light";
8913
- function Ft(e) {
8914
- return Nt.includes(e) ? e : Pt;
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 It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scanner-ai-settings__row" }, Rt = { class: "iccandle-scanner-ai-settings__label" }, zt = { class: "iccandle-scanner-ai-settings__row" }, Bt = { class: "iccandle-scanner-ai-settings__label" }, Vt = /* @__PURE__ */ d({
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(() => Nt.map((e) => ({
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", It, [s("div", Lt, [s("label", Rt, [l(O(k(p)("Selector.result")) + " ", 1), u(vt, {
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(wt, {
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", zt, [s("div", Bt, [l(O(k(p)("Selector.aiModel")) + " ", 1), u(vt, {
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(wt, {
9032
+ }, null, 8, ["lines"])]), u(Ft, {
8990
9033
  value: e.model,
8991
- options: k(Nt),
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
- }), Ht = { class: "iccandle-forexIcons" }, Ut = ["src"], Wt = ["src"], Gt = ["src"], Kt = /* @__PURE__ */ d({
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", Ht, [i.value.length === 1 ? (x(), o("img", {
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, Ut)) : i.value.length === 2 ? (x(), o(e, { key: 1 }, [s("img", {
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, Wt), s("img", {
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, Gt)], 64)) : a("", !0)]));
9072
+ }, null, 8, nn)], 64)) : a("", !0)]));
9030
9073
  }
9031
- }), qt = [
9074
+ }), an = [
9032
9075
  "width",
9033
9076
  "height",
9034
9077
  "stroke",
9035
9078
  "stroke-width"
9036
- ], Jt = /* @__PURE__ */ d({
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, qt));
9099
+ }, [...n[0] ||= [s("polyline", { points: "20 6 9 17 4 12" }, null, -1)]], 10, an));
9057
9100
  }
9058
- }), Yt = [
9101
+ }), sn = [
9059
9102
  "width",
9060
9103
  "height",
9061
9104
  "stroke",
9062
9105
  "stroke-width"
9063
- ], Xt = /* @__PURE__ */ d({
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, Yt));
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
- }), Zt = [
9128
+ }), ln = [
9086
9129
  "width",
9087
9130
  "height",
9088
9131
  "stroke",
9089
9132
  "stroke-width"
9090
- ], Qt = /* @__PURE__ */ d({
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, Zt));
9153
+ }, [...n[0] ||= [s("path", { d: "M5 12h14" }, null, -1)]], 10, ln));
9111
9154
  }
9112
- }), $t = [
9155
+ }), dn = [
9113
9156
  "width",
9114
9157
  "height",
9115
9158
  "stroke",
9116
9159
  "stroke-width"
9117
- ], en = /* @__PURE__ */ d({
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, $t));
9184
+ }, null, -1), s("path", { d: "m21 21-4.3-4.3" }, null, -1)]], 10, dn));
9142
9185
  }
9143
- }), tn = ["aria-expanded"], nn = { class: "iccandle-scanner-symbol-search__chips" }, rn = {
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
- }, an = { class: "iccandle-scanner-symbol-search__chip-icon" }, on = { class: "iccandle-scanner-symbol-search__chip-label" }, sn = [
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
- ], cn = {
9193
+ ], yn = {
9151
9194
  key: 0,
9152
9195
  class: "iccandle-scanner-symbol-search__chip-overflow"
9153
- }, ln = { class: "iccandle-scanner-symbol-search__trigger-meta" }, un = { class: "iccandle-scanner-symbol-search__search" }, dn = [
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
- ], fn = {
9200
+ ], Cn = {
9158
9201
  key: 0,
9159
9202
  class: "iccandle-scanner-symbol-search__empty"
9160
- }, pn = {
9203
+ }, wn = {
9161
9204
  key: 1,
9162
9205
  class: "iccandle-scanner-symbol-search__select-all"
9163
- }, mn = ["aria-label"], hn = {
9206
+ }, Tn = ["aria-label"], En = {
9164
9207
  key: 0,
9165
9208
  class: "iccandle-scanner-symbol-search__check iccandle-scanner-symbol-search__check--on"
9166
- }, gn = {
9209
+ }, Dn = {
9167
9210
  key: 1,
9168
9211
  class: "iccandle-scanner-symbol-search__check iccandle-scanner-symbol-search__check--on"
9169
- }, _n = {
9212
+ }, On = {
9170
9213
  key: 2,
9171
9214
  class: "iccandle-scanner-symbol-search__check"
9172
- }, vn = { class: "iccandle-scanner-symbol-search__group-row" }, yn = ["aria-label", "onClick"], bn = {
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
- }, xn = {
9218
+ }, Mn = {
9176
9219
  key: 1,
9177
9220
  class: "iccandle-scanner-symbol-search__check iccandle-scanner-symbol-search__check--on"
9178
- }, Sn = {
9221
+ }, Nn = {
9179
9222
  key: 2,
9180
9223
  class: "iccandle-scanner-symbol-search__check"
9181
- }, Cn = ["aria-expanded", "onClick"], wn = ["aria-selected", "onClick"], Tn = { class: "iccandle-scanner-symbol-search__item-label" }, En = 3, Dn = /* @__PURE__ */ d({
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, En)), ne = r(() => F.value.length - I.value.length), L = r(() => {
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 U(e) {
9288
+ function re(e) {
9246
9289
  p("symbolChange", e, !f.selectedSymbols[e]);
9247
9290
  }
9248
- function W(e) {
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 G() {
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 re(e, t) {
9299
+ function ie(e, t) {
9257
9300
  t.preventDefault(), t.stopPropagation(), p("symbolChange", e, !1);
9258
9301
  }
9259
- function K() {
9302
+ function G() {
9260
9303
  E.value = !1, j.value = null, p("searchChange", "");
9261
9304
  }
9262
- function ie(e) {
9305
+ function K(e) {
9263
9306
  if (e) {
9264
9307
  E.value = !0;
9265
9308
  return;
9266
9309
  }
9267
- K();
9310
+ G();
9268
9311
  }
9269
- function ae() {
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 q(e) {
9323
+ function ae(e) {
9281
9324
  let t = e.target;
9282
- t && (b.value?.contains(t) || C.value?.contains(t) || K());
9325
+ t && (b.value?.contains(t) || C.value?.contains(t) || G());
9283
9326
  }
9284
9327
  function J(e) {
9285
- e.key === "Escape" && K();
9328
+ e.key === "Escape" && G();
9286
9329
  }
9287
9330
  function Y() {
9288
- ae();
9331
+ q();
9289
9332
  }
9290
9333
  M(E, async (e) => {
9291
- window.removeEventListener("resize", Y), window.removeEventListener("scroll", Y, !0), document.removeEventListener("mousedown", q), document.removeEventListener("keydown", J), e && (ae(), window.addEventListener("resize", Y), window.addEventListener("scroll", Y, !0), document.addEventListener("mousedown", q), document.addEventListener("keydown", J), await h(), requestAnimationFrame(() => {
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", q), document.removeEventListener("keydown", J);
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) => ie(!E.value)
9310
- }, [s("div", nn, [F.value.length === 0 ? (x(), o("span", rn, O(k(m)("Selector.searchSymbol")), 1)) : (x(), o(e, { key: 1 }, [(x(!0), o(e, null, T(I.value, (e) => (x(), o("span", {
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", an, [u(Kt, { name: e.ticker }, null, 8, ["name"])]),
9315
- s("span", on, O(e.display_name), 1),
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) => re(e.ticker, 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(dt, { size: 10 })], 40, sn)
9326
- ]))), 128)), ne.value > 0 ? (x(), o("span", cn, " +" + O(ne.value), 1)) : a("", !0)], 64))]), s("div", ln, [s("span", null, O(se.value), 1), u(Xt, {
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, tn), E.value && j.value ? (x(), i(t, {
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", un, [u(en, {
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, dn)]), s("div", {
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", fn, O(k(m)("Selector.noResultsFound")), 1)) : a("", !0),
9361
- z.value.length > 0 ? (x(), o("div", pn, [s("button", {
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: G
9366
- }, [oe.value === "all" ? (x(), o("div", hn, [u(Jt, { size: 12 })])) : oe.value === "some" ? (x(), o("div", gn, [u(Qt, { size: 12 })])) : (x(), o("div", _n))], 8, mn), s("button", {
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: G
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", vn, [s("button", {
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) => W(t.symbols), ["stop", "prevent"])
9379
- }, [B(t.symbols) === "all" ? (x(), o("div", bn, [u(Jt, { size: 12 })])) : B(t.symbols) === "some" ? (x(), o("div", xn, [u(Qt, { size: 12 })])) : (x(), o("div", Sn))], 8, yn), s("button", {
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(bt, {
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, Cn)]), V(t.type) ? (x(!0), o(e, { key: 0 }, T(t.symbols, (e) => (x(), o("button", {
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) => U(e.ticker)
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(Jt, {
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(Kt, { name: e.ticker }, null, 8, ["name"]),
9400
- s("div", Tn, O(e.display_name), 1)
9401
- ], 8, wn))), 128)) : a("", !0)]))), 128))
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
- }), On = { class: "iccandle-scanner-settings" }, kn = { class: "iccandle-scanner-settings__header" }, An = { class: "iccandle-scanner-settings__title-wrap" }, jn = { class: "iccandle-scanner-settings__title" }, Mn = { class: "iccandle-scanner-settings__description" }, Nn = ["aria-label"], Pn = { class: "iccandle-scanner-settings__body" }, Fn = { class: "iccandle-scanner-settings__section" }, In = { class: "iccandle-scanner-settings__section-title" }, Ln = { class: "iccandle-scanner-settings__section" }, Rn = { class: "iccandle-scanner-settings__section" }, zn = ["aria-expanded"], Bn = {
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
- }, Vn = { class: "iccandle-scanner-option__footer" }, Hn = {
9450
+ }, Qn = { class: "iccandle-scanner-option__footer" }, $n = {
9408
9451
  key: 0,
9409
9452
  class: "iccandle-scanner-option__error"
9410
- }, Un = { class: "iccandle-scanner-option__actions" }, Wn = { class: "iccandle-scanner-option__always-show" }, Gn = ["checked"], Kn = {
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
- }, qn = { class: "iccandle-scanner-option__buttons" }, Jn = /* @__PURE__ */ d({
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 = xe();
9481
+ let e = Te();
9439
9482
  return Object.keys(e).length > 0 ? e : null;
9440
9483
  }
9441
9484
  function _(e, t) {
9442
- return e && !Ee(e) && e.symbols?.length ? e.symbols : t ? [t] : [];
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, t) {
9448
- return e?.timeframe ? e.timeframe : t === "1" || t === "5" ? "60" : t || "60";
9449
- }
9450
- let T = w(localStorage.getItem("iccandle_token") ? null : "free"), ee = r(() => c(T.value)), E = r(() => T.value === "pro" || T.value === "expert"), D = w(ve()), A = h(), j = A?.top_k ?? 30, N = w(""), te = w(""), P = null, I = w(!1), L = w((() => {
9451
- let e = Ft(A?.model);
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(A, d.timeframe),
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 U = r(() => {
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
- }), W = r(() => {
9520
+ }), U = r(() => {
9471
9521
  let e = te.value.toLowerCase();
9472
9522
  return Z.filter((t) => t.display_name.toLowerCase().includes(e));
9473
- }), G = r(() => Object.values(z.value).filter(Boolean).length);
9474
- function re(e) {
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 K(e, t) {
9533
+ function G(e, t) {
9484
9534
  let n = {
9485
9535
  ...z.value,
9486
9536
  [e]: t
9487
9537
  };
9488
- z.value = n, re(n);
9538
+ z.value = n, ie(n);
9489
9539
  }
9490
- function ie(e, t) {
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, re(n);
9543
+ z.value = n, ie(n);
9494
9544
  }
9495
- function ae() {
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
- Ce({
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), ye(D.value), d.setResolution(H.timeframe), f("cancel"), d.intent === "settings" ? me({
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 q(e) {
9522
- e.preventDefault(), ae();
9571
+ function ae(e) {
9572
+ e.preventDefault(), q();
9523
9573
  }
9524
9574
  function J(e) {
9525
- D.value = e, ye(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", On, [
9552
- s("div", kn, [s("div", An, [s("div", jn, O(k(m)("Selector.scannerOptions")), 1), s("div", Mn, O(k(m)("Selector.scannerOptionsDescription")), 1)]), s("button", {
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(dt, { size: 20 })], 8, Nn)]),
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: q
9562
- }, [s("div", Pn, [
9563
- s("section", Fn, [s("h3", In, O(k(m)("Selector.tabSymbols")), 1), u(Dn, {
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": W.value,
9567
- "selected-count": G.value,
9568
- "logo-by-ticker": U.value,
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: K,
9572
- onGroupChange: ie
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", Ln, [u(Vt, {
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", Rn, [s("button", {
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, zn), I.value ? (x(), o("div", Bn, [u(Mt, {
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", Vn, [B.value ? (x(), o("p", Hn, O(B.value), 1)) : a("", !0), s("div", Un, [s("div", Wn, [s("input", {
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, Gn), s("label", Kn, O(k(m)("Selector.alwaysShow")), 1)]), s("div", qn, [s("button", {
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(Le, {
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
- }), Yn = /* @__PURE__ */ d({
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(Jn, {
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
- }), Xn = [
9722
+ }), sr = [
9673
9723
  "width",
9674
9724
  "height",
9675
9725
  "stroke"
9676
- ], Zn = /* @__PURE__ */ d({
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, Xn));
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
- }), Qn = ["width", "height"], $n = ["stroke"], er = ["stroke"], tr = /* @__PURE__ */ d({
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, $n), s("path", {
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, er)], 10, Qn));
9774
+ }, null, 8, dr)], 10, lr));
9725
9775
  }
9726
- }), nr = { class: "iccandle-pattern-alert-name" }, rr = { class: "iccandle-pattern-alert-name__header" }, ir = { class: "iccandle-pattern-alert-name__title-row" }, ar = { class: "iccandle-pattern-alert-name__title" }, or = ["aria-label"], sr = { class: "iccandle-pattern-alert-name__description" }, cr = { class: "iccandle-pattern-alert-name__content" }, lr = { class: "iccandle-pattern-alert-name__form" }, ur = { class: "iccandle-pattern-alert-name__field" }, dr = {
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
- }, fr = ["placeholder", "value"], pr = {
9779
+ }, Cr = ["placeholder", "value"], wr = {
9730
9780
  key: 0,
9731
9781
  class: "iccandle-pattern-alert-name__error"
9732
- }, mr = {
9782
+ }, Tr = {
9733
9783
  key: 1,
9734
9784
  class: "iccandle-pattern-alert-name__error"
9735
- }, hr = { class: "iccandle-pattern-alert-name__footer-wrap" }, gr = { class: "iccandle-pattern-alert-name__footer" }, _r = ["disabled"], vr = /* @__PURE__ */ d({
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", nr, [
9750
- s("div", rr, [s("div", ir, [s("h2", ar, [u(We, {
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(tr, { size: 20 })], 8, or)]), s("p", sr, O(k(r)("Pattern.addToPatternTrackerDescription")), 1)]),
9759
- s("div", cr, [u(Zn, {
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", lr, [s("div", ur, [
9763
- s("label", dr, O(k(r)("Pattern.patternName")), 1),
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, fr),
9773
- e.patternName.length === 20 ? (x(), o("p", pr, O(k(r)("Pattern.patternNameMaxChars")), 1)) : e.patternName.trim().length > 0 && e.patternName.trim().length < 5 ? (x(), o("p", mr, O(k(r)("Pattern.patternNameMinChars")), 1)) : a("", !0)
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", hr, [n[3] ||= s("hr", { class: "iccandle-pattern-alert-name__divider" }, null, -1), s("div", gr, [s("button", {
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, _r)])])
9834
+ }, O(k(r)("Common.next")), 9, Or)])])
9785
9835
  ]));
9786
9836
  }
9787
- }), yr = [
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
- ], br = ["aria-expanded"], xr = { class: "iccandle-scanner-timeframe-search__chips" }, Sr = {
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
- }, Cr = { class: "iccandle-scanner-timeframe-search__chip-label" }, wr = [
9877
+ }, Pr = { class: "iccandle-scanner-timeframe-search__chip-label" }, Fr = [
9828
9878
  "aria-label",
9829
9879
  "onClick",
9830
9880
  "onKeydown"
9831
- ], Tr = { class: "iccandle-scanner-timeframe-search__trigger-meta" }, Er = { class: "iccandle-scanner-timeframe-search__search" }, Dr = [
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
- ], Or = {
9885
+ ], zr = {
9836
9886
  key: 0,
9837
9887
  class: "iccandle-scanner-timeframe-search__empty"
9838
- }, kr = {
9888
+ }, Br = {
9839
9889
  key: 1,
9840
9890
  class: "iccandle-scanner-timeframe-search__select-all"
9841
- }, Ar = ["aria-label"], jr = {
9891
+ }, Vr = ["aria-label"], Hr = {
9842
9892
  key: 0,
9843
9893
  class: "iccandle-scanner-timeframe-search__check iccandle-scanner-timeframe-search__check--on"
9844
- }, Mr = {
9894
+ }, Ur = {
9845
9895
  key: 1,
9846
9896
  class: "iccandle-scanner-timeframe-search__check iccandle-scanner-timeframe-search__check--on"
9847
- }, Nr = {
9897
+ }, Wr = {
9848
9898
  key: 2,
9849
9899
  class: "iccandle-scanner-timeframe-search__check"
9850
- }, Pr = ["aria-selected", "onClick"], Fr = { class: "iccandle-scanner-timeframe-search__item-label" }, Ir = { class: "iccandle-scanner-timeframe-search__item-description" }, Lr = /* @__PURE__ */ d({
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 ?? yr), j = r(() => l.filteredTimeframes ?? yr), N = r(() => A.value.filter((e) => l.selectedTimeframes[e.value]));
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 U = r(() => te(j.value)), W = r(() => l.selectedCount <= 1 ? f("Pattern.timeframeSelected", { count: l.selectedCount }) : f("Pattern.timeframesSelected", { count: l.selectedCount })), G = r(() => E.value ? Math.max(120, E.value.maxHeight - 48) : 120);
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", xr, [N.value.length === 0 ? (x(), o("span", Sr, O(k(f)("Selector.searchTimeframe")), 1)) : (x(!0), o(e, { key: 1 }, T(N.value, (e) => (x(), o("span", {
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", Cr, O(e.label), 1), 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(dt, { size: 10 })], 40, wr)]))), 128))]), s("div", Tr, [s("span", null, O(W.value), 1), u(Xt, {
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, br), (x(), i(t, { to: C.value }, [S.value && E.value ? (x(), o("div", {
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", Er, [u(en, {
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, Dr)]), s("div", {
10031
+ }, null, 40, Rr)]), s("div", {
9982
10032
  class: "iccandle-scanner-timeframe-search__command-list",
9983
- style: _({ maxHeight: `${G.value}px` })
10033
+ style: _({ maxHeight: `${W.value}px` })
9984
10034
  }, [
9985
- n.searchTerm.trim() && j.value.length === 0 ? (x(), o("div", Or, O(k(f)("Selector.noResultsFound")), 1)) : a("", !0),
9986
- j.value.length > 0 ? (x(), o("div", kr, [s("button", {
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
- }, [U.value === "all" ? (x(), o("div", jr, [u(Jt, { size: 12 })])) : U.value === "some" ? (x(), o("div", Mr, [u(Qt, { size: 12 })])) : (x(), o("div", Nr))], 8, Ar), s("button", {
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(Jt, {
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", Fr, O(P(e.value)), 1),
10009
- s("span", Ir, O(F(e.value)), 1)
10010
- ], 8, Pr))), 128))
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
- }), Rr = { class: "iccandle-timeframes-tab" }, zr = { class: "iccandle-timeframes-tab__header" }, Br = { class: "iccandle-timeframes-tab__title" }, Vr = /* @__PURE__ */ d({
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 yr.filter((t) => {
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 = yr.filter((t) => e[t.value]).map((e) => e.value);
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", Rr, [s("div", zr, [s("h3", Br, O(k(n)("Pattern.selectTimeframes")), 1)]), u(Lr, {
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(yr)],
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
- }), Hr = { class: "iccandle-symbols-tab" }, Ur = { class: "iccandle-symbols-tab__header" }, Wr = { class: "iccandle-symbols-tab__title" }, Gr = /* @__PURE__ */ d({
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", Hr, [s("div", Ur, [s("h3", Wr, O(k(n)("Pattern.signalDialog.selectCurrencyPairs")), 1)]), u(Dn, {
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
- }), Kr = [
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
- ], qr = [
10195
+ ], ii = [
10146
10196
  {
10147
10197
  value: "all_time",
10148
10198
  label: "All time"
10149
10199
  },
10150
- ...Kr.map((e) => ({
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
- ], Jr = (e) => {
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
- }, Yr = (e, t) => Jr(new Intl.DateTimeFormat("en-US", {
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"), Xr = (e, t, n) => {
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 - Yr(new Date(o), t) * 6e4;
10169
- return s = o - Yr(new Date(s), t) * 6e4, new Intl.DateTimeFormat("en-GB", {
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
- }, Zr = (e, t) => {
10176
- let n = Kr.find((t) => t.value === e);
10225
+ }, ci = (e, t) => {
10226
+ let n = ri.find((t) => t.value === e);
10177
10227
  return n ? {
10178
- start_time: Xr(n.start, n.timezone, t),
10179
- end_time: Xr(n.end, n.timezone, t),
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
- }, Qr = (e, t) => {
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 = Zr(e.preset_session, n);
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 = Kr.find((t) => {
10193
- let r = Zr(t.value, n);
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
- }, $r = (e) => {
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
- }, ei = { class: "iccandle-time-config-section__header" }, ti = { class: "iccandle-time-config-section__title" }, ni = { class: "iccandle-time-config-section__fields" }, ri = { class: "iccandle-time-config-section__row" }, ii = { class: "iccandle-time-config-section__field" }, ai = { class: "iccandle-time-config-section__label" }, oi = ["aria-expanded"], si = { class: "iccandle-time-config-section__select-label" }, ci = { class: "iccandle-time-config-section__field" }, li = { class: "iccandle-time-config-section__label" }, ui = ["aria-expanded", "disabled"], di = { class: "iccandle-time-config-section__select-label" }, fi = { class: "iccandle-time-config-section__row" }, pi = { class: "iccandle-time-config-section__field" }, mi = { class: "iccandle-time-config-section__label" }, hi = ["disabled", "value"], gi = { class: "iccandle-time-config-section__field" }, _i = { class: "iccandle-time-config-section__label" }, vi = ["disabled", "value"], yi = { class: "iccandle-time-config-section__dropdown-search" }, bi = ["placeholder"], xi = {
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
- }, Si = {
10253
+ }, Ni = {
10204
10254
  key: 0,
10205
10255
  class: "iccandle-time-config-section__dropdown-empty"
10206
- }, Ci = ["aria-selected", "onClick"], wi = { class: "iccandle-time-config-section__dropdown-header" }, Ti = { class: "iccandle-time-config-section__dropdown-title" }, Ei = { class: "iccandle-time-config-section__dropdown-subtitle" }, Di = { class: "iccandle-time-config-section__dropdown-search" }, Oi = ["placeholder"], ki = {
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
- }, Ai = {
10259
+ }, Vi = {
10210
10260
  key: 0,
10211
10261
  class: "iccandle-time-config-section__dropdown-empty"
10212
- }, ji = ["aria-selected", "onClick"], Mi = /* @__PURE__ */ d({
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(() => Qr(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(() => $r(L)), U = 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 ? qr.filter((t) => z(t.value).toLowerCase().includes(e) || t.value.toLowerCase().includes(e)) : qr;
10239
- }), W = r(() => f(H.value, P.value)), G = r(() => `iccandle-time-config-section ${d.containerClassName}`.trim());
10240
- function re(e, t) {
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 K() {
10300
+ function G() {
10251
10301
  A.value = !1, N.value = "", F.value = null;
10252
10302
  }
10253
- function ie() {
10303
+ function K() {
10254
10304
  D.value = !1, P.value = "", I.value = null;
10255
10305
  }
10256
- function ae(e, t) {
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 q(e) {
10265
- if (K(), e === "all_time") {
10266
- d.timeconfig && d.onTimeConfigChange(void 0, { shouldDirty: !0 }), ie();
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 = Zr(e, d.timeconfig?.timezone || L);
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 = Zr(R.value, e);
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
- ie();
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 && re(y.value, (e) => {
10358
+ A.value && ie(y.value, (e) => {
10309
10359
  F.value = e;
10310
- }), D.value && re(b.value, (e) => {
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 && K(), D.value && ie()));
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 && K(), D.value && ie());
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(G.value)
10384
+ class: g(W.value)
10335
10385
  }, [
10336
- s("div", ei, [s("h3", ti, O(k(p)("TimeConfig.title")), 1)]),
10337
- s("div", ni, [s("div", ri, [s("div", ii, [s("label", ai, 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", {
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
- K();
10396
+ G();
10347
10397
  return;
10348
10398
  }
10349
- ie(), A.value = !0;
10399
+ K(), A.value = !0;
10350
10400
  }
10351
- }, [s("span", si, O(z(R.value) || k(p)("TimeConfig.selectSession")), 1)], 8, oi)], 2)]), s("div", ci, [s("label", li, 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", {
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
- ie();
10411
+ K();
10362
10412
  return;
10363
10413
  }
10364
- K(), D.value = !0;
10414
+ G(), D.value = !0;
10365
10415
  }
10366
- }, [s("span", di, O(V.value), 1)], 8, ui)], 2)])]), s("div", fi, [s("div", pi, [s("label", mi, O(k(p)("TimeConfig.startTime")), 1), s("input", {
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) => ae("start_time", e.target.value),
10421
+ onInput: c[2] ||= (e) => q("start_time", e.target.value),
10372
10422
  onClick: Y
10373
- }, null, 40, hi)]), s("div", gi, [s("label", _i, O(k(p)("TimeConfig.endTime")), 1), s("input", {
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) => ae("end_time", e.target.value),
10428
+ onInput: c[3] ||= (e) => q("end_time", e.target.value),
10379
10429
  onClick: Y
10380
- }, null, 40, vi)])])]),
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", yi, [te(s("input", {
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, bi), [[j, N.value]])]), s("ul", {
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", xi, O(k(p)("TimeConfig.sessionsHeading")), 1), U.value.length === 0 ? (x(), o("li", Si, O(k(p)("TimeConfig.noSessionFound")), 1)) : (x(!0), o(e, { key: 1 }, T(U.value, (e) => (x(), o("li", { key: e.value }, [s("button", {
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) => q(e.value)
10408
- }, [u(Jt, { "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, Ci)]))), 128))], 4)], 6)) : a("", !0)], 8, ["to"])),
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", wi, [s("p", Ti, O(k(p)("TimeConfig.selectTimezone")), 1), s("p", Ei, O(k(p)("TimeConfig.selectTimezoneHint")), 1)]),
10423
- s("div", Di, [te(s("input", {
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, Oi), [[j, P.value]])]),
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", ki, O(k(p)("TimeConfig.timezonesHeading")), 1), W.value.length === 0 ? (x(), o("li", Ai, O(k(p)("TimeConfig.noTimezoneFound")), 1)) : (x(!0), o(e, { key: 1 }, T(W.value, (e) => (x(), o("li", { key: e }, [s("button", {
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(Jt, { "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, ji)]))), 128))], 4)
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
- }), Ni = { class: "iccandle-pattern-alert-settings" }, Pi = { class: "iccandle-pattern-alert-settings__header-row" }, Fi = { class: "iccandle-pattern-alert-settings__header" }, Ii = { class: "iccandle-pattern-alert-settings__title-row" }, Li = { class: "iccandle-pattern-alert-settings__title" }, Ri = { class: "iccandle-pattern-alert-settings__title-text" }, zi = ["aria-label"], Bi = { class: "iccandle-pattern-alert-settings__sections" }, Vi = { class: "iccandle-pattern-alert-settings__section" }, Hi = { class: "iccandle-pattern-alert-settings__section" }, Ui = { class: "iccandle-pattern-alert-settings__section" }, Wi = { class: "iccandle-pattern-alert-settings__footer" }, Gi = {
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
- }, Ki = ["disabled"], qi = /* @__PURE__ */ d({
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", Ni, [
10484
- s("div", Pi, [u(We, {
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", Fi, [s("div", Ii, [s("h2", Li, [s("span", Ri, O(k(n)("Pattern.configurePatternTracker")), 1)]), s("button", {
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(tr, { size: 16 })], 8, zi)])])]),
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", Bi, [
10498
- s("section", Vi, [u(Vr, { form: e.form }, null, 8, ["form"])]),
10499
- s("section", Hi, [u(Gr, { form: e.form }, null, 8, ["form"])]),
10500
- s("section", Ui, [u(Mi, {
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", Wi, [f.value ? (x(), o("p", Gi, 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", {
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, Ki)], 2)])
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 Ji(e) {
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 Yi = F.create({
10580
+ var oa = F.create({
10531
10581
  timeout: 6e4,
10532
10582
  baseURL: ne
10533
10583
  });
10534
- Yi.interceptors.request.use(async (e) => {
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)), Yi.interceptors.response.use((e) => e, async (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 Xi() {
10542
- let { data: e } = await Yi.get("/credits/v1/me");
10591
+ async function sa() {
10592
+ let { data: e } = await oa.get("/credits/v1/me");
10543
10593
  return e;
10544
10594
  }
10545
- function Zi(e) {
10595
+ function ca(e) {
10546
10596
  return e.usage?.pattern;
10547
10597
  }
10548
- function Qi(e) {
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 $i = (e) => {
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 = $i(e[t]);
10607
+ let n = ua(e[t]);
10558
10608
  if (n) return n;
10559
10609
  }
10560
10610
  return R;
10561
- }, ea = (e) => I(e) ? $i(e.response?.data) : e.message, ta = "pattern.custom_pattern_saved";
10562
- function na() {
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: ta,
10614
+ name: fa,
10565
10615
  data: null
10566
10616
  });
10567
10617
  }
10568
- function ra(e, t, n = 0) {
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
- ra(e.contentDocument, t, n + 1);
10624
+ ma(e.contentDocument, t, n + 1);
10575
10625
  } catch {}
10576
10626
  }
10577
10627
  });
10578
10628
  }
10579
- function ia() {
10629
+ function ha() {
10580
10630
  if (typeof document > "u") return;
10581
- let e = na(), t = /* @__PURE__ */ new Set();
10582
- ra(document, t), t.forEach((t) => t.postMessage(e, "*"));
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 aa = ["aria-label"], oa = /* @__PURE__ */ d({
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 Xi(), t = Zi(e);
10718
+ let e = await sa(), t = ca(e);
10669
10719
  if (t && t.remaining <= 0) {
10670
- let t = Qi(e), n = t === "free", r = t === "expert";
10671
- me({
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 Ji(a), ia(), me({
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 = ea(e);
10689
- p.value = t, me({
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(qi, {
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(vr, {
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, aa)) : a("", !0)]));
10787
+ }, null, 8, ["pattern-name", "on-cancel"]))], 38)], 46, ga)) : a("", !0)]));
10738
10788
  }
10739
- }), sa = { class: "iccandle-event-info-modal__header" }, ca = { class: "iccandle-event-info-modal__title-row" }, la = { class: "iccandle-event-info-modal__title" }, ua = ["aria-label"], da = {
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
- }, fa = { class: "iccandle-event-info-modal__rows" }, pa = { class: "iccandle-event-info-modal__row" }, ma = { class: "iccandle-event-info-modal__label" }, ha = { class: "iccandle-event-info-modal__value" }, ga = { class: "iccandle-event-info-modal__row" }, _a = { class: "iccandle-event-info-modal__label" }, va = { class: "iccandle-event-info-modal__value" }, ya = { class: "iccandle-event-info-modal__row" }, ba = { class: "iccandle-event-info-modal__label" }, xa = { class: "iccandle-event-info-modal__value" }, Sa = { class: "iccandle-event-info-modal__row" }, Ca = { class: "iccandle-event-info-modal__label" }, wa = { class: "iccandle-event-info-modal__actions" }, Ta = /* @__PURE__ */ d({
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", sa, [s("div", ca, [u(Kt, { name: e.event.default_symbol || e.symbol || "" }, null, 8, ["name"]), s("h3", la, O(e.event.event_name), 1)]), s("button", {
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(dt, { size: 20 })], 8, ua)]),
10807
- s("div", null, [e.event.timestamp ? (x(), o("p", da, O(f(e.event.timestamp, k(c))), 1)) : a("", !0), s("div", fa, [
10808
- s("div", pa, [s("span", ma, O(k(i)("Common.actual")) + ": ", 1), s("span", ha, O(e.event.actual || "-"), 1)]),
10809
- s("div", ga, [s("span", _a, O(k(i)("News.previousActual")) + ": ", 1), s("span", va, O(e.event.previous || "-"), 1)]),
10810
- s("div", ya, [s("span", ba, O(k(i)("News.currentForecast")) + ": ", 1), s("span", xa, O(e.event.forecast || "-"), 1)]),
10811
- s("div", Sa, [s("span", Ca, O(k(i)("News.previousForecast")) + ": ", 1), n[1] ||= s("span", { class: "iccandle-event-info-modal__value" }, "-", -1)])
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", wa, [s("button", {
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
- }), Ea = ["width", "height"], Da = ["stroke"], Oa = ["stroke"], ka = ["stroke"], Aa = /* @__PURE__ */ d({
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, Da),
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, Oa),
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, ka)
10861
- ], 10, Ea));
10910
+ }, null, 8, Ba)
10911
+ ], 10, La));
10862
10912
  }
10863
- }), ja = [
10913
+ }), Ha = [
10864
10914
  "width",
10865
10915
  "height",
10866
10916
  "stroke"
10867
- ], Ma = /* @__PURE__ */ d({
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, ja));
10940
+ }, null, -1), s("path", { d: "m9 12 2 2 4-4" }, null, -1)]], 10, Ha));
10891
10941
  }
10892
- }), Na = [
10942
+ }), Wa = [
10893
10943
  "width",
10894
10944
  "height",
10895
10945
  "stroke"
10896
- ], Pa = /* @__PURE__ */ d({
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, Na));
10983
+ ]], 10, Wa));
10934
10984
  }
10935
- }), Fa = {
10985
+ }), Ka = {
10936
10986
  class: "custom-toast",
10937
10987
  role: "alert"
10938
- }, Ia = { class: "custom-toast__icon-wrap" }, La = { class: "custom-toast__content" }, Ra = { class: "custom-toast__header" }, za = { class: "custom-toast__title" }, Ba = {
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
- }, Va = {
10991
+ }, Qa = {
10942
10992
  key: 1,
10943
10993
  class: "custom-toast__actions"
10944
- }, Ha = /* @__PURE__ */ d({
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 Aa;
10951
- case "success": return Ma;
10952
- case "error": return Pa;
10953
- default: return Zn;
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(), pe(t.toast.id);
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?.(), pe(t.toast.id);
11011
+ e && typeof e == "object" && e.onClick?.(), _e(t.toast.id);
10962
11012
  }
10963
- return (t, r) => (x(), o("div", Fa, [s("div", Ia, [(x(), i(E(n.value), { class: "custom-toast__icon" }))]), s("div", La, [
10964
- s("div", Ra, [s("p", za, O(e.toast.title), 1)]),
10965
- e.toast.description ? (x(), o("p", Ba, O(e.toast.description), 1)) : a("", !0),
10966
- e.toast.action || e.toast.dismiss ? (x(), o("div", Va, [e.toast.action ? (x(), o("button", {
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
- }), Ua = /*#__PURE__*/ ((e, t) => {
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(fe), (e) => (x(), i(Ha, {
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"]]), Wa = "#00dfb9";
11009
- function Ga(e) {
11010
- let t = e || Wa;
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 Ka = "\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 ", qa = {
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
- }, Ja = {
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 Ya(e, t) {
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 Xa(e, t, n = 1) {
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 Za(e) {
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 Qa(e, t, n = []) {
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 = Za(e.map((e) => Math.abs(e.c - e.o))), a = Xa(Za(r), i), o = e[0].o, s = t.c;
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 $a = "America/New_York", eo = 17, to = {
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
- }, no = new Intl.DateTimeFormat("en-US", {
11125
- timeZone: $a,
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
- }), ro = (e) => {
11131
- let t = no.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;
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: to[n] ?? 0,
11183
+ day: po[n] ?? 0,
11134
11184
  hour: i
11135
11185
  };
11136
- }, io = (e) => {
11137
- let { day: t, hour: n } = ro(e);
11138
- return t === 6 ? !1 : t === 0 ? n >= eo : t !== 5 || n < eo;
11139
- }, ao = (e, t) => {
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 && !io(n); e++) n += t;
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
- }, oo = (e, t, n) => {
11144
- let r = W(t) * 1e3, i = [], a = e;
11145
- for (let e = 0; e < n; e++) a += r, io(a) || (a = ao(a, r)), i.push(a);
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
- }, so = (e, t, n, r) => {
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 = W(t) * 1e3;
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 oo(e, t, n);
11154
- let i = W(t) * 1e3;
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
- }, co = (e, t, n, r) => {
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 = W(n) * 1e3;
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 = W(n) * 1e3, i = 0, a = e;
11163
- for (; a < t;) a += r, io(a) || (a = ao(a, r)), a <= t && i++;
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 = W(n) * 1e3;
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 lo() {
11276
+ function jo() {
11194
11277
  return $;
11195
11278
  }
11196
11279
  //#endregion
11197
11280
  //#region src/lib/play-chart.ts
11198
- var uo = null, fo = !1, po = !1, mo = 0, ho = !1;
11199
- function go(e) {
11200
- Number.isFinite(e) && e > mo && (mo = 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 _o() {
11203
- mo = 0;
11288
+ function zo() {
11289
+ Fo = 0;
11204
11290
  }
11205
- function vo() {
11206
- return ho;
11291
+ function Bo() {
11292
+ return Io;
11207
11293
  }
11208
- function yo() {
11209
- ho = !1;
11294
+ function Vo() {
11295
+ Io = !1;
11210
11296
  }
11211
- function bo(e) {
11297
+ function Ho(e) {
11212
11298
  return typeof e == "function" && typeof e.onReady != "function";
11213
11299
  }
11214
- function xo(e) {
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 So(e) {
11218
- return uo = e, (t) => {
11219
- t?.time && go(t.time), !(!fo && po) && e(t);
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 Co(e) {
11223
- xo(e);
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 && go(n.time), i(e, t);
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, So(r), i, a);
11319
+ if (n) return n(e, t, Wo(r), i, a);
11234
11320
  }
11235
11321
  });
11236
11322
  }
11237
- function wo(e, ...t) {
11238
- if (bo(e)) {
11239
- if (t.length > 0) return Co(e(...t));
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 Co(e);
11328
+ return Go(e);
11243
11329
  }
11244
- function To(e) {
11245
- po = e;
11330
+ function qo(e) {
11331
+ Po = e;
11246
11332
  }
11247
- function Eo(e) {
11248
- if (!uo) return !1;
11249
- if (mo > 0 && e.time < mo) return !0;
11250
- fo = !0;
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
- go(e.time), ho = !0, uo(e);
11338
+ Lo(e.time), Io = !0, Mo(e);
11253
11339
  } finally {
11254
- fo = !1;
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 Do = [], Oo = (e) => {
11261
- Do = e;
11262
- }, ko = () => Do, Ao = (e) => e > 1e11 ? e : e * 1e3, jo = (e, t) => {
11263
- let n = Ao(e);
11264
- return t.find((e) => Ao(e.time) === n);
11265
- }, Mo = "Generated Candles - By iC Candle", No = "Generated Candles Background - By iC Candle", Po = "revealed_count", Fo = {
11266
- id: Po,
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
- }, Io = (e) => {
11358
+ }, as = (e) => {
11273
11359
  let t = Math.max(0, Number(e(0)) || 0);
11274
- return ko().slice(0, t);
11275
- }, Lo = (e, t) => !!jo(e, t), Ro = ({ id: e, description: t, shortDescription: n, isHiddenStudy: r, bodyColors: i, wickColors: a, borderColors: o }) => ({
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: [Fo],
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: { [Po]: 0 }
11502
+ inputs: { [rs]: 0 }
11417
11503
  }
11418
- }), zo = 0, Bo = (e = "light") => H[e], Vo = [
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
- ], Ho = (e) => function() {
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 = Io(n);
11432
- return !Number.isFinite(r) || !i.length || !Lo(r, i) ? [...Vo] : e(t, i);
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
- }, Uo = (e = "light") => {
11435
- let t = Bo(e), n = {
11436
- name: No,
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: No,
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: [Fo],
11533
+ inputs: [is],
11448
11534
  palettes: {
11449
11535
  prediction_bar_palette: {
11450
11536
  colors: { 0: { name: "Predicted Bar" } },
11451
- valToIndex: { [zo]: 0 }
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: { [Po]: 0 }
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 = Io(t);
11538
- if (!Number.isFinite(n) || !Lo(n, r)) return [
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
- zo,
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: Mo,
11563
- metainfo: Ro({
11648
+ name: ts,
11649
+ metainfo: ss({
11564
11650
  id: "Generated Candles - By iC Candle@tv-basicstudies-1",
11565
- description: Mo,
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: Ho((e, t) => {
11573
- let n = jo(e.symbol.time, t);
11574
- if (!n) return [...Vo];
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
- }, Wo = (e, t) => {
11674
+ }, ps = (e, t) => {
11589
11675
  if (t) try {
11590
11676
  e.removeEntity(t);
11591
11677
  } catch {}
11592
- }, Go = (e) => ({
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
- }), Ko = (e, t) => {
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
- }, qo = (e) => {
11690
+ }, gs = (e) => {
11605
11691
  try {
11606
11692
  e.getSeries().bringToFront();
11607
11693
  } catch {}
11608
- }, Jo = async (e, t, n) => {
11609
- Wo(e, t.generatedCandlesStudyIdRef.current), Wo(e, t.generatedCandlesBackgroundStudyIdRef.current), t.generatedCandlesStudyIdRef.current = null, t.generatedCandlesBackgroundStudyIdRef.current = null;
11610
- let r = await e.createStudy(No, !0, !0, void 0, Go(n));
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(Mo, !0, !0);
11613
- i && (t.generatedCandlesStudyIdRef.current = i), Ko(e, t);
11614
- }, Yo = (e, t, n) => {
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: Po,
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 Xo(e, t, n, r, i, a) {
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
- Yo(r.activeChart(), t, n);
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 = U(n.value), s = ct(c[0].timestamp, n.value) / 1e3 - 100 * i, l;
11637
- if (r > 0 && t.length > 0) l = Ao(t[r - 1].time) / 1e3 + 100 / 3 * i;
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 ? Ao(e.time) : ct(c[c.length - 1].timestamp, n.value)) / 1e3 + 100 / 3 * i;
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 && Eo(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
- Yo(e, t, 0), Ko(e, t);
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 Jo(n.activeChart(), t, a.value);
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 || (To(!1), c.current = i.value, o.current = e);
11696
- }, _ = async (n, r = []) => {
11697
- if (l || (To(!0), Oo(n), o.current = [], await h(), l)) return;
11698
- if (p(n, 0, r), r.length > 0) for (let e of r) {
11699
- if (l) return;
11700
- Eo(e);
11701
- }
11702
- if (await m(n, 100, (e) => {
11703
- f(e), o.current = n.slice(0, e);
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 i = e.value;
11706
- if (i) try {
11707
- Ko(i.activeChart(), t);
11795
+ let a = e.value;
11796
+ if (a) try {
11797
+ hs(a.activeChart(), t);
11708
11798
  } catch {}
11709
- g(n);
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
- let e = Qa([...a].slice(-50 - (f || 0)), u[u.length - 1], u), t = Z.find((e) => e.ticker === r.value || e.display_name === r.value)?.session || "24x7", i = u[u.length - 1], o = ct(i.timestamp, n.value);
11716
- $.playEndTimestamp != null && !f && (o = ct($.playEndTimestamp, n.value));
11717
- let s = i.c, l = so(o, n.value, f || 0, t), d = l.map((e) => ({
11718
- open: s,
11719
- high: s,
11720
- low: s,
11721
- close: s,
11722
- time: e
11723
- })), m = so(f ? l[l.length - 1] : o, n.value, e.length, t), h = [...e.map((e, t) => ({
11724
- open: e.o,
11725
- high: e.h,
11726
- low: e.l,
11727
- close: e.c,
11728
- time: ct(m[t], n.value)
11729
- }))].sort((e, t) => e.time - t.time);
11730
- try {
11731
- p?.onChartReady(() => {
11732
- _(h, d);
11733
- });
11734
- } catch {
11735
- _(h, d);
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 (To(!1), Oo([]), c.current = null, o.current = [], p) try {
11739
- Yo(p.activeChart(), t, 0);
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 && qo(p.activeChart());
11847
+ p && gs(p.activeChart());
11744
11848
  });
11745
11849
  } catch {}
11746
11850
  }
11747
11851
  s.current = a;
11748
11852
  }, b = () => {
11749
- l = !0, d(), To(!1);
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
- Oo([]), o.current = [];
11871
+ Zo([]), o.current = [];
11768
11872
  let n = e.value;
11769
11873
  if (n) try {
11770
- Yo(n.activeChart(), t, 0);
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 Zo = (e) => Number(lt(e)), Qo = (e) => ({
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: Zo(e[0])
11783
- }), $o = (e) => Zo(e[0]), es = (e, t) => {
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 = $o(e[i]);
11890
+ let a = Ss(e[i]);
11787
11891
  a <= t && a >= r && (r = a, n = i);
11788
11892
  }
11789
11893
  return n;
11790
- }, ts = (e, t = 500) => new Promise((n) => {
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
- }), ns = (e, t, n) => t >= e && t - e < n, rs = (e, t) => {
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
- }, is = (e) => {
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
- }, as = (e, t) => {
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
- }, os = async (e, t) => {
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 = Zo(t), i = n.getVisibleRange(), a;
11828
- a = i?.from != null && i?.to != null && i.to > i.from ? (i.to - i.from) / 2 : 100 * W(n.resolution()) / 2, await n.setVisibleRange({
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 ts(n);
11935
+ }), await ws(n);
11832
11936
  } catch (e) {
11833
11937
  console.error("Error centering visible range on event", e);
11834
11938
  }
11835
- }, ss = async (e, t, n) => {
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 = W(r.resolution()), i = Zo(t), { data: a } = await r.exportData({
11951
+ let e = r.resolution(), i = K(e), a = bs(t), { data: o } = await r.exportData({
11848
11952
  includedStudies: [],
11849
- from: i - 5 * e,
11850
- to: i + e
11851
- }), o = a ?? [], s = es(o, i), c = i - i % e, l = s >= 0 && ns($o(o[s]), i, e) ? $o(o[s]) : c, u = await r.createShape({ time: l }, {
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
- u && (r.getShapeById(u)?.setSavingEnabled(!1), n.current = u);
11964
+ d && (r.getShapeById(d)?.setSavingEnabled(!1), n.current = d);
11861
11965
  } catch {}
11862
11966
  } catch {}
11863
- }, cs = async (e, t) => {
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 = W(n.resolution()), { data: i } = await n.exportData();
11970
+ let n = e.activeChart(), r = K(n.resolution()), { data: i } = await n.exportData();
11867
11971
  if (!i?.length) return;
11868
- let a = $o(i[i.length - 1]), o = Zo(t);
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 ts(n);
11976
+ }), await ws(n);
11873
11977
  } catch (e) {
11874
11978
  console.error("Error expanding visible range for future event", e);
11875
11979
  }
11876
- }, ls = async (e, t, n) => {
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 = W(i), o = Zo(t), s = async (e, t) => {
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 = o > $o(c[c.length - 1]), u = r.symbol(), d = Z.find((e) => e.ticker === u || e.display_name === u)?.session || "24x7";
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), To(!1);
11998
+ $.setPlayEndTimestamp(null), qo(!1);
11895
11999
  let p = () => {
11896
12000
  f != null && Number.isFinite(f) && $.setPlayEndTimestamp(f);
11897
12001
  };
11898
- l ? await cs(e, t) : await os(e, t);
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 = es(e, o);
11906
- return t < 0 || !ns($o(e[t]), o, a) ? -1 : t;
11907
- }, g = $o(c[c.length - 1]), _ = o > g, v = _ ? -1 : h(c);
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 ts(r), c = await m(), !c.length) return p(), !1;
11910
- g = $o(c[c.length - 1]), _ = o > g, v = _ ? -1 : h(c);
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, t = co(ct(g, i), ct(e, i), i, d);
11914
- $.setGapCount(t), $.setPlayEndTimestamp(e);
11915
- let r = c.slice(-50).map(Qo);
11916
- return r.length === 0 || n.setTargetCandles(r), !0;
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
- $.setPlayEndTimestamp($o(c[v]));
11920
- let y = c.slice(Math.max(0, v - 49), v + 1).map(Qo);
11921
- return y.length === 0 ? (p(), !1) : (n.setTargetCandles(y), !1);
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
- }, us = (e) => {
11926
- if (!e || !vo()) {
11927
- yo();
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?.(), _o();
12044
+ t.resetData(), e.resetCache?.(), zo();
11939
12045
  } catch (e) {
11940
12046
  console.error("Error resetting chart data", e);
11941
12047
  } finally {
11942
- yo();
12048
+ Vo();
11943
12049
  }
11944
- n != null && r != null && Number.isFinite(n) && Number.isFinite(r) && n < r && ts(t, 800).then(() => {
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
- yo();
12058
+ Vo();
11953
12059
  }
11954
- }, ds = (e, t, n) => {
11955
- t([]), n?.preserveStartAnchor || ($.setPlayEndTimestamp(null), $.setGapCount(0)), To(!1), us(e);
11956
- }, fs = (e, t) => {
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
- }, ps = (e) => Ja[e] || e, ms = (e) => {
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
- }, hs = async (e, t, n, r, i, a) => {
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 = ms(i), u = ps(c);
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 = W(u);
11982
- r?.clearSelectedCandles(), $.setPlayEndTimestamp(null), $.setGapCount(0), To(!1), r && (r.applyingPatternRef.current = !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
- fs(e, n);
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 = Ga(), y = await a.createMultipointShape([{ time: h }, { time: g }], {
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(Qo), t = e.slice(-50);
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 gs(e, t, n, r, i, a, o, s, c) {
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
- fs(u.current, b);
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) ? Zo(e.playEndTimestamp) : null;
12082
- ($.playEndTimestamp == null || $.targetCandles.length === 0) && n != null && await ls(u.current, n, m.current);
12083
- let i = $.playEndTimestamp ?? r ?? S.current ?? (n == null ? l.current : Zo(n));
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([]), To(!1), us(u.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), To(!1), us(u.current);
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
- ds(u.current, d.current), p.current?.();
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("iccandle_token", e?.idToken || "");
12219
+ localStorage.setItem(H, e?.idToken || "");
12114
12220
  break;
12115
12221
  }
12116
12222
  case "auth.signOut":
12117
- localStorage.removeItem("iccandle_token");
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, as(u.current, e), (async () => {
12123
- await ls(u.current, e.timestamp, m.current), await ss(u.current, e.timestamp, y);
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
- rs(u.current, y), is(u.current), ds(u.current, d.current), x.current = null, S.current = null, $.setGapCount(0), m.current?.setTargetCandles([]);
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
- ds(u.current, d.current);
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
- hs(u.current, t, b, m.current, e?.results?.matches_by_window, g.current);
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
- hs(u.current, t, b, m.current, e?.results?.matches_by_window, g.current);
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 _s = "chart-resolution";
12168
- function vs(e) {
12273
+ var Vs = "chart-resolution";
12274
+ function Hs(e) {
12169
12275
  return {
12170
- type: _s,
12276
+ type: Vs,
12171
12277
  resolution: e
12172
12278
  };
12173
12279
  }
12174
- function ys(e, t) {
12175
- let n = JSON.stringify(vs(t));
12280
+ function Us(e, t) {
12281
+ let n = JSON.stringify(Hs(t));
12176
12282
  e.postMessage(n, "*");
12177
12283
  }
12178
- function bs(e, t, n = 0) {
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
- bs(e.contentDocument, t, n + 1);
12290
+ Ws(e.contentDocument, t, n + 1);
12185
12291
  } catch {}
12186
12292
  }
12187
12293
  });
12188
12294
  }
12189
- function xs(e, t) {
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" && bs(document, n), n.forEach((e) => ys(e, t)), n.size > 0;
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 Ss = "selector-loading";
12197
- function Cs(e) {
12302
+ var Ks = "selector-loading";
12303
+ function qs(e) {
12198
12304
  return {
12199
- type: Ss,
12305
+ type: Ks,
12200
12306
  isLoading: e
12201
12307
  };
12202
12308
  }
12203
- function ws(e, t) {
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(Cs(t)), r), !0;
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 Ts = "open-pricing";
12215
- function Es(e) {
12320
+ var Ys = "open-pricing";
12321
+ function Xs(e) {
12216
12322
  return {
12217
- type: Ts,
12323
+ type: Ys,
12218
12324
  ...e
12219
12325
  };
12220
12326
  }
12221
- function Ds(e, t) {
12222
- e.postMessage(JSON.stringify(Es(t)), "*");
12327
+ function Zs(e, t) {
12328
+ e.postMessage(JSON.stringify(Xs(t)), "*");
12223
12329
  }
12224
- function Os(e, t) {
12330
+ function Qs(e, t) {
12225
12331
  let n = e?.contentWindow;
12226
- return n ? (Ds(n, t), !0) : !1;
12332
+ return n ? (Zs(n, t), !0) : !1;
12227
12333
  }
12228
- function ks(e) {
12229
- return typeof window > "u" || window.parent === window ? !1 : (Ds(window.parent, e), !0);
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 As = ["lang"], js = {
12339
+ var ec = ["lang"], tc = {
12234
12340
  key: 3,
12235
12341
  class: "iccandle-selector-widget__overlay"
12236
- }, Ms = /* @__PURE__ */ d({
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(() => re(l.language));
12290
- ce(d);
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 = lo(), 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 };
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 ?? H.light,
12303
- dark: l.chartMaskColors?.dark ?? H.dark
12304
- })[F.value]), ne = r(() => ({ zIndex: 9999999999 })), L = w(!1), R = w(!1), U = w(!1), W = w(25), G = w([]), K = w(null), ie = w(!1), ae = w("60"), q = w(qa.interval || "60"), J = w(""), Y = () => {
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
- U.value = !1, G.value = [], E.setTargetCandles([]);
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, To(!1));
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
- }, X = () => {
12436
+ }, ce = () => {
12331
12437
  R.value = !1;
12332
12438
  }, le = () => {
12333
- E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null, To(!1), S.value?.();
12439
+ E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null, qo(!1), S.value?.();
12334
12440
  }, ue = () => {
12335
- K.value = "settings";
12441
+ ie.value = "settings";
12336
12442
  }, de = () => {
12337
- K.value = "scan";
12338
- }, fe = () => {
12339
- K.value = null;
12443
+ ie.value = "scan";
12444
+ }, X = () => {
12445
+ ie.value = null;
12340
12446
  }, pe = () => {
12341
- ie.value = !1;
12447
+ G.value = !1;
12342
12448
  }, me = () => {
12343
- ie.value = !0;
12449
+ G.value = !0;
12344
12450
  }, he = (e) => {
12345
- O.value = e, ws(l.resultIframeRef?.current, e);
12451
+ O.value = e, Js(l.resultIframeRef?.current, e);
12346
12452
  }, ge = () => {
12347
12453
  let e = q.value;
12348
12454
  try {
12349
- e = Oe.value?.activeChart?.()?.resolution?.() || q.value;
12455
+ e = De.value?.activeChart?.()?.resolution?.() || q.value;
12350
12456
  } catch {
12351
12457
  e = q.value;
12352
12458
  }
12353
- xs(l.resultIframeRef?.current, e);
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
- xs(l.resultIframeRef?.current, e);
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
- Os(l.resultIframeRef?.current, e) || ks(e) || l.submitCallback(`${z}/${d.value}?pricing=true&theme=${F.value === "dark" ? "dark" : "light"}`);
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 = Oe.value;
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 ls(r, e.timestamp, {
12508
+ await Ns(r, e.timestamp, {
12403
12509
  lastEntity: p,
12404
12510
  applyingPatternRef: h,
12405
12511
  setHasActiveShape: (e) => {
12406
- U.value = e;
12512
+ H.value = e;
12407
12513
  },
12408
12514
  setCandles: (e) => {
12409
- G.value = e;
12515
+ W.value = e;
12410
12516
  },
12411
12517
  setWindowSize: (e) => {
12412
- W.value = e;
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
- ae.value = e;
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 ss(r, e.timestamp, m);
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 = Oe.value;
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, U.value = !1);
12578
+ h.current || (p.current = null, H.value = !1);
12473
12579
  }, Te = (e) => {
12474
- ae.value = e, q.value = e, ve(e), we(), h.current || k.value?.length && (E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null, To(!1));
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 ls(l.chartWidget, t.timestamp, {
12588
+ await Ns(l.chartWidget, t.timestamp, {
12483
12589
  lastEntity: p,
12484
12590
  applyingPatternRef: h,
12485
12591
  setHasActiveShape: (e) => {
12486
- U.value = e;
12592
+ H.value = e;
12487
12593
  },
12488
12594
  setCandles: (e) => {
12489
- G.value = e;
12595
+ W.value = e;
12490
12596
  },
12491
12597
  setWindowSize: (e) => {
12492
- W.value = e;
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
- ae.value = e;
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 ss(l.chartWidget, t.timestamp, m);
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, To(!1));
12513
- }, Oe = D(l.chartWidget);
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
- Oe.value = e;
12516
- }), M(Oe, (e) => {
12621
+ De.value = e;
12622
+ }), M(De, (e) => {
12517
12623
  let t, r, i;
12518
12624
  b(() => {
12519
- U.value = !1, p.current = null, S.value = null;
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
- ae.value = o, q.value = o;
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: r } = await a.exportData(), i = r.findIndex((e) => e[0] === t);
12540
- i === -1 && (i = r.length - 1);
12541
- let o = r.findIndex((t) => t[0] === e), s = Math.floor((o + i) / 2), c = r.slice(s - 13, s + 12), l = r.slice(s + 12 - 49, s + 12);
12542
- W.value = c.length, G.value = c.map(n), E.setTargetCandles(l.map(n)), U.value = !0;
12543
- let u = c[0], d = c[c.length - 1];
12544
- if (!u || !d) return;
12545
- if (p.current = await a.createMultipointShape([{ time: u[0] }, { time: d[0] }], Ga(P.current())), p.current) {
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: Ka
12655
+ text: ro
12550
12656
  } }), e.setSavingEnabled(!1));
12551
12657
  }
12552
12658
  }
12553
12659
  };
12554
- t = st(async (t, r) => {
12555
- if (!h.current && (r === "remove" && (p.current === t && (p.current = null), U.value = !1), r === "points_changed" && a.getAllShapes().filter((e) => e.name === "date_range").some((e) => e.id === t) && e)) {
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 = s.findIndex((e) => e[0] === o), l = s.findIndex((e) => e[0] === i);
12559
- c === -1 && (c = s.length - 2, l = s.length - 1 - 25);
12560
- let u = s.slice(l, c + 1).length - 1;
12561
- u > De.max ? (u = Math.round(u / 10) * 10 - 1, u > De.custom[De.custom.length - 1] && (u = De.custom[De.custom.length - 1] - 1)) : u <= De.min && (u = De.min - 1), p.current && a.removeEntity(p.current), a.getAllShapes().filter((e) => e.name === "date_range").forEach((e) => {
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 d = s.slice(c - u, c + 1), f = s.slice(c - 49, c + 1), m = d[0], h = d[d.length - 1];
12565
- if (!m || !h) return;
12566
- if (p.current = await a.createMultipointShape([{ time: m[0] }, { time: h[0] }], Ga(P.current())), W.value = d.length, G.value = d.map(n), E.setTargetCandles(f.map(n)), U.value = !0, p.current) {
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: Ka
12676
+ text: ro
12571
12677
  } }), e.setSavingEnabled(!1));
12572
12678
  }
12573
12679
  }
12574
12680
  }, 500), S.value = () => {
12575
- U.value = !0;
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) ? U.value = !1 : p.current && (U.value = !0);
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 ke = r(() => G.value[G.value.length - 1]?.timestamp ?? null);
12603
- Ya(Oe, C);
12604
- let Ae = {
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
- U.value = e;
12714
+ H.value = e;
12609
12715
  },
12610
12716
  setCandles: (e) => {
12611
- G.value = e;
12717
+ W.value = e;
12612
12718
  },
12613
12719
  setWindowSize: (e) => {
12614
- W.value = e;
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
- ae.value = e;
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
- gs(Oe, (e) => {
12738
+ Bs(De, (e) => {
12633
12739
  k.value = e;
12634
- }, ke, (e) => {
12740
+ }, Oe, (e) => {
12635
12741
  O.value = e;
12636
- }, l.onCloseResult, Ae, oe, () => l.availableIntervals, ge), M(() => l.iframeLoaded, (e) => {
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([Oe, I], ([e]) => {
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 Jo(e.activeChart(), f, I.value);
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 }), Xo(Oe, f, q, J, k, I);
12670
- let je = () => {
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
- ae.value = e;
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)), U.value = !1, p.current = null, S.value = null;
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(ot, {
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": ie.value,
12815
+ "pending-scan-after-config": G.value,
12710
12816
  "on-pending-scan-handled": pe,
12711
12817
  "trigger-scanner": le,
12712
- window_size: W.value,
12818
+ window_size: U.value,
12713
12819
  "current-symbol": J.value,
12714
12820
  resolution: q.value,
12715
- timeframe: ae.value,
12821
+ timeframe: K.value,
12716
12822
  "chart-widget": e.chartWidget,
12717
- candles: G.value,
12823
+ candles: W.value,
12718
12824
  "handle-start-drag": se,
12719
- "handle-stop-drag": X,
12720
- "has-active-shape": U.value,
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": je,
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(oa, {
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: G.value,
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
- K.value ? (x(), i(Yn, {
12873
+ ie.value ? (x(), i(or, {
12768
12874
  key: 1,
12769
- intent: K.value,
12875
+ intent: ie.value,
12770
12876
  "set-resolution": Me,
12771
- timeframe: ae.value,
12772
- "handle-close-dialog": fe,
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(Ta, {
12889
+ A.value && j.value ? (x(), i(Ia, {
12784
12890
  key: 2,
12785
12891
  event: j.value,
12786
- symbol: Fe.value,
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", js)) : a("", !0),
12796
- u(Ua, {
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, As));
12906
+ ], 10, ec));
12801
12907
  }
12802
- }), Ns = (e) => {
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
- }, Ps = "selector-scan";
12829
- function Fs(e) {
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: Ps,
12993
+ type: lc,
12832
12994
  url: e
12833
12995
  };
12834
12996
  }
12835
- function Is(e, t) {
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 Ls(e, t) {
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(Fs(t)), r), !0;
13013
+ return n.postMessage(JSON.stringify(uc(t)), r), !0;
12852
13014
  }
12853
13015
  //#endregion
12854
- export { Ts as OPEN_PRICING_MESSAGE_TYPE, Ss as SELECTOR_LOADING_MESSAGE_TYPE, Ps as SELECTOR_SCAN_MESSAGE_TYPE, z as WIDGET_RESULT_URL, Ms as WidgetIccandle, Is as canSoftSelectorNavigate, Uo as getCustomIndicators, Ns as handleResultIframeLoad, Os as postOpenPricingToEmbed, ks as postOpenPricingToParent, Ds as postOpenPricingToWindow, ws as postSelectorLoadingToEmbed, Ls as postSelectorScanToEmbed, wo as withPlayChart };
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 };