@iccandle/vuejs-widget 0.2.1 → 0.2.3

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,11 +9478,11 @@ 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), {});
@@ -9447,8 +9490,8 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9447
9490
  function S(e, t) {
9448
9491
  return e?.timeframe ? e.timeframe : t === "1" || t === "5" ? "60" : t || "60";
9449
9492
  }
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);
9493
+ 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((() => {
9494
+ let e = Kt(A?.model);
9452
9495
  return !localStorage.getItem("iccandle_token") && e !== "light" ? "light" : e;
9453
9496
  })()), R = w(A?.temperature ?? 1), z = w(b(A, d.currentSymbol)), B = w(null), V = null, H = C({
9454
9497
  probability: A?.probability ?? 0,
@@ -9462,16 +9505,16 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9462
9505
  te.value = e;
9463
9506
  }, 0);
9464
9507
  });
9465
- let U = r(() => {
9508
+ let re = r(() => {
9466
9509
  let e = /* @__PURE__ */ new Map();
9467
9510
  return Z.forEach((t) => {
9468
9511
  e.set(t.ticker, t.logo_urls);
9469
9512
  }), e;
9470
- }), W = r(() => {
9513
+ }), U = r(() => {
9471
9514
  let e = te.value.toLowerCase();
9472
9515
  return Z.filter((t) => t.display_name.toLowerCase().includes(e));
9473
- }), G = r(() => Object.values(z.value).filter(Boolean).length);
9474
- function re(e) {
9516
+ }), W = r(() => Object.values(z.value).filter(Boolean).length);
9517
+ function ie(e) {
9475
9518
  let t = Object.entries(e).filter(([, e]) => e).map(([e]) => e);
9476
9519
  H.symbols = t;
9477
9520
  }
@@ -9480,19 +9523,19 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9480
9523
  }), M(() => H.symbols.length, (e) => {
9481
9524
  e > 0 && (B.value = null);
9482
9525
  });
9483
- function K(e, t) {
9526
+ function G(e, t) {
9484
9527
  let n = {
9485
9528
  ...z.value,
9486
9529
  [e]: t
9487
9530
  };
9488
- z.value = n, re(n);
9531
+ z.value = n, ie(n);
9489
9532
  }
9490
- function ie(e, t) {
9533
+ function K(e, t) {
9491
9534
  let n = { ...z.value };
9492
9535
  for (let r of e) n[r] = t;
9493
- z.value = n, re(n);
9536
+ z.value = n, ie(n);
9494
9537
  }
9495
- function ae() {
9538
+ function q() {
9496
9539
  let e = H.symbols ?? [];
9497
9540
  if (e.length === 0) {
9498
9541
  B.value = m("Pattern.signalDialog.selectOneSymbol"), V && clearTimeout(V), V = setTimeout(() => {
@@ -9501,7 +9544,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9501
9544
  return;
9502
9545
  }
9503
9546
  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({
9547
+ De({
9505
9548
  probability: 0,
9506
9549
  top_k: H.top_k,
9507
9550
  timeframe: H.timeframe,
@@ -9512,17 +9555,17 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9512
9555
  followCurrentSymbol: e.length === 1,
9513
9556
  model: L.value,
9514
9557
  temperature: R.value
9515
- }, !0), ye(D.value), d.setResolution(H.timeframe), f("cancel"), d.intent === "settings" ? me({
9558
+ }, !0), Ce(D.value), d.setResolution(H.timeframe), f("cancel"), d.intent === "settings" ? ve({
9516
9559
  title: m("Common.success"),
9517
9560
  description: m("Selector.searchFilterSaved"),
9518
9561
  variant: "success"
9519
9562
  }) : f("scanConfigSaved");
9520
9563
  }
9521
- function q(e) {
9522
- e.preventDefault(), ae();
9564
+ function ae(e) {
9565
+ e.preventDefault(), q();
9523
9566
  }
9524
9567
  function J(e) {
9525
- D.value = e, ye(e);
9568
+ D.value = e, Ce(e);
9526
9569
  }
9527
9570
  function Y() {
9528
9571
  f("cancel");
@@ -9548,28 +9591,28 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9548
9591
  window.removeEventListener("keydown", se), P && clearTimeout(P), V && clearTimeout(V);
9549
9592
  });
9550
9593
  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", {
9594
+ return (t, n) => (x(), o("div", zn, [
9595
+ 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
9596
  type: "button",
9554
9597
  class: "iccandle-scanner-option__close-btn",
9555
9598
  "aria-label": k(m)("Common.close"),
9556
9599
  onClick: Y
9557
- }, [u(dt, { size: 20 })], 8, Nn)]),
9600
+ }, [u(St, { size: 20 })], 8, Wn)]),
9558
9601
  s("form", {
9559
9602
  id: "scanner-option-form",
9560
9603
  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, {
9604
+ onSubmit: ae
9605
+ }, [s("div", Gn, [
9606
+ s("section", Kn, [s("h3", qn, O(k(m)("Selector.tabSymbols")), 1), u(Rn, {
9564
9607
  "search-term": N.value,
9565
9608
  "selected-symbols": z.value,
9566
- "filtered-symbols": W.value,
9567
- "selected-count": G.value,
9568
- "logo-by-ticker": U.value,
9609
+ "filtered-symbols": U.value,
9610
+ "selected-count": W.value,
9611
+ "logo-by-ticker": re.value,
9569
9612
  "all-symbols": k(Z),
9570
9613
  onSearchChange: n[0] ||= (e) => N.value = e,
9571
- onSymbolChange: K,
9572
- onGroupChange: ie
9614
+ onSymbolChange: G,
9615
+ onGroupChange: K
9573
9616
  }, null, 8, [
9574
9617
  "search-term",
9575
9618
  "selected-symbols",
@@ -9578,7 +9621,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9578
9621
  "logo-by-ticker",
9579
9622
  "all-symbols"
9580
9623
  ])]),
9581
- s("section", Ln, [u(Vt, {
9624
+ s("section", Jn, [u(Qt, {
9582
9625
  "top-k": k(H).top_k,
9583
9626
  "onUpdate:topK": n[1] ||= (e) => k(H).top_k = e,
9584
9627
  "user-result-limit": ee.value,
@@ -9592,24 +9635,24 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9592
9635
  "model",
9593
9636
  "is-pro-model-enabled"
9594
9637
  ])]),
9595
- s("section", Rn, [s("button", {
9638
+ s("section", Yn, [s("button", {
9596
9639
  type: "button",
9597
9640
  class: "iccandle-scanner-settings__accordion-trigger",
9598
9641
  "aria-expanded": I.value,
9599
9642
  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, {
9643
+ }, [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
9644
  modelValue: k(H),
9602
9645
  "onUpdate:modelValue": n[4] ||= (e) => p(H) ? H.value = e : H = e,
9603
9646
  temperature: R.value,
9604
9647
  onTemperatureChange: n[5] ||= (e) => R.value = e
9605
9648
  }, null, 8, ["modelValue", "temperature"])])) : a("", !0)])
9606
9649
  ])], 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", {
9650
+ s("div", Qn, [B.value ? (x(), o("p", $n, O(B.value), 1)) : a("", !0), s("div", er, [s("div", tr, [s("input", {
9608
9651
  id: "scanner-always-show",
9609
9652
  type: "checkbox",
9610
9653
  checked: D.value,
9611
9654
  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", {
9655
+ }, null, 40, nr), s("label", rr, O(k(m)("Selector.alwaysShow")), 1)]), s("div", ir, [s("button", {
9613
9656
  type: "button",
9614
9657
  class: "iccandle-scanner-option__btn iccandle-scanner-option__btn--outline",
9615
9658
  onClick: Y
@@ -9617,14 +9660,14 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9617
9660
  type: "submit",
9618
9661
  form: "scanner-option-form",
9619
9662
  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, {
9663
+ }, [e.intent === "scan" ? (x(), i(Ve, {
9621
9664
  key: 0,
9622
9665
  size: 14,
9623
9666
  color: "#ffb84d"
9624
9667
  })) : a("", !0), l(" " + O(ce.value), 1)], 2)])])])
9625
9668
  ]));
9626
9669
  }
9627
- }), Yn = /* @__PURE__ */ d({
9670
+ }), or = /* @__PURE__ */ d({
9628
9671
  __name: "ScannerOption",
9629
9672
  props: {
9630
9673
  intent: { default: "settings" },
@@ -9653,7 +9696,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9653
9696
  }, [s("div", {
9654
9697
  class: "iccandle-scanner-option__card",
9655
9698
  onPointerdown: r[0] ||= P(() => {}, ["stop"])
9656
- }, [u(Jn, {
9699
+ }, [u(ar, {
9657
9700
  intent: e.intent,
9658
9701
  "set-resolution": e.setResolution,
9659
9702
  timeframe: e.timeframe,
@@ -9669,11 +9712,11 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9669
9712
  "onCancel"
9670
9713
  ])], 32)], 34)]));
9671
9714
  }
9672
- }), Xn = [
9715
+ }), sr = [
9673
9716
  "width",
9674
9717
  "height",
9675
9718
  "stroke"
9676
- ], Zn = /* @__PURE__ */ d({
9719
+ ], cr = /* @__PURE__ */ d({
9677
9720
  __name: "BellIcon",
9678
9721
  props: {
9679
9722
  size: { default: 20 },
@@ -9692,9 +9735,9 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9692
9735
  "stroke-linecap": "round",
9693
9736
  "stroke-linejoin": "round",
9694
9737
  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));
9738
+ }, [...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
9739
  }
9697
- }), Qn = ["width", "height"], $n = ["stroke"], er = ["stroke"], tr = /* @__PURE__ */ d({
9740
+ }), lr = ["width", "height"], ur = ["stroke"], dr = ["stroke"], fr = /* @__PURE__ */ d({
9698
9741
  __name: "CloseIcon",
9699
9742
  props: {
9700
9743
  size: { default: 24 },
@@ -9715,24 +9758,24 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9715
9758
  "stroke-width": "2",
9716
9759
  "stroke-linecap": "round",
9717
9760
  "stroke-linejoin": "round"
9718
- }, null, 8, $n), s("path", {
9761
+ }, null, 8, ur), s("path", {
9719
9762
  d: "m6 6 12 12",
9720
9763
  stroke: e.color,
9721
9764
  "stroke-width": "2",
9722
9765
  "stroke-linecap": "round",
9723
9766
  "stroke-linejoin": "round"
9724
- }, null, 8, er)], 10, Qn));
9767
+ }, null, 8, dr)], 10, lr));
9725
9768
  }
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 = {
9769
+ }), 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
9770
  for: "patternName",
9728
9771
  class: "iccandle-pattern-alert-name__label"
9729
- }, fr = ["placeholder", "value"], pr = {
9772
+ }, Cr = ["placeholder", "value"], wr = {
9730
9773
  key: 0,
9731
9774
  class: "iccandle-pattern-alert-name__error"
9732
- }, mr = {
9775
+ }, Tr = {
9733
9776
  key: 1,
9734
9777
  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({
9778
+ }, Er = { class: "iccandle-pattern-alert-name__footer-wrap" }, Dr = { class: "iccandle-pattern-alert-name__footer" }, Or = ["disabled"], kr = /* @__PURE__ */ d({
9736
9779
  __name: "PatternAlertNameStep",
9737
9780
  props: {
9738
9781
  patternName: {},
@@ -9746,8 +9789,8 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9746
9789
  let t = e.target.value.slice(0, 20);
9747
9790
  n("patternNameChange", t);
9748
9791
  }
9749
- return (t, n) => (x(), o("div", nr, [
9750
- s("div", rr, [s("div", ir, [s("h2", ar, [u(We, {
9792
+ return (t, n) => (x(), o("div", pr, [
9793
+ s("div", mr, [s("div", hr, [s("h2", gr, [u(Je, {
9751
9794
  size: 20,
9752
9795
  "class-name": "iccandle-pattern-alert-name__title-icon"
9753
9796
  }), l(" " + O(k(r)("Pattern.addToPatternTracker")), 1)]), s("button", {
@@ -9755,12 +9798,12 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9755
9798
  class: "iccandle-pattern-alert-name__close-btn",
9756
9799
  "aria-label": k(r)("Common.close"),
9757
9800
  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, {
9801
+ }, [u(fr, { size: 20 })], 8, _r)]), s("p", vr, O(k(r)("Pattern.addToPatternTrackerDescription")), 1)]),
9802
+ s("div", yr, [u(cr, {
9760
9803
  size: 64,
9761
9804
  "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),
9805
+ }), s("div", br, [s("div", xr, [
9806
+ s("label", Sr, O(k(r)("Pattern.patternName")), 1),
9764
9807
  s("input", {
9765
9808
  id: "patternName",
9766
9809
  class: "iccandle-pattern-alert-name__input",
@@ -9769,10 +9812,10 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9769
9812
  maxlength: "20",
9770
9813
  minlength: "5",
9771
9814
  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)
9815
+ }, null, 40, Cr),
9816
+ 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
9817
  ])])]),
9775
- s("div", hr, [n[3] ||= s("hr", { class: "iccandle-pattern-alert-name__divider" }, null, -1), s("div", gr, [s("button", {
9818
+ s("div", Er, [n[3] ||= s("hr", { class: "iccandle-pattern-alert-name__divider" }, null, -1), s("div", Dr, [s("button", {
9776
9819
  type: "button",
9777
9820
  class: "iccandle-pattern-alert-name__btn iccandle-pattern-alert-name__btn--outline",
9778
9821
  onClick: n[1] ||= (...t) => e.onCancel && e.onCancel(...t)
@@ -9781,10 +9824,10 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9781
9824
  class: "iccandle-pattern-alert-name__btn iccandle-pattern-alert-name__btn--primary",
9782
9825
  disabled: e.patternName.trim().length < 5,
9783
9826
  onClick: n[2] ||= (...t) => e.onNext && e.onNext(...t)
9784
- }, O(k(r)("Common.next")), 9, _r)])])
9827
+ }, O(k(r)("Common.next")), 9, Or)])])
9785
9828
  ]));
9786
9829
  }
9787
- }), yr = [
9830
+ }), Ar = [
9788
9831
  {
9789
9832
  value: "M15",
9790
9833
  label: "M15",
@@ -9821,33 +9864,33 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9821
9864
  description: "Daily",
9822
9865
  type: "daily"
9823
9866
  }
9824
- ], br = ["aria-expanded"], xr = { class: "iccandle-scanner-timeframe-search__chips" }, Sr = {
9867
+ ], jr = ["aria-expanded"], Mr = { class: "iccandle-scanner-timeframe-search__chips" }, Nr = {
9825
9868
  key: 0,
9826
9869
  class: "iccandle-scanner-timeframe-search__placeholder"
9827
- }, Cr = { class: "iccandle-scanner-timeframe-search__chip-label" }, wr = [
9870
+ }, Pr = { class: "iccandle-scanner-timeframe-search__chip-label" }, Fr = [
9828
9871
  "aria-label",
9829
9872
  "onClick",
9830
9873
  "onKeydown"
9831
- ], Tr = { class: "iccandle-scanner-timeframe-search__trigger-meta" }, Er = { class: "iccandle-scanner-timeframe-search__search" }, Dr = [
9874
+ ], Ir = { class: "iccandle-scanner-timeframe-search__trigger-meta" }, Lr = { class: "iccandle-scanner-timeframe-search__search" }, Rr = [
9832
9875
  "placeholder",
9833
9876
  "value",
9834
9877
  "aria-label"
9835
- ], Or = {
9878
+ ], zr = {
9836
9879
  key: 0,
9837
9880
  class: "iccandle-scanner-timeframe-search__empty"
9838
- }, kr = {
9881
+ }, Br = {
9839
9882
  key: 1,
9840
9883
  class: "iccandle-scanner-timeframe-search__select-all"
9841
- }, Ar = ["aria-label"], jr = {
9884
+ }, Vr = ["aria-label"], Hr = {
9842
9885
  key: 0,
9843
9886
  class: "iccandle-scanner-timeframe-search__check iccandle-scanner-timeframe-search__check--on"
9844
- }, Mr = {
9887
+ }, Ur = {
9845
9888
  key: 1,
9846
9889
  class: "iccandle-scanner-timeframe-search__check iccandle-scanner-timeframe-search__check--on"
9847
- }, Nr = {
9890
+ }, Wr = {
9848
9891
  key: 2,
9849
9892
  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({
9893
+ }, Gr = ["aria-selected", "onClick"], Kr = { class: "iccandle-scanner-timeframe-search__item-label" }, qr = { class: "iccandle-scanner-timeframe-search__item-description" }, Jr = /* @__PURE__ */ d({
9851
9894
  __name: "ScannerTimeframeSearch",
9852
9895
  props: {
9853
9896
  searchTerm: {},
@@ -9868,7 +9911,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9868
9911
  let t = e?.closest(".iccandle-theme-scope, .iccandle-selector-widget") ?? document.body;
9869
9912
  C.value = t;
9870
9913
  }
9871
- let A = r(() => l.allTimeframes ?? l.filteredTimeframes ?? yr), j = r(() => l.filteredTimeframes ?? yr), N = r(() => A.value.filter((e) => l.selectedTimeframes[e.value]));
9914
+ let A = r(() => l.allTimeframes ?? l.filteredTimeframes ?? Ar), j = r(() => l.filteredTimeframes ?? Ar), N = r(() => A.value.filter((e) => l.selectedTimeframes[e.value]));
9872
9915
  function te(e) {
9873
9916
  if (e.length === 0) return "none";
9874
9917
  let t = e.filter((e) => l.selectedTimeframes[e.value]).length;
@@ -9925,7 +9968,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9925
9968
  }), v(() => {
9926
9969
  window.removeEventListener("resize", B), window.removeEventListener("scroll", B, !0), document.removeEventListener("mousedown", V), document.removeEventListener("keydown", H);
9927
9970
  });
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);
9971
+ 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
9972
  return (r, c) => (x(), o("div", {
9930
9973
  ref: (e) => D(e),
9931
9974
  class: "iccandle-scanner-timeframe-search iccandle-scanner-timeframe-search--combobox"
@@ -9938,10 +9981,10 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9938
9981
  "aria-haspopup": "listbox",
9939
9982
  class: "iccandle-scanner-timeframe-search__trigger",
9940
9983
  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", {
9984
+ }, [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
9985
  key: e.value,
9943
9986
  class: "iccandle-scanner-timeframe-search__chip"
9944
- }, [s("span", Cr, O(e.label), 1), s("span", {
9987
+ }, [s("span", Pr, O(e.label), 1), s("span", {
9945
9988
  role: "button",
9946
9989
  tabindex: "0",
9947
9990
  "aria-label": `Remove ${e.label}`,
@@ -9950,10 +9993,10 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9950
9993
  onKeydown: (t) => {
9951
9994
  (t.key === "Enter" || t.key === " ") && (t.preventDefault(), t.stopPropagation(), d("timeframeChange", e.value, !1));
9952
9995
  }
9953
- }, [u(dt, { size: 10 })], 40, wr)]))), 128))]), s("div", Tr, [s("span", null, O(W.value), 1), u(Xt, {
9996
+ }, [u(St, { size: 10 })], 40, Fr)]))), 128))]), s("div", Ir, [s("span", null, O(U.value), 1), u(cn, {
9954
9997
  size: 16,
9955
9998
  style: { opacity: .6 }
9956
- })])], 8, br), (x(), i(t, { to: C.value }, [S.value && E.value ? (x(), o("div", {
9999
+ })])], 8, jr), (x(), i(t, { to: C.value }, [S.value && E.value ? (x(), o("div", {
9957
10000
  key: 0,
9958
10001
  ref_key: "popoverRef",
9959
10002
  ref: y,
@@ -9966,7 +10009,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9966
10009
  width: `${E.value.width}px`,
9967
10010
  maxHeight: `${E.value.maxHeight}px`
9968
10011
  })
9969
- }, [s("div", Er, [u(en, {
10012
+ }, [s("div", Lr, [u(fn, {
9970
10013
  size: 16,
9971
10014
  "class-name": "iccandle-scanner-timeframe-search__search-icon"
9972
10015
  }), s("input", {
@@ -9978,17 +10021,17 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
9978
10021
  value: n.searchTerm,
9979
10022
  "aria-label": k(f)("Selector.searchTimeframe"),
9980
10023
  onInput: c[1] ||= (e) => d("searchChange", e.target.value.toUpperCase())
9981
- }, null, 40, Dr)]), s("div", {
10024
+ }, null, 40, Rr)]), s("div", {
9982
10025
  class: "iccandle-scanner-timeframe-search__command-list",
9983
- style: _({ maxHeight: `${G.value}px` })
10026
+ style: _({ maxHeight: `${W.value}px` })
9984
10027
  }, [
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", {
10028
+ n.searchTerm.trim() && j.value.length === 0 ? (x(), o("div", zr, O(k(f)("Selector.noResultsFound")), 1)) : a("", !0),
10029
+ j.value.length > 0 ? (x(), o("div", Br, [s("button", {
9987
10030
  type: "button",
9988
10031
  class: "iccandle-scanner-timeframe-search__group-check-btn",
9989
10032
  "aria-label": k(f)("Selector.selectAllTimeframes"),
9990
10033
  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", {
10034
+ }, [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
10035
  type: "button",
9993
10036
  class: "iccandle-scanner-timeframe-search__group-label-btn",
9994
10037
  onClick: ne
@@ -10001,16 +10044,16 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10001
10044
  class: "iccandle-scanner-timeframe-search__item",
10002
10045
  onClick: (t) => I(e.value)
10003
10046
  }, [
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, {
10047
+ 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
10048
  key: 0,
10006
10049
  size: 12
10007
10050
  })) : 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))
10051
+ s("span", Kr, O(P(e.value)), 1),
10052
+ s("span", qr, O(F(e.value)), 1)
10053
+ ], 8, Gr))), 128))
10011
10054
  ], 4)], 6)) : a("", !0)], 8, ["to"]))], 512));
10012
10055
  }
10013
- }), Rr = { class: "iccandle-timeframes-tab" }, zr = { class: "iccandle-timeframes-tab__header" }, Br = { class: "iccandle-timeframes-tab__title" }, Vr = /* @__PURE__ */ d({
10056
+ }), Yr = { class: "iccandle-timeframes-tab" }, Xr = { class: "iccandle-timeframes-tab__header" }, Zr = { class: "iccandle-timeframes-tab__title" }, Qr = /* @__PURE__ */ d({
10014
10057
  __name: "TimeframesTab",
10015
10058
  props: { form: {} },
10016
10059
  setup(e) {
@@ -10022,13 +10065,13 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10022
10065
  }, { immediate: !0 });
10023
10066
  let l = r(() => t.form.timeframes.reduce((e, t) => (e[t] = !0, e), {})), d = r(() => {
10024
10067
  let e = a.value.toLowerCase();
10025
- return yr.filter((t) => {
10068
+ return Ar.filter((t) => {
10026
10069
  let r = n(`Pattern.timeframeOptions.${t.value}.displayName`).toLowerCase(), i = n(`Pattern.timeframeOptions.${t.value}.description`).toLowerCase();
10027
10070
  return t.label.toLowerCase().includes(e) || t.value.toLowerCase().includes(e) || r.includes(e) || i.includes(e);
10028
10071
  });
10029
10072
  }), f = r(() => Object.values(l.value).filter(Boolean).length);
10030
10073
  function p(e) {
10031
- t.form.timeframes = yr.filter((t) => e[t.value]).map((e) => e.value);
10074
+ t.form.timeframes = Ar.filter((t) => e[t.value]).map((e) => e.value);
10032
10075
  }
10033
10076
  function m(e, t) {
10034
10077
  p({
@@ -10041,12 +10084,12 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10041
10084
  for (let r of e) n[r] = t;
10042
10085
  p(n);
10043
10086
  }
10044
- return (e, t) => (x(), o("div", Rr, [s("div", zr, [s("h3", Br, O(k(n)("Pattern.selectTimeframes")), 1)]), u(Lr, {
10087
+ return (e, t) => (x(), o("div", Yr, [s("div", Xr, [s("h3", Zr, O(k(n)("Pattern.selectTimeframes")), 1)]), u(Jr, {
10045
10088
  "search-term": i.value,
10046
10089
  "selected-timeframes": l.value,
10047
10090
  "filtered-timeframes": d.value,
10048
10091
  "selected-count": f.value,
10049
- "all-timeframes": [...k(yr)],
10092
+ "all-timeframes": [...k(Ar)],
10050
10093
  onSearchChange: t[0] ||= (e) => i.value = e,
10051
10094
  onTimeframeChange: m,
10052
10095
  onGroupChange: h
@@ -10058,7 +10101,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10058
10101
  "all-timeframes"
10059
10102
  ])]));
10060
10103
  }
10061
- }), Hr = { class: "iccandle-symbols-tab" }, Ur = { class: "iccandle-symbols-tab__header" }, Wr = { class: "iccandle-symbols-tab__title" }, Gr = /* @__PURE__ */ d({
10104
+ }), $r = { class: "iccandle-symbols-tab" }, ei = { class: "iccandle-symbols-tab__header" }, ti = { class: "iccandle-symbols-tab__title" }, ni = /* @__PURE__ */ d({
10062
10105
  __name: "SymbolsTab",
10063
10106
  props: { form: {} },
10064
10107
  setup(e) {
@@ -10094,7 +10137,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10094
10137
  for (let r of e) n[r] = t;
10095
10138
  m(n);
10096
10139
  }
10097
- return (e, t) => (x(), o("div", Hr, [s("div", Ur, [s("h3", Wr, O(k(n)("Pattern.signalDialog.selectCurrencyPairs")), 1)]), u(Dn, {
10140
+ return (e, t) => (x(), o("div", $r, [s("div", ei, [s("h3", ti, O(k(n)("Pattern.signalDialog.selectCurrencyPairs")), 1)]), u(Rn, {
10098
10141
  "search-term": i.value,
10099
10142
  "selected-symbols": l.value,
10100
10143
  "filtered-symbols": d.value,
@@ -10113,7 +10156,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10113
10156
  "all-symbols"
10114
10157
  ])]));
10115
10158
  }
10116
- }), Kr = [
10159
+ }), ri = [
10117
10160
  {
10118
10161
  value: "new_york",
10119
10162
  label: "New York Session",
@@ -10142,12 +10185,12 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10142
10185
  start: "09:00",
10143
10186
  end: "18:00"
10144
10187
  }
10145
- ], qr = [
10188
+ ], ii = [
10146
10189
  {
10147
10190
  value: "all_time",
10148
10191
  label: "All time"
10149
10192
  },
10150
- ...Kr.map((e) => ({
10193
+ ...ri.map((e) => ({
10151
10194
  value: e.value,
10152
10195
  label: e.label
10153
10196
  })),
@@ -10155,61 +10198,61 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10155
10198
  value: "customize",
10156
10199
  label: "Customize"
10157
10200
  }
10158
- ], Jr = (e) => {
10201
+ ], ai = (e) => {
10159
10202
  let t = e.match(/GMT([+-])(\d{1,2})(?::?(\d{2}))?/);
10160
10203
  if (!t) return 0;
10161
10204
  let n = t[1] === "-" ? -1 : 1, r = Number(t[2]), i = Number(t[3] ?? "0");
10162
10205
  return n * (r * 60 + i);
10163
- }, Yr = (e, t) => Jr(new Intl.DateTimeFormat("en-US", {
10206
+ }, oi = (e, t) => ai(new Intl.DateTimeFormat("en-US", {
10164
10207
  timeZone: t,
10165
10208
  timeZoneName: "shortOffset",
10166
10209
  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", {
10210
+ }).formatToParts(e).find((e) => e.type === "timeZoneName")?.value ?? "GMT+0"), si = (e, t, n) => {
10211
+ 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;
10212
+ return s = o - oi(new Date(s), t) * 6e4, new Intl.DateTimeFormat("en-GB", {
10170
10213
  timeZone: n,
10171
10214
  hour12: !1,
10172
10215
  hour: "2-digit",
10173
10216
  minute: "2-digit"
10174
10217
  }).format(new Date(s));
10175
- }, Zr = (e, t) => {
10176
- let n = Kr.find((t) => t.value === e);
10218
+ }, ci = (e, t) => {
10219
+ let n = ri.find((t) => t.value === e);
10177
10220
  return n ? {
10178
- start_time: Xr(n.start, n.timezone, t),
10179
- end_time: Xr(n.end, n.timezone, t),
10221
+ start_time: si(n.start, n.timezone, t),
10222
+ end_time: si(n.end, n.timezone, t),
10180
10223
  timezone: t
10181
10224
  } : null;
10182
- }, Qr = (e, t) => {
10225
+ }, li = (e, t) => {
10183
10226
  if (!e) return "all_time";
10184
10227
  let n = e.timezone || t, r = !!(e.start_time && e.end_time);
10185
10228
  if (e.preset_session) {
10186
10229
  if (e.preset_session === "all_time") return "all_time";
10187
10230
  if (e.preset_session === "customize") return "customize";
10188
- let t = Zr(e.preset_session, n);
10231
+ let t = ci(e.preset_session, n);
10189
10232
  if (t && t.start_time === e.start_time && t.end_time === e.end_time) return e.preset_session;
10190
10233
  }
10191
10234
  if (!r) return "customize";
10192
- let i = Kr.find((t) => {
10193
- let r = Zr(t.value, n);
10235
+ let i = ri.find((t) => {
10236
+ let r = ci(t.value, n);
10194
10237
  return r && r.start_time === e.start_time && r.end_time === e.end_time;
10195
10238
  });
10196
10239
  return i ? i.value : "customize";
10197
- }, $r = (e) => {
10240
+ }, ui = (e) => {
10198
10241
  let t = Intl, n = typeof t.supportedValuesOf == "function" ? t.supportedValuesOf("timeZone") ?? [] : [], r = e || "UTC";
10199
10242
  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 = {
10243
+ }, 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
10244
  class: "iccandle-time-config-section__dropdown-group-label",
10202
10245
  "aria-hidden": "true"
10203
- }, Si = {
10246
+ }, Ni = {
10204
10247
  key: 0,
10205
10248
  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 = {
10249
+ }, 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
10250
  class: "iccandle-time-config-section__dropdown-group-label",
10208
10251
  "aria-hidden": "true"
10209
- }, Ai = {
10252
+ }, Vi = {
10210
10253
  key: 0,
10211
10254
  class: "iccandle-time-config-section__dropdown-empty"
10212
- }, ji = ["aria-selected", "onClick"], Mi = /* @__PURE__ */ d({
10255
+ }, Hi = ["aria-selected", "onClick"], Ui = /* @__PURE__ */ d({
10213
10256
  __name: "TimeConfigSection",
10214
10257
  props: {
10215
10258
  timeconfig: {},
@@ -10233,11 +10276,11 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10233
10276
  let t = e?.closest(".iccandle-theme-scope, .iccandle-selector-widget") ?? document.body;
10234
10277
  ee.value = t;
10235
10278
  }
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(() => {
10279
+ 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
10280
  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) {
10281
+ return e ? ii.filter((t) => z(t.value).toLowerCase().includes(e) || t.value.toLowerCase().includes(e)) : ii;
10282
+ }), U = r(() => f(H.value, P.value)), W = r(() => `iccandle-time-config-section ${d.containerClassName}`.trim());
10283
+ function ie(e, t) {
10241
10284
  if (!e) return;
10242
10285
  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
10286
  t({
@@ -10247,13 +10290,13 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10247
10290
  maxHeight: o
10248
10291
  });
10249
10292
  }
10250
- function K() {
10293
+ function G() {
10251
10294
  A.value = !1, N.value = "", F.value = null;
10252
10295
  }
10253
- function ie() {
10296
+ function K() {
10254
10297
  D.value = !1, P.value = "", I.value = null;
10255
10298
  }
10256
- function ae(e, t) {
10299
+ function q(e, t) {
10257
10300
  let n = d.timeconfig || { timezone: L };
10258
10301
  d.onTimeConfigChange({
10259
10302
  ...n,
@@ -10261,9 +10304,9 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10261
10304
  preset_session: "customize"
10262
10305
  }, { shouldDirty: !0 });
10263
10306
  }
10264
- function q(e) {
10265
- if (K(), e === "all_time") {
10266
- d.timeconfig && d.onTimeConfigChange(void 0, { shouldDirty: !0 }), ie();
10307
+ function ae(e) {
10308
+ if (G(), e === "all_time") {
10309
+ d.timeconfig && d.onTimeConfigChange(void 0, { shouldDirty: !0 }), K();
10267
10310
  return;
10268
10311
  }
10269
10312
  if (e === "customize") {
@@ -10278,7 +10321,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10278
10321
  }, { shouldDirty: !0 });
10279
10322
  return;
10280
10323
  }
10281
- let t = Zr(e, d.timeconfig?.timezone || L);
10324
+ let t = ci(e, d.timeconfig?.timezone || L);
10282
10325
  t && d.onTimeConfigChange({
10283
10326
  ...t,
10284
10327
  preset_session: e
@@ -10286,7 +10329,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10286
10329
  }
10287
10330
  function J(e) {
10288
10331
  if (R.value !== "all_time" && R.value !== "customize") {
10289
- let t = Zr(R.value, e);
10332
+ let t = ci(R.value, e);
10290
10333
  t && d.onTimeConfigChange({
10291
10334
  ...t,
10292
10335
  preset_session: R.value
@@ -10295,7 +10338,7 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10295
10338
  ...d.timeconfig || {},
10296
10339
  timezone: e
10297
10340
  }, { shouldDirty: !0 });
10298
- ie();
10341
+ K();
10299
10342
  }
10300
10343
  function Y(e) {
10301
10344
  if (R.value !== "customize") return;
@@ -10305,18 +10348,18 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10305
10348
  } catch {}
10306
10349
  }
10307
10350
  function oe() {
10308
- A.value && re(y.value, (e) => {
10351
+ A.value && ie(y.value, (e) => {
10309
10352
  F.value = e;
10310
- }), D.value && re(b.value, (e) => {
10353
+ }), D.value && ie(b.value, (e) => {
10311
10354
  I.value = e;
10312
10355
  });
10313
10356
  }
10314
10357
  function se(e) {
10315
10358
  let t = e.target;
10316
- t && (m.value?.contains(t) || S.value?.contains(t) || C.value?.contains(t) || (A.value && K(), D.value && ie()));
10359
+ t && (m.value?.contains(t) || S.value?.contains(t) || C.value?.contains(t) || (A.value && G(), D.value && K()));
10317
10360
  }
10318
10361
  function ce(e) {
10319
- e.key === "Escape" && (A.value && K(), D.value && ie());
10362
+ e.key === "Escape" && (A.value && G(), D.value && K());
10320
10363
  }
10321
10364
  M(() => [d.timeconfig, R.value], () => {
10322
10365
  !d.timeconfig || R.value === "all_time" || d.timeconfig.timezone || d.onTimeConfigChange({
@@ -10331,10 +10374,10 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10331
10374
  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
10375
  return (r, c) => (x(), o("div", {
10333
10376
  ref: (e) => ne(e),
10334
- class: g(G.value)
10377
+ class: g(W.value)
10335
10378
  }, [
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", {
10379
+ s("div", di, [s("h3", fi, O(k(p)("TimeConfig.title")), 1)]),
10380
+ 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
10381
  ref_key: "sessionTriggerRef",
10339
10382
  ref: y,
10340
10383
  type: "button",
@@ -10343,12 +10386,12 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10343
10386
  "aria-expanded": A.value,
10344
10387
  onClick: c[0] ||= () => {
10345
10388
  if (A.value) {
10346
- K();
10389
+ G();
10347
10390
  return;
10348
10391
  }
10349
- ie(), A.value = !0;
10392
+ K(), A.value = !0;
10350
10393
  }
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", {
10394
+ }, [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
10395
  ref_key: "timezoneTriggerRef",
10353
10396
  ref: b,
10354
10397
  type: "button",
@@ -10358,26 +10401,26 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10358
10401
  disabled: R.value === "all_time",
10359
10402
  onClick: c[1] ||= () => {
10360
10403
  if (D.value) {
10361
- ie();
10404
+ K();
10362
10405
  return;
10363
10406
  }
10364
- K(), D.value = !0;
10407
+ G(), D.value = !0;
10365
10408
  }
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", {
10409
+ }, [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
10410
  type: "time",
10368
10411
  disabled: R.value !== "customize",
10369
10412
  value: n.timeconfig?.start_time ?? "",
10370
10413
  class: "iccandle-time-config-section__input",
10371
- onInput: c[2] ||= (e) => ae("start_time", e.target.value),
10414
+ onInput: c[2] ||= (e) => q("start_time", e.target.value),
10372
10415
  onClick: Y
10373
- }, null, 40, hi)]), s("div", gi, [s("label", _i, O(k(p)("TimeConfig.endTime")), 1), s("input", {
10416
+ }, null, 40, Ei)]), s("div", Di, [s("label", Oi, O(k(p)("TimeConfig.endTime")), 1), s("input", {
10374
10417
  type: "time",
10375
10418
  disabled: R.value !== "customize",
10376
10419
  value: n.timeconfig?.end_time ?? "",
10377
10420
  class: "iccandle-time-config-section__input",
10378
- onInput: c[3] ||= (e) => ae("end_time", e.target.value),
10421
+ onInput: c[3] ||= (e) => q("end_time", e.target.value),
10379
10422
  onClick: Y
10380
- }, null, 40, vi)])])]),
10423
+ }, null, 40, ki)])])]),
10381
10424
  (x(), i(t, { to: ee.value }, [A.value && F.value ? (x(), o("div", {
10382
10425
  key: 0,
10383
10426
  ref_key: "sessionPopoverRef",
@@ -10390,22 +10433,22 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10390
10433
  width: `${F.value.width}px`,
10391
10434
  maxHeight: `${F.value.maxHeight}px`
10392
10435
  })
10393
- }, [s("div", yi, [te(s("input", {
10436
+ }, [s("div", Ai, [te(s("input", {
10394
10437
  "onUpdate:modelValue": c[4] ||= (e) => N.value = e,
10395
10438
  type: "text",
10396
10439
  class: "iccandle-time-config-section__dropdown-search-input",
10397
10440
  placeholder: k(p)("TimeConfig.searchSession"),
10398
10441
  autofocus: ""
10399
- }, null, 8, bi), [[j, N.value]])]), s("ul", {
10442
+ }, null, 8, ji), [[j, N.value]])]), s("ul", {
10400
10443
  class: "iccandle-time-config-section__dropdown-list",
10401
10444
  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", {
10445
+ }, [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
10446
  type: "button",
10404
10447
  role: "option",
10405
10448
  "aria-selected": R.value === e.value,
10406
10449
  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"])),
10450
+ onClick: (t) => ae(e.value)
10451
+ }, [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
10452
  (x(), i(t, { to: ee.value }, [D.value && I.value ? (x(), o("div", {
10410
10453
  key: 0,
10411
10454
  ref_key: "timezonePopoverRef",
@@ -10419,31 +10462,31 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10419
10462
  maxHeight: `${I.value.maxHeight}px`
10420
10463
  })
10421
10464
  }, [
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", {
10465
+ s("div", Fi, [s("p", Ii, O(k(p)("TimeConfig.selectTimezone")), 1), s("p", Li, O(k(p)("TimeConfig.selectTimezoneHint")), 1)]),
10466
+ s("div", Ri, [te(s("input", {
10424
10467
  "onUpdate:modelValue": c[5] ||= (e) => P.value = e,
10425
10468
  type: "text",
10426
10469
  class: "iccandle-time-config-section__dropdown-search-input",
10427
10470
  placeholder: k(p)("TimeConfig.searchTimezone"),
10428
10471
  autofocus: ""
10429
- }, null, 8, Oi), [[j, P.value]])]),
10472
+ }, null, 8, zi), [[j, P.value]])]),
10430
10473
  s("ul", {
10431
10474
  class: "iccandle-time-config-section__dropdown-list",
10432
10475
  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", {
10476
+ }, [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
10477
  type: "button",
10435
10478
  role: "option",
10436
10479
  "aria-selected": B.value === e,
10437
10480
  class: g(["iccandle-time-config-section__dropdown-item", B.value === e && "iccandle-time-config-section__dropdown-item--selected"]),
10438
10481
  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)
10482
+ }, [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
10483
  ], 6)) : a("", !0)], 8, ["to"]))
10441
10484
  ], 2));
10442
10485
  }
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 = {
10486
+ }), 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
10487
  key: 0,
10445
10488
  class: "iccandle-pattern-alert-settings__error iccandle-pattern-alert-settings__error--visible"
10446
- }, Ki = ["disabled"], qi = /* @__PURE__ */ d({
10489
+ }, ra = ["disabled"], ia = /* @__PURE__ */ d({
10447
10490
  __name: "PatternAlertSettingsStep",
10448
10491
  props: {
10449
10492
  form: {},
@@ -10480,30 +10523,30 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10480
10523
  function h(e, n) {
10481
10524
  t.form.timeconfig = e;
10482
10525
  }
10483
- return (t, r) => (x(), o("div", Ni, [
10484
- s("div", Pi, [u(We, {
10526
+ return (t, r) => (x(), o("div", Wi, [
10527
+ s("div", Gi, [u(Je, {
10485
10528
  size: 20,
10486
10529
  "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", {
10530
+ }), s("div", Ki, [s("div", qi, [s("h2", Ji, [s("span", Yi, O(k(n)("Pattern.configurePatternTracker")), 1)]), s("button", {
10488
10531
  type: "button",
10489
10532
  class: "iccandle-pattern-alert-settings__close-btn",
10490
10533
  "aria-label": k(n)("Common.close"),
10491
10534
  onClick: r[0] ||= (...t) => e.onCancel && e.onCancel(...t)
10492
- }, [u(tr, { size: 16 })], 8, zi)])])]),
10535
+ }, [u(fr, { size: 16 })], 8, Xi)])])]),
10493
10536
  s("form", {
10494
10537
  class: "iccandle-pattern-alert-settings__form",
10495
10538
  id: "pattern-alert-settings-form",
10496
10539
  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, {
10540
+ }, [s("div", Zi, [
10541
+ s("section", Qi, [u(Qr, { form: e.form }, null, 8, ["form"])]),
10542
+ s("section", $i, [u(ni, { form: e.form }, null, 8, ["form"])]),
10543
+ s("section", ea, [u(Ui, {
10501
10544
  timeconfig: e.form.timeconfig,
10502
10545
  "on-time-config-change": h,
10503
10546
  "container-class-name": "iccandle-pattern-alert-settings__time-config"
10504
10547
  }, null, 8, ["timeconfig"])])
10505
10548
  ])], 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", {
10549
+ 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
10550
  type: "button",
10508
10551
  class: "iccandle-pattern-alert-settings__btn iccandle-pattern-alert-settings__btn--outline",
10509
10552
  onClick: r[1] ||= (...t) => e.onBack && e.onBack(...t)
@@ -10512,75 +10555,78 @@ var It = { class: "iccandle-scanner-ai-settings" }, Lt = { class: "iccandle-scan
10512
10555
  form: "pattern-alert-settings-form",
10513
10556
  class: "iccandle-pattern-alert-settings__btn iccandle-pattern-alert-settings__btn--primary",
10514
10557
  disabled: e.isSubscribing
10515
- }, O(e.isSubscribing ? k(n)("Pattern.subscribing") : k(n)("Pattern.subscribe")), 9, Ki)], 2)])
10558
+ }, O(e.isSubscribing ? k(n)("Pattern.subscribing") : k(n)("Pattern.subscribe")), 9, ra)], 2)])
10516
10559
  ]));
10517
10560
  }
10518
10561
  });
10519
10562
  //#endregion
10520
10563
  //#region src/services/pattern-tracker.ts
10521
- async function Ji(e) {
10522
- let { data: t } = await F.post("https://api.iccandle.ai/custom-pattern/v1/searchless", e, { headers: { Authorization: `Bearer ${localStorage.getItem("iccandle_token")}` } });
10564
+ async function aa(e) {
10565
+ let { data: t } = await F.post("https://api.iccandle.ai/custom-pattern/v1/searchless", e, { headers: {
10566
+ Authorization: `Bearer ${localStorage.getItem("iccandle_token")}`,
10567
+ ...window.location.hostname === "localhost" ? {} : { "X-Client-Name": window.location.origin }
10568
+ } });
10523
10569
  return t;
10524
10570
  }
10525
10571
  //#endregion
10526
10572
  //#region src/services/base-service.ts
10527
- var Yi = F.create({
10573
+ var oa = F.create({
10528
10574
  timeout: 6e4,
10529
10575
  baseURL: ne
10530
10576
  });
10531
- Yi.interceptors.request.use(async (e) => {
10577
+ oa.interceptors.request.use(async (e) => {
10532
10578
  if (typeof window > "u") return e;
10533
10579
  let t = localStorage.getItem("iccandle_token");
10534
10580
  return t && (e.headers[L] = `Bearer ${t}`), e;
10535
- }, (e) => Promise.reject(e)), Yi.interceptors.response.use((e) => e, async (e) => Promise.reject(e));
10581
+ }, (e) => Promise.reject(e)), oa.interceptors.response.use((e) => e, async (e) => Promise.reject(e));
10536
10582
  //#endregion
10537
10583
  //#region src/services/credits.ts
10538
- async function Xi() {
10539
- let { data: e } = await Yi.get("/credits/v1/me");
10584
+ async function sa() {
10585
+ let { data: e } = await oa.get("/credits/v1/me");
10540
10586
  return e;
10541
10587
  }
10542
- function Zi(e) {
10588
+ function ca(e) {
10543
10589
  return e.usage?.pattern;
10544
10590
  }
10545
- function Qi(e) {
10591
+ function la(e) {
10546
10592
  return e.user_credit?.plan?.toLowerCase() || "free";
10547
10593
  }
10548
10594
  //#endregion
10549
10595
  //#region src/lib/find-error-message.ts
10550
- var $i = (e) => {
10596
+ var ua = (e) => {
10551
10597
  if (typeof e == "string") return e;
10552
10598
  if (typeof e != "object" || !e) return R;
10553
10599
  for (let t in e) if (Object.prototype.hasOwnProperty.call(e, t)) {
10554
- let n = $i(e[t]);
10600
+ let n = ua(e[t]);
10555
10601
  if (n) return n;
10556
10602
  }
10557
10603
  return R;
10558
- }, ea = (e) => I(e) ? $i(e.response?.data) : e.message, ta = "pattern.custom_pattern_saved";
10559
- function na() {
10604
+ }, da = (e) => I(e) ? ua(e.response?.data) : e.message, fa = "pattern.custom_pattern_saved";
10605
+ function pa() {
10560
10606
  return JSON.stringify({
10561
- name: ta,
10607
+ name: fa,
10562
10608
  data: null
10563
10609
  });
10564
10610
  }
10565
- function ra(e, t, n = 0) {
10611
+ function ma(e, t, n = 0) {
10566
10612
  !e || n > 4 || e.querySelectorAll("iframe").forEach((e) => {
10567
10613
  let r = e.contentWindow;
10568
10614
  if (!(!r || t.has(r))) {
10569
10615
  t.add(r);
10570
10616
  try {
10571
- ra(e.contentDocument, t, n + 1);
10617
+ ma(e.contentDocument, t, n + 1);
10572
10618
  } catch {}
10573
10619
  }
10574
10620
  });
10575
10621
  }
10576
- function ia() {
10622
+ function ha() {
10577
10623
  if (typeof document > "u") return;
10578
- let e = na(), t = /* @__PURE__ */ new Set();
10579
- ra(document, t), t.forEach((t) => t.postMessage(e, "*"));
10624
+ let e = pa(), t = /* @__PURE__ */ new Set();
10625
+ ma(document, t), t.forEach((t) => t.postMessage(e, "*"));
10580
10626
  }
10581
10627
  //#endregion
10582
10628
  //#region src/components/pattern-tracker/PatternTrackerSubscriptionModal.vue?vue&type=script&setup=true&lang.ts
10583
- var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10629
+ var ga = ["aria-label"], _a = /* @__PURE__ */ d({
10584
10630
  __name: "PatternTrackerSubscriptionModal",
10585
10631
  props: {
10586
10632
  open: { type: Boolean },
@@ -10662,10 +10708,10 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10662
10708
  };
10663
10709
  m.value = !0;
10664
10710
  try {
10665
- let e = await Xi(), t = Zi(e);
10711
+ let e = await sa(), t = ca(e);
10666
10712
  if (t && t.remaining <= 0) {
10667
- let t = Qi(e), n = t === "free", r = t === "expert";
10668
- me({
10713
+ let t = la(e), n = t === "free", r = t === "expert";
10714
+ ve({
10669
10715
  title: u(n ? "Pattern.currentPlan" : "Pattern.limitReached"),
10670
10716
  description: u(n ? "Pattern.trackerTutorialPlanNoTracking" : r ? "Pattern.limitReachedTrackerDescription" : "Pattern.trackerUpgradeToastDescription"),
10671
10717
  variant: "warning",
@@ -10676,14 +10722,14 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10676
10722
  });
10677
10723
  return;
10678
10724
  }
10679
- await Ji(a), ia(), me({
10725
+ await aa(a), ha(), ve({
10680
10726
  title: u("Pattern.patternSubscribed"),
10681
10727
  description: u("Pattern.patternSubscribedDesc", { name: d.value }),
10682
10728
  variant: "success"
10683
10729
  }), l(!1);
10684
10730
  } catch (e) {
10685
- let t = ea(e);
10686
- p.value = t, me({
10731
+ let t = da(e);
10732
+ p.value = t, ve({
10687
10733
  title: u("Pattern.patternSubscriptionError"),
10688
10734
  description: t,
10689
10735
  variant: "error"
@@ -10712,7 +10758,7 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10712
10758
  class: g(k(Q)("iccandle-pattern-tracker-modal__content", f.value && "iccandle-pattern-tracker-modal__content--settings")),
10713
10759
  style: _({ height: f.value ? "100%" : void 0 }),
10714
10760
  onPointerdown: r[1] ||= P(() => {}, ["stop"])
10715
- }, [f.value ? (x(), i(qi, {
10761
+ }, [f.value ? (x(), i(ia, {
10716
10762
  key: 1,
10717
10763
  form: h,
10718
10764
  "on-back": T,
@@ -10725,18 +10771,18 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10725
10771
  "on-cancel",
10726
10772
  "is-subscribing",
10727
10773
  "error-message"
10728
- ])) : (x(), i(vr, {
10774
+ ])) : (x(), i(kr, {
10729
10775
  key: 0,
10730
10776
  "pattern-name": d.value,
10731
10777
  "on-next": y,
10732
10778
  "on-cancel": () => l(!1),
10733
10779
  onPatternNameChange: r[0] ||= (e) => d.value = e
10734
- }, null, 8, ["pattern-name", "on-cancel"]))], 38)], 46, aa)) : a("", !0)]));
10780
+ }, null, 8, ["pattern-name", "on-cancel"]))], 38)], 46, ga)) : a("", !0)]));
10735
10781
  }
10736
- }), 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 = {
10782
+ }), 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 = {
10737
10783
  key: 0,
10738
10784
  class: "iccandle-event-info-modal__date"
10739
- }, 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({
10785
+ }, 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({
10740
10786
  __name: "EventInfoModal",
10741
10787
  props: {
10742
10788
  event: {},
@@ -10793,21 +10839,21 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10793
10839
  onClick: n[0] ||= P(() => {}, ["stop"]),
10794
10840
  onKeydown: h
10795
10841
  }, [
10796
- 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", {
10842
+ 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", {
10797
10843
  ref_key: "closeButtonRef",
10798
10844
  ref: l,
10799
10845
  type: "button",
10800
10846
  class: "iccandle-event-info-modal__close",
10801
10847
  "aria-label": k(i)("Common.close"),
10802
10848
  onClick: p
10803
- }, [u(dt, { size: 20 })], 8, ua)]),
10804
- s("div", null, [e.event.timestamp ? (x(), o("p", da, O(f(e.event.timestamp, k(c))), 1)) : a("", !0), s("div", fa, [
10805
- s("div", pa, [s("span", ma, O(k(i)("Common.actual")) + ": ", 1), s("span", ha, O(e.event.actual || "-"), 1)]),
10806
- s("div", ga, [s("span", _a, O(k(i)("News.previousActual")) + ": ", 1), s("span", va, O(e.event.previous || "-"), 1)]),
10807
- s("div", ya, [s("span", ba, O(k(i)("News.currentForecast")) + ": ", 1), s("span", xa, O(e.event.forecast || "-"), 1)]),
10808
- s("div", Sa, [s("span", Ca, O(k(i)("News.previousForecast")) + ": ", 1), n[1] ||= s("span", { class: "iccandle-event-info-modal__value" }, "-", -1)])
10849
+ }, [u(St, { size: 20 })], 8, xa)]),
10850
+ s("div", null, [e.event.timestamp ? (x(), o("p", Sa, O(f(e.event.timestamp, k(c))), 1)) : a("", !0), s("div", Ca, [
10851
+ s("div", wa, [s("span", Ta, O(k(i)("Common.actual")) + ": ", 1), s("span", Ea, O(e.event.actual || "-"), 1)]),
10852
+ s("div", Da, [s("span", Oa, O(k(i)("News.previousActual")) + ": ", 1), s("span", ka, O(e.event.previous || "-"), 1)]),
10853
+ s("div", Aa, [s("span", ja, O(k(i)("News.currentForecast")) + ": ", 1), s("span", Ma, O(e.event.forecast || "-"), 1)]),
10854
+ s("div", Na, [s("span", Pa, O(k(i)("News.previousForecast")) + ": ", 1), n[1] ||= s("span", { class: "iccandle-event-info-modal__value" }, "-", -1)])
10809
10855
  ])]),
10810
- s("div", wa, [s("button", {
10856
+ s("div", Fa, [s("button", {
10811
10857
  type: "button",
10812
10858
  class: "iccandle-event-info-modal__btn iccandle-event-info-modal__btn--outline",
10813
10859
  onClick: p
@@ -10818,7 +10864,7 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10818
10864
  }, O(k(i)("News.goToEventDetail")), 1)])
10819
10865
  ], 36)]));
10820
10866
  }
10821
- }), Ea = ["width", "height"], Da = ["stroke"], Oa = ["stroke"], ka = ["stroke"], Aa = /* @__PURE__ */ d({
10867
+ }), La = ["width", "height"], Ra = ["stroke"], za = ["stroke"], Ba = ["stroke"], Va = /* @__PURE__ */ d({
10822
10868
  __name: "AlertTriangleIcon",
10823
10869
  props: {
10824
10870
  size: { default: 24 },
@@ -10840,28 +10886,28 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10840
10886
  "stroke-width": "2",
10841
10887
  "stroke-linecap": "round",
10842
10888
  "stroke-linejoin": "round"
10843
- }, null, 8, Da),
10889
+ }, null, 8, Ra),
10844
10890
  s("path", {
10845
10891
  d: "M12 9v4",
10846
10892
  stroke: e.color,
10847
10893
  "stroke-width": "2",
10848
10894
  "stroke-linecap": "round",
10849
10895
  "stroke-linejoin": "round"
10850
- }, null, 8, Oa),
10896
+ }, null, 8, za),
10851
10897
  s("path", {
10852
10898
  d: "M12 17h.01",
10853
10899
  stroke: e.color,
10854
10900
  "stroke-width": "2",
10855
10901
  "stroke-linecap": "round",
10856
10902
  "stroke-linejoin": "round"
10857
- }, null, 8, ka)
10858
- ], 10, Ea));
10903
+ }, null, 8, Ba)
10904
+ ], 10, La));
10859
10905
  }
10860
- }), ja = [
10906
+ }), Ha = [
10861
10907
  "width",
10862
10908
  "height",
10863
10909
  "stroke"
10864
- ], Ma = /* @__PURE__ */ d({
10910
+ ], Ua = /* @__PURE__ */ d({
10865
10911
  __name: "CheckCircleIcon",
10866
10912
  props: {
10867
10913
  size: { default: 20 },
@@ -10884,13 +10930,13 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10884
10930
  cx: "12",
10885
10931
  cy: "12",
10886
10932
  r: "10"
10887
- }, null, -1), s("path", { d: "m9 12 2 2 4-4" }, null, -1)]], 10, ja));
10933
+ }, null, -1), s("path", { d: "m9 12 2 2 4-4" }, null, -1)]], 10, Ha));
10888
10934
  }
10889
- }), Na = [
10935
+ }), Wa = [
10890
10936
  "width",
10891
10937
  "height",
10892
10938
  "stroke"
10893
- ], Pa = /* @__PURE__ */ d({
10939
+ ], Ga = /* @__PURE__ */ d({
10894
10940
  __name: "AlertCircleIcon",
10895
10941
  props: {
10896
10942
  size: { default: 20 },
@@ -10927,40 +10973,40 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10927
10973
  y1: "16",
10928
10974
  y2: "16"
10929
10975
  }, null, -1)
10930
- ]], 10, Na));
10976
+ ]], 10, Wa));
10931
10977
  }
10932
- }), Fa = {
10978
+ }), Ka = {
10933
10979
  class: "custom-toast",
10934
10980
  role: "alert"
10935
- }, Ia = { class: "custom-toast__icon-wrap" }, La = { class: "custom-toast__content" }, Ra = { class: "custom-toast__header" }, za = { class: "custom-toast__title" }, Ba = {
10981
+ }, qa = { class: "custom-toast__icon-wrap" }, Ja = { class: "custom-toast__content" }, Ya = { class: "custom-toast__header" }, Xa = { class: "custom-toast__title" }, Za = {
10936
10982
  key: 0,
10937
10983
  class: "custom-toast__description"
10938
- }, Va = {
10984
+ }, Qa = {
10939
10985
  key: 1,
10940
10986
  class: "custom-toast__actions"
10941
- }, Ha = /* @__PURE__ */ d({
10987
+ }, $a = /* @__PURE__ */ d({
10942
10988
  __name: "CustomToast",
10943
10989
  props: { toast: {} },
10944
10990
  setup(e) {
10945
10991
  let t = e, n = r(() => {
10946
10992
  switch (t.toast.variant) {
10947
- case "warning": return Aa;
10948
- case "success": return Ma;
10949
- case "error": return Pa;
10950
- default: return Zn;
10993
+ case "warning": return Va;
10994
+ case "success": return Ua;
10995
+ case "error": return Ga;
10996
+ default: return cr;
10951
10997
  }
10952
10998
  });
10953
10999
  function c() {
10954
- t.toast.action?.onClick(), pe(t.toast.id);
11000
+ t.toast.action?.onClick(), _e(t.toast.id);
10955
11001
  }
10956
11002
  function l() {
10957
11003
  let e = t.toast.dismiss;
10958
- e && typeof e == "object" && e.onClick?.(), pe(t.toast.id);
11004
+ e && typeof e == "object" && e.onClick?.(), _e(t.toast.id);
10959
11005
  }
10960
- return (t, r) => (x(), o("div", Fa, [s("div", Ia, [(x(), i(E(n.value), { class: "custom-toast__icon" }))]), s("div", La, [
10961
- s("div", Ra, [s("p", za, O(e.toast.title), 1)]),
10962
- e.toast.description ? (x(), o("p", Ba, O(e.toast.description), 1)) : a("", !0),
10963
- e.toast.action || e.toast.dismiss ? (x(), o("div", Va, [e.toast.action ? (x(), o("button", {
11006
+ return (t, r) => (x(), o("div", Ka, [s("div", qa, [(x(), i(E(n.value), { class: "custom-toast__icon" }))]), s("div", Ja, [
11007
+ s("div", Ya, [s("p", Xa, O(e.toast.title), 1)]),
11008
+ e.toast.description ? (x(), o("p", Za, O(e.toast.description), 1)) : a("", !0),
11009
+ e.toast.action || e.toast.dismiss ? (x(), o("div", Qa, [e.toast.action ? (x(), o("button", {
10964
11010
  key: 0,
10965
11011
  type: "button",
10966
11012
  class: "custom-toast__button custom-toast__button--action",
@@ -10973,7 +11019,7 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10973
11019
  }, O(e.toast.dismiss.label ?? "Dismiss"), 1)) : a("", !0)])) : a("", !0)
10974
11020
  ])]));
10975
11021
  }
10976
- }), Ua = /*#__PURE__*/ ((e, t) => {
11022
+ }), eo = /*#__PURE__*/ ((e, t) => {
10977
11023
  let n = e.__vccOpts || e;
10978
11024
  for (let [e, r] of t) n[e] = r;
10979
11025
  return n;
@@ -10995,16 +11041,16 @@ var aa = ["aria-label"], oa = /* @__PURE__ */ d({
10995
11041
  tag: "div",
10996
11042
  class: "iccandle-toast-list"
10997
11043
  }, {
10998
- default: N(() => [(x(!0), o(e, null, T(k(fe), (e) => (x(), i(Ha, {
11044
+ default: N(() => [(x(!0), o(e, null, T(k(ge), (e) => (x(), i($a, {
10999
11045
  key: e.id,
11000
11046
  toast: e
11001
11047
  }, null, 8, ["toast"]))), 128))]),
11002
11048
  _: 1
11003
11049
  })], 6));
11004
11050
  }
11005
- }), [["__scopeId", "data-v-1549ae5b"]]), Wa = "#00dfb9";
11006
- function Ga(e) {
11007
- let t = e || Wa;
11051
+ }), [["__scopeId", "data-v-1549ae5b"]]), to = "#00dfb9";
11052
+ function no(e) {
11053
+ let t = e || to;
11008
11054
  return {
11009
11055
  shape: "date_range",
11010
11056
  overrides: {
@@ -11021,7 +11067,7 @@ function Ga(e) {
11021
11067
  }
11022
11068
  };
11023
11069
  }
11024
- 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 = {
11070
+ 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 = {
11025
11071
  symbol: "XAU_USD",
11026
11072
  interval: "60",
11027
11073
  library_path: "/charting_library/",
@@ -11031,7 +11077,7 @@ var Ka = "\n \n \n
11031
11077
  user_id: "public_user_id",
11032
11078
  fullscreen: !1,
11033
11079
  autosize: !0
11034
- }, Ja = {
11080
+ }, ao = {
11035
11081
  D: "1440",
11036
11082
  H4: "240",
11037
11083
  H2: "120",
@@ -11043,7 +11089,7 @@ var Ka = "\n \n \n
11043
11089
  };
11044
11090
  //#endregion
11045
11091
  //#region src/composables/use-selected-news-window-message.ts
11046
- function Ya(e, t) {
11092
+ function oo(e, t) {
11047
11093
  let n = async ({ origin: n, data: r }) => {
11048
11094
  if (n !== "https://embed-iccandle-app.iccandle.ai" || typeof r != "string") return;
11049
11095
  let i;
@@ -11085,19 +11131,19 @@ function Ya(e, t) {
11085
11131
  }
11086
11132
  //#endregion
11087
11133
  //#region src/lib/debounce.ts
11088
- function Xa(e, t, n = 1) {
11134
+ function so(e, t, n = 1) {
11089
11135
  if (t === 0 || !isFinite(t)) return n;
11090
11136
  let r = e / t;
11091
11137
  return isFinite(r) ? r : n;
11092
11138
  }
11093
- function Za(e) {
11139
+ function co(e) {
11094
11140
  if (e.length === 0) return 0;
11095
11141
  let t = [...e].sort((e, t) => e - t), n = Math.floor(t.length / 2);
11096
11142
  return t.length % 2 == 0 ? (t[n - 1] + t[n]) / 2 : t[n];
11097
11143
  }
11098
- function Qa(e, t, n = []) {
11144
+ function lo(e, t, n = []) {
11099
11145
  if (e.length === 0) return [];
11100
- 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;
11146
+ 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;
11101
11147
  return e.map((e) => {
11102
11148
  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;
11103
11149
  return {
@@ -11110,7 +11156,7 @@ function Qa(e, t, n = []) {
11110
11156
  }
11111
11157
  //#endregion
11112
11158
  //#region src/lib/session-time.ts
11113
- var $a = "America/New_York", eo = 17, to = {
11159
+ var uo = "America/New_York", fo = 17, po = {
11114
11160
  Sun: 0,
11115
11161
  Mon: 1,
11116
11162
  Tue: 2,
@@ -11118,49 +11164,82 @@ var $a = "America/New_York", eo = 17, to = {
11118
11164
  Thu: 4,
11119
11165
  Fri: 5,
11120
11166
  Sat: 6
11121
- }, no = new Intl.DateTimeFormat("en-US", {
11122
- timeZone: $a,
11167
+ }, mo = new Intl.DateTimeFormat("en-US", {
11168
+ timeZone: uo,
11123
11169
  weekday: "short",
11124
11170
  hour: "numeric",
11125
11171
  minute: "numeric",
11126
11172
  hourCycle: "h23"
11127
- }), ro = (e) => {
11128
- 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;
11173
+ }), ho = (e) => {
11174
+ 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;
11129
11175
  return {
11130
- day: to[n] ?? 0,
11176
+ day: po[n] ?? 0,
11131
11177
  hour: i
11132
11178
  };
11133
- }, io = (e) => {
11134
- let { day: t, hour: n } = ro(e);
11135
- return t === 6 ? !1 : t === 0 ? n >= eo : t !== 5 || n < eo;
11136
- }, ao = (e, t) => {
11179
+ }, go = (e) => {
11180
+ let { day: t, hour: n } = ho(e);
11181
+ return t === 6 ? !1 : t === 0 ? n >= fo : t !== 5 || n < fo;
11182
+ }, _o = (e, t) => {
11137
11183
  let n = e, r = Math.max(1, Math.ceil(11520 * 60 * 1e3 / t));
11138
- for (let e = 0; e < r && !io(n); e++) n += t;
11184
+ for (let e = 0; e < r && !go(n); e++) n += t;
11185
+ return n;
11186
+ }, vo = 1440 * 60 * 1e3, yo = 7 * vo, bo = (e) => e > 1e11 ? e : e * 1e3, xo = (e, t) => {
11187
+ let n = e + vo;
11188
+ for (; t && new Date(n).getUTCDay() % 6 == 0;) n += vo;
11189
+ return n;
11190
+ }, So = (e) => {
11191
+ 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();
11192
+ return Date.UTC(s, c, Math.min(n, l), r, i, a, o);
11193
+ }, Co = (e, t) => {
11194
+ let n = [], r = bo(e);
11195
+ for (let e = 0; e < t; e++) r += yo, n.push(r);
11139
11196
  return n;
11140
- }, oo = (e, t, n) => {
11141
- let r = W(t) * 1e3, i = [], a = e;
11142
- for (let e = 0; e < n; e++) a += r, io(a) || (a = ao(a, r)), i.push(a);
11197
+ }, wo = (e, t) => {
11198
+ let n = [], r = bo(e);
11199
+ for (let e = 0; e < t; e++) r = So(r), n.push(r);
11200
+ return n;
11201
+ }, To = (e, t, n, r) => {
11202
+ let i = r !== "24x7", a = [], o = bo(e);
11203
+ for (let e = 0; e < n; e++) o = xo(o, i), a.push(o);
11204
+ return a;
11205
+ }, Eo = (e, t, n, r) => {
11206
+ let i = r !== "24x7", a = _t(t, n), o = 0, s = _t(e, n);
11207
+ for (; s < a;) s = xo(s, i), s <= a && o++;
11208
+ return o;
11209
+ }, Do = (e, t) => {
11210
+ let n = bo(t), r = 0, i = bo(e);
11211
+ for (; i < n;) i = So(i), i <= n && r++;
11212
+ return r;
11213
+ }, Oo = (e, t, n) => {
11214
+ let r = K(t) * 1e3, i = [], a = e;
11215
+ for (let e = 0; e < n; e++) a += r, go(a) || (a = _o(a, r)), i.push(a);
11143
11216
  return i;
11144
- }, so = (e, t, n, r) => {
11217
+ }, ko = (e, t, n, r) => {
11145
11218
  if (n <= 0) return [];
11219
+ if (dt(t)) return To(e, t, n, r);
11220
+ if (ft(t)) return Co(e, n);
11221
+ if (pt(t)) return wo(e, n);
11146
11222
  if (r === "24x7") {
11147
- let r = W(t) * 1e3;
11223
+ let r = K(t) * 1e3;
11148
11224
  return Array.from({ length: n }, (t, n) => e + (n + 1) * r);
11149
11225
  }
11150
- if (r === "1700-1700") return oo(e, t, n);
11151
- let i = W(t) * 1e3;
11226
+ if (r === "1700-1700") return Oo(e, t, n);
11227
+ let i = K(t) * 1e3;
11152
11228
  return Array.from({ length: n }, (t, n) => e + (n + 1) * i);
11153
- }, co = (e, t, n, r) => {
11229
+ }, Ao = (e, t, n, r) => {
11230
+ if (dt(n)) return Eo(e, t, n, r);
11231
+ if (ft(n)) return Math.max(0, Math.floor((bo(t) - bo(e)) / yo));
11232
+ if (pt(n)) return Do(e, t);
11154
11233
  if (r === "24x7") {
11155
- let r = W(n) * 1e3;
11234
+ let r = K(n) * 1e3;
11156
11235
  return Math.max(0, Math.floor((t - e) / r));
11157
11236
  }
11158
11237
  if (r === "1700-1700") {
11159
- let r = W(n) * 1e3, i = 0, a = e;
11160
- for (; a < t;) a += r, io(a) || (a = ao(a, r)), a <= t && i++;
11238
+ let r = K(n) * 1e3, i = 0, a = e;
11239
+ for (; a < t;) a += r, go(a) || (a = _o(a, r)), a <= t && i++;
11161
11240
  return i;
11162
11241
  }
11163
- let i = W(n) * 1e3;
11242
+ let i = K(n) * 1e3;
11164
11243
  return Math.max(0, Math.floor((t - e) / i));
11165
11244
  }, $ = C({
11166
11245
  activeTab: "patterns",
@@ -11187,89 +11266,92 @@ var $a = "America/New_York", eo = 17, to = {
11187
11266
  this.gapCount = e;
11188
11267
  }
11189
11268
  });
11190
- function lo() {
11269
+ function jo() {
11191
11270
  return $;
11192
11271
  }
11193
11272
  //#endregion
11194
11273
  //#region src/lib/play-chart.ts
11195
- var uo = null, fo = !1, po = !1, mo = 0, ho = !1;
11196
- function go(e) {
11197
- Number.isFinite(e) && e > mo && (mo = e);
11274
+ var Mo = null, No = !1, Po = !1, Fo = 0, Io = !1;
11275
+ function Lo(e) {
11276
+ Number.isFinite(e) && e > Fo && (Fo = e);
11277
+ }
11278
+ function Ro(e) {
11279
+ Number.isFinite(e) && e > 0 && (Fo = e);
11198
11280
  }
11199
- function _o() {
11200
- mo = 0;
11281
+ function zo() {
11282
+ Fo = 0;
11201
11283
  }
11202
- function vo() {
11203
- return ho;
11284
+ function Bo() {
11285
+ return Io;
11204
11286
  }
11205
- function yo() {
11206
- ho = !1;
11287
+ function Vo() {
11288
+ Io = !1;
11207
11289
  }
11208
- function bo(e) {
11290
+ function Ho(e) {
11209
11291
  return typeof e == "function" && typeof e.onReady != "function";
11210
11292
  }
11211
- function xo(e) {
11293
+ function Uo(e) {
11212
11294
  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).");
11213
11295
  }
11214
- function So(e) {
11215
- return uo = e, (t) => {
11216
- t?.time && go(t.time), !(!fo && po) && e(t);
11296
+ function Wo(e) {
11297
+ return Mo = e, (t) => {
11298
+ t?.time && Lo(t.time), !(!No && Po) && e(t);
11217
11299
  };
11218
11300
  }
11219
- function Co(e) {
11220
- xo(e);
11301
+ function Go(e) {
11302
+ Uo(e);
11221
11303
  let t = e.getBars?.bind(e), n = e.subscribeBars?.bind(e);
11222
11304
  return !n && !t ? e : Object.assign(Object.create(Object.getPrototypeOf(e)), e, {
11223
11305
  getBars(e, n, r, i, a) {
11224
11306
  if (t) return t(e, n, r, (e, t) => {
11225
11307
  let n = e?.[e.length - 1];
11226
- n?.time && go(n.time), i(e, t);
11308
+ n?.time && Lo(n.time), i(e, t);
11227
11309
  }, a);
11228
11310
  },
11229
11311
  subscribeBars(e, t, r, i, a) {
11230
- if (n) return n(e, t, So(r), i, a);
11312
+ if (n) return n(e, t, Wo(r), i, a);
11231
11313
  }
11232
11314
  });
11233
11315
  }
11234
- function wo(e, ...t) {
11235
- if (bo(e)) {
11236
- if (t.length > 0) return Co(e(...t));
11316
+ function Ko(e, ...t) {
11317
+ if (Ho(e)) {
11318
+ if (t.length > 0) return Go(e(...t));
11237
11319
  throw Error("withPlayChart: received a datafeed factory. Call it before passing to TradingView: withPlayChart(yourDataFeed(...)) or pass factory arguments: withPlayChart(yourDataFeed, arg1, arg2).");
11238
11320
  }
11239
- return Co(e);
11321
+ return Go(e);
11240
11322
  }
11241
- function To(e) {
11242
- po = e;
11323
+ function qo(e) {
11324
+ Po = e;
11243
11325
  }
11244
- function Eo(e) {
11245
- if (!uo) return !1;
11246
- if (mo > 0 && e.time < mo) return !0;
11247
- fo = !0;
11326
+ function Jo(e) {
11327
+ if (!Mo) return !1;
11328
+ if (Fo > 0 && e.time < Fo) return !0;
11329
+ No = !0;
11248
11330
  try {
11249
- go(e.time), ho = !0, uo(e);
11331
+ Lo(e.time), Io = !0, Mo(e);
11250
11332
  } finally {
11251
- fo = !1;
11333
+ No = !1;
11252
11334
  }
11253
11335
  return !0;
11254
11336
  }
11255
11337
  //#endregion
11256
11338
  //#region src/lib/highlight-bars-store.ts
11257
- var Do = [], Oo = (e) => {
11258
- Do = e;
11259
- }, ko = () => Do, Ao = (e) => e > 1e11 ? e : e * 1e3, jo = (e, t) => {
11260
- let n = Ao(e);
11261
- return t.find((e) => Ao(e.time) === n);
11262
- }, Mo = "Generated Candles - By iC Candle", No = "Generated Candles Background - By iC Candle", Po = "revealed_count", Fo = {
11263
- id: Po,
11339
+ var Yo = [], Xo = null, Zo = (e, t) => {
11340
+ Yo = e, Xo = t ?? null;
11341
+ }, Qo = () => Yo, $o = (e) => e > 1e11 ? e : e * 1e3, es = (e, t) => {
11342
+ let n = $o(e), r = t.find((e) => $o(e.time) === n);
11343
+ return r || !Xo || !mt(Xo) ? r : t.find((e) => gt($o(e.time), n, Xo));
11344
+ }, ts = "Generated Candles - By iC Candle", ns = "Generated Candles Background - By iC Candle", rs = "revealed_count", is = {
11345
+ id: rs,
11264
11346
  name: "Revealed Count",
11265
11347
  type: "integer",
11266
11348
  defval: 0,
11267
11349
  isHidden: !0,
11268
11350
  min: 0
11269
- }, Io = (e) => {
11351
+ }, as = (e) => {
11270
11352
  let t = Math.max(0, Number(e(0)) || 0);
11271
- return ko().slice(0, t);
11272
- }, Lo = (e, t) => !!jo(e, t), Ro = ({ id: e, description: t, shortDescription: n, isHiddenStudy: r, bodyColors: i, wickColors: a, borderColors: o }) => ({
11353
+ return Qo().slice(0, t);
11354
+ }, os = (e, t) => !!es(e, t), ss = ({ id: e, description: t, shortDescription: n, isHiddenStudy: r, bodyColors: i, wickColors: a, borderColors: o }) => ({
11273
11355
  _metainfoVersion: 51,
11274
11356
  id: e,
11275
11357
  description: t,
@@ -11282,7 +11364,7 @@ var Do = [], Oo = (e) => {
11282
11364
  type: "price",
11283
11365
  precision: 2
11284
11366
  },
11285
- inputs: [Fo],
11367
+ inputs: [is],
11286
11368
  palettes: {
11287
11369
  palette_bar: {
11288
11370
  colors: {
@@ -11410,9 +11492,9 @@ var Do = [], Oo = (e) => {
11410
11492
  } }
11411
11493
  },
11412
11494
  precision: 2,
11413
- inputs: { [Po]: 0 }
11495
+ inputs: { [rs]: 0 }
11414
11496
  }
11415
- }), zo = 0, Bo = (e = "light") => H[e], Vo = [
11497
+ }), cs = 0, ls = (e = "light") => re[e], us = [
11416
11498
  NaN,
11417
11499
  NaN,
11418
11500
  NaN,
@@ -11420,32 +11502,32 @@ var Do = [], Oo = (e) => {
11420
11502
  NaN,
11421
11503
  NaN,
11422
11504
  NaN
11423
- ], Ho = (e) => function() {
11505
+ ], ds = (e) => function() {
11424
11506
  this.init = function(e) {
11425
11507
  this._context = e;
11426
11508
  }, this.main = function(t, n) {
11427
11509
  this._context = t;
11428
- let r = t.symbol.time, i = Io(n);
11429
- return !Number.isFinite(r) || !i.length || !Lo(r, i) ? [...Vo] : e(t, i);
11510
+ let r = t.symbol.time, i = as(n);
11511
+ return !Number.isFinite(r) || !i.length || !os(r, i) ? [...us] : e(t, i);
11430
11512
  };
11431
- }, Uo = (e = "light") => {
11432
- let t = Bo(e), n = {
11433
- name: No,
11513
+ }, fs = (e = "light") => {
11514
+ let t = ls(e), n = {
11515
+ name: ns,
11434
11516
  metainfo: {
11435
11517
  _metainfoVersion: 51,
11436
11518
  id: "Generated Candles Background - By iC Candle@tv-basicstudies-1",
11437
- description: No,
11519
+ description: ns,
11438
11520
  shortDescription: "Generated Candles Background",
11439
11521
  isCustomIndicator: !0,
11440
11522
  is_hidden_study: !0,
11441
11523
  is_price_study: !0,
11442
11524
  linkedToSeries: !0,
11443
11525
  format: { type: "inherit" },
11444
- inputs: [Fo],
11526
+ inputs: [is],
11445
11527
  palettes: {
11446
11528
  prediction_bar_palette: {
11447
11529
  colors: { 0: { name: "Predicted Bar" } },
11448
- valToIndex: { [zo]: 0 }
11530
+ valToIndex: { [cs]: 0 }
11449
11531
  },
11450
11532
  prediction_mask_palette: {
11451
11533
  colors: { 0: { name: "Predicted Mask" } },
@@ -11523,7 +11605,7 @@ var Do = [], Oo = (e) => {
11523
11605
  style: 0
11524
11606
  } } }
11525
11607
  },
11526
- inputs: { [Po]: 0 }
11608
+ inputs: { [rs]: 0 }
11527
11609
  }
11528
11610
  },
11529
11611
  constructor: function() {
@@ -11531,8 +11613,8 @@ var Do = [], Oo = (e) => {
11531
11613
  this._context = e;
11532
11614
  }, this.main = function(e, t) {
11533
11615
  this._context = e;
11534
- let n = e.symbol.time, r = Io(t);
11535
- if (!Number.isFinite(n) || !Lo(n, r)) return [
11616
+ let n = e.symbol.time, r = as(t);
11617
+ if (!Number.isFinite(n) || !os(n, r)) return [
11536
11618
  NaN,
11537
11619
  NaN,
11538
11620
  NaN,
@@ -11544,7 +11626,7 @@ var Do = [], Oo = (e) => {
11544
11626
  ];
11545
11627
  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);
11546
11628
  return [
11547
- zo,
11629
+ cs,
11548
11630
  i,
11549
11631
  a + c,
11550
11632
  o - c,
@@ -11556,19 +11638,19 @@ var Do = [], Oo = (e) => {
11556
11638
  };
11557
11639
  }
11558
11640
  }, r = {
11559
- name: Mo,
11560
- metainfo: Ro({
11641
+ name: ts,
11642
+ metainfo: ss({
11561
11643
  id: "Generated Candles - By iC Candle@tv-basicstudies-1",
11562
- description: Mo,
11644
+ description: ts,
11563
11645
  shortDescription: "Generated Candles",
11564
11646
  isHiddenStudy: !1,
11565
11647
  bodyColors: ["#00dfb9", "#ffb84d"],
11566
11648
  wickColors: ["#00dfb9", "#ffb84d"],
11567
11649
  borderColors: ["#00dfb9", "#ffb84d"]
11568
11650
  }),
11569
- constructor: Ho((e, t) => {
11570
- let n = jo(e.symbol.time, t);
11571
- if (!n) return [...Vo];
11651
+ constructor: ds((e, t) => {
11652
+ let n = es(e.symbol.time, t);
11653
+ if (!n) return [...us];
11572
11654
  let r = +(n.close < n.open);
11573
11655
  return [
11574
11656
  n.open,
@@ -11582,35 +11664,35 @@ var Do = [], Oo = (e) => {
11582
11664
  })
11583
11665
  };
11584
11666
  return Promise.resolve([n, r]);
11585
- }, Wo = (e, t) => {
11667
+ }, ps = (e, t) => {
11586
11668
  if (t) try {
11587
11669
  e.removeEntity(t);
11588
11670
  } catch {}
11589
- }, Go = (e) => ({
11671
+ }, ms = (e) => ({
11590
11672
  "ohlcPlots.mask_candle.color": e,
11591
11673
  "ohlcPlots.mask_candle.borderColor": e,
11592
11674
  "ohlcPlots.mask_candle.wickColor": e,
11593
11675
  "palettes.prediction_bar_palette.colors.0.color": e,
11594
11676
  "palettes.prediction_mask_palette.colors.0.color": e
11595
- }), Ko = (e, t) => {
11677
+ }), hs = (e, t) => {
11596
11678
  try {
11597
11679
  e.getSeries().sendToBack();
11598
11680
  } catch {}
11599
11681
  let n = t.generatedCandlesStudyIdRef.current;
11600
11682
  n && e.bringToFront([n]);
11601
- }, qo = (e) => {
11683
+ }, gs = (e) => {
11602
11684
  try {
11603
11685
  e.getSeries().bringToFront();
11604
11686
  } catch {}
11605
- }, Jo = async (e, t, n) => {
11606
- Wo(e, t.generatedCandlesStudyIdRef.current), Wo(e, t.generatedCandlesBackgroundStudyIdRef.current), t.generatedCandlesStudyIdRef.current = null, t.generatedCandlesBackgroundStudyIdRef.current = null;
11607
- let r = await e.createStudy(No, !0, !0, void 0, Go(n));
11687
+ }, _s = async (e, t, n) => {
11688
+ ps(e, t.generatedCandlesStudyIdRef.current), ps(e, t.generatedCandlesBackgroundStudyIdRef.current), t.generatedCandlesStudyIdRef.current = null, t.generatedCandlesBackgroundStudyIdRef.current = null;
11689
+ let r = await e.createStudy(ns, !0, !0, void 0, ms(n));
11608
11690
  r && (t.generatedCandlesBackgroundStudyIdRef.current = r);
11609
- let i = await e.createStudy(Mo, !0, !0);
11610
- i && (t.generatedCandlesStudyIdRef.current = i), Ko(e, t);
11611
- }, Yo = (e, t, n) => {
11691
+ let i = await e.createStudy(ts, !0, !0);
11692
+ i && (t.generatedCandlesStudyIdRef.current = i), hs(e, t);
11693
+ }, vs = (e, t, n) => {
11612
11694
  let r = {
11613
- id: Po,
11695
+ id: rs,
11614
11696
  value: n
11615
11697
  };
11616
11698
  for (let n of [t.generatedCandlesBackgroundStudyIdRef, t.generatedCandlesStudyIdRef]) if (n.current) try {
@@ -11619,22 +11701,22 @@ var Do = [], Oo = (e) => {
11619
11701
  };
11620
11702
  //#endregion
11621
11703
  //#region src/composables/use-predict-candle.ts
11622
- function Xo(e, t, n, r, i, a) {
11704
+ function ys(e, t, n, r, i, a) {
11623
11705
  let o = t.highlightBarsRef, s = { current: i.value }, c = { current: null }, l = !1, u, d = () => {
11624
11706
  u &&= (clearInterval(u), void 0);
11625
11707
  }, f = (n) => {
11626
11708
  let r = e.value;
11627
11709
  if (r) try {
11628
- Yo(r.activeChart(), t, n);
11710
+ vs(r.activeChart(), t, n);
11629
11711
  } catch {}
11630
11712
  }, p = (t, r, a = []) => {
11631
11713
  let o = e.value, s = i.value, c = $.targetCandles;
11632
11714
  if (!(!o || !s?.length) && !(!t.length && !a.length) && c.length) try {
11633
- let e = o.activeChart(), i = U(n.value), s = ct(c[0].timestamp, n.value) / 1e3 - 100 * i, l;
11634
- if (r > 0 && t.length > 0) l = Ao(t[r - 1].time) / 1e3 + 100 / 3 * i;
11715
+ let e = o.activeChart(), i = G(n.value), s = _t(c[0].timestamp, n.value) / 1e3 - 100 * i, l;
11716
+ if (r > 0 && t.length > 0) l = $o(t[r - 1].time) / 1e3 + 100 / 3 * i;
11635
11717
  else {
11636
11718
  let e = t[t.length - 1] ?? a[a.length - 1];
11637
- l = (e ? Ao(e.time) : ct(c[c.length - 1].timestamp, n.value)) / 1e3 + 100 / 3 * i;
11719
+ l = (e ? $o(e.time) : _t(c[c.length - 1].timestamp, n.value)) / 1e3 + 100 / 3 * i;
11638
11720
  }
11639
11721
  e.setVisibleRange({
11640
11722
  from: s,
@@ -11660,7 +11742,7 @@ function Xo(e, t, n, r, i, a) {
11660
11742
  return;
11661
11743
  }
11662
11744
  let t = e[i];
11663
- if (t && Eo(t)) {
11745
+ if (t && Jo(t)) {
11664
11746
  i++, a = 0, n?.(i), i >= e.length && o();
11665
11747
  return;
11666
11748
  }
@@ -11672,14 +11754,14 @@ function Xo(e, t, n, r, i, a) {
11672
11754
  if (!(!n || !t.generatedCandlesStudyIdRef || !t.generatedCandlesBackgroundStudyIdRef)) {
11673
11755
  if (t.generatedCandlesStudyIdRef.current && t.generatedCandlesBackgroundStudyIdRef.current) try {
11674
11756
  let e = n.activeChart();
11675
- Yo(e, t, 0), Ko(e, t);
11757
+ vs(e, t, 0), hs(e, t);
11676
11758
  return;
11677
11759
  } catch {}
11678
11760
  try {
11679
11761
  await new Promise((e) => {
11680
11762
  n.onChartReady(async () => {
11681
11763
  try {
11682
- await Jo(n.activeChart(), t, a.value);
11764
+ await _s(n.activeChart(), t, a.value);
11683
11765
  } catch (e) {
11684
11766
  console.error("Failed to recreate generated candle studies:", e);
11685
11767
  }
@@ -11689,61 +11771,79 @@ function Xo(e, t, n, r, i, a) {
11689
11771
  } catch {}
11690
11772
  }
11691
11773
  }, g = (e) => {
11692
- l || (To(!1), c.current = i.value, o.current = e);
11693
- }, _ = async (n, r = []) => {
11694
- if (l || (To(!0), Oo(n), o.current = [], await h(), l)) return;
11695
- if (p(n, 0, r), r.length > 0) for (let e of r) {
11696
- if (l) return;
11697
- Eo(e);
11698
- }
11699
- if (await m(n, 100, (e) => {
11700
- f(e), o.current = n.slice(0, e);
11774
+ l || (qo(!1), c.current = i.value, o.current = e);
11775
+ }, _ = async (r, i = []) => {
11776
+ if (l || (qo(!0), Zo(r, n.value), o.current = [], await h(), l)) return;
11777
+ if (p(r, 0, i), i.length > 0) {
11778
+ let e = G(n.value) * 1e3;
11779
+ Ro(Math.max(0, i[0].time - e));
11780
+ for (let e of i) {
11781
+ if (l) return;
11782
+ Jo(e);
11783
+ }
11784
+ }
11785
+ if (await m(r, 100, (e) => {
11786
+ f(e), o.current = r.slice(0, e);
11701
11787
  }), l) return;
11702
- let i = e.value;
11703
- if (i) try {
11704
- Ko(i.activeChart(), t);
11788
+ let a = e.value;
11789
+ if (a) try {
11790
+ hs(a.activeChart(), t);
11705
11791
  } catch {}
11706
- g(n);
11792
+ g(r);
11707
11793
  }, y = () => {
11708
11794
  l = !1, d();
11709
11795
  let a = i.value, u = $.targetCandles, f = $.gapCount, p = e.value;
11710
11796
  if (a?.length && u.length > 0) {
11711
11797
  if (c.current === a) return;
11712
- 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);
11713
- $.playEndTimestamp != null && !f && (o = ct($.playEndTimestamp, n.value));
11714
- let s = i.c, l = so(o, n.value, f || 0, t), d = l.map((e) => ({
11715
- open: s,
11716
- high: s,
11717
- low: s,
11718
- close: s,
11719
- time: e
11720
- })), m = so(f ? l[l.length - 1] : o, n.value, e.length, t), h = [...e.map((e, t) => ({
11721
- open: e.o,
11722
- high: e.h,
11723
- low: e.l,
11724
- close: e.c,
11725
- time: ct(m[t], n.value)
11726
- }))].sort((e, t) => e.time - t.time);
11727
- try {
11728
- p?.onChartReady(() => {
11729
- _(h, d);
11730
- });
11731
- } catch {
11732
- _(h, d);
11733
- }
11798
+ (async () => {
11799
+ 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) => ({
11800
+ open: c,
11801
+ high: c,
11802
+ low: c,
11803
+ close: c,
11804
+ time: e
11805
+ })), h = ko(e ? d[d.length - 1] : s, n.value, t.length, i);
11806
+ if (mt(n.value) && e === 0 && p) try {
11807
+ let { data: e } = await p.activeChart().exportData({ includedStudies: [] }), r = _t(s, n.value), a = [];
11808
+ for (let i of e ?? []) {
11809
+ let e = i[0] > 1e11 ? i[0] : i[0] * 1e3;
11810
+ if (_t(e, n.value) <= r) continue;
11811
+ let o = a[a.length - 1];
11812
+ if (!(o != null && gt(o, e, n.value)) && (a.push(e), a.length >= t.length)) break;
11813
+ }
11814
+ if (a.length > 0) {
11815
+ let e = ko(a[a.length - 1], n.value, t.length - a.length, i);
11816
+ h = [...a, ...e];
11817
+ }
11818
+ } catch {}
11819
+ let g = [...t.map((e, t) => ({
11820
+ open: e.o,
11821
+ high: e.h,
11822
+ low: e.l,
11823
+ close: e.c,
11824
+ time: mt(n.value) ? h[t] : _t(h[t], n.value)
11825
+ }))].sort((e, t) => e.time - t.time);
11826
+ if (!l) try {
11827
+ p?.onChartReady(() => {
11828
+ _(g, m);
11829
+ });
11830
+ } catch {
11831
+ _(g, m);
11832
+ }
11833
+ })();
11734
11834
  } else {
11735
- if (To(!1), Oo([]), c.current = null, o.current = [], p) try {
11736
- Yo(p.activeChart(), t, 0);
11835
+ if (qo(!1), Zo([]), c.current = null, o.current = [], p) try {
11836
+ vs(p.activeChart(), t, 0);
11737
11837
  } catch {}
11738
11838
  try {
11739
11839
  p?.onChartReady(() => {
11740
- p && qo(p.activeChart());
11840
+ p && gs(p.activeChart());
11741
11841
  });
11742
11842
  } catch {}
11743
11843
  }
11744
11844
  s.current = a;
11745
11845
  }, b = () => {
11746
- l = !0, d(), To(!1);
11846
+ l = !0, d(), qo(!1);
11747
11847
  };
11748
11848
  M([
11749
11849
  e,
@@ -11761,30 +11861,30 @@ function Xo(e, t, n, r, i, a) {
11761
11861
  deep: !0
11762
11862
  }), M(i, (n) => {
11763
11863
  if (!n?.length) {
11764
- Oo([]), o.current = [];
11864
+ Zo([]), o.current = [];
11765
11865
  let n = e.value;
11766
11866
  if (n) try {
11767
- Yo(n.activeChart(), t, 0);
11867
+ vs(n.activeChart(), t, 0);
11768
11868
  } catch {}
11769
11869
  }
11770
11870
  }), v(b);
11771
11871
  }
11772
11872
  //#endregion
11773
11873
  //#region src/composables/use-window-message.ts
11774
- var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11874
+ var bs = (e) => Number(bt(e)), xs = (e, t) => ({
11775
11875
  o: e[1],
11776
11876
  h: e[2],
11777
11877
  l: e[3],
11778
11878
  c: e[4],
11779
- timestamp: Zo(e[0])
11780
- }), $o = (e) => Zo(e[0]), es = (e, t) => {
11879
+ timestamp: mt(t) ? e[0] > 1e11 ? e[0] : e[0] * 1e3 : bs(e[0])
11880
+ }), Ss = (e) => bs(e[0]), Cs = (e, t) => {
11781
11881
  let n = -1, r = -Infinity;
11782
11882
  for (let i = 0; i < e.length; i++) {
11783
- let a = $o(e[i]);
11883
+ let a = Ss(e[i]);
11784
11884
  a <= t && a >= r && (r = a, n = i);
11785
11885
  }
11786
11886
  return n;
11787
- }, ts = (e, t = 500) => new Promise((n) => {
11887
+ }, ws = (e, t = 500) => new Promise((n) => {
11788
11888
  let r = !1, i = () => {
11789
11889
  r || (r = !0, n());
11790
11890
  };
@@ -11792,7 +11892,7 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11792
11892
  e.onDataLoaded().subscribe(null, i, !0);
11793
11893
  } catch {}
11794
11894
  setTimeout(i, t);
11795
- }), ns = (e, t, n) => t >= e && t - e < n, rs = (e, t) => {
11895
+ }), 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) => {
11796
11896
  if (t.current) {
11797
11897
  try {
11798
11898
  let n = e?.activeChart?.();
@@ -11802,7 +11902,7 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11802
11902
  } catch {}
11803
11903
  t.current = null;
11804
11904
  }
11805
- }, is = (e) => {
11905
+ }, Os = (e) => {
11806
11906
  try {
11807
11907
  localStorage.removeItem(B);
11808
11908
  } catch {}
@@ -11811,25 +11911,25 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11811
11911
  if (!t) return;
11812
11912
  t.clearMarks(2), t.refreshMarks();
11813
11913
  } catch {}
11814
- }, as = (e, t) => {
11914
+ }, ks = (e, t) => {
11815
11915
  try {
11816
11916
  localStorage.setItem(B, JSON.stringify(t));
11817
11917
  } catch {}
11818
11918
  try {
11819
11919
  (e?.activeChart?.())?.refreshMarks();
11820
11920
  } catch {}
11821
- }, os = async (e, t) => {
11921
+ }, As = async (e, t) => {
11822
11922
  if (!(!e || !Number.isFinite(t) || t <= 0)) try {
11823
11923
  await e.headerReady();
11824
- let n = e.activeChart(), r = Zo(t), i = n.getVisibleRange(), a;
11825
- a = i?.from != null && i?.to != null && i.to > i.from ? (i.to - i.from) / 2 : 100 * W(n.resolution()) / 2, await n.setVisibleRange({
11924
+ let n = e.activeChart(), r = bs(t), i = n.getVisibleRange(), a;
11925
+ a = i?.from != null && i?.to != null && i.to > i.from ? (i.to - i.from) / 2 : 100 * K(n.resolution()) / 2, await n.setVisibleRange({
11826
11926
  from: r - a,
11827
11927
  to: r + a
11828
- }), await ts(n);
11928
+ }), await ws(n);
11829
11929
  } catch (e) {
11830
11930
  console.error("Error centering visible range on event", e);
11831
11931
  }
11832
- }, ss = async (e, t, n) => {
11932
+ }, js = async (e, t, n) => {
11833
11933
  if (!e || !Number.isFinite(t) || t <= 0) return;
11834
11934
  await e?.headerReady();
11835
11935
  let r = e?.activeChart?.();
@@ -11841,11 +11941,11 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11841
11941
  n.current = null;
11842
11942
  }
11843
11943
  try {
11844
- let e = W(r.resolution()), i = Zo(t), { data: a } = await r.exportData({
11944
+ let e = r.resolution(), i = K(e), a = bs(t), { data: o } = await r.exportData({
11845
11945
  includedStudies: [],
11846
- from: i - 5 * e,
11847
- to: i + e
11848
- }), 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 }, {
11946
+ from: a - 5 * i,
11947
+ to: a + i
11948
+ }), 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 }, {
11849
11949
  shape: "vertical_line",
11850
11950
  lock: !0,
11851
11951
  disableSelection: !0,
@@ -11854,27 +11954,27 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11854
11954
  linewidth: 1
11855
11955
  }
11856
11956
  });
11857
- u && (r.getShapeById(u)?.setSavingEnabled(!1), n.current = u);
11957
+ d && (r.getShapeById(d)?.setSavingEnabled(!1), n.current = d);
11858
11958
  } catch {}
11859
11959
  } catch {}
11860
- }, cs = async (e, t) => {
11960
+ }, Ms = async (e, t) => {
11861
11961
  if (!(!e || !Number.isFinite(t) || t <= 0)) try {
11862
11962
  await e.headerReady();
11863
- let n = e.activeChart(), r = W(n.resolution()), { data: i } = await n.exportData();
11963
+ let n = e.activeChart(), r = K(n.resolution()), { data: i } = await n.exportData();
11864
11964
  if (!i?.length) return;
11865
- let a = $o(i[i.length - 1]), o = Zo(t);
11965
+ let a = Ss(i[i.length - 1]), o = bs(t);
11866
11966
  await n.setVisibleRange({
11867
11967
  from: a - 100 * r,
11868
11968
  to: o + 100 / 3 * r
11869
- }), await ts(n);
11969
+ }), await ws(n);
11870
11970
  } catch (e) {
11871
11971
  console.error("Error expanding visible range for future event", e);
11872
11972
  }
11873
- }, ls = async (e, t, n) => {
11973
+ }, Ns = async (e, t, n) => {
11874
11974
  if (!e || !n || !Number.isFinite(t) || t <= 0) return !1;
11875
11975
  try {
11876
11976
  await e.headerReady();
11877
- let r = e.activeChart(), i = r.resolution(), a = W(i), o = Zo(t), s = async (e, t) => {
11977
+ let r = e.activeChart(), i = r.resolution(), a = K(i), o = bs(t), s = async (e, t) => {
11878
11978
  let { data: n } = await r.exportData({
11879
11979
  includedStudies: [],
11880
11980
  ...e != null && t != null ? {
@@ -11885,43 +11985,45 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11885
11985
  return n ?? [];
11886
11986
  }, c = await s();
11887
11987
  if (!c.length) return !1;
11888
- let l = o > $o(c[c.length - 1]), u = r.symbol(), d = Z.find((e) => e.ticker === u || e.display_name === u)?.session || "24x7";
11988
+ 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";
11889
11989
  n.clearSelectedCandles();
11890
11990
  let f = $.playEndTimestamp;
11891
- $.setPlayEndTimestamp(null), To(!1);
11991
+ $.setPlayEndTimestamp(null), qo(!1);
11892
11992
  let p = () => {
11893
11993
  f != null && Number.isFinite(f) && $.setPlayEndTimestamp(f);
11894
11994
  };
11895
- l ? await cs(e, t) : await os(e, t);
11995
+ l ? await Ms(e, t) : await As(e, t);
11896
11996
  let m = async () => {
11897
11997
  let e = await s(o - 250 * a, o + 100 / 3 * a);
11898
11998
  return e.length ? e : s();
11899
11999
  };
11900
12000
  if (c = await m(), !c.length) return p(), !1;
11901
12001
  let h = (e) => {
11902
- let t = es(e, o);
11903
- return t < 0 || !ns($o(e[t]), o, a) ? -1 : t;
11904
- }, g = $o(c[c.length - 1]), _ = o > g, v = _ ? -1 : h(c);
12002
+ let t = Cs(e, o);
12003
+ 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;
12004
+ }, g = Ss(c[c.length - 1]), _ = Es(g, o, a, i), v = _ ? -1 : h(c);
11905
12005
  if (!_ && v < 0) {
11906
- if (await ts(r), c = await m(), !c.length) return p(), !1;
11907
- g = $o(c[c.length - 1]), _ = o > g, v = _ ? -1 : h(c);
12006
+ if (await ws(r), c = await m(), !c.length) return p(), !1;
12007
+ g = Ss(c[c.length - 1]), _ = Es(g, o, a, i), v = _ ? -1 : h(c);
11908
12008
  }
11909
12009
  if (_) {
11910
- let e = o - o % a, t = co(ct(g, i), ct(e, i), i, d);
11911
- $.setGapCount(t), $.setPlayEndTimestamp(e);
11912
- let r = c.slice(-50).map(Qo);
11913
- return r.length === 0 || n.setTargetCandles(r), !0;
12010
+ let e = o - o % a, r = Ao(_t(g, i), _t(e, i), i, d);
12011
+ $.setGapCount(mt(i) ? Math.max(0, r - 1) : r), $.setPlayEndTimestamp(mt(i) ? t : e);
12012
+ let s = c.slice(-50).map((e) => xs(e, i));
12013
+ return s.length === 0 || n.setTargetCandles(s), !0;
11914
12014
  }
11915
12015
  if ($.setGapCount(0), v < 0) return p(), !1;
11916
- $.setPlayEndTimestamp($o(c[v]));
11917
- let y = c.slice(Math.max(0, v - 49), v + 1).map(Qo);
11918
- return y.length === 0 ? (p(), !1) : (n.setTargetCandles(y), !1);
12016
+ let y = mt(i) ? v - 1 : v;
12017
+ if (y < 0) return p(), !1;
12018
+ $.setPlayEndTimestamp(Ss(c[y]));
12019
+ let b = c.slice(Math.max(0, y - 49), y + 1).map((e) => xs(e, i));
12020
+ return b.length === 0 ? (p(), !1) : (n.setTargetCandles(b), !1);
11919
12021
  } catch (e) {
11920
12022
  return console.error("Error preparing event target candles", e), !1;
11921
12023
  }
11922
- }, us = (e) => {
11923
- if (!e || !vo()) {
11924
- yo();
12024
+ }, Ps = (e) => {
12025
+ if (!e || !Bo()) {
12026
+ Vo();
11925
12027
  return;
11926
12028
  }
11927
12029
  try {
@@ -11932,13 +12034,13 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11932
12034
  n = e?.from, r = e?.to;
11933
12035
  } catch {}
11934
12036
  try {
11935
- t.resetData(), e.resetCache?.(), _o();
12037
+ t.resetData(), e.resetCache?.(), zo();
11936
12038
  } catch (e) {
11937
12039
  console.error("Error resetting chart data", e);
11938
12040
  } finally {
11939
- yo();
12041
+ Vo();
11940
12042
  }
11941
- n != null && r != null && Number.isFinite(n) && Number.isFinite(r) && n < r && ts(t, 800).then(() => {
12043
+ n != null && r != null && Number.isFinite(n) && Number.isFinite(r) && n < r && ws(t, 800).then(() => {
11942
12044
  t.setVisibleRange({
11943
12045
  from: n,
11944
12046
  to: r
@@ -11946,11 +12048,11 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11946
12048
  });
11947
12049
  });
11948
12050
  } catch {
11949
- yo();
12051
+ Vo();
11950
12052
  }
11951
- }, ds = (e, t, n) => {
11952
- t([]), n?.preserveStartAnchor || ($.setPlayEndTimestamp(null), $.setGapCount(0)), To(!1), us(e);
11953
- }, fs = (e, t) => {
12053
+ }, Fs = (e, t, n) => {
12054
+ t([]), n?.preserveStartAnchor || ($.setPlayEndTimestamp(null), $.setGapCount(0)), qo(!1), Ps(e);
12055
+ }, Is = (e, t) => {
11954
12056
  if (e) try {
11955
12057
  let n = e.activeChart?.();
11956
12058
  if (!n) return;
@@ -11966,23 +12068,23 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11966
12068
  } catch {}
11967
12069
  });
11968
12070
  } catch {}
11969
- }, ps = (e) => Ja[e] || e, ms = (e) => {
12071
+ }, Ls = (e) => ao[e] || e, Rs = (e) => {
11970
12072
  if (!e) return null;
11971
12073
  let t = Object.keys(e)[0], n = Number(t);
11972
12074
  return Number.isFinite(n) && n > 0 ? n : null;
11973
- }, hs = async (e, t, n, r, i, a) => {
12075
+ }, zs = async (e, t, n, r, i, a) => {
11974
12076
  if (!e) return;
11975
- let { end_timestamp: o, symbol: s, timeframe: c } = t, l = ms(i), u = ps(c);
12077
+ let { end_timestamp: o, symbol: s, timeframe: c } = t, l = Rs(i), u = Ls(c);
11976
12078
  if (!(!s || !c || !Number.isFinite(o) || o <= 0 || l == null) && !(a && a.length > 0 && !a.includes(u) && !a.includes(c))) try {
11977
12079
  await e.headerReady();
11978
- let i = W(u);
11979
- r?.clearSelectedCandles(), $.setPlayEndTimestamp(null), $.setGapCount(0), To(!1), r && (r.applyingPatternRef.current = !0);
12080
+ let i = K(u);
12081
+ r?.clearSelectedCandles(), $.setPlayEndTimestamp(null), $.setGapCount(0), qo(!1), r && (r.applyingPatternRef.current = !0);
11980
12082
  try {
11981
12083
  await new Promise((t) => {
11982
12084
  e.setSymbol(s, u, () => t());
11983
12085
  });
11984
12086
  let a = e.activeChart();
11985
- fs(e, n);
12087
+ Is(e, n);
11986
12088
  let c = o - (l - 1) * i;
11987
12089
  try {
11988
12090
  await a.setVisibleRange({
@@ -11994,7 +12096,7 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
11994
12096
  }
11995
12097
  let { data: d } = await a.exportData(), f = d.findIndex((e) => e[0] === o);
11996
12098
  f === -1 && (f = d.length - 1);
11997
- 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 }], {
12099
+ 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 }], {
11998
12100
  ...v,
11999
12101
  overrides: {
12000
12102
  ...v.overrides,
@@ -12012,7 +12114,7 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
12012
12114
  } }), e.setSavingEnabled(!1)), n.current = y, r && (r.lastEntity.current = y);
12013
12115
  }
12014
12116
  if (r && m.length > 0) {
12015
- let e = m.map(Qo), t = e.slice(-50);
12117
+ let e = m.map((e) => xs(e, u)), t = e.slice(-50);
12016
12118
  r.setSymbol(s), r.setResolution(u), r.setTimeframe(u), r.setWindowSize(e.length), r.setCandles(e), r.setTargetCandles(t), r.setHasActiveShape(!0);
12017
12119
  }
12018
12120
  } finally {
@@ -12026,7 +12128,7 @@ var Zo = (e) => Number(lt(e)), Qo = (e) => ({
12026
12128
  }, 600);
12027
12129
  }
12028
12130
  };
12029
- function gs(e, t, n, r, i, a, o, s, c) {
12131
+ function Bs(e, t, n, r, i, a, o, s, c) {
12030
12132
  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 };
12031
12133
  M(n, (e) => {
12032
12134
  l.current = e;
@@ -12049,7 +12151,7 @@ function gs(e, t, n, r, i, a, o, s, c) {
12049
12151
  }
12050
12152
  if (!n || typeof n != "object") return;
12051
12153
  let r = () => {
12052
- fs(u.current, b);
12154
+ Is(u.current, b);
12053
12155
  let e = m.current;
12054
12156
  e && (e.lastEntity.current = null, e.setHasActiveShape(!1), e.setCandles([]), e.setTargetCandles([]));
12055
12157
  }, i = n.name;
@@ -12075,9 +12177,9 @@ function gs(e, t, n, r, i, a, o, s, c) {
12075
12177
  } catch {
12076
12178
  n = null;
12077
12179
  }
12078
- let r = e.playEndTimestamp != null && Number.isFinite(e.playEndTimestamp) ? Zo(e.playEndTimestamp) : null;
12079
- ($.playEndTimestamp == null || $.targetCandles.length === 0) && n != null && await ls(u.current, n, m.current);
12080
- let i = $.playEndTimestamp ?? r ?? S.current ?? (n == null ? l.current : Zo(n));
12180
+ let r = e.playEndTimestamp != null && Number.isFinite(e.playEndTimestamp) ? bs(e.playEndTimestamp) : null;
12181
+ ($.playEndTimestamp == null || $.targetCandles.length === 0) && n != null && await Ns(u.current, n, m.current);
12182
+ let i = $.playEndTimestamp ?? r ?? S.current ?? (n == null ? l.current : bs(n));
12081
12183
  i != null && Number.isFinite(i) && (S.current = i, $.setPlayEndTimestamp(i)), d.current(t);
12082
12184
  })();
12083
12185
  return;
@@ -12092,13 +12194,13 @@ function gs(e, t, n, r, i, a, o, s, c) {
12092
12194
  case "chart.stop":
12093
12195
  if (a?.isReplay === !1) {
12094
12196
  let e = $.playEndTimestamp;
12095
- e != null && Number.isFinite(e) && (S.current = e), d.current([]), To(!1), us(u.current);
12197
+ e != null && Number.isFinite(e) && (S.current = e), d.current([]), qo(!1), Ps(u.current);
12096
12198
  break;
12097
12199
  }
12098
- d.current(null), S.current = null, $.setPlayEndTimestamp(null), $.setGapCount(0), To(!1), us(u.current);
12200
+ d.current(null), S.current = null, $.setPlayEndTimestamp(null), $.setGapCount(0), qo(!1), Ps(u.current);
12099
12201
  break;
12100
12202
  case "selector.closeResult":
12101
- ds(u.current, d.current), p.current?.();
12203
+ Fs(u.current, d.current), p.current?.();
12102
12204
  break;
12103
12205
  case "selector.loading": {
12104
12206
  let e = a;
@@ -12107,37 +12209,37 @@ function gs(e, t, n, r, i, a, o, s, c) {
12107
12209
  }
12108
12210
  case "auth.signIn": {
12109
12211
  let e = a;
12110
- localStorage.setItem("iccandle_token", e?.idToken || "");
12212
+ localStorage.setItem(H, e?.idToken || "");
12111
12213
  break;
12112
12214
  }
12113
12215
  case "auth.signOut":
12114
- localStorage.removeItem("iccandle_token");
12216
+ localStorage.removeItem(H);
12115
12217
  break;
12116
12218
  case "news.eventClicked": {
12117
12219
  let e = a?.event;
12118
12220
  if (!e?.timestamp) return;
12119
- x.current = e.timestamp, as(u.current, e), (async () => {
12120
- await ls(u.current, e.timestamp, m.current), await ss(u.current, e.timestamp, y);
12221
+ x.current = e.timestamp, ks(u.current, e), (async () => {
12222
+ await Ns(u.current, e.timestamp, m.current), await js(u.current, e.timestamp, y);
12121
12223
  })();
12122
12224
  break;
12123
12225
  }
12124
12226
  case "news.back":
12125
- rs(u.current, y), is(u.current), ds(u.current, d.current), x.current = null, S.current = null, $.setGapCount(0), m.current?.setTargetCandles([]);
12227
+ Ds(u.current, y), Os(u.current), Fs(u.current, d.current), x.current = null, S.current = null, $.setGapCount(0), m.current?.setTargetCandles([]);
12126
12228
  break;
12127
12229
  case "news.backToSimilarEvents":
12128
- ds(u.current, d.current);
12230
+ Fs(u.current, d.current);
12129
12231
  break;
12130
12232
  case "pattern.classicPatternSelected": {
12131
12233
  let e = n.data?.pattern, t = e?.compared_pattern;
12132
12234
  if (!t) return;
12133
- hs(u.current, t, b, m.current, e?.results?.matches_by_window, g.current);
12235
+ zs(u.current, t, b, m.current, e?.results?.matches_by_window, g.current);
12134
12236
  break;
12135
12237
  }
12136
12238
  case "pattern.custom_pattern_selected":
12137
12239
  case "patter.custom_pattern_selected": {
12138
12240
  let e = a?.pattern, t = e?.compared_pattern;
12139
12241
  if (!t) return;
12140
- 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);
12141
12243
  break;
12142
12244
  }
12143
12245
  case "pattern.clear_custom_pattern_selected":
@@ -12161,76 +12263,76 @@ function gs(e, t, n, r, i, a, o, s, c) {
12161
12263
  }
12162
12264
  //#endregion
12163
12265
  //#region src/lib/post-chart-resolution.ts
12164
- var _s = "chart-resolution";
12165
- function vs(e) {
12266
+ var Vs = "chart-resolution";
12267
+ function Hs(e) {
12166
12268
  return {
12167
- type: _s,
12269
+ type: Vs,
12168
12270
  resolution: e
12169
12271
  };
12170
12272
  }
12171
- function ys(e, t) {
12172
- let n = JSON.stringify(vs(t));
12273
+ function Us(e, t) {
12274
+ let n = JSON.stringify(Hs(t));
12173
12275
  e.postMessage(n, "*");
12174
12276
  }
12175
- function bs(e, t, n = 0) {
12277
+ function Ws(e, t, n = 0) {
12176
12278
  !e || n > 4 || e.querySelectorAll("iframe").forEach((e) => {
12177
12279
  let r = e.contentWindow;
12178
12280
  if (!(!r || t.has(r))) {
12179
12281
  t.add(r);
12180
12282
  try {
12181
- bs(e.contentDocument, t, n + 1);
12283
+ Ws(e.contentDocument, t, n + 1);
12182
12284
  } catch {}
12183
12285
  }
12184
12286
  });
12185
12287
  }
12186
- function xs(e, t) {
12288
+ function Gs(e, t) {
12187
12289
  if (!t) return !1;
12188
12290
  let n = /* @__PURE__ */ new Set();
12189
- return e?.contentWindow && n.add(e.contentWindow), typeof document < "u" && bs(document, n), n.forEach((e) => ys(e, t)), n.size > 0;
12291
+ return e?.contentWindow && n.add(e.contentWindow), typeof document < "u" && Ws(document, n), n.forEach((e) => Us(e, t)), n.size > 0;
12190
12292
  }
12191
12293
  //#endregion
12192
12294
  //#region src/lib/post-selector-loading.ts
12193
- var Ss = "selector-loading";
12194
- function Cs(e) {
12295
+ var Ks = "selector-loading";
12296
+ function qs(e) {
12195
12297
  return {
12196
- type: Ss,
12298
+ type: Ks,
12197
12299
  isLoading: e
12198
12300
  };
12199
12301
  }
12200
- function ws(e, t) {
12302
+ function Js(e, t) {
12201
12303
  let n = e?.contentWindow;
12202
12304
  if (!n) return !1;
12203
12305
  let r = "*";
12204
12306
  try {
12205
12307
  e?.src && (r = new URL(e.src).origin);
12206
12308
  } catch {}
12207
- return n.postMessage(JSON.stringify(Cs(t)), r), !0;
12309
+ return n.postMessage(JSON.stringify(qs(t)), r), !0;
12208
12310
  }
12209
12311
  //#endregion
12210
12312
  //#region src/lib/post-parent-message.ts
12211
- var Ts = "open-pricing";
12212
- function Es(e) {
12313
+ var Ys = "open-pricing";
12314
+ function Xs(e) {
12213
12315
  return {
12214
- type: Ts,
12316
+ type: Ys,
12215
12317
  ...e
12216
12318
  };
12217
12319
  }
12218
- function Ds(e, t) {
12219
- e.postMessage(JSON.stringify(Es(t)), "*");
12320
+ function Zs(e, t) {
12321
+ e.postMessage(JSON.stringify(Xs(t)), "*");
12220
12322
  }
12221
- function Os(e, t) {
12323
+ function Qs(e, t) {
12222
12324
  let n = e?.contentWindow;
12223
- return n ? (Ds(n, t), !0) : !1;
12325
+ return n ? (Zs(n, t), !0) : !1;
12224
12326
  }
12225
- function ks(e) {
12226
- return typeof window > "u" || window.parent === window ? !1 : (Ds(window.parent, e), !0);
12327
+ function $s(e) {
12328
+ return typeof window > "u" || window.parent === window ? !1 : (Zs(window.parent, e), !0);
12227
12329
  }
12228
12330
  //#endregion
12229
12331
  //#region src/tradingview/WidgetIccandle.vue?vue&type=script&setup=true&lang.ts
12230
- var As = ["lang"], js = {
12332
+ var ec = ["lang"], tc = {
12231
12333
  key: 3,
12232
12334
  class: "iccandle-selector-widget__overlay"
12233
- }, Ms = /* @__PURE__ */ d({
12335
+ }, nc = /* @__PURE__ */ d({
12234
12336
  __name: "WidgetIccandle",
12235
12337
  props: {
12236
12338
  chartWidget: {},
@@ -12283,22 +12385,22 @@ var As = ["lang"], js = {
12283
12385
  function c(e) {
12284
12386
  return !(!e?.event_name || !e.currency || e.event_name === "Holiday" || e.status === "early");
12285
12387
  }
12286
- let l = e, d = r(() => re(l.language));
12287
- ce(d);
12388
+ let l = e, d = r(() => ae(l.language));
12389
+ fe(d);
12288
12390
  let f = {
12289
12391
  highlightBarsRef: { current: [] },
12290
12392
  generatedCandlesBackgroundStudyIdRef: { current: null },
12291
12393
  generatedCandlesStudyIdRef: { current: null }
12292
12394
  };
12293
12395
  t({ chartRefs: f });
12294
- 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 };
12396
+ 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 };
12295
12397
  M(T, () => {
12296
12398
  P.current = te;
12297
12399
  }, { immediate: !0 });
12298
12400
  let F = r(() => l.theme === "system" ? window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light" : l.theme), I = r(() => ({
12299
- light: l.chartMaskColors?.light ?? H.light,
12300
- dark: l.chartMaskColors?.dark ?? H.dark
12301
- })[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 = () => {
12401
+ light: l.chartMaskColors?.light ?? re.light,
12402
+ dark: l.chartMaskColors?.dark ?? re.dark
12403
+ })[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 = () => {
12302
12404
  try {
12303
12405
  let e = l.chartWidget?.activeChart?.();
12304
12406
  if (e) {
@@ -12315,44 +12417,44 @@ var As = ["lang"], js = {
12315
12417
  });
12316
12418
  }
12317
12419
  } catch {}
12318
- U.value = !1, G.value = [], E.setTargetCandles([]);
12420
+ H.value = !1, W.value = [], E.setTargetCandles([]);
12319
12421
  }, oe = (e) => {
12320
12422
  let t = e;
12321
12423
  try {
12322
12424
  t = new URL(e, `${z}/`).pathname;
12323
12425
  } catch {}
12324
- t.includes("/news") && Y(), k.value?.length && (E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null, To(!1));
12426
+ t.includes("/news") && Y(), k.value?.length && (E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null, qo(!1));
12325
12427
  }, se = () => {
12326
12428
  R.value = !0;
12327
- }, X = () => {
12429
+ }, ce = () => {
12328
12430
  R.value = !1;
12329
12431
  }, le = () => {
12330
- E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null, To(!1), S.value?.();
12432
+ E.setPlayEndTimestamp(null), E.setGapCount(0), k.value = null, qo(!1), S.value?.();
12331
12433
  }, ue = () => {
12332
- K.value = "settings";
12434
+ ie.value = "settings";
12333
12435
  }, de = () => {
12334
- K.value = "scan";
12335
- }, fe = () => {
12336
- K.value = null;
12436
+ ie.value = "scan";
12437
+ }, X = () => {
12438
+ ie.value = null;
12337
12439
  }, pe = () => {
12338
- ie.value = !1;
12440
+ G.value = !1;
12339
12441
  }, me = () => {
12340
- ie.value = !0;
12442
+ G.value = !0;
12341
12443
  }, he = (e) => {
12342
- O.value = e, ws(l.resultIframeRef?.current, e);
12444
+ O.value = e, Js(l.resultIframeRef?.current, e);
12343
12445
  }, ge = () => {
12344
12446
  let e = q.value;
12345
12447
  try {
12346
- e = Oe.value?.activeChart?.()?.resolution?.() || q.value;
12448
+ e = De.value?.activeChart?.()?.resolution?.() || q.value;
12347
12449
  } catch {
12348
12450
  e = q.value;
12349
12451
  }
12350
- xs(l.resultIframeRef?.current, e);
12452
+ Gs(l.resultIframeRef?.current, e);
12351
12453
  }, _e = { current: [] }, ve = (e) => {
12352
12454
  _e.current.forEach((e) => window.clearTimeout(e));
12353
12455
  let t = () => {
12354
12456
  if (e) {
12355
- xs(l.resultIframeRef?.current, e);
12457
+ Gs(l.resultIframeRef?.current, e);
12356
12458
  return;
12357
12459
  }
12358
12460
  ge();
@@ -12369,13 +12471,13 @@ var As = ["lang"], js = {
12369
12471
  theme: F.value === "dark" ? "dark" : "light",
12370
12472
  language: d.value
12371
12473
  };
12372
- Os(l.resultIframeRef?.current, e) || ks(e) || l.submitCallback(`${z}/${d.value}?pricing=true&theme=${F.value === "dark" ? "dark" : "light"}`);
12474
+ Qs(l.resultIframeRef?.current, e) || $s(e) || l.submitCallback(`${z}/${d.value}?pricing=true&theme=${F.value === "dark" ? "dark" : "light"}`);
12373
12475
  }, be = () => {
12374
12476
  A.value = !1, j.value = null, N.value = null;
12375
12477
  }, xe = () => {
12376
12478
  L.value = !0;
12377
12479
  }, Se = (e) => {
12378
- let t = e.default_symbol || J.value, n = F.value === "dark" ? "dark" : "light", r = Oe.value;
12480
+ let t = e.default_symbol || J.value, n = F.value === "dark" ? "dark" : "light", r = De.value;
12379
12481
  Y(), k.value = null, E.setPlayEndTimestamp(null);
12380
12482
  let i = {
12381
12483
  id: e.id,
@@ -12396,17 +12498,17 @@ var As = ["lang"], js = {
12396
12498
  r?.activeChart?.()?.refreshMarks();
12397
12499
  } catch {}
12398
12500
  (async () => {
12399
- await ls(r, e.timestamp, {
12501
+ await Ns(r, e.timestamp, {
12400
12502
  lastEntity: p,
12401
12503
  applyingPatternRef: h,
12402
12504
  setHasActiveShape: (e) => {
12403
- U.value = e;
12505
+ H.value = e;
12404
12506
  },
12405
12507
  setCandles: (e) => {
12406
- G.value = e;
12508
+ W.value = e;
12407
12509
  },
12408
12510
  setWindowSize: (e) => {
12409
- W.value = e;
12511
+ U.value = e;
12410
12512
  },
12411
12513
  setSymbol: (e) => {
12412
12514
  J.value = e;
@@ -12415,7 +12517,7 @@ var As = ["lang"], js = {
12415
12517
  q.value = e;
12416
12518
  },
12417
12519
  setTimeframe: (e) => {
12418
- ae.value = e;
12520
+ K.value = e;
12419
12521
  },
12420
12522
  setTargetCandles: (e) => {
12421
12523
  E.setTargetCandles(e);
@@ -12423,11 +12525,11 @@ var As = ["lang"], js = {
12423
12525
  clearSelectedCandles: () => {
12424
12526
  k.value = null;
12425
12527
  }
12426
- }), await ss(r, e.timestamp, m);
12528
+ }), await js(r, e.timestamp, m);
12427
12529
  })(), l.submitCallback(`${z}/${d.value}/news/similar-events/${e.id}?symbol=${encodeURIComponent(t)}&theme=${n}`);
12428
12530
  }, Ce = (e) => {
12429
12531
  if (!e) return;
12430
- let t = Oe.value;
12532
+ let t = De.value;
12431
12533
  if (!t) return;
12432
12534
  let n;
12433
12535
  try {
@@ -12466,9 +12568,9 @@ var As = ["lang"], js = {
12466
12568
  let f = d.timestamp ? d.timestamp / 1e3 : null, p = i.to - i.from, m = u(f ?? i.from + p * .5);
12467
12569
  m && (N.value = m), j.value = d, A.value = !0;
12468
12570
  }, we = () => {
12469
- h.current || (p.current = null, U.value = !1);
12571
+ h.current || (p.current = null, H.value = !1);
12470
12572
  }, Te = (e) => {
12471
- 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));
12573
+ 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));
12472
12574
  let t = null;
12473
12575
  try {
12474
12576
  t = JSON.parse(localStorage.getItem("tv:clicked-news-event") || "null");
@@ -12476,17 +12578,17 @@ var As = ["lang"], js = {
12476
12578
  t = null;
12477
12579
  }
12478
12580
  !t?.timestamp || !l.chartWidget || (async () => {
12479
- await ls(l.chartWidget, t.timestamp, {
12581
+ await Ns(l.chartWidget, t.timestamp, {
12480
12582
  lastEntity: p,
12481
12583
  applyingPatternRef: h,
12482
12584
  setHasActiveShape: (e) => {
12483
- U.value = e;
12585
+ H.value = e;
12484
12586
  },
12485
12587
  setCandles: (e) => {
12486
- G.value = e;
12588
+ W.value = e;
12487
12589
  },
12488
12590
  setWindowSize: (e) => {
12489
- W.value = e;
12591
+ U.value = e;
12490
12592
  },
12491
12593
  setSymbol: (e) => {
12492
12594
  J.value = e;
@@ -12495,7 +12597,7 @@ var As = ["lang"], js = {
12495
12597
  q.value = e;
12496
12598
  },
12497
12599
  setTimeframe: (e) => {
12498
- ae.value = e;
12600
+ K.value = e;
12499
12601
  },
12500
12602
  setTargetCandles: (e) => {
12501
12603
  E.setTargetCandles(e);
@@ -12503,17 +12605,17 @@ var As = ["lang"], js = {
12503
12605
  clearSelectedCandles: () => {
12504
12606
  k.value = null;
12505
12607
  }
12506
- }), await ss(l.chartWidget, t.timestamp, m);
12608
+ }), await js(l.chartWidget, t.timestamp, m);
12507
12609
  })();
12508
12610
  }, Ee = (e) => {
12509
- 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));
12510
- }, Oe = D(l.chartWidget);
12611
+ 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));
12612
+ }, De = D(l.chartWidget);
12511
12613
  M(() => l.chartWidget, (e) => {
12512
- Oe.value = e;
12513
- }), M(Oe, (e) => {
12614
+ De.value = e;
12615
+ }), M(De, (e) => {
12514
12616
  let t, r, i;
12515
12617
  b(() => {
12516
- U.value = !1, p.current = null, S.value = null;
12618
+ H.value = !1, p.current = null, S.value = null;
12517
12619
  try {
12518
12620
  if (r && clearTimeout(r), e) {
12519
12621
  let n = e.activeChart();
@@ -12526,50 +12628,50 @@ var As = ["lang"], js = {
12526
12628
  let a = e.activeChart();
12527
12629
  if (a) {
12528
12630
  let o = a.resolution();
12529
- ae.value = o, q.value = o;
12631
+ K.value = o, q.value = o;
12530
12632
  let s = Z?.find((e) => e.display_name === a.symbol());
12531
12633
  J.value = s?.ticker || a.symbol();
12532
12634
  let c = async (e, t) => {
12533
12635
  if (((a?.getAllShapes())?.filter((e) => e.name === "date_range"))?.forEach((e) => {
12534
12636
  a?.removeEntity(e.id);
12535
12637
  }), t) {
12536
- let { data: r } = await a.exportData(), i = r.findIndex((e) => e[0] === t);
12537
- i === -1 && (i = r.length - 1);
12538
- 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);
12539
- W.value = c.length, G.value = c.map(n), E.setTargetCandles(l.map(n)), U.value = !0;
12540
- let u = c[0], d = c[c.length - 1];
12541
- if (!u || !d) return;
12542
- if (p.current = await a.createMultipointShape([{ time: u[0] }, { time: d[0] }], Ga(P.current())), p.current) {
12638
+ let { data: e } = await a.exportData(), r = a.resolution(), i = yt(e, t, r);
12639
+ i === -1 && (i = e.length - 1);
12640
+ let o = e.slice(Math.max(0, i - 25 + 1), i + 1), s = e.slice(Math.max(0, i - 49), i + 1);
12641
+ U.value = o.length, W.value = o.map(n), E.setTargetCandles(s.map(n)), H.value = !0;
12642
+ let c = o[0], l = o[o.length - 1];
12643
+ if (!c || !l) return;
12644
+ if (p.current = await a.createMultipointShape([{ time: vt(c[0], r) }, { time: vt(l[0], r) }], no(P.current())), p.current) {
12543
12645
  let e = a.getShapeById(p.current);
12544
12646
  e && e.setSavingEnabled && (e.setProperties({ customText: {
12545
12647
  visible: !0,
12546
- text: Ka
12648
+ text: ro
12547
12649
  } }), e.setSavingEnabled(!1));
12548
12650
  }
12549
12651
  }
12550
12652
  };
12551
- t = st(async (t, r) => {
12552
- 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)) {
12653
+ t = ut(async (t, r) => {
12654
+ 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)) {
12553
12655
  let e = a.getShapeById(t);
12554
12656
  if (!e) return;
12555
- 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);
12556
- c === -1 && (c = s.length - 2, l = s.length - 1 - 25);
12557
- let u = s.slice(l, c + 1).length - 1;
12558
- 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) => {
12657
+ 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);
12658
+ l === -1 && (l = s.length - 2, u = s.length - 1 - 25);
12659
+ let d = s.slice(u, l + 1).length - 1;
12660
+ 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) => {
12559
12661
  a.removeEntity(e.id);
12560
12662
  });
12561
- let d = s.slice(c - u, c + 1), f = s.slice(c - 49, c + 1), m = d[0], h = d[d.length - 1];
12562
- if (!m || !h) return;
12563
- 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) {
12663
+ let f = s.slice(l - d, l + 1), m = s.slice(l - 49, l + 1), h = f[0], g = f[f.length - 1];
12664
+ if (!h || !g) return;
12665
+ 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) {
12564
12666
  let e = a.getShapeById(p.current);
12565
12667
  e && e.setSavingEnabled && (e.setProperties({ customText: {
12566
12668
  visible: !0,
12567
- text: Ka
12669
+ text: ro
12568
12670
  } }), e.setSavingEnabled(!1));
12569
12671
  }
12570
12672
  }
12571
12673
  }, 500), S.value = () => {
12572
- U.value = !0;
12674
+ H.value = !0;
12573
12675
  let e = a.getVisibleRange();
12574
12676
  e?.from && e?.to && c(e.from, e.to);
12575
12677
  };
@@ -12590,25 +12692,25 @@ var As = ["lang"], js = {
12590
12692
  };
12591
12693
  i = (e) => {
12592
12694
  r && clearTimeout(r), r = setTimeout(() => {
12593
- l(e) ? U.value = !1 : p.current && (U.value = !0);
12695
+ l(e) ? H.value = !1 : p.current && (H.value = !0);
12594
12696
  }, 150);
12595
12697
  }, a.onIntervalChanged().subscribe(null, Te), a.onSymbolChanged().subscribe(null, Ee), a.onVisibleRangeChanged().subscribe(null, i), e.subscribe?.("drawing_event", t);
12596
12698
  }
12597
12699
  });
12598
12700
  }, { immediate: !0 });
12599
- let ke = r(() => G.value[G.value.length - 1]?.timestamp ?? null);
12600
- Ya(Oe, C);
12601
- let Ae = {
12701
+ let Oe = r(() => W.value[W.value.length - 1]?.timestamp ?? null);
12702
+ oo(De, C);
12703
+ let ke = {
12602
12704
  lastEntity: p,
12603
12705
  applyingPatternRef: h,
12604
12706
  setHasActiveShape: (e) => {
12605
- U.value = e;
12707
+ H.value = e;
12606
12708
  },
12607
12709
  setCandles: (e) => {
12608
- G.value = e;
12710
+ W.value = e;
12609
12711
  },
12610
12712
  setWindowSize: (e) => {
12611
- W.value = e;
12713
+ U.value = e;
12612
12714
  },
12613
12715
  setSymbol: (e) => {
12614
12716
  J.value = e;
@@ -12617,7 +12719,7 @@ var As = ["lang"], js = {
12617
12719
  q.value = e;
12618
12720
  },
12619
12721
  setTimeframe: (e) => {
12620
- ae.value = e;
12722
+ K.value = e;
12621
12723
  },
12622
12724
  setTargetCandles: (e) => {
12623
12725
  E.setTargetCandles(e);
@@ -12626,11 +12728,11 @@ var As = ["lang"], js = {
12626
12728
  k.value = null;
12627
12729
  }
12628
12730
  };
12629
- gs(Oe, (e) => {
12731
+ Bs(De, (e) => {
12630
12732
  k.value = e;
12631
- }, ke, (e) => {
12733
+ }, Oe, (e) => {
12632
12734
  O.value = e;
12633
- }, l.onCloseResult, Ae, oe, () => l.availableIntervals, ge), M(() => l.iframeLoaded, (e) => {
12735
+ }, l.onCloseResult, ke, oe, () => l.availableIntervals, ge), M(() => l.iframeLoaded, (e) => {
12634
12736
  e && ve();
12635
12737
  }), y(() => {
12636
12738
  if (typeof document > "u") return;
@@ -12643,7 +12745,7 @@ var As = ["lang"], js = {
12643
12745
  }), v(() => {
12644
12746
  t.disconnect(), window.clearTimeout(e);
12645
12747
  });
12646
- }), M([Oe, I], ([e]) => {
12748
+ }), M([De, I], ([e]) => {
12647
12749
  if (!e) return;
12648
12750
  let t = !1;
12649
12751
  b(() => {
@@ -12654,7 +12756,7 @@ var As = ["lang"], js = {
12654
12756
  }), e.onChartReady(async () => {
12655
12757
  if (!t) {
12656
12758
  try {
12657
- await Jo(e.activeChart(), f, I.value);
12759
+ await _s(e.activeChart(), f, I.value);
12658
12760
  } catch (e) {
12659
12761
  console.error("Failed to create generated candle studies:", e);
12660
12762
  }
@@ -12663,8 +12765,8 @@ var As = ["lang"], js = {
12663
12765
  } catch {}
12664
12766
  }
12665
12767
  });
12666
- }, { immediate: !0 }), Xo(Oe, f, q, J, k, I);
12667
- let je = () => {
12768
+ }, { immediate: !0 }), ys(De, f, q, J, k, I);
12769
+ let Ae = () => {
12668
12770
  try {
12669
12771
  localStorage.removeItem(V), localStorage.removeItem(B);
12670
12772
  } catch {}
@@ -12680,12 +12782,12 @@ var As = ["lang"], js = {
12680
12782
  } catch {}
12681
12783
  }
12682
12784
  }, Me = (e) => {
12683
- ae.value = e;
12785
+ K.value = e;
12684
12786
  }, Ne = (e) => {
12685
12787
  L.value = e;
12686
- }, Pe = r(() => Z.find((e) => e.ticker === J.value)?.type ?? "forex"), Fe = r(() => J.value || localStorage.getItem("tv:latest-symbol") || "XAU_USD");
12788
+ }, 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");
12687
12789
  return v(() => {
12688
- _e.current.forEach((e) => window.clearTimeout(e)), U.value = !1, p.current = null, S.value = null;
12790
+ _e.current.forEach((e) => window.clearTimeout(e)), H.value = !1, p.current = null, S.value = null;
12689
12791
  }), (t, n) => (x(), o("div", {
12690
12792
  ref_key: "rootEl",
12691
12793
  ref: T,
@@ -12693,8 +12795,8 @@ var As = ["lang"], js = {
12693
12795
  class: g(["iccandle-selector-widget", F.value === "dark" ? "iccandle-dark" : ""])
12694
12796
  }, [
12695
12797
  ee(t.$slots, "default", { chartRefs: f }),
12696
- u(ot, {
12697
- hide: !e.isShowScannerPopup,
12798
+ u(lt, {
12799
+ hide: !e.isShowScannerPopup || !Fe.value,
12698
12800
  "hide-scan-button": !e.isShowScanButton,
12699
12801
  "hide-tracker-button": !e.isShowTrackerButton,
12700
12802
  "submit-callback": e.submitCallback,
@@ -12703,21 +12805,21 @@ var As = ["lang"], js = {
12703
12805
  "on-scan-click": e.onScanClick,
12704
12806
  "set-scan-loading": he,
12705
12807
  "on-apply-saved-timeframe": Me,
12706
- "pending-scan-after-config": ie.value,
12808
+ "pending-scan-after-config": G.value,
12707
12809
  "on-pending-scan-handled": pe,
12708
12810
  "trigger-scanner": le,
12709
- window_size: W.value,
12811
+ window_size: U.value,
12710
12812
  "current-symbol": J.value,
12711
12813
  resolution: q.value,
12712
- timeframe: ae.value,
12814
+ timeframe: K.value,
12713
12815
  "chart-widget": e.chartWidget,
12714
- candles: G.value,
12816
+ candles: W.value,
12715
12817
  "handle-start-drag": se,
12716
- "handle-stop-drag": X,
12717
- "has-active-shape": U.value,
12818
+ "handle-stop-drag": ce,
12819
+ "has-active-shape": H.value,
12718
12820
  theme: F.value,
12719
12821
  language: d.value,
12720
- "clear-scanner-news-marks": je,
12822
+ "clear-scanner-news-marks": Ae,
12721
12823
  "selected-candles": k.value,
12722
12824
  "iframe-loaded": e.iframeLoaded,
12723
12825
  "is-loading": O.value,
@@ -12742,14 +12844,14 @@ var As = ["lang"], js = {
12742
12844
  "iframe-loaded",
12743
12845
  "is-loading"
12744
12846
  ]),
12745
- L.value ? (x(), i(oa, {
12847
+ L.value ? (x(), i(_a, {
12746
12848
  key: 0,
12747
12849
  open: L.value,
12748
12850
  "onUpdate:open": Ne,
12749
12851
  resolution: q.value,
12750
12852
  type: Pe.value,
12751
12853
  symbol: J.value,
12752
- candles: G.value,
12854
+ candles: W.value,
12753
12855
  percent: 90,
12754
12856
  theme: F.value,
12755
12857
  onUpgradeClick: ye
@@ -12761,12 +12863,12 @@ var As = ["lang"], js = {
12761
12863
  "candles",
12762
12864
  "theme"
12763
12865
  ])) : a("", !0),
12764
- K.value ? (x(), i(Yn, {
12866
+ ie.value ? (x(), i(or, {
12765
12867
  key: 1,
12766
- intent: K.value,
12868
+ intent: ie.value,
12767
12869
  "set-resolution": Me,
12768
- timeframe: ae.value,
12769
- "handle-close-dialog": fe,
12870
+ timeframe: K.value,
12871
+ "handle-close-dialog": X,
12770
12872
  "current-symbol": J.value,
12771
12873
  theme: F.value,
12772
12874
  onScanConfigSaved: me,
@@ -12777,10 +12879,10 @@ var As = ["lang"], js = {
12777
12879
  "current-symbol",
12778
12880
  "theme"
12779
12881
  ])) : a("", !0),
12780
- A.value && j.value ? (x(), i(Ta, {
12882
+ A.value && j.value ? (x(), i(Ia, {
12781
12883
  key: 2,
12782
12884
  event: j.value,
12783
- symbol: Fe.value,
12885
+ symbol: Ie.value,
12784
12886
  position: N.value,
12785
12887
  onClose: be,
12786
12888
  onGoToEventDetail: Se
@@ -12789,14 +12891,14 @@ var As = ["lang"], js = {
12789
12891
  "symbol",
12790
12892
  "position"
12791
12893
  ])) : a("", !0),
12792
- R.value ? (x(), o("div", js)) : a("", !0),
12793
- u(Ua, {
12894
+ R.value ? (x(), o("div", tc)) : a("", !0),
12895
+ u(eo, {
12794
12896
  theme: F.value,
12795
12897
  style: _(ne.value)
12796
12898
  }, null, 8, ["theme", "style"])
12797
- ], 10, As));
12899
+ ], 10, ec));
12798
12900
  }
12799
- }), Ns = (e) => {
12901
+ }), rc = (e) => {
12800
12902
  let t = e?.contentWindow;
12801
12903
  if (!t || !e?.src) return;
12802
12904
  let n = new URL(e.src).origin, r = () => t.postMessage(JSON.stringify({
@@ -12822,14 +12924,70 @@ var As = ["lang"], js = {
12822
12924
  "lookup_key"
12823
12925
  ].forEach((e) => r.searchParams.delete(e)), window.history.replaceState({}, "", r);
12824
12926
  }
12825
- }, Ps = "selector-scan";
12826
- function Fs(e) {
12927
+ }, ic = 60;
12928
+ function ac(e) {
12929
+ let t = e.split(".")[1];
12930
+ if (!t) return null;
12931
+ try {
12932
+ let e = t.replace(/-/g, "+").replace(/_/g, "/"), n = e + "=".repeat((4 - e.length % 4) % 4);
12933
+ return JSON.parse(atob(n));
12934
+ } catch {
12935
+ return null;
12936
+ }
12937
+ }
12938
+ function oc(e) {
12939
+ let t = ac(e);
12940
+ return t?.exp ? t.exp - ic > Math.floor(Date.now() / 1e3) : !1;
12941
+ }
12942
+ function sc() {
12943
+ if (typeof window > "u") return null;
12944
+ let e = localStorage.getItem(H);
12945
+ return !e || !oc(e) ? null : e;
12946
+ }
12947
+ //#endregion
12948
+ //#region src/composables/use-iccandle-auth.ts
12949
+ function cc() {
12950
+ let e = w(sc()), t = (t) => {
12951
+ if (t && oc(t)) {
12952
+ localStorage.setItem(H, t), e.value = t;
12953
+ return;
12954
+ }
12955
+ localStorage.removeItem(H), e.value = null;
12956
+ }, n = (e) => {
12957
+ if (e.origin !== "https://embed-iccandle-app.iccandle.ai") return;
12958
+ let n;
12959
+ try {
12960
+ n = typeof e.data == "string" ? JSON.parse(e.data) : e.data;
12961
+ } catch {
12962
+ return;
12963
+ }
12964
+ if (n?.name === "auth.signIn") {
12965
+ t(n.data?.idToken || null);
12966
+ return;
12967
+ }
12968
+ n?.name === "auth.signOut" && t(null);
12969
+ }, i = (t) => {
12970
+ t.key === "iccandle_token" && (e.value = sc());
12971
+ };
12972
+ return y(() => {
12973
+ window.addEventListener("message", n), window.addEventListener("storage", i);
12974
+ }), v(() => {
12975
+ window.removeEventListener("message", n), window.removeEventListener("storage", i);
12976
+ }), {
12977
+ isAuthenticated: r(() => !!e.value),
12978
+ idToken: e
12979
+ };
12980
+ }
12981
+ //#endregion
12982
+ //#region src/lib/post-selector-scan.ts
12983
+ var lc = "selector-scan";
12984
+ function uc(e) {
12827
12985
  return {
12828
- type: Ps,
12986
+ type: lc,
12829
12987
  url: e
12830
12988
  };
12831
12989
  }
12832
- function Is(e, t) {
12990
+ function dc(e, t) {
12833
12991
  if (!e?.src || !e.contentWindow) return !1;
12834
12992
  try {
12835
12993
  let n = new URL(e.src), r = new URL(t, n.origin);
@@ -12838,14 +12996,14 @@ function Is(e, t) {
12838
12996
  return !1;
12839
12997
  }
12840
12998
  }
12841
- function Ls(e, t) {
12999
+ function fc(e, t) {
12842
13000
  let n = e?.contentWindow;
12843
13001
  if (!n) return !1;
12844
13002
  let r = "*";
12845
13003
  try {
12846
13004
  e?.src && (r = new URL(e.src).origin);
12847
13005
  } catch {}
12848
- return n.postMessage(JSON.stringify(Fs(t)), r), !0;
13006
+ return n.postMessage(JSON.stringify(uc(t)), r), !0;
12849
13007
  }
12850
13008
  //#endregion
12851
- 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 };
13009
+ 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 };