greeks-live-ui 0.1.21 → 0.1.22
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.
- package/dist/index.css +1 -1
- package/dist/index.full.min.mjs +92 -92
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +62 -329
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.min.mjs.map +1 -1
- package/dist/locale/en.mjs +0 -6
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.min.mjs.map +1 -1
- package/dist/locale/zh-cn.mjs +0 -6
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.min.mjs.map +1 -1
- package/dist/locale/zh-tw.mjs +0 -6
- package/es/components/chart/index.d.ts +28 -28
- package/es/components/chart/src/chart.vue.d.ts +28 -28
- package/es/components/chart-panel/index.d.ts +10 -10
- package/es/components/chart-panel/src/chart-panel.vue.d.ts +10 -10
- package/es/components/greeks-summary/index.d.ts +4 -4
- package/es/components/greeks-summary/src/greeks-summary.vue.d.ts +4 -4
- package/es/components/panel-vrp/index.d.ts +24 -59
- package/es/components/panel-vrp/src/panel-vrp.d.ts +0 -5
- package/es/components/panel-vrp/src/panel-vrp.vue.d.ts +24 -61
- package/es/components/popover/index.d.ts +6 -6
- package/es/components/popover/src/popover.d.ts +1 -1
- package/es/components/popover/src/popover.vue.d.ts +6 -6
- package/es/components/tag/index.d.ts +1 -1
- package/es/components/tag/src/tag.vue.d.ts +1 -1
- package/es/components/tooltip/index.d.ts +4 -4
- package/es/components/tooltip/src/tooltip.d.ts +1 -1
- package/es/components/tooltip/src/tooltip.vue.d.ts +4 -4
- package/es/hooks/use-floating/index.d.ts +4 -4
- package/es/hooks/use-z-index/index.d.ts +3 -3
- package/es/index.mjs +25 -25
- package/es/locale/lang/en.d.ts +0 -6
- package/es/locale/lang/zh-cn.d.ts +0 -6
- package/es/locale/lang/zh-tw.d.ts +0 -6
- package/es/packages/components/checkbox/index.mjs +2 -2
- package/es/packages/components/checkbox/src/checkbox.mjs +31 -5
- package/es/packages/components/checkbox/src/checkbox.mjs.map +1 -1
- package/es/packages/components/checkbox/src/checkbox2.mjs +5 -31
- package/es/packages/components/checkbox/src/checkbox2.mjs.map +1 -1
- package/es/packages/components/countdown/index.mjs +2 -2
- package/es/packages/components/countdown/src/countdown.mjs +163 -53
- package/es/packages/components/countdown/src/countdown.mjs.map +1 -1
- package/es/packages/components/countdown/src/countdown2.mjs +53 -163
- package/es/packages/components/countdown/src/countdown2.mjs.map +1 -1
- package/es/packages/components/currency-icon/index.mjs +2 -2
- package/es/packages/components/currency-icon/src/currency-icon.mjs +8 -45
- package/es/packages/components/currency-icon/src/currency-icon.mjs.map +1 -1
- package/es/packages/components/currency-icon/src/currency-icon2.mjs +45 -8
- package/es/packages/components/currency-icon/src/currency-icon2.mjs.map +1 -1
- package/es/packages/components/currency-radio-group/index.mjs +2 -2
- package/es/packages/components/currency-radio-group/src/currency-radio-group.mjs +18 -57
- package/es/packages/components/currency-radio-group/src/currency-radio-group.mjs.map +1 -1
- package/es/packages/components/currency-radio-group/src/currency-radio-group2.mjs +57 -18
- package/es/packages/components/currency-radio-group/src/currency-radio-group2.mjs.map +1 -1
- package/es/packages/components/dropdown-button/index.mjs +2 -2
- package/es/packages/components/dropdown-button/src/dropdown-button.mjs +39 -5
- package/es/packages/components/dropdown-button/src/dropdown-button.mjs.map +1 -1
- package/es/packages/components/dropdown-button/src/dropdown-button2.mjs +5 -39
- package/es/packages/components/dropdown-button/src/dropdown-button2.mjs.map +1 -1
- package/es/packages/components/greeks-summary/index.mjs +2 -2
- package/es/packages/components/greeks-summary/src/greeks-summary.mjs +49 -340
- package/es/packages/components/greeks-summary/src/greeks-summary.mjs.map +1 -1
- package/es/packages/components/greeks-summary/src/greeks-summary2.mjs +340 -49
- package/es/packages/components/greeks-summary/src/greeks-summary2.mjs.map +1 -1
- package/es/packages/components/index.mjs +25 -25
- package/es/packages/components/menu/index.mjs +2 -2
- package/es/packages/components/menu/src/menu.mjs +5 -31
- package/es/packages/components/menu/src/menu.mjs.map +1 -1
- package/es/packages/components/menu/src/menu2.mjs +31 -5
- package/es/packages/components/menu/src/menu2.mjs.map +1 -1
- package/es/packages/components/menu-item/index.mjs +2 -2
- package/es/packages/components/menu-item/src/menu-item.mjs +5 -31
- package/es/packages/components/menu-item/src/menu-item.mjs.map +1 -1
- package/es/packages/components/menu-item/src/menu-item2.mjs +31 -5
- package/es/packages/components/menu-item/src/menu-item2.mjs.map +1 -1
- package/es/packages/components/number-format/index.mjs +2 -2
- package/es/packages/components/number-format/src/number-format.mjs +152 -71
- package/es/packages/components/number-format/src/number-format.mjs.map +1 -1
- package/es/packages/components/number-format/src/number-format2.mjs +71 -152
- package/es/packages/components/number-format/src/number-format2.mjs.map +1 -1
- package/es/packages/components/page-turner/index.mjs +2 -2
- package/es/packages/components/page-turner/src/page-turner.mjs +63 -12
- package/es/packages/components/page-turner/src/page-turner.mjs.map +1 -1
- package/es/packages/components/page-turner/src/page-turner2.mjs +12 -63
- package/es/packages/components/page-turner/src/page-turner2.mjs.map +1 -1
- package/es/packages/components/panel-gex-by-expiry/index.mjs +2 -2
- package/es/packages/components/panel-gex-by-expiry/src/panel-gex-by-expiry.mjs +554 -22
- package/es/packages/components/panel-gex-by-expiry/src/panel-gex-by-expiry.mjs.map +1 -1
- package/es/packages/components/panel-gex-by-expiry/src/panel-gex-by-expiry2.mjs +22 -554
- package/es/packages/components/panel-gex-by-expiry/src/panel-gex-by-expiry2.mjs.map +1 -1
- package/es/packages/components/panel-iv-skew/index.mjs +2 -2
- package/es/packages/components/panel-iv-skew/src/panel-iv-skew.mjs +22 -418
- package/es/packages/components/panel-iv-skew/src/panel-iv-skew.mjs.map +1 -1
- package/es/packages/components/panel-iv-skew/src/panel-iv-skew2.mjs +418 -22
- package/es/packages/components/panel-iv-skew/src/panel-iv-skew2.mjs.map +1 -1
- package/es/packages/components/panel-max-pain-price/index.mjs +2 -2
- package/es/packages/components/panel-max-pain-price/src/panel-max-pain-price.mjs +22 -369
- package/es/packages/components/panel-max-pain-price/src/panel-max-pain-price.mjs.map +1 -1
- package/es/packages/components/panel-max-pain-price/src/panel-max-pain-price2.mjs +369 -22
- package/es/packages/components/panel-max-pain-price/src/panel-max-pain-price2.mjs.map +1 -1
- package/es/packages/components/panel-option-open-interest/index.mjs +2 -2
- package/es/packages/components/panel-option-open-interest/src/panel-option-open-interest.mjs +22 -474
- package/es/packages/components/panel-option-open-interest/src/panel-option-open-interest.mjs.map +1 -1
- package/es/packages/components/panel-option-open-interest/src/panel-option-open-interest2.mjs +474 -22
- package/es/packages/components/panel-option-open-interest/src/panel-option-open-interest2.mjs.map +1 -1
- package/es/packages/components/panel-option-trade-volume/index.mjs +2 -2
- package/es/packages/components/panel-option-trade-volume/src/panel-option-trade-volume.mjs +523 -22
- package/es/packages/components/panel-option-trade-volume/src/panel-option-trade-volume.mjs.map +1 -1
- package/es/packages/components/panel-option-trade-volume/src/panel-option-trade-volume2.mjs +22 -523
- package/es/packages/components/panel-option-trade-volume/src/panel-option-trade-volume2.mjs.map +1 -1
- package/es/packages/components/panel-sabr-calibration-diagnostics/index.mjs +2 -2
- package/es/packages/components/panel-sabr-calibration-diagnostics/src/panel-sabr-calibration-diagnostics.mjs +386 -25
- package/es/packages/components/panel-sabr-calibration-diagnostics/src/panel-sabr-calibration-diagnostics.mjs.map +1 -1
- package/es/packages/components/panel-sabr-calibration-diagnostics/src/panel-sabr-calibration-diagnostics2.mjs +25 -386
- package/es/packages/components/panel-sabr-calibration-diagnostics/src/panel-sabr-calibration-diagnostics2.mjs.map +1 -1
- package/es/packages/components/panel-sabr-iv-curve/index.mjs +2 -2
- package/es/packages/components/panel-sabr-iv-curve/src/panel-sabr-iv-curve.mjs +585 -25
- package/es/packages/components/panel-sabr-iv-curve/src/panel-sabr-iv-curve.mjs.map +1 -1
- package/es/packages/components/panel-sabr-iv-curve/src/panel-sabr-iv-curve2.mjs +25 -585
- package/es/packages/components/panel-sabr-iv-curve/src/panel-sabr-iv-curve2.mjs.map +1 -1
- package/es/packages/components/panel-vol-fly/index.mjs +2 -2
- package/es/packages/components/panel-vol-fly/src/panel-vol-fly.mjs +21 -758
- package/es/packages/components/panel-vol-fly/src/panel-vol-fly.mjs.map +1 -1
- package/es/packages/components/panel-vol-fly/src/panel-vol-fly2.mjs +758 -21
- package/es/packages/components/panel-vol-fly/src/panel-vol-fly2.mjs.map +1 -1
- package/es/packages/components/panel-volatility-term-structure/index.mjs +2 -2
- package/es/packages/components/panel-volatility-term-structure/src/panel-volatility-term-structure.mjs +585 -22
- package/es/packages/components/panel-volatility-term-structure/src/panel-volatility-term-structure.mjs.map +1 -1
- package/es/packages/components/panel-volatility-term-structure/src/panel-volatility-term-structure2.mjs +22 -585
- package/es/packages/components/panel-volatility-term-structure/src/panel-volatility-term-structure2.mjs.map +1 -1
- package/es/packages/components/panel-vrp/index.mjs +2 -2
- package/es/packages/components/panel-vrp/src/panel-vrp.mjs +478 -22
- package/es/packages/components/panel-vrp/src/panel-vrp.mjs.map +1 -1
- package/es/packages/components/panel-vrp/src/panel-vrp2.mjs +22 -739
- package/es/packages/components/panel-vrp/src/panel-vrp2.mjs.map +1 -1
- package/es/packages/components/popover/index.mjs +2 -2
- package/es/packages/components/popover/src/popover.mjs +88 -33
- package/es/packages/components/popover/src/popover.mjs.map +1 -1
- package/es/packages/components/popover/src/popover2.mjs +33 -88
- package/es/packages/components/popover/src/popover2.mjs.map +1 -1
- package/es/packages/components/pro-badge/index.mjs +2 -2
- package/es/packages/components/pro-badge/src/pro-badge.mjs +5 -90
- package/es/packages/components/pro-badge/src/pro-badge.mjs.map +1 -1
- package/es/packages/components/pro-badge/src/pro-badge2.mjs +90 -5
- package/es/packages/components/pro-badge/src/pro-badge2.mjs.map +1 -1
- package/es/packages/components/progress/index.mjs +2 -2
- package/es/packages/components/progress/src/progress.mjs +12 -45
- package/es/packages/components/progress/src/progress.mjs.map +1 -1
- package/es/packages/components/progress/src/progress2.mjs +45 -12
- package/es/packages/components/progress/src/progress2.mjs.map +1 -1
- package/es/packages/components/radio-dropdown/index.mjs +2 -2
- package/es/packages/components/radio-dropdown/src/radio-dropdown.mjs +205 -19
- package/es/packages/components/radio-dropdown/src/radio-dropdown.mjs.map +1 -1
- package/es/packages/components/radio-dropdown/src/radio-dropdown2.mjs +19 -205
- package/es/packages/components/radio-dropdown/src/radio-dropdown2.mjs.map +1 -1
- package/es/packages/components/tag/index.mjs +2 -2
- package/es/packages/components/tag/src/tag.mjs +28 -112
- package/es/packages/components/tag/src/tag.mjs.map +1 -1
- package/es/packages/components/tag/src/tag2.mjs +112 -28
- package/es/packages/components/tag/src/tag2.mjs.map +1 -1
- package/es/packages/locale/lang/en.mjs +0 -6
- package/es/packages/locale/lang/en.mjs.map +1 -1
- package/es/packages/locale/lang/zh-cn.mjs +0 -6
- package/es/packages/locale/lang/zh-cn.mjs.map +1 -1
- package/es/packages/locale/lang/zh-tw.mjs +0 -6
- package/es/packages/locale/lang/zh-tw.mjs.map +1 -1
- package/es/utils/vue/vnode.d.ts +6 -6
- package/lib/components/chart/index.d.ts +28 -28
- package/lib/components/chart/src/chart.vue.d.ts +28 -28
- package/lib/components/chart-panel/index.d.ts +10 -10
- package/lib/components/chart-panel/src/chart-panel.vue.d.ts +10 -10
- package/lib/components/greeks-summary/index.d.ts +4 -4
- package/lib/components/greeks-summary/src/greeks-summary.vue.d.ts +4 -4
- package/lib/components/panel-vrp/index.d.ts +24 -59
- package/lib/components/panel-vrp/src/panel-vrp.d.ts +0 -5
- package/lib/components/panel-vrp/src/panel-vrp.vue.d.ts +24 -61
- package/lib/components/popover/index.d.ts +6 -6
- package/lib/components/popover/src/popover.d.ts +1 -1
- package/lib/components/popover/src/popover.vue.d.ts +6 -6
- package/lib/components/tag/index.d.ts +1 -1
- package/lib/components/tag/src/tag.vue.d.ts +1 -1
- package/lib/components/tooltip/index.d.ts +4 -4
- package/lib/components/tooltip/src/tooltip.d.ts +1 -1
- package/lib/components/tooltip/src/tooltip.vue.d.ts +4 -4
- package/lib/hooks/use-floating/index.d.ts +4 -4
- package/lib/hooks/use-z-index/index.d.ts +3 -3
- package/lib/index.js +28 -28
- package/lib/locale/lang/en.d.ts +0 -6
- package/lib/locale/lang/zh-cn.d.ts +0 -6
- package/lib/locale/lang/zh-tw.d.ts +0 -6
- package/lib/packages/components/chart-panel/index.js +2 -2
- package/lib/packages/components/chart-panel/src/chart-panel.js +55 -473
- package/lib/packages/components/chart-panel/src/chart-panel.js.map +1 -1
- package/lib/packages/components/chart-panel/src/chart-panel2.js +473 -55
- package/lib/packages/components/chart-panel/src/chart-panel2.js.map +1 -1
- package/lib/packages/components/checkbox-group/index.js +2 -2
- package/lib/packages/components/checkbox-group/src/checkbox-group.js +6 -31
- package/lib/packages/components/checkbox-group/src/checkbox-group.js.map +1 -1
- package/lib/packages/components/checkbox-group/src/checkbox-group2.js +31 -6
- package/lib/packages/components/checkbox-group/src/checkbox-group2.js.map +1 -1
- package/lib/packages/components/currency-icon/index.js +2 -2
- package/lib/packages/components/currency-icon/src/currency-icon.js +9 -45
- package/lib/packages/components/currency-icon/src/currency-icon.js.map +1 -1
- package/lib/packages/components/currency-icon/src/currency-icon2.js +45 -9
- package/lib/packages/components/currency-icon/src/currency-icon2.js.map +1 -1
- package/lib/packages/components/date-time-picker/index.js +2 -2
- package/lib/packages/components/date-time-picker/src/date-time-picker.js +13 -121
- package/lib/packages/components/date-time-picker/src/date-time-picker.js.map +1 -1
- package/lib/packages/components/date-time-picker/src/date-time-picker2.js +121 -13
- package/lib/packages/components/date-time-picker/src/date-time-picker2.js.map +1 -1
- package/lib/packages/components/direction-tag/index.js +2 -2
- package/lib/packages/components/direction-tag/src/direction-tag.js +15 -72
- package/lib/packages/components/direction-tag/src/direction-tag.js.map +1 -1
- package/lib/packages/components/direction-tag/src/direction-tag2.js +72 -15
- package/lib/packages/components/direction-tag/src/direction-tag2.js.map +1 -1
- package/lib/packages/components/dropdown-button/index.js +2 -2
- package/lib/packages/components/dropdown-button/src/dropdown-button.js +6 -39
- package/lib/packages/components/dropdown-button/src/dropdown-button.js.map +1 -1
- package/lib/packages/components/dropdown-button/src/dropdown-button2.js +39 -6
- package/lib/packages/components/dropdown-button/src/dropdown-button2.js.map +1 -1
- package/lib/packages/components/icon/index.js +2 -2
- package/lib/packages/components/icon/src/icon.js +17 -54
- package/lib/packages/components/icon/src/icon.js.map +1 -1
- package/lib/packages/components/icon/src/icon2.js +54 -17
- package/lib/packages/components/icon/src/icon2.js.map +1 -1
- package/lib/packages/components/index.js +28 -28
- package/lib/packages/components/menu/index.js +2 -2
- package/lib/packages/components/menu/src/menu.js +6 -31
- package/lib/packages/components/menu/src/menu.js.map +1 -1
- package/lib/packages/components/menu/src/menu2.js +31 -6
- package/lib/packages/components/menu/src/menu2.js.map +1 -1
- package/lib/packages/components/menu-item/index.js +2 -2
- package/lib/packages/components/menu-item/src/menu-item.js +6 -31
- package/lib/packages/components/menu-item/src/menu-item.js.map +1 -1
- package/lib/packages/components/menu-item/src/menu-item2.js +31 -6
- package/lib/packages/components/menu-item/src/menu-item2.js.map +1 -1
- package/lib/packages/components/number-format/index.js +2 -2
- package/lib/packages/components/number-format/src/number-format.js +152 -72
- package/lib/packages/components/number-format/src/number-format.js.map +1 -1
- package/lib/packages/components/number-format/src/number-format2.js +72 -152
- package/lib/packages/components/number-format/src/number-format2.js.map +1 -1
- package/lib/packages/components/page-turner/index.js +2 -2
- package/lib/packages/components/page-turner/src/page-turner.js +63 -13
- package/lib/packages/components/page-turner/src/page-turner.js.map +1 -1
- package/lib/packages/components/page-turner/src/page-turner2.js +13 -63
- package/lib/packages/components/page-turner/src/page-turner2.js.map +1 -1
- package/lib/packages/components/panel/index.js +2 -2
- package/lib/packages/components/panel/src/panel.js +82 -6
- package/lib/packages/components/panel/src/panel.js.map +1 -1
- package/lib/packages/components/panel/src/panel2.js +6 -82
- package/lib/packages/components/panel/src/panel2.js.map +1 -1
- package/lib/packages/components/panel-max-pain-price/index.js +2 -2
- package/lib/packages/components/panel-max-pain-price/src/panel-max-pain-price.js +23 -373
- package/lib/packages/components/panel-max-pain-price/src/panel-max-pain-price.js.map +1 -1
- package/lib/packages/components/panel-max-pain-price/src/panel-max-pain-price2.js +373 -23
- package/lib/packages/components/panel-max-pain-price/src/panel-max-pain-price2.js.map +1 -1
- package/lib/packages/components/panel-option-skew-table/index.js +2 -2
- package/lib/packages/components/panel-option-skew-table/src/panel-option-skew-table.js +265 -22
- package/lib/packages/components/panel-option-skew-table/src/panel-option-skew-table.js.map +1 -1
- package/lib/packages/components/panel-option-skew-table/src/panel-option-skew-table2.js +22 -265
- package/lib/packages/components/panel-option-skew-table/src/panel-option-skew-table2.js.map +1 -1
- package/lib/packages/components/panel-option-trade-volume/index.js +2 -2
- package/lib/packages/components/panel-option-trade-volume/src/panel-option-trade-volume.js +23 -523
- package/lib/packages/components/panel-option-trade-volume/src/panel-option-trade-volume.js.map +1 -1
- package/lib/packages/components/panel-option-trade-volume/src/panel-option-trade-volume2.js +523 -23
- package/lib/packages/components/panel-option-trade-volume/src/panel-option-trade-volume2.js.map +1 -1
- package/lib/packages/components/panel-rv-calc/index.js +2 -2
- package/lib/packages/components/panel-rv-calc/src/panel-rv-calc.js +9 -507
- package/lib/packages/components/panel-rv-calc/src/panel-rv-calc.js.map +1 -1
- package/lib/packages/components/panel-rv-calc/src/panel-rv-calc2.js +507 -9
- package/lib/packages/components/panel-rv-calc/src/panel-rv-calc2.js.map +1 -1
- package/lib/packages/components/panel-sabr-iv-curve/index.js +2 -2
- package/lib/packages/components/panel-sabr-iv-curve/src/panel-sabr-iv-curve.js +585 -26
- package/lib/packages/components/panel-sabr-iv-curve/src/panel-sabr-iv-curve.js.map +1 -1
- package/lib/packages/components/panel-sabr-iv-curve/src/panel-sabr-iv-curve2.js +26 -585
- package/lib/packages/components/panel-sabr-iv-curve/src/panel-sabr-iv-curve2.js.map +1 -1
- package/lib/packages/components/panel-skew/index.js +2 -2
- package/lib/packages/components/panel-skew/src/panel-skew.js +751 -22
- package/lib/packages/components/panel-skew/src/panel-skew.js.map +1 -1
- package/lib/packages/components/panel-skew/src/panel-skew2.js +22 -751
- package/lib/packages/components/panel-skew/src/panel-skew2.js.map +1 -1
- package/lib/packages/components/panel-spots-etf-net-inflow/index.js +2 -2
- package/lib/packages/components/panel-spots-etf-net-inflow/src/panel-spots-etf-net-inflow.js +624 -22
- package/lib/packages/components/panel-spots-etf-net-inflow/src/panel-spots-etf-net-inflow.js.map +1 -1
- package/lib/packages/components/panel-spots-etf-net-inflow/src/panel-spots-etf-net-inflow2.js +22 -624
- package/lib/packages/components/panel-spots-etf-net-inflow/src/panel-spots-etf-net-inflow2.js.map +1 -1
- package/lib/packages/components/panel-trade-scatter-plot/index.js +2 -2
- package/lib/packages/components/panel-trade-scatter-plot/src/panel-trade-scatter-plot.js +473 -22
- package/lib/packages/components/panel-trade-scatter-plot/src/panel-trade-scatter-plot.js.map +1 -1
- package/lib/packages/components/panel-trade-scatter-plot/src/panel-trade-scatter-plot2.js +22 -473
- package/lib/packages/components/panel-trade-scatter-plot/src/panel-trade-scatter-plot2.js.map +1 -1
- package/lib/packages/components/panel-vol-fly/index.js +2 -2
- package/lib/packages/components/panel-vol-fly/src/panel-vol-fly.js +22 -758
- package/lib/packages/components/panel-vol-fly/src/panel-vol-fly.js.map +1 -1
- package/lib/packages/components/panel-vol-fly/src/panel-vol-fly2.js +758 -22
- package/lib/packages/components/panel-vol-fly/src/panel-vol-fly2.js.map +1 -1
- package/lib/packages/components/panel-volatility-term-structure/index.js +2 -2
- package/lib/packages/components/panel-volatility-term-structure/src/panel-volatility-term-structure.js +23 -589
- package/lib/packages/components/panel-volatility-term-structure/src/panel-volatility-term-structure.js.map +1 -1
- package/lib/packages/components/panel-volatility-term-structure/src/panel-volatility-term-structure2.js +589 -23
- package/lib/packages/components/panel-volatility-term-structure/src/panel-volatility-term-structure2.js.map +1 -1
- package/lib/packages/components/panel-vrp/src/panel-vrp.js +61 -322
- package/lib/packages/components/panel-vrp/src/panel-vrp.js.map +1 -1
- package/lib/packages/components/panel-vrp/src/panel-vrp2.js.map +1 -1
- package/lib/packages/components/popover/index.js +2 -2
- package/lib/packages/components/popover/src/popover.js +88 -34
- package/lib/packages/components/popover/src/popover.js.map +1 -1
- package/lib/packages/components/popover/src/popover2.js +34 -88
- package/lib/packages/components/popover/src/popover2.js.map +1 -1
- package/lib/packages/components/pro-badge/index.js +2 -2
- package/lib/packages/components/pro-badge/src/pro-badge.js +6 -90
- package/lib/packages/components/pro-badge/src/pro-badge.js.map +1 -1
- package/lib/packages/components/pro-badge/src/pro-badge2.js +90 -6
- package/lib/packages/components/pro-badge/src/pro-badge2.js.map +1 -1
- package/lib/packages/components/progress/index.js +2 -2
- package/lib/packages/components/progress/src/progress.js +45 -13
- package/lib/packages/components/progress/src/progress.js.map +1 -1
- package/lib/packages/components/progress/src/progress2.js +13 -45
- package/lib/packages/components/progress/src/progress2.js.map +1 -1
- package/lib/packages/components/radio/index.js +2 -2
- package/lib/packages/components/radio/src/radio-button.js +1 -1
- package/lib/packages/components/radio/src/radio-group.js +1 -1
- package/lib/packages/components/radio/src/radio.js +31 -6
- package/lib/packages/components/radio/src/radio.js.map +1 -1
- package/lib/packages/components/radio/src/radio2.js +6 -31
- package/lib/packages/components/radio/src/radio2.js.map +1 -1
- package/lib/packages/components/spin/index.js +2 -2
- package/lib/packages/components/spin/src/spin.js +6 -31
- package/lib/packages/components/spin/src/spin.js.map +1 -1
- package/lib/packages/components/spin/src/spin2.js +31 -6
- package/lib/packages/components/spin/src/spin2.js.map +1 -1
- package/lib/packages/components/tooltip/index.js +2 -2
- package/lib/packages/components/tooltip/src/tooltip.js +26 -86
- package/lib/packages/components/tooltip/src/tooltip.js.map +1 -1
- package/lib/packages/components/tooltip/src/tooltip2.js +86 -26
- package/lib/packages/components/tooltip/src/tooltip2.js.map +1 -1
- package/lib/packages/locale/lang/en.js +0 -6
- package/lib/packages/locale/lang/en.js.map +1 -1
- package/lib/packages/locale/lang/zh-cn.js +0 -6
- package/lib/packages/locale/lang/zh-cn.js.map +1 -1
- package/lib/packages/locale/lang/zh-tw.js +0 -6
- package/lib/packages/locale/lang/zh-tw.js.map +1 -1
- package/lib/utils/vue/vnode.d.ts +6 -6
- package/package.json +2 -2
- package/theme-chalk/g-panel-vrp.css +0 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/panel-vrp.scss +2 -72
- package/web-types.json +1 -1
|
@@ -1,592 +1,32 @@
|
|
|
1
|
-
import { defineComponent, reactive, computed, watch, onMounted, resolveComponent, openBlock, createElementBlock, normalizeClass, unref, createVNode, isRef, withCtx, createTextVNode, toDisplayString, createElementVNode, Fragment, renderList, createBlock, renderSlot } from 'vue';
|
|
2
|
-
import { GProBadge } from '../../pro-badge/index.mjs';
|
|
3
|
-
import '../../../hooks/index.mjs';
|
|
4
1
|
import '../../../utils/index.mjs';
|
|
5
|
-
import {
|
|
6
|
-
import _export_sfc from '../../../../_virtual/plugin-vue_export-helper.mjs';
|
|
7
|
-
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
|
8
|
-
import { useLocale } from '../../../hooks/use-locale/index.mjs';
|
|
9
|
-
import { useDeviceType } from '../../../hooks/use-device-type/index.mjs';
|
|
10
|
-
import { useTheme } from '../../../hooks/use-theme/index.mjs';
|
|
11
|
-
import { thousandthFormat, showEndDateTime, parseExpiryToDate } from '../../../utils/chartHelp.mjs';
|
|
12
|
-
import { buildSabrIvCurvePreviewState } from '../../../utils/sabrPreview.mjs';
|
|
13
|
-
import { getSabrIvCurve, getSabrDiagnostics } from '../../../utils/dataLab.mjs';
|
|
2
|
+
import { buildProps } from '../../../utils/vue/props/runtime.mjs';
|
|
14
3
|
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const _hoisted_4 = { class: "selector-label" };
|
|
19
|
-
const _hoisted_5 = { class: "metrics-row" };
|
|
20
|
-
const _hoisted_6 = { class: "metric-item" };
|
|
21
|
-
const _hoisted_7 = { class: "metric-item" };
|
|
22
|
-
const _hoisted_8 = { class: "metric-item" };
|
|
23
|
-
const _hoisted_9 = { class: "period-controls" };
|
|
24
|
-
const _hoisted_10 = { class: "selector-label h5-hide" };
|
|
25
|
-
const _hoisted_11 = { class: "period-range" };
|
|
26
|
-
const _hoisted_12 = {
|
|
27
|
-
class: "echart",
|
|
28
|
-
ref: "echart"
|
|
4
|
+
const panelSabrIvCurveEmits = {
|
|
5
|
+
"update:currency": (currency) => true,
|
|
6
|
+
"update:exchange": (exchange) => true
|
|
29
7
|
};
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
snapshotTimeDisplay: "-",
|
|
51
|
-
rmseBps: 0,
|
|
52
|
-
forward: 0,
|
|
53
|
-
strikesCount: 0,
|
|
54
|
-
modelCurve: [],
|
|
55
|
-
marketPoints: []
|
|
56
|
-
});
|
|
57
|
-
const currency = computed({
|
|
58
|
-
get: () => "BTC",
|
|
59
|
-
set: (newVal) => {
|
|
60
|
-
emits("update:currency", newVal);
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
const exchange = computed({
|
|
64
|
-
get: () => "deribit",
|
|
65
|
-
set: (newVal) => {
|
|
66
|
-
emits("update:exchange", newVal);
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
const currencyList = [{ value: "BTC", label: "BTC", icon: "currency_btc" }];
|
|
70
|
-
const isValidNumber = (value) => typeof value === "number" && Number.isFinite(value);
|
|
71
|
-
const formatRmse = (value) => isValidNumber(value) ? value.toFixed(1) : "-";
|
|
72
|
-
const formatForward = (value) => isValidNumber(value) ? thousandthFormat(value, 2) : "-";
|
|
73
|
-
const formatStrikes = (value) => isValidNumber(value) ? thousandthFormat(value, 0) : "-";
|
|
74
|
-
const formatStrike = (value) => Number(value).toLocaleString(void 0, {
|
|
75
|
-
minimumFractionDigits: 0,
|
|
76
|
-
maximumFractionDigits: 8
|
|
77
|
-
});
|
|
78
|
-
const formatIvPercent = (value) => isValidNumber(value) ? `${value.toFixed(2)}%` : "-";
|
|
79
|
-
const normalizeIvPercent = (value) => {
|
|
80
|
-
if (value === null || value === void 0 || value === "") {
|
|
81
|
-
return null;
|
|
82
|
-
}
|
|
83
|
-
const n = Number(value);
|
|
84
|
-
if (!Number.isFinite(n))
|
|
85
|
-
return null;
|
|
86
|
-
return Math.abs(n) <= 2 ? n * 100 : n;
|
|
87
|
-
};
|
|
88
|
-
const resetCurveData = () => {
|
|
89
|
-
state.snapshotTs = 0;
|
|
90
|
-
state.snapshotTimeDisplay = "-";
|
|
91
|
-
state.rmseBps = 0;
|
|
92
|
-
state.forward = 0;
|
|
93
|
-
state.strikesCount = 0;
|
|
94
|
-
state.modelCurve = [];
|
|
95
|
-
state.marketPoints = [];
|
|
96
|
-
};
|
|
97
|
-
const applyPreviewData = () => {
|
|
98
|
-
state.loadingFlag = false;
|
|
99
|
-
state.exchange = "deribit";
|
|
100
|
-
const preview = buildSabrIvCurvePreviewState();
|
|
101
|
-
state.expiryOptions = preview.expiryOptions;
|
|
102
|
-
state.selectedExpiry = preview.selectedExpiry;
|
|
103
|
-
state.snapshotTs = preview.snapshotTs;
|
|
104
|
-
state.snapshotTimeDisplay = preview.snapshotTs > 0 ? showEndDateTime(preview.snapshotTs) : "-";
|
|
105
|
-
state.rmseBps = preview.rmseBps;
|
|
106
|
-
state.forward = preview.forward;
|
|
107
|
-
state.strikesCount = preview.strikesCount;
|
|
108
|
-
state.modelCurve = preview.modelCurve;
|
|
109
|
-
state.marketPoints = preview.marketPoints;
|
|
110
|
-
};
|
|
111
|
-
const fetchIvCurveByExpiry = async (expiry) => {
|
|
112
|
-
if (props.previewMode) {
|
|
113
|
-
return;
|
|
114
|
-
}
|
|
115
|
-
if (!expiry) {
|
|
116
|
-
resetCurveData();
|
|
117
|
-
return;
|
|
118
|
-
}
|
|
119
|
-
const res = await getSabrIvCurve({
|
|
120
|
-
currency: "BTC",
|
|
121
|
-
exchange: "deribit",
|
|
122
|
-
expiry
|
|
123
|
-
});
|
|
124
|
-
if (res && res.code === 200 && res.data) {
|
|
125
|
-
state.snapshotTs = Number(res.data.ts || 0);
|
|
126
|
-
state.snapshotTimeDisplay = state.snapshotTs > 0 ? showEndDateTime(state.snapshotTs) : "-";
|
|
127
|
-
state.rmseBps = Number(res.data.rmse_bps || 0);
|
|
128
|
-
state.forward = Number(res.data.forward || 0);
|
|
129
|
-
state.strikesCount = Number(res.data.strikes_count || 0);
|
|
130
|
-
state.modelCurve = Array.isArray(res.data.model_curve) ? res.data.model_curve : [];
|
|
131
|
-
state.marketPoints = Array.isArray(res.data.market_points) ? res.data.market_points : [];
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
resetCurveData();
|
|
135
|
-
};
|
|
136
|
-
const fetchDiagnosticsExpiries = async () => {
|
|
137
|
-
const res = await getSabrDiagnostics({
|
|
138
|
-
currency: "BTC",
|
|
139
|
-
exchange: "deribit"
|
|
140
|
-
});
|
|
141
|
-
if (res && res.code === 200 && res.data) {
|
|
142
|
-
const rows = Array.isArray(res.data.expiries) ? res.data.expiries : [];
|
|
143
|
-
const allExpiries = Array.from(
|
|
144
|
-
new Set(
|
|
145
|
-
rows.map((item) => String(item.expiry || "").trim()).filter((expiry) => expiry.length > 0)
|
|
146
|
-
)
|
|
147
|
-
).sort(
|
|
148
|
-
(a, b) => parseExpiryToDate(a).getTime() - parseExpiryToDate(b).getTime()
|
|
149
|
-
);
|
|
150
|
-
state.expiryOptions = allExpiries;
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
state.expiryOptions = [];
|
|
154
|
-
};
|
|
155
|
-
const fetchAllData = async () => {
|
|
156
|
-
if (props.previewMode) {
|
|
157
|
-
applyPreviewData();
|
|
158
|
-
return;
|
|
159
|
-
}
|
|
160
|
-
state.loadingFlag = true;
|
|
161
|
-
state.exchange = "deribit";
|
|
162
|
-
try {
|
|
163
|
-
await fetchDiagnosticsExpiries();
|
|
164
|
-
const hasCurrent = state.expiryOptions.includes(state.selectedExpiry);
|
|
165
|
-
state.selectedExpiry = hasCurrent ? state.selectedExpiry : state.expiryOptions[0] || "";
|
|
166
|
-
await fetchIvCurveByExpiry(state.selectedExpiry);
|
|
167
|
-
} finally {
|
|
168
|
-
state.loadingFlag = false;
|
|
169
|
-
}
|
|
170
|
-
};
|
|
171
|
-
const handleExpiryChange = async (value) => {
|
|
172
|
-
if (props.previewMode) {
|
|
173
|
-
return;
|
|
174
|
-
}
|
|
175
|
-
state.selectedExpiry = value;
|
|
176
|
-
state.loadingFlag = true;
|
|
177
|
-
try {
|
|
178
|
-
await fetchIvCurveByExpiry(state.selectedExpiry);
|
|
179
|
-
} finally {
|
|
180
|
-
state.loadingFlag = false;
|
|
181
|
-
}
|
|
182
|
-
};
|
|
183
|
-
const strikeKey = (value) => value.toFixed(8);
|
|
184
|
-
const marketPointMap = computed(() => {
|
|
185
|
-
const map = /* @__PURE__ */ new Map();
|
|
186
|
-
state.marketPoints.forEach((point) => {
|
|
187
|
-
if (point.strike_kind === 0 && isValidNumber(point.strike)) {
|
|
188
|
-
map.set(strikeKey(point.strike), point);
|
|
189
|
-
}
|
|
190
|
-
});
|
|
191
|
-
return map;
|
|
192
|
-
});
|
|
193
|
-
const interpolatedPointMap = computed(() => {
|
|
194
|
-
const map = /* @__PURE__ */ new Map();
|
|
195
|
-
state.marketPoints.forEach((point) => {
|
|
196
|
-
if (point.strike_kind === 1 && isValidNumber(point.strike)) {
|
|
197
|
-
map.set(strikeKey(point.strike), point);
|
|
198
|
-
}
|
|
199
|
-
});
|
|
200
|
-
return map;
|
|
201
|
-
});
|
|
202
|
-
const nearestModelIv = (strike) => {
|
|
203
|
-
let nearestIv = null;
|
|
204
|
-
let nearestDelta = Number.POSITIVE_INFINITY;
|
|
205
|
-
state.modelCurve.forEach((point) => {
|
|
206
|
-
if (!isValidNumber(point.k) || !isValidNumber(point.iv))
|
|
207
|
-
return;
|
|
208
|
-
const delta = Math.abs(point.k - strike);
|
|
209
|
-
if (delta < nearestDelta) {
|
|
210
|
-
nearestDelta = delta;
|
|
211
|
-
nearestIv = point.iv;
|
|
212
|
-
}
|
|
213
|
-
});
|
|
214
|
-
return nearestIv;
|
|
215
|
-
};
|
|
216
|
-
const chartOption = computed(() => {
|
|
217
|
-
const modelData = state.modelCurve.map((item) => {
|
|
218
|
-
const k = Number(item.k);
|
|
219
|
-
const iv = normalizeIvPercent(item.iv);
|
|
220
|
-
return Number.isFinite(k) && isValidNumber(iv) ? [k, iv] : null;
|
|
221
|
-
}).filter((item) => Array.isArray(item));
|
|
222
|
-
const marketLineData = state.marketPoints.filter((item) => item.strike_kind === 0).map((item) => {
|
|
223
|
-
const strike = Number(item.strike);
|
|
224
|
-
const ivMid = normalizeIvPercent(item.iv_mid);
|
|
225
|
-
return Number.isFinite(strike) ? [strike, ivMid] : null;
|
|
226
|
-
}).filter((item) => Array.isArray(item)).sort((a, b) => a[0] - b[0]);
|
|
227
|
-
const interpolatedData = state.marketPoints.filter((item) => item.strike_kind === 1).map((item) => {
|
|
228
|
-
const strike = Number(item.strike);
|
|
229
|
-
const y = normalizeIvPercent(item.iv_model);
|
|
230
|
-
return Number.isFinite(strike) && isValidNumber(y) ? [strike, y] : null;
|
|
231
|
-
}).filter((point) => Array.isArray(point)).sort((a, b) => a[0] - b[0]);
|
|
232
|
-
return {
|
|
233
|
-
color: ["#1fad9c", "#8B959F", "#FF9A2E"],
|
|
234
|
-
legend: {
|
|
235
|
-
top: 0,
|
|
236
|
-
left: "center",
|
|
237
|
-
itemGap: isMobile.value ? 6 : 16,
|
|
238
|
-
textStyle: {
|
|
239
|
-
color: isDark.value ? "#CED4DA" : "#596169",
|
|
240
|
-
fontSize: 12
|
|
241
|
-
},
|
|
242
|
-
data: [
|
|
243
|
-
{
|
|
244
|
-
name: t("message.sabrIVLegendModel"),
|
|
245
|
-
icon: "path://M14.5 0C15.3284 0 16 0.671573 16 1.5C16 2.32843 15.3284 3 14.5 3H1.5C0.671573 3 0 2.32843 0 1.5C0 0.671573 0.671573 0 1.5 0H14.5Z"
|
|
246
|
-
},
|
|
247
|
-
{
|
|
248
|
-
name: t("message.sabrIVLegendMarket"),
|
|
249
|
-
icon: "path://M2.5 2C3.05228 2 3.5 2.44772 3.5 3C3.5 3.55228 3.05228 4 2.5 4H1C0.447715 4 0 3.55228 0 3C0 2.44772 0.447715 2 1 2H2.5ZM8.5 2C9.05228 2 9.5 2.44772 9.5 3C9.5 3.55228 9.05228 4 8.5 4H5.5C4.94772 4 4.5 3.55228 4.5 3C4.5 2.44772 4.94772 2 5.5 2H8.5ZM20.5 2C21.0523 2 21.5 2.44772 21.5 3C21.5 3.55228 21.0523 4 20.5 4H17.5C16.9477 4 16.5 3.55228 16.5 3C16.5 2.44772 16.9477 2 17.5 2H20.5ZM25 2C25.5523 2 26 2.44772 26 3C26 3.55228 25.5523 4 25 4H23.5C22.9477 4 22.5 3.55228 22.5 3C22.5 2.44772 22.9477 2 23.5 2H25Z M13,0 A3,3,0,0,1,16,3 A3,3,0,0,1,13,6 A3,3,0,0,1,10,3 A3,3,0,0,1,13,0Z M13,1.5 A1.5,1.5,0,0,0,11.5,3 A1.5,1.5,0,0,0,13,4.5 A1.5,1.5,0,0,0,14.5,3 A1.5,1.5,0,0,0,13,1.5Z"
|
|
250
|
-
},
|
|
251
|
-
{
|
|
252
|
-
name: t("message.sabrIVLegendInterpolated")
|
|
253
|
-
}
|
|
254
|
-
]
|
|
255
|
-
},
|
|
256
|
-
tooltip: {
|
|
257
|
-
trigger: "axis",
|
|
258
|
-
axisPointer: {
|
|
259
|
-
type: "cross",
|
|
260
|
-
snap: false,
|
|
261
|
-
label: {
|
|
262
|
-
show: true,
|
|
263
|
-
backgroundColor: "#DEE2E6",
|
|
264
|
-
color: "#343A40",
|
|
265
|
-
fontSize: 10,
|
|
266
|
-
padding: [4, 6, 4, 8],
|
|
267
|
-
formatter: (params) => {
|
|
268
|
-
if ((params == null ? void 0 : params.axisDimension) === "y") {
|
|
269
|
-
const y = Number(params == null ? void 0 : params.value);
|
|
270
|
-
return Number.isFinite(y) ? `${y.toFixed(2)}%` : "-";
|
|
271
|
-
}
|
|
272
|
-
const x = params == null ? void 0 : params.value;
|
|
273
|
-
const xNum = Number(x);
|
|
274
|
-
return Number.isFinite(xNum) ? formatStrike(xNum) : "-";
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
},
|
|
278
|
-
backgroundColor: isDark.value ? "#E9ECEF" : "#292F3D",
|
|
279
|
-
borderWidth: 0,
|
|
280
|
-
padding: [6, 8, 5, 6],
|
|
281
|
-
textStyle: {
|
|
282
|
-
color: isDark.value ? "#000000" : "#FFFFFF",
|
|
283
|
-
fontSize: 12,
|
|
284
|
-
lineHeight: 16,
|
|
285
|
-
fontWeight: 400
|
|
286
|
-
},
|
|
287
|
-
formatter: (params) => {
|
|
288
|
-
var _a, _b;
|
|
289
|
-
const first = Array.isArray(params) && params.length > 0 ? params[0] : null;
|
|
290
|
-
if (!first)
|
|
291
|
-
return "";
|
|
292
|
-
const strike = Number(first.axisValue);
|
|
293
|
-
const strikeText = isValidNumber(strike) ? formatStrike(strike) : "-";
|
|
294
|
-
const marketPoint = marketPointMap.value.get(strikeKey(strike));
|
|
295
|
-
const interpolatedPoint = interpolatedPointMap.value.get(
|
|
296
|
-
strikeKey(strike)
|
|
297
|
-
);
|
|
298
|
-
const isInterpolated = Boolean(interpolatedPoint);
|
|
299
|
-
const sabrIvRaw = isInterpolated ? (_a = interpolatedPoint == null ? void 0 : interpolatedPoint.iv_model) != null ? _a : nearestModelIv(strike) : isValidNumber(marketPoint == null ? void 0 : marketPoint.iv_model) ? marketPoint == null ? void 0 : marketPoint.iv_model : nearestModelIv(strike);
|
|
300
|
-
const marketIvRaw = isInterpolated ? null : (_b = marketPoint == null ? void 0 : marketPoint.iv_mid) != null ? _b : null;
|
|
301
|
-
const sabrIv = normalizeIvPercent(sabrIvRaw);
|
|
302
|
-
const marketIv = normalizeIvPercent(marketIvRaw);
|
|
303
|
-
const strikeLine = isInterpolated ? `${strikeText} <span style="color:#ADB5BD;">(${t(
|
|
304
|
-
"message.sabrIVInterpolatedStrike"
|
|
305
|
-
)})</span>` : strikeText;
|
|
306
|
-
const sabrRow = `
|
|
307
|
-
<div class="chart-tooltip">
|
|
308
|
-
<div>
|
|
309
|
-
<span class="chart-tooltip-line" style="background-color:#1fad9c;"></span>
|
|
310
|
-
<span>${t("message.sabrIVTooltipSabrAtmIv")}</span>
|
|
311
|
-
</div>
|
|
312
|
-
<span class="chart-tooltip-value">${formatIvPercent(
|
|
313
|
-
sabrIv
|
|
314
|
-
)}</span>
|
|
315
|
-
</div>`;
|
|
316
|
-
const marketRow = `
|
|
317
|
-
<div class="chart-tooltip">
|
|
318
|
-
<div>
|
|
319
|
-
<span class="sabr-tooltip-legend sabr-tooltip-legend--market-mid" aria-hidden="true">
|
|
320
|
-
<span class="sabr-tooltip-legend-segment"></span>
|
|
321
|
-
<span class="sabr-tooltip-legend-dot"></span>
|
|
322
|
-
<span class="sabr-tooltip-legend-segment"></span>
|
|
323
|
-
</span>
|
|
324
|
-
<span>${t("message.sabrIVTooltipMarketMidIv")}</span>
|
|
325
|
-
</div>
|
|
326
|
-
<span class="chart-tooltip-value">${formatIvPercent(
|
|
327
|
-
marketIv
|
|
328
|
-
)}</span>
|
|
329
|
-
</div>`;
|
|
330
|
-
return `<div class="chart-tooltip-box"><div style="margin-bottom:4px;">${strikeLine}</div>${sabrRow}${marketRow}</div>`;
|
|
331
|
-
}
|
|
332
|
-
},
|
|
333
|
-
grid: {
|
|
334
|
-
top: isMobile.value ? 50 : 40,
|
|
335
|
-
left: "left",
|
|
336
|
-
right: 16,
|
|
337
|
-
bottom: 30,
|
|
338
|
-
containLabel: true
|
|
339
|
-
},
|
|
340
|
-
xAxis: {
|
|
341
|
-
type: "value",
|
|
342
|
-
scale: true,
|
|
343
|
-
axisTick: { show: false },
|
|
344
|
-
axisLine: { show: false },
|
|
345
|
-
axisLabel: {
|
|
346
|
-
color: isDark.value ? "#CED4DA" : "#343A40",
|
|
347
|
-
fontWeight: 400,
|
|
348
|
-
fontSize: 10,
|
|
349
|
-
formatter: (value) => formatStrike(value)
|
|
350
|
-
},
|
|
351
|
-
splitLine: {
|
|
352
|
-
show: false
|
|
353
|
-
}
|
|
354
|
-
},
|
|
355
|
-
yAxis: {
|
|
356
|
-
type: "value",
|
|
357
|
-
scale: true,
|
|
358
|
-
name: t("message.sabrIVYAxisLabel"),
|
|
359
|
-
nameTextStyle: {
|
|
360
|
-
color: "#8B959F",
|
|
361
|
-
fontSize: 10,
|
|
362
|
-
padding: [0, 0, 0, 0]
|
|
363
|
-
},
|
|
364
|
-
axisTick: { show: false },
|
|
365
|
-
axisLine: { show: false },
|
|
366
|
-
axisLabel: {
|
|
367
|
-
color: isDark.value ? "#CED4DA" : "#343A40",
|
|
368
|
-
fontWeight: 400,
|
|
369
|
-
fontSize: 10,
|
|
370
|
-
formatter: (value) => `${value.toFixed(2)}%`
|
|
371
|
-
},
|
|
372
|
-
splitLine: {
|
|
373
|
-
lineStyle: {
|
|
374
|
-
color: isDark.value ? "#2B2F32" : "#F1F1F1",
|
|
375
|
-
width: 1
|
|
376
|
-
}
|
|
377
|
-
}
|
|
378
|
-
},
|
|
379
|
-
series: [
|
|
380
|
-
{
|
|
381
|
-
name: t("message.sabrIVLegendModel"),
|
|
382
|
-
type: "line",
|
|
383
|
-
smooth: true,
|
|
384
|
-
showSymbol: false,
|
|
385
|
-
symbol: "none",
|
|
386
|
-
silent: true,
|
|
387
|
-
tooltip: {
|
|
388
|
-
show: false
|
|
389
|
-
},
|
|
390
|
-
lineStyle: {
|
|
391
|
-
color: "#1fad9c"
|
|
392
|
-
},
|
|
393
|
-
data: modelData
|
|
394
|
-
},
|
|
395
|
-
{
|
|
396
|
-
name: t("message.sabrIVLegendMarket"),
|
|
397
|
-
type: "line",
|
|
398
|
-
showSymbol: true,
|
|
399
|
-
connectNulls: false,
|
|
400
|
-
symbolSize: 5,
|
|
401
|
-
lineStyle: {
|
|
402
|
-
width: 1,
|
|
403
|
-
type: "dashed",
|
|
404
|
-
color: "#8B959F"
|
|
405
|
-
},
|
|
406
|
-
data: marketLineData
|
|
407
|
-
},
|
|
408
|
-
{
|
|
409
|
-
name: t("message.sabrIVLegendInterpolated"),
|
|
410
|
-
type: "scatter",
|
|
411
|
-
symbol: "circle",
|
|
412
|
-
symbolSize: 5,
|
|
413
|
-
itemStyle: {
|
|
414
|
-
color: "transparent",
|
|
415
|
-
borderColor: "#FF9A2E",
|
|
416
|
-
borderWidth: 2
|
|
417
|
-
},
|
|
418
|
-
tooltip: {
|
|
419
|
-
show: true
|
|
420
|
-
},
|
|
421
|
-
data: interpolatedData
|
|
422
|
-
}
|
|
423
|
-
]
|
|
424
|
-
};
|
|
425
|
-
});
|
|
426
|
-
watch(
|
|
427
|
-
() => props.previewMode,
|
|
428
|
-
(locked, wasLocked) => {
|
|
429
|
-
if (locked) {
|
|
430
|
-
applyPreviewData();
|
|
431
|
-
return;
|
|
432
|
-
}
|
|
433
|
-
if (wasLocked === true) {
|
|
434
|
-
fetchAllData();
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
);
|
|
438
|
-
onMounted(() => {
|
|
439
|
-
if (props.previewMode) {
|
|
440
|
-
applyPreviewData();
|
|
441
|
-
} else {
|
|
442
|
-
fetchAllData();
|
|
443
|
-
}
|
|
444
|
-
});
|
|
445
|
-
return (_ctx, _cache) => {
|
|
446
|
-
const _component_g_icon = resolveComponent("g-icon");
|
|
447
|
-
const _component_g_tooltip = resolveComponent("g-tooltip");
|
|
448
|
-
const _component_g_select_option = resolveComponent("g-select-option");
|
|
449
|
-
const _component_g_select = resolveComponent("g-select");
|
|
450
|
-
const _component_g_chart = resolveComponent("g-chart");
|
|
451
|
-
const _component_g_chart_panel = resolveComponent("g-chart-panel");
|
|
452
|
-
return openBlock(), createElementBlock(
|
|
453
|
-
"div",
|
|
454
|
-
{
|
|
455
|
-
class: normalizeClass([unref(ns).b()])
|
|
456
|
-
},
|
|
457
|
-
[
|
|
458
|
-
createVNode(_component_g_chart_panel, {
|
|
459
|
-
currency: unref(currency),
|
|
460
|
-
"onUpdate:currency": _cache[1] || (_cache[1] = ($event) => isRef(currency) ? currency.value = $event : null),
|
|
461
|
-
exchange: unref(exchange),
|
|
462
|
-
"onUpdate:exchange": _cache[2] || (_cache[2] = ($event) => isRef(exchange) ? exchange.value = $event : null),
|
|
463
|
-
loading: state.loadingFlag,
|
|
464
|
-
showExchangeSelector: false,
|
|
465
|
-
showCurrencySelector: false,
|
|
466
|
-
currencyList,
|
|
467
|
-
"content-locked": props.previewMode,
|
|
468
|
-
onRefresh: fetchAllData
|
|
469
|
-
}, {
|
|
470
|
-
title: withCtx(() => [
|
|
471
|
-
createTextVNode(
|
|
472
|
-
toDisplayString(unref(t)("message.sabrIVTitle")) + " ",
|
|
473
|
-
1
|
|
474
|
-
),
|
|
475
|
-
createVNode(_component_g_tooltip, { placement: "bottom" }, {
|
|
476
|
-
title: withCtx(() => [
|
|
477
|
-
createElementVNode("div", {
|
|
478
|
-
class: "greeks-panel-tip",
|
|
479
|
-
innerHTML: unref(t)("message.sabrIVTips")
|
|
480
|
-
}, null, 8, _hoisted_1)
|
|
481
|
-
]),
|
|
482
|
-
default: withCtx(() => [
|
|
483
|
-
createVNode(_component_g_icon, { name: "info_question_circle" })
|
|
484
|
-
]),
|
|
485
|
-
_: 1
|
|
486
|
-
}),
|
|
487
|
-
createVNode(unref(GProBadge))
|
|
488
|
-
]),
|
|
489
|
-
tool: withCtx(() => [
|
|
490
|
-
createElementVNode("div", _hoisted_2, [
|
|
491
|
-
createElementVNode("div", _hoisted_3, [
|
|
492
|
-
createElementVNode(
|
|
493
|
-
"span",
|
|
494
|
-
_hoisted_4,
|
|
495
|
-
toDisplayString(unref(t)("message.expiry")),
|
|
496
|
-
1
|
|
497
|
-
),
|
|
498
|
-
createVNode(_component_g_select, {
|
|
499
|
-
value: state.selectedExpiry,
|
|
500
|
-
"onUpdate:value": _cache[0] || (_cache[0] = ($event) => state.selectedExpiry = $event),
|
|
501
|
-
size: unref(isPC) ? "small" : "medium",
|
|
502
|
-
class: "expiry-select",
|
|
503
|
-
onChange: handleExpiryChange
|
|
504
|
-
}, {
|
|
505
|
-
default: withCtx(() => [
|
|
506
|
-
(openBlock(true), createElementBlock(
|
|
507
|
-
Fragment,
|
|
508
|
-
null,
|
|
509
|
-
renderList(state.expiryOptions, (expiry) => {
|
|
510
|
-
return openBlock(), createBlock(_component_g_select_option, {
|
|
511
|
-
key: expiry,
|
|
512
|
-
value: expiry
|
|
513
|
-
}, {
|
|
514
|
-
default: withCtx(() => [
|
|
515
|
-
createTextVNode(
|
|
516
|
-
toDisplayString(expiry),
|
|
517
|
-
1
|
|
518
|
-
)
|
|
519
|
-
]),
|
|
520
|
-
_: 2
|
|
521
|
-
}, 1032, ["value"]);
|
|
522
|
-
}),
|
|
523
|
-
128
|
|
524
|
-
))
|
|
525
|
-
]),
|
|
526
|
-
_: 1
|
|
527
|
-
}, 8, ["value", "size"])
|
|
528
|
-
]),
|
|
529
|
-
createElementVNode("div", _hoisted_5, [
|
|
530
|
-
createElementVNode(
|
|
531
|
-
"span",
|
|
532
|
-
_hoisted_6,
|
|
533
|
-
"RMSE " + toDisplayString(formatRmse(state.rmseBps)) + " bps",
|
|
534
|
-
1
|
|
535
|
-
),
|
|
536
|
-
createElementVNode(
|
|
537
|
-
"span",
|
|
538
|
-
_hoisted_7,
|
|
539
|
-
"| Forward " + toDisplayString(formatForward(state.forward)),
|
|
540
|
-
1
|
|
541
|
-
),
|
|
542
|
-
createElementVNode(
|
|
543
|
-
"span",
|
|
544
|
-
_hoisted_8,
|
|
545
|
-
"| " + toDisplayString(formatStrikes(state.strikesCount)) + " " + toDisplayString(unref(t)("message.sabrIVStrikes")),
|
|
546
|
-
1
|
|
547
|
-
)
|
|
548
|
-
])
|
|
549
|
-
]),
|
|
550
|
-
createElementVNode("div", _hoisted_9, [
|
|
551
|
-
createElementVNode(
|
|
552
|
-
"span",
|
|
553
|
-
_hoisted_10,
|
|
554
|
-
toDisplayString(unref(t)("message.time")),
|
|
555
|
-
1
|
|
556
|
-
),
|
|
557
|
-
createElementVNode(
|
|
558
|
-
"span",
|
|
559
|
-
_hoisted_11,
|
|
560
|
-
toDisplayString(state.snapshotTimeDisplay),
|
|
561
|
-
1
|
|
562
|
-
)
|
|
563
|
-
])
|
|
564
|
-
]),
|
|
565
|
-
body: withCtx(() => [
|
|
566
|
-
createElementVNode(
|
|
567
|
-
"div",
|
|
568
|
-
_hoisted_12,
|
|
569
|
-
[
|
|
570
|
-
createVNode(_component_g_chart, {
|
|
571
|
-
class: "skew-chart",
|
|
572
|
-
option: unref(chartOption)
|
|
573
|
-
}, null, 8, ["option"])
|
|
574
|
-
],
|
|
575
|
-
512
|
|
576
|
-
)
|
|
577
|
-
]),
|
|
578
|
-
"content-locked-overlay": withCtx(() => [
|
|
579
|
-
renderSlot(_ctx.$slots, "content-locked-overlay")
|
|
580
|
-
]),
|
|
581
|
-
_: 3
|
|
582
|
-
}, 8, ["currency", "exchange", "loading", "content-locked"])
|
|
583
|
-
],
|
|
584
|
-
2
|
|
585
|
-
);
|
|
586
|
-
};
|
|
8
|
+
const panelSabrIvCurveProps = buildProps({
|
|
9
|
+
defaultCurrency: {
|
|
10
|
+
type: String,
|
|
11
|
+
required: false
|
|
12
|
+
},
|
|
13
|
+
defaultExchange: {
|
|
14
|
+
type: String,
|
|
15
|
+
required: false
|
|
16
|
+
},
|
|
17
|
+
currency: {
|
|
18
|
+
type: String,
|
|
19
|
+
required: false
|
|
20
|
+
},
|
|
21
|
+
exchange: {
|
|
22
|
+
type: String,
|
|
23
|
+
required: false
|
|
24
|
+
},
|
|
25
|
+
previewMode: {
|
|
26
|
+
type: Boolean,
|
|
27
|
+
default: false
|
|
587
28
|
}
|
|
588
29
|
});
|
|
589
|
-
var PanelSabrIvCurve = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "/Users/luobowen/Desktop/greeks/greeks-live-ui/packages/components/panel-sabr-iv-curve/src/panel-sabr-iv-curve.vue"]]);
|
|
590
30
|
|
|
591
|
-
export {
|
|
31
|
+
export { panelSabrIvCurveEmits, panelSabrIvCurveProps };
|
|
592
32
|
//# sourceMappingURL=panel-sabr-iv-curve2.mjs.map
|