Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
57498845ee | ||
|
|
20445c67b7 | ||
|
|
5209fc4afd | ||
|
|
9edb9e9108 | ||
|
|
2383c8c6e8 | ||
|
|
12e363f65c | ||
|
|
c9c8795995 |
306
changelog.md
306
changelog.md
@@ -5,6 +5,254 @@
|
|||||||
<!-- markdownlint-disable no-inline-html -->
|
<!-- markdownlint-disable no-inline-html -->
|
||||||
<!-- markdownlint-disable code-block-style -->
|
<!-- markdownlint-disable code-block-style -->
|
||||||
|
|
||||||
|
## Version 30.1.0
|
||||||
|
|
||||||
|
*Date: Mon Nov 10 2025*
|
||||||
|
|
||||||
|
**New Features**
|
||||||
|
|
||||||
|
- **Added the `always_show_study_symbol_input_values_in_legend` featureset.** When enabled, this featureset keeps symbol-type [indicator inputs](https:/www.tradingview.com/charting-library-docs/latest/custom_studies/metainfo/Custom-Studies-Inputs) (`StudySymbolInputInfo`) visible in the legend, even when other indicator inputs are hidden. This allows users to visually distinguish multiple instances of the same indicator on the chart by their source symbol.
|
||||||
|
|
||||||
|
**Improvements**
|
||||||
|
|
||||||
|
- **Improved drag-to-export feature.** When the [`chart_drag_export`](https:/www.tradingview.com/charting-library-docs/latest/customization/Featuresets#chart_drag_export) featureset is enabled and [`setDragExportEnabled(true)`](https:/www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IChartWidgetApi#setdragexportenabled) is called, the chart remains responsive to mouse interactions instead of blocking them. The library now emits [`dragstart`](https:/www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.SubscribeEventsMap#dragstart) for all drags. To treat a drag as a drag-drop export, set payload via the parameters of the [`setData`](https:/www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.DragStartParams#setdata) method. The [event parameters](https:/www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.DragStartParams) also include current modifier keys (ctrl/meta/alt/shift), enabling patterns like Cmd+Drag without relying on global key listeners.
|
||||||
|
- **Added the `getVisibleBarsRange` method.** [`getVisibleBarsRange`](https:/www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IChartWidgetApi#getvisiblebarsrange) returns the range of bar times currently shown on the chart. The method includes existing bars and visible incomplete bars produced by non-time-based chart styles (for example, Renko). Unlike [`getVisibleRange`](https:/www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IChartWidgetApi#getvisiblerange), `getVisibleBarsRange` doesn't include future bar times beyond the last visible bar.
|
||||||
|
- **Added a dropdown to change the type of Moving Average used for calculating Bollinger Bands.**
|
||||||
|
|
||||||
|
- **Support setting `noData` with non-empty bars response.** It is now possible to signal that there is no more data available, while at the same time returning bars via the [`getBars`](https:/www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IDatafeedChartApi#getbars) callback. Previously, this would cause a `"noData should be set when there is no data in the requested period and earlier only"` warning to be logged to the console, and a second call would be made to [`getBars`](https:/www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IDatafeedChartApi#getbars).
|
||||||
|
|
||||||
|
**Bug Fixes**
|
||||||
|
|
||||||
|
- **Fixed an issue where the widget bar would disappear when resizing.** When transitioning to higher dimensions, the widget bar would not necessarily be properly displayed.
|
||||||
|
- **Fixed VWAP issue.** The VWAP indicator used to break the chart when applied to a Japanese style chart.
|
||||||
|
- **Fixed an issue where the main series wouldn’t load more data if an indicator error appeared.**
|
||||||
|
|
||||||
|
- **Fixed an issue where the Moving Average Double indicator ignored the `Method` input.**
|
||||||
|
|
||||||
|
- **Fixed an issue where an error could be thrown after a pane is removed.**
|
||||||
|
|
||||||
|
- **Fixed an issue where creating an anchored shape would fail if placed before the first available bar.**
|
||||||
|
|
||||||
|
- **Fixed an issue where the Bollinger Bands indicator could be loaded inconsistently.** The result differed depending on whether it was added from the header dropdown or via the `createStudy` method.
|
||||||
|
- **Fixed an issue where `showOrderDialog` would use the default implementation instead of the one from `customUI`.** (Trading Platform only)
|
||||||
|
- **Fixed an issue where interacting with the DOM could cause errors in the console.** (Trading Platform only)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Version 30.0.0
|
||||||
|
|
||||||
|
*Date: Mon Sep 18 2025*
|
||||||
|
|
||||||
|
**Breaking Changes**
|
||||||
|
|
||||||
|
- **Scrolling and resizing cannot be canceled anymore.** Chart scrolling or resizing via the time or price scale no longer triggers a change event. Therefore, these actions cannot be canceled with undo action anymore.
|
||||||
|
- **Update line tools overrides.** The text visibility checkbox has been removed from the drawing settings. Now, the text is always displayed when specified.
|
||||||
|
For this reason, the `showLabel` override property has no effect for the line tools such as Trend Line.
|
||||||
|
- **Update UDF properties.** Both `exchange-listed` and `exchange-traded` have been marked deprecated in favour of a single `exchange_listed_name` property.
|
||||||
|
From version 31 they will be removed.
|
||||||
|
- **Extend featureset to display inactivity gaps on DWM charts.** The new [`inactivity_gaps`](https://www.tradingview.com/charting-library-docs/latest/customization/Featuresets#inactivity_gaps) featureset replaces the existing `intraday_inactivity_gaps` and enables the display of inactivity gaps both on intraday and DWM (daily, weekly, monthly) charts. For more information, refer to the [Show/hide gaps on the chart](https://www.tradingview.com/charting-library-docs/latest/ui_elements/Chart#showhide-gaps-on-the-chart) section.
|
||||||
|
- **Removed support for iOS version below 15.** Only iOS versions including and above 16 are now compatible with the library.
|
||||||
|
- **Default value of `supportOrdersHistory` changed to `true`.** This means the *History* page in the [Account Manager](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/account-manager/) is enabled by default and requires the [`ordersHistory`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IBrokerTerminal#ordershistory) method to be implemented. If you don't plan to support order history, set [`supportOrdersHistory`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.BrokerConfigFlags#supportordershistory) to `false` in your broker configuration. This hides the *History* page and prevents related errors. (Trading Platform only)
|
||||||
|
|
||||||
|
**New Features**
|
||||||
|
|
||||||
|
- **Added the "Day of week labels" checkbox to the "Scales and lines" settings dialog.**
|
||||||
|
|
||||||
|
- **Added a floating tooltip for detailed bar analysis in the *Cursors* menu.** On a long press on the chart, the tooltip appears and displays the OHLCV values and price change for the selected bar.
|
||||||
|
It then follows the cursor or finger as you move, providing a seamless way to inspect data across the chart.
|
||||||
|
To disable this feature, use the `long_press_floating_tooltip` featureset.
|
||||||
|
|
||||||
|
**Improvements**
|
||||||
|
|
||||||
|
- **Added option to remove locked drawings.** A new toggle *Always remove locked drawings* is now available in the left toolbar’s delete menu.
|
||||||
|
When enabled, this option forces the deletion of locked drawings along with other items.
|
||||||
|
- **Added subscription for *Zoom out* tool.** [`IChartWidgetApi`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IChartWidgetApi) has a new property `canZoomOutWV`. It returns whether the chart can be zoomed out using [`zoomOut`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IChartWidgetApi#zoomout).
|
||||||
|
- **The `onSymbolChanged` method returns the right type.** [`onSymbolChanged`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IChartWidgetApi#onsymbolchanged) now returns the expected type.
|
||||||
|
- **Deprecated support for letters in shortcuts.** The support for letters in [shortcuts](https://www.tradingview.com/charting-library-docs/latest/getting_started/Shortcuts) has been deprecated. Starting from version 31, string key names are no longer supported.
|
||||||
|
Old styles like `'ctrl+shift+/'` or `['ctrl', 'shift', '/']` are deprecated. Use the supportable style like `['ctrl', 'shift', 191]` instead. For more information, refer to the [Manage shortcuts](https://www.tradingview.com/charting-library-docs/latest/getting_started/Shortcuts#manage-shortcuts) section.
|
||||||
|
- **Added a `label` property to StudyOrDrawingAddedToChartEventParams.** The [`label`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.StudyOrDrawingAddedToChartEventParams#label) property contains the indicator's name as defined in the [`description`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.RawStudyMetaInfo#description) field of its [metainfo](https://www.tradingview.com/charting-library-docs/latest/custom_studies/metainfo).
|
||||||
|
- **New featuresets for legend in-place edit.** The `disable_legend_inplace_resolution_change` and `disable_legend_inplace_symbol_change` featuresets control whether users can change the resolution or symbol directly from the [legend](https://www.tradingview.com/charting-library-docs/latest/ui_elements/Legend).
|
||||||
|
- **Show symbol name in the _Сompare_ dialog.** When the [`use_symbol_name_for_header_toolbar`](https://www.tradingview.com/charting-library-docs/latest/customization/Featuresets#use_symbol_name_for_header_toolbar) featureset is enabled, the symbol [`name`](https://www.tradingview.com/charting-library-docs/latest/connecting_data/Symbology/#name) is displayed in the _Compare_ search dialog instead of [`ticker`](https://www.tradingview.com/charting-library-docs/latest/connecting_data/Symbology/#ticker).
|
||||||
|
- **Added new time zone for Kabul.**
|
||||||
|
|
||||||
|
- **Added new APIs to control the watermark settings.** The [Watermark API](https://www.tradingview.com/charting-library-docs/latest/ui_elements/watermarks#watermark-api-recommended) now has three different properties that can be set independently:
|
||||||
|
- [`tickerVisibility`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IWatermarkApi/#tickervisibility) to toggle the display of the ticker (e.g. AAPL)
|
||||||
|
- [`intervalVisibility`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IWatermarkApi/#intervalvisibility) to toggle the display of the interval (e.g. 1h)
|
||||||
|
- [`descriptionVisibility`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IWatermarkApi/#descriptionvisibility) to toggle the display of the description (e.g. Apple Inc.)
|
||||||
|
- **The `setVisibleRange` method can be rejected.** [`setVisibleRange`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IChartWidgetApi#setvisiblerange) now returns a `Promise` that can be rejected.
|
||||||
|
- **Added `chart_theme_changed` event to `SubscribeEventsMap`.** The [`chart_theme_changed`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.SubscribeEventsMap#chart_theme_changed) event is fired when a user applies a saved [chart template](https://www.tradingview.com/charting-library-docs/latest/saving_loading#chart-templates), resets the theme to the default built-in settings, or when the [`changeTheme`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IChartingLibraryWidget#changetheme) or [`loadChartTemplate`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IChartWidgetApi#loadcharttemplate) methods are called.
|
||||||
|
- **New `applyTradingCustomization` method.** This method allows you to override the style of order and position lines created with the [Broker API](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/trading-concepts#broker-api) after the widget has been created. (Trading Platform only)
|
||||||
|
- **Added a date property to `PositionBase`.** [`PositionBase`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.PositionBase) now has an optional `updateTime` property. (Trading Platform only)
|
||||||
|
- **Added a `canBeClosed` property to different Position APIs.** Both [`IndividualPositionBase`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IndividualPositionBase) and [`IndividualPosition`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IndividualPosition) now have an optional `canBeClosed` property to determine if a position can be closed. (Trading Platform only)
|
||||||
|
- **Added price information (price and profit/loss details) to the tooltip for positions, orders, and brackets.** (Trading Platform only)
|
||||||
|
- **Redesigned *Trading settings* panel.** The *Trading settings* panel has been reworked to be more intuitive and provide users with clearer options for customizing their trading view. (Trading Platform only)
|
||||||
|
|
||||||
|
**Bug Fixes**
|
||||||
|
|
||||||
|
- **Fixed an issue where Spread and Ratio indicators did not work correctly on intraday resolutions.** Previously, the Spread and Ratio indicators did not work correctly on intraday resolutions when the compared symbol had a different session (e.g., 24x7 and 0930-1630).
|
||||||
|
- **Fixed an issue where the _Long Position_ and _Short Position_ drawings were not reversed correctly.**
|
||||||
|
|
||||||
|
- **Fixed a bug that allowed orders to be placed without a price.** (Trading Platform only)
|
||||||
|
- **Fixed *Reverse* button color overrides.** Previously, setting override properties for the *Reverse* button within the [`trading_customization`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.TradingTerminalWidgetOptions#trading_customization) object would result in the button rendering as black. (Trading Platform only)
|
||||||
|
|
||||||
|
**Documentation**
|
||||||
|
|
||||||
|
- **AI docs assistant.** You can now download a comprehensive knowledge file containing our complete, up-to-date documentation and full TypeScript definitions. Feed this file to your favorite LLM to create a dedicated expert assistant for our library, ensuring you get accurate, context-aware answers and code examples. [Learn how to set it up](https://www.tradingview.com/charting-library-docs/latest/getting_started/llm-context).
|
||||||
|
- **New watermarks guide.** The [Watermarks](https://www.tradingview.com/charting-library-docs/latest/ui_elements/watermarks) article explains how to programmatically control the watermark's visibility, color, and content using the Watermark API.
|
||||||
|
- **New profit and loss article.** The [Profit and loss](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/trading-concepts/profit-and-loss) article explains how to provide P&L values from your backend. It details the different methods for updating the data and clarifies how the library uses this data for the *Money*, *Ticks*, and *Percentage* display modes.
|
||||||
|
- **Other updates.** The following enhancements were made:
|
||||||
|
- Added a new section that describes [time ranges](https://www.tradingview.com/charting-library-docs/latest/ui_elements/Time-Scale#time-range) and how to use `setVisibleRange`.
|
||||||
|
- Added a new section that describes [how to show/hide gaps on the chart](https://www.tradingview.com/charting-library-docs/latest/ui_elements/Chart#showhide-gaps-on-the-chart) using the `intraday_inactivity_gaps` featureset.
|
||||||
|
- Updated information on [mobile app development](https://www.tradingview.com/charting-library-docs/latest/mobile_specifics#mobile-applications).
|
||||||
|
- Updated [`setMinimumAdditionalDepth`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IContext#setminimumadditionaldepth) description, mentioning when to use the method.
|
||||||
|
- Updated the [Trading primitives](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/Trading-Primitives) article, providing clear explanations and examples on the primitive methods.
|
||||||
|
- Updated the [Online playgrounds](https://www.tradingview.com/charting-library-docs/latest/getting_started/Online-Editors) article, providing templates for [CodePen](https://codepen.io/tradingview).
|
||||||
|
- **Update the Datafeed API tutorial.** We updated both the code example and documentation for the [How to connect data via datafeed API](https://www.tradingview.com/charting-library-docs/latest/tutorials/implement_datafeed_tutorial) tutorial. The latest version introduces several key improvements:
|
||||||
|
|
||||||
|
- Added support for minute and hour resolutions.
|
||||||
|
- Removed `full_name` from the `SymbolInfo` object. Now, `ticker` is used instead.
|
||||||
|
- `searchSymbols` now properly filters results by user input, selected exchange, and symbol type.
|
||||||
|
- `getBars` now selects the correct API endpoint based on the requested `resolution` (minute, hour, or day), ensuring the most appropriate data is used.
|
||||||
|
- Reworked streaming logic to support multiple subscriptions to data updates.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Version 29.5.0
|
||||||
|
|
||||||
|
*Date: Tue Aug 05 2025*
|
||||||
|
|
||||||
|
**Improvements**
|
||||||
|
|
||||||
|
- **Improved crosshair movement in tracking mode on mobile.** Previously, the crosshair moved incorrectly in tracking mode when `vert_touch_drag_scroll` was disabled. Now, page scrolling is disabled in tracking mode, allowing the crosshair to move on touch.
|
||||||
|
- **Added `setLayoutSizes` method to `IChartingLibraryWidget`.** The [`setLayoutSizes`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IChartingLibraryWidget#setlayoutsizes) method can be used to resize the charts in [multiple-chart layouts](https://www.tradingview.com/charting-library-docs/latest/trading_terminal#multiple-chart-layout). (Trading Platform only)
|
||||||
|
|
||||||
|
**Bug Fixes**
|
||||||
|
|
||||||
|
- **Fixed an issue where setMinimumAdditionalDepth would be ignored.** Fixed an issue where custom studies would sometimes not request enough historic bars after calling [`setMinimumAdditionalDepth`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IContext/#setminimumadditionaldepth).
|
||||||
|
- **Fixed an issue where pivot points could be drawn on the wrong bar for overnight sessions.** Fixed an issue where pivot points could be drawn on the wrong bars for symbols with overnight sessions when calculating with a daily timeframe.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Version 29.4.0
|
||||||
|
|
||||||
|
*Date: Tue Jun 25 2025*
|
||||||
|
|
||||||
|
**New Features**
|
||||||
|
|
||||||
|
- **Added new legend property.** A new overrides property `paneProperties.legendProperties.showSeriesLegendCloseOnMobile` was added to hide/show the close value in the legend when on mobile. The default value is `true`.
|
||||||
|
- **Support multiple tick resolution.** The library now supports multiple [tick resolutions](https://www.tradingview.com/charting-library-docs/latest/connecting_data/time-and-sessions/configure-datafeed-resolutions#resolution-in-ticks). Previously, it was possible to set only `1T` resolution.<br/>
|
||||||
|
Note that the library does not support tick multipliers. This means it is not possible to build a higher resolution (e.g., `10T`) from a lower one (e.g., `1T`). Therefore, your datafeed must explicitly provide each required resolution. (Trading Platform only)
|
||||||
|
- **Enabled custom price formatting for Watchlist values.** `priceFormatterFactory` from [`custom_formatters`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.ChartingLibraryWidgetOptions#custom_formatters) can now be used to format values displayed in the Watchlist columns titled _Last_ and _Chg_. (Trading Platform only)
|
||||||
|
|
||||||
|
**Improvements**
|
||||||
|
|
||||||
|
- **Updated snapshots functionality in the top toolbar.** Now, handling and storing [snapshots](https://www.tradingview.com/charting-library-docs/latest/ui_elements/Snapshots) rely solely on the [`snapshot_url`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.ChartingLibraryWidgetOptions#snapshot_url) property.
|
||||||
|
This means all server-side snapshot actions (*Copy link*, *Open in new tab*, *Tweet image*) must be implemented using your own server.
|
||||||
|
For details on how to set up your own server, see our guide to [implementing a snapshot server](https://www.tradingview.com/charting-library-docs/latest/tutorials/how-to-guides/implement-snapshots-server).
|
||||||
|
- **Added the `use_symbol_name_for_header_toolbar` featureset.** This featureset allows you to show the symbol name over the ticker in the _Symbol Search_ dialog.
|
||||||
|
- **Added `searchSource` parameter to `searchSymbols`.** [`searchSymbols`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IDatafeedChartApi#searchsymbols) now receives a new parameter `searchSource` to indicate where the search was triggered from.
|
||||||
|
- **Added a new property to the `BrokerCustomUI` interface.** [`showReversePositionDialog`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.BrokerCustomUI#showreversepositiondialog) allows overriding the default *Reverse position* dialog with a custom implementation.
|
||||||
|
- **Added VWAP insufficient data warning.** Users will now see a warning icon and message in the legend if there isn't enough data loaded to calculate VWAP.
|
||||||
|
- **Add featureset to display inactivity gaps on intraday charts.** The new `intraday_inactivity_gaps` featureset enables the display of inactivity gaps on intraday charts. These gaps represent periods within the trading session when there has been no trading activity, resulting in missing bars on the chart.<br/>
|
||||||
|
When `intraday_inactivity_gaps` is enabled, a checkbox appears in the chart settings dialog, allowing users to toggle inactivity gaps on or off. The featureset also exposes the [`intradayInactivityGaps`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IChartWidgetApi#intradayinactivitygaps) watched value on the Widget API for programmatic control.
|
||||||
|
- **Improved data loading efficiency by throttling data requests during user scrolling.** This significantly reduces the frequency of small, incremental requests to the Datafeed API.
|
||||||
|
- **Order & Position lines display the same information on desktop and mobile.** Users can now benefit from the same design on both desktop and mobile when an order/position is displayed on the chart. (Trading Platform only)
|
||||||
|
|
||||||
|
**Bug Fixes**
|
||||||
|
|
||||||
|
- **Fixed indicator template favorite menu bug.** Fixed an issue where favoriting an indicator template with leading whitespace in its name caused the quick access button in the header menu to appear empty.
|
||||||
|
- **Fixed Relative Strength Index indicator.** The Relative Strength Index indicator was broken in version 29.2.0 and has now been fixed.
|
||||||
|
- **Fixed a bug where switching chart type to a Japanese one would lead to an error in the console.**
|
||||||
|
|
||||||
|
- **Fixed vertical line drawing bug.** Fixed an issue where it was impossible to move an existing vertical line drawing to the right of the most recent bar on the chart.
|
||||||
|
- **Fixed an error when drawing execution shapes on the chart led to an invalid chart state.** Fixes [#9109](https://github.com/tradingview/charting_library/issues/9109)
|
||||||
|
- **Fixed the spread operator issue in the Compare symbol dialog.** Spread operators now function correctly in the _Compare symbol_ dialog, ensuring consistency with the _Symbol Search_ dialog.
|
||||||
|
- **Fix for sameorigin.html loading from relative path.** This fix ensures proper loading of the `sameorigin.html` file when using the `iframe_loading_same_origin` featureset and the current page is not the root page.
|
||||||
|
- **The `_getStyleOverrides` error message.** Fixed a bug where the `_getStyleOverrides` error message could be seen in the console when instantiating the chart with pre-existing orders or positions. (Trading Platform only)
|
||||||
|
- **Fix rendering of multiple execution shapes on a single bar.** Fixed an issue where adding multiple [execution shapes](https://www.tradingview.com/charting-library-docs/latest/ui_elements/drawings/drawings-api#createexecutionshape) to a single bar would only render the first shape. (Trading Platform only)
|
||||||
|
|
||||||
|
**Documentation**
|
||||||
|
|
||||||
|
- **New tutorial.** Check out our [new tutorial](https://www.tradingview.com/charting-library-docs/latest/tutorials/implement-broker-api) on how to implement the required methods to enable basic trading functionality using the Broker API.
|
||||||
|
By the end of this tutorial, you will learn how to enable trading UI and how to store, return, and update orders to make the trading flow functional.
|
||||||
|
- **New troubleshooting article.** Explore a new article on common [customization issues](https://www.tradingview.com/charting-library-docs/latest/customization/customization-issues) and potential solutions.
|
||||||
|
- **Other enhancements.** Updated the [Custom themes API](https://www.tradingview.com/charting-library-docs/latest/customization/styles/custom-themes) article and added a new [example](https://codepen.io/tradingview/pen/xbGRaKd) to demonstrate how chart colors can be adjusted using this API.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Version 29.3.0
|
||||||
|
|
||||||
|
*Date: Thu May 08 2025*
|
||||||
|
|
||||||
|
**New Features**
|
||||||
|
|
||||||
|
- **Added HLC bars chart style.** The HLC bars chart style is the same as regular bars but doesn't display the open price. When exporting a series or [overlay](https://www.tradingview.com/charting-library-docs/latest/ui_elements/indicators#add-and-compare-new-series) indicator that uses the HLC bars chart style, open values are not included. Open values also do not appear in the data window or [legend](https://www.tradingview.com/charting-library-docs/latest/ui_elements/Legend) for series or overlay indicators using this style.
|
||||||
|
|
||||||
|
**Improvements**
|
||||||
|
|
||||||
|
- **Added price scale details to context menu event.** When invoking the [context menu](https://www.tradingview.com/charting-library-docs/latest/ui_elements/context-menu) on the price scale, it now returns the following details:
|
||||||
|
- `id` of the price scale
|
||||||
|
- `paneIndex` which is the index of the pane the price scale is linked to
|
||||||
|
- `chartIndex` which is the index of the chart the price scale is linked to
|
||||||
|
- **Added icon to dropdown items.** A new property `icon` was added to the [`DropdownItem`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.DropdownItem) interface.
|
||||||
|
|
||||||
|
**Bug Fixes**
|
||||||
|
|
||||||
|
- **Empty context menu.** Fixed an issue where the [context menu](https://www.tradingview.com/charting-library-docs/latest/ui_elements/context-menu) would be partially empty on mobile
|
||||||
|
- **onContextMenu callback received incorrect arguments.** Fixed a bug where the [`onContextMenu`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IChartingLibraryWidget#oncontextmenu) callback received an object instead of the expected arguments.
|
||||||
|
- **Autosave won't trigger with empty text box created during autosave delay.**
|
||||||
|
- **Fixed an error where vertical lines would revert to their previous position when moved beyond latest bar.** Fixes [#8894](https://github.com/tradingview/charting_library/issues/8894)
|
||||||
|
|
||||||
|
**Documentation**
|
||||||
|
|
||||||
|
- **The following enhancements were made.**
|
||||||
|
- Added a new section explaining how to [programmatically open and close Symbol Search](https://www.tradingview.com/charting-library-docs/latest/ui_elements/Symbol-Search#openclose-symbol-search).
|
||||||
|
- Updated the [Customization overview](https://www.tradingview.com/charting-library-docs/latest/customization) and [Time zones](https://www.tradingview.com/charting-library-docs/latest/ui_elements/timezones) articles.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Version 29.2.0
|
||||||
|
|
||||||
|
*Date: Tue Apr 08 2025*
|
||||||
|
|
||||||
|
**New Features**
|
||||||
|
|
||||||
|
- **Added new methods to Trading Host.** The [Trading Host](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/trading-concepts#trading-host) now includes three new methods designed to clear specific caches and trigger fresh data fetches:
|
||||||
|
- [`ordersFullUpdate`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IBrokerConnectionAdapterHost#ordersfullupdate)
|
||||||
|
- [`positionsFullUpdate`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IBrokerConnectionAdapterHost#positionsfullupdate)
|
||||||
|
- [`individualPositionsFullUpdate`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IBrokerConnectionAdapterHost#individualpositionsfullupdate)
|
||||||
|
- **Added cross-tab synchronization for watchlists.** This feature is enabled by default and requires the `use_localstorage_for_settings` [featureset](https://www.tradingview.com/charting-library-docs/latest/customization/Featuresets) to be enabled.
|
||||||
|
To disable the cross-tab synchronization, use the `watchlist_cross_tab_sync` featureset. (Trading Platform only)
|
||||||
|
|
||||||
|
**Improvements**
|
||||||
|
|
||||||
|
- **New `resetCache` method.** The new `resetCache` method allows you to delete previously loaded data for all symbol and resolution combinations known to the datafeed at once. You can use this method instead of [`onResetCacheNeededCallback`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IDatafeedChartApi#subscribebars) to clear the cache before calling [`resetData`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IChartWidgetApi#resetdata). In this case, you do not need to wait for [`subscribeBars`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IDatafeedChartApi#subscribebars) to be called to access the callback.
|
||||||
|
|
||||||
|
**Bug Fixes**
|
||||||
|
|
||||||
|
- **Save button tooltip still shows shortcut when `save_shortcut` is disabled.** Fixed a bug where the _Save_ button's tooltip still showed the shortcut when the `save_shortcut` featureset was disabled. Fixes [#8925](https://github.com/tradingview/charting_library/issues/8925)
|
||||||
|
- **Compare Symbol search dialog behavior.** Fixed an issue where the library would try to resolve a symbol that may not exist when users pressed _Enter_ whenever the featureset `allow_arbitrary_symbol_search_input` would be enabled.
|
||||||
|
- **Adding a custom interval could cause an error.** Adding a custom interval after enabling the [`custom_resolution`](https://www.tradingview.com/charting-library-docs/latest/customization/Featuresets#custom_resolutions) featureset used to cause a console error.
|
||||||
|
- **Fixed an issue where on some occasions PineJS functions would not return the right values when internally comparing it to MIN_VALUE or MAX_VALUE.**
|
||||||
|
|
||||||
|
- **Future bar time extrapolation with `disable_resolution_rebuild`.** Fixed an issue where future bar times would be extrapolated incorrectly when the `disable_resolution_rebuild` featureset was enabled, and daily bars that do not consider the January 1 to be the first day of the year were provided to the library.
|
||||||
|
- **Compare symbol legend context menu.** Fixed an issue where the context menu for compared symbols would show the _Add this indicator to favorites_ item.
|
||||||
|
- **Main series context menu.** Fixed an issue where the [context menu](https://www.tradingview.com/charting-library-docs/latest/ui_elements/context-menu) for the main series would show a blank space instead of the _Add SYMBOL to watchlist_ item.
|
||||||
|
- **Watchlist item counter.** Fixed an issue where the watchlist item count would include section titles in its calculation.
|
||||||
|
- **Fixed an issue with time scale marks that couldn't contain any underscore character.**
|
||||||
|
|
||||||
|
- **Fixed a bug where `getBars` failed to display error messages containing semicolons.**
|
||||||
|
|
||||||
|
- **Fixed drawing keyboard shortcuts.** Fixed an issue where using keyboard shortcuts to add drawings would sometimes open the _Symbol Search_ dialog instead of adding the intended drawing.
|
||||||
|
|
||||||
|
**Documentation**
|
||||||
|
|
||||||
|
- **The following enhancements were made.**
|
||||||
|
- Added a new section explaining how to [display pre- and post-market price lines](https://www.tradingview.com/charting-library-docs/latest/connecting_data/time-and-sessions/Extended-Sessions#enable-the-price-line).
|
||||||
|
- Added a new section explaining how to [provide profit and loss values](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/trading-concepts/profit-and-loss) in Trading Platform.
|
||||||
|
- Updated the [Trading Session](https://www.tradingview.com/charting-library-docs/latest/connecting_data/time-and-sessions/Trading-Sessions) article with information on how to specify [session history](https://www.tradingview.com/charting-library-docs/latest/connecting_data/time-and-sessions/Trading-Sessions#session-history)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## Version 29.1.0
|
## Version 29.1.0
|
||||||
|
|
||||||
@@ -30,7 +278,7 @@
|
|||||||
- [Quotes](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/trading-concepts/quotes) — an article explaining the importance of quotes in Trading Platform.
|
- [Quotes](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/trading-concepts/quotes) — an article explaining the importance of quotes in Trading Platform.
|
||||||
|
|
||||||
- **Other updates.** The following enhancements were made:
|
- **Other updates.** The following enhancements were made:
|
||||||
- Updated the guide on [how to add a custom page to the Account Manager](https://www.tradingview.com/charting-library-docs/latest/tutorials/create-custom-page-in-account-manager). It now describes how to make the symbol name clickable on the custom page.
|
- Updated the guide on [how to add a custom page to the Account Manager](https://www.tradingview.com/charting-library-docs/latest/tutorials/how-to-guides/create-custom-page-in-account-manager). It now describes how to make the symbol name clickable on the custom page.
|
||||||
- Added a guide on how to troubleshoot when [quotes are not displayed or refreshed](https://www.tradingview.com/charting-library-docs/latest/connecting_data/Datafeed-Issues#quotes-are-not-displayed-or-refreshed).
|
- Added a guide on how to troubleshoot when [quotes are not displayed or refreshed](https://www.tradingview.com/charting-library-docs/latest/connecting_data/Datafeed-Issues#quotes-are-not-displayed-or-refreshed).
|
||||||
- Added a guide on how to troubleshoot [delays in Trading Platform UI elements](https://www.tradingview.com/charting-library-docs/latest/connecting_data/Datafeed-Issues#delays-in-trading-platform-ui-elements).
|
- Added a guide on how to troubleshoot [delays in Trading Platform UI elements](https://www.tradingview.com/charting-library-docs/latest/connecting_data/Datafeed-Issues#delays-in-trading-platform-ui-elements).
|
||||||
- Added a new FAQ — [Does the library set cookies](https://www.tradingview.com/charting-library-docs/latest/getting_started/Frequently-Asked-Questions#other-questions).
|
- Added a new FAQ — [Does the library set cookies](https://www.tradingview.com/charting-library-docs/latest/getting_started/Frequently-Asked-Questions#other-questions).
|
||||||
@@ -89,7 +337,7 @@ For more details, see the [Trading Overrides](https://www.tradingview.com/charti
|
|||||||
|
|
||||||
**Documentation**
|
**Documentation**
|
||||||
|
|
||||||
- **New how-to guide.** Check out a new [guide](https://www.tradingview.com/charting-library-docs/latest/tutorials/add-custom-button-to-top-toolbar) on how to add a custom button to the top toolbar.
|
- **New how-to guide.** Check out a new [guide](https://www.tradingview.com/charting-library-docs/latest/tutorials/how-to-guides/add-custom-button-to-top-toolbar) on how to add a custom button to the top toolbar.
|
||||||
- **Other updates.** The following enhancements were made:
|
- **Other updates.** The following enhancements were made:
|
||||||
- Added a new section that explains [multiple symbol resolving](https://www.tradingview.com/charting-library-docs/latest/connecting_data/datafeed-api/required-methods#multiple-symbol-resolving).
|
- Added a new section that explains [multiple symbol resolving](https://www.tradingview.com/charting-library-docs/latest/connecting_data/datafeed-api/required-methods#multiple-symbol-resolving).
|
||||||
- Updated information on how to [change colors of the *Buy/Sell* buttons](https://www.tradingview.com/charting-library-docs/latest/customization/styles/CSS-Color-Themes#buysell-buttons-properties).
|
- Updated information on how to [change colors of the *Buy/Sell* buttons](https://www.tradingview.com/charting-library-docs/latest/customization/styles/CSS-Color-Themes#buysell-buttons-properties).
|
||||||
@@ -112,10 +360,10 @@ For more details, see the [Trading Overrides](https://www.tradingview.com/charti
|
|||||||
|
|
||||||
**Documentation**
|
**Documentation**
|
||||||
|
|
||||||
- **New how-to guide.** Check out a new [guide](https://www.tradingview.com/charting-library-docs/latest/tutorials/create-custom-page-in-account-manager) that explains how to create a custom page in the Account Manager.
|
- **New how-to guide.** Check out a new [guide](https://www.tradingview.com/charting-library-docs/latest/tutorials/how-to-guides/create-custom-page-in-account-manager) that explains how to create a custom page in the Account Manager.
|
||||||
- **Other updates.** The following enhancements were made:
|
- **Other updates.** The following enhancements were made:
|
||||||
- Added a new section that explains how to enable and specify [last day change values](https://www.tradingview.com/charting-library-docs/latest/ui_elements/Legend#last-day-change-values).
|
- Added a new section that explains how to enable and specify [last day change values](https://www.tradingview.com/charting-library-docs/latest/ui_elements/Legend#last-day-change-values).
|
||||||
- Updated information on [overnight sessions](https://www.tradingview.com/charting-library-docs/latest/connecting_data/Trading-Sessions#overnight-sessions).
|
- Updated information on [overnight sessions](https://www.tradingview.com/charting-library-docs/latest/connecting_data/time-and-sessions/Trading-Sessions#overnight-sessions).
|
||||||
- Updated information on how to [close](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/trading-concepts/positions#close-positions) and [reverse](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/trading-concepts/positions#reverse-positions) positions.
|
- Updated information on how to [close](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/trading-concepts/positions#close-positions) and [reverse](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/trading-concepts/positions#reverse-positions) positions.
|
||||||
- Updated API overview page.
|
- Updated API overview page.
|
||||||
|
|
||||||
@@ -320,7 +568,7 @@ have been added or updated:
|
|||||||
- Updated the types for `paneProperties.*`.
|
- Updated the types for `paneProperties.*`.
|
||||||
- Added overrides that affect Trading Platform features (`tradingProperties.*`).
|
- Added overrides that affect Trading Platform features (`tradingProperties.*`).
|
||||||
- **New articles.** Explore our latest articles:
|
- **New articles.** Explore our latest articles:
|
||||||
- [How to create a custom indicator](https://www.tradingview.com/charting-library-docs/latest/tutorials/create-custom-indicator) — a step-by-step tutorial that demonstrates the Moving Average implementation.
|
- [How to create a custom indicator](https://www.tradingview.com/charting-library-docs/latest/tutorials/how-to-guides/create-custom-indicator) — a step-by-step tutorial that demonstrates the Moving Average implementation.
|
||||||
- [Custom indicators. Inputs](https://www.tradingview.com/charting-library-docs/latest/custom_studies/metainfo/Custom-Studies-Inputs) — an overview of how to specify and manage input parameters for a custom indicator.
|
- [Custom indicators. Inputs](https://www.tradingview.com/charting-library-docs/latest/custom_studies/metainfo/Custom-Studies-Inputs) — an overview of how to specify and manage input parameters for a custom indicator.
|
||||||
- [Authentication](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/trading-concepts/authentication) — an article that outlines possible authentication approaches. `Trading Platform Only`
|
- [Authentication](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/trading-concepts/authentication) — an article that outlines possible authentication approaches. `Trading Platform Only`
|
||||||
|
|
||||||
@@ -339,11 +587,11 @@ have been added or updated:
|
|||||||
**Improvements**
|
**Improvements**
|
||||||
|
|
||||||
- **Update the Anchored AVWAP drawing.** Add bands settings to the Anchored VWAP drawing.
|
- **Update the Anchored AVWAP drawing.** Add bands settings to the Anchored VWAP drawing.
|
||||||
- **Subscribe to widget bar visibility events.** A new [`study_event`](../api/interfaces/Charting_Library.SubscribeEventsMap.md#study_event) type was added: `widgetbar_visibility_changed`. It returns the visibility state of the widget bar.
|
- **Subscribe to widget bar visibility events.** A new [`study_event`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.SubscribeEventsMap.md#study_event) type was added: `widgetbar_visibility_changed`. It returns the visibility state of the widget bar.
|
||||||
|
|
||||||
**Bug Fixes**
|
**Bug Fixes**
|
||||||
|
|
||||||
- **Fixed a bug in the Market Status pop-up.** [Corrections](https://www.tradingview.com/charting-library-docs/latest/connecting_data/Extended-Sessions#corrections-for-extended-sessions) specified for the extended session in the [`session-correction`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.LibrarySubsessionInfo#session-correction) properties were not displayed in the _Market Status_ pop-up window.
|
- **Fixed a bug in the Market Status pop-up.** [Corrections](https://www.tradingview.com/charting-library-docs/latest/connecting_data/time-and-sessions/Extended-Sessions#corrections-for-extended-sessions) specified for the extended session in the [`session-correction`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.LibrarySubsessionInfo#session-correction) properties were not displayed in the _Market Status_ pop-up window.
|
||||||
|
|
||||||
## Version 27.004
|
## Version 27.004
|
||||||
|
|
||||||
@@ -372,7 +620,7 @@ Fixes [#8413](https://github.com/tradingview/charting_library/issues/8413) [#832
|
|||||||
**Documentation**
|
**Documentation**
|
||||||
|
|
||||||
- **New User accounts article.** Refer to [User accounts](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/account-manager/user-accounts) for information on how to manage user accounts in the [Account Manager](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/account-manager).
|
- **New User accounts article.** Refer to [User accounts](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/account-manager/user-accounts) for information on how to manage user accounts in the [Account Manager](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/account-manager).
|
||||||
- **Session documentation updates.** The [Symbology](https://www.tradingview.com/charting-library-docs/latest/connecting_data/Symbology#session) and [Extended sessions](https://www.tradingview.com/charting-library-docs/latest/connecting_data/Extended-Sessions) articles now include more information on how to specify sessions and corrections for them.
|
- **Session documentation updates.** The [Symbology](https://www.tradingview.com/charting-library-docs/latest/connecting_data/Symbology#session) and [Extended sessions](https://www.tradingview.com/charting-library-docs/latest/connecting_data/time-and-sessions/Extended-Sessions) articles now include more information on how to specify sessions and corrections for them.
|
||||||
- **New Save user settings article.** Refer to the [Save user settings](https://www.tradingview.com/charting-library-docs/latest/saving_loading/user-settings) article for information on how to store user settings.
|
- **New Save user settings article.** Refer to the [Save user settings](https://www.tradingview.com/charting-library-docs/latest/saving_loading/user-settings) article for information on how to store user settings.
|
||||||
- **Updated Watchlist article.** Explore our latest [Watchlist](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/Watch-List) article that describes how to customize and handle the watchlist's data.
|
- **Updated Watchlist article.** Explore our latest [Watchlist](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/Watch-List) article that describes how to customize and handle the watchlist's data.
|
||||||
|
|
||||||
@@ -386,12 +634,12 @@ Fixes [#8413](https://github.com/tradingview/charting_library/issues/8413) [#832
|
|||||||
- **Added the unloadUnusedCharts method.** The [`unloadUnusedCharts`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IChartingLibraryWidget#unloadunusedcharts) method deletes non-visible charts from a multiple-chart layout. Use this method to
|
- **Added the unloadUnusedCharts method.** The [`unloadUnusedCharts`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IChartingLibraryWidget#unloadunusedcharts) method deletes non-visible charts from a multiple-chart layout. Use this method to
|
||||||
prevent the library's inherent behavior to restore previously displayed charts instead of creating new
|
prevent the library's inherent behavior to restore previously displayed charts instead of creating new
|
||||||
charts when changing layouts. `Trading Platform Only`
|
charts when changing layouts. `Trading Platform Only`
|
||||||
- **Added a new type that reflects the ID of the created indicator.** A new [`study_event`](../api/interfaces/Charting_Library.SubscribeEventsMap.md#study_event) type was added: `create`. It returns the `id` of the newly created indicator.
|
- **Added a new type that reflects the ID of the created indicator.** A new [`study_event`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.SubscribeEventsMap.md#study_event) type was added: `create`. It returns the `id` of the newly created indicator.
|
||||||
|
|
||||||
**Bug Fixes**
|
**Bug Fixes**
|
||||||
|
|
||||||
- **Displaying volume indicator on chart load when visible_plots_set is not specified.** The chart will now correctly display the volume indicator if the `create_volume_indicator_by_default` featureset is enabled even if the symbols [LibrarySymbolInfo](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.LibrarySymbolInfo) doesn't specify the optional [`visible_plots_set`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.LibrarySymbolInfo#visible_plots_set) property.
|
- **Displaying volume indicator on chart load when visible_plots_set is not specified.** The chart will now correctly display the volume indicator if the `create_volume_indicator_by_default` featureset is enabled even if the symbols [LibrarySymbolInfo](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.LibrarySymbolInfo) doesn't specify the optional [`visible_plots_set`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.LibrarySymbolInfo#visible_plots_set) property.
|
||||||
- **Prioritise widget constructor symbol over saved state.** The [`symbol`](../api/interfaces/Charting_Library.ChartingLibraryWidgetOptions#symbol) property in the widget constructor will now have priority over symbols loaded from saved chart states when using [`saved_data`](../api/interfaces/Charting_Library.ChartingLibraryWidgetOptions#saved_data) or [`load_last_chart`](../api/interfaces/Charting_Library.ChartingLibraryWidgetOptions#load_last_chart). Fixes [#7922](https://github.com/tradingview/charting_library/issues/7922) [#8473](https://github.com/tradingview/charting_library/issues/8473) [#7926](https://github.com/tradingview/charting_library/issues/7926) [#8168](https://github.com/tradingview/charting_library/issues/8168)
|
- **Prioritise widget constructor symbol over saved state.** The [`symbol`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.ChartingLibraryWidgetOptions#symbol) property in the widget constructor will now have priority over symbols loaded from saved chart states when using [`saved_data`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.ChartingLibraryWidgetOptions#saved_data) or [`load_last_chart`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.ChartingLibraryWidgetOptions#load_last_chart). Fixes [#7922](https://github.com/tradingview/charting_library/issues/7922) [#8473](https://github.com/tradingview/charting_library/issues/8473) [#7926](https://github.com/tradingview/charting_library/issues/7926) [#8168](https://github.com/tradingview/charting_library/issues/8168)
|
||||||
- **Fixed an issue where the time_frames description was ignored.**
|
- **Fixed an issue where the time_frames description was ignored.**
|
||||||
|
|
||||||
## Version 27.002
|
## Version 27.002
|
||||||
@@ -502,12 +750,12 @@ To make this option available in the _Chart Settings_ dialog, use the [`legend_l
|
|||||||
Explore our latest article on [customization precedence](https://www.tradingview.com/charting-library-docs/latest/customization/customization-precedence)
|
Explore our latest article on [customization precedence](https://www.tradingview.com/charting-library-docs/latest/customization/customization-precedence)
|
||||||
for a comprehensive understanding of customization methods/properties and the sequence in which they are applied.
|
for a comprehensive understanding of customization methods/properties and the sequence in which they are applied.
|
||||||
- **Order Ticket dialog article added.** Refer to [Order Ticket](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/order-ticket) to learn how to provide custom fields, enable an order preview, implement your custom Order Ticket, and more.
|
- **Order Ticket dialog article added.** Refer to [Order Ticket](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/order-ticket) to learn how to provide custom fields, enable an order preview, implement your custom Order Ticket, and more.
|
||||||
- **New how-to guide on metainfo.** Explore our latest [guide](https://www.tradingview.com/charting-library-docs/latest/tutorials/create-custom-indicator/metainfo-implementation) on how to implement the `metainfo` field when you create a custom indicator. For more information about custom indicators and `metainfo`, refer to the updated [Custom indicators](https://www.tradingview.com/charting-library-docs/latest/custom_studies) and [Metainfo](https://www.tradingview.com/charting-library-docs/latest/custom_studies/metainfo) articles.
|
- **New how-to guide on metainfo.** Explore our latest [guide](https://www.tradingview.com/charting-library-docs/latest/tutorials/how-to-guides/create-custom-indicator/metainfo-implementation) on how to implement the `metainfo` field when you create a custom indicator. For more information about custom indicators and `metainfo`, refer to the updated [Custom indicators](https://www.tradingview.com/charting-library-docs/latest/custom_studies) and [Metainfo](https://www.tradingview.com/charting-library-docs/latest/custom_studies/metainfo) articles.
|
||||||
- **Bracket orders article added.** Explore our latest article on [bracket orders](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/trading-concepts/brackets) in Trading Platform.
|
- **Bracket orders article added.** Explore our latest article on [bracket orders](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/trading-concepts/brackets) in Trading Platform.
|
||||||
- **Account Manager article added.** Refer to [Account Manager](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/account-manager) for more information on creating pages, customizing columns, and configuring the Account Manager behavior.
|
- **Account Manager article added.** Refer to [Account Manager](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/account-manager) for more information on creating pages, customizing columns, and configuring the Account Manager behavior.
|
||||||
- **Accessibility article added.** Refer to the new [Accessibility](https://www.tradingview.com/charting-library-docs/latest/getting_started/accessibility) article for information about accessibility features that the library includes.
|
- **Accessibility article added.** Refer to the new [Accessibility](https://www.tradingview.com/charting-library-docs/latest/getting_started/accessibility) article for information about accessibility features that the library includes.
|
||||||
- **Other documentation updates.** The new documentation version includes:
|
- **Other documentation updates.** The new documentation version includes:
|
||||||
- Updated [Resolution](https://www.tradingview.com/charting-library-docs/latest/core_concepts/Resolution) and [Price Scale](https://www.tradingview.com/charting-library-docs/latest/ui_elements/Price-Scale) articles.
|
- Updated [Resolution](https://www.tradingview.com/charting-library-docs/latest/ui_elements/Resolution) and [Price Scale](https://www.tradingview.com/charting-library-docs/latest/ui_elements/Price-Scale) articles.
|
||||||
- A full list of overrides for built-in indicators. Refer to the [Indicator Overrides](https://www.tradingview.com/charting-library-docs/latest/customization/overrides/indicator-overrides#list-of-overrides) article for information.
|
- A full list of overrides for built-in indicators. Refer to the [Indicator Overrides](https://www.tradingview.com/charting-library-docs/latest/customization/overrides/indicator-overrides#list-of-overrides) article for information.
|
||||||
|
|
||||||
**Other**
|
**Other**
|
||||||
@@ -863,13 +1111,13 @@ Please use [settings_adapter](https://www.tradingview.com/charting-library-docs/
|
|||||||
**New Features**
|
**New Features**
|
||||||
|
|
||||||
- **Added support for specifying custom timezones.**
|
- **Added support for specifying custom timezones.**
|
||||||
- Additional custom timezones can now be specified for use within the library. Please see the [Adding Custom Timezones](../ui_elements/timezones#adding-custom-time-zones) section within the Timezones page.
|
- Additional custom timezones can now be specified for use within the library. Please see the [Adding Custom Timezones](https://www.tradingview.com/charting-library-docs/latest/ui_elements/timezones#adding-custom-time-zones) section within the Timezones page.
|
||||||
- **Images within timescale marks.**
|
- **Images within timescale marks.**
|
||||||
- Timescale marks now support the rendering of images within the circular shape by specifying the `imageUrl` property. Please see the [TimescaleMark](../api/interfaces/Charting_Library.TimescaleMark) interface for more details.
|
- Timescale marks now support the rendering of images within the circular shape by specifying the `imageUrl` property. Please see the [TimescaleMark](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.TimescaleMark) interface for more details.
|
||||||
- **Support different margin rates for different order types.** [6607](https://github.com/tradingview/charting_library/issues/6607)
|
- **Support different margin rates for different order types.** [6607](https://github.com/tradingview/charting_library/issues/6607)
|
||||||
- `marginRate` has been deprecated
|
- `marginRate` has been deprecated
|
||||||
- A [`supportLeverageButton`](../api/interfaces/Broker.BrokerConfigFlags#supportleveragebutton) flag that displays a leverage button has been added to the Broker configuration.
|
- A [`supportLeverageButton`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Broker.BrokerConfigFlags#supportleveragebutton) flag that displays a leverage button has been added to the Broker configuration.
|
||||||
- The [`supportLeverage`](../api/interfaces/Broker.BrokerConfigFlags#supportleverage) flag enables leverage calculation by getting information from `leverageInfo`.
|
- The [`supportLeverage`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Broker.BrokerConfigFlags#supportleverage) flag enables leverage calculation by getting information from `leverageInfo`.
|
||||||
|
|
||||||
**Enhancements**
|
**Enhancements**
|
||||||
|
|
||||||
@@ -877,7 +1125,7 @@ Please use [settings_adapter](https://www.tradingview.com/charting-library-docs/
|
|||||||
|
|
||||||
**Bug fixes**
|
**Bug fixes**
|
||||||
|
|
||||||
- [`setUserEditEnabled`](../api/interfaces/Charting_Library.IStudyApi#setusereditenabled) does not hide 3 dots in Legend. [6765](https://github.com/tradingview/charting_library/issues/6765) | [6165](https://github.com/tradingview/charting_library/issues/6165)
|
- [`setUserEditEnabled`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.IStudyApi#setusereditenabled) does not hide 3 dots in Legend. [6765](https://github.com/tradingview/charting_library/issues/6765) | [6165](https://github.com/tradingview/charting_library/issues/6165)
|
||||||
|
|
||||||
widget.activeChart().getAllStudies().forEach(({ id }) => {
|
widget.activeChart().getAllStudies().forEach(({ id }) => {
|
||||||
console.log(id);
|
console.log(id);
|
||||||
@@ -890,7 +1138,7 @@ Please use [settings_adapter](https://www.tradingview.com/charting-library-docs/
|
|||||||
- `right_toolbar` featureset didn't have a default `on` value.
|
- `right_toolbar` featureset didn't have a default `on` value.
|
||||||
- Empty time frames at the bottom toolbar if `data_status: endofday`
|
- Empty time frames at the bottom toolbar if `data_status: endofday`
|
||||||
- Export data doesn’t include projected data.
|
- Export data doesn’t include projected data.
|
||||||
- Projected data can be included by setting [`includeOffsetStudyValues`](../api/interfaces/Charting_Library.ExportDataOptions#includeoffsetstudyvalues) to `true`.
|
- Projected data can be included by setting [`includeOffsetStudyValues`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.ExportDataOptions#includeoffsetstudyvalues) to `true`.
|
||||||
- `await widget.activeChart().exportData({ includeOffsetStudyValues: true });`
|
- `await widget.activeChart().exportData({ includeOffsetStudyValues: true });`
|
||||||
- Highest PineJS.Std function doesn’t work correctly with negative numbers.
|
- Highest PineJS.Std function doesn’t work correctly with negative numbers.
|
||||||
- Missing types in bundled definition file. [7445](https://github.com/tradingview/charting_library/issues/7445) | [7446](https://github.com/tradingview/charting_library/issues/7446)
|
- Missing types in bundled definition file. [7445](https://github.com/tradingview/charting_library/issues/7445) | [7446](https://github.com/tradingview/charting_library/issues/7446)
|
||||||
@@ -899,15 +1147,15 @@ Please use [settings_adapter](https://www.tradingview.com/charting-library-docs/
|
|||||||
|
|
||||||
**Documentation**
|
**Documentation**
|
||||||
|
|
||||||
- Added [migration guide](../trading_terminal/#how-to-migrate-from-advanced-charts) from TAC to CTP.
|
- Added [migration guide](https://www.tradingview.com/charting-library-docs/latest/trading_terminal/#how-to-migrate-from-advanced-charts) from TAC to CTP.
|
||||||
- Added additional documentation for [Drawings](../ui_elements/drawings/).
|
- Added additional documentation for [Drawings](https://www.tradingview.com/charting-library-docs/latest/ui_elements/drawings/).
|
||||||
- Missing overrides in documentation. [7457](https://github.com/tradingview/charting_library/issues/7457)
|
- Missing overrides in documentation. [7457](https://github.com/tradingview/charting_library/issues/7457)
|
||||||
- Updated documentation for [Marks](../ui_elements/Marks).
|
- Updated documentation for [Marks](https://www.tradingview.com/charting-library-docs/latest/ui_elements/Marks).
|
||||||
- Align ChartMetaInfo & ChartData.
|
- Align ChartMetaInfo & ChartData.
|
||||||
|
|
||||||
**Other**
|
**Other**
|
||||||
|
|
||||||
- Removed `Australia/ACT` from the list of [timezones](../ui_elements/timezones) within our documentation. Please use either the Sydney timezone or [specify your own custom timezone](../ui_elements/timezones#adding-custom-time-zones).
|
- Removed `Australia/ACT` from the list of [timezones](https://www.tradingview.com/charting-library-docs/latest/ui_elements/timezones) within our documentation. Please use either the Sydney timezone or [specify your own custom timezone](https://www.tradingview.com/charting-library-docs/latest/ui_elements/timezones#adding-custom-time-zones).
|
||||||
|
|
||||||
## Version 24.001
|
## Version 24.001
|
||||||
|
|
||||||
@@ -948,8 +1196,8 @@ Please use [settings_adapter](https://www.tradingview.com/charting-library-docs/
|
|||||||
- `preset` Widget-Constructor parameter has been removed. Users can still use some featuresets to mimic the same behavior by disabling the following list:
|
- `preset` Widget-Constructor parameter has been removed. Users can still use some featuresets to mimic the same behavior by disabling the following list:
|
||||||
- `'left_toolbar', 'header_widget', 'timeframes_toolbar', 'edit_buttons_in_legend', 'context_menus', 'control_bar', 'border_around_the_chart'`
|
- `'left_toolbar', 'header_widget', 'timeframes_toolbar', 'edit_buttons_in_legend', 'context_menus', 'control_bar', 'border_around_the_chart'`
|
||||||
- `chart_style_hilo` featureset is now enabled by default. This adds the High-low option to chart style controls dropdown. This featureset has been available since 1.15 but was previously disabled by default.
|
- `chart_style_hilo` featureset is now enabled by default. This adds the High-low option to chart style controls dropdown. This featureset has been available since 1.15 but was previously disabled by default.
|
||||||
- Added typings for custom indicators. Typescript equivalents of our existing examples are available here: [Custom Studies Typescript Examples](../custom_studies/Custom-Studies-Examples).
|
- Added typings for custom indicators. Typescript equivalents of our existing examples are available here: [Custom Studies Typescript Examples](https://www.tradingview.com/charting-library-docs/latest/custom_studies/Custom-Studies-Examples).
|
||||||
- [`symbol_search_complete`](../api/interfaces/Charting_Library.ChartingLibraryWidgetOptions#symbol_search_complete) has changed. The function now takes an additional search result object parameter, and returns an additional human-friendly symbol name.
|
- [`symbol_search_complete`](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Charting_Library.ChartingLibraryWidgetOptions#symbol_search_complete) has changed. The function now takes an additional search result object parameter, and returns an additional human-friendly symbol name.
|
||||||
|
|
||||||
**UI changes**
|
**UI changes**
|
||||||
|
|
||||||
@@ -967,8 +1215,8 @@ Please use [settings_adapter](https://www.tradingview.com/charting-library-docs/
|
|||||||
**Trading Platform**
|
**Trading Platform**
|
||||||
|
|
||||||
- Default formatter `textNoWrap` has been removed.
|
- Default formatter `textNoWrap` has been removed.
|
||||||
- `columnId` field of [SortingParameters](../api/interfaces/Broker.SortingParameters) has been renamed to `property`.
|
- `columnId` field of [SortingParameters](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Broker.SortingParameters) has been renamed to `property`.
|
||||||
- Required `id` field has been added to [column description](../api/interfaces/Broker.AccountManagerColumnBase#id).
|
- Required `id` field has been added to [column description](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Broker.AccountManagerColumnBase#id).
|
||||||
- Type of `formatter` field in [column description](../api/interfaces/Broker.AccountManagerColumnBase#formatter) has been changed to [StandardFormatterName | FormatterName](../api/enums/Charting_Library.StandardFormatterName).
|
- Type of `formatter` field in [column description](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Broker.AccountManagerColumnBase#formatter) has been changed to [StandardFormatterName | FormatterName](https://www.tradingview.com/charting-library-docs/latest/api/enums/Charting_Library.StandardFormatterName).
|
||||||
- `property` field has been removed from `column description`. Use [dataFields](../api/interfaces/Broker.AccountManagerColumnBase#datafields) field instead.
|
- `property` field has been removed from `column description`. Use [dataFields](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Broker.AccountManagerColumnBase#datafields) field instead.
|
||||||
- Type of `formatter` field in [SummaryField](../api/interfaces/Broker.AccountManagerSummaryField) has been changed to [StandardFormatterName](../api/enums/Charting_Library.StandardFormatterName).
|
- Type of `formatter` field in [SummaryField](https://www.tradingview.com/charting-library-docs/latest/api/interfaces/Broker.AccountManagerSummaryField) has been changed to [StandardFormatterName](https://www.tradingview.com/charting-library-docs/latest/api/enums/Charting_Library.StandardFormatterName).
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
.container-qm7Rg5MB{align-items:center;border-bottom:1px solid;border-top:1px solid;border-color:var(--themed-color-search-border,#ebebeb);cursor:default;display:flex;flex-shrink:0;position:relative}html.theme-dark .container-qm7Rg5MB{border-color:var(--themed-color-search-border,#4a4a4a)}.container-qm7Rg5MB.mobile-qm7Rg5MB{background-color:var(--themed-color-container-fill-primary-neutral-extra-light,#f2f2f2);border:none;border-radius:40px;margin:4px 20px 8px}html.theme-dark .container-qm7Rg5MB.mobile-qm7Rg5MB{background-color:var(--themed-color-container-fill-primary-neutral-extra-light,#303030)}.inputContainer-qm7Rg5MB{height:24px;padding:8px 16px 8px 47px;width:100%}.inputContainer-qm7Rg5MB.mobile-qm7Rg5MB{padding-left:40px}.inputContainer-qm7Rg5MB.withCancel-qm7Rg5MB{padding-right:70px}.input-qm7Rg5MB{background-color:initial;border:none;color:var(--themed-color-load-chart-dialog-text,#1a1a1a);font-size:16px;height:100%;margin:0;padding:0;width:100%}html.theme-dark .input-qm7Rg5MB{color:var(--themed-color-load-chart-dialog-text,#a8a8a8)}.input-qm7Rg5MB.mobile-qm7Rg5MB{color:var(--themed-color-content-primary-neutral-bold,#1a1a1a)}html.theme-dark .input-qm7Rg5MB.mobile-qm7Rg5MB{color:var(--themed-color-content-primary-neutral-bold,#dbdbdb)}.input-qm7Rg5MB.mobile-qm7Rg5MB::placeholder{color:var(--themed-color-content-primary-neutral,#707070);font-weight:400}html.theme-dark .input-qm7Rg5MB.mobile-qm7Rg5MB::placeholder{color:var(--themed-color-content-primary-neutral,#8c8c8c)}.input-qm7Rg5MB::placeholder{color:var(--themed-color-input-placeholder-text,#a8a8a8);font-weight:400}html.theme-dark .input-qm7Rg5MB::placeholder{color:var(--themed-color-input-placeholder-text,#4a4a4a)}.icon-qm7Rg5MB{color:#a8a8a8;height:28px;left:15px;pointer-events:none;position:absolute;top:calc(50% - 14px)}.icon-qm7Rg5MB.mobile-qm7Rg5MB{color:var(--themed-color-content-primary-neutral,#707070);left:8px}html.theme-dark .icon-qm7Rg5MB.mobile-qm7Rg5MB{color:var(--themed-color-content-primary-neutral,#8c8c8c)}.cancel-qm7Rg5MB{color:var(--themed-color-default-gray,#707070);position:absolute;right:20px}html.theme-dark .cancel-qm7Rg5MB{color:var(--themed-color-default-gray,#8c8c8c)}.cancel-qm7Rg5MB.mobile-qm7Rg5MB{color:var(--themed-color-content-primary-neutral,#707070)}html.theme-dark .cancel-qm7Rg5MB.mobile-qm7Rg5MB{color:var(--themed-color-content-primary-neutral,#8c8c8c)}.highlighted-cwp8YRo6,html.theme-dark .highlighted-cwp8YRo6{color:var(--themed-color-brand,#2962ff)}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
.container-qm7Rg5MB{align-items:center;border-bottom:1px solid;border-top:1px solid;border-color:var(--themed-color-search-border,#ebebeb);cursor:default;display:flex;flex-shrink:0;position:relative}html.theme-dark .container-qm7Rg5MB{border-color:var(--themed-color-search-border,#4a4a4a)}.container-qm7Rg5MB.mobile-qm7Rg5MB{background-color:var(--themed-color-container-fill-primary-neutral-extra-light,#f2f2f2);border:none;border-radius:40px;margin:4px 20px 8px}html.theme-dark .container-qm7Rg5MB.mobile-qm7Rg5MB{background-color:var(--themed-color-container-fill-primary-neutral-extra-light,#303030)}.inputContainer-qm7Rg5MB{height:24px;padding:8px 47px 8px 16px;width:100%}.inputContainer-qm7Rg5MB.mobile-qm7Rg5MB{padding-right:40px}.inputContainer-qm7Rg5MB.withCancel-qm7Rg5MB{padding-left:70px}.input-qm7Rg5MB{background-color:initial;border:none;color:var(--themed-color-load-chart-dialog-text,#1a1a1a);font-size:16px;height:100%;margin:0;padding:0;width:100%}html.theme-dark .input-qm7Rg5MB{color:var(--themed-color-load-chart-dialog-text,#a8a8a8)}.input-qm7Rg5MB.mobile-qm7Rg5MB{color:var(--themed-color-content-primary-neutral-bold,#1a1a1a)}html.theme-dark .input-qm7Rg5MB.mobile-qm7Rg5MB{color:var(--themed-color-content-primary-neutral-bold,#dbdbdb)}.input-qm7Rg5MB.mobile-qm7Rg5MB::placeholder{color:var(--themed-color-content-primary-neutral,#707070);font-weight:400}html.theme-dark .input-qm7Rg5MB.mobile-qm7Rg5MB::placeholder{color:var(--themed-color-content-primary-neutral,#8c8c8c)}.input-qm7Rg5MB::placeholder{color:var(--themed-color-input-placeholder-text,#a8a8a8);font-weight:400}html.theme-dark .input-qm7Rg5MB::placeholder{color:var(--themed-color-input-placeholder-text,#4a4a4a)}.icon-qm7Rg5MB{color:#a8a8a8;height:28px;pointer-events:none;position:absolute;right:15px;top:calc(50% - 14px)}.icon-qm7Rg5MB.mobile-qm7Rg5MB{color:var(--themed-color-content-primary-neutral,#707070);right:8px}html.theme-dark .icon-qm7Rg5MB.mobile-qm7Rg5MB{color:var(--themed-color-content-primary-neutral,#8c8c8c)}.cancel-qm7Rg5MB{color:var(--themed-color-default-gray,#707070);left:20px;position:absolute}html.theme-dark .cancel-qm7Rg5MB{color:var(--themed-color-default-gray,#8c8c8c)}.cancel-qm7Rg5MB.mobile-qm7Rg5MB{color:var(--themed-color-content-primary-neutral,#707070)}html.theme-dark .cancel-qm7Rg5MB.mobile-qm7Rg5MB{color:var(--themed-color-content-primary-neutral,#8c8c8c)}.highlighted-cwp8YRo6,html.theme-dark .highlighted-cwp8YRo6{color:var(--themed-color-brand,#2962ff)}
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
charting_library/bundles/1166.fa77c9e386a131cac9da.css
Normal file
1
charting_library/bundles/1166.fa77c9e386a131cac9da.css
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.button-LkmyTVRc{all:unset;display:flex;position:relative}.button-LkmyTVRc:before{border-radius:4px;content:none;height:100%;left:0;outline:var(--color-tv-blue-500) none 2px;outline-offset:-2px;pointer-events:none;position:absolute;top:0;width:100%}.button-LkmyTVRc:focus-visible:before{content:"";outline-style:solid}.button-LkmyTVRc.active-LkmyTVRc:before{outline-color:var(--color-border-primary-inverse)}.item-zwyEh4hn{align-items:flex-start;font-size:16px;padding-right:20px;white-space:normal}.label-zwyEh4hn{line-height:24px;overflow:visible}.labelRow-zwyEh4hn{margin-bottom:2px;margin-top:2px}.toolbox-zwyEh4hn{margin-top:3px}.wrapper-psOC5oyI{padding:10px 20px}.labelRow-psOC5oyI{line-height:20px;padding:0}.label-psOC5oyI{font-size:16px}.labelHint-psOC5oyI{line-height:17px}.labelOn-psOC5oyI+.labelHint-psOC5oyI{margin-top:0}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
.button-LkmyTVRc{all:unset;display:flex;position:relative}.button-LkmyTVRc:before{border-radius:4px;content:none;height:100%;outline:var(--color-tv-blue-500) none 2px;outline-offset:-2px;pointer-events:none;position:absolute;right:0;top:0;width:100%}.button-LkmyTVRc:focus-visible:before{content:"";outline-style:solid}.button-LkmyTVRc.active-LkmyTVRc:before{outline-color:var(--color-border-primary-inverse)}.item-zwyEh4hn{align-items:flex-start;font-size:16px;padding-left:20px;white-space:normal}.label-zwyEh4hn{line-height:24px;overflow:visible}.labelRow-zwyEh4hn{margin-bottom:2px;margin-top:2px}.toolbox-zwyEh4hn{margin-top:3px}.wrapper-psOC5oyI{padding:10px 20px}.labelRow-psOC5oyI{line-height:20px;padding:0}.label-psOC5oyI{font-size:16px}.labelHint-psOC5oyI{line-height:17px}.labelOn-psOC5oyI+.labelHint-psOC5oyI{margin-top:0}
|
||||||
1
charting_library/bundles/1171.146c7925be9f43c9c767.css
Normal file
1
charting_library/bundles/1171.146c7925be9f43c9c767.css
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
|||||||
.dialog-UGdC69sw{min-width:254px;padding:40px;width:auto}.dialogInner-UGdC69sw{align-items:center;display:flex;flex-direction:column}.titleWrapper-UGdC69sw{align-items:center;display:flex;justify-content:center;margin-bottom:16px;max-width:100%}.title-UGdC69sw{color:var(--themed-color-primary-text,#1a1a1a);cursor:default;font-size:20px;font-weight:700;line-height:28px;overflow:hidden;white-space:nowrap}html.theme-dark .title-UGdC69sw{color:var(--themed-color-primary-text,#dbdbdb)}.infoHint-UGdC69sw{color:var(--themed-color-default-gray,#707070);height:18px;margin-left:8px;width:18px}html.theme-dark .infoHint-UGdC69sw{color:var(--themed-color-default-gray,#8c8c8c)}.form-UGdC69sw{display:flex;max-width:200px;width:100%}.inputWrapper-UGdC69sw{flex-grow:1}.input-UGdC69sw{font-size:24px;text-align:center}.hint-UGdC69sw{color:var(--themed-color-default-gray,#707070);cursor:default;font-size:12px;line-height:18px;margin-top:3px;max-width:100%;overflow:hidden;white-space:nowrap}html.theme-dark .hint-UGdC69sw{color:var(--themed-color-default-gray,#8c8c8c)}.error-UGdC69sw{color:#f23645}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
.dialog-UGdC69sw{min-width:254px;padding:40px;width:auto}.dialogInner-UGdC69sw{align-items:center;display:flex;flex-direction:column}.titleWrapper-UGdC69sw{align-items:center;display:flex;justify-content:center;margin-bottom:16px;max-width:100%}.title-UGdC69sw{color:var(--themed-color-primary-text,#1a1a1a);cursor:default;font-size:20px;font-weight:700;line-height:28px;overflow:hidden;white-space:nowrap}html.theme-dark .title-UGdC69sw{color:var(--themed-color-primary-text,#dbdbdb)}.infoHint-UGdC69sw{color:var(--themed-color-default-gray,#707070);height:18px;margin-right:8px;width:18px}html.theme-dark .infoHint-UGdC69sw{color:var(--themed-color-default-gray,#8c8c8c)}.form-UGdC69sw{display:flex;max-width:200px;width:100%}.inputWrapper-UGdC69sw{flex-grow:1}.input-UGdC69sw{font-size:24px;text-align:center}.hint-UGdC69sw{color:var(--themed-color-default-gray,#707070);cursor:default;font-size:12px;line-height:18px;margin-top:3px;max-width:100%;overflow:hidden;white-space:nowrap}html.theme-dark .hint-UGdC69sw{color:var(--themed-color-default-gray,#8c8c8c)}.error-UGdC69sw{color:#f23645}
|
|
||||||
1
charting_library/bundles/1450.8f1c6b9900df1caf5e97.css
Normal file
1
charting_library/bundles/1450.8f1c6b9900df1caf5e97.css
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[data-theme=light]{--_0-Zt87:var(--color-cold-gray-200)}[data-theme=dark]{--_0-Zt87:var(--color-cold-gray-650)}.wrap-vSb6C0Bj{bottom:0;cursor:default;pointer-events:all;position:absolute;right:0;top:0;width:8px;will-change:height}.wrap--horizontal-vSb6C0Bj{height:8px;left:0;right:0;top:auto;will-change:width}.bar-vSb6C0Bj{align-items:center;display:flex;justify-content:center;left:0;position:absolute;top:0;width:100%;will-change:height,transform}.bar-vSb6C0Bj .barInner-vSb6C0Bj{background-color:var(--_0-Zt87);border-radius:2px;height:calc(100% - 4px);width:4px}.bar-vSb6C0Bj .barInner--horizontal-vSb6C0Bj{height:4px;width:calc(100% - 4px)}.bar--horizontal-vSb6C0Bj{height:100%;left:0;top:0;width:auto;will-change:width,transform}.scrollWrap-FaOvTD2r{pointer-events:none;position:absolute;will-change:visibility}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[data-theme=light]{--_0-Zt87:var(--color-cold-gray-200)}[data-theme=dark]{--_0-Zt87:var(--color-cold-gray-650)}.wrap-vSb6C0Bj{bottom:0;cursor:default;left:0;pointer-events:all;position:absolute;top:0;width:8px;will-change:height}.wrap--horizontal-vSb6C0Bj{height:8px;left:0;right:0;top:auto;will-change:width}.bar-vSb6C0Bj{align-items:center;display:flex;justify-content:center;position:absolute;right:0;top:0;width:100%;will-change:height,transform}.bar-vSb6C0Bj .barInner-vSb6C0Bj{background-color:var(--_0-Zt87);border-radius:2px;height:calc(100% - 4px);width:4px}.bar-vSb6C0Bj .barInner--horizontal-vSb6C0Bj{height:4px;width:calc(100% - 4px)}.bar--horizontal-vSb6C0Bj{height:100%;right:0;top:0;width:auto;will-change:width,transform}.scrollWrap-FaOvTD2r{pointer-events:none;position:absolute;will-change:visibility}
|
||||||
47
charting_library/bundles/1485.d2c9ddbfe2c9c5be9408.js
Normal file
47
charting_library/bundles/1485.d2c9ddbfe2c9c5be9408.js
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[1485],{87795:e=>{const t=55296,s=127995,i=127999,r=[776,2359,2359,2367,2367,2984,3007,3021,3633,3635,3648,3657,4352,4449,4520];function n(e){if("string"!=typeof e)throw new Error("string cannot be undefined or null");const t=[];let s=0,i=0;for(;s<e.length;)i+=o(s+i,e),c(e[s+i])&&i++,l(e[s+i])&&i++,h(e[s+i])&&i++,u(e[s+i])?i++:(t.push(e.substring(s,s+i)),s+=i,i=0);return t}function o(e,r){const n=r[e];if(!function(e){return e&&p(e[0].charCodeAt(0),t,56319)}(n)||e===r.length-1)return 1;const o=n+r[e+1];let l=r.substring(e+2,e+5);return a(o)&&a(l)||function(e){return p(d(e),s,i)}(l)?4:2}function a(e){return p(d(e),127462,127487)}function l(e){return"string"==typeof e&&p(e.charCodeAt(0),65024,65039)}function h(e){return"string"==typeof e&&p(e.charCodeAt(0),8400,8447)}function c(e){return"string"==typeof e&&-1!==r.indexOf(e.charCodeAt(0))}function u(e){return"string"==typeof e&&8205===e.charCodeAt(0)}function d(e){return(e.charCodeAt(0)-t<<10)+(e.charCodeAt(1)-56320)+65536}function p(e,t,s){return e>=t&&e<=s}e.exports=n,e.exports.substr=function(e,t,s){const i=n(e);if(void 0===t)return e;if(t>=i.length)return"";const r=i.length-t;let o=t+(void 0===s?r:s);return o>t+r&&(o=void 0),i.slice(t,o).join("")}},63002:(e,t,s)=>{s.d(t,{HHistBasedValuesProvider:()=>f});var i=s(50335),r=s(50151),n=s(49483),o=s(5471),a=s(78861),l=s(56265),h=s(99481),c=s(11946),u=s(53660);function d(e,t="",s=""){return{id:t,index:e,orderIndex:e,title:s,value:"",visible:!1}}const p=n.CheckMobile.any(),_=(0,l.getVolumeFormatter)();class f{constructor(e,t,s=!1){this._emptyValues=[],this._study=e,this._model=t,this._emptyTitles=s,void 0!==this._study.metaInfo().graphics.hhists&&this._emptyValues.push(d(0),d(1),d(2))}getItems(){return this._emptyValues}getValues(e){const t=this._emptyValues.map((e=>({...e})));t.forEach((e=>{e.visible=this._study.isVisible(),e.value=u.notAvailable}));const s=this._study.properties().childs().inputs.childs().volume.value();switch(s){case h.HHistVolumeMode.UpDown:this._emptyTitles||(t[0].title="Up",t[1].title="Down",t[2].title="Total");break;case h.HHistVolumeMode.Total:this._emptyTitles||(t[0].title="Total"),t[1].visible=!1,t[2].visible=!1;break;case h.HHistVolumeMode.Delta:this._emptyTitles||(t[0].title="Delta",t[1].title="Max(Up, Down)",t[2].title="Total")}const n=this._study.priceScale(),a=this._model.timeScale();if(null===n||n.isEmpty()||a.isEmpty()||this._hideValues())return t;if(null===e||!isFinite(e)){const s=this._study.data().last();if(null===s)return t;e=s.index}const l=this._model.crosshairSource(),c=l.price;if(!isFinite(l.y)&&null===(e=function(e,t){const s=e.visibleBarsStrictRange()?.lastBar();if(!s)return null;const i=t.data().search(s,o.PlotRowSearchMode.NearestLeft);return i?i.index:null}(this._model.timeScale(),this._model.mainSeries())))return t;const d=function(e,t,s,i){if(0===e.size)return null;if(!s){const e=(0,r.ensureNotNull)(i.data().valueAt(t));s=i.barFunction()(e)}const n=function(e,t){let s=null
|
||||||
|
;return e.forEach(((e,i)=>{null!==i&&i<=t&&(null===s||i>s)&&(s=i)})),s}(e,t);if(null===n)return null;const o=e.get(n);if(!o||0===o.size)return null;return function(e,t){let s=null;return e.forEach((e=>{e.priceLow<=t&&t<e.priceHigh&&(s=e)})),s}(o,s)}(this._study.graphics().hhistsByTimePointIndex(),e,c,this._model.mainSeries());if(null===d)return t.forEach((e=>{e.value="0"})),t;const p=this._study.metaInfo().graphics.hhists;if(void 0===p)return t;if(void 0===p[d.styleId])return t;const f=this._study.properties().childs().graphics.childs().hhists?.childs()[d.styleId]?.childs(),m=e=>(0,i.isNumber)(e)?_.format(e):"";if(s!==h.HHistVolumeMode.Delta){if(d.rate.forEach(((e,s)=>{t[s].value=m(e),t[s].color=(0,r.ensureDefined)(f).colors[s].value()})),s===h.HHistVolumeMode.UpDown){const e=d.rate[0]+d.rate[1];t[2].value=m(e),t[2].color=(0,r.ensureDefined)(f).valuesColor.value()}}else{const e=d.rate[0]>d.rate[1]?0:1,s=(0,r.ensureDefined)(f).colors[e].value(),i=d.rate[0]+d.rate[1];[2*d.rate[e]-i,d.rate[e],i].forEach(((e,i)=>{t[i].value=m(e),t[i].color=s}))}return t}_hideValues(){return p&&(null===this._model.crosshairSource().pane||(0,c.isLineToolName)(a.tool.value())||null!==this._model.lineBeingEdited())}}},70954:(e,t,s)=>{s.d(t,{StudyBaseWindowView:()=>n});var i=s(40137),r=s(36313);class n extends i.DataWindowView{constructor(e,t){super(),this._invalidated=!0,this._study=e,this._model=t,this._valueProvider=this._createValuesProvider(e,t),this._items=this._valueProvider.getItems().map((e=>new i.DataWindowItem(e.id,e.title,"")))}update(e){"hover-change"!==e.type&&(this._invalidated=!0)}items(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._items}study(){return this._study}_updateImpl(){this._header=this._study.title(r.TitleDisplayTarget.DataWindow),this._title=this._study.title(r.TitleDisplayTarget.DataWindow,!1);const e=this._valueProvider.getValues(this._currentIndex());for(let t=0;t<e.length;++t){const s=e[t],i=this._items[t];i.setValue(s.value),i.setVisible(s.visible),i.setColor(s.color),i.setTitle(s.title)}}_currentIndex(){const e=this._model.crosshairSource().appliedIndex();return isNaN(e)?null:e}}},27909:(e,t,s)=>{s.d(t,{StudyChartFloatingTooltipView:()=>n});var i=s(87465),r=s(36313);class n{constructor(e,t){this._items=[],this._invalidated=!0,this._study=e,this._model=t}destroy(){}items(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._items}update(e){this._invalidated=!0}_updateImpl(){const e=this._study.chartFloatingTooltipValuesProvider(),t=this._model.crosshairSource().appliedIndex(),s=e.getValues(t),n=this._study.titleInParts(r.TitleDisplayTarget.StatusLine),o=n[0];let a="";if(n.length>1){const e=n[1];e.length>0&&(a=e.join(" "))}this._items=s.filter(i.notUndefined).filter((e=>e.visible)).map(((e,t)=>({titleText:0===t?o:"",titleInputs:0===t?a:"",value:e.value,valueColor:e.color})))}}},13212:(e,t,s)=>{s.d(t,{StudyDataWindowView:()=>a});var i=s(70954),r=s(71320),n=s(63002);class o{constructor(e,t){this._study=e,this._model=t,
|
||||||
|
this._hhistBasedStudy=void 0!==e.metaInfo().graphics.hhists,this._valuesProvider=this._createValuesProvider(e,t)}getItems(){return this._valuesProvider.getItems()}getValues(e){const t=this._valuesProvider.getValues(e),s=e=>!!this._hhistBasedStudy||this._study.isPlotVisibleAt(e,2);for(const e of t)e.visible=e.visible&&s(e.id);return t}_createValuesProvider(e,t){return this._hhistBasedStudy?new n.HHistBasedValuesProvider(e,t):new r.StudyValuesProvider(e,t)}}class a extends i.StudyBaseWindowView{canShowItems(){const e=this._model.paneForSource(this._study);return!!e?.maximized().value()||this._model.panes().every((e=>!e.maximized().value()))}_createValuesProvider(e,t){return new o(e,t)}}},12965:(e,t,s)=>{s.d(t,{StudyStatusProvider:()=>n});var i=s(11542),r=(s(86252),s(35990));i.t(null,void 0,s(24077));class n extends r.StudyStatusProviderBase{sourceStatusText(){this._source.status();return super.sourceStatusText()}}},71320:(e,t,s)=>{s.d(t,{StudyValuesProvider:()=>v});var i=s(50335),r=s(49483),n=s(52859),o=s(37103),a=s(5471),l=s(11946),h=s(78861),c=s(4359),u=s(41425),d=s(63903),p=s(50151),_=s(53660),f=s(36313);const m=r.CheckMobile.any(),y=o.enabled("hide_last_na_study_output"),g=o.enabled("always_show_legend_values_on_mobile");class v{constructor(e,t,s,i=!0){this._emptyValues=[],this._colorProviders=new Map,this._study=e,this._model=t,this._searchNearestLeft=i,this._studyMetaInfo=this._study.metaInfo(),this._studyProperties=this._study.properties().childs(),this._isFundamental=!1;const r=this._studyMetaInfo.plots;if(!r)return;let n=0;r.forEach(((e,t)=>{if((0,c.isPlotWithTechnicalValues)(e))return;const i=e.id;this._emptyValues.push(function(e,t,s="",i=""){return{id:s,index:e,orderIndex:t,title:i,value:"",visible:!1}}(t,n++,i,s?"":this._study.guiPlotName(f.TitleDisplayTarget.StatusLine,i)));const r=(0,c.isOhlcPlot)(e)?e.target:i;this._colorProviders.set(r,(0,u.createStudyPlotColorProvider)(this._studyMetaInfo,this._study.properties(),r))}))}getItems(){return this._emptyValues}getPlotColor(e,t){const s=t[e+1];if(!(0,i.isNumber)(s))return"";const r=s>0;let n;const o=this._studyMetaInfo.plots[e];let a=o.id;const l=this._studyProperties;if((0,c.isOhlcPlot)(o))a=o.target||a,n=(0,p.ensureDefined)(l.ohlcPlots.childs()[a].childs().color).value();else if((0,c.isArrowsPlot)(o)){const e=(0,p.ensureDefined)(l.styles.childs()[a]);n=r?e.childs().colorup.value():e.childs().colordown.value()}else n=(0,p.ensureDefined)(l.styles.childs()[a]?.child("color")).value();let h=n;const u=this._colorProviders.get(a),d=u&&u.getPlotPointStyle(t);return d&&((0,c.isArrowsPlot)(o)?(r&&void 0!==d.colors[5]&&(h=d.colors[5]),r||void 0===d.colors[6]||(h=d.colors[6])):void 0!==d.colors[0]&&(h=d.colors[0])),"transparent"===h&&(h=n),h}getValues(e){const t=this._emptyValues.map((e=>({...e})));let s=null;const r=this._study.data().lastIndex(),o=this._studyProperties;if(null!==r){const e=this._searchNearestLeft?a.PlotRowSearchMode.NearestLeft:a.PlotRowSearchMode.Exact;for(const i of t){const t=o.styles.childs()[i.id]?.childs().display.value();if(0===t)continue
|
||||||
|
;const n=this._study.nearestIndex(r,e,i.index+1);if(void 0===n)continue;const a=n+this._study.offset(i.id);s=null!==s?Math.max(a,s):a}}(null===e||null!==s&&e>s)&&(e=s);const l=this._hideValues(),h=this._study.isVisible()&&!l?_.notAvailable:"";for(const e of t)e.value=h;if(l)return t;y&&t.length&&(t[t.length-1].value="");const u=this._study.priceScale();if(!this._study.isVisible()||null===e||null===u||u.isEmpty()||this._model.timeScale().isEmpty())return t;const f={};for(const s of t){const t=s.id,l=(0,d.getPriceValueFormatterForStudy)(this._study,t),h=(0,p.ensureDefined)(o.styles.childs()[t]),u=h.childs().display.value();if(s.visible=0!==u,!s.visible)continue;const _=h.hasChild("plottype")?h.child("plottype")?.value():null,m=this._searchNearestLeft&&this._isFundamental&&(_===c.LineStudyPlotStyle.StepLine||_===c.LineStudyPlotStyle.StepLineWithDiamonds),y=s.index,g=e-this._study.offset(t),v=m||null!==r&&g>r?a.PlotRowSearchMode.NearestLeft:a.PlotRowSearchMode.Exact,S=this._study.nearestIndex(g,v);if(void 0===S)continue;let b=f[t];if(void 0===b&&(b=this._study.getMinFirstBarIndexForPlot(t),Number.isFinite(b)&&(f[t]=b)),b>S)continue;const P=this._study.data().last(),w=this._study.data().valueAt(S)||(null!==P?P.value:null);if(null===w)continue;const I=w[y+1];(0,i.isNumber)(I)&&(s.value=l(I),s.color=(0,n.resetTransparency)(this.getPlotColor(y,w)))}return t}_hideValues(){return g?(0,l.isLineToolName)(h.tool.value())||null!==this._model.lineBeingEdited():m&&(null===this._model.crosshairSource().pane||(0,l.isLineToolName)(h.tool.value())||null!==this._model.lineBeingEdited())}}},11485:(e,t,s)=>{s.r(t),s.d(t,{StudiesChunkName:()=>Yt,Study:()=>us,emptyPrecalculatedAutoscaleInfo:()=>qt,studyFormatter:()=>hs});var i=s(50279),r=s(90054),n=s(16738),o=s(15943);const a=e=>e instanceof Date,l=e=>null!=e&&"object"==typeof e,h=(e,...t)=>Object.prototype.hasOwnProperty.call(e,...t),c=e=>l(e)&&(e=>0===Object.keys(e).length)(e),u=(e,t)=>{if(e===t)return{};if(!l(e)||!l(t))return t;const s=Object.keys(e).reduce(((e,s)=>(h(t,s)||(e[s]=void 0),e)),Object.create(null));return a(e)||a(t)?e.valueOf()==t.valueOf()?{}:t:Object.keys(t).reduce(((s,i)=>{if(!h(e,i))return s[i]=t[i],s;const r=u(e[i],t[i]);return!c(r)||a(r)||!c(e[i])&&c(t[i])?(s[i]=r,s):s}),s)},d=u;var p=s(50151),_=s(87465),f=s(9343),m=s(11542),y=s(12217),g=s(62312);function v(e){const{name:t,group:s}=e;return t.length>0?`${s?`${s}.`:""}${t}`:void 0}var S=s(10341),b=s(22613),P=s(62773),w=s(48096),I=s(52859),x=s(82130),C=s(29806),V=s(67135),M=(s(2088),s(24062)),T=s(72187),A=s(19844),R=s(45530),O=s(5471),D=s(18330),B=s(70954),N=s(40472),F=s(71320),k=s(63002);class E{constructor(e,t,s,i){this._study=e,this._model=t,this._showStudyValues=i??t.properties().childs().paneProperties.childs().legendProperties.childs().showStudyValues,this._hhistBasedStudy=void 0!==e.metaInfo().graphics.hhists,this._valuesProvider=this._createValuesProvider(e,t,s)}getItems(){return this._valuesProvider.getItems()}getValues(e){
|
||||||
|
const t=this._valuesProvider.getValues(e),s=this._study.properties(),i=this._showStudyValues.value()&&s.childs().showLegendValues.value(),r=e=>!!this._hhistBasedStudy||this._study.isPlotVisibleAt(e,8);for(const e of t)e.visible=e.visible&&i&&r(e.id);return t}_createValuesProvider(e,t,s){return this._hhistBasedStudy?new k.HHistBasedValuesProvider(e,t,s):new F.StudyValuesProvider(e,t,s)}}var L=s(4359);class H extends B.StudyBaseWindowView{constructor(e,t){super(e,t),this._showStudyValues=t.properties().childs().paneProperties.childs().legendProperties.childs().showStudyValues,this._showStudyValues.subscribe(this,(()=>this.update((0,N.sourceChangeEvent)(e.id()))));const s=this._study.properties();s.childs().showLegendValues.subscribe(this,(()=>this.update((0,N.sourceChangeEvent)(e.id()))));const i=this._study.metaInfo().plots,r=new Set;i.forEach((t=>{if((0,L.isOhlcPlot)(t)){const i=t.target;if(r.has(i))return;r.add(i),s.childs().ohlcPlots.childs()[i].childs().display.subscribe(this,(()=>this.update((0,N.sourceChangeEvent)(e.id()))))}else(0,L.isPlotSupportDisplay)(t)&&s.childs().styles.childs()[t.id]?.childs().display.subscribe(this,(()=>this.update((0,N.sourceChangeEvent)(e.id()))))}))}areValuesVisible(){return this._showStudyValues.value()}additional(){return null}destroy(){this._showStudyValues.unsubscribeAll(this);const e=this._study.properties();e.childs().showLegendValues.unsubscribeAll(this);const t=this._study.metaInfo().plots,s=new Set;t.forEach((t=>{if((0,L.isOhlcPlot)(t)){const i=t.target;if(s.has(i))return;s.add(i),e.childs().ohlcPlots.childs()[i].childs().display.unsubscribeAll(this)}else(0,L.isPlotSupportDisplay)(t)&&e.childs().styles.childs()[t.id]?.childs().display.unsubscribeAll(this)}))}_createValuesProvider(e,t){return new E(e,t)}}var W=s(78861),z=s(80671),U=s(60911),j=s(87163),G=s(98155),$=s(12965);class K{constructor(e,t,s){this._study=e,this._model=t,this._valuesProvider=new F.StudyValuesProvider(e,t,s)}getItems(){return this._valuesProvider.getItems()}getValues(e){const t=this._valuesProvider.getValues(e),s=e=>this._study.isPlotVisibleAt(e,8)||this._study.isPlotVisibleAt(e,1);for(const e of t)e.visible=e.visible&&s(e.id);return t}}var Y=s(36313),X=s(67455);function q(e,t){return e.studyId.localeCompare(t.studyId)}function J(e){const t=new Set,s=[];return e.forEach((e=>{t.has(e.studyId)||(t.add(e.studyId),s.push(e))})),s}function Z(e){const t=e.model().mainSeries();return{studyId:(0,p.ensureNotNull)(e.sourceId()),turnaround:e.turnaround(),sourceStudies:e.parentSources().filter((e=>e!==t)).map((e=>Z(e)))}}var Q=s(69422),ee=s(37103),te=s(94602),se=s(10307);class ie extends se.BitmapCoordinatesPaneRenderer{constructor(e){super(),this._data=e}hitTest(e){return null}_drawImpl(e){}_drawBackgroundImpl(e){const{context:t,horizontalPixelRatio:s,bitmapSize:i}=e,r=this._data;for(let e=0;e<r.items.length;++e){const n=r.items[e];if(null==n.color)continue;t.fillStyle=n.color;const o=Math.round(n.left*s)+1,a=Math.round(n.right*s);t.fillRect(o,0,a-o+1,i.height)}}}var re=s(41425),ne=s(17631)
|
||||||
|
;class oe extends ne.StudyForceOverlayPlotView{constructor(e,t,s,i){super(t,s,i),this._items=[],this._invalidated=!0,this._isMarkersEnabled=ee.enabled("source_selection_markers"),this._study=e;const r=this._study.metaInfo().plots;for(let e=0;e<r.length;e++){const t=r[e];t.id===this._plotName&&(this._plotIndex=e,(0,p.assert)((0,L.isBgColorerPlot)(t),"Plot '"+this._plotName+"' is not a background colorer!"))}this._colorProvider=(0,re.createStudyPlotColorProvider)(e.metaInfo(),e.properties(),i)}items(){return this._items}update(e){"hover-change"!==e.type&&(this._invalidated=!0)}renderer(){if(1&~(0,p.ensureDefined)(this._study.properties().childs().styles.childs()[this._plotName]).childs().display.value())return null;if(!this._scalesReady())return null;this._invalidated&&(this._updateImpl(),this._invalidated=!1);const e={items:this._items},t=new te.CompositeRenderer;return t.append(new ie(e)),t}_scalesReady(){const e=this._model.timeScale(),t=this._priceScale();return e&&!e.isEmpty()&&null!==t&&!t.isEmpty()}_getTranspValue(){const e=(0,p.ensureDefined)(this._study.properties().childs().styles.childs()[this._plotName]).childs();let t=0;return e.transparency&&(t=e.transparency.value(),t=(0,_.isNumber)(t)?t:40),t}_updateImpl(){this._items=[],(0,p.assert)(this._scalesReady(),"Scales must be ready!");const e=this._model.timeScale().visibleBarsStrictRange();if(null===e)return;const t=this._getTranspValue();let s=(0,p.ensureDefined)(this._series.nearestIndex(e.firstBar(),O.PlotRowSearchMode.NearestRight)),i=(0,p.ensureDefined)(this._series.nearestIndex(e.lastBar(),O.PlotRowSearchMode.NearestLeft));const r=this._study.offset(this._plotName);r>0?(s-=r,i+=r):(s+=r,i-=r);const n=this._study.getMinFirstBarIndexForPlot(this._plotName);if(n>i)return;s=Math.max(n,s);const o=this._study.data();for(const e of o.rangeIterator(s,i)){let s=e.index;const i=e.value;s+=r;const n={timePointIndex:Math.floor(s),left:NaN,center:NaN,right:NaN};let o=(0,_.isNumber)(t)?t:50;o=Math.min(o,100),o=Math.max(o,0);const a=this._colorProvider.getPlotPointStyle(i);void 0!==a.colors[1]&&(n.color=(0,I.generateColor)((0,p.ensureDefined)(a.colors[1]),o)),this._items.push(n)}this._model.timeScale().fillBarBorders(this._items)}}var ae,le=s(89323),he=s(45801),ce=s(51752),ue=s(77914),de=s(13173),pe=s(52746),_e=s(26705),fe=s(10555),me=s(6453),ye=s(50335),ge=s(50605),ve=s(2383),Se=s(45720),be=s(49251),Pe=s(27714),we=s(33350);!function(e){e.Left="left",e.Center="center",e.Right="right"}(ae||(ae={}));const Ie=(0,we.createDisconnectedCanvas)(document,(0,Pe.size)({width:0,height:0}),1);class xe{constructor(e,t,s,i,r,n="center",o=0){this._lines=e.split(/[^\S\r\n]*(?:\r\n|\r|\n)/),this._font=function(e,t,s,i){return(0,be.makeFont)(i,s,`${e?"bold ":""}${t?"italic ":""}`)}(t,s,i,r),this._fontSize=r,this._verticalPadding=~~(r/6),this._textAlign=n,this._lineSpacing=o;const a=(0,p.ensureNotNull)(Ie.getContext("2d"));a.font=this._font,a.textBaseline="top";let l=0;for(let e=0;e<this._lines.length;++e){const t=this._lines[e],s=a.measureText(t).width;l=Math.max(l,s)}
|
||||||
|
this.textImageWidth=l+1,this.textImageHeight=this._lines.length*r+(this._lines.length-1)*this._lineSpacing+this._verticalPadding}paintTo(e,t){const{context:s,horizontalPixelRatio:i,verticalPixelRatio:r}=e;s.save();const n=t.location;s.translate(Math.round(function(e,t,s){let i=e;switch(t){case"left":break;case"right":i-=s;break;case"center":i-=s/2}return Math.round(i)}(n.x,n.horzAlign,this.textImageWidth)*i),Math.round(function(e,t,s){let i=e;switch(t){case"top":break;case"bottom":i-=s;break;case"middle":i-=s/2}return Math.round(i)}(n.y,n.vertAlign,this.textImageHeight)*r));const o=t.style;let a;switch(s.textBaseline="top",s.font=this._font,s.lineJoin="round",s.fillStyle=o.fillStyle,o.strokeStyle&&(s.strokeStyle=o.strokeStyle),o.lineWidth&&(s.lineWidth=o.lineWidth),this._textAlign){case"left":a=0,s.textAlign="left";break;case"right":a=this.textImageWidth-1,s.textAlign="right";break;default:a=this.textImageWidth/2,s.textAlign="center"}let l=this._verticalPadding;(0,we.drawScaled)(s,i,r,(()=>{for(const e of this._lines)o.strokeStyle&&s.strokeText(e,a,l),s.fillText(e,a,l),l+=this._fontSize,l+=this._lineSpacing})),s.restore()}}class Ce extends Se.AbstractMapContainer{constructor(e){super(),this._maxSize=e,this._keysQueue=[]}get(e){const{fontSize:t,text:s,align:i,font:r,bold:n,italic:o,lineSpacing:a=0}=e;if(!s||!t||!i)return null;const l=(0,be.makeFont)(t,r,o?"italic":"",n?"bold":""),h=(0,Se.getDefault3)(this._map,a,i,l,new Map);let c=h.get(s);return void 0!==c||(this._size>=this._maxSize?this._deleteFirstKey():++this._size,this._keysQueue.push([l,i,a,s]),c=new xe(s,n,o,r,t,i,a),h.set(s,c)),c}_deleteFirstKey(){const e=this._keysQueue.shift(),[t,s,i,r]=e,n=(0,p.ensureDefined)(this._map.get(i)),o=(0,p.ensureDefined)(n.get(s)),a=(0,p.ensureDefined)(o.get(t));a.delete(r),0===a.size&&o.delete(t),0===o.size&&n.delete(s),0===n.size&&this._map.delete(i)}}var Ve,Me=s(84617),Te=s(49483);!function(e){e.Transparent="rgba(0, 0, 0, 0)"}(Ve||(Ve={}));class Ae extends se.BitmapCoordinatesPaneRenderer{constructor(e,t={skipRenderingOptimizations:!1}){super(),this._items=[],this._barSpacing=0,this._vertOffset=0,this._textCache=t.textCache||new Ce(5e3),this._drawOperation=t.skipRenderingOptimizations?this._drawWithoutOptimizations.bind(this):this._drawWithOptimizations.bind(this),null!==e&&this.setData(e)}hitTest(e){const t=ve.HitTarget.Regular;let s=null;for(const i of this._items){if(!i)continue;const r=this._calcBoundingBox(i);if(r&&(0,me.pointInBox)(e,r)){const e={tooltip:this._getTooltip(i,r)};s=new ve.HitTestResult(t,e)}}return s}setData(e){if(this._height=void 0!==e.height?e.height:e.width,this._width=void 0!==e.width?e.width:e.height,this._color=e.color,this._borderColor=e.borderColor,this._vertOffset=e.vertOffset||0,e.text&&(this._text=e.text,this._fontSize=e.fontSize,this._lineSpacing=e.lineSpacing,this._textColor=e.textColor,this._textAlign=e.textAlign||"center"),void 0!==e.items&&void 0!==e.barSpacing){const t=e.visibleItemsRange?.startItemIndex??0,s=e.visibleItemsRange?.endItemIndex??e.items.length
|
||||||
|
;this.setItems(s>t?e.items.slice(t,s):[],e.barSpacing)}}setItems(e,t){this._setBaseData(e,t)}_drawImpl(e){this._preDrawInit(),this._drawOperation(e)}_calcBoundingBox(e){const t=e.vertOffset,s=this._getTextCache(e);if(!s)return;const i=s.textImageWidth,r=s.textImageHeight,n=i/2,o=e.y+t+e.textVertOffset,a=t>0?0:-r,l=t>0?r:0,h=new fe.Point(e.center-n,o+a),c=new fe.Point(e.center+n,o+l);return(0,fe.box)(h,c)}_unionBox(e,t){const s=Math.min(e.min.x,t.min.x),i=Math.max(e.max.x,t.max.x),r=Math.min(e.min.y,t.min.y),n=Math.max(e.max.y,t.max.y),o=new fe.Point(s,r),a=new fe.Point(i,n);return(0,fe.box)(o,a)}_getTooltip(e,t){if(e.tooltip)return{content:{type:"text",data:e.tooltip},tooltipDelay:200,extendMargin:!0,rect:{x:t.min.x,y:t.min.y,w:Math.abs(t.max.x-t.min.x),h:Math.abs(t.max.y-t.min.y)}}}_setBaseData(e,t){this._items.length=0,this._barSpacing=t;for(const t of e){if((0,ye.isNaN)(t.y))continue;const e=void 0===t.width?(0,p.ensureDefined)(this._width):t.width,s=void 0===t.height?(0,p.ensureDefined)(this._height):t.height,i=void 0===t.vertOffset?this._vertOffset:t.vertOffset,r=i>0?s:-s;this._items.push({width:e,height:s,vertOffset:i,textVertOffset:r,shapeWidth:0,shapeHeight:0,stepX:0,stepY:0,...t})}}_drawItemText(e,t){const s=this._getTextCache(t);if(null===s)return;const i=t.center,r=t.vertOffset,n=t.y+r+t.textVertOffset;let o;o=t.style&&void 0!==t.style.textColor?t.style.textColor:this._textColor;const a={style:{fillStyle:o},location:{x:i,y:n,horzAlign:ge.HorizontalAlign.Center,vertAlign:r>0?ge.VerticalAlign.Top:ge.VerticalAlign.Bottom}};s.paintTo(e,a)}_drawWithOptimizations(e){let t,s,i=null,r=!1;for(const n of this._items)(0,ye.isNaN)(n.y)||(n.style&&void 0!==n.style.color?(t=n.style.color||"rgba(0, 0, 0, 0)",s=n.style.borderColor||"rgba(0, 0, 0, 0)"):(t=this._color,s=this._borderColor),(i!==t||Te.isSafari)&&(i=t,r&&this._endPath(e),this._startPath(e,t,s)),this._drawItemShape(e,n),r=!0);r&&this._endPath(e);for(const t of this._items)(0,ye.isNaN)(t.y)||this._drawItemText(e,t)}_drawWithoutOptimizations(e){let t,s;for(const i of this._items){if((0,ye.isNaN)(i.y))continue;const r=(0,p.ensureDefined)(i.style);t=r.color||"rgba(0, 0, 0, 0)",s=r.borderColor||"rgba(0, 0, 0, 0)",this._startPath(e,t,s),this._drawItemShape(e,i),this._endPath(e),this._drawItemText(e,i)}}_drawItemShape(e,t){const{context:s,horizontalPixelRatio:i,verticalPixelRatio:r}=e;(0,we.drawScaled)(s,i,r,(()=>this._drawItemShapeUsingCSSPixels(s,t)))}_drawItemShapeUsingCSSPixels(e,t){}_preDrawInit(){}_startPath(e,t,s){}_endPath(e){}_getTextCache(e){const t=e.text||this._text,s=e.fontSize||this._fontSize,i=e.lineSpacing??this._lineSpacing,r=e.textAlign||this._textAlign,n=e.font??Me.CHART_FONT_FAMILY,o=e.bold??!1,a=e.italic??!1;return this._textCache.get({text:t,bold:o,italic:a,font:n,fontSize:s,lineSpacing:i,align:r})}}class Re extends Ae{_startPath(e,t,s){const i=e.context;i.beginPath(),i.lineWidth=this._lineWidth(e),i.lineCap="butt",i.strokeStyle=t}_endPath(e){e.context.stroke()}_lineWidth(e){return Math.max(1,Math.floor(2*e.horizontalPixelRatio))}}
|
||||||
|
class Oe extends Ae{_startPath(e,t,s){const i=e.context;i.beginPath(),i.lineWidth=this._lineWidth(e),i.lineCap="butt",i.fillStyle=t,i.strokeStyle=s}_endPath(e){const t=e.context;t.fill(),t.stroke()}_lineWidth(e){return Math.max(1,Math.floor(e.horizontalPixelRatio))}}class De extends Oe{constructor(){super(...arguments),this._sign=0,this._thinArrow=!1,this._thinArrowLineWidth=0,this._headHeight=0,this._arrowWidth=0}setItems(e,t){this._setBaseData(e,t)}_drawItemShape(e,t){const{context:s,horizontalPixelRatio:i,verticalPixelRatio:r}=e,n=this._lineWidth(e)%2?.5:0,o=this._sign,a=this._arrowWidth,l=this._headHeight,h=Math.abs(t.height),c=Math.round(t.center*i)+n,u=t.vertOffset,d=Math.round((t.y+u+o*h/2)*r)+n,p=(0,ue.ceiledEven)(a*i),_=p/2,f=Math.round(h*r),m=Math.round(l*r);s.translate(c,d),this._thinArrow?(s.moveTo(0,0),s.lineTo(-_,-_*o),s.moveTo(0,0),s.lineTo(_,-_*o),s.moveTo(0,0),s.lineTo(0,-f*o),s.moveTo(-_,-f*o),s.lineTo(_,-f*o)):(s.moveTo(0,0),f<m?(s.lineTo(p,-f*o),s.lineTo(-p,-f*o)):(s.lineTo(p,-m*o),s.lineTo(_,-m*o),s.lineTo(_,-f*o),s.lineTo(-_,-f*o),s.lineTo(-_,-m*o),s.lineTo(-p,-m*o)),s.lineTo(0,0)),s.translate(-c,-d)}_preDrawInit(){const e=this._calculateWidth();this._arrowWidth=e,this._sign=this._isUp()?-1:1,this._thinArrow=e<4,this._thinArrowLineWidth=Math.max(e/2,1),this._headHeight=Math.round(e)}_startPath(e,t,s){const i=e.context;i.beginPath(),i.fillStyle=t,i.strokeStyle=s,i.lineWidth=this._lineWidth(e)}_lineWidth(e){return this._thinArrow?this._thinArrowLineWidth:super._lineWidth(e)}_calcBoundingBox(e){const t=e.vertOffset,s=this._sign,i=this._arrowWidth,r=this._headHeight,n=Math.abs(e.height),o=e.center-i,a=o+2*i,l=e.y+t+s*Math.round(n/2),h=l+(-n-r)*s,c=new fe.Point(o,l),u=new fe.Point(a,h);let d=(0,fe.box)(c,u);const p=super._calcBoundingBox(e);return p&&(d=this._unionBox(d,p)),d}_calculateWidth(){return Math.round(this._barSpacing/4)}}const Be=2*Math.PI;class Ne extends Oe{setItems(e,t){this._setBaseData(e,t);for(const e of this._items){if(e.fontSize){const t=e.fontSize;e.stepX=Math.round(t/1.5),e.stepY=Math.round(t/2)-1}else{const t=e.height;e.stepX=Math.round(t/2*.65)+.5,e.stepY=e.stepX}e.vertOffset=this._calcVertOffset(e);const t=this._getTextCache(e);if(null===t){e.shapeWidth=2*e.stepX,e.shapeHeight=2.5*e.stepY;continue}const s=t.textImageWidth,i=t.textImageHeight;e.shapeWidth=s+2*e.stepX,e.shapeHeight=i+2*e.stepY,e.vertOffset=this._calcVertOffset(e),e.textHorizOffset=this._getHorizontalTextOffset(e),e.textVertOffset=this._getVerticalTextOffset(e)}}_calcVertOffset(e){return e.vertOffset}_drawCorner(e,t,s,i){const{context:r,horizontalPixelRatio:n}=e,o=Math.max(1,Math.floor(2*n));r.lineTo(t-o*i.prevPointSignX,s-o*i.prevPointSignY),r.arcTo(t,s,t+o*i.nextPointSignX,s+o*i.nextPointSignY,o)}_getArrowSize(e){return e.stepX}_getHorizontalTextOffset(e){return 0}_getVerticalTextOffset(e){return 0}_hasText(e){return Boolean(e.text)||Boolean(this._text)}_drawItemText(e,t){const s=this._getTextCache(t);if(null===s)return
|
||||||
|
;const i=t.textHorizOffset||0,r=t.center+i,n=t.vertOffset,o=t.y+n+t.textVertOffset,a=t.style?.textColor||this._textColor,l={style:{fillStyle:(0,p.ensureDefined)(a)},location:{x:r,y:Math.floor(o),horzAlign:ge.HorizontalAlign.Center,vertAlign:ge.VerticalAlign.Middle}};s.paintTo(e,l)}}class Fe{constructor(e,t,s,i){this.prevPointSignX=e,this.prevPointSignY=t,this.nextPointSignX=s,this.nextPointSignY=i}}var ke;!function(e){e.rightUp=new Fe(1,0,0,1),e.rightDown=new Fe(0,1,-1,0),e.leftDown=new Fe(-1,0,0,-1),e.leftUp=new Fe(0,-1,1,0)}(ke||(ke={}));class Ee extends Oe{_calcBoundingBox(e){const t=e.width,s=e.height,i=t/2,r=Math.round(s/3),n=e.center,o=e.vertOffset-2*r,a=e.y+o,l=n-i,h=n+i,c=a,u=a+s,d=new fe.Point(l,c),p=new fe.Point(h,u);let _=(0,fe.box)(d,p);const f=super._calcBoundingBox(e);return f&&(_=this._unionBox(_,f)),_}}var Le=s(41028);const He=new Map;He.set("PaneRendererArrowUp",class extends De{_isUp(){return!0}}),He.set("PaneRendererArrowDown",class extends De{_isUp(){return!1}}),He.set("PaneRendererCircleShape",class extends Oe{_drawItemShapeUsingCSSPixels(e,t){const s=Math.max(t.width,t.height)/2,i=t.center,r=t.vertOffset,n=t.y+r;e.moveTo(i+s,n),e.arc(i,n,s,0,Be,!1)}_calcBoundingBox(e){const t=Math.max(e.width,e.height)/2,s=e.center,i=e.vertOffset,r=e.y+i,n=s-t,o=s+t,a=r-t,l=r+t,h=new fe.Point(n,a),c=new fe.Point(o,l);let u=(0,fe.box)(h,c);const d=super._calcBoundingBox(e);return d&&(u=this._unionBox(u,d)),u}}),He.set("PaneRendererCrossShape",class extends Re{_drawItemShape(e,t){const{context:s,horizontalPixelRatio:i,verticalPixelRatio:r}=e,n=t.width,o=t.height,a=t.center-n/2,l=t.vertOffset,h=t.y-o/2+l,c=this._lineWidth(e),u=c%2?.5:0,d=Math.round(a*i);let p=Math.round((a+n)*i);(p-d)%2!=c%2&&(p+=1);const _=Math.floor((d+p)/2)+u,f=Math.round(h*r);let m=Math.round((h+o)*r);(m-f)%2!=c%2&&(m+=1);const y=Math.floor((f+m)/2)+u;s.moveTo(_,f),s.lineTo(_,m),s.moveTo(d,y),s.lineTo(p,y)}_calcBoundingBox(e){const t=e.width,s=e.height,i=e.center-t/2,r=e.vertOffset,n=e.y-s/2+r,o=i,a=i+t,l=n,h=n+s,c=new fe.Point(o,l),u=new fe.Point(a,h);let d=(0,fe.box)(c,u);const p=super._calcBoundingBox(e);return p&&(d=this._unionBox(d,p)),d}}),He.set("PaneRendererDiamond",class extends Oe{_drawItemShapeUsingCSSPixels(e,t){const s=Math.round(t.height/2),i=t.center,r=t.vertOffset,n=t.y+r;e.moveTo(i,n-s),e.lineTo(i+s,n),e.lineTo(i,n+s),e.lineTo(i-s,n),e.lineTo(i,n-s)}_calcBoundingBox(e){const t=Math.round(e.height/2),s=e.center,i=e.vertOffset,r=e.y+i,n=s-t,o=s+t,a=r-t,l=r+t,h=new fe.Point(n,a),c=new fe.Point(o,l);let u=(0,fe.box)(h,c);const d=super._calcBoundingBox(e);return d&&(u=this._unionBox(u,d)),u}}),He.set("PaneRendererFlagShape",class extends Oe{_drawItemShapeUsingCSSPixels(e,t){const s=t.width,i=t.height,r=i/2,n=(s-3)/3,o=t.center-s/2,a=t.vertOffset,l=t.y-r+a;e.moveTo(o,l),e.lineTo(o+3,l),e.bezierCurveTo(o+n,l-n,o+2*n,l+n,o+s,l),e.lineTo(o+s,l+r),e.bezierCurveTo(o+s-n,l+r+n,o+s-2*n,l+r-n,o+3,l+r),e.lineTo(o+3,l+i),e.lineTo(o,l+i),e.lineTo(o,l)}_calcBoundingBox(e){
|
||||||
|
const t=e.width,s=e.height,i=s/2,r=e.center-t/2,n=e.vertOffset,o=e.y-i+n,a=r,l=r+t,h=o,c=o+s,u=new fe.Point(a,h),d=new fe.Point(l,c);let p=(0,fe.box)(u,d);const _=super._calcBoundingBox(e);return _&&(p=this._unionBox(p,_)),p}}),He.set("PaneRendererLabelUp",class extends Ne{_calcBoundingBox(e){const t=e.center-e.shapeWidth/2,s=e.center+e.shapeWidth/2,i=e.y+e.vertOffset,r=e.y+e.shapeHeight+e.vertOffset,n=new fe.Point(t,i),o=new fe.Point(s,r);return(0,fe.box)(n,o)}_drawItemShape(e,t){const{context:s,horizontalPixelRatio:i,verticalPixelRatio:r}=e,n=this._lineWidth(e)%2?.5:0,o=Math.max(1,Math.floor(i))%2?.5:0,a=this._getArrowSize(t);let l=Math.round(a*i);(o+l)%1!=n%1&&(l+=.5);let h=Math.round(t.shapeWidth/2*i);(o+h)%1!=n%1&&(h+=.5);const c=Math.round(t.center*i)+o,u=Math.round((t.y+t.vertOffset)*r)+n,d=c-l,p=Math.round((t.y+t.vertOffset+a)*r)+n,_=c+l,f=c+h,m=Math.round((t.y+t.vertOffset+a+t.shapeHeight)*r)+n,y=c-h;s.moveTo(d,p),s.lineTo(c,u),s.lineTo(_,p),t.shapeWidth<=2*a?(s.lineTo(f,p),this._drawCorner(e,f,m,ke.rightDown),this._drawCorner(e,y,m,ke.leftDown),s.lineTo(y,p)):(this._drawCorner(e,f,p,ke.rightUp),this._drawCorner(e,f,m,ke.rightDown),this._drawCorner(e,y,m,ke.leftDown),this._drawCorner(e,y,p,ke.leftUp)),s.lineTo(d,p)}_getVerticalTextOffset(e){return e.shapeHeight/2+this._getArrowSize(e)}_calcVertOffset(e){return Math.sign(e.vertOffset)>=0?e.vertOffset:e.vertOffset-e.shapeHeight}}),He.set("PaneRendererLabelDown",class extends Ne{_calcBoundingBox(e){const t=e.center-e.shapeWidth/2,s=e.center+e.shapeWidth/2,i=e.y-e.shapeHeight+e.vertOffset,r=e.y+e.vertOffset,n=new fe.Point(t,i),o=new fe.Point(s,r);return(0,fe.box)(n,o)}_drawItemShape(e,t){const{context:s,horizontalPixelRatio:i,verticalPixelRatio:r}=e,n=this._lineWidth(e)%2?.5:0,o=Math.max(1,Math.floor(i))%2?.5:0,a=this._getArrowSize(t);let l=Math.round(a*i);(o+l)%1!=n%1&&(l+=.5);let h=Math.round(t.shapeWidth/2*i);(o+h)%1!=n%1&&(h+=.5);const c=Math.round(t.center*i)+o,u=Math.round((t.y+t.vertOffset)*r)+n,d=c+l,p=Math.round((t.y+t.vertOffset-a)*r)+n,_=c-l,f=c+h,m=Math.round((t.y+t.vertOffset-t.shapeHeight-a)*r)+n,y=c-h;s.moveTo(d,p),s.lineTo(c,u),s.lineTo(_,p),t.shapeWidth<=2*a?(s.lineTo(y,p),this._drawCorner(e,y,m,ke.leftUp),this._drawCorner(e,f,m,ke.rightUp),s.lineTo(f,p)):(this._drawCorner(e,y,p,ke.leftDown),this._drawCorner(e,y,m,ke.leftUp),this._drawCorner(e,f,m,ke.rightUp),this._drawCorner(e,f,p,ke.rightDown)),s.lineTo(d,p)}_getVerticalTextOffset(e){return-e.shapeHeight/2-this._getArrowSize(e)}_calcVertOffset(e){return Math.sign(e.vertOffset)<=0?e.vertOffset:e.vertOffset+e.shapeHeight}}),He.set("PaneRendererSquare",class extends Oe{_drawItemShape(e,t){const{context:s,horizontalPixelRatio:i,verticalPixelRatio:r}=e,n=Math.max(1,Math.floor(i))%2?.5:0,o=this._lineWidth(e)%2?.5:0;let a=Math.round(t.height/2*r);(n+a)%1!=o%1&&(a+=.5);const l=Math.round(t.center*i)+n,h=Math.round((t.y+t.vertOffset)*r)+n,c=l-a,u=h-a,d=l+a,p=h+a;s.rect(c,u,d-c,p-u)}_calcBoundingBox(e){
|
||||||
|
const t=e.height,s=Math.round(t/2),i=e.center-s,r=e.vertOffset,n=e.y+r-s,o=i,a=i+t,l=n,h=n+t,c=new fe.Point(o,l),u=new fe.Point(a,h);let d=(0,fe.box)(c,u);const p=super._calcBoundingBox(e);return p&&(d=this._unionBox(d,p)),d}}),He.set("PaneRendererTriangleApexUp",class extends Ee{_drawItemShape(e,t){const{context:s,horizontalPixelRatio:i,verticalPixelRatio:r}=e,n=t.width,o=t.height,a=Math.round(o/3),l=t.vertOffset-2*a,h=this._lineWidth(e)%2?.5:0,c=Math.max(1,Math.floor(i)),u=c%2?.5:0;let d=Math.round(n*i);d%2!=c%2&&(d+=1);const p=Math.round(t.center*i)+u,_=Math.round((t.y+l)*r),f=p+d/2,m=Math.round((t.y+l+o)*r)+h,y=p-d/2;s.moveTo(p,_),s.lineTo(f,m),s.lineTo(y,m),s.lineTo(p,_)}}),He.set("PaneRendererTriangleApexDown",class extends Ee{_drawItemShape(e,t){const{context:s,horizontalPixelRatio:i,verticalPixelRatio:r}=e,n=t.width,o=t.height,a=Math.round(o/3),l=t.vertOffset-a,h=this._lineWidth(e)%2?.5:0,c=Math.max(1,Math.floor(i)),u=c%2?.5:0;let d=Math.round(n*i);d%2!=c%2&&(d+=1);const p=Math.round(t.center*i)+u,_=Math.round((t.y+l)*r)+h,f=p+d/2,m=Math.round((t.y+l+o)*r),y=p-d/2;s.moveTo(y,_),s.lineTo(f,_),s.lineTo(p,m),s.lineTo(y,_)}}),He.set("PaneRendererXCross",class extends Re{_drawItemShapeUsingCSSPixels(e,t){const s=t.width,i=t.height,r=t.center-s/2,n=t.vertOffset,o=t.y-i/2+n;e.moveTo(r,o),e.lineTo(r+s,o+i),e.moveTo(r,o+i),e.lineTo(r+s,o)}_calcBoundingBox(e){const t=e.width,s=e.height,i=e.center-t/2,r=e.vertOffset,n=e.y-s/2+r,o=i,a=i+t,l=n,h=n+s,c=new fe.Point(o,l),u=new fe.Point(a,h);let d=(0,fe.box)(c,u);const p=super._calcBoundingBox(e);return p&&(d=this._unionBox(d,p)),d}});class We extends Le.StudyPaneViewInplaceUpdatable{constructor(e,t,s,i){super(t,s,i),this._renderer=null,this._shapesRenderer=null,this._selectionRenderer=null,this._isMarkersEnabled=ee.enabled("source_selection_markers"),this._study=e;const r=e.metaInfo().plots;for(let e=0;e<r.length;e++)if(r[e].id===this._plotName){this._plotIndex=e;break}this._plotStyleInfo=(0,p.ensureDefined)(e.metaInfo().styles?.[this._plotName]),this._colorProvider=(0,re.createStudyPlotColorProvider)(e.metaInfo(),e.properties(),i),this._selectionIndexer=new de.SelectionIndexes(s.timeScale())}items(){return this._items}renderer(){return this._isPlotVisible()&&this._scalesReady()?(this._makeSureRendererIsValid(),this._renderer):null}_isPlotVisible(){return this._study.isPlotVisibleAt(this._plotName,1)}_scalesReady(){const e=this._model.timeScale(),t=this._priceScale();return e&&null!==t&&!e.isEmpty()&&!t.isEmpty()}_updateImplFull(e){if(this._dataInvalidated?.clearData&&(this._items=[],this._renderer=null),!this._scalesReady())return!1;const t=this._model.timeScale(),s=this._priceScale(),i=t.visibleBarsStrictRange();if(null===i||null===s)return!1;const r=this._study.plots().plottableRange(!1);if(0===r.size())return!1;const n=this._study.offset(this._plotName),o=this._study.firstValue(void 0,this.isForceOverlay());if(null===o)return!1;this._updateAdditionalPrices(s,o)
|
||||||
|
;const{hiPlot:a,loPlot:l}=this._hiLoPlots(),h=this._preallocateItems(r,((e,t)=>this._createItem(e,t??null,a,l,n)));let c=this._series.nearestIndex(i.firstBar(),O.PlotRowSearchMode.NearestRight),u=this._series.nearestIndex(i.lastBar(),O.PlotRowSearchMode.NearestLeft);if(void 0===c||void 0===u)return!1;n>0?(c-=n,u+=n):(c+=n,u-=n);const d=this._study.getMinFirstBarIndexForPlot(this._plotName);if(d>u)return!0;c=Math.max(d,c);const _=this._getTranspValue(),f=this._study.properties().childs().styles.childs()[this._plotName].childs(),m=f.color.value(),g=f.textColor?f.textColor.value():void 0,v=m,S=m,b=void 0===g?void 0:g,P=(0,p.ensureNotNull)(this._plotIndex),w=(0,_e.createEmptyStyle)(),I=h??(0,p.ensureNotNull)(r.firstIndex()),x=r.rangeIterator(I,(0,p.ensureNotNull)(r.lastIndex())+1);let C=(0,y.lowerbound)(this._items,I+n,((e,t)=>e.timePointIndex<t));for(const e of x){const t=e.value,s=t[P+1];if(null==s){C++;continue}const i=this._items[C];if(!isNaN(i.origPrices.price)){if(this._colorProvider.isColorDefined()){i.style={color:v,borderColor:S,textColor:b};const e=this._colorProvider.getPlotPointStyle(t,w);this._fillItemWithPointStyle(i,e,_)}}C++}return this._updateImplLight(),!0}_fillItemWithPointStyle(e,t,s){const i=(0,p.ensureDefined)(e.style);if(void 0!==t.colors[0]){i.color=(0,I.generateColor)((0,p.ensureDefined)(t.colors[0]),s);const e=s>9?s-10:0;i.borderColor=(0,I.generateColor)(i.color,e)}void 0!==t.colors[2]&&(i.textColor=(0,I.generateColor)((0,p.ensureDefined)(t.colors[2]),s))}_updateRenderer(e,t){this._makeSureRendererIsValid();const s=this._model.timeScale(),i={},r=this._getTranspValue(),n=s.barSpacing(),o=this._calculateShapeHeight(n),a=this._study.properties().childs().styles.childs()[this._plotName].childs(),l=a.location.value(),h=this._calculateVerticalOffset(l,o+o/2);i.barSpacing=n,i.items=this._items,i.color=(0,I.generateColor)(a.color.value(),r),i.height=o,i.vertOffset=h,i.visibleItemsRange={startItemIndex:e,endItemIndex:t};const c=a.plottype.value(),u=ce.plotShapesData[c],d=new te.CompositeRenderer;u&&(this._shapesRenderer?this._shapesRenderer.setData(i):(this._shapesRenderer=this._createRenderer(u.paneRendererClass,i),d.append(this._shapesRenderer))),this._model.selection().isSelected(this._study)&&this._isMarkersEnabled&&null!==this._selectionData&&(this._selectionData.vertOffset=h,d.append(new he.SelectionRenderer(this._selectionData))),this._renderer=d}_createRenderer(e,t){const s=He.get(e);return new((0,p.ensureDefined)(s))(t)}_getSeriesVal(e,t){const s=(0,pe.barFunction)(e),i=this._series.data().valueAt(t);return null===i?null:s(i)}_getTranspValue(){let e=0;const t=this._study.properties().childs();t.transparency&&(e=t.transparency.value(),e=(0,_.isNumber)(e)?e:50);const s=t.styles.childs()[this._plotName].childs();return s.transparency&&(e=s.transparency.value(),e=(0,_.isNumber)(e)?e:50),(0,ue.clamp)(e,0,100)}_createItem(e,t,s,i,r){const n=this._study.properties().childs().styles.childs()[this._plotName].childs().location.value(),o={origPrices:{price:NaN},timePointIndex:e+r}
|
||||||
|
;if((null===t||0===t)&&n!==D.MarkLocation.Absolute)return o;if(null==t)return o;let a=NaN;switch(n){case D.MarkLocation.AboveBar:{const t=this._getLocationPrice(e,s,r);if(null===t)return o;a=t;break}case D.MarkLocation.BelowBar:{const t=this._getLocationPrice(e,i,r);if(null===t)return o;a=t;break}case D.MarkLocation.Absolute:a=(0,p.ensureNotNull)(t);break;case D.MarkLocation.Top:case D.MarkLocation.Bottom:a=0;break;default:throw new Error("Bad value: "+n)}return{y:NaN,origPrices:{price:a},timePointIndex:e+r}}_dependsOnSeriesData(){const e=this._study.properties().childs().styles.childs()[this._plotName].childs().location.value();return e===D.MarkLocation.AboveBar||e===D.MarkLocation.BelowBar}_getValueForUpdating(e){const t=e.value[this._plotIndex+1];if(null==t)return null;const s=this._study.properties().childs().styles.childs()[this._plotName].childs().location.value();if(0===t&&s!==D.MarkLocation.Absolute)return null;const i=this._study.offset(this._plotName),{hiPlot:r,loPlot:n}=this._hiLoPlots();switch(s){case D.MarkLocation.AboveBar:return this._getLocationPrice(e.index,r,i);case D.MarkLocation.BelowBar:return this._getLocationPrice(e.index,n,i)}return super._getValueForUpdating(e)}_convertItemsToCoordinates(e,t,s,i){for(let e=s;e<i;e++){const t=this._items[e];t.y=t.origPrices.price}this._model.timeScale().fillBarBorders(this._items);const r=this._study.properties().childs().styles.childs()[this._plotName].childs().location.value(),n=e.height()*e.topMargin(),o=e.height()*(1-e.bottomMargin()),a=e.isInverted(),l=a?o:n,h=a?n:o,c=e=>{for(let t=s;t<i;t++)isNaN(this._items[t].y)||(this._items[t].y=e)};switch(r){case D.MarkLocation.Top:c(l);break;case D.MarkLocation.Bottom:c(h);break;default:e.pointsArrayToCoordinates(this._items,t,{startItemIndex:s,endItemIndex:i})}}_calculateVerticalOffset(e,t){let s=0;switch(e){case D.MarkLocation.AboveBar:case D.MarkLocation.Bottom:s=-t;break;case D.MarkLocation.BelowBar:case D.MarkLocation.Top:s=t}return(0,p.ensureNotNull)(this._priceScale()).isInverted()&&(s*=-1),s}_calculateShapeHeight(e,t){let s=e;switch(t){case L.PlotSymbolSize.Tiny:s=.3*e;break;case L.PlotSymbolSize.Small:s=.6*e;break;case L.PlotSymbolSize.Normal:s=e;break;case L.PlotSymbolSize.Large:s=1.5*e;break;case L.PlotSymbolSize.Huge:s=2*e}return"number"==typeof t&&t>0&&(s=t),s}_hiLoPlots(){let e,t;let s=null;switch(this._series.properties().childs().style.value()){case 2:s="lineStyle";break;case 14:s="lineWithMarkersStyle";break;case 15:s="steplineStyle";break;case 3:s="areaStyle"}return s?(e=this._series.properties().childs()[s].childs().priceSource.value(),t=e):(e="high",t="low"),{hiPlot:e,loPlot:t}}_getLocationPrice(e,t,s){const i=Math.min(e+s,(0,p.ensureNotNull)(this._series.data().last()).index);return this._getSeriesVal(t,i)}}class ze extends We{_updateRenderer(e,t){const s=this._study.properties().childs().styles.childs()[this._plotName].childs(),i=this._model.timeScale(),r={},n=this._getTranspValue(),o=i.barSpacing();let a
|
||||||
|
;a=this._plotStyleInfo.size?this._calculateShapeHeight(25,this._plotStyleInfo.size):Math.round(o/2),a=Math.max(a,1);const l=s.location.value(),h=(0,I.generateColor)(s.color.value(),n),c=n>19?n-10:0,u=this._calculateVerticalOffset(l,Math.round(1.5*a));r.barSpacing=o,r.items=this.items(),r.color=h,r.borderColor=(0,I.generateColor)(s.color.value(),c),r.height=a,r.vertOffset=u,r.visibleItemsRange={startItemIndex:e,endItemIndex:t};const d=s.plottype.value(),p=ce.plotShapesData[d],_=this._plotStyleInfo.text;if(void 0!==_&&""!==_.trim()){let e=_.replace(/\\n/gm,"\n");e=(0,le.cleanButAmpersand)(e,!0),r.text=e,r.fontSize=12;const t=s.textColor?s.textColor.value():void 0;r.textColor=t?(0,I.generateColor)(t,n):h}if(this._renderer&&this._shapesRenderer&&this._selectionRenderer)this._shapesRenderer.setData(r),this._model.selection().isSelected(this._study)&&this._isMarkersEnabled&&null!==this._selectionData?(this._selectionData.vertOffset=u,this._selectionRenderer.setData(this._selectionData)):this._selectionRenderer.setData(null);else{const e=new te.CompositeRenderer;this._shapesRenderer=super._createRenderer(p.paneRendererClass,r),e.append(this._shapesRenderer),this._selectionRenderer=new he.SelectionRenderer(this._selectionData??void 0),this._model.selection().isSelected(this._study)&&this._isMarkersEnabled&&null!==this._selectionData?this._selectionData.vertOffset=u:this._selectionRenderer.setData(null),e.append(this._selectionRenderer),this._renderer=e}}}var Ue,je=s(87795),Ge=s.n(je),$e=s(4539),Ke=s(57658);!function(e){e[e.SimplifiedPaintingMaxFontSize=4]="SimplifiedPaintingMaxFontSize"}(Ue||(Ue={}));class Ye extends Ae{constructor(e,t){super(null,t),this._textWidthCache=new Ke.TextWidthCache,this._fontSizeEnsured=0,this._font="",this._ch="",null!==e&&this.setData(e)}setData(e){super.setData(e),this._fontSizeEnsured=(0,p.ensureDefined)(this._height),this._font=(0,be.makeFont)(this._fontSizeEnsured,e.fontFamily||Me.CHART_FONT_FAMILY);const t=e.char.slice(0,40);this._ch=Ge()(t)[0]||" "}hitTest(e){const t=(0,$e.interactionTolerance)().series+this._fontSizeEnsured/2;for(const s of this._items){if(new fe.Point(s.center,s.y+s.vertOffset).subtract(e).length()<=t)return new ve.HitTestResult(ve.HitTarget.Regular)}return null}_drawItemShape(e,t){const s=t.center,i=t.vertOffset>0?1:-1,r=Math.trunc(this._fontSizeEnsured/6),n=t.y+t.vertOffset-i*Math.round(this._fontSizeEnsured/2)+(i>0?r:-this._fontSizeEnsured);let o;o=t.style&&void 0!==t.style.color?t.style.color:this._color;const{context:a,horizontalPixelRatio:l,verticalPixelRatio:h}=e;a.font!==this._font&&(a.font=this._font);const c=this._textWidthCache.measureText(a,this._ch);if(this._fontSizeEnsured<=4/l){a.save();const e=Math.max(1,Math.floor(l));let i=Math.max(1,Math.floor(c*l));i%2!=e%2&&(i+=i>1?-1:1);const r=Math.round(n*h)+(t.vertOffset>=0?0:-i);return a.fillStyle=o,a.fillRect(Math.round(s*l)+(l%2?.5:0)-i/2,r,i,i),void a.restore()}(0,we.drawScaled)(a,l,h,(()=>{a.fillStyle=o,a.textAlign="center",a.textBaseline="top",a.fillText(this._ch,s,n)}))}_startPath(e,t,s){}_endPath(e){}}
|
||||||
|
class Xe extends We{constructor(){super(...arguments),this._charRenderer=new Ye(null)}_updateRenderer(e,t){const s=this._getTranspValue(),i=this._model.timeScale().barSpacing();let r;const n=this._study.properties().childs().styles.childs()[this._plotName].childs();r=this._plotStyleInfo.size?this._calculateShapeHeight(50,this._plotStyleInfo.size):Math.round(i);const o=n.location.value(),a=(0,I.generateColor)(n.color.value(),s),l=this._calculateVerticalOffset(o,r),h={items:this.items(),barSpacing:i,char:(0,p.ensureDefined)(n.char?.value()??this._plotStyleInfo.char),height:r,vertOffset:l,color:a,visibleItemsRange:{startItemIndex:e,endItemIndex:t}},c=this._plotStyleInfo.text;if(void 0!==c&&""!==c.trim()){let e=c.replace(/\\n/gm,"\n");e=(0,le.cleanButAmpersand)(e,!0),h.text=e,h.fontSize=12;const t=n.textColor?n.textColor.value():void 0;h.textColor=t?(0,I.generateColor)(t,s):a}this._charRenderer.setData(h);const u=new te.CompositeRenderer;u.append(this._charRenderer),this._model.selection().isSelected(this._study)&&this._isMarkersEnabled&&null!==this._selectionData&&(this._selectionData.vertOffset=l,u.append(new he.SelectionRenderer(this._selectionData))),this._renderer=u}}var qe=s(24377);class Je{constructor(e,t,s,i,r){this.left=NaN,this.right=NaN,this.height=NaN,this.center=e,this.y=t,this.origHeight=s,this.isUp=i,this.origPrices=r,this.timePointIndex=e,this.style={}}}function Ze(e){return Math.round(e/4)}function Qe(e){return Math.round(e/2)}class et extends se.BitmapCoordinatesPaneRenderer{constructor(e){super(),this._data=e}hitTest(e){const t=this._data,s=Qe(t.barSpacing),i=Math.round(s/2),r=Math.round(s),n=Ze(t.barSpacing),o=t.visibleItemsRange?.startItemIndex??0,a=t.visibleItemsRange?.endItemIndex??t.items.length;if(o>=a)return null;for(const s of t.items.slice(o,a)){if(!s)continue;if(!Number.isFinite(s.center)||!Number.isFinite(s.y))continue;const t=Math.abs(s.height),o=s.isUp?-1:1,a=t+r,l=s.y-o*n,h=l-o*a,c=s.center-i,u=s.center+i;if(c<e.x&&e.x<u&&(s.isUp?l<e.y&&e.y<h:h<e.y&&e.y<l))return new ve.HitTestResult(ve.HitTarget.Regular)}return null}_drawImpl(e){const{horizontalPixelRatio:t,verticalPixelRatio:s,context:i}=e,r=this._data,n=Qe(r.barSpacing),o=Ze(r.barSpacing),a=n<4,l=Math.max(n/2,1),h=(0,ue.ceiledEven)(n*t),c=h/2,u=Math.round(n*s);i.lineCap="butt",i.lineWidth=Math.max(1,Math.floor(t));const d=i.lineWidth%2?.5:0,p=r.visibleItemsRange?.startItemIndex??0,_=r.visibleItemsRange?.endItemIndex??r.items.length;if(!(p>=_))for(const e of r.items.slice(p,_)){if(!Number.isFinite(e.center)||!Number.isFinite(e.y))continue;const n=e.isUp?-1:1,p=Math.round(Math.abs(e.height)*s),_=Math.round(e.center*t)+d,f=Math.round((e.y-n*o)*s)+d;i.beginPath(),i.translate(_,f);const m=(e.style&&e.style.color)??(e.isUp?r.colorup:r.colordown);a?(i.moveTo(0,0),i.lineTo(-c,-c*n),i.moveTo(0,0),i.lineTo(c,-c*n),i.moveTo(0,0),i.lineTo(0,-p*n),i.moveTo(-c,-p*n),i.lineTo(c,-p*n),i.lineWidth=l,i.strokeStyle=m,i.stroke()):(i.moveTo(0,0),p<u?(i.lineTo(h,-p*n),i.lineTo(-h,-p*n)):(i.lineTo(h,-u*n),i.lineTo(c,-u*n),i.lineTo(c,-p*n),i.lineTo(-c,-p*n),
|
||||||
|
i.lineTo(-c,-u*n),i.lineTo(-h,-u*n)),i.lineTo(0,0),i.strokeStyle=e.isUp?r.colorBorderUp:r.colorBorderDown,i.stroke(),i.fillStyle=m,i.fill()),i.translate(-_,-f)}}}class tt extends We{_updateRenderer(e,t){const s=this._study.properties().childs().styles.childs()[this._plotName].childs(),i=(0,ue.clamp)(this._getTranspValue(),0,100),r=this._model.timeScale().barSpacing(),n=(0,I.generateColor)(s.colorup.value(),i),o=(0,I.generateColor)(s.colordown.value(),i),a=(0,qe.parseRgba)(n),l=a?100*(1-a[3]):0,h=(0,qe.parseRgba)(o),c=h?100*(1-h[3]):0,u={items:this._items,barSpacing:r,colorup:n,colordown:o,colorBorderUp:(0,I.generateColor)("#000000",l),colorBorderDown:(0,I.generateColor)("#000000",c),minHeight:this._plotStyleInfo.minHeight,visibleItemsRange:{startItemIndex:e,endItemIndex:t}};this._updateItemsHeights(u);const d=new te.CompositeRenderer;d.append(new et(u)),this._model.selection().isSelected(this._study)&&null!==this._selectionData&&d.append(new he.SelectionRenderer({...this._selectionData,barSpacing:r,withOutline:!1})),this._renderer=d}_fillItemWithPointStyle(e,t,s){const i=(0,p.ensureDefined)(e.style);e.isUp?void 0!==t.colors[5]?i.color=(0,I.generateColor)((0,p.ensureDefined)(t.colors[5]),s):i.color=(0,I.generateColor)(this._study.properties().childs().styles.childs()[this._plotName].childs().colorup.value(),s):void 0!==t.colors[6]?i.color=(0,I.generateColor)((0,p.ensureDefined)(t.colors[6]),s):i.color=(0,I.generateColor)(this._study.properties().childs().styles.childs()[this._plotName].childs().colordown.value(),s)}_getValueForUpdating(e){const t=e.value[this._plotIndex+1];if(!t)return null;const s=e.index,i=t>0,{hiPlot:r,loPlot:n}=this._hiLoPlots(),o=this._study.offset(this._plotName),a=Math.min(s+o,(0,p.ensureNotNull)(this._series.data().last()).index);if(i){const e=this._getSeriesVal(n,a);if(null!==e)return e}else{const e=this._getSeriesVal(r,a);if(null!==e)return e}return null}_updateItem(e,t){const s=this._getValueForUpdating(e),i=e.value[this._plotIndex+1]>0;return this._items[t].origPrices.price=s??NaN,this._items[t].isUp=i,t+1}_createItem(e,t,s,i,r){const n={center:NaN,y:NaN,origPrices:{price:NaN,timePointIndex:NaN},origHeight:NaN,timePointIndex:e+r};if(!t)return n;const o=Math.min(e+r,(0,p.ensureNotNull)(this._series.data().last()).index),a=t>0;let l;if(a){const e=this._getSeriesVal(i,o);if(null===e)return n;l=e}else{const e=this._getSeriesVal(s,o);if(null===e)return n;l=e}return new Je(e+r,l,t,a,{price:l,timePointIndex:e+r})}_dependsOnSeriesData(){return!0}_convertItemsToCoordinates(e,t,s,i){this._convertItemsToCoordinatesImpl(e,t,s,i)}_createSelectionDataPoint(e,t,s,i){const r=this._model.timeScale().barSpacing(),n=Ze(r),o=function(e){return Qe(e)}(r),a=super._createSelectionDataPoint(e,t,s,i),l=this._items[(0,y.lowerbound)(this._items,t,((e,t)=>e.timePointIndex<t))];if(!l)return a;const h=l.isUp?1:-1;return{...a,point:a.point.add((0,fe.point)(0,h*(n+o)))}}_updateItemsHeights(e){const t=this._study.properties().childs().styles.childs();let s=Math.abs((0,
|
||||||
|
p.ensureDefined)(t[this._plotName].childs().minHeight?.value()??this._plotStyleInfo.minHeight)),i=Math.abs((0,p.ensureDefined)(t[this._plotName].childs().maxHeight?.value()??this._plotStyleInfo.maxHeight));if(s>i){const e=s;s=i,i=e}const r=this._items,n=e.visibleItemsRange?.startItemIndex??0,o=(e.visibleItemsRange?.endItemIndex??r.length)-1;let a=0;for(let e=n;e<=o;e++){const t=r[e],s=Math.abs(t.origHeight);s>a&&(a=s)}const l=(i-s)/a;for(let e=n;e<=o;e++){const t=r[e],i=Math.abs(t.origHeight);t.height=i*l+s}}}var st=s(64138);class it extends ne.StudyForceOverlayPlotView{constructor(e,t,s,i){super(t,s,i),this._bars=[],this._invalidated=!1,this._isMarkersEnabled=ee.enabled("source_selection_markers"),this._selectionData=null,this._ohlcPlotIndexes=new Map,this._study=e,this._isMarkersEnabled=ee.enabled("source_selection_markers"),this._colorProvider=(0,re.createStudyPlotColorProvider)(e.metaInfo(),e.properties(),i),this._selectionIndexer=new de.SelectionIndexes(s.timeScale());const r=this._study.metaInfo().plots;for(let e=0;e<r.length;e++){const t=r[e];"target"in t&&(t.target===this._plotName&&((0,L.isOhlcOpenPlot)(t)&&this._ohlcPlotIndexes.set(1,e),(0,L.isOhlcHighPlot)(t)&&this._ohlcPlotIndexes.set(2,e),(0,L.isOhlcLowPlot)(t)&&this._ohlcPlotIndexes.set(3,e),(0,L.isOhlcClosePlot)(t)&&this._ohlcPlotIndexes.set(4,e)))}}update(e){"hover-change"!==e.type&&(this._invalidated=!0)}items(){return this._bars}_updateImpl(){this._bars.length=0;const e=this._priceScale();if(this._model.timeScale().isEmpty()||null===e||e.isEmpty())return;const t=this._model.timeScale().visibleBarsStrictRange();if(null===t)return;let s=this._series.nearestIndex(t.firstBar(),O.PlotRowSearchMode.NearestRight);const i=this._series.nearestIndex(t.lastBar(),O.PlotRowSearchMode.NearestLeft);if(void 0===s||void 0===i)return;const r=this._study.getMinFirstBarIndexForPlot(this._plotName);if(r>i)return;s=Math.max(r,s);const n=this._study.data(),o=this._study.firstValue(void 0,this.isForceOverlay());if(null===o)return;const a=n.rangeIterator(s,i),l=(0,p.ensureDefined)(this._study.properties().childs().ohlcPlots).childs()[this._plotName].childs(),h=new Map,c=(e,t)=>{const s=e+"@"+t;if(!h.has(s)){const i=(0,I.generateColor)(e,t);return h.set(s,i),i}return h.get(s)},u=(0,_e.createEmptyStyle)();for(const e of a){let t=e.index;const s=e.value;t=Math.floor(t);let i=!0;const r=new Map;for(let e=1;e<=4;++e){const t=this._ohlcPlotIndexes.get(e);if(void 0===t){i=!1;break}const n=s[t+1];if(null==n){i=!1;break}r.set(e,n)}if(!i)continue;const n=(0,p.ensureDefined)(r.get(1)),o=(0,p.ensureDefined)(r.get(4)),a=(0,p.ensureDefined)(r.get(2)),h=(0,p.ensureDefined)(r.get(3)),d=Math.max(n,a,h,o),_=Math.min(n,a,h,o);let f=(0,p.ensureDefined)(c(l.color.value(),0));const m=this._colorProvider.getPlotPointStyle(s,u);void 0!==m.colors[0]&&(f=(0,p.ensureDefined)(m.colors[0]));const y={open:n,high:d,low:_,close:o,color:f,wickColor:m.colors[4],borderColor:m.colors[3],hollow:null,center:NaN,left:NaN,right:NaN,timePointIndex:Math.round(t)};this._bars.push(y)}
|
||||||
|
if(e.barPricesToCoordinates(this._bars,o),this._model.timeScale().fillBarBorders(this._bars),this._model.selection().isSelected(this._study)){const t=this._selectionIndexer.indexes();this._selectionData={points:[],hittestResult:ve.HitTarget.Regular,bgColors:[],visible:!0,barSpacing:this._model.timeScale().barSpacing()};const s=(0,p.ensureNotNull)(this._model.paneForSource(this._study)).height(),i=(0,p.ensureDefined)(this._ohlcPlotIndexes.get(4));for(let r=0;r<t.length;r++){const n=t[r],a=this._study.data().valueAt(n);if(null===a)continue;const l=a[i+1];if(null==l)continue;const h=this._model.timeScale().indexToCoordinate(Math.floor(n)),c=e.priceToCoordinate(l,o);this._selectionData.points.push({point:new fe.Point(h,c)}),this._selectionData.bgColors.push(this._model.backgroundColorAtYPercentFromTop(c/s))}}else this._selectionIndexer.clear()}_isOHLCPlotVisible(){return this._study.isPlotVisibleAt(this._plotName,1)}}class rt extends it{renderer(){if(!this._isOHLCPlotVisible())return null;this._invalidated&&(this._updateImpl(),this._invalidated=!1);const e={bars:this._bars,dontDrawOpen:this._series.properties().childs().barStyle.childs().dontDrawOpen.value(),thinBars:this._series.properties().childs().barStyle.childs().thinBars.value()},t=new te.CompositeRenderer;return t.append(new st.PaneRendererBars(e)),this._model.selection().isSelected(this._study)&&this._isMarkersEnabled&&this._selectionData&&t.append(new he.SelectionRenderer(this._selectionData)),t}}var nt=s(48227);class ot extends it{renderer(){if(!this._isOHLCPlotVisible())return null;const e=this._priceScale();if(!e||e.isEmpty())return null;this._invalidated&&(this._updateImpl(),this._invalidated=!1);const t=(0,p.ensureDefined)(this._study.properties().childs().ohlcPlots).childs()[this._plotName].childs(),s=this._model.timeScale().barSpacing(),i={bars:this._bars,barSpacing:s,wickVisible:t.drawWick.value(),bodyVisible:!0,borderVisible:t.drawBorder.value(),barWidth:(0,$e.optimalBarWidth)(s),borderColor:t.borderColor.value(),wickColor:t.wickColor.value(),isPriceScaleInverted:e.isInverted()},r=new te.CompositeRenderer;return r.append(new nt.PaneRendererCandles(i)),this._model.selection().isSelected(this._study)&&this._isMarkersEnabled&&this._selectionData&&r.append(new he.SelectionRenderer(this._selectionData)),r}}var at=s(69555),lt=s(96025),ht=s(40738),ct=s(69558);class ut extends ht.HorizontalLinePaneView{constructor(e,t){super(),this._lineRendererData.linestyle=ct.LINESTYLE_DOTTED,this._study=e,this._plotName=t}_updateImpl(){this._lineRendererData.visible=!1;const e=this._study.properties().childs().styles.childs()[this._plotName].childs();if(!e.trackPrice.value()||!this._study.isPlotVisibleAt(this._plotName,1))return;const t=this._study.lastValueData(this._plotName,!0);t.noData||(this._lineRendererData.visible=!0,this._lineRendererData.y=t.coordinate,this._lineRendererData.color=t.color,this._lineRendererData.linewidth=e.linewidth.value())}}var dt=s(5605),pt=s(13560),_t=s(18348);const ft={type:0,color:"transparent"}
|
||||||
|
;class mt extends _t.AbstractFilledAreaPaneView{constructor(e,t,s,i){super(e,t,s),this._palettesInfo={},this._gradientPropsStateCache=null,this._rgbaFromInteger=(0,pt.rgbaFromIntegerCached)();const r=this._source.metaInfo();this._isRGB=Boolean(r.isRGB),this._isHlineFill="hline_hline"===s.type,(0,p.assert)(this._isHlineFill||"plot_plot"===s.type,"Wrong filledArea type: "+s.type),this._isHlineFill&&this._initBandIndexes(s.objAId,s.objBId),this._fillMetaInfo=s,this._fillStyleProps=i,this._gradientFillType=i.hasChild("fillType")&&"gradient"===i.childs().fillType?.value(),this._gradientStaticState={color1:s.topColor,color2:s.bottomColor,value1:s.topValue,value2:s.bottomValue},this._hasAllGradientRequiredProps=this._gradientFillType&&(void 0!==this._gradientStaticState.color1||i.hasChild("topColor")||void 0!==this._gradientStaticState.color2||i.hasChild("bottomColor"))&&(void 0!==this._gradientStaticState.value1||i.hasChild("topValue"))&&(void 0!==this._gradientStaticState.value2||i.hasChild("bottomValue"));const n=()=>this._colorPlotIndex=this._colorPlotIndex??{type:1};for(let t=0;t<r.plots.length;++t){const i=r.plots[t];if(((0,L.isColorerPlot)(i)||(0,L.isDataPlot)(i))&&i.target===s.id){if((0,L.isColorerPlot)(i)){let s;void 0!==i.targetField?"topColor"===i.targetField?(n().colorIndexOrRgba1=t,s="color1"):"bottomColor"===i.targetField&&(n().colorIndexOrRgba2=t,s="color2"):this._colorPlotIndex={type:0,colorIndexOrRgba:t},(0,L.isPaletteColorerPlot)(i)&&(this._palettesInfo[s??"color"]={map:(0,p.ensureDefined)((0,p.ensureDefined)(r.palettes)[i.palette]?.valToIndex),values:e.properties().palettes[i.palette].colors})}else(0,L.isDataPlot)(i)&&("topValue"===i.targetField?n().valueIndex1=t:"bottomValue"===i.targetField&&(n().valueIndex2=t));if(0===this._colorPlotIndex?.type)break}}}update(e){super.update(e),this._gradientPropsStateCache=null}isForceOverlay(){return!!this._source.metaInfo().isPlotForceOverlay(this._plotAId())}_firstValue(){const e=this.isForceOverlay();return this._source.firstValue(void 0,e)}_minFirstBarIndex(){return this._source.getMinFirstBarIndexForPlot(this._fillMetaInfo.id)}_getColorByPlotValue(e){if(0===e.type){let t;if(null==e.colorIndexOrRgba)return null;if(this._isRGB)t=this._rgbaFromInteger(e.colorIndexOrRgba);else{const s=(0,p.ensureDefined)(this._palettesInfo.color),i=(0,p.ensureDefined)(s.map[e.colorIndexOrRgba]);t=s.values[i]?.childs().color.value()}return{type:0,color:t}}const t=this._gradientColorPropsState();let s,i;if(this._isRGB)null!=e.colorIndexOrRgba1&&(s=this._rgbaFromInteger(e.colorIndexOrRgba1)),null!=e.colorIndexOrRgba2&&(i=this._rgbaFromInteger(e.colorIndexOrRgba2));else{if(null!=e.colorIndexOrRgba1){const t=(0,p.ensureDefined)(this._palettesInfo.color1);s=t.values[(0,p.ensureDefined)(t.map[e.colorIndexOrRgba1])].childs().color.value()}if(null!=e.colorIndexOrRgba2){const t=(0,p.ensureDefined)(this._palettesInfo.color2);i=t.values[(0,p.ensureDefined)(t.map[e.colorIndexOrRgba2])].childs().color.value()}}const r=e.value1??t.value1,n=e.value2??t.value2;return s=s??t.color1,i=i??t.color2,
|
||||||
|
void 0===r||void 0===n||void 0===s&&void 0===i?null:{type:1,color1:s,color2:i,value1:r,value2:n,coordinate1:NaN,coordinate2:NaN}}_plotAId(){return this._fillMetaInfo.objAId}_plotBId(){return this._fillMetaInfo.objBId}_commonColor(){const e=this._fillStyleProps.childs();if(this._gradientFillType){if(!this._hasAllGradientRequiredProps)return ft;const e=this._gradientColorPropsState();return{type:1,color1:e.color1,color2:e.color2,value1:e.value1,value2:e.value2,coordinate1:NaN,coordinate2:NaN}}return{type:0,color:e.color.value()}}_transparency(){return this._fillStyleProps.childs().transparency?.value()??0}_visible(){return this._fillStyleProps.childs().visible.value()}_priceScale(){return this.isForceOverlay()?this._model.mainSeries().priceScale():this._source.priceScale()}_initBandIndexes(e,t){this._bandAKey=null,this._bandBKey=null;const s=this._source.metaInfo().bands;if(void 0!==s)for(let i=0;i<s.length;++i){const r=s[i];null!==this._bandAKey||r.id!==e?null===this._bandBKey&&r.id===t&&(this._bandBKey=i):this._bandAKey=i}}_gradientColorPropsState(){if(null===this._gradientPropsStateCache){const e=this._fillStyleProps.state();this._gradientPropsStateCache={color1:this._gradientStaticState.color1??e.topColor,color2:this._gradientStaticState.color2??e.bottomColor,value1:this._gradientStaticState.value1??e.topValue,value2:this._gradientStaticState.value2??e.bottomValue}}return this._gradientPropsStateCache}}var yt=s(13212),gt=s(27909),vt=s(94119);class St{constructor(e,t){this._invalidated=!0,this._lineRenderer=new vt.HorizontalLineRenderer,this._source=t,this._points=[new fe.Point(-1,-1)],this._invalidated=!0,this._properties=e}update(e){"hover-change"!==e.type&&(this._invalidated=!0)}renderer(){this._invalidated&&(this._updateImpl(),this._invalidated=!1);const e={y:this._points[0].y,color:this._properties.childs().color.value(),linewidth:this._properties.childs().linewidth.value(),linestyle:this._properties.childs().linestyle.value()};return this._lineRenderer.setData(e),this._lineRenderer}_updateImpl(){const e=this._source.priceScale();if(!e||e.isEmpty())return void(this._points[0]=new fe.Point(-1,-1));const t=this._properties.childs().value.value(),s=this._source.firstValue(),i=(0,_.isNumber)(t)&&null!==s?e.priceToCoordinate(t,s):NaN;this._points[0]=new fe.Point(-1,i)}}var bt=s(20820);class Pt extends bt.MediaCoordinatesPaneRenderer{constructor(){super(),this._data=null,this._data=null}setData(e=null){this._data=e}hitTest(){return null}_drawImpl(e){if(null===this._data||0===this._data.points.length)return;const t=e.context,s=e.mediaSize.width;if(this._data.gradient){const e=t.createLinearGradient(0,this._data.coordinate1,0,this._data.coordinate2);e.addColorStop(0,this._data.backColor1??"transparent"),e.addColorStop(1,this._data.backColor2??"transparent"),t.fillStyle=e}else t.fillStyle=this._data.backcolor;const i=Math.min(this._data.points[0],this._data.points[1]),r=Math.max(this._data.points[0],this._data.points[1]);t.fillRect(0,i,s,r-i)}}class wt{constructor(e){this._bandBgRenderer=new Pt,this._invalidated=!0,
|
||||||
|
this._source=e}update(e){"hover-change"!==e.type&&(this._invalidated=!0)}renderer(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._bandBgRenderer}_updateImpl(){this._bandBgRenderer.setData(null);const e=this._source.properties().childs(),t=e.bands;if(t.childCount()<2)return;const s=e.bandsBackground;if(!s?.childs().fillBackground.value())return;const i=t[0].childs(),r=t[1].childs(),n=this._source.priceScale(),o=this._source.firstValue();if(!n||n.isEmpty()||null===o)return;const a=[n.priceToCoordinate(i.value.value(),o),n.priceToCoordinate(r.value.value(),o)],l=(0,p.ensureDefined)(e.bandsBackground).childs(),h=(0,ue.clamp)(l.transparency?.value()??0,0,100);this._bandBgRenderer.setData({gradient:!1,points:a,backcolor:(0,I.generateColor)(l.backgroundColor.value(),h)})}}class It{constructor(e,t,s){this._bandBgRenderer=new Pt,this._bandAKey=null,this._bandBKey=null,this._invalidated=!0,this._source=e,(0,p.assert)("hline_hline"===t.type,"Wrong filledArea type: "+t.type),this._initBandIndexes(t.objAId,t.objBId),this._fillStyleProps=s,this._bandBgRenderer=new Pt,this._gradientFillType=s.hasChild("fillType")&&"gradient"===s.childs().fillType?.value(),this._gradientStaticState={color1:t.topColor,color2:t.bottomColor,value1:t.topValue,value2:t.bottomValue}}update(){this._invalidated=!0}renderer(){return this._invalidated&&(this._updateImpl(),this._invalidated=!1),this._bandBgRenderer}_updateImpl(){if(this._bandBgRenderer.setData(null),!this._fillStyleProps.childs().visible.value())return;if(null===this._bandAKey||null===this._bandBKey)return;const e=(0,p.ensureDefined)(this._source.properties().childs().bands),t=e.childs()[this._bandAKey].childs(),s=e.childs()[this._bandBKey].childs(),i=this._source.priceScale(),r=this._source.firstValue();if(!i||i.isEmpty()||null===r)return;const n=[i.priceToCoordinate(t.value.value(),r),i.priceToCoordinate(s.value.value(),r)],o=(0,ue.clamp)(this._fillStyleProps.childs().transparency?.value()??0,0,100);let a;const l=this._fillStyleProps.childs();if(this._gradientFillType){const e=this._gradientStaticState,t=l,s=e.value1??t.topValue?.value(),h=e.value2??t.bottomValue?.value();if(void 0===s||void 0===h)return;const c=e.color1??t.topColor?.value(),u=e.color2??t.bottomColor?.value();if(void 0===c&&void 0===u)return;a={gradient:!0,points:n,backColor1:c&&(0,I.generateColor)(c,o),backColor2:u&&(0,I.generateColor)(u,o),coordinate1:i.priceToCoordinate(s,r),coordinate2:i.priceToCoordinate(h,r)}}else a={gradient:!1,points:n,backcolor:(0,I.generateColor)(l.color.value(),o)};this._bandBgRenderer.setData(a)}_initBandIndexes(e,t){this._bandAKey=null,this._bandBKey=null;(0,p.ensureDefined)(this._source.metaInfo().bands).forEach(((s,i)=>{null===this._bandAKey&&s.id===e&&(this._bandAKey=i),null===this._bandBKey&&s.id===t&&(this._bandBKey=i)}))}}var xt=s(86252),Ct=s(81922),Vt=s(51304),Mt=s(48943),Tt=s(95059),At=s(91106),Rt=s(63670),Ot=s(30693),Dt=s(28477);class Bt extends Dt.AbstractBarColorer{constructor(e,t){super(),this._rgbaFromInteger=(0,pt.rgbaFromIntegerCached)(),this._study=e,
|
||||||
|
this._plotIndex=t}applyBarStyle(e,t,s,i){if(t)return s;const r=this._study.properties().childs();if(!r.visible.value())return s;const n=this._study.metaInfo(),o=this._study.data();if(!o||0===o.size())return s;const a=n.plots[this._plotIndex],l=this._getOffset();if(this._study.getMinFirstBarIndexForPlot(a.id)>e+l)return s;if(0===r.styles.childs()[a.id].childs().display.value())return s;const h=o.valueAt(e-l);if(null===h)return s;let c=h[this._plotIndex+1];if(null==c)return s;if(c=Math.round(c),n.isRGB)s.barColor=this._rgbaFromInteger(c),s.upColor=s.barColor,s.downColor=s.barColor;else{const e=n.plots[this._plotIndex];if("palette"in e){const t=e.palette,i=r.palettes.childs()[t],o=(0,p.ensureDefined)(n.palettes?.[t]),a=o.valToIndex?(0,p.ensureDefined)(o.valToIndex[c]):c,l=i.childs().colors.childs()[a].childs().color.value();s.barColor=l,s.upColor=l,s.downColor=l}}return s}firstColoredBar(e){let t=e;for(const s of this._backColorers)t=Math.min(t,s.firstColoredBar(e)??1/0);const s=this._getOffset();t=Math.min(t,e+s);const i=this._getBars().firstIndex(),r=Math.max(t,i??-1/0),n=this._study.metaInfo().plots[this._plotIndex];return Math.max(this._study.getMinFirstBarIndexForPlot(n.id),r)}_getBars(){return this._study.series().bars()}_getOffset(){const e=this._study.metaInfo().plots[this._plotIndex];return this._study.offset(e.id)}}var Nt=s(76422),Ft=s(67563),kt=s(64717);class Et extends at.PanePriceAxisView{constructor(e,t,s,i){super(e,t,s),this._dataSource=t,this._isForceOverlay=t.metaInfo().isPlotForceOverlay(i)}_position(){const e=this._isForceOverlay?this._chartModel.mainPane():this._chartModel.paneForSource(this._dataSource);if(null===e)return null;const t=this._isForceOverlay?this._chartModel.mainSeries().priceScale():this._dataSource.priceScale();if(null===t)return null;let s=e.priceScalePosition(t);return"overlay"===s&&(s=e.priceScalePosition(e.defaultPriceScale())),"overlay"===s?null:s}}var Lt=s(56265);class Ht{constructor(e,t){this._study=e,this._valuesProvider=new F.StudyValuesProvider(e,t,!1,!1)}getItems(){const e=this._study.properties().childs(),t=this._valuesProvider.getItems();for(const s of t){const t=s.id,i=(0,p.ensureDefined)(e.styles.childs()[t]).childs().display.value();s.visible=0!==i}return t}getValues(e){const t=this._valuesProvider.getValues(e),s=this._study.plots().lastIndex(),i=this._study.plots().firstIndex();if(null===s||null===i)return null;for(const r of t){const t=e-this._study.offset(r.id);(t>s||t<i)&&(r.value="")}return t}}var Wt=s(76559),zt=s(72207),Ut=s(3618),jt=s(35727);const Gt=(0,f.getLogger)("Chart.Study"),$t=m.t(null,void 0,s(52969)),Kt=!1;var Yt,Xt;function qt(){return{fields:[],useMainSeriesRange:!1,baseValueMinMax:null}}!function(e){e.PaneViews="study-pane-views"}(Yt||(Yt={})),function(e){e[e.DefaultPriceScale=100]="DefaultPriceScale"}(Xt||(Xt={}));const Jt={symbolsForDisplay:!1,symbolsForChartApi:!0,skipHiddenInputs:!1,skipFakeInputs:!1,skipBooleanInputs:ee.enabled("dont_show_boolean_study_arguments"),asObject:!0,skippedGroups:[],skippedInputs:[],noExchanges:!1,noResolution:!1,
|
||||||
|
keepOptionalSymbolsEmpty:!1,skipColorInputs:!1,skipTimeInputs:!1,skipOptionalEmptySymbolInputs:!1,skipTextareaInputs:!1,priceInputsForDisplay:!1},Zt=ee.enabled("study_symbol_ticker_description"),Qt=ee.enabled("hide_main_series_symbol_from_indicator_legend"),es=ee.enabled("datasource_copypaste"),ts=ee.enabled("hide_unresolved_symbols_in_legend");function ss(e,t){const s=e.plots[t];if(!s||!(0,L.isOhlcPlot)(s))return!1;const i=s.target,r=e.defaults.styles&&e.defaults.styles[i],n=e.defaults.ohlcPlots&&e.defaults.ohlcPlots[i],o=e.ohlcPlots&&e.ohlcPlots[i];return r&&(0,L.isOhlcPlotStyleBars)(r)||n&&(0,L.isOhlcPlotStyleBars)(n)||!!o&&(0,L.isOhlcPlotStyleBars)(o)}function is(e,t){const s=e.plots[t];if(!s||!(0,L.isOhlcPlot)(s))return!1;const i=s.target,r=e.defaults.styles&&e.defaults.styles[i],n=e.defaults.ohlcPlots&&e.defaults.ohlcPlots[i],o=e.ohlcPlots&&e.ohlcPlots[i];return r&&(0,L.isOhlcPlotStyleCandles)(r)||n&&(0,L.isOhlcPlotStyleCandles)(n)||!!o&&(0,L.isOhlcPlotStyleCandles)(o)}function rs(e,t){(0,p.assert)(void 0!==e,"zOrder must be defined"),(0,p.assert)(!t.has(e),"zOrder must be unique")}function ns(e,t){return e.plots.some((e=>((0,L.isColorerPlot)(e)||(0,L.isDataPlot)(e))&&e.target===t))}function os(e,t,s){let i=0,r=0;return Math.sign(r)-Math.sign(i)}function as(e){const t=(0,Mt.combine)((e=>e.map((e=>as(e.parentSourcesVW().weakReference())))),e);return(0,Mt.accumulate)(((e,t)=>Array.from(new Set(t.concat(e.flat(20))))),t.ownership(),e).ownership()}function ls(e){return"inherit"===e.type&&(e.type="price"),e}function hs(e,t,s,i){{const t=(0,_.isNumber)(i)?i:void 0,r=jt.customFormatters?.studyFormatterFactory?.(e,s,t)??null;if(null!==r)return r}if(null!==t)switch(e.type){case"inherit":case"price":return new Ft.PriceFormatter({priceScale:t});case"volume":return(0,Lt.getVolumeFormatter)(Math.log10(t));case"percent":return(0,Lt.getPercentageFormatter)(Math.log10(t))}if("inherit"===e.type)return null;const r=(0,_.isNumber)(e.precision)?Math.pow(10,e.precision):void 0;switch(e.type){case"price":return new Ft.PriceFormatter({priceScale:r});case"volume":{let t=e.precision;return void 0===t&&(t=s&&(0,_.isNumber)(s.volume_precision)?s.volume_precision:0),(0,Lt.getVolumeFormatter)(t)}case"percent":return(0,Lt.getPercentageFormatter)(void 0===r?void 0:Math.log10(r));default:return Gt.logWarn(`Unsupported format type: ${e.type}`),null}}const cs=new Set(["first_visible_bar_time","last_visible_bar_time","subscribeRealtime"]);class us extends V.PriceDataSource{constructor(e,t,s,i,r,n,o){super(e),this._onStart=new w.Delegate,this._restarting=!1,this._paneViews=[],this._forceOverlaysPaneViews=[],this._legendView=null,this._floatingTooltipView=null,this._priceAxisViews=[],this._forceOverlayPriceAxisViews=[],this._priceAxisViewsBase=[],this._resolvedSymbols={},this._resolvedSymbolsByInput={},this._priceLinesAxisViews=[],this._labelPaneViews=[],this._forceOverlayLabelPaneViews=[],this._ownFirstValue=null,this._formatter=null,this._defaultFormatter=null,this._dataUpdated=new w.Delegate,this._currencySourceSymbolInputProperty=null,
|
||||||
|
this._pineSourceCodeModel=null,this._alertSourceModel=null,this._onHibernationStateChange=new w.Delegate,this._symbolsResolved=new w.Delegate,this._statusChanged=new w.Delegate,this._inputsAnchorsPaneView=null,this._inputsLinesPaneView=null,this._inputsTimeAxisPaneViews=[],this._inputsPriceAxisPaneViews=[],this._sources=new P.WatchedObject([],y.compareTwoCollectionsByIds),this._status=new b.WatchedValue({type:xt.StudyStatusType.Undefined}),this._compileActiveStatus=new P.WatchedObject(null),this._compileErrorStatus=new P.WatchedObject(null),this._wasCompletedBefore=!1,this._isStarted=!1,this._isSubscribedToSessionId=!1,this._titleStrCache={},this._titleInPartsCache={},this._inputsInPartsCache={},this._children=[],this._graphicsPriceAxisViews=[],this._serverPlotOffsets=new P.WatchedObject({}),this._ongoingDataUpdate=Promise.resolve(),this._studyModified=!1,this._tagsChanged=new w.Delegate,this._turnaround="st0",this._pendingResolveSymbols=new Map,this._onIsActualIntervalChange=new w.Delegate,this._childStudyByRebind=new w.Delegate,this._lastNonEmptyPlotRowCache={},this._startMovingPoint=null,this._processHibernateBound=this.processHibernate.bind(this,1),this._maxOffset=new b.WatchedValue(0),this._currencySourceSymbolInfo=null,this._graphicsPriceRangeGroups=null,this._graphicsViewsReady=!1,this._visibleTimeRangeInputs=null,this._turnaroundCounter=0,this._deferredPinePatchProps=!1,this._propertiesPatched=Promise.resolve(),this._resetPropertiesPatched=Promise.resolve(),this._abortPatchPropsController=new AbortController,this._abortResetPatchPropsController=new AbortController,this._aboutToBeDestroyed=new w.Delegate,this._definitionsViewModel=null,this._plotFormatters=new Map,this._showPineVersionInStatusLine=new b.WatchedValue(!1).spawn(),this._onParentSourcesChanges=new w.Delegate,this._statusChangesSubscriber={},this._calculationTime=new b.WatchedValue(0),this._stateForAlertCache=null,this._idForAlertCache=null,this._idForAlertWV=new b.WatchedValue(""),this._chartApi=e.chartApi(),this._properties=t,this._originalMetaInfo=r,this._metaInfo=new b.WatchedValue(i),this._studyName=(0,Mt.combine)((e=>e.useVersionFromMetaInfo?(0,A.getStudyIdWithVersion)(e):this._getStudyIdWithLatestVersion()),this._metaInfo.weakReference()),this._hideMatches=i.inputs.filter((e=>e.hideWhenPlotsHidden)).map((e=>({id:e.id,plotIds:e.hideWhenPlotsHidden||[]}))),this._series=this._model.mainSeries(),this._series.onIntervalChanged().subscribe(this,this._calcIsActualInterval),this._series.alertCreationAvailable().subscribe(this._updateAlertCreationAvailable.bind(this)),this._showStudyArgumentsProperty=(0,X.combineProperty)(((e,t)=>e&&t),e.properties().childs().paneProperties.childs().legendProperties.childs().showStudyArguments.weakReference(),this._properties.childs().showLegendInputs.weakReference()),this._model.symbolAliasService()?.onAliasChanged().subscribe(this,(()=>{this._onFormatterPropsChanged(),this.invalidateTitleCache()})),e.collapsed().subscribe(this._processHibernateBound),this._sources.setValue(s),
|
||||||
|
A.StudyMetaInfo.setChildStudyMetaInfoPropertiesSourceId(i,s[0]?.id(),t),s.forEach((e=>{e.setChild(this)})),[this._series,...s].forEach((e=>{e.currencyChanged().subscribe(this,this._onSourceCurrencyChanged),e.unitChanged().subscribe(this,this._onSourceUnitChanged),e.priceRangeReadyChanged().subscribe(this,this._onSourcePriceRangeReadyChanged),e.formatterChanged().subscribe(this,this._onSourceFormatterChanged),e.priceStepChanged().subscribe(this,this._onSourcePriceStepChanged)})),Zt&&this._model.mainSeries().properties().childs().statusViewStyle.childs().symbolTextSource.subscribe(this,(()=>{this.invalidateTitleCache(!0)}));const a=this._properties.childs();for(const e of A.StudyMetaInfo.getSourceInputIds(i))a.inputs.childs()[e]?.subscribe(this,this._onSourceInputChanged);this._plotOffsets=(0,Mt.combine)(((e,t,s,i)=>(i.plots??[]).reduce(((i,r)=>{const n=r.id,o=(e[n]??0)+(s?.childs()[n]?.childs().val.value()??0)+(t?.childs().val.value()??0);return i[n]=o,i}),{})),this._serverPlotOffsets.weakReference(),(0,X.createWVFromGetterAndSubscription)((()=>this.properties().childs().offset),this.properties().childs().offset??new w.Delegate).ownership(),(0,X.createWVFromGetterAndSubscription)((()=>this.properties().childs().offsets),this.properties().childs().offsets??new w.Delegate).ownership(),this._metaInfo.weakReference()),this._properties.subscribe(this,this._onPropertiesChanged),a.visible.subscribe(this,this._visibleChanged),a.visible.subscribe(this,(()=>this.processHibernate())),a.intervalsVisibilities.subscribe(this,this._calcIsActualInterval),a.inputs.subscribe(this,this._updateMaxOffsetValue),void 0!==a.offsets&&a.offsets.subscribe(this,this._updateMaxOffsetValue),void 0!==a.offset&&a.offset.subscribe(this,this._updateMaxOffsetValue),this._initializeCurrencySource(),W.hideAllIndicators().subscribe(this,this._visibleChanged);for(let e=0;e<i.plots.length;e++){const t=i.plots[e],s=t.id,r=a.styles.childs()[s],n=(0,L.isBarColorerPlot)(t);r&&!r.hasChild("display")&&r.merge({display:15}),r?.childs().display.subscribe(this,(()=>{this.processHibernate(),this.invalidateTitleCache(),n&&this._series.invalidateBarColorerCache()}))}for(const e of Object.keys(i.graphics))for(const t of Object.keys(i.graphics[e])){const s=a.graphics.childs()[e]?.childs()[t];s&&s.childs().visible&&(0,p.ensureDefined)(s.childs().visible).subscribe(this,(()=>this.processHibernate()))}this._isActualInterval=(0,Ct.isActualInterval)(this._series.intervalObj().value(),a.intervalsVisibilities),this._initializeStudyInputsPaneViews(),this._handler=e=>this._onData(e),this._valuesProvider=new F.StudyValuesProvider(this,e),this._tableViewValuesProvider=new Ht(this,e),this._graphics=new R.LiveStudyGraphics(i.graphics),this._chartApi=e.chartApi(),this._invalidateLastNonEmptyPlotRowCache(),this._data=new T.PlotList((0,kt.studyPlotFunctionMap)(i),kt.studyEmptyPlotValuePredicate),this._createViews(),this._recreatePriceFormattingDependencies(this._series.symbolInfo()),a.precision.subscribe(this,this._onFormatterPropsChanged),
|
||||||
|
this._metaInfo.subscribe((()=>this._onFormatterPropsChanged())),this._showStudyArgumentsProperty.subscribe(this,(()=>this.invalidateTitleCache(!0))),a.inputs.subscribe(this,(()=>this.invalidateTitleCache(!0))),ee.enabled("update_study_formatter_on_symbol_resolve")&&e.mainSeries().dataEvents().symbolResolved().subscribe(this,this._recreatePriceFormattingDependencies),e.mainSeries().dataEvents().symbolResolved().subscribe(this,(()=>this.invalidateTitleCache(!0)));const l=new Set;if(this._simplePlotsCount=i.plots.filter(((e,t)=>{if((0,L.isLinePlot)(e))return!0;if((0,L.isOhlcPlot)(e)){const t=e.target;return!l.has(t)&&(l.add(t),!0)}return!1})).length,this.hasBarColorer()&&a.visible.subscribe(this,(()=>e.mainSeries().invalidateBarStylesCache)),this._definitionsViewModel=null,this._updateMaxOffsetValue(),i.inputs.some((e=>cs.has(e.id)))){this._visibleTimeRangeInputs=e.visibleRangeStudiesInputs().spawn();const t=this._visibleTimeRangeInputs.value();let s=null!==t;this._visibleTimeRangeInputs.subscribe((e=>{const t=()=>{this._onVisibleTimeRangeInputsChanged(e),s!==(null!==e)&&(s=null!==e,!s||this._restarting||this.isStarted()||this.start(!0))};this._statusChanged.unsubscribeAll(this._statusChangesSubscriber),this._status.value().type===xt.StudyStatusType.Loading?this._statusChanged.subscribe(this._statusChangesSubscriber,t,!0):t()})),t&&this._updateVisibleTimeRangeInputs(t,!1)}this._properties.setNameInOwner((0,Wt.propertyPathForSource)(this)),o&&this._pinePatchProps();const h=as(this.parentSourcesVW().weakReference());this._allOwnerSources=(0,Mt.combine)(((e,t)=>{const s=[];for(;null!==t;)s.push(t),t=t.ownerSource();return s}),h,(0,X.createWVFromGetterAndSubscription)((()=>this.ownerSource()),this.ownerSourceChanged()).ownership()),this._symbolSource=(0,Mt.combine)((e=>this._firstSourceOrSeries().symbolSource()),this._allOwnerSources.weakReference())}destroy(){this._signlePerformanceValue?.destroy(),this._aboutToBeDestroyed.fire(),null!==this._definitionsViewModel&&(this._definitionsViewModel.destroy(),this._definitionsViewModel=null),this._showStudyArgumentsProperty.unsubscribeAll(this),this._model.mainSeries().dataEvents().symbolResolved().unsubscribeAll(this),this._model.symbolAliasService()?.onAliasChanged().unsubscribeAll(this);this.parentSources().forEach((e=>{e.currencyChanged().unsubscribeAll(this),e.unitChanged().unsubscribeAll(this),e.priceRangeReadyChanged().unsubscribeAll(this),e.formatterChanged().unsubscribeAll(this),e.priceStepChanged().unsubscribeAll(this)})),this._series.properties().childs().statusViewStyle.childs().symbolTextSource.unsubscribeAll(this),this._series.onIntervalChanged().unsubscribeAll(this),this._series.alertCreationAvailable().unsubscribe(this._updateAlertCreationAvailable),this.formatterChanged().unsubscribe(this,this.invalidateTitleCache),W.hideAllIndicators().unsubscribe(this,this._visibleChanged),this._model.collapsed().unsubscribe(this._processHibernateBound),null!==this._currencySourceSymbolInputProperty&&this._currencySourceSymbolInputProperty.unsubscribeAll(this),
|
||||||
|
this._legendView?.destroy(),this._floatingTooltipView?.destroy(),this._pineSourceCodeModel?.get()?.destroy(),this._visibleTimeRangeInputs?.destroy(),this._showPineVersionInStatusLine.destroy(),this._alertStateVersion?.destroy(),this._metaInfo.destroy(),this._studyName.destroy(),this._allOwnerSources.destroy(),this._sources.destroy(),this._symbolSource.destroy(),this._status.destroy(),this._compileActiveStatus.destroy(),this._compileErrorStatus.destroy(),this._plotOffsets.destroy(),this._serverPlotOffsets.destroy(),this._properties.destroy(),super.destroy()}setId(e){super.setId(e),this._properties.setNameInOwner((0,Wt.propertyPathForSource)(this))}properties(){return this._properties}propertiesPatched(){return this._propertiesPatched}isDraggable(){return!this._metaInfo.value().linkedToSeries}logs(){return null}logLevelMask(){const e=this._properties.childs().inputs.childs().__log_level.value();if(!(0,_.isNumber)(e)||e<0||e>7)throw new Error(`Value of log level is unexpected, current value is ${e}, but expected values from 0 to 7`);return{error:Boolean(1&e),warning:Boolean(2&e),info:Boolean(4&e)}}setLogLevelMask(e){const t=(Number(e.error)&&1)|(Number(e.warning)&&2)|(Number(e.info)&&4);this._properties.childs().inputs.childs().__log_level.setValue(t)}performance(){return new b.WatchedValue(null)}profilingEnabled(){return!!this._properties.childs().inputs.childs().__profile?.value()}enableProfiling(e){this._properties.childs().inputs.childs().__profile?.setValue(e)}onAboutToBeDestroyed(){return this._aboutToBeDestroyed}priceScale(e){return e?this._model.mainSeries().priceScale():super.priceScale()}lastValueData(e,t,s){const i={noData:!0},r=this.metaInfo().isPlotForceOverlay(e),n=r?this._model.mainSeries().priceScale():this.priceScale();if(this._model.timeScale().isEmpty()||null===n||n.isEmpty()||this.data().isEmpty())return i;const o=this._model.timeScale().visibleBarsStrictRange(),a=this.firstValue(!0,r);if(null===o||null===a)return i;if(!this._properties.childs().visible.value())return i;const l=this._properties.childs().styles,h=this._properties.childs().ohlcPlots;let c,u;if(l&&l.childs()[e]&&(c=l.childs()[e]),h&&h.childs()[e]&&(c=h.childs()[e]),!c||0===c.childs().display.value())return i;const d=this.metaInfo().plots;for(u=0;u<d.length;u++){const t=d[u];if(t.id===e||(0,L.isOhlcClosePlot)(t)&&t.target===e)break}const p=u+1,f=this.offset(e),m=this.nearestIndex(o.lastBar()-f,O.PlotRowSearchMode.NearestLeft,p);if(void 0===m)return i;const y=this._lastNonEmptyPlotRow(p),g=null!==y&&o.contains(y.index),v=null!==y?y.value:null,S=t||g?v:this.data().valueAt(m);if(!S||!(0,_.isNumber)(S[p]))return i;const b=S[p],P=this._valuesProvider.getPlotColor(u,S),w=n.priceToCoordinate(b,a),I=this.plotFormatter(e).format(b),x={...n.getFormattedValues(b,a,void 0,I),noData:!1,color:P,floatCoordinate:w,coordinate:w};return s&&(x.price=b),x}isFailed(){return this.status().type===xt.StudyStatusType.Error}isLoading(){return this.status().type===xt.StudyStatusType.Loading}isCompleted(){return this.status().type===xt.StudyStatusType.Completed}
|
||||||
|
isSymbolInvalid(){const e=this._status.value();return e.type===xt.StudyStatusType.Error&&e.errorDescription.error===$t}series(){return this._series}model(){return this._model}state(e,t){const s=(0,p.ensureNotNull)((0,g.getStudyClassName)(this.constructor)),i=this.metaInfo(),r={type:s,id:this.id(),state:this.properties().state(),zorder:this.zorder(),ownFirstValue:this.isVisible()?null:this._ownFirstValue,metaInfo:this._originalMetaInfo.state()},n=d(r.metaInfo,this._metaInfo.value().state());(0,o.default)(n)||(r.metaInfoPatch=n);const a=this._sources.value().map((e=>e.id()));if(a.length&&(r.parentSources=a),e){let e=this.data();const t=this._model.timeScale(),s=this._seriesDataRangeToSave(e);null!==s&&(e=e.range(s.firstBar(),s.lastBar())),r.data=e.state(),r.data.symbols=this._resolvedSymbols,r.data.graphics=(0,R.saveStudyGraphics)(this.graphics(),t.visibleBarsStrictRange()),r.data.plotOffsets=this._serverPlotOffsets.value()}this.ownerSource()&&(r.ownerSource=this.ownerSource()?.id());for(let e=0;e<i.inputs.length;e++)if("bar_time"===i.inputs[e].type){const t=i.inputs[e].id,s=r.state.inputs[t];if(s<0){const e=this._rightOffsetToUnixTime(-s);r.state.inputs[t]=e&&e>=0?e:0}}if(r.state?.inputs){const e=r.metaInfo.inputs.find((e=>"ILScript"===e.name));e&&delete r.state.inputs[e.id],delete r.state.inputs.__log_level,delete r.state.inputs.__profile}const l=this.stateCustomFields();return l&&(r.customFields=l),r}stateCustomFields(){const e=this._compileErrorStatus.value();if(e)return{compileErrorDescription:e.errorDescription}}restoreStateCustomFields(e){const t=e.compileErrorDescription;t&&this.setErrorCompilation([(0,p.ensureDefined)(t.editorError)])}restoreData(e){this._invalidateLastNonEmptyPlotRowCache(),this.data().restoreState(e),this._resolvedSymbols=e.symbols??{},this._graphics=e.graphics?(0,R.loadStudyGraphics)(e.graphics):(0,R.emptyStudyGraphics)(),this._postProcessGraphics(),this._serverPlotOffsets.setValue(e.plotOffsets??{}),this._setStatus({type:xt.StudyStatusType.Completed},!0)}hasStateForAlert(){return!1}stateForAlert(){throw new Error("Not implemented")}async stateForAlertAsync(){throw new Error("Not implemented")}idForAlert(){return super.idForAlert()}hasBarColorer(){return this._metaInfo.value().plots.some(L.isBarColorerPlot)}barColorer(){const e=this._metaInfo.value().plots;let t=null;for(let s=e.length-1;s>=0;s--)if((0,L.isBarColorerPlot)(e[s])){const e=new Bt(this,s);null===t?t=e:t.pushBackBarColorer(e)}return t}isSavedInStudyTemplates(){return this._metaInfo.value().inputs.every((e=>"bar_time"!==e.type))}restart(e){this._restarting=!0,this.clearData(),(e||ee.enabled("stop_study_on_restart"))&&this.stop(),setTimeout(this.start.bind(this),0)}stop(e,t){if(!0===e&&this._children)for(const e of this._children)e.stop(!0);this._stopStudyOnServer(),this.clearData(),this._unsubscribeToSessionId(),this.recalculate()}disconnect(){this._isStarted=!1,this._model.isSnapshot()||(this._resolvedSymbols={},this._resolvedSymbolsByInput={})}sourceId(){return this._id.value()}parentSources(){return this._sources.value()}
|
||||||
|
parentSourcesVW(){return this._sources}symbolSource(){return this._symbolSource.value()}symbolSourceWV(){return this._symbolSource.readonly()}valueAt(e,t){return this.symbolSource().valueAt(e,t)}barsProvider(){return this._firstSourceOrSeries().barsProvider()}ownerSource(){return this.isChildStudy()?this._sources.value()[0]:super.ownerSource()}isChildStudy(){return this._sources.value().length>0}hasChildren(){return this._children.length>0}isStarted(){return this._isStarted}isRestarting(){return this._restarting}isActualInterval(){return this._isActualInterval}onIsActualIntervalChange(){return this._onIsActualIntervalChange}isVisible(){const e=this._properties.childs();if(this._model.collapsed().value()||!e.visible.value()||!this.isActualInterval())return!1;const t=this.metaInfo();if(t.plots.length>0)for(let s=0;s<t.plots.length;s++){const i=t.plots[s].id,r=e.styles.childs()[i];if(void 0===r)continue;if(0!==r.childs().display.value())return!0}if(t.bands)for(let s=0;s<t.bands.length;s++)if(e.bands.childs()[s].childs().visible.value())return!0;for(const s of Object.keys(t.graphics))for(const i of Object.keys(t.graphics[s])){const t=e.graphics.childs()[s]?.childs()[i];if(void 0!==t&&(t.child("visible")?.value()??1))return!0}if(t.filledAreas)for(let s=0;s<t.filledAreas.length;s++)if(e.filledAreasStyle.childs()[t.filledAreas[s].id].childs().visible.value())return!0;return!1}async start(e,t,s){const i=this._model.mainSeries();await i.seriesCreated(),await Promise.all(this._sources.value().filter((e=>e.isHibernated())).map((e=>e.start())));const r=!(this.isHibernationAllowed()&&!this.isVisible())||!0===t;if(this._chartApi&&this._chartApi.isConnected().value()&&r)try{await this._allSymbolsAreResolved(),await this._startAfterSymbolsResolved(e,t)}catch(e){const t=`ERROR: ${this._debugId()} start failed, ${e}`;Gt.logError(t),this._restarting=!1,"TooManyStudies"===e?.cause&&(0,S.showTooManyStudiesNotice)(this._chartApi.getStudyCounter())}r||void 0!==this._inputs||(this._inputs=this._apiInputs())}replaceData(e,t,s){this._invalidateLastNonEmptyPlotRowCache(),this.data().remove(e+1),this.data().addTail(s,t)}inputs(e){const t=(0,n.default)((0,_.clone)(Jt),e||{});t.skipOptionalEmptySymbolInputs&&(t.keepOptionalSymbolsEmpty=!0);return this._buildInputs(t)}data(){return this._data}moveData(e){this._ongoingDataUpdate=this._ongoingDataUpdate.then((()=>{this._invalidateLastNonEmptyPlotRowCache(),this._moveData(e),this.data().isEmpty()||this._onIndexDiffsApplied(e)}))}plots(){return this.data()}metaInfo(){return this._metaInfo.value()}status(){return this._compileActiveStatus.value()??this._compileErrorStatus.value()??this._status.value()}name(e){return e?this.metaInfo().shortDescription||"Study":this.metaInfo().description||"Study"}title(e,t,s,i,r,n){i=void 0===i?!this._showStudyArgumentsProperty.value():i;const o=JSON.stringify([e,t,s,i,r,n]);if(this._titleStrCache[o])return this._titleStrCache[o];if(this._titleInPartsCache[o])return this._joinTitlesParts(this._titleInPartsCache[o]);const a=this._title(e,t,s,i,r,n)
|
||||||
|
;return this._titleStrCache[o]=a,a}titleInParts(e,t,s,i,r){i=void 0===i?!this._showStudyArgumentsProperty.value():i;const n=JSON.stringify([e,t,s,i,r]);if(this._titleInPartsCache[n])return this._titleInPartsCache[n];const o=this._titleInParts(e,t,s,i,r);return this._titleInPartsCache[n]=o,o}inputsInParts(e,t=!0,s,i,r){const n=!this._showStudyArgumentsProperty.value(),o=ee.enabled("always_show_study_symbol_input_values_in_legend"),a=n&&o;if(n&&!o&&e===Y.TitleDisplayTarget.StatusLine)return null;const l=JSON.stringify([e,t,s,i,r]);if(this._inputsInPartsCache[l])return this._inputsInPartsCache[l];const h=[],c=this.metaInfo(),u=this._titleInputs((0,zt.toInputDisplayFlags)(e),i,!0),d=c.inputs.filter((e=>u.hasOwnProperty(e.id)&&(!a||"symbol"===e.type))).map((e=>{let t=u[e.id];if("symbol"===e.type){const s=this._properties.childs().inputs.child(e.id)?.value();if(s){const e=this._resolvedSymbolsByInput[s];e&&(t=this._model.symbolAliasService()?.getAliasByProName(e.pro_name)?.aliasName??t)}}return{meta:e,value:t}})),f={};if(d.length>0){if(this.isChildStudy())for(let s=0;s<c.inputs.length;++s){const n=c.inputs[s];if(!A.StudyMetaInfo.isSourceInput(n))continue;const o=n.id,a=(0,p.ensureDefined)(this._properties.childs().inputs.child(o)).value();if(a.indexOf("$")>=0){const s=this.parentSourceForInput(a);if(s instanceof us){const n=s.metaInfo(),o=s.title(e,t,{},!0,i,r);if(1===n.plots.length)f[a]=o;else{const e=a.split("$")[1],t=n.plots[parseInt(e)]?.id,s=n.styles&&n.styles[t],i=s&&s.title||t;f[a]=o+": "+i}}}}d.forEach((({meta:e,value:t})=>{let i;i="time"===e.type?new Date(t).toISOString():(0,_.isNumber)(t)?(0,Lt.getNumericFormatter)().format(t):f&&f[t.toString()]||t.toString(),s&&s[i.toString()]&&(i=s[i.toString()]),h.push({title:(0,Ut.getTranslatedInputTitle)(e.name),value:i})}))}return this._inputsInPartsCache[l]=h,h}invalidateTitleCache(e){if(this._titleStrCache={},this._titleInPartsCache={},this._inputsInPartsCache={},!0===e&&this._children)for(let t=0;t<this._children.length;++t)this._children[t].invalidateTitleCache(e)}graphics(){return this._graphics}graphicsInfo(){return this._metaInfo.value().graphics}priceLabelText(e){const t=this._metaInfo.value(),s=t.styles,i=t.ohlcPlots;let r;s&&s[e]&&(r=s[e]),i&&i[e]&&(r=i[e]);const n=(0,p.ensureDefined)(r).title;return 1!==this._simplePlotsCount||(0,L.isPlotTitleDefined)(n)?t.is_price_study&&n!==t.shortDescription?""===n?t.shortDescription:t.shortDescription+":"+n:n:t.shortDescription}setOwnFirstValue(e){this._ownFirstValue=e}firstValue(e,t){if(t)return this._series.firstValue();const s=this._metaInfo.value();if(!this.isChildStudy()&&"Compare@tv-basicstudies"===s.id||!s.is_price_study){const t=this._model.timeScale().visibleBarsStrictRange();if(null===t)return null;const i=this.properties().childs();if(!i.visible.value()||!this.isActualInterval()||null!==this._startMovingPoint)return this._ownFirstValue;const r=t.firstBar(),n=t.lastBar();let o=null;if(null===o){const t=new Set,a=s.filledAreas||[];for(let e=0;e<a.length;e++){const s=a[e]
|
||||||
|
;i.filledAreasStyle.childs()[s.id].childs().visible.value()&&(t.add(s.objAId),t.add(s.objBId))}const l=s.plots||[];for(const a of this.data().rangeIterator(r,n)){const r=a.value;for(let n=0;n<l.length;++n){const a=l[n],h=a.id;if((0,L.isColorerPlot)(a)||s.isPlotForceOverlay(h))continue;const c=r[n+1];if(null==c)continue;if((0!==(0,p.ensureDefined)(i.styles.childs()[h]).childs().display.value()||t.has(h))&&!(e&&Math.abs(c)<1e-10)){o=c;break}}if(null!==o)break}}return this._ownFirstValue=o,null!==o?o:this._bandsFirstValue(e)}if(this.isChildStudy()){const e=this._getNonPriceParent();if(e&&this.priceScale()===e.priceScale())return null!==e._ownFirstValue?e._ownFirstValue:e.firstValue()}return this._series.firstValue()}desiredPriceScalePosition(){if(this.metaInfo().isTVScriptStub)return"overlay";if(this.metaInfo().linkedToSeries)return"as-series";switch(this.metaInfo().priceScale){case 1:return"left";case 0:return"right";case 2:return"overlay";default:return null}}offset(e){return this._plotOffsets.value()?.[e]??0}tags(){const e=this._metaInfo.value();return!e.description||e.isTVScriptStub||e.is_hidden_study||e.isTVScript&&"tv-scripting"===e.productId?[]:[e.description]}copiable(){return es&&!this.isChildStudy()}setPriceScale(e){super.setPriceScale(e),(0,Nt.emit)("study_event",this.id(),"price_scale_changed")}priceRange(e,t,s){let i=null;const r=this._metaInfo.value(),n=this._fillPrecalculatedAutoscaleInfo(e,t,s);let o=this.data().minMaxOnRangeCached(e,t,n.fields);if(o=(0,T.mergeMinMax)(n.baseValueMinMax,o),n.useMainSeriesRange){const s=[{name:"low",offset:0},{name:"high",offset:0}],i=this.series().data().bars().minMaxOnRangeCached(e,t,s);o=(0,T.mergeMinMax)(o,i)}if(null!==o&&(i=new M.PriceRange(o.min,o.max)),r.bands&&s.targetPriceScale===this.priceScale())for(let e=0;e<r.bands.length;e++){const t=(0,p.ensureDefined)(this._properties.childs().bands.childs()[e]).childs();if(t.visible.value()){const e=t.value.value();if(!(0,_.isNumber)(e))continue;i?i.apply(e,e):i=new M.PriceRange(e,e)}}return this._postProcessPriceRange(i,s)}autoScaleInfo(e,t,s){const i=this.priceRange(e,t,s),r=(this.priceScale()===this._series.priceScale()||(this.priceScale(),s.targetPriceScale),{topPixelMargin:0,bottomPixelMargin:0});return{range:i,topPixelMargin:r.topPixelMargin,bottomPixelMargin:r.bottomPixelMargin}}formatter(e){return this._formatter??this._firstSourceOrSeries().formatter(!1)}defaultFormatter(){const e=this._firstSourceOrSeries();return this._defaultFormatter??e.defaultFormatter?.()??e.formatter()}plotFormatter(e){return this._plotFormatters.get(e)??this.formatter()}isMultiPaneAvailable(){return this._metaInfo.value().hasForceOverlayPlots()||(0,x.hasForceOverlayPrimitives)(this._metaInfo.value())}isMultiPaneEnabled(){return this._metaInfo.value().hasForceOverlayPlots()}updateAllViews(e){const t=this._model.paneForSource(this),s=this._model.mainPane(),i="viewport-change"===e.type&&e.pane&&e.pane!==s;"viewport-change"===e.type&&e.pane&&e.pane!==t||(this._paneViews.forEach((t=>t.update(e))),this._labelPaneViews.forEach((t=>t.update(e))),
|
||||||
|
this._dataWindowView?.update(e),this._legendView?.update(e),this._statusView?.update(e),this._floatingTooltipView?.update(e),this._priceAxisViews.forEach((t=>t.update(e))),this._priceLinesAxisViews.forEach((t=>t.update(e))),this._inputsLinesPaneView?.update(e),this._inputsAnchorsPaneView?.update(e),this._inputsTimeAxisPaneViews.forEach((t=>t.update(e))),this._inputsPriceAxisPaneViews.forEach((t=>t.update(e)))),i||(this._forceOverlaysPaneViews.forEach((t=>t.update(e))),this._forceOverlayLabelPaneViews.forEach((t=>t.update(e))),this._forceOverlayPriceAxisViews.forEach((t=>t.update(e)))),"data-source-change"===e.type&&e.sourceId===this.id()&&e.clearData&&this._children.forEach((e=>e.updateAllViews({type:"data-source-change",sourceId:e.id(),clearData:!0})))}removeByRemoveAllStudies(){return!0}studyName(){return this._studyName}nearestIndex(e,t,s){return this.data().search(e,t,s)?.index}getMinFirstBarIndexForPlot(e){const t=this._properties.childs(),s=this._metaInfo,i=t.styles.childs()[e]?.child("showLast")?.value()??t.filledAreasStyle.childs()[e]?.child("showLast")?.value()??s.value().styles?.[e]?.showLast??t.ohlcPlots.childs()[e]?.child("showLast")?.value()??s.value().ohlcPlots?.[e]?.showLast??null;if(null===i)return-1/0;const r=this.data().lastIndex();return null===r?-1/0:r-i+1}guiPlotName(e,t){const s=this._metaInfo.value(),i=s.plots.find((e=>e.id===t));if(void 0!==i){return((0,L.isOhlcPlot)(i)?s.ohlcPlots?.[i.target]?.title:s.styles?.[t]?.title)??this.title(e)}return this.title(e)}childStudyByRebind(){return this._childStudyByRebind}isPine(){return void 0!==this._metaInfo.value().pine}isStandardPine(){return this.isPine()&&A.StudyMetaInfo.isStandardPine(this._metaInfo.value().id)}isLinkedToSeries(){return!0===this._metaInfo.value().linkedToSeries}preferredZOrder(){return!1===this._metaInfo.value().behind_chart?0:null}defaultPlotIdForAlert(){return this._metaInfo.value().plots?.[0]?.id??null}resolvedSymbolInfoBySymbol(e){return this._resolvedSymbols&&e&&this._resolvedSymbols[this._getSymbolForResolve(e)]||null}hasPendingUnresolvedSymbols(){return this._pendingResolveSymbols.size>0}hasSymbolInputs(){return this._metaInfo.value().inputs.some((e=>"symbol"===e.type))}currency(){if(null!==this._currencySourceSymbolInfo)return(0,Tt.symbolCurrency)(this._currencySourceSymbolInfo);const e=this.metaInfo();return Boolean(e)&&e.is_price_study?this._firstSourceOrSeries().currency():null}currencySourceSymbolInfo(){return this._currencySourceSymbolInfo??this.symbolSource()?.symbolInfo()??null}unit(){const e=this.metaInfo();return Boolean(e)&&e.is_price_study?this._firstSourceOrSeries().unit():null}canOverrideMinTick(){return!1}dataWindowView(){return this._dataWindowView}statusView(){return this._statusView}legendView(){return this._legendView}chartFloatingTooltipView(){return this._floatingTooltipView}pineSourceCodeModel(){return Promise.resolve(null)}alertSourceModel(){return this._alertSourceModel}inputsForAlertState(){return this.inputs()}sessionId(){return this._firstSourceOrSeries().sessionId()}sessionIdChanged(){
|
||||||
|
return this._firstSourceOrSeries().sessionIdChanged()}getSymbolString(e){return""===e?"":(0,U.encodeExtendedSymbolOrGetSimpleSymbolString)(this._getSymbolObject(e))}onStatusChanged(){return this._statusChanged}onDataUpdated(){return this._dataUpdated}symbolsResolved(){return this._symbolsResolved}onHibernationStateChange(){return this._onHibernationStateChange}valuesProvider(){return this._valuesProvider}legendValuesProvider(){return new E(this,this.model())}tableViewValuesProvider(){return this._tableViewValuesProvider}statusProvider(e){return new $.StudyStatusProvider(this)}chartFloatingTooltipValuesProvider(){return new K(this,this.model())}correctScaleMargins(e){if("Volume"===this.metaInfo().shortId){const t=this.model().paneForSource(this);return null!==t&&t.isOverlay(this)&&t.containsMainSeries()?{top:.75,bottom:0}:{top:e.top,bottom:0}}return e}canBeHiddenByGlobalFlag(){return!0}isSourceHidden(){return!this.isVisible()||this.canBeHiddenByGlobalFlag()&&W.hideAllIndicators().value()}wasCompletedBefore(){return this._wasCompletedBefore}paneViews(e){const t=this._model.mainPane();if(this.isSourceHidden())return null;if(!e.hasPriceDataSource(this))return e!==t?null:this._forceOverlaysPaneViews;const s=[];return!this._startMovingPoint&&this._wasCompletedBefore&&s.push(...this._paneViews.filter((e=>!e.isForceOverlay?.()))),this._inputsLinesPaneView&&(this._startMovingPoint||this._model.selection().isSelected(this))&&s.push(this._inputsLinesPaneView),this._inputsAnchorsPaneView&&s.push(this._inputsAnchorsPaneView),e===t&&s.push(...this._forceOverlaysPaneViews),s}labelPaneViews(e){const t=this._model.mainPane();if(this.isSourceHidden()||!e.hasPriceDataSource(this))return this._metaInfo.value().hasForceOverlayPlots()?e!==t?null:this._forceOverlayLabelPaneViews:null;const s=[...this._labelPaneViews];return e===t&&s.push(...this._forceOverlayLabelPaneViews),s}timeAxisViews(){return this._model.selection().isSelected(this)?this._inputsTimeAxisPaneViews:null}priceAxisViews(e,t){if(t!==this.priceScale()&&t===this._model.mainSeries().priceScale()&&!e.hasDataSource(this))return this._forceOverlayPriceAxisViews;const s=this._properties.childs().oldShowLastValue;if(s&&!s.value())return null;let i=this._priceAxisViews.slice();return this._model.selection().isSelected(this)&&(i=i.concat(this._inputsPriceAxisPaneViews)),t===this._model.mainSeries().priceScale()&&(i=i.concat(this._forceOverlayPriceAxisViews)),e.findTargetPriceAxisViews(this,t,i,this._priceLinesAxisViews)}movable(){return null!==this._inputsAnchorsPaneView}startMoving(e,t,s,i){this._startMovingPoint=e}move(e,t,s,i){if(void 0!==e.logical&&null!==this._startMovingPoint){if(Array.isArray(t)){const s=t;this._updateInputValue(e.logical,s[0]),this._updateInputValue(e.logical,s[1])}else this._updateInputValue(e.logical,t);this.updateAllViews((0,N.sourceChangeEvent)(this.id()))}}endMoving(e,t){return this._startMovingPoint=null,{indexesChanged:!1,pricesChanged:!1}}clearData(){this._invalidateLastNonEmptyPlotRowCache(),
|
||||||
|
this._ongoingDataUpdate=this._ongoingDataUpdate.then((()=>{this._clearData(),this._graphics instanceof R.LiveStudyGraphics&&this._graphics?.clear(),this._serverPlotOffsets.setValue({})})),this.hasBarColorer()&&this._model.mainSeries().invalidateBarStylesCache(),this.updateAllViews((0,N.sourceChangeEvent)({sourceId:this.id(),clearData:!0}))}convertYCoordinateToPriceForMoving(e,t){const s=this.priceScale();if(!t||!s||s.isEmpty())return null;const i=t.firstValue();return null===i?null:s.coordinateToPrice(e,i)}processHibernate(e){const t=this.isVisible();if(!this.isStarted()&&t&&(this._sources.value().forEach((e=>{e.processHibernate()})),this.start(void 0,void 0,e),this._onHibernationStateChange.fire(!1)),this.isHibernationAllowed()&&this.isStarted()&&!t){for(const e of this._children)e.processHibernate();this.stop(void 0,e),this._onHibernationStateChange.fire(!0)}}isHibernationAllowed(){return!this.metaInfo().historyCalculationMayChange&&(!this.hasChildren()||!!this._model.collapsed().value()&&this._children.every((e=>e.isHibernationAllowed())))}isPlotVisibleAt(e,t){let s;const i=this.metaInfo().plots.find((t=>t.id===e));if(s=void 0!==i?(0,L.isOhlcPlot)(i)?this._properties.childs().ohlcPlots.childs()[i.target]:this._properties.childs().styles.childs()[e]:this._properties.childs().ohlcPlots.childs()[e],void 0===s)throw new Error(`Study does not contain ${e} plot`);const r=s.childs().display.value();return null!==r&&(r&t)===t}recalculate(){const e=this._model.paneForSource(this);this._model.recalculatePane(e,(0,N.sourceChangeEvent)(this.id())),this._model.updateSource(this)}maxOffset(){return this._maxOffset}onStart(){return this._onStart}onParentSourcesChanges(){return this._onParentSourcesChanges}isHibernated(){return!this.isVisible()&&!this.isStarted()}graphicsViewsReady(){return this._graphicsViewsReady}setLoadingCompilationActive(e){0}setErrorCompilation(e){0}hasCompileError(){return null!==this._compileErrorStatus.value()}turnaround(e){if(!e)return this._turnaround;return function(e,t){let s=t.turnaround,i=[t];for(;i.length>0;){let e=[];const t=[];i.forEach((s=>{const i=J(s.sourceStudies).sort(q);if(i.length>0){e=e.concat(i);const s=i.map((e=>e.turnaround)).join("_");t.push(s)}})),t.length&&(s=t.join("_")+"_"+s),i=e}return e+"_"+s}(this._series.seriesSource().turnaround(),Z(this))}canHaveChildren(){return this._canHaveChildren=this._canHaveChildren??A.StudyMetaInfo.canHaveChildren(this._metaInfo.value()),this._canHaveChildren}setChild(e){-1===this._children.indexOf(e)&&this._children.push(e)}unsetChild(e){const t=this._children.indexOf(e);~t&&this._children.splice(t,1)}getAllChildren(){const e=this._children.slice();for(let t=0;t<e.length;++t){const s=e[t].getAllChildren();for(let t=0;t<s.length;++t)~e.indexOf(s[t])||e.push(s[t])}return e}parentSourceForInput(e){if(e.includes("$")){const t=e.split("$")[0];return this._sources.value().find((e=>e.id()===t))??null}return this._series}priceStep(){return this._priceStep||this._firstSourceOrSeries().priceStep(!1)}recreatePriceFormatter(){
|
||||||
|
this._recreatePriceFormattingDependencies()}setOwnerSource(e){super.setOwnerSource(e),this._recreatePriceFormattingDependencies()}onTagsChanged(){return this._tagsChanged}getPropertyDefinitionsViewModel(){return null===this._definitionsViewModel?this._getPropertyDefinitionsViewModelClass().then((e=>null===e||this._isDestroyed?null:(null===this._definitionsViewModel&&(this._definitionsViewModel=new e(this._model.undoModel(),this)),this._definitionsViewModel))):Promise.resolve(this._definitionsViewModel)}calculationTime(){return this._calculationTime.readonly()}contextMenuStatName(){return"IndicatorContextMenu"}metaInfoWV(){return this._metaInfo.readonly()}async patchPropertiesAfterResetDefaults(){throw new Error("Not implemented")}_getPropertyDefinitionsViewModelClass(){return Promise.resolve(null)}_alertMetaInfo(){return this.metaInfo()}_createStudyOnServer(){if(this._isDestroyed)return!1;this._isStarted=!0,this._incrementTurnaround();const e=(0,p.ensureDefined)(this._inputs);let t;return t=this._chartApi.createStudy(this.sourceId(),this._turnaround,this.isChildStudy()?(0,p.ensureNotNull)(this._sources.value()[0].sourceId()):(0,p.ensureNotNull)(this._series.seriesSource().instanceId()),this._studyName.value(),e,this._handler,this._studySpec()),t?(performance.mark(`calculate_study_${this._id.value()}`),!0):(this._isStarted=!1,t)}_stopStudyOnServer(){this._chartApi&&this._chartApi.isConnected().value()&&this.isStarted()&&(this._chartApi.removeStudy(this.sourceId()),this._setStatus({type:xt.StudyStatusType.Undefined})),performance.clearMarks(`calculate_study_${this.sourceId()}`),this._isStarted=!1}_modifyStudyOnServer(e,t){this._chartApi.modifyStudy(this.sourceId(),this._turnaround,e,this._handler,t),performance.mark(`calculate_study_${this.sourceId()}`)}_sendNotifyCommand(e,t){this._chartApi.notifyStudy(this.sourceId(),e,t)}_transformData(e){}_plotsDataRange(){const e=this.plots().firstIndex(),t=this.plots().lastIndex();return null!==e&&null!==t?[e,t]:null}_invalidateLastNonEmptyPlotRowCache(){this._lastNonEmptyPlotRowCache={}}_collectDepsForAlert(){throw new Error("Not implemented")}_allInputsAreValid(){if(null===this._visibleTimeRangeInputs?.value())return!1;for(const e of this._metaInfo.value().inputs)if("bar_time"===e.type){const t=e.id;if(null==this._properties.childs().inputs.childs()[t].value())return!1}return!0}async _startAfterSymbolsResolved(e,t){await Promise.all(this._sources.value().map((e=>!e.isStarted()||e.isRestarting()?new Promise((t=>{e.onStart().subscribe(this,t,!0)})):Promise.resolve()))),this.isStarted()&&!this._restarting||(this._restarting=!1,this._allInputsAreValid()&&!this.metaInfo().isTVScriptStub&&(this._inputs=this._apiInputs(),this._createStudyOnServer()&&(this._subscribeToSessionId(),this._onStart.fire(),!0===e&&this._children&&await this._children.map((e=>e.start(!0,t))))))}async _changeInputsImpl(e,t){const i=this._calcSources(),r=this._metaInfo.value(),n=os(),o=()=>{for(const s of r.inputs){if("source"!==s.type)continue;const i=e[s.id].v,r=t[s.id].v;if(i!==r){(0,
|
||||||
|
p.ensureDefined)(this._properties.childs().inputs.child(s.id)).setValue(r)}}};if(this.isStarted()&&this._chartApi.isConnected().value()&&n>0&&!this._chartApi.canCreateStudy(this._studySpec(!0),!0).success){const e=window.user.pro_plan,t="pro_premium_expert"===e||"pro_premium_expert_trial"===e;return createGoProDialog({feature:"studyOnStudy",hideLimitTable:t,actions:e&&t?[{text:m.t(null,void 0,s(15462)),action:PredefinedAction.Close}]:void 0}),void o()}this._inputs=e;let a=!1;const l=Object.values(Q.RangeDependentStudyInputNames);for(const s of Object.keys(e))if(JSON.stringify(e[s])!==JSON.stringify(t[s])&&!l.includes(s)){a=!0;break}this._incrementTurnaround(),a&&this.disablePriceRangeReady();try{await this._updateParentSources(i,n,!0),this._modifyStudyOnServer(e,n),this._studyModified=!0}catch(e){Gt.logError(`Error applying parent sources: ${e}`),o()}this.invalidateTitleCache()}_createPriceAxisView(e){return new Rt.StudyPriceAxisView(this,{plotIndex:e})}_createPriceLineAxisView(e){return new Ot.StudyPriceLineAxisView(this,e)}_createStudyPlotPaneView(e){return new lt.StudyPlotPaneView(this,this._series,this._model,e)}_createViews(){this._priceAxisViewsBase=[],this._forceOverlayPriceAxisViews=[],this._priceLinesAxisViews=[],this._paneViews=[],this._forceOverlaysPaneViews=[],this._labelPaneViews=[],this._forceOverlayLabelPaneViews=[];const e=new Set,t=this.metaInfo(),s=Boolean(t.usePlotsZOrder),i=new Map,r=this._properties.childs();if(r.filledAreasStyle&&t.filledAreas)for(let e=0;e<t.filledAreas.length;++e){const n=t.filledAreas[e],o=(0,p.ensureDefined)(r.filledAreasStyle.childs()[n.id]),a=ns(t,n.id);let l;if("plot_plot"===n.type||a?l=new mt(this,this.model(),n,o):"hline_hline"===n.type?l=new It(this,n,o):Gt.logWarn("Unsupported filledArea type: "+n.type),void 0!==l){let e=!1;if("plot_plot"===n.type&&(e=t.isPlotForceOverlay(n.objAId)),e)this._forceOverlaysPaneViews.push(l);else{const e=s?(0,p.ensureDefined)(n.zorder):i.size;rs(e,i),i.set(e,{paneViews:[l]})}}}{let r=-1e5;for(let n=0;n<t.plots.length;n++){const o=t.plots[n];let a,l,h,c,u,d=t.isPlotForceOverlay(o.id);if((0,L.isNonVisualPlot)(o))continue;let _=o.id,f=t.styles;const m=(0,L.isBgColorerPlot)(o);if(m)a=new oe(this,this._series,this._model,_);else if((0,L.isShapesPlot)(o))a=new ze(this,this._series,this._model,_);else if((0,L.isCharsPlot)(o))a=new Xe(this,this._series,this._model,_);else if((0,L.isArrowsPlot)(o))a=new tt(this,this._series,this._model,_);else if((0,L.isOhlcPlot)(o)){const s=o.target;if(e.has(s))continue;if(d=t.isPlotForceOverlay(s),e.add(s),ss(t,n))a=new rt(this,this._series,this._model,s);else{if(!is(t,n)){Gt.logError(`plot ${o.id} looks to be invalid`);continue}a=new ot(this,this._series,this._model,s)}c=this._createPriceAxisView(s),h=new at.PanePriceAxisView(c,this,this._model),_=s,f=t.ohlcPlots}else(0,L.isDataPlot)(o)||(c=this._createPriceAxisView(_),u=this._createPriceLineAxisView(_),a=this._createStudyPlotPaneView(_),this._properties.childs().styles.childs()[_]?.child("trackPrice")?.value()&&(l=new ut(this,_)),
|
||||||
|
h=new Et(c,this,this._model,_));const y=s?m?r++:(0,p.ensureDefined)(f?.[_]?.zorder):i.size;if(rs(y,i),d)c&&this._forceOverlayPriceAxisViews.push(c),a&&this._forceOverlaysPaneViews.push(a),h&&this._forceOverlayLabelPaneViews.push(h);else{const e={paneViews:void 0!==a?[a]:[],labelView:h,priceAxisView:c,priceLineAxisView:u};void 0!==l&&e.paneViews.push(l),i.set(y,e)}}}(this._metaInfo.value().bands??[]).forEach(((e,t)=>{const n=r.bands.childs()[t];if(n&&n.childs().visible.value()){const t=new St(n,this),r=s?(0,p.ensureDefined)(e.zorder):i.size;rs(r,i),i.set(r,{paneViews:[t]})}})),r.bandsBackground&&((0,p.assert)(!s,"'usePlotsZOrder' flag does not supported"),i.set(i.size,{paneViews:[new wt(this)]}));const n=this._paneViews,o=this._forceOverlaysPaneViews;this._createGraphicsPaneViews().then((e=>{for(let t=0;t<e.regularPaneViews.length;t++)n.push(e.regularPaneViews[t]);for(let t=0;t<e.forceOverlayPaneViews.length;t++)o.push(e.forceOverlayPaneViews[t]);this._model.lightUpdate(),this._graphicsViewsReady=!0})),r.areaBackground&&((0,p.assert)(!s,"'usePlotsZOrder' flag does not supported"),i.set(i.size,{paneViews:[new dt.AreaBackgroundPaneView(this,this.model())]}));const a=Array.from(i.keys()).sort(((e,t)=>e-t));for(let e=0;e<a.length;e++){const t=(0,p.ensureDefined)(i.get(a[e]));this._paneViews.push(...t.paneViews),t.labelView&&this._labelPaneViews.push(t.labelView),t.priceAxisView&&this._priceAxisViewsBase.push(t.priceAxisView),t.priceLineAxisView&&this._priceLinesAxisViews.push(t.priceLineAxisView)}this._dataWindowView||(this._dataWindowView=new yt.StudyDataWindowView(this,this._model)),this._legendView||(this._legendView=new H(this,this._model)),this._statusView||(this._statusView=new z.StudyStatusView(this)),this._floatingTooltipView||(this._floatingTooltipView=new gt.StudyChartFloatingTooltipView(this,this._model)),this._concatPriceAxisViews()}_onData(e){switch(e.method){case"study_loading":this._onStudyLoading(e.time);break;case"study_error":this._onStudyError(e.params[2]);break;case"study_completed":if(!this._checkTurnaround(e.params[1]))return;this._onStudyCompleted(e.time);break;case"data_update":if(e.params.customId!==this.sourceId()||!this._checkTurnaround(e.params.turnaround))return;(0,p.assert)(!!e.params.nonseries,"data.params.nonseries is missing"),this._onDataUpdate(e.params.plots,(0,p.ensureDefined)(e.params.nonseries),e.params.lastBar);break;case"clear_data":this._checkTurnaround(e.params.turnaround)&&this.clearData()}}_getTelemetryObjectName(){return"study"}_onDataUpdated(e,t,s,i){if(this.hasBarColorer()&&e.length>0){const t=(0,p.ensureNotNull)(this.barColorer()).firstColoredBar(e[0].index);null!==t&&this._model.mainSeries().invalidateBarStylesCache(t)}null!==t&&this._postProcessGraphics();const r=this._model.paneForSource(this);if(this._model.recalculatePane(r,(0,N.sourceChangeEvent)({sourceId:this.id(),firstUpdatedTimePointIndex:i??void 0,nonSeriesOnly:0===e.length})),this._updateSources(),e.length){const t=e[e.length-1].index,s=e[0].index;this._dataRangeUpdated.fire({type:"partial",startIndex:s,
|
||||||
|
endIndex:t})}else this.data().isEmpty()&&this._dataRangeUpdated.fire({type:"full"})}_titleInputs(e,t,s){return this.inputs(this._titleInputsOptions(e,t,s))}_titleInputsOptions(e,t,s){return{symbolsForDisplay:!0,skipHiddenInputs:!0,skipFakeInputs:!1,fakeInputsForDisplay:!0,asObject:!0,skippedGroups:[],skippedInputs:this._skippedTitleInputs(),noExchanges:t,noResolution:s,priceInputsForDisplay:!0,skipOptionalEmptySymbolInputs:Qt,displayMask:e}}_postProcessGraphics(){this._graphicsPriceAxisViews=this._createGraphicsPriceAxisViews(),this._concatPriceAxisViews()}async _createGraphicsPaneViews(){return(0,R.createGraphicsPaneViews)(this,this.model())}_createGraphicsPriceAxisViews(){return(0,R.createGraphicsPriceAxisViews)(this)}_subscribeToSessionId(){!this._isSubscribedToSessionId&&this.hasSymbolInputs()&&(this.sessionIdChanged().subscribe(this,this._onSessionIdChanged),this._isSubscribedToSessionId=!0)}_recreateFormatter(e){let t=e;if(t){const e=this._model.symbolAliasService()?.getAliasByProName(t.pro_name);e&&(t=(0,r.default)(t),(0,n.default)(t,e.formattingOptions??{}))}this._recreatePlotsFormatters(t),this._formatter=this._tryCreateFormatter(t),this._defaultFormatter=this._tryCreateDefaultFormatter(t),this._formatterChanged.fire();const s=this.priceScale();null!==s&&s.updateFormatter(),this.getAllChildren().forEach((e=>{e.recreatePriceFormatter()})),this._model.fullUpdate()}_recreatePriceFormattingDependencies(e){this._recreateFormatter(e),this._recreatePriceStep()}_title(e,t,s,i,r,n){const o=this._titleInParts(e,t,s,i,r,n);return this._joinTitlesParts(o)}_postProcessPriceRange(e,t){if(e&&e.minValue()===e.maxValue()&&!this.metaInfo().is_price_study){const t=.005*e.minValue();e=new M.PriceRange(e.minValue()-t,e.maxValue()+t)}const s=t.targetPriceScale;return s&&s.isLog()&&e?new M.PriceRange(s.priceToLogical(e.minValue()),s.priceToLogical(e.maxValue())):e}_titleInParts(e,t=!0,i,r,n,o){const a=[m.t(this.name(t),{context:"study"},s(83477))];let l=[];if(!r||ee.enabled("always_show_study_symbol_input_values_in_legend")){const s=this._getMTFResolutionInputTitle();null!==s&&s.length>0&&a.push(s);l=(this.inputsInParts(e,t,i,n,o)??[]).map((e=>e.value))}return[a.join(" · "),l]}_seriesDataRangeToSave(e){return this._model.timeScale().visibleExtendedDataRange(e,0)}_getSymbolForResolve(e){return this.getSymbolString(this._getSymbolForApi(e))}_getSymbolForApi(e){return e}_getSymbolObject(e){const t={symbol:e},s=this.currency();return null!==this._currencySourceSymbolInputProperty&&null!==this._currencySourceSymbolInfo&&this._getSymbolForApi(this._currencySourceSymbolInputProperty.value())===e&&(t["currency-id"]=s),t.session=this.sessionId(),t}_onSymbolResolved(e,t,s){this._onCurrencyMayChange()}_onSymbolResolvingStart(e,t){}_onSymbolError(){}_setStatus(e,t){const s=this.isFailed();this._status.setValue(e),e.type===xt.StudyStatusType.Completed?this._wasCompletedBefore=!0:e.type!==xt.StudyStatusType.Error&&e.type!==xt.StudyStatusType.Undefined||(this._wasCompletedBefore=!1),t||(this._statusView?.update((0,
|
||||||
|
N.sourceChangeEvent)(this.id())),this._model.updateSource(this),this._statusChanged.fire(this.status())),s!==this.isFailed()&&this._updateAlertCreationAvailable()}_onPropertiesChanged(){this._restarting||(this._inputs?this._tryChangeInputs():this._chartApi&&this._chartApi.isConnected().value()&&this.restart());this._metaInfo.value();this._recreatePaneViews(),(0,Nt.emit)("study_properties_changed",this._id.value())}_lastNonEmptyPlotRow(e){if(!(0,_.isInteger)(e))return Gt.logDebug("_lastNonEmptyPlotRow: incorrect plotIndex"),null;let t=this._lastNonEmptyPlotRowCache[e]??null;if(null!==t)return t;return t=this.data().findLast(((t,s)=>void 0!==s[e]),1e3),null===t?null:(this._lastNonEmptyPlotRowCache[e]=t,t)}_onCurrencyChanged(){"alwaysOff"!==(0,At.currencyUnitVisibilityProperty)().value()&&this._model.fullUpdate(),this.isStarted()&&this._tryChangeInputs(),this._currencyChanged.fire()}_apiInputs(){return this.inputs({keepOptionalSymbolsEmpty:!0})}async _tryChangeInputs(){const e=this.isStarted()&&this._chartApi.isConnected().value(),t=this._allInputsAreValid(),s=((0,p.ensureDefined)((0,_.clone)(this._inputs)),this._apiInputs()),i=JSON.stringify(s),r=i!==JSON.stringify(this._inputs);if(e&&t)try{if(await this._allSymbolsAreResolved(),i!==JSON.stringify(this._apiInputs()))return this._tryChangeInputs();if(this._isStopped())return void(r&&this.disablePriceRangeReady());r&&await this._changeInputsImpl(s,(0,p.ensureDefined)((0,_.clone)(this._inputs)))}catch(e){Gt.logError(`ERROR: ${this._debugId()} _tryChangeInputs: cannot modify study, ${e}`)}else if(e&&!t&&this.stop(!0),!e&&t&&this.start(!0),r){const e=this._calcSources(),t=os(this._metaInfo.value());this._updateParentSources(e,t,!0),this._inputs=s}this._tagsChanged.fire()}_onCurrencyMayChange(){if(null!==this._currencySourceSymbolInputProperty){const e=this.currency();this._updateCurrencySourceSymbolInfo(),e!==this.currency()&&this._onCurrencyChanged()}}_fillPrecalculatedAutoscaleInfo(e,t,s){const i=this._metaInfo.value(),r=this.properties().childs(),n=new Set,o=i.filledAreas||[];for(let e=0;e<o.length;e++){const t=o[e];r.filledAreasStyle.childs()[t.id].childs().visible.value()&&(n.add(t.objAId),n.add(t.objBId))}return i.plots.filter((e=>!(0,L.isPlotWithTechnicalValues)(e))).filter((e=>i.isPlotForceOverlay(e.id)?s.targetPriceScale===this._model.mainSeries().priceScale():s.targetPriceScale===this.priceScale()&&!s.forceOverlayOnly)).filter((e=>n.has(e.id)||this.isPlotVisibleAt(e.id,1))).reduce(((s,i)=>this._applyPlotToPrecalculatedAutoscaleInfo(e,t,s,i)),{fields:[],useMainSeriesRange:!1,baseValueMinMax:null})}_firstSourceOrSeries(){return this._sources.value()[0]??this._series}_skipHistogramBaseOnAutoScale(){return!1}_tryCreateFormatter(e){const t=void 0===e?this.symbolSource().symbolInfo():e;return hs(this._metaInfo.value().format,this._priceScaleByProperties(),t,this.properties().childs().precision.value())}_tryCreateDefaultFormatter(e){return this._tryCreateFormatter(e)}_mergeData(e){return this._invalidateLastNonEmptyPlotRowCache(),this.data().merge(e)}
|
||||||
|
_skippedTitleInputs(){return this._hideMatches.filter((e=>e.plotIds.every((e=>0===this._getPlotDisplayValue(e))))).map((e=>e.id))}_getPlotDisplayValue(e){return this.properties()?.childs()?.styles?.childs()?.[e]?.childs()?.display?.value()}_onStudyError(e){performance.clearMarks(`calculate_study_${this.sourceId()}`),this._handleStudyError(this._createStudyError(e)),this._enablePriceRangeReady()}_onStudyCompleted(e){if(performance.getEntriesByName(`calculate_study_${this.sourceId()}`).length){try{const e=performance.measure(`measure_study_${this.sourceId()}`,`calculate_study_${this.sourceId()}`);this._calculationTime.setValue(e.duration)}catch(e){Gt.logError("Error during measuring study calculation time")}performance.clearMarks(`calculate_study_${this.sourceId()}`),performance.clearMeasures(`measure_study_${this.sourceId()}`)}this._studyModified&&(this.clearData(),this._studyModified=!1),this._setStatus({type:xt.StudyStatusType.Completed}),this._statusView?.update((0,N.sourceChangeEvent)(this.id()));const t=this._model.paneForSource(this);this._model.recalculatePane(t,(0,N.sourceChangeEvent)(this.id())),this._updateSources();const s=Vt.InvalidationMask.full();null!==this._model.appliedTimeFrame().value()&&s.lockVisibleTimeRangeOnResize(),this._model.invalidate(s)}_clearData(){this._data.clear(),this._dataRangeUpdated.fire({type:"full"})}_moveData(e){this.data().move(e)}_defaultErrorTitle(){return"Runtime error"}_incrementTurnaround(){this._turnaround="st"+ ++this._turnaroundCounter}_checkTurnaround(e){return e===this._turnaround||e===this._model.mainSeries().seriesSource().turnaround()||e===this.turnaround(!0)}_updateMaxOffsetValue(){let e=-1/0;for(const t of this._metaInfo.value().plots)e=Math.max(this.offset(t.id),e);this._maxOffset.setValue(e)}_rightOffsetToUnixTime(e){if(this._series.bars().size()>=e){const t=(0,p.ensureNotNull)(this._series.bars().lastIndex())-e;return(0,p.ensureNotNull)(this._series.bars().valueAt(t))[0]}return null}_concatPriceAxisViews(){this._priceAxisViews=[...this._priceAxisViewsBase,...this._graphicsPriceAxisViews]}_onStudyLoading(e){this._setStatus({type:xt.StudyStatusType.Loading,startTime:Date.now()}),this._statusView?.update((0,N.sourceChangeEvent)(this.id())),this._model.updateSource(this)}_handleStudyError(e){this.clearData(),this._setStatus(e),this._statusView?.update((0,N.sourceChangeEvent)(this.id())),this._model.updateSource(this)}_createStudyError(e){let t;return t=(0,_.isString)(e)?{error:this._getStudyErrorText(e),title:e.includes("study_not_auth")?"Access error":this._defaultErrorTitle()}:{...e,title:e.title??this._defaultErrorTitle()},(0,xt.createStudyError)(t,this.symbolSource().symbolInfo()?.exchange)}_updateSources(){this._model.updateSource(this),this.hasBarColorer()&&this._model.updateSource(this._model.mainSeries())}_unsubscribeToSessionId(){this._isSubscribedToSessionId&&(this.sessionIdChanged().unsubscribe(this,this._onSessionIdChanged),this._isSubscribedToSessionId=!1)}_onSessionIdChanged(){this.restart(!0)}_recreatePriceStep(){let e=null
|
||||||
|
;const t=this._priceScaleByProperties()??this._priceScaleByMetaInfo();null!==t&&(e=1/t),this._priceStep!==e&&(this._priceStep=e,this._priceStepChanged.fire())}_recreatePlotsFormatters(e){this._plotFormatters.clear();const t=this._metaInfo.value(),s=t.format,i=this._priceScaleByProperties(),r=void 0===e?this.symbolSource().symbolInfo():e;for(const[e,n]of Object.entries(t.ohlcPlots??{}))if(n?.format){const t=hs(ls({...s,...n?.format}),i,r,this.properties().childs().precision.value());t&&this._plotFormatters.set(e,t)}for(const[e,n]of Object.entries(t.styles??{}))if(n?.format){const t=hs(ls({...s,...n?.format}),i,r,this.properties().childs().precision.value());t&&this._plotFormatters.set(e,t)}for(const e of t.plots)if((0,L.isOhlcPlot)(e)){const t=this._plotFormatters.get(e.target);t&&this._plotFormatters.set(e.id,t)}}_joinTitlesParts(e){const t=e[1]?e[1].join(", "):"";return e[0]+(t.length>0?" ("+t+")":"")}_getMTFResolutionInputTitle(){const e=this.metaInfo();for(let t=0;t<e.inputs.length;t++){const s=e.inputs[t];if("resolution"===s.type&&s.isMTFResolution)return(0,p.ensureDefined)(this._properties.childs().inputs.child(s.id)).value()}return null}_onDataUpdate(e,t,s){this._studyModified&&(this.clearData(),this._studyModified=!1);const i=(0,C.unpackNonSeriesData)(t.d);return this._ongoingDataUpdate=this._ongoingDataUpdate.then((()=>i),(()=>i)).then(this._onDataUnpacked.bind(this,e,t.indexes,s)),this._ongoingDataUpdate}_allSymbolsAreResolved(){const e=this._inputSymbols(),t=[];let s=!1;for(const i of e){const e=this._getSymbolForResolve(i);if(""!==e)if(this._resolvedSymbols[e])s=!0;else{const s=this._resolveSymbol(e,i);t.push(s)}}if(0===t.length){const e=Promise.resolve();return s?e.then((()=>this._symbolsResolved.fire())):e}return Promise.all(t).catch((e=>(this._inputSymbols().includes(e)&&this.stop(!0),this._setStatus({type:xt.StudyStatusType.Error,errorDescription:{error:$t}}),this._model.updateSource(this),Promise.reject("Invalid symbol, "+e)))).then((()=>{this._symbolsResolved.fire(),this._recheckLineToolsActuality()}))}_resolveSymbol(e,t){if(""===e)return Promise.resolve();let s=this._pendingResolveSymbols.get(e);return void 0!==s||(s=new Promise(((s,i)=>{this._onSymbolResolvingStart(e,t),this._chartApi.resolveSymbol((0,j.makeNextSymbolId)(),e,(r=>{switch(this._pendingResolveSymbols.delete(e),r.method){case"symbol_resolved":{this._setStatus({type:xt.StudyStatusType.Undefined});const i=r.params[1];this._resolvedSymbols[e]=i,this._resolvedSymbolsByInput[t]=i,this.invalidateTitleCache(!0),this._onSymbolResolved(e,t,i),s();break}case"symbol_error":if(this._setStatus({type:xt.StudyStatusType.Error,errorDescription:{error:r.params[1]}}),this._onSymbolError(),r.params[1]===G.permissionDenied&&r.params[2]){if(r.params[2]!==G.SymbolErrorPermissionDeniedReason.Symbol)return void this._resolveSymbol(r.params[2],t).then(s);if(r.params[3])return void this._resolveSymbol(r.params[3],t).then(s)}0,i(t)}}))})),this._pendingResolveSymbols.set(e,s)),s}_recheckLineToolsActuality(){const e=this._model.paneForSource(this)
|
||||||
|
;null!==e&&e.sourcesByGroup().lineSourcesForAllSymbols().forEach((e=>{e.ownerSource()===this&&e.calcIsActualSymbol()}))}_sendTelemetryCounter(e,t){void 0===t&&(t=this._getTelemetryAdditionalData());const s={count:1,additional:t};telemetry.sendChartReport(e,s)}_getTelemetryAdditionalData(){let e="";const t=this._metaInfo.value();return t.pine&&t.pine.version&&t.shortId.indexOf("USER")>=0&&(e="_v"+t.pine.version),{symbol:this.series().actualSymbol(),resolution:this.series().interval(),study:t.shortId+e}}_onSourceFormatterChanged(){null===this._formatter&&(null!==this._priceScale&&this._priceScale.updateFormatter(),this._formatterChanged.fire())}_onSourcePriceStepChanged(){null===this._priceStep&&this._priceStepChanged.fire()}_bandsFirstValue(e){const t=this._metaInfo.value();if(!t.bands)return null;for(let s=0;s<t.bands.length;s++){const t=(0,p.ensureDefined)(this._properties.childs().bands).childs()[s];if(t.childs().visible.value()){const s=t.childs().value.value();if(e&&0===s)continue;if(null!==s)return s}}return null}_prepareInputs(e){(0,p.assert)(!!e,"options not set");const t=this.metaInfo(),s={},i=e.allowedInputTypes?new Set(e.allowedInputTypes):null,r=!(!e.asObject||!e.useNameAndGroupAsKey);for(let n=0;n<t.inputs.length;n++){const o=t.inputs[n];if(null!==i&&!i.has(o.type))continue;if(o.isFake&&e.skipFakeInputs)continue;if(o.isMTFResolution&&e.noResolution)continue;if(void 0!==e.displayMask&&!((0,p.ensureDefined)(o.display)&e.displayMask))continue;if(e.skipHiddenInputs&&(!e.doNotSkipHiddenWithMigrate||!o.migrate)){let t=!1;switch(o.type){case"bool":t=e.skipBooleanInputs;break;case"color":t=e.skipColorInputs;break;case"time":t=e.skipTimeInputs;break;case"text_area":t=e.skipTextareaInputs;break;default:t=Boolean(o.isHidden)}if(t)continue}if(void 0!==o.groupId&&-1!==e.skippedGroups.indexOf(o.groupId))continue;if(-1!==e.skippedInputs.indexOf(o.id))continue;const a=this._prepareInput(o,e);if("symbol"===o.type&&e.skipOptionalEmptySymbolInputs&&""===a)continue;let l;r&&(l=v(o),void 0!==l&&l in s&&(l=void 0)),s[l||o.id]=(0,_.clone)(a)}return s}_prepareInputValue(e,t){const s=e.id,i=this._properties.childs();if(t.valuesAsIsFromProperties)return i.inputs.childs()[s].value();const r=this._metaInfo.value();if("symbol"===e.type){const r=t&&t.symbolsForDisplay,n=i.inputs.childs()[s].value();let o=r?n:this._getSymbolForApi(n),a=this._resolvedSymbols?.[this._getSymbolForResolve(o)]??null;if(""===o&&e.optional){if(t&&t.keepOptionalSymbolsEmpty)return o;o=this._model.mainSeries().symbol(),a=this._model.mainSeries().symbolInfo()}if(r)if(a)if(Zt){switch(this._model.mainSeries().symbolTextSourceProxyProperty().value()){case"description":o=a.description;break;case"ticker-and-description":o=`${a.name}, ${a.description}`;break;case"ticker":o=a.name}}else o=(0,Tt.symbolTitle)(a,t.noExchanges);else ts&&(o="");else a&&(o=a.ticker||a.full_name),!this.isPine()&&t&&t.symbolsForChartApi&&(o=this.getSymbolString(o));return o}if("bar_time"===e.type){let e=i.inputs.childs()[s].value();if(e<0){const t=this._rightOffsetToUnixTime(-e);e=t&&t>=0?t:e}
|
||||||
|
return e}if(r.isTVScript||r.pine){if("text"===s)return r.defaults.inputs?.text??"";if("pineId"===s)return r.scriptIdPart;if("pineVersion"===s)return r.pine?r.pine.version:"-1";if("color"===e.type&&r.isRGB){const e=i.inputs.childs()[s].value();return(0,I.colorToInteger)(e)}if("price"===e.type){const e=i.inputs.childs()[s].value();return t.priceInputsForDisplay?this.formatter().format(e):e}}return i.inputs.childs()[s].value()}_getStudyIdWithLatestVersion(){return A.StudyMetaInfo.getStudyIdWithLatestVersion(this.metaInfo())}_debugId(){const e=[];e.push(this._id.value());const t=this._metaInfo.value();return e.push(t.fullId),e.push(t.description),JSON.stringify({study:e})}_hasAvailableAlertPlots(){return!1}_hasAlertConditions(){return!1}_hasAlertFunction(){return!1}async _updateParentSources(e,t,s){if(this._sources.value().forEach((e=>e.unsetChild(this))),s&&await Promise.all(e.map((e=>e.isStarted()?Promise.resolve():e.start(!1,!0)))),e.forEach((e=>e.setChild(this))),this._setSources(e),this._recreatePriceFormattingDependencies(),0!==t&&this._sources.value().length<=1){const e=this._firstSourceOrSeries(),t=this._priceScale,s=(0,p.ensureNotNull)(e.priceScale());if(t!==s){const t=this._model.paneForSource(this),i=(0,p.ensureNotNull)(this._model.paneForSource(e));t===i&&i.move(this,s,!0)}}}_calcSources(){const e=this._properties.childs().inputs.state();return A.StudyMetaInfo.getSourceIdsByInputs(this._metaInfo.value().inputs,e).map((e=>{if("high"===e||"open"===e||"low"===e||"close"===e||"hl2"===e||"ohl3"===e||"ohlc4"===e)return null;return this._model.allStudies().find((t=>t.canHaveChildren()&&t.id()===e))??null})).filter(_.notNull)}_isStopped(){return!this.isStarted()}_onDataUnpacked(e,t,s,i){if(this._isDestroyed)return;"nochange"!==t&&this._processPlotOffsets(i),this._transformData(e);const r=this._mergeData(e);null!==i&&(i.indexes_replace?((0,p.assert)("nochange"!==t),this._graphics.replaceIndexesTo(t)):("nochange"!==t&&this._graphics.replaceIndexesTo(t),void 0!==i.graphicsCmds&&this._graphics.processCommands(i.graphicsCmds))),this._onDataUpdated(e,i,t,r&&r.index),this.priceRangeReady()||this._enablePriceRangeReady()}_processPlotOffsets(e){if(e&&e.indexes_replace)return;const t=this._serverPlotOffsets.value();this._serverPlotOffsets.setValue(e&&e.offsets||{}),(0,i.default)(t,this._serverPlotOffsets.value())||this.updateAllViews((0,N.sourceChangeEvent)({sourceId:this.id(),clearData:!0})),this._updateMaxOffsetValue()}_applyPlotToPrecalculatedAutoscaleInfo(e,t,s,i){const r=i.id,n=this._properties.childs().styles.childs()[r],o=(0,L.isShapesPlot)(i)||(0,L.isCharsPlot)(i);s.useMainSeriesRange=s.useMainSeriesRange||(0,L.isArrowsPlot)(i);let a=(0,L.isLinePlot)(i)||(0,L.isOhlcPlot)(i);if(o){const e=(0,p.ensureDefined)(n).childs().location.value(),t=[D.MarkLocation.Absolute,D.MarkLocation.Top,D.MarkLocation.Bottom].indexOf(e)<0;s.useMainSeriesRange=s.useMainSeriesRange||o&&t,a=a||e===D.MarkLocation.Absolute}if(!a)return s;const l={name:r,offset:this.offset(r)},h=n.childs().plottype.value()
|
||||||
|
;if(!this._skipHistogramBaseOnAutoScale()&&[L.LineStudyPlotStyle.Histogram,L.LineStudyPlotStyle.Columns,L.LineStudyPlotStyle.Area].indexOf(h)>=0){const i=(this._metaInfo.value().styles??{})?.[r]?.histogramBase;if(void 0===i)return s;const n=this.data().minMaxOnRangeCached(e,t,[l]);return(0,_.isNumber)(i)&&null!==n&&(s.baseValueMinMax=(0,T.mergeMinMax)(s.baseValueMinMax,{min:i,max:i}),s.baseValueMinMax=(0,T.mergeMinMax)(s.baseValueMinMax,n)),s}return s.fields.push(l),s}async _onSourceInputChanged(){if(!this.isStarted()){this._calcSources();Kt}}_buildInputs(e){(0,p.assert)(!!e,"options not set");let t={};try{t=this._prepareInputs(e)}catch(e){Gt.logWarn("Failed to prepare study inputs: "+e)}if(e.asObject){const e={};return Object.keys(t).forEach((s=>{null!=t[s]&&(e[s]=t[s])})),e}{const e=[];return Object.keys(t).forEach((s=>{null!=t[s]&&e.push(t[s])})),e}}_prepareInput(e,t){const s=this._prepareInputValue(e,t);return!e.isFake||t.fakeInputsForDisplay||t.onlyAtomValues?s:{v:s,f:!0,t:e.type}}_plotsForAlert(){return[]}_formatterStateForAlert(){try{const e=this.formatter();return FormattersSerializer.isSerializable(e)?FormattersSerializer.serialize(e):null}catch{return null}}_calcIsActualInterval(){const e=this._isActualInterval;this._isActualInterval=(0,Ct.isActualInterval)(this._series.intervalObj().value(),this._properties.childs().intervalsVisibilities),e!==this._isActualInterval&&(this._onIsActualIntervalChange.fire(),this._visibleChanged(),this.processHibernate())}_visibleChanged(){this._series.invalidateBarColorerCache()}_getNonPriceParent(){const e=this._sources.value();for(const t of e)if(t instanceof us){const e=t.metaInfo();return e.is_price_study&&"Compare@tv-basicstudies"!==e.id?t._getNonPriceParent():t}return null}_updateInputValue(e,t){const s=this._properties.childs().inputs.childs();if(s[t.id])if("price"===t.type)s[t.id].setValue(e.price);else if("time"===t.type){const i=this._model.timeScale().indexToTimePoint(e.index);null!==i&&s[t.id].setValue(1e3*i)}}_initializeStudyInputsPaneViews(){}_updateCurrencySourceSymbolInfo(){null!==this._currencySourceSymbolInputProperty&&(this._currencySourceSymbolInfo=this._resolvedSymbolsByInput[this._currencySourceSymbolInputProperty.value()]??null)}_initializeCurrencySource(){const e=this.metaInfo(),t="symbolInputSymbolSource"===e.symbolSource?.type&&e.symbolSource?.inputId,s=e.inputs.find((e=>e.id===t));if("string"==typeof t&&"symbol"===s?.type&&e.is_price_study){const e=this._properties.childs().inputs.childs()[t];void 0!==e&&(e.subscribe(this,this._onCurrencyMayChange),this._currencySourceSymbolInputProperty=e)}}_recreatePaneViews(){this.hasBarColorer()&&this._model.mainSeries().invalidateBarStylesCache(),this._createViews(),this.recalculate(),this.updateAllViews((0,N.sourceChangeEvent)(this.id()))}async _pinePatchProps(){throw new Error("Not implemented")}_areStudyInputsModified(e){if(0===Object.keys(e).length)return!1;if(void 0===this._oldStudyInputs)return!0;const t=Object.keys(this._oldStudyInputs);(0,
|
||||||
|
p.assert)(t.length===Object.keys(e).length,"keys quantity should be equal");for(const s of t)if((0,p.assert)(e.hasOwnProperty(s),`key '${s}' should exist in study inputs`),(0,p.ensureDefined)(this._oldStudyInputs)[s]!==e[s])return!0;return!1}_onVisibleTimeRangeInputsChanged(e){null!==e?this._updateVisibleTimeRangeInputs(e):this.isStarted()&&this._chartApi.isConnected().value()&&this.stop(!0)}_updateVisibleTimeRangeInputs(e,t=!0){const s={first_visible_bar_time:e.firstVisibleBarTime,last_visible_bar_time:e.lastVisibleBarTime,subscribeRealtime:e.subscribeRealtime},i=this.metaInfo().inputs,r=[];for(const e of i)s.hasOwnProperty(e.id)&&r.push(e.id);const n=this.properties().childs().inputs;for(const e of r)n.childs()[e].setValueSilently(s[e]);t&&r.length>0&&n.fireChanged()}_getStudyErrorText(e){const t=e.split(":",2)[0];return decodeURIComponent(t)}_priceScaleByProperties(){if("default"===this.properties().childs().precision.value())return null;const e=parseInt(this.properties().childs().precision.value());return isFinite(e)?Math.pow(10,e):null}_priceScaleByMetaInfo(){const e=this.metaInfo().format,t="inherit"!==e.type?e.precision:void 0,s=(0,_.isNumber)(t)?Math.pow(10,t):void 0;if("price"===e.type||"percent"===e.type)return s||100;if("volume"===e.type){if(void 0===e.precision){const e=this.series().symbolInfo();if(null!==e&&(0,_.isNumber)(e.volume_precision))return Math.pow(10,e.volume_precision)}return 1}return"inherit"===e.type||Gt.logWarn("Unsupported format type: "+e.type),null}_inputSymbols(){return this.metaInfo().inputs.filter((e=>"symbol"===e.type)).map((e=>(0,p.ensureDefined)(this._properties.childs().inputs.child(e.id)).value()))}_studySpec(e){return{id:this._metaInfo.value().id,child:e??this.isChildStudy(),fundamental:!1}}_onFormatterPropsChanged(){this._recreatePriceFormattingDependencies()}_setSources(e){this.invalidateTitleCache(),this._sources.setValue(e),this._onParentSourcesChanges.fire()}async _awaitForMetaInfo(){const e={resolver:()=>{}},t=()=>e.resolver();try{await Promise.race([new Promise(((e,t)=>{setTimeout((()=>t(new Error("Timeout"))),3e3)})),await new Promise((s=>{e.resolver=s,this.metaInfoWV().subscribe(t)}))])}catch(e){throw e}finally{this.metaInfoWV().unsubscribe(t)}}}},51752:(e,t,s)=>{s.d(t,{plotShapesData:()=>r});var i=s(11542);const r={shape_arrow_down:{guiName:i.t(null,void 0,s(34247)),id:"shape_arrow_down",paneRendererClass:"PaneRendererArrowDown",pineName:"shape.arrowdown",icon:"arrow_down"},shape_arrow_up:{guiName:i.t(null,void 0,s(45523)),id:"shape_arrow_up",paneRendererClass:"PaneRendererArrowUp",pineName:"shape.arrowup",icon:"arrow_up"},shape_circle:{guiName:i.t(null,void 0,s(91944)),id:"shape_circle",paneRendererClass:"PaneRendererCircleShape",pineName:"shape.circle",icon:"circle"},shape_cross:{guiName:i.t(null,void 0,s(6969)),id:"shape_cross",paneRendererClass:"PaneRendererCrossShape",pineName:"shape.cross",icon:"cross"},shape_diamond:{guiName:i.t(null,void 0,s(15179)),id:"shape_diamond",paneRendererClass:"PaneRendererDiamond",pineName:"shape.diamond",icon:"diamond"},shape_flag:{
|
||||||
|
guiName:i.t(null,void 0,s(33885)),id:"shape_flag",paneRendererClass:"PaneRendererFlagShape",pineName:"shape.flag",icon:"flag"},shape_label_down:{guiName:i.t(null,void 0,s(85924)),id:"shape_label_down",paneRendererClass:"PaneRendererLabelDown",pineName:"shape.labeldown",icon:"label_down"},shape_label_up:{guiName:i.t(null,void 0,s(49857)),id:"shape_label_up",paneRendererClass:"PaneRendererLabelUp",pineName:"shape.labelup",icon:"label_up"},shape_square:{guiName:i.t(null,void 0,s(66205)),id:"shape_square",paneRendererClass:"PaneRendererSquare",pineName:"shape.square",icon:"square"},shape_triangle_down:{guiName:i.t(null,void 0,s(76152)),id:"shape_triangle_down",paneRendererClass:"PaneRendererTriangleApexDown",pineName:"shape.triangledown",icon:"triangle_down"},shape_triangle_up:{guiName:i.t(null,void 0,s(21236)),id:"shape_triangle_up",paneRendererClass:"PaneRendererTriangleApexUp",pineName:"shape.triangleup",icon:"triangle_up"},shape_xcross:{guiName:i.t(null,void 0,s(11316)),id:"shape_xcross",paneRendererClass:"PaneRendererXCross",pineName:"shape.xcross",icon:"x_cross"}}}}]);
|
||||||
1
charting_library/bundles/1488.720d3939e07b55dd54ff.css
Normal file
1
charting_library/bundles/1488.720d3939e07b55dd54ff.css
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
charting_library/bundles/159.3e4f89ce6749c1e5f8df.css
Normal file
1
charting_library/bundles/159.3e4f89ce6749c1e5f8df.css
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[data-theme=light]{--_0-IsoO:var(--color-cold-gray-350);--_1-IsoO:var(--color-cold-gray-100);--_2-IsoO:var(--color-cold-gray-200);--_3-IsoO:var(--color-cold-gray-100);--_4-IsoO:var(--color-cold-gray-300);--_5-IsoO:var(--color-cold-gray-200)}[data-theme=dark]{--_0-IsoO:var(--color-cold-gray-550);--_1-IsoO:var(--color-cold-gray-800);--_2-IsoO:var(--color-cold-gray-650);--_3-IsoO:var(--color-cold-gray-800);--_4-IsoO:var(--color-cold-gray-650);--_5-IsoO:var(--color-cold-gray-650)}.wrapper-VB9J73Gf{align-items:center;border-color:var(--color-control-intent-default);border-radius:6px;border-style:solid;box-sizing:border-box;display:inline-flex;margin:0;position:relative}@media (any-hover:hover){.wrapper-VB9J73Gf:hover{border-color:var(--_0-IsoO)}}.wrapper-VB9J73Gf.focused-VB9J73Gf{border-color:var(--color-control-intent-primary)}.wrapper-VB9J73Gf.readonly-VB9J73Gf{background-color:var(--_1-IsoO);border-color:var(--_2-IsoO)}.wrapper-VB9J73Gf.disabled-VB9J73Gf{background-color:var(--_3-IsoO);border-color:var(--_5-IsoO);color:var(--_4-IsoO)}.wrapper-VB9J73Gf.size-small-VB9J73Gf{height:24px}.wrapper-VB9J73Gf.size-medium-VB9J73Gf{height:34px}.wrapper-VB9J73Gf.size-large-VB9J73Gf{height:48px}.wrapper-VB9J73Gf.font-size-medium-VB9J73Gf,.wrapper-VB9J73Gf.font-size-small-VB9J73Gf{font-size:14px;line-height:20px}.wrapper-VB9J73Gf.font-size-large-VB9J73Gf{font-size:16px;line-height:24px}.wrapper-VB9J73Gf.border-none-VB9J73Gf{border-width:0}.wrapper-VB9J73Gf.border-none-VB9J73Gf .shadow-VB9J73Gf{margin:0}.wrapper-VB9J73Gf.border-thin-VB9J73Gf{border-width:1px}.wrapper-VB9J73Gf.border-thin-VB9J73Gf .shadow-VB9J73Gf{margin:-1px}.wrapper-VB9J73Gf.border-thick-VB9J73Gf{border-width:2px}.wrapper-VB9J73Gf.border-thick-VB9J73Gf .shadow-VB9J73Gf{margin:-2px}.wrapper-VB9J73Gf.intent-default-VB9J73Gf .shadow-VB9J73Gf{border-color:var(--color-control-intent-default)}.wrapper-VB9J73Gf.intent-success-VB9J73Gf,.wrapper-VB9J73Gf.intent-success-VB9J73Gf .shadow-VB9J73Gf{border-color:var(--color-control-intent-success)}.wrapper-VB9J73Gf.intent-warning-VB9J73Gf,.wrapper-VB9J73Gf.intent-warning-VB9J73Gf .shadow-VB9J73Gf{border-color:var(--color-control-intent-warning)}.wrapper-VB9J73Gf.intent-danger-VB9J73Gf,.wrapper-VB9J73Gf.intent-danger-VB9J73Gf .shadow-VB9J73Gf{border-color:var(--color-control-intent-danger)}.wrapper-VB9J73Gf.intent-primary-VB9J73Gf,.wrapper-VB9J73Gf.intent-primary-VB9J73Gf .shadow-VB9J73Gf{border-color:var(--color-control-intent-primary)}.wrapper-VB9J73Gf.corner-top-left-VB9J73Gf{border-top-left-radius:0}.wrapper-VB9J73Gf.corner-top-right-VB9J73Gf{border-top-right-radius:0}.wrapper-VB9J73Gf.corner-bottom-right-VB9J73Gf{border-bottom-right-radius:0}.wrapper-VB9J73Gf.corner-bottom-left-VB9J73Gf{border-bottom-left-radius:0}.shadow-VB9J73Gf{border:2px solid;border-radius:6px;bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:3}.shadow-VB9J73Gf.corner-top-left-VB9J73Gf{border-top-left-radius:0}.shadow-VB9J73Gf.corner-top-right-VB9J73Gf{border-top-right-radius:0}.shadow-VB9J73Gf.corner-bottom-right-VB9J73Gf{border-bottom-right-radius:0}.shadow-VB9J73Gf.corner-bottom-left-VB9J73Gf{border-bottom-left-radius:0}.childrenContainer-VB9J73Gf.disabled-VB9J73Gf{opacity:.5}.buttonWrap-icygBqe7{display:flex}.desktopSize-icygBqe7{width:354px}.drawer-icygBqe7,.menuBox-icygBqe7{padding:0}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[data-theme=light]{--_0-IsoO:var(--color-cold-gray-350);--_1-IsoO:var(--color-cold-gray-100);--_2-IsoO:var(--color-cold-gray-200);--_3-IsoO:var(--color-cold-gray-100);--_4-IsoO:var(--color-cold-gray-300);--_5-IsoO:var(--color-cold-gray-200)}[data-theme=dark]{--_0-IsoO:var(--color-cold-gray-550);--_1-IsoO:var(--color-cold-gray-800);--_2-IsoO:var(--color-cold-gray-650);--_3-IsoO:var(--color-cold-gray-800);--_4-IsoO:var(--color-cold-gray-650);--_5-IsoO:var(--color-cold-gray-650)}.wrapper-VB9J73Gf{align-items:center;border-color:var(--color-control-intent-default);border-radius:6px;border-style:solid;box-sizing:border-box;display:inline-flex;margin:0;position:relative}@media (any-hover:hover){.wrapper-VB9J73Gf:hover{border-color:var(--_0-IsoO)}}.wrapper-VB9J73Gf.focused-VB9J73Gf{border-color:var(--color-control-intent-primary)}.wrapper-VB9J73Gf.readonly-VB9J73Gf{background-color:var(--_1-IsoO);border-color:var(--_2-IsoO)}.wrapper-VB9J73Gf.disabled-VB9J73Gf{background-color:var(--_3-IsoO);border-color:var(--_5-IsoO);color:var(--_4-IsoO)}.wrapper-VB9J73Gf.size-small-VB9J73Gf{height:24px}.wrapper-VB9J73Gf.size-medium-VB9J73Gf{height:34px}.wrapper-VB9J73Gf.size-large-VB9J73Gf{height:48px}.wrapper-VB9J73Gf.font-size-medium-VB9J73Gf,.wrapper-VB9J73Gf.font-size-small-VB9J73Gf{font-size:14px;line-height:20px}.wrapper-VB9J73Gf.font-size-large-VB9J73Gf{font-size:16px;line-height:24px}.wrapper-VB9J73Gf.border-none-VB9J73Gf{border-width:0}.wrapper-VB9J73Gf.border-none-VB9J73Gf .shadow-VB9J73Gf{margin:0}.wrapper-VB9J73Gf.border-thin-VB9J73Gf{border-width:1px}.wrapper-VB9J73Gf.border-thin-VB9J73Gf .shadow-VB9J73Gf{margin:-1px}.wrapper-VB9J73Gf.border-thick-VB9J73Gf{border-width:2px}.wrapper-VB9J73Gf.border-thick-VB9J73Gf .shadow-VB9J73Gf{margin:-2px}.wrapper-VB9J73Gf.intent-default-VB9J73Gf .shadow-VB9J73Gf{border-color:var(--color-control-intent-default)}.wrapper-VB9J73Gf.intent-success-VB9J73Gf,.wrapper-VB9J73Gf.intent-success-VB9J73Gf .shadow-VB9J73Gf{border-color:var(--color-control-intent-success)}.wrapper-VB9J73Gf.intent-warning-VB9J73Gf,.wrapper-VB9J73Gf.intent-warning-VB9J73Gf .shadow-VB9J73Gf{border-color:var(--color-control-intent-warning)}.wrapper-VB9J73Gf.intent-danger-VB9J73Gf,.wrapper-VB9J73Gf.intent-danger-VB9J73Gf .shadow-VB9J73Gf{border-color:var(--color-control-intent-danger)}.wrapper-VB9J73Gf.intent-primary-VB9J73Gf,.wrapper-VB9J73Gf.intent-primary-VB9J73Gf .shadow-VB9J73Gf{border-color:var(--color-control-intent-primary)}.wrapper-VB9J73Gf.corner-top-left-VB9J73Gf{border-top-right-radius:0}.wrapper-VB9J73Gf.corner-top-right-VB9J73Gf{border-top-left-radius:0}.wrapper-VB9J73Gf.corner-bottom-right-VB9J73Gf{border-bottom-left-radius:0}.wrapper-VB9J73Gf.corner-bottom-left-VB9J73Gf{border-bottom-right-radius:0}.shadow-VB9J73Gf{border:2px solid;border-radius:6px;bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:3}.shadow-VB9J73Gf.corner-top-left-VB9J73Gf{border-top-right-radius:0}.shadow-VB9J73Gf.corner-top-right-VB9J73Gf{border-top-left-radius:0}.shadow-VB9J73Gf.corner-bottom-right-VB9J73Gf{border-bottom-left-radius:0}.shadow-VB9J73Gf.corner-bottom-left-VB9J73Gf{border-bottom-right-radius:0}.childrenContainer-VB9J73Gf.disabled-VB9J73Gf{opacity:.5}.buttonWrap-icygBqe7{display:flex}.desktopSize-icygBqe7{width:354px}.drawer-icygBqe7,.menuBox-icygBqe7{padding:0}
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[1667],{11667:(e,t,i)=>{i.d(t,{LineToolRiskRewardBase:()=>N,registerReversibleTool:()=>E,roundValue:()=>M});var s=i(50279),r=i(50151),n=i(11542),o=i(8025),c=i(93280),a=i(74079),l=i(29875),u=i(76386),h=i(76050),d=i(98558),p=i(19063);class _ extends d.PriceAxisView{constructor(e,t){super(),this._source=e,this._data=t}_updateRendererData(e,t,i){if(e.visible=!1,!this._showAxisLabel())return;const s=this._source.priceScale();if(0===this._source.points().length||null===s||s.isEmpty())return;const r=this._source.ownerSource(),n=null!==r?r.firstValue():null;if(null===n)return;const o=this._data.priceProperty.value(),c=(0,p.resetTransparency)(this._data.colorProperty.value());i.background=c,i.textColor=this.generateTextColor(c),i.coordinate=s.priceToCoordinate(o,n),e.text=s.formatPrice(o,n),e.visible=!0}_showAxisLabel(){return this._source.properties().childs().showPriceLabels.value()||this._source.model().selection().isSelected(this._source)}}var y=i(12988);class P extends y.Property{constructor(e,t){super(),this._lineSource=e,this._pointIndex=t}value(){const e=this._lineSource.points(),t=e[this._pointIndex]?e[this._pointIndex].price:this._lineSource.normalizedPoints()[this._pointIndex].price;return this._formatAndParsePrice(t)}state(){return this.value()}merge(e,t){return this.setValue(e),t?[]:null}_formatAndParsePrice(e){const t=(0,r.ensureNotNull)(this._lineSource.ownerSource()),i=t.defaultFormatter?.()||t.formatter();if(i.parse){const t=i.format(e),s=i.parse(t);return s.res?s.value:e}return e}}class S extends P{constructor(e){super(e,0)}setValue(e){if(this._lineSource.isSourceHidden()){const t=this._lineSource.normalizedPoints();return t[this._pointIndex].price=parseFloat(e.toString()),void this._lineSource.restorePoints(t,[])}const t=this._lineSource.points()[this._pointIndex];this._lineSource.startChanging(this._pointIndex,t),t.price=parseFloat(e.toString()),this._lineSource.setPoint(this._pointIndex,t),this._lineSource.recalculate(),this._lineSource.model().updateSource(this._lineSource),this._listeners.fire(this,""),this._lineSource.endChanging(!1,!1),this._lineSource.syncPriceLevels()}}class v extends P{constructor(e){super(e,1)}value(){const e=this._lineSource.stopPrice();return this._formatAndParsePrice(e)}setValue(e){const t=Math.round(Math.abs(e-this._lineSource.entryPrice())*this._lineSource.ownerSourceBase());this._lineSource.properties().childs().stopLevel.setValue(t),this._lineSource.syncPriceLevels()}}class m extends P{constructor(e){super(e,2)}value(){const e=this._lineSource.profitPrice();return this._formatAndParsePrice(e)}setValue(e){const t=Math.round(Math.abs(e-this._lineSource.entryPrice())*this._lineSource.ownerSourceBase());this._lineSource.properties().childs().profitLevel.setValue(t),this._lineSource.syncPriceLevels()}}var f,g=i(37265),b=i(928),x=i(44672),w=i(77148),C=i(29023),k=i(45126),R=i(64147),L=i(92184),V=i(29137),A=i(19466);function M(e){return parseFloat(e.toFixed(2))}!function(e){
|
|
||||||
e[e.InitialVersion=1]="InitialVersion",e[e.CurrentVersion=2]="CurrentVersion"}(f||(f={}));const I=new Map;function E(e,t){I.set(e,t)}const z=new k.TranslatedString("reverse {tool}",n.t(null,void 0,i(66643)));class N extends l.LineDataSource{constructor(e,t,s,n){super(e,t,s,n),this._hasEditableCoordinates=new R.WatchedValue(!1),this._studySource=null,this._metaInfo=null,this._riskInChange=!1,this._syncStateExclusions.push("points","entryPrice","stopPrice","targetPrice","stopLevel","profitLevel","riskSize","qty","amountTarget","amountStop");const o=this._metaInfo?.inputs.find((e=>"account_currency"===e.id)),a=t.childs().currency.value();o&&!o.options.includes(a)&&t.childs().currency.setValue(o.defval),o&&t.childs().currency.subscribe(this,this._updateStudySource),this.version=2,t.hasChild("stopLevel")||t.hasChild("profitLevel")||(t.addProperty("stopLevel",0),t.addProperty("profitLevel",0),this.ownerSourceChanged().subscribe(this,(()=>{const i=(0,r.ensureNotNull)(e.timeScale().visibleBarsStrictRange()),s=i.firstBar(),n=i.lastBar(),o=(0,r.ensureNotNull)(this.ownerSource()),a=o.priceScale();if(a){let e=(0,r.ensureNotNull)(o.priceRange(s,n,{targetPriceScale:a,scaleSeriesOnly:a?.isScaleSeriesOnly()}));if(a.isLog()){const t=a.logicalToPrice(e.minValue()),i=a.logicalToPrice(e.maxValue());e=new c.PriceRange(t,i)}if(e&&!e.isEmpty()){const i=Math.round(.2*e.length()*this.ownerSourceBase());t.merge({stopLevel:i,profitLevel:i})}}}),!0)),t.hasChild("entryPointCurrencyRate")||t.addProperty("entryPointCurrencyRate",1),t.hasChild("closePointCurrencyRate")||t.addProperty("closePointCurrencyRate",1);const l=t.childs();l.stopLevel.subscribe(this,this.recalculate),l.stopLevel.subscribe(null,(()=>{this.properties().childs().stopPrice.fireChanged()})),l.profitLevel.subscribe(this,this.recalculate),l.profitLevel.subscribe(null,(()=>{this.properties().childs().targetPrice.fireChanged()})),t.addChild("entryPrice",new S(this)),t.addChild("stopPrice",new v(this)),t.addChild("targetPrice",new m(this)),t.hasChild("riskSize")||t.addProperty("riskSize",0),t.hasChild("qty")||t.addProperty("qty",0),t.hasChild("amountTarget")||t.addProperty("amountTarget",l.accountSize.value()),t.hasChild("amountStop")||t.addProperty("amountStop",l.accountSize.value()),["riskSize","qty","amountTarget","amountStop","currency","entryPointCurrencyRate","closePointCurrencyRate"].forEach((e=>{t.addExcludedKey(e,1)})),["qty","amountTarget","amountStop","currency","entryPointCurrencyRate","closePointCurrencyRate"].forEach((e=>{t.addExcludedKey(e,4)})),l.risk.subscribe(this,this._recalculateRiskSize),l.accountSize.subscribe(this,this._recalculateRiskSize),l.riskDisplayMode.subscribe(this,this._recalculateRisk),l.riskDisplayMode.subscribe(this,this._recalculateRiskSize),l.entryPrice.subscribe(this,this._recalculateRiskSize),l.stopPrice.subscribe(this,this._recalculateRiskSize),l.profitLevel.subscribe(this,this._recalculateRiskSize),l.profitLevel.subscribe(this,this.syncPriceLevels.bind(this)),l.stopLevel.subscribe(this,this._recalculateRiskSize),
|
|
||||||
l.stopLevel.subscribe(this,this.syncPriceLevels.bind(this)),l.qty.subscribe(this,this._recalculateRiskSize),this.ownerSourceChanged().subscribe(null,((e,t)=>{e&&e.barsProvider().dataUpdated().unsubscribeAll(this),t&&t.barsProvider().dataUpdated().subscribe(this,this._onSeriesUpdated)})),this.pointAdded().subscribe(this,(e=>{switch(e){case h.RiskRewardPointIndex.Entry:case h.RiskRewardPointIndex.Close:this._recalculateRiskSize(),this._recalculateQty()}this._updateStudySource()})),this.pointChanged().subscribe(this,(e=>{switch(e){case h.RiskRewardPointIndex.Entry:case h.RiskRewardPointIndex.Close:this._recalculateRiskSize(),this._recalculateQty()}this._updateStudySource()})),l.riskDisplayMode.value()===u.RiskDisplayMode.Percentage&&l.risk.value()>100&&l.riskDisplayMode.setValueSilently(u.RiskDisplayMode.Money),l.entryPrice.subscribe(this,this._recalculateQty),l.stopPrice.subscribe(this,this._recalculateQty),l.riskSize.subscribe(this,this._recalculateQty),l.entryPrice.subscribe(this,this._recalculateAmount),l.profitLevel.subscribe(this,this._recalculateAmount),l.stopLevel.subscribe(this,this._recalculateAmount),l.accountSize.subscribe(this,this._recalculateAmount),l.riskSize.subscribe(this,this._recalculateAmount),l.qty.subscribe(this,this._recalculateAmount),this._entryPriceAxisView=new _(this,{colorProperty:l.linecolor,priceProperty:l.entryPrice}),this._stopPriceAxisView=new _(this,{colorProperty:l.stopBackground,priceProperty:l.stopPrice}),this._profitPriceAxisView=new _(this,{colorProperty:l.profitBackground,priceProperty:l.targetPrice}),[l.entryPointCurrencyRate,l.closePointCurrencyRate].forEach((e=>{e.subscribe(this,(()=>{this._recalculateAmount(),this._recalculateRiskSize(),this._recalculateQty()}))})),Promise.all([i.e(6290),i.e(9116),i.e(1200),i.e(1583)]).then(i.bind(i,1971)).then((({RiskRewardPaneView:t})=>{const i=[new t(this,e)];this._setPaneViews(i)}))}destroy(){this.ownerSource()?.barsProvider().dataUpdated().unsubscribeAll(this),this.ownerSourceChanged().unsubscribeAll(this),this._studySource?.destroy(),super.destroy()}availableCurrencies(){const e=(0,r.ensureDefined)(this._metaInfo?.inputs.find((e=>"account_currency"===e.id)));return(0,r.ensureDefined)(e.options)}setOwnerSource(e){super.setOwnerSource(e);const t=this.ownerSource();t&&t.symbolSource().symbolInfo()&&(this._recalculateAmount(),this._recalculateRiskSize(),this._recalculateQty())}pointsCount(){return 2}priceAxisPoints(){if(!this._points.length)return[];const e=this._points[0],t=this._properties.childs();return[{...e,price:t.stopPrice.value()},{...e,price:t.entryPrice.value()},{...e,price:t.targetPrice.value()}]}priceAxisViews(e,t){return this.isSourceHidden()||t!==this.priceScale()||this._model.paneForSource(this)!==e?null:[this._entryPriceAxisView,this._stopPriceAxisView,this._profitPriceAxisView]}updateAllViews(e){this.isActualSymbol()&&this.properties().childs().visible.value()&&((0,b.hideAllDrawings)().value()&&this.userEditEnabled()||(super.updateAllViews(e),this._entryPriceAxisView.update(e),this._stopPriceAxisView.update(e),
|
|
||||||
this._profitPriceAxisView.update(e)))}migrateVersion(e,t,i){if(1===e&&this._points.length>=1){const e=[];e.push(this._points[0]);let t=this._points[0];if(t={price:t.price,index:this._getClosePointIndex(t.index),interval:this._properties.childs().interval.value()},e.push(t),this._points[1]&&e.push(this._points[1]),this._points[2]&&e.push(this._points[2]),this._points=e,this._timePoint.length>=1){const t=[],i=this._timePoint[0];t.push(i);const s={price:i.price,time_t:i.time_t,offset:this._getClosePointIndex(i.offset)};t.push(s),this._timePoint[1]&&e.push(this._points[1]),this._timePoint[2]&&e.push(this._points[2]),this._timePoint=t}}}restoreExternalState(e){if(!(0,g.isNumber)(e.entryPrice))return void super.restoreExternalState(e);let t;if(this.isActualSymbol())t=e;else{const{entryPrice:i,...s}=e,[r]=this._timePoint;r.price=i,t=s}this.properties().merge(t)}addPoint(e,t,i){e.price=this._roundPrice(e.price),super.addPoint(e,void 0,!0);const s={price:e.price,index:this._getClosePointIndex(e.index)};super._addPointIntenal(s,void 0,!0);const r=this._calculateActualEntry(e,s);if(r){super._addPointIntenal(r,void 0,!0);const e=this._findClosePoint(r,s);e&&super._addPointIntenal(e,void 0,!0)}return this._lastPoint=null,this._normalizePoints(),this.createServerPoints(),!0}setPoint(e,t,i,s){if(this.isSourceHidden())return;const r=this.properties().childs();switch(this._muteSyncLineStyle(),e){case 0:this._changeEntryPoint({...t,interval:this._model.mainSeries().interval()});break;case 2:r.stopPrice.setValue(this.prepareStopPrice(t.price));break;case 3:r.targetPrice.setValue(this.prepareProfitPrice(t.price));break;case 1:t.price=this._points[0].price,super.setPoint(1,t),this.recalculate()}this._unmuteSyncLineStyleWithoutApplyingChanges(),s||this.syncPriceLevels()}getPoint(e){if(this.isSourceHidden())return null;switch(e){case 0:return this._points[0];case 1:return{index:this._points[1].index,price:this._points[0].price};case 2:return{index:this._points[0].index,price:this.stopPrice()};case 3:return{index:this._points[0].index,price:this.profitPrice()}}return null}setPoints(e){this.isSourceHidden()||(this._muteSyncLineStyle(),super.setPoints(e),this.recalculate(),this._unmuteSyncLineStyleWithoutApplyingChanges(),this.syncPriceLevels())}start(){super.start(),this.recalculate()}startMoving(e,t,i,s){const n=(0,r.ensureDefined)(e.logical);n.price=this._roundPrice(n.price),super.startMoving(e,t,i)}move(e,t,i,s){const n=(0,r.ensureDefined)(e.logical);n.price=this._roundPrice(n.price),super.move(e,t,i),this.recalculate(),this._entryPriceAxisView.update((0,x.sourceChangeEvent)(this.id()))}axisPoints(){if(!this._points[h.RiskRewardPointIndex.ActualEntry])return[];const e=this._points[h.RiskRewardPointIndex.ActualEntry];let t=null;if(4===this._points.length)t=this._points[h.RiskRewardPointIndex.ActualClose];else{const e=this.lastBarData();if(!e)return[];t={index:e.index,price:e.closePrice}}return[e,t]}recalculateStateByData(){this.recalculate()}recalculate(){if(0===this.points().length)return
|
|
||||||
;const e=this.properties().childs(),t=e.targetPrice.value(),i=e.stopPrice.value(),s=[this._points[0],this._points[1]],r=this._calculateActualEntry(this.points()[0],this.points()[1]),n=this._model.mainSeries().interval();if(r){s.push({...r,interval:n});const e=this._findClosePoint(r,this.points()[1]);e&&s.push({...e,interval:n})}this._points=s,t!==e.targetPrice.value()&&e.targetPrice.fireChanged(),i!==e.stopPrice.value()&&e.stopPrice.fireChanged()}syncPriceLevels(){const e=this.linkKey().value();if(e){const t=this.properties().childs();this._syncLineStyleChanges(e,{entryPrice:t.entryPrice.value(),stopLevel:t.stopLevel.value(),profitLevel:t.profitLevel.value()})}}entryPrice(){const e=this.points();return 0===e.length?this._timePoint[0].price:e[0].price}lastBarData(){const e=this.ownerSource()?.barsProvider();if(!e)return null;const t=e.bars().firstIndex(),i=e.bars().lastIndex();if(null===t||null===i||isNaN(t)||isNaN(i))return null;const s=this.points();if(4===s.length){const e=s[h.RiskRewardPointIndex.ActualClose];return e.index<t?null:{closePrice:e.price,index:Math.min(i,e.index)}}const n=s[h.RiskRewardPointIndex.Close];if(n.index<t)return null;const c=Math.min(i,n.index),a=e.bars().search(c,o.PlotRowSearchMode.NearestLeft);return null===a?null:{closePrice:(0,r.ensure)(a.value[4]),index:a.index}}ownerSourceBase(){const e=this.ownerSource()?.symbolSource().symbolInfo();return e?e.pricescale/e.minmov:100}getOrderTemplate(){return null}template(){const e=this.properties().childs(),t=super.template();return t.stopLevel=e.stopLevel.value(),t.profitLevel=e.profitLevel.value(),t}async additionalActions(e){return{actions:[new C.Action({actionId:"Chart.LineTool.RiskReward.Reverse",options:{checkable:!1,label:n.t(null,void 0,i(64489)),onExecute:()=>{const t=z.format({tool:(0,V.getTranslatedStringForSource)(A.TitleDisplayTarget.StatusLine,this)});e.beginUndoMacro(t);const i=function(e,t){const i=e.points(),s=e.zorder(),n=(0,r.ensureNotNull)(t.model().paneForSource(e)),o=(0,r.ensureNotNull)(e.ownerSource()),c=(0,r.ensureDefined)(I.get(e.toolname)),a=c.propertiesFactory(t.model().backgroundTheme().spawnOwnership(),e.properties().state()),l=e.linkKey().value(),u=l?w.CreateLineToolSyncMode.ForceOn:w.CreateLineToolSyncMode.ForceOff,h=t.createLineTool({pane:n,point:i[0],linkKey:l?(0,L.randomHash)():void 0,linetool:c.targetToolName,properties:a,ownerSource:o,synchronizationMode:u,sharingMode:e.sharingMode().value()});return h&&(t.startChangingLinetool(h,h.points()[1],1),t.changeLinePoint(i[1]),t.endChangingLinetool(!1),t.insertBefore([h],e),h.setZorder(s)),t.removeSource(e,!1),h}(this,e);e.endUndoMacro(),i&&e.model().selectionMacro((e=>{e.addSourceToSelection(i,null)}))}}})],placement:"CustomAction"}}_entryPointCurrencyRate(){return this.properties().childs().entryPointCurrencyRate.value()}_closePointCurrencyRate(){return this.properties().childs().closePointCurrencyRate.value()}_ignoreSourceEvent(e){return super._ignoreSourceEvent(e)&&e.sourceId!==this._model.mainSeries().id()}_applyTemplateImpl(e){
|
|
||||||
const{targetPrice:t,stopPrice:i,entryPrice:s,...r}=e;super._applyTemplateImpl(r);const n=this.properties().childs();void 0!==e.stopLevel&&n.stopLevel.setValue(e.stopLevel),void 0!==e.profitLevel&&n.profitLevel.setValue(e.profitLevel)}_propertiesStateExclusions(){return[...super._propertiesStateExclusions(),"entryPrice","stopPrice","targetPrice"]}_correctPoints(e,t){if(!this.isActualSymbol())return!1;const i=super._correctPoints(e.slice(0,this.pointsCount()),t);for(let t=0;t<e.length;t++){const i=e[t];i.price=this._roundPrice(i.price)}return i}async _getPropertyDefinitionsViewModelClass(){return(await Promise.all([i.e(6406),i.e(3889),i.e(8009),i.e(8056),i.e(8537)]).then(i.bind(i,2243))).RiskRewardDefinitionsViewModel}_recalculateRiskSize(){if(this._riskInChange)return;const e=this.properties().childs(),t=e.risk.value(),i=e.riskDisplayMode.value(),s=e.accountSize.value();i===u.RiskDisplayMode.Percentage?e.riskSize.setValue(t/100*s):t>s?(e.risk.setValue(s),e.riskSize.setValue(s)):e.riskSize.setValue(t)}_roundPrice(e){const t=this.ownerSourceBase();return Math.round(e*t)/t}_ownerSourcePointValue(){return this.ownerSource()?.symbolSource().symbolInfo()?.pointvalue??1}_onSourceHiddenMayChange(){super._onSourceHiddenMayChange(),this._updateStudySource()}static _configureProperties(e){l.LineDataSource._configureProperties(e),e.addExcludedKey("stopLevel",1),e.addExcludedKey("profitLevel",1),e.addExcludedKey("stopPrice",1),e.addExcludedKey("targetPrice",1),e.addExcludedKey("entryPrice",1)}_onSeriesUpdated(e,t,i){this.isSourceHidden()||this._points.length<2||null!==i&&i.index>Math.max(this._points[0].index,this._points[1].index)||this.recalculateStateByData()}_recalculateRisk(){const e=this.properties().childs(),t=e.riskDisplayMode.value(),i=e.riskSize.value(),s=e.accountSize.value();let r=e.risk.value();r=t===u.RiskDisplayMode.Percentage?M(i/s*100):M(s/100*r),this._riskInChange=!0,e.risk.setValue(parseFloat(this._riskFormatter(t).format(r,{ignoreLocaleNumberFormat:!0}))),this._riskInChange=!1}_recalculateAmount(){if(0===this.points().length)return;const e=this.properties().childs(),t=e.accountSize.value(),i=e.entryPrice.value(),s=e.qty.value(),r=e.stopPrice.value(),n=e.targetPrice.value(),o=this._ownerSourcePointValue();e.amountTarget.setValue(this._amountTarget(t,n,i,s,o)),e.amountStop.setValue(this._amountStop(t,r,i,s,o))}_recalculateQty(){if(0===this.points().length)return;const e=this.properties().childs(),t=e.entryPrice.value(),i=e.stopPrice.value(),s=e.riskSize.value(),r=this._entryPointCurrencyRate(),n=null===r?NaN:s/(Math.abs(t-i)*this._ownerSourcePointValue()*r);e.qty.setValue(n)}_calculateActualEntry(e,t){const i=this.ownerSource();if(!i)return null;const s=i.barsProvider().bars();if(s.isEmpty())return null;const n=(0,r.ensureNotNull)(s.firstIndex()),o=Math.max(e.index,n),c=e.price,a=(0,r.ensureNotNull)(s.lastIndex()),l=Math.min(a,t.index-1);for(const e of s.rangeIterator(o,l+1)){const t=e.value;if(null!==t&&(0,r.ensure)(t[2])>=c&&(0,r.ensure)(t[3])<=c)return{index:e.index,price:c}}return null}_riskFormatter(e){
|
|
||||||
return e===u.RiskDisplayMode.Percentage?(0,a.getNumericFormatter)(2):(0,a.getNumericFormatter)()}_getClosePointIndex(e){const t=this._model.timeScale(),i=Math.round(t.width()/t.barSpacing());return e+Math.max(3,Math.round(.15*i))}_findClosePoint(e,t){const i=this.ownerSource();if(!i)return null;const s=i.barsProvider().bars(),n=(0,r.ensureNotNull)(s.firstIndex()),o=Math.max(e.index,n),c=(0,r.ensureNotNull)(s.lastIndex()),a=Math.min(c,t.index-1);for(const e of s.rangeIterator(o,a+1)){const t=e.value;if(null===t)continue;const i=this._checkStopPrice(t);if(null!=i)return{index:e.index,price:i}}return null}_changeEntryPoint(e){const t=this.properties().childs(),i=t.stopPrice.value(),s=t.targetPrice.value(),r=1/this.ownerSourceBase(),n=Math.min(i,s)+r,o=Math.max(i,s)-r;e.price=Math.max(n,Math.min(o,this._roundPrice(e.price))),this.setPoints([e,{...this._points[1],price:e.price}]),t.stopPrice.setValue(i),t.targetPrice.setValue(s)}_updateStudySource(){if(!this._metaInfo)return;const e=this._properties.childs().currency.value(),t=this._model.mainSeries(),i="NONE"!==e&&e!==t.currency()&&!this.isSourceHidden();if(!i&&this._studySource?(this._studySource.destroy(),this._studySource=null,this._properties.childs().entryPointCurrencyRate.setValue(1),this._properties.childs().closePointCurrencyRate.setValue(1)):i&&!this._studySource&&(this._studySource=new RiskRewardStudyDataSource(this._model.chartApi(),t.seriesSource()),this._studySource.nonSeriesData().subscribe((e=>{e&&(this._properties.childs().entryPointCurrencyRate.setValue(e.currency_ratio[0]),this._properties.childs().closePointCurrencyRate.setValue(e.currency_ratio[1]??e.currency_ratio[0]))}))),this._studySource&&this._points.length>=2){const i=this._model.timeScale(),r=t.data().bars().firstIndex(),n=t.data().bars().lastIndex();if(null===r||null===n)return;const o=Math.min(n,Math.max(r,this._points[0].index)),c=Math.min(n,Math.max(r,this._points[1].index)),a=i.indexToTimePoint(o),l=i.indexToTimePoint(c);if(null!==a&&null!==l){const t={...this._studySource.inputs(),start_time:1e3*a,end_time:1e3*l,entry_price:this.entryPrice(),target_price:this.profitPrice(),stop_price:this.stopPrice(),account_currency:e};(0,s.default)(t,this._studySource.inputs())||this._studySource.setInputs(t),this._studySource.isStarted()||this._studySource.start()}}}}},76386:(e,t,i)=>{var s;i.d(t,{RiskDisplayMode:()=>s}),function(e){e.Percentage="percents",e.Money="money"}(s||(s={}))},76050:(e,t,i)=>{var s;i.d(t,{RiskRewardPointIndex:()=>s}),function(e){e[e.Entry=0]="Entry",e[e.Close=1]="Close",e[e.ActualEntry=2]="ActualEntry",e[e.ActualClose=3]="ActualClose"}(s||(s={}))}}]);
|
|
||||||
1
charting_library/bundles/1667.a0f6cab48aafa4924d69.css
Normal file
1
charting_library/bundles/1667.a0f6cab48aafa4924d69.css
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
charting_library/bundles/1681.df517de208b59f042c3b.css
Normal file
1
charting_library/bundles/1681.df517de208b59f042c3b.css
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.menuWrap-Kq3ruQo8{background-color:var(--tv-color-popup-background,var(--color-popup-background));border-radius:6px;box-shadow:0 2px 4px var(--color-shadow-primary-neutral-extra-heavy);box-sizing:border-box;text-align:left;-webkit-user-select:none;user-select:none;z-index:100}.menuWrap-Kq3ruQo8.isMeasuring-Kq3ruQo8{opacity:0;pointer-events:none;position:fixed;visibility:hidden}.menuWrap-Kq3ruQo8:focus{outline:none}.scrollWrap-Kq3ruQo8{height:100%;overflow-x:hidden;overflow-y:auto}.scrollWrap-Kq3ruQo8.momentumBased-Kq3ruQo8{-webkit-overflow-scrolling:touch}.scrollWrap-Kq3ruQo8::-webkit-scrollbar{height:5px;width:5px}.scrollWrap-Kq3ruQo8::-webkit-scrollbar-thumb{background-clip:content-box;background-color:var(--tv-color-scrollbar-thumb-background,var(--color-scroll-bg));border:1px solid #0000;border-radius:3px}.scrollWrap-Kq3ruQo8::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollWrap-Kq3ruQo8::-webkit-scrollbar-corner{display:none}.menuBox-Kq3ruQo8{padding:6px 0}.isHidden-Kq3ruQo8{display:none}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
.menuWrap-Kq3ruQo8{background-color:var(--tv-color-popup-background,var(--color-popup-background));border-radius:6px;box-shadow:0 2px 4px var(--color-shadow-primary-neutral-extra-heavy);box-sizing:border-box;text-align:right;-webkit-user-select:none;user-select:none;z-index:100}.menuWrap-Kq3ruQo8.isMeasuring-Kq3ruQo8{opacity:0;pointer-events:none;position:fixed;visibility:hidden}.menuWrap-Kq3ruQo8:focus{outline:none}.scrollWrap-Kq3ruQo8{height:100%;overflow-x:hidden;overflow-y:auto}.scrollWrap-Kq3ruQo8.momentumBased-Kq3ruQo8{-webkit-overflow-scrolling:touch}.scrollWrap-Kq3ruQo8::-webkit-scrollbar{height:5px;width:5px}.scrollWrap-Kq3ruQo8::-webkit-scrollbar-thumb{background-clip:content-box;background-color:var(--tv-color-scrollbar-thumb-background,var(--color-scroll-bg));border:1px solid #0000;border-radius:3px}.scrollWrap-Kq3ruQo8::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollWrap-Kq3ruQo8::-webkit-scrollbar-corner{display:none}.menuBox-Kq3ruQo8{padding:6px 0}.isHidden-Kq3ruQo8{display:none}
|
||||||
1
charting_library/bundles/1697.042d72d2c0eaafd88d54.css
Normal file
1
charting_library/bundles/1697.042d72d2c0eaafd88d54.css
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[data-theme=light]{--_0-LFvl:var(--color-cold-gray-900);--_1-LFvl:var(--color-cold-gray-150)}[data-theme=dark]{--_0-LFvl:var(--color-cold-gray-350);--_1-LFvl:var(--color-cold-gray-700)}.container-qm7Rg5MB{align-items:center;border-bottom:1px solid;border-top:1px solid;border-color:var(--_1-LFvl);cursor:default;display:flex;flex-shrink:0;position:relative}.container-qm7Rg5MB.mobile-qm7Rg5MB{background-color:var(--color-container-fill-primary-neutral-extra-light);border:none;border-radius:40px;margin:4px 20px 8px}.inputContainer-qm7Rg5MB{height:24px;padding:8px 16px 8px 47px;width:100%}.inputContainer-qm7Rg5MB.mobile-qm7Rg5MB{padding-left:40px}.inputContainer-qm7Rg5MB.withCancel-qm7Rg5MB{padding-right:70px}.input-qm7Rg5MB{background-color:initial;border:none;color:var(--_0-LFvl);font-size:16px;height:100%;margin:0;padding:0;width:100%}.input-qm7Rg5MB.mobile-qm7Rg5MB{color:var(--color-content-primary-neutral-bold)}.input-qm7Rg5MB.mobile-qm7Rg5MB::placeholder{color:var(--color-content-primary-neutral);font-weight:400}.input-qm7Rg5MB::placeholder{color:var(--color-input-placeholder-text);font-weight:400}.icon-qm7Rg5MB{color:var(--color-cold-gray-350);height:28px;left:15px;pointer-events:none;position:absolute;top:calc(50% - 14px)}.icon-qm7Rg5MB.mobile-qm7Rg5MB{color:var(--color-content-primary-neutral);left:8px}.cancel-qm7Rg5MB{color:var(--color-default-gray);position:absolute;right:20px}.cancel-qm7Rg5MB.mobile-qm7Rg5MB{color:var(--color-content-primary-neutral)}.highlighted-cwp8YRo6{color:var(--color-brand)}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[data-theme=light]{--_0-LFvl:var(--color-cold-gray-900);--_1-LFvl:var(--color-cold-gray-150)}[data-theme=dark]{--_0-LFvl:var(--color-cold-gray-350);--_1-LFvl:var(--color-cold-gray-700)}.container-qm7Rg5MB{align-items:center;border-bottom:1px solid;border-top:1px solid;border-color:var(--_1-LFvl);cursor:default;display:flex;flex-shrink:0;position:relative}.container-qm7Rg5MB.mobile-qm7Rg5MB{background-color:var(--color-container-fill-primary-neutral-extra-light);border:none;border-radius:40px;margin:4px 20px 8px}.inputContainer-qm7Rg5MB{height:24px;padding:8px 47px 8px 16px;width:100%}.inputContainer-qm7Rg5MB.mobile-qm7Rg5MB{padding-right:40px}.inputContainer-qm7Rg5MB.withCancel-qm7Rg5MB{padding-left:70px}.input-qm7Rg5MB{background-color:initial;border:none;color:var(--_0-LFvl);font-size:16px;height:100%;margin:0;padding:0;width:100%}.input-qm7Rg5MB.mobile-qm7Rg5MB{color:var(--color-content-primary-neutral-bold)}.input-qm7Rg5MB.mobile-qm7Rg5MB::placeholder{color:var(--color-content-primary-neutral);font-weight:400}.input-qm7Rg5MB::placeholder{color:var(--color-input-placeholder-text);font-weight:400}.icon-qm7Rg5MB{color:var(--color-cold-gray-350);height:28px;pointer-events:none;position:absolute;right:15px;top:calc(50% - 14px)}.icon-qm7Rg5MB.mobile-qm7Rg5MB{color:var(--color-content-primary-neutral);right:8px}.cancel-qm7Rg5MB{color:var(--color-default-gray);left:20px;position:absolute}.cancel-qm7Rg5MB.mobile-qm7Rg5MB{color:var(--color-content-primary-neutral)}.highlighted-cwp8YRo6{color:var(--color-brand)}
|
||||||
12
charting_library/bundles/1727.98e9d718a90f5c1c2f73.js
Normal file
12
charting_library/bundles/1727.98e9d718a90f5c1c2f73.js
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[1727],{16499:e=>{e.exports={favorite:"favorite-_FRQhM5Y",hovered:"hovered-_FRQhM5Y",disabled:"disabled-_FRQhM5Y",focused:"focused-_FRQhM5Y",active:"active-_FRQhM5Y",checked:"checked-_FRQhM5Y"}},74670:(e,o,l)=>{"use strict";l.d(o,{useActiveDescendant:()=>n});var t=l(50959),i=l(39416);function n(e,o=[]){const[l,n]=(0,t.useState)(!1),a=(0,i.useFunctionalRefObject)(e);return(0,t.useLayoutEffect)((()=>{const e=a.current;if(null===e)return;const o=e=>{switch(e.type){case"active-descendant-focus":n(!0);break;case"active-descendant-blur":n(!1)}};return e.addEventListener("active-descendant-focus",o),e.addEventListener("active-descendant-blur",o),()=>{e.removeEventListener("active-descendant-focus",o),e.removeEventListener("active-descendant-blur",o)}}),o),[a,l]}},71402:(e,o,l)=>{"use strict";l.d(o,{RemoveTitleType:()=>t,removeTitlesMap:()=>n});var t,i=l(11542);!function(e){e.Add="add",e.Remove="remove"}(t||(t={}));const n={[t.Add]:i.t(null,void 0,l(69207)),[t.Remove]:i.t(null,void 0,l(85106))}},36189:(e,o,l)=>{"use strict";l.d(o,{FavoriteButton:()=>d});var t=l(50959),i=l(97754),n=l.n(i),a=l(9745),r=l(71402),s=l(74670),c=l(39146),v=l(48010),h=l(16499);function d(e){const{className:o,isFilled:l,isActive:i,onClick:d,title:m,...u}=e,[g,L]=(0,s.useActiveDescendant)(null),T=m??(l?r.removeTitlesMap[r.RemoveTitleType.Remove]:r.removeTitlesMap[r.RemoveTitleType.Add]);return(0,t.useLayoutEffect)((()=>{const e=g.current;e instanceof HTMLElement&&T&&e.dispatchEvent(new CustomEvent("common-tooltip-update"))}),[T,g]),t.createElement(a.Icon,{...u,className:n()(h.favorite,"apply-common-tooltip",l&&h.checked,i&&h.active,L&&h.focused,o),onClick:d,icon:l?c:v,title:T,ariaLabel:T,ref:g})}},73607:(e,o,l)=>{"use strict";l.d(o,{focusFirstMenuItem:()=>v,handleAccessibleMenuFocus:()=>s,handleAccessibleMenuKeyDown:()=>c,queryMenuElements:()=>m});var t=l(22692),i=l(33647),n=l(68335),a=l(15754);const r=[37,39,38,40];function s(e,o){if(!e.target)return;const l=e.relatedTarget?.getAttribute("aria-activedescendant");if(e.relatedTarget!==o.current){const e=l&&document.getElementById(l);if(!e||e!==o.current)return}v(e.target)}function c(e){if(e.defaultPrevented)return;const o=(0,n.hashFromEvent)(e);if(!r.includes(o))return;const l=document.activeElement;if(!(document.activeElement instanceof HTMLElement))return;const a=m(e.currentTarget).sort(t.navigationOrderComparator);if(0===a.length)return;const s=document.activeElement.closest('[data-role="menuitem"]')||document.activeElement.parentElement?.querySelector('[data-role="menuitem"]');if(!(s instanceof HTMLElement))return;const c=a.indexOf(s);if(-1===c)return;const v=u(s),g=v.indexOf(document.activeElement),L=-1!==g,T=e=>{l&&(0,i.becomeSecondaryElement)(l),(0,i.becomeMainElement)(e),e.focus()};switch((0,t.mapKeyCodeToDirection)(o)){case"inlinePrev":if(!v.length)return;e.preventDefault(),T(0===g?a[c]:L?h(v,g,-1):v[v.length-1]);break;case"inlineNext":if(!v.length)return;e.preventDefault(),g===v.length-1?T(a[c]):T(L?h(v,g,1):v[0]);break
|
||||||
|
;case"blockPrev":{e.preventDefault();const o=h(a,c,-1);if(L){const e=d(o,g);T(e||o);break}T(o);break}case"blockNext":{e.preventDefault();const o=h(a,c,1);if(L){const e=d(o,g);T(e||o);break}T(o)}}}function v(e){const[o]=m(e);o&&((0,i.becomeMainElement)(o),o.focus())}function h(e,o,l){return e[(o+e.length+l)%e.length]}function d(e,o){const l=u(e);return l.length?l[(o+l.length)%l.length]:null}function m(e){return Array.from(e.querySelectorAll('[data-role="menuitem"]:not([disabled]):not([aria-disabled])')).filter((0,a.createScopedVisibleElementFilter)(e))}function u(e){return Array.from(e.querySelectorAll("[tabindex]:not([disabled]):not([aria-disabled])")).filter((0,a.createScopedVisibleElementFilter)(e))}},70173:(e,o,l)=>{"use strict";l.d(o,{drawingToolsIcons:()=>t});const t={SyncDrawing:l(99088),arrow:l(63743),cursor:l(18953),dot:l(72196),demonstration:l(54780),performance:"",drawginmode:l(52459),drawginmodeActive:l(63975),eraser:l(27999),group:l(34059),hideAllDrawings:l(45820),hideAllDrawingsActive:l(84959),hideAllIndicators:l(42321),hideAllIndicatorsActive:l(75895),hideAllDrawingTools:l(93756),hideAllDrawingToolsActive:l(42650),hideAllPositionsTools:l(57313),hideAllPositionsToolsActive:l(65162),lockAllDrawings:l(91244),lockAllDrawingsActive:l(65186),magnet:l(68385),heart:l(10862),smile:l(7636),sticker:l(62567),strongMagnet:l(46049),measure:l(88518),removeAllDrawingTools:l(93544),showObjectsTree:l(36515),zoom:l(6894),"zoom-out":l(45360)}},84902:(e,o,l)=>{"use strict";l.d(o,{isLineTool:()=>d,isLineToolOption:()=>m,isLineToolSwitcherOption:()=>u,isLineToolsGroupWithSections:()=>h,lineTools:()=>v,lineToolsFlat:()=>g});var t=l(11542),i=l(49483),n=l(37103),a=l(57340),r=l(87465);const s=n.enabled("image_drawingtool"),c=!i.CheckMobile.any()&&n.enabled("long_press_floating_tooltip"),v=[{id:"linetool-group-cursors",title:t.t(null,void 0,l(81578)),sections:[{items:[{name:"cursor"},{name:"dot"},{name:"arrow"},{name:"demonstration"},null].filter(r.isExistent)},{items:[{name:"eraser"},c?{type:"switcher",reactKey:"values-tooltip-on-long-press",label:t.t(null,void 0,l(84145)),value:"valuesTooltipOnLongPress",watchedValue:a.chartFloatingTooltipEnabledWV}:null].filter(r.isExistent)}],trackLabel:null},{id:"linetool-group-trend-line",title:t.t(null,void 0,l(48773)),sections:[{title:t.t(null,void 0,l(56982)),items:[{name:"LineToolTrendLine"},{name:"LineToolRay"},{name:"LineToolInfoLine"},{name:"LineToolExtended"},{name:"LineToolTrendAngle"},{name:"LineToolHorzLine"},{name:"LineToolHorzRay"},{name:"LineToolVertLine"},{name:"LineToolCrossLine"}]},{title:t.t(null,void 0,l(59934)),items:[{name:"LineToolParallelChannel"},{name:"LineToolRegressionTrend"},{name:"LineToolFlatBottom"},{name:"LineToolDisjointAngle"}]},{title:t.t(null,void 0,l(36167)),items:[{name:"LineToolPitchfork"},{name:"LineToolSchiffPitchfork2"},{name:"LineToolSchiffPitchfork"},{name:"LineToolInsidePitchfork"}]}],trackLabel:null},{id:"linetool-group-gann-and-fibonacci",title:t.t(null,void 0,l(2654)),sections:[{title:t.t(null,void 0,l(26578)),items:[{
|
||||||
|
name:"LineToolFibRetracement"},{name:"LineToolTrendBasedFibExtension"},{name:"LineToolFibChannel"},{name:"LineToolFibTimeZone"},{name:"LineToolFibSpeedResistanceFan"},{name:"LineToolTrendBasedFibTime"},{name:"LineToolFibCircles"},{name:"LineToolFibSpiral"},{name:"LineToolFibSpeedResistanceArcs"},{name:"LineToolFibWedge"},{name:"LineToolPitchfan"}]},{title:t.t(null,void 0,l(51494)),items:[{name:"LineToolGannSquare"},{name:"LineToolGannFixed"},{name:"LineToolGannComplex"},{name:"LineToolGannFan"}]}],trackLabel:null},{id:"linetool-group-patterns",title:t.t(null,void 0,l(46417)),sections:[{title:t.t(null,void 0,l(46417)),items:[{name:"LineTool5PointsPattern"},{name:"LineToolCypherPattern"},{name:"LineToolHeadAndShoulders"},{name:"LineToolABCD"},{name:"LineToolTrianglePattern"},{name:"LineToolThreeDrivers"}]},{title:t.t(null,void 0,l(44255)),items:[{name:"LineToolElliottImpulse"},{name:"LineToolElliottCorrection"},{name:"LineToolElliottTriangle"},{name:"LineToolElliottDoubleCombo"},{name:"LineToolElliottTripleCombo"}]},{title:t.t(null,void 0,l(77915)),items:[{name:"LineToolCircleLines"},{name:"LineToolTimeCycles"},{name:"LineToolSineLine"}]}],trackLabel:null},{id:"linetool-group-prediction-and-measurement",title:t.t(null,void 0,l(1410)),sections:[{title:t.t(null,void 0,l(75747)),items:[{name:"LineToolRiskRewardLong"},{name:"LineToolRiskRewardShort"},{name:"LineToolPrediction"},{name:"LineToolBarsPattern"},{name:"LineToolGhostFeed"},{name:"LineToolProjection"}].filter(r.isExistent)},{title:t.t(null,void 0,l(69260)),items:[{name:"LineToolAnchoredVWAP"},{name:"LineToolFixedRangeVolumeProfile"},null].filter(r.isExistent)},{title:t.t(null,void 0,l(97050)),items:[{name:"LineToolPriceRange"},{name:"LineToolDateRange"},{name:"LineToolDateAndPriceRange"}]}],trackLabel:null},{id:"linetool-group-geometric-shapes",title:t.t(null,void 0,l(22145)),sections:[{title:t.t(null,void 0,l(65695)),items:[{name:"LineToolBrush"},{name:"LineToolHighlighter"}]},{title:t.t(null,void 0,l(19147)),items:[{name:"LineToolArrowMarker"},{name:"LineToolArrow"},{name:"LineToolArrowMarkUp"},{name:"LineToolArrowMarkDown"},{name:"LineToolArrowMarkLeft"},{name:"LineToolArrowMarkRight"}].filter(r.isExistent)},{title:t.t(null,void 0,l(65781)),items:[{name:"LineToolRectangle"},{name:"LineToolRotatedRectangle"},{name:"LineToolPath"},{name:"LineToolCircle"},{name:"LineToolEllipse"},{name:"LineToolPolyline"},{name:"LineToolTriangle"},{name:"LineToolArc"},{name:"LineToolBezierQuadro"},{name:"LineToolBezierCubic"}]}],trackLabel:null},{id:"linetool-group-annotation",title:t.t(null,void 0,l(32064)),sections:[{title:t.t(null,void 0,l(65831)),items:[{name:"LineToolText"},{name:"LineToolTextAbsolute"},{name:"LineToolTextNote"},{name:"LineToolPriceNote"},{name:"LineToolNote"},{name:"LineToolTable"},{name:"LineToolCallout"},{name:"LineToolComment"},{name:"LineToolPriceLabel"},{name:"LineToolSignpost"},{name:"LineToolFlagMark"}].filter(r.isExistent)},{title:t.t(null,void 0,l(93111)),items:[s?{name:"LineToolImage"}:null,null,null].filter(r.isExistent)}],trackLabel:null}]
|
||||||
|
;function h(e){return"sections"in e}function d(e){return"name"in e}function m(e){return"type"in e}function u(e){return m(e)&&"switcher"===e.type}const g=v.map((function(e){return h(e)?e.sections.map((e=>e.items.filter(d))).flat():e.items.filter(d)})).flat()},18117:(e,o,l)=>{"use strict";l.d(o,{lineToolsInfo:()=>f});var t=l(50151),i=l(11542),n=l(61814),a=(l(40167),l(44341)),r=l(70173);const s={SyncDrawing:i.t(null,void 0,l(59377)),arrow:i.t(null,void 0,l(11858)),cursor:i.t(null,void 0,l(6969)),demonstration:i.t(null,void 0,l(14939)),dot:i.t(null,void 0,l(57157)),performance:i.t(null,void 0,l(35553)),drawginmode:i.t(null,void 0,l(99901)),eraser:i.t(null,void 0,l(8727)),group:i.t(null,void 0,l(3154)),hideAllDrawings:i.t(null,void 0,l(52563)),lockAllDrawings:i.t(null,void 0,l(79451)),magnet:i.t(null,void 0,l(81396)),measure:i.t(null,void 0,l(91563)),removeAllDrawingTools:i.t(null,void 0,l(57118)),showObjectsTree:i.t(null,void 0,l(85786)),zoom:i.t(null,void 0,l(55774)),"zoom-out":i.t(null,void 0,l(37310))};var c=l(56876),v=l(68335),h=l(81360);const d=(0,v.humanReadableModifiers)(v.Modifiers.Shift,!1).trim(),m=(0,v.humanReadableModifiers)(v.Modifiers.Alt,!1).trim(),u=(0,v.humanReadableModifiers)(v.Modifiers.Mod,!1).trim(),g={keys:[d],text:i.t(null,void 0,l(23369))},L={keys:[d],text:i.t(null,void 0,l(13798))},T={keys:[d],text:i.t(null,void 0,l(10539))},w={LineTool5PointsPattern:{},LineToolABCD:{},LineToolArc:{},LineToolArrow:{},LineToolArrowMarkDown:{},LineToolArrowMarkLeft:{},LineToolArrowMarkRight:{},LineToolArrowMarkUp:{},LineToolComment:{},LineToolBarsPattern:{},LineToolBezierCubic:{},LineToolBezierQuadro:{},LineToolBrush:{},LineToolCallout:{},LineToolCircleLines:{},LineToolCypherPattern:{},LineToolDateAndPriceRange:{},LineToolDateRange:{},LineToolDisjointAngle:{hotKey:(0,n.hotKeySerialize)(g)},LineToolElliottCorrection:{},LineToolElliottDoubleCombo:{},LineToolElliottImpulse:{},LineToolElliottTriangle:{},LineToolElliottTripleCombo:{},LineToolEllipse:{hotKey:(0,n.hotKeySerialize)(L)},LineToolExtended:{},LineToolFibChannel:{},LineToolFibCircles:{hotKey:(0,n.hotKeySerialize)(L)},LineToolFibRetracement:{},LineToolFibSpeedResistanceArcs:{},LineToolFibSpeedResistanceFan:{hotKey:(0,n.hotKeySerialize)(T)},LineToolFibSpiral:{},LineToolFibTimeZone:{},LineToolFibWedge:{},LineToolFlagMark:{},LineToolFlatBottom:{hotKey:(0,n.hotKeySerialize)(g)},LineToolAnchoredVWAP:{},LineToolGannComplex:{},LineToolGannFixed:{},LineToolGannFan:{},LineToolGannSquare:{hotKey:(0,n.hotKeySerialize)({keys:[d],text:i.t(null,void 0,l(83042))})},LineToolHeadAndShoulders:{},LineToolHorzLine:{hotKey:(0,n.hotKeySerialize)({keys:[m,"H"],text:"{0} + {1}"})},LineToolHorzRay:{},LineToolIcon:{},LineToolImage:{},LineToolEmoji:{},LineToolSticker:{},LineToolInsidePitchfork:{},LineToolNote:{},LineToolSignpost:{},LineToolParallelChannel:{hotKey:(0,n.hotKeySerialize)(g)},LineToolPitchfan:{},LineToolPitchfork:{},LineToolPolyline:{},LineToolPath:{},LineToolPrediction:{},LineToolPriceLabel:{},LineToolPriceNote:{hotKey:(0,n.hotKeySerialize)(g)},LineToolTextNote:{},
|
||||||
|
LineToolArrowMarker:{},LineToolPriceRange:{},LineToolProjection:{},LineToolRay:{},LineToolRectangle:{hotKey:(0,n.hotKeySerialize)({keys:[d],text:i.t(null,void 0,l(10539))})},LineToolCircle:{},LineToolRegressionTrend:{},LineToolRiskRewardLong:{},LineToolRiskRewardShort:{},LineToolFixedRangeVolumeProfile:{},LineToolRotatedRectangle:{hotKey:(0,n.hotKeySerialize)(g)},LineToolSchiffPitchfork:{},LineToolSchiffPitchfork2:{},LineToolSineLine:{},LineToolText:{},LineToolTextAbsolute:{},LineToolThreeDrivers:{},LineToolTimeCycles:{},LineToolTrendAngle:{hotKey:(0,n.hotKeySerialize)(g)},LineToolTrendBasedFibExtension:{},LineToolTrendBasedFibTime:{},LineToolTrendLine:{hotKey:(0,n.hotKeySerialize)(g)},LineToolInfoLine:{},LineToolTriangle:{},LineToolTrianglePattern:{},LineToolVertLine:{hotKey:(0,n.hotKeySerialize)({keys:[m,"V"],text:"{0} + {1}"})},LineToolCrossLine:{},LineToolHighlighter:{},LineToolGhostFeed:{},LineToolTable:{},SyncDrawing:{iconActive:r.drawingToolsIcons.SyncDrawingActive},arrow:{},cursor:{},dot:{},demonstration:{hotKey:(0,n.hotKeySerialize)({keys:[m],text:i.t(null,void 0,l(42633))})},drawginmode:{iconActive:r.drawingToolsIcons.drawginmodeActive},eraser:{},group:{},hideAllDrawings:{iconActive:r.drawingToolsIcons.hideAllDrawingsActive,hotKey:(0,n.hotKeySerialize)({keys:[u,m,"H"],text:"{0} + {1} + {2}"})},lockAllDrawings:{iconActive:r.drawingToolsIcons.lockAllDrawingsActive},magnet:{hotKey:(0,n.hotKeySerialize)({keys:[u],text:"{0}"})},measure:{hotKey:(0,n.hotKeySerialize)({keys:[d],text:i.t(null,void 0,l(92949))})},removeAllDrawingTools:{},showObjectsTree:{},zoom:{},"zoom-out":{}};const f={};Object.entries(w).map((([e,o])=>{const l=a.lineToolsIcons[e]??r.drawingToolsIcons[e];(0,t.assert)(!!l,`Icon is not defined for drawing "${e}"`);const i=c.lineToolsLocalizedNames[e]??s[e];(0,t.assert)(!!i,`Localized name is not defined for drawing "${e}"`);return{...o,name:e,icon:l,localizedName:i,selectHotkey:h.lineToolsSelectHotkeys[e]}})).forEach((e=>{f[e.name]=e}))},6519:(e,o,l)=>{"use strict";l.d(o,{LinetoolsFavoritesStore:()=>c});var t=l(48096),i=l(87465),n=l(1765);const a=["LineToolBalloon","LineToolNoteAbsolute",null,null].filter(i.isExistent),r=!1;var s,c;!function(e){function o(){e.favorites=[];let o=!1;const t=Boolean(void 0===(0,n.getValue)("chart.favoriteDrawings")),s=(0,n.getJSON)("chart.favoriteDrawings",[]);if(0===s.length&&t&&"undefined"!=typeof window){const e=JSON.parse(window.urlParams?.favorites??"{}").drawingTools;e&&Array.isArray(e)&&s.push(...e)}s.forEach(((t,i)=>{const n=t.tool||t;l(n)?a.includes(n)?o=!0:e.favorites.push(n):r&&r.includes(n)&&e.hiddenToolsPositions.set(n,i)})),o&&i(),e.favoritesSynced.fire()}function l(e){return"string"==typeof e&&""!==e&&!(r&&r.includes(e))}function i(o){const l=e.favorites.slice();e.hiddenToolsPositions.forEach(((e,o)=>{l.splice(e,0,o)})),(0,n.setJSON)("chart.favoriteDrawings",l,o)}e.favorites=[],e.favoritesSynced=new t.Delegate,e.hiddenToolsPositions=new Map,e.favoriteIndex=function(o){return e.favorites.indexOf(o)},e.isValidLineToolName=l,e.saveFavorites=i,o(),
|
||||||
|
n.onSync.subscribe(null,o)}(s||(s={})),function(e){function o(e){return s.isValidLineToolName(e)}function l(){return s.favorites.length}function i(e){return-1!==s.favoriteIndex(e)}e.favoriteAdded=new t.Delegate,e.favoriteRemoved=new t.Delegate,e.favoriteMoved=new t.Delegate,e.favoritesSynced=s.favoritesSynced,e.favorites=function(){return s.favorites.slice()},e.isValidLineToolName=o,e.favoritesCount=l,e.favorite=function(e){return e<0||e>=l()?"":s.favorites[e]},e.addFavorite=function(l,t){return!(i(l)||!o(l)||"performance"===l)&&(s.favorites.push(l),s.saveFavorites(t),e.favoriteAdded.fire(l),!0)},e.removeFavorite=function(o,l){const t=s.favoriteIndex(o);if(-1===t)return!1;s.favorites.splice(t,1);const i=s.hiddenToolsPositions;return i.forEach(((e,o)=>{e>t&&i.set(o,e-1)})),s.saveFavorites(l),e.favoriteRemoved.fire(o),!0},e.isFavorite=i,e.moveFavorite=function(t,i,n){if(i<0||i>=l()||!o(t))return!1;const a=s.favoriteIndex(t);if(-1===a||i===a)return!1;const r=s.hiddenToolsPositions;return r.forEach(((e,o)=>{a<e&&i>e?e--:i<e&&a>e&&e++,r.set(o,e)})),s.favorites.splice(a,1),s.favorites.splice(i,0,t),s.saveFavorites(n),e.favoriteMoved.fire(t,a,i),!0}}(c||(c={}))},54780:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28" fill="currentColor"><path d="m11.26 21 3.65-4.78 6.09-.66L10 8zm3.09-5.71-2.33 3.05-.8-8.3 7.02 4.82z"/><path fill-rule="evenodd" d="M25 14a11 11 0 1 1-22 0 11 11 0 0 1 22 0m-1 0a10 10 0 1 1-20 0 10 10 0 0 1 20 0"/></svg>'},52459:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" d="M17.27 4.56a2.5 2.5 0 0 0-3.54 0l-.58.59-9 9-1 1-.15.14V20h4.7l.15-.15 1-1 9-9 .59-.58a2.5 2.5 0 0 0 0-3.54l-1.17-1.17Zm-2.83.7a1.5 1.5 0 0 1 2.12 0l1.17 1.18a1.5 1.5 0 0 1 0 2.12l-.23.23-3.3-3.29.24-.23Zm-.94.95 3.3 3.29-8.3 8.3-3.3-3.3 8.3-8.3Zm-9 9 3.3 3.29-.5.5H4v-3.3l.5-.5Zm16.5.29a1.5 1.5 0 0 0-3 0V18h4.5c.83 0 1.5.67 1.5 1.5v4c0 .83-.67 1.5-1.5 1.5h-6a1.5 1.5 0 0 1-1.5-1.5v-4c0-.83.67-1.5 1.5-1.5h.5v-2.5a2.5 2.5 0 0 1 5 0v.5h-1v-.5ZM16.5 19a.5.5 0 0 0-.5.5v4c0 .28.22.5.5.5h6a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-6Zm2.5 4v-2h1v2h-1Z"/></svg>'},63975:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" d="M17.27 4.56a2.5 2.5 0 0 0-3.54 0l-.58.59-9 9-1 1-.15.14V20h4.7l.15-.15 1-1 9-9 .59-.58a2.5 2.5 0 0 0 0-3.54l-1.17-1.17Zm-2.83.7a1.5 1.5 0 0 1 2.12 0l1.17 1.18a1.5 1.5 0 0 1 0 2.12l-.23.23-3.3-3.29.24-.23Zm-.94.95 3.3 3.29-8.3 8.3-3.3-3.3 8.3-8.3Zm-9 9 3.3 3.29-.5.5H4v-3.3l.5-.5Zm16.5.29a1.5 1.5 0 0 0-3 0V18h3v-2.5Zm1 0V18h.5c.83 0 1.5.67 1.5 1.5v4c0 .83-.67 1.5-1.5 1.5h-6a1.5 1.5 0 0 1-1.5-1.5v-4c0-.83.67-1.5 1.5-1.5h.5v-2.5a2.5 2.5 0 0 1 5 0ZM16.5 19a.5.5 0 0 0-.5.5v4c0 .28.22.5.5.5h6a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-6Zm2.5 4v-2h1v2h-1Z"/></svg>'},34059:e=>{
|
||||||
|
e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30" width="30" height="30"><path fill="currentColor" d="M5.5 13A2.5 2.5 0 0 0 3 15.5 2.5 2.5 0 0 0 5.5 18 2.5 2.5 0 0 0 8 15.5 2.5 2.5 0 0 0 5.5 13zm9.5 0a2.5 2.5 0 0 0-2.5 2.5A2.5 2.5 0 0 0 15 18a2.5 2.5 0 0 0 2.5-2.5A2.5 2.5 0 0 0 15 13zm9.5 0a2.5 2.5 0 0 0-2.5 2.5 2.5 2.5 0 0 0 2.5 2.5 2.5 2.5 0 0 0 2.5-2.5 2.5 2.5 0 0 0-2.5-2.5z"/></svg>'},63743:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" d="M11.682 16.09l3.504 6.068 1.732-1-3.497-6.057 3.595-2.1L8 7.74v10.512l3.682-2.163zm-.362 1.372L7 20V6l12 7-4.216 2.462 3.5 6.062-3.464 2-3.5-6.062z"/></svg>'},18953:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><g fill="currentColor"><path d="M18 15h8v-1h-8z"/><path d="M14 18v8h1v-8zM14 3v8h1v-8zM3 15h8v-1h-8z"/></g></svg>'},72196:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><circle fill="currentColor" cx="14" cy="14" r="3"/></svg>'},27999:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 29 31" width="29" height="31"><g fill="currentColor" fill-rule="nonzero"><path d="M15.3 22l8.187-8.187c.394-.394.395-1.028.004-1.418l-4.243-4.243c-.394-.394-1.019-.395-1.407-.006l-11.325 11.325c-.383.383-.383 1.018.007 1.407l1.121 1.121h7.656zm-9.484-.414c-.781-.781-.779-2.049-.007-2.821l11.325-11.325c.777-.777 2.035-.78 2.821.006l4.243 4.243c.781.781.78 2.048-.004 2.832l-8.48 8.48h-8.484l-1.414-1.414z"/><path d="M13.011 22.999h7.999v-1h-7.999zM13.501 11.294l6.717 6.717.707-.707-6.717-6.717z"/></g></svg>'},10862:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" fill-rule="evenodd" d="M24.13 14.65a6.2 6.2 0 0 0-.46-9.28c-2.57-2.09-6.39-1.71-8.75.6l-.92.91-.92-.9c-2.36-2.32-6.18-2.7-8.75-.61a6.2 6.2 0 0 0-.46 9.28l9.07 8.92c.58.57 1.53.57 2.12 0l9.07-8.92Zm-9.77 8.2 9.07-8.91a5.2 5.2 0 0 0-.39-7.8c-2.13-1.73-5.38-1.45-7.42.55L14 8.29l-1.62-1.6c-2.03-2-5.29-2.28-7.42-.55a5.2 5.2 0 0 0-.4 7.8l9.08 8.91c.2.2.52.2.72 0Z"/></svg>'},68385:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><g fill="currentColor" fill-rule="evenodd"><path fill-rule="nonzero" d="M14 10a2 2 0 0 0-2 2v11H6V12c0-4.416 3.584-8 8-8s8 3.584 8 8v11h-6V12a2 2 0 0 0-2-2zm-3 2a3 3 0 0 1 6 0v10h4V12c0-3.864-3.136-7-7-7s-7 3.136-7 7v10h4V12z"/><path d="M6.5 18h5v1h-5zm10 0h5v1h-5z"/></g></svg>'},88518:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28"><path fill="currentColor" d="M2 9.75a1.5 1.5 0 0 0-1.5 1.5v5.5a1.5 1.5 0 0 0 1.5 1.5h24a1.5 1.5 0 0 0 1.5-1.5v-5.5a1.5 1.5 0 0 0-1.5-1.5zm0 1h3v2.5h1v-2.5h3.25v3.9h1v-3.9h3.25v2.5h1v-2.5h3.25v3.9h1v-3.9H22v2.5h1v-2.5h3a.5.5 0 0 1 .5.5v5.5a.5.5 0 0 1-.5.5H2a.5.5 0 0 1-.5-.5v-5.5a.5.5 0 0 1 .5-.5z" transform="rotate(-45 14 14)"/></svg>'},36515:e=>{
|
||||||
|
e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><g fill="currentColor"><path fill-rule="nonzero" d="M14 18.634l-.307-.239-7.37-5.73-2.137-1.665 9.814-7.633 9.816 7.634-.509.394-1.639 1.269-7.667 5.969zm7.054-6.759l1.131-.876-8.184-6.366-8.186 6.367 1.123.875 7.063 5.491 7.054-5.492z"/><path d="M7 14.5l-1 .57 8 6.43 8-6.5-1-.5-7 5.5z"/><path d="M7 17.5l-1 .57 8 6.43 8-6.5-1-.5-7 5.5z"/></g></svg>'},7636:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" d="M4.05 14a9.95 9.95 0 1 1 19.9 0 9.95 9.95 0 0 1-19.9 0ZM14 3a11 11 0 1 0 0 22 11 11 0 0 0 0-22Zm-3 13.03a.5.5 0 0 1 .64.3 2.5 2.5 0 0 0 4.72 0 .5.5 0 0 1 .94.34 3.5 3.5 0 0 1-6.6 0 .5.5 0 0 1 .3-.64Zm.5-4.53a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm5 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z"/></svg>'},62567:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" fill-rule="evenodd" d="M7 4h14a3 3 0 0 1 3 3v11c0 .34-.03.67-.08 1H20.3c-1.28 0-2.31.97-2.31 2.24V24H7a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3Zm12 19.92A6 6 0 0 0 23.66 20H20.3c-.77 0-1.31.48-1.31 1.24v2.68ZM3 7a4 4 0 0 1 4-4h14a4 4 0 0 1 4 4v11a7 7 0 0 1-7 7H7a4 4 0 0 1-4-4V7Zm8 9.03a.5.5 0 0 1 .64.3 2.5 2.5 0 0 0 4.72 0 .5.5 0 0 1 .94.34 3.5 3.5 0 0 1-6.6 0 .5.5 0 0 1 .3-.64Zm.5-4.53a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm5 0a1 1 0 1 0 0 2 1 1 0 0 0 0-2Z"/></svg>'},46049:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" fill-rule="nonzero" d="M14 5a7 7 0 0 0-7 7v3h4v-3a3 3 0 1 1 6 0v3h4v-3a7 7 0 0 0-7-7zm7 11h-4v3h4v-3zm-10 0H7v3h4v-3zm-5-4a8 8 0 1 1 16 0v8h-6v-8a2 2 0 1 0-4 0v8H6v-8zm3.293 11.294l-1.222-2.037.858-.514 1.777 2.963-2 1 1.223 2.037-.858.514-1.778-2.963 2-1zm9.778-2.551l.858.514-1.223 2.037 2 1-1.777 2.963-.858-.514 1.223-2.037-2-1 1.777-2.963z"/></svg>'},99088:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><g fill="currentColor"><path fill-rule="nonzero" d="M15.039 5.969l-.019-.019-2.828 2.828.707.707 2.474-2.474c1.367-1.367 3.582-1.367 4.949 0s1.367 3.582 0 4.949l-2.474 2.474.707.707 2.828-2.828-.019-.019c1.415-1.767 1.304-4.352-.334-5.99-1.638-1.638-4.224-1.749-5.99-.334zM5.97 15.038l-.019-.019 2.828-2.828.707.707-2.475 2.475c-1.367 1.367-1.367 3.582 0 4.949s3.582 1.367 4.949 0l2.474-2.474.707.707-2.828 2.828-.019-.019c-1.767 1.415-4.352 1.304-5.99-.334-1.638-1.638-1.749-4.224-.334-5.99z"/><path d="M10.485 16.141l5.656-5.656.707.707-5.656 5.656z"/></g></svg>'},42650:e=>{
|
||||||
|
e.exports='<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28"><path fill="currentColor" fill-rule="evenodd" d="M19.76 6.07l-.7.7a13.4 13.4 0 011.93 2.47c.19.3.33.55.42.72l.03.04-.03.04a15 15 0 01-2.09 2.9c-1.47 1.6-3.6 3.12-6.32 3.12-.98 0-1.88-.2-2.7-.52l-.77.76c1.03.47 2.18.76 3.47.76 3.12 0 5.5-1.75 7.06-3.44a16 16 0 002.38-3.38v-.02h.01L22 10l.45.22.1-.22-.1-.22L22 10l.45-.22-.01-.02a5.1 5.1 0 00-.15-.28 16 16 0 00-2.53-3.41zM6.24 13.93l.7-.7-.27-.29a15 15 0 01-2.08-2.9L4.56 10l.03-.04a15 15 0 012.09-2.9c1.47-1.6 3.6-3.12 6.32-3.12.98 0 1.88.2 2.7.52l.77-.76A8.32 8.32 0 0013 2.94c-3.12 0-5.5 1.75-7.06 3.44a16 16 0 00-2.38 3.38v.02h-.01L4 10l-.45-.22-.1.22.1.22L4 10l-.45.22.01.02a5.5 5.5 0 00.15.28 16 16 0 002.53 3.41zm6.09-.43a3.6 3.6 0 004.24-4.24l-.93.93a2.6 2.6 0 01-2.36 2.36l-.95.95zm-1.97-3.69l-.93.93a3.6 3.6 0 014.24-4.24l-.95.95a2.6 2.6 0 00-2.36 2.36zm11.29 7.84l-.8.79a1.5 1.5 0 000 2.12l.59.59a1.5 1.5 0 002.12 0l1.8-1.8-.71-.7-1.8 1.79a.5.5 0 01-.7 0l-.59-.59a.5.5 0 010-.7l.8-.8-.71-.7zm-5.5 3.5l.35.35-.35-.35.01-.02.02-.02.02-.02a4.68 4.68 0 01.65-.5c.4-.27 1-.59 1.65-.59.66 0 1.28.33 1.73.77.44.45.77 1.07.77 1.73a2.5 2.5 0 01-.77 1.73 2.5 2.5 0 01-1.73.77h-4a.5.5 0 01-.42-.78l1-1.5 1-1.5a.5.5 0 01.07-.07zm.74.67a3.46 3.46 0 01.51-.4c.35-.24.75-.42 1.1-.42.34 0 .72.17 1.02.48.3.3.48.68.48 1.02 0 .34-.17.72-.48 1.02-.3.3-.68.48-1.02.48h-3.07l.49-.72.97-1.46zM21.2 2.5L5.5 18.2l-.7-.7L20.5 1.8l.7.7z"/></svg>'},75895:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28"><path fill="currentColor" d="M16.47 3.7A8.32 8.32 0 0013 2.94c-3.12 0-5.5 1.75-7.06 3.44a16 16 0 00-2.38 3.38v.02h-.01L4 10l-.45-.22-.1.22.1.22L4 10l-.45.22.01.02a5.5 5.5 0 00.15.28 16 16 0 002.53 3.41l.7-.7-.27-.29a15 15 0 01-2.08-2.9L4.56 10l.03-.04a15 15 0 012.09-2.9c1.47-1.6 3.6-3.12 6.32-3.12.98 0 1.88.2 2.7.52l.77-.76zm-7.04 7.04l.93-.93a2.6 2.6 0 012.36-2.36l.95-.95a3.6 3.6 0 00-4.24 4.24zm.1 5.56c1.03.47 2.18.76 3.47.76 3.12 0 5.5-1.75 7.06-3.44a16 16 0 002.38-3.38v-.02h.01L22 10l.45.22.1-.22-.1-.22L22 10l.45-.22-.01-.02-.02-.03-.01-.03a9.5 9.5 0 00-.57-1 16 16 0 00-2.08-2.63l-.7.7.27.29a15.01 15.01 0 012.08 2.9l.03.04-.03.04a15 15 0 01-2.09 2.9c-1.47 1.6-3.6 3.12-6.32 3.12-.98 0-1.88-.2-2.7-.52l-.77.76zm2.8-2.8a3.6 3.6 0 004.24-4.24l-.93.93a2.6 2.6 0 01-2.36 2.36l-.95.95zm7.9 3.73c-.12.12-.23.35-.23.77v2h1v1h-1v2c0 .58-.14 1.1-.52 1.48-.38.38-.9.52-1.48.52s-1.1-.14-1.48-.52c-.38-.38-.52-.9-.52-1.48h1c0 .42.1.65.23.77.12.12.35.23.77.23.42 0 .65-.1.77-.23.12-.12.23-.35.23-.77v-2h-1v-1h1v-2c0-.58.14-1.1.52-1.48.38-.38.9-.52 1.48-.52s1.1.14 1.48.52c.38.38.52.9.52 1.48h-1c0-.42-.1-.65-.23-.77-.12-.12-.35-.23-.77-.23-.42 0-.65.1-.77.23zm2.56 6.27l-1.14-1.15.7-.7 1.15 1.14 1.15-1.14.7.7-1.14 1.15 1.14 1.15-.7.7-1.15-1.14-1.15 1.14-.7-.7 1.14-1.15zM21.2 2.5L5.5 18.2l-.7-.7L20.5 1.8l.7.7z"/></svg>'},65162:e=>{
|
||||||
|
e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" d="M5.5 18.2L21.2 2.5l-.7-.7L4.8 17.5l.7.7zM19.05 6.78l.71-.7a14.26 14.26 0 0 1 2.08 2.64 14.26 14.26 0 0 1 .6 1.05v.02h.01L22 10l.45.22-.01.02a5.18 5.18 0 0 1-.15.28 16 16 0 0 1-2.23 3.1c-1.56 1.69-3.94 3.44-7.06 3.44-1.29 0-2.44-.3-3.47-.76l.76-.76c.83.32 1.73.52 2.71.52 2.73 0 4.85-1.53 6.33-3.12a15.01 15.01 0 0 0 2.08-2.9l.03-.04-.03-.04a15 15 0 0 0-2.36-3.18zM22 10l.45-.22.1.22-.1.22L22 10zM6.94 13.23l-.7.7a14.24 14.24 0 0 1-2.08-2.64 14.28 14.28 0 0 1-.6-1.05v-.02h-.01L4 10l-.45-.22.01-.02a5.55 5.55 0 0 1 .15-.28 16 16 0 0 1 2.23-3.1C7.5 4.69 9.88 2.94 13 2.94c1.29 0 2.44.3 3.47.76l-.76.76A7.27 7.27 0 0 0 13 3.94c-2.73 0-4.85 1.53-6.33 3.12a15 15 0 0 0-2.08 2.9l-.03.04.03.04a15.01 15.01 0 0 0 2.36 3.18zM4 10l-.45.22-.1-.22.1-.22L4 10zm9 3.56c-.23 0-.46-.02-.67-.06l.95-.95a2.6 2.6 0 0 0 2.36-2.36l.93-.93a3.6 3.6 0 0 1-3.57 4.3zm-3.57-2.82l.93-.93a2.6 2.6 0 0 1 2.36-2.36l.95-.95a3.6 3.6 0 0 0-4.24 4.24zM17.5 21.9l3.28 2.18a.5.5 0 1 1-.56.84L17.5 23.1l-2.72 1.82a.5.5 0 1 1-.56-.84l3.28-2.18zM18.58 19.22a.5.5 0 0 1 .7-.14L22 20.9l2.72-1.82a.5.5 0 0 1 .56.84L22 22.1l-3.28-2.18a.5.5 0 0 1-.14-.7z"/></svg>'},65186:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" fill-rule="evenodd" d="M14 6a3 3 0 0 0-3 3v3h6V9a3 3 0 0 0-3-3zm4 6V9a4 4 0 0 0-8 0v3H8.5A2.5 2.5 0 0 0 6 14.5v7A2.5 2.5 0 0 0 8.5 24h11a2.5 2.5 0 0 0 2.5-2.5v-7a2.5 2.5 0 0 0-2.5-2.5H18zm-5 5a1 1 0 1 1 2 0v2a1 1 0 1 1-2 0v-2zm-6-2.5c0-.83.67-1.5 1.5-1.5h11c.83 0 1.5.67 1.5 1.5v7c0 .83-.67 1.5-1.5 1.5h-11A1.5 1.5 0 0 1 7 21.5v-7z"/></svg>'},91244:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" fill-rule="evenodd" d="M14 6a3 3 0 0 0-3 3v3h8.5a2.5 2.5 0 0 1 2.5 2.5v7a2.5 2.5 0 0 1-2.5 2.5h-11A2.5 2.5 0 0 1 6 21.5v-7A2.5 2.5 0 0 1 8.5 12H10V9a4 4 0 0 1 8 0h-1a3 3 0 0 0-3-3zm-1 11a1 1 0 1 1 2 0v2a1 1 0 1 1-2 0v-2zm-6-2.5c0-.83.67-1.5 1.5-1.5h11c.83 0 1.5.67 1.5 1.5v7c0 .83-.67 1.5-1.5 1.5h-11A1.5 1.5 0 0 1 7 21.5v-7z"/></svg>'},45820:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28"><path fill="currentColor" fill-rule="evenodd" d="M4.56 14a10.05 10.05 0 00.52.91c.41.69 1.04 1.6 1.85 2.5C8.58 19.25 10.95 21 14 21c3.05 0 5.42-1.76 7.07-3.58A17.18 17.18 0 0023.44 14a9.47 9.47 0 00-.52-.91c-.41-.69-1.04-1.6-1.85-2.5C19.42 8.75 17.05 7 14 7c-3.05 0-5.42 1.76-7.07 3.58A17.18 17.18 0 004.56 14zM24 14l.45-.21-.01-.03a7.03 7.03 0 00-.16-.32c-.11-.2-.28-.51-.5-.87-.44-.72-1.1-1.69-1.97-2.65C20.08 7.99 17.45 6 14 6c-3.45 0-6.08 2-7.8 3.92a18.18 18.18 0 00-2.64 3.84v.02h-.01L4 14l-.45-.21-.1.21.1.21L4 14l-.45.21.01.03a5.85 5.85 0 00.16.32c.11.2.28.51.5.87.44.72 1.1 1.69 1.97 2.65C7.92 20.01 10.55 22 14 22c3.45 0 6.08-2 7.8-3.92a18.18 18.18 0 002.64-3.84v-.02h.01L24 14zm0 0l.45.21.1-.21-.1-.21L24 14zm-10-3a3 3 0 100 6 3 3 0 000-6zm-4 3a4 4 0 118 0 4 4 0 01-8 0z"/></svg>'},93756:e=>{
|
||||||
|
e.exports='<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28"><path fill="currentColor" fill-rule="evenodd" d="M5 10.76l-.41-.72-.03-.04.03-.04a15 15 0 012.09-2.9c1.47-1.6 3.6-3.12 6.32-3.12 2.73 0 4.85 1.53 6.33 3.12a15.01 15.01 0 012.08 2.9l.03.04-.03.04a15 15 0 01-2.09 2.9c-1.47 1.6-3.6 3.12-6.32 3.12-2.73 0-4.85-1.53-6.33-3.12a15 15 0 01-1.66-2.18zm17.45-.98L22 10l.45.22-.01.02a5.04 5.04 0 01-.15.28 16.01 16.01 0 01-2.23 3.1c-1.56 1.69-3.94 3.44-7.06 3.44-3.12 0-5.5-1.75-7.06-3.44a16 16 0 01-2.38-3.38v-.02h-.01L4 10l-.45-.22.01-.02a5.4 5.4 0 01.15-.28 16 16 0 012.23-3.1C7.5 4.69 9.88 2.94 13 2.94c3.12 0 5.5 1.75 7.06 3.44a16.01 16.01 0 012.38 3.38v.02h.01zM22 10l.45-.22.1.22-.1.22L22 10zM3.55 9.78L4 10l-.45.22-.1-.22.1-.22zm6.8.22A2.6 2.6 0 0113 7.44 2.6 2.6 0 0115.65 10 2.6 2.6 0 0113 12.56 2.6 2.6 0 0110.35 10zM13 6.44A3.6 3.6 0 009.35 10 3.6 3.6 0 0013 13.56c2 0 3.65-1.58 3.65-3.56A3.6 3.6 0 0013 6.44zm7.85 12l.8-.8.7.71-.79.8a.5.5 0 000 .7l.59.59c.2.2.5.2.7 0l1.8-1.8.7.71-1.79 1.8a1.5 1.5 0 01-2.12 0l-.59-.59a1.5 1.5 0 010-2.12zM16.5 21.5l-.35-.35a.5.5 0 00-.07.07l-1 1.5-1 1.5a.5.5 0 00.42.78h4a2.5 2.5 0 001.73-.77A2.5 2.5 0 0021 22.5a2.5 2.5 0 00-.77-1.73A2.5 2.5 0 0018.5 20a3.1 3.1 0 00-1.65.58 5.28 5.28 0 00-.69.55v.01h-.01l.35.36zm.39.32l-.97 1.46-.49.72h3.07c.34 0 .72-.17 1.02-.48.3-.3.48-.68.48-1.02 0-.34-.17-.72-.48-1.02-.3-.3-.68-.48-1.02-.48-.35 0-.75.18-1.1.42a4.27 4.27 0 00-.51.4z"/></svg>'},42321:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" width="28" height="28"><path fill="currentColor" fill-rule="evenodd" d="M5 10.76a13.27 13.27 0 01-.41-.72L4.56 10l.03-.04a15 15 0 012.08-2.9c1.48-1.6 3.6-3.12 6.33-3.12s4.85 1.53 6.33 3.12a15.01 15.01 0 012.08 2.9l.03.04-.03.04a15 15 0 01-2.08 2.9c-1.48 1.6-3.6 3.12-6.33 3.12s-4.85-1.53-6.33-3.12a15 15 0 01-1.66-2.18zm17.45-.98L22 10l.45.22-.01.02a14.3 14.3 0 01-.6 1.05c-.4.64-1 1.48-1.78 2.33-1.56 1.7-3.94 3.44-7.06 3.44s-5.5-1.75-7.06-3.44a16 16 0 01-2.23-3.1 9.39 9.39 0 01-.15-.28v-.02h-.01L4 10l-.45-.22.01-.02a5.59 5.59 0 01.15-.28 16 16 0 012.23-3.1C7.5 4.69 9.87 2.94 13 2.94c3.12 0 5.5 1.75 7.06 3.44a16 16 0 012.23 3.1 9.5 9.5 0 01.15.28v.01l.01.01zM22 10l.45-.22.1.22-.1.22L22 10zM3.55 9.78L4 10l-.45.22-.1-.22.1-.22zm6.8.22A2.6 2.6 0 0113 7.44 2.6 2.6 0 0115.65 10 2.6 2.6 0 0113 12.56 2.6 2.6 0 0110.35 10zM13 6.44A3.6 3.6 0 009.35 10c0 1.98 1.65 3.56 3.65 3.56s3.65-1.58 3.65-3.56A3.6 3.6 0 0013 6.44zM20 18c0-.42.1-.65.23-.77.12-.13.35-.23.77-.23.42 0 .65.1.77.23.13.12.23.35.23.77h1c0-.58-.14-1.1-.52-1.48-.38-.38-.9-.52-1.48-.52s-1.1.14-1.48.52c-.37.38-.52.9-.52 1.48v2h-1v1h1v2c0 .42-.1.65-.23.77-.12.13-.35.23-.77.23-.42 0-.65-.1-.77-.23-.13-.12-.23-.35-.23-.77h-1c0 .58.14 1.1.52 1.48.38.37.9.52 1.48.52s1.1-.14 1.48-.52c.37-.38.52-.9.52-1.48v-2h1v-1h-1v-2zm1.65 4.35l1.14 1.15-1.14 1.15.7.7 1.15-1.14 1.15 1.14.7-.7-1.14-1.15 1.14-1.15-.7-.7-1.15 1.14-1.15-1.14-.7.7z"/></svg>'},57313:e=>{
|
||||||
|
e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" fill-rule="evenodd" d="M4.5 10a8.46 8.46 0 0 0 .46.8c.38.6.94 1.4 1.68 2.19 1.48 1.6 3.62 3.13 6.36 3.13s4.88-1.53 6.36-3.13A15.07 15.07 0 0 0 21.5 10a7.41 7.41 0 0 0-.46-.8c-.38-.6-.94-1.4-1.68-2.19-1.48-1.6-3.62-3.13-6.36-3.13S8.12 5.4 6.64 7A15.07 15.07 0 0 0 4.5 10zM22 10l.41-.19-.4.19zm0 0l.41.19-.4-.19zm.41.19l.09-.19-.09-.19-.01-.02a6.86 6.86 0 0 0-.15-.28c-.1-.18-.25-.45-.45-.76-.4-.64-.99-1.48-1.77-2.32C18.47 4.74 16.11 3 13 3 9.89 3 7.53 4.74 5.97 6.43A15.94 15.94 0 0 0 3.6 9.79v.02h-.01L3.5 10l.09.19.01.02a6.59 6.59 0 0 0 .15.28c.1.18.25.45.45.76.4.64.99 1.48 1.77 2.32C7.53 15.26 9.89 17 13 17c3.11 0 5.47-1.74 7.03-3.43a15.94 15.94 0 0 0 2.37-3.36v-.02h.01zM4 10l-.41-.19.4.19zm9-2.63c-1.5 0-2.7 1.18-2.7 2.63s1.2 2.63 2.7 2.63c1.5 0 2.7-1.18 2.7-2.63S14.5 7.37 13 7.37zM9.4 10C9.4 8.07 11 6.5 13 6.5s3.6 1.57 3.6 3.5S15 13.5 13 13.5A3.55 3.55 0 0 1 9.4 10zm8.1 11.9l3.28 2.18a.5.5 0 1 1-.56.84L17.5 23.1l-2.72 1.82a.5.5 0 1 1-.56-.84l3.28-2.18zm1.78-2.82a.5.5 0 0 0-.56.84L22 22.1l3.28-2.18a.5.5 0 1 0-.56-.84L22 20.9l-2.72-1.82z"/></svg>'},6894:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28" fill="currentColor"><path d="M17.646 18.354l4 4 .708-.708-4-4z"/><path d="M12.5 21a8.5 8.5 0 1 1 0-17 8.5 8.5 0 0 1 0 17zm0-1a7.5 7.5 0 1 0 0-15 7.5 7.5 0 0 0 0 15z"/><path d="M9 13h7v-1H9z"/><path d="M13 16V9h-1v7z"/></svg>'},45360:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28" fill="currentColor"><path d="M17.646 18.354l4 4 .708-.708-4-4z"/><path d="M12.5 21a8.5 8.5 0 1 1 0-17 8.5 8.5 0 0 1 0 17zm0-1a7.5 7.5 0 1 0 0-15 7.5 7.5 0 0 0 0 15z"/><path d="M9 13h7v-1H9z"/></svg>'},14665:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 16" width="10" height="16"><path d="M.6 1.4l1.4-1.4 8 8-8 8-1.4-1.4 6.389-6.532-6.389-6.668z"/></svg>'},39146:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><path fill="currentColor" d="M9 1l2.35 4.76 5.26.77-3.8 3.7.9 5.24L9 13l-4.7 2.47.9-5.23-3.8-3.71 5.25-.77L9 1z"/></svg>'},48010:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><path stroke="currentColor" d="M9 2.13l1.903 3.855.116.236.26.038 4.255.618-3.079 3.001-.188.184.044.259.727 4.237-3.805-2L9 12.434l-.233.122-3.805 2.001.727-4.237.044-.26-.188-.183-3.079-3.001 4.255-.618.26-.038.116-.236L9 2.13z"/></svg>'}}]);
|
||||||
@@ -1 +0,0 @@
|
|||||||
.container-zLVm6B4t{align-items:flex-start;border-radius:4px;cursor:default;display:flex;overflow:auto;padding:8px}.container-zLVm6B4t,html.theme-dark .container-zLVm6B4t{background:var(--themed-color-tooltip-wizard-bg,#2962ff)}.content-zLVm6B4t{padding:4px 8px}.arrowHolder-zLVm6B4t{position:absolute}.arrowHolder-zLVm6B4t:after{border:0 solid;box-sizing:border-box;content:"";display:block;height:0;position:absolute;width:0}.arrowHolder-zLVm6B4t:after,html.theme-dark .arrowHolder-zLVm6B4t:after{border-color:var(--themed-color-tooltip-wizard-bg,#2962ff)}.arrowHolder--above-zLVm6B4t:after,.arrowHolder--below-zLVm6B4t:after{border-left:6px solid;border-left-color:var(--themed-color-tooltip-force-transparent,#0000);border-right:6px solid;left:50%;margin-left:-6px}.arrowHolder--above-zLVm6B4t:after,.arrowHolder--below-zLVm6B4t:after,html.theme-dark .arrowHolder--above-zLVm6B4t:after,html.theme-dark .arrowHolder--below-zLVm6B4t:after{border-right-color:var(--themed-color-tooltip-force-transparent,#0000)}html.theme-dark .arrowHolder--above-zLVm6B4t:after,html.theme-dark .arrowHolder--below-zLVm6B4t:after{border-left-color:var(--themed-color-tooltip-force-transparent,#0000)}.arrowHolder--below-zLVm6B4t:after{border-bottom-width:4px;bottom:100%}.arrowHolder--above-zLVm6B4t:after{border-top-width:4px;top:100%}.arrowHolder--after-zLVm6B4t:after,.arrowHolder--before-zLVm6B4t:after{border-bottom:6px solid;border-top:6px solid;border-top-color:var(--themed-color-tooltip-force-transparent,#0000);margin-top:-6px;top:50%}.arrowHolder--after-zLVm6B4t:after,.arrowHolder--before-zLVm6B4t:after,html.theme-dark .arrowHolder--after-zLVm6B4t:after,html.theme-dark .arrowHolder--before-zLVm6B4t:after{border-bottom-color:var(--themed-color-tooltip-force-transparent,#0000)}html.theme-dark .arrowHolder--after-zLVm6B4t:after,html.theme-dark .arrowHolder--before-zLVm6B4t:after{border-top-color:var(--themed-color-tooltip-force-transparent,#0000)}.arrowHolder--before-zLVm6B4t:after{border-right-width:4px;right:100%}.arrowHolder--after-zLVm6B4t:after{border-left-width:4px;left:100%}.arrowHolder--above-fix-zLVm6B4t{bottom:0}.arrowHolder--after-ltr-fix-zLVm6B4t{right:0}.label-zLVm6B4t{display:flex;flex:1 1 auto;margin-right:24px}.closeButton-zLVm6B4t{color:#fff}.container-kfvcmk8t{display:flex;justify-content:center;left:10px;pointer-events:none;position:absolute;right:10px}.centerElement-kfvcmk8t{pointer-events:auto;z-index:1}.text-kfvcmk8t{color:#fff;font-size:14px;line-height:21px;margin-bottom:auto;word-wrap:break-word}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
.container-zLVm6B4t{align-items:flex-start;border-radius:4px;cursor:default;display:flex;overflow:auto;padding:8px}.container-zLVm6B4t,html.theme-dark .container-zLVm6B4t{background:var(--themed-color-tooltip-wizard-bg,#2962ff)}.content-zLVm6B4t{padding:4px 8px}.arrowHolder-zLVm6B4t{position:absolute}.arrowHolder-zLVm6B4t:after{border:0 solid;box-sizing:border-box;content:"";display:block;height:0;position:absolute;width:0}.arrowHolder-zLVm6B4t:after,html.theme-dark .arrowHolder-zLVm6B4t:after{border-color:var(--themed-color-tooltip-wizard-bg,#2962ff)}.arrowHolder--above-zLVm6B4t:after,.arrowHolder--below-zLVm6B4t:after{border-left:6px solid;border-left-color:var(--themed-color-tooltip-force-transparent,#0000);border-right:6px solid;border-right-color:var(--themed-color-tooltip-force-transparent,#0000);left:50%;margin-left:-6px}html.theme-dark .arrowHolder--above-zLVm6B4t:after,html.theme-dark .arrowHolder--below-zLVm6B4t:after{border-left-color:var(--themed-color-tooltip-force-transparent,#0000);border-right-color:var(--themed-color-tooltip-force-transparent,#0000)}.arrowHolder--below-zLVm6B4t:after{border-bottom-width:4px;bottom:100%}.arrowHolder--above-zLVm6B4t:after{border-top-width:4px;top:100%}.arrowHolder--after-zLVm6B4t:after,.arrowHolder--before-zLVm6B4t:after{border-bottom:6px solid;border-top:6px solid;border-top-color:var(--themed-color-tooltip-force-transparent,#0000);margin-top:-6px;top:50%}.arrowHolder--after-zLVm6B4t:after,.arrowHolder--before-zLVm6B4t:after,html.theme-dark .arrowHolder--after-zLVm6B4t:after,html.theme-dark .arrowHolder--before-zLVm6B4t:after{border-bottom-color:var(--themed-color-tooltip-force-transparent,#0000)}html.theme-dark .arrowHolder--after-zLVm6B4t:after,html.theme-dark .arrowHolder--before-zLVm6B4t:after{border-top-color:var(--themed-color-tooltip-force-transparent,#0000)}.arrowHolder--before-zLVm6B4t:after{border-right-width:4px;right:100%}.arrowHolder--after-zLVm6B4t:after{border-left-width:4px;left:100%}.arrowHolder--above-fix-zLVm6B4t{bottom:0}.arrowHolder--before-rtl-fix-zLVm6B4t{left:0}.arrowHolder--after-ltr-fix-zLVm6B4t{right:0}.label-zLVm6B4t{display:flex;flex:1 1 auto;margin-left:24px}.closeButton-zLVm6B4t{color:#fff}.container-kfvcmk8t{display:flex;justify-content:center;left:10px;pointer-events:none;position:absolute;right:10px}.centerElement-kfvcmk8t{pointer-events:auto;z-index:1}.text-kfvcmk8t{color:#fff;font-size:14px;line-height:21px;margin-bottom:auto;word-wrap:break-word}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
.titleWrap-e3jFxbHm{align-items:center;display:flex}.ellipsis-e3jFxbHm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hideInput-e3jFxbHm,.hideText-e3jFxbHm{height:0;visibility:hidden}.empty-e3jFxbHm{height:34px;margin-right:-3px;width:34px}.hideEmpty-e3jFxbHm{margin:0;width:0}.editIcon-e3jFxbHm{align-items:center;border-radius:2px;color:var(--themed-color-toolbar-interactive-element-text-normal,#1a1a1a);cursor:default;display:flex;flex-shrink:0;height:34px;justify-content:center;margin-left:5px;width:34px}html.theme-dark .editIcon-e3jFxbHm{color:var(--themed-color-toolbar-interactive-element-text-normal,#dbdbdb)}@media (any-hover:hover){.editIcon-e3jFxbHm:hover{background-color:var(--themed-color-bg-primary-hover,#f2f2f2)}html.theme-dark .editIcon-e3jFxbHm:hover{background-color:var(--themed-color-bg-primary-hover,#303030)}}.scrollable-Ycj0dUGE{flex:1 1 auto;min-height:145px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}@media (max-height:290px){.scrollable-Ycj0dUGE{min-height:auto}}@supports (-moz-appearance:none){.scrollable-Ycj0dUGE{scrollbar-color:var(--themed-color-scroll-bg,#9c9c9c) #0000;scrollbar-width:thin}html.theme-dark .scrollable-Ycj0dUGE{scrollbar-color:var(--themed-color-scroll-bg,#3d3d3d) #0000}}.scrollable-Ycj0dUGE::-webkit-scrollbar{height:5px;width:5px}.scrollable-Ycj0dUGE::-webkit-scrollbar-thumb{background-clip:content-box;background-color:var(--tv-color-scrollbar-thumb-background,var(--themed-color-scroll-bg,#9c9c9c));border:1px solid #0000;border-radius:3px}html.theme-dark .scrollable-Ycj0dUGE::-webkit-scrollbar-thumb{background-color:var(--tv-color-scrollbar-thumb-background,var(--themed-color-scroll-bg,#3d3d3d))}.scrollable-Ycj0dUGE::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollable-Ycj0dUGE::-webkit-scrollbar-corner{display:none}.tabs-Ycj0dUGE,.tabs-xNPrJ8dY{--ui-lib-underline-tabs-hor-padding:20px;padding:0 var(--ui-lib-underline-tabs-hor-padding)}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
.titleWrap-e3jFxbHm{align-items:center;display:flex}.ellipsis-e3jFxbHm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hideInput-e3jFxbHm,.hideText-e3jFxbHm{height:0;visibility:hidden}.empty-e3jFxbHm{height:34px;margin-left:-3px;width:34px}.hideEmpty-e3jFxbHm{margin:0;width:0}.editIcon-e3jFxbHm{align-items:center;border-radius:2px;color:var(--themed-color-toolbar-interactive-element-text-normal,#1a1a1a);cursor:default;display:flex;flex-shrink:0;height:34px;justify-content:center;margin-right:5px;width:34px}html.theme-dark .editIcon-e3jFxbHm{color:var(--themed-color-toolbar-interactive-element-text-normal,#dbdbdb)}@media (any-hover:hover){.editIcon-e3jFxbHm:hover{background-color:var(--themed-color-bg-primary-hover,#f2f2f2)}html.theme-dark .editIcon-e3jFxbHm:hover{background-color:var(--themed-color-bg-primary-hover,#303030)}}.scrollable-Ycj0dUGE{flex:1 1 auto;min-height:145px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}@media (max-height:290px){.scrollable-Ycj0dUGE{min-height:auto}}@supports (-moz-appearance:none){.scrollable-Ycj0dUGE{scrollbar-color:var(--themed-color-scroll-bg,#9c9c9c) #0000;scrollbar-width:thin}html.theme-dark .scrollable-Ycj0dUGE{scrollbar-color:var(--themed-color-scroll-bg,#3d3d3d) #0000}}.scrollable-Ycj0dUGE::-webkit-scrollbar{height:5px;width:5px}.scrollable-Ycj0dUGE::-webkit-scrollbar-thumb{background-clip:content-box;background-color:var(--tv-color-scrollbar-thumb-background,var(--themed-color-scroll-bg,#9c9c9c));border:1px solid #0000;border-radius:3px}html.theme-dark .scrollable-Ycj0dUGE::-webkit-scrollbar-thumb{background-color:var(--tv-color-scrollbar-thumb-background,var(--themed-color-scroll-bg,#3d3d3d))}.scrollable-Ycj0dUGE::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollable-Ycj0dUGE::-webkit-scrollbar-corner{display:none}.tabs-Ycj0dUGE,.tabs-xNPrJ8dY{--ui-lib-underline-tabs-hor-padding:20px;padding:0 var(--ui-lib-underline-tabs-hor-padding)}
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
charting_library/bundles/1979.727d53fabf38782d4a1f.css
Normal file
1
charting_library/bundles/1979.727d53fabf38782d4a1f.css
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[data-theme=dark],[data-theme=light]{--_0-6_wB:#0000}.button-iLKiGOdQ{align-items:center;background-color:var(--tv-list-item-button-background-color);border-radius:4px;color:var(--tv-color-popup-element-toolbox-text,var(--color-popup-element-toolbox-text));display:inline-flex;font-size:0;height:22px;justify-content:center;min-width:22px;width:22px}.button-iLKiGOdQ.hovered-iLKiGOdQ,.button-iLKiGOdQ:active{background-color:var(--tv-color-popup-element-toolbox-background-hover,var(--tv-list-item-button-background-hover-color,var(--color-container-fill-primary-neutral-normal)));color:var(--tv-color-popup-element-toolbox-text-hover,var(--color-popup-element-toolbox-text-hover))}@media (any-hover:hover){.button-iLKiGOdQ:hover{background-color:var(--tv-color-popup-element-toolbox-background-hover,var(--tv-list-item-button-background-hover-color,var(--color-container-fill-primary-neutral-normal)));color:var(--tv-color-popup-element-toolbox-text-hover,var(--color-popup-element-toolbox-text-hover))}}.button-iLKiGOdQ.disabled-iLKiGOdQ,.button-iLKiGOdQ.disabled-iLKiGOdQ:active{background-color:var(--tv-list-item-button-disabled-background-color,var(--_0-6_wB))}@media (any-hover:hover){.button-iLKiGOdQ.disabled-iLKiGOdQ:hover{background-color:var(--tv-list-item-button-disabled-background-color,var(--_0-6_wB))}}.button-iLKiGOdQ{outline:none;overflow:visible;position:relative}.button-iLKiGOdQ:focus{outline:none}.button-iLKiGOdQ:focus-visible{outline:none}.button-iLKiGOdQ:after{border-color:var(--color-focus-outline-color-blue);border-radius:4px;border-style:solid;border-width:2px;box-sizing:border-box;content:"";display:none;height:calc(100% + 4px);left:-2px;pointer-events:none;position:absolute;top:-2px;width:calc(100% + 4px);z-index:1}.button-iLKiGOdQ.focused-iLKiGOdQ:after{display:block}.button-iLKiGOdQ.active-iLKiGOdQ{color:var(--tv-color-popup-element-toolbox-text-active-hover,var(--color-content-secondary-inverse))}.button-iLKiGOdQ.active-iLKiGOdQ.hovered-iLKiGOdQ,.button-iLKiGOdQ.active-iLKiGOdQ:active{background-color:var(--tv-color-popup-element-toolbox-background-active-hover,var(--color-container-fill-primary-neutral-bold))}@media (any-hover:hover){.button-iLKiGOdQ.active-iLKiGOdQ:hover{background-color:var(--tv-color-popup-element-toolbox-background-active-hover,var(--color-container-fill-primary-neutral-bold))}}.hidden-iLKiGOdQ{visibility:hidden}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[data-theme=dark],[data-theme=light]{--_0-6_wB:#0000}.button-iLKiGOdQ{align-items:center;background-color:var(--tv-list-item-button-background-color);border-radius:4px;color:var(--tv-color-popup-element-toolbox-text,var(--color-popup-element-toolbox-text));display:inline-flex;font-size:0;height:22px;justify-content:center;min-width:22px;width:22px}.button-iLKiGOdQ.hovered-iLKiGOdQ,.button-iLKiGOdQ:active{background-color:var(--tv-color-popup-element-toolbox-background-hover,var(--tv-list-item-button-background-hover-color,var(--color-container-fill-primary-neutral-normal)));color:var(--tv-color-popup-element-toolbox-text-hover,var(--color-popup-element-toolbox-text-hover))}@media (any-hover:hover){.button-iLKiGOdQ:hover{background-color:var(--tv-color-popup-element-toolbox-background-hover,var(--tv-list-item-button-background-hover-color,var(--color-container-fill-primary-neutral-normal)));color:var(--tv-color-popup-element-toolbox-text-hover,var(--color-popup-element-toolbox-text-hover))}}.button-iLKiGOdQ.disabled-iLKiGOdQ,.button-iLKiGOdQ.disabled-iLKiGOdQ:active{background-color:var(--tv-list-item-button-disabled-background-color,var(--_0-6_wB))}@media (any-hover:hover){.button-iLKiGOdQ.disabled-iLKiGOdQ:hover{background-color:var(--tv-list-item-button-disabled-background-color,var(--_0-6_wB))}}.button-iLKiGOdQ{outline:none;overflow:visible;position:relative}.button-iLKiGOdQ:focus{outline:none}.button-iLKiGOdQ:focus-visible{outline:none}.button-iLKiGOdQ:after{border-color:var(--color-focus-outline-color-blue);border-radius:4px;border-style:solid;border-width:2px;box-sizing:border-box;content:"";display:none;height:calc(100% + 4px);pointer-events:none;position:absolute;right:-2px;top:-2px;width:calc(100% + 4px);z-index:1}.button-iLKiGOdQ.focused-iLKiGOdQ:after{display:block}.button-iLKiGOdQ.active-iLKiGOdQ{color:var(--tv-color-popup-element-toolbox-text-active-hover,var(--color-content-secondary-inverse))}.button-iLKiGOdQ.active-iLKiGOdQ.hovered-iLKiGOdQ,.button-iLKiGOdQ.active-iLKiGOdQ:active{background-color:var(--tv-color-popup-element-toolbox-background-active-hover,var(--color-container-fill-primary-neutral-bold))}@media (any-hover:hover){.button-iLKiGOdQ.active-iLKiGOdQ:hover{background-color:var(--tv-color-popup-element-toolbox-background-active-hover,var(--color-container-fill-primary-neutral-bold))}}.hidden-iLKiGOdQ{visibility:hidden}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
charting_library/bundles/2112.10fd79bdcf7d87919e93.css
Normal file
1
charting_library/bundles/2112.10fd79bdcf7d87919e93.css
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[data-theme=light]{--_0-7Ghp:var(--color-cold-gray-900);--_1-7Ghp:var(--color-white);--_2-7Ghp:var(--color-cold-gray-900);--_3-7Ghp:var(--color-white);--_4-7Ghp:var(--color-cold-gray-150);--_5-7Ghp:var(--color-cold-gray-400);--_6-7Ghp:var(--color-tv-blue-a200);--_7-7Ghp:var(--color-cold-gray-100)}[data-theme=dark]{--_0-7Ghp:var(--color-cold-gray-200);--_1-7Ghp:var(--color-cold-gray-850);--_2-7Ghp:var(--color-cold-gray-200);--_3-7Ghp:var(--color-cold-gray-850);--_4-7Ghp:var(--color-cold-gray-700);--_5-7Ghp:var(--color-cold-gray-300);--_6-7Ghp:var(--color-tv-blue-a200);--_7-7Ghp:var(--color-cold-gray-100)}.wrapper-hPiAkrn3{box-sizing:border-box;display:flex;flex-direction:column;min-width:215px;padding-right:15px;position:relative}.timezone-hPiAkrn3{color:var(--color-default-gray);font-size:11px;line-height:18px;padding-top:4px;text-align:center;width:100%}.largePadding-hPiAkrn3{padding-top:8px}.sessionDayWrapper-hPiAkrn3{display:flex;flex-direction:column;position:relative}.nowWrapper-hPiAkrn3{bottom:0;left:30px;pointer-events:none;position:absolute;right:0;top:0}.nowWrapper-hPiAkrn3 .now-hPiAkrn3{backface-visibility:hidden;background-color:var(--_0-7Ghp);bottom:-1px;outline:1px var(--_1-7Ghp) solid;position:absolute;top:2px;width:1px}.sessionDay-hPiAkrn3{align-items:baseline;display:flex}.sessionDay-hPiAkrn3 .weekDay-hPiAkrn3{color:var(--color-default-gray);font-size:10px;overflow:hidden;padding-top:3px;text-transform:uppercase;width:30px}.sessionDay-hPiAkrn3 .sessionDaySegments-hPiAkrn3,.sessionDay-hPiAkrn3 .timeMarkWrapper-hPiAkrn3{flex:1;position:relative;width:100%}.sessionDay-hPiAkrn3 .timeMarkWrapper-hPiAkrn3{height:16px;margin-top:3px}.sessionDay-hPiAkrn3 .sessionDaySegments-hPiAkrn3{border-radius:4px;height:7px;margin:20px 0 2px}.sessionDay-hPiAkrn3:first-child .sessionDaySegments-hPiAkrn3{margin-top:0}.sessionDay-hPiAkrn3 .timeMarkSegment-hPiAkrn3{content:"";display:flex;justify-content:center;position:absolute}.sessionDay-hPiAkrn3 .timeMarkSegment-hPiAkrn3 .timeMark-hPiAkrn3:first-child{padding-right:4px}.sessionDay-hPiAkrn3 .timeMarkSegment-hPiAkrn3 .timeMark-hPiAkrn3:last-child{padding-left:4px}.sessionDay-hPiAkrn3 .timeMarkSegment-hPiAkrn3.timeMarkSegmentAlignByEnds-hPiAkrn3{justify-content:space-between}.sessionDay-hPiAkrn3 .timeMarkSegment-hPiAkrn3.timeMarkSegmentAlignByEnds-hPiAkrn3 .timeMark-hPiAkrn3{padding:0}.sessionDay-hPiAkrn3 .timeMarkSegment-hPiAkrn3.timeMarkSegmentAlignByEnds-hPiAkrn3 .timeMark-hPiAkrn3:first-child{transform:translateX(-50%)}.sessionDay-hPiAkrn3 .timeMarkSegment-hPiAkrn3.timeMarkSegmentAlignByEnds-hPiAkrn3 .timeMark-hPiAkrn3:last-child{transform:translateX(50%)}.sessionDay-hPiAkrn3 .timeMark-hPiAkrn3{background-color:var(--_3-7Ghp);color:var(--color-default-gray);font-size:11px;line-height:16px}.sessionDay-hPiAkrn3 .segment-hPiAkrn3{box-sizing:border-box;content:"";height:100%;opacity:.3;padding:0 2px;position:absolute}.sessionDay-hPiAkrn3 .segment-hPiAkrn3:first-child{padding-left:0}.sessionDay-hPiAkrn3 .segment-hPiAkrn3:last-child{padding-right:0}.sessionDay-hPiAkrn3 .segment-hPiAkrn3:before{content:"";display:flex;flex:1;height:100%;min-width:1px;z-index:0}.sessionDay-hPiAkrn3 .segment-hPiAkrn3.small-hPiAkrn3{margin-left:-1px;padding:0;z-index:1}.sessionDay-hPiAkrn3 .segment-hPiAkrn3.start-hPiAkrn3:before{border-radius:4px 0 0 4px}.sessionDay-hPiAkrn3 .segment-hPiAkrn3.end-hPiAkrn3:before{border-radius:0 4px 4px 0}.sessionDay-hPiAkrn3 .segment-hPiAkrn3.start-hPiAkrn3.end-hPiAkrn3:before{border-radius:4px}.sessionDay-hPiAkrn3.active-hPiAkrn3 .segment-hPiAkrn3{opacity:1}.sessionDay-hPiAkrn3.active-hPiAkrn3 .weekDay-hPiAkrn3{color:var(--_2-7Ghp)}.green-hPiAkrn3{color:var(--color-minty-green-400)}.green-hPiAkrn3:before{background-color:currentColor}.orange-hPiAkrn3{color:var(--color-tan-orange-500)}.orange-hPiAkrn3:before{background-color:currentColor}.blue-hPiAkrn3{color:var(--color-tv-blue-500)}.blue-hPiAkrn3:before{background-color:currentColor}.gray-hPiAkrn3{color:var(--_4-7Ghp)}.gray-hPiAkrn3:before{background-color:currentColor}.tooltip-hPiAkrn3{white-space:normal}.tooltip-hPiAkrn3 .time-hPiAkrn3{color:var(--_7-7Ghp);margin-left:5px}.tooltip-hPiAkrn3 .gray-hPiAkrn3{color:var(--_5-7Ghp)}.tooltip-hPiAkrn3 .blue-hPiAkrn3{color:var(--_6-7Ghp)}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[data-theme=light]{--_0-7Ghp:var(--color-cold-gray-900);--_1-7Ghp:var(--color-white);--_2-7Ghp:var(--color-cold-gray-900);--_3-7Ghp:var(--color-white);--_4-7Ghp:var(--color-cold-gray-150);--_5-7Ghp:var(--color-cold-gray-400);--_6-7Ghp:var(--color-tv-blue-a200);--_7-7Ghp:var(--color-cold-gray-100)}[data-theme=dark]{--_0-7Ghp:var(--color-cold-gray-200);--_1-7Ghp:var(--color-cold-gray-850);--_2-7Ghp:var(--color-cold-gray-200);--_3-7Ghp:var(--color-cold-gray-850);--_4-7Ghp:var(--color-cold-gray-700);--_5-7Ghp:var(--color-cold-gray-300);--_6-7Ghp:var(--color-tv-blue-a200);--_7-7Ghp:var(--color-cold-gray-100)}.wrapper-hPiAkrn3{box-sizing:border-box;display:flex;flex-direction:column;min-width:215px;padding-left:15px;position:relative}.timezone-hPiAkrn3{color:var(--color-default-gray);font-size:11px;line-height:18px;padding-top:4px;text-align:center;width:100%}.largePadding-hPiAkrn3{padding-top:8px}.sessionDayWrapper-hPiAkrn3{display:flex;flex-direction:column;position:relative}.nowWrapper-hPiAkrn3{bottom:0;left:0;pointer-events:none;position:absolute;right:30px;top:0}.nowWrapper-hPiAkrn3 .now-hPiAkrn3{backface-visibility:hidden;background-color:var(--_0-7Ghp);bottom:-1px;outline:1px var(--_1-7Ghp) solid;position:absolute;top:2px;width:1px}.sessionDay-hPiAkrn3{align-items:baseline;display:flex}.sessionDay-hPiAkrn3 .weekDay-hPiAkrn3{color:var(--color-default-gray);font-size:10px;overflow:hidden;padding-top:3px;text-transform:uppercase;width:30px}.sessionDay-hPiAkrn3 .sessionDaySegments-hPiAkrn3,.sessionDay-hPiAkrn3 .timeMarkWrapper-hPiAkrn3{flex:1;position:relative;width:100%}.sessionDay-hPiAkrn3 .timeMarkWrapper-hPiAkrn3{height:16px;margin-top:3px}.sessionDay-hPiAkrn3 .sessionDaySegments-hPiAkrn3{border-radius:4px;height:7px;margin:20px 0 2px}.sessionDay-hPiAkrn3:first-child .sessionDaySegments-hPiAkrn3{margin-top:0}.sessionDay-hPiAkrn3 .timeMarkSegment-hPiAkrn3{content:"";display:flex;justify-content:center;position:absolute}.sessionDay-hPiAkrn3 .timeMarkSegment-hPiAkrn3 .timeMark-hPiAkrn3:first-child{padding-left:4px}.sessionDay-hPiAkrn3 .timeMarkSegment-hPiAkrn3 .timeMark-hPiAkrn3:last-child{padding-right:4px}.sessionDay-hPiAkrn3 .timeMarkSegment-hPiAkrn3.timeMarkSegmentAlignByEnds-hPiAkrn3{justify-content:space-between}.sessionDay-hPiAkrn3 .timeMarkSegment-hPiAkrn3.timeMarkSegmentAlignByEnds-hPiAkrn3 .timeMark-hPiAkrn3{padding:0}.sessionDay-hPiAkrn3 .timeMarkSegment-hPiAkrn3.timeMarkSegmentAlignByEnds-hPiAkrn3 .timeMark-hPiAkrn3:first-child{transform:translateX(50%)}.sessionDay-hPiAkrn3 .timeMarkSegment-hPiAkrn3.timeMarkSegmentAlignByEnds-hPiAkrn3 .timeMark-hPiAkrn3:last-child{transform:translateX(-50%)}.sessionDay-hPiAkrn3 .timeMark-hPiAkrn3{background-color:var(--_3-7Ghp);color:var(--color-default-gray);font-size:11px;line-height:16px}.sessionDay-hPiAkrn3 .segment-hPiAkrn3{box-sizing:border-box;content:"";height:100%;opacity:.3;padding:0 2px;position:absolute}.sessionDay-hPiAkrn3 .segment-hPiAkrn3:first-child{padding-right:0}.sessionDay-hPiAkrn3 .segment-hPiAkrn3:last-child{padding-left:0}.sessionDay-hPiAkrn3 .segment-hPiAkrn3:before{content:"";display:flex;flex:1;height:100%;min-width:1px;z-index:0}.sessionDay-hPiAkrn3 .segment-hPiAkrn3.small-hPiAkrn3{margin-right:-1px;padding:0;z-index:1}.sessionDay-hPiAkrn3 .segment-hPiAkrn3.start-hPiAkrn3:before{border-radius:0 4px 4px 0}.sessionDay-hPiAkrn3 .segment-hPiAkrn3.end-hPiAkrn3:before{border-radius:4px 0 0 4px}.sessionDay-hPiAkrn3 .segment-hPiAkrn3.start-hPiAkrn3.end-hPiAkrn3:before{border-radius:4px}.sessionDay-hPiAkrn3.active-hPiAkrn3 .segment-hPiAkrn3{opacity:1}.sessionDay-hPiAkrn3.active-hPiAkrn3 .weekDay-hPiAkrn3{color:var(--_2-7Ghp)}.green-hPiAkrn3{color:var(--color-minty-green-400)}.green-hPiAkrn3:before{background-color:currentColor}.orange-hPiAkrn3{color:var(--color-tan-orange-500)}.orange-hPiAkrn3:before{background-color:currentColor}.blue-hPiAkrn3{color:var(--color-tv-blue-500)}.blue-hPiAkrn3:before{background-color:currentColor}.gray-hPiAkrn3{color:var(--_4-7Ghp)}.gray-hPiAkrn3:before{background-color:currentColor}.tooltip-hPiAkrn3{white-space:normal}.tooltip-hPiAkrn3 .time-hPiAkrn3{color:var(--_7-7Ghp);margin-right:5px}.tooltip-hPiAkrn3 .gray-hPiAkrn3{color:var(--_5-7Ghp)}.tooltip-hPiAkrn3 .blue-hPiAkrn3{color:var(--_6-7Ghp)}
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[2157],{59142:function(e,t){var n,o,s;o=[t],n=function(e){"use strict";function t(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}Object.defineProperty(e,"__esModule",{value:!0});var n=!1;if("undefined"!=typeof window){var o={get passive(){n=!0}};window.addEventListener("testPassive",null,o),window.removeEventListener("testPassive",null,o)}var s="undefined"!=typeof window&&window.navigator&&window.navigator.platform&&/iP(ad|hone|od)/.test(window.navigator.platform),r=[],a=!1,i=-1,l=void 0,c=void 0,u=function(e){return r.some((function(t){return!(!t.options.allowTouchMove||!t.options.allowTouchMove(e))}))},d=function(e){var t=e||window.event;return!!u(t.target)||1<t.touches.length||(t.preventDefault&&t.preventDefault(),!1)},h=function(){setTimeout((function(){void 0!==c&&(document.body.style.paddingRight=c,c=void 0),void 0!==l&&(document.body.style.overflow=l,l=void 0)}))};e.disableBodyScroll=function(e,o){if(s){if(!e)return void console.error("disableBodyScroll unsuccessful - targetElement must be provided when calling disableBodyScroll on IOS devices.");if(e&&!r.some((function(t){return t.targetElement===e}))){var h={targetElement:e,options:o||{}};r=[].concat(t(r),[h]),e.ontouchstart=function(e){1===e.targetTouches.length&&(i=e.targetTouches[0].clientY)},e.ontouchmove=function(t){var n,o,s,r;1===t.targetTouches.length&&(o=e,r=(n=t).targetTouches[0].clientY-i,!u(n.target)&&(o&&0===o.scrollTop&&0<r||(s=o)&&s.scrollHeight-s.scrollTop<=s.clientHeight&&r<0?d(n):n.stopPropagation()))},a||(document.addEventListener("touchmove",d,n?{passive:!1}:void 0),a=!0)}}else{p=o,setTimeout((function(){if(void 0===c){var e=!!p&&!0===p.reserveScrollBarGap,t=window.innerWidth-document.documentElement.clientWidth;e&&0<t&&(c=document.body.style.paddingRight,document.body.style.paddingRight=t+"px")}void 0===l&&(l=document.body.style.overflow,document.body.style.overflow="hidden")}));var m={targetElement:e,options:o||{}};r=[].concat(t(r),[m])}var p},e.clearAllBodyScrollLocks=function(){s?(r.forEach((function(e){e.targetElement.ontouchstart=null,e.targetElement.ontouchmove=null})),a&&(document.removeEventListener("touchmove",d,n?{passive:!1}:void 0),a=!1),r=[],i=-1):(h(),r=[])},e.enableBodyScroll=function(e){if(s){if(!e)return void console.error("enableBodyScroll unsuccessful - targetElement must be provided when calling enableBodyScroll on IOS devices.");e.ontouchstart=null,e.ontouchmove=null,r=r.filter((function(t){return t.targetElement!==e})),a&&0===r.length&&(document.removeEventListener("touchmove",d,n?{passive:!1}:void 0),a=!1)}else 1===r.length&&r[0].targetElement===e?(h(),r=[]):r=r.filter((function(t){return t.targetElement!==e}))}},void 0===(s="function"==typeof n?n.apply(t,o):n)||(e.exports=s)},11362:e=>{e.exports={wrapper:"wrapper-GZajBGIm",input:"input-GZajBGIm",view:"view-GZajBGIm",danger:"danger-GZajBGIm"}},4052:e=>{e.exports={box:"box-ywH2tsV_",noOutline:"noOutline-ywH2tsV_",
|
|
||||||
disabled:"disabled-ywH2tsV_","intent-danger":"intent-danger-ywH2tsV_",checked:"checked-ywH2tsV_",check:"check-ywH2tsV_",icon:"icon-ywH2tsV_",dot:"dot-ywH2tsV_",disableActiveStyles:"disableActiveStyles-ywH2tsV_"}},4665:e=>{e.exports={loader:"loader-UL6iwcBa",static:"static-UL6iwcBa",item:"item-UL6iwcBa","tv-button-loader":"tv-button-loader-UL6iwcBa",medium:"medium-UL6iwcBa",small:"small-UL6iwcBa",black:"black-UL6iwcBa",white:"white-UL6iwcBa",gray:"gray-UL6iwcBa",primary:"primary-UL6iwcBa"}},36110:e=>{e.exports={accessible:"accessible-rm8yeqY4"}},22846:e=>{e.exports={loaderWrap:"loaderWrap-jGEARQlM",big:"big-jGEARQlM",loader:"loader-jGEARQlM"}},31668:e=>{e.exports={item:"item-GJX1EXhk",interactive:"interactive-GJX1EXhk",hovered:"hovered-GJX1EXhk",disabled:"disabled-GJX1EXhk",active:"active-GJX1EXhk",shortcut:"shortcut-GJX1EXhk",normal:"normal-GJX1EXhk",big:"big-GJX1EXhk",iconCell:"iconCell-GJX1EXhk",icon:"icon-GJX1EXhk",content:"content-GJX1EXhk",label:"label-GJX1EXhk",checked:"checked-GJX1EXhk",toolbox:"toolbox-GJX1EXhk",showToolboxOnHover:"showToolboxOnHover-GJX1EXhk",arrowIcon:"arrowIcon-GJX1EXhk",subMenu:"subMenu-GJX1EXhk",invisibleHotkey:"invisibleHotkey-GJX1EXhk"}},21320:e=>{e.exports={row:"row-DFIg7eOh",line:"line-DFIg7eOh",hint:"hint-DFIg7eOh"}},37399:e=>{e.exports={menu:"menu-Tx5xMZww"}},70159:e=>{e.exports={item:"item-WJDah4zD",emptyIcons:"emptyIcons-WJDah4zD",loading:"loading-WJDah4zD",disabled:"disabled-WJDah4zD",interactive:"interactive-WJDah4zD",hovered:"hovered-WJDah4zD",normal:"normal-WJDah4zD",big:"big-WJDah4zD",icon:"icon-WJDah4zD",label:"label-WJDah4zD",title:"title-WJDah4zD",nested:"nested-WJDah4zD",shortcut:"shortcut-WJDah4zD",remove:"remove-WJDah4zD"}},20669:e=>{e.exports={separator:"separator-Ymxd0dt_"}},36718:e=>{e.exports={"default-drawer-min-top-distance":"100px",wrap:"wrap-_HnK0UIN",positionBottom:"positionBottom-_HnK0UIN",backdrop:"backdrop-_HnK0UIN",drawer:"drawer-_HnK0UIN",positionLeft:"positionLeft-_HnK0UIN"}},22413:e=>{e.exports={favorite:"favorite-_FRQhM5Y",hovered:"hovered-_FRQhM5Y",disabled:"disabled-_FRQhM5Y",focused:"focused-_FRQhM5Y",active:"active-_FRQhM5Y",checked:"checked-_FRQhM5Y"}},35990:e=>{e.exports={button:"button-iLKiGOdQ",hovered:"hovered-iLKiGOdQ",disabled:"disabled-iLKiGOdQ",focused:"focused-iLKiGOdQ",active:"active-iLKiGOdQ",hidden:"hidden-iLKiGOdQ"}},70673:(e,t,n)=>{"use strict";n.d(t,{CheckboxInput:()=>c});var o=n(50959),s=n(97754),r=n(90186),a=n(5811),i=n(11362),l=n.n(i);function c(e){const t=s(l().wrapper,e.className);return o.createElement("span",{className:t,title:e.title,style:e.style},o.createElement("input",{id:e.id,tabIndex:e.tabIndex,className:s(e.intent&&l()[e.intent],l().input),type:"checkbox",name:e.name,checked:e.checked,disabled:e.disabled,value:e.value,autoFocus:e.autoFocus,role:e.role,onChange:function(){e.onChange?.(e.value)},ref:e.reference,"aria-required":e["aria-required"],"aria-describedby":e["aria-describedby"],"aria-invalid":e["aria-invalid"],...(0,r.filterDataProps)(e)}),o.createElement(a.CheckboxView,{className:l().view,
|
|
||||||
indeterminate:e.indeterminate,checked:e.checked,disabled:e.disabled,intent:e.intent,tabIndex:e.tabIndex}))}},5811:(e,t,n)=>{"use strict";n.d(t,{CheckboxView:()=>c});var o=n(50959),s=n(97754),r=n(9745),a=n(65890),i=n(4052),l=n.n(i);function c(e){const{indeterminate:t,checked:n,tabIndex:i,className:c,disabled:u,disableActiveStyles:d,intent:h,hideIcon:m,...p}=e,v=t||!n||m?"":a,b=s(l().box,l()[`intent-${h}`],!t&&l().check,!!t&&l().dot,-1===i&&l().noOutline,c,n&&l().checked,u&&l().disabled,d&&l().disableActiveStyles);return o.createElement("span",{className:b,...p},o.createElement(r.Icon,{icon:v,className:l().icon}))}},26996:(e,t,n)=>{"use strict";n.d(t,{Loader:()=>l});var o,s=n(50959),r=n(97754),a=n(4665),i=n.n(a);function l(e){const{className:t,size:n="medium",staticPosition:o,color:a="black"}=e,l=r(i().item,i()[a],i()[n]);return s.createElement("span",{className:r(i().loader,o&&i().static,t)},s.createElement("span",{className:l}),s.createElement("span",{className:l}),s.createElement("span",{className:l}))}!function(e){e.Medium="medium",e.Small="small"}(o||(o={}))},74670:(e,t,n)=>{"use strict";n.d(t,{useActiveDescendant:()=>r});var o=n(50959),s=n(39416);function r(e,t=[]){const[n,r]=(0,o.useState)(!1),a=(0,s.useFunctionalRefObject)(e);return(0,o.useLayoutEffect)((()=>{const e=a.current;if(null===e)return;const t=e=>{switch(e.type){case"active-descendant-focus":r(!0);break;case"active-descendant-blur":r(!1)}};return e.addEventListener("active-descendant-focus",t),e.addEventListener("active-descendant-blur",t),()=>{e.removeEventListener("active-descendant-focus",t),e.removeEventListener("active-descendant-blur",t)}}),t),[a,n]}},50238:(e,t,n)=>{"use strict";n.d(t,{useRovingTabindexElement:()=>r});var o=n(50959),s=n(39416);function r(e,t=[]){const[n,r]=(0,o.useState)(!1),a=(0,s.useFunctionalRefObject)(e);return(0,o.useLayoutEffect)((()=>{const e=a.current;if(null===e)return;const t=e=>{switch(e.type){case"roving-tabindex:main-element":r(!0);break;case"roving-tabindex:secondary-element":r(!1)}};return e.addEventListener("roving-tabindex:main-element",t),e.addEventListener("roving-tabindex:secondary-element",t),()=>{e.removeEventListener("roving-tabindex:main-element",t),e.removeEventListener("roving-tabindex:secondary-element",t)}}),t),[a,n?0:-1]}},10772:(e,t,n)=>{"use strict";n.d(t,{ContextMenuAction:()=>x});var o=n(50959),s=n(50151),r=n(91561),a=n(59064),i=n(51768),l=n(63273);var c=n(83021),u=n(97754),d=n.n(u),h=n(26996),m=n(5304),p=n(22846);function v(e){const{size:t="normal"}=e;return o.createElement(m.ContextMenuItem,{size:t,jsxLabel:o.createElement("div",{className:d()(p.loaderWrap,p[t])},o.createElement(h.Loader,{className:p.loader})),noInteractive:!0,onMouseOver:e.onMouseOver})}var b=n(3343),f=n(50238),E=n(36110);const g=(0,o.forwardRef)((function(e,t){const{className:n,...s}=e,[r,a]=(0,f.useRovingTabindexElement)(t);return o.createElement(m.ContextMenuItem,{...s,className:d()(E.accessible,n),reference:r,tabIndex:a,onKeyDown:function(e){if(e.target!==e.currentTarget)return;const t=(0,b.hashFromEvent)(e)
|
|
||||||
;13!==t&&32!==t||(e.preventDefault(),r.current instanceof HTMLElement&&r.current.click())},"data-role":"menuitem","aria-disabled":e.disabled||void 0})}));var w=n(90186);class x extends o.PureComponent{constructor(e){super(e),this._itemRef=null,this._menuElementRef=o.createRef(),this._menuRef=null,this._handleClick=e=>{e.isDefaultPrevented()||this.state.disabled||(this._hasSubItems()?this._showSubMenu():(this.state.doNotCloseOnClick||(0,a.globalCloseMenu)(),this.props.action.execute(),this._trackEvent(),this.props.onExecute&&this.props.onExecute(this.props.action)))},this._handleClickToolbox=()=>{(0,a.globalCloseMenu)()},this._handleItemMouseOver=()=>{this._showSubMenu(),this._setCurrentContextValue()},this._handleMenuMouseOver=()=>{this._setCurrentContextValue()},this._showSubMenu=()=>{this.props.onShowSubMenu(this.props.action)},this._calcSubMenuPos=e=>function(e,t,n={x:0,y:10}){if(t){const{left:n,right:o,top:s}=t.getBoundingClientRect(),r=document.documentElement.clientWidth,a={x:n-e,y:s},i={x:o,y:s};return(0,l.isRtl)()?n<=e?i:a:r-o>=e?i:a}return n}(e.contentWidth,this._itemRef),this._updateState=e=>{this.setState(e.getState())},this._setItemRef=e=>{this._itemRef=e},this._handleMenuRef=e=>{this._menuRef=e},this._registerSubmenu=()=>this.context?.registerSubmenu(this.props.action.id,(e=>(0,s.ensureNotNull)(this._itemRef).contains(e)||null!==this._menuElementRef.current&&this._menuElementRef.current.contains(e))),this.state={...this.props.action.getState()}}componentDidMount(){this.props.action.onUpdate().subscribe(this,this._updateState),this.state.subItems.length&&(this._unsubscribe=this._registerSubmenu()),this.props.reference&&(this._itemRef=this.props.reference.current)}componentDidUpdate(e,t){t.loading!==this.state.loading&&this.props.onRequestUpdate?.(),0===t.subItems.length&&this.state.subItems.length>0&&(this._unsubscribe=this._registerSubmenu()),t.subItems.length>0&&0===this.state.subItems.length&&this._unsubscribe?.(),t.subItems!==this.state.subItems&&null!==this._menuRef&&this._menuRef.update()}componentWillUnmount(){this.props.action.onUpdate().unsubscribe(this,this._updateState),this._unsubscribe&&this._unsubscribe()}render(){const e=this.context?.current?this.context.current===this.props.action.id:this.props.isSubMenuOpened;return this.state.loading?o.createElement(v,{size:this.state.size}):o.createElement(g,{...(0,w.filterDataProps)(this.props),theme:this.props.theme,ref:this.props.reference??this._setItemRef,onClick:this._handleClick,onClickToolbox:this._handleClickToolbox,onMouseOver:this._handleItemMouseOver,hovered:e,hasSubItems:this._hasSubItems(),actionName:this.state.name,checkboxInput:this.props.checkboxInput,selected:this.props.selected,className:this.props.className,...this.state},o.createElement(r.ContextMenu,{isOpened:e,items:this.state.subItems,position:this._calcSubMenuPos,menuStatName:this.props.menuStatName,parentStatName:this._getStatName(),menuElementReference:this._menuElementRef,onMouseOver:this.state.subItems.length?this._handleMenuMouseOver:void 0,ref:this._handleMenuRef}))}
|
|
||||||
_setCurrentContextValue(){this.state.subItems.length&&this.context?.setCurrent(this.props.action.id)}_hasSubItems(){return this.state.subItems.length>0}_trackEvent(){const e=this._getStatName();(0,i.trackEvent)("ContextMenuClick",this.props.menuStatName||"",e)}_getStatName(){return[this.props.parentStatName,this.state.statName].filter((e=>Boolean(e))).join(".")}}x.contextType=c.SubmenuContext},5304:(e,t,n)=>{"use strict";n.d(t,{ContextMenuItem:()=>w,DEFAUL_CONTEXT_MENU_ITEM_THEME:()=>E});var o=n(50959),s=n(97754),r=n(70673),a=n(49483),i=n(71382),l=n(96040),c=n(36189),u=n(99025),d=n(25812),h=n(56570),m=n(90186),p=n(60925),v=n(60004),b=n(14665),f=n(31668);const E=f,g=h.enabled("items_favoriting");class w extends o.PureComponent{constructor(){super(...arguments),this._handleMouseOver=e=>{(0,i.isTouchEvent)(e.nativeEvent)||this.props.onMouseOver&&this.props.onMouseOver()},this._handleClickToolbox=e=>{e.stopPropagation(),this.props.onClickToolbox&&this.props.onClickToolbox()}}render(){const{hasSubItems:e,shortcutHint:t,hint:n,invisibleHotkey:r,favourite:i,theme:l=f,size:d="normal",onKeyDown:h,label:p,jsxLabel:v,styledLabel:E}=this.props,w=this.props.checkable&&this.props.checkboxInput?"label":"div";return o.createElement(o.Fragment,null,o.createElement("tr",{...(0,m.filterDataProps)(this.props),...(0,m.filterAriaProps)(this.props),id:this.props.id,className:s(this.props.className,l.item,!this.props.noInteractive&&l.interactive,this.props.hovered&&l.hovered,this.props.disabled&&l.disabled,this.props.active&&l.active,this.props.selected&&l.selected,l[d]),onClick:this.props.onClick,onMouseOver:this._handleMouseOver,ref:this.props.reference,"data-action-name":this.props.actionName,tabIndex:this.props.tabIndex,onKeyDown:h},g&&void 0!==i&&o.createElement("td",{className:l.favoriteActionCell},o.createElement(c.FavoriteButton,{id:`${this.props.id}-favorite`,className:l.favourite,isFilled:i,onClick:this.props.onFavouriteClick,"data-role":"list-item-action"})),o.createElement("td",{className:s(l.iconCell),"data-icon-cell":!0},this._icon(l)),o.createElement("td",{className:l.contentCell},o.createElement(w,{className:l.content},o.createElement("span",{className:s(l.label,this.props.checked&&l.checked),"data-label":!0},!v&&E?E.map((({text:e,...t},n)=>o.createElement("span",{key:n,style:t},e))):v??p),this._toolbox(l),e&&o.createElement("span",{className:l.arrowIcon,dangerouslySetInnerHTML:{__html:b},"data-submenu-arrow":!0}),!e&&t&&!a.CheckMobile.any()&&o.createElement(u.Hint,{className:s(r&&l.invisibleHotkey),text:t}),!e&&!t&&n&&o.createElement(u.Hint,{text:n})))),o.createElement("tr",{className:l.subMenu},o.createElement("td",null,this.props.children)))}_icon(e){if(this.props.checkable){if(this.props.checkboxInput)return o.createElement(r.CheckboxInput,{className:s(e.icon,e.checkboxInput),checked:this.props.checked});if(this.props.checked){const t=!this.props.icon&&!this.props.iconChecked,n=this.props.iconChecked||this.props.icon||v;return o.createElement("span",{className:e.icon,dangerouslySetInnerHTML:{__html:n},
|
|
||||||
"data-icon-checkmark":t})}return this.props.icon?o.createElement("span",{className:e.icon,dangerouslySetInnerHTML:{__html:this.props.icon}}):o.createElement("span",{className:e.icon})}return this.props.icon?o.createElement("span",{className:e.icon,dangerouslySetInnerHTML:{__html:this.props.icon}}):null}_toolbox(e){return this.props.toolbox?o.createElement("span",{className:s(e.toolbox,this.props.showToolboxOnHover&&e.showToolboxOnHover),onClick:this._handleClickToolbox,"data-toolbox":!0},this._renderToolboxContent()):null}_renderToolboxContent(){return this.props.toolbox&&this.props.toolbox.type===d.ToolboxType.Delete?o.createElement(l.RemoveButton,{icon:p,onClick:this.props.toolbox.action}):null}}},91561:(e,t,n)=>{"use strict";n.d(t,{ContextMenu:()=>_,OverlapContextMenu:()=>M});var o=n(50959),s=n(97754),r=n.n(s),a=n(86431),i=n(27317),l=n(52778);class c extends o.PureComponent{constructor(){super(...arguments),this._handleKeyDown=e=>{e.keyCode===this.props.keyCode&&this.props.handler(e)}}componentDidMount(){document.addEventListener(this.props.eventType||"keydown",this._handleKeyDown,!1)}componentWillUnmount(){document.removeEventListener(this.props.eventType||"keydown",this._handleKeyDown,!1)}render(){return null}}var u=n(75535),d=n(37558),h=n(90692),m=n(20669);function p(e){return o.createElement("li",{className:m.separator})}var v=n(23829),b=n(41590),f=n(59064);function E(e){const t=e.action.custom()??e.action,[n,s]=(0,o.useState)((()=>t.getState())),[r,a]=(0,o.useState)(!1),i=!!n.subItems.length,l=i&&r;return(0,o.useEffect)((()=>{const e=()=>s(t.getState());return t.onUpdate().subscribe(null,e),()=>{t.onUpdate().unsubscribe(null,e)}}),[]),o.createElement(v.ContextMenuItem,{...n,onClick:function(e){if(n.disabled||e.defaultPrevented)return;if(i)return void a(!0);n.doNotCloseOnClick||(0,f.globalCloseMenu)();t.execute()},isLoading:n.loading,isHovered:l},l&&o.createElement(b.Drawer,{onClose:c},o.createElement(x,{items:n.subItems,parentAction:t,closeNested:c})));function c(e){e&&e.preventDefault(),a(!1)}}var g=n(54627),w=n(66493);function x(e){const{items:t,parentAction:n,closeNested:s}=e,r=!Boolean(n)&&t.every((e=>!Boolean("separator"!==e.type&&(e.getState().icon||e.getState().checkable))));return o.createElement(g.EmptyIconsContext.Provider,{value:r},o.createElement("ul",null,n&&o.createElement(o.Fragment,null,o.createElement(v.ContextMenuItem,{label:n.getState().label,isTitle:!0,active:!1,disabled:!1,subItems:[],checkable:!1,checked:!1,doNotCloseOnClick:!1,icon:w,onClick:s}),o.createElement(p,null)),t.map((e=>{switch(e.type){case"action":return o.createElement(E,{key:e.id,action:e});case"separator":return o.createElement(p,{key:e.id})}}))))}const k=o.createContext(null);var y=n(20243),C=n(37399);class _ extends o.PureComponent{constructor(e){super(e),this._menuRef=o.createRef(),this._handleRequestUpdate=()=>{this.update()},this._handleClose=()=>{this.props.onClose&&this.props.onClose()},this._handleOutsideClickClose=e=>{const{doNotCloseOn:t,onClose:n}=this.props;!n||void 0!==t&&t.contains(e.target)||n()},
|
|
||||||
this._handleFocusOnOpen=()=>{this.props.menuElementReference?.current&&this.props.takeFocus&&this.props.menuElementReference?.current.focus({preventScroll:!0})},this._handleFocus=e=>{this.props.isKeyboardEvent&&e.target&&(0,y.focusFirstMenuItem)(e.target)},this.state={}}render(){const{isOpened:e,onClose:t,items:n,doNotCloseOn:s,menuStatName:a,parentStatName:m,takeFocus:p,...v}=this.props;return e?o.createElement(d.DrawerManager,null,o.createElement(c,{keyCode:27,eventType:"keyup",handler:this._handleClose}),o.createElement(h.MatchMedia,{rule:"(max-width: 440px)"},(t=>this._isDrawer(t)?o.createElement(k.Provider,{value:{type:"drawer"}},o.createElement(b.Drawer,{onClose:this._handleClose,position:"Bottom","data-name":v["data-name"]},o.createElement(x,{items:n}))):o.createElement(k.Provider,{value:{type:"menu"}},o.createElement(l.OutsideEvent,{handler:this._handleOutsideClickClose,mouseDown:!0,touchStart:!0,reference:this.props.menuElementReference},(t=>o.createElement(i.Menu,{...v,reference:t,className:r()(C.menu,"context-menu"),onClose:this._handleClose,noMomentumBasedScroll:!0,ref:this._menuRef,tabIndex:p?-1:void 0,onOpen:this._handleFocusOnOpen,onFocus:this._handleFocus,onKeyDown:y.handleAccessibleMenuKeyDown},o.createElement(u.ActionsTable,{items:n,menuStatName:a,parentStatName:m,parentIsOpened:e,onRequestUpdate:this._handleRequestUpdate})))))))):null}update(){this._menuRef.current&&this._menuRef.current.update(),this.props.isKeyboardEvent&&this.props.menuElementReference?.current&&document.activeElement===this.props.menuElementReference.current&&(0,y.focusFirstMenuItem)(this.props.menuElementReference.current)}_isDrawer(e){return void 0===this.props.mode?e:"drawer"===this.props.mode}}const M=(0,a.makeOverlapable)(_)},99025:(e,t,n)=>{"use strict";n.d(t,{Hint:()=>i});var o=n(50959),s=n(97754),r=n.n(s),a=n(31668);function i(e){const{text:t="",className:n}=e;return o.createElement("span",{className:r()(a.shortcut,n)},t)}},23829:(e,t,n)=>{"use strict";n.d(t,{ContextMenuItem:()=>p});var o=n(50959),s=n(97754),r=n.n(s),a=n(9745),i=n(26996),l=n(54627),c=n(99025),u=n(39750),d=n(79978),h=n(60925),m=n(70159);function p(e){const{className:t,isTitle:n,isLoading:s,isHovered:p,active:v,checkable:b,disabled:f,checked:E,icon:g,iconChecked:w,hint:x,subItems:k,label:y,styledLabel:C,onClick:_,children:M,toolbox:S,jsxLabel:N,size:I="normal"}=e,D=(0,o.useContext)(l.EmptyIconsContext),L=!!k.length;return s?o.createElement("li",{className:r()(t,m.item,m.loading,m[I])},o.createElement(i.Loader,null)):o.createElement("li",{className:r()(t,m.item,m.interactive,n&&m.title,f&&m.disabled,p&&m.hovered,v&&m.active,D&&m.emptyIcons,m[I]),onClick:_},o.createElement(a.Icon,{className:r()(m.icon),icon:function(){if(b&&E)return w||g||u;return g}()}),o.createElement("span",{className:r()(m.label)},!N&&C?C.map((({text:e,...t},n)=>o.createElement("span",{key:n,style:t},e))):N??y),!!S&&o.createElement(a.Icon,{onClick:function(){S&&S.action()},className:m.remove,icon:h}),!L&&x&&o.createElement(c.Hint,{className:m.shortcut,text:x
|
|
||||||
}),L&&o.createElement(a.Icon,{className:m.nested,icon:d}),M)}},54627:(e,t,n)=>{"use strict";n.d(t,{EmptyIconsContext:()=>o});const o=n(50959).createContext(!1)},37558:(e,t,n)=>{"use strict";n.d(t,{DrawerContext:()=>a,DrawerManager:()=>r});var o=n(50959),s=n(99054);class r extends o.PureComponent{constructor(e){super(e),this._isBodyFixed=!1,this._addDrawer=e=>{this.setState((t=>({stack:[...t.stack,e]})))},this._removeDrawer=e=>{this.setState((t=>({stack:t.stack.filter((t=>t!==e))})))},this.state={stack:[]}}componentDidUpdate(e,t){!t.stack.length&&this.state.stack.length&&((0,s.setFixedBodyState)(!0),this._isBodyFixed=!0),t.stack.length&&!this.state.stack.length&&this._isBodyFixed&&((0,s.setFixedBodyState)(!1),this._isBodyFixed=!1)}componentWillUnmount(){this.state.stack.length&&this._isBodyFixed&&(0,s.setFixedBodyState)(!1)}render(){return o.createElement(a.Provider,{value:{addDrawer:this._addDrawer,removeDrawer:this._removeDrawer,currentDrawer:this.state.stack.length?this.state.stack[this.state.stack.length-1]:null}},this.props.children)}}const a=o.createContext(null)},41590:(e,t,n)=>{"use strict";n.d(t,{Drawer:()=>m});var o=n(50959),s=n(50151),r=n(97754),a=n(92184),i=n(42842),l=n(37558),c=n(29197),u=n(86656),d=n(36718);var h;function m(e){const{position:t="Bottom",onClose:n,children:u,reference:h,className:m,theme:v=d}=e,b=(0,s.ensureNotNull)((0,o.useContext)(l.DrawerContext)),[f]=(0,o.useState)((()=>(0,a.randomHash)())),E=(0,o.useRef)(null),g=(0,o.useContext)(c.CloseDelegateContext);return(0,o.useLayoutEffect)((()=>((0,s.ensureNotNull)(E.current).focus({preventScroll:!0}),g.subscribe(b,n),b.addDrawer(f),()=>{b.removeDrawer(f),g.unsubscribe(b,n)})),[]),o.createElement(i.Portal,null,o.createElement("div",{ref:h,className:r(d.wrap,d[`position${t}`])},f===b.currentDrawer&&o.createElement("div",{className:d.backdrop,onClick:n}),o.createElement(p,{className:r(v.drawer,d[`position${t}`],m),ref:E,"data-name":e["data-name"]},u)))}!function(e){e.Left="Left",e.Bottom="Bottom"}(h||(h={}));const p=(0,o.forwardRef)(((e,t)=>{const{className:n,...s}=e;return o.createElement(u.TouchScrollContainer,{className:r(d.drawer,n),tabIndex:-1,ref:t,...s})}))},71402:(e,t,n)=>{"use strict";n.d(t,{RemoveTitleType:()=>o,removeTitlesMap:()=>r});var o,s=n(11542);!function(e){e.Add="add",e.Remove="remove"}(o||(o={}));const r={[o.Add]:s.t(null,void 0,n(69207)),[o.Remove]:s.t(null,void 0,n(85106))}},36189:(e,t,n)=>{"use strict";n.d(t,{FavoriteButton:()=>h});var o=n(50959),s=n(97754),r=n.n(s),a=n(9745),i=n(71402),l=n(74670),c=n(39146),u=n(48010),d=n(22413);function h(e){const{className:t,isFilled:n,isActive:s,onClick:h,title:m,...p}=e,[v,b]=(0,l.useActiveDescendant)(null),f=m??(n?i.removeTitlesMap[i.RemoveTitleType.Remove]:i.removeTitlesMap[i.RemoveTitleType.Add]);return(0,o.useLayoutEffect)((()=>{const e=v.current;e instanceof HTMLElement&&f&&e.dispatchEvent(new CustomEvent("common-tooltip-update"))}),[f,v]),o.createElement(a.Icon,{...p,className:r()(d.favorite,"apply-common-tooltip",n&&d.checked,s&&d.active,b&&d.focused,t),onClick:h,icon:n?c:u,
|
|
||||||
title:f,ariaLabel:f,ref:v})}},96040:(e,t,n)=>{"use strict";n.d(t,{RemoveButton:()=>d});var o=n(11542),s=n(50959),r=n(97754),a=n.n(r),i=n(9745),l=n(74670),c=n(33765),u=n(35990);function d(e){const{className:t,isActive:r,onClick:d,onMouseDown:h,title:m,hidden:p,"data-name":v="remove-button",icon:b,...f}=e,[E,g]=(0,l.useActiveDescendant)(null);return s.createElement(i.Icon,{...f,"data-name":v,className:a()(u.button,"apply-common-tooltip",r&&u.active,p&&u.hidden,g&&u.focused,t),icon:b||c,onClick:d,onMouseDown:h,title:m??o.t(null,void 0,n(67410)),ariaLabel:m??o.t(null,void 0,n(67410)),ref:E})}},86656:(e,t,n)=>{"use strict";n.d(t,{TouchScrollContainer:()=>c});var o=n(50959),s=n(59142),r=n(50151),a=n(49483);const i=CSS.supports("overscroll-behavior","none");let l=0;const c=(0,o.forwardRef)(((e,t)=>{const{children:n,...r}=e,c=(0,o.useRef)(null);return(0,o.useImperativeHandle)(t,(()=>c.current)),(0,o.useLayoutEffect)((()=>{if(a.CheckMobile.iOS())return l++,null!==c.current&&(i?1===l&&(document.body.style.overscrollBehavior="none"):(0,s.disableBodyScroll)(c.current,{allowTouchMove:u(c)})),()=>{l--,null!==c.current&&(i?0===l&&(document.body.style.overscrollBehavior=""):(0,s.enableBodyScroll)(c.current))}}),[]),o.createElement("div",{ref:c,...r},n)}));function u(e){return t=>{const n=(0,r.ensureNotNull)(e.current),o=document.activeElement;return!n.contains(t)||null!==o&&n.contains(o)&&o.contains(t)}}},20243:(e,t,n)=>{"use strict";n.d(t,{focusFirstMenuItem:()=>u,handleAccessibleMenuFocus:()=>l,handleAccessibleMenuKeyDown:()=>c,queryMenuElements:()=>m});var o=n(19291),s=n(57177),r=n(68335),a=n(15754);const i=[37,39,38,40];function l(e,t){if(!e.target)return;const n=e.relatedTarget?.getAttribute("aria-activedescendant");if(e.relatedTarget!==t.current){const e=n&&document.getElementById(n);if(!e||e!==t.current)return}u(e.target)}function c(e){if(e.defaultPrevented)return;const t=(0,r.hashFromEvent)(e);if(!i.includes(t))return;const n=document.activeElement;if(!(document.activeElement instanceof HTMLElement))return;const a=m(e.currentTarget).sort(o.navigationOrderComparator);if(0===a.length)return;const l=document.activeElement.closest('[data-role="menuitem"]')||document.activeElement.parentElement?.querySelector('[data-role="menuitem"]');if(!(l instanceof HTMLElement))return;const c=a.indexOf(l);if(-1===c)return;const u=p(l),v=u.indexOf(document.activeElement),b=-1!==v,f=e=>{n&&(0,s.becomeSecondaryElement)(n),(0,s.becomeMainElement)(e),e.focus()};switch((0,o.mapKeyCodeToDirection)(t)){case"inlinePrev":if(!u.length)return;e.preventDefault(),f(0===v?a[c]:b?d(u,v,-1):u[u.length-1]);break;case"inlineNext":if(!u.length)return;e.preventDefault(),v===u.length-1?f(a[c]):f(b?d(u,v,1):u[0]);break;case"blockPrev":{e.preventDefault();const t=d(a,c,-1);if(b){const e=h(t,v);f(e||t);break}f(t);break}case"blockNext":{e.preventDefault();const t=d(a,c,1);if(b){const e=h(t,v);f(e||t);break}f(t)}}}function u(e){const[t]=m(e);t&&((0,s.becomeMainElement)(t),t.focus())}function d(e,t,n){return e[(t+e.length+n)%e.length]}function h(e,t){const n=p(e)
|
|
||||||
;return n.length?n[(t+n.length)%n.length]:null}function m(e){return Array.from(e.querySelectorAll('[data-role="menuitem"]:not([disabled]):not([aria-disabled])')).filter((0,a.createScopedVisibleElementFilter)(e))}function p(e){return Array.from(e.querySelectorAll("[tabindex]:not([disabled]):not([aria-disabled])")).filter((0,a.createScopedVisibleElementFilter)(e))}},57177:(e,t,n)=>{"use strict";var o;function s(e){e.dispatchEvent(new CustomEvent("roving-tabindex:main-element"))}function r(e){e.dispatchEvent(new CustomEvent("roving-tabindex:secondary-element"))}n.d(t,{becomeMainElement:()=>s,becomeSecondaryElement:()=>r}),function(e){e.MainElement="roving-tabindex:main-element",e.SecondaryElement="roving-tabindex:secondary-element"}(o||(o={}))},75535:(e,t,n)=>{"use strict";n.d(t,{ActionsTable:()=>i});var o=n(50959),s=n(21320);function r(e){return o.createElement("tr",{className:s.row},o.createElement("td",null,o.createElement("div",{className:s.line})),o.createElement("td",null,o.createElement("div",{className:s.line}),e.hint?o.createElement("div",{className:s.hint},e.hint):null))}var a=n(10772);class i extends o.PureComponent{constructor(e){super(e),this._handleShowSubMenu=e=>{const t=e.getState();this.setState({showSubMenuOf:t.subItems.length?e:void 0})},this.state={}}render(){return o.createElement("table",null,o.createElement("tbody",null,this.props.items.map((e=>this._item(e)))))}static getDerivedStateFromProps(e,t){return!e.parentIsOpened&&t.showSubMenuOf?{showSubMenuOf:void 0}:null}_item(e){switch(e.type){case"separator":return o.createElement(r,{key:e.id,hint:e.getHint()});case"action":const t=e.custom()??e;return o.createElement(a.ContextMenuAction,{key:t.id,action:t,onShowSubMenu:this._handleShowSubMenu,isSubMenuOpened:this.state.showSubMenuOf===t,menuStatName:this.props.menuStatName,parentStatName:this.props.parentStatName,onRequestUpdate:this.props.onRequestUpdate})}}}},60925:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M12 4h3v1h-1.04l-.88 9.64a1.5 1.5 0 0 1-1.5 1.36H6.42a1.5 1.5 0 0 1-1.5-1.36L4.05 5H3V4h3v-.5C6 2.67 6.67 2 7.5 2h3c.83 0 1.5.67 1.5 1.5V4ZM7.5 3a.5.5 0 0 0-.5.5V4h4v-.5a.5.5 0 0 0-.5-.5h-3ZM5.05 5l.87 9.55a.5.5 0 0 0 .5.45h5.17a.5.5 0 0 0 .5-.45L12.94 5h-7.9Z"/></svg>'},60004:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" d="M22 9.06 11 20 6 14.7l1.09-1.02 3.94 4.16L20.94 8 22 9.06Z"/></svg>'},65890:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11 9" width="11" height="9" fill="none"><path stroke="currentColor" stroke-width="2" d="M0.999878 4L3.99988 7L9.99988 1"/></svg>'},66493:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16.5 20L11 14.5 16.5 9"/></svg>'},79978:e=>{
|
|
||||||
e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><path stroke="currentColor" d="M8 5l3.5 3.5L8 12"/></svg>'},39750:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M7 15l5 5L23 9"/></svg>'},33765:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18"><path fill="currentColor" d="M9.707 9l4.647-4.646-.707-.708L9 8.293 4.354 3.646l-.708.708L8.293 9l-4.647 4.646.708.708L9 9.707l4.646 4.647.708-.707L9.707 9z"/></svg>'},14665:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 16" width="10" height="16"><path d="M.6 1.4l1.4-1.4 8 8-8 8-1.4-1.4 6.389-6.532-6.389-6.668z"/></svg>'},39146:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><path fill="currentColor" d="M9 1l2.35 4.76 5.26.77-3.8 3.7.9 5.24L9 13l-4.7 2.47.9-5.23-3.8-3.71 5.25-.77L9 1z"/></svg>'},48010:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><path stroke="currentColor" d="M9 2.13l1.903 3.855.116.236.26.038 4.255.618-3.079 3.001-.188.184.044.259.727 4.237-3.805-2L9 12.434l-.233.122-3.805 2.001.727-4.237.044-.26-.188-.183-3.079-3.001 4.255-.618.26-.038.116-.236L9 2.13z"/></svg>'}}]);
|
|
||||||
12
charting_library/bundles/2164.fcf5a0c7415d9ec1cd7c.js
Normal file
12
charting_library/bundles/2164.fcf5a0c7415d9ec1cd7c.js
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[2164],{97754:(e,t)=>{var i;!function(){"use strict";var n={}.hasOwnProperty;function r(){for(var e=[],t=0;t<arguments.length;t++){var i=arguments[t];if(i){var s=typeof i;if("string"===s||"number"===s)e.push(i);else if(Array.isArray(i)&&i.length){var o=r.apply(null,i);o&&e.push(o)}else if("object"===s)for(var l in i)n.call(i,l)&&i[l]&&e.push(l)}}return e.join(" ")}e.exports?(r.default=r,e.exports=r):void 0===(i=function(){return r}.apply(t,[]))||(e.exports=i)}()},4237:(e,t,i)=>{"use strict";var n=i(32227);t.createRoot=n.createRoot,n.hydrateRoot},3789:function(e,t,i){e=i.nmd(e),function(){var t,i,n,r,s,o,l,a,u=[].slice,p={}.hasOwnProperty;l=function(){},i=function(){function e(){}return e.prototype.addEventListener=e.prototype.on,e.prototype.on=function(e,t){return this._callbacks=this._callbacks||{},this._callbacks[e]||(this._callbacks[e]=[]),this._callbacks[e].push(t),this},e.prototype.emit=function(){var e,t,i,n,r;if(i=arguments[0],e=2<=arguments.length?u.call(arguments,1):[],this._callbacks=this._callbacks||{},t=this._callbacks[i])for(n=0,r=t.length;n<r;n++)t[n].apply(this,e);return this},e.prototype.removeListener=e.prototype.off,e.prototype.removeAllListeners=e.prototype.off,e.prototype.removeEventListener=e.prototype.off,e.prototype.off=function(e,t){var i,n,r,s;if(!this._callbacks||0===arguments.length)return this._callbacks={},this;if(!(i=this._callbacks[e]))return this;if(1===arguments.length)return delete this._callbacks[e],this;for(n=r=0,s=i.length;r<s;n=++r)if(i[n]===t){i.splice(n,1);break}return this},e}(),t=function(e){var t,n;function r(e,i){var n,s,o;if(this.element=e,this.version=r.version,this.defaultOptions.previewTemplate=this.defaultOptions.previewTemplate.replace(/\n*/g,""),this.clickableElements=[],this.listeners=[],this.files=[],"string"==typeof this.element&&(this.element=document.querySelector(this.element)),!this.element||null==this.element.nodeType)throw new Error("Invalid dropzone element.");if(this.element.dropzone)throw new Error("Dropzone already attached.");if(r.instances.push(this),this.element.dropzone=this,n=null!=(o=r.optionsForElement(this.element))?o:{},this.options=t({},this.defaultOptions,n,null!=i?i:{}),this.options.forceFallback||!r.isBrowserSupported())return this.options.fallback.call(this);if(null==this.options.url&&(this.options.url=this.element.getAttribute("action")),!this.options.url)throw new Error("No URL provided.");if(this.options.acceptedFiles&&this.options.acceptedMimeTypes)throw new Error("You can't provide both 'acceptedFiles' and 'acceptedMimeTypes'. 'acceptedMimeTypes' is deprecated.");this.options.acceptedMimeTypes&&(this.options.acceptedFiles=this.options.acceptedMimeTypes,delete this.options.acceptedMimeTypes),this.options.method=this.options.method.toUpperCase(),(s=this.getExistingFallback())&&s.parentNode&&s.parentNode.removeChild(s),
|
||||||
|
!1!==this.options.previewsContainer&&(this.options.previewsContainer?this.previewsContainer=r.getElement(this.options.previewsContainer,"previewsContainer"):this.previewsContainer=this.element),this.options.clickable&&(!0===this.options.clickable?this.clickableElements=[this.element]:this.clickableElements=r.getElements(this.options.clickable,"clickable")),this.init()}return function(e,t){for(var i in t)p.call(t,i)&&(e[i]=t[i]);function n(){this.constructor=e}n.prototype=t.prototype,e.prototype=new n,e.__super__=t.prototype}(r,e),r.prototype.Emitter=i,r.prototype.events=["drop","dragstart","dragend","dragenter","dragover","dragleave","addedfile","removedfile","thumbnail","error","errormultiple","processing","processingmultiple","uploadprogress","totaluploadprogress","sending","sendingmultiple","success","successmultiple","canceled","canceledmultiple","complete","completemultiple","reset","maxfilesexceeded","maxfilesreached","queuecomplete"],r.prototype.defaultOptions={url:null,method:"post",withCredentials:!1,parallelUploads:2,uploadMultiple:!1,maxFilesize:256,paramName:"file",createImageThumbnails:!0,maxThumbnailFilesize:10,thumbnailWidth:120,thumbnailHeight:120,filesizeBase:1e3,maxFiles:null,filesizeBase:1e3,params:{},clickable:!0,ignoreHiddenFiles:!0,acceptedFiles:null,acceptedMimeTypes:null,autoProcessQueue:!0,autoQueue:!0,addRemoveLinks:!1,previewsContainer:null,capture:null,dictDefaultMessage:"Drop files here to upload",dictFallbackMessage:"Your browser does not support drag'n'drop file uploads.",dictFallbackText:"Please use the fallback form below to upload your files like in the olden days.",dictFileTooBig:"File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.",dictInvalidFileType:"You can't upload files of this type.",dictResponseError:"Server responded with {{statusCode}} code.",dictCancelUpload:"Cancel upload",dictCancelUploadConfirmation:"Are you sure you want to cancel this upload?",dictRemoveFile:"Remove file",dictRemoveFileConfirmation:null,dictMaxFilesExceeded:"You can not upload any more files.",accept:function(e,t){return t()},init:function(){return l},forceFallback:!1,fallback:function(){var e,t,i,n,s,o;for(this.element.className=this.element.className+" dz-browser-not-supported",n=0,s=(o=this.element.getElementsByTagName("div")).length;n<s;n++)e=o[n],/(^| )dz-message($| )/.test(e.className)&&(t=e,e.className="dz-message");return t||(t=r.createElement('<div class="dz-message"><span></span></div>'),this.element.appendChild(t)),(i=t.getElementsByTagName("span")[0])&&(i.textContent=this.options.dictFallbackMessage),this.element.appendChild(this.getFallbackForm())},resize:function(e){var t,i,n;return t={srcX:0,srcY:0,srcWidth:e.width,srcHeight:e.height},i=e.width/e.height,t.optWidth=this.options.thumbnailWidth,t.optHeight=this.options.thumbnailHeight,null==t.optWidth&&null==t.optHeight?(t.optWidth=t.srcWidth,t.optHeight=t.srcHeight):null==t.optWidth?t.optWidth=i*t.optHeight:null==t.optHeight&&(t.optHeight=1/i*t.optWidth),n=t.optWidth/t.optHeight,
|
||||||
|
e.height<t.optHeight||e.width<t.optWidth?(t.trgHeight=t.srcHeight,t.trgWidth=t.srcWidth):i>n?(t.srcHeight=e.height,t.srcWidth=t.srcHeight*n):(t.srcWidth=e.width,t.srcHeight=t.srcWidth/n),t.srcX=(e.width-t.srcWidth)/2,t.srcY=(e.height-t.srcHeight)/2,t},drop:function(e){return this.element.classList.remove("dz-drag-hover")},dragstart:l,dragend:function(e){return this.element.classList.remove("dz-drag-hover")},dragenter:function(e){return this.element.classList.add("dz-drag-hover")},dragover:function(e){return this.element.classList.add("dz-drag-hover")},dragleave:function(e){return this.element.classList.remove("dz-drag-hover")},paste:l,reset:function(){return this.element.classList.remove("dz-started")},addedfile:function(e){var t,i,n,s,o,l,a,u,p,d,c,h,m;if(this.element===this.previewsContainer&&this.element.classList.add("dz-started"),this.previewsContainer){for(e.previewElement=r.createElement(this.options.previewTemplate.trim()),e.previewTemplate=e.previewElement,this.previewsContainer.appendChild(e.previewElement),n=0,l=(p=e.previewElement.querySelectorAll("[data-dz-name]")).length;n<l;n++)p[n].textContent=e.name;for(s=0,a=(d=e.previewElement.querySelectorAll("[data-dz-size]")).length;s<a;s++)d[s].innerHTML=this.filesize(e.size);for(this.options.addRemoveLinks&&(e._removeLink=r.createElement('<a class="dz-remove" href="javascript:undefined;" data-dz-remove>'+this.options.dictRemoveFile+"</a>"),e.previewElement.appendChild(e._removeLink)),m=this,t=function(t){return t.preventDefault(),t.stopPropagation(),e.status===r.UPLOADING?r.confirm(m.options.dictCancelUploadConfirmation,(function(){return m.removeFile(e)})):m.options.dictRemoveFileConfirmation?r.confirm(m.options.dictRemoveFileConfirmation,(function(){return m.removeFile(e)})):m.removeFile(e)},h=[],o=0,u=(c=e.previewElement.querySelectorAll("[data-dz-remove]")).length;o<u;o++)i=c[o],h.push(i.addEventListener("click",t));return h}},removedfile:function(e){var t;return e.previewElement&&null!=(t=e.previewElement)&&t.parentNode.removeChild(e.previewElement),this._updateMaxFilesReachedClass()},thumbnail:function(e,t){var i,n,r,s;if(e.previewElement){for(e.previewElement.classList.remove("dz-file-preview"),n=0,r=(s=e.previewElement.querySelectorAll("[data-dz-thumbnail]")).length;n<r;n++)(i=s[n]).alt=e.name,i.src=t;return setTimeout((function(){return e.previewElement.classList.add("dz-image-preview")}),1)}},error:function(e,t){var i,n,r,s,o;if(e.previewElement){for(e.previewElement.classList.add("dz-error"),"String"!=typeof t&&t.error&&(t=t.error),o=[],n=0,r=(s=e.previewElement.querySelectorAll("[data-dz-errormessage]")).length;n<r;n++)i=s[n],o.push(i.textContent=t);return o}},errormultiple:l,processing:function(e){if(e.previewElement&&(e.previewElement.classList.add("dz-processing"),e._removeLink))return e._removeLink.textContent=this.options.dictCancelUpload},processingmultiple:l,uploadprogress:function(e,t,i){var n,r,s,o,l;if(e.previewElement){for(l=[],r=0,
|
||||||
|
s=(o=e.previewElement.querySelectorAll("[data-dz-uploadprogress]")).length;r<s;r++)"PROGRESS"===(n=o[r]).nodeName?l.push(n.value=t):l.push(n.style.width=t+"%");return l}},totaluploadprogress:l,sending:l,sendingmultiple:l,success:function(e){if(e.previewElement)return e.previewElement.classList.add("dz-success")},successmultiple:l,canceled:function(e){return this.emit("error",e,"Upload canceled.")},canceledmultiple:l,complete:function(e){if(e._removeLink&&(e._removeLink.textContent=this.options.dictRemoveFile),e.previewElement)return e.previewElement.classList.add("dz-complete")},completemultiple:l,maxfilesexceeded:l,maxfilesreached:l,queuecomplete:l,
|
||||||
|
previewTemplate:'<div class="dz-preview dz-file-preview">\n <div class="dz-image"><img data-dz-thumbnail /></div>\n <div class="dz-details">\n <div class="dz-size"><span data-dz-size></span></div>\n <div class="dz-filename"><span data-dz-name></span></div>\n </div>\n <div class="dz-progress"><span class="dz-upload" data-dz-uploadprogress></span></div>\n <div class="dz-error-message"><span data-dz-errormessage></span></div>\n <div class="dz-success-mark">\n <svg width="54px" height="54px" viewBox="0 0 54 54" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">\n <title>Check</title>\n <defs></defs>\n <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">\n <path d="M23.5,31.8431458 L17.5852419,25.9283877 C16.0248253,24.3679711 13.4910294,24.366835 11.9289322,25.9289322 C10.3700136,27.4878508 10.3665912,30.0234455 11.9283877,31.5852419 L20.4147581,40.0716123 C20.5133999,40.1702541 20.6159315,40.2626649 20.7218615,40.3488435 C22.2835669,41.8725651 24.794234,41.8626202 26.3461564,40.3106978 L43.3106978,23.3461564 C44.8771021,21.7797521 44.8758057,19.2483887 43.3137085,17.6862915 C41.7547899,16.1273729 39.2176035,16.1255422 37.6538436,17.6893022 L23.5,31.8431458 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z" id="Oval-2" stroke-opacity="0.198794158" stroke="#747474" fill-opacity="0.816519475" fill="#FFFFFF" sketch:type="MSShapeGroup"></path>\n </g>\n </svg>\n </div>\n <div class="dz-error-mark">\n <svg width="54px" height="54px" viewBox="0 0 54 54" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">\n <title>Error</title>\n <defs></defs>\n <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">\n <g id="Check-+-Oval-2" sketch:type="MSLayerGroup" stroke="#747474" stroke-opacity="0.198794158" fill="#FFFFFF" fill-opacity="0.816519475">\n <path d="M32.6568542,29 L38.3106978,23.3461564 C39.8771021,21.7797521 39.8758057,19.2483887 38.3137085,17.6862915 C36.7547899,16.1273729 34.2176035,16.1255422 32.6538436,17.6893022 L27,23.3431458 L21.3461564,17.6893022 C19.7823965,16.1255422 17.2452101,16.1273729 15.6862915,17.6862915 C14.1241943,19.2483887 14.1228979,21.7797521 15.6893022,23.3461564 L21.3431458,29 L15.6893022,34.6538436 C14.1228979,36.2202479 14.1241943,38.7516113 15.6862915,40.3137085 C17.2452101,41.8726271 19.7823965,41.8744578 21.3461564,40.3106978 L27,34.6568542 L32.6538436,40.3106978 C34.2176035,41.8744578 36.7547899,41.8726271 38.3137085,40.3137085 C39.8758057,38.7516113 39.8771021,36.2202479 38.3106978,34.6538436 L32.6568542,29 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z" id="Oval-2" sketch:type="MSShapeGroup"></path>\n </g>\n </g>\n </svg>\n </div>\n</div>'
|
||||||
|
},t=function(){var e,t,i,n,r,s,o;for(n=arguments[0],s=0,o=(i=2<=arguments.length?u.call(arguments,1):[]).length;s<o;s++)for(e in t=i[s])r=t[e],n[e]=r;return n},r.prototype.getAcceptedFiles=function(){var e,t,i,n,r;for(r=[],t=0,i=(n=this.files).length;t<i;t++)(e=n[t]).accepted&&r.push(e);return r},r.prototype.getRejectedFiles=function(){var e,t,i,n,r;for(r=[],t=0,i=(n=this.files).length;t<i;t++)(e=n[t]).accepted||r.push(e);return r},r.prototype.getFilesWithStatus=function(e){var t,i,n,r,s;for(s=[],i=0,n=(r=this.files).length;i<n;i++)(t=r[i]).status===e&&s.push(t);return s},r.prototype.getQueuedFiles=function(){return this.getFilesWithStatus(r.QUEUED)},r.prototype.getUploadingFiles=function(){return this.getFilesWithStatus(r.UPLOADING)},r.prototype.getActiveFiles=function(){var e,t,i,n,s;for(s=[],t=0,i=(n=this.files).length;t<i;t++)(e=n[t]).status!==r.UPLOADING&&e.status!==r.QUEUED||s.push(e);return s},r.prototype.init=function(){var e,t,i,n,s,o,l,a;for("form"===this.element.tagName&&this.element.setAttribute("enctype","multipart/form-data"),this.element.classList.contains("dropzone")&&!this.element.querySelector(".dz-message")&&this.element.appendChild(r.createElement('<div class="dz-default dz-message"><span>'+this.options.dictDefaultMessage+"</span></div>")),this.clickableElements.length&&(a=this,i=function(){return a.hiddenFileInput&&document.body.removeChild(a.hiddenFileInput),a.hiddenFileInput=document.createElement("input"),a.hiddenFileInput.setAttribute("type","file"),(null==a.options.maxFiles||a.options.maxFiles>1)&&a.hiddenFileInput.setAttribute("multiple","multiple"),a.hiddenFileInput.className="dz-hidden-input",null!=a.options.acceptedFiles&&a.hiddenFileInput.setAttribute("accept",a.options.acceptedFiles),null!=a.options.capture&&a.hiddenFileInput.setAttribute("capture",a.options.capture),a.hiddenFileInput.style.visibility="hidden",a.hiddenFileInput.style.position="absolute",a.hiddenFileInput.style.top="0",a.hiddenFileInput.style.left="0",a.hiddenFileInput.style.height="0",a.hiddenFileInput.style.width="0",document.body.appendChild(a.hiddenFileInput),a.hiddenFileInput.addEventListener("change",(function(){var e,t,n,r;if((t=a.hiddenFileInput.files).length)for(n=0,r=t.length;n<r;n++)e=t[n],a.addFile(e);return i()}))},i()),this.URL=null!=(o=window.URL)?o:window.webkitURL,n=0,s=(l=this.events).length;n<s;n++)e=l[n],this.on(e,this.options[e]);return this.on("uploadprogress",function(e){return function(){return e.updateTotalUploadProgress()}}(this)),this.on("removedfile",function(e){return function(){return e.updateTotalUploadProgress()}}(this)),this.on("canceled",function(e){return function(t){return e.emit("complete",t)}}(this)),this.on("complete",function(e){return function(t){if(0===e.getUploadingFiles().length&&0===e.getQueuedFiles().length)return setTimeout((function(){return e.emit("queuecomplete")}),0)}}(this)),t=function(e){return e.stopPropagation(),e.preventDefault?e.preventDefault():e.returnValue=!1},this.listeners=[{element:this.element,events:{dragstart:function(e){return function(t){
|
||||||
|
return e.emit("dragstart",t)}}(this),dragenter:function(e){return function(i){return t(i),e.emit("dragenter",i)}}(this),dragover:function(e){return function(i){var n;try{n=i.dataTransfer.effectAllowed}catch(e){}return i.dataTransfer.dropEffect="move"===n||"linkMove"===n?"move":"copy",t(i),e.emit("dragover",i)}}(this),dragleave:function(e){return function(t){return e.emit("dragleave",t)}}(this),drop:function(e){return function(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,e.drop(t)}}(this),dragend:function(e){return function(t){return e.emit("dragend",t)}}(this)}}],this.clickableElements.forEach(function(e){return function(t){return e.listeners.push({element:t,events:{click:function(i){if(t!==e.element||i.target===e.element||r.elementInside(i.target,e.element.querySelector(".dz-message")))return e.hiddenFileInput.click()}}})}}(this)),this.enable(),this.options.init.call(this)},r.prototype.destroy=function(){var e;return this.disable(),this.removeAllFiles(!0),(null!=(e=this.hiddenFileInput)?e.parentNode:void 0)&&(this.hiddenFileInput.parentNode.removeChild(this.hiddenFileInput),this.hiddenFileInput=null),delete this.element.dropzone,r.instances.splice(r.instances.indexOf(this),1)},r.prototype.updateTotalUploadProgress=function(){var e,t,i,n,r,s,o;if(i=0,t=0,this.getActiveFiles().length){for(r=0,s=(o=this.getActiveFiles()).length;r<s;r++)i+=(e=o[r]).upload.bytesSent,t+=e.upload.total;n=100*i/t}else n=100;return this.emit("totaluploadprogress",n,t,i)},r.prototype._getParamName=function(e){return"function"==typeof this.options.paramName?this.options.paramName(e):this.options.paramName+(this.options.uploadMultiple?"["+e+"]":"")},r.prototype.getFallbackForm=function(){var e,t,i,n;return(e=this.getExistingFallback())?e:(i='<div class="dz-fallback">',this.options.dictFallbackText&&(i+="<p>"+this.options.dictFallbackText+"</p>"),i+='<input type="file" name="'+this._getParamName(0)+'" '+(this.options.uploadMultiple?'multiple="multiple"':void 0)+' /><input type="submit" value="Upload!"></div>',t=r.createElement(i),"FORM"!==this.element.tagName?(n=r.createElement('<form action="'+this.options.url+'" enctype="multipart/form-data" method="'+this.options.method+'"></form>')).appendChild(t):(this.element.setAttribute("enctype","multipart/form-data"),this.element.setAttribute("method",this.options.method)),null!=n?n:t)},r.prototype.getExistingFallback=function(){var e,t,i,n,r,s;for(t=function(e){var t,i,n;for(i=0,n=e.length;i<n;i++)if(t=e[i],/(^| )fallback($| )/.test(t.className))return t},n=0,r=(s=["div","form"]).length;n<r;n++)if(i=s[n],e=t(this.element.getElementsByTagName(i)))return e},r.prototype.setupEventListeners=function(){var e,t,i,n,r,s,o;for(o=[],n=0,r=(s=this.listeners).length;n<r;n++)e=s[n],o.push(function(){var n,r;for(t in r=[],n=e.events)i=n[t],r.push(e.element.addEventListener(t,i,!1));return r}());return o},r.prototype.removeEventListeners=function(){var e,t,i,n,r,s,o;for(o=[],n=0,r=(s=this.listeners).length;n<r;n++)e=s[n],o.push(function(){var n,r;for(t in r=[],n=e.events)i=n[t],
|
||||||
|
r.push(e.element.removeEventListener(t,i,!1));return r}());return o},r.prototype.disable=function(){var e,t,i,n,r;for(this.clickableElements.forEach((function(e){return e.classList.remove("dz-clickable")})),this.removeEventListeners(),r=[],t=0,i=(n=this.files).length;t<i;t++)e=n[t],r.push(this.cancelUpload(e));return r},r.prototype.enable=function(){return this.clickableElements.forEach((function(e){return e.classList.add("dz-clickable")})),this.setupEventListeners()},r.prototype.filesize=function(e){var t,i,n,r,s,o,l;for(i=n=null,t=o=0,l=(s=["TB","GB","MB","KB","b"]).length;o<l;t=++o)if(r=s[t],e>=Math.pow(this.options.filesizeBase,4-t)/10){i=e/Math.pow(this.options.filesizeBase,4-t),n=r;break}return"<strong>"+(i=Math.round(10*i)/10)+"</strong> "+n},r.prototype._updateMaxFilesReachedClass=function(){return null!=this.options.maxFiles&&this.getAcceptedFiles().length>=this.options.maxFiles?(this.getAcceptedFiles().length===this.options.maxFiles&&this.emit("maxfilesreached",this.files),this.element.classList.add("dz-max-files-reached")):this.element.classList.remove("dz-max-files-reached")},r.prototype.drop=function(e){var t,i;e.dataTransfer&&(this.emit("drop",e),(t=e.dataTransfer.files).length&&((i=e.dataTransfer.items)&&i.length&&null!=i[0].webkitGetAsEntry?this._addFilesFromItems(i):this.handleFiles(t)))},r.prototype.paste=function(e){var t,i;if(null!=(null!=e&&null!=(i=e.clipboardData)?i.items:void 0))return this.emit("paste",e),(t=e.clipboardData.items).length?this._addFilesFromItems(t):void 0},r.prototype.handleFiles=function(e){var t,i,n,r;for(r=[],i=0,n=e.length;i<n;i++)t=e[i],r.push(this.addFile(t));return r},r.prototype._addFilesFromItems=function(e){var t,i,n,r,s;for(s=[],n=0,r=e.length;n<r;n++)null!=(i=e[n]).webkitGetAsEntry&&(t=i.webkitGetAsEntry())?t.isFile?s.push(this.addFile(i.getAsFile())):t.isDirectory?s.push(this._addFilesFromDirectory(t,t.name)):s.push(void 0):null!=i.getAsFile&&(null==i.kind||"file"===i.kind)?s.push(this.addFile(i.getAsFile())):s.push(void 0);return s},r.prototype._addFilesFromDirectory=function(e,t){var i,n,r;return i=e.createReader(),r=this,n=function(e){var i,n,s;for(n=0,s=e.length;n<s;n++)(i=e[n]).isFile?i.file((function(e){if(!r.options.ignoreHiddenFiles||"."!==e.name.substring(0,1))return e.fullPath=t+"/"+e.name,r.addFile(e)})):i.isDirectory&&r._addFilesFromDirectory(i,t+"/"+i.name)},i.readEntries(n,(function(e){return"undefined"!=typeof console&&null!==console&&"function"==typeof console.log?console.log(e):void 0}))},r.prototype.accept=function(e,t){return e.size>1024*this.options.maxFilesize*1024?t(this.options.dictFileTooBig.replace("{{filesize}}",Math.round(e.size/1024/10.24)/100).replace("{{maxFilesize}}",this.options.maxFilesize)):r.isValidFile(e,this.options.acceptedFiles)?null!=this.options.maxFiles&&this.getAcceptedFiles().length>=this.options.maxFiles?(t(this.options.dictMaxFilesExceeded.replace("{{maxFiles}}",this.options.maxFiles)),this.emit("maxfilesexceeded",e)):this.options.accept.call(this,e,t):t(this.options.dictInvalidFileType)},
|
||||||
|
r.prototype.addFile=function(e){return e.upload={progress:0,total:e.size,bytesSent:0},this.files.push(e),e.status=r.ADDED,this.emit("addedfile",e),this._enqueueThumbnail(e),this.accept(e,(t=this,function(i){return i?(e.accepted=!1,t._errorProcessing([e],i)):(e.accepted=!0,t.options.autoQueue&&t.enqueueFile(e)),t._updateMaxFilesReachedClass()}));var t},r.prototype.enqueueFiles=function(e){var t,i,n;for(i=0,n=e.length;i<n;i++)t=e[i],this.enqueueFile(t);return null},r.prototype.enqueueFile=function(e){if(e.status!==r.ADDED||!0!==e.accepted)throw new Error("This file can't be queued because it has already been processed or was rejected.");if(e.status=r.QUEUED,this.options.autoProcessQueue)return setTimeout((t=this,function(){return t.processQueue()}),0);var t},r.prototype._thumbnailQueue=[],r.prototype._processingThumbnail=!1,r.prototype._enqueueThumbnail=function(e){if(this.options.createImageThumbnails&&e.type.match(/image.*/)&&e.size<=1024*this.options.maxThumbnailFilesize*1024)return this._thumbnailQueue.push(e),setTimeout((t=this,function(){return t._processThumbnailQueue()}),0);var t},r.prototype._processThumbnailQueue=function(){var e;if(!this._processingThumbnail&&0!==this._thumbnailQueue.length)return this._processingThumbnail=!0,this.createThumbnail(this._thumbnailQueue.shift(),(e=this,function(){return e._processingThumbnail=!1,e._processThumbnailQueue()}))},r.prototype.removeFile=function(e){if(e.status===r.UPLOADING&&this.cancelUpload(e),this.files=a(this.files,e),this.emit("removedfile",e),0===this.files.length)return this.emit("reset")},r.prototype.removeAllFiles=function(e){var t,i,n,s;for(null==e&&(e=!1),i=0,n=(s=this.files.slice()).length;i<n;i++)((t=s[i]).status!==r.UPLOADING||e)&&this.removeFile(t);return null},r.prototype.createThumbnail=function(e,t){var i,n;return(i=new FileReader).onload=(n=this,function(){return"image/svg+xml"===e.type?(n.emit("thumbnail",e,i.result),void(null!=t&&t())):n.createThumbnailFromUrl(e,i.result,t)}),i.readAsDataURL(e)},r.prototype.createThumbnailFromUrl=function(e,t,i){var n,r;return(n=document.createElement("img")).onload=(r=this,function(){var t,s,l,a,u,p,d,c;if(e.width=n.width,e.height=n.height,null==(l=r.options.resize.call(r,e)).trgWidth&&(l.trgWidth=l.optWidth),null==l.trgHeight&&(l.trgHeight=l.optHeight),s=(t=document.createElement("canvas")).getContext("2d"),t.width=l.trgWidth,t.height=l.trgHeight,o(s,n,null!=(u=l.srcX)?u:0,null!=(p=l.srcY)?p:0,l.srcWidth,l.srcHeight,null!=(d=l.trgX)?d:0,null!=(c=l.trgY)?c:0,l.trgWidth,l.trgHeight),a=t.toDataURL("image/png"),r.emit("thumbnail",e,a),null!=i)return i()}),null!=i&&(n.onerror=i),n.src=t},r.prototype.processQueue=function(){var e,t,i,n;if(t=this.options.parallelUploads,e=i=this.getUploadingFiles().length,!(i>=t)&&(n=this.getQueuedFiles()).length>0){if(this.options.uploadMultiple)return this.processFiles(n.slice(0,t-i));for(;e<t;){if(!n.length)return;this.processFile(n.shift()),e++}}},r.prototype.processFile=function(e){return this.processFiles([e])},r.prototype.processFiles=function(e){var t,i,n;for(i=0,
|
||||||
|
n=e.length;i<n;i++)(t=e[i]).processing=!0,t.status=r.UPLOADING,this.emit("processing",t);return this.options.uploadMultiple&&this.emit("processingmultiple",e),this.uploadFiles(e)},r.prototype._getFilesWithXhr=function(e){var t;return function(){var i,n,r,s;for(s=[],i=0,n=(r=this.files).length;i<n;i++)(t=r[i]).xhr===e&&s.push(t);return s}.call(this)},r.prototype.cancelUpload=function(e){var t,i,n,s,o,l,a;if(e.status===r.UPLOADING){for(n=0,o=(i=this._getFilesWithXhr(e.xhr)).length;n<o;n++)(t=i[n]).status=r.CANCELED;for(e.xhr.abort(),s=0,l=i.length;s<l;s++)t=i[s],this.emit("canceled",t);this.options.uploadMultiple&&this.emit("canceledmultiple",i)}else(a=e.status)!==r.ADDED&&a!==r.QUEUED||(e.status=r.CANCELED,this.emit("canceled",e),this.options.uploadMultiple&&this.emit("canceledmultiple",[e]));if(this.options.autoProcessQueue)return this.processQueue()},n=function(){var e,t;return t=arguments[0],e=2<=arguments.length?u.call(arguments,1):[],"function"==typeof t?t.apply(this,e):t},r.prototype.uploadFile=function(e){return this.uploadFiles([e])},r.prototype.uploadFiles=function(e){var i,s,o,l,a,u,p,d,c,h,m,f,g,v,y,F,w,E,b,C,k,z,L,x,A,T,D,S,_,M,U,N,I,R,P;for(b=new XMLHttpRequest,C=0,x=e.length;C<x;C++)(i=e[C]).xhr=b;for(l in f=n(this.options.method,e),w=n(this.options.url,e),b.open(f,w,!0),b.withCredentials=!!this.options.withCredentials,y=null,P=this,o=function(){var t,n,r;for(r=[],t=0,n=e.length;t<n;t++)i=e[t],r.push(P._errorProcessing(e,y||P.options.dictResponseError.replace("{{statusCode}}",b.status),b));return r},F=function(t){return function(n){var r,s,o,l,a,u,p,d,c;if(null!=n)for(s=100*n.loaded/n.total,o=0,u=e.length;o<u;o++)(i=e[o]).upload={progress:s,total:n.total,bytesSent:n.loaded};else{for(r=!0,s=100,l=0,p=e.length;l<p;l++)100===(i=e[l]).upload.progress&&i.upload.bytesSent===i.upload.total||(r=!1),i.upload.progress=s,i.upload.bytesSent=i.upload.total;if(r)return}for(c=[],a=0,d=e.length;a<d;a++)i=e[a],c.push(t.emit("uploadprogress",i,s,i.upload.bytesSent));return c}}(this),b.onload=function(t){return function(i){var n;if(e[0].status!==r.CANCELED&&4===b.readyState){if(y=b.responseText,b.getResponseHeader("content-type")&&~b.getResponseHeader("content-type").indexOf("application/json"))try{y=JSON.parse(y)}catch(e){i=e,y="Invalid JSON response from server."}return F(),200<=(n=b.status)&&n<300?t._finished(e,y,i):o()}}}(this),b.onerror=function(){if(e[0].status!==r.CANCELED)return o()},v=null!=(_=b.upload)?_:b,!1!==this.options.trackProgress&&(v.onprogress=F),u={Accept:"application/json","Cache-Control":"no-cache","X-Requested-With":"XMLHttpRequest"},this.options.headers&&t(u,this.options.headers),u)void 0!==(a=u[l])&&b.setRequestHeader(l,a);if(s=new FormData,this.options.params)for(m in M=this.options.params)E=M[m],s.append(m,E);for(k=0,A=e.length;k<A;k++)i=e[k],this.emit("sending",i,b,s);if(this.options.uploadMultiple&&this.emit("sendingmultiple",e,b,s),"FORM"===this.element.tagName)for(z=0,T=(U=this.element.querySelectorAll("input, textarea, select, button")).length;z<T;z++)if(c=(d=U[z]).getAttribute("name"),
|
||||||
|
h=d.getAttribute("type"),"SELECT"===d.tagName&&d.hasAttribute("multiple"))for(L=0,D=(N=d.options).length;L<D;L++)(g=N[L]).selected&&s.append(c,g.value);else(!h||"checkbox"!==(I=h.toLowerCase())&&"radio"!==I||d.checked)&&s.append(c,d.value);for(p=S=0,R=e.length-1;0<=R?S<=R:S>=R;p=0<=R?++S:--S)s.append(this._getParamName(p),e[p],e[p].name);return b.send(s)},r.prototype._finished=function(e,t,i){var n,s,o;for(s=0,o=e.length;s<o;s++)(n=e[s]).status=r.SUCCESS,this.emit("success",n,t,i),this.emit("complete",n);if(this.options.uploadMultiple&&(this.emit("successmultiple",e,t,i),this.emit("completemultiple",e)),this.options.autoProcessQueue)return this.processQueue()},r.prototype._errorProcessing=function(e,t,i){var n,s,o;for(s=0,o=e.length;s<o;s++)(n=e[s]).status=r.ERROR,this.emit("error",n,t,i),this.emit("complete",n);if(this.options.uploadMultiple&&(this.emit("errormultiple",e,t,i),this.emit("completemultiple",e)),this.options.autoProcessQueue)return this.processQueue()},r}(i),t.version="4.0.1",t.options={},t.optionsForElement=function(e){return e.getAttribute("id")?t.options[n(e.getAttribute("id"))]:void 0},t.instances=[],t.forElement=function(e){if("string"==typeof e&&(e=document.querySelector(e)),null==(null!=e?e.dropzone:void 0))throw new Error("No Dropzone found for given element. This is probably because you're trying to access it before Dropzone had the time to initialize. Use the `init` option to setup any additional observers on your Dropzone.");return e.dropzone},t.autoDiscover=!0,t.discover=function(){var e,i,n,r,s,o;for(document.querySelectorAll?n=document.querySelectorAll(".dropzone"):(n=[],e=function(e){var t,i,r,s;for(s=[],i=0,r=e.length;i<r;i++)t=e[i],/(^| )dropzone($| )/.test(t.className)?s.push(n.push(t)):s.push(void 0);return s},e(document.getElementsByTagName("div")),e(document.getElementsByTagName("form"))),o=[],r=0,s=n.length;r<s;r++)i=n[r],!1!==t.optionsForElement(i)?o.push(new t(i)):o.push(void 0);return o},t.blacklistedBrowsers=[/opera.*Macintosh.*version\/12/i],t.isBrowserSupported=function(){var e,i,n,r;if(e=!0,window.File&&window.FileReader&&window.FileList&&window.Blob&&window.FormData&&document.querySelector)if("classList"in document.createElement("a"))for(i=0,n=(r=t.blacklistedBrowsers).length;i<n;i++)r[i].test(navigator.userAgent)&&(e=!1);else e=!1;else e=!1;return e},a=function(e,t){var i,n,r,s;for(s=[],n=0,r=e.length;n<r;n++)(i=e[n])!==t&&s.push(i);return s},n=function(e){return e.replace(/[\-_](\w)/g,(function(e){return e.charAt(1).toUpperCase()}))},t.createElement=function(e){var t;return(t=document.createElement("div")).innerHTML=e,t.childNodes[0]},t.elementInside=function(e,t){if(e===t)return!0;for(;e=e.parentNode;)if(e===t)return!0;return!1},t.getElement=function(e,t){var i;if("string"==typeof e?i=document.querySelector(e):null!=e.nodeType&&(i=e),null==i)throw new Error("Invalid `"+t+"` option provided. Please provide a CSS selector or a plain HTML element.");return i},t.getElements=function(e,t){var i,n,r,s,o,l,a;if(e instanceof Array){n=[];try{for(r=0,o=e.length;r<o;r++)i=e[r],
|
||||||
|
n.push(this.getElement(i,t))}catch(e){n=null}}else if("string"==typeof e)for(n=[],s=0,l=(a=document.querySelectorAll(e)).length;s<l;s++)i=a[s],n.push(i);else null!=e.nodeType&&(n=[e]);if(null==n||!n.length)throw new Error("Invalid `"+t+"` option provided. Please provide a CSS selector, a plain HTML element or a list of those.");return n},t.confirm=function(e,t,i){return window.confirm(e)?t():null!=i?i():void 0},t.isValidFile=function(e,t){var i,n,r,s,o;if(!t)return!0;for(t=t.split(","),i=(n=e.type).replace(/\/.*$/,""),s=0,o=t.length;s<o;s++)if("."===(r=(r=t[s]).trim()).charAt(0)){if(-1!==e.name.toLowerCase().indexOf(r.toLowerCase(),e.name.length-r.length))return!0}else if(/\/\*$/.test(r)){if(i===r.replace(/\/.*$/,""))return!0}else if(n===r)return!0;return!1},null!==e?e.exports=t:window.Dropzone=t,t.ADDED="added",t.QUEUED="queued",t.ACCEPTED=t.QUEUED,t.UPLOADING="uploading",t.PROCESSING=t.UPLOADING,t.CANCELED="canceled",t.ERROR="error",t.SUCCESS="success",s=function(e){var t,i,n,r,s,o,l,a;for(e.naturalWidth,s=e.naturalHeight,(t=document.createElement("canvas")).width=1,t.height=s,(i=t.getContext("2d")).drawImage(e,0,0),n=i.getImageData(0,0,1,s).data,a=0,r=s,o=s;o>a;)0===n[4*(o-1)+3]?r=o:a=o,o=r+a>>1;return 0===(l=o/s)?1:l},o=function(e,t,i,n,r,o,l,a,u,p){var d;return d=s(t),e.drawImage(t,i,n,r,o,l,a,u,p/d)},r=function(e,t){var i,n,r,s,o,l,a,u,p;if(r=!1,p=!0,n=e.document,u=n.documentElement,i=n.addEventListener?"addEventListener":"attachEvent",a=n.addEventListener?"removeEventListener":"detachEvent",l=n.addEventListener?"":"on",s=function(i){if("readystatechange"!==i.type||"complete"===n.readyState)return("load"===i.type?e:n)[a](l+i.type,s,!1),!r&&(r=!0)?t.call(e,i.type||i):void 0},o=function(){try{u.doScroll("left")}catch(e){return void setTimeout(o,50)}return s("poll")},"complete"!==n.readyState){if(n.createEventObject&&u.doScroll){try{p=!e.frameElement}catch(e){}p&&o()}return n[i](l+"DOMContentLoaded",s,!1),n[i](l+"readystatechange",s,!1),e[i](l+"load",s,!1)}},t._autoDiscoverFunction=function(){if(t.autoDiscover)return t.discover()},r(window,t._autoDiscoverFunction)}.call(this)},25931:(e,t,i)=>{"use strict";i.d(t,{nanoid:()=>n});let n=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>e+=(t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t>62?"-":"_"),"")}}]);
|
||||||
@@ -1 +0,0 @@
|
|||||||
.title-u3QJgF_p{cursor:default;font-size:11px;letter-spacing:.4px;line-height:16px;margin:6px 0;padding:0 12px;text-transform:uppercase}.title-u3QJgF_p,html.theme-dark .title-u3QJgF_p{color:var(--tv-color-popup-element-secondary-text,var(--themed-color-popup-element-secondary-text,grey))}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
.title-u3QJgF_p{cursor:default;font-size:11px;letter-spacing:.4px;line-height:16px;margin:6px 0;padding:0 12px;text-transform:uppercase}.title-u3QJgF_p,html.theme-dark .title-u3QJgF_p{color:var(--tv-color-popup-element-secondary-text,var(--themed-color-popup-element-secondary-text,grey))}
|
|
||||||
1
charting_library/bundles/2202.414409a383bce0796e9b.css
Normal file
1
charting_library/bundles/2202.414409a383bce0796e9b.css
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[data-theme=light]{--_0-udjz:var(--color-white);--_1-udjz:var(--color-cold-gray-400)}[data-theme=dark]{--_0-udjz:var(--color-cold-gray-900);--_1-udjz:var(--color-cold-gray-950)}.dialog-aRAWUDhF{background-color:var(--color-bg-primary);box-sizing:border-box;display:flex;flex-direction:column;min-width:280px;text-align:left}.dialog-aRAWUDhF.rounded-aRAWUDhF{border-radius:6px}.dialog-aRAWUDhF.shadowed-aRAWUDhF{box-shadow:0 2px 4px var(--color-shadow-primary-neutral-extra-heavy)}.dialog-aRAWUDhF.fullscreen-aRAWUDhF{bottom:0;height:100%;left:0;max-height:100%;max-width:100%;min-height:100%;position:fixed;right:0;top:0;width:100%}.dialog-aRAWUDhF.darker-aRAWUDhF{background-color:var(--_0-udjz)}.backdrop-aRAWUDhF{background-color:var(--_1-udjz);bottom:0;left:0;opacity:.5;position:fixed;right:0;top:0;transform:translateZ(0);z-index:-1}.dialog-qyCw0PaN{max-width:380px;min-width:280px;position:fixed;width:100%}.dialog-qyCw0PaN [data-dragg-area=true]{cursor:grab}.dialog-qyCw0PaN [data-dragg-area=true].dragging-qyCw0PaN{cursor:grabbing}html.theme-dark .dialog-qyCw0PaN.mobile-qyCw0PaN{background-color:var(--color-black)}html.theme-dark .dialog-qyCw0PaN.mobile-qyCw0PaN:not(.fullscreen-qyCw0PaN){box-shadow:0 4px 16px 0 var(--color-cold-gray-750),0 0 2px 0 var(--color-cold-gray-750)}.dialogAnimatedAppearance-qyCw0PaN{animation-duration:.3s;animation-name:dialogAnimation-qyCw0PaN;transform-origin:0 0}@keyframes dialogAnimation-qyCw0PaN{0%{opacity:0;transform:translate(var(--animationTranslateStartX),var(--animationTranslateStartY)) scale(0)}to{opacity:1;transform:translate(var(--animationTranslateEndX),var(--animationTranslateEndY)) scale(1)}}.dialogTooltip-qyCw0PaN{color:#fff;font-size:14px;left:50%;line-height:21px;max-width:540px;position:absolute;top:-20px;transform:translateX(-50%);width:max-content}@media (max-width:768px){.dialogTooltip-qyCw0PaN{max-width:240px}}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[data-theme=light]{--_0-udjz:var(--color-white);--_1-udjz:var(--color-cold-gray-400)}[data-theme=dark]{--_0-udjz:var(--color-cold-gray-900);--_1-udjz:var(--color-cold-gray-950)}.dialog-aRAWUDhF{background-color:var(--color-bg-primary);box-sizing:border-box;display:flex;flex-direction:column;min-width:280px;text-align:right}.dialog-aRAWUDhF.rounded-aRAWUDhF{border-radius:6px}.dialog-aRAWUDhF.shadowed-aRAWUDhF{box-shadow:0 2px 4px var(--color-shadow-primary-neutral-extra-heavy)}.dialog-aRAWUDhF.fullscreen-aRAWUDhF{bottom:0;height:100%;left:0;max-height:100%;max-width:100%;min-height:100%;position:fixed;right:0;top:0;width:100%}.dialog-aRAWUDhF.darker-aRAWUDhF{background-color:var(--_0-udjz)}.backdrop-aRAWUDhF{background-color:var(--_1-udjz);bottom:0;left:0;opacity:.5;position:fixed;right:0;top:0;transform:translateZ(0);z-index:-1}.dialog-qyCw0PaN{max-width:380px;min-width:280px;position:fixed;width:100%}.dialog-qyCw0PaN [data-dragg-area=true]{cursor:grab}.dialog-qyCw0PaN [data-dragg-area=true].dragging-qyCw0PaN{cursor:grabbing}html.theme-dark .dialog-qyCw0PaN.mobile-qyCw0PaN{background-color:var(--color-black)}html.theme-dark .dialog-qyCw0PaN.mobile-qyCw0PaN:not(.fullscreen-qyCw0PaN){box-shadow:0 4px 16px 0 var(--color-cold-gray-750),0 0 2px 0 var(--color-cold-gray-750)}.dialogAnimatedAppearance-qyCw0PaN{animation-duration:.3s;animation-name:dialogAnimation-qyCw0PaN;transform-origin:100% 0}@keyframes dialogAnimation-qyCw0PaN{0%{opacity:0;transform:translate(var(--animationTranslateStartX),var(--animationTranslateStartY)) scale(0)}to{opacity:1;transform:translate(var(--animationTranslateEndX),var(--animationTranslateEndY)) scale(1)}}.dialogTooltip-qyCw0PaN{color:#fff;font-size:14px;line-height:21px;max-width:540px;position:absolute;right:50%;top:-20px;transform:translateX(50%);width:max-content}@media (max-width:768px){.dialogTooltip-qyCw0PaN{max-width:240px}}
|
||||||
1
charting_library/bundles/2307.2fb1c26f9bc4323a9ce1.css
Normal file
1
charting_library/bundles/2307.2fb1c26f9bc4323a9ce1.css
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
charting_library/bundles/2318.8bdd9c9cc1661e5b303f.css
Normal file
1
charting_library/bundles/2318.8bdd9c9cc1661e5b303f.css
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.priceScaleModeButton-okRV4Kjm{--priceScaleModeButtons-color:var(--color-content-primary-neutral-bold);--priceScaleModeButtons-background-hover:var(--color-container-fill-primary-neutral-extra-light);--priceScaleModeButtons-background-active:var(--color-container-fill-primary-neutral-light);--priceScaleModeButtons-border:var(--color-border-primary-neutral-light);--priceScaleModeButtons-activated-color:var(--color-content-secondary-inverse);--priceScaleModeButtons-activated-background:var(--color-container-fill-primary-neutral-extra-bold);--priceScaleModeButtons-activated-border:var(--color-container-fill-primary-neutral-extra-bold);--priceScaleModeButtons-activated-border-hover:var(--color-container-fill-primary-neutral-bold);--priceScaleModeButtons-activated-background-hover:var(--color-container-fill-primary-neutral-bold);font-family:-apple-system,BlinkMacSystemFont,Trebuchet MS,Roboto,Ubuntu,sans-serif;font-feature-settings:"tnum" on,"lnum" on;font-style:normal;--ui-lib-typography-font-size:14px;font-size:var(--ui-lib-typography-font-size);font-weight:400;--ui-lib-typography-line-height:18px;background-color:initial;border:1px solid var(--priceScaleModeButtons-border);border-radius:4px;color:var(--priceScaleModeButtons-color);display:flex;justify-content:center;line-height:var(--ui-lib-typography-line-height);padding:1px 0;width:20px}@media (any-hover:hover){.priceScaleModeButton-okRV4Kjm:hover{background-color:var(--priceScaleModeButtons-background-hover)}}.priceScaleModeButton-okRV4Kjm:active{background-color:var(--priceScaleModeButtons-background-active)}.priceScaleModeButton_activated-okRV4Kjm{background-color:var(--priceScaleModeButtons-activated-background);border-color:var(--priceScaleModeButtons-activated-border);color:var(--priceScaleModeButtons-activated-color)}@media (any-hover:hover){.priceScaleModeButton_activated-okRV4Kjm:hover{background-color:var(--priceScaleModeButtons-activated-background-hover);border-color:var(--priceScaleModeButtons-activated-border-hover)}}.priceScaleModeButtons-PEm49B2T{box-sizing:border-box;display:flex;justify-content:center;width:100%}.priceScaleModeButtons__buttonWrapper-PEm49B2T{display:flex;flex:1 1;padding:4px}.priceScaleModeButtons__buttonWrapper-PEm49B2T:first-child{justify-content:flex-end;padding-right:2px}.priceScaleModeButtons__buttonWrapper-PEm49B2T:last-child{justify-content:flex-start;padding-left:2px}.chart-widget__bottom--themed-light .priceScaleModeButtons__button-PEm49B2T{--priceScaleModeButtons-color:var(--color-cold-gray-900);--priceScaleModeButtons-background-hover:var(--color-cold-gray-100);--priceScaleModeButtons-background-active:var(--color-cold-gray-150);--priceScaleModeButtons-border:var(--color-cold-gray-150);--priceScaleModeButtons-activated-color:var(--color-white);--priceScaleModeButtons-activated-background:var(--color-cold-gray-800);--priceScaleModeButtons-activated-border:var(--color-cold-gray-800);--priceScaleModeButtons-activated-border-hover:var(--color-cold-gray-700);--priceScaleModeButtons-activated-background-hover:var(--color-cold-gray-700)}.chart-widget__bottom--themed-dark .priceScaleModeButtons__button-PEm49B2T{--priceScaleModeButtons-color:var(--color-cold-gray-200);--priceScaleModeButtons-background-hover:var(--color-cold-gray-800);--priceScaleModeButtons-background-active:var(--color-cold-gray-750);--priceScaleModeButtons-border:var(--color-cold-gray-700);--priceScaleModeButtons-activated-color:var(--color-cold-gray-900);--priceScaleModeButtons-activated-background:var(--color-cold-gray-100);--priceScaleModeButtons-activated-border:var(--color-cold-gray-100);--priceScaleModeButtons-activated-border-hover:var(--color-cold-gray-200);--priceScaleModeButtons-activated-background-hover:var(--color-cold-gray-200)}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
.priceScaleModeButton-okRV4Kjm{--priceScaleModeButtons-color:var(--color-content-primary-neutral-bold);--priceScaleModeButtons-background-hover:var(--color-container-fill-primary-neutral-extra-light);--priceScaleModeButtons-background-active:var(--color-container-fill-primary-neutral-light);--priceScaleModeButtons-border:var(--color-border-primary-neutral-light);--priceScaleModeButtons-activated-color:var(--color-content-secondary-inverse);--priceScaleModeButtons-activated-background:var(--color-container-fill-primary-neutral-extra-bold);--priceScaleModeButtons-activated-border:var(--color-container-fill-primary-neutral-extra-bold);--priceScaleModeButtons-activated-border-hover:var(--color-container-fill-primary-neutral-bold);--priceScaleModeButtons-activated-background-hover:var(--color-container-fill-primary-neutral-bold);font-family:-apple-system,BlinkMacSystemFont,Trebuchet MS,Roboto,Ubuntu,sans-serif;font-feature-settings:"tnum" on,"lnum" on;font-style:normal;--ui-lib-typography-font-size:14px;font-size:var(--ui-lib-typography-font-size);font-weight:400;--ui-lib-typography-line-height:18px;background-color:initial;border:1px solid var(--priceScaleModeButtons-border);border-radius:4px;color:var(--priceScaleModeButtons-color);display:flex;justify-content:center;line-height:var(--ui-lib-typography-line-height);padding:1px 0;width:20px}@media (any-hover:hover){.priceScaleModeButton-okRV4Kjm:hover{background-color:var(--priceScaleModeButtons-background-hover)}}.priceScaleModeButton-okRV4Kjm:active{background-color:var(--priceScaleModeButtons-background-active)}.priceScaleModeButton_activated-okRV4Kjm{background-color:var(--priceScaleModeButtons-activated-background);border-color:var(--priceScaleModeButtons-activated-border);color:var(--priceScaleModeButtons-activated-color)}@media (any-hover:hover){.priceScaleModeButton_activated-okRV4Kjm:hover{background-color:var(--priceScaleModeButtons-activated-background-hover);border-color:var(--priceScaleModeButtons-activated-border-hover)}}.priceScaleModeButtons-PEm49B2T{box-sizing:border-box;display:flex;justify-content:center;width:100%}.priceScaleModeButtons__buttonWrapper-PEm49B2T{display:flex;flex:1 1;padding:4px}.priceScaleModeButtons__buttonWrapper-PEm49B2T:first-child{justify-content:flex-end;padding-left:2px}.priceScaleModeButtons__buttonWrapper-PEm49B2T:last-child{justify-content:flex-start;padding-right:2px}.chart-widget__bottom--themed-light .priceScaleModeButtons__button-PEm49B2T{--priceScaleModeButtons-color:var(--color-cold-gray-900);--priceScaleModeButtons-background-hover:var(--color-cold-gray-100);--priceScaleModeButtons-background-active:var(--color-cold-gray-150);--priceScaleModeButtons-border:var(--color-cold-gray-150);--priceScaleModeButtons-activated-color:var(--color-white);--priceScaleModeButtons-activated-background:var(--color-cold-gray-800);--priceScaleModeButtons-activated-border:var(--color-cold-gray-800);--priceScaleModeButtons-activated-border-hover:var(--color-cold-gray-700);--priceScaleModeButtons-activated-background-hover:var(--color-cold-gray-700)}.chart-widget__bottom--themed-dark .priceScaleModeButtons__button-PEm49B2T{--priceScaleModeButtons-color:var(--color-cold-gray-200);--priceScaleModeButtons-background-hover:var(--color-cold-gray-800);--priceScaleModeButtons-background-active:var(--color-cold-gray-750);--priceScaleModeButtons-border:var(--color-cold-gray-700);--priceScaleModeButtons-activated-color:var(--color-cold-gray-900);--priceScaleModeButtons-activated-background:var(--color-cold-gray-100);--priceScaleModeButtons-activated-border:var(--color-cold-gray-100);--priceScaleModeButtons-activated-border-hover:var(--color-cold-gray-200);--priceScaleModeButtons-activated-background-hover:var(--color-cold-gray-200)}
|
||||||
@@ -1 +0,0 @@
|
|||||||
.actionButton-k53vexPa{margin:0 6px}.actionButton-k53vexPa:first-child{margin-right:0}.actionButton-k53vexPa:last-child{margin-left:0}.actionButton-k53vexPa.small-k53vexPa{margin:6px 0}.actionButton-k53vexPa.small-k53vexPa:first-child{margin-top:0}.actionButton-k53vexPa.small-k53vexPa:last-child{margin-bottom:0}.hiddenTitle-k53vexPa{visibility:hidden}.popupDialog-B02UUUN3{max-height:calc(100% - 20px);max-width:480px;width:calc(100% - 20px)}.wrap-B02UUUN3{cursor:default;display:flex;overflow:hidden}.main-B02UUUN3{color:var(--themed-color-toolbar-interactive-element-text-normal,#1a1a1a);display:flex;flex:1 1 auto;flex-direction:column;margin:40px 0 40px 40px}html.theme-dark .main-B02UUUN3{color:var(--themed-color-toolbar-interactive-element-text-normal,#dbdbdb)}.main-B02UUUN3.small-B02UUUN3{margin:20px 0 20px 20px}.title-B02UUUN3{--ui-lib-typography-line-height:28px;line-height:var(--ui-lib-typography-line-height);--ui-lib-typography-font-size:20px;align-items:center;display:flex;flex:none;font-size:var(--ui-lib-typography-font-size);font-style:normal;font-weight:600;margin-bottom:8px;width:calc(100% - 9px);word-break:break-word}.title-B02UUUN3.small-B02UUUN3{width:calc(100% - 29px)}.content-B02UUUN3{--ui-lib-typography-line-height:24px;line-height:var(--ui-lib-typography-line-height);--ui-lib-typography-font-size:16px;display:flex;flex:1 1 auto;flex-direction:column;font-size:var(--ui-lib-typography-font-size);font-style:normal;font-weight:400;min-height:145px;overflow-x:hidden;overflow-y:auto;white-space:pre-wrap;word-break:break-word;-webkit-overflow-scrolling:touch;margin:0 -40px;min-height:0;padding:8px 40px}@media (max-height:290px){.content-B02UUUN3{min-height:auto}}@supports (-moz-appearance:none){.content-B02UUUN3{scrollbar-color:var(--themed-color-scroll-bg,#9c9c9c) #0000;scrollbar-width:thin}html.theme-dark .content-B02UUUN3{scrollbar-color:var(--themed-color-scroll-bg,#3d3d3d) #0000}}.content-B02UUUN3::-webkit-scrollbar{height:5px;width:5px}.content-B02UUUN3::-webkit-scrollbar-thumb{background-clip:content-box;background-color:var(--tv-color-scrollbar-thumb-background,var(--themed-color-scroll-bg,#9c9c9c));border:1px solid #0000;border-radius:3px}html.theme-dark .content-B02UUUN3::-webkit-scrollbar-thumb{background-color:var(--tv-color-scrollbar-thumb-background,var(--themed-color-scroll-bg,#3d3d3d))}.content-B02UUUN3::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.content-B02UUUN3::-webkit-scrollbar-corner{display:none}.content-B02UUUN3.small-B02UUUN3{margin:0 -20px;padding:8px 20px}.content-B02UUUN3.html-B02UUUN3{display:block}.content-B02UUUN3 a,html.theme-dark .content-B02UUUN3 a{color:var(--themed-color-link,#2962ff)}.footer-B02UUUN3{display:flex;flex:none;flex-direction:row-reverse;justify-content:flex-start;margin-top:16px}.footer-B02UUUN3.small-B02UUUN3{flex-direction:column}.close-B02UUUN3{align-items:center;border-radius:2px;color:var(--themed-color-toolbar-interactive-element-text-normal,#1a1a1a);cursor:default;display:flex;flex:none;justify-content:center;margin:8px 8px 0 -2px}html.theme-dark .close-B02UUUN3{color:var(--themed-color-toolbar-interactive-element-text-normal,#dbdbdb)}@media (any-hover:hover){.close-B02UUUN3:hover{background-color:var(--themed-color-bg-primary-hover,#f2f2f2)}html.theme-dark .close-B02UUUN3:hover{background-color:var(--themed-color-bg-primary-hover,#303030)}}.close-B02UUUN3.small-B02UUUN3{margin-left:-22px}.marginWithoutCloseButton-B02UUUN3{margin-right:40px}.marginWithoutCloseButton-B02UUUN3.small-B02UUUN3{margin-right:20px}.label-nb7ji1l2{color:var(--themed-color-default-gray,#707070);font-size:14px;line-height:21px}html.theme-dark .label-nb7ji1l2{color:var(--themed-color-default-gray,#8c8c8c)}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
.actionButton-k53vexPa{margin:0 6px}.actionButton-k53vexPa:first-child{margin-left:0}.actionButton-k53vexPa:last-child{margin-right:0}.actionButton-k53vexPa.small-k53vexPa{margin:6px 0}.actionButton-k53vexPa.small-k53vexPa:first-child{margin-top:0}.actionButton-k53vexPa.small-k53vexPa:last-child{margin-bottom:0}.hiddenTitle-k53vexPa{visibility:hidden}.popupDialog-B02UUUN3{max-height:calc(100% - 20px);max-width:480px;width:calc(100% - 20px)}.wrap-B02UUUN3{cursor:default;display:flex;overflow:hidden}.main-B02UUUN3{color:var(--themed-color-toolbar-interactive-element-text-normal,#1a1a1a);display:flex;flex:1 1 auto;flex-direction:column;margin:40px 40px 40px 0}html.theme-dark .main-B02UUUN3{color:var(--themed-color-toolbar-interactive-element-text-normal,#dbdbdb)}.main-B02UUUN3.small-B02UUUN3{margin:20px 20px 20px 0}.title-B02UUUN3{--ui-lib-typography-line-height:28px;line-height:var(--ui-lib-typography-line-height);--ui-lib-typography-font-size:20px;align-items:center;display:flex;flex:none;font-size:var(--ui-lib-typography-font-size);font-style:normal;font-weight:600;margin-bottom:8px;width:calc(100% - 9px);word-break:break-word}.title-B02UUUN3.small-B02UUUN3{width:calc(100% - 29px)}.content-B02UUUN3{--ui-lib-typography-line-height:24px;line-height:var(--ui-lib-typography-line-height);--ui-lib-typography-font-size:16px;display:flex;flex:1 1 auto;flex-direction:column;font-size:var(--ui-lib-typography-font-size);font-style:normal;font-weight:400;min-height:145px;overflow-x:hidden;overflow-y:auto;white-space:pre-wrap;word-break:break-word;-webkit-overflow-scrolling:touch;margin:0 -40px;min-height:0;padding:8px 40px}@media (max-height:290px){.content-B02UUUN3{min-height:auto}}@supports (-moz-appearance:none){.content-B02UUUN3{scrollbar-color:var(--themed-color-scroll-bg,#9c9c9c) #0000;scrollbar-width:thin}html.theme-dark .content-B02UUUN3{scrollbar-color:var(--themed-color-scroll-bg,#3d3d3d) #0000}}.content-B02UUUN3::-webkit-scrollbar{height:5px;width:5px}.content-B02UUUN3::-webkit-scrollbar-thumb{background-clip:content-box;background-color:var(--tv-color-scrollbar-thumb-background,var(--themed-color-scroll-bg,#9c9c9c));border:1px solid #0000;border-radius:3px}html.theme-dark .content-B02UUUN3::-webkit-scrollbar-thumb{background-color:var(--tv-color-scrollbar-thumb-background,var(--themed-color-scroll-bg,#3d3d3d))}.content-B02UUUN3::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.content-B02UUUN3::-webkit-scrollbar-corner{display:none}.content-B02UUUN3.small-B02UUUN3{margin:0 -20px;padding:8px 20px}.content-B02UUUN3.html-B02UUUN3{display:block}.content-B02UUUN3 a,html.theme-dark .content-B02UUUN3 a{color:var(--themed-color-link,#2962ff)}.footer-B02UUUN3{display:flex;flex:none;flex-direction:row-reverse;justify-content:flex-start;margin-top:16px}.footer-B02UUUN3.small-B02UUUN3{flex-direction:column}.close-B02UUUN3{align-items:center;border-radius:2px;color:var(--themed-color-toolbar-interactive-element-text-normal,#1a1a1a);cursor:default;display:flex;flex:none;justify-content:center;margin:8px -2px 0 8px}html.theme-dark .close-B02UUUN3{color:var(--themed-color-toolbar-interactive-element-text-normal,#dbdbdb)}@media (any-hover:hover){.close-B02UUUN3:hover{background-color:var(--themed-color-bg-primary-hover,#f2f2f2)}html.theme-dark .close-B02UUUN3:hover{background-color:var(--themed-color-bg-primary-hover,#303030)}}.close-B02UUUN3.small-B02UUUN3{margin-right:-22px}.marginWithoutCloseButton-B02UUUN3{margin-left:40px}.marginWithoutCloseButton-B02UUUN3.small-B02UUUN3{margin-left:20px}.label-nb7ji1l2{color:var(--themed-color-default-gray,#707070);font-size:14px;line-height:21px}html.theme-dark .label-nb7ji1l2{color:var(--themed-color-default-gray,#8c8c8c)}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
.opacity-EnWts7Xu{align-items:center;display:flex}.opacitySlider-EnWts7Xu{background-color:var(--themed-color-opacity-bg,#fff);background-image:url(opacity-pattern.4d8fbb552dde3db26f4a.svg);background-position:1px;border-radius:5px;flex:1 0 auto;height:10px;position:relative}html.theme-dark .opacitySlider-EnWts7Xu{background-color:var(--themed-color-opacity-bg,#000)}.opacitySliderGradient-EnWts7Xu{background-color:initial;background-image:linear-gradient(90deg,#0000,currentColor);border:1px solid;border-radius:4px;box-sizing:border-box;color:inherit;display:block;height:100%;width:100%}.pointer-EnWts7Xu{background-color:initial;background-color:var(--themed-color-container-fill-primary-inverse,#fff);border:2px solid var(--themed-color-border-primary-neutral-extra-heavy,#000);border-radius:50%;box-shadow:0 1px 2px #00000080;box-sizing:border-box;height:12px;margin:-1px 0 0;position:absolute;transition:left .1s,top .1s;width:12px}html.theme-dark .pointer-EnWts7Xu{background-color:var(--themed-color-container-fill-primary-inverse,#000);border:2px solid var(--themed-color-border-primary-neutral-extra-heavy,#fff)}.pointer-EnWts7Xu.dragged-EnWts7Xu{transition:left 0s}.opacityPointerWrap-EnWts7Xu{left:0;position:absolute;top:0;width:calc(100% - 12px)}.opacityInputWrap-EnWts7Xu{align-items:center;color:var(--themed-color-input-text,#1a1a1a);display:flex;position:relative}html.theme-dark .opacityInputWrap-EnWts7Xu{color:var(--themed-color-input-text,#dbdbdb)}.opacityInput-EnWts7Xu{background-color:initial;border:1px solid var(--themed-color-input-border,#dbdbdb);border-radius:4px;box-sizing:border-box;display:flex;height:26px;line-height:24px;margin-left:8px;padding:0 14px 0 5px;text-align:right;width:47px}html.theme-dark .opacityInput-EnWts7Xu{border:1px solid var(--themed-color-input-border,#575757)}.opacityInput-EnWts7Xu:focus,html.theme-dark .opacityInput-EnWts7Xu:focus{border-color:var(--themed-color-brand,#2962ff)}.opacityInputPercent-EnWts7Xu{left:40px;pointer-events:none;position:absolute;text-align:right;top:5px}.accessible-EnWts7Xu{outline:none;overflow:visible;position:relative}.accessible-EnWts7Xu:focus{outline:none}.accessible-EnWts7Xu:focus-visible{outline:none}.accessible-EnWts7Xu:after{border-style:solid;border-width:2px;box-sizing:border-box;content:"";display:none;height:calc(100% + 8px);left:-4px;pointer-events:none;position:absolute;top:-4px;width:calc(100% + 8px);z-index:1}.accessible-EnWts7Xu:focus:after{display:block}.accessible-EnWts7Xu:focus-visible:after{display:block}.accessible-EnWts7Xu:focus:not(:focus-visible):after{display:none}.accessible-EnWts7Xu:after{border-color:#2962ff;border-radius:6px}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
.opacity-EnWts7Xu{align-items:center;display:flex}.opacitySlider-EnWts7Xu{background-color:var(--themed-color-opacity-bg,#fff);background-image:url(opacity-pattern.4d8fbb552dde3db26f4a.svg);background-position:1px;border-radius:5px;flex:1 0 auto;height:10px;position:relative}html.theme-dark .opacitySlider-EnWts7Xu{background-color:var(--themed-color-opacity-bg,#000)}.opacitySliderGradient-EnWts7Xu{background-color:initial;background-image:linear-gradient(270deg,#0000,currentColor);border:1px solid;border-radius:4px;box-sizing:border-box;color:inherit;display:block;height:100%;width:100%}.pointer-EnWts7Xu{background-color:initial;background-color:var(--themed-color-container-fill-primary-inverse,#fff);border:2px solid var(--themed-color-border-primary-neutral-extra-heavy,#000);border-radius:50%;box-shadow:0 1px 2px #00000080;box-sizing:border-box;height:12px;margin:-1px 0 0;position:absolute;transition:right .1s,top .1s;width:12px}html.theme-dark .pointer-EnWts7Xu{background-color:var(--themed-color-container-fill-primary-inverse,#000);border:2px solid var(--themed-color-border-primary-neutral-extra-heavy,#fff)}.pointer-EnWts7Xu.dragged-EnWts7Xu{transition:right 0s}.opacityPointerWrap-EnWts7Xu{left:0;position:absolute;top:0;width:calc(100% - 12px)}.opacityInputWrap-EnWts7Xu{align-items:center;color:var(--themed-color-input-text,#1a1a1a);display:flex;position:relative}html.theme-dark .opacityInputWrap-EnWts7Xu{color:var(--themed-color-input-text,#dbdbdb)}.opacityInput-EnWts7Xu{background-color:initial;border:1px solid var(--themed-color-input-border,#dbdbdb);border-radius:4px;box-sizing:border-box;display:flex;height:26px;line-height:24px;margin-right:8px;padding:0 5px 0 14px;text-align:left;width:47px}html.theme-dark .opacityInput-EnWts7Xu{border:1px solid var(--themed-color-input-border,#575757)}.opacityInput-EnWts7Xu:focus,html.theme-dark .opacityInput-EnWts7Xu:focus{border-color:var(--themed-color-brand,#2962ff)}.opacityInputPercent-EnWts7Xu{pointer-events:none;position:absolute;right:40px;text-align:left;top:5px}.accessible-EnWts7Xu{outline:none;overflow:visible;position:relative}.accessible-EnWts7Xu:focus{outline:none}.accessible-EnWts7Xu:focus-visible{outline:none}.accessible-EnWts7Xu:after{border-style:solid;border-width:2px;box-sizing:border-box;content:"";display:none;height:calc(100% + 8px);pointer-events:none;position:absolute;right:-4px;top:-4px;width:calc(100% + 8px);z-index:1}.accessible-EnWts7Xu:focus:after{display:block}.accessible-EnWts7Xu:focus-visible:after{display:block}.accessible-EnWts7Xu:focus:not(:focus-visible):after{display:none}.accessible-EnWts7Xu:after{border-color:#2962ff;border-radius:6px}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
.footer-dwINHZFL{align-items:center;background-color:var(--themed-color-bg,#f9f9f9);border-radius:0 0 6px 6px;box-sizing:border-box;color:var(--themed-color-default-gray,#707070);cursor:default;display:flex;flex:0 0 auto;font-size:13px;justify-content:center;line-height:17px;max-height:65px;min-height:40px;padding:9px 20px;text-align:center}html.theme-dark .footer-dwINHZFL{background-color:var(--themed-color-bg,#303030);color:var(--themed-color-default-gray,#8c8c8c)}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
.footer-dwINHZFL{align-items:center;background-color:var(--themed-color-bg,#f9f9f9);border-radius:0 0 6px 6px;box-sizing:border-box;color:var(--themed-color-default-gray,#707070);cursor:default;display:flex;flex:0 0 auto;font-size:13px;justify-content:center;line-height:17px;max-height:65px;min-height:40px;padding:9px 20px;text-align:center}html.theme-dark .footer-dwINHZFL{background-color:var(--themed-color-bg,#303030);color:var(--themed-color-default-gray,#8c8c8c)}
|
|
||||||
31
charting_library/bundles/2475.1ed8b62332af605c5bee.js
Normal file
31
charting_library/bundles/2475.1ed8b62332af605c5bee.js
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[2475],{66783:e=>{"use strict";var t=Object.prototype.hasOwnProperty;function r(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}e.exports=function(e,n){if(r(e,n))return!0;if("object"!=typeof e||null===e||"object"!=typeof n||null===n)return!1;var o=Object.keys(e),a=Object.keys(n);if(o.length!==a.length)return!1;for(var l=0;l<o.length;l++)if(!t.call(n,o[l])||!r(e[o[l]],n[o[l]]))return!1;return!0}},37643:e=>{e.exports={pair:"pair-ocURKVwI",xxceptionallysmalldonotusebrv1023:"xxceptionallysmalldonotusebrv1023-ocURKVwI",xxxxsmall:"xxxxsmall-ocURKVwI",xxxsmall:"xxxsmall-ocURKVwI",xxsmall:"xxsmall-ocURKVwI",xsmall:"xsmall-ocURKVwI",small:"small-ocURKVwI",medium:"medium-ocURKVwI",large:"large-ocURKVwI",xlarge:"xlarge-ocURKVwI",xxlarge:"xxlarge-ocURKVwI",xxxlarge:"xxxlarge-ocURKVwI",logo:"logo-ocURKVwI",skeleton:"skeleton-ocURKVwI",empty:"empty-ocURKVwI"}},6916:e=>{e.exports={xxxsmall:"xxxsmall-napy2vLF",xxsmall:"xxsmall-napy2vLF",xsmall:"xsmall-napy2vLF",small:"small-napy2vLF",medium:"medium-napy2vLF",large:"large-napy2vLF",xlarge:"xlarge-napy2vLF",counter:"counter-napy2vLF","color-danger":"color-danger-napy2vLF","color-accent":"color-accent-napy2vLF","color-accent-light":"color-accent-light-napy2vLF","color-neutral-bold":"color-neutral-bold-napy2vLF","color-neutral":"color-neutral-napy2vLF","borderColor-primary":"borderColor-primary-napy2vLF","borderColor-secondary":"borderColor-secondary-napy2vLF","borderColor-tertiary":"borderColor-tertiary-napy2vLF",disabled:"disabled-napy2vLF"}},19954:e=>{e.exports={hidden:"hidden-DgcIT6Uz",fadeInWrapper:"fadeInWrapper-DgcIT6Uz",isAnimated:"isAnimated-DgcIT6Uz"}},53895:e=>{e.exports={disableSelfPositioning:"disableSelfPositioning-dYiqkKAE"}},37370:e=>{e.exports={container:"container-M1mz4quA",pairContainer:"pairContainer-M1mz4quA",logo:"logo-M1mz4quA",hidden:"hidden-M1mz4quA"}},23296:e=>{e.exports={container:"container-qm7Rg5MB",mobile:"mobile-qm7Rg5MB",inputContainer:"inputContainer-qm7Rg5MB",withCancel:"withCancel-qm7Rg5MB",input:"input-qm7Rg5MB",icon:"icon-qm7Rg5MB",cancel:"cancel-qm7Rg5MB"}},33313:e=>{e.exports={actions:"actions-rarsm4ka",actionButton:"actionButton-rarsm4ka"}},88183:e=>{e.exports={logo:"logo-d0vVmGvT"}},20255:e=>{e.exports={"tablet-small-breakpoint":"(max-width: 440px)",itemRow:"itemRow-oRSs8UQo",multiLine:"multiLine-oRSs8UQo",cell:"cell-oRSs8UQo",itemInfoCell:"itemInfoCell-oRSs8UQo",description:"description-oRSs8UQo",symbolDescription:"symbolDescription-oRSs8UQo",flag:"flag-oRSs8UQo",exchangeDescription:"exchangeDescription-oRSs8UQo",marketType:"marketType-oRSs8UQo",exchangeName:"exchangeName-oRSs8UQo",actionHandleWrap:"actionHandleWrap-oRSs8UQo",source:"source-oRSs8UQo",hover:"hover-oRSs8UQo",selected:"selected-oRSs8UQo",active:"active-oRSs8UQo",highlighted:"highlighted-oRSs8UQo",light:"light-oRSs8UQo","highlight-animation-theme-light":"highlight-animation-theme-light-oRSs8UQo",dark:"dark-oRSs8UQo","highlight-animation-theme-dark":"highlight-animation-theme-dark-oRSs8UQo",
|
||||||
|
markedFlag:"markedFlag-oRSs8UQo",offset:"offset-oRSs8UQo",descriptionCell:"descriptionCell-oRSs8UQo",addition:"addition-oRSs8UQo",exchangeCell:"exchangeCell-oRSs8UQo",fixedWidth:"fixedWidth-oRSs8UQo",expandHandle:"expandHandle-oRSs8UQo",expanded:"expanded-oRSs8UQo",symbolTitle:"symbolTitle-oRSs8UQo",invalid:"invalid-oRSs8UQo",noDescription:"noDescription-oRSs8UQo",highlightedText:"highlightedText-oRSs8UQo",icon:"icon-oRSs8UQo",narrow:"narrow-oRSs8UQo",wide:"wide-oRSs8UQo",dataMode:"dataMode-oRSs8UQo",actionsCell:"actionsCell-oRSs8UQo",action:"action-oRSs8UQo",targetAction:"targetAction-oRSs8UQo",removeAction:"removeAction-oRSs8UQo",addAction:"addAction-oRSs8UQo",markedFlagWrap:"markedFlagWrap-oRSs8UQo",markedFlagMobile:"markedFlagMobile-oRSs8UQo",logo:"logo-oRSs8UQo",isExpandable:"isExpandable-oRSs8UQo",primaryIcon:"primaryIcon-oRSs8UQo",promoBadge:"promoBadge-oRSs8UQo",promoIcon:"promoIcon-oRSs8UQo"}},85448:e=>{e.exports={icon:"icon-OJpk_CAQ"}},5779:e=>{e.exports={wrap:"wrap-IxKZEhmO",libAllSelected:"libAllSelected-IxKZEhmO",container:"container-IxKZEhmO",iconWrap:"iconWrap-IxKZEhmO",icon:"icon-IxKZEhmO",title:"title-IxKZEhmO",highlighted:"highlighted-IxKZEhmO",description:"description-IxKZEhmO",mobile:"mobile-IxKZEhmO",allSelected:"allSelected-IxKZEhmO",desktop:"desktop-IxKZEhmO",allSelectedIcon:"allSelectedIcon-IxKZEhmO",selected:"selected-IxKZEhmO",focused:"focused-IxKZEhmO",titleWithoutDesc:"titleWithoutDesc-IxKZEhmO",textBlock:"textBlock-IxKZEhmO",bordered:"bordered-IxKZEhmO"}},93900:e=>{e.exports={container:"container-dfKL9A7t",contentList:"contentList-dfKL9A7t",contentListDesktop:"contentListDesktop-dfKL9A7t",searchSourceItemsContainer:"searchSourceItemsContainer-dfKL9A7t",oneColumn:"oneColumn-dfKL9A7t",searchSourceItemsContainerDesktop:"searchSourceItemsContainerDesktop-dfKL9A7t",groupTitleDesktop:"groupTitleDesktop-dfKL9A7t",column:"column-dfKL9A7t",emptyText:"emptyText-dfKL9A7t",emptyIcon:"emptyIcon-dfKL9A7t",noResultsDesktop:"noResultsDesktop-dfKL9A7t"}},99605:e=>{e.exports={wrap:"wrap-gjrLBBL3",item:"item-gjrLBBL3",small:"small-gjrLBBL3",newStyles:"newStyles-gjrLBBL3",mobile:"mobile-gjrLBBL3",text:"text-gjrLBBL3",exchange:"exchange-gjrLBBL3",filterItem:"filterItem-gjrLBBL3",brokerWrap:"brokerWrap-gjrLBBL3"}},80903:e=>{e.exports={wrap:"wrap-dlewR1s1",watchlist:"watchlist-dlewR1s1",noFeed:"noFeed-dlewR1s1",newStyles:"newStyles-dlewR1s1",scrollContainer:"scrollContainer-dlewR1s1",listContainer:"listContainer-dlewR1s1",multiLineItemsContainer:"multiLineItemsContainer-dlewR1s1",withSpinner:"withSpinner-dlewR1s1",spinnerContainer:"spinnerContainer-dlewR1s1",largeSpinner:"largeSpinner-dlewR1s1"}},27864:e=>{e.exports={search:"search-ZXzPWcCf",upperCase:"upperCase-ZXzPWcCf",bubblesContainer:"bubblesContainer-ZXzPWcCf",mobile:"mobile-ZXzPWcCf",bubbles:"bubbles-ZXzPWcCf",withFilters:"withFilters-ZXzPWcCf",spinnerWrap:"spinnerWrap-ZXzPWcCf",emptyText:"emptyText-ZXzPWcCf",emptyIcon:"emptyIcon-ZXzPWcCf",noResultsDesktop:"noResultsDesktop-ZXzPWcCf",brokerButtonWrap:"brokerButtonWrap-ZXzPWcCf"}},57184:e=>{e.exports={
|
||||||
|
flagWrap:"flagWrap-QKnxaZOG",icon:"icon-QKnxaZOG",caret:"caret-QKnxaZOG",title:"title-QKnxaZOG",button:"button-QKnxaZOG",withFlag:"withFlag-QKnxaZOG",buttonContent:"buttonContent-QKnxaZOG"}},88716:e=>{e.exports={dialog:"dialog-u2dP3kv1",tabletDialog:"tabletDialog-u2dP3kv1",desktopDialog:"desktopDialog-u2dP3kv1",backButton:"backButton-u2dP3kv1"}},34007:e=>{e.exports={childrenWrapper:"childrenWrapper-_RhDhmVQ",container:"container-_RhDhmVQ"}},68222:e=>{e.exports={highlighted:"highlighted-cwp8YRo6"}},27692:e=>{e.exports={linkItem:"linkItem-zMVwkifW"}},55840:e=>{e.exports={roundTabButton:"roundTabButton-JbssaNvk",disableFocusOutline:"disableFocusOutline-JbssaNvk",enableCursorPointer:"enableCursorPointer-JbssaNvk",large:"large-JbssaNvk",withStartIcon:"withStartIcon-JbssaNvk",iconOnly:"iconOnly-JbssaNvk",withEndIcon:"withEndIcon-JbssaNvk",startIconWrap:"startIconWrap-JbssaNvk",endIconWrap:"endIconWrap-JbssaNvk",small:"small-JbssaNvk",xsmall:"xsmall-JbssaNvk",primary:"primary-JbssaNvk",disabled:"disabled-JbssaNvk",selected:"selected-JbssaNvk",disableActiveStateStyles:"disableActiveStateStyles-JbssaNvk",ghost:"ghost-JbssaNvk",fake:"fake-JbssaNvk",caret:"caret-JbssaNvk",visuallyHidden:"visuallyHidden-JbssaNvk",content:"content-JbssaNvk"}},70408:e=>{e.exports={scrollWrap:"scrollWrap-vgCB17hK",overflowScroll:"overflowScroll-vgCB17hK",roundTabs:"roundTabs-vgCB17hK",center:"center-vgCB17hK",overflowWrap:"overflowWrap-vgCB17hK",start:"start-vgCB17hK"}},86186:e=>{e.exports={icon:"icon-WB2y0EnP",dropped:"dropped-WB2y0EnP"}},18429:(e,t,r)=>{"use strict";r.d(t,{SEPARATOR_PREFIX:()=>n,isSeparatorItem:()=>o});const n="###";function o(e){return e.startsWith(n)}},48199:(e,t,r)=>{"use strict";r.d(t,{BackButton:()=>L});var n,o=r(50959),a=r(64388),l=r(95694),s=r.n(l),i=r(49498),c=r.n(i),u=r(60176),d=r.n(u),m=r(35369),h=r.n(m),p=r(58478),g=r.n(p),f=r(73063),v=r.n(f),b=r(14127),y=r.n(b),S=r(18073),x=r.n(S),w=r(99243),k=r.n(w),C=r(42576),E=r.n(C);function I(e="large",t="1.2"){switch(e){case"large":return"1.2"===t?s():v();case"medium":return"1.2"===t?c():y();case"small":return"1.2"===t?d():x();case"xsmall":return"1.2"===t?h():k();case"xxsmall":return"1.2"===t?g():E();default:return c()}}!function(e){e.Thin="1.2",e.Medium="1.5"}(n||(n={}));const L=o.forwardRef(((e,t)=>{const{"aria-label":r,flipIconOnRtl:n,...l}=e;return o.createElement(a.NavButton,{...l,"aria-label":r,ref:t,icon:I(e.size,e.iconStrokeWidth),flipIconOnRtl:n})}))},86866:(e,t,r)=>{"use strict";r.d(t,{useIsNonFirstRender:()=>o});var n=r(50959);function o(){return!function(){const[e,t]=(0,n.useState)(!0);return(0,n.useEffect)((()=>{t(!1)}),[]),e}()}},125:(e,t,r)=>{"use strict";r.d(t,{useForceUpdate:()=>o});var n=r(50959);const o=()=>{const[,e]=(0,n.useReducer)((e=>e+1),0);return e}},3685:(e,t,r)=>{"use strict";function n(){return window.configurationData?.exchanges?.map((e=>({...e,country:"",providerId:"",flag:""})))??[]}r.d(t,{getExchanges:()=>n})},36279:(e,t,r)=>{"use strict";var n;r.d(t,{LogoSize:()=>n,getLogoUrlResolver:()=>l}),function(e){e[e.Medium=0]="Medium",
|
||||||
|
e[e.Large=1]="Large"}(n||(n={}));class o{getSymbolLogoUrl(e){return e}collectSymbolLogoUrls(e,t){return[]}getCountryFlagUrl(){return""}getCryptoLogoUrl(e){return e}getProviderLogoUrl(e){return e}getSourceLogoUrl(e){return e}getBlockchainContractLogoUrl(e){return e}}let a;function l(){return a||(a=new o),a}},69654:(e,t,r)=>{"use strict";r.d(t,{DialogSearch:()=>d});var n=r(50959),o=r(97754),a=r.n(o),l=r(11542),s=r(9745),i=r(6347),c=r(54313),u=r(23296);function d(e){const{children:t,isMobile:o,renderInput:d,onCancel:h,containerClassName:p,inputContainerClassName:g,iconClassName:f,cancelTitle:v=l.t(null,void 0,r(4543)),...b}=e;return n.createElement("div",{className:a()(u.container,o&&u.mobile,p)},n.createElement("div",{className:a()(u.inputContainer,o&&u.mobile,g,h&&u.withCancel)},d||n.createElement(m,{isMobile:o,...b})),t,n.createElement(s.Icon,{className:a()(u.icon,o&&u.mobile,f),icon:o?c:i}),h&&(!o||""!==b.value)&&n.createElement("div",{className:a()(u.cancel,o&&u.mobile),onClick:h},v))}function m(e){const{className:t,reference:r,isMobile:o,value:l,onChange:s,onFocus:i,onBlur:c,onKeyDown:d,onSelect:m,placeholder:h,activeDescendant:p,...g}=e;return n.createElement("input",{...g,ref:r,type:"text",className:a()(t,u.input,o&&u.mobile),autoComplete:"off",role:"searchbox","data-role":"search",placeholder:h,value:l,onChange:s,onFocus:i,onBlur:c,onSelect:m,onKeyDown:d,"aria-activedescendant":p})}},96967:(e,t,r)=>{"use strict";r.d(t,{SymbolSearchDialogContentItem:()=>F});var n=r(50959),o=r(97754),a=r.n(o),l=(r(11542),r(50151)),s=r(9745),i=r(37103),c=r(24637),u=r(97006),d=r(84524),m=r(24633),h=r(77975),p=r(45345),g=r(32563),f=r(91682),v=r(618),b=r(36279),y=r(59695),S=r(58492),x=r(39330),w=r(64971),k=r(43010),C=r(37370);function E(e){const{className:t,placeholderLetter:r,url1:o,url2:l,size:s="xxxsmall"}=e,i=(0,n.useRef)(null),c=(0,n.useRef)(null),u=(0,n.useRef)(null),d=(0,n.useRef)(null),m=(0,n.useRef)(null),h=(0,n.useRef)(null);return(0,k.useIsomorphicLayoutEffect)((()=>{const e=void 0===o?[]:void 0===l?[o]:[o,l],t=h.current=(r=e,Promise.all(r.map((e=>(0,w.getImage)(`symbol_logo_${e}`,e,L).then((e=>e.cloneNode()))))));var r;t.catch((()=>[])).then((e=>{if(t===h.current)switch(e.length){case 0:u.current?.classList.add(C.hidden),c.current?.classList.add(y.hiddenCircleLogoClass),i.current?.classList.remove(y.hiddenCircleLogoClass);break;case 1:I(c.current,e[0]),u.current?.classList.add(C.hidden),c.current?.classList.remove(y.hiddenCircleLogoClass),i.current?.classList.add(y.hiddenCircleLogoClass);break;case 2:I(d.current,e[0]),I(m.current,e[1]),u.current?.classList.remove(C.hidden),c.current?.classList.add(y.hiddenCircleLogoClass),i.current?.classList.add(y.hiddenCircleLogoClass)}}))}),[o,l]),n.createElement("span",{className:a()(t,C.container)},n.createElement("span",{ref:u,className:a()(C.pairContainer,C.hidden)},n.createElement("span",{className:(0,x.getBlockStyleClasses)(s)},n.createElement("span",{ref:m,className:a()(C.logo,(0,x.getLogoStyleClasses)(s))}),n.createElement("span",{ref:d,className:a()(C.logo,(0,
|
||||||
|
x.getLogoStyleClasses)(s))}))),n.createElement("span",{ref:c,className:a()(C.logo,y.hiddenCircleLogoClass,(0,S.getStyleClasses)(s))}),n.createElement("span",{ref:i,className:a()(C.logo,(0,S.getStyleClasses)(s))},n.createElement(y.CircleLogo,{size:s,placeholderLetter:r})))}function I(e,t){e&&(e.innerHTML="",e.appendChild(t))}function L(e){e.crossOrigin="",e.decoding="async"}var R=r(88183);function T(e){const{logoId:t,baseCurrencyLogoId:r,currencyLogoId:o,placeholder:l,className:s,size:i="xsmall"}=e,c=(0,n.useMemo)((()=>{const e={logoid:t,"currency-logoid":o,"base-currency-logoid":r};return(0,v.removeUsdFromCryptoPairLogos)((0,v.resolveLogoUrls)(e,b.LogoSize.Medium))}),[t,o,r]);return n.createElement(E,{key:i,className:a()(R.logo,s),url1:c[0],url2:c[1],placeholderLetter:l,size:i})}var N=r(29562),B=r(69533),M=r(20255);function F(e){const{dangerousTitleHTML:t,title:r,dangerousDescriptionHTML:o,description:v,searchToken:b,exchangeName:y,marketType:S,onClick:x,isSelected:w,isEod:k=!1,isActive:C=!1,isOffset:E=!1,invalid:I=!1,isHighlighted:L=!1,hideExchange:R=!1,hideMarkedListFlag:F=!1,onExpandClick:_,isExpanded:A,hoverComponent:D,country:P,providerId:O,sourceLogoId:U,source:Q,source2:V,type:W,flag:K,itemRef:z,onMouseOut:H,onMouseOver:Z,className:q,actions:G,reference:$,fullSymbolName:j,logoId:J,currencyLogoId:X,baseCurrencyLogoId:Y,shortName:ee,hideLogo:te=!1,exchangeTooltip:re,hideMarketType:ne,isPrimary:oe,isPromo:ae}=e,{isSmallWidth:le,isMobile:se}=(0,l.ensureNotNull)((0,n.useContext)(d.SymbolSearchItemsDialogContext)),ie=Boolean(D),ce=!I&&!R&&(se||!ie),ue=(0,h.useWatchedValueReadonly)({watchedValue:p.watchedTheme})===m.StdTheme.Dark?M.dark:M.light,de=D,me=i.enabled("show_symbol_logos"),he=i.enabled("show_exchange_logos"),pe=me||!1,ge=V?.description??Q,fe=V?.name??Q;return n.createElement("div",{className:a()(M.itemRow,le&&M.multiLine,L&&M.highlighted,L&&ue,w&&M.selected,C&&M.active,I&&M.invalid,!se&&g.mobiletouch&&ie&&M.hover,q),onClick:function(e){if(!x||e.defaultPrevented)return;e.preventDefault(),x(e)},"data-role":e["data-role"]||"list-item","data-active":C,"data-type":S,"data-name":"symbol-search-dialog-content-item",onMouseOut:H,onMouseOver:Z,ref:$},n.createElement("div",{ref:z,className:a()(M.itemInfoCell,M.cell,E&&M.offset)},n.createElement("div",{className:a()(M.actionHandleWrap,!pe&&M.fixedWidth)},n.createElement(n.Fragment,null,!1,_&&n.createElement("div",{onClick:function(e){if(!_||e.defaultPrevented)return;e.preventDefault(),_(e)}},n.createElement(s.Icon,{className:a()(M.expandHandle,A&&M.expanded,w&&M.selected),icon:B})),pe&&!E&&n.createElement("div",{className:a()(M.logo,Boolean(_)&&M.isExpandable)},n.createElement(T,{key:j,logoId:J,currencyLogoId:X,baseCurrencyLogoId:Y,placeholder:ee?ee[0]:void 0})))),n.createElement("div",{className:a()(M.description,pe&&E&&M.offset)},r&&n.createElement("div",{className:a()(M.symbolTitle,C&&M.active,I&&M.invalid,!Boolean(o)&&M.noDescription,!g.mobiletouch&&"apply-overflow-tooltip"),"data-overflow-tooltip-text":r,"data-name":"list-item-title"
|
||||||
|
},"string"==typeof r&&b?n.createElement(c.HighlightedText,{className:M.highlightedText,text:r,queryString:b,rules:(0,u.createRegExpList)(b)}):r,k&&n.createElement("span",{className:M.dataMode},"E")),!r&&t&&n.createElement("div",{className:a()(M.symbolTitle,C&&M.active,I&&M.invalid,!g.mobiletouch&&"apply-overflow-tooltip"),"data-name":"list-item-title","data-overflow-tooltip-text":(0,f.removeTags)(t)},n.createElement("span",{dangerouslySetInnerHTML:{__html:t}}),k&&n.createElement("span",{className:M.dataMode},"E")),le&&ve())),!le&&n.createElement("div",{className:a()(M.cell,M.descriptionCell,Boolean(de)&&M.addition)},ve(),de?n.createElement(de,{...e,className:M.actions,onMouseOver:void 0,onMouseOut:void 0}):null),le&&de?n.createElement(de,{...e,className:M.cell,onMouseOver:void 0,onMouseOut:void 0}):null,ce&&n.createElement("div",{className:a()(M.exchangeCell,M.cell)},n.createElement("div",{className:a()(M.exchangeDescription)},!1,!ne&&n.createElement("div",{className:a()(M.marketType,C&&M.active)},S),n.createElement("div",{className:M.source},!1,!1,"economic"===W&&ge&&fe?n.createElement("div",{className:a()(M.exchangeName,C&&M.active,"apply-common-tooltip",M.narrow,ne&&M.wide),title:ge},fe):n.createElement("div",{className:a()(M.exchangeName,C&&M.active,re&&"apply-common-tooltip"),title:re},y))),he&&n.createElement("div",{className:M.flag},n.createElement(N.SymbolSearchFlag,{key:he?`${j}_exchange`:`${P}_${O}_${V?.id}_${W}_${K}`,className:M.icon,country:P,providerId:O,sourceLogoId:U??void 0}))),n.createElement("div",{className:a()(M.cell,Boolean(G)&&M.actionsCell)},G));function ve(){if(I)return null;const e=a()(M.symbolDescription,C&&M.active,!g.mobiletouch&&"apply-overflow-tooltip apply-overflow-tooltip--allow-text");return v?n.createElement("div",{className:e},b?n.createElement(c.HighlightedText,{className:M.highlightedText,text:v,queryString:b,rules:(0,u.createRegExpList)(b)}):v):o?n.createElement("div",{"data-overflow-tooltip-text":(0,f.removeTags)(o),className:e,dangerouslySetInnerHTML:{__html:o}}):null}}},29562:(e,t,r)=>{"use strict";r.d(t,{SymbolSearchFlag:()=>f});var n=r(50959),o=r(97754),a=r.n(o),l=r(24633),s=r(36279);const i=r.p+"mock-dark.16b5f3a431f502b03ae3.svg",c=r.p+"mock-light.d201313017eb2c1b989f.svg";function u(e){return e===l.StdTheme.Dark?i:c}var d=r(77975),m=r(45345),h=r(50151);const p=s.LogoSize.Medium;var g=r(85448);function f(e){const{country:t,tooltip:r,providerId:o,sourceId:l,sourceLogoId:i,className:c}=e,f=(0,d.useWatchedValueReadonly)({watchedValue:m.watchedTheme}),[v,b]=(0,n.useState)(function({country:e,providerId:t,sourceId:r,sourceLogoId:n}){const o=(0,s.getLogoUrlResolver)();return a=>{const l=e=>o.getProviderLogoUrl(e,p),s=[{value:n,resolve:e=>o.getSymbolLogoUrl(e,p)},{value:r,resolve:l},{value:e,resolve:e=>o.getCountryFlagUrl(e.toUpperCase(),p)},{value:t,resolve:l}].find((({value:e})=>void 0!==e&&e.length>0));return void 0!==s?s.resolve((0,h.ensureDefined)(s.value)):u(a)}}({country:t,providerId:o,sourceId:l,sourceLogoId:i})(f));return n.createElement("img",{
|
||||||
|
className:a()(c,"apply-common-tooltip",g.icon),crossOrigin:"","data-tooltip":r,src:v,onError:function(){b(u(f))}})}},58442:(e,t,r)=>{"use strict";r.d(t,{QualifiedSources:()=>n,qualifyProName:()=>l});var n,o=r(50151),a=r(37103);r(81319);function l(e){return e}!function(e){function t(e){return e.pro_name}function r(e){{const t=a.enabled("pay_attention_to_ticker_not_symbol")?e.ticker:e.name;return(0,o.ensureDefined)(t)}}e.fromQuotesSnapshot=function(e){return"error"===e.status?e.symbolname:e.values.pro_name},e.fromQuotesResponse=function(e){const{values:r,symbolname:n,status:o}=e;return"error"===o&&n?n:t(r)},e.fromQuotes=t,e.fromSymbolSearchResult=function(e,t){{const{ticker:r,symbol:n}=t??e;return a.enabled("pay_attention_to_ticker_not_symbol")?(0,o.ensureDefined)(r??n):(0,o.ensureDefined)(n)}},e.fromSymbolInfo=r,e.fromSymbolMessage=function(e,t){return"symbol_resolved"===t.method?r(t.params[1]):e}}(n||(n={}))},20882:(e,t,r)=>{"use strict";r.d(t,{createSearchSources:()=>s,filterSearchSources:()=>a,isAllSearchSourcesSelected:()=>o,splitSearchSourcesByGroup:()=>l});const n=[];function o(e){return""===e.value()}function a(e,t){return e.filter((e=>e.includes(t)))}function l(e){const t=new Map;e.forEach((e=>{t.has(e.group())?t.get(e.group()).push(e):t.set(e.group(),[e])}));for(const e of t.values()){e[0].group()!==ExchangeGroup.NorthAmerica&&e.sort(((e,t)=>e.name().toLowerCase()>t.name().toLowerCase()?1:-1))}return new Map([...t.entries()].sort((([e],[t])=>n.indexOf(e)-n.indexOf(t))))}function s(e,t){return t.map((t=>new e(t)))}},70613:(e,t,r)=>{"use strict";r.d(t,{SymbolSearchDialogBodyContext:()=>n});const n=r(50959).createContext(null)},84524:(e,t,r)=>{"use strict";r.d(t,{SymbolSearchItemsDialogContext:()=>n});const n=r(50959).createContext(null)},40336:(e,t,r)=>{"use strict";r.d(t,{SymbolSearchItemsDialog:()=>jt});var n,o,a,l,s=r(50959),i=r(97754),c=r.n(i),u=r(11542),d=r(37103),m=r(44254),h=r(81319);function p(e){const t=function(e){let t,r=0,n=0;for(let o=0;o<e.length;o++){const a=e[o];if("whitespace"!==a.type)switch(r){case 0:if("number"!==a.type||1!=+a.value)return[];r=1;break;case 1:if(1!==r||"divide"!==a.type)return[];r=2,t=o+1;break;case 2:if("openBrace"===a.type)r=3,n=1;else if((0,m.isBinaryOperator)(a.type))return[];break;case 3:"openBrace"===a.type?n++:"closeBrace"===a.type&&(n--,n<=0&&(r=2))}}return e.slice(t)}(e);return t.length?(0,m.factorOutBraces)(t):(0,m.factorOutBraces)((0,m.tokenize)("1/("+g(e)+")"))}function g(e){return e.reduce(((e,t)=>"symbol"===t.type&&m.symbolTokenEscapeRe.test(t.value)?e+`'${t.value}'`:e+t.value),"")}function f(e){const t=function(e){const t=(0,m.tokenize)(e),r=[];return t.forEach((e=>{if("symbol"!==e.type)return;const[t]=(0,m.parseToken)(e);t&&r.push(t)})),r}(e);if(1===t.length)return t[0]}function v(e,t,r){const n=e.value,[o,a]=b(e,r),l=(0,h.getSymbolFullName)(t),s=m.symbolTokenEscapeRe.test(l)?`'${l}'`:l;return[n.substring(0,a)+s+n.substring(a+o.length),a+s.length]}function b(e,t){const{value:r,selectionStart:n}=e,o=(0,m.tokenize)(t?r.toUpperCase():r),a=(0,
|
||||||
|
m.getTokenAtPos)(o,n||0);return[a?.value||"",a?a.offset:r.length,o]}!function(e){e.Init="init",e.Var="var",e.Operator="operator"}(n||(n={})),function(e){e[e.Init=0]="Init",e[e.Div=1]="Div",e[e.Expression=2]="Expression",e[e.BracedExpression=3]="BracedExpression"}(o||(o={})),function(e){e.Stocks="stocks",e.Futures="futures",e.Funds="funds",e.Forex="forex",e.Crypto="bitcoin,crypto",e.Index="index",e.Bond="bond",e.Economic="economic",e.Options="options"}(a||(a={})),function(e){e.EconomicCountrySelect="economic-country-select",e.EconomicSourceSelect="economic-source-select",e.EconomicCategorySelect="economic-category-select",e.StocksCountrySelect="stocks-country-select",e.StockTypeSelect="stock-type-select",e.StockSectorSelect="stock-sector-select",e.FuturesCountrySelect="futures-country-select",e.FuturesCategorySelect="futures-category-select",e.FundsCountrySelect="funds-country-select",e.FundsTypeSelect="funds-type-select",e.CryptoExchangeSelect="crypto-exchange-select",e.CryptoTypeSelect="crypto-type-select",e.CryptoExchangeTypeSelect="crypto-exchange-type-select",e.ForexExchangeSelect="forex-exchange-select",e.IndexExchangeSelect="index-exchange-select",e.BondCountrySelect="bond-country-select",e.BondTypeSelect="bond-type-select"}(l||(l={}));const y=["futures","forex","bond","economic","options"];var S=r(84877),x=r(73986),w=r(79418),k=r(9745),C=r(86240),E=r(86781),I=r(84524),L=r(69654),R=r(3343),T=r(22692);function N(e,t,r){return`source-item-${e}-${t}-${r}`}var B=r(20882),M=r(34007);function F(e){const{children:t,className:r}=e;return s.createElement("div",{className:c()(M.container,r)},s.createElement("div",{className:M.childrenWrapper},t))}var _=r(50151),A=r(78036),D=r(24637),P=r(97006),O=r(91540),U=r(5779);function Q(e){const{searchSource:t,onClick:r,queryString:n,isFocused:o,id:a}=e,{symbolSearchContent:l,isAllSearchSourcesSelected:i,allSearchSourcesTitle:u,isMobile:d}=(0,A.useEnsuredContext)(I.SymbolSearchItemsDialogContext),m=l.currentSelectedSearchSource,p=(0,_.ensureNotNull)(m).value(),g=i(t),f=t.value()===p,v=(0,s.useMemo)((()=>(0,P.createRegExpList)(n)),[n]),b=t.description(),y=b&&!g,S=h.isSeparateSymbolSearchTabs&&g&&u?u:t.name(),x=c()(U.container,d?U.mobile:U.desktop,f&&U.selected,o&&U.focused,g&&U.allSelected,g&&U.libAllSelected,!g&&d&&U.bordered);return s.createElement("div",{className:c()(!d&&U.wrap,g&&U.libAllSelected),onClick:r,id:a},s.createElement("div",{className:x},s.createElement("div",{className:U.iconWrap},!!g&&s.createElement(k.Icon,{className:c()(U.icon,U.allSelectedIcon),icon:O})),s.createElement("div",{className:U.textBlock},s.createElement("div",{className:c()(U.title,!y&&!d&&U.titleWithoutDesc)},s.createElement(D.HighlightedText,{className:c()(f&&U.highlighted),queryString:n,text:S,rules:v})),y&&s.createElement("div",{className:c()(U.description,"apply-overflow-tooltip")},s.createElement(D.HighlightedText,{className:U.highlighted,queryString:n,rules:v,text:b})))))}var V=r(77975),W=r(45345),K=r(24633),z=r(70613),H=r(66619),Z=r(67562),q=r(93900);const G={emptyTextClassName:q.emptyText}
|
||||||
|
;function $(e){const{searchSources:t}=e,{setSelectedIndex:n,setSelectedSearchSource:o,setMode:a,isMobile:l,emptyState:i,autofocus:d}=(0,A.useEnsuredContext)(I.SymbolSearchItemsDialogContext),m=(0,V.useWatchedValueReadonly)({watchedValue:W.watchedTheme})===K.StdTheme.Dark?H:Z,p=(0,E.useMatchMedia)(C["media-phone-vertical"]),[g,f]=(0,s.useState)(""),v=(0,s.useMemo)((()=>[{group:null,sources:(0,h.createGroupColumns)((0,B.filterSearchSources)(t,g),p?1:2)}]),[t,g,p]),b=((0,s.useMemo)((()=>({})),[]),(0,s.useRef)(null)),y=(0,s.useRef)(null),{focusedItem:S,activeDescendant:x,handleKeyDown:w,resetFocusedItem:M}=function(e,t,r){const[n,o]=(0,s.useState)(null),[a,l]=(0,s.useState)("");function i(t){const r=e[t.groupIndex].sources[t.col].length-1;if(t.row===r){const e=d(t.groupIndex+1);if(null===e)return;return t.col>0&&!u({...t,groupIndex:e,row:0})?void o({groupIndex:e,col:0,row:0}):void o({...t,groupIndex:e,row:0})}o({...t,row:t.row+1})}function c(t){if(0===t.row){const r=d(t.groupIndex-1,-1);if(null===r)return;const n=e[r].sources[t.col]?.length??0;return 0===n?void o({groupIndex:r,col:0,row:0}):void o({...t,groupIndex:r,row:n-1})}o({...t,row:t.row-1})}function u(t){return Boolean(e[t.groupIndex]?.sources[t.col]?.[t.row])}function d(t=0,r=1){const n=e.length;let o=(t+n)%n;for(;!u({groupIndex:o,col:0,row:0});)if(o=(o+r+n)%n,o===t)return null;return o}return(0,s.useEffect)((()=>{if(!r.current)return;if(!n)return void l("");const e=N(n.groupIndex,n.col,n.row),t=r.current.querySelector(`#${e}`);t?.scrollIntoView({block:"nearest"}),l(e)}),[n]),(0,s.useEffect)((()=>{o(null)}),[t]),{focusedItem:n,activeDescendant:a,handleKeyDown:function(a){if(!r.current)return;const l=(0,R.hashFromEvent)(a);if(32!==l&&13!==l)switch((0,T.mapKeyCodeToDirection)(l)){case"blockNext":if(a.preventDefault(),!n){const e=d();if(null===e)break;o({groupIndex:e,col:0,row:0});break}i(n);break;case"blockPrev":if(a.preventDefault(),!n)break;c(n);break;case"inlineNext":{if(!n||t)break;a.preventDefault();const r=e[n.groupIndex].sources.length;if(n.col===r-1||!u({...n,col:n.col+1})){i({...n,col:0});break}o({...n,col:n.col+1});break}case"inlinePrev":{if(!n||t)break;a.preventDefault();const r=e[n.groupIndex].sources.length;if(0===n.col){if(0!==n.row){c({...n,col:r-1});break}const t=d(n.groupIndex-1,-1);if(null===t)break;const a=e[t].sources.length,l=e[t].sources[0].length;if(!u({groupIndex:t,col:a-1,row:l-1})){c(n);break}o({groupIndex:t,col:a-1,row:l-1});break}o({...n,col:n.col-1});break}}else{if(!n)return;a.preventDefault();const e=r.current.querySelector(`#${N(n.groupIndex,n.col,n.row)}`);e instanceof HTMLElement&&e.click()}},resetFocusedItem:()=>o(null)}}(v,p,y);(0,s.useLayoutEffect)((()=>{d&&b?.current?.focus()}),[]);const _=i?s.createElement(i,null):s.createElement(F,{className:q.noResultsDesktop},s.createElement(k.Icon,{icon:m,className:q.emptyIcon}),s.createElement("div",{className:q.emptyText},u.t(null,void 0,r(53182)))),D=!(v.length&&v.every((e=>0===e.sources.length)));return s.createElement(z.SymbolSearchDialogBodyContext.Provider,{value:G
|
||||||
|
},s.createElement(L.DialogSearch,{placeholder:u.t(null,void 0,r(8573)),onChange:function(e){M(),f(e.target.value),y&&y.current&&(y.current.scrollTop=0)},reference:b,onKeyDown:w,onBlur:M,"aria-activedescendant":x}),D?s.createElement("div",{ref:y,className:c()(q.contentList,!l&&q.contentListDesktop),onTouchStart:function(){b.current?.blur()}},v.map(((e,t)=>{const{group:r,sources:n}=e;return 0===n.length?s.createElement(s.Fragment,{key:r}):s.createElement(s.Fragment,{key:r},!1,s.createElement("div",{className:c()(q.searchSourceItemsContainer,!l&&q.searchSourceItemsContainerDesktop,p&&q.oneColumn)},n.map(((e,r)=>s.createElement("div",{key:`${t}-${r}`,className:q.column},e.map(((e,n)=>s.createElement(Q,{id:N(t,r,n),isFocused:!!S&&(S.groupIndex===t&&S.col===r&&S.row===n),key:e.value(),searchSource:e,queryString:g,onClick:P.bind(null,e)}))))))))}))):_);function P(e){o(e),a("symbolSearch"),n(-1)}}var j,J,X,Y,ee=r(32227),te=r(95406),re=r(52959);r(32925);function ne(e){return e.hasOwnProperty("exchange")}async function oe(e){{const t=await async function(e){return new Promise((t=>{(0,re.getChartingLibraryGlobalContext)().ChartApiInstance.searchSymbols(e.text||"",e.exchange||"",e.type||"",(e=>{t(e)}),e.searchInitiationPoint??"symbolSearch")}))}(e);return{symbols:t,symbols_remaining:0}}}!function(e){e.SourceId="source_id",e.EconomicCategory="economic_category",e.SearchType="search_type",e.Sector="sector",e.Product="product",e.Centralization="centralization",e.OnlyHasOptions="only_has_options"}(j||(j={})),function(e){e.SymbolSearch="symbolSearch",e.Watchlist="watchlist",e.Compare="compare",e.IndicatorInputs="indicatorInputs"}(J||(J={})),function(e){e[e.Prod=0]="Prod",e[e.Local=1]="Local"}(X||(X={})),function(e){e[e.Paginated=0]="Paginated",e[e.NoLimit=1]="NoLimit"}(Y||(Y={}));new Map([].map((({value:e,search_type:t})=>[e,t])));var ae=r(78136),le=r(51768),se=r(68335),ie=r(46003),ce=r(486),ue=r(81574),de=r(35119),me=r(32617),he=r(69135),pe=r(63861),ge=r(33313);function fe(e){const{state:t,update:r}=e,{searchRef:n,forceUpdate:o,upperCaseEnabled:a}=(0,_.ensureNotNull)((0,s.useContext)(I.SymbolSearchItemsDialogContext)),l=(0,m.tokenize)(n.current?.value),i=function(e){const t={braceBalance:0,currentState:"var",warnings:[],errors:[]};if(!d.enabled("show_spread_operators"))return t;let r="init";const n=[];for(let o=0;o<e.length;o++){const a=e[o];if("whitespace"!==a.type){if("incompleteSymbol"===a.type||"incompleteNumber"===a.type){const r=o!==e.length-1,n={status:r?"error":"incomplete",reason:"incomplete_token",offset:a.offset,token:a};if(r?t.errors.push(n):t.warnings.push(n),r)continue}switch(a.type){case"symbol":case"number":if("var"===r){t.errors.push({status:"error",reason:"unexpected_token",offset:a.offset,token:a});continue}r="var";break;case"plus":case"minus":case"multiply":case"divide":case"power":if("var"!==r){t.errors.push({status:"error",reason:"unexpected_token",offset:a.offset,token:a});continue}r="operator";break;case"openBrace":if("var"===r){t.errors.push({status:"error",reason:"unexpected_token",offset:a.offset,token:a})
|
||||||
|
;continue}n.push(a),r="init";break;case"closeBrace":if("var"!==r){t.errors.push({status:"error",reason:"unexpected_token",offset:a.offset,token:a});continue}n.pop()||t.errors.push({status:"error",reason:"unbalanced_brace",offset:a.offset,token:a}),r="var";break;case"unparsed":t.errors.push({status:"error",reason:"unparsed_entity",offset:a.offset,token:a})}}}for(t.braceBalance=n.length,"var"!==r&&t.warnings.push({status:"incomplete",token:e[e.length-1]});n.length;){const e=n.pop();e&&t.warnings.push({status:"incomplete",reason:"unbalanced_brace",offset:e.offset,token:e})}return t.currentState=r,t}(l);let c=[{icon:ce,insert:"/",type:"binaryOp",name:"division"},{icon:ue,insert:"-",type:"binaryOp",name:"subtraction"},{icon:de,insert:"+",type:"binaryOp",name:"addition"},{icon:me,insert:"*",type:"binaryOp",name:"multiplication"}];return d.enabled("hide_exponentiation_spread_operator")||(c=c.concat([{icon:he,insert:"^",type:"binaryOp",name:"exponentiation"}])),d.enabled("hide_reciprocal_spread_operator")||(c=c.concat([{icon:pe,type:"complete",name:"1/x",callback:()=>{!n.current||i.errors.length||i.warnings.length||(n.current.value=g(p(l)),o())}}])),s.createElement("div",{className:ge.actions},c.map((e=>s.createElement(ie.ToolWidgetButton,{className:ge.actionButton,icon:e.icon,key:e.name,isDisabled:ve(e,i),onClick:()=>function(e){if(!ve(e,i)){if(e.insert&&n.current){const l=n.current.value+e.insert;n.current.value=l,n.current.setSelectionRange(l.length,l.length);const[s,,i]=b(n.current,a);t.current&&(t.current.selectedIndexValue=-1,t.current.searchSpreadsValue=(0,m.isSpread)(i),t.current.searchTokenValue=s),o(),r()}e.callback&&e.callback(),n.current?.focus(),(0,le.trackEvent)("GUI","SS",e.name)}}(e)}))))}function ve(e,t){let r=!1;if(!t.errors.length)switch(e.type){case"binaryOp":r="var"===t.currentState;break;case"openBrace":r="var"!==t.currentState;break;case"closeBrace":r="var"===t.currentState&&t.braceBalance>0;break;case"complete":r=!t.errors.length&&!t.warnings.length}return!r}var be=r(63932),ye=r(84952),Se=r(29006),xe=r(14543),we=r(10381),ke=r(52019),Ce=r(57184);const Ee=(0,h.getDefaultSearchSource)();function Ie(e){const{mode:t,setMode:n,searchRef:o,cachedInputValue:a,setSelectedIndex:l,setSelectedSearchSource:i,isAllSearchSourcesSelected:d,allSearchSourcesTitle:m,upperCaseEnabled:p,symbolSearchContent:g}=(0,A.useEnsuredContext)(I.SymbolSearchItemsDialogContext),f=g.currentSelectedSearchSource,v=(0,_.ensureNotNull)(f),b="symbolSearch"===t,y=d(v),S=h.isSeparateSymbolSearchTabs&&y&&m?m:v.name(),x=(0,s.useCallback)((()=>{if(h.isSeparateSymbolSearchTabs&&!y&&Ee)return i(Ee),l(-1),void o.current?.focus();o.current&&(a.current=p?o.current.value.toUpperCase():o.current.value),n("exchange")}),[y,o,p,n,i]);return h.isSeparateSymbolSearchTabs?b?s.createElement(xe.LightButton,{onClick:x,isPills:!y,size:"xsmall",variant:y?"ghost":"quiet-primary",showCaret:y,endSlot:y?void 0:s.createElement(k.Icon,{icon:ke}),enableActiveStateStyles:!1,className:c()(Ce.button,!y&&Ce.withFlag),tabIndex:-1,"data-name":"sources-button"
|
||||||
|
},s.createElement("div",{className:Ce.buttonContent},null,s.createElement("span",null,S))):null:b?s.createElement("div",{className:c()(Ce.flagWrap,"apply-common-tooltip",!y&&Ce.withFlag),title:u.t(null,void 0,r(57640)),onClick:x,"data-name":"sources-button"},y&&s.createElement(k.Icon,{className:Ce.icon,icon:O}),null,s.createElement("div",{className:c()(Ce.title)},S),s.createElement(we.ToolWidgetCaret,{className:Ce.caret,dropped:!1})):null}var Le=r(99605);function Re(e){const{brokerButton:t=null}=e,{isSmallWidth:n,selectedFilterValues:o,setSelectedFilterValues:a,setSelectedIndex:l,isMobile:i,searchRef:d,symbolSearchContent:m}=(0,A.useEnsuredContext)(I.SymbolSearchItemsDialogContext),p=m.tabSelectFilters;return h.isSeparateSymbolSearchTabs?s.createElement("div",{className:c()(Le.wrap,Le.small,Le.newStyles,i&&Le.mobile)},t&&s.createElement("div",{className:Le.brokerWrap},t),m.canChangeExchange&&s.createElement("div",{className:Le.filterItem},s.createElement(Ie,null)),p&&p.map((e=>{const{id:t,options:r,label:n}=e,c=r.find((e=>e.value===FILTER_DEFAULT_VALUE));if(!c)throw new Error("There must be default filter value in filter definition");const u=r.find((e=>e.value===o[m.currentSymbolType]?.[t]))||c;return s.createElement("div",{key:t,className:Le.filterItem},s.createElement(SymbolSearchSelectFilter,{selectedOption:u,defaultOption:c,options:r,onSelect:e=>{a(m.currentSymbolType,{[t]:e.value}),trackEvent("New SS",m.currentSymbolType,null===e.value?e.analyticsLabel:e.value),l(-1),d.current?.focus()},label:n,isMobile:i,"data-name":t}))}))):s.createElement("div",{className:c()(Le.wrap,n&&Le.small)},s.createElement("div",{className:Le.item},s.createElement("div",{className:Le.text},n?u.t(null,void 0,r(74007)):u.t(null,void 0,r(95481)))),s.createElement("div",{className:Le.item},!n&&s.createElement("div",{className:Le.text},u.t(null,void 0,r(78734))),m.canChangeExchange&&s.createElement("div",{className:Le.exchange},s.createElement(Ie,null))))}var Te=r(24640),Ne=r(80903);function Be(e){const{onTouchMove:t,listRef:r,className:n,listWrapRef:o,virtualListKey:a,items:l,getItemSize:i,hideFeed:u,canLoadMore:d,onLoadMoreSymbols:m}=e,{mode:p,isSmallWidth:g,handleListWidth:f}=(0,A.useEnsuredContext)(I.SymbolSearchItemsDialogContext),[v,b]=(0,s.useState)(null),y=(0,Se.useResizeObserver)((function([e]){b(e.contentRect.height),f(e.contentRect.width)})),S=(0,s.useCallback)((e=>{const{index:t,style:r}=e;return s.createElement("div",{style:r},l[t])}),[l]),x=(0,s.useCallback)((e=>(0,_.ensure)(l[e].key)),[l]),w="watchlist"===p&&null!==v;return s.createElement("div",{className:c()(Ne.wrap,w&&Ne.watchlist,u&&Ne.noFeed,u&&h.isSeparateSymbolSearchTabs&&Ne.newStyles,n),onTouchMove:t,ref:y},s.createElement("div",{ref:o,className:c()(Ne.scrollContainer,u&&Ne.noFeed)},w?s.createElement(ye.VariableSizeList,{key:a,ref:r,className:Ne.listContainer,width:"100%",height:(0,_.ensureNotNull)(v),itemCount:l.length,itemSize:i,children:S,itemKey:x,overscanCount:20,direction:(0,Te.isRtl)()?"rtl":"ltr"}):s.createElement(s.Fragment,null,s.createElement("div",{
|
||||||
|
className:c()(Ne.listContainer,g&&Ne.multiLineItemsContainer)},!h.isSeparateSymbolSearchTabs&&s.createElement(Re,null),...l,!1))))}var Me=r(96967),Fe=r(47201),_e=r(35020);var Ae=r(95854),De=r(36966),Pe=r(7953),Oe=r(38528),Ue=r(66686);r(19954);const Qe=s.createContext({children:{},setIsReady:()=>{}});var Ve=r(86866),We=r(67842);var Ke,ze,He,Ze=r(6916),qe=r.n(Ze);function Ge(e){const{className:t,count:r,compact:n=!0,size:o="xlarge",color:a="danger",sign:l,borderColor:i="none","aria-label":u,"aria-hidden":d,disabled:m,...h}=e,p=h;let g;g=!("xxsmall"===o||"xxxsmall"===o)&&r?n&&r>=100?"99+":l&&r>0?`+${r}`:r:"";const f=c()(t,qe().counter,qe()[o],qe()[`color-${a}`],"none"!==i&&qe()[`borderColor-${i}`],m&&qe().disabled);return s.createElement("span",{...p,className:f,"aria-label":u,"aria-hidden":d},g)}function $e({count:e,color:t="danger",size:r="xsmall",disabled:n}){return s.createElement(Ge,{"aria-label":"Tab counter",count:e,size:r,color:t,borderColor:"primary",disabled:n})}function je(e,t,r){const{id:n,items:o,activationType:a,orientation:l="horizontal",disabled:i,onActivate:c,isActive:u,overflowBehaviour:d,enableActiveStateStyles:m,tablistLabelId:h,tablistLabel:p,preventDefaultIfKeyboardActionHandled:g,size:f,stopPropagationIfKeyboardActionHandled:v,keyboardNavigationLoop:b,defaultKeyboardFocus:y,focusableItemAttributes:S}=t,x=(0,s.useMemo)((()=>function(e,t,r){return e.map((e=>{const n=e.counter;return n?{...e,endUpperSlot:$e({count:n.count,color:n.color,size:r,disabled:t}),counter:void 0}:e}))}(o,i,f)),[o,i,f]),w=(0,_e.useMobileTouchState)(),k=function(e){const t=(0,E.useSafeMatchMedia)(C["media-mf-phone-landscape"],!0),r=(0,_e.useMobileTouchState)();return e??(r||!t?"scroll":"collapse")}(d),I=(0,s.useRef)(!1),L=(0,s.useCallback)((e=>e.id),[]),R=m??!w,T=function(){const{setIsReady:e,children:t}=(0,s.useContext)(Qe),r=(0,s.useRef)((0,s.useId)());return t[r.current]||(t[r.current]={isReady:!1}),(0,s.useCallback)((()=>{t[r.current].isReady=!0,e(Object.values(t).every((e=>e.isReady)))}),[t,e])}(),{visibleItems:N,hiddenItems:B,containerRefCallback:M,innerContainerRefCallback:F,moreButtonRef:_,setItemRef:A,itemsMeasurements:D}=(0,Ae.useCollapsible)(x,L,u),P=function(e){const t=(0,s.useRef)(null);return(0,s.useEffect)((()=>{t.current=e}),[e]),t.current}(D.current?.containerWidth)??0,O=(0,Ve.useIsNonFirstRender)(),U=D.current?.containerWidth??0;let Q=!1;D.current&&O&&(Q=function(e,t,r,n,o){if("collapse"!==n)return!0;const a=function(e,t,r){const n=e.filter((e=>t.find((t=>t.id===e[0]))));return t.length>0?n[0][1]+r:0}(Array.from(e.widthsMap.entries()),t,o),l=e.moreButtonWidth??0;let s=function(e,t){return e.reduce(((e,r)=>e+(t.get(r.id)??0)),0)}(r,e.widthsMap);return s+=t.length>0?l:0,function(e,t,r,n){return 0!==e?t-r<e&&t-r>n:r<t}(a,e.containerWidth,s,o)}(D.current,B,N,k,r.gap??0)||0===U);const V=(0,We.useResizeObserver)((([e])=>{requestAnimationFrame((()=>{O&&Q&&e.contentRect.width===P&&T()}))})),W="collapse"===k?N:x,K=(0,s.useMemo)((()=>"collapse"===k?B:[]),[k,B]),z=(0,
|
||||||
|
s.useCallback)((e=>K.includes(e)),[K]),{isOpened:H,open:Z,close:q,onButtonClick:G}=(0,Pe.useDisclosure)({id:n,disabled:i}),{tabsBindings:$,tablistBinding:j,scrollWrapBinding:J,onActivate:X,onHighlight:Y,isHighlighted:ee}=(0,De.useTabs)({id:n,items:[...W,...K],activationType:a,orientation:l,disabled:i,tablistLabelId:h,tablistLabel:p,preventDefaultIfKeyboardActionHandled:g,scrollIntoViewOptions:r.scrollIntoViewOptions,onActivate:c,isActive:u,isCollapsed:z,isRtl:r.isRtl,isDisclosureOpened:H,isRadioGroup:r.isRadioGroup,stopPropagationIfKeyboardActionHandled:v,keyboardNavigationLoop:b,defaultKeyboardFocus:y,focusableItemAttributes:S}),te=K.find(ee),re=(0,s.useCallback)((()=>{const e=x.find(u);e&&Y(e)}),[Y,u,x]),ne=(0,s.useCallback)((()=>{q(),re(),I.current=!0}),[q,re]),oe=(0,s.useCallback)((()=>{te&&(X(te),Y(te,250))}),[X,Y,te]);J.ref=(0,Oe.useMergedRefs)([V,J.ref,M]),j.ref=(0,Oe.useMergedRefs)([j.ref,F]),j.onKeyDown=(0,Fe.createSafeMulticastEventHandler)((0,Ue.useKeyboardEventHandler)([(0,Ue.useKeyboardClose)(H,ne),(0,Ue.useKeyboardActionHandler)([13,32],oe,(0,s.useCallback)((()=>Boolean(te)),[te]))],g),j.onKeyDown);const ae=(0,s.useCallback)((e=>{I.current=!0,G(e)}),[I,G]),le=(0,s.useCallback)((e=>{e&&X(e)}),[X]);return(0,s.useEffect)((()=>{I.current?I.current=!1:te&&!H?Z():!te&&H&&q()}),[te,H,Z,q]),{enableActiveStateStyles:R,moreButtonRef:_,setItemRef:A,getBindings:e=>$.find((t=>t.id===e.id)),handleMoreButtonClick:ae,handleCollapsedItemClick:le,scrollWrapBinding:J,overflowBehaviour:k,tablistBinding:j,visibleTabs:W,hiddenTabs:K,handleActivate:X,isMobileTouch:w,getItemId:L,isDisclosureOpened:H,isHighlighted:ee,closeDisclosure:q}}!function(e){e.XXXSmall="xxxsmall",e.XXSmall="xxsmall",e.XSmall="xsmall",e.Small="small",e.Medium="medium",e.Large="large",e.XLarge="xlarge"}(Ke||(Ke={})),function(e){e.Danger="danger",e.Accent="accent",e.AccentLight="accent-light",e.NeutralBold="neutral-bold",e.Neutral="neutral"}(ze||(ze={})),function(e){e.Primary="primary",e.Secondary="secondary",e.Tertiary="tertiary",e.None="none"}(He||(He={}));var Je=r(8304),Xe=r(53017),Ye=r(17946),et=r(2948),tt=r(55840);const rt="xsmall",nt="primary";function ot(e){const t=(0,s.useContext)(Ye.CustomBehaviourContext),{size:r="xsmall",variant:n="primary",active:o,fake:a,startIcon:l,endIcon:c,showCaret:u,iconOnly:d,anchor:m,enableActiveStateStyles:h=t.enableActiveStateStyles,disableFocusOutline:p=!1,tooltip:g,disabled:f}=e;return i(tt.roundTabButton,tt[r],tt[n],l&&tt.withStartIcon,(c||u)&&tt.withEndIcon,d&&tt.iconOnly,o&&tt.selected,a&&tt.fake,m&&tt.enableCursorPointer,!h&&tt.disableActiveStateStyles,p&&tt.disableFocusOutline,g&&"apply-common-tooltip",f&&tt.disabled,"apply-overflow-tooltip apply-overflow-tooltip--check-children-recursively apply-overflow-tooltip--allow-text")}function at(e){const{startIcon:t,endIcon:r,showCaret:n,iconOnly:o,children:a}=e;return s.createElement(s.Fragment,null,t&&s.createElement(k.Icon,{icon:t,className:tt.startIconWrap,"aria-hidden":!0}),a&&s.createElement("span",{className:i(tt.content,o&&tt.visuallyHidden)
|
||||||
|
},a),(!o&&r||n)&&s.createElement(lt,{icon:r,showCaret:n}))}function lt(e){const{icon:t,showCaret:r}=e;return s.createElement(k.Icon,{className:i(tt.endIconWrap,r&&tt.caret),icon:r?et:t,"aria-hidden":!0})}var st=r(34094);const it=(0,s.forwardRef)(((e,t)=>{const{id:r,size:n,variant:o,active:a,fake:l,startIcon:i,endIcon:c,showCaret:u,iconOnly:d,children:m,enableActiveStateStyles:h,disableFocusOutline:p,tooltip:g,disabled:f,...v}=e;return s.createElement("button",{...v,id:r,ref:t,"data-tooltip":g,"data-overflow-tooltip-text":g??(0,st.getTextForTooltip)(m),className:ot({size:n,variant:o,active:a,fake:l,startIcon:i,endIcon:c,showCaret:u,iconOnly:d,enableActiveStateStyles:h,disableFocusOutline:p,tooltip:g,disabled:f})},s.createElement(at,{startIcon:i,endIcon:c,showCaret:u,iconOnly:d},m))}));it.displayName="RoundTabsBaseButton";const ct=(0,s.createContext)({size:"small",variant:"primary",isHighlighted:!1,isCollapsed:!1,disabled:!1});function ut(e){const{item:t,highlighted:r,handleItemRef:n,reference:o,onClick:a,...l}=e,i=(0,s.useCallback)((e=>{l.disabled&&e.preventDefault(),a&&a(t)}),[a,t,l.disabled]),c=(0,s.useCallback)((e=>{n&&n(t,e),(0,Xe.isomorphicRef)(o)(e)}),[t,n]),u={size:l.size??rt,variant:l.variant??nt,isHighlighted:Boolean(l.active),isCollapsed:!1,disabled:l.disabled??!1};return s.createElement(it,{...l,id:t.id,onClick:i,ref:c,startIcon:t.startIcon,endIcon:t.endIcon,tooltip:t.tooltip,"aria-label":"radio"===l.role?t.children:void 0},s.createElement(ct.Provider,{value:u},t.children))}var dt=r(16396),mt=r(4523),ht=r(43845),pt=r(89882),gt=r(2057),ft=r(27692);function vt(e){const{disabled:t,isOpened:r,enableActiveStateStyles:n,disableFocusOutline:o,fake:a,items:l,buttonText:i,buttonPreset:c="text",buttonRef:u,size:d,variant:m,isAnchorTabs:h,isHighlighted:p,onButtonClick:g,onItemClick:f,onClose:v}=e,b=(0,s.useRef)(null),y=(0,Oe.useMergedRefs)([u,b]),S="text"===c?void 0:"xsmall"===d?pt:gt;return s.createElement(mt.PopupMenuDisclosureView,{buttonRef:b,listboxTabIndex:-1,isOpened:r,onClose:v,listboxAria:{"aria-hidden":!0},button:s.createElement(it,{"aria-hidden":!0,disabled:t,active:r,onClick:g,ref:y,tabIndex:-1,size:d,variant:m,startIcon:S,showCaret:"text"===c,iconOnly:"meatballs"===c,enableActiveStateStyles:n,disableFocusOutline:o,fake:a},i),popupChildren:s.createElement(s.Fragment,null,"meatballs"===c&&s.createElement(ht.ToolWidgetMenuSummary,null,i),l.map((e=>s.createElement(dt.PopupMenuItem,{key:e.id,className:h?ft.linkItem:void 0,onClick:f,onClickArg:e,isActive:p(e),label:s.createElement(bt,{isHighlighted:p(e),size:d,variant:m,disabled:e.disabled},e.children),isDisabled:e.disabled,link:"href"in e?e.href:void 0,rel:"rel"in e?e.rel:void 0,target:"target"in e?e.target:void 0,icon:e.startIcon,toolbox:e.endIcon&&s.createElement(k.Icon,{icon:e.endIcon}),renderComponent:"renderComponent"in e?e.renderComponent:void 0,dontClosePopup:!0}))))})}function bt(e){const{isHighlighted:t,size:r,variant:n,children:o,disabled:a}=e,l={size:r??rt,variant:n??nt,isHighlighted:t,isCollapsed:!0,disabled:a??!1}
|
||||||
|
;return s.createElement(ct.Provider,{value:l},o)}var yt,St,xt,wt,kt=r(70408);function Ct(e){const{overflowBehaviour:t}=e;return i(kt.scrollWrap,"scroll"===t&&kt.overflowScroll,"wrap"===t&&kt.overflowWrap)}function Et(e){const{align:t="start"}=e;return i(kt.roundTabs,kt[t])}function It(e){const{children:t,disabled:n,moreButtonText:o=u.t(null,void 0,r(37117)),moreButtonPreset:a,className:l,size:c,variant:d,align:m,style:h={},"data-name":p,isRadioGroup:g,"aria-controls":f}=e,v=function(e="xsmall"){switch(e){case"small":return 8;case"xsmall":return 4;default:return 16}}(c),{enableActiveStateStyles:b,moreButtonRef:y,setItemRef:S,getBindings:x,handleMoreButtonClick:w,handleCollapsedItemClick:k,scrollWrapBinding:C,overflowBehaviour:E,tablistBinding:I,visibleTabs:L,hiddenTabs:R,handleActivate:T,isMobileTouch:N,getItemId:B,isDisclosureOpened:M,isHighlighted:F,closeDisclosure:_}=je(Je.TabNames.RoundButtonTabs,e,{isRtl:Te.isRtl,scrollIntoViewOptions:{additionalScroll:v},isRadioGroup:g,gap:v});return s.createElement("div",{...C,className:i(Ct({overflowBehaviour:E}),l),style:{...h,"--ui-lib-roundTabs-gap":`${v}px`},"data-name":p},s.createElement("div",{...I,className:Et({align:m,overflowBehaviour:E})},L.map((e=>s.createElement(ut,{...x(e),key:e.id,item:e,onClick:()=>T(e),variant:d,size:c,enableActiveStateStyles:b,disableFocusOutline:N,reference:S(B(e)),...e.dataId&&{"data-id":e.dataId},"aria-controls":f}))),R.map((e=>s.createElement(ut,{...x(e),key:e.id,item:e,variant:d,size:c,reference:S(B(e)),"aria-controls":f,fake:!0}))),s.createElement(vt,{disabled:n,isOpened:M,items:R,buttonText:o,buttonPreset:a,buttonRef:y,isHighlighted:F,onButtonClick:w,onItemClick:k,onClose:_,variant:d,size:c,enableActiveStateStyles:b,disableFocusOutline:N,fake:0===R.length}),t))}function Lt(e){const{"data-name":t="round-tabs-buttons",...r}=e;return s.createElement(It,{...r,"data-name":t})}!function(e){e.Primary="primary",e.Ghost="ghost"}(yt||(yt={})),function(e){e.XSmall="xsmall",e.Small="small",e.Large="large"}(St||(St={})),function(e){e.Start="start",e.Center="center"}(xt||(xt={})),function(e){e.Text="text",e.Meatballs="meatballs"}(wt||(wt={}));r(21593);var Rt=r(27864);const Tt=d.enabled("hide_image_invalid_symbol");function Nt(e){const{otherSymbolsCount:t,onChangeSymbolTypeFilter:r,onResetFilters:n,onListTouchMove:o,brokerTitle:a,brokerLogoInfo:l,isBrokerActive:c,onBrokerToggle:u,listRef:d,listWrapRef:m,onLoadMoreSymbols:p,canLoadMore:g}=e,{mode:f,isMobile:v,selectedSymbolType:b,symbolTypes:y,feedItems:S,contentItem:x,emptyState:w=Bt,symbolSearchContent:k,symbolSearchState:C}=(0,A.useEnsuredContext)(I.SymbolSearchItemsDialogContext),E=a?s.createElement(BrokerButton,{brokerTitle:a,isActive:c,onToggle:u,onKeyDown:e=>{const t=(0,R.hashFromEvent)(e);t!==9+R.Modifiers.Shift&&9!==t&&e.stopPropagation()},logoInfo:l}):null,L=y.map((e=>({id:e.value,children:e.name}))),T="symbolSearch"===f&&["good","loadingWithPaginated"].includes(C),N=x??Me.SymbolSearchDialogContentItem,B=(0,s.useMemo)((()=>S.map((e=>s.createElement(N,{...e,searchToken:k.token})))),[S])
|
||||||
|
;return s.createElement(s.Fragment,null,"symbolSearch"===f&&s.createElement(s.Fragment,null,s.createElement("div",{className:i(Rt.bubblesContainer,!v&&E&&Rt.withButton,v&&Rt.mobile)},y.length>0&&s.createElement(Lt,{id:"symbol-search-tabs",isActive:e=>e.id===b,onActivate:r,overflowBehaviour:v?"scroll":"wrap",className:i(Rt.bubbles,v&&Rt.mobile,h.isSeparateSymbolSearchTabs&&(k.withFilters||E)&&!v&&Rt.withFilters),items:L},v?null:s.createElement("div",null,E)),!h.isSeparateSymbolSearchTabs&&v&&y.length>0&&a&&s.createElement("div",{className:Rt.brokerButtonWrap},E)),h.isSeparateSymbolSearchTabs&&s.createElement(Re,{brokerButton:v?E:void 0})),s.createElement(Be,{listRef:d,listWrapRef:m,onTouchMove:o,items:B,getItemSize:()=>Ft,onLoadMoreSymbols:p,canLoadMore:g,hideFeed:!T}),"loading"===C&&s.createElement("div",{className:Rt.spinnerWrap},s.createElement(be.Spinner,null)),"symbolSearch"===f&&s.createElement(s.Fragment,null,!1,"empty"===C&&s.createElement(w,null)))}function Bt(e){const t=(0,V.useWatchedValueReadonly)({watchedValue:W.watchedTheme})===K.StdTheme.Dark?H:Z;return s.createElement(F,{className:Rt.noResultsDesktop},!Tt&&s.createElement(k.Icon,{icon:t,className:Rt.emptyIcon}),s.createElement("div",{className:Rt.emptyText},u.t(null,void 0,r(76822))))}const Mt=(0,h.getDefaultSearchSource)(),Ft=52;function _t(e){const{mode:t,setMode:n,setSelectedIndex:o,isMobile:a,selectedSearchSource:l,setSelectedSearchSource:i,isAllSearchSourcesSelected:p,selectedSymbolType:g,setSelectedSymbolType:y,symbolSearchContent:S,setSymbolSearchContent:x,searchRef:w,setSearchSpreads:k,showSpreadActions:C,selectedItem:E,forceUpdate:R,placeholder:T,initialScreen:N,footer:B,searchInput:M,upperCaseEnabled:F,externalInput:_,handleKeyDown:D,customSearchSymbols:P,filterQueryParams:O,searchSources:U,symbolSearchState:Q,setSymbolSearchState:V,onEmptyResults:W,overrideQueryParams:K,getFiltersBySymbolType:H,showRecents:Z,searchInitiationPoint:q}=(0,A.useEnsuredContext)(I.SymbolSearchItemsDialogContext),G=P??oe,$=(0,s.useRef)(t);$.current=t;const j=(0,s.useRef)(new AbortController),[J,X]=(0,s.useState)(0),Y=(0,s.useRef)(0),[re,ie]=(0,s.useState)(S.token),ce=(0,s.useRef)(null),ue=(0,s.useRef)(null),de=(0,s.useRef)({selectedIndexValue:-1,searchTokenValue:"",searchSpreadsValue:!0}),me=(0,s.useRef)(null),he=(0,s.useRef)(null),pe=(0,s.useRef)(null),{broker:ge=null,brokerId:ve,brokerTitle:be,brokerLogoInfo:ye,isBrokerChecked:Se=!1,setIsBrokerChecked:xe=()=>{},unhideSymbolSearchGroups:we=""}={brokerId:void 0,brokerTitle:void 0,brokerLogoInfo:void 0};(0,s.useEffect)((()=>()=>{j.current.abort(),Pe(),Oe()}),[]),(0,s.useEffect)((()=>{w?.current&&ie(w.current.value)}),[]),(0,s.useEffect)((()=>{const e=w.current;if(e)return e.addEventListener("input",Te),e.addEventListener("focus",Ae),e.addEventListener("select",Re),e.addEventListener("click",Re),e.addEventListener("keyup",De),_&&D&&e.addEventListener("keydown",D),()=>{e&&(e.removeEventListener("input",Te),e.removeEventListener("focus",Ae),e.removeEventListener("select",Re),e.removeEventListener("click",Re),
|
||||||
|
e.removeEventListener("keyup",De),_&&D&&e.removeEventListener("keydown",D))}}),[D]),(0,s.useEffect)((()=>{Boolean(N)&&""===re.trim()?x((e=>{const t=Boolean(l&&U.length>1&&!(0,h.exchangeSelectDisabled)(g)),r=H(g);return{...e,tabSelectFilters:r,currentSymbolType:g,canChangeExchange:t,withFilters:Boolean(t||r?.length),token:re,currentTabAvailableSearchSources:U,currentSelectedSearchSource:l}})):(x((e=>({...e,symbolStartIndex:0}))),Be(re,g,l).then((()=>{ce.current&&(ce.current.scrollTop=0)})))}),[re,g,l,Se,N,O]),(0,s.useEffect)((()=>{if(!E||!w.current)return;if(!d.enabled("show_spread_operators"))return w.current.value=E.symbol,void R();const e=ne(E)?E.exchange:E.parent.exchange;let t;t="contracts"in E&&E.contracts?.length?E.contracts[0]:E;const r={name:t.symbol,exchange:e,prefix:t.prefix,fullName:t.full_name},[n,o]=v(w.current,r,F);w.current.value=n,w.current.setSelectionRange(o,o),R()}),[E]);const ke=N??"div",Ce=Boolean(N)&&"symbolSearch"!==t,Ee=M??L.DialogSearch,Ie=(0,s.useMemo)((()=>({listRef:ue,resetRecommends:_e,updateRecommends:Be,searchToken:re,emptyTextClassName:Rt.emptyText,isBrokerChecked:Se,symbolSearchState:Q,currentMode:$})),[ue,re,Se,Q,$,O]);return s.createElement(z.SymbolSearchDialogBodyContext.Provider,{value:Ie},!(_&&"symbolSearch"===t)&&s.createElement(Ee,{reference:w,className:c()(Rt.search,F&&Rt.upperCase),placeholder:T||u.t(null,void 0,r(8573))},C&&s.createElement(fe,{state:de,update:Ne})),Ce?s.createElement(ke,null):s.createElement(Nt,{otherSymbolsCount:J,onListTouchMove:function(){w.current?.blur()},onChangeSymbolTypeFilter:function(e){const{id:t}=e;y(t),o(-1)},onResetFilters:function(){h.isSeparateSymbolSearchTabs?"resetFilter"===Q?y((0,h.getAllSymbolTypesValue)()):Mt&&i(Mt):(y((0,h.getAllSymbolTypesValue)()),Mt&&i(Mt));xe(!1),a||w.current?.focus()},brokerTitle:be,brokerLogoInfo:ye,isBrokerActive:Se,onBrokerToggle:xe,listRef:ue,listWrapRef:ce,onLoadMoreSymbols:void 0,canLoadMore:void 0}),B);function Le(){if(!w.current)return;const[e,t,r]=b(w.current,F);Y.current=t,de.current={selectedIndexValue:-1,searchSpreadsValue:(0,m.isSpread)(r),searchTokenValue:e},me.current||(me.current=setTimeout(Ne,0))}function Re(){if(!w.current)return;const[,e]=b(w.current,F);e!==Y.current&&Le()}function Te(){d.enabled("show_spread_operators")?Le():w.current&&(de.current={selectedIndexValue:-1,searchSpreadsValue:!1,searchTokenValue:w.current.value},me.current||(me.current=setTimeout(Ne,0)))}function Ne(){const{selectedIndexValue:e,searchTokenValue:t,searchSpreadsValue:r}=de.current;me.current=null,(0,ee.unstable_batchedUpdates)((()=>{k(r),o(e),ie(F?t.toUpperCase():t)}))}async function Be(e,t,r,n){try{"noop"===Q?V("loading"):n?V("loadingWithPaginated"):(Pe(),Oe(),he.current=setTimeout((()=>{const r=Boolean(l&&U.length>1&&!(0,h.exchangeSelectDisabled)(t)),n=H(t);x({token:e,canChangeExchange:r,tabSelectFilters:n,withFilters:Boolean(r||n?.length),currentSymbolType:t,currentSelectedSearchSource:l,currentTabAvailableSearchSources:U,renderSymbolSearchList:[],symbolsRemaining:0,symbolStartIndex:0}),V("loading")}),500)),Ue()
|
||||||
|
;(0,h.getAllSymbolTypesValue)();const o=!1;let a;if(Se&&ge){a=(await(0,te.respectAbort)(j.current.signal,ge.accountMetainfo())).prefix}const s=d.enabled("show_spread_operators")?f(e)??a??r?.getRequestExchangeValue():l?.getRequestExchangeValue(),i=f(e)?void 0:(r||l)?.getRequestCountryValue(),[c,u]=await Promise.all([Fe(j.current.signal,e,t,r,s,i,n),o&&!n?getRecent():Promise.resolve([])]),m=u.filter((e=>s?e.exchange?.toLowerCase()===s.toLowerCase():!i||e.country?.toLowerCase()===i.toLowerCase())),p=new Set(m.map((e=>`${e.exchange}_${e.symbol}`))),g=c.symbols.filter((e=>!p.has(`${e.exchange}_${e.symbol}`)));let v=function(e,t=window.ChartApiInstance.symbolsGrouping()){const r={},n=[];for(let o=0;o<e.length;++o){const a=e[o];if(a.prefix||Array.isArray(a.contracts))return e;const l=t[a.type];if(void 0===l){n.push(a);continue}const s=l.exec(a.symbol);if(s){const e=s[1];let t;r.hasOwnProperty(e)?t=r[e]:(t=n.length,r[e]=t,n.push({type:a.type,symbol:e,exchange:a.exchange,description:a.description,full_name:a.exchange+":"+e,contracts:[]})),n[t].contracts?.push(a)}else n.push(a)}return n}([...m,...g]);if(n&&(v=[...S.renderSymbolSearchList,...v]),!v.length)return x((r=>{const n=Boolean(l&&U.length>1&&!(0,h.exchangeSelectDisabled)(t)),o=H(t);return{...r,canChangeExchange:n,tabSelectFilters:o,token:e,symbolsRemaining:0,withFilters:Boolean(n||o?.length),currentSymbolType:t,currentSelectedSearchSource:l,currentTabAvailableSearchSources:U}})),Pe(),V("empty"),void Me();Pe(),x((r=>{const n=Boolean(l&&U.length>1&&!(0,h.exchangeSelectDisabled)(t)),o=H(t);return{...r,canChangeExchange:n,tabSelectFilters:o,renderSymbolSearchList:v,token:e,symbolsRemaining:c.symbols_remaining,withFilters:Boolean(n||o?.length),currentSymbolType:t,currentSelectedSearchSource:l,currentTabAvailableSearchSources:U,symbolStartIndex:r.symbolStartIndex+c.symbols.length}})),V("good")}catch(e){(0,te.skipAbortError)(e)}}function Me(){W&&(pe.current=setTimeout((()=>W()),1e3))}async function Fe(e,t,r,n,o,a,l){const s={serverHighlight:!1,text:d.enabled("show_spread_operators")?(0,m.shortName)(t):w.current?.value,exchange:o,country:a,type:r,lang:window.language||"",sortByCountry:void 0,brokerId:ve,onlyTradable:Boolean(ve)&&Se,unhideSymbolSearchGroups:we,signal:e,start:l,filterQueryParams:O,overrideQueryParams:K,searchInitiationPoint:q},i=(0,ae.getSearchRequestDelay)();return void 0!==i&&await(0,te.delay)(e,i),G(s)}function _e(){Ue(),V("empty"),ie(""),k(!1),x((e=>({...e,symbolStartIndex:0}))),Pe()}function Ae(){"watchlist"===$.current&&(n("symbolSearch"),(0,le.trackEvent)("Watchlist","Mobile SS","Go to SS page"))}function De(e){switch((0,se.hashFromEvent)(e)){case 37:case 39:Re()}}function Pe(){he.current&&clearTimeout(he.current)}function Oe(){pe.current&&clearTimeout(pe.current)}function Ue(){j.current.abort(),j.current=new AbortController}}var At=r(48199),Dt=r(97514),Pt=r(58442),Ot=r(1765);function Ut(e){const[t,r]=(0,s.useState)((()=>{const{defaultSearchSource:t,searchSources:r}=e,n=Ot.getValue("symboledit.exchangefilter","");return r.find((e=>e.value()===n))||t}))
|
||||||
|
;return[t,(0,s.useCallback)((e=>{var t;r(e),t=e,Ot.setValue("symboledit.exchangefilter",t.value())}),[])]}function Qt(e){const{selectedSymbolSettingsKey:t="symboledit.filter"}=e,[r,n]=(0,s.useState)((()=>{if(1===e.types.length)return e.types[0].value;const r=Ot.getValue(t,(0,h.getAllSymbolTypesValue)());return e.types.find((e=>e.value===r))?r:(0,h.getAllSymbolTypesValue)()}));return[r,(0,s.useCallback)((e=>{n(e),function(e,t="symboledit.filter"){Ot.setValue(t,e)}(e,t)}),[t])]}var Vt=r(46043),Wt=r(82708),Kt=r(88145),zt=r(76460),Ht=r(88716);const Zt=!1,qt=(0,h.getAvailableSearchSources)(),Gt=(0,h.getDefaultSearchSource)(),$t=d.enabled("uppercase_instrument_names");function jt(e){const{onClose:t,symbolTypeFilter:n,initialMode:o,defaultValue:a="",showSpreadActions:l,hideMarkedListFlag:i,selectSearchOnInit:c=!0,onSearchComplete:m,dialogTitle:p=u.t(null,void 0,r(51165)),placeholder:g,fullscreen:f,initialScreen:b,wrapper:w,dialog:k,contentItem:C,footer:E,searchInput:L,emptyState:R,autofocus:N,dialogWidth:M,onKeyDown:F,searchSourcesScreen:_,customSearchSymbols:A,isDisableFiltering:D,disableRecents:P,shouldReturnFocus:O,onSymbolFiltersParamsChange:U,onEmptyResults:Q,enableOptionsChain:V,overrideQueryParams:W,hiddenFilterIds:K,showRecents:z=!0,searchInitiationPoint:H="symbolSearch",selectedSymbolSettingsKey:Z,filterValuesSettingsKey:q}=e,G=(0,s.useMemo)((()=>{if(D)return[];const t=e.symbolTypes??(0,h.getAvailableSymbolTypes)();return n?n(t):t}),[]),j=void 0!==e.input,J=D?[]:qt,[X,Y]=(0,s.useState)((()=>rr(a,V)?"options":o)),[ee,te]=(0,s.useState)((()=>rr(a,V))),[re,ae]=(0,s.useState)((()=>null)),le=(0,s.useRef)(function(e,t){const r=rr(e,t);return(0,h.isOptionDefaultValue)(e)?r??e.value:e}(a,V)),[ie,ce]=Ut({searchSources:J,defaultSearchSource:Gt}),[ue,de]=[],[me,he]=Qt({types:G,selectedSymbolSettingsKey:Z}),[pe,ge]=[{},()=>{}],[fe,ve]=(0,s.useState)(!1),[be,ye]=(0,s.useState)(-1),[Se,xe]=(0,s.useState)("noop"),we=h.isSeparateSymbolSearchTabs?ue?.[me]||Gt:ie,ke=(0,s.useMemo)((()=>{if(!h.isSeparateSymbolSearchTabs)return J;return J.filter((e=>{const t=TAB_SOURCE_FILTER_MAP[me];if(!t)return!1;if(!me)return!0;const r=e.group();return r===ExchangeGroup.AllExchanges||r&&t.value.includes(r)}))}),[J,me]),Ce=(0,s.useCallback)((e=>{const t=h.isSeparateSymbolSearchTabs?TAB_SELECT_FILTER_MAP:void 0;if(t)return K?.length?t[e]?.filter((e=>!K.includes(e.id))):t[e]}),[K]),[Ee,Ie]=(0,s.useState)((()=>{const e=Boolean(ie&&qt.length>1&&!(0,h.exchangeSelectDisabled)(me)),t=Ce(me);return{canChangeExchange:e,tabSelectFilters:t,withFilters:Boolean(e||t?.length),renderSymbolSearchList:[],token:le.current,symbolsRemaining:0,currentSymbolType:me,currentSelectedSearchSource:we,currentTabAvailableSearchSources:ke,symbolStartIndex:0}})),Le=(0,s.useCallback)((e=>{trackEvent("New SS",me,"Change sources"),de?.(me,e),Ie((t=>({...t,currentSelectedSearchSource:e})))}),[me,Ie]),Re=(0,s.useRef)(e.input??null),[Ne,Be]=(0,s.useState)(!1),Me=(0,Vt.useForceUpdate)(),[Fe,_e]=(0,
|
||||||
|
s.useState)(new Set),{broker:Ae=null,brokerId:De,unhideSymbolSearchGroups:Pe="",displayBrokerSymbol:Oe=!1}={brokerId:void 0};(0,s.useLayoutEffect)((()=>{!Re?.current||!j&&Boolean(Re.current?.value)||(j||"compare"===X||(Re.current.value=le.current),!N||j&&"symbolSearch"!==X||Re.current.focus())}),[X]),(0,s.useEffect)((()=>{Re?.current&&c&&N&&Re.current.select()}),[]);const Ue=(0,s.useMemo)((()=>Ee.renderSymbolSearchList.reduce(((e,t)=>{const r=Yt(t),n=Fe.has(r);return e.push(t),n&&t.contracts&&e.push(...t.contracts.map((e=>({...e,parent:t})))),e}),[])),[Ee.renderSymbolSearchList,Fe]),Qe=(0,s.useRef)(null);(0,s.useEffect)((()=>{-1!==be&&Qe.current?.scrollIntoView({block:"nearest"})}),[be,Qe]);const Ve=y.includes(me),We=(0,s.useMemo)((()=>Ue.map(((e,t)=>{if(ne(e)){const r=Yt(e),n=e.contracts?Fe.has(r):void 0,o=t===be,a=Ee.renderSymbolSearchList.findIndex((t=>t.symbol===e.symbol&&t.exchange===e.exchange))+1;return{key:t,numberInList:a,id:r,title:Xt(e,Oe),description:e.description,isOffset:!1,onClick:Je.bind(null,e,a),providerId:e.provider_id,source:e.source,source2:e.source2,country:e.country?.toLocaleLowerCase(),type:e.type,exchangeName:null===e.exchange?void 0:e.exchange,exchangeTooltip:"",prefix:e.prefix||void 0,marketType:(0,Dt.marketType)(e.type,e.typespecs,!1),hideMarketType:Ve,isEod:e.params?.includes("eod")&&"economic"!==e.type,isYield:(0,Kt.isYield)(e),isExpanded:n,onExpandClick:e.contracts?Xe.bind(null,r):void 0,fullSymbolName:e.contracts?Pt.QualifiedSources.fromSymbolSearchResult(e,e.contracts[0]):Pt.QualifiedSources.fromSymbolSearchResult(e),itemRef:o?Qe:void 0,isSelected:t===be,hideMarkedListFlag:i,item:e,logoId:e.logoid,currencyLogoId:e["currency-logoid"],baseCurrencyLogoId:e["base-currency-logoid"],sourceLogoId:e.source_logoid,shortName:(0,Wt.safeShortName)(Pt.QualifiedSources.fromSymbolSearchResult(e)),currencyCode:e.currency_code,isPrimary:e.is_primary_listing,isPromo:e.is_promo}}{const{parent:r}=e,n=Yt(r),o=t===be,a=Ee.renderSymbolSearchList.findIndex((e=>e.symbol===r.symbol&&e.exchange===r.exchange))+1;return{key:t,numberInList:a,id:n+e.symbol,dangerousTitleHTML:Xt(e,Oe),dangerousDescriptionHTML:`${r.description}`+(e.description?` (${e.description})`:""),isOffset:!0,isEod:e.params?.includes("eod"),isYield:(0,Kt.isYield)(e),onClick:Ye.bind(null,e.parent,e,a),providerId:r.provider_id,country:r.country?.toLowerCase(),sourceLogoId:r.source_logoid,type:r.type,exchangeName:null===r.exchange?void 0:r.exchange,exchangeTooltip:"",marketType:(0,Dt.marketType)(r.type,e.typespecs,!1),hideMarketType:Ve,fullSymbolName:Pt.QualifiedSources.fromSymbolSearchResult(e.parent,e),itemRef:o?Qe:void 0,isSelected:o,hideMarkedListFlag:i,item:e}}}))),[Ee.renderSymbolSearchList,Fe,X,be,F]),Ke=(0,s.useMemo)((()=>function(e,t,r){const n=new Map(t?.map((e=>[e.id,e.urlParam]))),o=r[e];let a;if(o){a={};for(const[e,t]of Object.entries(o)){const r=n.get(e);r&&(a[r]=t)}}return a}(me,Ce(me),pe)),[me,Ce,pe]),ze=(0,
|
||||||
|
s.useMemo)((()=>Ee.renderSymbolSearchList.slice(0,20).map((e=>e.contracts?Pt.QualifiedSources.fromSymbolSearchResult(e,e.contracts[0]):Pt.QualifiedSources.fromSymbolSearchResult(e)))),[Ee.renderSymbolSearchList]);(0,s.useEffect)((()=>{if(!U)return;const e=["resetFilter","resetTabFilter","empty"].includes(Se)?[]:ze,t={...Ke,result_list:e};if(t.search_type||(t.search_type="bitcoin,crypto"===me?"crypto":me),!h.isSeparateSymbolSearchTabs)return t.exchange=we?.getRequestCountryValue()??null,void U(t);if(me){const e=we?.getRequestCountryValue()??null;e&&(t.country=e);const r=we?.getRequestExchangeValue()??null;r&&(t.exchange=r)}U(t)}),[me,Ke,ze,we,Se]);const He=(0,s.useMemo)((()=>{if(A)return A}),[me,A,Ke,V]),Ze=k??tr,qe=Ze!==tr&&!j,Ge=(e,r)=>({mode:X,setMode:Y,selectedSearchSource:we,setSelectedSearchSource:h.isSeparateSymbolSearchTabs?Le:ce,isAllSearchSourcesSelected:B.isAllSearchSourcesSelected,allSearchSourcesTitle:h.isSeparateSymbolSearchTabs?TAB_SOURCE_FILTER_MAP[Ee.currentSymbolType]?.allSearchSourcesTitle:void 0,selectedSymbolType:me,setSelectedSymbolType:he,selectedIndex:be,setSelectedIndex:ye,onClose:t,setSymbolSearchContent:Ie,symbolSearchContent:Ee,searchRef:Re,cachedInputValue:le,searchSpreads:fe,setSearchSpreads:ve,handleListWidth:et,isSmallWidth:Ne,feedItems:We,isMobile:e,showSpreadActions:l,selectSearchOnInit:c,isTablet:r,selectedItem:Ue[be],forceUpdate:Me,placeholder:g,initialScreen:b,toggleExpand:Xe,openedItems:Fe,onSubmit:nt,onSearchComplete:m,footer:E,symbolTypes:G,contentItem:C,searchInput:L,emptyState:R,autofocus:N,upperCaseEnabled:$t,externalInput:j,handleKeyDown:qe?void 0:rt,customSearchSymbols:He,searchSources:ke,selectedFilterValues:pe,setSelectedFilterValues:ge,filterQueryParams:Ke,symbolSearchState:Se,setSymbolSearchState:xe,onEmptyResults:void 0,overrideQueryParams:W,getFiltersBySymbolType:Ce,showRecents:z,searchInitiationPoint:H}),$e=_??$,je=w??"div";return s.createElement(je,null,s.createElement(S.MatchMediaMap,{rules:x.DialogBreakpoints},(({TabletSmall:e,TabletNormal:n})=>s.createElement(I.SymbolSearchItemsDialogContext.Provider,{value:Ge(e,n)},s.createElement(Ze,{..."exchange"===X?{title:u.t(null,void 0,r(28628)),dataName:"exchanges-search",render:()=>s.createElement($e,{searchSources:Ee.currentTabAvailableSearchSources}),additionalHeaderElement:s.createElement(At.BackButton,{onClick:()=>Y("symbolSearch"),className:Ht.backButton,size:"medium","aria-label":u.t(null,{context:"input"},r(41256)),preservePaddings:!0,flipIconOnRtl:(0,Te.isRtl)()}),additionalElementPos:"before"}:{title:p,dataName:"symbol-search-items-dialog",render:()=>s.createElement(_t,null),additionalElementPos:"after"},shouldReturnFocus:O,fullScreen:f,onClose:t,onClickOutside:t,onKeyDown:qe?void 0:rt,isOpened:!0})))));function Je(e,t,r){if(e.contracts)return e.contracts.length?void Ye(e,e.contracts[0],t,r):void Xe(Yt(e));Ye(e,void 0,t,r)}function Xe(e){const t=new Set(Fe);t.has(e)?t.delete(e):t.add(e),_e(t)}function Ye(e,r,n,o){const a=r||e,{exchange:l}=e;if(d.enabled("show_spread_operators")){const e={name:a.symbol,
|
||||||
|
exchange:l,prefix:a.prefix,fullName:a.full_name};if(fe)return tt(e),void Me();if(Re.current&&Re.current.value.includes(","))return void tt(e)}ot([{resolved:!0,symbol:Pt.QualifiedSources.fromSymbolSearchResult(e,r),result:a}],n,o),t()}function et(e){Be("fixed"===M||e<=640)}function tt(e){if(!Re.current)return;const[t,r]=v(Re.current,e,$t);Re.current.value=t,Re.current.setSelectionRange(r,r),Re.current.focus()}function rt(e){if(e.target&&e.target!==Re.current)return;const r=(0,se.hashFromEvent)(e);switch(r){case 13:e.preventDefault(),nt(!0);break;case 27:if(e.preventDefault(),"exchange"===X)return void Y("symbolSearch");if("options"===X)return Y("symbolSearch"),te(null),void ae(null);t()}switch((0,T.mapKeyCodeToDirection)(r)){case"blockPrev":if(e.preventDefault(),0===be||"good"!==Se)return;if(-1===be)return void ye(0);ye(be-1);break;case"blockNext":if(e.preventDefault(),be===We.length-1||"good"!==Se)return;ye(be+1);break;case"inlinePrev":{if(-1===be)return;const t=We[be],{id:r,isOffset:n,onExpandClick:o}=t;if(!n&&r&&Fe.has(r)&&Boolean(o)&&!Boolean(F)&&(e.preventDefault(),Xe(r)),o)return void F?.(e,!0);break}case"inlineNext":{if(-1===be)return;const t=We[be],{id:r,isOffset:n,onExpandClick:o}=t;if(n||!r||Fe.has(r)||!Boolean(o)||Boolean(F)||(e.preventDefault(),Xe(r)),o)return void F?.(e,!0);break}}F?.(e)}function nt(e){if(!Re.current)return;let r=Re.current.value;if(d.enabled("show_spread_operators")&&fe&&r){const n=We[be];if(n&&void 0!==n.isExpanded&&(n.onClick(),r=Re.current.value),r.includes(",")){return ot(er(r).map(Jt),null),void(e&&t())}return ot([{symbol:$t?r.toUpperCase():r,resolved:!1}],null),void(e&&t())}if(r.includes(","))return ot(er(r).map(Jt),null),void(e&&t());if(-1!==be){We[be].onClick()}else if(d.enabled("allow_arbitrary_symbol_search_input")){const n=$t?r.toUpperCase():r;if(n&&""!==n.trim()){const e=er(n);if(Zt||void 0===De||-1!==n.indexOf(":")){ot(e.map(Jt),null)}else(function(e){let t=!1;return Promise.all(e.map((e=>-1!==e.indexOf(":")||t?Promise.resolve({symbol:e,resolved:!1}):(t=!0,async function(e){await(Ae?.accountMetainfo());const t=void 0,r=await oe({strictMatch:!0,serverHighlight:!1,text:e,lang:window.language||"",brokerId:De,onlyTradable:!0,unhideSymbolSearchGroups:Pe,exchange:t});if(0!==r.symbols.length){const e=r.symbols[0],{contracts:t}=e,n=t&&t.length>0?t[0]:void 0,o=e.prefix||e.exchange,a=n?n.symbol:e.symbol;if(o&&a)return{symbol:Pt.QualifiedSources.fromSymbolSearchResult(e,n),resolved:!0,result:e}}return{symbol:e,resolved:!1}}(e)))))})(e).then((e=>ot(e,null)))}e&&t()}else if("empty"!==Se&&We.length>0){We[0].onClick()}}async function ot(e,t,r){const[{result:n,symbol:o,resolved:a}]=e,l=Re.current?.value,s=!r||(0,zt.isKeyboardClick)(r);let i=fe;void 0!==n&&ne(n)&&(i="spread"===n.type),m(e,{symbolType:me,isKeyboardEvent:s,numberInList:t,inputValue:l,isSpread:i})}}function Jt(e){return{symbol:$t?e.toUpperCase():e,resolved:!1}}function Xt(e,t){const{broker_symbol:r,symbol:n,description:o}=e;return`${"spread"===e.type?o:n}${t&&r?` (${r})`:""}`}function Yt(e){
|
||||||
|
return e.symbol+e.exchange+e.description}function er(e){return e.split(",").map((e=>e.trim())).filter((e=>""!==e))}function tr(e){const{isMobile:t,isTablet:r}=(0,A.useEnsuredContext)(I.SymbolSearchItemsDialogContext);return s.createElement(w.AdaptivePopupDialog,{...e,className:c()(Ht.dialog,!t&&(r?Ht.tabletDialog:Ht.desktopDialog)),backdrop:!0,draggable:!1})}function rr(e,t){return null}},81319:(e,t,r)=>{"use strict";r.d(t,{createGroupColumns:()=>h,exchangeSelectDisabled:()=>m,getAllSymbolTypesValue:()=>d,getAvailableSearchSources:()=>c,getAvailableSymbolTypes:()=>u,getDefaultSearchSource:()=>i,getSymbolFullName:()=>s,isOptionDefaultValue:()=>g,isSeparateSymbolSearchTabs:()=>p});var n=r(11542),o=r(20882);class a{constructor(e){this._exchange=e}value(){return this._exchange.value}name(){return(0,o.isAllSearchSourcesSelected)(this)?n.t(null,void 0,r(34040)):this._exchange.name}description(){return this._exchange.desc}country(){return this._exchange.country}providerId(){return this._exchange.providerId}group(){return this._exchange.group}includes(e){return function(e,t){const r=t.toLowerCase(),{name:n,desc:o,searchTerms:a}=e;return n.toLowerCase().includes(r)||o.toLowerCase().includes(r)||void 0!==a&&a.some((e=>e.toLowerCase().includes(r)))}(this._exchange,e)}getRequestExchangeValue(){return this._exchange.value}getRequestCountryValue(){}}var l=r(3685);function s(e){if(e.fullName)return e.fullName;let t;return t=e.prefix||e.exchange?(e.prefix||e.exchange)+":"+e.name:e.name,t.replace(/<\/?[^>]+(>|$)/g,"")}function i(){const e=c();return e.find(o.isAllSearchSourcesSelected)||e[0]||null}function c(){return(0,o.createSearchSources)(a,(0,l.getExchanges)())}function u(){return window.ChartApiInstance.supportedSymbolsTypes()}function d(){return""}function m(e){return!!p&&!TAB_SOURCE_FILTER_MAP[e]}function h(e,t=2){if(0===e.length)return[];if(1===t)return[e];const r=Math.floor(e.length/2)+e.length%2;return[e.slice(0,r),e.slice(r)].filter((e=>e.length>0))}const p=!1;function g(e){return"string"!=typeof e}},82708:(e,t,r)=>{"use strict";r.d(t,{safeShortName:()=>o});var n=r(59149);function o(e){try{return(0,n.shortName)(e)}catch(t){return e}}},44254:(e,t,r)=>{"use strict";r.d(t,{factorOutBraces:()=>h,getTokenAtPos:()=>m,isBinaryOperator:()=>u,isSpread:()=>d,parseToken:()=>g,shortName:()=>p,symbolTokenEscapeRe:()=>l,tokenize:()=>c});var n,o=r(18429);!function(e){e.Symbol="symbol",e.IncompleteSymbol="incompleteSymbol",e.Number="number",e.IncompleteNumber="incompleteNumber",e.SeparatorPrefix="separatorPrefix",e.OpenBrace="openBrace",e.CloseBrace="closeBrace",e.Plus="plus",e.Minus="minus",e.Multiply="multiply",e.Divide="divide",e.Power="power",e.Whitespace="whitespace",e.Unparsed="unparsed"}(n||(n={}));const a=/(?:[^-+\/*^\s]'|[a-zA-Z0-9_\u0370-\u1FFF_\u2E80-\uFFFF^])(?:[^-+\/*^\s]'|[a-zA-Z0-9_\u0020\u0370-\u1FFF_\u2E80-\uFFFF_!:.&])*|'.+?'/,l=/[+\-/*]/,s=(e=!1)=>({number:e?/\d+(?:\.\d*|(?![a-zA-Z0-9_!:.&]))(?:\s*(?=\s*$))?|\.\d+(?:\s*(?=\s*$))?/:/\d+(?:\.\d*|(?![a-zA-Z0-9_!:.&]))|\.\d+/,incompleteNumber:/\./,symbol:a,
|
||||||
|
incompleteSymbol:/'[^']*/,separatorPrefix:o.SEPARATOR_PREFIX,openBrace:"(",closeBrace:")",plus:"+",minus:"-",multiply:"*",divide:"/",power:"^",whitespace:/[\0-\x20\s]+/,unparsed:null}),i=(e=s())=>new RegExp(Object.values(e).map((e=>{return null===e?"":`(${"string"==typeof e?(t=e,t.replace(/[\^$()[\]{}*+?|\\]/g,"\\$&")):e.source})`;var t})).filter((e=>""!==e)).concat(".").join("|"),"g");function c(e,t=s()){if(!e)return[];const r=[],n=Object.keys(t);let o;const a=i(t);for(;o=a.exec(e);){let e=!1;for(let t=n.length;t--;)if(o[t+1]){n[t]&&r.push({value:o[t+1],type:n[t],precedence:0,offset:o.index}),e=!0;break}e||r.push({value:o[0],type:"unparsed",precedence:0,offset:o.index})}return r}function u(e){return"plus"===e||"minus"===e||"multiply"===e||"divide"===e||"power"===e}function d(e){return e.length>1&&e.some((e=>u(e.type)))}function m(e,t){for(let r=0;r<e.length;r++){const n=e[r],o="symbol"===n.type||"incompleteSymbol"===n.type||"number"===n.type;if(n.offset<=t&&t<=n.offset+n.value.length&&o)return n}return null}function h(e){e=function(e){const t=[];for(const r of e)"whitespace"!==r.type&&t.push(r);return t}(e);const t=[],r=[];let n;for(let o=0;o<e.length;o++){const a=e[o];switch(a.type){case"plus":case"minus":case"multiply":case"divide":case"power":r.length&&r[r.length-1].minPrecedence>a.precedence&&(r[r.length-1].minPrecedence=a.precedence);break;case"openBrace":n={minPrecedence:1/0,openBraceIndex:o},r.push(n);break;case"closeBrace":{if(n=r.pop(),!n)break;const a=e[n.openBraceIndex-1],l=e[o+1],s=a&&("plus"===a.type||"multiply"===a.type);(!u(l?.type)||l?.precedence<=n.minPrecedence)&&(!u(a?.type)||a?.precedence<n?.minPrecedence||a?.precedence===n?.minPrecedence&&s)&&(t.unshift(n.openBraceIndex),t.push(o),r.length&&r[r.length-1].minPrecedence>n.minPrecedence&&(r[r.length-1].minPrecedence=n.minPrecedence))}}}for(let r=t.length;r--;)e.splice(t[r],1);return e}function p(e){return h(c(e)).reduce(((e,t)=>{if("symbol"!==t.type)return e+t.value;const[,r]=g(t);return r?e+r:e}),"")}function g(e){const t=/^'?(?:([A-Z0-9_]+):)?(.*?)'?$/i.exec(e.value);return null===t?[void 0,void 0]:[t[1],t[2]]}},618:(e,t,r)=>{"use strict";r.d(t,{removeUsdFromCryptoPairLogos:()=>l,resolveLogoUrls:()=>a});var n=r(36279);const o=(0,n.getLogoUrlResolver)();function a(e,t=n.LogoSize.Medium){const r=e.logoid,a=e["base-currency-logoid"],l=e["currency-logoid"],s=r&&o.getSymbolLogoUrl(r,t);if(s)return[s];const i=a&&o.getSymbolLogoUrl(a,t),c=l&&o.getSymbolLogoUrl(l,t);return i&&c?[i,c]:i?[i]:c?[c]:[]}function l(e){return 2!==e.length?e:function(e){return e.some((e=>s(e)))}(e)&&!function(e){return e.some((e=>e.includes("country")&&!s(e)))}(e)?e.filter((e=>!s(e))):e}function s(e){return!1}},39330:(e,t,r)=>{"use strict";r.d(t,{getBlockStyleClasses:()=>i,getLogoStyleClasses:()=>c});var n=r(97754),o=r.n(n),a=r(52292),l=r(37643),s=r.n(l);function i(e,t){return o()(s().pair,s()[e],t)}function c(e,t=2,r=!0){return o()(s().logo,s()[e],s().skeleton,a.skeletonTheme.wrapper,!r&&s().empty,1===t&&o()(a.skeletonTheme.animated))}},58492:(e,t,r)=>{"use strict";r.d(t,{
|
||||||
|
getStyleClasses:()=>n.getStyleClasses});var n=r(53885)},97006:(e,t,r)=>{"use strict";r.d(t,{createRegExpList:()=>s,getHighlightedChars:()=>i,rankedSearch:()=>l});var n=r(87465);function o(e){return e.replace(/[!-/[-^{-}?]/g,"\\$&")}var a;function l(e){const{data:t,rules:r,queryString:o,isPreventedFromFiltering:a,primaryKey:l,secondaryKey:s=l,optionalPrimaryKey:i,tertiaryKey:c}=e;return t.map((e=>{const t=i&&e[i]?e[i]:e[l],a=e[s],u=c&&e[c];let d,m=0;return r.forEach((e=>{const{re:r,fullMatch:l}=e;if(r.lastIndex=0,(0,n.isString)(t)&&t&&t.toLowerCase()===o.toLowerCase())return m=4,void(d=t.match(l)?.index);if((0,n.isString)(t)&&l.test(t))return m=3,void(d=t.match(l)?.index);if((0,n.isString)(a)&&l.test(a))return m=2,void(d=a.match(l)?.index);if((0,n.isString)(a)&&r.test(a))return m=2,void(d=a.match(r)?.index);if(Array.isArray(u))for(const e of u)if(l.test(e))return m=1,void(d=e.match(l)?.index)})),{matchPriority:m,matchIndex:d,item:e}})).filter((e=>a||e.matchPriority)).sort(((e,t)=>{if(e.matchPriority<t.matchPriority)return 1;if(e.matchPriority>t.matchPriority)return-1;if(e.matchPriority===t.matchPriority){if(void 0===e.matchIndex||void 0===t.matchIndex)return 0;if(e.matchIndex>t.matchIndex)return 1;if(e.matchIndex<t.matchIndex)return-1}return 0})).map((({item:e})=>e))}function s(e,t){const r=[],n=e.toLowerCase(),a=e.split("").map(((e,t)=>`(${0!==t?`[/\\s-]${o(e)}`:o(e)})`)).join("(.*?)")+"(.*)";return r.push({fullMatch:new RegExp(`(${o(e)})`,"i"),re:new RegExp(`^${a}`,"i"),reserveRe:new RegExp(a,"i"),fuzzyHighlight:!0}),t&&t.hasOwnProperty(n)&&r.push({fullMatch:t[n],re:t[n],fuzzyHighlight:!1}),r}function i(e,t,r){const n=[];return e&&r?(r.forEach((e=>{const{fullMatch:r,re:o,reserveRe:a}=e;r.lastIndex=0,o.lastIndex=0;const l=r.exec(t),s=l||o.exec(t)||a&&a.exec(t);if(e.fuzzyHighlight=!l,s)if(e.fuzzyHighlight){let e=s.index;for(let t=1;t<s.length;t++){const r=s[t],o=s[t].length;if(t%2){const t=r.startsWith(" ")||r.startsWith("/")||r.startsWith("-");n[t?e+1:e]=!0}e+=o}}else for(let e=0;e<s[0].length;e++)n[s.index+e]=!0})),n):n}!function(e){e[e.Low=0]="Low",e[e.MediumLow=1]="MediumLow",e[e.Medium=2]="Medium",e[e.High=3]="High",e[e.Highest=4]="Highest"}(a||(a={}))},24637:(e,t,r)=>{"use strict";r.d(t,{HighlightedText:()=>s});var n=r(50959),o=r(97754),a=r(97006),l=r(68222);function s(e){const{queryString:t,rules:r,text:s,className:i}=e,c=(0,n.useMemo)((()=>(0,a.getHighlightedChars)(t,s,r)),[t,r,s]);return n.createElement(n.Fragment,null,c.length?s.split("").map(((e,t)=>n.createElement(n.Fragment,{key:t},c[t]?n.createElement("span",{className:o(l.highlighted,i)},e):n.createElement("span",null,e)))):s)}},78036:(e,t,r)=>{"use strict";r.d(t,{useEnsuredContext:()=>a});var n=r(50959),o=r(50151);function a(e){return(0,o.ensureNotNull)((0,n.useContext)(e))}},46043:(e,t,r)=>{"use strict";r.d(t,{useForceUpdate:()=>n.useForceUpdate});var n=r(125)},29006:(e,t,r)=>{"use strict";r.d(t,{useResizeObserver:()=>n.useResizeObserver});var n=r(67842)},77975:(e,t,r)=>{"use strict";r.d(t,{useWatchedValueReadonly:()=>o});var n=r(50959)
|
||||||
|
;const o=(e,t=!1,r=[])=>{const o="watchedValue"in e?e.watchedValue:void 0,a="defaultValue"in e?e.defaultValue:e.watchedValue.value(),[l,s]=(0,n.useState)(o?o.value():a);return(t?n.useLayoutEffect:n.useEffect)((()=>{if(o){s(o.value());const e=e=>s(e);return o.subscribe(e),()=>o.unsubscribe(e)}return()=>{}}),[o,...r]),l}},84877:(e,t,r)=>{"use strict";r.d(t,{MatchMediaMap:()=>l});var n=r(50959),o=r(66783),a=r.n(o);class l extends n.Component{constructor(e){super(e),this._handleMediaChange=()=>{const e=i(this.state.queries,((e,t)=>t.matches));let t=!1;for(const r in e)if(e.hasOwnProperty(r)&&this.state.matches[r]!==e[r]){t=!0;break}t&&this.setState({matches:e})};const{rules:t}=this.props;this.state=s(t)}shouldComponentUpdate(e,t){return!a()(e,this.props)||(!a()(t.rules,this.state.rules)||!a()(t.matches,this.state.matches))}componentDidMount(){this._migrate(null,this.state.queries)}componentDidUpdate(e,t){a()(e.rules,this.props.rules)||this._migrate(t.queries,this.state.queries)}componentWillUnmount(){this._migrate(this.state.queries,null)}render(){return this.props.children(this.state.matches)}static getDerivedStateFromProps(e,t){if(a()(e.rules,t.rules))return null;const{rules:r}=e;return s(r)}_migrate(e,t){null!==e&&i(e,((e,t)=>{t.removeEventListener("change",this._handleMediaChange)})),null!==t&&i(t,((e,t)=>{t.addEventListener("change",this._handleMediaChange)}))}}function s(e){const t=i(e,((e,t)=>window.matchMedia(t)));return{queries:t,matches:i(t,((e,t)=>t.matches)),rules:{...e}}}function i(e,t){const r={};for(const n in e)e.hasOwnProperty(n)&&(r[n]=t(n,e[n]));return r}},63932:(e,t,r)=>{"use strict";r.d(t,{Spinner:()=>c});var n=r(50959),o=r(97754),a=r.n(o),l=r(58096),s=(r(40987),r(53895)),i=r.n(s);function c(e){const{ariaLabel:t,ariaLabelledby:r,className:o,style:s,size:c,id:u,disableSelfPositioning:d}=e;return n.createElement("div",{className:a()(o,"tv-spinner","tv-spinner--shown",`tv-spinner--size_${l.spinnerSizeMap[c||l.DEFAULT_SIZE]}`,d&&i().disableSelfPositioning),style:s,role:"progressbar",id:u,"aria-label":t,"aria-labelledby":r})}},10381:(e,t,r)=>{"use strict";r.d(t,{ToolWidgetCaret:()=>i});var n=r(50959),o=r(97754),a=r(9745),l=r(86186),s=r(578);function i(e){const{dropped:t,className:r}=e;return n.createElement(a.Icon,{className:o(r,l.icon,{[l.dropped]:t}),icon:s})}},99343:e=>{e.exports={button:"button-GwQQdU8S",pressed:"pressed-GwQQdU8S",hover:"hover-GwQQdU8S",clicked:"clicked-GwQQdU8S",isInteractive:"isInteractive-GwQQdU8S",accessible:"accessible-GwQQdU8S",isGrouped:"isGrouped-GwQQdU8S",isActive:"isActive-GwQQdU8S",isOpened:"isOpened-GwQQdU8S",isDisabled:"isDisabled-GwQQdU8S",text:"text-GwQQdU8S",icon:"icon-GwQQdU8S",endIcon:"endIcon-GwQQdU8S"}},79619:e=>{e.exports={title:"title-u3QJgF_p"}},46003:(e,t,r)=>{"use strict";r.d(t,{DEFAULT_TOOL_WIDGET_BUTTON_THEME:()=>s,ToolWidgetButton:()=>i});var n=r(50959),o=r(97754),a=r(9745),l=r(99343);const s=l,i=n.forwardRef(((e,t)=>{
|
||||||
|
const{tag:r="div",icon:s,endIcon:i,isActive:c,isOpened:u,isDisabled:d,isDisabledAppearance:m,isGrouped:h,isHovered:p,isClicked:g,onClick:f,text:v,textBeforeIcon:b,title:y,theme:S=l,className:x,forceInteractive:w,"data-name":k,"data-tooltip":C,tooltipPosition:E,children:I,isPressed:L,...R}=e,T=o(x,S.button,{"apply-common-tooltip":Boolean(y||C),"common-tooltip-vertical":Boolean(C)&&"vertical"===E,[S.isActive]:c,[S.isOpened]:u,[S.isInteractive]:(w||Boolean(f))&&!d&&!m,[S.isDisabled]:Boolean(d||m),[S.isGrouped]:h,[S.hover]:p,[S.clicked]:g,[S.pressed]:L}),N=s&&("string"==typeof s?n.createElement(a.Icon,{className:S.icon,icon:s}):n.cloneElement(s,{className:o(S.icon,s.props.className)}));return"button"===r?n.createElement("button",{...R,ref:t,type:"button",className:o(T,S.accessible),disabled:d&&!m,onClick:f,title:y,"data-name":k,"data-tooltip":C},b&&v&&n.createElement("div",{className:o("js-button-text",S.text)},v),N,!b&&v&&n.createElement("div",{className:o("js-button-text",S.text)},v),I):n.createElement("div",{...R,ref:t,"data-role":"button",className:T,onClick:d?void 0:f,title:y,"data-name":k,"data-tooltip":C},b&&v&&n.createElement("div",{className:o("js-button-text",S.text)},v),N,!b&&v&&n.createElement("div",{className:o("js-button-text",S.text)},v),i&&n.createElement(a.Icon,{icon:i,className:l.endIcon}),I)}))},43845:(e,t,r)=>{"use strict";r.d(t,{ToolWidgetMenuSummary:()=>l});var n=r(50959),o=r(97754),a=r(79619);function l(e){return n.createElement("div",{className:o(e.className,a.title)},e.children)}},97514:(e,t,r)=>{"use strict";r.d(t,{VISIBLE_TYPESPECS:()=>l,marketType:()=>s});var n=r(11542);const o=new Map([["cfd",()=>n.t(null,void 0,r(79599))],["dr",()=>n.t(null,void 0,r(47268))],["index",()=>n.t(null,void 0,r(87464))],["forex",()=>n.t(null,void 0,r(17770))],["right",()=>n.t(null,{context:"symbol_type"},r(53174))],["bond",()=>n.t(null,void 0,r(42358))],["bitcoin",()=>n.t(null,void 0,r(46128))],["crypto",()=>n.t(null,void 0,r(46128))],["economic",()=>n.t(null,void 0,r(54094))],["indices",()=>n.t(null,void 0,r(90250))],["futures",()=>n.t(null,void 0,r(4723))],["stock",()=>n.t(null,void 0,r(76752))],["commodity",()=>n.t(null,void 0,r(70932))]]);r(40167);const a=new Map,l=new Set(["cfd","spreadbet","defi","yield","government","corporate","mutual","money","etf","unit","trust","reit","etn","convertible","closedend","crypto","oracle","ndf"]);function s(e,t=[],r=!0){const n=t.filter((e=>l.has(e))),s=`${e}_${n.sort().join("_")}`,i=a.get(s);if(void 0!==i)return i;const c=r?function(e){return o.get(e)?.()||e}(e):e,u=Boolean(t.length)?[c,...n].join(" "):c;return a.set(s,u),u}},52019:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M13.35 5.35a.5.5 0 0 0-.7-.7L9 8.29 5.35 4.65a.5.5 0 1 0-.7.7L8.29 9l-3.64 3.65a.5.5 0 0 0 .7.7L9 9.71l3.65 3.64a.5.5 0 0 0 .7-.7L9.71 9l3.64-3.65z"/></svg>'},89882:e=>{
|
||||||
|
e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M5 9a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm6 0a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm4 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/></svg>'},2057:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" d="M9 14a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm8 0a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm5 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/></svg>'},95694:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.2" d="M17 22.5 6.85 12.35a.5.5 0 0 1 0-.7L17 1.5"/></svg>'},49498:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.2" d="M12 16.5 4.85 9.35a.5.5 0 0 1 0-.7L12 1.5"/></svg>'},60176:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" width="14" height="14" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.2" d="M9.5 12.5 3.9 7.37a.5.5 0 0 1 0-.74L9.5 1.5"/></svg>'},35369:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" width="12" height="12" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.2" d="M8 10.5 3.85 6.35a.5.5 0 0 1 0-.7L8 1.5"/></svg>'},58478:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" width="10" height="10" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.2" d="M7 8.5 3.85 5.35a.5.5 0 0 1 0-.7L7 1.5"/></svg>'},73063:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M17 22.5 6.85 12.35a.5.5 0 0 1 0-.7L17 1.5"/></svg>'},14127:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M12 16.5 4.85 9.35a.5.5 0 0 1 0-.7L12 1.5"/></svg>'},18073:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" width="14" height="14" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M9.5 12.5 3.9 7.37a.5.5 0 0 1 0-.74L9.5 1.5"/></svg>'},99243:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" width="12" height="12" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M8 10.5 3.85 6.35a.5.5 0 0 1 0-.7L8 1.5"/></svg>'},42576:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" width="10" height="10" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M7 8.5 3.85 5.35a.5.5 0 0 1 0-.7L7 1.5"/></svg>'},578:e=>{
|
||||||
|
e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 8" width="16" height="8"><path fill="currentColor" d="M0 1.475l7.396 6.04.596.485.593-.49L16 1.39 14.807 0 7.393 6.122 8.58 6.12 1.186.08z"/></svg>'},91540:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><path stroke="currentColor" d="M2.5 14.5c1.68-1.26 3.7-2 6.5-2s4.91.74 6.5 2m-13-11c1.68 1.26 3.7 2 6.5 2s4.91-.74 6.5-2"/><circle stroke="currentColor" cx="9" cy="9" r="8.5"/><path stroke="currentColor" d="M13.5 9c0 2.42-.55 4.58-1.4 6.12-.87 1.56-1.98 2.38-3.1 2.38s-2.23-.82-3.1-2.38c-.85-1.54-1.4-3.7-1.4-6.12s.55-4.58 1.4-6.12C6.77 1.32 7.88.5 9 .5s2.23.82 3.1 2.38c.85 1.54 1.4 3.7 1.4 6.12z"/></svg>'},66619:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120" width="120" height="120"><path fill="#B2B5BE" fill-rule="evenodd" d="M23 39a36 36 0 0 1 72 0v13.15l15.1 8.44 2.16 1.2-1.64 1.86-12.85 14.59 3.73 4.03L98.57 85 95 81.13V117H77v-12H67v9H50V95H40v22H23V81.28l-3.8 3.61-2.76-2.9 4.05-3.84-12.77-14.5-1.64-1.86 2.16-1.2L23 52.34V39Zm72 36.33 10.98-12.46L95 56.73v18.6ZM23 56.92v18.03L12.35 62.87 23 56.92ZM59 7a32 32 0 0 0-32 32v74h9V91h18v19h9v-9h18v12h10V39A32 32 0 0 0 59 7Zm-7 36a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm19 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"/></svg>'},67562:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120" width="120" height="120"><path fill="#131722" fill-rule="evenodd" d="M23 39a36 36 0 0 1 72 0v13.15l15.1 8.44 2.16 1.2-1.64 1.86-12.85 14.59 3.73 4.03L98.57 85 95 81.13V117H77v-12H67v9H50V95H40v22H23V81.28l-3.8 3.61-2.76-2.9 4.05-3.84-12.77-14.5-1.64-1.86 2.16-1.2L23 52.34V39Zm72 36.33 10.98-12.46L95 56.73v18.6ZM23 56.92v18.03L12.35 62.87 23 56.92ZM59 7a32 32 0 0 0-32 32v74h9V91h18v19h9v-9h18v12h10V39A32 32 0 0 0 59 7Zm-7 36a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm19 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"/></svg>'},69533:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none"><path stroke="currentColor" d="M8 5l3.5 3.5L8 12"/></svg>'},486:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13"><path fill="none" stroke="currentColor" stroke-linecap="square" d="M2.5 6.5h9"/><circle fill="currentColor" cx="7" cy="3" r="1"/><circle fill="currentColor" cx="7" cy="10" r="1"/></svg>'},63861:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13"><g fill="none" fill-rule="evenodd" stroke="currentColor"><path stroke-linecap="square" stroke-linejoin="round" d="M3.5 10V2.5L1 5"/><path stroke-linecap="square" d="M1.5 10.5h4"/><path d="M8 12l3-11"/></g></svg>'},81574:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13"><path fill="none" stroke="currentColor" stroke-linecap="square" d="M2.5 6.5h8"/></svg>'},32617:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13"><path fill="none" stroke="currentColor" stroke-linecap="square" d="M3 10l7-7M3 3l7 7"/></svg>'},
|
||||||
|
35119:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13"><path fill="none" stroke="currentColor" stroke-linecap="square" d="M2.5 6.5h8m-4-4v8"/></svg>'},69135:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13"><path fill="none" stroke="currentColor" stroke-linecap="square" d="M3 7l3.5-3.5L10 7"/></svg>'},54313:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" fill-rule="evenodd" d="M18.5 12.5a6 6 0 1 1-12 0 6 6 0 0 1 12 0Zm-1.25 5.8a7.5 7.5 0 1 1 1.06-1.06l4.22 4.23.53.53L22 23.06l-.53-.53-4.22-4.22Z"/></svg>'},6347:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28" fill="none"><path stroke="currentColor" d="M17.4 17.5a7 7 0 1 0-4.9 2c1.9 0 3.64-.76 4.9-2zm0 0l5.1 5"/></svg>'}}]);
|
||||||
7
charting_library/bundles/2477.44f2c96353966357ded8.js
Normal file
7
charting_library/bundles/2477.44f2c96353966357ded8.js
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[2477],{97754:(e,t)=>{var n;!function(){"use strict";var s={}.hasOwnProperty;function r(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var i=typeof n;if("string"===i||"number"===i)e.push(n);else if(Array.isArray(n)&&n.length){var o=r.apply(null,n);o&&e.push(o)}else if("object"===i)for(var a in n)s.call(n,a)&&n[a]&&e.push(a)}}return e.join(" ")}e.exports?(r.default=r,e.exports=r):void 0===(n=function(){return r}.apply(t,[]))||(e.exports=n)}()},17946:(e,t,n)=>{"use strict";n.d(t,{CustomBehaviourContext:()=>s});const s=(0,n(50959).createContext)({enableActiveStateStyles:!0});s.displayName="CustomBehaviourContext"},43010:(e,t,n)=>{"use strict";n.d(t,{useIsomorphicLayoutEffect:()=>r});var s=n(50959);function r(e,t){("undefined"==typeof window?s.useEffect:s.useLayoutEffect)(e,t)}},27267:(e,t,n)=>{"use strict";function s(e,t,n,s,r){function i(r){if(e>r.timeStamp)return;const i=r.target;void 0!==n&&null!==t&&null!==i&&i.ownerDocument===s&&(t.contains(i)||n(r))}return r.click&&s.addEventListener("click",i,!1),r.mouseDown&&s.addEventListener("mousedown",i,!1),r.touchEnd&&s.addEventListener("touchend",i,!1),r.touchStart&&s.addEventListener("touchstart",i,!1),()=>{s.removeEventListener("click",i,!1),s.removeEventListener("mousedown",i,!1),s.removeEventListener("touchend",i,!1),s.removeEventListener("touchstart",i,!1)}}n.d(t,{addOutsideEventListener:()=>s})},9745:(e,t,n)=>{"use strict";n.d(t,{Icon:()=>r});var s=n(50959);const r=s.forwardRef(((e,t)=>{const{icon:n="",title:r,ariaLabel:i,ariaLabelledby:o,ariaHidden:a,...l}=e,u=!!(r||i||o);return s.createElement("span",{role:"img",...l,ref:t,"aria-label":i,"aria-labelledby":o,"aria-hidden":a||!u,title:r,dangerouslySetInnerHTML:{__html:n}})}))},19250:(e,t,n)=>{"use strict";n.d(t,{Portal:()=>u,PortalContext:()=>d});var s=n(50959),r=n(32227),i=n(25931),o=n(67961),a=n(34811),l=n(99663);class u extends s.PureComponent{constructor(){super(...arguments),this._uuid=(0,i.nanoid)()}componentWillUnmount(){this._manager().removeWindow(this._uuid)}render(){const e=this._manager().ensureWindow(this._uuid,this.props.layerOptions);e.style.top=this.props.top||"",e.style.bottom=this.props.bottom||"",e.style.left=this.props.left||"",e.style.right=this.props.right||"",e.style.pointerEvents=this.props.pointerEvents||"";const t=this.props.className;return t&&("string"==typeof t?e.classList.add(t):e.classList.add(...t)),this.props.shouldTrapFocus&&!e.hasAttribute(a.FOCUS_TRAP_DATA_ATTRIBUTE)&&e.setAttribute(a.FOCUS_TRAP_DATA_ATTRIBUTE,"true"),this.props["aria-hidden"]&&e.setAttribute("aria-hidden","true"),r.createPortal(s.createElement(d.Provider,{value:this},this.props.children),e)}moveToTop(){this._manager().moveToTop(this._uuid)}_manager(){return null===this.context?(0,o.getRootOverlapManager)():this.context}}u.contextType=l.SlotContext;const d=s.createContext(null)},99663:(e,t,n)=>{"use strict";n.d(t,{Slot:()=>r,SlotContext:()=>i});var s=n(50959);class r extends s.Component{shouldComponentUpdate(){return!1}
|
||||||
|
render(){return s.createElement("div",{style:{position:"fixed",zIndex:150,left:0,top:0},ref:this.props.reference})}}const i=s.createContext(null)},90186:(e,t,n)=>{"use strict";function s(e){return i(e,o)}function r(e){return i(e,a)}function i(e,t){const n=Object.entries(e).filter(t),s={};for(const[e,t]of n)s[e]=t;return s}function o(e){const[t,n]=e;return 0===t.indexOf("data-")&&"string"==typeof n}function a(e){return 0===e[0].indexOf("aria-")}n.d(t,{filterAriaProps:()=>r,filterDataProps:()=>s,filterProps:()=>i,isAriaAttribute:()=>a,isDataAttribute:()=>o})},67961:(e,t,n)=>{"use strict";n.d(t,{OverlapManager:()=>o,getRootOverlapManager:()=>l});var s=n(50151),r=n(34811);class i{constructor(){this._storage=[]}add(e){this._storage.push(e)}remove(e){this._storage=this._storage.filter((t=>e!==t))}has(e){return this._storage.includes(e)}getItems(){return this._storage}}class o{constructor(e=document){this._storage=new i,this._windows=new Map,this._index=0,this._document=e,this._container=e.createDocumentFragment()}setContainer(e){const t=this._container,n=null===e?this._document.createDocumentFragment():e;!function(e,t){Array.from(e.childNodes).forEach((e=>{e.nodeType===Node.ELEMENT_NODE&&t.appendChild(e)}))}(t,n),this._container=n}registerWindow(e){this._storage.has(e)||this._storage.add(e)}ensureWindow(e,t={position:"fixed",direction:"normal"}){const n=this._windows.get(e);if(void 0!==n)return n;this.registerWindow(e);const s=this._document.createElement("div");if(s.style.position=t.position,s.style.zIndex=this._index.toString(),s.dataset.id=e,void 0!==t.index){const e=this._container.childNodes.length;if(t.index>=e)this._container.appendChild(s);else if(t.index<=0)this._container.insertBefore(s,this._container.firstChild);else{const e=this._container.childNodes[t.index];this._container.insertBefore(s,e)}}else"reverse"===t.direction?this._container.insertBefore(s,this._container.firstChild):this._container.appendChild(s);return this._windows.set(e,s),++this._index,s}unregisterWindow(e){this._storage.remove(e);const t=this._windows.get(e);void 0!==t&&(null!==t.parentElement&&t.parentElement.removeChild(t),this._windows.delete(e))}getZindex(e){const t=this.ensureWindow(e);return parseInt(t.style.zIndex||"0")}moveLastWindowToTop(){const e=this._storage.getItems(),t=e[e.length-1];t&&this.moveToTop(t)}moveToTop(e){if(this.getZindex(e)!==this._index){const t=this.ensureWindow(e);this._windows.forEach(((e,n)=>{e.hasAttribute(r.FOCUS_TRAP_DATA_ATTRIBUTE)&&e.setAttribute(r.FOCUS_TRAP_DATA_ATTRIBUTE,e===t?"true":"false")})),t.style.zIndex=(++this._index).toString()}}removeWindow(e){this.unregisterWindow(e)}}const a=new WeakMap;function l(e=document){const t=e.getElementById("overlap-manager-root");if(null!==t)return(0,s.ensureDefined)(a.get(t));{const t=new o(e),n=function(e){const t=e.createElement("div");return t.style.position="absolute",t.style.zIndex=150..toString(),t.style.top="0px",t.style.left="0px",t.id="overlap-manager-root",t.dataset.qaId="overlap-manager-root",t}(e);return a.set(n,t),t.setContainer(n),
|
||||||
|
e.body.appendChild(n),t}}var u;!function(e){e[e.BaseZindex=150]="BaseZindex"}(u||(u={}))},36279:(e,t,n)=>{"use strict";var s;n.d(t,{LogoSize:()=>s,getLogoUrlResolver:()=>o}),function(e){e[e.Medium=0]="Medium",e[e.Large=1]="Large"}(s||(s={}));class r{getSymbolLogoUrl(e){return e}collectSymbolLogoUrls(e,t){return[]}getCountryFlagUrl(){return""}getCryptoLogoUrl(e){return e}getProviderLogoUrl(e){return e}getSourceLogoUrl(e){return e}getBlockchainContractLogoUrl(e){return e}}let i;function o(){return i||(i=new r),i}},77975:(e,t,n)=>{"use strict";n.d(t,{useWatchedValueReadonly:()=>r});var s=n(50959);const r=(e,t=!1,n=[])=>{const r="watchedValue"in e?e.watchedValue:void 0,i="defaultValue"in e?e.defaultValue:e.watchedValue.value(),[o,a]=(0,s.useState)(r?r.value():i);return(t?s.useLayoutEffect:s.useEffect)((()=>{if(r){a(r.value());const e=e=>a(e);return r.subscribe(e),()=>r.unsubscribe(e)}return()=>{}}),[r,...n]),o}},4237:(e,t,n)=>{"use strict";var s=n(32227);t.createRoot=s.createRoot,s.hydrateRoot},47596:e=>{e.exports={wrapper:"wrapper-hPiAkrn3",timezone:"timezone-hPiAkrn3",largePadding:"largePadding-hPiAkrn3",sessionDayWrapper:"sessionDayWrapper-hPiAkrn3",nowWrapper:"nowWrapper-hPiAkrn3",now:"now-hPiAkrn3",sessionDay:"sessionDay-hPiAkrn3",weekDay:"weekDay-hPiAkrn3",sessionDaySegments:"sessionDaySegments-hPiAkrn3",timeMarkWrapper:"timeMarkWrapper-hPiAkrn3",timeMarkSegment:"timeMarkSegment-hPiAkrn3",timeMark:"timeMark-hPiAkrn3",timeMarkSegmentAlignByEnds:"timeMarkSegmentAlignByEnds-hPiAkrn3",segment:"segment-hPiAkrn3",small:"small-hPiAkrn3",start:"start-hPiAkrn3",end:"end-hPiAkrn3",active:"active-hPiAkrn3",green:"green-hPiAkrn3",orange:"orange-hPiAkrn3",blue:"blue-hPiAkrn3",gray:"gray-hPiAkrn3",tooltip:"tooltip-hPiAkrn3",time:"time-hPiAkrn3"}},1445:(e,t,n)=>{"use strict";n.d(t,{FullSessionScheduleRenderer:()=>A});var s=n(50959),r=n(97754),i=n(50151),o=n(11542),a=n(77975),l=n(4226),u=n(47596);const d=new WeakMap;function c(e){return d.has(e)||d.set(e,(0,l.randomHash)()),(0,i.ensureDefined)(d.get(e))}const m=new Map([[0,u.green],[1,u.orange],[2,u.blue],[3,u.gray]]),h=new Map([[0,o.t(null,void 0,n(80086))],[1,o.t(null,void 0,n(36018))],[2,o.t(null,void 0,n(73897))],[3,o.t(null,void 0,n(62464))]]),v=o.t(null,void 0,n(63538));var p;function f(e){const{segment:t,forceStart:n,forceEnd:i}=e,o=t.end.value-t.start.value,a=o<.03,l={left:100*t.start.value+"%",width:`calc(${100*o}% + ${a?2:0}px)`},d=r(u.segment,m.get(t.type),(n||t.start.isFirstOrLastPoint)&&u.start,(i||t.end.isFirstOrLastPoint)&&u.end,a&&u.small,"common-tooltip-html","apply-common-tooltip"),c=function(e,t){return`<div class="${u.tooltip}">\n\t\t<span class="${m.get(t)}">${h.get(t)}</span>\n\t\t<span class="${u.time}">${e}</span>\n\t</div>`}(t.tooltip,t.type);return s.createElement("div",{className:d,style:l,"data-tooltip":c})}function y(e){const{sessionDay:t}=e,n=t.entries.map(((e,n)=>s.createElement(f,{key:`${c(e)}Segment`,segment:e,forceStart:0===n&&3===e.type,forceEnd:n===t.entries.length-1&&3===e.type}))),i=r(u.sessionDay,t.isActive&&u.active)
|
||||||
|
;return s.createElement("div",{className:i},s.createElement("div",{className:u.weekDay},t.title),s.createElement("div",{className:u.sessionDaySegments},n))}function g(e){const{sessionDays:t,currentTimeMark:n}=e,i=[],o=parseInt(Object.keys(t).filter((e=>t[parseInt(e)].isActive))[0]),a=t[o].entries.filter((e=>e.start.value<=n&&e.end.value>=n))[0];if((a.start.isFirstOrLastPoint||3===a.type)&&i.push(a.start),(a.end.isFirstOrLastPoint||3===a.type)&&i.push(a.end),0===i.length)return null;i.sort(((e,t)=>e.value-t.value));const l=i.map((e=>s.createElement("div",{key:c(e),className:u.timeMark},e.title))),d=100*(2===i.length?i[1].value-i[0].value:0),m=r(d>12&&u.timeMarkSegmentAlignByEnds,u.timeMarkSegment);return s.createElement("div",{className:u.sessionDay},s.createElement("div",{className:u.weekDay}),s.createElement("div",{className:u.timeMarkWrapper},s.createElement("div",{className:m,style:{left:100*i[0].value+"%",width:`${d}%`}},l)))}function A(e){const{className:t,timezone:n,showAllDays:i,timeZoneClassName:o}=e,l=(0,a.useWatchedValueReadonly)({watchedValue:e.sessionDays}),d=(0,a.useWatchedValueReadonly)({watchedValue:e.now}),c=Object.values(l).filter((e=>e.isActive))[0],m=r(t,u.wrapper);return s.createElement("div",{className:m},s.createElement("div",{className:u.sessionDayWrapper},i?s.createElement(s.Fragment,null,Object.values(l).map(((e,t)=>s.createElement(y,{key:t,sessionDay:e})))):s.createElement(y,{sessionDay:c}),s.createElement("div",{className:u.nowWrapper},s.createElement("div",{className:u.now,style:{left:100*d+"%"}}))),s.createElement(g,{sessionDays:l,currentTimeMark:d}),s.createElement("div",{className:r(u.timezone,o,i&&u.largePadding)},`${v}: ${n}`))}!function(e){e[e.MinSegmentWidth=12]="MinSegmentWidth",e[e.SmallWidth=.03]="SmallWidth"}(p||(p={}))},22166:(e,t,n)=>{"use strict";n.d(t,{FullSessionScheduleViewModel:()=>G});var s=n(10845),r=n(87465),i=n(37236),o=n(22613),a=n(95059);function l(e){return e/i.minutesPerDay}function u(e){return Math.round(e*i.minutesPerDay)}var d,c,m=n(50151),h=n(58043);!function(e){e[e.SUNDAY=1]="SUNDAY",e[e.MONDAY=2]="MONDAY",e[e.TUESDAY=3]="TUESDAY",e[e.WEDNESDAY=4]="WEDNESDAY",e[e.THURSDAY=5]="THURSDAY",e[e.FRIDAY=6]="FRIDAY",e[e.SATURDAY=7]="SATURDAY"}(d||(d={})),function(e){e[e.JANUARY=0]="JANUARY",e[e.FEBRUARY=1]="FEBRUARY",e[e.MARCH=2]="MARCH",e[e.APRIL=3]="APRIL",e[e.MAY=4]="MAY",e[e.JUNE=5]="JUNE",e[e.JULY=6]="JULY",e[e.AUGUST=7]="AUGUST",e[e.SEPTEMBER=8]="SEPTEMBER",e[e.OCTOBER=9]="OCTOBER",e[e.NOVEMBER=10]="NOVEMBER",e[e.DECEMBER=11]="DECEMBER"}(c||(c={}));const v=[d.SUNDAY,d.MONDAY,d.TUESDAY,d.WEDNESDAY,d.THURSDAY,d.FRIDAY,d.SATURDAY];function p(e){return t=>function(e,t){return(e+t+6)%7+1}(t,e)}const f=p(-1),y=p(1);const g=function(e){return e&&e.length?e[0]:void 0};var A=n(82593),E=n(11542);c.JANUARY,E.t(null,void 0,n(200)),c.FEBRUARY,E.t(null,void 0,n(81069)),c.MARCH,E.t(null,void 0,n(93878)),c.APRIL,E.t(null,void 0,n(28896)),c.MAY,E.t(null,void 0,n(25734)),c.JUNE,E.t(null,void 0,n(61487)),c.JULY,E.t(null,void 0,n(6608)),c.AUGUST,E.t(null,void 0,n(11081)),
|
||||||
|
c.SEPTEMBER,E.t(null,void 0,n(32179)),c.OCTOBER,E.t(null,void 0,n(37997)),c.NOVEMBER,E.t(null,void 0,n(4607)),c.DECEMBER,E.t(null,void 0,n(90082)),c.JANUARY,E.t(null,void 0,n(62310)),c.FEBRUARY,E.t(null,void 0,n(2507)),c.MARCH,E.t(null,void 0,n(92767)),c.APRIL,E.t(null,void 0,n(27072)),c.MAY,E.t(null,{context:"short"},n(13132)),c.JUNE,E.t(null,void 0,n(429)),c.JULY,E.t(null,void 0,n(53786)),c.AUGUST,E.t(null,void 0,n(46450)),c.SEPTEMBER,E.t(null,void 0,n(6816)),c.OCTOBER,E.t(null,void 0,n(12179)),c.NOVEMBER,E.t(null,void 0,n(26899)),c.DECEMBER,E.t(null,void 0,n(32084)),d.SUNDAY,E.t(null,void 0,n(61480)),d.MONDAY,E.t(null,void 0,n(19573)),d.TUESDAY,E.t(null,void 0,n(82160)),d.WEDNESDAY,E.t(null,void 0,n(94226)),d.THURSDAY,E.t(null,void 0,n(79137)),d.FRIDAY,E.t(null,void 0,n(3570)),d.SATURDAY,E.t(null,void 0,n(30348));const _={[d.SUNDAY]:E.t(null,void 0,n(77493)),[d.MONDAY]:E.t(null,void 0,n(50872)),[d.TUESDAY]:E.t(null,void 0,n(11916)),[d.WEDNESDAY]:E.t(null,void 0,n(11532)),[d.THURSDAY]:E.t(null,void 0,n(71388)),[d.FRIDAY]:E.t(null,void 0,n(22928)),[d.SATURDAY]:E.t(null,void 0,n(32273))};d.SUNDAY,E.t(null,{context:"day_of_week"},n(75005)),d.MONDAY,E.t(null,{context:"day_of_week"},n(30961)),d.TUESDAY,E.t(null,{context:"day_of_week"},n(9135)),d.WEDNESDAY,E.t(null,{context:"day_of_week"},n(92578)),d.THURSDAY,E.t(null,{context:"day_of_week"},n(8765)),d.FRIDAY,E.t(null,{context:"day_of_week"},n(23230)),d.SATURDAY,E.t(null,{context:"day_of_week"},n(94748));var D=n(95322);function w(e){for((0,m.assert)(Number.isInteger(e),"timeMinutes expected to be integer number");e>i.minutesPerDay;)e-=i.minutesPerDay;const t=e%60,n=(e-t)/60;return(0,D.numberToStringWithLeadingZero)(n,2)+":"+(0,D.numberToStringWithLeadingZero)(t,2)}function S(e,t){return`${e} — ${t}`}function T(e,t){return`${_[e]} ${w(t)}`}function x(e,t,n,s){(0,m.assert)(t!==i.minutesPerDay,"Start time expected to be normalized (24:00 as range start is not allowed)"),(0,m.assert)(0!==s,"End time expected to be normalized (00:00 as range end is not allowed)");const r=function(e,t,n,s){const r=e*i.minutesPerDay+t;let o=n*i.minutesPerDay+s;return o<r&&(o+=7*i.minutesPerDay),o-r}(e,t,n,s);return r<i.minutesPerDay||r===i.minutesPerDay&&0===t?function(e,t){return S(w(e),w(t))}(t,s):function(e,t,n,s){return S(T(e,t),T(n,s))}(e,t,n,s)}function R(e,t){return{value:e,title:w(u(e)),isFirstOrLastPoint:t}}function k(e){return 3!==e.type}function U(e,t){return{dayIndex:e,entries:t.filter(k)}}function P(e,t,n,s=t){const r=n(t),i=e[r];return r!==s&&0===i.entries.length?P(e,r,n,s):U(r,e[r].entries)}function M(e){return(t,n)=>P(t,n,e)}const b=M(f),I=M(y);function N(e,t,n,s){return(r,i,o)=>void 0===r?[s,o]:r===e?[t,n(i)]:[r,i]}const Y=N(1,0,y,0),C=N(0,1,f,1);function L(e,t,n,s,r){const[i,o]=Y(e,t,r),[a,l]=C(n,s,r);(0,m.assert)(t!==n||i<a,`Days are same (${t}) but prev entry time (${i}) >= next entry time (${a})`);const d=u(i),c=u(a);return h=R(o!==r?0:i,o===r),v=R(l!==r?1:a,l===r),p=3,f=x(o,d,l,c),{start:h,end:v,type:p,tooltip:f};var h,v,p,f}function W(e,t,n,s,r){
|
||||||
|
return L(e?.end?.value,t,n?.start?.value,s,r)}function O(e){const t=[...e.entries];for(let n=1;n<e.entries.length;n++){const s=e.entries[n-1],r=e.entries[n];if(r.start.value!==s.end.value){const n=W(s,e.dayIndex,r,e.dayIndex,e.dayIndex);t.push(n)}}return t.sort(((e,t)=>e.start.value-t.start.value)),t}function B(e,t){const n=(0,A.default)(t.entries),s=t.dayIndex,r=(0,m.ensureDefined)(g(e.entries));return 0===r.start.value?[]:[W(n,s,r,e.dayIndex,e.dayIndex)]}function F(e,t){const n=g(t.entries),s=t.dayIndex,r=(0,m.ensureDefined)((0,A.default)(e.entries));return 1===r.end.value?[]:[W(r,e.dayIndex,n,s,e.dayIndex)]}function V(e,t){const n={thisDay:U(e,t[e].entries),prevDay:b(t,e),nextDay:I(t,e)};return function({thisDay:e,prevDay:t,nextDay:n}){if(0===e.entries.length)return[W((0,A.default)(t.entries),t.dayIndex,g(n.entries),n.dayIndex,e.dayIndex)]}(n)??function({thisDay:e,prevDay:t,nextDay:n}){const s=e.dayIndex;if(t.dayIndex!==s||n.dayIndex!==s)return;const i=e.entries,o=(0,m.ensureDefined)(g(i)),a=(0,m.ensureDefined)((0,A.default)(i));return[0!==o.start.value?L(0,s,o.start.value,s,s):void 0,...O(e),1!==a.end.value?L(a.end.value,s,1,s,s):void 0].filter(r.isExistent)}(n)??function(e){return[...B(e.thisDay,e.prevDay),...O(e.thisDay),...F(e.thisDay,e.nextDay)]}(n)}var z=n(16329);const $=function(e){for(var t=-1,n=null==e?0:e.length,s={};++t<n;){var r=e[t];s[r[0]]=r[1]}return s}(v.map((e=>[e,{title:_[e],isActive:!1,entries:[]}])));function H(e,t,n){const s=e[n].entries;s.push(t),s.sort(((e,t)=>e.start.value-t.start.value))}function J(e,t){const n=function(e){if(null===e)return new Map;if(void 0===e.subsessions)return new Map([[0,new z.SessionsSpec(e.timezone,e.session_display??e.session,e.session_holidays,e.corrections)]]);const t="regular",n="premarket",s="postmarket",r=[t,n,s],i=new Map;for(const o of r){let r=null;switch(o){case t:r=0;break;case n:r=1;break;case s:r=2}if(null!==r){const t=e.subsessions.find((e=>e.id===o));void 0!==t&&i.set(r,new z.SessionsSpec(e.timezone,t["session-display"]||t.session,e.session_holidays,t["session-correction"]))}}return i}(e),s=t??(0,i.utc_to_cal)((0,i.get_timezone)(e?.timezone??"Etc/UTC"),Date.now()),r=(t?.getUTCDay()??(new Date).getDay())%7+1;const o=(0,h.deepCopy)($);o[r].isActive=!0;for(const e of Array.from(n.keys())){const t=(0,m.ensureDefined)(n.get(e)),r=(0,i.get_day_of_week)(s),a=(0,i.clone)(s);(0,i.add_date)(a,-r),(0,i.set_hms)(a,0,0,0,0);const u=(0,i.clone)(a);(0,i.add_date)(u,7);let d=t.alignToNearestSessionStart(a,t.inSession(a)?-1:1);for(;d.getTime()<u.getTime();){const n=t.alignToNearestSessionEnd(d,1),s=(0,i.get_day_of_week)(d),r=(0,i.get_day_of_week)(n),c=(0,i.get_minutes_from_midnight)(d),m=(0,i.get_minutes_from_midnight)(n)+1,h=l(c),v=l(m),p=x(s,c,r,m);s===r?H(o,{start:R(h,!0),end:R(v,!0),type:e,tooltip:p},s):(d.getTime()>a.getTime()&&H(o,{start:R(h,!0),end:R(1,!1),type:e,tooltip:p},s),n.getTime()<u.getTime()&&H(o,{start:R(0,!1),end:R(v,!0),type:e,tooltip:p},r)),(0,i.add_minutes)(n,1),d=t.alignToNearestSessionStart(n,1)}}return function(e){const t=new Map
|
||||||
|
;for(const n of v)t.set(n,V(n,e));for(const n of v)e[n].entries=(0,m.ensureDefined)(t.get(n))}(o),{newSessionsDays:o,newTodaySession:o[r]}}var Z;function j(e){return(0,i.get_cal_from_unix_timestamp_ms)((0,i.get_timezone)(e.timezone),window.ChartApiInstance.serverTime()-1e3*(0,a.getSymbolDelaySeconds)(e))}!function(e){e[e.Regular=0]="Regular",e[e.Pre=1]="Pre",e[e.Post=2]="Post",e[e.Close=3]="Close"}(Z||(Z={}));class G{constructor(e){this.sessionsDays=new o.WatchedValue((0,r.clone)($)),this.todaySession=new o.WatchedValue((0,r.clone)({entries:[]})),this._currentTime=new o.WatchedValue(-1),this._symbolInfo=e.symbolInfo().spawn(),this._symbolInfo.subscribe(this._updateEntriesBySubSessions.bind(this),{callWithLast:!0}),this._timeIntervalId=setInterval(this._updateTodayWithOffsets.bind(this),6e4)}destroy(){this._symbolInfo.destroy(),clearInterval(this._timeIntervalId)}currentTimeValue(){return this._currentTime.readonly()}timezone(){const e=this._symbolInfo.value();return null===e?"":(0,s.timezoneTitle)(e.timezone)}_updateEntriesBySubSessions(e){this._updateTodayWithOffsets();const{newSessionsDays:t,newTodaySession:n}=J(e,null===e?null:j(e));this.sessionsDays.setValue(t),this.todaySession.setValue(n)}_updateTodayWithOffsets(){const e=this._symbolInfo.value();if(null===e)return void this._currentTime.setValue(-1);const t=this._currentTime.value(),n=l((0,i.get_minutes_from_midnight)(j(e)));this._currentTime.setValue(n),n<t&&this._updateEntriesBySubSessions(e)}}},2948:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M3.92 7.83 9 12.29l5.08-4.46-1-1.13L9 10.29l-4.09-3.6-.99 1.14Z"/></svg>'},92315:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M9 14A5 5 0 1 0 9 4a5 5 0 0 0 0 10Zm3-4H6V8h6v2Z"/></svg>'},25931:(e,t,n)=>{"use strict";n.d(t,{nanoid:()=>s});let s=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce(((e,t)=>e+=(t&=63)<36?t.toString(36):t<62?(t-26).toString(36).toUpperCase():t>62?"-":"_"),"")}}]);
|
||||||
1
charting_library/bundles/2537.a8e87c60a250a6212b03.css
Normal file
1
charting_library/bundles/2537.a8e87c60a250a6212b03.css
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,5 +0,0 @@
|
|||||||
(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[2544],{67797:e=>{e.exports={menuWrap:"menuWrap-Kq3ruQo8",isMeasuring:"isMeasuring-Kq3ruQo8",scrollWrap:"scrollWrap-Kq3ruQo8",momentumBased:"momentumBased-Kq3ruQo8",menuBox:"menuBox-Kq3ruQo8",isHidden:"isHidden-Kq3ruQo8"}},43010:(e,t,s)=>{"use strict";s.d(t,{useIsomorphicLayoutEffect:()=>i});var n=s(50959);function i(e,t){("undefined"==typeof window?n.useEffect:n.useLayoutEffect)(e,t)}},36383:(e,t,s)=>{"use strict";s.d(t,{useOutsideEvent:()=>r});var n=s(50959),i=s(43010),o=s(27267);function r(e){const{click:t,mouseDown:s,touchEnd:r,touchStart:l,handler:a,reference:u}=e,c=(0,n.useRef)(null),d=(0,n.useRef)("undefined"==typeof window?0:new window.CustomEvent("timestamp").timeStamp);return(0,i.useIsomorphicLayoutEffect)((()=>{const e={click:t,mouseDown:s,touchEnd:r,touchStart:l},n=u?u.current:c.current;return(0,o.addOutsideEventListener)(d.current,n,a,document,e)}),[t,s,r,l,a]),u||c}},9745:(e,t,s)=>{"use strict";s.d(t,{Icon:()=>i});var n=s(50959);const i=n.forwardRef(((e,t)=>{const{icon:s="",title:i,ariaLabel:o,ariaLabelledby:r,ariaHidden:l,...a}=e,u=!!(i||o||r);return n.createElement("span",{role:"img",...a,ref:t,"aria-label":o,"aria-labelledby":r,"aria-hidden":l||!u,title:i,dangerouslySetInnerHTML:{__html:s}})}))},83021:(e,t,s)=>{"use strict";s.d(t,{SubmenuContext:()=>i,SubmenuHandler:()=>o});var n=s(50959);const i=n.createContext(null);function o(e){const[t,s]=(0,n.useState)(null),o=(0,n.useRef)(null),r=(0,n.useRef)(new Map);return(0,n.useEffect)((()=>()=>{null!==o.current&&clearTimeout(o.current)}),[]),n.createElement(i.Provider,{value:{current:t,setCurrent:function(e){null!==o.current&&(clearTimeout(o.current),o.current=null);null===t?s(e):o.current=setTimeout((()=>{o.current=null,s(e)}),100)},registerSubmenu:function(e,t){return r.current.set(e,t),()=>{r.current.delete(e)}},isSubmenuNode:function(e){return Array.from(r.current.values()).some((t=>t(e)))}}},e.children)}},99663:(e,t,s)=>{"use strict";s.d(t,{Slot:()=>i,SlotContext:()=>o});var n=s(50959);class i extends n.Component{shouldComponentUpdate(){return!1}render(){return n.createElement("div",{style:{position:"fixed",zIndex:150,left:0,top:0},ref:this.props.reference})}}const o=n.createContext(null)},67961:(e,t,s)=>{"use strict";s.d(t,{OverlapManager:()=>r,getRootOverlapManager:()=>a});var n=s(50151),i=s(34811);class o{constructor(){this._storage=[]}add(e){this._storage.push(e)}remove(e){this._storage=this._storage.filter((t=>e!==t))}has(e){return this._storage.includes(e)}getItems(){return this._storage}}class r{constructor(e=document){this._storage=new o,this._windows=new Map,this._index=0,this._document=e,this._container=e.createDocumentFragment()}setContainer(e){const t=this._container,s=null===e?this._document.createDocumentFragment():e;!function(e,t){Array.from(e.childNodes).forEach((e=>{e.nodeType===Node.ELEMENT_NODE&&t.appendChild(e)}))}(t,s),this._container=s}registerWindow(e){this._storage.has(e)||this._storage.add(e)}ensureWindow(e,t={position:"fixed",direction:"normal"}){
|
|
||||||
const s=this._windows.get(e);if(void 0!==s)return s;this.registerWindow(e);const n=this._document.createElement("div");if(n.style.position=t.position,n.style.zIndex=this._index.toString(),n.dataset.id=e,void 0!==t.index){const e=this._container.childNodes.length;if(t.index>=e)this._container.appendChild(n);else if(t.index<=0)this._container.insertBefore(n,this._container.firstChild);else{const e=this._container.childNodes[t.index];this._container.insertBefore(n,e)}}else"reverse"===t.direction?this._container.insertBefore(n,this._container.firstChild):this._container.appendChild(n);return this._windows.set(e,n),++this._index,n}unregisterWindow(e){this._storage.remove(e);const t=this._windows.get(e);void 0!==t&&(null!==t.parentElement&&t.parentElement.removeChild(t),this._windows.delete(e))}getZindex(e){const t=this.ensureWindow(e);return parseInt(t.style.zIndex||"0")}moveLastWindowToTop(){const e=this._storage.getItems(),t=e[e.length-1];t&&this.moveToTop(t)}moveToTop(e){if(this.getZindex(e)!==this._index){const t=this.ensureWindow(e);this._windows.forEach(((e,s)=>{e.hasAttribute(i.FOCUS_TRAP_DATA_ATTRIBUTE)&&e.setAttribute(i.FOCUS_TRAP_DATA_ATTRIBUTE,e===t?"true":"false")})),t.style.zIndex=(++this._index).toString()}}removeWindow(e){this.unregisterWindow(e)}}const l=new WeakMap;function a(e=document){const t=e.getElementById("overlap-manager-root");if(null!==t)return(0,n.ensureDefined)(l.get(t));{const t=new r(e),s=function(e){const t=e.createElement("div");return t.style.position="absolute",t.style.zIndex=150..toString(),t.style.top="0px",t.style.left="0px",t.id="overlap-manager-root",t}(e);return l.set(s,t),t.setContainer(s),e.body.appendChild(s),t}}var u;!function(e){e[e.BaseZindex=150]="BaseZindex"}(u||(u={}))},99054:(e,t,s)=>{"use strict";s.d(t,{setFixedBodyState:()=>u});const n=(()=>{let e;return()=>{if(void 0===e){const t=document.createElement("div"),s=t.style;s.visibility="hidden",s.width="100px",s.msOverflowStyle="scrollbar",document.body.appendChild(t);const n=t.offsetWidth;t.style.overflow="scroll";const i=document.createElement("div");i.style.width="100%",t.appendChild(i);const o=i.offsetWidth;t.parentNode?.removeChild(t),e=n-o}return e}})();function i(e,t,s){null!==e&&e.style.setProperty(t,s)}function o(e,t){return getComputedStyle(e,null).getPropertyValue(t)}function r(e,t){return parseInt(o(e,t))}let l=0,a=!1;function u(e){const{body:t}=document,s=t.querySelector(".widgetbar-wrap");if(e&&1==++l){const e=o(t,"overflow"),l=r(t,"padding-right");"hidden"!==e.toLowerCase()&&t.scrollHeight>t.offsetHeight&&(i(s,"right",`${n()}px`),t.style.paddingRight=`${l+n()}px`,a=!0),t.classList.add("i-no-scroll")}else if(!e&&l>0&&0==--l&&(t.classList.remove("i-no-scroll"),a)){i(s,"right","0px");let e=0;0,t.scrollHeight<=t.clientHeight&&(e-=n()),t.style.paddingRight=(e<0?0:e)+"px",a=!1}}},90692:(e,t,s)=>{"use strict";s.d(t,{MatchMedia:()=>i});var n=s(50959);class i extends n.PureComponent{constructor(e){super(e),this._handleChange=()=>{this.forceUpdate()},this.state={query:window.matchMedia(this.props.rule)}}
|
|
||||||
componentDidMount(){this._subscribe(this.state.query)}componentDidUpdate(e,t){this.state.query!==t.query&&(this._unsubscribe(t.query),this._subscribe(this.state.query))}componentWillUnmount(){this._unsubscribe(this.state.query)}render(){return this.props.children(this.state.query.matches)}static getDerivedStateFromProps(e,t){return e.rule!==t.query.media?{query:window.matchMedia(e.rule)}:null}_subscribe(e){e.addEventListener("change",this._handleChange)}_unsubscribe(e){e.removeEventListener("change",this._handleChange)}}},64706:(e,t,s)=>{"use strict";s.d(t,{MenuContext:()=>n});const n=s(50959).createContext(null)},27317:(e,t,s)=>{"use strict";s.d(t,{DEFAULT_MENU_THEME:()=>_,Menu:()=>v});var n=s(50959),i=s(97754),o=s.n(i),r=s(50151),l=s(9859),a=s(14729),u=s(50655),c=s(59064),d=s(67961),h=s(26709),p=s(83021),m=s(64706),f=s(67797);const _=f;var g;!function(e){e[e.IndentFromWindow=0]="IndentFromWindow"}(g||(g={}));class v extends n.PureComponent{constructor(e){super(e),this._containerRef=null,this._scrollWrapRef=null,this._raf=null,this._scrollRaf=null,this._scrollTimeout=void 0,this._manager=new d.OverlapManager,this._hotkeys=null,this._scroll=0,this._handleContainerRef=e=>{this._containerRef=e,this.props.reference&&("function"==typeof this.props.reference&&this.props.reference(e),"object"==typeof this.props.reference&&(this.props.reference.current=e))},this._handleScrollWrapRef=e=>{this._scrollWrapRef=e,"function"==typeof this.props.scrollWrapReference&&this.props.scrollWrapReference(e),"object"==typeof this.props.scrollWrapReference&&(this.props.scrollWrapReference.current=e)},this._handleCustomRemeasureDelegate=()=>{this._resizeForced(),this._handleMeasure()},this._handleMeasure=({callback:e,forceRecalcPosition:t}={})=>{if(this.state.isMeasureValid&&!t)return;const{position:s}=this.props,n=(0,r.ensureNotNull)(this._containerRef);let i=n.getBoundingClientRect();const o=document.documentElement.clientHeight,a=document.documentElement.clientWidth,u=this.props.closeOnScrollOutsideOffset??0;let c=o-0-u;const d=i.height>c;if(d){(0,r.ensureNotNull)(this._scrollWrapRef).style.overflowY="scroll",i=n.getBoundingClientRect()}const{width:h,height:p}=i,m="function"==typeof s?s({contentWidth:h,contentHeight:p,availableWidth:a,availableHeight:o}):s,f=m?.indentFromWindow?.left??0,_=a-(m.overrideWidth??h)-(m?.indentFromWindow?.right??0),g=(0,l.clamp)(m.x,f,Math.max(f,_)),v=(m?.indentFromWindow?.top??0)+u,y=o-(m.overrideHeight??p)-(m?.indentFromWindow?.bottom??0);let b=(0,l.clamp)(m.y,v,Math.max(v,y));if(m.forbidCorrectYCoord&&b<m.y&&(c-=m.y-b,b=m.y),t&&void 0!==this.props.closeOnScrollOutsideOffset&&m.y<=this.props.closeOnScrollOutsideOffset)return void this._handleGlobalClose(!0);const w=m.overrideHeight??(d?c:void 0);this.setState({appearingMenuHeight:t?this.state.appearingMenuHeight:w,appearingMenuWidth:t?this.state.appearingMenuWidth:m.overrideWidth,appearingPosition:{x:g,y:b},isMeasureValid:!0},(()=>{this.props.doNotRestorePosition||this._restoreScrollPosition(),e&&e()}))},this._restoreScrollPosition=()=>{
|
|
||||||
const e=document.activeElement,t=(0,r.ensureNotNull)(this._containerRef);if(null!==e&&t.contains(e))try{e.scrollIntoView()}catch(e){}else(0,r.ensureNotNull)(this._scrollWrapRef).scrollTop=this._scroll},this._resizeForced=()=>{this.setState({appearingMenuHeight:void 0,appearingMenuWidth:void 0,appearingPosition:void 0,isMeasureValid:void 0})},this._resize=()=>{null===this._raf&&(this._raf=requestAnimationFrame((()=>{this.setState({appearingMenuHeight:void 0,appearingMenuWidth:void 0,appearingPosition:void 0,isMeasureValid:void 0}),this._raf=null})))},this._handleGlobalClose=e=>{this.props.onClose(e)},this._handleSlot=e=>{this._manager.setContainer(e)},this._handleScroll=()=>{this._scroll=(0,r.ensureNotNull)(this._scrollWrapRef).scrollTop},this._handleScrollOutsideEnd=()=>{clearTimeout(this._scrollTimeout),this._scrollTimeout=setTimeout((()=>{this._handleMeasure({forceRecalcPosition:!0})}),80)},this._handleScrollOutside=e=>{e.target!==this._scrollWrapRef&&(this._handleScrollOutsideEnd(),null===this._scrollRaf&&(this._scrollRaf=requestAnimationFrame((()=>{this._handleMeasure({forceRecalcPosition:!0}),this._scrollRaf=null}))))},this.state={}}componentDidMount(){this._handleMeasure({callback:this.props.onOpen});const{customCloseDelegate:e=c.globalCloseDelegate,customRemeasureDelegate:t}=this.props;e.subscribe(this,this._handleGlobalClose),t?.subscribe(null,this._handleCustomRemeasureDelegate),window.addEventListener("resize",this._resize);const s=null!==this.context;this._hotkeys||s||(this._hotkeys=h.createGroup({desc:"Popup menu"}),this._hotkeys.add({desc:"Close",hotkey:27,handler:()=>{this.props.onKeyboardClose&&this.props.onKeyboardClose(),this._handleGlobalClose()}})),this.props.repositionOnScroll&&window.addEventListener("scroll",this._handleScrollOutside,{capture:!0})}componentDidUpdate(){this._handleMeasure()}componentWillUnmount(){const{customCloseDelegate:e=c.globalCloseDelegate,customRemeasureDelegate:t}=this.props;e.unsubscribe(this,this._handleGlobalClose),t?.unsubscribe(null,this._handleCustomRemeasureDelegate),window.removeEventListener("resize",this._resize),window.removeEventListener("scroll",this._handleScrollOutside,{capture:!0}),this._hotkeys&&(this._hotkeys.destroy(),this._hotkeys=null),null!==this._raf&&(cancelAnimationFrame(this._raf),this._raf=null),null!==this._scrollRaf&&(cancelAnimationFrame(this._scrollRaf),this._scrollRaf=null),this._scrollTimeout&&clearTimeout(this._scrollTimeout)}render(){const{id:e,role:t,"aria-label":s,"aria-labelledby":i,"aria-activedescendant":r,"aria-hidden":l,"aria-describedby":c,"aria-invalid":d,children:h,minWidth:_,theme:g=f,className:v,maxHeight:b,onMouseOver:w,onMouseOut:x,onKeyDown:C,onFocus:S,onBlur:E}=this.props,{appearingMenuHeight:R,appearingMenuWidth:M,appearingPosition:W,isMeasureValid:T}=this.state,O={"--ui-kit-menu-max-width":`${W&&W.x}px`,maxWidth:"calc(100vw - var(--ui-kit-menu-max-width) - 6px)"};return n.createElement(m.MenuContext.Provider,{value:this},n.createElement(p.SubmenuHandler,null,n.createElement(u.SlotContext.Provider,{value:this._manager
|
|
||||||
},n.createElement("div",{id:e,role:t,"aria-label":s,"aria-labelledby":i,"aria-activedescendant":r,"aria-hidden":l,"aria-describedby":c,"aria-invalid":d,className:o()(v,g.menuWrap,!T&&g.isMeasuring),style:{height:R,left:W&&W.x,minWidth:_,position:"fixed",top:W&&W.y,width:M,...this.props.limitMaxWidth&&O},"data-name":this.props["data-name"],"data-tooltip-show-on-focus":this.props["data-tooltip-show-on-focus"],ref:this._handleContainerRef,onScrollCapture:this.props.onScroll,onContextMenu:a.preventDefaultForContextMenu,tabIndex:this.props.tabIndex,onMouseOver:w,onMouseOut:x,onKeyDown:C,onFocus:S,onBlur:E},n.createElement("div",{className:o()(g.scrollWrap,!this.props.noMomentumBasedScroll&&g.momentumBased),style:{overflowY:void 0!==R?"scroll":"auto",maxHeight:b},onScrollCapture:this._handleScroll,ref:this._handleScrollWrapRef},n.createElement(y,{className:g.menuBox},h)))),n.createElement(u.Slot,{reference:this._handleSlot})))}update(e){e?this._resizeForced():this._resize()}focus(e){this._containerRef?.focus(e)}blur(){this._containerRef?.blur()}}function y(e){const t=(0,r.ensureNotNull)((0,n.useContext)(p.SubmenuContext)),s=n.useRef(null);return n.createElement("div",{ref:s,className:e.className,onMouseOver:function(e){if(!(null!==t.current&&e.target instanceof Node&&(n=e.target,s.current?.contains(n))))return;var n;t.isSubmenuNode(e.target)||t.setCurrent(null)},"data-name":"menu-inner"},e.children)}v.contextType=p.SubmenuContext},29197:(e,t,s)=>{"use strict";s.d(t,{CloseDelegateContext:()=>o});var n=s(50959),i=s(59064);const o=n.createContext(i.globalCloseDelegate)},42842:(e,t,s)=>{"use strict";s.d(t,{Portal:()=>u,PortalContext:()=>c});var n=s(50959),i=s(32227),o=s(55698),r=s(67961),l=s(34811),a=s(99663);class u extends n.PureComponent{constructor(){super(...arguments),this._uuid=(0,o.nanoid)()}componentWillUnmount(){this._manager().removeWindow(this._uuid)}render(){const e=this._manager().ensureWindow(this._uuid,this.props.layerOptions);e.style.top=this.props.top||"",e.style.bottom=this.props.bottom||"",e.style.left=this.props.left||"",e.style.right=this.props.right||"",e.style.pointerEvents=this.props.pointerEvents||"";const t=this.props.className;return t&&("string"==typeof t?e.classList.add(t):e.classList.add(...t)),this.props.shouldTrapFocus&&!e.hasAttribute(l.FOCUS_TRAP_DATA_ATTRIBUTE)&&e.setAttribute(l.FOCUS_TRAP_DATA_ATTRIBUTE,"true"),this.props["aria-hidden"]&&e.setAttribute("aria-hidden","true"),i.createPortal(n.createElement(c.Provider,{value:this},this.props.children),e)}moveToTop(){this._manager().moveToTop(this._uuid)}_manager(){return null===this.context?(0,r.getRootOverlapManager)():this.context}}u.contextType=a.SlotContext;const c=n.createContext(null)},50655:(e,t,s)=>{"use strict";s.d(t,{Slot:()=>n.Slot,SlotContext:()=>n.SlotContext});var n=s(99663)}}]);
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
charting_library/bundles/2641.8fe6a787670a4a8ef383.css
Normal file
1
charting_library/bundles/2641.8fe6a787670a4a8ef383.css
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.lollipopTooltipTitle-jFagU3Qi{align-items:center;column-gap:8px;display:flex;justify-content:flex-start;padding:4px 0}.lollipopTooltipTitle_minimal-jFagU3Qi .lollipopTooltipTitle__title-jFagU3Qi{font-size:16px;line-height:22px}.lollipopTooltipTitle_mobile-jFagU3Qi{padding:0}.lollipopTooltipTitle_mobile-jFagU3Qi .lollipopTooltipTitle__title-jFagU3Qi{font-size:20px;line-height:24px}.lollipopTooltipTitle__icon-jFagU3Qi{color:currentColor;display:flex}.lollipopTooltipTitle__title-jFagU3Qi{font-family:-apple-system,BlinkMacSystemFont,Trebuchet MS,Roboto,Ubuntu,sans-serif;font-feature-settings:"tnum" on,"lnum" on;font-style:normal;--ui-lib-typography-font-size:18px;font-size:var(--ui-lib-typography-font-size);font-weight:600;--ui-lib-typography-line-height:24px;line-height:var(--ui-lib-typography-line-height)}[data-theme=dark],[data-theme=light]{--_0--48T:var(--color-tan-orange-600);--_1--48T:var(--color-tan-orange-400);--_2--48T:var(--color-tv-blue-500);--_3--48T:var(--color-tv-blue-400)}.subtitle-cEWFvaCX{font-size:14px;line-height:21px}.subtitle-cEWFvaCX .text-cEWFvaCX{flex:1 0 0;overflow:hidden;text-overflow:ellipsis}.group-cEWFvaCX{padding-top:12px}.groupIcon-cEWFvaCX{border-radius:9px;display:inline-block;height:18px;margin-left:7px;vertical-align:top;width:18px}.groupIcon-cEWFvaCX.beforeMarketOpen-cEWFvaCX{background-color:var(--color-overlay-warning-1-light);color:var(--_0--48T)}@media (any-hover:hover){.groupIcon-cEWFvaCX.beforeMarketOpen-cEWFvaCX:hover{background-color:var(--color-overlay-warning-1-normal)}}.groupIcon-cEWFvaCX.afterMarketClose-cEWFvaCX{background-color:var(--color-overlay-accent-1-light);color:var(--_2--48T)}@media (any-hover:hover){.groupIcon-cEWFvaCX.afterMarketClose-cEWFvaCX:hover{background-color:var(--color-overlay-accent-1-normal)}}.groupTitle-cEWFvaCX{color:var(--color-default-gray);font-size:11px;font-weight:400;letter-spacing:.4px;line-height:16px;text-transform:uppercase}.groupRow-cEWFvaCX{display:flex;flex-direction:row}.groupCell-cEWFvaCX{flex:1 0 0}.group-cEWFvaCX .text-cEWFvaCX{font-size:14px;line-height:22px;overflow:hidden;text-overflow:ellipsis}[data-theme=light]{--_0-UeVb:var(--color-white);--_1-UeVb:var(--color-white)}[data-theme=dark]{--_0-UeVb:var(--color-cold-gray-850);--_1-UeVb:var(--color-cold-gray-850)}.wrap-GPY6iGF_{background:var(--tv-color-popup-background,var(--_1-UeVb))}.title-GPY6iGF_{margin-bottom:12px}.content-GPY6iGF_ a,.content-GPY6iGF_ span{cursor:default}.content-GPY6iGF_.mob-GPY6iGF_ .group-GPY6iGF_ .text-GPY6iGF_,.content-GPY6iGF_.mob-GPY6iGF_ .subtitle-GPY6iGF_{font-size:16px;line-height:24px}.content-GPY6iGF_.mini-GPY6iGF_ .subtitle-GPY6iGF_{font-size:13px;line-height:19px}.anchor-GPY6iGF_{margin-top:12px}[data-theme=light]{--_0-2jh4:var(--color-cold-gray-900);--_1-2jh4:#0000;--_2-2jh4:var(--color-white)}[data-theme=dark]{--_0-2jh4:var(--color-cold-gray-200);--_1-2jh4:#0000;--_2-2jh4:var(--color-cold-gray-900)}.drawer-KpYsc6dH{padding:0}.drawer-KpYsc6dH>:not(:last-child){border-bottom:1px solid var(--color-cold-gray-150)}.drawerItem-KpYsc6dH{color:var(--_0-2jh4);padding:16px}.menuWrap-KpYsc6dH{background:var(--_1-2jh4);box-shadow:0 0 var(--_1-2jh4)}.menuWrap-KpYsc6dH .scrollWrap-KpYsc6dH{overflow-y:hidden!important}.menuWrap-KpYsc6dH .menuBox-KpYsc6dH{margin:2px 4px 4px;padding:0}.card-KpYsc6dH{border-left:4px solid;border-radius:4px;box-shadow:0 2px 4px 0 var(--color-other-shadow-primary-neutral-extra-heavy);box-sizing:border-box;color:var(--_0-2jh4);padding:12px 12px 16px;width:300px}.card-KpYsc6dH:not(:first-child){margin-top:8px}.fadeTop-KpYsc6dH{background:linear-gradient(180deg,#fff,#fff0);height:10px;position:absolute;top:0}html.theme-dark .fadeTop-KpYsc6dH{background:linear-gradient(180deg,#0f0f0f,#0f0f0f00)}.fadeBottom-KpYsc6dH{background:linear-gradient(0deg,#fff,#fff0);bottom:0;height:10px;position:absolute}html.theme-dark .fadeBottom-KpYsc6dH{background:linear-gradient(0deg,#0f0f0f,#0f0f0f00)}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
.lollipopTooltipTitle-jFagU3Qi{align-items:center;column-gap:8px;display:flex;justify-content:flex-start;padding:4px 0}.lollipopTooltipTitle_minimal-jFagU3Qi .lollipopTooltipTitle__title-jFagU3Qi{font-size:16px;line-height:22px}.lollipopTooltipTitle_mobile-jFagU3Qi{padding:0}.lollipopTooltipTitle_mobile-jFagU3Qi .lollipopTooltipTitle__title-jFagU3Qi{font-size:20px;line-height:24px}.lollipopTooltipTitle__icon-jFagU3Qi{color:currentColor;display:flex}.lollipopTooltipTitle__title-jFagU3Qi{font-family:-apple-system,BlinkMacSystemFont,Trebuchet MS,Roboto,Ubuntu,sans-serif;font-feature-settings:"tnum" on,"lnum" on;font-style:normal;--ui-lib-typography-font-size:18px;font-size:var(--ui-lib-typography-font-size);font-weight:600;--ui-lib-typography-line-height:24px;line-height:var(--ui-lib-typography-line-height)}[data-theme=dark],[data-theme=light]{--_0--48T:var(--color-tan-orange-600);--_1--48T:var(--color-tan-orange-400);--_2--48T:var(--color-tv-blue-500);--_3--48T:var(--color-tv-blue-400)}.subtitle-cEWFvaCX{font-size:14px;line-height:21px}.subtitle-cEWFvaCX .text-cEWFvaCX{flex:1 0 0;overflow:hidden;text-overflow:ellipsis}.group-cEWFvaCX{padding-top:12px}.groupIcon-cEWFvaCX{border-radius:9px;display:inline-block;height:18px;margin-right:7px;vertical-align:top;width:18px}.groupIcon-cEWFvaCX.beforeMarketOpen-cEWFvaCX{background-color:var(--color-overlay-warning-1-light);color:var(--_0--48T)}@media (any-hover:hover){.groupIcon-cEWFvaCX.beforeMarketOpen-cEWFvaCX:hover{background-color:var(--color-overlay-warning-1-normal)}}.groupIcon-cEWFvaCX.afterMarketClose-cEWFvaCX{background-color:var(--color-overlay-accent-1-light);color:var(--_2--48T)}@media (any-hover:hover){.groupIcon-cEWFvaCX.afterMarketClose-cEWFvaCX:hover{background-color:var(--color-overlay-accent-1-normal)}}.groupTitle-cEWFvaCX{color:var(--color-default-gray);font-size:11px;font-weight:400;letter-spacing:.4px;line-height:16px;text-transform:uppercase}.groupRow-cEWFvaCX{display:flex;flex-direction:row}.groupCell-cEWFvaCX{flex:1 0 0}.group-cEWFvaCX .text-cEWFvaCX{font-size:14px;line-height:22px;overflow:hidden;text-overflow:ellipsis}[data-theme=light]{--_0-UeVb:var(--color-white);--_1-UeVb:var(--color-white)}[data-theme=dark]{--_0-UeVb:var(--color-cold-gray-850);--_1-UeVb:var(--color-cold-gray-850)}.wrap-GPY6iGF_{background:var(--tv-color-popup-background,var(--_1-UeVb))}.title-GPY6iGF_{margin-bottom:12px}.content-GPY6iGF_ a,.content-GPY6iGF_ span{cursor:default}.content-GPY6iGF_.mob-GPY6iGF_ .group-GPY6iGF_ .text-GPY6iGF_,.content-GPY6iGF_.mob-GPY6iGF_ .subtitle-GPY6iGF_{font-size:16px;line-height:24px}.content-GPY6iGF_.mini-GPY6iGF_ .subtitle-GPY6iGF_{font-size:13px;line-height:19px}.anchor-GPY6iGF_{margin-top:12px}[data-theme=light]{--_0-2jh4:var(--color-cold-gray-900);--_1-2jh4:#0000;--_2-2jh4:var(--color-white)}[data-theme=dark]{--_0-2jh4:var(--color-cold-gray-200);--_1-2jh4:#0000;--_2-2jh4:var(--color-cold-gray-900)}.drawer-KpYsc6dH{padding:0}.drawer-KpYsc6dH>:not(:last-child){border-bottom:1px solid var(--color-cold-gray-150)}.drawerItem-KpYsc6dH{color:var(--_0-2jh4);padding:16px}.menuWrap-KpYsc6dH{background:var(--_1-2jh4);box-shadow:0 0 var(--_1-2jh4)}.menuWrap-KpYsc6dH .scrollWrap-KpYsc6dH{overflow-y:hidden!important}.menuWrap-KpYsc6dH .menuBox-KpYsc6dH{margin:2px 4px 4px;padding:0}.card-KpYsc6dH{border-radius:4px;border-right:4px solid;box-shadow:0 2px 4px 0 var(--color-other-shadow-primary-neutral-extra-heavy);box-sizing:border-box;color:var(--_0-2jh4);padding:12px 12px 16px;width:300px}.card-KpYsc6dH:not(:first-child){margin-top:8px}.fadeTop-KpYsc6dH{background:linear-gradient(-180deg,#fff,#fff0);height:10px;position:absolute;top:0}html.theme-dark .fadeTop-KpYsc6dH{background:linear-gradient(-180deg,#0f0f0f,#0f0f0f00)}.fadeBottom-KpYsc6dH{background:linear-gradient(0deg,#fff,#fff0);bottom:0;height:10px;position:absolute}html.theme-dark .fadeBottom-KpYsc6dH{background:linear-gradient(0deg,#0f0f0f,#0f0f0f00)}
|
||||||
1
charting_library/bundles/2647.a9ca47adf1a97f5f023d.css
Normal file
1
charting_library/bundles/2647.a9ca47adf1a97f5f023d.css
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.container-BZKENkhT{align-items:center;cursor:default;display:flex;flex:0 0 auto;padding:0 20px}.unsetAlign-BZKENkhT{align-items:stretch}.title-BZKENkhT{color:var(--tv-color-dialog-header-text,var(--color-text-primary));flex-grow:1;font-size:20px;font-weight:600;line-height:28px;min-width:0;padding:17px 0}@media (max-height:360px){.title-BZKENkhT{padding:10px 0}}.subtitle-BZKENkhT{font-size:16px;font-weight:400;line-height:24px;margin:8px 0 3px}.textWrap-BZKENkhT{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:28px;max-height:56px}.ellipsis-BZKENkhT{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.close-BZKENkhT{color:var(--tv-color-dialog-header-text,var(--color-text-primary));margin:17px -3px 17px 0}@media (max-height:360px){.close-BZKENkhT{margin-bottom:10px;margin-top:10px}}.icon-BZKENkhT{height:17px}.dialog-b8SxMnzX{display:block;max-width:550px;min-width:380px;width:auto}@media (max-width:379px){.dialog-b8SxMnzX{min-height:auto;min-width:100%}}.wrapper-b8SxMnzX{display:flex;flex-direction:column;height:100%}.dialog-b8SxMnzX .separator-b8SxMnzX{flex:none;margin:0 0 2px}.separator-b8SxMnzX{background-color:var(--tv-color-dialog-header-separator,var(--color-divider))}.bounded-b8SxMnzX{box-shadow:0 0 0 1px var(--color-divider)}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
.container-BZKENkhT{align-items:center;cursor:default;display:flex;flex:0 0 auto;padding:0 20px}.unsetAlign-BZKENkhT{align-items:stretch}.title-BZKENkhT{color:var(--tv-color-dialog-header-text,var(--color-text-primary));flex-grow:1;font-size:20px;font-weight:600;line-height:28px;min-width:0;padding:17px 0}@media (max-height:360px){.title-BZKENkhT{padding:10px 0}}.subtitle-BZKENkhT{font-size:16px;font-weight:400;line-height:24px;margin:8px 0 3px}.textWrap-BZKENkhT{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:28px;max-height:56px}.ellipsis-BZKENkhT{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.close-BZKENkhT{color:var(--tv-color-dialog-header-text,var(--color-text-primary));margin:17px 0 17px -3px}@media (max-height:360px){.close-BZKENkhT{margin-bottom:10px;margin-top:10px}}.icon-BZKENkhT{height:17px}.dialog-b8SxMnzX{display:block;max-width:550px;min-width:380px;width:auto}@media (max-width:379px){.dialog-b8SxMnzX{min-height:auto;min-width:100%}}.wrapper-b8SxMnzX{display:flex;flex-direction:column;height:100%}.dialog-b8SxMnzX .separator-b8SxMnzX{flex:none;margin:0 0 2px}.separator-b8SxMnzX{background-color:var(--tv-color-dialog-header-separator,var(--color-divider))}.bounded-b8SxMnzX{box-shadow:0 0 0 1px var(--color-divider)}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
|||||||
.favorite-_FRQhM5Y{align-items:center;background-color:var(--tv-list-item-button-background-color);border-radius:4px;color:var(--tv-color-popup-element-toolbox-text,grey);display:inline-flex;font-size:0;height:22px;justify-content:center;min-width:22px;width:22px}.favorite-_FRQhM5Y.hovered-_FRQhM5Y,.favorite-_FRQhM5Y:active{background-color:var(--tv-color-popup-element-toolbox-background-hover,var(--tv-list-item-button-background-hover-color,var(--themed-color-container-fill-primary-neutral-normal,#dbdbdb)));color:var(--tv-color-popup-element-toolbox-text-hover,var(--themed-color-popup-element-toolbox-text-hover,#1a1a1a))}@media (any-hover:hover){.favorite-_FRQhM5Y:hover{background-color:var(--tv-color-popup-element-toolbox-background-hover,var(--tv-list-item-button-background-hover-color,var(--themed-color-container-fill-primary-neutral-normal,#dbdbdb)));color:var(--tv-color-popup-element-toolbox-text-hover,var(--themed-color-popup-element-toolbox-text-hover,#1a1a1a))}}html.theme-dark .favorite-_FRQhM5Y.hovered-_FRQhM5Y,html.theme-dark .favorite-_FRQhM5Y:active{background-color:var(--tv-color-popup-element-toolbox-background-hover,var(--tv-list-item-button-background-hover-color,var(--themed-color-container-fill-primary-neutral-normal,#4a4a4a)))}@media (any-hover:hover){html.theme-dark .favorite-_FRQhM5Y:hover{background-color:var(--tv-color-popup-element-toolbox-background-hover,var(--tv-list-item-button-background-hover-color,var(--themed-color-container-fill-primary-neutral-normal,#4a4a4a)))}}html.theme-dark .favorite-_FRQhM5Y.hovered-_FRQhM5Y,html.theme-dark .favorite-_FRQhM5Y:active{color:var(--tv-color-popup-element-toolbox-text-hover,var(--themed-color-popup-element-toolbox-text-hover,#dbdbdb))}@media (any-hover:hover){html.theme-dark .favorite-_FRQhM5Y:hover{color:var(--tv-color-popup-element-toolbox-text-hover,var(--themed-color-popup-element-toolbox-text-hover,#dbdbdb))}}.favorite-_FRQhM5Y.disabled-_FRQhM5Y,.favorite-_FRQhM5Y.disabled-_FRQhM5Y:active{background-color:var(--tv-list-item-button-disabled-background-color,var(--themed-color-force-transparent,#0000))}@media (any-hover:hover){.favorite-_FRQhM5Y.disabled-_FRQhM5Y:hover{background-color:var(--tv-list-item-button-disabled-background-color,var(--themed-color-force-transparent,#0000))}}html.theme-dark .favorite-_FRQhM5Y.disabled-_FRQhM5Y,html.theme-dark .favorite-_FRQhM5Y.disabled-_FRQhM5Y:active{background-color:var(--tv-list-item-button-disabled-background-color,var(--themed-color-force-transparent,#0000))}@media (any-hover:hover){html.theme-dark .favorite-_FRQhM5Y.disabled-_FRQhM5Y:hover{background-color:var(--tv-list-item-button-disabled-background-color,var(--themed-color-force-transparent,#0000))}}.favorite-_FRQhM5Y{outline:none;overflow:visible;position:relative}.favorite-_FRQhM5Y:focus{outline:none}.favorite-_FRQhM5Y:focus-visible{outline:none}.favorite-_FRQhM5Y:after{border-style:solid;border-width:2px;box-sizing:border-box;content:"";display:none;height:calc(100% + 4px);left:-2px;pointer-events:none;position:absolute;top:-2px;width:calc(100% + 4px);z-index:1}.favorite-_FRQhM5Y:after,html.theme-dark .favorite-_FRQhM5Y:after{border-color:var(--themed-color-focus-outline-color-blue,#2962ff)}.favorite-_FRQhM5Y:after{border-radius:4px}.favorite-_FRQhM5Y.focused-_FRQhM5Y:after{display:block}.favorite-_FRQhM5Y.active-_FRQhM5Y{color:var(--tv-color-popup-element-toolbox-text-active-hover,var(--themed-color-content-secondary-inverse,#fff))}html.theme-dark .favorite-_FRQhM5Y.active-_FRQhM5Y{color:var(--tv-color-popup-element-toolbox-text-active-hover,var(--themed-color-content-secondary-inverse,#1a1a1a))}.favorite-_FRQhM5Y.active-_FRQhM5Y.hovered-_FRQhM5Y,.favorite-_FRQhM5Y.active-_FRQhM5Y:active{background-color:var(--tv-color-popup-element-toolbox-background-active-hover,var(--themed-color-overlay-neutral-1-bold,#63636366))}@media (any-hover:hover){.favorite-_FRQhM5Y.active-_FRQhM5Y:hover{background-color:var(--tv-color-popup-element-toolbox-background-active-hover,var(--themed-color-overlay-neutral-1-bold,#63636366))}}html.theme-dark .favorite-_FRQhM5Y.active-_FRQhM5Y.hovered-_FRQhM5Y,html.theme-dark .favorite-_FRQhM5Y.active-_FRQhM5Y:active{background-color:var(--tv-color-popup-element-toolbox-background-active-hover,var(--themed-color-overlay-neutral-1-bold,#b8b8b866))}@media (any-hover:hover){html.theme-dark .favorite-_FRQhM5Y.active-_FRQhM5Y:hover{background-color:var(--tv-color-popup-element-toolbox-background-active-hover,var(--themed-color-overlay-neutral-1-bold,#b8b8b866))}}.favorite-_FRQhM5Y.checked-_FRQhM5Y{color:var(--themed-color-favorite-checked,#fbc02d)}html.theme-dark .favorite-_FRQhM5Y.checked-_FRQhM5Y{color:var(--themed-color-favorite-checked,#f9a825)}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
.favorite-_FRQhM5Y{align-items:center;background-color:var(--tv-list-item-button-background-color);border-radius:4px;color:var(--tv-color-popup-element-toolbox-text,grey);display:inline-flex;font-size:0;height:22px;justify-content:center;min-width:22px;width:22px}.favorite-_FRQhM5Y.hovered-_FRQhM5Y,.favorite-_FRQhM5Y:active{background-color:var(--tv-color-popup-element-toolbox-background-hover,var(--tv-list-item-button-background-hover-color,var(--themed-color-container-fill-primary-neutral-normal,#dbdbdb)));color:var(--tv-color-popup-element-toolbox-text-hover,var(--themed-color-popup-element-toolbox-text-hover,#1a1a1a))}@media (any-hover:hover){.favorite-_FRQhM5Y:hover{background-color:var(--tv-color-popup-element-toolbox-background-hover,var(--tv-list-item-button-background-hover-color,var(--themed-color-container-fill-primary-neutral-normal,#dbdbdb)));color:var(--tv-color-popup-element-toolbox-text-hover,var(--themed-color-popup-element-toolbox-text-hover,#1a1a1a))}}html.theme-dark .favorite-_FRQhM5Y.hovered-_FRQhM5Y,html.theme-dark .favorite-_FRQhM5Y:active{background-color:var(--tv-color-popup-element-toolbox-background-hover,var(--tv-list-item-button-background-hover-color,var(--themed-color-container-fill-primary-neutral-normal,#4a4a4a)))}@media (any-hover:hover){html.theme-dark .favorite-_FRQhM5Y:hover{background-color:var(--tv-color-popup-element-toolbox-background-hover,var(--tv-list-item-button-background-hover-color,var(--themed-color-container-fill-primary-neutral-normal,#4a4a4a)))}}html.theme-dark .favorite-_FRQhM5Y.hovered-_FRQhM5Y,html.theme-dark .favorite-_FRQhM5Y:active{color:var(--tv-color-popup-element-toolbox-text-hover,var(--themed-color-popup-element-toolbox-text-hover,#dbdbdb))}@media (any-hover:hover){html.theme-dark .favorite-_FRQhM5Y:hover{color:var(--tv-color-popup-element-toolbox-text-hover,var(--themed-color-popup-element-toolbox-text-hover,#dbdbdb))}}.favorite-_FRQhM5Y.disabled-_FRQhM5Y,.favorite-_FRQhM5Y.disabled-_FRQhM5Y:active{background-color:var(--tv-list-item-button-disabled-background-color,var(--themed-color-force-transparent,#0000))}@media (any-hover:hover){.favorite-_FRQhM5Y.disabled-_FRQhM5Y:hover{background-color:var(--tv-list-item-button-disabled-background-color,var(--themed-color-force-transparent,#0000))}}html.theme-dark .favorite-_FRQhM5Y.disabled-_FRQhM5Y,html.theme-dark .favorite-_FRQhM5Y.disabled-_FRQhM5Y:active{background-color:var(--tv-list-item-button-disabled-background-color,var(--themed-color-force-transparent,#0000))}@media (any-hover:hover){html.theme-dark .favorite-_FRQhM5Y.disabled-_FRQhM5Y:hover{background-color:var(--tv-list-item-button-disabled-background-color,var(--themed-color-force-transparent,#0000))}}.favorite-_FRQhM5Y{outline:none;overflow:visible;position:relative}.favorite-_FRQhM5Y:focus{outline:none}.favorite-_FRQhM5Y:focus-visible{outline:none}.favorite-_FRQhM5Y:after{border-style:solid;border-width:2px;box-sizing:border-box;content:"";display:none;height:calc(100% + 4px);pointer-events:none;position:absolute;right:-2px;top:-2px;width:calc(100% + 4px);z-index:1}.favorite-_FRQhM5Y:after,html.theme-dark .favorite-_FRQhM5Y:after{border-color:var(--themed-color-focus-outline-color-blue,#2962ff)}.favorite-_FRQhM5Y:after{border-radius:4px}.favorite-_FRQhM5Y.focused-_FRQhM5Y:after{display:block}.favorite-_FRQhM5Y.active-_FRQhM5Y{color:var(--tv-color-popup-element-toolbox-text-active-hover,var(--themed-color-content-secondary-inverse,#fff))}html.theme-dark .favorite-_FRQhM5Y.active-_FRQhM5Y{color:var(--tv-color-popup-element-toolbox-text-active-hover,var(--themed-color-content-secondary-inverse,#1a1a1a))}.favorite-_FRQhM5Y.active-_FRQhM5Y.hovered-_FRQhM5Y,.favorite-_FRQhM5Y.active-_FRQhM5Y:active{background-color:var(--tv-color-popup-element-toolbox-background-active-hover,var(--themed-color-overlay-neutral-1-bold,#63636366))}@media (any-hover:hover){.favorite-_FRQhM5Y.active-_FRQhM5Y:hover{background-color:var(--tv-color-popup-element-toolbox-background-active-hover,var(--themed-color-overlay-neutral-1-bold,#63636366))}}html.theme-dark .favorite-_FRQhM5Y.active-_FRQhM5Y.hovered-_FRQhM5Y,html.theme-dark .favorite-_FRQhM5Y.active-_FRQhM5Y:active{background-color:var(--tv-color-popup-element-toolbox-background-active-hover,var(--themed-color-overlay-neutral-1-bold,#b8b8b866))}@media (any-hover:hover){html.theme-dark .favorite-_FRQhM5Y.active-_FRQhM5Y:hover{background-color:var(--tv-color-popup-element-toolbox-background-active-hover,var(--themed-color-overlay-neutral-1-bold,#b8b8b866))}}.favorite-_FRQhM5Y.checked-_FRQhM5Y{color:var(--themed-color-favorite-checked,#fbc02d)}html.theme-dark .favorite-_FRQhM5Y.checked-_FRQhM5Y{color:var(--themed-color-favorite-checked,#f9a825)}
|
|
||||||
5
charting_library/bundles/2745.73995b6670d622d97310.js
Normal file
5
charting_library/bundles/2745.73995b6670d622d97310.js
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[2745],{97578:(e,t,n)=>{n.r(t),n.d(t,{getCoordinateXMetaInfo:()=>g,getCoordinateYMetaInfo:()=>P,getCoordinatesPropertiesDefinitions:()=>T,getSelectionCoordinatesPropertyDefinition:()=>C});var i=n(50151),o=n(77914),r=n(11542),l=n(95804),s=n(40472),a=n(72270);class d extends a.UndoCommand{constructor({lineToolId:e,chartModel:t,newPositionPoints:n}){super(null),this._pointState=null,this._lineToolId=e,this._model=t,this._newPositionPoints=n}redo(){const e=(0,i.ensureNotNull)(this._model.dataSourceForId(this._lineToolId));this._pointState=[e.normalizedPoints(),e.points()],e.startChanging(),e.moveLineTool(this._newPositionPoints),this._model.updateSource(e),e.updateAllViews((0,s.sourceChangeEvent)(e.id())),e.syncMultichartState(e.endChanging(!0,!1))}undo(){if(this._pointState){const e=(0,i.ensureNotNull)(this._model.dataSourceForId(this._lineToolId));e.startChanging(),e.restorePoints(...this._pointState),this._model.updateSource(e),e.updateAllViews((0,s.sourceChangeEvent)(e.id())),e.syncMultichartState(e.endChanging(!0,!1))}}}var c=n(95338),p=n(22613),u=n(43337),h=n(91682);const y=-5e4,m=15e3,w=new l.TranslatedString("change price Y coordinate",r.t(null,void 0,n(11737))),f=new l.TranslatedString("change bar X coordinate",r.t(null,void 0,n(2066))),v=new l.TranslatedString("move drawings",r.t(null,void 0,n(76261)));function P(e,t,n){return{property:(0,c.convertToDefinitionProperty)(e,t.price,w),info:{typeY:1,stepY:n}}}function g(e,t){return{property:(0,c.convertToDefinitionProperty)(e,t.bar,null,void 0,(n=>{n!==t.bar.value()&&e.setProperty(t.bar,(0,o.clamp)(n,y,m),f)})),info:{typeX:0,stepX:new p.WatchedValue(1)}}}function T(e,t,n,i,o,r){const l=g(e,t),s=P(e,t,i);return(0,c.createCoordinatesPropertyDefinition)({x:l.property,y:s.property},{id:(0,h.removeSpaces)(`${r}Coordinates${o}`),title:o,...l.info,...s.info})}const b=/^([+*\-\/]?)((?:\d*)|(?:\d+\.\d*))$/;function S(e,t,n){const o=new u.Property(""),r=(0,c.makeProxyDefinitionProperty)(o.weakReference());return r.setValue=r=>{try{const o=r.match(b);if(!o)return;const[,l,s]=o;if(!s.length)return;const a=n(parseFloat(s));if("/"===l&&(0===a.price||0===a.index))return;t.withMacro(v,(()=>{e.filter((e=>!e.isSourceHidden())).forEach((e=>{const n=e.points();let o;switch(l){case"":{const e=(0,i.ensureDefined)(n[0]);let{index:t=e.index,price:r=e.price}=a;r-=e.price,t-=e.index,o=n.map((e=>({...e,index:e.index+t,price:e.price+r})));break}case"-":case"+":{let{index:e=0,price:t=0}=a;"-"===l&&(e*=-1,t*=-1),o=n.map((n=>({...n,index:n.index+e,price:n.price+t})));break}case"*":{const{index:e=1,price:t=1}=a;o=n.map((n=>({...n,index:n.index*e,price:n.price*t})));break}case"/":{const{index:e=1,price:t=1}=a;o=n.map((n=>({...n,index:n.index/e,price:n.price/t})));break}}t.undoHistory().pushUndoCommand(new d({lineToolId:e.id(),chartModel:t.model(),newPositionPoints:o}))}))}))}finally{o.setValue("",!0)}},r}function C(e,t){const i=S(e,t,(e=>({index:e}))),o=S(e,t,(e=>({price:e})));return(0,
|
||||||
|
c.createSelectionCoordinatesPropertyDefinition)({x:i,y:o},{id:"SourcesCoordinates",title:r.t(null,void 0,n(44272)),mathOperationsX:"+",mathOperationsY:"+/*",modeX:"integer",modeY:"float"})}},73863:(e,t,n)=>{n.r(t),n.d(t,{getIntervalsVisibilitiesPropertiesDefinitions:()=>ae,getSelectionIntervalsVisibilitiesPropertiesDefinition:()=>de});var i=n(11542),o=n(95804),r=n(95338),l=n(22613),s=n(87296),a=n(15574),d=n(65045),c=n(66567);const p=new o.TranslatedString("change {title} visibility on ticks",i.t(null,void 0,n(98596))),u=new o.TranslatedString("change {title} visibility on seconds",i.t(null,void 0,n(41315))),h=new o.TranslatedString("change {title} seconds from",i.t(null,void 0,n(86780))),y=new o.TranslatedString("change {title} seconds to",i.t(null,void 0,n(6573))),m=new o.TranslatedString("change {title} visibility on minutes",i.t(null,void 0,n(78219))),w=new o.TranslatedString("change {title} minutes from",i.t(null,void 0,n(59820))),f=new o.TranslatedString("change {title} minutes to",i.t(null,void 0,n(38011))),v=new o.TranslatedString("change {title} visibility on hours",i.t(null,void 0,n(68715))),P=new o.TranslatedString("change {title} hours from",i.t(null,void 0,n(8306))),g=new o.TranslatedString("change {title} hours to",i.t(null,void 0,n(67233))),T=new o.TranslatedString("change {title} visibility on days",i.t(null,void 0,n(56402))),b=new o.TranslatedString("change {title} days from",i.t(null,void 0,n(91201))),S=new o.TranslatedString("change {title} days to",i.t(null,void 0,n(96135))),C=new o.TranslatedString("change {title} visibility on weeks",i.t(null,void 0,n(71084))),k=new o.TranslatedString("change {title} weeks from",i.t(null,void 0,n(32481))),V=new o.TranslatedString("change {title} weeks to",i.t(null,void 0,n(18678))),W=new o.TranslatedString("change {title} visibility on months",i.t(null,void 0,n(67583))),D=new o.TranslatedString("change {title} months from",i.t(null,void 0,n(99122))),_=new o.TranslatedString("change {title} months to",i.t(null,void 0,n(10518))),x=(new o.TranslatedString("change {title} visibility on ranges",i.t(null,{replace:{ranges:"ranges"}},n(55616))),
|
||||||
|
i.t(null,void 0,n(24821))),U=i.t(null,void 0,n(65188)),I=i.t(null,void 0,n(42562)),M=i.t(null,void 0,n(56796)),L=i.t(null,void 0,n(72942)),F=i.t(null,void 0,n(835)),A=i.t(null,void 0,n(43154)),R=new o.TranslatedString("ticks",i.t(null,void 0,n(3539))),N=new o.TranslatedString("seconds",i.t(null,void 0,n(751))),E=new o.TranslatedString("seconds from",i.t(null,void 0,n(35801))),X=new o.TranslatedString("seconds to",i.t(null,void 0,n(73419))),Y=new o.TranslatedString("minutes",i.t(null,void 0,n(18726))),H=new o.TranslatedString("minutes from",i.t(null,void 0,n(22476))),j=new o.TranslatedString("minutes to",i.t(null,void 0,n(67649))),$=new o.TranslatedString("hours",i.t(null,void 0,n(2359))),O=new o.TranslatedString("hours from",i.t(null,void 0,n(82267))),z=new o.TranslatedString("hours to",i.t(null,void 0,n(15600))),q=new o.TranslatedString("days",i.t(null,void 0,n(35813))),B=new o.TranslatedString("days from",i.t(null,void 0,n(59215))),G=new o.TranslatedString("days to",i.t(null,void 0,n(89919))),J=new o.TranslatedString("weeks",i.t(null,void 0,n(45537))),K=new o.TranslatedString("weeks from",i.t(null,void 0,n(92859))),Q=new o.TranslatedString("weeks to",i.t(null,void 0,n(44127))),Z=new o.TranslatedString("months",i.t(null,void 0,n(95300))),ee=new o.TranslatedString("months from",i.t(null,void 0,n(17250))),te=new o.TranslatedString("months to",i.t(null,void 0,n(2828))),ne=(new o.TranslatedString("ranges","ranges"),[1,59]),ie=[1,59],oe=[1,24],re=[1,366],le=[1,52],se=[1,12];function ae(e,t,n){const i=[];if((0,a.isTicksEnabled)()){const o=(0,r.createCheckablePropertyDefinition)({checked:(0,r.convertToDefinitionProperty)(e,t.ticks,p.format({title:n}))},{id:"IntervalsVisibilitiesTicks",title:x});i.push(o)}if((0,s.isSecondsEnabled)()){const o=(0,r.createRangePropertyDefinition)({checked:(0,r.convertToDefinitionProperty)(e,t.seconds,u.format({title:n})),from:(0,r.convertToDefinitionProperty)(e,t.secondsFrom,h.format({title:n})),to:(0,r.convertToDefinitionProperty)(e,t.secondsTo,y.format({title:n}))},{id:"IntervalsVisibilitiesSecond",title:U,min:new l.WatchedValue(ne[0]),max:new l.WatchedValue(ne[1])});i.push(o)}const o=(0,r.createRangePropertyDefinition)({checked:(0,r.convertToDefinitionProperty)(e,t.minutes,m.format({title:n})),from:(0,r.convertToDefinitionProperty)(e,t.minutesFrom,w.format({title:n})),to:(0,r.convertToDefinitionProperty)(e,t.minutesTo,f.format({title:n}))},{id:"IntervalsVisibilitiesMinutes",title:I,min:new l.WatchedValue(ie[0]),max:new l.WatchedValue(ie[1])}),d=(0,r.createRangePropertyDefinition)({checked:(0,r.convertToDefinitionProperty)(e,t.hours,v.format({title:n})),from:(0,r.convertToDefinitionProperty)(e,t.hoursFrom,P.format({title:n})),to:(0,r.convertToDefinitionProperty)(e,t.hoursTo,g.format({title:n}))},{id:"IntervalsVisibilitiesHours",title:M,min:new l.WatchedValue(oe[0]),max:new l.WatchedValue(oe[1])}),c=(0,r.createRangePropertyDefinition)({checked:(0,r.convertToDefinitionProperty)(e,t.days,T.format({title:n})),from:(0,r.convertToDefinitionProperty)(e,t.daysFrom,b.format({title:n})),to:(0,
|
||||||
|
r.convertToDefinitionProperty)(e,t.daysTo,S.format({title:n}))},{id:"IntervalsVisibilitiesDays",title:L,min:new l.WatchedValue(re[0]),max:new l.WatchedValue(re[1])});i.push(o,d,c);const R=(0,r.createRangePropertyDefinition)({checked:(0,r.convertToDefinitionProperty)(e,t.weeks,C.format({title:n})),from:(0,r.convertToDefinitionProperty)(e,t.weeksFrom,k.format({title:n})),to:(0,r.convertToDefinitionProperty)(e,t.weeksTo,V.format({title:n}))},{id:"IntervalsVisibilitiesWeeks",title:F,min:new l.WatchedValue(le[0]),max:new l.WatchedValue(le[1])}),N=(0,r.createRangePropertyDefinition)({checked:(0,r.convertToDefinitionProperty)(e,t.months,W.format({title:n})),from:(0,r.convertToDefinitionProperty)(e,t.monthsFrom,D.format({title:n})),to:(0,r.convertToDefinitionProperty)(e,t.monthsTo,_.format({title:n}))},{id:"IntervalsVisibilitiesMonths",title:A,min:new l.WatchedValue(se[0]),max:new l.WatchedValue(se[1])});return i.push(R,N),{definitions:i}}function de(e,t){const n=[];if((0,a.isTicksEnabled)()){const i=(0,r.createCheckablePropertyDefinition)({checked:new c.CollectiblePropertyUndoWrapper(new d.LineToolCollectedProperty(e.ticks),R,t)},{id:"IntervalsVisibilitiesTicks",title:x});n.push(i)}if((0,s.isSecondsEnabled)()){const i=(0,r.createRangePropertyDefinition)({checked:new c.CollectiblePropertyUndoWrapper(new d.LineToolCollectedProperty(e.seconds),N,t),from:new c.CollectiblePropertyUndoWrapper(new d.LineToolCollectedProperty(e.secondsFrom),E,t),to:new c.CollectiblePropertyUndoWrapper(new d.LineToolCollectedProperty(e.secondsTo),X,t)},{id:"IntervalsVisibilitiesSecond",title:U,min:new l.WatchedValue(ne[0]),max:new l.WatchedValue(ne[1])});n.push(i)}const i=(0,r.createRangePropertyDefinition)({checked:new c.CollectiblePropertyUndoWrapper(new d.LineToolCollectedProperty(e.minutes),Y,t),from:new c.CollectiblePropertyUndoWrapper(new d.LineToolCollectedProperty(e.minutesFrom),H,t),to:new c.CollectiblePropertyUndoWrapper(new d.LineToolCollectedProperty(e.minutesTo),j,t)},{id:"IntervalsVisibilitiesMinutes",title:I,min:new l.WatchedValue(ie[0]),max:new l.WatchedValue(ie[1])}),o=(0,r.createRangePropertyDefinition)({checked:new c.CollectiblePropertyUndoWrapper(new d.LineToolCollectedProperty(e.hours),$,t),from:new c.CollectiblePropertyUndoWrapper(new d.LineToolCollectedProperty(e.hoursFrom),O,t),to:new c.CollectiblePropertyUndoWrapper(new d.LineToolCollectedProperty(e.hoursTo),z,t)},{id:"IntervalsVisibilitiesHours",title:M,min:new l.WatchedValue(oe[0]),max:new l.WatchedValue(oe[1])}),p=(0,r.createRangePropertyDefinition)({checked:new c.CollectiblePropertyUndoWrapper(new d.LineToolCollectedProperty(e.days),q,t),from:new c.CollectiblePropertyUndoWrapper(new d.LineToolCollectedProperty(e.daysFrom),B,t),to:new c.CollectiblePropertyUndoWrapper(new d.LineToolCollectedProperty(e.daysTo),G,t)},{id:"IntervalsVisibilitiesDays",title:L,min:new l.WatchedValue(re[0]),max:new l.WatchedValue(re[1])});n.push(i,o,p);const u=(0,r.createRangePropertyDefinition)({checked:new c.CollectiblePropertyUndoWrapper(new d.LineToolCollectedProperty(e.weeks),J,t),
|
||||||
|
from:new c.CollectiblePropertyUndoWrapper(new d.LineToolCollectedProperty(e.weeksFrom),K,t),to:new c.CollectiblePropertyUndoWrapper(new d.LineToolCollectedProperty(e.weeksTo),Q,t)},{id:"IntervalsVisibilitiesWeeks",title:F,min:new l.WatchedValue(le[0]),max:new l.WatchedValue(le[1])}),h=(0,r.createRangePropertyDefinition)({checked:new c.CollectiblePropertyUndoWrapper(new d.LineToolCollectedProperty(e.months),Z,t),from:new c.CollectiblePropertyUndoWrapper(new d.LineToolCollectedProperty(e.monthsFrom),ee,t),to:new c.CollectiblePropertyUndoWrapper(new d.LineToolCollectedProperty(e.monthsTo),te,t)},{id:"IntervalsVisibilitiesMonths",title:A,min:new l.WatchedValue(se[0]),max:new l.WatchedValue(se[1])});return n.push(u,h),{definitions:n}}},66567:(e,t,n)=>{n.d(t,{CollectiblePropertyUndoWrapper:()=>a});var i=n(50151),o=n(11542),r=n(95804),l=n(43337);const s=new r.TranslatedString("change {propertyName} property",o.t(null,void 0,n(25167)));class a extends l.Property{constructor(e,t,n){super(),this._isProcess=!1,this._listenersMappers=[],this._valueApplier={applyValue:(e,t)=>{this._propertyApplier.setProperty(e,t,s)}},this._baseProperty=e,this._propertyApplier=n,this._propertyName=t}destroy(){this._baseProperty.destroy(),super.destroy()}value(){return this._baseProperty.value()}setValue(e,t){this._propertyApplier.beginUndoMacro(s.format({propertyName:this._propertyName})),this._isProcess=!0,this._baseProperty.setValue(e,void 0,this._valueApplier),this._isProcess=!1,this._propertyApplier.endUndoMacro(),this._listenersMappers.forEach((e=>{e.method.call(e.obj,this,"")}))}subscribe(e,t){const n=()=>{this._isProcess||t.call(e,this,"")};this._listenersMappers.push({obj:e,method:t,callback:n}),this._baseProperty.subscribe(e,n)}unsubscribe(e,t){const n=(0,i.ensureDefined)(this._listenersMappers.find((n=>n.obj===e&&n.method===t))?.callback);this._baseProperty.unsubscribe(e,n)}unsubscribeAll(e){this._baseProperty.unsubscribeAll(e)}}},81634:(e,t,n)=>{n.d(t,{PropertyApplierWithoutSavingChart:()=>o});var i=n(13896);class o{constructor(e){this._undoModelSupplier=e}setProperty(e,t,n){this._undoModelSupplier().setProperty(e,t,n,i.lineToolsDoNotAffectChartInvalidation)}beginUndoMacro(e){return this._undoModelSupplier().beginUndoMacro(e)}endUndoMacro(){this._undoModelSupplier().endUndoMacro()}setWatchedValue(e,t,n){this._undoModelSupplier().undoHistory().setWatchedValue(e,t,n,i.lineToolsDoNotAffectChartInvalidation)}}}}]);
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[2751],{66783:e=>{"use strict";var t=Object.prototype.hasOwnProperty;function r(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}e.exports=function(e,n){if(r(e,n))return!0;if("object"!=typeof e||null===e||"object"!=typeof n||null===n)return!1;var o=Object.keys(e),a=Object.keys(n);if(o.length!==a.length)return!1;for(var s=0;s<o.length;s++)if(!t.call(n,o[s])||!r(e[o[s]],n[o[s]]))return!1;return!0}},88317:e=>{e.exports={pills:"pills-PVWoXu5j",primary:"primary-PVWoXu5j",gray:"gray-PVWoXu5j",selected:"selected-PVWoXu5j",grouped:"grouped-PVWoXu5j",active:"active-PVWoXu5j",disableActiveOnTouch:"disableActiveOnTouch-PVWoXu5j",disableActiveStateStyles:"disableActiveStateStyles-PVWoXu5j",withGrouped:"withGrouped-PVWoXu5j","quiet-primary":"quiet-primary-PVWoXu5j",green:"green-PVWoXu5j",red:"red-PVWoXu5j",blue:"blue-PVWoXu5j",secondary:"secondary-PVWoXu5j",ghost:"ghost-PVWoXu5j"}},1538:e=>{e.exports={lightButton:"lightButton-bYDQcOkp",link:"link-bYDQcOkp",ltr:"ltr-bYDQcOkp",rtl:"rtl-bYDQcOkp","typography-regular16px":"typography-regular16px-bYDQcOkp","typography-medium16px":"typography-medium16px-bYDQcOkp","typography-regular14px":"typography-regular14px-bYDQcOkp","typography-semibold14px":"typography-semibold14px-bYDQcOkp","typography-semibold16px":"typography-semibold16px-bYDQcOkp",content:"content-bYDQcOkp",visuallyHidden:"visuallyHidden-bYDQcOkp",nowrap:"nowrap-bYDQcOkp",ellipsisContainer:"ellipsisContainer-bYDQcOkp",textWrapContainer:"textWrapContainer-bYDQcOkp",textWrapWithEllipsis:"textWrapWithEllipsis-bYDQcOkp",slot:"slot-bYDQcOkp",caret:"caret-bYDQcOkp",activeCaret:"activeCaret-bYDQcOkp",xsmall:"xsmall-bYDQcOkp",withStartSlot:"withStartSlot-bYDQcOkp",withEndSlot:"withEndSlot-bYDQcOkp",noContent:"noContent-bYDQcOkp",wrap:"wrap-bYDQcOkp",small:"small-bYDQcOkp",medium:"medium-bYDQcOkp"}},78217:e=>{e.exports={pair:"pair-ocURKVwI",xxceptionallysmalldonotusebrv1023:"xxceptionallysmalldonotusebrv1023-ocURKVwI",xxxxsmall:"xxxxsmall-ocURKVwI",xxxsmall:"xxxsmall-ocURKVwI",xxsmall:"xxsmall-ocURKVwI",xsmall:"xsmall-ocURKVwI",small:"small-ocURKVwI",medium:"medium-ocURKVwI",large:"large-ocURKVwI",xlarge:"xlarge-ocURKVwI",xxlarge:"xxlarge-ocURKVwI",xxxlarge:"xxxlarge-ocURKVwI",logo:"logo-ocURKVwI",skeleton:"skeleton-ocURKVwI",empty:"empty-ocURKVwI"}},34869:e=>{e.exports={hidden:"hidden-DgcIT6Uz",fadeInWrapper:"fadeInWrapper-DgcIT6Uz"}},85862:e=>{e.exports={disableSelfPositioning:"disableSelfPositioning-dYiqkKAE"}},79566:e=>{e.exports={container:"container-M1mz4quA",pairContainer:"pairContainer-M1mz4quA",logo:"logo-M1mz4quA",hidden:"hidden-M1mz4quA"}},92335:e=>{e.exports={container:"container-qm7Rg5MB",mobile:"mobile-qm7Rg5MB",inputContainer:"inputContainer-qm7Rg5MB",withCancel:"withCancel-qm7Rg5MB",input:"input-qm7Rg5MB",icon:"icon-qm7Rg5MB",cancel:"cancel-qm7Rg5MB"}},10070:e=>{e.exports={actions:"actions-rarsm4ka",actionButton:"actionButton-rarsm4ka"}},94869:e=>{e.exports={logo:"logo-d0vVmGvT"}},92069:e=>{e.exports={
|
|
||||||
"tablet-small-breakpoint":"(max-width: 440px)",itemRow:"itemRow-oRSs8UQo",multiLine:"multiLine-oRSs8UQo",cell:"cell-oRSs8UQo",itemInfoCell:"itemInfoCell-oRSs8UQo",description:"description-oRSs8UQo",symbolDescription:"symbolDescription-oRSs8UQo",flag:"flag-oRSs8UQo",exchangeDescription:"exchangeDescription-oRSs8UQo",marketType:"marketType-oRSs8UQo",exchangeName:"exchangeName-oRSs8UQo",actionHandleWrap:"actionHandleWrap-oRSs8UQo",source:"source-oRSs8UQo",hover:"hover-oRSs8UQo",selected:"selected-oRSs8UQo",active:"active-oRSs8UQo",highlighted:"highlighted-oRSs8UQo",light:"light-oRSs8UQo","highlight-animation-theme-light":"highlight-animation-theme-light-oRSs8UQo",dark:"dark-oRSs8UQo","highlight-animation-theme-dark":"highlight-animation-theme-dark-oRSs8UQo",markedFlag:"markedFlag-oRSs8UQo",offset:"offset-oRSs8UQo",descriptionCell:"descriptionCell-oRSs8UQo",addition:"addition-oRSs8UQo",exchangeCell:"exchangeCell-oRSs8UQo",fixedWidth:"fixedWidth-oRSs8UQo",expandHandle:"expandHandle-oRSs8UQo",expanded:"expanded-oRSs8UQo",symbolTitle:"symbolTitle-oRSs8UQo",invalid:"invalid-oRSs8UQo",noDescription:"noDescription-oRSs8UQo",highlightedText:"highlightedText-oRSs8UQo",icon:"icon-oRSs8UQo",narrow:"narrow-oRSs8UQo",wide:"wide-oRSs8UQo",dataMode:"dataMode-oRSs8UQo",actionsCell:"actionsCell-oRSs8UQo",action:"action-oRSs8UQo",targetAction:"targetAction-oRSs8UQo",removeAction:"removeAction-oRSs8UQo",addAction:"addAction-oRSs8UQo",markedFlagWrap:"markedFlagWrap-oRSs8UQo",markedFlagMobile:"markedFlagMobile-oRSs8UQo",logo:"logo-oRSs8UQo",isExpandable:"isExpandable-oRSs8UQo",primaryIcon:"primaryIcon-oRSs8UQo"}},6963:e=>{e.exports={icon:"icon-OJpk_CAQ"}},6109:e=>{e.exports={wrap:"wrap-IxKZEhmO",libAllSelected:"libAllSelected-IxKZEhmO",container:"container-IxKZEhmO",iconWrap:"iconWrap-IxKZEhmO",icon:"icon-IxKZEhmO",title:"title-IxKZEhmO",highlighted:"highlighted-IxKZEhmO",description:"description-IxKZEhmO",mobile:"mobile-IxKZEhmO",allSelected:"allSelected-IxKZEhmO",desktop:"desktop-IxKZEhmO",allSelectedIcon:"allSelectedIcon-IxKZEhmO",selected:"selected-IxKZEhmO",focused:"focused-IxKZEhmO",titleWithoutDesc:"titleWithoutDesc-IxKZEhmO",textBlock:"textBlock-IxKZEhmO",bordered:"bordered-IxKZEhmO"}},96137:e=>{e.exports={container:"container-dfKL9A7t",contentList:"contentList-dfKL9A7t",contentListDesktop:"contentListDesktop-dfKL9A7t",searchSourceItemsContainer:"searchSourceItemsContainer-dfKL9A7t",oneColumn:"oneColumn-dfKL9A7t",searchSourceItemsContainerDesktop:"searchSourceItemsContainerDesktop-dfKL9A7t",groupTitleDesktop:"groupTitleDesktop-dfKL9A7t",column:"column-dfKL9A7t",emptyText:"emptyText-dfKL9A7t",emptyIcon:"emptyIcon-dfKL9A7t",noResultsDesktop:"noResultsDesktop-dfKL9A7t"}},6591:e=>{e.exports={wrap:"wrap-gjrLBBL3",item:"item-gjrLBBL3",small:"small-gjrLBBL3",newStyles:"newStyles-gjrLBBL3",mobile:"mobile-gjrLBBL3",text:"text-gjrLBBL3",exchange:"exchange-gjrLBBL3",filterItem:"filterItem-gjrLBBL3",brokerWrap:"brokerWrap-gjrLBBL3"}},44458:e=>{e.exports={wrap:"wrap-dlewR1s1",watchlist:"watchlist-dlewR1s1",noFeed:"noFeed-dlewR1s1",
|
|
||||||
newStyles:"newStyles-dlewR1s1",scrollContainer:"scrollContainer-dlewR1s1",listContainer:"listContainer-dlewR1s1",multiLineItemsContainer:"multiLineItemsContainer-dlewR1s1",withSpinner:"withSpinner-dlewR1s1",spinnerContainer:"spinnerContainer-dlewR1s1",largeSpinner:"largeSpinner-dlewR1s1"}},76717:e=>{e.exports={search:"search-ZXzPWcCf",upperCase:"upperCase-ZXzPWcCf",bubblesContainer:"bubblesContainer-ZXzPWcCf",mobile:"mobile-ZXzPWcCf",bubbles:"bubbles-ZXzPWcCf",withFilters:"withFilters-ZXzPWcCf",spinnerWrap:"spinnerWrap-ZXzPWcCf",emptyText:"emptyText-ZXzPWcCf",emptyIcon:"emptyIcon-ZXzPWcCf",noResultsDesktop:"noResultsDesktop-ZXzPWcCf",brokerButtonWrap:"brokerButtonWrap-ZXzPWcCf"}},92244:e=>{e.exports={flagWrap:"flagWrap-QKnxaZOG",icon:"icon-QKnxaZOG",caret:"caret-QKnxaZOG",title:"title-QKnxaZOG",button:"button-QKnxaZOG",withFlag:"withFlag-QKnxaZOG",buttonContent:"buttonContent-QKnxaZOG"}},63748:e=>{e.exports={dialog:"dialog-u2dP3kv1",tabletDialog:"tabletDialog-u2dP3kv1",desktopDialog:"desktopDialog-u2dP3kv1",backButton:"backButton-u2dP3kv1"}},24517:e=>{e.exports={childrenWrapper:"childrenWrapper-_RhDhmVQ",container:"container-_RhDhmVQ"}},95059:e=>{e.exports={highlighted:"highlighted-cwp8YRo6"}},93524:e=>{e.exports={linkItem:"linkItem-zMVwkifW"}},90854:e=>{e.exports={roundTabButton:"roundTabButton-JbssaNvk",disableFocusOutline:"disableFocusOutline-JbssaNvk",enableCursorPointer:"enableCursorPointer-JbssaNvk",large:"large-JbssaNvk",withStartIcon:"withStartIcon-JbssaNvk",iconOnly:"iconOnly-JbssaNvk",withEndIcon:"withEndIcon-JbssaNvk",startIconWrap:"startIconWrap-JbssaNvk",endIconWrap:"endIconWrap-JbssaNvk",small:"small-JbssaNvk",xsmall:"xsmall-JbssaNvk",primary:"primary-JbssaNvk",selected:"selected-JbssaNvk",disableActiveStateStyles:"disableActiveStateStyles-JbssaNvk",ghost:"ghost-JbssaNvk",fake:"fake-JbssaNvk",caret:"caret-JbssaNvk",visuallyHidden:"visuallyHidden-JbssaNvk"}},76912:e=>{e.exports={scrollWrap:"scrollWrap-vgCB17hK",overflowScroll:"overflowScroll-vgCB17hK",roundTabs:"roundTabs-vgCB17hK",center:"center-vgCB17hK",overflowWrap:"overflowWrap-vgCB17hK",start:"start-vgCB17hK"}},49128:e=>{e.exports={icon:"icon-WB2y0EnP",dropped:"dropped-WB2y0EnP"}},18429:(e,t,r)=>{"use strict";r.d(t,{SEPARATOR_PREFIX:()=>n,isSeparatorItem:()=>o});const n="###";function o(e){return e.startsWith(n)}},48199:(e,t,r)=>{"use strict";r.d(t,{BackButton:()=>v});var n,o=r(50959),a=r(64388),s=r(95694),l=r(49498),i=r(60176),c=r(35369),u=r(58478),d=r(73063),m=r(14127),p=r(18073),h=r(99243),g=r(42576);function f(e="large",t="1.2"){switch(e){case"large":return"1.2"===t?s:d;case"medium":return"1.2"===t?l:m;case"small":return"1.2"===t?i:p;case"xsmall":return"1.2"===t?c:h;case"xxsmall":return"1.2"===t?u:g;default:return l}}!function(e){e.Thin="1.2",e.Medium="1.5"}(n||(n={}));const v=o.forwardRef(((e,t)=>{const{"aria-label":r,flipIconOnRtl:n,...s}=e;return o.createElement(a.NavButton,{...s,"aria-label":r,ref:t,icon:f(e.size,e.iconStrokeWidth),flipIconOnRtl:n})}))},27011:(e,t,r)=>{"use strict";function n(e,t){
|
|
||||||
return t||null==e||("string"==typeof e||Array.isArray(e))&&0===e.length}r.d(t,{isIconOnly:()=>n})},14543:(e,t,r)=>{"use strict";r.d(t,{LightButton:()=>n.LightButton});r(9038);var n=r(15893);r(50959),r(21593),r(66860),r(1538),r(88317);r(49406)},9038:(e,t,r)=>{"use strict";r.d(t,{useLightButtonClasses:()=>c});var n=r(50959),o=r(97754),a=r(17946),s=r(27011),l=r(86332);const i=n.createContext({isInButtonGroup:!1,isGroupPrimary:!1}),c=(e,t,r)=>{const c=(0,n.useContext)(a.CustomBehaviourContext),{className:u,isSelected:d,children:m,showCaret:p,forceDirection:h,iconOnly:g,color:f="gray",variant:v="primary",size:b="medium",enableActiveStateStyles:y=c.enableActiveStateStyles,typography:S,isLink:x=!1,textWrap:w,isPills:k,isActive:C,startSlot:E,endSlot:I}=t,R=e[`typography-${((e,t,r)=>{if(r){const e=r.replace(/^\D+/g,"");return t?`semibold${e}`:r}switch(e){case"xsmall":return t?"semibold14px":"regular14px";case"small":case"medium":return t?"semibold16px":"regular16px";default:return""}})(b,d||k,S||void 0)}`],L=(0,n.useContext)(l.ControlGroupContext),{isInButtonGroup:T,isGroupPrimary:B}=(0,n.useContext)(i);return o(u,e.lightButton,x&&e.link,C&&e.active,d&&e.selected,(0,s.isIconOnly)(m,g)&&e.noContent,!!E&&e.withStartSlot,(p||!!I)&&e.withEndSlot,r&&e.withGrouped,h&&e[h],e[B?"primary":v],e[B?"gray":f],e[b],R,!y&&e.disableActiveStateStyles,L.isGrouped&&e.grouped,w&&e.wrap,T&&e.disableActiveOnTouch,k&&e.pills)}},66860:(e,t,r)=>{"use strict";r.d(t,{LightButtonContent:()=>m});var n=r(50959),o=r(97754),a=r(34094),s=r(27011),l=r(9745),i=r(2948),c=r(1538),u=r.n(c);const d=e=>n.createElement(l.Icon,{className:o(u().caret,e&&u().activeCaret),icon:i});function m(e){const{showCaret:t,iconOnly:r,ellipsis:l=!0,textWrap:i,tooltipText:c,children:m,endSlot:p,startSlot:h,isActiveCaret:g}=e;[p,t].filter((e=>!!e));return n.createElement(n.Fragment,null,h&&n.createElement("span",{className:o(u().slot,u().startSlot)},h),!(0,s.isIconOnly)(m,r)&&n.createElement("span",{className:o(u().content,!i&&u().nowrap,"apply-overflow-tooltip","apply-overflow-tooltip--check-children-recursively","apply-overflow-tooltip--allow-text"),"data-overflow-tooltip-text":c??(0,a.getTextForTooltip)(m)},i||l?n.createElement(n.Fragment,null,n.createElement("span",{className:o(!i&&l&&u().ellipsisContainer,i&&u().textWrapContainer,i&&l&&u().textWrapWithEllipsis)},m),n.createElement("span",{className:u().visuallyHidden,"aria-hidden":!0},m)):n.createElement(n.Fragment,null,m,n.createElement("span",{className:u().visuallyHidden,"aria-hidden":!0},m))),p&&n.createElement("span",{className:o(u().slot,u().endSlot)},p),t&&d(g))}},15893:(e,t,r)=>{"use strict";r.d(t,{LightButton:()=>d});var n=r(50959),o=r(86332),a=r(9038),s=r(66860),l=r(1538),i=r.n(l),c=r(88317),u=r.n(c);function d(e){
|
|
||||||
const{isGrouped:t}=n.useContext(o.ControlGroupContext),{reference:r,className:l,isSelected:c,children:d,iconOnly:m,ellipsis:p,showCaret:h,forceDirection:g,endSlot:f,startSlot:v,color:b,variant:y,size:S,enableActiveStateStyles:x,typography:w,textWrap:k=!1,maxLines:C,style:E={},isPills:I,isActive:R,tooltipText:L,role:T,...B}=e,N=k?C??2:1,M=N>0?{...E,"--ui-lib-light-button-content-max-lines":N}:E;return n.createElement("button",{...B,className:(0,a.useLightButtonClasses)({...u(),...i()},{className:l,isSelected:c,children:d,iconOnly:m,showCaret:h,forceDirection:g,endSlot:f,startSlot:v,color:b,variant:y,size:S,enableActiveStateStyles:x,typography:w,textWrap:k,isPills:I,isActive:R},t),ref:r,style:M,role:T},n.createElement(s.LightButtonContent,{showCaret:h,isActiveCaret:h&&(I||R||c),iconOnly:m,ellipsis:p,textWrap:k,tooltipText:L,endSlot:f,startSlot:v},d))}},125:(e,t,r)=>{"use strict";r.d(t,{useForceUpdate:()=>o});var n=r(50959);const o=()=>{const[,e]=(0,n.useReducer)((e=>e+1),0);return e}},34094:(e,t,r)=>{"use strict";r.d(t,{getTextForTooltip:()=>s});var n=r(50959);const o=e=>(0,n.isValidElement)(e)&&Boolean(e.props.children),a=e=>null==e||"boolean"==typeof e||"{}"===JSON.stringify(e)?"":e.toString()+" ",s=e=>Array.isArray(e)||(0,n.isValidElement)(e)?n.Children.toArray(e).reduce(((e,t)=>{let r="";return r=(0,n.isValidElement)(t)&&o(t)?s(t.props.children):(0,n.isValidElement)(t)&&!o(t)?"":a(t),e.concat(r)}),"").trim():a(e)},3685:(e,t,r)=>{"use strict";function n(){return window.configurationData?.exchanges?.map((e=>({...e,country:"",providerId:"",flag:""})))??[]}r.d(t,{getExchanges:()=>n})},36279:(e,t,r)=>{"use strict";var n;r.d(t,{LogoSize:()=>n,getLogoUrlResolver:()=>s}),function(e){e[e.Medium=0]="Medium",e[e.Large=1]="Large"}(n||(n={}));class o{getSymbolLogoUrl(e){return e}getCountryFlagUrl(){return""}getCryptoLogoUrl(e){return e}getProviderLogoUrl(e){return e}getSourceLogoUrl(e){return e}getBlockchainContractLogoUrl(e){return e}}let a;function s(){return a||(a=new o),a}},69654:(e,t,r)=>{"use strict";r.d(t,{DialogSearch:()=>d});var n=r(50959),o=r(97754),a=r.n(o),s=r(11542),l=r(9745),i=r(6347),c=r(54313),u=r(92335);function d(e){const{children:t,isMobile:o,renderInput:d,onCancel:p,containerClassName:h,inputContainerClassName:g,iconClassName:f,cancelTitle:v=s.t(null,void 0,r(4543)),...b}=e;return n.createElement("div",{className:a()(u.container,o&&u.mobile,h)},n.createElement("div",{className:a()(u.inputContainer,o&&u.mobile,g,p&&u.withCancel)},d||n.createElement(m,{isMobile:o,...b})),t,n.createElement(l.Icon,{className:a()(u.icon,o&&u.mobile,f),icon:o?c:i}),p&&(!o||""!==b.value)&&n.createElement("div",{className:a()(u.cancel,o&&u.mobile),onClick:p},v))}function m(e){const{className:t,reference:r,isMobile:o,value:s,onChange:l,onFocus:i,onBlur:c,onKeyDown:d,onSelect:m,placeholder:p,activeDescendant:h,...g}=e;return n.createElement("input",{...g,ref:r,type:"text",className:a()(t,u.input,o&&u.mobile),autoComplete:"off",role:"searchbox","data-role":"search",placeholder:p,value:s,onChange:l,onFocus:i,onBlur:c,onSelect:m,
|
|
||||||
onKeyDown:d,"aria-activedescendant":h})}},96967:(e,t,r)=>{"use strict";r.d(t,{SymbolSearchDialogContentItem:()=>D});var n=r(50959),o=r(97754),a=r.n(o),s=(r(11542),r(50151)),l=r(9745),i=r(56570),c=r(24637),u=r(97006),d=r(84524),m=r(24633),p=r(77975),h=r(45345),g=r(32563),f=r(91682),v=r(618),b=r(36279),y=r(59695),S=r(58492),x=r(39330),w=r(19938),k=r(43010),C=r(79566);function E(e){const{className:t,placeholderLetter:r,url1:o,url2:s,size:l="xxxsmall"}=e,i=(0,n.useRef)(null),c=(0,n.useRef)(null),u=(0,n.useRef)(null),d=(0,n.useRef)(null),m=(0,n.useRef)(null),p=(0,n.useRef)(null);return(0,k.useIsomorphicLayoutEffect)((()=>{const e=void 0===o?[]:void 0===s?[o]:[o,s],t=p.current=(r=e,Promise.all(r.map((e=>(0,w.getImage)(`symbol_logo_${e}`,e,R).then((e=>e.cloneNode()))))));var r;t.catch((()=>[])).then((e=>{if(t===p.current)switch(e.length){case 0:u.current?.classList.add(C.hidden),c.current?.classList.add(y.hiddenCircleLogoClass),i.current?.classList.remove(y.hiddenCircleLogoClass);break;case 1:I(c.current,e[0]),u.current?.classList.add(C.hidden),c.current?.classList.remove(y.hiddenCircleLogoClass),i.current?.classList.add(y.hiddenCircleLogoClass);break;case 2:I(d.current,e[0]),I(m.current,e[1]),u.current?.classList.remove(C.hidden),c.current?.classList.add(y.hiddenCircleLogoClass),i.current?.classList.add(y.hiddenCircleLogoClass)}}))}),[o,s]),n.createElement("span",{className:a()(t,C.container)},n.createElement("span",{ref:u,className:a()(C.pairContainer,C.hidden)},n.createElement("span",{className:(0,x.getBlockStyleClasses)(l)},n.createElement("span",{ref:m,className:a()(C.logo,(0,x.getLogoStyleClasses)(l))}),n.createElement("span",{ref:d,className:a()(C.logo,(0,x.getLogoStyleClasses)(l))}))),n.createElement("span",{ref:c,className:a()(C.logo,y.hiddenCircleLogoClass,(0,S.getStyleClasses)(l))}),n.createElement("span",{ref:i,className:a()(C.logo,(0,S.getStyleClasses)(l))},n.createElement(y.CircleLogo,{size:l,placeholderLetter:r})))}function I(e,t){e&&(e.innerHTML="",e.appendChild(t))}function R(e){e.crossOrigin="",e.decoding="async"}var L=r(94869);function T(e){const{logoId:t,baseCurrencyLogoId:r,currencyLogoId:o,placeholder:s,className:l,size:i="xsmall"}=e,c=(0,n.useMemo)((()=>{const e={logoid:t,"currency-logoid":o,"base-currency-logoid":r};return(0,v.removeUsdFromCryptoPairLogos)((0,v.resolveLogoUrls)(e,b.LogoSize.Medium))}),[t,o,r]);return n.createElement(E,{key:i,className:a()(L.logo,l),url1:c[0],url2:c[1],placeholderLetter:s,size:i})}var B=r(29562),N=r(69533),M=r(92069);function D(e){
|
|
||||||
const{dangerousTitleHTML:t,title:r,dangerousDescriptionHTML:o,description:v,searchToken:b,exchangeName:y,marketType:S,onClick:x,isSelected:w,isEod:k=!1,isActive:C=!1,isOffset:E=!1,invalid:I=!1,isHighlighted:R=!1,hideExchange:L=!1,hideMarkedListFlag:D=!1,onExpandClick:O,isExpanded:A,hoverComponent:_,country:P,providerId:F,source:W,source2:Q,type:U,flag:V,itemRef:K,onMouseOut:z,onMouseOver:H,className:Z,actions:G,reference:q,fullSymbolName:j,logoId:$,currencyLogoId:Y,baseCurrencyLogoId:X,shortName:J,hideLogo:ee=!1,exchangeTooltip:te,hideMarketType:re,isPrimary:ne}=e,{isSmallWidth:oe,isMobile:ae}=(0,s.ensureNotNull)((0,n.useContext)(d.SymbolSearchItemsDialogContext)),se=Boolean(_),le=!I&&!L&&(ae||!se),ie=(0,p.useWatchedValueReadonly)({watchedValue:h.watchedTheme})===m.StdTheme.Dark?M.dark:M.light,ce=_,ue=i.enabled("show_symbol_logos"),de=i.enabled("show_exchange_logos"),me=ue||!1,pe=Q?.description??W,he=Q?.name??W;return n.createElement("div",{className:a()(M.itemRow,oe&&M.multiLine,R&&M.highlighted,R&&ie,w&&M.selected,C&&M.active,I&&M.invalid,!ae&&g.mobiletouch&&se&&M.hover,Z),onClick:function(e){if(!x||e.defaultPrevented)return;e.preventDefault(),x(e)},"data-role":e["data-role"]||"list-item","data-active":C,"data-type":S,"data-name":"symbol-search-dialog-content-item",onMouseOut:z,onMouseOver:H,ref:q},n.createElement("div",{ref:K,className:a()(M.itemInfoCell,M.cell,E&&M.offset)},n.createElement("div",{className:a()(M.actionHandleWrap,!me&&M.fixedWidth)},n.createElement(n.Fragment,null,!1,O&&n.createElement("div",{onClick:function(e){if(!O||e.defaultPrevented)return;e.preventDefault(),O(e)}},n.createElement(l.Icon,{className:a()(M.expandHandle,A&&M.expanded,w&&M.selected),icon:N})),me&&!E&&n.createElement("div",{className:a()(M.logo,Boolean(O)&&M.isExpandable)},n.createElement(T,{key:j,logoId:$,currencyLogoId:Y,baseCurrencyLogoId:X,placeholder:J?J[0]:void 0})))),n.createElement("div",{className:a()(M.description,me&&E&&M.offset)},r&&n.createElement("div",{className:a()(M.symbolTitle,C&&M.active,I&&M.invalid,!Boolean(o)&&M.noDescription,!g.mobiletouch&&"apply-overflow-tooltip"),"data-overflow-tooltip-text":r,"data-name":"list-item-title"},"string"==typeof r&&b?n.createElement(c.HighlightedText,{className:M.highlightedText,text:r,queryString:b,rules:(0,u.createRegExpList)(b)}):r,k&&n.createElement("span",{className:M.dataMode},"E")),!r&&t&&n.createElement("div",{className:a()(M.symbolTitle,C&&M.active,I&&M.invalid,!g.mobiletouch&&"apply-overflow-tooltip"),"data-name":"list-item-title","data-overflow-tooltip-text":(0,f.removeTags)(t)},n.createElement("span",{dangerouslySetInnerHTML:{__html:t}}),k&&n.createElement("span",{className:M.dataMode},"E")),oe&&ge())),!oe&&n.createElement("div",{className:a()(M.cell,M.descriptionCell,Boolean(ce)&&M.addition)},ge(),ce?n.createElement(ce,{...e,className:M.actions,onMouseOver:void 0,onMouseOut:void 0}):null),oe&&ce?n.createElement(ce,{...e,className:M.cell,onMouseOver:void 0,onMouseOut:void 0}):null,le&&n.createElement("div",{className:a()(M.exchangeCell,M.cell)
|
|
||||||
},n.createElement("div",{className:a()(M.exchangeDescription)},!re&&n.createElement("div",{className:a()(M.marketType,C&&M.active)},S),n.createElement("div",{className:M.source},!1,"economic"===U&&pe&&he?n.createElement("div",{className:a()(M.exchangeName,C&&M.active,"apply-common-tooltip",M.narrow,re&&M.wide),title:pe},he):n.createElement("div",{className:a()(M.exchangeName,C&&M.active,te&&"apply-common-tooltip"),title:te},y))),de&&n.createElement("div",{className:M.flag},n.createElement(B.SymbolSearchFlag,{key:de?`${j}_exchange`:`${P}_${F}_${Q?.id}_${U}_${V}`,className:M.icon,country:P,providerId:F,sourceId:"economic"===U&&Q?Q.id:void 0}))),n.createElement("div",{className:a()(M.cell,Boolean(G)&&M.actionsCell)},G));function ge(){if(I)return null;const e=a()(M.symbolDescription,C&&M.active,!g.mobiletouch&&"apply-overflow-tooltip apply-overflow-tooltip--allow-text");return v?n.createElement("div",{className:e},b?n.createElement(c.HighlightedText,{className:M.highlightedText,text:v,queryString:b,rules:(0,u.createRegExpList)(b)}):v):o?n.createElement("div",{"data-overflow-tooltip-text":(0,f.removeTags)(o),className:e,dangerouslySetInnerHTML:{__html:o}}):null}}},29562:(e,t,r)=>{"use strict";r.d(t,{SymbolSearchFlag:()=>f});var n=r(50959),o=r(97754),a=r.n(o),s=r(24633),l=r(36279);const i=r.p+"mock-dark.16b5f3a431f502b03ae3.svg",c=r.p+"mock-light.d201313017eb2c1b989f.svg";function u(e){return e===s.StdTheme.Dark?i:c}var d=r(77975),m=r(45345),p=r(50151);const h=l.LogoSize.Medium;var g=r(6963);function f(e){const{country:t,tooltip:r,providerId:o,sourceId:s,className:i}=e,c=(0,d.useWatchedValueReadonly)({watchedValue:m.watchedTheme}),[f,v]=(0,n.useState)(function({country:e,providerId:t,sourceId:r}){const n=(0,l.getLogoUrlResolver)();return o=>{const a=e=>n.getProviderLogoUrl(e,h),s=[{value:r,resolve:a},{value:e,resolve:e=>n.getCountryFlagUrl(e.toUpperCase(),h)},{value:t,resolve:a}].find((({value:e})=>void 0!==e&&e.length>0));return void 0!==s?s.resolve((0,p.ensureDefined)(s.value)):u(o)}}({country:t,providerId:o,sourceId:s})(c));return n.createElement("img",{className:a()(i,"apply-common-tooltip",g.icon),crossOrigin:"","data-tooltip":r,src:f,onError:function(){v(u(c))}})}},58442:(e,t,r)=>{"use strict";r.d(t,{QualifiedSources:()=>n,qualifyProName:()=>s});var n,o=r(50151),a=r(56570);r(81319);function s(e){return e}!function(e){function t(e){return e.pro_name}function r(e){{const t=a.enabled("pay_attention_to_ticker_not_symbol")?e.ticker:e.name;return(0,o.ensureDefined)(t)}}e.fromQuotesSnapshot=function(e){return"error"===e.status?e.symbolname:e.values.pro_name},e.fromQuotesResponse=function(e){const{values:r,symbolname:n,status:o}=e;return"error"===o&&n?n:t(r)},e.fromQuotes=t,e.fromSymbolSearchResult=function(e,t){{const{ticker:r,symbol:n}=t??e;return a.enabled("pay_attention_to_ticker_not_symbol")?(0,o.ensureDefined)(r??n):(0,o.ensureDefined)(n)}},e.fromSymbolInfo=r,e.fromSymbolMessage=function(e,t){return"symbol_resolved"===t.method?r(t.params[1]):e}}(n||(n={}))},20882:(e,t,r)=>{"use strict";r.d(t,{createSearchSources:()=>l,
|
|
||||||
filterSearchSources:()=>a,isAllSearchSourcesSelected:()=>o,splitSearchSourcesByGroup:()=>s});const n=[];function o(e){return""===e.value()}function a(e,t){return e.filter((e=>e.includes(t)))}function s(e){const t=new Map;e.forEach((e=>{t.has(e.group())?t.get(e.group()).push(e):t.set(e.group(),[e])}));for(const e of t.values()){e[0].group()!==ExchangeGroup.NorthAmerica&&e.sort(((e,t)=>e.name().toLowerCase()>t.name().toLowerCase()?1:-1))}return new Map([...t.entries()].sort((([e],[t])=>n.indexOf(e)-n.indexOf(t))))}function l(e,t){return t.map((t=>new e(t)))}},70613:(e,t,r)=>{"use strict";r.d(t,{SymbolSearchDialogBodyContext:()=>n});const n=r(50959).createContext(null)},84524:(e,t,r)=>{"use strict";r.d(t,{SymbolSearchItemsDialogContext:()=>n});const n=r(50959).createContext(null)},73280:(e,t,r)=>{"use strict";r.d(t,{SymbolSearchItemsDialog:()=>Je});var n,o,a,s=r(50959),l=r(97754),i=r.n(l),c=r(11542),u=r(56570),d=r(44254),m=r(81319);function p(e){const t=function(e){let t,r=0,n=0;for(let o=0;o<e.length;o++){const a=e[o];if("whitespace"!==a.type)switch(r){case 0:if("number"!==a.type||1!=+a.value)return[];r=1;break;case 1:if(1!==r||"divide"!==a.type)return[];r=2,t=o+1;break;case 2:if("openBrace"===a.type)r=3,n=1;else if((0,d.isBinaryOperator)(a.type))return[];break;case 3:"openBrace"===a.type?n++:"closeBrace"===a.type&&(n--,n<=0&&(r=2))}}return e.slice(t)}(e);return t.length?(0,d.factorOutBraces)(t):(0,d.factorOutBraces)((0,d.tokenize)("1/("+h(e)+")"))}function h(e){return e.reduce(((e,t)=>"symbol"===t.type&&d.symbolTokenEscapeRe.test(t.value)?e+`'${t.value}'`:e+t.value),"")}function g(e){const t=function(e){const t=(0,d.tokenize)(e),r=[];return t.forEach((e=>{if("symbol"!==e.type)return;const[t]=(0,d.parseToken)(e);t&&r.push(t)})),r}(e);if(1===t.length)return t[0]}function f(e,t,r){const n=e.value,[o,a]=v(e,r),s=(0,m.getSymbolFullName)(t),l=d.symbolTokenEscapeRe.test(s)?`'${s}'`:s;return[n.substring(0,a)+l+n.substring(a+o.length),a+l.length]}function v(e,t){const{value:r,selectionStart:n}=e,o=(0,d.tokenize)(t?r.toUpperCase():r),a=(0,d.getTokenAtPos)(o,n||0);return[a?.value||"",a?a.offset:r.length,o]}!function(e){e.Init="init",e.Var="var",e.Operator="operator"}(n||(n={})),function(e){e[e.Init=0]="Init",e[e.Div=1]="Div",e[e.Expression=2]="Expression",e[e.BracedExpression=3]="BracedExpression"}(o||(o={})),function(e){e.Stocks="stocks",e.Futures="futures",e.Funds="funds",e.Forex="forex",e.Crypto="bitcoin,crypto",e.Index="index",e.Bond="bond",e.Economic="economic",e.Options="options"}(a||(a={}));const b=["futures","forex","bond","economic","options"];var y=r(84877),S=r(24437),x=r(79418),w=r(9745),k=r(86240),C=r(86781),E=r(84524),I=r(69654),R=r(3343),L=r(19291);function T(e,t,r){return`source-item-${e}-${t}-${r}`}var B=r(20882),N=r(24517);function M(e){const{children:t,className:r}=e;return s.createElement("div",{className:i()(N.container,r)},s.createElement("div",{className:N.childrenWrapper},t))}var D=r(50151),O=r(78036),A=r(24637),_=r(97006),P=r(91540),F=r(6109);function W(e){
|
|
||||||
const{searchSource:t,onClick:r,queryString:n,isFocused:o,id:a}=e,{symbolSearchContent:l,isAllSearchSourcesSelected:c,allSearchSourcesTitle:u,isMobile:d}=(0,O.useEnsuredContext)(E.SymbolSearchItemsDialogContext),p=l.currentSelectedSearchSource,h=(0,D.ensureNotNull)(p).value(),g=c(t),f=t.value()===h,v=(0,s.useMemo)((()=>(0,_.createRegExpList)(n)),[n]),b=t.description(),y=b&&!g,S=m.isSeparateSymbolSearchTabs&&g&&u?u:t.name(),x=i()(F.container,d?F.mobile:F.desktop,f&&F.selected,o&&F.focused,g&&F.allSelected,g&&F.libAllSelected,!g&&d&&F.bordered);return s.createElement("div",{className:i()(!d&&F.wrap,g&&F.libAllSelected),onClick:r,id:a},s.createElement("div",{className:x},s.createElement("div",{className:F.iconWrap},!!g&&s.createElement(w.Icon,{className:i()(F.icon,F.allSelectedIcon),icon:P})),s.createElement("div",{className:F.textBlock},s.createElement("div",{className:i()(F.title,!y&&!d&&F.titleWithoutDesc)},s.createElement(A.HighlightedText,{className:i()(f&&F.highlighted),queryString:n,text:S,rules:v})),y&&s.createElement("div",{className:i()(F.description,"apply-overflow-tooltip")},s.createElement(A.HighlightedText,{className:F.highlighted,queryString:n,rules:v,text:b})))))}var Q=r(77975),U=r(45345),V=r(24633),K=r(70613),z=r(66619),H=r(67562),Z=r(96137);const G={emptyTextClassName:Z.emptyText};function q(e){const{searchSources:t}=e,{setSelectedIndex:n,setSelectedSearchSource:o,setMode:a,isMobile:l,emptyState:u,autofocus:d}=(0,O.useEnsuredContext)(E.SymbolSearchItemsDialogContext),p=(0,Q.useWatchedValueReadonly)({watchedValue:U.watchedTheme})===V.StdTheme.Dark?z:H,h=(0,C.useMatchMedia)(k["media-phone-vertical"]),[g,f]=(0,s.useState)(""),v=(0,s.useMemo)((()=>[{group:null,sources:(0,m.createGroupColumns)((0,B.filterSearchSources)(t,g),h?1:2)}]),[t,g,h]),b=((0,s.useMemo)((()=>({})),[]),(0,s.useRef)(null)),y=(0,s.useRef)(null),{focusedItem:S,activeDescendant:x,handleKeyDown:N,resetFocusedItem:D}=function(e,t,r){const[n,o]=(0,s.useState)(null),[a,l]=(0,s.useState)("");function i(t){const r=e[t.groupIndex].sources[t.col].length-1;if(t.row===r){const e=d(t.groupIndex+1);if(null===e)return;return t.col>0&&!u({...t,groupIndex:e,row:0})?void o({groupIndex:e,col:0,row:0}):void o({...t,groupIndex:e,row:0})}o({...t,row:t.row+1})}function c(t){if(0===t.row){const r=d(t.groupIndex-1,-1);if(null===r)return;const n=e[r].sources[t.col]?.length??0;return 0===n?void o({groupIndex:r,col:0,row:0}):void o({...t,groupIndex:r,row:n-1})}o({...t,row:t.row-1})}function u(t){return Boolean(e[t.groupIndex]?.sources[t.col]?.[t.row])}function d(t=0,r=1){const n=e.length;let o=(t+n)%n;for(;!u({groupIndex:o,col:0,row:0});)if(o=(o+r+n)%n,o===t)return null;return o}return(0,s.useEffect)((()=>{if(!r.current)return;if(!n)return void l("");const e=T(n.groupIndex,n.col,n.row),t=r.current.querySelector(`#${e}`);t?.scrollIntoView({block:"nearest"}),l(e)}),[n]),(0,s.useEffect)((()=>{o(null)}),[t]),{focusedItem:n,activeDescendant:a,handleKeyDown:function(a){if(!r.current)return;const s=(0,R.hashFromEvent)(a);if(32!==s&&13!==s)switch((0,
|
|
||||||
L.mapKeyCodeToDirection)(s)){case"blockNext":if(a.preventDefault(),!n){const e=d();if(null===e)break;o({groupIndex:e,col:0,row:0});break}i(n);break;case"blockPrev":if(a.preventDefault(),!n)break;c(n);break;case"inlineNext":{if(!n||t)break;a.preventDefault();const r=e[n.groupIndex].sources.length;if(n.col===r-1||!u({...n,col:n.col+1})){i({...n,col:0});break}o({...n,col:n.col+1});break}case"inlinePrev":{if(!n||t)break;a.preventDefault();const r=e[n.groupIndex].sources.length;if(0===n.col){if(0!==n.row){c({...n,col:r-1});break}const t=d(n.groupIndex-1,-1);if(null===t)break;const a=e[t].sources.length,s=e[t].sources[0].length;if(!u({groupIndex:t,col:a-1,row:s-1})){c(n);break}o({groupIndex:t,col:a-1,row:s-1});break}o({...n,col:n.col-1});break}}else{if(!n)return;a.preventDefault();const e=r.current.querySelector(`#${T(n.groupIndex,n.col,n.row)}`);e instanceof HTMLElement&&e.click()}},resetFocusedItem:()=>o(null)}}(v,h,y);(0,s.useLayoutEffect)((()=>{d&&b?.current?.focus()}),[]);const A=u?s.createElement(u,null):s.createElement(M,{className:Z.noResultsDesktop},s.createElement(w.Icon,{icon:p,className:Z.emptyIcon}),s.createElement("div",{className:Z.emptyText},c.t(null,void 0,r(53182)))),_=!(v.length&&v.every((e=>0===e.sources.length)));return s.createElement(K.SymbolSearchDialogBodyContext.Provider,{value:G},s.createElement(I.DialogSearch,{placeholder:c.t(null,void 0,r(8573)),onChange:function(e){D(),f(e.target.value),y&&y.current&&(y.current.scrollTop=0)},reference:b,onKeyDown:N,onBlur:D,"aria-activedescendant":x}),_?s.createElement("div",{ref:y,className:i()(Z.contentList,!l&&Z.contentListDesktop),onTouchStart:function(){b.current?.blur()}},v.map(((e,t)=>{const{group:r,sources:n}=e;return 0===n.length?s.createElement(s.Fragment,{key:r}):s.createElement(s.Fragment,{key:r},!1,s.createElement("div",{className:i()(Z.searchSourceItemsContainer,!l&&Z.searchSourceItemsContainerDesktop,h&&Z.oneColumn)},n.map(((e,r)=>s.createElement("div",{key:`${t}-${r}`,className:Z.column},e.map(((e,n)=>s.createElement(W,{id:T(t,r,n),isFocused:!!S&&(S.groupIndex===t&&S.col===r&&S.row===n),key:e.value(),searchSource:e,queryString:g,onClick:P.bind(null,e)}))))))))}))):A);function P(e){o(e),a("symbolSearch"),n(-1)}}var j,$,Y,X=r(32227),J=r(14051);r(84906);function ee(e){return e.hasOwnProperty("exchange")}async function te(e){{const t=await async function(e){return new Promise((t=>{window.ChartApiInstance.searchSymbols(e.text||"",e.exchange||"",e.type||"",(e=>{t(e)}))}))}(e);return{symbols:t,symbols_remaining:0}}}!function(e){e.SourceId="source_id",e.EconomicCategory="economic_category",e.SearchType="search_type",e.Sector="sector",e.Product="product",e.Centralization="centralization",e.OnlyHasOptions="only_has_options"}(j||(j={})),function(e){e[e.Prod=0]="Prod",e[e.Local=1]="Local"}($||($={})),function(e){e[e.Paginated=0]="Paginated",e[e.NoLimit=1]="NoLimit"}(Y||(Y={}));new Map([].map((({value:e,search_type:t})=>[e,t])))
|
|
||||||
;var re=r(78136),ne=r(51768),oe=r(68335),ae=r(81348),se=r(486),le=r(81574),ie=r(35119),ce=r(32617),ue=r(69135),de=r(63861),me=r(10070);function pe(e){const{state:t,update:r}=e,{searchRef:n,forceUpdate:o,upperCaseEnabled:a}=(0,D.ensureNotNull)((0,s.useContext)(E.SymbolSearchItemsDialogContext)),l=(0,d.tokenize)(n.current?.value),i=function(e){const t={braceBalance:0,currentState:"var",warnings:[],errors:[]};if(!u.enabled("show_spread_operators"))return t;let r="init";const n=[];for(let o=0;o<e.length;o++){const a=e[o];if("whitespace"!==a.type){if("incompleteSymbol"===a.type||"incompleteNumber"===a.type){const r=o!==e.length-1,n={status:r?"error":"incomplete",reason:"incomplete_token",offset:a.offset,token:a};if(r?t.errors.push(n):t.warnings.push(n),r)continue}switch(a.type){case"symbol":case"number":if("var"===r){t.errors.push({status:"error",reason:"unexpected_token",offset:a.offset,token:a});continue}r="var";break;case"plus":case"minus":case"multiply":case"divide":case"power":if("var"!==r){t.errors.push({status:"error",reason:"unexpected_token",offset:a.offset,token:a});continue}r="operator";break;case"openBrace":if("var"===r){t.errors.push({status:"error",reason:"unexpected_token",offset:a.offset,token:a});continue}n.push(a),r="init";break;case"closeBrace":if("var"!==r){t.errors.push({status:"error",reason:"unexpected_token",offset:a.offset,token:a});continue}n.pop()||t.errors.push({status:"error",reason:"unbalanced_brace",offset:a.offset,token:a}),r="var";break;case"unparsed":t.errors.push({status:"error",reason:"unparsed_entity",offset:a.offset,token:a})}}}for(t.braceBalance=n.length,"var"!==r&&t.warnings.push({status:"incomplete",token:e[e.length-1]});n.length;){const e=n.pop();e&&t.warnings.push({status:"incomplete",reason:"unbalanced_brace",offset:e.offset,token:e})}return t.currentState=r,t}(l);let c=[{icon:se,insert:"/",type:"binaryOp",name:"division"},{icon:le,insert:"-",type:"binaryOp",name:"subtraction"},{icon:ie,insert:"+",type:"binaryOp",name:"addition"},{icon:ce,insert:"*",type:"binaryOp",name:"multiplication"}];return u.enabled("hide_exponentiation_spread_operator")||(c=c.concat([{icon:ue,insert:"^",type:"binaryOp",name:"exponentiation"}])),u.enabled("hide_reciprocal_spread_operator")||(c=c.concat([{icon:de,type:"complete",name:"1/x",callback:()=>{!n.current||i.errors.length||i.warnings.length||(n.current.value=h(p(l)),o())}}])),s.createElement("div",{className:me.actions},c.map((e=>s.createElement(ae.ToolWidgetButton,{className:me.actionButton,icon:e.icon,key:e.name,isDisabled:he(e,i),onClick:()=>function(e){if(!he(e,i)){if(e.insert&&n.current){const s=n.current.value+e.insert;n.current.value=s,n.current.setSelectionRange(s.length,s.length);const[l,,i]=v(n.current,a);t.current&&(t.current.selectedIndexValue=-1,t.current.searchSpreadsValue=(0,d.isSpread)(i),t.current.searchTokenValue=l),o(),r()}e.callback&&e.callback(),n.current?.focus(),(0,ne.trackEvent)("GUI","SS",e.name)}}(e)}))))}function he(e,t){let r=!1;if(!t.errors.length)switch(e.type){case"binaryOp":r="var"===t.currentState;break
|
|
||||||
;case"openBrace":r="var"!==t.currentState;break;case"closeBrace":r="var"===t.currentState&&t.braceBalance>0;break;case"complete":r=!t.errors.length&&!t.warnings.length}return!r}var ge=r(63932),fe=r(84952),ve=r(29006),be=r(14543),ye=r(10381),Se=r(52019),xe=r(92244);const we=(0,m.getDefaultSearchSource)();function ke(e){const{mode:t,setMode:n,searchRef:o,cachedInputValue:a,setSelectedIndex:l,setSelectedSearchSource:u,isAllSearchSourcesSelected:d,allSearchSourcesTitle:p,upperCaseEnabled:h,symbolSearchContent:g}=(0,O.useEnsuredContext)(E.SymbolSearchItemsDialogContext),f=g.currentSelectedSearchSource,v=(0,D.ensureNotNull)(f),b="symbolSearch"===t,y=d(v),S=m.isSeparateSymbolSearchTabs&&y&&p?p:v.name(),x=(0,s.useCallback)((()=>{if(m.isSeparateSymbolSearchTabs&&!y&&we)return u(we),l(-1),void o.current?.focus();o.current&&(a.current=h?o.current.value.toUpperCase():o.current.value),n("exchange")}),[y,o,h,n,u]);return m.isSeparateSymbolSearchTabs?b?s.createElement(be.LightButton,{onClick:x,isPills:!y,size:"xsmall",variant:y?"ghost":"quiet-primary",showCaret:y,endSlot:y?void 0:s.createElement(w.Icon,{icon:Se}),enableActiveStateStyles:!1,className:i()(xe.button,!y&&xe.withFlag),tabIndex:-1,"data-name":"sources-button"},s.createElement("div",{className:xe.buttonContent},null,s.createElement("span",null,S))):null:b?s.createElement("div",{className:i()(xe.flagWrap,"apply-common-tooltip",!y&&xe.withFlag),title:c.t(null,void 0,r(57640)),onClick:x,"data-name":"sources-button"},y&&s.createElement(w.Icon,{className:xe.icon,icon:P}),null,s.createElement("div",{className:i()(xe.title)},S),s.createElement(ye.ToolWidgetCaret,{className:xe.caret,dropped:!1})):null}var Ce=r(6591);function Ee(e){const{brokerButton:t=null}=e,{isSmallWidth:n,selectedFilterValues:o,setSelectedFilterValues:a,setSelectedIndex:l,isMobile:u,searchRef:d,symbolSearchContent:p}=(0,O.useEnsuredContext)(E.SymbolSearchItemsDialogContext),h=p.tabSelectFilters;return m.isSeparateSymbolSearchTabs?s.createElement("div",{className:i()(Ce.wrap,Ce.small,Ce.newStyles,u&&Ce.mobile)},t&&s.createElement("div",{className:Ce.brokerWrap},t),p.canChangeExchange&&s.createElement("div",{className:Ce.filterItem},s.createElement(ke,null)),h&&h.map((e=>{const{id:t,options:r,label:n}=e,i=r.find((e=>e.value===FILTER_DEFAULT_VALUE));if(!i)throw new Error("There must be default filter value in filter definition");const c=r.find((e=>e.value===o[p.currentSymbolType]?.[t]))||i;return s.createElement("div",{key:t,className:Ce.filterItem},s.createElement(SymbolSearchSelectFilter,{selectedOption:c,defaultOption:i,options:r,onSelect:e=>{a(p.currentSymbolType,{[t]:e.value}),trackEvent("New SS",p.currentSymbolType,null===e.value?e.analyticsLabel:e.value),l(-1),d.current?.focus()},label:n,isMobile:u,"data-name":t}))}))):s.createElement("div",{className:i()(Ce.wrap,n&&Ce.small)},s.createElement("div",{className:Ce.item},s.createElement("div",{className:Ce.text},n?c.t(null,void 0,r(74007)):c.t(null,void 0,r(95481)))),s.createElement("div",{className:Ce.item},!n&&s.createElement("div",{className:Ce.text
|
|
||||||
},c.t(null,void 0,r(78734))),p.canChangeExchange&&s.createElement("div",{className:Ce.exchange},s.createElement(ke,null))))}var Ie=r(63273),Re=r(44458);function Le(e){const{onTouchMove:t,listRef:r,className:n,listWrapRef:o,virtualListKey:a,items:l,getItemSize:c,hideFeed:u,canLoadMore:d,onLoadMoreSymbols:p}=e,{mode:h,isSmallWidth:g,handleListWidth:f}=(0,O.useEnsuredContext)(E.SymbolSearchItemsDialogContext),[v,b]=(0,s.useState)(null),y=(0,ve.useResizeObserver)((function([e]){b(e.contentRect.height),f(e.contentRect.width)})),S=(0,s.useCallback)((e=>{const{index:t,style:r}=e;return s.createElement("div",{style:r},l[t])}),[l]),x=(0,s.useCallback)((e=>(0,D.ensure)(l[e].key)),[l]),w="watchlist"===h&&null!==v;return s.createElement("div",{className:i()(Re.wrap,w&&Re.watchlist,u&&Re.noFeed,u&&m.isSeparateSymbolSearchTabs&&Re.newStyles,n),onTouchMove:t,ref:y},s.createElement("div",{ref:o,className:i()(Re.scrollContainer,u&&Re.noFeed)},w?s.createElement(fe.VariableSizeList,{key:a,ref:r,className:Re.listContainer,width:"100%",height:(0,D.ensureNotNull)(v),itemCount:l.length,itemSize:c,children:S,itemKey:x,overscanCount:20,direction:(0,Ie.isRtl)()?"rtl":"ltr"}):s.createElement(s.Fragment,null,s.createElement("div",{className:i()(Re.listContainer,g&&Re.multiLineItemsContainer)},!m.isSeparateSymbolSearchTabs&&s.createElement(Ee,null),...l,!1))))}var Te=r(96967),Be=r(47308),Ne=r(76717);const Me=u.enabled("hide_image_invalid_symbol");function De(e){const{otherSymbolsCount:t,onChangeSymbolTypeFilter:r,onResetFilters:n,onListTouchMove:o,brokerTitle:a,brokerLogoInfo:i,isBrokerActive:c,onBrokerToggle:u,listRef:d,listWrapRef:p,onLoadMoreSymbols:h,canLoadMore:g}=e,{mode:f,isMobile:v,selectedSymbolType:b,symbolTypes:y,feedItems:S,contentItem:x,emptyState:w=Oe,symbolSearchContent:k,symbolSearchState:C}=(0,O.useEnsuredContext)(E.SymbolSearchItemsDialogContext),I=a?s.createElement(BrokerButton,{brokerTitle:a,isActive:c,onToggle:u,onKeyDown:e=>{const t=(0,R.hashFromEvent)(e);t!==9+R.Modifiers.Shift&&9!==t&&e.stopPropagation()},logoInfo:i}):null,L=y.map((e=>({id:e.value,children:e.name}))),T="symbolSearch"===f&&["good","loadingWithPaginated"].includes(C),B=x??Te.SymbolSearchDialogContentItem,N=(0,s.useMemo)((()=>S.map((e=>s.createElement(B,{...e,searchToken:k.token})))),[S]);return s.createElement(s.Fragment,null,"symbolSearch"===f&&s.createElement(s.Fragment,null,s.createElement("div",{className:l(Ne.bubblesContainer,!v&&I&&Ne.withButton,v&&Ne.mobile)},y.length>0&&s.createElement(Be.RoundButtonTabs,{id:"symbol-search-tabs",isActive:e=>e.id===b,onActivate:r,overflowBehaviour:v?"scroll":"wrap",className:l(Ne.bubbles,v&&Ne.mobile,m.isSeparateSymbolSearchTabs&&(k.withFilters||I)&&!v&&Ne.withFilters),items:L},v?null:s.createElement("div",null,I)),!m.isSeparateSymbolSearchTabs&&v&&y.length>0&&a&&s.createElement("div",{className:Ne.brokerButtonWrap},I)),m.isSeparateSymbolSearchTabs&&s.createElement(Ee,{brokerButton:v?I:void 0})),s.createElement(Le,{listRef:d,listWrapRef:p,onTouchMove:o,items:N,getItemSize:()=>_e,onLoadMoreSymbols:h,canLoadMore:g,
|
|
||||||
hideFeed:!T}),"loading"===C&&s.createElement("div",{className:Ne.spinnerWrap},s.createElement(ge.Spinner,null)),"symbolSearch"===f&&s.createElement(s.Fragment,null,!1,"empty"===C&&s.createElement(w,null)))}function Oe(e){const t=(0,Q.useWatchedValueReadonly)({watchedValue:U.watchedTheme})===V.StdTheme.Dark?z:H;return s.createElement(M,{className:Ne.noResultsDesktop},!Me&&s.createElement(w.Icon,{icon:t,className:Ne.emptyIcon}),s.createElement("div",{className:Ne.emptyText},c.t(null,void 0,r(76822))))}const Ae=(0,m.getDefaultSearchSource)(),_e=52;function Pe(e){const{mode:t,setMode:n,setSelectedIndex:o,isMobile:a,selectedSearchSource:l,setSelectedSearchSource:p,isAllSearchSourcesSelected:h,selectedSymbolType:b,setSelectedSymbolType:y,symbolSearchContent:S,setSymbolSearchContent:x,searchRef:w,setSearchSpreads:k,showSpreadActions:C,selectedItem:R,forceUpdate:L,placeholder:T,initialScreen:B,footer:N,searchInput:M,upperCaseEnabled:D,externalInput:A,handleKeyDown:_,customSearchSymbols:P,filterDefinitions:F,filterQueryParams:W,searchSources:Q,symbolSearchState:U,setSymbolSearchState:V,onEmptyResults:z}=(0,O.useEnsuredContext)(E.SymbolSearchItemsDialogContext),H=P??te,Z=(0,s.useRef)(t);Z.current=t;const G=(0,s.useRef)(new AbortController),[q,j]=(0,s.useState)(0),$=(0,s.useRef)(0),[Y,ae]=(0,s.useState)(S.token),se=(0,s.useRef)(null),le=(0,s.useRef)(null),ie=(0,s.useRef)({selectedIndexValue:-1,searchTokenValue:"",searchSpreadsValue:!0}),ce=(0,s.useRef)(null),ue=(0,s.useRef)(null),de=(0,s.useRef)(null),{broker:me=null,brokerId:he,brokerTitle:ge,brokerLogoInfo:fe,isBrokerChecked:ve=!1,setIsBrokerChecked:be=()=>{},unhideSymbolSearchGroups:ye=""}={brokerId:void 0,brokerTitle:void 0,brokerLogoInfo:void 0};(0,s.useEffect)((()=>()=>{G.current.abort(),Pe(),Fe()}),[]),(0,s.useEffect)((()=>{w?.current&&ae(w.current.value)}),[]),(0,s.useEffect)((()=>{const e=w.current;if(e)return e.addEventListener("input",Ie),e.addEventListener("focus",Oe),e.addEventListener("select",Ee),e.addEventListener("click",Ee),e.addEventListener("keyup",_e),A&&_&&e.addEventListener("keydown",_),()=>{e&&(e.removeEventListener("input",Ie),e.removeEventListener("focus",Oe),e.removeEventListener("select",Ee),e.removeEventListener("click",Ee),e.removeEventListener("keyup",_e),A&&_&&e.removeEventListener("keydown",_))}}),[_]),(0,s.useEffect)((()=>{Boolean(B)&&""===Y.trim()?x((e=>{const t=Boolean(l&&Q.length>1&&!(0,m.exchangeSelectDisabled)(b)),r=F?.[b];return{...e,tabSelectFilters:r,currentSymbolType:b,canChangeExchange:t,withFilters:Boolean(t||r?.length),token:Y,currentTabAvailableSearchSources:Q,currentSelectedSearchSource:l}})):(x((e=>({...e,symbolStartIndex:0}))),Le(Y,b,l).then((()=>{se.current&&(se.current.scrollTop=0)})))}),[Y,b,l,ve,B,W]),(0,s.useEffect)((()=>{if(!R||!w.current)return;if(!u.enabled("show_spread_operators"))return w.current.value=R.symbol,void L();const e=ee(R)?R.exchange:R.parent.exchange;let t;t="contracts"in R&&R.contracts?.length?R.contracts[0]:R;const r={name:t.symbol,exchange:e,prefix:t.prefix,fullName:t.full_name},[n,o]=f(w.current,r,D)
|
|
||||||
;w.current.value=n,w.current.setSelectionRange(o,o),L()}),[R]);const Se=B??"div",xe=Boolean(B)&&"symbolSearch"!==t,we=M??I.DialogSearch,ke=(0,s.useMemo)((()=>({listRef:le,resetRecommends:Me,updateRecommends:Le,searchToken:Y,emptyTextClassName:Ne.emptyText,isBrokerChecked:ve,symbolSearchState:U,currentMode:Z})),[le,Y,ve,U,Z,W]);return s.createElement(K.SymbolSearchDialogBodyContext.Provider,{value:ke},!(A&&"symbolSearch"===t)&&s.createElement(we,{reference:w,className:i()(Ne.search,D&&Ne.upperCase),placeholder:T||c.t(null,void 0,r(8573))},C&&s.createElement(pe,{state:ie,update:Re})),xe?s.createElement(Se,null):s.createElement(De,{otherSymbolsCount:q,onListTouchMove:function(){w.current?.blur()},onChangeSymbolTypeFilter:function(e){const{id:t}=e;y(t),o(-1)},onResetFilters:function(){m.isSeparateSymbolSearchTabs?"resetFilter"===U?y((0,m.getAllSymbolTypesValue)()):Ae&&p(Ae):(y((0,m.getAllSymbolTypesValue)()),Ae&&p(Ae));be(!1),a||w.current?.focus()},brokerTitle:ge,brokerLogoInfo:fe,isBrokerActive:ve,onBrokerToggle:be,listRef:le,listWrapRef:se,onLoadMoreSymbols:void 0,canLoadMore:void 0}),N);function Ce(){if(!w.current)return;const[e,t,r]=v(w.current,D);$.current=t,ie.current={selectedIndexValue:-1,searchSpreadsValue:(0,d.isSpread)(r),searchTokenValue:e},ce.current||(ce.current=setTimeout(Re,0))}function Ee(){if(!w.current)return;const[,e]=v(w.current,D);e!==$.current&&Ce()}function Ie(){u.enabled("show_spread_operators")?Ce():w.current&&(ie.current={selectedIndexValue:-1,searchSpreadsValue:!1,searchTokenValue:w.current.value},ce.current||(ce.current=setTimeout(Re,0)))}function Re(){const{selectedIndexValue:e,searchTokenValue:t,searchSpreadsValue:r}=ie.current;ce.current=null,(0,X.unstable_batchedUpdates)((()=>{k(r),o(e),ae(D?t.toUpperCase():t)}))}async function Le(e,t,r,n){try{"noop"===U?V("loading"):n?V("loadingWithPaginated"):(Pe(),Fe(),ue.current=setTimeout((()=>{const r=Boolean(l&&Q.length>1&&!(0,m.exchangeSelectDisabled)(t)),n=F?.[t];x({token:e,canChangeExchange:r,tabSelectFilters:n,withFilters:Boolean(r||n?.length),currentSymbolType:t,currentSelectedSearchSource:l,currentTabAvailableSearchSources:Q,renderSymbolSearchList:[],symbolsRemaining:0,symbolStartIndex:0}),V("loading")}),500)),We();(0,m.getAllSymbolTypesValue)();const o=!1;let a;if(ve&&me){a=(await(0,J.respectAbort)(G.current.signal,me.accountMetainfo())).prefix}const s=u.enabled("show_spread_operators")?g(e)??a??r?.getRequestExchangeValue():l?.getRequestExchangeValue(),i=g(e)?void 0:(r||l)?.getRequestCountryValue(),[c,d]=await Promise.all([Be(G.current.signal,e,t,r,s,i,n),o&&!n?getRecent():Promise.resolve([])]),p=d.filter((e=>s?e.exchange?.toLowerCase()===s.toLowerCase():!i||e.country?.toLowerCase()===i.toLowerCase())),h=new Set(p.map((e=>`${e.exchange}_${e.symbol}`))),f=c.symbols.filter((e=>!h.has(`${e.exchange}_${e.symbol}`)));let v=function(e,t=window.ChartApiInstance.symbolsGrouping()){const r={},n=[];for(let o=0;o<e.length;++o){const a=e[o];if(a.prefix||Array.isArray(a.contracts))return e;const s=t[a.type];if(void 0===s){n.push(a);continue}
|
|
||||||
const l=s.exec(a.symbol);if(l){const e=l[1];let t;r.hasOwnProperty(e)?t=r[e]:(t=n.length,r[e]=t,n.push({type:a.type,symbol:e,exchange:a.exchange,description:a.description,full_name:a.exchange+":"+e,contracts:[]})),n[t].contracts?.push(a)}else n.push(a)}return n}([...p,...f]);if(n&&(v=[...S.renderSymbolSearchList,...v]),!v.length)return x((r=>{const n=Boolean(l&&Q.length>1&&!(0,m.exchangeSelectDisabled)(t)),o=F?.[t];return{...r,canChangeExchange:n,tabSelectFilters:o,token:e,symbolsRemaining:0,withFilters:Boolean(n||o?.length),currentSymbolType:t,currentSelectedSearchSource:l,currentTabAvailableSearchSources:Q}})),Pe(),V("empty"),void Te();Pe(),x((r=>{const n=Boolean(l&&Q.length>1&&!(0,m.exchangeSelectDisabled)(t)),o=F?.[t];return{...r,canChangeExchange:n,tabSelectFilters:o,renderSymbolSearchList:v,token:e,symbolsRemaining:c.symbols_remaining,withFilters:Boolean(n||o?.length),currentSymbolType:t,currentSelectedSearchSource:l,currentTabAvailableSearchSources:Q,symbolStartIndex:r.symbolStartIndex+c.symbols.length}})),V("good")}catch(e){(0,J.skipAbortError)(e)}}function Te(){z&&(de.current=setTimeout((()=>z()),1e3))}async function Be(e,t,r,n,o,a,s){const l={serverHighlight:!1,text:u.enabled("show_spread_operators")?(0,d.shortName)(t):w.current?.value,exchange:o,country:a,type:r,lang:window.language||"",sortByCountry:void 0,brokerId:he,onlyTradable:Boolean(he)&&ve,unhideSymbolSearchGroups:ye,signal:e,start:s,filterQueryParams:W},i=(0,re.getSearchRequestDelay)();return void 0!==i&&await(0,J.delay)(e,i),H(l)}function Me(){We(),V("empty"),ae(""),k(!1),x((e=>({...e,symbolStartIndex:0}))),Pe()}function Oe(){"watchlist"===Z.current&&(n("symbolSearch"),(0,ne.trackEvent)("Watchlist","Mobile SS","Go to SS page"))}function _e(e){switch((0,oe.hashFromEvent)(e)){case 37:case 39:Ee()}}function Pe(){ue.current&&clearTimeout(ue.current)}function Fe(){de.current&&clearTimeout(de.current)}function We(){G.current.abort(),G.current=new AbortController}}var Fe=r(48199),We=r(74395),Qe=r(58442),Ue=r(56840);function Ve(e){const[t,r]=(0,s.useState)((()=>{const{defaultSearchSource:t,searchSources:r}=e,n=Ue.getValue("symboledit.exchangefilter","");return r.find((e=>e.value()===n))||t}));return[t,(0,s.useCallback)((e=>{var t;r(e),t=e,Ue.setValue("symboledit.exchangefilter",t.value())}),[])]}function Ke(e){const[t,r]=(0,s.useState)((()=>{if(1===e.types.length)return e.types[0].value;const t=Ue.getValue("symboledit.filter",(0,m.getAllSymbolTypesValue)());return e.types.find((e=>e.value===t))?t:(0,m.getAllSymbolTypesValue)()}));return[t,(0,s.useCallback)((e=>{var t;r(e),t=e,Ue.setValue("symboledit.filter",t)}),[])]}var ze=r(36947),He=r(82708),Ze=r(88145),Ge=r(76460),qe=r(63748);const je=!1,$e=(0,m.getAvailableSearchSources)(),Ye=(0,m.getDefaultSearchSource)(),Xe=u.enabled("uppercase_instrument_names");function Je(e){
|
|
||||||
const{onClose:t,symbolTypeFilter:n,initialMode:o,defaultValue:a="",showSpreadActions:l,hideMarkedListFlag:i,selectSearchOnInit:d=!0,onSearchComplete:p,dialogTitle:h=c.t(null,void 0,r(51165)),placeholder:g,fullscreen:v,initialScreen:x,wrapper:w,dialog:k,contentItem:C,footer:I,searchInput:R,emptyState:T,autofocus:N,dialogWidth:M,onKeyDown:D,searchSourcesScreen:O,customSearchSymbols:A,isDisableFiltering:_,disableRecents:P,shouldReturnFocus:F,onSymbolFiltersParamsChange:W,onEmptyResults:Q,enableOptionsChain:U}=e,V=(0,s.useMemo)((()=>{if(_)return[];const t=e.symbolTypes??(0,m.getAvailableSymbolTypes)();return n?n(t):t}),[]),K=void 0!==e.input,z=_?[]:$e,[H,Z]=(0,s.useState)((()=>at(a,U)?"options":o)),[G,j]=(0,s.useState)((()=>at(a,U))),[$,Y]=(0,s.useState)((()=>null)),X=(0,s.useRef)(function(e,t){const r=at(e,t);return(0,m.isOptionDefaultValue)(e)?r??e.value:e}(a,U)),[J,re]=Ve({searchSources:z,defaultSearchSource:Ye}),[ne,ae]=[],[se,le]=Ke({types:V}),[ie,ce]=[{},()=>{}],[ue,de]=(0,s.useState)(!1),[me,pe]=(0,s.useState)(-1),[he,ge]=(0,s.useState)("noop"),fe=m.isSeparateSymbolSearchTabs?TAB_SELECT_FILTER_MAP:void 0,ve=m.isSeparateSymbolSearchTabs?ne?.[se]||Ye:J,be=(0,s.useMemo)((()=>{if(!m.isSeparateSymbolSearchTabs)return z;return z.filter((e=>{const t=TAB_SOURCE_FILTER_MAP[se];if(!t)return!1;if(!se)return!0;const r=e.group();return r===ExchangeGroup.AllExchanges||r&&t.value.includes(r)}))}),[z,se]),[ye,Se]=(0,s.useState)((()=>{const e=Boolean(J&&$e.length>1&&!(0,m.exchangeSelectDisabled)(se)),t=fe?.[se];return{canChangeExchange:e,tabSelectFilters:t,withFilters:Boolean(e||t?.length),renderSymbolSearchList:[],token:X.current,symbolsRemaining:0,currentSymbolType:se,currentSelectedSearchSource:ve,currentTabAvailableSearchSources:be,symbolStartIndex:0}})),xe=(0,s.useCallback)((e=>{trackEvent("New SS",se,"Change sources"),ae?.(se,e),Se((t=>({...t,currentSelectedSearchSource:e})))}),[se,Se]),we=(0,s.useRef)(e.input??null),[ke,Ce]=(0,s.useState)(!1),Ee=(0,ze.useForceUpdate)(),[Re,Le]=(0,s.useState)(new Set),{broker:Te=null,brokerId:Be,unhideSymbolSearchGroups:Ne="",displayBrokerSymbol:Me=!1}={brokerId:void 0};(0,s.useLayoutEffect)((()=>{!we?.current||!K&&Boolean(we.current?.value)||(K||"compare"===H||(we.current.value=X.current),!N||K&&"symbolSearch"!==H||we.current.focus())}),[H]),(0,s.useEffect)((()=>{we?.current&&d&&N&&we.current.select()}),[]);const De=(0,s.useMemo)((()=>ye.renderSymbolSearchList.reduce(((e,t)=>{const r=rt(t),n=Re.has(r);return e.push(t),n&&t.contracts&&e.push(...t.contracts.map((e=>({...e,parent:t})))),e}),[])),[ye.renderSymbolSearchList,Re]),Oe=(0,s.useRef)(null);(0,s.useEffect)((()=>{-1!==me&&Oe.current?.scrollIntoView({block:"nearest"})}),[me,Oe]);const Ae=b.includes(se),_e=(0,s.useMemo)((()=>De.map(((e,t)=>{if(ee(e)){const r=rt(e),n=e.contracts?Re.has(r):void 0,o=t===me,a=ye.renderSymbolSearchList.findIndex((t=>t.symbol===e.symbol&&t.exchange===e.exchange))+1;return{key:t,numberInList:a,id:r,title:tt(e,Me),description:e.description,isOffset:!1,onClick:mt.bind(null,e,a),providerId:e.provider_id,
|
|
||||||
source:e.source,source2:e.source2,country:e.country?.toLocaleLowerCase(),type:e.type,exchangeName:null===e.exchange?void 0:e.exchange,exchangeTooltip:"",prefix:e.prefix||void 0,marketType:(0,We.marketType)(e.type,e.typespecs,!1),hideMarketType:Ae,isEod:e.params?.includes("eod")&&"economic"!==e.type,isYield:(0,Ze.isYield)(e),isExpanded:n,onExpandClick:e.contracts?pt.bind(null,r):void 0,fullSymbolName:e.contracts?Qe.QualifiedSources.fromSymbolSearchResult(e,e.contracts[0]):Qe.QualifiedSources.fromSymbolSearchResult(e),itemRef:o?Oe:void 0,isSelected:t===me,hideMarkedListFlag:i,item:e,logoId:e.logoid,currencyLogoId:e["currency-logoid"],baseCurrencyLogoId:e["base-currency-logoid"],shortName:(0,He.safeShortName)(Qe.QualifiedSources.fromSymbolSearchResult(e)),currencyCode:e.currency_code,isPrimary:e.is_primary_listing}}{const{parent:r}=e,n=rt(r),o=t===me,a=ye.renderSymbolSearchList.findIndex((e=>e.symbol===r.symbol&&e.exchange===r.exchange))+1;return{key:t,numberInList:a,id:n+e.symbol,dangerousTitleHTML:tt(e,Me),dangerousDescriptionHTML:`${r.description}`+(e.description?` (${e.description})`:""),isOffset:!0,isEod:e.params?.includes("eod"),isYield:(0,Ze.isYield)(e),onClick:ht.bind(null,e.parent,e,a),providerId:r.provider_id,country:r.country?.toLowerCase(),type:r.type,exchangeName:null===r.exchange?void 0:r.exchange,exchangeTooltip:"",marketType:(0,We.marketType)(r.type,e.typespecs,!1),hideMarketType:Ae,fullSymbolName:Qe.QualifiedSources.fromSymbolSearchResult(e.parent,e),itemRef:o?Oe:void 0,isSelected:o,hideMarkedListFlag:i,item:e}}}))),[ye.renderSymbolSearchList,Re,H,me,D]),Ue=(0,s.useMemo)((()=>function(e,t,r){const n=t?.[e],o=new Map(n?.map((e=>[e.id,e.urlParam]))),a=r[e];let s;if(a){s={};for(const[e,t]of Object.entries(a)){const r=o.get(e);r&&(s[r]=t)}}return s}(se,fe,ie)),[se,fe,ie]),Je=(0,s.useMemo)((()=>ye.renderSymbolSearchList.slice(0,20).map((e=>e.contracts?Qe.QualifiedSources.fromSymbolSearchResult(e,e.contracts[0]):Qe.QualifiedSources.fromSymbolSearchResult(e)))),[ye.renderSymbolSearchList]);(0,s.useEffect)((()=>{if(!W)return;const e=["resetFilter","resetTabFilter","empty"].includes(he)?[]:Je,t={...Ue,result_list:e};if(t.search_type||(t.search_type="bitcoin,crypto"===se?"crypto":se),!m.isSeparateSymbolSearchTabs)return t.exchange=ve?.getRequestCountryValue()??null,void W(t);if(se){const e=ve?.getRequestCountryValue()??null;e&&(t.country=e);const r=ve?.getRequestExchangeValue()??null;r&&(t.exchange=r)}W(t)}),[se,Ue,Je,ve,he]);const st=(0,s.useMemo)((()=>{if(A)return A}),[se,A,Ue,U]),lt=k??ot,it=lt!==ot&&!K,ct=(e,r)=>({mode:H,setMode:Z,selectedSearchSource:ve,setSelectedSearchSource:m.isSeparateSymbolSearchTabs?xe:re,isAllSearchSourcesSelected:B.isAllSearchSourcesSelected,allSearchSourcesTitle:m.isSeparateSymbolSearchTabs?TAB_SOURCE_FILTER_MAP[ye.currentSymbolType]?.allSearchSourcesTitle:void 0,selectedSymbolType:se,setSelectedSymbolType:le,selectedIndex:me,setSelectedIndex:pe,onClose:t,setSymbolSearchContent:Se,symbolSearchContent:ye,searchRef:we,cachedInputValue:X,searchSpreads:ue,setSearchSpreads:de,
|
|
||||||
handleListWidth:gt,isSmallWidth:ke,feedItems:_e,isMobile:e,showSpreadActions:l,selectSearchOnInit:d,isTablet:r,selectedItem:De[me],forceUpdate:Ee,placeholder:g,initialScreen:x,toggleExpand:pt,openedItems:Re,onSubmit:bt,onSearchComplete:p,footer:I,symbolTypes:V,contentItem:C,searchInput:R,emptyState:T,autofocus:N,upperCaseEnabled:Xe,externalInput:K,handleKeyDown:it?void 0:vt,customSearchSymbols:st,searchSources:be,filterDefinitions:fe,selectedFilterValues:ie,setSelectedFilterValues:ce,filterQueryParams:Ue,symbolSearchState:he,setSymbolSearchState:ge,onEmptyResults:void 0}),ut=O??q,dt=w??"div";return s.createElement(dt,null,s.createElement(y.MatchMediaMap,{rules:S.DialogBreakpoints},(({TabletSmall:e,TabletNormal:n})=>s.createElement(E.SymbolSearchItemsDialogContext.Provider,{value:ct(e,n)},s.createElement(lt,{..."exchange"===H?{title:c.t(null,void 0,r(28628)),dataName:"exchanges-search",render:()=>s.createElement(ut,{searchSources:ye.currentTabAvailableSearchSources}),additionalHeaderElement:s.createElement(Fe.BackButton,{onClick:()=>Z("symbolSearch"),className:qe.backButton,size:"medium","aria-label":c.t(null,{context:"input"},r(41256)),preservePaddings:!0,flipIconOnRtl:(0,Ie.isRtl)()}),additionalElementPos:"before"}:{title:h,dataName:"symbol-search-items-dialog",render:()=>s.createElement(Pe,null),additionalElementPos:"after"},shouldReturnFocus:F,fullScreen:v,onClose:t,onClickOutside:t,onKeyDown:it?void 0:vt,isOpened:!0})))));function mt(e,t,r){if(e.contracts)return e.contracts.length?void ht(e,e.contracts[0],t,r):void pt(rt(e));ht(e,void 0,t,r)}function pt(e){const t=new Set(Re);t.has(e)?t.delete(e):t.add(e),Le(t)}function ht(e,r,n,o){const a=r||e,{exchange:s}=e;if(u.enabled("show_spread_operators")){const e={name:a.symbol,exchange:s,prefix:a.prefix,fullName:a.full_name};if(ue)return ft(e),void Ee();if(we.current&&we.current.value.includes(","))return void ft(e)}yt([{resolved:!0,symbol:Qe.QualifiedSources.fromSymbolSearchResult(e,r),result:a}],n,o),t()}function gt(e){Ce("fixed"===M||e<=640)}function ft(e){if(!we.current)return;const[t,r]=f(we.current,e,Xe);we.current.value=t,we.current.setSelectionRange(r,r),we.current.focus()}function vt(e){if(e.target&&e.target!==we.current)return;const r=(0,oe.hashFromEvent)(e);switch(r){case 13:e.preventDefault(),bt(!0);break;case 27:if(e.preventDefault(),"exchange"===H)return void Z("symbolSearch");if("options"===H)return Z("symbolSearch"),j(null),void Y(null);t()}switch((0,L.mapKeyCodeToDirection)(r)){case"blockPrev":if(e.preventDefault(),0===me||"good"!==he)return;if(-1===me)return void pe(0);pe(me-1);break;case"blockNext":if(e.preventDefault(),me===_e.length-1||"good"!==he)return;pe(me+1);break;case"inlinePrev":{if(-1===me)return;const t=_e[me],{id:r,isOffset:n,onExpandClick:o}=t;if(!n&&r&&Re.has(r)&&Boolean(o)&&!Boolean(D)&&(e.preventDefault(),pt(r)),o)return void D?.(e,!0);break}case"inlineNext":{if(-1===me)return;const t=_e[me],{id:r,isOffset:n,onExpandClick:o}=t;if(n||!r||Re.has(r)||!Boolean(o)||Boolean(D)||(e.preventDefault(),pt(r)),o)return void D?.(e,!0);break}}D?.(e)
|
|
||||||
}function bt(e){if(!we.current)return;let r=we.current.value;if(u.enabled("show_spread_operators")&&ue&&r){const n=_e[me];if(n&&void 0!==n.isExpanded&&(n.onClick(),r=we.current.value),r.includes(",")){return yt(nt(r).map(et),null),void(e&&t())}return yt([{symbol:Xe?r.toUpperCase():r,resolved:!1}],null),void(e&&t())}if(r.includes(","))return yt(nt(r).map(et),null),void(e&&t());if(-1!==me){_e[me].onClick()}else if(u.enabled("allow_arbitrary_symbol_search_input")){const n=Xe?r.toUpperCase():r;if(n&&""!==n.trim()){const e=nt(n);if(je||void 0===Be||-1!==n.indexOf(":")){yt(e.map(et),null)}else(function(e){let t=!1;return Promise.all(e.map((e=>-1!==e.indexOf(":")||t?Promise.resolve({symbol:e,resolved:!1}):(t=!0,async function(e){await(Te?.accountMetainfo());const t=void 0,r=await te({strictMatch:!0,serverHighlight:!1,text:e,lang:window.language||"",brokerId:Be,onlyTradable:!0,unhideSymbolSearchGroups:Ne,exchange:t});if(0!==r.symbols.length){const e=r.symbols[0],{contracts:t}=e,n=t&&t.length>0?t[0]:void 0,o=e.prefix||e.exchange,a=n?n.symbol:e.symbol;if(o&&a)return{symbol:Qe.QualifiedSources.fromSymbolSearchResult(e,n),resolved:!0,result:e}}return{symbol:e,resolved:!1}}(e)))))})(e).then((e=>yt(e,null)))}e&&t()}else if("empty"!==he&&_e.length>0){_e[0].onClick()}}async function yt(e,t,r){const[{result:n,symbol:o,resolved:a}]=e,s=we.current?.value,l=!r||(0,Ge.isKeyboardClick)(r);let i=ue;void 0!==n&&ee(n)&&(i="spread"===n.type),p(e,{symbolType:se,isKeyboardEvent:l,numberInList:t,inputValue:s,isSpread:i})}}function et(e){return{symbol:Xe?e.toUpperCase():e,resolved:!1}}function tt(e,t){const{broker_symbol:r,symbol:n,description:o}=e;return`${"spread"===e.type?o:n}${t&&r?` (${r})`:""}`}function rt(e){return e.symbol+e.exchange+e.description}function nt(e){return e.split(",").map((e=>e.trim())).filter((e=>""!==e))}function ot(e){const{isMobile:t,isTablet:r}=(0,O.useEnsuredContext)(E.SymbolSearchItemsDialogContext);return s.createElement(x.AdaptivePopupDialog,{...e,className:i()(qe.dialog,!t&&(r?qe.tabletDialog:qe.desktopDialog)),backdrop:!0,draggable:!1})}function at(e,t){return null}},81319:(e,t,r)=>{"use strict";r.d(t,{createGroupColumns:()=>p,exchangeSelectDisabled:()=>m,getAllSymbolTypesValue:()=>d,getAvailableSearchSources:()=>c,getAvailableSymbolTypes:()=>u,getDefaultSearchSource:()=>i,getSymbolFullName:()=>l,isOptionDefaultValue:()=>g,isSeparateSymbolSearchTabs:()=>h});var n=r(11542),o=r(20882);class a{constructor(e){this._exchange=e}value(){return this._exchange.value}name(){return(0,o.isAllSearchSourcesSelected)(this)?n.t(null,void 0,r(34040)):this._exchange.name}description(){return this._exchange.desc}country(){return this._exchange.country}providerId(){return this._exchange.providerId}group(){return this._exchange.group}includes(e){return function(e,t){const r=t.toLowerCase(),{name:n,desc:o,searchTerms:a}=e;return n.toLowerCase().includes(r)||o.toLowerCase().includes(r)||void 0!==a&&a.some((e=>e.toLowerCase().includes(r)))}(this._exchange,e)}getRequestExchangeValue(){return this._exchange.value}getRequestCountryValue(){}
|
|
||||||
}var s=r(3685);function l(e){if(e.fullName)return e.fullName;let t;return t=e.prefix||e.exchange?(e.prefix||e.exchange)+":"+e.name:e.name,t.replace(/<\/?[^>]+(>|$)/g,"")}function i(){const e=c();return e.find(o.isAllSearchSourcesSelected)||e[0]||null}function c(){return(0,o.createSearchSources)(a,(0,s.getExchanges)())}function u(){return window.ChartApiInstance.supportedSymbolsTypes()}function d(){return""}function m(e){return!!h&&!TAB_SOURCE_FILTER_MAP[e]}function p(e,t=2){if(0===e.length)return[];if(1===t)return[e];const r=Math.floor(e.length/2)+e.length%2;return[e.slice(0,r),e.slice(r)].filter((e=>e.length>0))}const h=!1;function g(e){return"string"!=typeof e}},82708:(e,t,r)=>{"use strict";r.d(t,{safeShortName:()=>o});var n=r(13665);function o(e){try{return(0,n.shortName)(e)}catch(t){return e}}},44254:(e,t,r)=>{"use strict";r.d(t,{factorOutBraces:()=>m,getTokenAtPos:()=>d,isBinaryOperator:()=>c,isSpread:()=>u,parseToken:()=>h,shortName:()=>p,symbolTokenEscapeRe:()=>a,tokenize:()=>i});var n,o=r(18429);!function(e){e.Symbol="symbol",e.IncompleteSymbol="incompleteSymbol",e.Number="number",e.IncompleteNumber="incompleteNumber",e.SeparatorPrefix="separatorPrefix",e.OpenBrace="openBrace",e.CloseBrace="closeBrace",e.Plus="plus",e.Minus="minus",e.Multiply="multiply",e.Divide="divide",e.Power="power",e.Whitespace="whitespace",e.Unparsed="unparsed"}(n||(n={}));const a=/[+\-/*]/,s={number:/\d+(?:\.\d*|(?![a-zA-Z0-9_!:.&]))|\.\d+/,incompleteNumber:/\./,symbol:/(?:[^-+\/*^\s]'|[a-zA-Z0-9_\u0370-\u1FFF_\u2E80-\uFFFF^])(?:[^-+\/*^\s]'|[a-zA-Z0-9_\u0020\u0370-\u1FFF_\u2E80-\uFFFF_!:.&])*|'.+?'/,incompleteSymbol:/'[^']*/,separatorPrefix:o.SEPARATOR_PREFIX,openBrace:"(",closeBrace:")",plus:"+",minus:"-",multiply:"*",divide:"/",power:"^",whitespace:/[\0-\x20\s]+/,unparsed:null},l=new RegExp(Object.values(s).map((e=>{return null===e?"":`(${"string"==typeof e?(t=e,t.replace(/[\^$()[\]{}*+?|\\]/g,"\\$&")):e.source})`;var t})).filter((e=>""!==e)).concat(".").join("|"),"g");function i(e){if(!e)return[];const t=[],r=Object.keys(s);let n;for(;n=l.exec(e);){let e=!1;for(let o=r.length;o--;)if(n[o+1]){r[o]&&t.push({value:n[o+1],type:r[o],precedence:0,offset:n.index}),e=!0;break}e||t.push({value:n[0],type:"unparsed",precedence:0,offset:n.index})}return t}function c(e){return"plus"===e||"minus"===e||"multiply"===e||"divide"===e||"power"===e}function u(e){return e.length>1&&e.some((e=>c(e.type)))}function d(e,t){for(let r=0;r<e.length;r++){const n=e[r],o="symbol"===n.type||"incompleteSymbol"===n.type||"number"===n.type;if(n.offset<=t&&t<=n.offset+n.value.length&&o)return n}return null}function m(e){e=function(e){const t=[];for(const r of e)"whitespace"!==r.type&&t.push(r);return t}(e);const t=[],r=[];let n;for(let o=0;o<e.length;o++){const a=e[o];switch(a.type){case"plus":case"minus":case"multiply":case"divide":case"power":r.length&&r[r.length-1].minPrecedence>a.precedence&&(r[r.length-1].minPrecedence=a.precedence);break;case"openBrace":n={minPrecedence:1/0,openBraceIndex:o},r.push(n);break;case"closeBrace":{if(n=r.pop(),!n)break
|
|
||||||
;const a=e[n.openBraceIndex-1],s=e[o+1],l=a&&("plus"===a.type||"multiply"===a.type);(!c(s?.type)||s?.precedence<=n.minPrecedence)&&(!c(a?.type)||a?.precedence<n?.minPrecedence||a?.precedence===n?.minPrecedence&&l)&&(t.unshift(n.openBraceIndex),t.push(o),r.length&&r[r.length-1].minPrecedence>n.minPrecedence&&(r[r.length-1].minPrecedence=n.minPrecedence))}}}for(let r=t.length;r--;)e.splice(t[r],1);return e}function p(e){return m(i(e)).reduce(((e,t)=>{if("symbol"!==t.type)return e+t.value;const[,r]=h(t);return r?e+r:e}),"")}function h(e){const t=/^'?(?:([A-Z0-9_]+):)?(.*?)'?$/i.exec(e.value);return null===t?[void 0,void 0]:[t[1],t[2]]}},618:(e,t,r)=>{"use strict";r.d(t,{removeUsdFromCryptoPairLogos:()=>s,resolveLogoUrls:()=>a});var n=r(36279);const o=(0,n.getLogoUrlResolver)();function a(e,t=n.LogoSize.Medium){const r=e.logoid,a=e["base-currency-logoid"],s=e["currency-logoid"],l=r&&o.getSymbolLogoUrl(r,t);if(l)return[l];const i=a&&o.getSymbolLogoUrl(a,t),c=s&&o.getSymbolLogoUrl(s,t);return i&&c?[i,c]:i?[i]:c?[c]:[]}function s(e){return 2!==e.length?e:function(e){return e.some((e=>l(e)))}(e)&&!function(e){return e.some((e=>e.includes("country")&&!l(e)))}(e)?e.filter((e=>!l(e))):e}function l(e){return!1}},39330:(e,t,r)=>{"use strict";r.d(t,{getBlockStyleClasses:()=>l,getLogoStyleClasses:()=>i});var n=r(97754),o=r(52292),a=r(78217),s=r.n(a);function l(e,t){return n(s().pair,s()[e],t)}function i(e,t=2,r=!0){return n(s().logo,s()[e],s().skeleton,o.skeletonTheme.wrapper,!r&&s().empty,1===t&&n(o.skeletonTheme.animated))}},58492:(e,t,r)=>{"use strict";r.d(t,{getStyleClasses:()=>n.getStyleClasses});var n=r(53885)},97006:(e,t,r)=>{"use strict";r.d(t,{createRegExpList:()=>l,getHighlightedChars:()=>i,rankedSearch:()=>s});var n=r(37265);function o(e){return e.replace(/[!-/[-^{-}?]/g,"\\$&")}var a;function s(e){const{data:t,rules:r,queryString:o,isPreventedFromFiltering:a,primaryKey:s,secondaryKey:l=s,optionalPrimaryKey:i,tertiaryKey:c}=e;return t.map((e=>{const t=i&&e[i]?e[i]:e[s],a=e[l],u=c&&e[c];let d,m=0;return r.forEach((e=>{const{re:r,fullMatch:s}=e;if(r.lastIndex=0,(0,n.isString)(t)&&t&&t.toLowerCase()===o.toLowerCase())return m=4,void(d=t.match(s)?.index);if((0,n.isString)(t)&&s.test(t))return m=3,void(d=t.match(s)?.index);if((0,n.isString)(a)&&s.test(a))return m=2,void(d=a.match(s)?.index);if((0,n.isString)(a)&&r.test(a))return m=2,void(d=a.match(r)?.index);if(Array.isArray(u))for(const e of u)if(s.test(e))return m=1,void(d=e.match(s)?.index)})),{matchPriority:m,matchIndex:d,item:e}})).filter((e=>a||e.matchPriority)).sort(((e,t)=>{if(e.matchPriority<t.matchPriority)return 1;if(e.matchPriority>t.matchPriority)return-1;if(e.matchPriority===t.matchPriority){if(void 0===e.matchIndex||void 0===t.matchIndex)return 0;if(e.matchIndex>t.matchIndex)return 1;if(e.matchIndex<t.matchIndex)return-1}return 0})).map((({item:e})=>e))}function l(e,t){const r=[],n=e.toLowerCase(),a=e.split("").map(((e,t)=>`(${0!==t?`[/\\s-]${o(e)}`:o(e)})`)).join("(.*?)")+"(.*)";return r.push({fullMatch:new RegExp(`(${o(e)})`,"i"),re:new RegExp(`^${a}`,"i"),
|
|
||||||
reserveRe:new RegExp(a,"i"),fuzzyHighlight:!0}),t&&t.hasOwnProperty(n)&&r.push({fullMatch:t[n],re:t[n],fuzzyHighlight:!1}),r}function i(e,t,r){const n=[];return e&&r?(r.forEach((e=>{const{fullMatch:r,re:o,reserveRe:a}=e;r.lastIndex=0,o.lastIndex=0;const s=r.exec(t),l=s||o.exec(t)||a&&a.exec(t);if(e.fuzzyHighlight=!s,l)if(e.fuzzyHighlight){let e=l.index;for(let t=1;t<l.length;t++){const r=l[t],o=l[t].length;if(t%2){const t=r.startsWith(" ")||r.startsWith("/")||r.startsWith("-");n[t?e+1:e]=!0}e+=o}}else for(let e=0;e<l[0].length;e++)n[l.index+e]=!0})),n):n}!function(e){e[e.Low=0]="Low",e[e.MediumLow=1]="MediumLow",e[e.Medium=2]="Medium",e[e.High=3]="High",e[e.Highest=4]="Highest"}(a||(a={}))},24637:(e,t,r)=>{"use strict";r.d(t,{HighlightedText:()=>l});var n=r(50959),o=r(97754),a=r(97006),s=r(95059);function l(e){const{queryString:t,rules:r,text:l,className:i}=e,c=(0,n.useMemo)((()=>(0,a.getHighlightedChars)(t,l,r)),[t,r,l]);return n.createElement(n.Fragment,null,c.length?l.split("").map(((e,t)=>n.createElement(n.Fragment,{key:t},c[t]?n.createElement("span",{className:o(s.highlighted,i)},e):n.createElement("span",null,e)))):l)}},78036:(e,t,r)=>{"use strict";r.d(t,{useEnsuredContext:()=>a});var n=r(50959),o=r(50151);function a(e){return(0,o.ensureNotNull)((0,n.useContext)(e))}},36947:(e,t,r)=>{"use strict";r.d(t,{useForceUpdate:()=>n.useForceUpdate});var n=r(125)},29006:(e,t,r)=>{"use strict";r.d(t,{useResizeObserver:()=>n.useResizeObserver});var n=r(67842)},77975:(e,t,r)=>{"use strict";r.d(t,{useWatchedValueReadonly:()=>o});var n=r(50959);const o=(e,t=!1,r=[])=>{const o="watchedValue"in e?e.watchedValue:void 0,a="defaultValue"in e?e.defaultValue:e.watchedValue.value(),[s,l]=(0,n.useState)(o?o.value():a);return(t?n.useLayoutEffect:n.useEffect)((()=>{if(o){l(o.value());const e=e=>l(e);return o.subscribe(e),()=>o.unsubscribe(e)}return()=>{}}),[o,...r]),s}},84877:(e,t,r)=>{"use strict";r.d(t,{MatchMediaMap:()=>s});var n=r(50959),o=r(66783),a=r.n(o);class s extends n.Component{constructor(e){super(e),this._handleMediaChange=()=>{const e=i(this.state.queries,((e,t)=>t.matches));let t=!1;for(const r in e)if(e.hasOwnProperty(r)&&this.state.matches[r]!==e[r]){t=!0;break}t&&this.setState({matches:e})};const{rules:t}=this.props;this.state=l(t)}shouldComponentUpdate(e,t){return!a()(e,this.props)||(!a()(t.rules,this.state.rules)||!a()(t.matches,this.state.matches))}componentDidMount(){this._migrate(null,this.state.queries)}componentDidUpdate(e,t){a()(e.rules,this.props.rules)||this._migrate(t.queries,this.state.queries)}componentWillUnmount(){this._migrate(this.state.queries,null)}render(){return this.props.children(this.state.matches)}static getDerivedStateFromProps(e,t){if(a()(e.rules,t.rules))return null;const{rules:r}=e;return l(r)}_migrate(e,t){null!==e&&i(e,((e,t)=>{t.removeEventListener("change",this._handleMediaChange)})),null!==t&&i(t,((e,t)=>{t.addEventListener("change",this._handleMediaChange)}))}}function l(e){const t=i(e,((e,t)=>window.matchMedia(t)));return{queries:t,matches:i(t,((e,t)=>t.matches)),rules:{...e}}}
|
|
||||||
function i(e,t){const r={};for(const n in e)e.hasOwnProperty(n)&&(r[n]=t(n,e[n]));return r}},47308:(e,t,r)=>{"use strict";r.d(t,{RoundButtonTabs:()=>$});var n=r(50959),o=r(97754),a=r(11542),s=r(63273),l=r(47201),i=r(35020),c=r(86240),u=r(86781);var d=r(95854),m=r(36966),p=r(7953),h=r(38528),g=r(66686);r(34869);const f=n.createContext({children:{},setIsReady:()=>{}});function v(){return!function(){const[e,t]=(0,n.useState)(!0);return(0,n.useEffect)((()=>{t(!1)}),[]),e}()}var b=r(67842);function y(e,t,r){const{id:o,items:a,activationType:s,orientation:y,disabled:S,onActivate:x,isActive:w,overflowBehaviour:k,enableActiveStateStyles:C,tablistLabelId:E,tablistLabel:I,preventDefaultIfKeyboardActionHandled:R,stopPropagationIfKeyboardActionHandled:L,keyboardNavigationLoop:T,defaultKeyboardFocus:B,focusableItemAttributes:N}=t,M=(0,i.useMobileTouchState)(),D=function(e){const t=(0,u.useSafeMatchMedia)(c["media-mf-phone-landscape"],!0),r=(0,i.useMobileTouchState)();return e??(r||!t?"scroll":"collapse")}(k),O=(0,n.useRef)(!1),A=(0,n.useCallback)((e=>e.id),[]),_=C??!M,P=function(){const{setIsReady:e,children:t}=(0,n.useContext)(f),r=(0,n.useRef)((0,n.useId)());return t[r.current]||(t[r.current]={isReady:!1}),(0,n.useCallback)((()=>{t[r.current].isReady=!0,e(Object.values(t).every((e=>e.isReady)))}),[t,e])}(),{visibleItems:F,hiddenItems:W,containerRefCallback:Q,innerContainerRefCallback:U,moreButtonRef:V,setItemRef:K,itemsMeasurements:z}=(0,d.useCollapsible)(a,A,w),H=function(e){const t=(0,n.useRef)(null);return(0,n.useEffect)((()=>{t.current=e}),[e]),t.current}(z.current?.containerWidth)??0,Z=v(),G=z.current?.containerWidth??0;let q=!1;z.current&&Z&&(q=function(e,t,r,n,o){if("collapse"!==n)return!0;const a=function(e,t,r){const n=e.filter((e=>t.find((t=>t.id===e[0]))));return t.length>0?n[0][1]+r:0}(Array.from(e.widthsMap.entries()),t,o),s=e.moreButtonWidth??0;let l=function(e,t){return e.reduce(((e,r)=>e+(t.get(r.id)??0)),0)}(r,e.widthsMap);return l+=t.length>0?s:0,function(e,t,r,n){return 0!==e?t-r<e&&t-r>n:r<t}(a,e.containerWidth,l,o)}(z.current,W,F,D,r.gap??0)||0===G);const j=(0,b.useResizeObserver)((([e])=>{const t=Z&&0===H&&0===W.length;(q&&e.contentRect.width===H||t)&&P()})),$="collapse"===D?F:a,Y=(0,n.useMemo)((()=>"collapse"===D?W:[]),[D,W]),X=(0,n.useCallback)((e=>Y.includes(e)),[Y]),{isOpened:J,open:ee,close:te,onButtonClick:re}=(0,p.useDisclosure)({id:o,disabled:S}),{tabsBindings:ne,tablistBinding:oe,scrollWrapBinding:ae,onActivate:se,onHighlight:le,isHighlighted:ie}=(0,m.useTabs)({id:o,items:[...$,...Y],activationType:s,orientation:y,disabled:S,tablistLabelId:E,tablistLabel:I,preventDefaultIfKeyboardActionHandled:R,scrollIntoViewOptions:r.scrollIntoViewOptions,onActivate:x,isActive:w,isCollapsed:X,isRtl:r.isRtl,isDisclosureOpened:J,isRadioGroup:r.isRadioGroup,stopPropagationIfKeyboardActionHandled:L,keyboardNavigationLoop:T,defaultKeyboardFocus:B,focusableItemAttributes:N}),ce=Y.find(ie),ue=(0,n.useCallback)((()=>{const e=a.find(w);e&&le(e)}),[le,w,a]),de=(0,n.useCallback)((e=>ne.find((t=>t.id===e.id))),[ne]),me=(0,
|
|
||||||
n.useCallback)((()=>{te(),ue(),O.current=!0}),[te,ue]),pe=(0,n.useCallback)((()=>{ce&&(se(ce),le(ce,250))}),[se,le,ce]);ae.ref=(0,h.useMergedRefs)([j,ae.ref,Q]),oe.ref=(0,h.useMergedRefs)([oe.ref,U]),oe.onKeyDown=(0,l.createSafeMulticastEventHandler)((0,g.useKeyboardEventHandler)([(0,g.useKeyboardClose)(J,me),(0,g.useKeyboardActionHandler)([13,32],pe,(0,n.useCallback)((()=>Boolean(ce)),[ce]))],R),oe.onKeyDown);const he=(0,n.useCallback)((e=>{O.current=!0,re(e)}),[O,re]),ge=(0,n.useCallback)((e=>{e&&se(e)}),[se]);return(0,n.useEffect)((()=>{O.current?O.current=!1:(ce&&!J&&ee(),!ce&&J&&te())}),[ce,J,ee,te]),{enableActiveStateStyles:_,moreButtonRef:V,setItemRef:K,getBindings:de,handleMoreButtonClick:he,handleCollapsedItemClick:ge,scrollWrapBinding:ae,overflowBehaviour:D,tablistBinding:oe,visibleTabs:$,hiddenTabs:Y,handleActivate:se,isMobileTouch:M,getItemId:A,isDisclosureOpened:J,isHighlighted:ie,closeDisclosure:te}}var S=r(8304),x=r(53017),w=r(17946),k=r(9745),C=r(2948),E=r(90854);const I="xsmall",R="primary";function L(e){const t=(0,n.useContext)(w.CustomBehaviourContext),{size:r="xsmall",variant:a="primary",active:s,fake:l,startIcon:i,endIcon:c,showCaret:u,iconOnly:d,anchor:m,enableActiveStateStyles:p=t.enableActiveStateStyles,disableFocusOutline:h=!1,tooltip:g}=e;return o(E.roundTabButton,E[r],E[a],i&&E.withStartIcon,(c||u)&&E.withEndIcon,d&&E.iconOnly,s&&E.selected,l&&E.fake,m&&E.enableCursorPointer,!p&&E.disableActiveStateStyles,h&&E.disableFocusOutline,g&&"apply-common-tooltip")}function T(e){const{startIcon:t,endIcon:r,showCaret:a,iconOnly:s,children:l}=e;return n.createElement(n.Fragment,null,t&&n.createElement(k.Icon,{icon:t,className:E.startIconWrap,"aria-hidden":!0}),l&&n.createElement("span",{className:o(E.content,s&&E.visuallyHidden)},l),(!s&&r||a)&&n.createElement(B,{icon:r,showCaret:a}))}function B(e){const{icon:t,showCaret:r}=e;return n.createElement(k.Icon,{className:o(E.endIconWrap,r&&E.caret),icon:r?C:t,"aria-hidden":!0})}const N=(0,n.forwardRef)(((e,t)=>{const{id:r,size:o,variant:a,active:s,fake:l,startIcon:i,endIcon:c,showCaret:u,iconOnly:d,children:m,enableActiveStateStyles:p,disableFocusOutline:h,tooltip:g,...f}=e;return n.createElement("button",{...f,id:r,ref:t,"data-tooltip":g,className:L({size:o,variant:a,active:s,fake:l,startIcon:i,endIcon:c,showCaret:u,iconOnly:d,enableActiveStateStyles:p,disableFocusOutline:h,tooltip:g})},n.createElement(T,{startIcon:i,endIcon:c,showCaret:u,iconOnly:d},m))}));N.displayName="RoundTabsBaseButton";const M=(0,n.createContext)({size:"small",variant:"primary",isHighlighted:!1,isCollapsed:!1,disabled:!1});function D(e){const{item:t,highlighted:r,handleItemRef:o,reference:a,onClick:s,"aria-disabled":l,...i}=e,c=(0,n.useCallback)((e=>{i.disabled&&e.preventDefault(),s&&s(t)}),[s,t,i.disabled]),u=(0,n.useCallback)((e=>{o&&o(t,e),(0,x.isomorphicRef)(a)(e)}),[t,o]),d={size:i.size??I,variant:i.variant??R,isHighlighted:Boolean(i.active),isCollapsed:!1,disabled:i.disabled??!1};return n.createElement(N,{...i,id:t.id,onClick:c,ref:u,startIcon:t.startIcon,endIcon:t.endIcon,
|
|
||||||
tooltip:t.tooltip,"aria-label":"radio"===i.role?t.children:void 0},n.createElement(M.Provider,{value:d},t.children))}var O=r(16396),A=r(4523),_=r(16829),P=r(89882),F=r(2057),W=r(93524);function Q(e){const{disabled:t,isOpened:r,enableActiveStateStyles:o,disableFocusOutline:a,fake:s,items:l,buttonText:i,buttonPreset:c="text",buttonRef:u,size:d,variant:m,isAnchorTabs:p,isHighlighted:g,onButtonClick:f,onItemClick:v,onClose:b}=e,y=(0,n.useRef)(null),S=(0,h.useMergedRefs)([u,y]),x="text"===c?void 0:"xsmall"===d?P:F;return n.createElement(A.PopupMenuDisclosureView,{buttonRef:y,listboxTabIndex:-1,isOpened:r,onClose:b,listboxAria:{"aria-hidden":!0},button:n.createElement(N,{"aria-hidden":!0,disabled:t,active:r,onClick:f,ref:S,tabIndex:-1,size:d,variant:m,startIcon:x,showCaret:"text"===c,iconOnly:"meatballs"===c,enableActiveStateStyles:o,disableFocusOutline:a,fake:s},i),popupChildren:n.createElement(n.Fragment,null,"meatballs"===c&&n.createElement(_.ToolWidgetMenuSummary,null,i),l.map((e=>n.createElement(O.PopupMenuItem,{key:e.id,className:p?W.linkItem:void 0,onClick:v,onClickArg:e,isActive:g(e),label:n.createElement(U,{isHighlighted:g(e),size:d,variant:m,disabled:e.disabled},e.children),isDisabled:e.disabled,link:"href"in e?e.href:void 0,rel:"rel"in e?e.rel:void 0,target:"target"in e?e.target:void 0,icon:e.startIcon,toolbox:e.endIcon&&n.createElement(k.Icon,{icon:e.endIcon}),renderComponent:"renderComponent"in e?e.renderComponent:void 0,dontClosePopup:!0}))))})}function U(e){const{isHighlighted:t,size:r,variant:o,children:a,disabled:s}=e,l={size:r??I,variant:o??R,isHighlighted:t,isCollapsed:!0,disabled:s??!1};return n.createElement(M.Provider,{value:l},a)}var V,K,z,H,Z=r(76912);function G(e){const{overflowBehaviour:t}=e;return o(Z.scrollWrap,"scroll"===t&&Z.overflowScroll,"wrap"===t&&Z.overflowWrap)}function q(e){const{align:t="start"}=e;return o(Z.roundTabs,Z[t])}function j(e){const{children:t,disabled:l,moreButtonText:i=a.t(null,void 0,r(37117)),moreButtonPreset:c,className:u,size:d,variant:m,align:p,style:h={},"data-name":g,isRadioGroup:f,"aria-controls":v}=e,b=function(e="xsmall"){switch(e){case"small":return 8;case"xsmall":return 4;default:return 16}}(d),{enableActiveStateStyles:x,moreButtonRef:w,setItemRef:k,getBindings:C,handleMoreButtonClick:E,handleCollapsedItemClick:I,scrollWrapBinding:R,overflowBehaviour:L,tablistBinding:T,visibleTabs:B,hiddenTabs:N,handleActivate:M,isMobileTouch:O,getItemId:A,isDisclosureOpened:_,isHighlighted:P,closeDisclosure:F}=y(S.TabNames.RoundButtonTabs,e,{isRtl:s.isRtl,scrollIntoViewOptions:{additionalScroll:b},isRadioGroup:f,gap:b});return n.createElement("div",{...R,className:o(G({overflowBehaviour:L}),u),style:{...h,"--ui-lib-round-tabs-gap":`${b}px`},"data-name":g},n.createElement("div",{...T,className:q({align:p,overflowBehaviour:L})},B.map((e=>n.createElement(D,{...C(e),key:e.id,item:e,onClick:()=>M(e),variant:m,size:d,enableActiveStateStyles:x,disableFocusOutline:O,reference:k(A(e)),...e.dataId&&{"data-id":e.dataId},"aria-controls":v}))),N.map((e=>n.createElement(D,{...C(e),key:e.id,
|
|
||||||
item:e,variant:m,size:d,reference:k(A(e)),"aria-controls":v,fake:!0}))),n.createElement(Q,{disabled:l,isOpened:_,items:N,buttonText:i,buttonPreset:c,buttonRef:w,isHighlighted:P,onButtonClick:E,onItemClick:I,onClose:F,variant:m,size:d,enableActiveStateStyles:x,disableFocusOutline:O,fake:0===N.length}),t))}function $(e){const{"data-name":t="round-tabs-buttons",...r}=e;return n.createElement(j,{...r,"data-name":t})}!function(e){e.Primary="primary",e.Ghost="ghost"}(V||(V={})),function(e){e.XSmall="xsmall",e.Small="small",e.Large="large"}(K||(K={})),function(e){e.Start="start",e.Center="center"}(z||(z={})),function(e){e.Text="text",e.Meatballs="meatballs"}(H||(H={}));r(21593)},63932:(e,t,r)=>{"use strict";r.d(t,{Spinner:()=>i});var n=r(50959),o=r(97754),a=r(58096),s=(r(15216),r(85862)),l=r.n(s);function i(e){const{ariaLabel:t,ariaLabelledby:r,className:s,style:i,size:c,id:u,disableSelfPositioning:d}=e;return n.createElement("div",{className:o(s,"tv-spinner","tv-spinner--shown",`tv-spinner--size_${a.spinnerSizeMap[c||a.DEFAULT_SIZE]}`,d&&l().disableSelfPositioning),style:i,role:"progressbar",id:u,"aria-label":t,"aria-labelledby":r})}},10381:(e,t,r)=>{"use strict";r.d(t,{ToolWidgetCaret:()=>i});var n=r(50959),o=r(97754),a=r(9745),s=r(49128),l=r(578);function i(e){const{dropped:t,className:r}=e;return n.createElement(a.Icon,{className:o(r,s.icon,{[s.dropped]:t}),icon:l})}},4237:(e,t,r)=>{"use strict";var n=r(32227);t.createRoot=n.createRoot,n.hydrateRoot},38576:e=>{e.exports={button:"button-GwQQdU8S",hover:"hover-GwQQdU8S",clicked:"clicked-GwQQdU8S",isInteractive:"isInteractive-GwQQdU8S",accessible:"accessible-GwQQdU8S",isGrouped:"isGrouped-GwQQdU8S",isActive:"isActive-GwQQdU8S",isOpened:"isOpened-GwQQdU8S",isDisabled:"isDisabled-GwQQdU8S",text:"text-GwQQdU8S",icon:"icon-GwQQdU8S",endIcon:"endIcon-GwQQdU8S"}},55973:e=>{e.exports={title:"title-u3QJgF_p"}},81348:(e,t,r)=>{"use strict";r.d(t,{DEFAULT_TOOL_WIDGET_BUTTON_THEME:()=>l,ToolWidgetButton:()=>i});var n=r(50959),o=r(97754),a=r(9745),s=r(38576);const l=s,i=n.forwardRef(((e,t)=>{const{tag:r="div",icon:l,endIcon:i,isActive:c,isOpened:u,isDisabled:d,isGrouped:m,isHovered:p,isClicked:h,onClick:g,text:f,textBeforeIcon:v,title:b,theme:y=s,className:S,forceInteractive:x,inactive:w,"data-name":k,"data-tooltip":C,...E}=e,I=o(S,y.button,(b||C)&&"apply-common-tooltip",{[y.isActive]:c,[y.isOpened]:u,[y.isInteractive]:(x||Boolean(g))&&!d&&!w,[y.isDisabled]:Boolean(d||w),[y.isGrouped]:m,[y.hover]:p,[y.clicked]:h}),R=l&&("string"==typeof l?n.createElement(a.Icon,{className:y.icon,icon:l}):n.cloneElement(l,{className:o(y.icon,l.props.className)}));return"button"===r?n.createElement("button",{...E,ref:t,type:"button",className:o(I,y.accessible),disabled:d&&!w,onClick:g,title:b,"data-name":k,"data-tooltip":C},v&&f&&n.createElement("div",{className:o("js-button-text",y.text)},f),R,!v&&f&&n.createElement("div",{className:o("js-button-text",y.text)},f)):n.createElement("div",{...E,ref:t,"data-role":"button",className:I,onClick:d?void 0:g,title:b,"data-name":k,"data-tooltip":C
|
|
||||||
},v&&f&&n.createElement("div",{className:o("js-button-text",y.text)},f),R,!v&&f&&n.createElement("div",{className:o("js-button-text",y.text)},f),i&&n.createElement(a.Icon,{icon:i,className:s.endIcon}))}))},16829:(e,t,r)=>{"use strict";r.d(t,{ToolWidgetMenuSummary:()=>s});var n=r(50959),o=r(97754),a=r(55973);function s(e){return n.createElement("div",{className:o(e.className,a.title)},e.children)}},74395:(e,t,r)=>{"use strict";r.d(t,{VISIBLE_TYPESPECS:()=>s,marketType:()=>l});var n=r(11542);const o=new Map([["cfd",n.t(null,void 0,r(79599))],["dr",n.t(null,void 0,r(47268))],["index",n.t(null,void 0,r(87464))],["forex",n.t(null,void 0,r(17770))],["right",n.t(null,{context:"symbol_type"},r(53174))],["bond",n.t(null,void 0,r(42358))],["bitcoin",n.t(null,void 0,r(46128))],["crypto",n.t(null,void 0,r(46128))],["economic",n.t(null,void 0,r(54094))],["indices",n.t(null,void 0,r(90250))],["futures",n.t(null,void 0,r(4723))],["stock",n.t(null,void 0,r(76752))],["commodity",n.t(null,void 0,r(70932))]]);r(21251);const a=new Map,s=new Set(["cfd","spreadbet","defi","yield","government","corporate","mutual","money","etf","unit","trust","reit","etn","convertible","closedend","crypto","oracle"]);function l(e,t=[],r=!0){const n=t.filter((e=>s.has(e))),l=`${e}_${n.sort().join("_")}`,i=a.get(l);if(void 0!==i)return i;const c=r?function(e){return o.get(e)||e}(e):e,u=Boolean(t.length)?[c,...n].join(" "):c;return a.set(l,u),u}},52019:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M13.35 5.35a.5.5 0 0 0-.7-.7L9 8.29 5.35 4.65a.5.5 0 1 0-.7.7L8.29 9l-3.64 3.65a.5.5 0 0 0 .7.7L9 9.71l3.65 3.64a.5.5 0 0 0 .7-.7L9.71 9l3.64-3.65z"/></svg>'},89882:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M5 9a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm6 0a2 2 0 1 1-4 0 2 2 0 0 1 4 0zm4 2a2 2 0 1 0 0-4 2 2 0 0 0 0 4z"/></svg>'},2057:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" d="M9 14a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm8 0a3 3 0 1 1-6 0 3 3 0 0 1 6 0zm5 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"/></svg>'},95694:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.2" d="M17 22.5 6.85 12.35a.5.5 0 0 1 0-.7L17 1.5"/></svg>'},49498:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.2" d="M12 16.5 4.85 9.35a.5.5 0 0 1 0-.7L12 1.5"/></svg>'},60176:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" width="14" height="14" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.2" d="M9.5 12.5 3.9 7.37a.5.5 0 0 1 0-.74L9.5 1.5"/></svg>'},35369:e=>{
|
|
||||||
e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" width="12" height="12" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.2" d="M8 10.5 3.85 6.35a.5.5 0 0 1 0-.7L8 1.5"/></svg>'},58478:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" width="10" height="10" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.2" d="M7 8.5 3.85 5.35a.5.5 0 0 1 0-.7L7 1.5"/></svg>'},73063:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M17 22.5 6.85 12.35a.5.5 0 0 1 0-.7L17 1.5"/></svg>'},14127:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M12 16.5 4.85 9.35a.5.5 0 0 1 0-.7L12 1.5"/></svg>'},18073:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14" width="14" height="14" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M9.5 12.5 3.9 7.37a.5.5 0 0 1 0-.74L9.5 1.5"/></svg>'},99243:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" width="12" height="12" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M8 10.5 3.85 6.35a.5.5 0 0 1 0-.7L8 1.5"/></svg>'},42576:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" width="10" height="10" fill="none"><path stroke="currentColor" stroke-linecap="round" stroke-width="1.5" d="M7 8.5 3.85 5.35a.5.5 0 0 1 0-.7L7 1.5"/></svg>'},578:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 8" width="16" height="8"><path fill="currentColor" d="M0 1.475l7.396 6.04.596.485.593-.49L16 1.39 14.807 0 7.393 6.122 8.58 6.12 1.186.08z"/></svg>'},91540:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18" fill="none"><path stroke="currentColor" d="M2.5 14.5c1.68-1.26 3.7-2 6.5-2s4.91.74 6.5 2m-13-11c1.68 1.26 3.7 2 6.5 2s4.91-.74 6.5-2"/><circle stroke="currentColor" cx="9" cy="9" r="8.5"/><path stroke="currentColor" d="M13.5 9c0 2.42-.55 4.58-1.4 6.12-.87 1.56-1.98 2.38-3.1 2.38s-2.23-.82-3.1-2.38c-.85-1.54-1.4-3.7-1.4-6.12s.55-4.58 1.4-6.12C6.77 1.32 7.88.5 9 .5s2.23.82 3.1 2.38c.85 1.54 1.4 3.7 1.4 6.12z"/></svg>'},66619:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120" width="120" height="120"><path fill="#B2B5BE" fill-rule="evenodd" d="M23 39a36 36 0 0 1 72 0v13.15l15.1 8.44 2.16 1.2-1.64 1.86-12.85 14.59 3.73 4.03L98.57 85 95 81.13V117H77v-12H67v9H50V95H40v22H23V81.28l-3.8 3.61-2.76-2.9 4.05-3.84-12.77-14.5-1.64-1.86 2.16-1.2L23 52.34V39Zm72 36.33 10.98-12.46L95 56.73v18.6ZM23 56.92v18.03L12.35 62.87 23 56.92ZM59 7a32 32 0 0 0-32 32v74h9V91h18v19h9v-9h18v12h10V39A32 32 0 0 0 59 7Zm-7 36a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm19 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"/></svg>'},67562:e=>{
|
|
||||||
e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 120 120" width="120" height="120"><path fill="#131722" fill-rule="evenodd" d="M23 39a36 36 0 0 1 72 0v13.15l15.1 8.44 2.16 1.2-1.64 1.86-12.85 14.59 3.73 4.03L98.57 85 95 81.13V117H77v-12H67v9H50V95H40v22H23V81.28l-3.8 3.61-2.76-2.9 4.05-3.84-12.77-14.5-1.64-1.86 2.16-1.2L23 52.34V39Zm72 36.33 10.98-12.46L95 56.73v18.6ZM23 56.92v18.03L12.35 62.87 23 56.92ZM59 7a32 32 0 0 0-32 32v74h9V91h18v19h9v-9h18v12h10V39A32 32 0 0 0 59 7Zm-7 36a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm19 3a3 3 0 1 0 0-6 3 3 0 0 0 0 6Z"/></svg>'},69533:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="none"><path stroke="currentColor" d="M8 5l3.5 3.5L8 12"/></svg>'},486:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13"><path fill="none" stroke="currentColor" stroke-linecap="square" d="M2.5 6.5h9"/><circle fill="currentColor" cx="7" cy="3" r="1"/><circle fill="currentColor" cx="7" cy="10" r="1"/></svg>'},63861:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13"><g fill="none" fill-rule="evenodd" stroke="currentColor"><path stroke-linecap="square" stroke-linejoin="round" d="M3.5 10V2.5L1 5"/><path stroke-linecap="square" d="M1.5 10.5h4"/><path d="M8 12l3-11"/></g></svg>'},81574:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13"><path fill="none" stroke="currentColor" stroke-linecap="square" d="M2.5 6.5h8"/></svg>'},32617:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13"><path fill="none" stroke="currentColor" stroke-linecap="square" d="M3 10l7-7M3 3l7 7"/></svg>'},35119:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13"><path fill="none" stroke="currentColor" stroke-linecap="square" d="M2.5 6.5h8m-4-4v8"/></svg>'},69135:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 13 13" width="13" height="13"><path fill="none" stroke="currentColor" stroke-linecap="square" d="M3 7l3.5-3.5L10 7"/></svg>'},54313:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28"><path fill="currentColor" fill-rule="evenodd" d="M18.5 12.5a6 6 0 1 1-12 0 6 6 0 0 1 12 0Zm-1.25 5.8a7.5 7.5 0 1 1 1.06-1.06l4.22 4.23.53.53L22 23.06l-.53-.53-4.22-4.22Z"/></svg>'},6347:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28" width="28" height="28" fill="none"><path stroke="currentColor" d="M17.4 17.5a7 7 0 1 0-4.9 2c1.9 0 3.64-.76 4.9-2zm0 0l5.1 5"/></svg>'}}]);
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
.scrollable-vwgPOHG8{flex:1 1 auto;min-height:145px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}@media (max-height:290px){.scrollable-vwgPOHG8{min-height:auto}}@supports (-moz-appearance:none){.scrollable-vwgPOHG8{scrollbar-color:var(--themed-color-scroll-bg,#9c9c9c) #0000;scrollbar-width:thin}html.theme-dark .scrollable-vwgPOHG8{scrollbar-color:var(--themed-color-scroll-bg,#3d3d3d) #0000}}.scrollable-vwgPOHG8::-webkit-scrollbar{height:5px;width:5px}.scrollable-vwgPOHG8::-webkit-scrollbar-thumb{background-clip:content-box;background-color:var(--tv-color-scrollbar-thumb-background,var(--themed-color-scroll-bg,#9c9c9c));border:1px solid #0000;border-radius:3px}html.theme-dark .scrollable-vwgPOHG8::-webkit-scrollbar-thumb{background-color:var(--tv-color-scrollbar-thumb-background,var(--themed-color-scroll-bg,#3d3d3d))}.scrollable-vwgPOHG8::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollable-vwgPOHG8::-webkit-scrollbar-corner{display:none}.tabs-vwgPOHG8{--ui-lib-underline-tabs-hor-padding:20px;padding:0 var(--ui-lib-underline-tabs-hor-padding)}.smallStyleControl-l5f4IL9k{margin-left:8px;width:34px}.smallStyleControl-l5f4IL9k:first-child{margin-left:0}.additionalSelect-l5f4IL9k{margin-left:8px}.childRowContainer-l5f4IL9k{cursor:default;margin-left:26px}.defaultSelect-l5f4IL9k{cursor:default;width:100px}.defaultSelectItem-l5f4IL9k{box-sizing:border-box;min-width:100px}.block-l5f4IL9k{display:flex}@media (max-width:379px){.block-l5f4IL9k{display:block}}.group-l5f4IL9k{display:flex}@media (max-width:379px){.wrapGroup-l5f4IL9k{margin-left:0;margin-top:8px}}.textMarkGraphicBlock-l5f4IL9k{display:flex}@media (max-width:550px){.textMarkGraphicBlock-l5f4IL9k{display:block}}.textMarkGraphicWrapGroup-l5f4IL9k{display:flex}@media (max-width:550px){.textMarkGraphicWrapGroup-l5f4IL9k{margin-left:0;margin-top:8px}}.transparency-l5f4IL9k{height:16px}.color-l5f4IL9k:not(:first-child){margin-left:8px}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
.scrollable-vwgPOHG8{flex:1 1 auto;min-height:145px;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}@media (max-height:290px){.scrollable-vwgPOHG8{min-height:auto}}@supports (-moz-appearance:none){.scrollable-vwgPOHG8{scrollbar-color:var(--themed-color-scroll-bg,#9c9c9c) #0000;scrollbar-width:thin}html.theme-dark .scrollable-vwgPOHG8{scrollbar-color:var(--themed-color-scroll-bg,#3d3d3d) #0000}}.scrollable-vwgPOHG8::-webkit-scrollbar{height:5px;width:5px}.scrollable-vwgPOHG8::-webkit-scrollbar-thumb{background-clip:content-box;background-color:var(--tv-color-scrollbar-thumb-background,var(--themed-color-scroll-bg,#9c9c9c));border:1px solid #0000;border-radius:3px}html.theme-dark .scrollable-vwgPOHG8::-webkit-scrollbar-thumb{background-color:var(--tv-color-scrollbar-thumb-background,var(--themed-color-scroll-bg,#3d3d3d))}.scrollable-vwgPOHG8::-webkit-scrollbar-track{background-color:initial;border-radius:3px}.scrollable-vwgPOHG8::-webkit-scrollbar-corner{display:none}.tabs-vwgPOHG8{--ui-lib-underline-tabs-hor-padding:20px;padding:0 var(--ui-lib-underline-tabs-hor-padding)}.smallStyleControl-l5f4IL9k{margin-right:8px;width:34px}.smallStyleControl-l5f4IL9k:first-child{margin-right:0}.additionalSelect-l5f4IL9k{margin-right:8px}.childRowContainer-l5f4IL9k{cursor:default;margin-right:26px}.defaultSelect-l5f4IL9k{cursor:default;width:100px}.defaultSelectItem-l5f4IL9k{box-sizing:border-box;min-width:100px}.block-l5f4IL9k{display:flex}@media (max-width:379px){.block-l5f4IL9k{display:block}}.group-l5f4IL9k{display:flex}@media (max-width:379px){.wrapGroup-l5f4IL9k{margin-right:0;margin-top:8px}}.textMarkGraphicBlock-l5f4IL9k{display:flex}@media (max-width:550px){.textMarkGraphicBlock-l5f4IL9k{display:block}}.textMarkGraphicWrapGroup-l5f4IL9k{display:flex}@media (max-width:550px){.textMarkGraphicWrapGroup-l5f4IL9k{margin-right:0;margin-top:8px}}.transparency-l5f4IL9k{height:16px}.color-l5f4IL9k:not(:first-child){margin-right:8px}
|
|
||||||
5
charting_library/bundles/2891.ac7f12fc1eff206762f9.js
Normal file
5
charting_library/bundles/2891.ac7f12fc1eff206762f9.js
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
"use strict";(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[2891],{91445:(e,t,o)=>{o.d(t,{createTextStyleDefinition:()=>w});var i=o(11542),r=o(95804),n=o(95338),s=o(91682);const a=new r.TranslatedString("change {toolName} text visibility",i.t(null,void 0,o(56634))),l=new r.TranslatedString("change {toolName} text color",i.t(null,void 0,o(64500))),d=new r.TranslatedString("change {toolName} text font size",i.t(null,void 0,o(21781))),c=new r.TranslatedString("change {toolName} text font bold",i.t(null,void 0,o(24701))),u=new r.TranslatedString("change {toolName} text font italic",i.t(null,void 0,o(42694))),p=new r.TranslatedString("change {toolName} text",i.t(null,void 0,o(66668))),h=new r.TranslatedString("change {toolName} labels alignment vertical",i.t(null,void 0,o(31689))),g=new r.TranslatedString("change {toolName} labels alignment horizontal",i.t(null,void 0,o(88277))),_=new r.TranslatedString("change {toolName} labels direction",i.t(null,void 0,o(61160))),y=new r.TranslatedString("change {toolName} text background visibility",i.t(null,void 0,o(31133))),b=new r.TranslatedString("change {toolName} text background color",i.t(null,void 0,o(22231))),m=new r.TranslatedString("change {toolName} text border visibility",i.t(null,void 0,o(58704))),f=new r.TranslatedString("change {toolName} text border width",i.t(null,void 0,o(35423))),P=new r.TranslatedString("change {toolName} text border color",i.t(null,void 0,o(36666))),v=new r.TranslatedString("change {toolName} text wrap",i.t(null,void 0,o(39587))),T=i.t(null,void 0,o(79468)),C=i.t(null,void 0,o(38408)),x=i.t(null,void 0,o(7560)),S=i.t(null,void 0,o(6060));function w(e,t,o,i){const r={},w={id:`${(0,s.removeSpaces)(o.originalText())}Text`,title:i.customTitles&&i.customTitles.text||"",placeholder:i.placeholder??S};if(void 0===t.showText||i.hideTextCheckbox||(r.checked=(0,n.convertToDefinitionProperty)(e,t.showText,a.format({toolName:o}))),void 0!==t.textColor&&(r.color=(0,n.getColorDefinitionProperty)(e,t.textColor,t.transparency||null,l.format({toolName:o}))),void 0!==t.fontSize&&(r.size=(0,n.convertToDefinitionProperty)(e,t.fontSize,d.format({toolName:o}))),void 0!==t.bold&&(r.bold=(0,n.convertToDefinitionProperty)(e,t.bold,c.format({toolName:o}))),void 0!==t.italic&&(r.italic=(0,n.convertToDefinitionProperty)(e,t.italic,u.format({toolName:o}))),void 0!==t.text){const s=p.format({toolName:o});r.text=(0,n.convertToDefinitionProperty)(e,t.text,s,void 0),w.isEditable=Boolean(i.isEditable),w.isMultiLine=Boolean(i.isMultiLine)}if(void 0!==t.vertLabelsAlign&&(r.alignmentVertical=(0,n.convertToDefinitionProperty)(e,t.vertLabelsAlign,h.format({toolName:o})),w.alignmentVerticalItems=i.alignmentVerticalItems),void 0!==t.horzLabelsAlign&&(r.alignmentHorizontal=(0,n.convertToDefinitionProperty)(e,t.horzLabelsAlign,g.format({toolName:o})),w.alignmentHorizontalItems=i.alignmentHorizontalItems),void 0!==t.textOrientation&&(r.orientation=(0,n.convertToDefinitionProperty)(e,t.textOrientation,_.format({toolName:o}))),
|
||||||
|
void 0!==t.backgroundVisible&&(r.backgroundVisible=(0,n.convertToDefinitionProperty)(e,t.backgroundVisible,y.format({toolName:o}))),void 0!==t.backgroundColor){let i=null;void 0!==t.backgroundTransparency&&(i=t.backgroundTransparency),r.backgroundColor=(0,n.getColorDefinitionProperty)(e,t.backgroundColor,i,b.format({toolName:o}))}return void 0===t.backgroundVisible&&void 0===t.backgroundColor||(w.backgroundTitle=i.customTitles&&i.customTitles.backgroundTitle||T),void 0!==t.borderVisible&&(r.borderVisible=(0,n.convertToDefinitionProperty)(e,t.borderVisible,m.format({toolName:o}))),void 0!==t.borderWidth&&(r.borderWidth=(0,n.convertToDefinitionProperty)(e,t.borderWidth,f.format({toolName:o}))),void 0!==t.borderColor&&(r.borderColor=(0,n.getColorDefinitionProperty)(e,t.borderColor,null,P.format({toolName:o}))),void 0===t.borderVisible&&void 0===t.borderColor&&void 0===t.borderWidth||(w.borderTitle=i.customTitles&&i.customTitles.borderTitle||C),void 0!==t.wrap&&(r.wrap=(0,n.convertToDefinitionProperty)(e,t.wrap,v.format({toolName:o})),w.wrapTitle=i.customTitles&&i.customTitles.wrapTitle||x),(0,n.createTextPropertyDefinition)(r,w)}},14472:(e,t,o)=>{o.r(t),o.d(t,{LineDataSourceDefinitionsViewModel:()=>P,LineDataSourceTabTypes:()=>i,pointPriceBarTitle:()=>f});var i,r=o(50151),n=o(11542),s=o(95804),a=(o(40167),o(95338)),l=o(60567),d=o(22613),c=o(73863),u=o(97578),p=o(81634),h=o(36313);!function(e){e.Visibility="visibility",e.Coordinates="coordinates",e.Style="style",e.Text="text",e.Inputs="inputs"}(i||(i={}));const g=n.t(null,void 0,o(40091)),_=n.t(null,void 0,o(78930)),y=n.t(null,void 0,o(92516)),b=n.t(null,void 0,o(70320)),m=n.t(null,void 0,o(21429)),f=n.t(null,{context:"linetool point"},o(80166));class P{constructor(e,t){this._yCoordinateStepWV=null,this._propertyPages=[],this._source=t,this._undoModel=e,this._ownerSource=(0,r.ensureNotNull)(this._source.ownerSource()),this._propertyApplier=new p.PropertyApplierWithoutSavingChart((()=>e)),this._createPropertyRages()}destroy(){null!==this._yCoordinateStepWV&&(this._source.ownerSourceChanged().unsubscribeAll(this),this._ownerSource.priceStepChanged().unsubscribeAll(this)),this._source.pointAdded().unsubscribeAll(this),this._propertyPages.forEach((e=>{(0,a.destroyDefinitions)(e.definitions.value())}))}propertyPages(){return Promise.resolve(this._propertyPages)}_createPropertyRages(){this._propertyPages=[];const e=this._createInputsPropertyPage();null!==e&&this._propertyPages.push(e);const t=this._createStylePropertyPage();null!==t&&this._propertyPages.push(t);const o=this._createTextPropertyPage();null!==o&&this._propertyPages.push(o);const i=this._createCoordinatesPropertyPage();null!==i&&(i.visible=this._source.hasEditableCoordinates(),this._propertyPages.push(i));const r=this._createVisibilitiesPropertyPage();this._propertyPages.push(r)}_createVisibilitiesPropertyPage(){const e=this._source.properties().childs().intervalsVisibilities.childs();return(0,l.createPropertyPage)((0,
|
||||||
|
c.getIntervalsVisibilitiesPropertiesDefinitions)(this._propertyApplier,e,new s.TranslatedString(this._source.name(),this._source.title(h.TitleDisplayTarget.StatusLine,!0))),"visibility",g)}_createCoordinatesPropertyPage(){const e=this._coordinatesPropertyDefinitions();return null!==e?(e.definitions.length<this._source.pointsCount()&&this._source.pointAdded().subscribe(this,this._updateCoordinatesPropertyDefinitons),(0,l.createPropertyPage)(e,"coordinates",_)):null}_getYCoordinateStepWV(){return null===this._yCoordinateStepWV&&(this._yCoordinateStepWV=new d.WatchedValue(function(e){if(null!==e){const t=e.priceStep();if(null!==t)return t}return 1}(this._source.ownerSource())),this._ownerSource.priceStepChanged().subscribe(this,(()=>this._updateYCoordinateStep())),this._source.ownerSourceChanged().subscribe(this,(()=>{this._ownerSource.priceStepChanged().unsubscribeAll(this),this._ownerSource=(0,r.ensureNotNull)(this._source.ownerSource()),this._ownerSource.priceStepChanged().subscribe(this,(()=>this._updateYCoordinateStep()))}))),this._yCoordinateStepWV}_coordinatesPropertyDefinitions(){const e=this._source.points(),t=this._source.pointsProperty().childs().points,o=[],i=this._getYCoordinateStepWV();return e.forEach(((e,r)=>{const n=t[r].childs();n&&o.push((0,u.getCoordinatesPropertiesDefinitions)(this._propertyApplier,n,e,i,f.format({count:(r+1).toString()}),this._source.name()))})),{definitions:o}}_createStylePropertyPage(){const e=this._stylePropertyDefinitions();return null!==e?(0,l.createPropertyPage)(e,"style",y):null}_stylePropertyDefinitions(){return null}_createTextPropertyPage(){const e=this._textPropertyDefinitions();return null!==e?(0,l.createPropertyPage)(e,"text",b):null}_textPropertyDefinitions(){return null}_createInputsPropertyPage(){const e=this._inputsPropertyDefinitions();return null!==e?(0,l.createPropertyPage)(e,"inputs",m):null}_inputsPropertyDefinitions(){return null}_updateYCoordinateStep(){const e=this._ownerSource.priceStep();this._getYCoordinateStepWV().setValue(e||1)}_updateCoordinatesPropertyDefinitons(){const e=this._coordinatesPropertyDefinitions();if(null!==e){(0,r.ensureDefined)(this._propertyPages.find((e=>"coordinates"===e.id))).definitions.setValue(e.definitions),this._source.points().length===this._source.pointsCount()&&this._source.pointAdded().unsubscribeAll(this)}}}},12891:(e,t,o)=>{o.r(t),o.d(t,{LineToolBalloon:()=>A});var i=o(50151),r=o(11542),n=o(78176),s=o(63117),a=o(43337),l=o(65045),d=o(95804),c=o(91445),u=o(14472);const p=r.t(null,void 0,o(70320));class h extends u.LineDataSourceDefinitionsViewModel{_textPropertyDefinitions(){const e=this._source.properties().childs();return{definitions:[(0,c.createTextStyleDefinition)(this._propertyApplier,{textColor:e.color,fontSize:e.fontsize,text:e.text,backgroundColor:e.backgroundColor,backgroundTransparency:e.transparency,borderColor:e.borderColor},new d.TranslatedString(this._source.name(),this._source.translatedType()),{isEditable:!0,isMultiLine:!0,customTitles:{text:p}})]}}}
|
||||||
|
var g,_=o(52859),y=o(49251),b=o(84617),m=o(54707),f=o(73914),P=o(94602),v=o(45801),T=o(2383),C=o(10555),x=o(6453),S=o(24640),w=o(33350),D=o(20820);!function(e){e[e.Radius=15]="Radius",e[e.TailApexXOffsetFromTextStart=20]="TailApexXOffsetFromTextStart",e[e.TailHeight=9]="TailHeight"}(g||(g={}));class N extends D.MediaCoordinatesPaneRenderer{constructor(){super(...arguments),this._geometryCache={innerHeight:NaN,textHorizontalPadding:NaN,innerWidth:NaN,paddingLeft:NaN},this._geomertryCacheInvalidated=!0,this._data=null}setData(e){this._data=e,this._geomertryCacheInvalidated=!0}hitTest(e){if(null===this._data||0===this._data.points.length)return null;const t=this._data.points[0].x-(this._geometryCache.paddingLeft+20),o=this._data.points[0].y-(this._geometryCache.innerHeight+9),i=(0,C.box)(new C.Point(t,o),new C.Point(t+this._geometryCache.innerWidth,o+this._geometryCache.innerHeight));return(0,x.pointInBox)(e,i)?new T.HitTestResult(T.HitTarget.MovePoint,{areaName:T.AreaName.Text}):null}_drawImpl(e){if(null===this._data||0===this._data.points.length)return;const t=e.context;t.font=this._data.font;const o=this._measureInfo(t,this._data.label,this._data.fontSize),{paddingLeft:i,innerHeight:r,innerWidth:n,textHorizontalPadding:s}=o;t.textAlign=(0,S.isRtl)()?"right":"left";const a=this._data.points[0].x-(i+20),l=this._data.points[0].y-(r+9);t.translate(a,l),t.beginPath(),t.moveTo(24,r),t.lineTo(15,r),t.arcTo(-1e3,0,1e3,0,r/2),t.lineTo(n-15,0),t.arcTo(1e3,r,-1e3,r,r/2),t.lineTo(33,r),t.quadraticCurveTo(33,r+4,35,r+9),t.quadraticCurveTo(27,r+6,24,r),t.fillStyle=this._data.backgroundColor,t.fill(),t.strokeStyle=this._data.borderColor,t.lineWidth=2,t.stroke(),t.closePath(),t.textBaseline="middle",t.fillStyle=this._data.color,t.fillText(this._data.label,i+s,r/2)}_measureInfo(e,t,o){if(this._geomertryCacheInvalidated){const i=e.measureText(t),r=o,n=15,s=Math.round(r/1.3),a=i.width+2*n,l=r+2*s,d=(0,w.calcTextHorizontalShift)(e,i.width);this._geometryCache={paddingLeft:n,innerWidth:a,innerHeight:l,textHorizontalPadding:d},this._geomertryCacheInvalidated=!1}return this._geometryCache}}class V extends m.LineSourcePaneView{constructor(e,t){super(e,t),this._balloonRenderer=new N,this._renderer=null}renderer(e){return this._invalidated&&this._updateImpl(e),this._renderer}_updateImpl(e){super._updateImpl(e);const t=this._source.properties().childs(),o={points:this._points,color:t.color.value(),borderColor:t.borderColor.value(),backgroundColor:(0,_.generateColor)(t.backgroundColor.value(),t.transparency.value()),font:(0,y.makeFont)(t.fontsize.value(),b.CHART_FONT_FAMILY),fontSize:t.fontsize.value(),label:t.text.value()};if(this._balloonRenderer.setData(o),1===o.points.length){const e=new P.CompositeRenderer;return e.append(this._balloonRenderer),e.append(new v.SelectionRenderer({points:o.points.map(f.mapLineSourcePaneViewPointToLineAnchorPoint),bgColors:this._lineAnchorColors(o.points),visible:this.areAnchorsVisible(),barSpacing:this._model.timeScale().barSpacing(),hittestResult:T.HitTarget.MovePoint})),void(this._renderer=e)}
|
||||||
|
this._renderer=this._balloonRenderer}}const k=r.t(null,void 0,o(9818));class A extends s.InplaceTextLineDataSource{constructor(e,t,o,i){super(e,t??A.createProperties(e.backgroundTheme().spawnOwnership()),o,i),this._createPaneView()}pointsCount(){return 1}name(){return"Balloon"}template(){const e=super.template();return e.text=this.properties().childs().text.value(),e}shouldBeRemovedOnDeselect(){return""===this._properties.childs().text.value().trim()}editableTextProperties(){(0,i.assert)(!1,"unexpected method call")}static createProperties(e,t){const o=new n.DefaultProperty({defaultName:"linetoolballoon",state:t,theme:e});return this._configureProperties(o),o}_applyTemplateImpl(e){super._applyTemplateImpl(e),this.properties().childs().text.setValue(e.text)}async _getPropertyDefinitionsViewModelClass(){return h}_createPaneView(){this._setPaneViews([new V(this,this._model)])}static _configureProperties(e){super._configureProperties(e),e.hasChild("text")||e.addChild("text",new a.Property(this._defaultText)),e.addExcludedKey("text",1),e.addChild("linesColors",new l.LineToolColorsProperty([e.childs().borderColor])),e.addChild("textsColors",new l.LineToolColorsProperty([e.childs().color]))}}A._defaultText=k}}]);
|
||||||
1
charting_library/bundles/3014.b5b7477b23dda9a91666.css
Normal file
1
charting_library/bundles/3014.b5b7477b23dda9a91666.css
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.button-Y1TCZogJ{all:unset;display:flex;position:relative}.button-Y1TCZogJ:before{border-radius:4px;content:none;height:100%;left:0;outline:var(--color-tv-blue-500) none 2px;outline-offset:-2px;position:absolute;top:0;width:100%}.button-Y1TCZogJ:focus-visible:before{content:"";outline-style:solid}.button-Y1TCZogJ.active-Y1TCZogJ:before{outline-color:var(--color-white)}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
.button-Y1TCZogJ{all:unset;display:flex;position:relative}.button-Y1TCZogJ:before{border-radius:4px;content:none;height:100%;outline:var(--color-tv-blue-500) none 2px;outline-offset:-2px;position:absolute;right:0;top:0;width:100%}.button-Y1TCZogJ:focus-visible:before{content:"";outline-style:solid}.button-Y1TCZogJ.active-Y1TCZogJ:before{outline-color:var(--color-white)}
|
||||||
6
charting_library/bundles/3179.78787edf30f25d297844.js
Normal file
6
charting_library/bundles/3179.78787edf30f25d297844.js
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[3179],{5808:e=>{e.exports={menuWrap:"menuWrap-Kq3ruQo8",isMeasuring:"isMeasuring-Kq3ruQo8",scrollWrap:"scrollWrap-Kq3ruQo8",momentumBased:"momentumBased-Kq3ruQo8",menuBox:"menuBox-Kq3ruQo8",isHidden:"isHidden-Kq3ruQo8"}},43010:(e,t,n)=>{"use strict";n.d(t,{useIsomorphicLayoutEffect:()=>i});var s=n(50959);function i(e,t){("undefined"==typeof window?s.useEffect:s.useLayoutEffect)(e,t)}},27267:(e,t,n)=>{"use strict";function s(e,t,n,s,i){function o(i){if(e>i.timeStamp)return;const o=i.target;void 0!==n&&null!==t&&null!==o&&o.ownerDocument===s&&(t.contains(o)||n(i))}return i.click&&s.addEventListener("click",o,!1),i.mouseDown&&s.addEventListener("mousedown",o,!1),i.touchEnd&&s.addEventListener("touchend",o,!1),i.touchStart&&s.addEventListener("touchstart",o,!1),()=>{s.removeEventListener("click",o,!1),s.removeEventListener("mousedown",o,!1),s.removeEventListener("touchend",o,!1),s.removeEventListener("touchstart",o,!1)}}n.d(t,{addOutsideEventListener:()=>s})},36383:(e,t,n)=>{"use strict";n.d(t,{useOutsideEvent:()=>r});var s=n(50959),i=n(43010),o=n(27267);function r(e){const{click:t,mouseDown:n,touchEnd:r,touchStart:a,handler:l,reference:u}=e,c=(0,s.useRef)(null),d=(0,s.useRef)("undefined"==typeof window?0:new window.CustomEvent("timestamp").timeStamp);return(0,i.useIsomorphicLayoutEffect)((()=>{const e={click:t,mouseDown:n,touchEnd:r,touchStart:a},s=u?u.current:c.current;return(0,o.addOutsideEventListener)(d.current,s,l,document,e)}),[t,n,r,a,l]),u||c}},9745:(e,t,n)=>{"use strict";n.d(t,{Icon:()=>i});var s=n(50959);const i=s.forwardRef(((e,t)=>{const{icon:n="",title:i,ariaLabel:o,ariaLabelledby:r,ariaHidden:a,...l}=e,u=!!(i||o||r);return s.createElement("span",{role:"img",...l,ref:t,"aria-label":o,"aria-labelledby":r,"aria-hidden":a||!u,title:i,dangerouslySetInnerHTML:{__html:n}})}))},83021:(e,t,n)=>{"use strict";n.d(t,{SubmenuContext:()=>i,SubmenuHandler:()=>o});var s=n(50959);const i=s.createContext(null);function o(e){const[t,n]=(0,s.useState)(null),o=(0,s.useRef)(null),r=(0,s.useRef)(new Map);return(0,s.useEffect)((()=>()=>{null!==o.current&&clearTimeout(o.current)}),[]),s.createElement(i.Provider,{value:{current:t,setCurrent:function(e){null!==o.current&&(clearTimeout(o.current),o.current=null);null===t?n(e):o.current=setTimeout((()=>{o.current=null,n(e)}),100)},registerSubmenu:function(e,t){return r.current.set(e,t),()=>{r.current.delete(e)}},isSubmenuNode:function(e){return Array.from(r.current.values()).some((t=>t(e)))}}},e.children)}},19250:(e,t,n)=>{"use strict";n.d(t,{Portal:()=>u,PortalContext:()=>c});var s=n(50959),i=n(32227),o=n(25931),r=n(67961),a=n(34811),l=n(99663);class u extends s.PureComponent{constructor(){super(...arguments),this._uuid=(0,o.nanoid)()}componentWillUnmount(){this._manager().removeWindow(this._uuid)}render(){const e=this._manager().ensureWindow(this._uuid,this.props.layerOptions);e.style.top=this.props.top||"",e.style.bottom=this.props.bottom||"",e.style.left=this.props.left||"",e.style.right=this.props.right||"",
|
||||||
|
e.style.pointerEvents=this.props.pointerEvents||"";const t=this.props.className;return t&&("string"==typeof t?e.classList.add(t):e.classList.add(...t)),this.props.shouldTrapFocus&&!e.hasAttribute(a.FOCUS_TRAP_DATA_ATTRIBUTE)&&e.setAttribute(a.FOCUS_TRAP_DATA_ATTRIBUTE,"true"),this.props["aria-hidden"]&&e.setAttribute("aria-hidden","true"),i.createPortal(s.createElement(c.Provider,{value:this},this.props.children),e)}moveToTop(){this._manager().moveToTop(this._uuid)}_manager(){return null===this.context?(0,r.getRootOverlapManager)():this.context}}u.contextType=l.SlotContext;const c=s.createContext(null)},99663:(e,t,n)=>{"use strict";n.d(t,{Slot:()=>i,SlotContext:()=>o});var s=n(50959);class i extends s.Component{shouldComponentUpdate(){return!1}render(){return s.createElement("div",{style:{position:"fixed",zIndex:150,left:0,top:0},ref:this.props.reference})}}const o=s.createContext(null)},67961:(e,t,n)=>{"use strict";n.d(t,{OverlapManager:()=>r,getRootOverlapManager:()=>l});var s=n(50151),i=n(34811);class o{constructor(){this._storage=[]}add(e){this._storage.push(e)}remove(e){this._storage=this._storage.filter((t=>e!==t))}has(e){return this._storage.includes(e)}getItems(){return this._storage}}class r{constructor(e=document){this._storage=new o,this._windows=new Map,this._index=0,this._document=e,this._container=e.createDocumentFragment()}setContainer(e){const t=this._container,n=null===e?this._document.createDocumentFragment():e;!function(e,t){Array.from(e.childNodes).forEach((e=>{e.nodeType===Node.ELEMENT_NODE&&t.appendChild(e)}))}(t,n),this._container=n}registerWindow(e){this._storage.has(e)||this._storage.add(e)}ensureWindow(e,t={position:"fixed",direction:"normal"}){const n=this._windows.get(e);if(void 0!==n)return n;this.registerWindow(e);const s=this._document.createElement("div");if(s.style.position=t.position,s.style.zIndex=this._index.toString(),s.dataset.id=e,void 0!==t.index){const e=this._container.childNodes.length;if(t.index>=e)this._container.appendChild(s);else if(t.index<=0)this._container.insertBefore(s,this._container.firstChild);else{const e=this._container.childNodes[t.index];this._container.insertBefore(s,e)}}else"reverse"===t.direction?this._container.insertBefore(s,this._container.firstChild):this._container.appendChild(s);return this._windows.set(e,s),++this._index,s}unregisterWindow(e){this._storage.remove(e);const t=this._windows.get(e);void 0!==t&&(null!==t.parentElement&&t.parentElement.removeChild(t),this._windows.delete(e))}getZindex(e){const t=this.ensureWindow(e);return parseInt(t.style.zIndex||"0")}moveLastWindowToTop(){const e=this._storage.getItems(),t=e[e.length-1];t&&this.moveToTop(t)}moveToTop(e){if(this.getZindex(e)!==this._index){const t=this.ensureWindow(e);this._windows.forEach(((e,n)=>{e.hasAttribute(i.FOCUS_TRAP_DATA_ATTRIBUTE)&&e.setAttribute(i.FOCUS_TRAP_DATA_ATTRIBUTE,e===t?"true":"false")})),t.style.zIndex=(++this._index).toString()}}removeWindow(e){this.unregisterWindow(e)}}const a=new WeakMap;function l(e=document){const t=e.getElementById("overlap-manager-root")
|
||||||
|
;if(null!==t)return(0,s.ensureDefined)(a.get(t));{const t=new r(e),n=function(e){const t=e.createElement("div");return t.style.position="absolute",t.style.zIndex=150..toString(),t.style.top="0px",t.style.left="0px",t.id="overlap-manager-root",t.dataset.qaId="overlap-manager-root",t}(e);return a.set(n,t),t.setContainer(n),e.body.appendChild(n),t}}var u;!function(e){e[e.BaseZindex=150]="BaseZindex"}(u||(u={}))},99054:(e,t,n)=>{"use strict";n.d(t,{setFixedBodyState:()=>u});const s=(()=>{let e;return()=>{if(void 0===e){const t=document.createElement("div"),n=t.style;n.visibility="hidden",n.width="100px",n.msOverflowStyle="scrollbar",document.body.appendChild(t);const s=t.offsetWidth;t.style.overflow="scroll";const i=document.createElement("div");i.style.width="100%",t.appendChild(i);const o=i.offsetWidth;t.parentNode?.removeChild(t),e=s-o}return e}})();function i(e,t,n){null!==e&&e.style.setProperty(t,n)}function o(e,t){return getComputedStyle(e,null).getPropertyValue(t)}function r(e,t){return parseInt(o(e,t))}let a=0,l=!1;function u(e){const{body:t}=document,n=t.querySelector(".widgetbar-wrap");if(e&&1==++a){const e=o(t,"overflow"),a=r(t,"padding-right");"hidden"!==e.toLowerCase()&&t.scrollHeight>t.offsetHeight&&(i(n,"right",`${s()}px`),t.style.paddingRight=`${a+s()}px`,l=!0),t.classList.add("i-no-scroll")}else if(!e&&a>0&&0==--a&&(t.classList.remove("i-no-scroll"),l)){i(n,"right","0px");let e=0;0,t.scrollHeight<=t.clientHeight&&(e-=s()),t.style.paddingRight=(e<0?0:e)+"px",l=!1}}},90692:(e,t,n)=>{"use strict";n.d(t,{MatchMedia:()=>i});var s=n(50959);class i extends s.PureComponent{constructor(e){super(e),this._handleChange=()=>{this.forceUpdate()},this.state={query:window.matchMedia(this.props.rule)}}componentDidMount(){this._subscribe(this.state.query)}componentDidUpdate(e,t){this.state.query!==t.query&&(this._unsubscribe(t.query),this._subscribe(this.state.query))}componentWillUnmount(){this._unsubscribe(this.state.query)}render(){return this.props.children(this.state.query.matches)}static getDerivedStateFromProps(e,t){return e.rule!==t.query.media?{query:window.matchMedia(e.rule)}:null}_subscribe(e){e.addEventListener("change",this._handleChange)}_unsubscribe(e){e.removeEventListener("change",this._handleChange)}}},64706:(e,t,n)=>{"use strict";n.d(t,{MenuContext:()=>s});const s=n(50959).createContext(null)},27317:(e,t,n)=>{"use strict";n.d(t,{DEFAULT_MENU_THEME:()=>_,Menu:()=>v});var s=n(50959),i=n(97754),o=n.n(i),r=n(50151),a=n(77914),l=n(26867),u=n(50655),c=n(87713),d=n(67961),h=n(26709),p=n(83021),m=n(64706),f=n(5808);const _=f;var g;!function(e){e[e.IndentFromWindow=0]="IndentFromWindow"}(g||(g={}));class v extends s.PureComponent{constructor(e){super(e),this._containerRef=null,this._scrollWrapRef=null,this._raf=null,this._scrollRaf=null,this._scrollTimeout=void 0,this._manager=new d.OverlapManager,this._hotkeys=null,this._scroll=0,this._handleContainerRef=e=>{this._containerRef=e,this.props.reference&&("function"==typeof this.props.reference&&this.props.reference(e),
|
||||||
|
"object"==typeof this.props.reference&&(this.props.reference.current=e))},this._handleScrollWrapRef=e=>{this._scrollWrapRef=e,"function"==typeof this.props.scrollWrapReference&&this.props.scrollWrapReference(e),"object"==typeof this.props.scrollWrapReference&&(this.props.scrollWrapReference.current=e)},this._handleCustomRemeasureDelegate=()=>{this._resizeForced(),this._handleMeasure()},this._handleMeasure=({callback:e,forceRecalcPosition:t}={})=>{if(this.state.isMeasureValid&&!t)return;const{position:n}=this.props,s=(0,r.ensureNotNull)(this._containerRef);let i=s.getBoundingClientRect();const o=document.documentElement.clientHeight,l=document.documentElement.clientWidth,u=this.props.closeOnScrollOutsideOffset??0;let c=o-0-u;const d=i.height>c;if(d){(0,r.ensureNotNull)(this._scrollWrapRef).style.overflowY="scroll",i=s.getBoundingClientRect()}const{width:h,height:p}=i,m="function"==typeof n?n({contentWidth:h,contentHeight:p,availableWidth:l,availableHeight:o}):n,f=m?.indentFromWindow?.left??0,_=l-(m.overrideWidth??h)-(m?.indentFromWindow?.right??0),g=(0,a.clamp)(m.x,f,Math.max(f,_)),v=(m?.indentFromWindow?.top??0)+u,y=o-(m.overrideHeight??p)-(m?.indentFromWindow?.bottom??0);let w=(0,a.clamp)(m.y,v,Math.max(v,y));if(m.forbidCorrectYCoord&&w<m.y&&(c-=m.y-w,w=m.y),t&&void 0!==this.props.closeOnScrollOutsideOffset&&m.y<=this.props.closeOnScrollOutsideOffset)return void this._handleGlobalClose(!0);const b=m.overrideHeight??(d?c:void 0);this.setState({appearingMenuHeight:t?this.state.appearingMenuHeight:b,appearingMenuWidth:t?this.state.appearingMenuWidth:m.overrideWidth,appearingPosition:{x:g,y:w},isMeasureValid:!0},(()=>{this.props.doNotRestorePosition||this._restoreScrollPosition(),e&&e()}))},this._restoreScrollPosition=()=>{const e=document.activeElement,t=(0,r.ensureNotNull)(this._containerRef);if(null!==e&&t.contains(e))try{e.scrollIntoView()}catch(e){}else(0,r.ensureNotNull)(this._scrollWrapRef).scrollTop=this._scroll},this._resizeForced=()=>{this.setState({appearingMenuHeight:void 0,appearingMenuWidth:void 0,appearingPosition:void 0,isMeasureValid:void 0})},this._resize=()=>{null===this._raf&&(this._raf=requestAnimationFrame((()=>{this.setState({appearingMenuHeight:void 0,appearingMenuWidth:void 0,appearingPosition:void 0,isMeasureValid:void 0}),this._raf=null})))},this._handleGlobalClose=e=>{this.props.onClose(e)},this._handleSlot=e=>{this._manager.setContainer(e)},this._handleScroll=()=>{this._scroll=(0,r.ensureNotNull)(this._scrollWrapRef).scrollTop},this._handleScrollOutsideEnd=()=>{clearTimeout(this._scrollTimeout),this._scrollTimeout=setTimeout((()=>{this._handleMeasure({forceRecalcPosition:!0})}),80)},this._handleScrollOutside=e=>{e.target!==this._scrollWrapRef&&(this._handleScrollOutsideEnd(),null===this._scrollRaf&&(this._scrollRaf=requestAnimationFrame((()=>{this._handleMeasure({forceRecalcPosition:!0}),this._scrollRaf=null}))))},this.state={}}componentDidMount(){this._handleMeasure({callback:this.props.onOpen});const{customCloseDelegate:e=c.globalCloseDelegate,customRemeasureDelegate:t}=this.props
|
||||||
|
;e.subscribe(this,this._handleGlobalClose),t?.subscribe(null,this._handleCustomRemeasureDelegate),window.addEventListener("resize",this._resize);const n=null!==this.context;this._hotkeys||n||(this._hotkeys=h.createGroup({desc:"Popup menu"}),this._hotkeys.add({desc:"Close",hotkey:27,handler:()=>{this.props.onKeyboardClose&&this.props.onKeyboardClose(),this._handleGlobalClose()}})),this.props.repositionOnScroll&&window.addEventListener("scroll",this._handleScrollOutside,{capture:!0})}componentDidUpdate(){this._handleMeasure()}componentWillUnmount(){const{customCloseDelegate:e=c.globalCloseDelegate,customRemeasureDelegate:t}=this.props;e.unsubscribe(this,this._handleGlobalClose),t?.unsubscribe(null,this._handleCustomRemeasureDelegate),window.removeEventListener("resize",this._resize),window.removeEventListener("scroll",this._handleScrollOutside,{capture:!0}),this._hotkeys&&(this._hotkeys.destroy(),this._hotkeys=null),null!==this._raf&&(cancelAnimationFrame(this._raf),this._raf=null),null!==this._scrollRaf&&(cancelAnimationFrame(this._scrollRaf),this._scrollRaf=null),this._scrollTimeout&&clearTimeout(this._scrollTimeout)}render(){const{id:e,role:t,"aria-label":n,"aria-labelledby":i,"aria-activedescendant":r,"aria-hidden":a,"aria-describedby":c,"aria-invalid":d,children:h,minWidth:_,theme:g=f,className:v,maxHeight:w,onMouseOver:b,onMouseOut:x,onKeyDown:C,onFocus:E,onBlur:S}=this.props,{appearingMenuHeight:R,appearingMenuWidth:M,appearingPosition:W,isMeasureValid:T}=this.state,O={"--ui-kit-menu-max-width":`${W&&W.x}px`,maxWidth:"calc(100vw - var(--ui-kit-menu-max-width) - 6px)"};return s.createElement(m.MenuContext.Provider,{value:this},s.createElement(p.SubmenuHandler,null,s.createElement(u.SlotContext.Provider,{value:this._manager},s.createElement("div",{id:e,role:t,"aria-label":n,"aria-labelledby":i,"aria-activedescendant":r,"aria-hidden":a,"aria-describedby":c,"aria-invalid":d,className:o()(v,g.menuWrap,!T&&g.isMeasuring),style:{height:R,left:W&&W.x,minWidth:_,position:"fixed",top:W&&W.y,width:M,...this.props.limitMaxWidth&&O},"data-name":this.props["data-name"],"data-qa-id":this.props.dataQaId,"data-tooltip-show-on-focus":this.props["data-tooltip-show-on-focus"],ref:this._handleContainerRef,onScrollCapture:this.props.onScroll,onContextMenu:l.preventDefaultForContextMenu,tabIndex:this.props.tabIndex,onMouseOver:b,onMouseOut:x,onKeyDown:C,onFocus:E,onBlur:S},s.createElement("div",{className:o()(g.scrollWrap,!this.props.noMomentumBasedScroll&&g.momentumBased),style:{overflowY:void 0!==R?"scroll":"auto",maxHeight:w},onScrollCapture:this._handleScroll,ref:this._handleScrollWrapRef},s.createElement(y,{className:g.menuBox},h)))),s.createElement(u.Slot,{reference:this._handleSlot})))}update(e){e?this._resizeForced():this._resize()}focus(e){this._containerRef?.focus(e)}blur(){this._containerRef?.blur()}}function y(e){const t=(0,r.ensureNotNull)((0,s.useContext)(p.SubmenuContext)),n=s.useRef(null);return s.createElement("div",{ref:n,className:e.className,onMouseOver:function(e){
|
||||||
|
if(!(null!==t.current&&e.target instanceof Node&&(s=e.target,n.current?.contains(s))))return;var s;t.isSubmenuNode(e.target)||t.setCurrent(null)},"data-name":"menu-inner","data-qa-id":"menu-inner"},e.children)}v.contextType=p.SubmenuContext},29197:(e,t,n)=>{"use strict";n.d(t,{CloseDelegateContext:()=>o});var s=n(50959),i=n(87713);const o=s.createContext(i.globalCloseDelegate)},65718:(e,t,n)=>{"use strict";n.d(t,{Portal:()=>s.Portal,PortalContext:()=>s.PortalContext});var s=n(19250)},50655:(e,t,n)=>{"use strict";n.d(t,{Slot:()=>s.Slot,SlotContext:()=>s.SlotContext});var s=n(99663)}}]);
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
(self.webpackChunktradingview=self.webpackChunktradingview||[]).push([[3202],{56057:e=>{e.exports={logo:"logo-PsAlMQQF",hidden:"hidden-PsAlMQQF",xxceptionallysmalldonotusebrv1023:"xxceptionallysmalldonotusebrv1023-PsAlMQQF",xxxsmall:"xxxsmall-PsAlMQQF",xxsmall:"xxsmall-PsAlMQQF",xsmall:"xsmall-PsAlMQQF",small:"small-PsAlMQQF",medium:"medium-PsAlMQQF",large:"large-PsAlMQQF",xlarge:"xlarge-PsAlMQQF",xxlarge:"xxlarge-PsAlMQQF",xxxlarge:"xxxlarge-PsAlMQQF",skeleton:"skeleton-PsAlMQQF",letter:"letter-PsAlMQQF"}},55679:e=>{e.exports={wrapper:"wrapper-TJ9ObuLF",animated:"animated-TJ9ObuLF",pulsation:"pulsation-TJ9ObuLF"}},96108:e=>{e.exports={"tablet-normal-breakpoint":"(max-width: 768px)","small-height-breakpoint":"(max-height: 360px)","tablet-small-breakpoint":"(max-width: 440px)"}},9059:e=>{e.exports={"tablet-small-breakpoint":"(max-width: 440px)",item:"item-jFqVJoPk",hovered:"hovered-jFqVJoPk",isDisabled:"isDisabled-jFqVJoPk",isActive:"isActive-jFqVJoPk",shortcut:"shortcut-jFqVJoPk",toolbox:"toolbox-jFqVJoPk",withIcon:"withIcon-jFqVJoPk","round-icon":"round-icon-jFqVJoPk",icon:"icon-jFqVJoPk",labelRow:"labelRow-jFqVJoPk",label:"label-jFqVJoPk",showOnHover:"showOnHover-jFqVJoPk","disclosure-item-circle-logo":"disclosure-item-circle-logo-jFqVJoPk",showOnFocus:"showOnFocus-jFqVJoPk"}},53885:(e,t,n)=>{"use strict";n.d(t,{getStyleClasses:()=>s,isCircleLogoWithUrlProps:()=>a});var o=n(97754),r=n(52292),i=n(56057),l=n.n(i);function s(e,t=2,n){return o(l().logo,l()[e],n,0===t||1===t?o(r.skeletonTheme.wrapper,l().skeleton):l().letter,1===t&&r.skeletonTheme.animated)}function a(e){return"logoUrl"in e&&null!==e.logoUrl&&void 0!==e.logoUrl&&0!==e.logoUrl.length}},86332:(e,t,n)=>{"use strict";n.d(t,{ControlGroupContext:()=>o});const o=n(50959).createContext({isGrouped:!1,cellState:{isTop:!0,isRight:!0,isBottom:!0,isLeft:!0}})},17946:(e,t,n)=>{"use strict";n.d(t,{CustomBehaviourContext:()=>o});const o=(0,n(50959).createContext)({enableActiveStateStyles:!0});o.displayName="CustomBehaviourContext"},95854:(e,t,n)=>{"use strict";var o;n.d(t,{useCollapsible:()=>f}),function(e){e.StartFirst="start-first",e.EndFirst="end-first"}(o||(o={}));var r=n(50959),i=n(67842),l=n(56073),s=n(78869),a=n(43010),c=n(53017);function u(e){const{itemsList:t,getItemId:n,calcVisibleAndHiddenItems:o,shouldKeepItemVisible:u,onMeasureCallback:f,forceUpdate:h=!1}=e,[b,m]=(0,s.useRefsMap)(),p=(0,r.useRef)(null),g=(0,r.useRef)({widthsMap:new Map,containerWidth:0,moreButtonWidth:0}),[v,x]=(0,r.useState)({visible:t,hidden:[]}),C=(0,r.useMemo)((()=>t.reduce(((e,t,n)=>(u(t)&&e.push(n),e)),[])),[t,u]),k=(0,r.useCallback)((()=>{if(g.current.containerWidth){const e=o(g.current,C);(function(e,t){return!d(e.visible,t.visible)||!d(e.hidden,t.hidden)})(v,e)&&x(e)}}),[g,x,v,C,o]),E=(0,r.useCallback)((()=>{g.current.moreButtonWidth=p.current?(0,l.outerWidth)(p.current,!0):0;const e=new Map(g.current.widthsMap);for(const o of t){const t=n(o),r=b.current.get(t);if(r){const n=(0,l.outerWidth)(r,!0);e.set(t,n)}}g.current.widthsMap=e,f&&f()}),[g,t,n,b,f]),M=(0,r.useRef)(null),w=(0,
|
|
||||||
r.useCallback)((([e])=>{e.contentRect.width!==g.current.containerWidth&&(M.current&&cancelAnimationFrame(M.current),g.current.containerWidth=e.contentRect.width,M.current=requestAnimationFrame((()=>{k()})))}),[g,k]),y=(0,r.useRef)(null),R=(0,r.useCallback)((([e])=>{y.current&&cancelAnimationFrame(y.current),E(),y.current=requestAnimationFrame((()=>{k()}))}),[E,k]),S=(0,i.useResizeObserver)(R),I=(0,i.useResizeObserver)(w),F=(0,r.useRef)(null),A=(0,c.mergeRefs)([I,F]),O=(0,r.useRef)(t),P=(0,r.useRef)(!0),T=(0,r.useRef)([]);return(0,a.useIsomorphicLayoutEffect)((()=>{!h&&!P.current&&d(O.current,t)&&d(C,T.current)||(k(),P.current=!1,O.current=t,T.current=C)}),[t,k,C,h]),{containerRefCallback:A,moreButtonRef:p,innerContainerRefCallback:S,itemsRefs:b,setItemRef:m,hiddenItems:v.hidden,visibleItems:v.visible,itemsMeasurements:g}}function d(e,t){return e.length===t.length&&e.reduce(((e,n,o)=>e&&n===t[o]),!0)}function f(e,t,n,i=o.EndFirst){const l=(0,r.useCallback)(((n,r)=>{const l=e.map((e=>n.widthsMap.get(t(e))??0));return function({items:e,containerWidth:t,elementsWidths:n,menuItemWidth:r,keepVisible:i,direction:l}){const s=[...e],a=[],c=[];let u=0;for(const e of n)u+=e;if(u<=t)return{visible:s,hidden:c};const d=[...n];if(u=i.map((e=>d[e])).reduce(((e,t)=>e+t),0)+r,l===o.EndFirst)for(let e=0;e<s.length;e++)i.includes(e)?a.push(s[e]):(u+=d[e],u<=t?a.push(s[e]):c.push(s[e]));else for(let e=s.length-1;e>=0;e--)i.includes(e)?a.unshift(s[e]):(u+=d[e],u<=t?a.unshift(s[e]):c.unshift(s[e]));return{visible:a,hidden:c}}({items:e,containerWidth:n.containerWidth,elementsWidths:l,menuItemWidth:n.moreButtonWidth,keepVisible:r,direction:i})}),[e]);return u({itemsList:e,getItemId:t,calcVisibleAndHiddenItems:l,shouldKeepItemVisible:n})}},66686:(e,t,n)=>{"use strict";n.d(t,{useComposedKeyboardActionHandlers:()=>s,useKeyboardActionHandler:()=>l,useKeyboardClose:()=>u,useKeyboardEventHandler:()=>a,useKeyboardOpen:()=>d,useKeyboardToggle:()=>c});var o=n(50959),r=n(3343);const i=()=>!0;function l(e,t,n=i,r){return(0,o.useCallback)((o=>{if(r){if("horizontal"===r&&(40===o||38===o))return;if("vertical"===r&&(37===o||39===o))return}const i=e.map((e=>"function"==typeof e?e():e));return!(!n(o)||!i.includes(o))&&(t(o),!0)}),[...e,t,n])}function s(...e){return(0,o.useCallback)((t=>{for(const n of e)if(n(t))return!0;return!1}),[...e])}function a(e,t=!0,n=!1){const i=s(...e);return(0,o.useCallback)((e=>{const o=i((0,r.hashFromEvent)(e));o&&t&&e.preventDefault(),o&&n&&e.stopPropagation()}),[i])}function c(e,t=!0){return l([13,32],e,(function(e){if(13===e)return t;return!0}))}function u(e,t){return l([9,(0,o.useCallback)((()=>r.Modifiers.Shift+9),[]),27],t,(0,o.useCallback)((()=>e),[e]))}function d(e,t){return l([40,38],t,(0,o.useCallback)((()=>!e),[e]))}},7953:(e,t,n)=>{"use strict";n.d(t,{useDisclosure:()=>c});var o=n(50959),r=n(50151),i=n(54717),l=n(29202),s=n(47201),a=n(22064);function c(e){const{id:t,listboxId:n,disabled:c,buttonTabIndex:u=0,onFocus:d,onBlur:f,onClick:h}=e,[b,m]=(0,o.useState)(!1),[p,g]=(0,l.useFocus)(),v=p||b,x=n??void 0!==t?(0,
|
|
||||||
a.createDomId)(t,"listbox"):void 0,C=(0,o.useRef)(null),k=(0,o.useCallback)((e=>C.current?.focus(e)),[C]),E=(0,o.useRef)(null),M=(0,o.useCallback)((()=>(0,r.ensureNotNull)(E.current).focus()),[E]),w=(0,o.useCallback)((()=>m(!0)),[m]),y=(0,o.useCallback)(((e=!1,t=!1)=>{m(!1);const{activeElement:n}=document;n&&(0,i.isTextEditingField)(n)||t||k({preventScroll:e})}),[m,k]),R=(0,o.useCallback)((()=>{b?y():w()}),[b,y,w]),S=c?[]:[d,g.onFocus],I=c?[]:[f,g.onBlur],F=c?[]:[h,R],A=(0,s.createSafeMulticastEventHandler)(...S),O=(0,s.createSafeMulticastEventHandler)(...I),P=(0,s.createSafeMulticastEventHandler)(...F);return{listboxId:x,isOpened:b,isFocused:v,buttonTabIndex:c?-1:u,listboxTabIndex:-1,open:w,close:y,toggle:R,onOpen:M,buttonFocusBindings:{onFocus:A,onBlur:O},onButtonClick:P,buttonRef:C,listboxRef:E,buttonAria:{"aria-controls":b?x:void 0,"aria-expanded":b,"aria-disabled":c}}}},29202:(e,t,n)=>{"use strict";n.d(t,{useFocus:()=>r});var o=n(50959);function r(e,t){const[n,r]=(0,o.useState)(!1);(0,o.useEffect)((()=>{t&&n&&r(!1)}),[t,n]);const i={onFocus:(0,o.useCallback)((function(t){void 0!==e&&e.current!==t.target||r(!0)}),[e]),onBlur:(0,o.useCallback)((function(t){void 0!==e&&e.current!==t.target||r(!1)}),[e])};return[n,i]}},39416:(e,t,n)=>{"use strict";n.d(t,{useFunctionalRefObject:()=>i});var o=n(50959),r=n(43010);function i(e){const t=(0,o.useMemo)((()=>function(e){const t=n=>{e(n),t.current=n};return t.current=null,t}((e=>{s.current(e)}))),[]),n=(0,o.useRef)(null),i=t=>{if(null===t)return l(n.current,t),void(n.current=null);n.current!==e&&(n.current=e,l(n.current,t))},s=(0,o.useRef)(i);return s.current=i,(0,r.useIsomorphicLayoutEffect)((()=>{if(null!==t.current)return s.current(t.current),()=>s.current(null)}),[e]),t}function l(e,t){null!==e&&("function"==typeof e?e(t):e.current=t)}},36762:(e,t,n)=>{"use strict";n.d(t,{useItemsKeyboardNavigation:()=>a});var o,r=n(50959),i=n(66686);function l(e,t){return e>=0?e%t:(t-Math.abs(e)%t)%t}!function(e){e.Next="next",e.Previous="previous",e.First="first",e.Last="last"}(o||(o={}));const s=e=>({next:[40,()=>e()?37:39],previous:[38,()=>e()?39:37],first:[33,()=>e()?35:36],last:[34,()=>e()?36:35]});function a(e,t,n,o,a,c,u={},d,f){const h=(0,r.useCallback)((e=>{const t=n.findIndex(o);if(t===n.length-1&&!c)return void(d?.onFailNext&&d.onFailNext(e));const r=l(t+1,n.length);a&&a(n[r],"next")}),[n,o,a,c]),b=(0,r.useCallback)((e=>{const t=n.findIndex(o);if(0===t&&!c)return void(d?.onFailPrev&&d.onFailPrev(e));const r=l(t-1,n.length);a&&a(n[r],"previous")}),[n,o,a,c]),m=(0,r.useCallback)((()=>{a&&a(n[0],"first")}),[a,n]),p=(0,r.useCallback)((()=>{a&&a(n[n.length-1],"last")}),[a,n]),g=(0,r.useMemo)((()=>s(t)),[t]),{next:v=g.next,previous:x=g.previous,first:C=g.first,last:k=g.last}=u;return(0,i.useComposedKeyboardActionHandlers)((0,i.useKeyboardActionHandler)(v,h,f?.next??(()=>!0),e),(0,i.useKeyboardActionHandler)(x,b,f?.previous??(()=>!0),e),(0,i.useKeyboardActionHandler)(C,m,(()=>!0),e),(0,i.useKeyboardActionHandler)(k,p,(()=>!0),e))}},16921:(e,t,n)=>{"use strict";n.d(t,{
|
|
||||||
useKeepActiveItemIntoView:()=>d});var o=n(50959),r=n(50151),i=n(74991);const l={duration:200,additionalScroll:0},s={vertical:{scrollSize:"scrollHeight",clientSize:"clientHeight",start:"top",end:"bottom",size:"height"},horizontal:{scrollSize:"scrollWidth",clientSize:"clientWidth",start:"left",end:"right",size:"width"}};function a(e,t){const n=s[e];return t[n.scrollSize]>t[n.clientSize]}function c(e,t,n,o,r,l){const a=function(e,t,n,o=0){const r=s[e];return{start:-1*o,middle:-1*(Math.floor(n[r.size]/2)-Math.floor(t[r.size]/2)),end:-1*(n[r.size]-t[r.size])+o}}(e,o,r,l.additionalScroll);let c=0;if(l.snapToMiddle||function(e,t,n){const o=s[e];return t[o.start]<n[o.start]-n[o.size]/2||t[o.end]>n[o.end]+n[o.size]/2}(e,o,r))c=a.middle;else{const t=function(e,t,n,o=0){const r=s[e],i=t[r.start]+Math.floor(t[r.size]/2),l=n[r.start]+Math.floor(n[r.size]/2);return{start:t[r.start]-n[r.start]-o,middle:i-l,end:t[r.end]-n[r.end]+o}}(e,o,r,l.additionalScroll),n=function(e){const{start:t,middle:n,end:o}=e,r=new Map([[Math.abs(t),{key:"start",value:Math.sign(t)}],[Math.abs(n),{key:"middle",value:Math.sign(n)}],[Math.abs(o),{key:"end",value:Math.sign(o)}]]),i=Math.min(...r.keys());return r.get(i)}(t);c=void 0!==n?a[n.key]:0}return l.align&&(c=a[l.align]),function(e){const{additionalScroll:t=0,duration:n=i.dur,func:o=i.easingFunc.easeInOutCubic,onScrollEnd:r,target:l,wrap:s,direction:a="vertical"}=e;let{targetRect:c,wrapRect:u}=e;c=c??l.getBoundingClientRect(),u=u??s.getBoundingClientRect();const d=("vertical"===a?c.top-u.top:c.left-u.left)+t,f="vertical"===a?"scrollTop":"scrollLeft",h=s?s[f]:0;let b,m=0;return m=window.requestAnimationFrame((function e(t){let i;if(b?i=t-b:(i=0,b=t),i>=n)return s[f]=h+d,void(r&&r());const l=h+d*o(i/n);s[f]=Math.floor(l),m=window.requestAnimationFrame(e)})),function(){window.cancelAnimationFrame(m),r&&r()}}({...l,target:t,targetRect:o,wrap:n,wrapRect:r,additionalScroll:c,direction:e})}class u{constructor(e=null){this._container=null,this._lastScrolledElement=null,this._stopVerticalScroll=null,this._stopHorizontalScroll=null,this._container=e}scrollTo(e,t=l){if(null!==this._container&&null!==e&&!function(e,t,n=0){const o=e.getBoundingClientRect(),r=t.getBoundingClientRect();return o.top-r.top>=0&&r.bottom-o.bottom>=0&&o.left-r.left>=n&&r.right-o.right>=n}(e,this._container,t.visibilityDetectionOffsetInline)){const n=e.getBoundingClientRect(),o=this._container.getBoundingClientRect();this.stopScroll(),a("vertical",this._container)&&(this._stopVerticalScroll=c("vertical",e,this._container,n,o,this._modifyOptions("vertical",t))),a("horizontal",this._container)&&(this._stopHorizontalScroll=c("horizontal",e,this._container,n,o,this._modifyOptions("horizontal",t)))}this._lastScrolledElement=e}scrollToLastElement(e){this.scrollTo(this._lastScrolledElement,e)}stopScroll(){null!==this._stopVerticalScroll&&this._stopVerticalScroll(),null!==this._stopHorizontalScroll&&this._stopHorizontalScroll()}getContainer(){return this._container}setContainer(e){this._container=e,
|
|
||||||
this._container?.contains(this._lastScrolledElement)||(this._lastScrolledElement=null)}destroy(){this.stopScroll(),this._container=null,this._lastScrolledElement=null}_handleScrollEnd(e){"vertical"===e?this._stopVerticalScroll=null:this._stopHorizontalScroll=null}_modifyOptions(e,t){return Object.assign({},t,{onScrollEnd:()=>{this._handleScrollEnd(e),void 0!==t.onScrollEnd&&t.onScrollEnd()}})}}function d(e={}){const{activeItem:t,getKey:n,...i}=e,l=(0,o.useRef)(null),s=(0,o.useRef)(new Map),a=function(e){const t=(0,o.useRef)(null);return(0,o.useEffect)((()=>(t.current=new u(e),()=>(0,r.ensureNotNull)(t.current).destroy())),[]),t}(l.current),c=(0,o.useCallback)((()=>{null!==a.current&&null!==l.current&&a.current.getContainer()!==l.current&&a.current.setContainer(l.current)}),[a,l]),d=(0,o.useCallback)((e=>{l.current=e}),[l]),f=(0,o.useCallback)(((e,t)=>{const o=n?n(e):e;t?s.current.set(o,t):s.current.delete(o)}),[s,n]),h=(0,o.useCallback)(((e,t)=>{if(!e)return;const o=n?n(e):e,i=s.current.get(o);i&&(c(),(0,r.ensureNotNull)(a.current).scrollTo(i,t))}),[s,a,n]);return(0,o.useEffect)((()=>h(t,i)),[h,t]),[d,f,h]}},86781:(e,t,n)=>{"use strict";n.d(t,{useMatchMedia:()=>i,useSafeMatchMedia:()=>r});var o=n(50959);function r(e,t=!1){const[n,r]=(0,o.useState)(t);return(0,o.useEffect)((()=>{const t=window.matchMedia(e);function n(){r(t.matches)}return n(),t.addEventListener("change",n),()=>{t.removeEventListener("change",n)}}),[e]),n}function i(e){const t=(0,o.useMemo)((()=>window.matchMedia(e).matches),[]);return r(e,t)}},38528:(e,t,n)=>{"use strict";n.d(t,{useMergedRefs:()=>i});var o=n(50959),r=n(53017);function i(e){return(0,o.useCallback)((0,r.mergeRefs)(e),e)}},35020:(e,t,n)=>{"use strict";n.d(t,{useMobileTouchState:()=>i});var o=n(50959),r=n(75774);function i(){const[e,t]=(0,o.useState)(!1);return(0,o.useEffect)((()=>{t(r.mobiletouch)}),[]),e}},27267:(e,t,n)=>{"use strict";function o(e,t,n,o,r){function i(r){if(e>r.timeStamp)return;const i=r.target;void 0!==n&&null!==t&&null!==i&&i.ownerDocument===o&&(t.contains(i)||n(r))}return r.click&&o.addEventListener("click",i,!1),r.mouseDown&&o.addEventListener("mousedown",i,!1),r.touchEnd&&o.addEventListener("touchend",i,!1),r.touchStart&&o.addEventListener("touchstart",i,!1),()=>{o.removeEventListener("click",i,!1),o.removeEventListener("mousedown",i,!1),o.removeEventListener("touchend",i,!1),o.removeEventListener("touchstart",i,!1)}}n.d(t,{addOutsideEventListener:()=>o})},78869:(e,t,n)=>{"use strict";n.d(t,{useRefsMap:()=>r});var o=n(50959);function r(){const e=(0,o.useRef)(new Map),t=(0,o.useCallback)((t=>n=>{null!==n?e.current.set(t,n):e.current.delete(t)}),[e]);return[e,t]}},67842:(e,t,n)=>{"use strict";n.d(t,{useResizeObserver:()=>l});var o=n(50959),r=n(43010),i=n(39416);function l(e,t=[]){const{callback:n,ref:l=null}=function(e){return"function"==typeof e?{callback:e}:e}(e),s=(0,o.useRef)(null),a=(0,o.useRef)(n);a.current=n;const c=(0,i.useFunctionalRefObject)(l),u=(0,o.useCallback)((e=>{c(e),null!==s.current&&(s.current.disconnect(),null!==e&&s.current.observe(e))}),[c,s])
|
|
||||||
;return(0,r.useIsomorphicLayoutEffect)((()=>(s.current=new ResizeObserver(((e,t)=>{a.current(e,t)})),c.current&&u(c.current),()=>{s.current?.disconnect()})),[c,...t]),u}},36966:(e,t,n)=>{"use strict";n.d(t,{useTabs:()=>p});var o=n(50959),r=n(8304),i=n(47201),l=n(29202),s=n(16921),a=n(50151),c=n(66686),u=n(36762);function d(){return!1}function f(e,t){return{next:()=>t!==e.length-1,previous:()=>0!==t}}function h(e){const{activationType:t="manual"}=e,n=(0,o.useMemo)((()=>t),[]);return(0,a.assert)(t===n,"Activation type must be invariant."),"automatic"===t?function(e){const{isRtl:t,items:n,preventDefaultIfHandled:r=!0,stopPropagationIfHandled:i=!1,loop:l=!0,isHighlighted:s,onHighlight:a,onActivate:h,isCollapsed:b=d,orientation:m}=e,p=(0,o.useCallback)((e=>{a(e),b(e)||h(e)}),[a,h,b]),g=!l&&i?f(n,n.findIndex(s)):void 0;return(0,c.useKeyboardEventHandler)([(0,u.useItemsKeyboardNavigation)(m,t,n,s,p,l,{},void 0,g)],r,i)}(e):function(e){const{isRtl:t,items:n,preventDefaultIfHandled:r=!0,stopPropagationIfHandled:i=!1,loop:l=!0,isHighlighted:s,onHighlight:a,onActivate:d,orientation:h}=e,b=n.findIndex(s),m=n[b],p=(0,o.useCallback)((()=>{void 0!==m&&d(m)}),[m,d]),g=!l&&i?f(n,b):void 0,v=(0,o.useCallback)((e=>a(e)),[a]),x=(0,u.useItemsKeyboardNavigation)(h,t,n,s,v,l,{},void 0,g),C=(0,c.useKeyboardActionHandler)([13,32],p);return(0,c.useKeyboardEventHandler)([x,C],r,i)}(e)}var b=n(35020);const m=24;function p(e){const{id:t,items:n,orientation:a,activationType:c="manual",disabled:u,tablistLabelId:d,tablistLabel:f,focusOnHighlight:p=!0,preventDefaultIfKeyboardActionHandled:g=!0,stopPropagationIfKeyboardActionHandled:v=!1,keyboardNavigationLoop:x=!0,scrollIntoViewOptions:C,isActive:k,onActivate:E,isCollapsed:M,isRtl:w,isDisclosureOpened:y,isRadioGroup:R,defaultKeyboardFocus:S,focusableItemAttributes:I={}}=e,F=(0,b.useMobileTouchState)(),A=y?null:a||"horizontal",O=(0,o.useRef)(e.itemsRefs?.current??new Map),[P,T]=(0,o.useState)(),[H,L]=(0,l.useFocus)(),N=n.find(k),_=(0,o.useCallback)((e=>!u&&!e.disabled&&e===P),[u,P]),z=(0,o.useCallback)((e=>{const t=O.current.get(e);p&&void 0!==t&&t!==document.activeElement&&t.focus()}),[p]),B=(0,o.useRef)(),W=(0,o.useCallback)(((e,t)=>{u||e.disabled||(T(e),"number"==typeof t?(clearTimeout(B.current),B.current=setTimeout((()=>z(e)),t)):z(e))}),[u,T,z,y]),D=(0,o.useCallback)((e=>{u||e.disabled||(E(e),_(e)||W(e))}),[u,E,_,W]),K=h({isRtl:w,items:(0,o.useMemo)((()=>n.filter((e=>!u&&!e.disabled))),[n,u]),activationType:c,preventDefaultIfHandled:g,stopPropagationIfHandled:v,loop:x,onActivate:D,isHighlighted:_,onHighlight:W,isCollapsed:M,orientation:A}),V=(0,o.useCallback)((e=>{let t=null;for(const[n,o]of O.current.entries())if(e.target===o){t=n;break}t&&!_(t)&&("automatic"===c&&M&&!M(t)?D(t):W(t))}),[c,_,W,D,M]);(0,o.useEffect)((()=>{F||void 0!==N&&T(N)}),[N,F]),(0,o.useEffect)((()=>{H||T(void 0)}),[H]),(0,o.useEffect)((()=>()=>clearTimeout(B.current)),[]);const Q=C?.additionalScroll??0,[j,q]=(0,s.useKeepActiveItemIntoView)({...C,visibilityDetectionOffsetInline:Q+m,snapToMiddle:!0,activeItem:P??N,getKey:(0,
|
|
||||||
o.useCallback)((e=>e.id),[])}),J=(0,o.useCallback)(((e,t)=>{q(e,t),null!==t?O.current.set(e,t):O.current.delete(e)}),[q]),{firstEdgeItemIndex:U,lastEdgeItemIndex:G}=(0,r.findEdgesTab)(n,M);return{tabsBindings:n.map(((e,t)=>{const n=_(e),o=k(e),i=e.disabled??u??!1,l=1===S?H?n:t===U||t===G:!i&&(H?n:o);return{...(0,r.getTabAttributes)(e.id,l,o,e.tabpanelId,i,R,"",I),highlighted:n,active:o,handleItemRef:J}})),tablistBinding:{...(0,r.getTabListAttributes)(t,a,u,d,f,R),onBlur:L.onBlur,onFocus:(0,i.createSafeMulticastEventHandler)(L.onFocus,V),onKeyDown:K},scrollWrapBinding:{ref:j},onActivate:D,onHighlight:W,isHighlighted:_}}},52292:(e,t,n)=>{"use strict";n.d(t,{skeletonTheme:()=>r});var o=n(55679);const r=o},8304:(e,t,n)=>{"use strict";function o(e,t="horizontal",n,o,r,i){return{id:e,role:i?"radiogroup":"tablist","aria-orientation":t,"aria-label":r,"aria-labelledby":o,"aria-disabled":n}}function r(e,t,n,o,r,i,l,s){return{id:e,role:i?"radio":"tab",tabIndex:t?s?.tabIndex??0:-1,disabled:r,"aria-selected":i?void 0:n,"aria-checked":i?n:void 0,"aria-controls":o,"aria-disabled":r,"aria-label":l,"data-focus-manager":void 0!==s?s["data-focus-manager"]:void 0}}function i(e,t){let n,o;for(let r=0;r<e.length;r++){const i=e.length-(r+1),l=void 0!==t&&t(e[i]);if(!e[r].disabled&&void 0===n&&(n=r),!e[i].disabled&&!l&&void 0===o&&(o=i),void 0!==n&&void 0!==o)break}return{firstEdgeItemIndex:n,lastEdgeItemIndex:o}}var l,s,a,c,u;n.d(t,{TabNames:()=>u,findEdgesTab:()=>i,getTabAttributes:()=>r,getTabListAttributes:()=>o}),function(e){e[e.Active=0]="Active",e[e.Edges=1]="Edges"}(l||(l={})),function(e){e.Horizontal="horizontal",e.Vertical="vertical"}(s||(s={})),function(e){e.Automatic="automatic",e.Manual="manual"}(a||(a={})),function(e){e.Collapse="collapse",e.Scroll="scroll",e.Wrap="wrap",e.None="none"}(c||(c={})),function(e){e.SquareButtonTabs="square-button-tabs",e.UnderlineButtonTabs="underline-button-tabs",e.UnderlineAnchorTabs="underline-anchor-tabs",e.RoundAnchorTabs="round-anchor-tabs",e.RoundButtonTabs="round-button-tabs",e.LightButtonTabs="light-button-tabs"}(u||(u={}))},90186:(e,t,n)=>{"use strict";function o(e){return i(e,l)}function r(e){return i(e,s)}function i(e,t){const n=Object.entries(e).filter(t),o={};for(const[e,t]of n)o[e]=t;return o}function l(e){const[t,n]=e;return 0===t.indexOf("data-")&&"string"==typeof n}function s(e){return 0===e[0].indexOf("aria-")}n.d(t,{filterAriaProps:()=>r,filterDataProps:()=>o,filterProps:()=>i,isAriaAttribute:()=>s,isDataAttribute:()=>l})},22064:(e,t,n)=>{"use strict";n.d(t,{createDomId:()=>f,joinDomIds:()=>h});const o="id",r=/\s/g,i="-",l="_",s=" ";function a(e){return"string"==typeof e}function c(e){switch(typeof e){case"string":return e;case"number":case"bigint":return e.toString(10);case"boolean":case"symbol":return e.toString();default:return null}}function u(e){return e.trim().length>0}function d(e){return e.replace(r,i)}function f(...e){const t=e.map(c).filter(a).filter(u).map(d);return(t.length>0&&t[0].startsWith(o+l)?t:[o,...t]).join(l)}function h(...e){
|
|
||||||
return e.map(c).filter(a).filter(u).join(s)}},56073:(e,t,n)=>{"use strict";function o(e,t=!1){const n=getComputedStyle(e),o=[n.height];return"border-box"!==n.boxSizing&&o.push(n.paddingTop,n.paddingBottom,n.borderTopWidth,n.borderBottomWidth),t&&o.push(n.marginTop,n.marginBottom),o.reduce(((e,t)=>e+(parseFloat(t)||0)),0)}function r(e,t=!1){const n=getComputedStyle(e),o=[n.width];return"border-box"!==n.boxSizing&&o.push(n.paddingLeft,n.paddingRight,n.borderLeftWidth,n.borderRightWidth),t&&o.push(n.marginLeft,n.marginRight),o.reduce(((e,t)=>e+(parseFloat(t)||0)),0)}n.d(t,{outerHeight:()=>o,outerWidth:()=>r})},47201:(e,t,n)=>{"use strict";function o(...e){return t=>{for(const n of e)void 0!==n&&n(t)}}n.d(t,{createSafeMulticastEventHandler:()=>o})},87896:(e,t,n)=>{"use strict";n.d(t,{createReactRoot:()=>d});var o=n(50959),r=n(32227),i=n(4237);const l=(0,o.createContext)({isOnMobileAppPage:()=>!1,isRtl:!1,locale:"en"});var s=n(84015),a=n(63273);const c={iOs:"old",android:"new",old:"old",new:"new",any:"any"};function u(e){const[t]=(0,o.useState)({isOnMobileAppPage:e=>(0,s.isOnMobileAppPage)(c[e]),isRtl:(0,a.isRtl)(),locale:window.locale});return o.createElement(l.Provider,{value:t},e.children)}function d(e,t,n="legacy"){const l=o.createElement(u,null,e);if("modern"===n){const e=(0,i.createRoot)(t);return e.render(l),{render(t){e.render(o.createElement(u,null,t))},unmount(){e.unmount()}}}return r.render(l,t),{render(e){r.render(o.createElement(u,null,e),t)},unmount(){r.unmountComponentAtNode(t)}}}},24437:(e,t,n)=>{"use strict";n.d(t,{DialogBreakpoints:()=>r});var o=n(96108);const r={SmallHeight:o["small-height-breakpoint"],TabletSmall:o["tablet-small-breakpoint"],TabletNormal:o["tablet-normal-breakpoint"]}},59695:(e,t,n)=>{"use strict";n.d(t,{CircleLogo:()=>s,hiddenCircleLogoClass:()=>l});var o=n(50959),r=n(53885),i=n(56057);const l=n.n(i)().hidden;function s(e){const t=(0,r.isCircleLogoWithUrlProps)(e),[n,i]=(0,o.useState)(0),l=(0,o.useRef)(null),s=(0,r.getStyleClasses)(e.size,n,e.className),a=e.alt??e.title??"",c=t?a[0]:e.placeholderLetter;return(0,o.useEffect)((()=>i(l.current?.complete??!t?2:1)),[t]),t&&3!==n?o.createElement("img",{ref:l,className:s,crossOrigin:"",src:e.logoUrl,alt:a,title:e.title,loading:e.loading,onLoad:()=>i(2),onError:()=>i(3),"aria-label":e["aria-label"],"aria-hidden":e["aria-hidden"]}):o.createElement("span",{className:s,title:e.title,"aria-label":e["aria-label"],"aria-hidden":e["aria-hidden"]},c)}},4523:(e,t,n)=>{"use strict";n.d(t,{PopupMenuDisclosureView:()=>u});var o=n(50959),r=n(20520),i=n(50151);const l={x:0,y:0};function s(e,t,n){return(0,o.useCallback)((()=>function(e,t,{x:n=l.x,y:o=l.y}=l){const r=(0,i.ensureNotNull)(e).getBoundingClientRect(),s={x:r.left+n,y:r.top+r.height+o,indentFromWindow:{top:4,bottom:4,left:4,right:4}};return t&&(s.overrideWidth=r.width),s}(e.current,t,n)),[e,t])}var a=n(86240);const c=parseInt(a["size-header-height"]);function u(e){
|
|
||||||
const{button:t,popupChildren:n,buttonRef:i,listboxId:l,listboxClassName:a,listboxTabIndex:u,matchButtonAndListboxWidths:d,isOpened:f,scrollWrapReference:h,listboxReference:b,onClose:m,onOpen:p,onListboxFocus:g,onListboxBlur:v,onListboxKeyDown:x,listboxAria:C,repositionOnScroll:k=!0,closeOnHeaderOverlap:E=!1,popupPositionCorrection:M={x:0,y:0},popupPosition:w}=e,y=s(i,d,M),R=E?c:0;return o.createElement(o.Fragment,null,t,o.createElement(r.PopupMenu,{...C,id:l,className:a,tabIndex:u,isOpened:f,position:w||y,repositionOnScroll:k,onClose:m,onOpen:p,doNotCloseOn:i.current,reference:b,scrollWrapReference:h,onFocus:g,onBlur:v,onKeyDown:x,closeOnScrollOutsideOffset:R},n))}},16396:(e,t,n)=>{"use strict";n.d(t,{DEFAULT_POPUP_MENU_ITEM_THEME:()=>u,PopupMenuItem:()=>f});var o=n(50959),r=n(97754),i=n(51768),l=n(59064),s=n(59695),a=n(76460),c=n(9059);const u=c;function d(e){e.stopPropagation()}function f(e){const{id:t,role:n,className:u,title:f,labelRowClassName:h,labelClassName:b,toolboxClassName:m,shortcut:p,forceShowShortcuts:g,icon:v,iconClassname:x,isActive:C,isDisabled:k,isHovered:E,appearAsDisabled:M,label:w,link:y,showToolboxOnHover:R,showToolboxOnFocus:S,target:I,rel:F,toolbox:A,toolboxRole:O,reference:P,onMouseOut:T,onMouseOver:H,onKeyDown:L,suppressToolboxClick:N=!0,theme:_=c,tabIndex:z,tagName:B,renderComponent:W,roundedIcon:D,iconAriaProps:K,circleLogo:V,dontClosePopup:Q,onClick:j,onClickArg:q,trackEventObject:J,trackMouseWheelClick:U,trackRightClick:G,...$}=e,Z=(0,o.useRef)(null),X=(0,o.useMemo)((()=>function(e){function t(t){const{reference:n,...r}=t,i=e??(r.href?"a":"div"),l="a"===i?r:function(e){const{download:t,href:n,hrefLang:o,media:r,ping:i,rel:l,target:s,type:a,referrerPolicy:c,...u}=e;return u}(r);return o.createElement(i,{...l,ref:n})}return t.displayName=`DefaultComponent(${e})`,t}(B)),[B]),Y=W??X;return o.createElement(Y,{...$,id:t,role:n,className:r(u,_.item,v&&_.withIcon,{[_.isActive]:C,[_.isDisabled]:k||M,[_.hovered]:E}),title:f,href:y,target:I,rel:F,reference:function(e){Z.current=e,"function"==typeof P&&P(e);"object"==typeof P&&(P.current=e)},onClick:function(e){if(k)return;J&&(0,i.trackEvent)(J.category,J.event,J.label);j&&j(q,e);Q||(e.currentTarget.dispatchEvent(new CustomEvent("popup-menu-close-event",{bubbles:!0,detail:{clickType:(0,a.isKeyboardClick)(e)?"keyboard":"mouse"}})),(0,l.globalCloseMenu)())},onContextMenu:function(e){J&&G&&(0,i.trackEvent)(J.category,J.event,`${J.label}_rightClick`)},onMouseUp:function(e){if(1===e.button&&y&&J){let e=J.label;U&&(e+="_mouseWheelClick"),(0,i.trackEvent)(J.category,J.event,e)}},onMouseOver:H,onMouseOut:T,onKeyDown:L,tabIndex:z},V&&o.createElement(s.CircleLogo,{...K,className:c["disclosure-item-circle-logo"],size:"xxxsmall",logoUrl:V.logoUrl,placeholderLetter:"placeholderLetter"in V?V.placeholderLetter:void 0}),v&&o.createElement("span",{"aria-label":K&&K["aria-label"],"aria-hidden":K&&Boolean(K["aria-hidden"]),className:r(_.icon,D&&c["round-icon"],x),dangerouslySetInnerHTML:{__html:v}}),o.createElement("span",{className:r(_.labelRow,h)
|
|
||||||
},o.createElement("span",{className:r(_.label,b)},w)),(void 0!==p||g)&&o.createElement("span",{className:_.shortcut},(ee=p)&&ee.split("+").join(" + ")),void 0!==A&&o.createElement("span",{role:O,onClick:N?d:void 0,className:r(m,_.toolbox,{[_.showOnHover]:R,[_.showOnFocus]:S})},A));var ee}},20520:(e,t,n)=>{"use strict";n.d(t,{PopupMenu:()=>f});var o=n(50959),r=n(32227),i=n(88987),l=n(42842),s=n(27317),a=n(29197);const c=o.createContext(void 0);var u=n(36383);const d=o.createContext({setMenuMaxWidth:!1});function f(e){const{controller:t,children:n,isOpened:f,closeOnClickOutside:h=!0,doNotCloseOn:b,onClickOutside:m,onClose:p,onKeyboardClose:g,"data-name":v="popup-menu-container",...x}=e,C=(0,o.useContext)(a.CloseDelegateContext),k=o.useContext(d),E=(0,o.useContext)(c),M=(0,u.useOutsideEvent)({handler:function(e){m&&m(e);if(!h)return;const t=(0,i.default)(b)?b():null==b?[]:[b];if(t.length>0&&e.target instanceof Node)for(const n of t){const t=r.findDOMNode(n);if(t instanceof Node&&t.contains(e.target))return}p()},mouseDown:!0,touchStart:!0});return f?o.createElement(l.Portal,{top:"0",left:"0",right:"0",bottom:"0",pointerEvents:"none"},o.createElement("span",{ref:M,style:{pointerEvents:"auto"}},o.createElement(s.Menu,{...x,onClose:p,onKeyboardClose:g,onScroll:function(t){const{onScroll:n}=e;n&&n(t)},customCloseDelegate:C,customRemeasureDelegate:E,ref:t,"data-name":v,limitMaxWidth:k.setMenuMaxWidth,"data-tooltip-show-on-focus":"true"},n))):null}},2948:e=>{e.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18" width="18" height="18"><path fill="currentColor" d="M3.92 7.83 9 12.29l5.08-4.46-1-1.13L9 10.29l-4.09-3.6-.99 1.14Z"/></svg>'},86240:e=>{"use strict";e.exports=JSON.parse('{"size-header-height":"64px","media-phone-vertical":"all and (max-width: 479px)","media-mf-phone-landscape":"all and (min-width: 568px)"}')}}]);
|
|
||||||
1
charting_library/bundles/3290.dfbe2771427c6e7a0057.css
Normal file
1
charting_library/bundles/3290.dfbe2771427c6e7a0057.css
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.loaderWrap-jGEARQlM{height:32px;margin-left:-2px;position:relative}.loaderWrap-jGEARQlM.big-jGEARQlM{min-width:100px}.loaderWrap-jGEARQlM.big-jGEARQlM .loader-jGEARQlM{position:absolute}.loader-jGEARQlM{position:static}[data-theme=light]{--_0-kw2P:var(--color-cold-gray-400)}[data-theme=dark]{--_0-kw2P:var(--color-cold-gray-650)}.row-DFIg7eOh{vertical-align:top}.line-DFIg7eOh{background-color:var(--tv-color-popup-element-divider-background,var(--color-popup-menu-separator));height:1px;margin:6px 0}.hint-DFIg7eOh{color:var(--_0-kw2P);font-size:12px;margin-left:6px;margin-top:12px;text-align:left}.accessible-rm8yeqY4{outline:none;overflow:visible;position:relative}.accessible-rm8yeqY4:focus{outline:none}.accessible-rm8yeqY4:focus-visible{outline:none}.accessible-rm8yeqY4:after{border-style:solid;border-width:2px;box-sizing:border-box;content:"";display:none;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.accessible-rm8yeqY4:focus:after{display:block}.accessible-rm8yeqY4:focus-visible:after{display:block}.accessible-rm8yeqY4:focus:not(:focus-visible):after{display:none}.accessible-rm8yeqY4:after{border-color:var(--color-tv-blue-500);border-radius:6px}.separator-Ymxd0dt_{background-color:var(--tv-color-popup-element-divider-background,var(--color-popup-menu-separator));height:1px;margin:6px 0}.menu-Tx5xMZww{border-collapse:collapse;cursor:default;overflow:visible;-webkit-user-select:none;user-select:none;z-index:500}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
.loaderWrap-jGEARQlM{height:32px;margin-right:-2px;position:relative}.loaderWrap-jGEARQlM.big-jGEARQlM{min-width:100px}.loaderWrap-jGEARQlM.big-jGEARQlM .loader-jGEARQlM{position:absolute}.loader-jGEARQlM{position:static}[data-theme=light]{--_0-kw2P:var(--color-cold-gray-400)}[data-theme=dark]{--_0-kw2P:var(--color-cold-gray-650)}.row-DFIg7eOh{vertical-align:top}.line-DFIg7eOh{background-color:var(--tv-color-popup-element-divider-background,var(--color-popup-menu-separator));height:1px;margin:6px 0}.hint-DFIg7eOh{color:var(--_0-kw2P);font-size:12px;margin-right:6px;margin-top:12px;text-align:right}.accessible-rm8yeqY4{outline:none;overflow:visible;position:relative}.accessible-rm8yeqY4:focus{outline:none}.accessible-rm8yeqY4:focus-visible{outline:none}.accessible-rm8yeqY4:after{border-style:solid;border-width:2px;box-sizing:border-box;content:"";display:none;height:100%;pointer-events:none;position:absolute;right:0;top:0;width:100%;z-index:1}.accessible-rm8yeqY4:focus:after{display:block}.accessible-rm8yeqY4:focus-visible:after{display:block}.accessible-rm8yeqY4:focus:not(:focus-visible):after{display:none}.accessible-rm8yeqY4:after{border-color:var(--color-tv-blue-500);border-radius:6px}.separator-Ymxd0dt_{background-color:var(--tv-color-popup-element-divider-background,var(--color-popup-menu-separator));height:1px;margin:6px 0}.menu-Tx5xMZww{border-collapse:collapse;cursor:default;overflow:visible;-webkit-user-select:none;user-select:none;z-index:500}
|
||||||
1
charting_library/bundles/3329.e21e82febf357ba86937.css
Normal file
1
charting_library/bundles/3329.e21e82febf357ba86937.css
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[data-theme=light]{--_0-QIec:var(--color-cold-gray-800)}[data-theme=dark]{--_0-QIec:var(--color-cold-gray-750)}.errors-UKx97h9K{background-color:var(--_0-QIec);border-radius:3px;box-sizing:border-box;color:var(--color-white);opacity:0;padding:10px 15px;pointer-events:none;position:absolute;text-align:center;z-index:2}.errors-UKx97h9K:empty{display:none}.errors-UKx97h9K.show-UKx97h9K{opacity:1}.errors-UKx97h9K .error-UKx97h9K{font-size:12px;line-height:1.4;margin-top:10px;text-transform:none;word-break:break-word}.errors-UKx97h9K .error-UKx97h9K:first-child{margin-top:0}.visually-hidden-UKx97h9K{border:0;height:1px;margin:-1px;padding:0;position:absolute;width:1px;clip:rect(0 0 0 0);overflow:hidden}.error-icon-UhKAouIg{display:inline-flex}.error-icon-UhKAouIg.intent-danger-UhKAouIg{color:var(--color-control-intent-danger)}.error-icon-UhKAouIg.intent-warning-UhKAouIg{color:var(--color-control-intent-warning)}.static-messages-cF4vS9J8{flex-flow:column nowrap;--ui-lib-typography-line-height:17px;line-height:var(--ui-lib-typography-line-height);--ui-lib-typography-font-size:12px;font-size:var(--ui-lib-typography-font-size);font-style:normal;font-weight:400}.static-messages-cF4vS9J8.errors-cF4vS9J8{color:var(--color-control-intent-danger)}.static-messages-cF4vS9J8.warnings-cF4vS9J8{color:var(--color-control-intent-warning)}.static-messages-cF4vS9J8.success-mesages-cF4vS9J8{color:var(--color-control-intent-success)}.static-messages-cF4vS9J8.input-description-cF4vS9J8{color:var(--color-text-secondary)}.static-messages-cF4vS9J8 .message-cF4vS9J8{margin:0}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[data-theme=light]{--_0-QIec:var(--color-cold-gray-800)}[data-theme=dark]{--_0-QIec:var(--color-cold-gray-750)}.errors-UKx97h9K{background-color:var(--_0-QIec);border-radius:3px;box-sizing:border-box;color:var(--color-white);opacity:0;padding:10px 15px;pointer-events:none;position:absolute;text-align:center;z-index:2}.errors-UKx97h9K:empty{display:none}.errors-UKx97h9K.show-UKx97h9K{opacity:1}.errors-UKx97h9K .error-UKx97h9K{font-size:12px;line-height:1.4;margin-top:10px;text-transform:none;word-break:break-word}.errors-UKx97h9K .error-UKx97h9K:first-child{margin-top:0}.visually-hidden-UKx97h9K{border:0;height:1px;margin:-1px;padding:0;position:absolute;width:1px;clip:rect(0 0 0 0);overflow:hidden}.error-icon-UhKAouIg{display:inline-flex}.error-icon-UhKAouIg.intent-danger-UhKAouIg{color:var(--color-control-intent-danger)}.error-icon-UhKAouIg.intent-warning-UhKAouIg{color:var(--color-control-intent-warning)}.static-messages-cF4vS9J8{flex-flow:column nowrap;--ui-lib-typography-line-height:17px;line-height:var(--ui-lib-typography-line-height);--ui-lib-typography-font-size:12px;font-size:var(--ui-lib-typography-font-size);font-style:normal;font-weight:400}.static-messages-cF4vS9J8.errors-cF4vS9J8{color:var(--color-control-intent-danger)}.static-messages-cF4vS9J8.warnings-cF4vS9J8{color:var(--color-control-intent-warning)}.static-messages-cF4vS9J8.success-mesages-cF4vS9J8{color:var(--color-control-intent-success)}.static-messages-cF4vS9J8.input-description-cF4vS9J8{color:var(--color-text-secondary)}.static-messages-cF4vS9J8 .message-cF4vS9J8{margin:0}
|
||||||
1
charting_library/bundles/3359.515b38c2fad56295e0d7.css
Normal file
1
charting_library/bundles/3359.515b38c2fad56295e0d7.css
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
|
|||||||
.separator-QjUlCDId{background-color:var(--tv-color-popup-element-divider-background,var(--themed-color-popup-menu-separator,#ebebeb));flex-shrink:0;height:1px;margin:6px 0}html.theme-dark .separator-QjUlCDId{background-color:var(--tv-color-popup-element-divider-background,var(--themed-color-popup-menu-separator,#4a4a4a))}.small-QjUlCDId{margin-bottom:4px;margin-top:4px}.normal-QjUlCDId{margin-bottom:6px;margin-top:6px}.large-QjUlCDId{margin-bottom:8px;margin-top:8px}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
.separator-QjUlCDId{background-color:var(--tv-color-popup-element-divider-background,var(--themed-color-popup-menu-separator,#ebebeb));flex-shrink:0;height:1px;margin:6px 0}html.theme-dark .separator-QjUlCDId{background-color:var(--tv-color-popup-element-divider-background,var(--themed-color-popup-menu-separator,#4a4a4a))}.small-QjUlCDId{margin-bottom:4px;margin-top:4px}.normal-QjUlCDId{margin-bottom:6px;margin-top:6px}.large-QjUlCDId{margin-bottom:8px;margin-top:8px}
|
|
||||||
1
charting_library/bundles/3425.2c71d427960b55da9a78.css
Normal file
1
charting_library/bundles/3425.2c71d427960b55da9a78.css
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.box-ywH2tsV_{align-items:center;border:1px solid var(--color-container-fill-primary-neutral-extra-bold);border-radius:3px;box-sizing:border-box;display:flex;height:18px;justify-content:center;position:relative;transition:background-color .35s ease;width:18px}.box-ywH2tsV_:before{border:2px solid var(--color-tv-blue-500);border-radius:6px;box-sizing:border-box;content:"";height:26px;left:-5px;opacity:0;position:absolute;top:-5px;transform:scale(.69231);width:26px}.box-ywH2tsV_.noOutline-ywH2tsV_:before{content:none}.box-ywH2tsV_:after{background-color:initial;border-radius:50%;content:"";height:6px;left:calc(50% - 3px);position:absolute;top:calc(50% - 3px);width:6px}@media (any-hover:hover){.box-ywH2tsV_:hover:not(:focus):not(.disabled-ywH2tsV_):not(:active):not(.intent-danger-ywH2tsV_){border-color:var(--color-container-fill-primary-neutral-bold)}.box-ywH2tsV_:hover.checked-ywH2tsV_:not(:focus):not(.disabled-ywH2tsV_):not(.intent-danger-ywH2tsV_){background-color:var(--ui-lib-checkboxView-color,var(--color-container-fill-primary-neutral-bold));border-color:var(--ui-lib-checkboxView-color,var(--color-container-fill-primary-neutral-bold))}}.box-ywH2tsV_.checked-ywH2tsV_{background-color:var(--ui-lib-checkboxView-color,var(--color-container-fill-primary-neutral-extra-bold));border-color:var(--ui-lib-checkboxView-color,var(--color-container-fill-primary-neutral-extra-bold))}.box-ywH2tsV_.checked-ywH2tsV_.check-ywH2tsV_ .icon-ywH2tsV_{color:var(--ui-lib-checkboxView-mark-color,var(--color-container-fill-quinary-inverse))}.box-ywH2tsV_.checked-ywH2tsV_.dot-ywH2tsV_:after{background-color:var(--ui-lib-checkboxView-mark-color,var(--color-container-fill-quinary-inverse))}.box-ywH2tsV_.disabled-ywH2tsV_{opacity:.3}.box-ywH2tsV_:active:not(.disabled-ywH2tsV_):not(.disableActiveStyles-ywH2tsV_):active{border-color:var(--ui-lib-checkboxView-color,var(--color-container-fill-primary-neutral-medium))}.box-ywH2tsV_.checked-ywH2tsV_:active:not(.disabled-ywH2tsV_):active{background-color:var(--ui-lib-checkboxView-color,var(--color-container-fill-primary-neutral-medium))}.box-ywH2tsV_.intent-danger-ywH2tsV_{border-color:var(--color-control-intent-danger)}.icon-ywH2tsV_{align-items:center;box-sizing:border-box;display:inline-flex}.icon-ywH2tsV_,.icon-ywH2tsV_ svg{height:9px;width:11px}.wrapper-GZajBGIm{display:inline-block;flex:none;height:18px;position:relative;width:18px;--ui-lib-checkboxView-mark-color:var(--ui-lib-checkboxInput-mark-color);--ui-lib-checkboxView-color:var(--ui-lib-checkboxInput-color)}.input-GZajBGIm{cursor:inherit;height:100%;left:0;margin:0;opacity:0;padding:0;position:absolute;top:0;width:100%}.input-GZajBGIm:focus+.view-GZajBGIm:before{opacity:1;transform:scale(1)}.input-GZajBGIm:focus-visible+.view-GZajBGIm:before{opacity:1;transform:scale(1)}.input-GZajBGIm:focus:not(:focus-visible)+.view-GZajBGIm:before{opacity:0;transform:scale(.69231)}@media (any-hover:hover){.input-GZajBGIm:hover:not(:focus):not(:disabled):not(.danger-GZajBGIm)~.view-GZajBGIm{border-color:var(--color-container-fill-primary-neutral-bold)}.input-GZajBGIm:hover:checked:not(:focus):not(:disabled):not(.danger-GZajBGIm)~.view-GZajBGIm{background-color:var(--ui-lib-checkboxInput-color,var(--color-container-fill-primary-neutral-bold));border-color:var(--ui-lib-checkboxInput-color,var(--color-container-fill-primary-neutral-bold))}}.input-GZajBGIm:active:not(:disabled):not(.danger-GZajBGIm):active~.view-GZajBGIm{border-color:var(--ui-lib-checkboxInput-color,var(--color-container-fill-primary-neutral-medium))}.input-GZajBGIm:checked:active:not(:disabled):not(.danger-GZajBGIm):active~.view-GZajBGIm{background-color:var(--ui-lib-checkboxInput-color,var(--color-container-fill-primary-neutral-medium))}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
.box-ywH2tsV_{align-items:center;border:1px solid var(--color-container-fill-primary-neutral-extra-bold);border-radius:3px;box-sizing:border-box;display:flex;height:18px;justify-content:center;position:relative;transition:background-color .35s ease;width:18px}.box-ywH2tsV_:before{border:2px solid var(--color-tv-blue-500);border-radius:6px;box-sizing:border-box;content:"";height:26px;opacity:0;position:absolute;right:-5px;top:-5px;transform:scale(.69231);width:26px}.box-ywH2tsV_.noOutline-ywH2tsV_:before{content:none}.box-ywH2tsV_:after{background-color:initial;border-radius:50%;content:"";height:6px;position:absolute;right:calc(50% - 3px);top:calc(50% - 3px);width:6px}@media (any-hover:hover){.box-ywH2tsV_:hover:not(:focus):not(.disabled-ywH2tsV_):not(:active):not(.intent-danger-ywH2tsV_){border-color:var(--color-container-fill-primary-neutral-bold)}.box-ywH2tsV_:hover.checked-ywH2tsV_:not(:focus):not(.disabled-ywH2tsV_):not(.intent-danger-ywH2tsV_){background-color:var(--ui-lib-checkboxView-color,var(--color-container-fill-primary-neutral-bold));border-color:var(--ui-lib-checkboxView-color,var(--color-container-fill-primary-neutral-bold))}}.box-ywH2tsV_.checked-ywH2tsV_{background-color:var(--ui-lib-checkboxView-color,var(--color-container-fill-primary-neutral-extra-bold));border-color:var(--ui-lib-checkboxView-color,var(--color-container-fill-primary-neutral-extra-bold))}.box-ywH2tsV_.checked-ywH2tsV_.check-ywH2tsV_ .icon-ywH2tsV_{color:var(--ui-lib-checkboxView-mark-color,var(--color-container-fill-quinary-inverse))}.box-ywH2tsV_.checked-ywH2tsV_.dot-ywH2tsV_:after{background-color:var(--ui-lib-checkboxView-mark-color,var(--color-container-fill-quinary-inverse))}.box-ywH2tsV_.disabled-ywH2tsV_{opacity:.3}.box-ywH2tsV_:active:not(.disabled-ywH2tsV_):not(.disableActiveStyles-ywH2tsV_):active{border-color:var(--ui-lib-checkboxView-color,var(--color-container-fill-primary-neutral-medium))}.box-ywH2tsV_.checked-ywH2tsV_:active:not(.disabled-ywH2tsV_):active{background-color:var(--ui-lib-checkboxView-color,var(--color-container-fill-primary-neutral-medium))}.box-ywH2tsV_.intent-danger-ywH2tsV_{border-color:var(--color-control-intent-danger)}.icon-ywH2tsV_{align-items:center;box-sizing:border-box;display:inline-flex}.icon-ywH2tsV_,.icon-ywH2tsV_ svg{height:9px;width:11px}.wrapper-GZajBGIm{display:inline-block;flex:none;height:18px;position:relative;width:18px;--ui-lib-checkboxView-mark-color:var(--ui-lib-checkboxInput-mark-color);--ui-lib-checkboxView-color:var(--ui-lib-checkboxInput-color)}.input-GZajBGIm{cursor:inherit;height:100%;margin:0;opacity:0;padding:0;position:absolute;right:0;top:0;width:100%}.input-GZajBGIm:focus+.view-GZajBGIm:before{opacity:1;transform:scale(1)}.input-GZajBGIm:focus-visible+.view-GZajBGIm:before{opacity:1;transform:scale(1)}.input-GZajBGIm:focus:not(:focus-visible)+.view-GZajBGIm:before{opacity:0;transform:scale(.69231)}@media (any-hover:hover){.input-GZajBGIm:hover:not(:focus):not(:disabled):not(.danger-GZajBGIm)~.view-GZajBGIm{border-color:var(--color-container-fill-primary-neutral-bold)}.input-GZajBGIm:hover:checked:not(:focus):not(:disabled):not(.danger-GZajBGIm)~.view-GZajBGIm{background-color:var(--ui-lib-checkboxInput-color,var(--color-container-fill-primary-neutral-bold));border-color:var(--ui-lib-checkboxInput-color,var(--color-container-fill-primary-neutral-bold))}}.input-GZajBGIm:active:not(:disabled):not(.danger-GZajBGIm):active~.view-GZajBGIm{border-color:var(--ui-lib-checkboxInput-color,var(--color-container-fill-primary-neutral-medium))}.input-GZajBGIm:checked:active:not(:disabled):not(.danger-GZajBGIm):active~.view-GZajBGIm{background-color:var(--ui-lib-checkboxInput-color,var(--color-container-fill-primary-neutral-medium))}
|
||||||
1
charting_library/bundles/3439.18a88ac7f1dc31fa83da.css
Normal file
1
charting_library/bundles/3439.18a88ac7f1dc31fa83da.css
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[data-theme=light]{--_0-EQVN:var(--color-cold-gray-100)}[data-theme=dark]{--_0-EQVN:var(--color-cold-gray-800)}.wrapper-TJ9ObuLF{color:var(--_0-EQVN)}.animated-TJ9ObuLF{animation:1s ease-in-out 0s infinite alternate none running;animation-name:pulsation-TJ9ObuLF}@keyframes pulsation-TJ9ObuLF{0%{opacity:1}to{opacity:.4}}[data-theme=light]{--_0--KjD:var(--color-white);--_1--KjD:var(--color-cold-gray-150)}[data-theme=dark]{--_0--KjD:var(--color-cold-gray-600);--_1--KjD:var(--color-cold-gray-800)}.logo-PsAlMQQF{align-items:center;border-radius:50%;display:inline-flex;justify-content:center}.logo-PsAlMQQF:not(img){background-color:var(--_1--KjD)}.hidden-PsAlMQQF{opacity:0;position:absolute}.xxceptionallysmalldonotusebrv1023-PsAlMQQF{font-size:10px;height:12px;line-height:10px;width:12px}.xxxsmall-PsAlMQQF{font-size:11px;height:18px;line-height:16px;width:18px}.xxsmall-PsAlMQQF{font-size:11px;height:20px;line-height:16px;width:20px}.xsmall-PsAlMQQF{font-size:11px;height:24px;line-height:16px;width:24px}.small-PsAlMQQF{font-size:14px;height:28px;line-height:16px;width:28px}.medium-PsAlMQQF{font-size:16px;height:36px;line-height:16px;width:36px}.large-PsAlMQQF{font-size:24px;height:48px;line-height:32px;width:48px}.xlarge-PsAlMQQF{font-size:40px;height:56px;line-height:40px;width:56px}.xxlarge-PsAlMQQF{font-size:80px;height:112px;line-height:80px;width:112px}.xxxlarge-PsAlMQQF{font-size:160px;height:168px;line-height:160px;width:168px}.skeleton-PsAlMQQF{background-color:currentColor}.letter-PsAlMQQF{color:var(--_0--KjD);font-style:normal;font-weight:700}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[data-theme=light]{--_0-EQVN:var(--color-cold-gray-100)}[data-theme=dark]{--_0-EQVN:var(--color-cold-gray-800)}.wrapper-TJ9ObuLF{color:var(--_0-EQVN)}.animated-TJ9ObuLF{animation:1s ease-in-out 0s infinite alternate none running;animation-name:pulsation-TJ9ObuLF}@keyframes pulsation-TJ9ObuLF{0%{opacity:1}to{opacity:.4}}[data-theme=light]{--_0--KjD:var(--color-white);--_1--KjD:var(--color-cold-gray-150)}[data-theme=dark]{--_0--KjD:var(--color-cold-gray-600);--_1--KjD:var(--color-cold-gray-800)}.logo-PsAlMQQF{align-items:center;border-radius:50%;display:inline-flex;justify-content:center}.logo-PsAlMQQF:not(img){background-color:var(--_1--KjD)}.hidden-PsAlMQQF{opacity:0;position:absolute}.xxceptionallysmalldonotusebrv1023-PsAlMQQF{font-size:10px;height:12px;line-height:10px;width:12px}.xxxsmall-PsAlMQQF{font-size:11px;height:18px;line-height:16px;width:18px}.xxsmall-PsAlMQQF{font-size:11px;height:20px;line-height:16px;width:20px}.xsmall-PsAlMQQF{font-size:11px;height:24px;line-height:16px;width:24px}.small-PsAlMQQF{font-size:14px;height:28px;line-height:16px;width:28px}.medium-PsAlMQQF{font-size:16px;height:36px;line-height:16px;width:36px}.large-PsAlMQQF{font-size:24px;height:48px;line-height:32px;width:48px}.xlarge-PsAlMQQF{font-size:40px;height:56px;line-height:40px;width:56px}.xxlarge-PsAlMQQF{font-size:80px;height:112px;line-height:80px;width:112px}.xxxlarge-PsAlMQQF{font-size:160px;height:168px;line-height:160px;width:168px}.skeleton-PsAlMQQF{background-color:currentColor}.letter-PsAlMQQF{color:var(--_0--KjD);font-style:normal;font-weight:700}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user