@gearbox-protocol/ui-kit 4.0.0-next.6 → 4.0.0-next.60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (850) hide show
  1. package/dist/cjs/_virtual/index.cjs +1 -1
  2. package/dist/cjs/components/accordion/accordion.cjs +1 -1
  3. package/dist/cjs/components/alert-badge/alert-badge.cjs +1 -1
  4. package/dist/cjs/components/alert-dialog/alert-dialog.cjs +1 -1
  5. package/dist/cjs/components/alert-modal/alert-modal.cjs +1 -1
  6. package/dist/cjs/components/app-bar/app-bar.cjs +1 -1
  7. package/dist/cjs/components/assets-list-cell/assets-list-cell.cjs +1 -1
  8. package/dist/cjs/components/badge/badge.cjs +1 -1
  9. package/dist/cjs/components/badge/chip.cjs +1 -1
  10. package/dist/cjs/components/base/amount-input/amount-input.cjs +1 -1
  11. package/dist/cjs/components/base/amount-input/token-select-panel.cjs +1 -1
  12. package/dist/cjs/components/base/apy-breakdown-body/apy-breakdown-body.cjs +1 -0
  13. package/dist/cjs/components/base/apy-breakdown-body/index.cjs +1 -0
  14. package/dist/cjs/components/base/borrow-rate-block/borrow-rate-block.cjs +1 -1
  15. package/dist/cjs/components/base/chart-with-side-card/chart-with-side-card.cjs +1 -1
  16. package/dist/cjs/components/base/detailed-page-title/copy-button.cjs +1 -0
  17. package/dist/cjs/components/base/detailed-page-title/detailed-page-title.cjs +1 -1
  18. package/dist/cjs/components/base/details-view/detail-aside/detail-aside-screen-layout.cjs +1 -1
  19. package/dist/cjs/components/base/details-view/index.cjs +1 -1
  20. package/dist/cjs/components/base/health-factor-block/health-factor-block.cjs +1 -1
  21. package/dist/cjs/components/base/history-chart/history-chart.cjs +1 -1
  22. package/dist/cjs/components/base/index.cjs +1 -1
  23. package/dist/cjs/components/base/info-list/index.cjs +1 -1
  24. package/dist/cjs/components/base/info-list/info-list.cjs +1 -1
  25. package/dist/cjs/components/base/leverage-input/leverage-input.cjs +1 -1
  26. package/dist/cjs/components/base/liquidation-params-table/liquidation-params-table.cjs +1 -1
  27. package/dist/cjs/components/base/liquidation-price-block/liquidation-price-block.cjs +1 -1
  28. package/dist/cjs/components/base/manage-pane/manage-pane.cjs +1 -1
  29. package/dist/cjs/components/base/more-accordion/more-accordion.cjs +1 -1
  30. package/dist/cjs/components/base/pool-apy-breakdown-card/constants.cjs +1 -1
  31. package/dist/cjs/components/base/pool-apy-breakdown-card/pool-apy-breakdown-card.cjs +1 -1
  32. package/dist/cjs/components/base/position-assets/constants.cjs +1 -0
  33. package/dist/cjs/components/base/position-assets/index.cjs +1 -0
  34. package/dist/cjs/components/base/position-assets/position-assets.cjs +1 -0
  35. package/dist/cjs/components/base/review-button/constants.cjs +1 -1
  36. package/dist/cjs/components/base/review-button/review-button.cjs +1 -1
  37. package/dist/cjs/components/base/section-heading/section-heading.cjs +1 -1
  38. package/dist/cjs/components/base/segmented-tabs/segmented-tabs.cjs +1 -1
  39. package/dist/cjs/components/base/stack/stack.cjs +1 -1
  40. package/dist/cjs/components/base/stat-badge/constants.cjs +1 -1
  41. package/dist/cjs/components/base/stat-badge/stat-badge.cjs +1 -1
  42. package/dist/cjs/components/base/strategy-apy-breakdown-card/constants.cjs +1 -1
  43. package/dist/cjs/components/base/strategy-apy-breakdown-card/strategy-apy-breakdown-card.cjs +1 -1
  44. package/dist/cjs/components/base/tabber/tabber.cjs +1 -1
  45. package/dist/cjs/components/base/time-to-liquidation-block/time-to-liquidation-block.cjs +1 -1
  46. package/dist/cjs/components/base/title-meta/title-meta.cjs +1 -1
  47. package/dist/cjs/components/base/token-amount/token-amount.cjs +1 -1
  48. package/dist/cjs/components/base/token-pair-symbol/token-pair-symbol.cjs +1 -1
  49. package/dist/cjs/components/base/values/constants.cjs +1 -1
  50. package/dist/cjs/components/base/values/index.cjs +1 -1
  51. package/dist/cjs/components/base/values/no-value.cjs +1 -0
  52. package/dist/cjs/components/base/values/pnl-value.cjs +1 -1
  53. package/dist/cjs/components/base/values/position-status-badge.cjs +1 -1
  54. package/dist/cjs/components/base/values/position-type-badge.cjs +1 -1
  55. package/dist/cjs/components/base/values/price-impact-value.cjs +1 -0
  56. package/dist/cjs/components/base/values/scalars.cjs +1 -1
  57. package/dist/cjs/components/base-link/base-link.cjs +1 -1
  58. package/dist/cjs/components/base-table/base-table-line.cjs +1 -1
  59. package/dist/cjs/components/base-table/base-table.cjs +1 -1
  60. package/dist/cjs/components/breadcrumbs/breadcrumbs.cjs +1 -1
  61. package/dist/cjs/components/buttons/back-button/back-button.cjs +1 -1
  62. package/dist/cjs/components/buttons/button/button.cjs +1 -1
  63. package/dist/cjs/components/buttons/copy-button/copy-button.cjs +1 -1
  64. package/dist/cjs/components/buttons/external-button/external-button.cjs +1 -1
  65. package/dist/cjs/components/buttons/index.cjs +1 -1
  66. package/dist/cjs/components/buttons/range-buttons/index.cjs +1 -1
  67. package/dist/cjs/components/buttons/range-buttons/range-buttons.cjs +1 -1
  68. package/dist/cjs/components/cards/card/card.cjs +1 -1
  69. package/dist/cjs/components/cards/expandable-card/expandable-card.cjs +1 -1
  70. package/dist/cjs/components/cards/index.cjs +1 -1
  71. package/dist/cjs/components/checkbox/checkbox-labeled.cjs +1 -1
  72. package/dist/cjs/components/checkbox/checkbox.cjs +1 -1
  73. package/dist/cjs/components/client-adapters/index.cjs +1 -1
  74. package/dist/cjs/components/client-adapters/styled-button/styled-button.cjs +1 -1
  75. package/dist/cjs/components/client-adapters/styled-dialog-container/styled-dialog-container.cjs +1 -1
  76. package/dist/cjs/components/collateral-allocation-tooltip/allocation-wheel.cjs +1 -1
  77. package/dist/cjs/components/collateral-allocation-tooltip/collateral-allocation-tooltip.cjs +1 -1
  78. package/dist/cjs/components/composites/index.cjs +1 -1
  79. package/dist/cjs/components/composites/notification-center/notification-center.cjs +1 -1
  80. package/dist/cjs/components/composites/pool-assets-table/pool-assets-table-head.cjs +1 -1
  81. package/dist/cjs/components/composites/pool-assets-table/pool-assets-table-row.cjs +1 -1
  82. package/dist/cjs/components/composites/pool-assets-table/pool-assets-table.cjs +1 -1
  83. package/dist/cjs/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountField.cjs +1 -1
  84. package/dist/cjs/components/composites/tx-preview/confirm/amounts/constants.cjs +1 -1
  85. package/dist/cjs/components/composites/tx-preview/confirm/amounts/index.cjs +1 -1
  86. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.cjs +1 -1
  87. package/dist/cjs/components/composites/tx-preview/confirm/dialog/constants.cjs +1 -1
  88. package/dist/cjs/components/composites/tx-preview/confirm/index.cjs +1 -1
  89. package/dist/cjs/components/composites/tx-preview/confirm/stepper/ProgressStepper.cjs +1 -1
  90. package/dist/cjs/components/composites/tx-preview/confirm/stepper/index.cjs +1 -1
  91. package/dist/cjs/components/composites/tx-preview/confirm/stepper/transactionExecutionStepTypes.cjs +1 -1
  92. package/dist/cjs/components/composites/tx-preview/index.cjs +1 -1
  93. package/dist/cjs/components/compound-apy/compound-apy.cjs +1 -1
  94. package/dist/cjs/components/confirm-menu/confirm-menu.cjs +1 -1
  95. package/dist/cjs/components/detailed-page-title/detailed-page-title-explorer-dropdown.cjs +1 -1
  96. package/dist/cjs/components/detailed-page-title/index.cjs +1 -1
  97. package/dist/cjs/components/dialog/dialog-container.cjs +1 -1
  98. package/dist/cjs/components/dialog/dialog-content.cjs +1 -1
  99. package/dist/cjs/components/dialog/dialog-description.cjs +1 -1
  100. package/dist/cjs/components/dialog/dialog-footer.cjs +1 -1
  101. package/dist/cjs/components/dialog/dialog-form.cjs +1 -1
  102. package/dist/cjs/components/dialog/dialog-header.cjs +1 -1
  103. package/dist/cjs/components/dialog/dialog-modal-container.cjs +1 -1
  104. package/dist/cjs/components/dialog/dialog-overlay.cjs +1 -1
  105. package/dist/cjs/components/dialog/dialog-title.cjs +1 -1
  106. package/dist/cjs/components/dropdown-menu/dropdown-menu-content.cjs +1 -1
  107. package/dist/cjs/components/dropdown-menu/dropdown-menu-item.cjs +1 -1
  108. package/dist/cjs/components/dropdown-menu/dropdown-menu-label.cjs +1 -1
  109. package/dist/cjs/components/dropdown-menu/dropdown-menu.cjs +1 -1
  110. package/dist/cjs/components/dropdown-menu/index.cjs +1 -1
  111. package/dist/cjs/components/edit-input/edit-input.cjs +1 -1
  112. package/dist/cjs/components/error-message/error-line-message.cjs +1 -1
  113. package/dist/cjs/components/error-message/index.cjs +1 -1
  114. package/dist/cjs/components/fadeout-loading/fadeout-loading.cjs +1 -1
  115. package/dist/cjs/components/formatted-number/formatted-number.cjs +1 -1
  116. package/dist/cjs/components/graph/default-config.cjs +1 -1
  117. package/dist/cjs/components/graph/formatters.cjs +1 -1
  118. package/dist/cjs/components/graph/graph-current-value.cjs +1 -1
  119. package/dist/cjs/components/graph/graph-tooltip.cjs +1 -1
  120. package/dist/cjs/components/graph/graph-view.cjs +1 -1
  121. package/dist/cjs/components/graph/graph.cjs +1 -1
  122. package/dist/cjs/components/graph/index.cjs +1 -1
  123. package/dist/cjs/components/graph/y-axis-scale.cjs +1 -0
  124. package/dist/cjs/components/head-cell/head-cell.cjs +1 -1
  125. package/dist/cjs/components/health-factor/health-factor.cjs +1 -1
  126. package/dist/cjs/components/help-tip/help-tip.cjs +1 -1
  127. package/dist/cjs/components/hf-indicator/hf-indicator.cjs +1 -1
  128. package/dist/cjs/components/icon-button/icon-button.cjs +1 -1
  129. package/dist/cjs/components/icons/fa-icon.cjs +1 -1
  130. package/dist/cjs/components/icons/index.cjs +1 -1
  131. package/dist/cjs/components/index.cjs +1 -1
  132. package/dist/cjs/components/input/input.cjs +1 -1
  133. package/dist/cjs/components/label/label.cjs +1 -1
  134. package/dist/cjs/components/layout/app-footer/app-footer.cjs +1 -1
  135. package/dist/cjs/components/legal-agreement/legal-agreement-dialog.cjs +1 -1
  136. package/dist/cjs/components/legal-agreement/legal-agreement-panel.cjs +1 -1
  137. package/dist/cjs/components/link/link.cjs +1 -1
  138. package/dist/cjs/components/loader/loader.cjs +1 -1
  139. package/dist/cjs/components/loading/loading.cjs +1 -1
  140. package/dist/cjs/components/markdown-text/index.cjs +1 -0
  141. package/dist/cjs/components/markdown-text/markdown-text.cjs +1 -0
  142. package/dist/cjs/components/modal/modal.cjs +1 -1
  143. package/dist/cjs/components/navbar-logo/navbar-logo.cjs +1 -1
  144. package/dist/cjs/components/network-icon/index.cjs +1 -1
  145. package/dist/cjs/components/pool-points-indicator/pool-points-indicator.cjs +1 -1
  146. package/dist/cjs/components/radio-group/index.cjs +1 -0
  147. package/dist/cjs/components/radio-group/radio-group.cjs +1 -0
  148. package/dist/cjs/components/rounded-image/rounded-image.cjs +1 -1
  149. package/dist/cjs/components/rwa-styles/index.cjs +1 -1
  150. package/dist/cjs/components/sdk-status-pill/constants.cjs +1 -0
  151. package/dist/cjs/components/sdk-status-pill/index.cjs +1 -0
  152. package/dist/cjs/components/sdk-status-pill/sdk-status-pill.cjs +1 -0
  153. package/dist/cjs/components/sdk-status-pill/sdk-status.cjs +1 -0
  154. package/dist/cjs/components/search-line/search-line.cjs +1 -1
  155. package/dist/cjs/components/segmented-control/segmented-control.cjs +1 -1
  156. package/dist/cjs/components/select/select.cjs +1 -1
  157. package/dist/cjs/components/separate-line/separate-line.cjs +1 -1
  158. package/dist/cjs/components/short-string/short-string.cjs +1 -1
  159. package/dist/cjs/components/simple-accordion/simple-accordion.cjs +1 -1
  160. package/dist/cjs/components/simple-dropdown/simple-dropdown-menu-item.cjs +1 -1
  161. package/dist/cjs/components/simple-dropdown/simple-dropdown.cjs +1 -1
  162. package/dist/cjs/components/skeleton/skeleton-stack.cjs +1 -1
  163. package/dist/cjs/components/skeleton/skeleton.cjs +1 -1
  164. package/dist/cjs/components/slider/constants.cjs +1 -0
  165. package/dist/cjs/components/slider/index.cjs +1 -1
  166. package/dist/cjs/components/slider/slider-track.cjs +1 -1
  167. package/dist/cjs/components/slider/slider-utils.cjs +1 -1
  168. package/dist/cjs/components/slider/slider.cjs +1 -1
  169. package/dist/cjs/components/spinner/spinner.cjs +1 -1
  170. package/dist/cjs/components/spinner-loader/spinner-loader.cjs +1 -1
  171. package/dist/cjs/components/split-list/split-list.cjs +1 -1
  172. package/dist/cjs/components/status-elements/status-elements.cjs +1 -1
  173. package/dist/cjs/components/tab-control/index.cjs +1 -1
  174. package/dist/cjs/components/tab-control/tab-control.cjs +1 -1
  175. package/dist/cjs/components/table/grid-loading-line.cjs +1 -1
  176. package/dist/cjs/components/table/grid-table.cjs +1 -1
  177. package/dist/cjs/components/table/index.cjs +1 -1
  178. package/dist/cjs/components/table/table-sm.cjs +1 -1
  179. package/dist/cjs/components/table/table.cjs +1 -1
  180. package/dist/cjs/components/tabs/tabs.cjs +1 -1
  181. package/dist/cjs/components/text-button/text-button.cjs +1 -1
  182. package/dist/cjs/components/textarea/textarea.cjs +1 -1
  183. package/dist/cjs/components/theme-provider.cjs +1 -1
  184. package/dist/cjs/components/tip-card/tip-card.cjs +1 -1
  185. package/dist/cjs/components/token-icon/index.cjs +1 -1
  186. package/dist/cjs/components/token-icon/token-icon.cjs +1 -1
  187. package/dist/cjs/components/token-symbol/token-symbol.cjs +1 -1
  188. package/dist/cjs/components/token-template/index.cjs +1 -1
  189. package/dist/cjs/components/token-template/token-template.cjs +1 -1
  190. package/dist/cjs/components/tooltip/simple-tooltip.cjs +1 -1
  191. package/dist/cjs/components/tooltip/tooltip.cjs +1 -1
  192. package/dist/cjs/components/trading-view/trading-view.cjs +1 -1
  193. package/dist/cjs/components/truncated-text/index.cjs +1 -0
  194. package/dist/cjs/components/truncated-text/truncated-text.cjs +1 -0
  195. package/dist/cjs/components/typography/typography.cjs +1 -1
  196. package/dist/cjs/components/vertical-indicator/vertical-indicator.cjs +1 -1
  197. package/dist/cjs/components/vspace/vspace.cjs +1 -1
  198. package/dist/cjs/components/with-copy/with-copy.cjs +1 -1
  199. package/dist/cjs/components/yield-breakdown-tooltip/index.cjs +1 -1
  200. package/dist/cjs/components/yield-breakdown-tooltip/yield-breakdown-tooltip.cjs +1 -1
  201. package/dist/cjs/configs/index.cjs +1 -1
  202. package/dist/cjs/hooks/index.cjs +1 -1
  203. package/dist/cjs/hooks/use-debounce-call.cjs +1 -1
  204. package/dist/cjs/hooks/use-filter.cjs +1 -1
  205. package/dist/cjs/hooks/use-media-query.cjs +1 -1
  206. package/dist/cjs/index.cjs +1 -1
  207. package/dist/cjs/locale/en.json.cjs +1 -1
  208. package/dist/cjs/node_modules/.pnpm/tailwind-scrollbar@4.0.2_react@19.2.8_tailwindcss@4.3.3/node_modules/tailwind-scrollbar/src/index.cjs +1 -0
  209. package/dist/cjs/node_modules/.pnpm/tailwind-scrollbar@4.0.2_react@19.2.8_tailwindcss@4.3.3/node_modules/tailwind-scrollbar/src/utilities.cjs +1 -0
  210. package/dist/cjs/node_modules/.pnpm/tailwindcss@4.3.3/node_modules/tailwindcss/dist/flatten-color-palette.cjs +1 -0
  211. package/dist/cjs/utils/bn-to-pretty-view.cjs +1 -1
  212. package/dist/cjs/utils/colors.cjs +1 -1
  213. package/dist/cjs/utils/format-asset-amount.cjs +1 -1
  214. package/dist/cjs/utils/format-money.cjs +1 -1
  215. package/dist/cjs/utils/format-number.cjs +1 -1
  216. package/dist/cjs/utils/format-slippage.cjs +1 -1
  217. package/dist/cjs/utils/format.cjs +1 -1
  218. package/dist/cjs/utils/index.cjs +1 -1
  219. package/dist/cjs/utils/loading.cjs +1 -1
  220. package/dist/cjs/utils/math.cjs +1 -1
  221. package/dist/cjs/utils/parse-input-to-bn.cjs +1 -1
  222. package/dist/cjs/utils/ranges.cjs +1 -1
  223. package/dist/cjs/utils/ranges.spec.cjs +1 -1
  224. package/dist/cjs/utils/templates.cjs +1 -1
  225. package/dist/cjs/utils/ttl.cjs +1 -1
  226. package/dist/esm/_virtual/index.js +1 -1
  227. package/dist/esm/components/accordion/accordion.js +8 -10
  228. package/dist/esm/components/alert-badge/alert-badge.js +16 -18
  229. package/dist/esm/components/alert-dialog/alert-dialog.js +9 -13
  230. package/dist/esm/components/alert-modal/alert-modal.js +9 -13
  231. package/dist/esm/components/app-bar/app-bar.js +1 -3
  232. package/dist/esm/components/assets-list-cell/assets-list-cell.js +35 -39
  233. package/dist/esm/components/badge/badge.js +3 -6
  234. package/dist/esm/components/badge/chip.js +10 -13
  235. package/dist/esm/components/base/amount-input/amount-input.js +13 -14
  236. package/dist/esm/components/base/amount-input/token-select-panel.js +34 -40
  237. package/dist/esm/components/base/apy-breakdown-body/apy-breakdown-body.js +106 -0
  238. package/dist/esm/components/base/apy-breakdown-body/index.js +10 -0
  239. package/dist/esm/components/base/borrow-rate-block/borrow-rate-block.js +4 -7
  240. package/dist/esm/components/base/chart-with-side-card/chart-with-side-card.js +6 -6
  241. package/dist/esm/components/{detailed-page-title/detailed-page-title-copy-button.js → base/detailed-page-title/copy-button.js} +14 -16
  242. package/dist/esm/components/base/detailed-page-title/detailed-page-title.js +26 -29
  243. package/dist/esm/components/base/details-view/detail-aside/detail-aside-scope.js +1 -1
  244. package/dist/esm/components/base/details-view/detail-aside/detail-aside-screen-layout.js +20 -23
  245. package/dist/esm/components/base/details-view/index.js +11 -9
  246. package/dist/esm/components/base/health-factor-block/health-factor-block.js +49 -34
  247. package/dist/esm/components/base/history-chart/history-chart.js +65 -63
  248. package/dist/esm/components/base/index.js +158 -164
  249. package/dist/esm/components/base/info-list/index.js +4 -5
  250. package/dist/esm/components/base/info-list/info-list.js +55 -55
  251. package/dist/esm/components/base/leverage-input/leverage-input.js +67 -51
  252. package/dist/esm/components/base/liquidation-params-table/liquidation-params-table.js +4 -6
  253. package/dist/esm/components/base/liquidation-price-block/liquidation-price-block.js +46 -38
  254. package/dist/esm/components/base/manage-pane/manage-pane.js +80 -72
  255. package/dist/esm/components/base/more-accordion/more-accordion.js +4 -4
  256. package/dist/esm/components/base/pool-apy-breakdown-card/constants.js +5 -2
  257. package/dist/esm/components/base/pool-apy-breakdown-card/pool-apy-breakdown-card.js +123 -40
  258. package/dist/esm/components/base/position-assets/constants.js +9 -0
  259. package/dist/esm/components/base/position-assets/index.js +7 -0
  260. package/dist/esm/components/base/position-assets/position-assets.js +115 -0
  261. package/dist/esm/components/base/review-button/constants.js +3 -2
  262. package/dist/esm/components/base/review-button/review-button.js +27 -17
  263. package/dist/esm/components/base/section-heading/section-heading.js +3 -6
  264. package/dist/esm/components/base/segmented-tabs/segmented-tabs.js +14 -17
  265. package/dist/esm/components/base/stack/stack.js +20 -22
  266. package/dist/esm/components/base/stat-badge/constants.js +1 -0
  267. package/dist/esm/components/base/stat-badge/stat-badge.js +91 -58
  268. package/dist/esm/components/base/strategy-apy-breakdown-card/constants.js +7 -3
  269. package/dist/esm/components/base/strategy-apy-breakdown-card/strategy-apy-breakdown-card.js +191 -186
  270. package/dist/esm/components/base/tabber/tabber.js +75 -60
  271. package/dist/esm/components/base/time-to-liquidation-block/time-to-liquidation-block.js +36 -28
  272. package/dist/esm/components/base/title-meta/title-meta.js +39 -40
  273. package/dist/esm/components/base/token-amount/token-amount.js +36 -16
  274. package/dist/esm/components/base/token-pair-symbol/token-pair-symbol.js +13 -16
  275. package/dist/esm/components/base/values/constants.js +2 -0
  276. package/dist/esm/components/base/values/index.js +19 -16
  277. package/dist/esm/components/base/values/no-value.js +34 -0
  278. package/dist/esm/components/base/values/pnl-value.js +11 -12
  279. package/dist/esm/components/base/values/position-status-badge.js +6 -9
  280. package/dist/esm/components/base/values/position-type-badge.js +10 -13
  281. package/dist/esm/components/base/values/price-impact-value.js +21 -0
  282. package/dist/esm/components/base/values/scalars.js +60 -41
  283. package/dist/esm/components/base-link/base-link.js +8 -10
  284. package/dist/esm/components/base-table/base-table-line.js +50 -42
  285. package/dist/esm/components/base-table/base-table.js +56 -51
  286. package/dist/esm/components/breadcrumbs/breadcrumbs.js +9 -12
  287. package/dist/esm/components/buttons/back-button/back-button.js +20 -23
  288. package/dist/esm/components/buttons/button/button.js +5 -7
  289. package/dist/esm/components/buttons/copy-button/copy-button.js +13 -15
  290. package/dist/esm/components/buttons/external-button/external-button.js +8 -10
  291. package/dist/esm/components/buttons/index.js +5 -11
  292. package/dist/esm/components/buttons/range-buttons/index.js +1 -4
  293. package/dist/esm/components/buttons/range-buttons/range-buttons.js +1 -36
  294. package/dist/esm/components/cards/card/card.js +7 -9
  295. package/dist/esm/components/cards/expandable-card/expandable-card.js +14 -16
  296. package/dist/esm/components/cards/index.js +2 -4
  297. package/dist/esm/components/checkbox/checkbox-labeled.js +25 -49
  298. package/dist/esm/components/checkbox/checkbox.js +8 -10
  299. package/dist/esm/components/client-adapters/index.js +4 -6
  300. package/dist/esm/components/client-adapters/styled-button/styled-button.js +14 -22
  301. package/dist/esm/components/client-adapters/styled-dialog-container/styled-dialog-container.js +5 -7
  302. package/dist/esm/components/collateral-allocation-tooltip/allocation-wheel.js +13 -16
  303. package/dist/esm/components/collateral-allocation-tooltip/collateral-allocation-tooltip.js +16 -19
  304. package/dist/esm/components/composites/index.js +17 -19
  305. package/dist/esm/components/composites/notification-center/notification-center.js +22 -25
  306. package/dist/esm/components/composites/pool-assets-table/pool-assets-table-head.js +16 -18
  307. package/dist/esm/components/composites/pool-assets-table/pool-assets-table-row.js +47 -49
  308. package/dist/esm/components/composites/pool-assets-table/pool-assets-table.js +10 -12
  309. package/dist/esm/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountField.js +46 -37
  310. package/dist/esm/components/composites/tx-preview/confirm/amounts/constants.js +1 -5
  311. package/dist/esm/components/composites/tx-preview/confirm/amounts/index.js +4 -4
  312. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.js +81 -89
  313. package/dist/esm/components/composites/tx-preview/confirm/dialog/constants.js +10 -7
  314. package/dist/esm/components/composites/tx-preview/confirm/index.js +18 -20
  315. package/dist/esm/components/composites/tx-preview/confirm/stepper/ProgressStepper.js +20 -23
  316. package/dist/esm/components/composites/tx-preview/confirm/stepper/index.js +1 -3
  317. package/dist/esm/components/composites/tx-preview/confirm/stepper/transactionExecutionStepTypes.js +1 -6
  318. package/dist/esm/components/composites/tx-preview/index.js +18 -20
  319. package/dist/esm/components/compound-apy/compound-apy.js +50 -42
  320. package/dist/esm/components/confirm-menu/confirm-menu.js +10 -12
  321. package/dist/esm/components/detailed-page-title/detailed-page-title-explorer-dropdown.js +51 -44
  322. package/dist/esm/components/detailed-page-title/index.js +2 -4
  323. package/dist/esm/components/dialog/dialog-container.js +11 -13
  324. package/dist/esm/components/dialog/dialog-content.js +5 -7
  325. package/dist/esm/components/dialog/dialog-description.js +5 -7
  326. package/dist/esm/components/dialog/dialog-footer.js +10 -13
  327. package/dist/esm/components/dialog/dialog-form.js +12 -15
  328. package/dist/esm/components/dialog/dialog-header.js +5 -8
  329. package/dist/esm/components/dialog/dialog-modal-container.js +4 -6
  330. package/dist/esm/components/dialog/dialog-overlay.js +6 -8
  331. package/dist/esm/components/dialog/dialog-title.js +4 -6
  332. package/dist/esm/components/dropdown-menu/dropdown-menu-content.js +8 -10
  333. package/dist/esm/components/dropdown-menu/dropdown-menu-item.js +10 -12
  334. package/dist/esm/components/dropdown-menu/dropdown-menu-label.js +7 -9
  335. package/dist/esm/components/dropdown-menu/dropdown-menu.js +8 -11
  336. package/dist/esm/components/dropdown-menu/index.js +9 -24
  337. package/dist/esm/components/edit-input/edit-input.js +13 -15
  338. package/dist/esm/components/error-message/error-line-message.js +10 -13
  339. package/dist/esm/components/error-message/index.js +1 -3
  340. package/dist/esm/components/fadeout-loading/fadeout-loading.js +4 -6
  341. package/dist/esm/components/formatted-number/formatted-number.js +3 -6
  342. package/dist/esm/components/graph/default-config.js +39 -73
  343. package/dist/esm/components/graph/formatters.js +98 -137
  344. package/dist/esm/components/graph/graph-current-value.js +11 -11
  345. package/dist/esm/components/graph/graph-tooltip.js +6 -6
  346. package/dist/esm/components/graph/graph-view.js +76 -91
  347. package/dist/esm/components/graph/graph.js +706 -605
  348. package/dist/esm/components/graph/index.js +34 -29
  349. package/dist/esm/components/graph/y-axis-scale.js +112 -0
  350. package/dist/esm/components/head-cell/head-cell.js +21 -23
  351. package/dist/esm/components/health-factor/health-factor.js +27 -27
  352. package/dist/esm/components/help-tip/help-tip.js +70 -67
  353. package/dist/esm/components/hf-indicator/hf-indicator.js +55 -29
  354. package/dist/esm/components/icon-button/icon-button.js +14 -16
  355. package/dist/esm/components/icons/fa-icon.js +3 -6
  356. package/dist/esm/components/icons/index.js +2 -41
  357. package/dist/esm/components/index.js +626 -733
  358. package/dist/esm/components/input/input.js +3 -5
  359. package/dist/esm/components/label/label.js +1 -3
  360. package/dist/esm/components/layout/app-footer/app-footer.js +20 -23
  361. package/dist/esm/components/legal-agreement/legal-agreement-dialog.js +12 -12
  362. package/dist/esm/components/legal-agreement/legal-agreement-panel.js +6 -6
  363. package/dist/esm/components/link/link.js +51 -40
  364. package/dist/esm/components/loader/loader.js +5 -7
  365. package/dist/esm/components/loading/loading.js +22 -15
  366. package/dist/esm/components/markdown-text/index.js +4 -0
  367. package/dist/esm/components/markdown-text/markdown-text.js +63 -0
  368. package/dist/esm/components/modal/modal.js +8 -10
  369. package/dist/esm/components/navbar-logo/navbar-logo.js +9 -12
  370. package/dist/esm/components/network-icon/index.js +2 -4
  371. package/dist/esm/components/pool-points-indicator/pool-points-indicator.js +20 -23
  372. package/dist/esm/components/radio-group/index.js +5 -0
  373. package/dist/esm/components/radio-group/radio-group.js +55 -0
  374. package/dist/esm/components/rounded-image/rounded-image.js +46 -44
  375. package/dist/esm/components/rwa-styles/index.js +2 -3
  376. package/dist/esm/components/sdk-status-pill/constants.js +8 -0
  377. package/dist/esm/components/sdk-status-pill/index.js +8 -0
  378. package/dist/esm/components/sdk-status-pill/sdk-status-pill.js +63 -0
  379. package/dist/esm/components/sdk-status-pill/sdk-status.js +6 -0
  380. package/dist/esm/components/search-line/search-line.js +6 -8
  381. package/dist/esm/components/segmented-control/segmented-control.js +7 -9
  382. package/dist/esm/components/select/select.js +8 -10
  383. package/dist/esm/components/separate-line/separate-line.js +1 -3
  384. package/dist/esm/components/short-string/short-string.js +7 -10
  385. package/dist/esm/components/simple-accordion/simple-accordion.js +10 -13
  386. package/dist/esm/components/simple-dropdown/simple-dropdown-menu-item.js +5 -13
  387. package/dist/esm/components/simple-dropdown/simple-dropdown.js +11 -13
  388. package/dist/esm/components/skeleton/skeleton-stack.js +9 -11
  389. package/dist/esm/components/skeleton/skeleton.js +11 -14
  390. package/dist/esm/components/slider/constants.js +6 -0
  391. package/dist/esm/components/slider/index.js +27 -26
  392. package/dist/esm/components/slider/slider-track.js +19 -17
  393. package/dist/esm/components/slider/slider-utils.js +36 -21
  394. package/dist/esm/components/slider/slider.js +54 -54
  395. package/dist/esm/components/spinner/spinner.js +1 -3
  396. package/dist/esm/components/spinner-loader/spinner-loader.js +10 -12
  397. package/dist/esm/components/split-list/split-list.js +5 -7
  398. package/dist/esm/components/status-elements/status-elements.js +10 -13
  399. package/dist/esm/components/tab-control/index.js +3 -6
  400. package/dist/esm/components/tab-control/tab-control.js +59 -103
  401. package/dist/esm/components/table/grid-loading-line.js +16 -18
  402. package/dist/esm/components/table/grid-table.js +46 -49
  403. package/dist/esm/components/table/index.js +20 -29
  404. package/dist/esm/components/table/table-sm.js +23 -26
  405. package/dist/esm/components/table/table.js +2 -7
  406. package/dist/esm/components/tabs/tabs.js +10 -12
  407. package/dist/esm/components/text-button/text-button.js +10 -12
  408. package/dist/esm/components/textarea/textarea.js +1 -3
  409. package/dist/esm/components/theme-provider.js +19 -26
  410. package/dist/esm/components/tip-card/tip-card.js +5 -7
  411. package/dist/esm/components/token-icon/index.js +2 -3
  412. package/dist/esm/components/token-icon/token-icon.js +73 -86
  413. package/dist/esm/components/token-symbol/token-symbol.js +5 -7
  414. package/dist/esm/components/token-template/index.js +4 -2
  415. package/dist/esm/components/token-template/token-template.js +16 -20
  416. package/dist/esm/components/tooltip/simple-tooltip.js +52 -52
  417. package/dist/esm/components/tooltip/tooltip.js +7 -9
  418. package/dist/esm/components/trading-view/trading-view.js +133 -131
  419. package/dist/esm/components/truncated-text/index.js +4 -0
  420. package/dist/esm/components/truncated-text/truncated-text.js +30 -0
  421. package/dist/esm/components/typography/typography.js +9 -11
  422. package/dist/esm/components/vertical-indicator/vertical-indicator.js +16 -18
  423. package/dist/esm/components/vspace/vspace.js +10 -13
  424. package/dist/esm/components/with-copy/with-copy.js +33 -57
  425. package/dist/esm/components/yield-breakdown-tooltip/index.js +2 -1
  426. package/dist/esm/components/yield-breakdown-tooltip/yield-breakdown-tooltip.js +149 -130
  427. package/dist/esm/configs/index.js +4 -11
  428. package/dist/esm/hooks/index.js +18 -34
  429. package/dist/esm/hooks/use-debounce-call.js +5 -6
  430. package/dist/esm/hooks/use-filter.js +25 -61
  431. package/dist/esm/hooks/use-media-query.js +27 -41
  432. package/dist/esm/index.js +729 -892
  433. package/dist/esm/locale/en.json.js +57 -42
  434. package/dist/esm/node_modules/.pnpm/{tailwind-scrollbar@4.0.2_react@19.2.0_tailwindcss@4.1.17 → tailwind-scrollbar@4.0.2_react@19.2.8_tailwindcss@4.3.3}/node_modules/tailwind-scrollbar/src/index.js +1 -1
  435. package/dist/esm/node_modules/.pnpm/{tailwind-scrollbar@4.0.2_react@19.2.0_tailwindcss@4.1.17 → tailwind-scrollbar@4.0.2_react@19.2.8_tailwindcss@4.3.3}/node_modules/tailwind-scrollbar/src/utilities.js +1 -1
  436. package/dist/esm/node_modules/.pnpm/tailwindcss@4.3.3/node_modules/tailwindcss/dist/flatten-color-palette.js +16 -0
  437. package/dist/esm/utils/bn-to-pretty-view.js +1 -1
  438. package/dist/esm/utils/colors.js +22 -34
  439. package/dist/esm/utils/format-asset-amount.js +1 -1
  440. package/dist/esm/utils/format-money.js +29 -69
  441. package/dist/esm/utils/format-number.js +26 -30
  442. package/dist/esm/utils/format-slippage.js +1 -1
  443. package/dist/esm/utils/format.js +6 -25
  444. package/dist/esm/utils/index.js +77 -110
  445. package/dist/esm/utils/loading.js +6 -13
  446. package/dist/esm/utils/math.js +22 -31
  447. package/dist/esm/utils/parse-input-to-bn.js +1 -1
  448. package/dist/esm/utils/ranges.js +1 -24
  449. package/dist/esm/utils/ranges.spec.js +1 -188
  450. package/dist/esm/utils/templates.js +5 -39
  451. package/dist/esm/utils/ttl.js +11 -36
  452. package/dist/globals.css +2 -2
  453. package/dist/types/components/alert-badge/alert-badge.d.ts +1 -1
  454. package/dist/types/components/alert-dialog/alert-dialog.d.ts +2 -2
  455. package/dist/types/components/assets-list-cell/assets-list-cell.d.ts +1 -1
  456. package/dist/types/components/badge/badge.d.ts +2 -2
  457. package/dist/types/components/base/amount-input/amount-input.d.ts +3 -2
  458. package/dist/types/components/base/amount-input/token-select-panel.d.ts +4 -3
  459. package/dist/types/components/base/apy-breakdown-body/apy-breakdown-body.d.ts +43 -0
  460. package/dist/types/components/base/apy-breakdown-body/index.d.ts +2 -0
  461. package/dist/types/components/base/details-view/index.d.ts +2 -2
  462. package/dist/types/components/base/health-factor-block/health-factor-block.d.ts +8 -1
  463. package/dist/types/components/base/history-chart/history-chart.d.ts +21 -6
  464. package/dist/types/components/base/index.d.ts +1 -4
  465. package/dist/types/components/base/info-list/info-list.d.ts +4 -15
  466. package/dist/types/components/base/leverage-input/leverage-input.d.ts +6 -4
  467. package/dist/types/components/base/liquidation-price-block/liquidation-price-block.d.ts +8 -1
  468. package/dist/types/components/base/pool-apy-breakdown-card/constants.d.ts +3 -0
  469. package/dist/types/components/base/pool-apy-breakdown-card/pool-apy-breakdown-card.d.ts +13 -8
  470. package/dist/types/components/base/position-assets/constants.d.ts +6 -0
  471. package/dist/types/components/base/position-assets/index.d.ts +2 -0
  472. package/dist/types/components/base/position-assets/position-assets.d.ts +65 -0
  473. package/dist/types/components/base/review-button/constants.d.ts +1 -0
  474. package/dist/types/components/base/review-button/review-button.d.ts +17 -3
  475. package/dist/types/components/base/stat-badge/constants.d.ts +1 -0
  476. package/dist/types/components/base/stat-badge/stat-badge.d.ts +11 -1
  477. package/dist/types/components/base/strategy-apy-breakdown-card/constants.d.ts +5 -1
  478. package/dist/types/components/base/strategy-apy-breakdown-card/strategy-apy-breakdown-card.d.ts +40 -12
  479. package/dist/types/components/base/tabber/tabber.d.ts +2 -2
  480. package/dist/types/components/base/time-to-liquidation-block/time-to-liquidation-block.d.ts +8 -1
  481. package/dist/types/components/base/token-amount/token-amount.d.ts +14 -2
  482. package/dist/types/components/base/values/constants.d.ts +2 -0
  483. package/dist/types/components/base/values/index.d.ts +8 -7
  484. package/dist/types/components/base/values/no-value.d.ts +25 -0
  485. package/dist/types/components/base/values/pnl-value.d.ts +8 -2
  486. package/dist/types/components/base/values/price-impact-value.d.ts +25 -0
  487. package/dist/types/components/base/values/scalars.d.ts +29 -3
  488. package/dist/types/components/base-table/base-table-line.d.ts +1 -1
  489. package/dist/types/components/base-table/base-table.d.ts +2 -2
  490. package/dist/types/components/buttons/back-button/back-button.d.ts +2 -2
  491. package/dist/types/components/buttons/button/button.d.ts +2 -2
  492. package/dist/types/components/buttons/index.d.ts +0 -2
  493. package/dist/types/components/buttons/range-buttons/range-buttons.d.ts +0 -32
  494. package/dist/types/components/cards/card/card.d.ts +2 -2
  495. package/dist/types/components/cards/danger-zone/danger-zone.d.ts +1 -1
  496. package/dist/types/components/cards/expandable-card/expandable-card.d.ts +1 -1
  497. package/dist/types/components/cards/index.d.ts +0 -1
  498. package/dist/types/components/checkbox/checkbox.d.ts +2 -2
  499. package/dist/types/components/client-adapters/index.d.ts +0 -1
  500. package/dist/types/components/client-adapters/styled-button/styled-button.d.ts +10 -5
  501. package/dist/types/components/composites/pool-assets-table/pool-assets-table-row.d.ts +3 -2
  502. package/dist/types/components/composites/pool-assets-table/pool-assets-table.d.ts +6 -2
  503. package/dist/types/components/composites/pool-assets-table/types.d.ts +0 -3
  504. package/dist/types/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountField.d.ts +47 -14
  505. package/dist/types/components/composites/tx-preview/confirm/amounts/constants.d.ts +0 -3
  506. package/dist/types/components/composites/tx-preview/confirm/dialog/transactionConfirmShellTypes.d.ts +26 -25
  507. package/dist/types/components/composites/tx-preview/confirm/stepper/transactionExecutionStepTypes.d.ts +0 -9
  508. package/dist/types/components/compound-apy/compound-apy.d.ts +14 -2
  509. package/dist/types/components/detailed-page-title/index.d.ts +0 -1
  510. package/dist/types/components/dialog/dialog-footer.d.ts +1 -1
  511. package/dist/types/components/dialog/dialog-header.d.ts +1 -1
  512. package/dist/types/components/dropdown-menu/dropdown-menu.d.ts +2 -5
  513. package/dist/types/components/dropdown-menu/index.d.ts +0 -6
  514. package/dist/types/components/edit-input/edit-input.d.ts +1 -1
  515. package/dist/types/components/error-message/index.d.ts +0 -1
  516. package/dist/types/components/formatted-number/formatted-number.d.ts +1 -1
  517. package/dist/types/components/graph/default-config.d.ts +23 -2
  518. package/dist/types/components/graph/formatters.d.ts +11 -4
  519. package/dist/types/components/graph/graph-view.d.ts +0 -32
  520. package/dist/types/components/graph/graph.d.ts +51 -9
  521. package/dist/types/components/graph/index.d.ts +3 -3
  522. package/dist/types/components/graph/y-axis-scale.d.ts +48 -0
  523. package/dist/types/components/head-cell/head-cell.d.ts +2 -1
  524. package/dist/types/components/head-cell/index.d.ts +1 -1
  525. package/dist/types/components/health-factor/health-factor.d.ts +10 -1
  526. package/dist/types/components/help-tip/help-tip.d.ts +4 -4
  527. package/dist/types/components/hf-indicator/hf-indicator.d.ts +12 -3
  528. package/dist/types/components/icon-button/icon-button.d.ts +0 -8
  529. package/dist/types/components/icons/fa-icon.d.ts +1 -1
  530. package/dist/types/components/icons/index.d.ts +1 -2
  531. package/dist/types/components/index.d.ts +4 -7
  532. package/dist/types/components/label/label.d.ts +2 -2
  533. package/dist/types/components/layout/app-footer/app-footer.d.ts +9 -15
  534. package/dist/types/components/legal-agreement/index.d.ts +5 -5
  535. package/dist/types/components/legal-agreement/legal-agreement-dialog.d.ts +2 -2
  536. package/dist/types/components/legal-agreement/legal-agreement-theme.d.ts +0 -2
  537. package/dist/types/components/loading/loading.d.ts +1 -1
  538. package/dist/types/components/markdown-text/index.d.ts +1 -0
  539. package/dist/types/components/markdown-text/markdown-text.d.ts +6 -0
  540. package/dist/types/components/navbar-logo/navbar-logo.d.ts +1 -1
  541. package/dist/types/components/navigation-context/index.d.ts +1 -1
  542. package/dist/types/components/navigation-context/navigation-context.d.ts +1 -9
  543. package/dist/types/components/network-icon/index.d.ts +0 -2
  544. package/dist/types/components/network-icon/network-icon.d.ts +1 -1
  545. package/dist/types/components/points-icon/index.d.ts +1 -1
  546. package/dist/types/components/points-icon/points-icon.d.ts +0 -5
  547. package/dist/types/components/pool-points-indicator/pool-points-indicator.d.ts +1 -1
  548. package/dist/types/components/radio-group/index.d.ts +1 -0
  549. package/dist/types/components/radio-group/radio-group.d.ts +39 -0
  550. package/dist/types/components/rwa-styles/index.d.ts +0 -1
  551. package/dist/types/components/sdk-status-pill/constants.d.ts +5 -0
  552. package/dist/types/components/sdk-status-pill/index.d.ts +3 -0
  553. package/dist/types/components/sdk-status-pill/sdk-status-pill.d.ts +27 -0
  554. package/dist/types/components/sdk-status-pill/sdk-status.d.ts +11 -0
  555. package/dist/types/components/search-line/search-line.d.ts +1 -1
  556. package/dist/types/components/select/select.d.ts +4 -4
  557. package/dist/types/components/separate-line/index.d.ts +1 -1
  558. package/dist/types/components/short-string/short-string.d.ts +1 -1
  559. package/dist/types/components/simple-accordion/simple-accordion.d.ts +2 -2
  560. package/dist/types/components/simple-dropdown/simple-dropdown.d.ts +1 -1
  561. package/dist/types/components/skeleton/skeleton.d.ts +1 -1
  562. package/dist/types/components/slider/constants.d.ts +3 -0
  563. package/dist/types/components/slider/index.d.ts +1 -0
  564. package/dist/types/components/slider/slider-context.d.ts +1 -1
  565. package/dist/types/components/slider/slider-mark.d.ts +1 -1
  566. package/dist/types/components/slider/slider-track.d.ts +1 -1
  567. package/dist/types/components/slider/slider-utils.d.ts +28 -3
  568. package/dist/types/components/spinner/spinner.d.ts +2 -2
  569. package/dist/types/components/spinner-loader/spinner-loader.d.ts +1 -1
  570. package/dist/types/components/status-elements/status-elements.d.ts +2 -2
  571. package/dist/types/components/tab-control/tab-control.d.ts +2 -14
  572. package/dist/types/components/table/grid-loading-line.d.ts +1 -1
  573. package/dist/types/components/table/grid-table.d.ts +5 -7
  574. package/dist/types/components/table/index.d.ts +0 -2
  575. package/dist/types/components/table/table-sm.d.ts +2 -2
  576. package/dist/types/components/table/table.d.ts +1 -46
  577. package/dist/types/components/theme-provider.d.ts +1 -14
  578. package/dist/types/components/tip-card/index.d.ts +1 -1
  579. package/dist/types/components/tip-card/tip-card.d.ts +1 -1
  580. package/dist/types/components/token-icon/index.d.ts +1 -1
  581. package/dist/types/components/token-icon/token-icon.d.ts +1 -16
  582. package/dist/types/components/token-symbol/token-symbol.d.ts +1 -1
  583. package/dist/types/components/token-template/index.d.ts +1 -1
  584. package/dist/types/components/token-template/token-template.d.ts +3 -3
  585. package/dist/types/components/tooltip/simple-tooltip.d.ts +1 -1
  586. package/dist/types/components/trading-view/trading-view.d.ts +18 -7
  587. package/dist/types/components/truncated-text/index.d.ts +1 -0
  588. package/dist/types/components/truncated-text/truncated-text.d.ts +13 -0
  589. package/dist/types/components/typed-intl/index.d.ts +1 -1
  590. package/dist/types/components/typography/typography.d.ts +3 -3
  591. package/dist/types/components/vertical-indicator/vertical-indicator.d.ts +3 -3
  592. package/dist/types/components/yield-breakdown-tooltip/yield-breakdown-tooltip.d.ts +27 -5
  593. package/dist/types/configs/index.d.ts +0 -2
  594. package/dist/types/hooks/index.d.ts +0 -5
  595. package/dist/types/hooks/use-filter.d.ts +1 -38
  596. package/dist/types/hooks/use-media-query.d.ts +0 -8
  597. package/dist/types/index.d.ts +6 -14
  598. package/dist/types/locale/en.json.d.ts +58 -43
  599. package/dist/types/types/index.d.ts +0 -2
  600. package/dist/types/utils/colors.d.ts +0 -6
  601. package/dist/types/utils/format-money.d.ts +0 -1
  602. package/dist/types/utils/format-number.d.ts +2 -5
  603. package/dist/types/utils/format.d.ts +8 -4
  604. package/dist/types/utils/index.d.ts +3 -12
  605. package/dist/types/utils/loading.d.ts +0 -1
  606. package/dist/types/utils/math.d.ts +0 -3
  607. package/dist/types/utils/network-icons.d.ts +1 -1
  608. package/dist/types/utils/ranges.d.ts +0 -23
  609. package/dist/types/utils/ranges.spec.d.ts +0 -1
  610. package/dist/types/utils/templates.d.ts +0 -77
  611. package/dist/types/utils/token-icon-source.d.ts +25 -1
  612. package/dist/types/utils/ttl.d.ts +0 -37
  613. package/package.json +26 -36
  614. package/dist/cjs/components/base/info-portal/index.cjs +0 -1
  615. package/dist/cjs/components/base/info-portal/info-portal.cjs +0 -1
  616. package/dist/cjs/components/base/side-card/constants.cjs +0 -1
  617. package/dist/cjs/components/base/side-card/index.cjs +0 -1
  618. package/dist/cjs/components/base/side-card/side-card.cjs +0 -1
  619. package/dist/cjs/components/base/sticky-bar/constants.cjs +0 -1
  620. package/dist/cjs/components/base/sticky-bar/index.cjs +0 -1
  621. package/dist/cjs/components/base/sticky-bar/sticky-bar.cjs +0 -1
  622. package/dist/cjs/components/base/token-pair-title/constants.cjs +0 -1
  623. package/dist/cjs/components/base/token-pair-title/index.cjs +0 -1
  624. package/dist/cjs/components/base/token-pair-title/token-pair-title.cjs +0 -1
  625. package/dist/cjs/components/base/values/points-value.cjs +0 -1
  626. package/dist/cjs/components/block-sync-pill/block-sync-pill.cjs +0 -1
  627. package/dist/cjs/components/block-sync-pill/block-sync-status.cjs +0 -1
  628. package/dist/cjs/components/block-sync-pill/index.cjs +0 -1
  629. package/dist/cjs/components/buttons/filter-button/filter-button.cjs +0 -1
  630. package/dist/cjs/components/buttons/filter-button/index.cjs +0 -1
  631. package/dist/cjs/components/buttons/navigation-button/index.cjs +0 -1
  632. package/dist/cjs/components/buttons/navigation-button/navigation-button.cjs +0 -1
  633. package/dist/cjs/components/cards/expandable-call/expandable-call.cjs +0 -1
  634. package/dist/cjs/components/cards/expandable-call/index.cjs +0 -1
  635. package/dist/cjs/components/checkbox-item/checkbox-item.cjs +0 -1
  636. package/dist/cjs/components/checkbox-item/index.cjs +0 -1
  637. package/dist/cjs/components/client-adapters/styled-rounded-image/index.cjs +0 -1
  638. package/dist/cjs/components/client-adapters/styled-rounded-image/styled-rounded-image.cjs +0 -1
  639. package/dist/cjs/components/detailed-apy/detailed-apy.cjs +0 -1
  640. package/dist/cjs/components/detailed-apy/index.cjs +0 -1
  641. package/dist/cjs/components/detailed-page-title/detailed-page-title-copy-button.cjs +0 -1
  642. package/dist/cjs/components/dropdown-menu/dropdown-menu-checkbox-item.cjs +0 -1
  643. package/dist/cjs/components/dropdown-menu/dropdown-menu-radio-item.cjs +0 -1
  644. package/dist/cjs/components/dropdown-menu/dropdown-menu-separator.cjs +0 -1
  645. package/dist/cjs/components/dropdown-menu/dropdown-menu-shortcut.cjs +0 -1
  646. package/dist/cjs/components/dropdown-menu/dropdown-menu-sub-content.cjs +0 -1
  647. package/dist/cjs/components/dropdown-menu/dropdown-menu-sub-trigger.cjs +0 -1
  648. package/dist/cjs/components/error-message/error-message.cjs +0 -1
  649. package/dist/cjs/components/filter/filter-block.cjs +0 -1
  650. package/dist/cjs/components/filter/filter-checkbox-item.cjs +0 -1
  651. package/dist/cjs/components/filter/filter-chip.cjs +0 -1
  652. package/dist/cjs/components/filter/filter-chips.cjs +0 -1
  653. package/dist/cjs/components/filter/filter-dropdown-item.cjs +0 -1
  654. package/dist/cjs/components/filter/filter-group.cjs +0 -1
  655. package/dist/cjs/components/filter/filter-label.cjs +0 -1
  656. package/dist/cjs/components/filter/filter-modal-item.cjs +0 -1
  657. package/dist/cjs/components/filter/filter-modal.cjs +0 -1
  658. package/dist/cjs/components/filter/filter-radio-item.cjs +0 -1
  659. package/dist/cjs/components/filter/filter-separator.cjs +0 -1
  660. package/dist/cjs/components/filter/index.cjs +0 -1
  661. package/dist/cjs/components/filter/interface.cjs +0 -1
  662. package/dist/cjs/components/filter/variants.cjs +0 -1
  663. package/dist/cjs/components/loading-bar/index.cjs +0 -1
  664. package/dist/cjs/components/loading-bar/loading-bar.cjs +0 -1
  665. package/dist/cjs/components/network-icon/network-indicator.cjs +0 -1
  666. package/dist/cjs/components/status-dot/index.cjs +0 -1
  667. package/dist/cjs/components/status-dot/status-dot.cjs +0 -1
  668. package/dist/cjs/components/table/table-loader-guard.cjs +0 -1
  669. package/dist/cjs/components/table/table-loader.cjs +0 -1
  670. package/dist/cjs/components/with-title/index.cjs +0 -1
  671. package/dist/cjs/components/with-title/with-title.cjs +0 -1
  672. package/dist/cjs/configs/design-tokens.cjs +0 -1
  673. package/dist/cjs/configs/variants.cjs +0 -1
  674. package/dist/cjs/hooks/use-checkbox-select.cjs +0 -1
  675. package/dist/cjs/hooks/use-controllable-state.cjs +0 -1
  676. package/dist/cjs/hooks/use-hf.cjs +0 -1
  677. package/dist/cjs/hooks/use-opened-state.cjs +0 -1
  678. package/dist/cjs/hooks/use-smart-number-input.cjs +0 -1
  679. package/dist/cjs/node_modules/.pnpm/tailwind-scrollbar@4.0.2_react@19.2.0_tailwindcss@4.1.17/node_modules/tailwind-scrollbar/src/index.cjs +0 -1
  680. package/dist/cjs/node_modules/.pnpm/tailwind-scrollbar@4.0.2_react@19.2.0_tailwindcss@4.1.17/node_modules/tailwind-scrollbar/src/utilities.cjs +0 -1
  681. package/dist/cjs/node_modules/.pnpm/tailwindcss@4.1.17/node_modules/tailwindcss/dist/flatten-color-palette.cjs +0 -3
  682. package/dist/cjs/types/filter.cjs +0 -1
  683. package/dist/cjs/types/footer.cjs +0 -1
  684. package/dist/cjs/utils/a11y.cjs +0 -1
  685. package/dist/cjs/utils/copy.cjs +0 -1
  686. package/dist/cjs/utils/interface.cjs +0 -1
  687. package/dist/cjs/utils/plural.cjs +0 -1
  688. package/dist/cjs/utils/react.cjs +0 -1
  689. package/dist/cjs/utils/search-in-token.cjs +0 -1
  690. package/dist/cjs/utils/search.cjs +0 -1
  691. package/dist/cjs/utils/short-sha.cjs +0 -1
  692. package/dist/cjs/utils/sort.cjs +0 -1
  693. package/dist/esm/components/base/info-portal/index.js +0 -5
  694. package/dist/esm/components/base/info-portal/info-portal.js +0 -20
  695. package/dist/esm/components/base/side-card/constants.js +0 -8
  696. package/dist/esm/components/base/side-card/index.js +0 -6
  697. package/dist/esm/components/base/side-card/side-card.js +0 -57
  698. package/dist/esm/components/base/sticky-bar/constants.js +0 -6
  699. package/dist/esm/components/base/sticky-bar/index.js +0 -6
  700. package/dist/esm/components/base/sticky-bar/sticky-bar.js +0 -31
  701. package/dist/esm/components/base/token-pair-title/constants.js +0 -6
  702. package/dist/esm/components/base/token-pair-title/index.js +0 -6
  703. package/dist/esm/components/base/token-pair-title/token-pair-title.js +0 -20
  704. package/dist/esm/components/base/values/points-value.js +0 -30
  705. package/dist/esm/components/block-sync-pill/block-sync-pill.js +0 -210
  706. package/dist/esm/components/block-sync-pill/block-sync-status.js +0 -12
  707. package/dist/esm/components/block-sync-pill/index.js +0 -4
  708. package/dist/esm/components/buttons/filter-button/filter-button.js +0 -32
  709. package/dist/esm/components/buttons/filter-button/index.js +0 -4
  710. package/dist/esm/components/buttons/navigation-button/index.js +0 -4
  711. package/dist/esm/components/buttons/navigation-button/navigation-button.js +0 -28
  712. package/dist/esm/components/cards/expandable-call/expandable-call.js +0 -51
  713. package/dist/esm/components/cards/expandable-call/index.js +0 -4
  714. package/dist/esm/components/checkbox-item/checkbox-item.js +0 -52
  715. package/dist/esm/components/checkbox-item/index.js +0 -4
  716. package/dist/esm/components/client-adapters/styled-rounded-image/index.js +0 -4
  717. package/dist/esm/components/client-adapters/styled-rounded-image/styled-rounded-image.js +0 -149
  718. package/dist/esm/components/detailed-apy/detailed-apy.js +0 -74
  719. package/dist/esm/components/detailed-apy/index.js +0 -5
  720. package/dist/esm/components/dropdown-menu/dropdown-menu-checkbox-item.js +0 -35
  721. package/dist/esm/components/dropdown-menu/dropdown-menu-radio-item.js +0 -30
  722. package/dist/esm/components/dropdown-menu/dropdown-menu-separator.js +0 -21
  723. package/dist/esm/components/dropdown-menu/dropdown-menu-shortcut.js +0 -22
  724. package/dist/esm/components/dropdown-menu/dropdown-menu-sub-content.js +0 -25
  725. package/dist/esm/components/dropdown-menu/dropdown-menu-sub-trigger.js +0 -30
  726. package/dist/esm/components/error-message/error-message.js +0 -39
  727. package/dist/esm/components/filter/filter-block.js +0 -26
  728. package/dist/esm/components/filter/filter-checkbox-item.js +0 -31
  729. package/dist/esm/components/filter/filter-chip.js +0 -44
  730. package/dist/esm/components/filter/filter-chips.js +0 -50
  731. package/dist/esm/components/filter/filter-dropdown-item.js +0 -55
  732. package/dist/esm/components/filter/filter-group.js +0 -14
  733. package/dist/esm/components/filter/filter-label.js +0 -25
  734. package/dist/esm/components/filter/filter-modal-item.js +0 -61
  735. package/dist/esm/components/filter/filter-modal.js +0 -218
  736. package/dist/esm/components/filter/filter-radio-item.js +0 -30
  737. package/dist/esm/components/filter/filter-separator.js +0 -21
  738. package/dist/esm/components/filter/index.js +0 -26
  739. package/dist/esm/components/filter/interface.js +0 -1
  740. package/dist/esm/components/filter/variants.js +0 -17
  741. package/dist/esm/components/loading-bar/index.js +0 -4
  742. package/dist/esm/components/loading-bar/loading-bar.js +0 -29
  743. package/dist/esm/components/network-icon/network-indicator.js +0 -82
  744. package/dist/esm/components/status-dot/index.js +0 -5
  745. package/dist/esm/components/status-dot/status-dot.js +0 -51
  746. package/dist/esm/components/table/table-loader-guard.js +0 -31
  747. package/dist/esm/components/table/table-loader.js +0 -25
  748. package/dist/esm/components/with-title/index.js +0 -4
  749. package/dist/esm/components/with-title/with-title.js +0 -46
  750. package/dist/esm/configs/design-tokens.js +0 -85
  751. package/dist/esm/configs/variants.js +0 -28
  752. package/dist/esm/hooks/use-checkbox-select.js +0 -74
  753. package/dist/esm/hooks/use-controllable-state.js +0 -18
  754. package/dist/esm/hooks/use-hf.js +0 -43
  755. package/dist/esm/hooks/use-opened-state.js +0 -20
  756. package/dist/esm/hooks/use-smart-number-input.js +0 -10
  757. package/dist/esm/node_modules/.pnpm/tailwindcss@4.1.17/node_modules/tailwindcss/dist/flatten-color-palette.js +0 -363
  758. package/dist/esm/types/filter.js +0 -1
  759. package/dist/esm/types/footer.js +0 -1
  760. package/dist/esm/utils/a11y.js +0 -12
  761. package/dist/esm/utils/copy.js +0 -10
  762. package/dist/esm/utils/interface.js +0 -1
  763. package/dist/esm/utils/plural.js +0 -11
  764. package/dist/esm/utils/react.js +0 -44
  765. package/dist/esm/utils/search-in-token.js +0 -14
  766. package/dist/esm/utils/search.js +0 -6
  767. package/dist/esm/utils/short-sha.js +0 -4
  768. package/dist/esm/utils/sort.js +0 -1
  769. package/dist/types/components/base/info-portal/index.d.ts +0 -1
  770. package/dist/types/components/base/info-portal/info-portal.d.ts +0 -8
  771. package/dist/types/components/base/side-card/constants.d.ts +0 -5
  772. package/dist/types/components/base/side-card/index.d.ts +0 -2
  773. package/dist/types/components/base/side-card/side-card.d.ts +0 -16
  774. package/dist/types/components/base/sticky-bar/constants.d.ts +0 -3
  775. package/dist/types/components/base/sticky-bar/index.d.ts +0 -1
  776. package/dist/types/components/base/sticky-bar/sticky-bar.d.ts +0 -9
  777. package/dist/types/components/base/token-pair-title/constants.d.ts +0 -3
  778. package/dist/types/components/base/token-pair-title/index.d.ts +0 -2
  779. package/dist/types/components/base/token-pair-title/token-pair-title.d.ts +0 -11
  780. package/dist/types/components/base/values/points-value.d.ts +0 -11
  781. package/dist/types/components/block-sync-pill/block-sync-pill.d.ts +0 -35
  782. package/dist/types/components/block-sync-pill/block-sync-status.d.ts +0 -29
  783. package/dist/types/components/block-sync-pill/index.d.ts +0 -1
  784. package/dist/types/components/buttons/filter-button/filter-button.d.ts +0 -52
  785. package/dist/types/components/buttons/filter-button/index.d.ts +0 -1
  786. package/dist/types/components/buttons/navigation-button/index.d.ts +0 -1
  787. package/dist/types/components/buttons/navigation-button/navigation-button.d.ts +0 -26
  788. package/dist/types/components/cards/expandable-call/expandable-call.d.ts +0 -28
  789. package/dist/types/components/cards/expandable-call/index.d.ts +0 -1
  790. package/dist/types/components/checkbox-item/checkbox-item.d.ts +0 -56
  791. package/dist/types/components/checkbox-item/index.d.ts +0 -1
  792. package/dist/types/components/client-adapters/styled-rounded-image/index.d.ts +0 -1
  793. package/dist/types/components/client-adapters/styled-rounded-image/styled-rounded-image.d.ts +0 -9
  794. package/dist/types/components/detailed-apy/detailed-apy.d.ts +0 -40
  795. package/dist/types/components/detailed-apy/index.d.ts +0 -1
  796. package/dist/types/components/dropdown-menu/dropdown-menu-checkbox-item.d.ts +0 -22
  797. package/dist/types/components/dropdown-menu/dropdown-menu-radio-item.d.ts +0 -4
  798. package/dist/types/components/dropdown-menu/dropdown-menu-separator.d.ts +0 -4
  799. package/dist/types/components/dropdown-menu/dropdown-menu-shortcut.d.ts +0 -6
  800. package/dist/types/components/dropdown-menu/dropdown-menu-sub-content.d.ts +0 -4
  801. package/dist/types/components/dropdown-menu/dropdown-menu-sub-trigger.d.ts +0 -6
  802. package/dist/types/components/error-message/error-message.d.ts +0 -22
  803. package/dist/types/components/filter/filter-block.d.ts +0 -39
  804. package/dist/types/components/filter/filter-checkbox-item.d.ts +0 -23
  805. package/dist/types/components/filter/filter-chip.d.ts +0 -34
  806. package/dist/types/components/filter/filter-chips.d.ts +0 -42
  807. package/dist/types/components/filter/filter-dropdown-item.d.ts +0 -62
  808. package/dist/types/components/filter/filter-group.d.ts +0 -22
  809. package/dist/types/components/filter/filter-label.d.ts +0 -21
  810. package/dist/types/components/filter/filter-modal-item.d.ts +0 -55
  811. package/dist/types/components/filter/filter-modal.d.ts +0 -123
  812. package/dist/types/components/filter/filter-radio-item.d.ts +0 -19
  813. package/dist/types/components/filter/filter-separator.d.ts +0 -22
  814. package/dist/types/components/filter/index.d.ts +0 -109
  815. package/dist/types/components/filter/interface.d.ts +0 -24
  816. package/dist/types/components/filter/variants.d.ts +0 -3
  817. package/dist/types/components/loading-bar/index.d.ts +0 -1
  818. package/dist/types/components/loading-bar/loading-bar.d.ts +0 -25
  819. package/dist/types/components/network-icon/network-indicator.d.ts +0 -23
  820. package/dist/types/components/status-dot/index.d.ts +0 -1
  821. package/dist/types/components/status-dot/status-dot.d.ts +0 -47
  822. package/dist/types/components/table/table-loader-guard.d.ts +0 -45
  823. package/dist/types/components/table/table-loader.d.ts +0 -50
  824. package/dist/types/components/with-title/index.d.ts +0 -1
  825. package/dist/types/components/with-title/with-title.d.ts +0 -31
  826. package/dist/types/configs/design-tokens.d.ts +0 -73
  827. package/dist/types/configs/variants.d.ts +0 -28
  828. package/dist/types/hooks/use-checkbox-select.d.ts +0 -101
  829. package/dist/types/hooks/use-controllable-state.d.ts +0 -24
  830. package/dist/types/hooks/use-hf.d.ts +0 -17
  831. package/dist/types/hooks/use-opened-state.d.ts +0 -71
  832. package/dist/types/hooks/use-smart-number-input.d.ts +0 -1
  833. package/dist/types/types/filter.d.ts +0 -8
  834. package/dist/types/types/footer.d.ts +0 -51
  835. package/dist/types/utils/a11y.d.ts +0 -24
  836. package/dist/types/utils/copy.d.ts +0 -4
  837. package/dist/types/utils/interface.d.ts +0 -24
  838. package/dist/types/utils/plural.d.ts +0 -36
  839. package/dist/types/utils/react.d.ts +0 -31
  840. package/dist/types/utils/search-in-token.d.ts +0 -43
  841. package/dist/types/utils/search.d.ts +0 -15
  842. package/dist/types/utils/short-sha.d.ts +0 -9
  843. package/dist/types/utils/sort.d.ts +0 -5
  844. /package/dist/cjs/node_modules/.pnpm/{tailwind-scrollbar@4.0.2_react@19.2.0_tailwindcss@4.1.17 → tailwind-scrollbar@4.0.2_react@19.2.8_tailwindcss@4.3.3}/node_modules/tailwind-scrollbar/src/helpers.cjs +0 -0
  845. /package/dist/cjs/node_modules/.pnpm/{tailwind-scrollbar@4.0.2_react@19.2.0_tailwindcss@4.1.17 → tailwind-scrollbar@4.0.2_react@19.2.8_tailwindcss@4.3.3}/node_modules/tailwind-scrollbar/src/variants.cjs +0 -0
  846. /package/dist/cjs/node_modules/.pnpm/{tailwindcss@4.1.17 → tailwindcss@4.3.3}/node_modules/tailwindcss/dist/plugin.cjs +0 -0
  847. /package/dist/esm/node_modules/.pnpm/{tailwind-scrollbar@4.0.2_react@19.2.0_tailwindcss@4.1.17 → tailwind-scrollbar@4.0.2_react@19.2.8_tailwindcss@4.3.3}/node_modules/tailwind-scrollbar/src/helpers.js +0 -0
  848. /package/dist/esm/node_modules/.pnpm/{tailwind-scrollbar@4.0.2_react@19.2.0_tailwindcss@4.1.17 → tailwind-scrollbar@4.0.2_react@19.2.8_tailwindcss@4.3.3}/node_modules/tailwind-scrollbar/src/variants.js +0 -0
  849. /package/dist/esm/node_modules/.pnpm/{tailwindcss@4.1.17 → tailwindcss@4.3.3}/node_modules/tailwindcss/dist/plugin.js +0 -0
  850. /package/dist/types/components/{detailed-page-title/detailed-page-title-copy-button.d.ts → base/detailed-page-title/copy-button.d.ts} +0 -0
@@ -1,99 +1,125 @@
1
- import { jsxs as ie, jsx as _ } from "react/jsx-runtime";
2
- import { createChart as it, CrosshairMode as st, LineStyle as re, LineSeries as ct, AreaSeries as ut } from "lightweight-charts";
3
- import * as Ce from "react";
4
- import { useRef as X, useState as te, useEffect as W, useLayoutEffect as ft } from "react";
5
- import { useIsMobile as ht } from "../../hooks/use-media-query.js";
1
+ import { jsxs as U, jsx as w } from "react/jsx-runtime";
2
+ import { createChart as ht, CrosshairMode as gt, LineStyle as ie, LineSeries as pt, AreaSeries as dt } from "lightweight-charts";
3
+ import * as we from "react";
4
+ import { useRef as K, useState as oe, useEffect as G, useLayoutEffect as mt } from "react";
5
+ import { useIsMobile as bt } from "../../hooks/use-media-query.js";
6
6
  import { cn as O } from "../../utils/cn.js";
7
- import { resolveCSSColor as oe, generateColorsFromBase as ce, hslToHex as mt } from "../../utils/colors.js";
8
- import { getDefaultOptions as Ze, getDefaultSeries as dt, getDefaultVerticalLine as pt } from "./default-config.js";
9
- import { getXFormatters as qe, formatExactValue as ye, createAdaptiveYAxisFormatter as gt } from "./formatters.js";
10
- import { GraphCurrentValue as bt } from "./graph-current-value.js";
11
- import { GraphTooltip as vt } from "./graph-tooltip.js";
12
- import { VertLine as St } from "./plugins/vertical-line.js";
13
- class Ct {
7
+ import { hslToHex as St, generateColorsFromBase as de, resolveCSSColor as re } from "../../utils/colors.js";
8
+ import { AXIS_TIME_EDGE_PADDING_PX as vt, getDefaultOptions as Ze, getDefaultSeries as Ct, AXIS_TICK_MARK_DENSITY as pe, getDefaultVerticalLine as yt, AXIS_FONT_SIZE as xt, AXIS_EDGE_LABEL_PADDING_PX as qe, AXIS_TOP_LABEL_PADDING_PX as Oe } from "./default-config.js";
9
+ import { formatExactValue as Pe, isRatioUnit as _t, getXFormatters as Je, createAdaptiveYAxisFormatter as wt } from "./formatters.js";
10
+ import { GraphCurrentValue as Pt } from "./graph-current-value.js";
11
+ import { GraphTooltip as Tt } from "./graph-tooltip.js";
12
+ import { VertLine as Rt } from "./plugins/vertical-line.js";
13
+ import { pickMinMove as Nt, niceAxisRange as Vt } from "./y-axis-scale.js";
14
+ function ne(e) {
15
+ return e.id ?? e.label;
16
+ }
17
+ function kt({
18
+ lastIndex: e,
19
+ width: i,
20
+ padLeft: c,
21
+ padRight: f,
22
+ paddingPx: h = vt
23
+ }) {
24
+ if (e < 0) return null;
25
+ const u = (c || f) && i > 0 ? h * Math.max(e, 1) / i : 0;
26
+ return {
27
+ from: c && u !== 0 ? -u : 0,
28
+ to: f ? e + u : e
29
+ };
30
+ }
31
+ function Qe(e, i, c) {
32
+ if (!c)
33
+ return e.values().next().value;
34
+ const f = e.get(c);
35
+ if (f) return f;
36
+ const h = i.find((u) => u.id === c || u.label === c);
37
+ return h ? e.get(ne(h)) : void 0;
38
+ }
39
+ class Lt {
14
40
  _yTop;
15
41
  _yBottom;
16
42
  _color;
17
- constructor(a, u, m) {
18
- this._yTop = a, this._yBottom = u, this._color = m;
43
+ constructor(i, c, f) {
44
+ this._yTop = i, this._yBottom = c, this._color = f;
19
45
  }
20
- draw(a) {
21
- a.useBitmapCoordinateSpace((u) => {
22
- const m = u.context, c = u.verticalPixelRatio, b = this._yTop === null ? 0 : this._yTop * c, v = this._yBottom === null ? u.bitmapSize.height : this._yBottom * c, w = Math.min(b, v), R = Math.max(b, v);
23
- m.fillStyle = this._color, m.fillRect(0, w, u.bitmapSize.width, R - w);
46
+ draw(i) {
47
+ i.useBitmapCoordinateSpace((c) => {
48
+ const f = c.context, h = c.verticalPixelRatio, u = this._yTop === null ? 0 : this._yTop * h, S = this._yBottom === null ? c.bitmapSize.height : this._yBottom * h, P = Math.min(u, S), D = Math.max(u, S);
49
+ f.fillStyle = this._color, f.fillRect(0, P, c.bitmapSize.width, D - P);
24
50
  });
25
51
  }
26
52
  }
27
- class yt {
53
+ class Mt {
28
54
  _source;
29
55
  _yTop = null;
30
56
  _yBottom = null;
31
- constructor(a) {
32
- this._source = a;
57
+ constructor(i) {
58
+ this._source = i;
33
59
  }
34
60
  update() {
35
- const a = this._source.series;
36
- this._yTop = this._source.priceTop === void 0 ? null : a.priceToCoordinate(this._source.priceTop), this._yBottom = this._source.priceBottom === void 0 ? null : a.priceToCoordinate(this._source.priceBottom);
61
+ const i = this._source.series;
62
+ this._yTop = this._source.priceTop === void 0 ? null : i.priceToCoordinate(this._source.priceTop), this._yBottom = this._source.priceBottom === void 0 ? null : i.priceToCoordinate(this._source.priceBottom);
37
63
  }
38
64
  /** Draw beneath the series line/area so the data stays readable. */
39
65
  zOrder() {
40
66
  return "bottom";
41
67
  }
42
68
  renderer() {
43
- return new Ct(this._yTop, this._yBottom, this._source.color);
69
+ return new Lt(this._yTop, this._yBottom, this._source.color);
44
70
  }
45
71
  }
46
- class xt {
72
+ class Dt {
47
73
  series;
48
74
  priceTop;
49
75
  priceBottom;
50
76
  color;
51
77
  _paneViews;
52
- constructor(a, u, m, c) {
53
- this.series = a, this.priceTop = u, this.priceBottom = m, this.color = c, this._paneViews = [new yt(this)];
78
+ constructor(i, c, f, h) {
79
+ this.series = i, this.priceTop = c, this.priceBottom = f, this.color = h, this._paneViews = [new Mt(this)];
54
80
  }
55
81
  updateAllViews() {
56
- for (const a of this._paneViews) a.update();
82
+ for (const i of this._paneViews) i.update();
57
83
  }
58
84
  paneViews() {
59
85
  return this._paneViews;
60
86
  }
61
87
  }
62
- function wt(t, a) {
63
- switch (t) {
64
- case re.Dotted:
65
- return [a, a];
66
- case re.Dashed:
67
- return [2 * a, 2 * a];
68
- case re.LargeDashed:
69
- return [6 * a, 6 * a];
70
- case re.SparseDotted:
71
- return [a, 4 * a];
88
+ function It(e, i) {
89
+ switch (e) {
90
+ case ie.Dotted:
91
+ return [i, i];
92
+ case ie.Dashed:
93
+ return [2 * i, 2 * i];
94
+ case ie.LargeDashed:
95
+ return [6 * i, 6 * i];
96
+ case ie.SparseDotted:
97
+ return [i, 4 * i];
72
98
  default:
73
99
  return [];
74
100
  }
75
101
  }
76
- class _t {
102
+ class Et {
77
103
  _y;
78
104
  _color;
79
105
  _lineWidth;
80
106
  _lineStyle;
81
- constructor(a, u, m, c) {
82
- this._y = a, this._color = u, this._lineWidth = m, this._lineStyle = c;
107
+ constructor(i, c, f, h) {
108
+ this._y = i, this._color = c, this._lineWidth = f, this._lineStyle = h;
83
109
  }
84
- draw(a) {
85
- a.useBitmapCoordinateSpace((u) => {
110
+ draw(i) {
111
+ i.useBitmapCoordinateSpace((c) => {
86
112
  if (this._y === null) return;
87
- const m = u.context, c = u.verticalPixelRatio, b = Math.max(1, Math.round(this._lineWidth * c)), v = Math.round(this._y * c);
88
- m.save(), m.strokeStyle = this._color, m.lineWidth = b, m.setLineDash(wt(this._lineStyle, b)), m.beginPath(), m.moveTo(0, v), m.lineTo(u.bitmapSize.width, v), m.stroke(), m.restore();
113
+ const f = c.context, h = c.verticalPixelRatio, u = Math.max(1, Math.round(this._lineWidth * h)), S = Math.round(this._y * h);
114
+ f.save(), f.strokeStyle = this._color, f.lineWidth = u, f.setLineDash(It(this._lineStyle, u)), f.beginPath(), f.moveTo(0, S), f.lineTo(c.bitmapSize.width, S), f.stroke(), f.restore();
89
115
  });
90
116
  }
91
117
  }
92
- class Nt {
118
+ class Bt {
93
119
  _source;
94
120
  _y = null;
95
- constructor(a) {
96
- this._source = a;
121
+ constructor(i) {
122
+ this._source = i;
97
123
  }
98
124
  update() {
99
125
  this._y = this._source.series.priceToCoordinate(this._source.price);
@@ -108,7 +134,7 @@ class Nt {
108
134
  return "top";
109
135
  }
110
136
  renderer() {
111
- return new _t(
137
+ return new Et(
112
138
  this._y,
113
139
  this._source.color,
114
140
  this._source.lineWidth,
@@ -116,46 +142,46 @@ class Nt {
116
142
  );
117
143
  }
118
144
  }
119
- class Pt {
145
+ class Ft {
120
146
  series;
121
147
  price;
122
148
  color;
123
149
  lineWidth;
124
150
  lineStyle;
125
151
  _paneViews;
126
- constructor(a, u, m, c, b) {
127
- this.series = a, this.price = u, this.color = m, this.lineWidth = c, this.lineStyle = b, this._paneViews = [new Nt(this)];
152
+ constructor(i, c, f, h, u) {
153
+ this.series = i, this.price = c, this.color = f, this.lineWidth = h, this.lineStyle = u, this._paneViews = [new Bt(this)];
128
154
  }
129
155
  updateAllViews() {
130
- for (const a of this._paneViews) a.update();
156
+ for (const i of this._paneViews) i.update();
131
157
  }
132
158
  paneViews() {
133
159
  return this._paneViews;
134
160
  }
135
161
  }
136
- function Tt(t, a, u) {
137
- const m = t.labelText ?? "", c = t.value, b = c === void 0 ? "" : typeof c == "number" ? a === "$" ? `$${ye(c, void 0, u)}` : a === "%" ? `${ye(c, void 0, u)}%` : ye(
138
- c,
139
- a !== "none" && a !== "%" && a !== "$" ? a : void 0,
140
- u
141
- ) : String(c);
142
- return { labelText: m, valueStr: b };
162
+ function zt(e, i, c) {
163
+ const f = e.labelText ?? "", h = e.value, u = h === void 0 ? "" : typeof h == "number" ? i === "$" ? `$${Pe(h, void 0, c)}` : i === "%" ? `${Pe(h, void 0, c)}%` : Pe(
164
+ h,
165
+ i !== "none" && i !== "%" && i !== "$" && !_t(i) ? i : void 0,
166
+ c
167
+ ) : String(h);
168
+ return { labelText: f, valueStr: u };
143
169
  }
144
- const Ke = 4;
145
- function Vt(t, a, u) {
146
- const m = { left: t, transform: "translateX(-50%)" };
147
- if (a <= 0 || !u || u <= 0)
148
- return m;
149
- const c = u / 2, b = Ke + c, v = a - Ke - c;
150
- return v < b ? { left: a / 2, transform: "translateX(-50%)" } : { left: Math.min(Math.max(t, b), v), transform: "translateX(-50%)" };
170
+ const Ye = 4;
171
+ function At(e, i, c) {
172
+ const f = { left: e, transform: "translateX(-50%)" };
173
+ if (i <= 0 || !c || c <= 0)
174
+ return f;
175
+ const h = c / 2, u = Ye + h, S = i - Ye - h;
176
+ return S < u ? { left: i / 2, transform: "translateX(-50%)" } : { left: Math.min(Math.max(e, u), S), transform: "translateX(-50%)" };
151
177
  }
152
- function Lt(t, a) {
153
- for (let u = t.length - 1; u >= 0; u--)
154
- if (Number(t[u].time) <= a)
155
- return t[u].value;
178
+ function Gt(e, i) {
179
+ for (let c = e.length - 1; c >= 0; c--)
180
+ if (Number(e[c].time) <= i)
181
+ return e[c].value;
156
182
  return 0;
157
183
  }
158
- const xe = [
184
+ const Te = [
159
185
  // 0 green (emerald)
160
186
  {
161
187
  line: "#02c39a",
@@ -270,95 +296,105 @@ const xe = [
270
296
  top: "rgba(71, 85, 105, 0.56)",
271
297
  bottom: "rgba(71, 85, 105, 0.04)"
272
298
  }
273
- ], Rt = 137.5;
274
- function Je(t) {
275
- if (t < xe.length)
276
- return xe[t];
277
- const u = (t - xe.length) * Rt % 360, m = mt(u, 70, 50), { topColor: c, bottomColor: b } = ce(m);
278
- return { line: m, top: c, bottom: b };
299
+ ], Wt = 137.5;
300
+ function Ue(e) {
301
+ if (e < Te.length)
302
+ return Te[e];
303
+ const c = (e - Te.length) * Wt % 360, f = St(c, 70, 50), { topColor: h, bottomColor: u } = de(f);
304
+ return { line: f, top: h, bottom: u };
279
305
  }
280
- function Xt({
281
- series: t,
282
- className: a,
283
- showLegend: u = !1,
284
- onUnselectSeries: m,
285
- xMeasureUnit: c = "time",
286
- yMeasureUnit: b = "token",
287
- optionsOverrides: v,
288
- verticalLineOptions: w,
289
- priceLineOptions: R,
290
- zoneOptions: A,
291
- currentValueDecimals: ue,
292
- useSharedPriceScale: j = !1,
293
- dualYAxis: D = !1,
294
- defaultVisiblePriceScaleId: we = "right",
295
- leftPriceScaleTitle: _e,
296
- rightPriceScaleTitle: kt,
297
- showCurrentValue: Qe = !0,
298
- graphTitle: fe,
299
- yScaleMin: Ne,
300
- yScaleMinMultiple: Pe,
301
- visibleTimeFrom: J,
302
- disableZoom: Te = !1,
303
- hideDefaultTooltip: he = !1
306
+ function ro({
307
+ series: e,
308
+ className: i,
309
+ showLegend: c = !1,
310
+ onUnselectSeries: f,
311
+ xMeasureUnit: h = "time",
312
+ yMeasureUnit: u = "token",
313
+ optionsOverrides: S,
314
+ verticalLineOptions: P,
315
+ priceLineOptions: D,
316
+ zoneOptions: z,
317
+ currentValueDecimals: le,
318
+ useSharedPriceScale: Z = !1,
319
+ dualYAxis: I = !1,
320
+ defaultVisiblePriceScaleId: Re = "right",
321
+ leftPriceScaleTitle: Ne,
322
+ rightPriceScaleTitle: $t,
323
+ showCurrentValue: et = !0,
324
+ graphTitle: me,
325
+ yScaleMin: Ve,
326
+ yScaleMinMultiple: ke,
327
+ visibleTimeFrom: ae,
328
+ disableZoom: Le = !1,
329
+ hideDefaultTooltip: be = !1
304
330
  }) {
305
- const B = X(null), C = X(/* @__PURE__ */ new Map()), me = X(!1), Ve = X(!0), Le = X([]), F = X(null), de = X(null), Re = X(null), V = ht(), Z = Ce.useMemo(() => t.flatMap((e) => e.data), [t]), Ye = Ce.useMemo(() => {
306
- if (t.length > 0) {
307
- const e = t[t.length - 1];
308
- if (e.data.length > 0)
309
- return e.data[e.data.length - 1];
331
+ const E = K(null), N = K(/* @__PURE__ */ new Map()), Se = K(!1), Me = K(!0), De = K([]), se = K(0), B = K(null), ve = K(null), Ie = K(null), T = bt(), ce = we.useMemo(() => e.flatMap((t) => t.data), [e]), tt = we.useMemo(() => {
332
+ if (e.length > 0) {
333
+ const t = e[e.length - 1];
334
+ if (t.data.length > 0)
335
+ return t.data[t.data.length - 1];
310
336
  }
311
- }, [t]), [Me, pe] = te(() => {
312
- if (!Ye) return;
313
- const e = /* @__PURE__ */ new Map();
314
- for (const i of t)
315
- i.data.length > 0 && e.set(i.label, i.data[i.data.length - 1]);
316
- return e;
317
- }), [ke, q] = te(null), [Ie, De] = te([]), [Oe, Be] = te(0), Fe = X(/* @__PURE__ */ new Map()), [Ue, et] = te({}), [Q, tt] = te(0);
318
- W(() => {
319
- const e = () => {
337
+ }, [e]), [Ee, Ce] = oe(() => {
338
+ if (!tt) return;
339
+ const t = /* @__PURE__ */ new Map();
340
+ for (const a of e)
341
+ a.data.length > 0 && t.set(a.label, a.data[a.data.length - 1]);
342
+ return t;
343
+ }), [Be, J] = oe(null), [Fe, ze] = oe([]), [ot, Ae] = oe(0), Ge = K(/* @__PURE__ */ new Map()), [rt, nt] = oe({}), [Q, it] = oe(0);
344
+ G(() => {
345
+ const t = () => {
320
346
  try {
321
- if (F.current && Be(F.current.clientWidth), B.current && F.current) {
322
- const s = F.current.clientWidth, l = F.current.clientHeight;
323
- B.current.resize(s, l);
347
+ if (B.current && Ae(B.current.clientWidth), E.current && B.current) {
348
+ const l = B.current.clientWidth, s = B.current.clientHeight;
349
+ E.current.resize(l, s);
350
+ try {
351
+ se.current = E.current.paneSize().height;
352
+ } catch {
353
+ }
324
354
  }
325
355
  } catch {
326
356
  }
327
- }, i = F.current, n = i ? new ResizeObserver(e) : null;
328
- return Re.current = n, i && n?.observe(i), () => {
329
- i && n?.unobserve(i), n?.disconnect(), Re.current = null;
357
+ }, a = B.current, r = a ? new ResizeObserver(t) : null;
358
+ return Ie.current = r, a && r?.observe(a), () => {
359
+ a && r?.unobserve(a), r?.disconnect(), Ie.current = null;
330
360
  };
331
- }, []), W(() => {
332
- if (!de.current || me.current) return;
333
- const e = Ze(), i = oe(
361
+ }, []), G(() => {
362
+ if (!ve.current || Se.current) return;
363
+ const t = Ze(), a = re(
334
364
  "hsl(var(--muted-foreground))",
335
365
  "rgb(163, 163, 163)"
336
- ), n = it(de.current, {
337
- ...e,
366
+ ), r = ht(ve.current, {
367
+ ...t,
338
368
  leftPriceScale: {
339
- ...e.leftPriceScale || {},
369
+ ...t.leftPriceScale || {},
340
370
  visible: !1,
341
- textColor: i
371
+ textColor: a
342
372
  },
343
373
  rightPriceScale: {
344
- ...e.rightPriceScale || {},
345
- visible: !V,
346
- textColor: i
374
+ ...t.rightPriceScale || {},
375
+ visible: !T,
376
+ textColor: a
347
377
  },
348
- ...V && {
378
+ ...T && {
349
379
  crosshair: {
350
- ...e.crosshair,
351
- mode: st.Magnet
380
+ ...t.crosshair,
381
+ mode: gt.Magnet
352
382
  }
353
383
  }
354
384
  });
355
- return B.current = n, me.current = !0, tt((s) => s + 1), () => {
356
- n.remove(), B.current = null, me.current = !1, C.current.clear();
385
+ E.current = r, Se.current = !0;
386
+ try {
387
+ se.current = r.paneSize().height;
388
+ } catch {
389
+ se.current = 0;
390
+ }
391
+ return it((l) => l + 1), () => {
392
+ r.remove(), E.current = null, Se.current = !1, N.current.clear();
357
393
  };
358
- }, [V]), W(() => {
359
- const e = B.current;
360
- e && e.applyOptions(
361
- Te ? {
394
+ }, [T]), G(() => {
395
+ const t = E.current;
396
+ t && t.applyOptions(
397
+ Le ? {
362
398
  handleScale: {
363
399
  mouseWheel: !1,
364
400
  pinch: !1,
@@ -386,613 +422,643 @@ function Xt({
386
422
  }
387
423
  }
388
424
  );
389
- }, [Q, Te]), W(() => {
390
- const e = B.current;
391
- !e || !v || e.applyOptions(v);
392
- }, [Q, v]), W(() => {
393
- const e = B.current;
394
- if (!e || t.length === 0) return;
395
- const n = t.filter((r) => r.data.length > 0).length <= 1 ? Ne : Pe, s = c === "time" ? qe(c, Z) : qe(c), l = /* @__PURE__ */ new Map();
425
+ }, [Q, Le]), G(() => {
426
+ const t = E.current;
427
+ !t || !S || t.applyOptions(S);
428
+ }, [Q, S]), G(() => {
429
+ const t = E.current;
430
+ if (!t || e.length === 0) return;
431
+ const r = e.filter((n) => n.data.length > 0).length <= 1 ? Ve : ke, l = h === "time" ? Je(h, ce) : Je(h), s = /* @__PURE__ */ new Map();
396
432
  {
397
- let r = 0;
398
- for (const o of t)
399
- o.data.length !== 0 && (l.set(
433
+ let n = 0;
434
+ for (const o of e)
435
+ o.data.length !== 0 && (s.set(
400
436
  o.label,
401
- o.priceScaleId ?? (r === 0 ? "left" : "right")
402
- ), r++);
437
+ o.priceScaleId ?? (n === 0 ? "left" : "right")
438
+ ), n++);
403
439
  }
404
- const f = (r, o, d) => {
405
- const {
406
- formatter: I,
407
- tickmarksFormatter: T,
408
- updateVisibleRange: G,
409
- updateLastValues: We
410
- } = gt(r, o, {
411
- yScaleMin: n
412
- }), be = t.filter((Y) => Y.data.length > 0 && d.has(Y.label)).map((Y) => Y.data[Y.data.length - 1].value);
413
- return We(be), { formatter: I, tickmarksFormatter: T, updateVisibleRange: G, labels: d };
414
- }, h = [];
415
- if (D)
416
- for (const r of ["left", "right"]) {
417
- const o = /* @__PURE__ */ new Set(), d = [];
418
- let I = b;
419
- for (const T of t)
420
- if (T.data.length !== 0 && l.get(T.label) === r) {
421
- o.size === 0 && T.yMeasureUnit && (I = T.yMeasureUnit), o.add(T.label);
422
- for (const G of T.data) d.push(G.value);
440
+ const p = (n, o, g) => {
441
+ const { formatter: L, tickmarksFormatter: k, updateVisibleRange: F } = wt(n, o, {
442
+ yScaleMin: r
443
+ });
444
+ return { formatter: L, tickmarksFormatter: k, updateVisibleRange: F, labels: g };
445
+ }, d = [];
446
+ if (I)
447
+ for (const n of ["left", "right"]) {
448
+ const o = /* @__PURE__ */ new Set(), g = [];
449
+ let L = u;
450
+ for (const k of e)
451
+ if (k.data.length !== 0 && s.get(k.label) === n) {
452
+ o.size === 0 && k.yMeasureUnit && (L = k.yMeasureUnit), o.add(k.label);
453
+ for (const F of k.data) g.push(F.value);
423
454
  }
424
- o.size > 0 && h.push(f(d, I, o));
455
+ o.size > 0 && d.push(p(g, L, o));
425
456
  }
426
457
  else {
427
- const r = Z.map((d) => d.value), o = new Set(
428
- t.filter((d) => d.data.length > 0).map((d) => d.label)
458
+ const n = ce.map((g) => g.value), o = new Set(
459
+ e.filter((g) => g.data.length > 0).map((g) => g.label)
429
460
  );
430
- h.push(f(r, b, o));
461
+ d.push(p(n, u, o));
431
462
  }
432
- Le.current = h;
463
+ De.current = d;
433
464
  const y = /* @__PURE__ */ new Map();
434
- for (const r of h)
435
- for (const o of r.labels)
436
- y.set(o, r);
437
- const S = Ze();
438
- e.applyOptions({
465
+ for (const n of d)
466
+ for (const o of n.labels)
467
+ y.set(o, n);
468
+ const x = Ze();
469
+ t.applyOptions({
439
470
  localization: {
440
- ...S.localization || {},
471
+ ...x.localization || {},
441
472
  // biome-ignore lint/suspicious/noExplicitAny: External library type compatibility
442
- timeFormatter: (r) => (
473
+ timeFormatter: (n) => (
443
474
  // biome-ignore lint/suspicious/noExplicitAny: External library type compatibility
444
- s.timeFormatter(parseFloat(r), void 0)
475
+ l.timeFormatter(parseFloat(n), void 0)
445
476
  )
446
477
  },
447
478
  timeScale: {
448
- ...S.timeScale || {},
449
- ...v?.timeScale,
479
+ ...x.timeScale || {},
480
+ ...S?.timeScale,
450
481
  // biome-ignore lint/suspicious/noExplicitAny: External library type compatibility
451
- tickMarkFormatter: s.tickMarkFormatter,
482
+ tickMarkFormatter: l.tickMarkFormatter,
452
483
  minBarSpacing: 0
453
484
  }
454
485
  });
455
- const L = (Z.length > 0 ? Math.min(...Z.map((r) => r.value)) : 0) < 0, N = Z.some((r) => r.value === 0), p = !L && N, x = !D && t.length > 1 && !j, M = D ? V : t.length > 1 && !j || V, k = oe(
486
+ const v = !I && e.length > 1 && !Z, W = I ? T : e.length > 1 && !Z || T, V = re(
456
487
  "hsl(var(--muted-foreground))",
457
488
  "rgb(163, 163, 163)"
458
489
  );
459
- e.applyOptions({
460
- ...D && {
461
- defaultVisiblePriceScaleId: we
490
+ t.applyOptions({
491
+ ...I && {
492
+ defaultVisiblePriceScaleId: Re
462
493
  },
463
494
  leftPriceScale: {
464
- ...S.leftPriceScale || {},
465
- ...v?.leftPriceScale,
466
- visible: D && !V,
467
- textColor: k,
468
- ...D && _e && {
495
+ ...x.leftPriceScale || {},
496
+ ...S?.leftPriceScale,
497
+ visible: I && !T,
498
+ textColor: V,
499
+ ...I && Ne && {
469
500
  // lightweight-charts uses scale margins; title shown via localization if needed
470
501
  }
471
502
  },
472
503
  rightPriceScale: {
473
- ...S.rightPriceScale || {},
474
- ...v?.rightPriceScale,
475
- visible: D ? !V : !M,
476
- textColor: k,
477
- ...p && !D && {
478
- scaleMargins: {
479
- top: 0.3,
480
- bottom: 0
481
- }
482
- }
504
+ ...x.rightPriceScale || {},
505
+ ...S?.rightPriceScale,
506
+ visible: I ? !T : !W,
507
+ textColor: V
483
508
  }
484
509
  });
485
- const P = new Set(C.current.keys()), K = new Set(t.map((r) => r.label));
486
- for (const r of P)
487
- if (!K.has(r)) {
488
- const o = C.current.get(r);
489
- o && (e.removeSeries(o), C.current.delete(r));
510
+ const Y = new Set(N.current.keys()), X = new Set(e.map(ne));
511
+ for (const n of Y)
512
+ if (!X.has(n)) {
513
+ const o = N.current.get(n);
514
+ o && (t.removeSeries(o), N.current.delete(n));
490
515
  }
491
- const U = dt(), ne = [];
492
- let le = 0;
493
- const ze = t.find((r) => r.data.length > 0), ae = /* @__PURE__ */ new Map();
494
- if (R && R.length > 0)
495
- for (const r of R) {
496
- if (!Number.isFinite(r.price)) continue;
497
- const o = r.seriesLabel ?? ze?.label;
516
+ const m = Ct(), M = [];
517
+ let R = 0;
518
+ const $ = e.find((n) => n.data.length > 0), C = /* @__PURE__ */ new Map();
519
+ if (D && D.length > 0)
520
+ for (const n of D) {
521
+ if (!Number.isFinite(n.price)) continue;
522
+ const o = n.seriesLabel ?? $?.label;
498
523
  if (!o) continue;
499
- const d = ae.get(o) ?? [];
500
- d.push(r.price), ae.set(o, d);
524
+ const g = C.get(o) ?? [];
525
+ g.push(n.price), C.set(o, g);
501
526
  }
502
- if (A && A.length > 0)
503
- for (const r of A) {
504
- const o = r.seriesLabel ?? ze?.label;
527
+ if (z && z.length > 0)
528
+ for (const n of z) {
529
+ const o = n.seriesLabel ?? $?.label;
505
530
  if (!o) continue;
506
- const d = ae.get(o) ?? [];
507
- Number.isFinite(r.priceTop) && d.push(r.priceTop), Number.isFinite(r.priceBottom) && d.push(r.priceBottom), ae.set(o, d);
531
+ const g = C.get(o) ?? [];
532
+ Number.isFinite(n.priceTop) && g.push(n.priceTop), Number.isFinite(n.priceBottom) && g.push(n.priceBottom), C.set(o, g);
508
533
  }
509
- for (let r = 0; r < t.length; r++) {
510
- const o = t[r], d = Je(r), I = o.lineColor ?? o.color ?? d.line;
511
- let T, G;
534
+ for (let n = 0; n < e.length; n++) {
535
+ const o = e[n], g = ne(o), L = Ue(n), k = o.lineColor ?? o.color ?? L.line;
536
+ let F, q;
512
537
  if (o.lineColor ?? o.color)
513
538
  if (o.topColor && o.bottomColor)
514
- T = o.topColor, G = o.bottomColor;
539
+ F = o.topColor, q = o.bottomColor;
515
540
  else if (o.topColor) {
516
- const g = ce(I);
517
- T = o.topColor, G = g.bottomColor;
541
+ const b = de(k);
542
+ F = o.topColor, q = b.bottomColor;
518
543
  } else if (o.bottomColor)
519
- T = ce(I).topColor, G = o.bottomColor;
544
+ F = de(k).topColor, q = o.bottomColor;
520
545
  else {
521
- const g = ce(I);
522
- T = g.topColor, G = g.bottomColor;
546
+ const b = de(k);
547
+ F = b.topColor, q = b.bottomColor;
523
548
  }
524
549
  else
525
- T = o.topColor || d.top, G = o.bottomColor || d.bottom;
550
+ F = o.topColor || L.top, q = o.bottomColor || L.bottom;
526
551
  if (o.data.length === 0) {
527
- const g = C.current.get(o.label);
528
- g && (e.removeSeries(g), C.current.delete(o.label));
552
+ const b = N.current.get(g);
553
+ b && (t.removeSeries(b), N.current.delete(g));
529
554
  continue;
530
555
  }
531
- const be = (o.data.length > 0 ? Math.min(...o.data.map((g) => g.value)) : 0) < 0, Y = o.data.some((g) => g.value === 0), ot = !be && Y, Ae = D ? o.priceScaleId ?? (le === 0 ? "left" : "right") : j || !x || le === 0 ? "right" : `scale-${le}`;
532
- x && ne.push({
533
- priceScaleId: Ae || "right",
534
- shouldPreventNegativeAxis: ot,
535
- seriesIndex: le
556
+ const ue = o.data.length > 0 ? Math.min(...o.data.map((b) => b.value)) : 0, he = o.data.length > 0 ? Math.max(...o.data.map((b) => b.value)) : 0, lt = ue < 0, at = o.data.some((b) => b.value === 0), st = !lt && at, Xe = Nt(he - ue), $e = I ? o.priceScaleId ?? (R === 0 ? "left" : "right") : Z || !v || R === 0 ? "right" : `scale-${R}`;
557
+ v && M.push({
558
+ priceScaleId: $e || "right",
559
+ seriesIndex: R
536
560
  });
537
- const $e = (j || !x) && n !== void 0 && typeof n == "number", rt = ae.get(o.label) ?? [], nt = (g) => {
538
- const z = g();
539
- if (z?.priceRange) {
540
- $e && (z.priceRange.minValue = n);
541
- for (const H of rt)
542
- H < z.priceRange.minValue && (z.priceRange.minValue = H), H > z.priceRange.maxValue && (z.priceRange.maxValue = H);
561
+ const ye = (Z || !v) && r !== void 0 && typeof r == "number", ct = C.get(o.label) ?? [], ut = (b) => {
562
+ const _ = b();
563
+ if (_?.priceRange) {
564
+ ye && (_.priceRange.minValue = r);
565
+ for (const j of ct)
566
+ j < _.priceRange.minValue && (_.priceRange.minValue = j), j > _.priceRange.maxValue && (_.priceRange.maxValue = j);
567
+ const te = ye ? r : st && _.priceRange.minValue >= 0 ? 0 : void 0, ge = se.current > 0 ? se.current : B.current?.clientHeight ?? 0;
568
+ if (ge > 0) {
569
+ const j = Vt({
570
+ min: _.priceRange.minValue,
571
+ max: _.priceRange.maxValue,
572
+ floor: te,
573
+ scaleHeightPx: ge,
574
+ fontSizePx: xt,
575
+ tickMarkDensity: pe,
576
+ minMove: Xe,
577
+ edgePaddingPx: qe,
578
+ edgePaddingTopPx: Oe
579
+ });
580
+ _.priceRange.minValue = j.min, _.priceRange.maxValue = j.max;
581
+ }
582
+ _.margins = {
583
+ above: Oe,
584
+ below: qe
585
+ };
543
586
  }
544
- return z;
545
- }, Ge = y.get(o.label) ?? h[0], je = Ge.formatter, lt = Ge.tickmarksFormatter, ve = {
546
- lineColor: I,
547
- topColor: T,
548
- bottomColor: G,
549
- priceScaleId: Ae,
587
+ return _;
588
+ }, He = y.get(o.label) ?? d[0], je = He.formatter, ft = He.tickmarksFormatter, xe = {
589
+ lineColor: k,
590
+ topColor: F,
591
+ bottomColor: q,
592
+ priceScaleId: $e,
550
593
  ...o.seriesType === "line" && {
551
- lineStyle: o.lineStyle ?? re.Solid
594
+ lineStyle: o.lineStyle ?? ie.Solid
552
595
  },
553
596
  priceFormat: {
554
597
  type: "custom",
555
- minMove: 0.01,
556
- formatter: $e && typeof n == "number" ? (g) => je(
557
- g < n ? n : g
598
+ minMove: Xe,
599
+ formatter: ye && typeof r == "number" ? (b) => je(
600
+ b < r ? r : b
558
601
  ) : je,
559
- tickmarksFormatter: lt
602
+ tickmarksFormatter: ft
560
603
  },
561
- autoscaleInfoProvider: nt
562
- }, He = o.seriesType === "line";
563
- let E = C.current.get(o.label);
564
- const ee = o.data.map((g) => ({
565
- ...g,
566
- time: g.time
604
+ autoscaleInfoProvider: ut
605
+ }, Ke = o.seriesType === "line";
606
+ let A = N.current.get(g);
607
+ const ee = o.data.map((b) => ({
608
+ ...b,
609
+ time: b.time
567
610
  }));
568
- if (J !== void 0 && ee.length > 0 && Number(ee[0].time) > J) {
569
- const g = Number(ee[0].time), z = g - J, H = 86400, at = z > 180 * H ? 7 * H : z > 30 * H ? H : 6 * 3600, Xe = [];
570
- for (let Se = J; Se < g; Se += at)
571
- Xe.push({ time: Se });
572
- ee.unshift(...Xe);
611
+ if (ae !== void 0 && ee.length > 0 && Number(ee[0].time) > ae) {
612
+ const b = Number(ee[0].time), _ = b - ae, te = 86400, ge = _ > 180 * te ? 7 * te : _ > 30 * te ? te : 6 * 3600, j = [];
613
+ for (let _e = ae; _e < b; _e += ge)
614
+ j.push({ time: _e });
615
+ ee.unshift(...j);
573
616
  }
574
- E && E.seriesType() !== (He ? "Line" : "Area") && (e.removeSeries(E), C.current.delete(o.label), E = void 0), E ? (E.applyOptions(ve), E.setData(ee)) : (He ? E = e.addSeries(ct, {
575
- ...U,
576
- ...ve
577
- }) : E = e.addSeries(ut, {
578
- ...U,
579
- ...ve
580
- }), E.setData(ee), C.current.set(o.label, E)), le++;
617
+ A && A.seriesType() !== (Ke ? "Line" : "Area") && (t.removeSeries(A), N.current.delete(g), A = void 0), A ? (A.applyOptions(xe), A.setData(ee)) : (Ke ? A = t.addSeries(pt, {
618
+ ...m,
619
+ ...xe
620
+ }) : A = t.addSeries(dt, {
621
+ ...m,
622
+ ...xe
623
+ }), A.setData(ee), N.current.set(g, A)), R++;
581
624
  }
582
- if (D)
625
+ if (I)
583
626
  try {
584
- const r = e.priceScale("left"), o = e.priceScale("right"), d = {
585
- visible: !V,
627
+ const n = t.priceScale("left"), o = t.priceScale("right"), g = {
628
+ visible: !T,
586
629
  autoScale: !0,
587
- scaleMargins: { top: 0.1, bottom: 0.1 },
630
+ scaleMargins: { top: 0, bottom: 0 },
588
631
  alignLabels: !0,
589
632
  entireTextOnly: !1,
590
- textColor: k,
591
- ...v?.rightPriceScale
633
+ tickMarkDensity: pe,
634
+ textColor: V,
635
+ ...S?.rightPriceScale
592
636
  };
593
- r?.applyOptions(d), o?.applyOptions(d);
637
+ n?.applyOptions(g), o?.applyOptions(g);
594
638
  } catch {
595
639
  }
596
- else if (x && ne.length > 0)
597
- for (const r of ne)
640
+ else if (v && M.length > 0)
641
+ for (const n of M)
598
642
  try {
599
- const o = e.priceScale(r.priceScaleId);
643
+ const o = t.priceScale(n.priceScaleId);
600
644
  o && o.applyOptions({
601
645
  visible: !1,
602
646
  autoScale: !0,
603
647
  scaleMargins: {
604
- top: 0.1,
605
- bottom: 0.1,
606
- ...r.shouldPreventNegativeAxis && {
607
- top: 0.3,
608
- bottom: 0
609
- }
648
+ top: 0,
649
+ bottom: 0
610
650
  },
611
651
  alignLabels: !0,
612
652
  entireTextOnly: !1,
613
- textColor: k
653
+ tickMarkDensity: pe,
654
+ textColor: V
614
655
  });
615
656
  } catch (o) {
616
657
  console.warn(
617
- `Failed to configure price scale ${r.priceScaleId} for series ${r.seriesIndex}:`,
658
+ `Failed to configure price scale ${n.priceScaleId} for series ${n.seriesIndex}:`,
618
659
  o
619
660
  );
620
661
  }
621
- else if (!x)
662
+ else if (!v)
622
663
  try {
623
- const r = e.priceScale("right");
624
- r && r.applyOptions({
625
- visible: !V,
664
+ const n = t.priceScale("right");
665
+ n && n.applyOptions({
666
+ visible: !T,
626
667
  autoScale: !0,
627
668
  scaleMargins: {
628
- top: 0.1,
629
- // No bottom margin when yScaleMin is set so the scale doesn't extend below the minimum (avoids negative labels like -10M)
630
- bottom: n !== void 0 || p ? 0 : 0.1,
631
- ...p && {
632
- top: 0.3
633
- }
669
+ top: 0,
670
+ bottom: 0
634
671
  },
635
672
  alignLabels: !0,
636
673
  entireTextOnly: !1,
637
- textColor: k,
638
- ...v?.rightPriceScale
674
+ tickMarkDensity: pe,
675
+ textColor: V,
676
+ ...S?.rightPriceScale
639
677
  });
640
678
  } catch {
641
679
  }
642
- if (n !== void 0 && !V && (j || !x) && e.applyOptions({
680
+ if (r !== void 0 && !T && (Z || !v) && t.applyOptions({
643
681
  handleScroll: {
644
682
  vertTouchDrag: !1
645
683
  }
646
- }), Z.length > 0) {
647
- const r = Z.map((o) => Number(o.time)).filter((o) => Number.isFinite(o));
648
- if (r.length > 0) {
649
- const o = Math.min(...r), d = J !== void 0 ? Math.min(J, o) : o, I = Math.max(...r);
650
- if (Number(d) <= Number(I))
684
+ }), ce.length > 0) {
685
+ const n = ce.map((g) => Number(g.time)).filter((g) => Number.isFinite(g)), o = new Set(n).size - 1;
686
+ if (o >= 0) {
687
+ const g = () => {
688
+ const L = t.timeScale();
689
+ if (h !== "time") {
690
+ L.applyOptions({
691
+ fixLeftEdge: !0,
692
+ fixRightEdge: !0
693
+ }), L.setVisibleLogicalRange({ from: 0, to: o });
694
+ return;
695
+ }
696
+ const k = I && !T, F = I ? !T : !W, q = !k, ue = !F;
697
+ L.applyOptions({
698
+ fixLeftEdge: !q,
699
+ fixRightEdge: !ue
700
+ });
701
+ const he = kt({
702
+ lastIndex: o,
703
+ width: L.width(),
704
+ padLeft: q,
705
+ padRight: ue
706
+ });
707
+ he && L.setVisibleLogicalRange(he);
708
+ };
709
+ try {
710
+ g();
711
+ } catch {
651
712
  try {
652
- e.timeScale().setVisibleRange({ from: d, to: I });
713
+ t.timeScale().fitContent(), g();
653
714
  } catch {
654
- try {
655
- e.timeScale().fitContent();
656
- } catch {
657
- }
658
715
  }
716
+ }
659
717
  }
660
718
  }
661
- Ve.current && (Ve.current = !1), v && e.applyOptions(v);
662
- const ge = /* @__PURE__ */ new Map();
663
- for (const r of t)
664
- r.data.length > 0 && ge.set(r.label, r.data[r.data.length - 1]);
665
- pe(ge.size > 0 ? ge : void 0);
719
+ Me.current && (Me.current = !1), S && t.applyOptions(S);
720
+ const H = /* @__PURE__ */ new Map();
721
+ for (const n of e)
722
+ n.data.length > 0 && H.set(n.label, n.data[n.data.length - 1]);
723
+ Ce(H.size > 0 ? H : void 0);
666
724
  }, [
667
725
  Q,
668
- t,
726
+ e,
727
+ ce,
728
+ h,
729
+ u,
730
+ T,
669
731
  Z,
670
- c,
671
- b,
672
- V,
673
- j,
674
- D,
675
- we,
676
- _e,
732
+ I,
733
+ Re,
677
734
  Ne,
678
- Pe,
679
- J,
680
- R,
681
- A,
682
- v
683
- ]), W(() => {
684
- const e = B.current;
685
- if (!e || t.length === 0) return;
686
- const i = t.length === 1;
687
- let n;
688
- for (const l of t)
689
- if (l.data.length > 0) {
690
- n = l.data[l.data.length - 1].time;
735
+ Ve,
736
+ ke,
737
+ ae,
738
+ D,
739
+ z,
740
+ S
741
+ ]), G(() => {
742
+ const t = E.current;
743
+ if (!t || e.length === 0) return;
744
+ const a = e.length === 1;
745
+ let r;
746
+ for (const s of e)
747
+ if (s.data.length > 0) {
748
+ r = s.data[s.data.length - 1].time;
691
749
  break;
692
750
  }
693
- if (!n) return;
694
- const s = (l) => {
695
- const { time: f = n, seriesData: h, point: y } = l || {}, S = Array.from(C.current.values());
696
- if (!y || !f) {
697
- const N = /* @__PURE__ */ new Map();
698
- for (const p of t)
699
- p.data.length > 0 && N.set(p.label, p.data[p.data.length - 1]);
700
- if (pe(N.size > 0 ? N : void 0), i || j || he)
701
- q(null);
702
- else if (S[0] && n) {
703
- const x = e.timeScale().timeToCoordinate(n), M = t[0];
704
- if (M.data.length > 0) {
705
- const k = M.data[M.data.length - 1].value, P = S[0].priceToCoordinate(k);
706
- x !== null && P !== null && q({ x, y: P });
751
+ if (!r) return;
752
+ const l = (s) => {
753
+ const { time: p = r, seriesData: d, point: y } = s || {}, x = e[0], v = x ? N.current.get(ne(x)) : void 0;
754
+ if (!y || !p) {
755
+ const X = /* @__PURE__ */ new Map();
756
+ for (const m of e)
757
+ m.data.length > 0 && X.set(m.label, m.data[m.data.length - 1]);
758
+ if (Ce(X.size > 0 ? X : void 0), a || Z || be)
759
+ J(null);
760
+ else if (v && r) {
761
+ const m = e[0];
762
+ if (m && m.data.length > 0) {
763
+ const R = t.timeScale().timeToCoordinate(r), $ = m.data[m.data.length - 1].value, C = v.priceToCoordinate($);
764
+ R !== null && C !== null && J({ x: R, y: C });
707
765
  }
708
766
  }
709
767
  return;
710
768
  }
711
- const $ = /* @__PURE__ */ new Map();
712
- let L;
713
- for (let N = 0; N < t.length; N++) {
714
- const p = t[N], x = C.current.get(p.label);
715
- if (!x) continue;
716
- const M = h?.get(x), k = M && "value" in M ? M.value : void 0;
717
- let P;
718
- if (k !== void 0)
719
- P = k;
720
- else if (i) {
721
- const K = Number(f), U = p.data.length > 0 ? Number(p.data[0].time) : Number.POSITIVE_INFINITY;
722
- K < U ? P = Number.NaN : P = p.data[p.data.length - 1]?.value ?? 0;
769
+ const W = /* @__PURE__ */ new Map();
770
+ let V, Y = v;
771
+ for (let X = 0; X < e.length; X++) {
772
+ const m = e[X], M = N.current.get(ne(m));
773
+ if (!M) continue;
774
+ const R = d?.get(M), $ = R && "value" in R ? R.value : void 0;
775
+ let C;
776
+ if ($ !== void 0)
777
+ C = $;
778
+ else if (a) {
779
+ const H = Number(p), n = m.data.length > 0 ? Number(m.data[0].time) : Number.POSITIVE_INFINITY;
780
+ H < n ? C = Number.NaN : C = m.data[m.data.length - 1]?.value ?? 0;
723
781
  } else {
724
- const K = p.data.length > 0 ? Number(p.data[0].time) : Number.POSITIVE_INFINITY;
725
- if (Number(f) < K) continue;
726
- P = Lt(p.data, Number(f));
782
+ const H = m.data.length > 0 ? Number(m.data[0].time) : Number.POSITIVE_INFINITY;
783
+ if (Number(p) < H) continue;
784
+ C = Gt(m.data, Number(p));
727
785
  }
728
- Number.isNaN(P) || (L === void 0 && (L = P), $.set(p.label, { value: P, time: f }));
786
+ Number.isNaN(C) || (V === void 0 && (V = C, Y = M), W.set(m.label, { value: C, time: p }));
729
787
  }
730
- if (pe($), L !== void 0 && S[0]) {
731
- const p = e.timeScale().timeToCoordinate(f), x = S[0].priceToCoordinate(L);
732
- if (p !== null && x !== null) {
733
- const M = F.current;
734
- if (M) {
735
- const k = M.querySelector(
788
+ if (Ce(W), V !== void 0 && Y) {
789
+ const m = t.timeScale().timeToCoordinate(p), M = Y.priceToCoordinate(V);
790
+ if (m !== null && M !== null) {
791
+ const R = B.current;
792
+ if (R) {
793
+ const $ = R.querySelector(
736
794
  ".LightweightChart"
737
795
  );
738
- if (k) {
739
- const P = k.getBoundingClientRect(), K = M.getBoundingClientRect(), U = p + (P.left - K.left), ne = x + (P.top - K.top);
740
- q({ x: U, y: ne });
796
+ if ($) {
797
+ const C = $.getBoundingClientRect(), H = R.getBoundingClientRect(), n = m + (C.left - H.left), o = M + (C.top - H.top);
798
+ J({ x: n, y: o });
741
799
  } else
742
- q({ x: p, y: x });
800
+ J({ x: m, y: M });
743
801
  } else
744
- q({ x: p, y: x });
802
+ J({ x: m, y: M });
745
803
  } else
746
- q(null);
804
+ J(null);
747
805
  } else
748
- q(null);
806
+ J(null);
749
807
  };
750
- return e.subscribeCrosshairMove(s), V && e.subscribeClick(s), !i && !j && !he && requestAnimationFrame(() => {
751
- const l = Array.from(C.current.values());
752
- if (l[0] && n && t[0]?.data.length > 0) {
753
- const h = e.timeScale().timeToCoordinate(n), y = t[0].data[t[0].data.length - 1].value, S = l[0].priceToCoordinate(y);
754
- h !== null && S !== null && q({ x: h, y: S });
808
+ return t.subscribeCrosshairMove(l), T && t.subscribeClick(l), !a && !Z && !be && requestAnimationFrame(() => {
809
+ const s = e[0], p = s ? N.current.get(ne(s)) : void 0;
810
+ if (p && r && s.data.length > 0) {
811
+ const y = t.timeScale().timeToCoordinate(r), x = s.data[s.data.length - 1].value, v = p.priceToCoordinate(x);
812
+ y !== null && v !== null && J({ x: y, y: v });
755
813
  }
756
814
  }), () => {
757
- e.unsubscribeCrosshairMove(s), V && e.unsubscribeClick(s);
815
+ t.unsubscribeCrosshairMove(l), T && t.unsubscribeClick(l);
758
816
  };
759
- }, [t, j, V, he]), W(() => {
760
- const e = B.current;
761
- if (!e || t.length === 0) return;
762
- const i = e.timeScale(), n = () => {
763
- const s = Le.current;
764
- if (s.length === 0) return;
765
- const l = i.getVisibleRange();
766
- if (!l) return;
767
- const f = Number(l.from), h = Number(l.to);
768
- for (const y of s) {
769
- const S = [];
770
- for (const $ of t)
771
- if (y.labels.has($.label))
772
- for (const L of $.data) {
773
- const N = Number(L.time);
774
- N >= f && N <= h && S.push(L.value);
817
+ }, [e, Z, T, be]), G(() => {
818
+ const t = E.current;
819
+ if (!t || e.length === 0) return;
820
+ const a = t.timeScale(), r = () => {
821
+ const l = De.current;
822
+ if (l.length === 0) return;
823
+ const s = a.getVisibleRange();
824
+ if (!s) return;
825
+ const p = Number(s.from), d = Number(s.to);
826
+ for (const y of l) {
827
+ const x = [];
828
+ for (const v of e)
829
+ if (y.labels.has(v.label))
830
+ for (const W of v.data) {
831
+ const V = Number(W.time);
832
+ V >= p && V <= d && x.push(W.value);
775
833
  }
776
- S.length > 0 && y.updateVisibleRange(S);
834
+ x.length > 0 && y.updateVisibleRange(x);
777
835
  }
778
836
  };
779
- return i.subscribeVisibleLogicalRangeChange(n), () => {
780
- i.unsubscribeVisibleLogicalRangeChange(
781
- n
837
+ return a.subscribeVisibleLogicalRangeChange(r), () => {
838
+ a.unsubscribeVisibleLogicalRangeChange(
839
+ r
782
840
  );
783
841
  };
784
- }, [t]), W(() => {
785
- const e = B.current, i = Array.from(C.current.values()), n = [];
786
- if (e && i.length > 0 && w) {
787
- const s = pt(), l = i[0];
788
- for (const f of w) {
789
- const h = {
790
- ...s,
791
- ...f.options || {}
842
+ }, [e]), G(() => {
843
+ const t = E.current, a = Array.from(N.current.values()), r = [];
844
+ if (t && a.length > 0 && P) {
845
+ const l = yt(), s = a[0];
846
+ for (const p of P) {
847
+ const d = {
848
+ ...l,
849
+ ...p.options || {}
792
850
  };
793
- h.color && (h.color = oe(h.color, h.color));
794
- const y = new St(e, l, f.xCoordinate, h);
795
- l.attachPrimitive(y), n.push(y);
851
+ d.color && (d.color = re(d.color, d.color));
852
+ const y = new Rt(t, s, p.xCoordinate, d);
853
+ s.attachPrimitive(y), r.push(y);
796
854
  }
797
855
  }
798
856
  return () => {
799
- if (i.length > 0) {
800
- const s = i[0];
801
- for (const l of n)
857
+ if (a.length > 0) {
858
+ const l = a[0];
859
+ for (const s of r)
802
860
  try {
803
- s.detachPrimitive(l);
861
+ l.detachPrimitive(s);
804
862
  } catch {
805
863
  }
806
864
  }
807
865
  };
808
- }, [w, t, Q]), W(() => {
809
- const e = [], i = [];
810
- if (R && R.length > 0) {
811
- const n = Array.from(C.current.values())[0], s = oe(
866
+ }, [P, e, Q]), G(() => {
867
+ const t = [], a = [];
868
+ if (D && D.length > 0) {
869
+ const r = re(
812
870
  "hsl(var(--destructive))",
813
871
  "rgb(239, 68, 68)"
814
872
  );
815
- for (const l of R) {
873
+ for (const l of D) {
816
874
  if (!Number.isFinite(l.price)) continue;
817
- const f = l.seriesLabel ? C.current.get(l.seriesLabel) : n;
818
- if (!f) continue;
819
- const h = l.color ? oe(l.color, l.color) : s, y = l.lineWidth ?? 1, S = l.lineStyle ?? re.Dashed, $ = f.createPriceLine({
875
+ const s = Qe(
876
+ N.current,
877
+ e,
878
+ l.seriesLabel
879
+ );
880
+ if (!s) continue;
881
+ const p = l.color ? re(l.color, l.color) : r, d = l.lineWidth ?? 1, y = l.lineStyle ?? ie.Dashed, x = s.createPriceLine({
820
882
  price: l.price,
821
- color: h,
822
- lineWidth: y,
823
- lineStyle: S,
883
+ color: p,
884
+ lineWidth: d,
885
+ lineStyle: y,
824
886
  axisLabelVisible: l.axisLabelVisible ?? !0,
825
887
  title: l.title ?? ""
826
888
  });
827
- e.push({ series: f, line: $ });
828
- const L = new Pt(
829
- f,
889
+ t.push({ series: s, line: x });
890
+ const v = new Ft(
891
+ s,
830
892
  l.price,
831
- h,
832
- y,
833
- S
893
+ p,
894
+ d,
895
+ y
834
896
  );
835
- f.attachPrimitive(L), i.push({ series: f, primitive: L });
897
+ s.attachPrimitive(v), a.push({ series: s, primitive: v });
836
898
  }
837
899
  }
838
900
  return () => {
839
- for (const { series: n, primitive: s } of i)
901
+ for (const { series: r, primitive: l } of a)
840
902
  try {
841
- n.detachPrimitive(s);
903
+ r.detachPrimitive(l);
842
904
  } catch {
843
905
  }
844
- for (const { series: n, line: s } of e)
906
+ for (const { series: r, line: l } of t)
845
907
  try {
846
- n.removePriceLine(s);
908
+ r.removePriceLine(l);
847
909
  } catch {
848
910
  }
849
911
  };
850
- }, [R, t, Q]), W(() => {
851
- const e = [];
852
- if (A && A.length > 0) {
853
- const i = Array.from(C.current.values())[0], n = "rgba(239, 68, 68, 0.12)";
854
- for (const s of A) {
855
- const l = s.seriesLabel ? C.current.get(s.seriesLabel) : i;
912
+ }, [D, e, Q]), G(() => {
913
+ const t = [];
914
+ if (z && z.length > 0) {
915
+ const a = "rgba(239, 68, 68, 0.12)";
916
+ for (const r of z) {
917
+ const l = Qe(
918
+ N.current,
919
+ e,
920
+ r.seriesLabel
921
+ );
856
922
  if (!l) continue;
857
- const f = s.color ? oe(s.color, n) : n, h = new xt(
923
+ const s = r.color ? re(r.color, a) : a, p = new Dt(
858
924
  l,
859
- s.priceTop,
860
- s.priceBottom,
861
- f
925
+ r.priceTop,
926
+ r.priceBottom,
927
+ s
862
928
  );
863
- l.attachPrimitive(h), e.push({ series: l, zone: h });
929
+ l.attachPrimitive(p), t.push({ series: l, zone: p });
864
930
  }
865
931
  }
866
932
  return () => {
867
- for (const { series: i, zone: n } of e)
933
+ for (const { series: a, zone: r } of t)
868
934
  try {
869
- i.detachPrimitive(n);
935
+ a.detachPrimitive(r);
870
936
  } catch {
871
937
  }
872
938
  };
873
- }, [A, t, Q]), W(() => {
874
- const e = B.current;
875
- if (!e || !w?.length) {
876
- De([]);
939
+ }, [z, e, Q]), G(() => {
940
+ const t = E.current;
941
+ if (!t || !P?.length) {
942
+ ze([]);
877
943
  return;
878
944
  }
879
- const i = () => {
880
- const l = e.timeScale(), f = w.map((h) => l.timeToCoordinate(h.xCoordinate) ?? null);
881
- De(f), F.current && Be(F.current.clientWidth);
945
+ const a = () => {
946
+ const s = t.timeScale(), p = P.map((d) => s.timeToCoordinate(d.xCoordinate) ?? null);
947
+ ze(p), B.current && Ae(B.current.clientWidth);
882
948
  };
883
- i();
884
- const n = e.timeScale(), s = () => {
885
- i();
949
+ a();
950
+ const r = t.timeScale(), l = () => {
951
+ a();
886
952
  };
887
- return n.subscribeVisibleLogicalRangeChange(s), () => {
888
- n.unsubscribeVisibleLogicalRangeChange(s);
953
+ return r.subscribeVisibleLogicalRangeChange(l), () => {
954
+ r.unsubscribeVisibleLogicalRangeChange(l);
889
955
  };
890
- }, [w, t, Q]), ft(() => {
891
- et((e) => {
892
- const i = {};
893
- let n = !1;
894
- for (const [s, l] of Fe.current) {
895
- if (!l) continue;
896
- const f = l.offsetWidth;
897
- i[s] = f, e[s] !== f && (n = !0);
956
+ }, [P, e, Q]), mt(() => {
957
+ nt((t) => {
958
+ const a = {};
959
+ let r = !1;
960
+ for (const [l, s] of Ge.current) {
961
+ if (!s) continue;
962
+ const p = s.offsetWidth;
963
+ a[l] = p, t[l] !== p && (r = !0);
898
964
  }
899
- return Object.keys(e).length !== Object.keys(i).length && (n = !0), n ? i : e;
965
+ return Object.keys(t).length !== Object.keys(a).length && (r = !0), r ? a : t;
900
966
  });
901
967
  });
902
- const se = t.length === 1, Ee = Ce.useMemo(() => {
903
- if (se && t.length > 0) {
904
- const e = t[0];
905
- if (e.data.length > 0)
906
- return e.data[e.data.length - 1];
968
+ const fe = e.length === 1, We = we.useMemo(() => {
969
+ if (fe && e.length > 0) {
970
+ const t = e[0];
971
+ if (t.data.length > 0)
972
+ return t.data[t.data.length - 1];
907
973
  }
908
- }, [se, t]);
909
- return /* @__PURE__ */ ie(
974
+ }, [fe, e]);
975
+ return /* @__PURE__ */ U(
910
976
  "div",
911
977
  {
912
- ref: F,
978
+ ref: B,
913
979
  className: O(
914
980
  "relative z-[1] w-full h-full overflow-hidden p-0",
915
- a
981
+ i
916
982
  ),
917
983
  children: [
918
- fe != null && fe !== !1 && se ? /* @__PURE__ */ _("div", { className: "absolute top-2 left-2 right-2 z-[100] pointer-events-none", children: /* @__PURE__ */ _("div", { className: "text-xl sm:text-2xl font-semibold text-foreground whitespace-nowrap overflow-hidden text-ellipsis", children: fe }) }) : Qe && se && Ee && /* @__PURE__ */ _(
919
- bt,
984
+ me != null && me !== !1 && fe ? /* @__PURE__ */ w("div", { className: "absolute top-2 left-2 right-2 z-[100] pointer-events-none", children: /* @__PURE__ */ w("div", { className: "text-xl sm:text-2xl font-semibold text-foreground whitespace-nowrap overflow-hidden text-ellipsis", children: me }) }) : et && fe && We && /* @__PURE__ */ w(
985
+ Pt,
920
986
  {
921
- point: Ee,
922
- xMeasureUnit: c,
923
- yMeasureUnit: b,
924
- decimals: ue
987
+ point: We,
988
+ xMeasureUnit: h,
989
+ yMeasureUnit: u,
990
+ decimals: le
925
991
  }
926
992
  ),
927
- Me && ke && /* @__PURE__ */ _(
928
- vt,
993
+ Ee && Be && /* @__PURE__ */ w(
994
+ Tt,
929
995
  {
930
- points: Me,
931
- xMeasureUnit: c,
932
- yMeasureUnit: b,
933
- series: t,
934
- position: ke,
935
- containerRef: F,
936
- decimals: ue
996
+ points: Ee,
997
+ xMeasureUnit: h,
998
+ yMeasureUnit: u,
999
+ series: e,
1000
+ position: Be,
1001
+ containerRef: B,
1002
+ decimals: le
937
1003
  }
938
1004
  ),
939
- u && /* @__PURE__ */ _(Mt, { series: t, onUnselect: m }),
940
- w && w.length > 0 && Ie.length === w.length && /* @__PURE__ */ _(
1005
+ c && /* @__PURE__ */ w(Xt, { series: e, onUnselect: f }),
1006
+ P && P.length > 0 && Fe.length === P.length && /* @__PURE__ */ w(
941
1007
  "div",
942
1008
  {
943
1009
  className: "absolute inset-0 z-[5] pointer-events-none",
944
1010
  "aria-hidden": !0,
945
- children: w.map((e, i) => {
946
- const n = Ie[i], s = e.options ?? {};
947
- if (n === null) return null;
948
- const { labelText: l, valueStr: f } = Tt(
949
- s,
950
- b,
951
- ue
952
- ), h = s.tooltipText ?? "";
953
- if (!(l || f || h)) return null;
954
- const S = s.labelBackgroundColor ?? s.color ?? "hsl(var(--background))", $ = s.labelTextColor ?? "hsl(var(--foreground))", L = `${String(e.xCoordinate)}-${l}-${h}`, N = Vt(
955
- n,
956
- Oe,
957
- Ue[i]
1011
+ children: P.map((t, a) => {
1012
+ const r = Fe[a], l = t.options ?? {};
1013
+ if (r === null) return null;
1014
+ const { labelText: s, valueStr: p } = zt(
1015
+ l,
1016
+ u,
1017
+ le
1018
+ ), d = l.tooltipText ?? "";
1019
+ if (!(s || p || d)) return null;
1020
+ const x = l.labelBackgroundColor ?? l.color ?? "hsl(var(--background))", v = l.labelTextColor ?? "hsl(var(--foreground))", W = `${String(t.xCoordinate)}-${s}-${d}`, V = At(
1021
+ r,
1022
+ ot,
1023
+ rt[a]
958
1024
  );
959
- return /* @__PURE__ */ ie(
1025
+ return /* @__PURE__ */ U(
960
1026
  "div",
961
1027
  {
962
- ref: (p) => {
963
- Fe.current.set(i, p);
1028
+ ref: (Y) => {
1029
+ Ge.current.set(a, Y);
964
1030
  },
965
1031
  className: O(
966
1032
  "group absolute top-2 px-2 py-1 rounded text-xs font-medium whitespace-nowrap shadow-sm border border-border",
967
- h && "pointer-events-auto cursor-default"
1033
+ d && "pointer-events-auto cursor-default"
968
1034
  ),
969
1035
  style: {
970
- ...N,
971
- backgroundColor: S,
972
- color: $
1036
+ ...V,
1037
+ backgroundColor: x,
1038
+ color: v
973
1039
  },
974
1040
  children: [
975
- l && /* @__PURE__ */ _("span", { className: "block", children: l }),
976
- f && /* @__PURE__ */ _("span", { className: O("block", l && "mt-0.5"), children: f }),
977
- h && /* @__PURE__ */ _(
1041
+ s && /* @__PURE__ */ w("span", { className: "block", children: s }),
1042
+ p && /* @__PURE__ */ w("span", { className: O("block", s && "mt-0.5"), children: p }),
1043
+ d && /* @__PURE__ */ w(
978
1044
  "span",
979
1045
  {
980
1046
  className: "pointer-events-none absolute right-0 top-full z-10 mt-1 hidden w-[280px] whitespace-normal rounded border border-border bg-popover px-2.5 py-1.5 text-left leading-snug text-popover-foreground shadow-md group-hover:block",
981
1047
  role: "tooltip",
982
- children: h
1048
+ children: d
983
1049
  }
984
1050
  )
985
1051
  ]
986
1052
  },
987
- L
1053
+ W
988
1054
  );
989
1055
  })
990
1056
  }
991
1057
  ),
992
- /* @__PURE__ */ _(
1058
+ /* @__PURE__ */ w(
993
1059
  "div",
994
1060
  {
995
- ref: de,
1061
+ ref: ve,
996
1062
  className: "LightweightChart w-full h-full overflow-hidden"
997
1063
  }
998
1064
  )
@@ -1000,99 +1066,134 @@ function Xt({
1000
1066
  }
1001
1067
  );
1002
1068
  }
1003
- function Mt({
1004
- series: t,
1005
- onUnselect: a,
1006
- inline: u = !1
1069
+ function Xt({
1070
+ series: e,
1071
+ markers: i,
1072
+ onUnselect: c,
1073
+ inline: f = !1
1007
1074
  }) {
1008
- const m = t.every((c) => c.data.length === 0);
1009
- return /* @__PURE__ */ _(
1075
+ const h = e.every((u) => u.data.length === 0);
1076
+ return /* @__PURE__ */ U(
1010
1077
  "div",
1011
1078
  {
1012
1079
  className: O(
1013
1080
  "flex flex-wrap",
1014
- u ? "items-center justify-center gap-6" : "absolute top-0 left-2 z-[10] gap-2"
1081
+ f ? "items-center justify-center gap-6" : "absolute top-0 left-2 z-[10] gap-2"
1015
1082
  ),
1016
- children: t.map((c, b) => {
1017
- const v = Je(b), w = (c.lineColor ?? c.color) || v.line, R = !m && c.data.length === 0;
1018
- return /* @__PURE__ */ ie(
1083
+ children: [
1084
+ e.map((u, S) => {
1085
+ const P = Ue(S), D = (u.lineColor ?? u.color) || P.line, z = !h && u.data.length === 0;
1086
+ return /* @__PURE__ */ U(
1087
+ "div",
1088
+ {
1089
+ className: O(
1090
+ "flex shrink-0 items-center gap-1.5",
1091
+ !f && "px-2 py-1 bg-background/80 backdrop-blur-sm rounded border border-border",
1092
+ z && "opacity-50"
1093
+ ),
1094
+ children: [
1095
+ /* @__PURE__ */ w(
1096
+ "div",
1097
+ {
1098
+ className: O(
1099
+ "shrink-0",
1100
+ f ? "size-2 rounded-full" : "h-3 w-3 rounded-sm"
1101
+ ),
1102
+ style: { backgroundColor: D }
1103
+ }
1104
+ ),
1105
+ /* @__PURE__ */ U(
1106
+ "span",
1107
+ {
1108
+ className: O(
1109
+ "font-medium text-foreground",
1110
+ f ? "text-sm" : "text-[10px] sm:text-xs"
1111
+ ),
1112
+ children: [
1113
+ u.label,
1114
+ z && " (no data)"
1115
+ ]
1116
+ }
1117
+ ),
1118
+ c && /* @__PURE__ */ w(
1119
+ "button",
1120
+ {
1121
+ type: "button",
1122
+ onClick: (le) => {
1123
+ le.stopPropagation(), c(u.label);
1124
+ },
1125
+ className: "ml-1 flex items-center justify-center w-4 h-4 rounded-sm hover:bg-muted transition-colors cursor-pointer",
1126
+ "aria-label": `Remove ${u.label}`,
1127
+ children: /* @__PURE__ */ U(
1128
+ "svg",
1129
+ {
1130
+ xmlns: "http://www.w3.org/2000/svg",
1131
+ width: "12",
1132
+ height: "12",
1133
+ viewBox: "0 0 24 24",
1134
+ fill: "none",
1135
+ stroke: "currentColor",
1136
+ strokeWidth: "2",
1137
+ strokeLinecap: "round",
1138
+ strokeLinejoin: "round",
1139
+ className: "text-muted-foreground hover:text-foreground",
1140
+ "aria-hidden": "true",
1141
+ children: [
1142
+ /* @__PURE__ */ w("title", { children: "Close" }),
1143
+ /* @__PURE__ */ w("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
1144
+ /* @__PURE__ */ w("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
1145
+ ]
1146
+ }
1147
+ )
1148
+ }
1149
+ )
1150
+ ]
1151
+ },
1152
+ u.id ?? u.label
1153
+ );
1154
+ }),
1155
+ i?.map((u) => /* @__PURE__ */ U(
1019
1156
  "div",
1020
1157
  {
1021
1158
  className: O(
1022
- "flex items-center gap-1.5",
1023
- !u && "px-2 py-1 bg-background/80 backdrop-blur-sm rounded border border-border",
1024
- R && "opacity-50"
1159
+ "flex shrink-0 items-center gap-1.5",
1160
+ !f && "px-2 py-1 bg-background/80 backdrop-blur-sm rounded border border-border"
1025
1161
  ),
1026
1162
  children: [
1027
- /* @__PURE__ */ _(
1163
+ /* @__PURE__ */ w(
1028
1164
  "div",
1029
1165
  {
1030
- className: O(
1031
- u ? "size-2 rounded-full" : "h-3 w-3 rounded-sm"
1032
- ),
1033
- style: { backgroundColor: w }
1166
+ className: "h-3 w-0.5 shrink-0",
1167
+ style: { backgroundColor: u.color }
1034
1168
  }
1035
1169
  ),
1036
- /* @__PURE__ */ ie(
1170
+ /* @__PURE__ */ w(
1037
1171
  "span",
1038
1172
  {
1039
1173
  className: O(
1040
1174
  "font-medium text-foreground",
1041
- u ? "text-sm" : "text-[10px] sm:text-xs"
1175
+ f ? "text-sm" : "text-[10px] sm:text-xs"
1042
1176
  ),
1043
- children: [
1044
- c.label,
1045
- R && " (no data)"
1046
- ]
1047
- }
1048
- ),
1049
- a && /* @__PURE__ */ _(
1050
- "button",
1051
- {
1052
- type: "button",
1053
- onClick: (A) => {
1054
- A.stopPropagation(), a(c.label);
1055
- },
1056
- className: "ml-1 flex items-center justify-center w-4 h-4 rounded-sm hover:bg-muted transition-colors cursor-pointer",
1057
- "aria-label": `Remove ${c.label}`,
1058
- children: /* @__PURE__ */ ie(
1059
- "svg",
1060
- {
1061
- xmlns: "http://www.w3.org/2000/svg",
1062
- width: "12",
1063
- height: "12",
1064
- viewBox: "0 0 24 24",
1065
- fill: "none",
1066
- stroke: "currentColor",
1067
- strokeWidth: "2",
1068
- strokeLinecap: "round",
1069
- strokeLinejoin: "round",
1070
- className: "text-muted-foreground hover:text-foreground",
1071
- "aria-hidden": "true",
1072
- children: [
1073
- /* @__PURE__ */ _("title", { children: "Close" }),
1074
- /* @__PURE__ */ _("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
1075
- /* @__PURE__ */ _("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
1076
- ]
1077
- }
1078
- )
1177
+ children: u.label
1079
1178
  }
1080
1179
  )
1081
1180
  ]
1082
1181
  },
1083
- c.label
1084
- );
1085
- })
1182
+ u.id
1183
+ ))
1184
+ ]
1086
1185
  }
1087
1186
  );
1088
1187
  }
1089
1188
  export {
1090
- xe as DEFAULT_SERIES_COLORS,
1091
- Xt as Graph,
1092
- Mt as GraphLegend,
1093
- Ke as VERTICAL_LINE_LABEL_EDGE_PADDING,
1094
- Je as getSeriesColorPalette,
1095
- Lt as getStepForwardValue,
1096
- Vt as getVerticalLineLabelStyle,
1097
- Tt as getVerticalLineTooltipContent
1189
+ Te as DEFAULT_SERIES_COLORS,
1190
+ ro as Graph,
1191
+ Xt as GraphLegend,
1192
+ Ye as VERTICAL_LINE_LABEL_EDGE_PADDING,
1193
+ Ue as getSeriesColorPalette,
1194
+ Gt as getStepForwardValue,
1195
+ At as getVerticalLineLabelStyle,
1196
+ zt as getVerticalLineTooltipContent,
1197
+ ne as seriesIdentity,
1198
+ kt as visibleLogicalRangeFor
1098
1199
  };