greeks-live-ui 0.1.19 → 0.1.21

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 (338) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.min.mjs +105 -105
  3. package/dist/index.full.min.mjs.map +1 -1
  4. package/dist/index.full.mjs +418 -104
  5. package/dist/locale/en.min.mjs +1 -1
  6. package/dist/locale/en.min.mjs.map +1 -1
  7. package/dist/locale/en.mjs +6 -0
  8. package/dist/locale/zh-cn.min.mjs +1 -1
  9. package/dist/locale/zh-cn.min.mjs.map +1 -1
  10. package/dist/locale/zh-cn.mjs +6 -0
  11. package/dist/locale/zh-tw.min.mjs +1 -1
  12. package/dist/locale/zh-tw.min.mjs.map +1 -1
  13. package/dist/locale/zh-tw.mjs +6 -0
  14. package/es/components/countdown/index.d.ts +1 -1
  15. package/es/components/countdown/src/countdown.vue.d.ts +1 -1
  16. package/es/components/greeks-summary/index.d.ts +22 -0
  17. package/es/components/greeks-summary/src/greeks-summary.d.ts +8 -0
  18. package/es/components/greeks-summary/src/greeks-summary.vue.d.ts +22 -0
  19. package/es/components/panel-vrp/index.d.ts +59 -24
  20. package/es/components/panel-vrp/src/panel-vrp.d.ts +5 -0
  21. package/es/components/panel-vrp/src/panel-vrp.vue.d.ts +61 -24
  22. package/es/index.mjs +29 -29
  23. package/es/locale/lang/en.d.ts +6 -0
  24. package/es/locale/lang/zh-cn.d.ts +6 -0
  25. package/es/locale/lang/zh-tw.d.ts +6 -0
  26. package/es/packages/components/chart/index.mjs +2 -2
  27. package/es/packages/components/chart/src/chart.mjs +12 -86
  28. package/es/packages/components/chart/src/chart.mjs.map +1 -1
  29. package/es/packages/components/chart/src/chart2.mjs +86 -12
  30. package/es/packages/components/chart/src/chart2.mjs.map +1 -1
  31. package/es/packages/components/checkbox/index.mjs +2 -2
  32. package/es/packages/components/checkbox/src/checkbox.mjs +5 -31
  33. package/es/packages/components/checkbox/src/checkbox.mjs.map +1 -1
  34. package/es/packages/components/checkbox/src/checkbox2.mjs +31 -5
  35. package/es/packages/components/checkbox/src/checkbox2.mjs.map +1 -1
  36. package/es/packages/components/checkbox-group/index.mjs +2 -2
  37. package/es/packages/components/checkbox-group/src/checkbox-group.mjs +31 -5
  38. package/es/packages/components/checkbox-group/src/checkbox-group.mjs.map +1 -1
  39. package/es/packages/components/checkbox-group/src/checkbox-group2.mjs +5 -31
  40. package/es/packages/components/checkbox-group/src/checkbox-group2.mjs.map +1 -1
  41. package/es/packages/components/currency-icon/index.mjs +2 -2
  42. package/es/packages/components/currency-icon/src/currency-icon.mjs +45 -8
  43. package/es/packages/components/currency-icon/src/currency-icon.mjs.map +1 -1
  44. package/es/packages/components/currency-icon/src/currency-icon2.mjs +8 -45
  45. package/es/packages/components/currency-icon/src/currency-icon2.mjs.map +1 -1
  46. package/es/packages/components/currency-radio-group/index.mjs +2 -2
  47. package/es/packages/components/currency-radio-group/src/currency-radio-group.mjs +57 -18
  48. package/es/packages/components/currency-radio-group/src/currency-radio-group.mjs.map +1 -1
  49. package/es/packages/components/currency-radio-group/src/currency-radio-group2.mjs +18 -57
  50. package/es/packages/components/currency-radio-group/src/currency-radio-group2.mjs.map +1 -1
  51. package/es/packages/components/date-time-picker/index.mjs +2 -2
  52. package/es/packages/components/date-time-picker/src/date-time-picker.mjs +12 -117
  53. package/es/packages/components/date-time-picker/src/date-time-picker.mjs.map +1 -1
  54. package/es/packages/components/date-time-picker/src/date-time-picker2.mjs +117 -12
  55. package/es/packages/components/date-time-picker/src/date-time-picker2.mjs.map +1 -1
  56. package/es/packages/components/dropdown/index.mjs +2 -2
  57. package/es/packages/components/dropdown/src/dropdown.mjs +34 -5
  58. package/es/packages/components/dropdown/src/dropdown.mjs.map +1 -1
  59. package/es/packages/components/dropdown/src/dropdown2.mjs +5 -34
  60. package/es/packages/components/dropdown/src/dropdown2.mjs.map +1 -1
  61. package/es/packages/components/dropdown-button/index.mjs +2 -2
  62. package/es/packages/components/dropdown-button/src/dropdown-button.mjs +5 -39
  63. package/es/packages/components/dropdown-button/src/dropdown-button.mjs.map +1 -1
  64. package/es/packages/components/dropdown-button/src/dropdown-button2.mjs +39 -5
  65. package/es/packages/components/dropdown-button/src/dropdown-button2.mjs.map +1 -1
  66. package/es/packages/components/greeks-summary/index.mjs +2 -2
  67. package/es/packages/components/greeks-summary/src/greeks-summary.mjs +340 -42
  68. package/es/packages/components/greeks-summary/src/greeks-summary.mjs.map +1 -1
  69. package/es/packages/components/greeks-summary/src/greeks-summary2.mjs +49 -300
  70. package/es/packages/components/greeks-summary/src/greeks-summary2.mjs.map +1 -1
  71. package/es/packages/components/index.mjs +29 -29
  72. package/es/packages/components/input-number/index.mjs +2 -2
  73. package/es/packages/components/input-number/src/input-number.mjs +31 -5
  74. package/es/packages/components/input-number/src/input-number.mjs.map +1 -1
  75. package/es/packages/components/input-number/src/input-number2.mjs +5 -31
  76. package/es/packages/components/input-number/src/input-number2.mjs.map +1 -1
  77. package/es/packages/components/menu-item/index.mjs +2 -2
  78. package/es/packages/components/menu-item/src/menu-item.mjs +31 -5
  79. package/es/packages/components/menu-item/src/menu-item.mjs.map +1 -1
  80. package/es/packages/components/menu-item/src/menu-item2.mjs +5 -31
  81. package/es/packages/components/menu-item/src/menu-item2.mjs.map +1 -1
  82. package/es/packages/components/page-turner/index.mjs +2 -2
  83. package/es/packages/components/page-turner/src/page-turner.mjs +12 -63
  84. package/es/packages/components/page-turner/src/page-turner.mjs.map +1 -1
  85. package/es/packages/components/page-turner/src/page-turner2.mjs +63 -12
  86. package/es/packages/components/page-turner/src/page-turner2.mjs.map +1 -1
  87. package/es/packages/components/panel-gex-by-expiry/index.mjs +2 -2
  88. package/es/packages/components/panel-gex-by-expiry/src/panel-gex-by-expiry.mjs +22 -554
  89. package/es/packages/components/panel-gex-by-expiry/src/panel-gex-by-expiry.mjs.map +1 -1
  90. package/es/packages/components/panel-gex-by-expiry/src/panel-gex-by-expiry2.mjs +554 -22
  91. package/es/packages/components/panel-gex-by-expiry/src/panel-gex-by-expiry2.mjs.map +1 -1
  92. package/es/packages/components/panel-max-pain-price/index.mjs +2 -2
  93. package/es/packages/components/panel-max-pain-price/src/panel-max-pain-price.mjs +369 -22
  94. package/es/packages/components/panel-max-pain-price/src/panel-max-pain-price.mjs.map +1 -1
  95. package/es/packages/components/panel-max-pain-price/src/panel-max-pain-price2.mjs +22 -369
  96. package/es/packages/components/panel-max-pain-price/src/panel-max-pain-price2.mjs.map +1 -1
  97. package/es/packages/components/panel-option-flow/index.mjs +2 -2
  98. package/es/packages/components/panel-option-flow/src/panel-option-flow.mjs +448 -22
  99. package/es/packages/components/panel-option-flow/src/panel-option-flow.mjs.map +1 -1
  100. package/es/packages/components/panel-option-flow/src/panel-option-flow2.mjs +22 -448
  101. package/es/packages/components/panel-option-flow/src/panel-option-flow2.mjs.map +1 -1
  102. package/es/packages/components/panel-option-open-interest/index.mjs +2 -2
  103. package/es/packages/components/panel-option-open-interest/src/panel-option-open-interest.mjs +474 -22
  104. package/es/packages/components/panel-option-open-interest/src/panel-option-open-interest.mjs.map +1 -1
  105. package/es/packages/components/panel-option-open-interest/src/panel-option-open-interest2.mjs +22 -474
  106. package/es/packages/components/panel-option-open-interest/src/panel-option-open-interest2.mjs.map +1 -1
  107. package/es/packages/components/panel-option-skew-table/index.mjs +2 -2
  108. package/es/packages/components/panel-option-skew-table/src/panel-option-skew-table.mjs +261 -21
  109. package/es/packages/components/panel-option-skew-table/src/panel-option-skew-table.mjs.map +1 -1
  110. package/es/packages/components/panel-option-skew-table/src/panel-option-skew-table2.mjs +21 -261
  111. package/es/packages/components/panel-option-skew-table/src/panel-option-skew-table2.mjs.map +1 -1
  112. package/es/packages/components/panel-rv-calc/index.mjs +2 -2
  113. package/es/packages/components/panel-rv-calc/src/panel-rv-calc.mjs +8 -507
  114. package/es/packages/components/panel-rv-calc/src/panel-rv-calc.mjs.map +1 -1
  115. package/es/packages/components/panel-rv-calc/src/panel-rv-calc2.mjs +507 -8
  116. package/es/packages/components/panel-rv-calc/src/panel-rv-calc2.mjs.map +1 -1
  117. package/es/packages/components/panel-sabr-calibration-diagnostics/index.mjs +2 -2
  118. package/es/packages/components/panel-sabr-calibration-diagnostics/src/panel-sabr-calibration-diagnostics.mjs +25 -386
  119. package/es/packages/components/panel-sabr-calibration-diagnostics/src/panel-sabr-calibration-diagnostics.mjs.map +1 -1
  120. package/es/packages/components/panel-sabr-calibration-diagnostics/src/panel-sabr-calibration-diagnostics2.mjs +386 -25
  121. package/es/packages/components/panel-sabr-calibration-diagnostics/src/panel-sabr-calibration-diagnostics2.mjs.map +1 -1
  122. package/es/packages/components/panel-skew/index.mjs +2 -2
  123. package/es/packages/components/panel-skew/src/panel-skew.mjs +21 -751
  124. package/es/packages/components/panel-skew/src/panel-skew.mjs.map +1 -1
  125. package/es/packages/components/panel-skew/src/panel-skew2.mjs +751 -21
  126. package/es/packages/components/panel-skew/src/panel-skew2.mjs.map +1 -1
  127. package/es/packages/components/panel-spots-etf-net-inflow/index.mjs +2 -2
  128. package/es/packages/components/panel-spots-etf-net-inflow/src/panel-spots-etf-net-inflow.mjs +624 -21
  129. package/es/packages/components/panel-spots-etf-net-inflow/src/panel-spots-etf-net-inflow.mjs.map +1 -1
  130. package/es/packages/components/panel-spots-etf-net-inflow/src/panel-spots-etf-net-inflow2.mjs +21 -624
  131. package/es/packages/components/panel-spots-etf-net-inflow/src/panel-spots-etf-net-inflow2.mjs.map +1 -1
  132. package/es/packages/components/panel-trade-scatter-plot/index.mjs +2 -2
  133. package/es/packages/components/panel-trade-scatter-plot/src/panel-trade-scatter-plot.mjs +21 -469
  134. package/es/packages/components/panel-trade-scatter-plot/src/panel-trade-scatter-plot.mjs.map +1 -1
  135. package/es/packages/components/panel-trade-scatter-plot/src/panel-trade-scatter-plot2.mjs +469 -21
  136. package/es/packages/components/panel-trade-scatter-plot/src/panel-trade-scatter-plot2.mjs.map +1 -1
  137. package/es/packages/components/panel-vol-fly/index.mjs +2 -2
  138. package/es/packages/components/panel-vol-fly/src/panel-vol-fly.mjs +758 -21
  139. package/es/packages/components/panel-vol-fly/src/panel-vol-fly.mjs.map +1 -1
  140. package/es/packages/components/panel-vol-fly/src/panel-vol-fly2.mjs +21 -758
  141. package/es/packages/components/panel-vol-fly/src/panel-vol-fly2.mjs.map +1 -1
  142. package/es/packages/components/panel-vrp/index.mjs +2 -2
  143. package/es/packages/components/panel-vrp/src/panel-vrp.mjs +22 -478
  144. package/es/packages/components/panel-vrp/src/panel-vrp.mjs.map +1 -1
  145. package/es/packages/components/panel-vrp/src/panel-vrp2.mjs +739 -22
  146. package/es/packages/components/panel-vrp/src/panel-vrp2.mjs.map +1 -1
  147. package/es/packages/components/radio/index.mjs +2 -2
  148. package/es/packages/components/radio/src/radio-button.mjs +1 -1
  149. package/es/packages/components/radio/src/radio-group.mjs +1 -1
  150. package/es/packages/components/radio/src/radio.mjs +31 -5
  151. package/es/packages/components/radio/src/radio.mjs.map +1 -1
  152. package/es/packages/components/radio/src/radio2.mjs +5 -31
  153. package/es/packages/components/radio/src/radio2.mjs.map +1 -1
  154. package/es/packages/components/spin/index.mjs +2 -2
  155. package/es/packages/components/spin/src/spin.mjs +31 -5
  156. package/es/packages/components/spin/src/spin.mjs.map +1 -1
  157. package/es/packages/components/spin/src/spin2.mjs +5 -31
  158. package/es/packages/components/spin/src/spin2.mjs.map +1 -1
  159. package/es/packages/components/tag/index.mjs +2 -2
  160. package/es/packages/components/tag/src/tag.mjs +112 -28
  161. package/es/packages/components/tag/src/tag.mjs.map +1 -1
  162. package/es/packages/components/tag/src/tag2.mjs +28 -112
  163. package/es/packages/components/tag/src/tag2.mjs.map +1 -1
  164. package/es/packages/components/toggle-button/index.mjs +2 -2
  165. package/es/packages/components/toggle-button/src/toggle-button.mjs +16 -95
  166. package/es/packages/components/toggle-button/src/toggle-button.mjs.map +1 -1
  167. package/es/packages/components/toggle-button/src/toggle-button2.mjs +95 -16
  168. package/es/packages/components/toggle-button/src/toggle-button2.mjs.map +1 -1
  169. package/es/packages/components/tooltip/index.mjs +2 -2
  170. package/es/packages/components/tooltip/src/tooltip.mjs +25 -86
  171. package/es/packages/components/tooltip/src/tooltip.mjs.map +1 -1
  172. package/es/packages/components/tooltip/src/tooltip2.mjs +86 -25
  173. package/es/packages/components/tooltip/src/tooltip2.mjs.map +1 -1
  174. package/es/packages/locale/lang/en.mjs +6 -0
  175. package/es/packages/locale/lang/en.mjs.map +1 -1
  176. package/es/packages/locale/lang/zh-cn.mjs +6 -0
  177. package/es/packages/locale/lang/zh-cn.mjs.map +1 -1
  178. package/es/packages/locale/lang/zh-tw.mjs +6 -0
  179. package/es/packages/locale/lang/zh-tw.mjs.map +1 -1
  180. package/es/utils/vue/vnode.d.ts +6 -6
  181. package/lib/components/countdown/index.d.ts +1 -1
  182. package/lib/components/countdown/src/countdown.vue.d.ts +1 -1
  183. package/lib/components/greeks-summary/index.d.ts +22 -0
  184. package/lib/components/greeks-summary/src/greeks-summary.d.ts +8 -0
  185. package/lib/components/greeks-summary/src/greeks-summary.vue.d.ts +22 -0
  186. package/lib/components/panel-vrp/index.d.ts +59 -24
  187. package/lib/components/panel-vrp/src/panel-vrp.d.ts +5 -0
  188. package/lib/components/panel-vrp/src/panel-vrp.vue.d.ts +61 -24
  189. package/lib/index.js +25 -25
  190. package/lib/locale/lang/en.d.ts +6 -0
  191. package/lib/locale/lang/zh-cn.d.ts +6 -0
  192. package/lib/locale/lang/zh-tw.d.ts +6 -0
  193. package/lib/packages/components/chart-panel/index.js +2 -2
  194. package/lib/packages/components/chart-panel/src/chart-panel.js +473 -55
  195. package/lib/packages/components/chart-panel/src/chart-panel.js.map +1 -1
  196. package/lib/packages/components/chart-panel/src/chart-panel2.js +55 -473
  197. package/lib/packages/components/chart-panel/src/chart-panel2.js.map +1 -1
  198. package/lib/packages/components/chart-table/index.js +2 -2
  199. package/lib/packages/components/chart-table/src/chart-table.js +16 -145
  200. package/lib/packages/components/chart-table/src/chart-table.js.map +1 -1
  201. package/lib/packages/components/chart-table/src/chart-table2.js +145 -16
  202. package/lib/packages/components/chart-table/src/chart-table2.js.map +1 -1
  203. package/lib/packages/components/checkbox-group/index.js +2 -2
  204. package/lib/packages/components/checkbox-group/src/checkbox-group.js +31 -6
  205. package/lib/packages/components/checkbox-group/src/checkbox-group.js.map +1 -1
  206. package/lib/packages/components/checkbox-group/src/checkbox-group2.js +6 -31
  207. package/lib/packages/components/checkbox-group/src/checkbox-group2.js.map +1 -1
  208. package/lib/packages/components/date-time-picker/index.js +2 -2
  209. package/lib/packages/components/date-time-picker/src/date-time-picker.js +121 -13
  210. package/lib/packages/components/date-time-picker/src/date-time-picker.js.map +1 -1
  211. package/lib/packages/components/date-time-picker/src/date-time-picker2.js +13 -121
  212. package/lib/packages/components/date-time-picker/src/date-time-picker2.js.map +1 -1
  213. package/lib/packages/components/direction-tag/index.js +2 -2
  214. package/lib/packages/components/direction-tag/src/direction-tag.js +72 -15
  215. package/lib/packages/components/direction-tag/src/direction-tag.js.map +1 -1
  216. package/lib/packages/components/direction-tag/src/direction-tag2.js +15 -72
  217. package/lib/packages/components/direction-tag/src/direction-tag2.js.map +1 -1
  218. package/lib/packages/components/greeks-summary/index.js +2 -2
  219. package/lib/packages/components/greeks-summary/src/greeks-summary.js +50 -300
  220. package/lib/packages/components/greeks-summary/src/greeks-summary.js.map +1 -1
  221. package/lib/packages/components/greeks-summary/src/greeks-summary2.js +340 -43
  222. package/lib/packages/components/greeks-summary/src/greeks-summary2.js.map +1 -1
  223. package/lib/packages/components/icon/index.js +2 -2
  224. package/lib/packages/components/icon/src/icon.js +54 -17
  225. package/lib/packages/components/icon/src/icon.js.map +1 -1
  226. package/lib/packages/components/icon/src/icon2.js +17 -54
  227. package/lib/packages/components/icon/src/icon2.js.map +1 -1
  228. package/lib/packages/components/index.js +25 -25
  229. package/lib/packages/components/number-format/index.js +2 -2
  230. package/lib/packages/components/number-format/src/number-format.js +72 -152
  231. package/lib/packages/components/number-format/src/number-format.js.map +1 -1
  232. package/lib/packages/components/number-format/src/number-format2.js +152 -72
  233. package/lib/packages/components/number-format/src/number-format2.js.map +1 -1
  234. package/lib/packages/components/page-turner/index.js +2 -2
  235. package/lib/packages/components/page-turner/src/page-turner.js +13 -63
  236. package/lib/packages/components/page-turner/src/page-turner.js.map +1 -1
  237. package/lib/packages/components/page-turner/src/page-turner2.js +63 -13
  238. package/lib/packages/components/page-turner/src/page-turner2.js.map +1 -1
  239. package/lib/packages/components/panel-atm-iv/index.js +2 -2
  240. package/lib/packages/components/panel-atm-iv/src/panel-atm-iv.js +1064 -22
  241. package/lib/packages/components/panel-atm-iv/src/panel-atm-iv.js.map +1 -1
  242. package/lib/packages/components/panel-atm-iv/src/panel-atm-iv2.js +22 -1064
  243. package/lib/packages/components/panel-atm-iv/src/panel-atm-iv2.js.map +1 -1
  244. package/lib/packages/components/panel-historical-delivery-price/index.js +2 -2
  245. package/lib/packages/components/panel-historical-delivery-price/src/panel-historical-delivery-price.js +418 -23
  246. package/lib/packages/components/panel-historical-delivery-price/src/panel-historical-delivery-price.js.map +1 -1
  247. package/lib/packages/components/panel-historical-delivery-price/src/panel-historical-delivery-price2.js +23 -418
  248. package/lib/packages/components/panel-historical-delivery-price/src/panel-historical-delivery-price2.js.map +1 -1
  249. package/lib/packages/components/panel-implied-volatility-surface/index.js +2 -2
  250. package/lib/packages/components/panel-implied-volatility-surface/src/panel-implied-volatility-surface.js +336 -23
  251. package/lib/packages/components/panel-implied-volatility-surface/src/panel-implied-volatility-surface.js.map +1 -1
  252. package/lib/packages/components/panel-implied-volatility-surface/src/panel-implied-volatility-surface2.js +23 -336
  253. package/lib/packages/components/panel-implied-volatility-surface/src/panel-implied-volatility-surface2.js.map +1 -1
  254. package/lib/packages/components/panel-max-pain-price/index.js +2 -2
  255. package/lib/packages/components/panel-max-pain-price/src/panel-max-pain-price.js +373 -23
  256. package/lib/packages/components/panel-max-pain-price/src/panel-max-pain-price.js.map +1 -1
  257. package/lib/packages/components/panel-max-pain-price/src/panel-max-pain-price2.js +23 -373
  258. package/lib/packages/components/panel-max-pain-price/src/panel-max-pain-price2.js.map +1 -1
  259. package/lib/packages/components/panel-option-flow/index.js +2 -2
  260. package/lib/packages/components/panel-option-flow/src/panel-option-flow.js +23 -448
  261. package/lib/packages/components/panel-option-flow/src/panel-option-flow.js.map +1 -1
  262. package/lib/packages/components/panel-option-flow/src/panel-option-flow2.js +448 -23
  263. package/lib/packages/components/panel-option-flow/src/panel-option-flow2.js.map +1 -1
  264. package/lib/packages/components/panel-option-open-interest/index.js +2 -2
  265. package/lib/packages/components/panel-option-open-interest/src/panel-option-open-interest.js +23 -474
  266. package/lib/packages/components/panel-option-open-interest/src/panel-option-open-interest.js.map +1 -1
  267. package/lib/packages/components/panel-option-open-interest/src/panel-option-open-interest2.js +474 -23
  268. package/lib/packages/components/panel-option-open-interest/src/panel-option-open-interest2.js.map +1 -1
  269. package/lib/packages/components/panel-rv-calc/index.js +2 -2
  270. package/lib/packages/components/panel-rv-calc/src/panel-rv-calc.js +507 -9
  271. package/lib/packages/components/panel-rv-calc/src/panel-rv-calc.js.map +1 -1
  272. package/lib/packages/components/panel-rv-calc/src/panel-rv-calc2.js +9 -507
  273. package/lib/packages/components/panel-rv-calc/src/panel-rv-calc2.js.map +1 -1
  274. package/lib/packages/components/panel-sabr-calibrated-parameters/index.js +2 -2
  275. package/lib/packages/components/panel-sabr-calibrated-parameters/src/panel-sabr-calibrated-parameters.js +26 -256
  276. package/lib/packages/components/panel-sabr-calibrated-parameters/src/panel-sabr-calibrated-parameters.js.map +1 -1
  277. package/lib/packages/components/panel-sabr-calibrated-parameters/src/panel-sabr-calibrated-parameters2.js +256 -26
  278. package/lib/packages/components/panel-sabr-calibrated-parameters/src/panel-sabr-calibrated-parameters2.js.map +1 -1
  279. package/lib/packages/components/panel-spots-etf-net-inflow/index.js +2 -2
  280. package/lib/packages/components/panel-spots-etf-net-inflow/src/panel-spots-etf-net-inflow.js +22 -624
  281. package/lib/packages/components/panel-spots-etf-net-inflow/src/panel-spots-etf-net-inflow.js.map +1 -1
  282. package/lib/packages/components/panel-spots-etf-net-inflow/src/panel-spots-etf-net-inflow2.js +624 -22
  283. package/lib/packages/components/panel-spots-etf-net-inflow/src/panel-spots-etf-net-inflow2.js.map +1 -1
  284. package/lib/packages/components/panel-vol-fly/index.js +2 -2
  285. package/lib/packages/components/panel-vol-fly/src/panel-vol-fly.js +758 -22
  286. package/lib/packages/components/panel-vol-fly/src/panel-vol-fly.js.map +1 -1
  287. package/lib/packages/components/panel-vol-fly/src/panel-vol-fly2.js +22 -758
  288. package/lib/packages/components/panel-vol-fly/src/panel-vol-fly2.js.map +1 -1
  289. package/lib/packages/components/panel-volatility-term-structure/index.js +2 -2
  290. package/lib/packages/components/panel-volatility-term-structure/src/panel-volatility-term-structure.js +589 -23
  291. package/lib/packages/components/panel-volatility-term-structure/src/panel-volatility-term-structure.js.map +1 -1
  292. package/lib/packages/components/panel-volatility-term-structure/src/panel-volatility-term-structure2.js +23 -589
  293. package/lib/packages/components/panel-volatility-term-structure/src/panel-volatility-term-structure2.js.map +1 -1
  294. package/lib/packages/components/panel-vrp/src/panel-vrp.js +322 -61
  295. package/lib/packages/components/panel-vrp/src/panel-vrp.js.map +1 -1
  296. package/lib/packages/components/panel-vrp/src/panel-vrp2.js.map +1 -1
  297. package/lib/packages/components/popover/index.js +2 -2
  298. package/lib/packages/components/popover/src/popover.js +34 -88
  299. package/lib/packages/components/popover/src/popover.js.map +1 -1
  300. package/lib/packages/components/popover/src/popover2.js +88 -34
  301. package/lib/packages/components/popover/src/popover2.js.map +1 -1
  302. package/lib/packages/components/progress/index.js +2 -2
  303. package/lib/packages/components/progress/src/progress.js +13 -45
  304. package/lib/packages/components/progress/src/progress.js.map +1 -1
  305. package/lib/packages/components/progress/src/progress2.js +45 -13
  306. package/lib/packages/components/progress/src/progress2.js.map +1 -1
  307. package/lib/packages/components/radio/index.js +2 -2
  308. package/lib/packages/components/radio/src/radio-button.js +1 -1
  309. package/lib/packages/components/radio/src/radio-group.js +1 -1
  310. package/lib/packages/components/radio/src/radio.js +6 -31
  311. package/lib/packages/components/radio/src/radio.js.map +1 -1
  312. package/lib/packages/components/radio/src/radio2.js +31 -6
  313. package/lib/packages/components/radio/src/radio2.js.map +1 -1
  314. package/lib/packages/components/select/index.js +2 -2
  315. package/lib/packages/components/select/src/option.js +1 -1
  316. package/lib/packages/components/select/src/select.js +15 -41
  317. package/lib/packages/components/select/src/select.js.map +1 -1
  318. package/lib/packages/components/select/src/select2.js +41 -15
  319. package/lib/packages/components/select/src/select2.js.map +1 -1
  320. package/lib/packages/components/spin/index.js +2 -2
  321. package/lib/packages/components/spin/src/spin.js +31 -6
  322. package/lib/packages/components/spin/src/spin.js.map +1 -1
  323. package/lib/packages/components/spin/src/spin2.js +6 -31
  324. package/lib/packages/components/spin/src/spin2.js.map +1 -1
  325. package/lib/packages/locale/lang/en.js +6 -0
  326. package/lib/packages/locale/lang/en.js.map +1 -1
  327. package/lib/packages/locale/lang/zh-cn.js +6 -0
  328. package/lib/packages/locale/lang/zh-cn.js.map +1 -1
  329. package/lib/packages/locale/lang/zh-tw.js +6 -0
  330. package/lib/packages/locale/lang/zh-tw.js.map +1 -1
  331. package/lib/utils/vue/vnode.d.ts +6 -6
  332. package/package.json +1 -1
  333. package/theme-chalk/g-greeks-summary.css +1 -1
  334. package/theme-chalk/g-panel-vrp.css +1 -0
  335. package/theme-chalk/index.css +1 -1
  336. package/theme-chalk/src/greeks-summary.scss +8 -1
  337. package/theme-chalk/src/panel-vrp.scss +72 -2
  338. package/web-types.json +1 -1
@@ -2,266 +2,36 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var lib = require('ant-design-vue/lib');
6
- var vue = require('vue');
7
- var index$3 = require('../../pro-badge/index.js');
8
- require('../../../hooks/index.js');
9
5
  require('../../../utils/index.js');
10
- var panelSabrCalibratedParameters = require('./panel-sabr-calibrated-parameters2.js');
11
- var pluginVue_exportHelper = require('../../../../_virtual/plugin-vue_export-helper.js');
12
- var index = require('../../../hooks/use-namespace/index.js');
13
- var index$1 = require('../../../hooks/use-locale/index.js');
14
- var index$2 = require('../../../hooks/use-device-type/index.js');
15
- var chartHelp = require('../../../utils/chartHelp.js');
16
- var sabrPreview = require('../../../utils/sabrPreview.js');
17
- var dataLab = require('../../../utils/dataLab.js');
6
+ var runtime = require('../../../utils/vue/props/runtime.js');
18
7
 
19
- const _hoisted_1 = ["innerHTML"];
20
- const _hoisted_2 = { class: "period-controls" };
21
- const _hoisted_3 = { class: "selector-label h5-hide" };
22
- const _hoisted_4 = { class: "period-range" };
23
- const __default__ = {
24
- name: "GPanelSabrCalibratedParameters"
8
+ const panelSabrCalibratedParametersEmits = {
9
+ "update:currency": (currency) => true,
10
+ "update:exchange": (exchange) => true
25
11
  };
26
- const _sfc_main = /* @__PURE__ */ vue.defineComponent({
27
- ...__default__,
28
- props: panelSabrCalibratedParameters.panelSabrCalibratedParametersProps,
29
- emits: panelSabrCalibratedParameters.panelSabrCalibratedParametersEmits,
30
- setup(__props, { emit: emits }) {
31
- const props = __props;
32
- const ns = index.useNamespace("panel-sabr-calibrated-parameters");
33
- const { t } = index$1.useLocale();
34
- const { isMobile } = index$2.useDeviceType();
35
- const state = vue.reactive({
36
- loadingFlag: false,
37
- exchange: "deribit",
38
- currency: "BTC",
39
- snapshotTs: 0,
40
- snapshotTimeDisplay: "-",
41
- rows: []
42
- });
43
- const currency = vue.computed({
44
- get: () => "BTC",
45
- set: (newVal) => {
46
- emits("update:currency", newVal);
47
- }
48
- });
49
- const exchange = vue.computed({
50
- get: () => "deribit",
51
- set: (newVal) => {
52
- emits("update:exchange", newVal);
53
- }
54
- });
55
- const currencyList = [{ value: "BTC", label: "BTC", icon: "currency_btc" }];
56
- const formatRmse = (value) => Number(value || 0).toFixed(1);
57
- const formatForward = (value) => chartHelp.thousandthFormat(Number(value || 0), 2);
58
- const formatAtmIv = (value) => `${Number(value || 0).toFixed(2)}%`;
59
- const formatParam = (value) => Number(value || 0).toFixed(4);
60
- const formatPoints = (value) => chartHelp.thousandthFormat(Math.round(Number(value || 0)), 0);
61
- const columns = vue.computed(() => [
62
- {
63
- title: t("message.expiry"),
64
- dataIndex: "expiry",
65
- key: "expiry",
66
- align: "left",
67
- fixed: "left",
68
- width: 100
69
- },
70
- {
71
- title: "RMSE (bps)",
72
- dataIndex: "rmse_bps",
73
- key: "rmse_bps",
74
- align: "center",
75
- width: 100
76
- },
77
- {
78
- title: "Forward",
79
- dataIndex: "forward",
80
- key: "forward",
81
- align: "center",
82
- width: 120
83
- },
84
- {
85
- title: "ATM IV (%)",
86
- dataIndex: "atm_iv",
87
- key: "atm_iv",
88
- align: "center",
89
- width: 100
90
- },
91
- {
92
- title: "Alpha",
93
- dataIndex: "alpha",
94
- key: "alpha",
95
- align: "center",
96
- width: 110
97
- },
98
- {
99
- title: "Rho",
100
- dataIndex: "rho",
101
- key: "rho",
102
- align: "center",
103
- width: 110
104
- },
105
- {
106
- title: "Nu (v)",
107
- dataIndex: "nu",
108
- key: "nu",
109
- align: "center",
110
- width: 110
111
- },
112
- {
113
- title: "Points",
114
- dataIndex: "points",
115
- key: "points",
116
- align: "center",
117
- width: 100
118
- }
119
- ]);
120
- const tableData = vue.computed(
121
- () => [...state.rows].sort(
122
- (a, b) => chartHelp.parseExpiryToDate(a.expiry).getTime() - chartHelp.parseExpiryToDate(b.expiry).getTime()
123
- ).map((item) => ({
124
- key: item.expiry,
125
- expiry: item.expiry,
126
- rmse_bps: formatRmse(item.rmse_bps),
127
- forward: formatForward(item.forward),
128
- atm_iv: formatAtmIv(item.atm_iv),
129
- alpha: formatParam(item.alpha),
130
- rho: formatParam(item.rho),
131
- nu: formatParam(item.nu),
132
- points: formatPoints(item.points)
133
- }))
134
- );
135
- const applyPreviewData = () => {
136
- state.exchange = "deribit";
137
- state.snapshotTs = sabrPreview.getSabrPreviewSnapshotTs();
138
- state.rows = sabrPreview.buildSabrCalibratedParametersPreviewRows();
139
- state.snapshotTimeDisplay = chartHelp.showEndDateTime(state.snapshotTs);
140
- state.loadingFlag = false;
141
- };
142
- const fetchData = () => {
143
- if (props.previewMode) {
144
- applyPreviewData();
145
- return;
146
- }
147
- state.loadingFlag = true;
148
- state.exchange = "deribit";
149
- dataLab.getSabrCalibratedParameters({
150
- currency: "BTC",
151
- exchange: "deribit"
152
- }).then((res) => {
153
- if (res && res.code === 200 && res.data) {
154
- state.snapshotTs = Number(res.data.ts || 0);
155
- state.rows = Array.isArray(res.data.expiries) ? res.data.expiries : [];
156
- } else {
157
- state.snapshotTs = 0;
158
- state.rows = [];
159
- }
160
- state.snapshotTimeDisplay = state.snapshotTs > 0 ? chartHelp.showEndDateTime(state.snapshotTs) : "-";
161
- }).finally(() => {
162
- state.loadingFlag = false;
163
- });
164
- };
165
- vue.watch(
166
- () => props.previewMode,
167
- (locked, wasLocked) => {
168
- if (locked) {
169
- applyPreviewData();
170
- return;
171
- }
172
- if (wasLocked === true) {
173
- fetchData();
174
- }
175
- }
176
- );
177
- vue.onMounted(() => {
178
- if (props.previewMode) {
179
- applyPreviewData();
180
- } else {
181
- fetchData();
182
- }
183
- });
184
- return (_ctx, _cache) => {
185
- const _component_g_icon = vue.resolveComponent("g-icon");
186
- const _component_g_tooltip = vue.resolveComponent("g-tooltip");
187
- const _component_a_table = lib.Table;
188
- const _component_g_chart_panel = vue.resolveComponent("g-chart-panel");
189
- return vue.openBlock(), vue.createElementBlock(
190
- "div",
191
- {
192
- class: vue.normalizeClass([vue.unref(ns).b()])
193
- },
194
- [
195
- vue.createVNode(_component_g_chart_panel, {
196
- currency: vue.unref(currency),
197
- "onUpdate:currency": _cache[0] || (_cache[0] = ($event) => vue.isRef(currency) ? currency.value = $event : null),
198
- exchange: vue.unref(exchange),
199
- "onUpdate:exchange": _cache[1] || (_cache[1] = ($event) => vue.isRef(exchange) ? exchange.value = $event : null),
200
- loading: state.loadingFlag,
201
- showExchangeSelector: false,
202
- showCurrencySelector: false,
203
- currencyList,
204
- "content-locked": props.previewMode,
205
- onRefresh: fetchData
206
- }, {
207
- title: vue.withCtx(() => [
208
- vue.createTextVNode(
209
- vue.toDisplayString(vue.unref(t)("message.sabrCalibratedParameters")) + " ",
210
- 1
211
- ),
212
- vue.createVNode(_component_g_tooltip, { placement: "bottom" }, {
213
- title: vue.withCtx(() => [
214
- vue.createElementVNode("div", {
215
- class: "greeks-panel-tip",
216
- innerHTML: vue.unref(t)("message.sabrCalibratedParametersTips")
217
- }, null, 8, _hoisted_1)
218
- ]),
219
- default: vue.withCtx(() => [
220
- vue.createVNode(_component_g_icon, { name: "info_question_circle" })
221
- ]),
222
- _: 1
223
- }),
224
- vue.createVNode(vue.unref(index$3.GProBadge))
225
- ]),
226
- tool: vue.withCtx(() => [
227
- vue.createElementVNode("div", _hoisted_2, [
228
- vue.createElementVNode(
229
- "span",
230
- _hoisted_3,
231
- vue.toDisplayString(vue.unref(t)("message.time")),
232
- 1
233
- ),
234
- vue.createElementVNode(
235
- "span",
236
- _hoisted_4,
237
- vue.toDisplayString(state.snapshotTimeDisplay),
238
- 1
239
- )
240
- ])
241
- ]),
242
- body: vue.withCtx(() => [
243
- vue.createVNode(_component_a_table, {
244
- columns: vue.unref(columns),
245
- dataSource: vue.unref(tableData),
246
- size: "small",
247
- pagination: false,
248
- scroll: { x: 920 },
249
- class: "sabr-table",
250
- sticky: { offsetHeader: 0 }
251
- }, null, 8, ["columns", "dataSource"])
252
- ]),
253
- "content-locked-overlay": vue.withCtx(() => [
254
- vue.renderSlot(_ctx.$slots, "content-locked-overlay")
255
- ]),
256
- _: 3
257
- }, 8, ["currency", "exchange", "loading", "content-locked"])
258
- ],
259
- 2
260
- );
261
- };
12
+ const panelSabrCalibratedParametersProps = runtime.buildProps({
13
+ defaultCurrency: {
14
+ type: String,
15
+ required: false
16
+ },
17
+ defaultExchange: {
18
+ type: String,
19
+ required: false
20
+ },
21
+ currency: {
22
+ type: String,
23
+ required: false
24
+ },
25
+ exchange: {
26
+ type: String,
27
+ required: false
28
+ },
29
+ previewMode: {
30
+ type: Boolean,
31
+ default: false
262
32
  }
263
33
  });
264
- var PanelSabrCalibratedParameters = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/Users/luobowen/Desktop/greeks/greeks-live-ui/packages/components/panel-sabr-calibrated-parameters/src/panel-sabr-calibrated-parameters.vue"]]);
265
34
 
266
- exports["default"] = PanelSabrCalibratedParameters;
35
+ exports.panelSabrCalibratedParametersEmits = panelSabrCalibratedParametersEmits;
36
+ exports.panelSabrCalibratedParametersProps = panelSabrCalibratedParametersProps;
267
37
  //# sourceMappingURL=panel-sabr-calibrated-parameters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"panel-sabr-calibrated-parameters.js","sources":["../../../../../../../packages/components/panel-sabr-calibrated-parameters/src/panel-sabr-calibrated-parameters.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b()]\">\n <g-chart-panel\n v-model:currency=\"currency\"\n v-model:exchange=\"exchange\"\n :loading=\"state.loadingFlag\"\n :showExchangeSelector=\"false\"\n :showCurrencySelector=\"false\"\n :currencyList=\"currencyList\"\n :content-locked=\"props.previewMode\"\n @refresh=\"fetchData\"\n >\n <template #title>\n {{ t('message.sabrCalibratedParameters') }}\n <g-tooltip placement=\"bottom\">\n <g-icon name=\"info_question_circle\" />\n <template #title>\n <div\n class=\"greeks-panel-tip\"\n v-html=\"t('message.sabrCalibratedParametersTips')\"\n ></div>\n </template>\n </g-tooltip>\n <g-pro-badge />\n </template>\n\n <template #tool>\n <div class=\"period-controls\">\n <span class=\"selector-label h5-hide\">{{ t('message.time') }}</span>\n <span class=\"period-range\">{{ state.snapshotTimeDisplay }}</span>\n </div>\n </template>\n\n <template #body>\n <a-table\n :columns=\"columns\"\n :dataSource=\"tableData\"\n size=\"small\"\n :pagination=\"false\"\n :scroll=\"{ x: 920 }\"\n class=\"sabr-table\"\n :sticky=\"{ offsetHeader: 0 }\"\n />\n </template>\n\n <template #content-locked-overlay>\n <slot name=\"content-locked-overlay\" />\n </template>\n </g-chart-panel>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { GProBadge } from '@greeks-live-ui/components/pro-badge';\nimport { useDeviceType, useLocale, useNamespace } from '@greeks-live-ui/hooks';\nimport { computed, onMounted, reactive, watch } from 'vue';\nimport {\n buildSabrCalibratedParametersPreviewRows,\n getSabrCalibratedParameters,\n getSabrPreviewSnapshotTs,\n ISabrCalibratedParametersExpiryItem,\n} from '@greeks-live-ui/utils';\nimport {\n parseExpiryToDate,\n showEndDateTime,\n thousandthFormat,\n} from '@greeks-live-ui/utils';\nimport {\n panelSabrCalibratedParametersEmits,\n panelSabrCalibratedParametersProps,\n} from './panel-sabr-calibrated-parameters';\n\ndefineOptions({\n name: 'GPanelSabrCalibratedParameters',\n});\n\nconst ns = useNamespace('panel-sabr-calibrated-parameters');\nconst props = defineProps(panelSabrCalibratedParametersProps);\nconst emits = defineEmits(panelSabrCalibratedParametersEmits);\nconst { t } = useLocale();\nconst { isMobile } = useDeviceType();\n\nconst state = reactive({\n loadingFlag: false,\n exchange: 'deribit',\n currency: 'BTC',\n snapshotTs: 0,\n snapshotTimeDisplay: '-',\n rows: [] as ISabrCalibratedParametersExpiryItem[],\n});\n\nconst currency = computed({\n get: () => 'BTC',\n set: (newVal) => {\n emits('update:currency', newVal);\n },\n});\n\nconst exchange = computed({\n get: () => 'deribit',\n set: (newVal) => {\n emits('update:exchange', newVal);\n },\n});\n\nconst currencyList = [{ value: 'BTC', label: 'BTC', icon: 'currency_btc' }];\n\nconst formatRmse = (value: number) => Number(value || 0).toFixed(1);\nconst formatForward = (value: number) =>\n thousandthFormat(Number(value || 0), 2);\nconst formatAtmIv = (value: number) => `${Number(value || 0).toFixed(2)}%`;\nconst formatParam = (value: number) => Number(value || 0).toFixed(4);\nconst formatPoints = (value: number) =>\n thousandthFormat(Math.round(Number(value || 0)), 0);\n\nconst columns = computed(() => [\n {\n title: t('message.expiry'),\n dataIndex: 'expiry',\n key: 'expiry',\n align: 'left',\n fixed: 'left',\n width: 100,\n },\n {\n title: 'RMSE (bps)',\n dataIndex: 'rmse_bps',\n key: 'rmse_bps',\n align: 'center',\n width: 100,\n },\n {\n title: 'Forward',\n dataIndex: 'forward',\n key: 'forward',\n align: 'center',\n width: 120,\n },\n {\n title: 'ATM IV (%)',\n dataIndex: 'atm_iv',\n key: 'atm_iv',\n align: 'center',\n width: 100,\n },\n {\n title: 'Alpha',\n dataIndex: 'alpha',\n key: 'alpha',\n align: 'center',\n width: 110,\n },\n {\n title: 'Rho',\n dataIndex: 'rho',\n key: 'rho',\n align: 'center',\n width: 110,\n },\n {\n title: 'Nu (v)',\n dataIndex: 'nu',\n key: 'nu',\n align: 'center',\n width: 110,\n },\n {\n title: 'Points',\n dataIndex: 'points',\n key: 'points',\n align: 'center',\n width: 100,\n },\n]);\n\nconst tableData = computed(() =>\n [...state.rows]\n .sort(\n (a, b) =>\n parseExpiryToDate(a.expiry).getTime() -\n parseExpiryToDate(b.expiry).getTime()\n )\n .map((item) => ({\n key: item.expiry,\n expiry: item.expiry,\n rmse_bps: formatRmse(item.rmse_bps),\n forward: formatForward(item.forward),\n atm_iv: formatAtmIv(item.atm_iv),\n alpha: formatParam(item.alpha),\n rho: formatParam(item.rho),\n nu: formatParam(item.nu),\n points: formatPoints(item.points),\n }))\n);\n\nconst applyPreviewData = () => {\n state.exchange = 'deribit';\n state.snapshotTs = getSabrPreviewSnapshotTs();\n state.rows = buildSabrCalibratedParametersPreviewRows();\n state.snapshotTimeDisplay = showEndDateTime(state.snapshotTs);\n state.loadingFlag = false;\n};\n\nconst fetchData = () => {\n if (props.previewMode) {\n applyPreviewData();\n return;\n }\n state.loadingFlag = true;\n state.exchange = 'deribit';\n getSabrCalibratedParameters({\n currency: 'BTC',\n exchange: 'deribit',\n })\n .then((res) => {\n if (res && res.code === 200 && res.data) {\n state.snapshotTs = Number(res.data.ts || 0);\n state.rows = Array.isArray(res.data.expiries) ? res.data.expiries : [];\n } else {\n state.snapshotTs = 0;\n state.rows = [];\n }\n state.snapshotTimeDisplay =\n state.snapshotTs > 0 ? showEndDateTime(state.snapshotTs) : '-';\n })\n .finally(() => {\n state.loadingFlag = false;\n });\n};\n\nwatch(\n () => props.previewMode,\n (locked, wasLocked) => {\n if (locked) {\n applyPreviewData();\n return;\n }\n if (wasLocked === true) {\n fetchData();\n }\n }\n);\n\nonMounted(() => {\n if (props.previewMode) {\n applyPreviewData();\n } else {\n fetchData();\n }\n});\n</script>\n"],"names":["useNamespace","useLocale","useDeviceType","reactive","computed","thousandthFormat","parseExpiryToDate","getSabrPreviewSnapshotTs","buildSabrCalibratedParametersPreviewRows","showEndDateTime","getSabrCalibratedParameters","watch","onMounted"],"mappings":"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"}
1
+ {"version":3,"file":"panel-sabr-calibrated-parameters.js","sources":["../../../../../../../packages/components/panel-sabr-calibrated-parameters/src/panel-sabr-calibrated-parameters.ts"],"sourcesContent":["import { buildProps } from '@greeks-live-ui/utils'\nimport type PanelSabrCalibratedParameters from './panel-sabr-calibrated-parameters.vue'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const panelSabrCalibratedParametersEmits = {\n 'update:currency': (currency: string) => true,\n 'update:exchange': (exchange: string) => true,\n}\nexport type PanelSabrCalibratedParametersEmits = typeof panelSabrCalibratedParametersEmits\n\nexport const panelSabrCalibratedParametersProps = buildProps({\n defaultCurrency: {\n type: String,\n required: false,\n },\n defaultExchange: {\n type: String,\n required: false,\n },\n currency: {\n type: String,\n required: false,\n },\n exchange: {\n type: String,\n required: false,\n },\n previewMode: {\n type: Boolean,\n default: false,\n },\n})\nexport type PanelSabrCalibratedParametersProps = ExtractPropTypes<typeof panelSabrCalibratedParametersProps>\nexport type PanelSabrCalibratedParametersInstance = InstanceType<typeof PanelSabrCalibratedParameters>\n"],"names":["buildProps"],"mappings":";;;;;;;AAIO,MAAM,kCAAqC,GAAA;AAAA,EAChD,iBAAA,EAAmB,CAAC,QAAqB,KAAA,IAAA;AAAA,EACzC,iBAAA,EAAmB,CAAC,QAAqB,KAAA,IAAA;AAC3C,EAAA;AAGO,MAAM,qCAAqCA,kBAAW,CAAA;AAAA,EAC3D,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AACF,CAAC;;;;;"}
@@ -2,36 +2,266 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var lib = require('ant-design-vue/lib');
6
+ var vue = require('vue');
7
+ var index$3 = require('../../pro-badge/index.js');
8
+ require('../../../hooks/index.js');
5
9
  require('../../../utils/index.js');
6
- var runtime = require('../../../utils/vue/props/runtime.js');
10
+ var panelSabrCalibratedParameters = require('./panel-sabr-calibrated-parameters.js');
11
+ var pluginVue_exportHelper = require('../../../../_virtual/plugin-vue_export-helper.js');
12
+ var index = require('../../../hooks/use-namespace/index.js');
13
+ var index$1 = require('../../../hooks/use-locale/index.js');
14
+ var index$2 = require('../../../hooks/use-device-type/index.js');
15
+ var chartHelp = require('../../../utils/chartHelp.js');
16
+ var sabrPreview = require('../../../utils/sabrPreview.js');
17
+ var dataLab = require('../../../utils/dataLab.js');
7
18
 
8
- const panelSabrCalibratedParametersEmits = {
9
- "update:currency": (currency) => true,
10
- "update:exchange": (exchange) => true
19
+ const _hoisted_1 = ["innerHTML"];
20
+ const _hoisted_2 = { class: "period-controls" };
21
+ const _hoisted_3 = { class: "selector-label h5-hide" };
22
+ const _hoisted_4 = { class: "period-range" };
23
+ const __default__ = {
24
+ name: "GPanelSabrCalibratedParameters"
11
25
  };
12
- const panelSabrCalibratedParametersProps = runtime.buildProps({
13
- defaultCurrency: {
14
- type: String,
15
- required: false
16
- },
17
- defaultExchange: {
18
- type: String,
19
- required: false
20
- },
21
- currency: {
22
- type: String,
23
- required: false
24
- },
25
- exchange: {
26
- type: String,
27
- required: false
28
- },
29
- previewMode: {
30
- type: Boolean,
31
- default: false
26
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
27
+ ...__default__,
28
+ props: panelSabrCalibratedParameters.panelSabrCalibratedParametersProps,
29
+ emits: panelSabrCalibratedParameters.panelSabrCalibratedParametersEmits,
30
+ setup(__props, { emit: emits }) {
31
+ const props = __props;
32
+ const ns = index.useNamespace("panel-sabr-calibrated-parameters");
33
+ const { t } = index$1.useLocale();
34
+ const { isMobile } = index$2.useDeviceType();
35
+ const state = vue.reactive({
36
+ loadingFlag: false,
37
+ exchange: "deribit",
38
+ currency: "BTC",
39
+ snapshotTs: 0,
40
+ snapshotTimeDisplay: "-",
41
+ rows: []
42
+ });
43
+ const currency = vue.computed({
44
+ get: () => "BTC",
45
+ set: (newVal) => {
46
+ emits("update:currency", newVal);
47
+ }
48
+ });
49
+ const exchange = vue.computed({
50
+ get: () => "deribit",
51
+ set: (newVal) => {
52
+ emits("update:exchange", newVal);
53
+ }
54
+ });
55
+ const currencyList = [{ value: "BTC", label: "BTC", icon: "currency_btc" }];
56
+ const formatRmse = (value) => Number(value || 0).toFixed(1);
57
+ const formatForward = (value) => chartHelp.thousandthFormat(Number(value || 0), 2);
58
+ const formatAtmIv = (value) => `${Number(value || 0).toFixed(2)}%`;
59
+ const formatParam = (value) => Number(value || 0).toFixed(4);
60
+ const formatPoints = (value) => chartHelp.thousandthFormat(Math.round(Number(value || 0)), 0);
61
+ const columns = vue.computed(() => [
62
+ {
63
+ title: t("message.expiry"),
64
+ dataIndex: "expiry",
65
+ key: "expiry",
66
+ align: "left",
67
+ fixed: "left",
68
+ width: 100
69
+ },
70
+ {
71
+ title: "RMSE (bps)",
72
+ dataIndex: "rmse_bps",
73
+ key: "rmse_bps",
74
+ align: "center",
75
+ width: 100
76
+ },
77
+ {
78
+ title: "Forward",
79
+ dataIndex: "forward",
80
+ key: "forward",
81
+ align: "center",
82
+ width: 120
83
+ },
84
+ {
85
+ title: "ATM IV (%)",
86
+ dataIndex: "atm_iv",
87
+ key: "atm_iv",
88
+ align: "center",
89
+ width: 100
90
+ },
91
+ {
92
+ title: "Alpha",
93
+ dataIndex: "alpha",
94
+ key: "alpha",
95
+ align: "center",
96
+ width: 110
97
+ },
98
+ {
99
+ title: "Rho",
100
+ dataIndex: "rho",
101
+ key: "rho",
102
+ align: "center",
103
+ width: 110
104
+ },
105
+ {
106
+ title: "Nu (v)",
107
+ dataIndex: "nu",
108
+ key: "nu",
109
+ align: "center",
110
+ width: 110
111
+ },
112
+ {
113
+ title: "Points",
114
+ dataIndex: "points",
115
+ key: "points",
116
+ align: "center",
117
+ width: 100
118
+ }
119
+ ]);
120
+ const tableData = vue.computed(
121
+ () => [...state.rows].sort(
122
+ (a, b) => chartHelp.parseExpiryToDate(a.expiry).getTime() - chartHelp.parseExpiryToDate(b.expiry).getTime()
123
+ ).map((item) => ({
124
+ key: item.expiry,
125
+ expiry: item.expiry,
126
+ rmse_bps: formatRmse(item.rmse_bps),
127
+ forward: formatForward(item.forward),
128
+ atm_iv: formatAtmIv(item.atm_iv),
129
+ alpha: formatParam(item.alpha),
130
+ rho: formatParam(item.rho),
131
+ nu: formatParam(item.nu),
132
+ points: formatPoints(item.points)
133
+ }))
134
+ );
135
+ const applyPreviewData = () => {
136
+ state.exchange = "deribit";
137
+ state.snapshotTs = sabrPreview.getSabrPreviewSnapshotTs();
138
+ state.rows = sabrPreview.buildSabrCalibratedParametersPreviewRows();
139
+ state.snapshotTimeDisplay = chartHelp.showEndDateTime(state.snapshotTs);
140
+ state.loadingFlag = false;
141
+ };
142
+ const fetchData = () => {
143
+ if (props.previewMode) {
144
+ applyPreviewData();
145
+ return;
146
+ }
147
+ state.loadingFlag = true;
148
+ state.exchange = "deribit";
149
+ dataLab.getSabrCalibratedParameters({
150
+ currency: "BTC",
151
+ exchange: "deribit"
152
+ }).then((res) => {
153
+ if (res && res.code === 200 && res.data) {
154
+ state.snapshotTs = Number(res.data.ts || 0);
155
+ state.rows = Array.isArray(res.data.expiries) ? res.data.expiries : [];
156
+ } else {
157
+ state.snapshotTs = 0;
158
+ state.rows = [];
159
+ }
160
+ state.snapshotTimeDisplay = state.snapshotTs > 0 ? chartHelp.showEndDateTime(state.snapshotTs) : "-";
161
+ }).finally(() => {
162
+ state.loadingFlag = false;
163
+ });
164
+ };
165
+ vue.watch(
166
+ () => props.previewMode,
167
+ (locked, wasLocked) => {
168
+ if (locked) {
169
+ applyPreviewData();
170
+ return;
171
+ }
172
+ if (wasLocked === true) {
173
+ fetchData();
174
+ }
175
+ }
176
+ );
177
+ vue.onMounted(() => {
178
+ if (props.previewMode) {
179
+ applyPreviewData();
180
+ } else {
181
+ fetchData();
182
+ }
183
+ });
184
+ return (_ctx, _cache) => {
185
+ const _component_g_icon = vue.resolveComponent("g-icon");
186
+ const _component_g_tooltip = vue.resolveComponent("g-tooltip");
187
+ const _component_a_table = lib.Table;
188
+ const _component_g_chart_panel = vue.resolveComponent("g-chart-panel");
189
+ return vue.openBlock(), vue.createElementBlock(
190
+ "div",
191
+ {
192
+ class: vue.normalizeClass([vue.unref(ns).b()])
193
+ },
194
+ [
195
+ vue.createVNode(_component_g_chart_panel, {
196
+ currency: vue.unref(currency),
197
+ "onUpdate:currency": _cache[0] || (_cache[0] = ($event) => vue.isRef(currency) ? currency.value = $event : null),
198
+ exchange: vue.unref(exchange),
199
+ "onUpdate:exchange": _cache[1] || (_cache[1] = ($event) => vue.isRef(exchange) ? exchange.value = $event : null),
200
+ loading: state.loadingFlag,
201
+ showExchangeSelector: false,
202
+ showCurrencySelector: false,
203
+ currencyList,
204
+ "content-locked": props.previewMode,
205
+ onRefresh: fetchData
206
+ }, {
207
+ title: vue.withCtx(() => [
208
+ vue.createTextVNode(
209
+ vue.toDisplayString(vue.unref(t)("message.sabrCalibratedParameters")) + " ",
210
+ 1
211
+ ),
212
+ vue.createVNode(_component_g_tooltip, { placement: "bottom" }, {
213
+ title: vue.withCtx(() => [
214
+ vue.createElementVNode("div", {
215
+ class: "greeks-panel-tip",
216
+ innerHTML: vue.unref(t)("message.sabrCalibratedParametersTips")
217
+ }, null, 8, _hoisted_1)
218
+ ]),
219
+ default: vue.withCtx(() => [
220
+ vue.createVNode(_component_g_icon, { name: "info_question_circle" })
221
+ ]),
222
+ _: 1
223
+ }),
224
+ vue.createVNode(vue.unref(index$3.GProBadge))
225
+ ]),
226
+ tool: vue.withCtx(() => [
227
+ vue.createElementVNode("div", _hoisted_2, [
228
+ vue.createElementVNode(
229
+ "span",
230
+ _hoisted_3,
231
+ vue.toDisplayString(vue.unref(t)("message.time")),
232
+ 1
233
+ ),
234
+ vue.createElementVNode(
235
+ "span",
236
+ _hoisted_4,
237
+ vue.toDisplayString(state.snapshotTimeDisplay),
238
+ 1
239
+ )
240
+ ])
241
+ ]),
242
+ body: vue.withCtx(() => [
243
+ vue.createVNode(_component_a_table, {
244
+ columns: vue.unref(columns),
245
+ dataSource: vue.unref(tableData),
246
+ size: "small",
247
+ pagination: false,
248
+ scroll: { x: 920 },
249
+ class: "sabr-table",
250
+ sticky: { offsetHeader: 0 }
251
+ }, null, 8, ["columns", "dataSource"])
252
+ ]),
253
+ "content-locked-overlay": vue.withCtx(() => [
254
+ vue.renderSlot(_ctx.$slots, "content-locked-overlay")
255
+ ]),
256
+ _: 3
257
+ }, 8, ["currency", "exchange", "loading", "content-locked"])
258
+ ],
259
+ 2
260
+ );
261
+ };
32
262
  }
33
263
  });
264
+ var PanelSabrCalibratedParameters = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/Users/luobowen/Desktop/greeks/greeks-live-ui/packages/components/panel-sabr-calibrated-parameters/src/panel-sabr-calibrated-parameters.vue"]]);
34
265
 
35
- exports.panelSabrCalibratedParametersEmits = panelSabrCalibratedParametersEmits;
36
- exports.panelSabrCalibratedParametersProps = panelSabrCalibratedParametersProps;
266
+ exports["default"] = PanelSabrCalibratedParameters;
37
267
  //# sourceMappingURL=panel-sabr-calibrated-parameters2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"panel-sabr-calibrated-parameters2.js","sources":["../../../../../../../packages/components/panel-sabr-calibrated-parameters/src/panel-sabr-calibrated-parameters.ts"],"sourcesContent":["import { buildProps } from '@greeks-live-ui/utils'\nimport type PanelSabrCalibratedParameters from './panel-sabr-calibrated-parameters.vue'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const panelSabrCalibratedParametersEmits = {\n 'update:currency': (currency: string) => true,\n 'update:exchange': (exchange: string) => true,\n}\nexport type PanelSabrCalibratedParametersEmits = typeof panelSabrCalibratedParametersEmits\n\nexport const panelSabrCalibratedParametersProps = buildProps({\n defaultCurrency: {\n type: String,\n required: false,\n },\n defaultExchange: {\n type: String,\n required: false,\n },\n currency: {\n type: String,\n required: false,\n },\n exchange: {\n type: String,\n required: false,\n },\n previewMode: {\n type: Boolean,\n default: false,\n },\n})\nexport type PanelSabrCalibratedParametersProps = ExtractPropTypes<typeof panelSabrCalibratedParametersProps>\nexport type PanelSabrCalibratedParametersInstance = InstanceType<typeof PanelSabrCalibratedParameters>\n"],"names":["buildProps"],"mappings":";;;;;;;AAIO,MAAM,kCAAqC,GAAA;AAAA,EAChD,iBAAA,EAAmB,CAAC,QAAqB,KAAA,IAAA;AAAA,EACzC,iBAAA,EAAmB,CAAC,QAAqB,KAAA,IAAA;AAC3C,EAAA;AAGO,MAAM,qCAAqCA,kBAAW,CAAA;AAAA,EAC3D,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AACF,CAAC;;;;;"}
1
+ {"version":3,"file":"panel-sabr-calibrated-parameters2.js","sources":["../../../../../../../packages/components/panel-sabr-calibrated-parameters/src/panel-sabr-calibrated-parameters.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b()]\">\n <g-chart-panel\n v-model:currency=\"currency\"\n v-model:exchange=\"exchange\"\n :loading=\"state.loadingFlag\"\n :showExchangeSelector=\"false\"\n :showCurrencySelector=\"false\"\n :currencyList=\"currencyList\"\n :content-locked=\"props.previewMode\"\n @refresh=\"fetchData\"\n >\n <template #title>\n {{ t('message.sabrCalibratedParameters') }}\n <g-tooltip placement=\"bottom\">\n <g-icon name=\"info_question_circle\" />\n <template #title>\n <div\n class=\"greeks-panel-tip\"\n v-html=\"t('message.sabrCalibratedParametersTips')\"\n ></div>\n </template>\n </g-tooltip>\n <g-pro-badge />\n </template>\n\n <template #tool>\n <div class=\"period-controls\">\n <span class=\"selector-label h5-hide\">{{ t('message.time') }}</span>\n <span class=\"period-range\">{{ state.snapshotTimeDisplay }}</span>\n </div>\n </template>\n\n <template #body>\n <a-table\n :columns=\"columns\"\n :dataSource=\"tableData\"\n size=\"small\"\n :pagination=\"false\"\n :scroll=\"{ x: 920 }\"\n class=\"sabr-table\"\n :sticky=\"{ offsetHeader: 0 }\"\n />\n </template>\n\n <template #content-locked-overlay>\n <slot name=\"content-locked-overlay\" />\n </template>\n </g-chart-panel>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { GProBadge } from '@greeks-live-ui/components/pro-badge';\nimport { useDeviceType, useLocale, useNamespace } from '@greeks-live-ui/hooks';\nimport { computed, onMounted, reactive, watch } from 'vue';\nimport {\n buildSabrCalibratedParametersPreviewRows,\n getSabrCalibratedParameters,\n getSabrPreviewSnapshotTs,\n ISabrCalibratedParametersExpiryItem,\n} from '@greeks-live-ui/utils';\nimport {\n parseExpiryToDate,\n showEndDateTime,\n thousandthFormat,\n} from '@greeks-live-ui/utils';\nimport {\n panelSabrCalibratedParametersEmits,\n panelSabrCalibratedParametersProps,\n} from './panel-sabr-calibrated-parameters';\n\ndefineOptions({\n name: 'GPanelSabrCalibratedParameters',\n});\n\nconst ns = useNamespace('panel-sabr-calibrated-parameters');\nconst props = defineProps(panelSabrCalibratedParametersProps);\nconst emits = defineEmits(panelSabrCalibratedParametersEmits);\nconst { t } = useLocale();\nconst { isMobile } = useDeviceType();\n\nconst state = reactive({\n loadingFlag: false,\n exchange: 'deribit',\n currency: 'BTC',\n snapshotTs: 0,\n snapshotTimeDisplay: '-',\n rows: [] as ISabrCalibratedParametersExpiryItem[],\n});\n\nconst currency = computed({\n get: () => 'BTC',\n set: (newVal) => {\n emits('update:currency', newVal);\n },\n});\n\nconst exchange = computed({\n get: () => 'deribit',\n set: (newVal) => {\n emits('update:exchange', newVal);\n },\n});\n\nconst currencyList = [{ value: 'BTC', label: 'BTC', icon: 'currency_btc' }];\n\nconst formatRmse = (value: number) => Number(value || 0).toFixed(1);\nconst formatForward = (value: number) =>\n thousandthFormat(Number(value || 0), 2);\nconst formatAtmIv = (value: number) => `${Number(value || 0).toFixed(2)}%`;\nconst formatParam = (value: number) => Number(value || 0).toFixed(4);\nconst formatPoints = (value: number) =>\n thousandthFormat(Math.round(Number(value || 0)), 0);\n\nconst columns = computed(() => [\n {\n title: t('message.expiry'),\n dataIndex: 'expiry',\n key: 'expiry',\n align: 'left',\n fixed: 'left',\n width: 100,\n },\n {\n title: 'RMSE (bps)',\n dataIndex: 'rmse_bps',\n key: 'rmse_bps',\n align: 'center',\n width: 100,\n },\n {\n title: 'Forward',\n dataIndex: 'forward',\n key: 'forward',\n align: 'center',\n width: 120,\n },\n {\n title: 'ATM IV (%)',\n dataIndex: 'atm_iv',\n key: 'atm_iv',\n align: 'center',\n width: 100,\n },\n {\n title: 'Alpha',\n dataIndex: 'alpha',\n key: 'alpha',\n align: 'center',\n width: 110,\n },\n {\n title: 'Rho',\n dataIndex: 'rho',\n key: 'rho',\n align: 'center',\n width: 110,\n },\n {\n title: 'Nu (v)',\n dataIndex: 'nu',\n key: 'nu',\n align: 'center',\n width: 110,\n },\n {\n title: 'Points',\n dataIndex: 'points',\n key: 'points',\n align: 'center',\n width: 100,\n },\n]);\n\nconst tableData = computed(() =>\n [...state.rows]\n .sort(\n (a, b) =>\n parseExpiryToDate(a.expiry).getTime() -\n parseExpiryToDate(b.expiry).getTime()\n )\n .map((item) => ({\n key: item.expiry,\n expiry: item.expiry,\n rmse_bps: formatRmse(item.rmse_bps),\n forward: formatForward(item.forward),\n atm_iv: formatAtmIv(item.atm_iv),\n alpha: formatParam(item.alpha),\n rho: formatParam(item.rho),\n nu: formatParam(item.nu),\n points: formatPoints(item.points),\n }))\n);\n\nconst applyPreviewData = () => {\n state.exchange = 'deribit';\n state.snapshotTs = getSabrPreviewSnapshotTs();\n state.rows = buildSabrCalibratedParametersPreviewRows();\n state.snapshotTimeDisplay = showEndDateTime(state.snapshotTs);\n state.loadingFlag = false;\n};\n\nconst fetchData = () => {\n if (props.previewMode) {\n applyPreviewData();\n return;\n }\n state.loadingFlag = true;\n state.exchange = 'deribit';\n getSabrCalibratedParameters({\n currency: 'BTC',\n exchange: 'deribit',\n })\n .then((res) => {\n if (res && res.code === 200 && res.data) {\n state.snapshotTs = Number(res.data.ts || 0);\n state.rows = Array.isArray(res.data.expiries) ? res.data.expiries : [];\n } else {\n state.snapshotTs = 0;\n state.rows = [];\n }\n state.snapshotTimeDisplay =\n state.snapshotTs > 0 ? showEndDateTime(state.snapshotTs) : '-';\n })\n .finally(() => {\n state.loadingFlag = false;\n });\n};\n\nwatch(\n () => props.previewMode,\n (locked, wasLocked) => {\n if (locked) {\n applyPreviewData();\n return;\n }\n if (wasLocked === true) {\n fetchData();\n }\n }\n);\n\nonMounted(() => {\n if (props.previewMode) {\n applyPreviewData();\n } else {\n fetchData();\n }\n});\n</script>\n"],"names":["useNamespace","useLocale","useDeviceType","reactive","computed","thousandthFormat","parseExpiryToDate","getSabrPreviewSnapshotTs","buildSabrCalibratedParametersPreviewRows","showEndDateTime","getSabrCalibratedParameters","watch","onMounted"],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
- var panelSpotsEtfNetInflow$1 = require('./src/panel-spots-etf-net-inflow.js');
7
- var panelSpotsEtfNetInflow = require('./src/panel-spots-etf-net-inflow2.js');
6
+ var panelSpotsEtfNetInflow$1 = require('./src/panel-spots-etf-net-inflow2.js');
7
+ var panelSpotsEtfNetInflow = require('./src/panel-spots-etf-net-inflow.js');
8
8
  var install = require('../../utils/vue/install.js');
9
9
 
10
10
  const GPanelSpotsEtfNetInflow = install.withInstall(panelSpotsEtfNetInflow$1["default"]);