greeks-live-ui 0.0.19 → 0.0.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 (226) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.full.min.mjs +64 -52
  3. package/dist/index.full.min.mjs.map +1 -1
  4. package/dist/index.full.mjs +5 -33
  5. package/es/components/chart/index.d.ts +28 -28
  6. package/es/components/chart/src/chart.vue.d.ts +28 -28
  7. package/es/components/chart-panel/index.d.ts +10 -10
  8. package/es/components/chart-panel/src/chart-panel.vue.d.ts +10 -10
  9. package/es/components/demo/index.d.ts +28 -28
  10. package/es/components/demo/src/demo.vue.d.ts +28 -28
  11. package/es/hooks/use-floating/index.d.ts +8 -8
  12. package/es/index.mjs +19 -19
  13. package/es/packages/components/button1/index.mjs +2 -2
  14. package/es/packages/components/button1/src/button1.mjs +5 -72
  15. package/es/packages/components/button1/src/button1.mjs.map +1 -1
  16. package/es/packages/components/button1/src/button12.mjs +72 -5
  17. package/es/packages/components/button1/src/button12.mjs.map +1 -1
  18. package/es/packages/components/chart-panel/src/chart-panel.mjs +6 -34
  19. package/es/packages/components/chart-panel/src/chart-panel.mjs.map +1 -1
  20. package/es/packages/components/chart-table/index.mjs +2 -2
  21. package/es/packages/components/chart-table/src/chart-table.mjs +15 -144
  22. package/es/packages/components/chart-table/src/chart-table.mjs.map +1 -1
  23. package/es/packages/components/chart-table/src/chart-table2.mjs +144 -15
  24. package/es/packages/components/chart-table/src/chart-table2.mjs.map +1 -1
  25. package/es/packages/components/checkbox/index.mjs +2 -2
  26. package/es/packages/components/checkbox/src/checkbox.mjs +5 -31
  27. package/es/packages/components/checkbox/src/checkbox.mjs.map +1 -1
  28. package/es/packages/components/checkbox/src/checkbox2.mjs +31 -5
  29. package/es/packages/components/checkbox/src/checkbox2.mjs.map +1 -1
  30. package/es/packages/components/checkbox-group/index.mjs +2 -2
  31. package/es/packages/components/checkbox-group/src/checkbox-group.mjs +31 -5
  32. package/es/packages/components/checkbox-group/src/checkbox-group.mjs.map +1 -1
  33. package/es/packages/components/checkbox-group/src/checkbox-group2.mjs +5 -31
  34. package/es/packages/components/checkbox-group/src/checkbox-group2.mjs.map +1 -1
  35. package/es/packages/components/demo/index.mjs +2 -2
  36. package/es/packages/components/demo/src/demo.mjs +5 -85
  37. package/es/packages/components/demo/src/demo.mjs.map +1 -1
  38. package/es/packages/components/demo/src/demo2.mjs +85 -5
  39. package/es/packages/components/demo/src/demo2.mjs.map +1 -1
  40. package/es/packages/components/dropdown-button/index.mjs +2 -2
  41. package/es/packages/components/dropdown-button/src/dropdown-button.mjs +39 -5
  42. package/es/packages/components/dropdown-button/src/dropdown-button.mjs.map +1 -1
  43. package/es/packages/components/dropdown-button/src/dropdown-button2.mjs +5 -39
  44. package/es/packages/components/dropdown-button/src/dropdown-button2.mjs.map +1 -1
  45. package/es/packages/components/icon/index.mjs +2 -2
  46. package/es/packages/components/icon/src/icon.mjs +15 -48
  47. package/es/packages/components/icon/src/icon.mjs.map +1 -1
  48. package/es/packages/components/icon/src/icon2.mjs +48 -15
  49. package/es/packages/components/icon/src/icon2.mjs.map +1 -1
  50. package/es/packages/components/index.mjs +19 -19
  51. package/es/packages/components/input-number/index.mjs +2 -2
  52. package/es/packages/components/input-number/src/input-number.mjs +31 -5
  53. package/es/packages/components/input-number/src/input-number.mjs.map +1 -1
  54. package/es/packages/components/input-number/src/input-number2.mjs +5 -31
  55. package/es/packages/components/input-number/src/input-number2.mjs.map +1 -1
  56. package/es/packages/components/panel-historical-delivery-price/index.mjs +2 -2
  57. package/es/packages/components/panel-historical-delivery-price/src/panel-historical-delivery-price.mjs +22 -412
  58. package/es/packages/components/panel-historical-delivery-price/src/panel-historical-delivery-price.mjs.map +1 -1
  59. package/es/packages/components/panel-historical-delivery-price/src/panel-historical-delivery-price2.mjs +412 -22
  60. package/es/packages/components/panel-historical-delivery-price/src/panel-historical-delivery-price2.mjs.map +1 -1
  61. package/es/packages/components/panel-iv-skew/index.mjs +2 -2
  62. package/es/packages/components/panel-iv-skew/src/panel-iv-skew.mjs +398 -22
  63. package/es/packages/components/panel-iv-skew/src/panel-iv-skew.mjs.map +1 -1
  64. package/es/packages/components/panel-iv-skew/src/panel-iv-skew2.mjs +22 -398
  65. package/es/packages/components/panel-iv-skew/src/panel-iv-skew2.mjs.map +1 -1
  66. package/es/packages/components/panel-max-pain-price/index.mjs +2 -2
  67. package/es/packages/components/panel-max-pain-price/src/panel-max-pain-price.mjs +288 -22
  68. package/es/packages/components/panel-max-pain-price/src/panel-max-pain-price.mjs.map +1 -1
  69. package/es/packages/components/panel-max-pain-price/src/panel-max-pain-price2.mjs +22 -288
  70. package/es/packages/components/panel-max-pain-price/src/panel-max-pain-price2.mjs.map +1 -1
  71. package/es/packages/components/panel-option-trade-volume/index.mjs +2 -2
  72. package/es/packages/components/panel-option-trade-volume/src/panel-option-trade-volume.mjs +504 -22
  73. package/es/packages/components/panel-option-trade-volume/src/panel-option-trade-volume.mjs.map +1 -1
  74. package/es/packages/components/panel-option-trade-volume/src/panel-option-trade-volume2.mjs +22 -504
  75. package/es/packages/components/panel-option-trade-volume/src/panel-option-trade-volume2.mjs.map +1 -1
  76. package/es/packages/components/panel-rv-calc/index.mjs +2 -2
  77. package/es/packages/components/panel-rv-calc/src/panel-rv-calc.mjs +8 -507
  78. package/es/packages/components/panel-rv-calc/src/panel-rv-calc.mjs.map +1 -1
  79. package/es/packages/components/panel-rv-calc/src/panel-rv-calc2.mjs +507 -8
  80. package/es/packages/components/panel-rv-calc/src/panel-rv-calc2.mjs.map +1 -1
  81. package/es/packages/components/panel-vrp/index.mjs +2 -2
  82. package/es/packages/components/panel-vrp/src/panel-vrp.mjs +22 -413
  83. package/es/packages/components/panel-vrp/src/panel-vrp.mjs.map +1 -1
  84. package/es/packages/components/panel-vrp/src/panel-vrp2.mjs +413 -22
  85. package/es/packages/components/panel-vrp/src/panel-vrp2.mjs.map +1 -1
  86. package/es/packages/components/select/index.mjs +2 -2
  87. package/es/packages/components/select/src/option.mjs +1 -1
  88. package/es/packages/components/select/src/select.mjs +10 -41
  89. package/es/packages/components/select/src/select.mjs.map +1 -1
  90. package/es/packages/components/select/src/select2.mjs +41 -10
  91. package/es/packages/components/select/src/select2.mjs.map +1 -1
  92. package/es/packages/components/spin/index.mjs +2 -2
  93. package/es/packages/components/spin/src/spin.mjs +5 -31
  94. package/es/packages/components/spin/src/spin.mjs.map +1 -1
  95. package/es/packages/components/spin/src/spin2.mjs +31 -5
  96. package/es/packages/components/spin/src/spin2.mjs.map +1 -1
  97. package/es/packages/components/table/index.mjs +2 -2
  98. package/es/packages/components/table/src/table.mjs +5 -37
  99. package/es/packages/components/table/src/table.mjs.map +1 -1
  100. package/es/packages/components/table/src/table2.mjs +37 -5
  101. package/es/packages/components/table/src/table2.mjs.map +1 -1
  102. package/es/packages/components/toggle-button/index.mjs +2 -2
  103. package/es/packages/components/toggle-button/src/toggle-button.mjs +51 -12
  104. package/es/packages/components/toggle-button/src/toggle-button.mjs.map +1 -1
  105. package/es/packages/components/toggle-button/src/toggle-button2.mjs +12 -51
  106. package/es/packages/components/toggle-button/src/toggle-button2.mjs.map +1 -1
  107. package/es/packages/components/tooltip/index.mjs +2 -2
  108. package/es/packages/components/tooltip/src/tooltip.mjs +7 -33
  109. package/es/packages/components/tooltip/src/tooltip.mjs.map +1 -1
  110. package/es/packages/components/tooltip/src/tooltip2.mjs +33 -7
  111. package/es/packages/components/tooltip/src/tooltip2.mjs.map +1 -1
  112. package/es/utils/vue/vnode.d.ts +6 -6
  113. package/lib/components/chart/index.d.ts +28 -28
  114. package/lib/components/chart/src/chart.vue.d.ts +28 -28
  115. package/lib/components/chart-panel/index.d.ts +10 -10
  116. package/lib/components/chart-panel/src/chart-panel.vue.d.ts +10 -10
  117. package/lib/components/demo/index.d.ts +28 -28
  118. package/lib/components/demo/src/demo.vue.d.ts +28 -28
  119. package/lib/hooks/use-floating/index.d.ts +8 -8
  120. package/lib/index.js +19 -19
  121. package/lib/packages/components/chart-panel/index.js +2 -2
  122. package/lib/packages/components/chart-panel/src/chart-panel.js +273 -39
  123. package/lib/packages/components/chart-panel/src/chart-panel.js.map +1 -1
  124. package/lib/packages/components/chart-panel/src/chart-panel2.js +39 -301
  125. package/lib/packages/components/chart-panel/src/chart-panel2.js.map +1 -1
  126. package/lib/packages/components/chart-table/index.js +2 -2
  127. package/lib/packages/components/chart-table/src/chart-table.js +144 -16
  128. package/lib/packages/components/chart-table/src/chart-table.js.map +1 -1
  129. package/lib/packages/components/chart-table/src/chart-table2.js +16 -144
  130. package/lib/packages/components/chart-table/src/chart-table2.js.map +1 -1
  131. package/lib/packages/components/checkbox/index.js +2 -2
  132. package/lib/packages/components/checkbox/src/checkbox.js +6 -31
  133. package/lib/packages/components/checkbox/src/checkbox.js.map +1 -1
  134. package/lib/packages/components/checkbox/src/checkbox2.js +31 -6
  135. package/lib/packages/components/checkbox/src/checkbox2.js.map +1 -1
  136. package/lib/packages/components/demo/index.js +2 -2
  137. package/lib/packages/components/demo/src/demo.js +6 -89
  138. package/lib/packages/components/demo/src/demo.js.map +1 -1
  139. package/lib/packages/components/demo/src/demo2.js +89 -6
  140. package/lib/packages/components/demo/src/demo2.js.map +1 -1
  141. package/lib/packages/components/dropdown/index.js +2 -2
  142. package/lib/packages/components/dropdown/src/dropdown.js +34 -6
  143. package/lib/packages/components/dropdown/src/dropdown.js.map +1 -1
  144. package/lib/packages/components/dropdown/src/dropdown2.js +6 -34
  145. package/lib/packages/components/dropdown/src/dropdown2.js.map +1 -1
  146. package/lib/packages/components/icon/index.js +2 -2
  147. package/lib/packages/components/icon/src/icon.js +48 -16
  148. package/lib/packages/components/icon/src/icon.js.map +1 -1
  149. package/lib/packages/components/icon/src/icon2.js +16 -48
  150. package/lib/packages/components/icon/src/icon2.js.map +1 -1
  151. package/lib/packages/components/index.js +19 -19
  152. package/lib/packages/components/input-number/index.js +2 -2
  153. package/lib/packages/components/input-number/src/input-number.js +31 -6
  154. package/lib/packages/components/input-number/src/input-number.js.map +1 -1
  155. package/lib/packages/components/input-number/src/input-number2.js +6 -31
  156. package/lib/packages/components/input-number/src/input-number2.js.map +1 -1
  157. package/lib/packages/components/menu-item/index.js +2 -2
  158. package/lib/packages/components/menu-item/src/menu-item.js +31 -6
  159. package/lib/packages/components/menu-item/src/menu-item.js.map +1 -1
  160. package/lib/packages/components/menu-item/src/menu-item2.js +6 -31
  161. package/lib/packages/components/menu-item/src/menu-item2.js.map +1 -1
  162. package/lib/packages/components/page-turner/index.js +2 -2
  163. package/lib/packages/components/page-turner/src/page-turner.js +67 -13
  164. package/lib/packages/components/page-turner/src/page-turner.js.map +1 -1
  165. package/lib/packages/components/page-turner/src/page-turner2.js +13 -67
  166. package/lib/packages/components/page-turner/src/page-turner2.js.map +1 -1
  167. package/lib/packages/components/panel-atm-iv/index.js +2 -2
  168. package/lib/packages/components/panel-atm-iv/src/panel-atm-iv.js +886 -22
  169. package/lib/packages/components/panel-atm-iv/src/panel-atm-iv.js.map +1 -1
  170. package/lib/packages/components/panel-atm-iv/src/panel-atm-iv2.js +22 -886
  171. package/lib/packages/components/panel-atm-iv/src/panel-atm-iv2.js.map +1 -1
  172. package/lib/packages/components/panel-iv-skew/index.js +2 -2
  173. package/lib/packages/components/panel-iv-skew/src/panel-iv-skew.js +23 -398
  174. package/lib/packages/components/panel-iv-skew/src/panel-iv-skew.js.map +1 -1
  175. package/lib/packages/components/panel-iv-skew/src/panel-iv-skew2.js +398 -23
  176. package/lib/packages/components/panel-iv-skew/src/panel-iv-skew2.js.map +1 -1
  177. package/lib/packages/components/panel-max-pain-price/index.js +2 -2
  178. package/lib/packages/components/panel-max-pain-price/src/panel-max-pain-price.js +288 -23
  179. package/lib/packages/components/panel-max-pain-price/src/panel-max-pain-price.js.map +1 -1
  180. package/lib/packages/components/panel-max-pain-price/src/panel-max-pain-price2.js +23 -288
  181. package/lib/packages/components/panel-max-pain-price/src/panel-max-pain-price2.js.map +1 -1
  182. package/lib/packages/components/panel-option-open-interest/index.js +2 -2
  183. package/lib/packages/components/panel-option-open-interest/src/panel-option-open-interest.js +378 -23
  184. package/lib/packages/components/panel-option-open-interest/src/panel-option-open-interest.js.map +1 -1
  185. package/lib/packages/components/panel-option-open-interest/src/panel-option-open-interest2.js +23 -378
  186. package/lib/packages/components/panel-option-open-interest/src/panel-option-open-interest2.js.map +1 -1
  187. package/lib/packages/components/panel-option-trade-volume/index.js +2 -2
  188. package/lib/packages/components/panel-option-trade-volume/src/panel-option-trade-volume.js +504 -23
  189. package/lib/packages/components/panel-option-trade-volume/src/panel-option-trade-volume.js.map +1 -1
  190. package/lib/packages/components/panel-option-trade-volume/src/panel-option-trade-volume2.js +23 -504
  191. package/lib/packages/components/panel-option-trade-volume/src/panel-option-trade-volume2.js.map +1 -1
  192. package/lib/packages/components/panel-rv/index.js +2 -2
  193. package/lib/packages/components/panel-rv/src/panel-rv.js +741 -23
  194. package/lib/packages/components/panel-rv/src/panel-rv.js.map +1 -1
  195. package/lib/packages/components/panel-rv/src/panel-rv2.js +23 -741
  196. package/lib/packages/components/panel-rv/src/panel-rv2.js.map +1 -1
  197. package/lib/packages/components/panel-rv-calc/index.js +2 -2
  198. package/lib/packages/components/panel-rv-calc/src/panel-rv-calc.js +9 -507
  199. package/lib/packages/components/panel-rv-calc/src/panel-rv-calc.js.map +1 -1
  200. package/lib/packages/components/panel-rv-calc/src/panel-rv-calc2.js +507 -9
  201. package/lib/packages/components/panel-rv-calc/src/panel-rv-calc2.js.map +1 -1
  202. package/lib/packages/components/panel-vrp/index.js +2 -2
  203. package/lib/packages/components/panel-vrp/src/panel-vrp.js +23 -413
  204. package/lib/packages/components/panel-vrp/src/panel-vrp.js.map +1 -1
  205. package/lib/packages/components/panel-vrp/src/panel-vrp2.js +413 -23
  206. package/lib/packages/components/panel-vrp/src/panel-vrp2.js.map +1 -1
  207. package/lib/packages/components/select/index.js +2 -2
  208. package/lib/packages/components/select/src/option.js +1 -1
  209. package/lib/packages/components/select/src/select.js +15 -41
  210. package/lib/packages/components/select/src/select.js.map +1 -1
  211. package/lib/packages/components/select/src/select2.js +41 -15
  212. package/lib/packages/components/select/src/select2.js.map +1 -1
  213. package/lib/packages/components/toggle-button/index.js +2 -2
  214. package/lib/packages/components/toggle-button/src/toggle-button.js +51 -13
  215. package/lib/packages/components/toggle-button/src/toggle-button.js.map +1 -1
  216. package/lib/packages/components/toggle-button/src/toggle-button2.js +13 -51
  217. package/lib/packages/components/toggle-button/src/toggle-button2.js.map +1 -1
  218. package/lib/utils/vue/vnode.d.ts +6 -6
  219. package/package.json +1 -1
  220. package/theme-chalk/base.css +1 -1
  221. package/theme-chalk/g-antd.css +1 -1
  222. package/theme-chalk/g-chart-panel.css +1 -1
  223. package/theme-chalk/index.css +1 -1
  224. package/theme-chalk/src/antd.scss +22 -5
  225. package/theme-chalk/src/chart-panel.scss +1 -1
  226. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"chart-panel.js","sources":["../../../../../../../packages/components/chart-panel/src/chart-panel.ts"],"sourcesContent":["import { buildProps } from '@greeks-live-ui/utils'\nimport type ChartPanel from './chart-panel.vue'\nimport type { ExtractPropTypes, PropType } from 'vue'\n\ntype OperationType =\n | 'line'\n | 'bar'\n | 'calc'\n | 'search'\n | 'toggle'\n | 'refresh'\n | 'fullscreen'\n | 'setting'\n | 'share';\n\nexport const chartPanelEmits = {\n 'update:currency': (currency: string) => true,\n 'update:exchange': (exchange: string) => true,\n 'operation': (operation: OperationType) => true,\n 'line': (line: boolean) => true,\n 'bar': (bar: boolean) => true,\n 'calc': (calc: boolean) => true,\n 'search': (search: boolean) => true,\n 'toggle': (toggle: boolean) => true,\n 'refresh': (refresh: boolean) => true,\n 'fullscreen': (fullscreen: boolean) => true,\n 'setting': (setting: boolean) => true,\n 'share': (share: boolean) => true,\n}\nexport type ChartPanelEmits = typeof chartPanelEmits\nexport const chartPanelProps = buildProps({\n currency: {\n type: String,\n default: 'BTC',\n required: true,\n },\n exchange: {\n type: String,\n required: false,\n },\n operations: {\n type: Array as PropType<OperationType[]>,\n required: false,\n default: [],\n },\n loading: {\n type: Boolean,\n required: false,\n },\n showType: {\n type: String,\n required: false,\n },\n})\nexport type ChartPanelProps = ExtractPropTypes<typeof chartPanelProps>\nexport type ChartPanelInstance = InstanceType<typeof ChartPanel>\n"],"names":["buildProps"],"mappings":";;;;;;;AAeO,MAAM,eAAkB,GAAA;AAAA,EAC7B,iBAAA,EAAmB,CAAC,QAAqB,KAAA,IAAA;AAAA,EACzC,iBAAA,EAAmB,CAAC,QAAqB,KAAA,IAAA;AAAA,EACzC,WAAA,EAAa,CAAC,SAA6B,KAAA,IAAA;AAAA,EAC3C,MAAA,EAAQ,CAAC,IAAkB,KAAA,IAAA;AAAA,EAC3B,KAAA,EAAO,CAAC,GAAiB,KAAA,IAAA;AAAA,EACzB,MAAA,EAAQ,CAAC,IAAkB,KAAA,IAAA;AAAA,EAC3B,QAAA,EAAU,CAAC,MAAoB,KAAA,IAAA;AAAA,EAC/B,QAAA,EAAU,CAAC,MAAoB,KAAA,IAAA;AAAA,EAC/B,SAAA,EAAW,CAAC,OAAqB,KAAA,IAAA;AAAA,EACjC,YAAA,EAAc,CAAC,UAAwB,KAAA,IAAA;AAAA,EACvC,SAAA,EAAW,CAAC,OAAqB,KAAA,IAAA;AAAA,EACjC,OAAA,EAAS,CAAC,KAAmB,KAAA,IAAA;AAC/B,EAAA;AAEO,MAAM,kBAAkBA,kBAAW,CAAA;AAAA,EACxC,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,IACT,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,KAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,IACV,SAAS,EAAC;AAAA,GACZ;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AACF,CAAC;;;;;"}
1
+ {"version":3,"file":"chart-panel.js","sources":["../../../../../../../packages/components/chart-panel/src/chart-panel.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b()]\">\n <g-panel>\n <template v-if=\"isPC\" #header>\n <div class=\"panel-header\">\n <!-- <g-select\n v-model:value=\"exchange\"\n option-label-prop=\"children\"\n disabled\n >\n <g-select-option\n v-for=\"item in exchangeList\"\n :value=\"item.value\"\n :key=\"item.value\"\n >\n <g-icon :type=\"item.icon\"></g-icon>\n </g-select-option>\n </g-select> -->\n\n <g-radio-dropdown\n v-model=\"currency\"\n :options=\"currencyList\"\n class=\"currency-radio\"\n >\n <template #highlightIcon>\n <g-icon :type=\"getCurrencyIcon(currency)\" :size=\"18\"></g-icon>\n </template>\n </g-radio-dropdown>\n\n <div class=\"chart-title-box\">\n <slot name=\"title\"></slot>\n </div>\n </div>\n </template>\n\n <template v-if=\"isPC\" #header-right>\n <slot name=\"header-right-filter\"></slot>\n\n <div class=\"right-icons\">\n <g-icon\n v-for=\"item in showOperations\"\n :type=\"item.icon\"\n :key=\"item.value\"\n @click=\"handleClickIcon(item.value)\"\n >\n </g-icon>\n </div>\n </template>\n\n <template v-if=\"isPC\" #tool>\n <slot name=\"tool\"></slot>\n </template>\n\n <template v-if=\"isMobile\" #header>\n <div class=\"chart-title-box\">\n <slot name=\"title\"></slot>\n </div>\n </template>\n <template v-if=\"isMobile\" #header-right>\n <slot name=\"header-right-filter\"></slot>\n\n <div class=\"right-icons\">\n <g-icon\n v-for=\"item in showOperations\"\n :type=\"item.icon\"\n :key=\"item.value\"\n @click=\"handleClickIcon(item.value)\"\n >\n </g-icon>\n </div>\n </template>\n <template v-if=\"isMobile\" #tool>\n <div class=\"greeks-panel-tool-box\">\n <g-select v-model:value=\"exchange\" option-label-prop=\"children\">\n <g-select-option\n v-for=\"item in exchangeList\"\n :value=\"item.value\"\n :key=\"item.value\"\n >\n <g-icon :type=\"item.icon\"></g-icon>\n <!-- {{ item.label }} -->\n </g-select-option>\n </g-select>\n\n <g-select\n v-model:value=\"currency\"\n option-label-prop=\"children\"\n class=\"currency-radio currency-radio-h5\"\n popupClassName=\"currency-radio-popup\"\n >\n <g-select-option\n v-for=\"periodItem in currencyList\"\n :value=\"periodItem.value\"\n >\n <g-icon\n :type=\"periodItem.icon\"\n class=\"currency-radio-icon\"\n ></g-icon>\n {{ periodItem.label }}\n </g-select-option>\n </g-select>\n\n <slot name=\"tool\"></slot>\n </div>\n </template>\n\n <template #body>\n <g-spin :spinning=\"props.loading\">\n <slot name=\"body\"></slot>\n </g-spin>\n </template>\n </g-panel>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { useNamespace, useDeviceType } from '@greeks-live-ui/hooks';\nimport { chartPanelEmits, chartPanelProps } from './chart-panel';\n\ndefineOptions({\n name: 'GChartPanel',\n});\nconst ns = useNamespace('chart-panel');\nconst props = defineProps(chartPanelProps);\nconst emits = defineEmits(chartPanelEmits);\n\nimport { reactive, computed } from 'vue';\n\nexport type OperationType =\n | 'line'\n | 'bar'\n | 'calc'\n | 'search'\n | 'toggle'\n | 'refresh'\n | 'fullscreen'\n | 'setting'\n | 'share';\n\nconst { isMobile, isPC } = useDeviceType();\n\nconst exchangeList = [\n { value: 'byb', label: '', icon: 'logo_bybit_square_l' },\n { value: 'okx', label: '', icon: 'logo_okx_square_d' },\n { value: 'deribit', label: '', icon: 'logo_deribit_square_l' },\n];\n\nconst currencyList = [\n { value: 'BTC', label: 'BTC', icon: 'currency_btc' },\n { value: 'ETH', label: 'ETH', icon: 'currency_eth' },\n { value: 'SOL_USDC', label: 'SOL', icon: 'currency_sol', isDropdown: true },\n { value: 'BNB_USDC', label: 'BNB', icon: 'currency_bnb', isDropdown: true },\n {\n value: 'PAXG_USDC',\n label: 'PAXG',\n icon: 'currency_paxg',\n isDropdown: true,\n },\n { value: 'XRP_USDC', label: 'XRP', icon: 'currency_xrp', isDropdown: true },\n];\n\nconst iconMap = {\n line: 'chart_swtichtochart',\n bar: 'chart_bar_switch_to_bar',\n calc: 'chart_calculator_line',\n calc_active: 'chart_calculator_filled',\n search: 'chart_search_filter',\n toggle: 'chart_switchtotable',\n refresh: 'chart_reload',\n fullscreen: 'chart_fullscreen',\n setting: 'chart_settings',\n share: 'chart_share',\n};\n\nconst state = reactive({\n isMobile,\n isPC,\n});\n\nconst showOperations = computed<Array<{ value: OperationType; icon: string }>>(\n () => {\n const defaultOperations: OperationType[] = state.isPC\n ? // ? ['refresh', 'fullscreen', 'setting', 'share']\n ['refresh']\n : ['refresh'];\n // : ['refresh', 'share'];\n return [...props.operations, ...defaultOperations].map((v) => {\n return {\n value: v,\n icon:\n v === 'calc' && props.showType === 'calc'\n ? iconMap['calc_active']\n : iconMap[v],\n };\n });\n }\n);\n\nconst handleClickIcon = (type: OperationType) => {\n emits(type as 'line', true);\n emits('operation', type);\n};\n\nconst getCurrencyIcon = (value: string) => {\n return currencyList.find((v) => v.value === value)?.icon || '';\n};\n\nconst currency = computed({\n get: () => props.currency || currencyList[0].value,\n set: (newVal) => {\n emits('update:currency', newVal);\n },\n});\nconst exchange = computed({\n get: () => props.exchange || exchangeList[0].value,\n set: (newVal) => {\n emits('update:exchange', newVal);\n },\n});\n</script>\n"],"names":["useNamespace","useDeviceType","reactive","computed"],"mappings":"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"}
@@ -2,310 +2,48 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var vue = require('vue');
6
- require('../../../hooks/index.js');
7
- var chartPanel = require('./chart-panel.js');
8
- var pluginVue_exportHelper = require('../../../../_virtual/plugin-vue_export-helper.js');
9
- var index = require('../../../hooks/use-namespace/index.js');
10
- var index$1 = require('../../../hooks/use-device-type/index.js');
5
+ require('../../../utils/index.js');
6
+ var runtime = require('../../../utils/vue/props/runtime.js');
11
7
 
12
- const _hoisted_1 = { class: "panel-header" };
13
- const _hoisted_2 = { class: "chart-title-box" };
14
- const _hoisted_3 = { class: "right-icons" };
15
- const _hoisted_4 = { class: "chart-title-box" };
16
- const _hoisted_5 = { class: "right-icons" };
17
- const _hoisted_6 = { class: "greeks-panel-tool-box" };
18
- const __default__ = {
19
- name: "GChartPanel"
8
+ const chartPanelEmits = {
9
+ "update:currency": (currency) => true,
10
+ "update:exchange": (exchange) => true,
11
+ "operation": (operation) => true,
12
+ "line": (line) => true,
13
+ "bar": (bar) => true,
14
+ "calc": (calc) => true,
15
+ "search": (search) => true,
16
+ "toggle": (toggle) => true,
17
+ "refresh": (refresh) => true,
18
+ "fullscreen": (fullscreen) => true,
19
+ "setting": (setting) => true,
20
+ "share": (share) => true
20
21
  };
21
- const _sfc_main = vue.defineComponent({
22
- ...__default__,
23
- props: chartPanel.chartPanelProps,
24
- emits: chartPanel.chartPanelEmits,
25
- setup(__props, { emit: emits }) {
26
- const props = __props;
27
- const ns = index.useNamespace("chart-panel");
28
- const { isMobile, isPC } = index$1.useDeviceType();
29
- const exchangeList = [
30
- { value: "byb", label: "", icon: "logo_bybit_square_l" },
31
- { value: "okx", label: "", icon: "logo_okx_square_d" },
32
- { value: "deribit", label: "", icon: "logo_deribit_square_l" }
33
- ];
34
- const currencyList = [
35
- { value: "BTC", label: "BTC", icon: "currency_btc" },
36
- { value: "ETH", label: "ETH", icon: "currency_eth" },
37
- { value: "SOL_USDC", label: "SOL", icon: "currency_sol", isDropdown: true },
38
- { value: "BNB_USDC", label: "BNB", icon: "currency_bnb", isDropdown: true },
39
- {
40
- value: "PAXG_USDC",
41
- label: "PAXG",
42
- icon: "currency_paxg",
43
- isDropdown: true
44
- },
45
- { value: "XRP_USDC", label: "XRP", icon: "currency_xrp", isDropdown: true }
46
- ];
47
- const iconMap = {
48
- line: "chart_swtichtochart",
49
- bar: "chart_bar_switch_to_bar",
50
- calc: "chart_calculator_line",
51
- calc_active: "chart_calculator_filled",
52
- search: "chart_search_filter",
53
- toggle: "chart_switchtotable",
54
- refresh: "chart_reload",
55
- fullscreen: "chart_fullscreen",
56
- setting: "chart_settings",
57
- share: "chart_share"
58
- };
59
- const state = vue.reactive({
60
- isMobile,
61
- isPC
62
- });
63
- const showOperations = vue.computed(
64
- () => {
65
- const defaultOperations = state.isPC ? ["refresh"] : ["refresh"];
66
- return [...props.operations, ...defaultOperations].map((v) => {
67
- return {
68
- value: v,
69
- icon: v === "calc" && props.showType === "calc" ? iconMap["calc_active"] : iconMap[v]
70
- };
71
- });
72
- }
73
- );
74
- const handleClickIcon = (type) => {
75
- emits(type, true);
76
- emits("operation", type);
77
- };
78
- const getCurrencyIcon = (value) => {
79
- var _a;
80
- return ((_a = currencyList.find((v) => v.value === value)) == null ? void 0 : _a.icon) || "";
81
- };
82
- const currency = vue.computed({
83
- get: () => props.currency || currencyList[0].value,
84
- set: (newVal) => {
85
- emits("update:currency", newVal);
86
- }
87
- });
88
- const exchange = vue.computed({
89
- get: () => props.exchange || exchangeList[0].value,
90
- set: (newVal) => {
91
- emits("update:exchange", newVal);
92
- }
93
- });
94
- return (_ctx, _cache) => {
95
- const _component_g_icon = vue.resolveComponent("g-icon");
96
- const _component_g_select_option = vue.resolveComponent("g-select-option");
97
- const _component_g_select = vue.resolveComponent("g-select");
98
- const _component_g_radio_dropdown = vue.resolveComponent("g-radio-dropdown");
99
- const _component_g_spin = vue.resolveComponent("g-spin");
100
- const _component_g_panel = vue.resolveComponent("g-panel");
101
- return vue.openBlock(), vue.createElementBlock(
102
- "div",
103
- {
104
- class: vue.normalizeClass([vue.unref(ns).b()])
105
- },
106
- [
107
- vue.createVNode(
108
- _component_g_panel,
109
- null,
110
- vue.createSlots({
111
- body: vue.withCtx(() => [
112
- vue.createVNode(_component_g_spin, {
113
- spinning: props.loading
114
- }, {
115
- default: vue.withCtx(() => [
116
- vue.renderSlot(_ctx.$slots, "body")
117
- ]),
118
- _: 3
119
- }, 8, ["spinning"])
120
- ]),
121
- _: 2
122
- }, [
123
- vue.unref(isPC) ? {
124
- name: "header",
125
- fn: vue.withCtx(() => [
126
- vue.createElementVNode("div", _hoisted_1, [
127
- vue.createVNode(_component_g_select, {
128
- value: vue.unref(exchange),
129
- "onUpdate:value": _cache[0] || (_cache[0] = ($event) => vue.isRef(exchange) ? exchange.value = $event : null),
130
- "option-label-prop": "children",
131
- disabled: ""
132
- }, {
133
- default: vue.withCtx(() => [
134
- (vue.openBlock(), vue.createElementBlock(
135
- vue.Fragment,
136
- null,
137
- vue.renderList(exchangeList, (item) => {
138
- return vue.createVNode(_component_g_select_option, {
139
- value: item.value,
140
- key: item.value
141
- }, {
142
- default: vue.withCtx(() => [
143
- vue.createVNode(_component_g_icon, {
144
- type: item.icon
145
- }, null, 8, ["type"]),
146
- vue.createCommentVNode(" {{ item.label }} ")
147
- ]),
148
- _: 2
149
- }, 1032, ["value"]);
150
- }),
151
- 64
152
- ))
153
- ]),
154
- _: 1
155
- }, 8, ["value"]),
156
- vue.createVNode(_component_g_radio_dropdown, {
157
- modelValue: vue.unref(currency),
158
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.isRef(currency) ? currency.value = $event : null),
159
- options: currencyList,
160
- class: "currency-radio"
161
- }, {
162
- highlightIcon: vue.withCtx(() => [
163
- vue.createVNode(_component_g_icon, {
164
- type: getCurrencyIcon(vue.unref(currency)),
165
- size: 18
166
- }, null, 8, ["type"])
167
- ]),
168
- _: 1
169
- }, 8, ["modelValue"]),
170
- vue.createElementVNode("div", _hoisted_2, [
171
- vue.renderSlot(_ctx.$slots, "title")
172
- ])
173
- ])
174
- ])
175
- } : void 0,
176
- vue.unref(isPC) ? {
177
- name: "header-right",
178
- fn: vue.withCtx(() => [
179
- vue.renderSlot(_ctx.$slots, "header-right-filter"),
180
- vue.createElementVNode("div", _hoisted_3, [
181
- (vue.openBlock(true), vue.createElementBlock(
182
- vue.Fragment,
183
- null,
184
- vue.renderList(vue.unref(showOperations), (item) => {
185
- return vue.openBlock(), vue.createBlock(_component_g_icon, {
186
- type: item.icon,
187
- key: item.value,
188
- onClick: ($event) => handleClickIcon(item.value)
189
- }, null, 8, ["type", "onClick"]);
190
- }),
191
- 128
192
- ))
193
- ])
194
- ])
195
- } : void 0,
196
- vue.unref(isPC) ? {
197
- name: "tool",
198
- fn: vue.withCtx(() => [
199
- vue.renderSlot(_ctx.$slots, "tool")
200
- ])
201
- } : void 0,
202
- vue.unref(isMobile) ? {
203
- name: "header",
204
- fn: vue.withCtx(() => [
205
- vue.createElementVNode("div", _hoisted_4, [
206
- vue.renderSlot(_ctx.$slots, "title")
207
- ])
208
- ])
209
- } : void 0,
210
- vue.unref(isMobile) ? {
211
- name: "header-right",
212
- fn: vue.withCtx(() => [
213
- vue.renderSlot(_ctx.$slots, "header-right-filter"),
214
- vue.createElementVNode("div", _hoisted_5, [
215
- (vue.openBlock(true), vue.createElementBlock(
216
- vue.Fragment,
217
- null,
218
- vue.renderList(vue.unref(showOperations), (item) => {
219
- return vue.openBlock(), vue.createBlock(_component_g_icon, {
220
- type: item.icon,
221
- key: item.value,
222
- onClick: ($event) => handleClickIcon(item.value)
223
- }, null, 8, ["type", "onClick"]);
224
- }),
225
- 128
226
- ))
227
- ])
228
- ])
229
- } : void 0,
230
- vue.unref(isMobile) ? {
231
- name: "tool",
232
- fn: vue.withCtx(() => [
233
- vue.createElementVNode("div", _hoisted_6, [
234
- vue.createVNode(_component_g_select, {
235
- value: vue.unref(exchange),
236
- "onUpdate:value": _cache[2] || (_cache[2] = ($event) => vue.isRef(exchange) ? exchange.value = $event : null),
237
- "option-label-prop": "children"
238
- }, {
239
- default: vue.withCtx(() => [
240
- (vue.openBlock(), vue.createElementBlock(
241
- vue.Fragment,
242
- null,
243
- vue.renderList(exchangeList, (item) => {
244
- return vue.createVNode(_component_g_select_option, {
245
- value: item.value,
246
- key: item.value
247
- }, {
248
- default: vue.withCtx(() => [
249
- vue.createVNode(_component_g_icon, {
250
- type: item.icon
251
- }, null, 8, ["type"]),
252
- vue.createCommentVNode(" {{ item.label }} ")
253
- ]),
254
- _: 2
255
- }, 1032, ["value"]);
256
- }),
257
- 64
258
- ))
259
- ]),
260
- _: 1
261
- }, 8, ["value"]),
262
- vue.createVNode(_component_g_select, {
263
- value: vue.unref(currency),
264
- "onUpdate:value": _cache[3] || (_cache[3] = ($event) => vue.isRef(currency) ? currency.value = $event : null),
265
- "option-label-prop": "children",
266
- class: "currency-radio currency-radio-h5",
267
- popupClassName: "currency-radio-popup"
268
- }, {
269
- default: vue.withCtx(() => [
270
- (vue.openBlock(), vue.createElementBlock(
271
- vue.Fragment,
272
- null,
273
- vue.renderList(currencyList, (periodItem) => {
274
- return vue.createVNode(_component_g_select_option, {
275
- value: periodItem.value
276
- }, {
277
- default: vue.withCtx(() => [
278
- vue.createVNode(_component_g_icon, {
279
- type: periodItem.icon,
280
- class: "currency-radio-icon"
281
- }, null, 8, ["type"]),
282
- vue.createTextVNode(
283
- " " + vue.toDisplayString(periodItem.label),
284
- 1
285
- )
286
- ]),
287
- _: 2
288
- }, 1032, ["value"]);
289
- }),
290
- 64
291
- ))
292
- ]),
293
- _: 1
294
- }, 8, ["value"]),
295
- vue.renderSlot(_ctx.$slots, "tool")
296
- ])
297
- ])
298
- } : void 0
299
- ]),
300
- 1024
301
- )
302
- ],
303
- 2
304
- );
305
- };
22
+ const chartPanelProps = runtime.buildProps({
23
+ currency: {
24
+ type: String,
25
+ default: "BTC",
26
+ required: true
27
+ },
28
+ exchange: {
29
+ type: String,
30
+ required: false
31
+ },
32
+ operations: {
33
+ type: Array,
34
+ required: false,
35
+ default: []
36
+ },
37
+ loading: {
38
+ type: Boolean,
39
+ required: false
40
+ },
41
+ showType: {
42
+ type: String,
43
+ required: false
306
44
  }
307
45
  });
308
- var ChartPanel = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/Users/luobowen/Desktop/greeks/greeks-live-ui/packages/components/chart-panel/src/chart-panel.vue"]]);
309
46
 
310
- exports["default"] = ChartPanel;
47
+ exports.chartPanelEmits = chartPanelEmits;
48
+ exports.chartPanelProps = chartPanelProps;
311
49
  //# sourceMappingURL=chart-panel2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chart-panel2.js","sources":["../../../../../../../packages/components/chart-panel/src/chart-panel.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b()]\">\n <g-panel>\n <template v-if=\"isPC\" #header>\n <div class=\"panel-header\">\n <g-select\n v-model:value=\"exchange\"\n option-label-prop=\"children\"\n disabled\n >\n <g-select-option\n v-for=\"item in exchangeList\"\n :value=\"item.value\"\n :key=\"item.value\"\n >\n <g-icon :type=\"item.icon\"></g-icon>\n <!-- {{ item.label }} -->\n </g-select-option>\n </g-select>\n\n <g-radio-dropdown\n v-model=\"currency\"\n :options=\"currencyList\"\n class=\"currency-radio\"\n >\n <template #highlightIcon>\n <g-icon :type=\"getCurrencyIcon(currency)\" :size=\"18\"></g-icon>\n </template>\n </g-radio-dropdown>\n\n <div class=\"chart-title-box\">\n <slot name=\"title\"></slot>\n </div>\n </div>\n </template>\n\n <template v-if=\"isPC\" #header-right>\n <slot name=\"header-right-filter\"></slot>\n\n <div class=\"right-icons\">\n <g-icon\n v-for=\"item in showOperations\"\n :type=\"item.icon\"\n :key=\"item.value\"\n @click=\"handleClickIcon(item.value)\"\n >\n </g-icon>\n </div>\n </template>\n\n <template v-if=\"isPC\" #tool>\n <slot name=\"tool\"></slot>\n </template>\n\n <template v-if=\"isMobile\" #header>\n <div class=\"chart-title-box\">\n <slot name=\"title\"></slot>\n </div>\n </template>\n <template v-if=\"isMobile\" #header-right>\n <slot name=\"header-right-filter\"></slot>\n\n <div class=\"right-icons\">\n <g-icon\n v-for=\"item in showOperations\"\n :type=\"item.icon\"\n :key=\"item.value\"\n @click=\"handleClickIcon(item.value)\"\n >\n </g-icon>\n </div>\n </template>\n <template v-if=\"isMobile\" #tool>\n <div class=\"greeks-panel-tool-box\">\n <g-select v-model:value=\"exchange\" option-label-prop=\"children\">\n <g-select-option\n v-for=\"item in exchangeList\"\n :value=\"item.value\"\n :key=\"item.value\"\n >\n <g-icon :type=\"item.icon\"></g-icon>\n <!-- {{ item.label }} -->\n </g-select-option>\n </g-select>\n\n <g-select\n v-model:value=\"currency\"\n option-label-prop=\"children\"\n class=\"currency-radio currency-radio-h5\"\n popupClassName=\"currency-radio-popup\"\n >\n <g-select-option\n v-for=\"periodItem in currencyList\"\n :value=\"periodItem.value\"\n >\n <g-icon\n :type=\"periodItem.icon\"\n class=\"currency-radio-icon\"\n ></g-icon>\n {{ periodItem.label }}\n </g-select-option>\n </g-select>\n\n <slot name=\"tool\"></slot>\n </div>\n </template>\n\n <template #body>\n <g-spin :spinning=\"props.loading\">\n <slot name=\"body\"></slot>\n </g-spin>\n </template>\n </g-panel>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { useNamespace, useDeviceType } from '@greeks-live-ui/hooks';\nimport { chartPanelEmits, chartPanelProps } from './chart-panel';\n\ndefineOptions({\n name: 'GChartPanel',\n});\nconst ns = useNamespace('chart-panel');\nconst props = defineProps(chartPanelProps);\nconst emits = defineEmits(chartPanelEmits);\n\nimport { reactive, computed } from 'vue';\n\nexport type OperationType =\n | 'line'\n | 'bar'\n | 'calc'\n | 'search'\n | 'toggle'\n | 'refresh'\n | 'fullscreen'\n | 'setting'\n | 'share';\n\nconst { isMobile, isPC } = useDeviceType();\n\nconst exchangeList = [\n { value: 'byb', label: '', icon: 'logo_bybit_square_l' },\n { value: 'okx', label: '', icon: 'logo_okx_square_d' },\n { value: 'deribit', label: '', icon: 'logo_deribit_square_l' },\n];\n\nconst currencyList = [\n { value: 'BTC', label: 'BTC', icon: 'currency_btc' },\n { value: 'ETH', label: 'ETH', icon: 'currency_eth' },\n { value: 'SOL_USDC', label: 'SOL', icon: 'currency_sol', isDropdown: true },\n { value: 'BNB_USDC', label: 'BNB', icon: 'currency_bnb', isDropdown: true },\n {\n value: 'PAXG_USDC',\n label: 'PAXG',\n icon: 'currency_paxg',\n isDropdown: true,\n },\n { value: 'XRP_USDC', label: 'XRP', icon: 'currency_xrp', isDropdown: true },\n];\n\nconst iconMap = {\n line: 'chart_swtichtochart',\n bar: 'chart_bar_switch_to_bar',\n calc: 'chart_calculator_line',\n calc_active: 'chart_calculator_filled',\n search: 'chart_search_filter',\n toggle: 'chart_switchtotable',\n refresh: 'chart_reload',\n fullscreen: 'chart_fullscreen',\n setting: 'chart_settings',\n share: 'chart_share',\n};\n\nconst state = reactive({\n isMobile,\n isPC,\n});\n\nconst showOperations = computed<Array<{ value: OperationType; icon: string }>>(\n () => {\n const defaultOperations: OperationType[] = state.isPC\n ? // ? ['refresh', 'fullscreen', 'setting', 'share']\n ['refresh']\n : ['refresh'];\n // : ['refresh', 'share'];\n return [...props.operations, ...defaultOperations].map((v) => {\n return {\n value: v,\n icon:\n v === 'calc' && props.showType === 'calc'\n ? iconMap['calc_active']\n : iconMap[v],\n };\n });\n }\n);\n\nconst handleClickIcon = (type: OperationType) => {\n emits(type as 'line', true);\n emits('operation', type);\n};\n\nconst getCurrencyIcon = (value: string) => {\n return currencyList.find((v) => v.value === value)?.icon || '';\n};\n\nconst currency = computed({\n get: () => props.currency || currencyList[0].value,\n set: (newVal) => {\n emits('update:currency', newVal);\n },\n});\nconst exchange = computed({\n get: () => props.exchange || exchangeList[0].value,\n set: (newVal) => {\n emits('update:exchange', newVal);\n },\n});\n</script>\n"],"names":["useNamespace","useDeviceType","reactive","computed"],"mappings":"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"}
1
+ {"version":3,"file":"chart-panel2.js","sources":["../../../../../../../packages/components/chart-panel/src/chart-panel.ts"],"sourcesContent":["import { buildProps } from '@greeks-live-ui/utils'\nimport type ChartPanel from './chart-panel.vue'\nimport type { ExtractPropTypes, PropType } from 'vue'\n\ntype OperationType =\n | 'line'\n | 'bar'\n | 'calc'\n | 'search'\n | 'toggle'\n | 'refresh'\n | 'fullscreen'\n | 'setting'\n | 'share';\n\nexport const chartPanelEmits = {\n 'update:currency': (currency: string) => true,\n 'update:exchange': (exchange: string) => true,\n 'operation': (operation: OperationType) => true,\n 'line': (line: boolean) => true,\n 'bar': (bar: boolean) => true,\n 'calc': (calc: boolean) => true,\n 'search': (search: boolean) => true,\n 'toggle': (toggle: boolean) => true,\n 'refresh': (refresh: boolean) => true,\n 'fullscreen': (fullscreen: boolean) => true,\n 'setting': (setting: boolean) => true,\n 'share': (share: boolean) => true,\n}\nexport type ChartPanelEmits = typeof chartPanelEmits\nexport const chartPanelProps = buildProps({\n currency: {\n type: String,\n default: 'BTC',\n required: true,\n },\n exchange: {\n type: String,\n required: false,\n },\n operations: {\n type: Array as PropType<OperationType[]>,\n required: false,\n default: [],\n },\n loading: {\n type: Boolean,\n required: false,\n },\n showType: {\n type: String,\n required: false,\n },\n})\nexport type ChartPanelProps = ExtractPropTypes<typeof chartPanelProps>\nexport type ChartPanelInstance = InstanceType<typeof ChartPanel>\n"],"names":["buildProps"],"mappings":";;;;;;;AAeO,MAAM,eAAkB,GAAA;AAAA,EAC7B,iBAAA,EAAmB,CAAC,QAAqB,KAAA,IAAA;AAAA,EACzC,iBAAA,EAAmB,CAAC,QAAqB,KAAA,IAAA;AAAA,EACzC,WAAA,EAAa,CAAC,SAA6B,KAAA,IAAA;AAAA,EAC3C,MAAA,EAAQ,CAAC,IAAkB,KAAA,IAAA;AAAA,EAC3B,KAAA,EAAO,CAAC,GAAiB,KAAA,IAAA;AAAA,EACzB,MAAA,EAAQ,CAAC,IAAkB,KAAA,IAAA;AAAA,EAC3B,QAAA,EAAU,CAAC,MAAoB,KAAA,IAAA;AAAA,EAC/B,QAAA,EAAU,CAAC,MAAoB,KAAA,IAAA;AAAA,EAC/B,SAAA,EAAW,CAAC,OAAqB,KAAA,IAAA;AAAA,EACjC,YAAA,EAAc,CAAC,UAAwB,KAAA,IAAA;AAAA,EACvC,SAAA,EAAW,CAAC,OAAqB,KAAA,IAAA;AAAA,EACjC,OAAA,EAAS,CAAC,KAAmB,KAAA,IAAA;AAC/B,EAAA;AAEO,MAAM,kBAAkBA,kBAAW,CAAA;AAAA,EACxC,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,IACT,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,KAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,IACV,SAAS,EAAC;AAAA,GACZ;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AACF,CAAC;;;;;"}
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  require('../../utils/index.js');
6
- var chartTable$1 = require('./src/chart-table2.js');
7
- var chartTable = require('./src/chart-table.js');
6
+ var chartTable$1 = require('./src/chart-table.js');
7
+ var chartTable = require('./src/chart-table2.js');
8
8
  var install = require('../../utils/vue/install.js');
9
9
 
10
10
  const GChartTable = install.withInstall(chartTable$1["default"]);
@@ -2,24 +2,152 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- require('../../../utils/index.js');
6
- var runtime = require('../../../utils/vue/props/runtime.js');
5
+ var vue = require('vue');
6
+ require('../../../hooks/index.js');
7
+ var chartTable = require('./chart-table2.js');
8
+ var pluginVue_exportHelper = require('../../../../_virtual/plugin-vue_export-helper.js');
9
+ var index = require('../../../hooks/use-namespace/index.js');
10
+ var index$1 = require('../../../hooks/use-locale/index.js');
7
11
 
8
- const chartTableEmits = {};
9
- const chartTableProps = runtime.buildProps({
10
- tableData: {
11
- type: Array,
12
- required: true
13
- },
14
- name: {
15
- type: String,
16
- default: "SKEW"
17
- },
18
- loading: {
19
- type: Boolean
12
+ const _hoisted_1 = { class: "text-tip" };
13
+ const __default__ = {
14
+ name: "GChartTable"
15
+ };
16
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
17
+ ...__default__,
18
+ props: chartTable.chartTableProps,
19
+ emits: chartTable.chartTableEmits,
20
+ setup(__props, { emit: emits }) {
21
+ const props = __props;
22
+ const ns = index.useNamespace("chart-table");
23
+ const { t } = index$1.useLocale();
24
+ const defaultColumns = [
25
+ {
26
+ title: t("message.expiryIn"),
27
+ key: "expire",
28
+ dataIndex: "expire"
29
+ },
30
+ {
31
+ title: "",
32
+ key: "atm",
33
+ dataIndex: "atm"
34
+ },
35
+ {
36
+ title: "chg-1d",
37
+ tooltipTitle: t("message.chg1dTips"),
38
+ key: "chg1",
39
+ dataIndex: "chg1"
40
+ },
41
+ {
42
+ title: "chg-2d",
43
+ tooltipTitle: t("message.chg2dTips"),
44
+ key: "chg2",
45
+ dataIndex: "chg2"
46
+ },
47
+ {
48
+ title: "chg-1w",
49
+ tooltipTitle: t("message.chg1wTips"),
50
+ key: "chg7",
51
+ dataIndex: "chg7"
52
+ },
53
+ {
54
+ title: "chg-2w",
55
+ tooltipTitle: t("message.chg2wTips"),
56
+ key: "chg14",
57
+ dataIndex: "chg14"
58
+ },
59
+ {
60
+ title: "chg-1m",
61
+ tooltipTitle: t("message.chg1mTips"),
62
+ key: "chg30",
63
+ dataIndex: "chg30"
64
+ }
65
+ ];
66
+ const columns = vue.computed(() => {
67
+ var _a;
68
+ let _columns = JSON.parse(JSON.stringify(defaultColumns));
69
+ _columns = _columns.map((v) => {
70
+ if (v.key === "atm") {
71
+ v.title = {
72
+ SKEW: "RR",
73
+ IV: "ATM IV",
74
+ RV: "RV"
75
+ }[props.name];
76
+ }
77
+ return v;
78
+ });
79
+ if (props.name === "IV") {
80
+ _columns.push({
81
+ title: ((_a = props.tableData[0] || {}) == null ? void 0 : _a.vrpLabel) || "VRP",
82
+ key: "vrp",
83
+ dataIndex: "vrp"
84
+ });
85
+ }
86
+ return _columns;
87
+ });
88
+ const showNumber = (val) => {
89
+ if (typeof val !== "number")
90
+ return val;
91
+ return Number(Number(val).toFixed(2));
92
+ };
93
+ return (_ctx, _cache) => {
94
+ const _component_g_tooltip = vue.resolveComponent("g-tooltip");
95
+ const _component_g_table = vue.resolveComponent("g-table");
96
+ return vue.openBlock(), vue.createElementBlock(
97
+ "div",
98
+ {
99
+ class: vue.normalizeClass([vue.unref(ns).b()])
100
+ },
101
+ [
102
+ vue.createVNode(_component_g_table, {
103
+ columns: vue.unref(columns),
104
+ "data-source": _ctx.tableData,
105
+ loading: _ctx.loading,
106
+ size: "small",
107
+ pagination: false,
108
+ scroll: { x: 600 }
109
+ }, {
110
+ headerCell: vue.withCtx(({ column }) => [
111
+ column.tooltipTitle ? (vue.openBlock(), vue.createBlock(_component_g_tooltip, {
112
+ key: 0,
113
+ title: column.tooltipTitle,
114
+ placement: "bottom"
115
+ }, {
116
+ default: vue.withCtx(() => [
117
+ vue.createElementVNode(
118
+ "span",
119
+ _hoisted_1,
120
+ vue.toDisplayString(column.title),
121
+ 1
122
+ )
123
+ ]),
124
+ _: 2
125
+ }, 1032, ["title"])) : vue.createCommentVNode("v-if", true)
126
+ ]),
127
+ bodyCell: vue.withCtx(({ column, record }) => [
128
+ column.key ? (vue.openBlock(), vue.createElementBlock(
129
+ "span",
130
+ {
131
+ key: 0,
132
+ class: vue.normalizeClass({
133
+ "column-span": true,
134
+ "text-success": column.key !== "atm" && record[column.key] > 0,
135
+ "text-danger": column.key !== "atm" && record[column.key] < 0
136
+ })
137
+ },
138
+ vue.toDisplayString(record && showNumber(record[column.key]) || "0.00%") + " " + vue.toDisplayString(record && typeof record[column.key] === "number" ? "%" : ""),
139
+ 3
140
+ )) : vue.createCommentVNode("v-if", true)
141
+ ]),
142
+ _: 1
143
+ }, 8, ["columns", "data-source", "loading"])
144
+ ],
145
+ 2
146
+ );
147
+ };
20
148
  }
21
149
  });
150
+ var ChartTable = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "/Users/luobowen/Desktop/greeks/greeks-live-ui/packages/components/chart-table/src/chart-table.vue"]]);
22
151
 
23
- exports.chartTableEmits = chartTableEmits;
24
- exports.chartTableProps = chartTableProps;
152
+ exports["default"] = ChartTable;
25
153
  //# sourceMappingURL=chart-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chart-table.js","sources":["../../../../../../../packages/components/chart-table/src/chart-table.ts"],"sourcesContent":["import { buildProps } from '@greeks-live-ui/utils';\nimport type ChartTable from './chart-table.vue';\nimport type { ExtractPropTypes } from 'vue';\n\nexport const chartTableEmits = {};\nexport type ChartTableEmits = typeof chartTableEmits;\nexport const chartTableProps = buildProps({\n tableData: {\n type: Array,\n required: true,\n },\n name: {\n type: String,\n default: 'SKEW', // 'SKEW' | 'IV' | 'RV'\n },\n loading: {\n type: Boolean,\n },\n});\nexport type ChartTableProps = ExtractPropTypes<typeof chartTableProps>;\nexport type ChartTableInstance = InstanceType<typeof ChartTable>;\n"],"names":["buildProps"],"mappings":";;;;;;;AAIO,MAAM,kBAAkB,GAAC;AAEzB,MAAM,kBAAkBA,kBAAW,CAAA;AAAA,EACxC,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,KAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,MAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,GACR;AACF,CAAC;;;;;"}
1
+ {"version":3,"file":"chart-table.js","sources":["../../../../../../../packages/components/chart-table/src/chart-table.vue"],"sourcesContent":["<template>\n <div :class=\"[ns.b()]\">\n <g-table\n :columns=\"columns\"\n :data-source=\"tableData\"\n :loading=\"loading\"\n size=\"small\"\n :pagination=\"false\"\n :scroll=\"{ x: 600 }\"\n >\n <template #headerCell=\"{ column }\">\n <template v-if=\"column.tooltipTitle\">\n <g-tooltip :title=\"column.tooltipTitle\" placement=\"bottom\">\n <span class=\"text-tip\">{{ column.title }}</span>\n </g-tooltip>\n </template>\n </template>\n\n <template #bodyCell=\"{ column, record }\">\n <template v-if=\"column.key\">\n <span\n :class=\"{\n 'column-span': true,\n 'text-success': column.key !== 'atm' && record[column.key] > 0,\n 'text-danger': column.key !== 'atm' && record[column.key] < 0,\n }\"\n >\n {{ (record && showNumber(record[column.key])) || '0.00%' }}\n {{ record && typeof record[column.key] === 'number' ? '%' : '' }}\n </span>\n </template>\n </template>\n </g-table>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport { useLocale, useNamespace } from '@greeks-live-ui/hooks';\nimport { chartTableEmits, chartTableProps } from './chart-table';\nimport { computed } from 'vue';\ndefineOptions({\n name: 'GChartTable',\n});\nconst ns = useNamespace('chart-table');\nconst props = defineProps(chartTableProps);\nconst emits = defineEmits(chartTableEmits);\n\nconst { t } = useLocale();\n\nconst defaultColumns = [\n {\n title: t('message.expiryIn'),\n key: 'expire',\n dataIndex: 'expire',\n },\n {\n title: '',\n key: 'atm',\n dataIndex: 'atm',\n },\n {\n title: 'chg-1d',\n tooltipTitle: t('message.chg1dTips'),\n key: 'chg1',\n dataIndex: 'chg1',\n },\n {\n title: 'chg-2d',\n tooltipTitle: t('message.chg2dTips'),\n key: 'chg2',\n dataIndex: 'chg2',\n },\n {\n title: 'chg-1w',\n tooltipTitle: t('message.chg1wTips'),\n key: 'chg7',\n dataIndex: 'chg7',\n },\n {\n title: 'chg-2w',\n tooltipTitle: t('message.chg2wTips'),\n key: 'chg14',\n dataIndex: 'chg14',\n },\n {\n title: 'chg-1m',\n tooltipTitle: t('message.chg1mTips'),\n key: 'chg30',\n dataIndex: 'chg30',\n },\n];\n\nconst columns = computed(() => {\n let _columns = JSON.parse(JSON.stringify(defaultColumns));\n\n _columns = _columns.map((v: { key: string; title: string | undefined }) => {\n if (v.key === 'atm') {\n v.title = {\n SKEW: 'RR',\n IV: 'ATM IV',\n RV: 'RV',\n }[props.name];\n }\n return v;\n });\n\n if (props.name === 'IV') {\n _columns.push({\n title: (((props as any).tableData[0] || {}) as any)?.vrpLabel || 'VRP',\n key: 'vrp',\n dataIndex: 'vrp',\n });\n }\n return _columns;\n});\n\nconst showNumber = (val: number | string) => {\n if (typeof val !== 'number') return val;\n return Number(Number(val).toFixed(2));\n};\n</script>\n"],"names":["useNamespace","useLocale","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA0CA,IAAA,MAAA,EAAA,GAAAA,kBAAA,CAAA,aAAA,CAAA,CAAA;AAIA,IAAA,MAAA,EAAA,CAAA,EAAA,GAAAC,iBAAA,EAAA,CAAA;AAEA,IAAA,MAAA,cAAA,GAAA;AAAA,MAAA;AACA,QAAA,KAAA,EAAA,CAAA,CAAA,kBAAA,CAAA;AACA,QAAA,GAAA,EAAA,QAAA;AACA,QAAA,SAAA,EAAA,QAAA;AACA,OAAA;AACA,MAAA;AACA,QAAA,KAAA,EAAA,EAAA;AACA,QAAA,GAAA,EAAA,KAAA;AACA,QAAA,SAAA,EAAA,KAAA;AACA,OAAA;AACA,MAAA;AACA,QAAA,KAAA,EAAA,QAAA;AACA,QAAA,YAAA,EAAA,CAAA,CAAA,mBAAA,CAAA;AACA,QAAA,GAAA,EAAA,MAAA;AACA,QAAA,SAAA,EAAA,MAAA;AACA,OAAA;AACA,MAAA;AACA,QAAA,KAAA,EAAA,QAAA;AACA,QAAA,YAAA,EAAA,CAAA,CAAA,mBAAA,CAAA;AACA,QAAA,GAAA,EAAA,MAAA;AACA,QAAA,SAAA,EAAA,MAAA;AACA,OAAA;AACA,MAAA;AACA,QAAA,KAAA,EAAA,QAAA;AACA,QAAA,YAAA,EAAA,CAAA,CAAA,mBAAA,CAAA;AACA,QAAA,GAAA,EAAA,MAAA;AACA,QAAA,SAAA,EAAA,MAAA;AACA,OAAA;AACA,MAAA;AACA,QAAA,KAAA,EAAA,QAAA;AACA,QAAA,YAAA,EAAA,CAAA,CAAA,mBAAA,CAAA;AACA,QAAA,GAAA,EAAA,OAAA;AACA,QAAA,SAAA,EAAA,OAAA;AACA,OAAA;AACA,MAAA;AACA,QAAA,KAAA,EAAA,QAAA;AACA,QAAA,YAAA,EAAA,CAAA,CAAA,mBAAA,CAAA;AACA,QAAA,GAAA,EAAA,OAAA;AACA,QAAA,SAAA,EAAA,OAAA;AACA,OAAA;AACA,KAAA,CAAA;AAGA,IAAA,MAAA,OAAA,GAAAC,YAAA,CAAA,MAAA;;AACA,MAAA,IAAA,QAAA,GAAA,IAAA,CAAA,KAAA,CAAA,IAAA,CAAA,SAAA,CAAA,cAAA,CAAA,CAAA,CAAA;AAEA,MAAA,QAAA,GAAA,QAAA,CAAA,GAAA,CAAA,CAAA,CAAA,KAAA;AACA,QAAA,IAAA,CAAA,CAAA,GAAA,KAAA,KAAA,EAAA;AACA,UAAA,CAAA,CAAA,KAAA,GAAA;AAAA,YAAA,IAAA,EAAA,IAAA;AACA,YAAA,EAAA,EAAA,QAAA;AACA,YAAA,EAAA,EAAA,IAAA;AACA,WAAA,CAAA,KAAA,CAAA,IAAA,CAAA,CAAA;AACA,SAAA;AAEA,QAAA,OAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAGA,MAAA,IAAA,KAAA,CAAA,IAAA,KAAA,IAAA,EAAA;AACA,QAAA,QAAA,CAAA,IAAA,CAAA;AAAA,UAAA,KAAA,EAAA,CAAA,CAAA,EAAA,GAAA,KAAA,CAAA,SAAA,CAAA,CAAA,CAAA,IAAA,EAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,KAAA,KAAA;AACA,UAAA,GAAA,EAAA,KAAA;AACA,UAAA,SAAA,EAAA,KAAA;AACA,SAAA,CAAA,CAAA;AACA,OAAA;AAEA,MAAA,OAAA,QAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAGA,IAAA,MAAA,UAAA,GAAA,CAAA,GAAA,KAAA;AACA,MAAA,IAAA,OAAA,GAAA,KAAA,QAAA;AAAA,QAAA,OAAA,GAAA,CAAA;AACA,MAAA,OAAA,MAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}