@visactor/vtable 0.11.1-alpha.7 → 0.11.1-alpha.9

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 (123) hide show
  1. package/cjs/ListTable.js +6 -3
  2. package/cjs/ListTable.js.map +1 -1
  3. package/cjs/PivotChart.js +8 -4
  4. package/cjs/PivotChart.js.map +1 -1
  5. package/cjs/PivotTable.js +6 -3
  6. package/cjs/PivotTable.js.map +1 -1
  7. package/cjs/body-helper/style/Style.d.ts +1 -2
  8. package/cjs/body-helper/style/Style.js.map +1 -1
  9. package/cjs/components/axis/get-axis-attributes.d.ts +2 -2
  10. package/cjs/components/title/title.js +9 -15
  11. package/cjs/components/title/title.js.map +1 -1
  12. package/cjs/core/BaseTable.d.ts +3 -3
  13. package/cjs/core/BaseTable.js +10 -14
  14. package/cjs/core/BaseTable.js.map +1 -1
  15. package/cjs/header-helper/style/Style.d.ts +1 -2
  16. package/cjs/header-helper/style/Style.js.map +1 -1
  17. package/cjs/index.d.ts +3 -3
  18. package/cjs/index.js +1 -1
  19. package/cjs/index.js.map +1 -1
  20. package/cjs/layout/pivot-layout.d.ts +4 -0
  21. package/cjs/layout/pivot-layout.js +42 -18
  22. package/cjs/layout/pivot-layout.js.map +1 -1
  23. package/cjs/render/layout/text.d.ts +1 -1
  24. package/cjs/render/layout/text.js.map +1 -1
  25. package/cjs/scenegraph/component/custom.js.map +1 -1
  26. package/cjs/scenegraph/context/canvas.d.ts +5 -0
  27. package/cjs/scenegraph/context/canvas.js +24 -0
  28. package/cjs/scenegraph/context/canvas.js.map +1 -0
  29. package/cjs/scenegraph/context/context.d.ts +5 -0
  30. package/cjs/scenegraph/context/context.js +19 -0
  31. package/cjs/scenegraph/context/context.js.map +1 -0
  32. package/cjs/scenegraph/context/module.d.ts +2 -0
  33. package/cjs/scenegraph/context/module.js +15 -0
  34. package/cjs/scenegraph/context/module.js.map +1 -0
  35. package/cjs/scenegraph/graphic/chart.d.ts +7 -1
  36. package/cjs/scenegraph/graphic/chart.js.map +1 -1
  37. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +23 -3
  38. package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  39. package/cjs/scenegraph/graphic/contributions/chart-render.js +5 -2
  40. package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  41. package/cjs/scenegraph/group-creater/column.js +3 -2
  42. package/cjs/scenegraph/group-creater/column.js.map +1 -1
  43. package/cjs/scenegraph/layout/compute-col-width.js +1 -1
  44. package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
  45. package/cjs/scenegraph/layout/compute-row-height.js +16 -11
  46. package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
  47. package/cjs/scenegraph/scenegraph.js +4 -0
  48. package/cjs/scenegraph/scenegraph.js.map +1 -1
  49. package/cjs/themes/theme.js.map +1 -1
  50. package/cjs/tools/get-data-path/index.d.ts +1 -1
  51. package/cjs/tools/get-data-path/index.js +8 -4
  52. package/cjs/tools/get-data-path/index.js.map +1 -1
  53. package/cjs/ts-types/base-table.d.ts +4 -4
  54. package/cjs/ts-types/base-table.js.map +1 -1
  55. package/cjs/ts-types/column/style.d.ts +1 -2
  56. package/cjs/ts-types/column/style.js.map +1 -1
  57. package/cjs/ts-types/customElement.d.ts +1 -1
  58. package/cjs/ts-types/customElement.js.map +1 -1
  59. package/cjs/ts-types/style-define.d.ts +2 -0
  60. package/cjs/ts-types/style-define.js.map +1 -1
  61. package/dist/vtable.js +392 -240
  62. package/dist/vtable.min.js +3 -3
  63. package/es/ListTable.js +6 -2
  64. package/es/ListTable.js.map +1 -1
  65. package/es/PivotChart.js +8 -3
  66. package/es/PivotChart.js.map +1 -1
  67. package/es/PivotTable.js +6 -2
  68. package/es/PivotTable.js.map +1 -1
  69. package/es/body-helper/style/Style.d.ts +1 -2
  70. package/es/body-helper/style/Style.js.map +1 -1
  71. package/es/components/axis/get-axis-attributes.d.ts +2 -2
  72. package/es/components/title/title.js +9 -14
  73. package/es/components/title/title.js.map +1 -1
  74. package/es/core/BaseTable.d.ts +3 -3
  75. package/es/core/BaseTable.js +8 -14
  76. package/es/core/BaseTable.js.map +1 -1
  77. package/es/header-helper/style/Style.d.ts +1 -2
  78. package/es/header-helper/style/Style.js.map +1 -1
  79. package/es/index.d.ts +3 -3
  80. package/es/index.js +1 -1
  81. package/es/index.js.map +1 -1
  82. package/es/layout/pivot-layout.d.ts +4 -0
  83. package/es/layout/pivot-layout.js +43 -15
  84. package/es/layout/pivot-layout.js.map +1 -1
  85. package/es/render/layout/text.d.ts +1 -1
  86. package/es/render/layout/text.js.map +1 -1
  87. package/es/scenegraph/component/custom.js.map +1 -1
  88. package/es/scenegraph/context/canvas.d.ts +5 -0
  89. package/es/scenegraph/context/canvas.js +22 -0
  90. package/es/scenegraph/context/canvas.js.map +1 -0
  91. package/es/scenegraph/context/context.d.ts +5 -0
  92. package/es/scenegraph/context/context.js +16 -0
  93. package/es/scenegraph/context/context.js.map +1 -0
  94. package/es/scenegraph/context/module.d.ts +2 -0
  95. package/es/scenegraph/context/module.js +15 -0
  96. package/es/scenegraph/context/module.js.map +1 -0
  97. package/es/scenegraph/graphic/chart.d.ts +7 -1
  98. package/es/scenegraph/graphic/chart.js.map +1 -1
  99. package/es/scenegraph/graphic/contributions/chart-render-helper.js +24 -2
  100. package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
  101. package/es/scenegraph/graphic/contributions/chart-render.js +6 -1
  102. package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
  103. package/es/scenegraph/group-creater/column.js +3 -1
  104. package/es/scenegraph/group-creater/column.js.map +1 -1
  105. package/es/scenegraph/layout/compute-col-width.js +1 -1
  106. package/es/scenegraph/layout/compute-col-width.js.map +1 -1
  107. package/es/scenegraph/layout/compute-row-height.js +17 -10
  108. package/es/scenegraph/layout/compute-row-height.js.map +1 -1
  109. package/es/scenegraph/scenegraph.js +4 -0
  110. package/es/scenegraph/scenegraph.js.map +1 -1
  111. package/es/themes/theme.js.map +1 -1
  112. package/es/tools/get-data-path/index.d.ts +1 -1
  113. package/es/tools/get-data-path/index.js +8 -4
  114. package/es/tools/get-data-path/index.js.map +1 -1
  115. package/es/ts-types/base-table.d.ts +4 -4
  116. package/es/ts-types/base-table.js.map +1 -1
  117. package/es/ts-types/column/style.d.ts +1 -2
  118. package/es/ts-types/column/style.js.map +1 -1
  119. package/es/ts-types/customElement.d.ts +1 -1
  120. package/es/ts-types/customElement.js.map +1 -1
  121. package/es/ts-types/style-define.d.ts +2 -0
  122. package/es/ts-types/style-define.js.map +1 -1
  123. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["themes/theme.ts"],"names":[],"mappings":";;;AAmCA,4CAA+C;AAC/C,wCAAyE;AACzE,4CASyB;AAKzB,SAAS,OAAO,CAAC,GAA4B,EAAE,QAA2B,EAAE,KAAe,EAAE,QAAmB;IAC9G,OAAO,CACL,IAAA,qBAAY,EAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QAC3B,IAAA,qBAAY,EAAC,QAAQ,EAAE,GAAG,KAAK,CAAC;QAChC,CAAC,QAAQ,IAAI,IAAA,qBAAY,EAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;QAC5C,CAAC,QAAQ,IAAI,IAAA,qBAAY,EAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC,CAClD,CAAC;AACJ,CAAC;AAED,MAAa,UAAU;IAsBrB,YAAY,GAAgD,EAAE,UAA6B;QAjBnF,kBAAa,GAAoD,IAAI,CAAC;QACtE,YAAO,GAA4C,IAAI,CAAC;QACxD,kBAAa,GAAkD,IAAI,CAAC;QACpE,wBAAmB,GAAwD,IAAI,CAAC;QAChF,0BAAqB,GAA0D,IAAI,CAAC;QACpF,2BAAsB,GAA2D,IAAI,CAAC;QACtF,iBAAY,GAAiD,IAAI,CAAC;QAClE,kBAAa,GAAkD,IAAI,CAAC;QACpE,eAAU,GAA+C,IAAI,CAAC;QAC9D,UAAK,GAA0C,IAAI,CAAC;QACpD,YAAO,GAA4C,IAAI,CAAC;QACxD,aAAQ,GAA6C,IAAI,CAAC;QAC1D,gBAAW,GAA2C,IAAI,CAAC;QAC3D,kBAAa,GAAoD,IAAI,CAAC;QACtE,yBAAoB,GAA2D,IAAI,CAAC;QACpF,sBAAiB,GAAwD,IAAI,CAAC;QAC9E,oBAAe,GAAsD,IAAI,CAAC;QAEhF,IAAI,CAAC,aAAa,GAAG;YACnB,GAAG;YACH,UAAU;SACX,CAAC;IACJ,CAAC;IACD,IAAI,IAAI;QACN,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC/C,OAAO,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,uBAAuB;QACzB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC/C,OAAO,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,YAAY;QAEd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,YAAY,GAAe,IAAA,2BAAoB,EAAC,EAAE,EAAE,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;YACrG,IAAI,CAAC,aAAa,GAAG;gBACnB,IAAI,QAAQ;;oBACV,OAAO,MAAA,YAAY,CAAC,QAAQ,mCAAI,wBAAe,CAAC;gBAClD,CAAC;gBACD,IAAI,UAAU;;oBACZ,OAAO,MAAA,YAAY,CAAC,UAAU,mCAAI,0BAAiB,CAAC;gBACtD,CAAC;gBACD,IAAI,UAAU;oBACZ,OAAO,YAAY,CAAC,UAAU,CAAC;gBACjC,CAAC;gBACD,IAAI,WAAW;oBACb,OAAO,YAAY,CAAC,WAAW,CAAC;gBAClC,CAAC;gBACD,IAAI,SAAS;oBACX,OAAO,YAAY,CAAC,SAAS,CAAC;gBAChC,CAAC;gBACD,IAAI,OAAO;;oBACT,OAAO,MAAA,YAAY,CAAC,OAAO,mCAAI,uBAAc,CAAC;gBAChD,CAAC;gBACD,IAAI,KAAK;;oBACP,OAAO,MAAA,YAAY,CAAC,KAAK,mCAAI,yBAAgB,CAAC;gBAChD,CAAC;gBACD,IAAI,WAAW;;oBACb,OAAO,MAAA,YAAY,CAAC,WAAW,mCAAI,2BAAkB,CAAC;gBACxD,CAAC;gBACD,IAAI,eAAe;;oBACjB,OAAO,MAAA,YAAY,CAAC,eAAe,mCAAI,+BAAsB,CAAC;gBAChE,CAAC;gBACD,IAAI,cAAc;;oBAChB,OAAO,MAAA,YAAY,CAAC,cAAc,mCAAI,8BAAqB,CAAC;gBAC9D,CAAC;gBACD,IAAI,KAAK;oBACP,IAAI,YAAY,CAAC,KAAK,EAAE;wBACtB,OAAO;4BACL,IAAI,WAAW;;gCACb,OAAO,MAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,mCAAI,SAAS,CAAC;4BACtD,CAAC;4BAOD,IAAI,mBAAmB;;gCACrB,OAAO,CACL,MAAA,MAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,mBAAmB,mCACvC,CAAC,CAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,KAAI,OAAO,CAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,CAAA,KAAK,QAAQ;oCACrF,CAAC,CAAC,IAAA,kBAAW,EAAC,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC;oCAC1D,CAAC,CAAC,SAAS,CAAC,mCACd,SAAS,CACV,CAAC;4BACJ,CAAC;4BACD,IAAI,gBAAgB;;gCAClB,OAAO,CACL,MAAA,MAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,gBAAgB,mCACpC,CAAC,CAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,KAAI,OAAO,CAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,CAAA,KAAK,QAAQ;oCACrF,CAAC,CAAC,IAAA,kBAAW,EAAC,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC;oCAC1D,CAAC,CAAC,SAAS,CAAC,mCACd,SAAS,CACV,CAAC;4BACJ,CAAC;yBACF,CAAC;qBACH;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAqCD,IAAI,OAAO;;oBACT,OAAO,MAAA,YAAY,CAAC,OAAO,mCAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAClD,CAAC;gBACD,IAAI,SAAS;;oBACX,OAAO,MAAA,YAAY,CAAC,SAAS,mCAAI,MAAM,CAAC;gBAC1C,CAAC;gBACD,IAAI,YAAY;;oBACd,OAAO,MAAA,YAAY,CAAC,YAAY,mCAAI,QAAQ,CAAC;gBAC/C,CAAC;gBACD,IAAI,YAAY;;oBACd,OAAO,MAAA,YAAY,CAAC,YAAY,mCAAI,UAAU,CAAC;gBACjD,CAAC;gBACD,IAAI,UAAU;oBACZ,OAAO,YAAY,CAAC,UAAU,CAAC;gBACjC,CAAC;gBACD,IAAI,YAAY;;oBACd,OAAO,MAAA,YAAY,CAAC,YAAY,mCAAI,KAAK,CAAC;gBAC5C,CAAC;gBACD,IAAI,SAAS;;oBACX,OAAO,MAAA,YAAY,CAAC,SAAS,mCAAI,MAAM,CAAC;gBAC1C,CAAC;gBACD,IAAI,SAAS;;oBACX,OAAO,MAAA,YAAY,CAAC,SAAS,mCAAI,SAAS,CAAC;gBAC7C,CAAC;gBACD,IAAI,MAAM;;oBACR,OAAO,MAAA,YAAY,CAAC,MAAM,mCAAI,MAAM,CAAC;gBACvC,CAAC;gBACD,IAAI,MAAM;;oBACR,OAAO,MAAA,YAAY,CAAC,MAAM,mCAAI,KAAK,CAAC;gBACtC,CAAC;gBACD,IAAI,SAAS;;oBACX,OAAO,MAAA,YAAY,CAAC,SAAS,mCAAI,KAAK,CAAC;gBACzC,CAAC;gBACD,IAAI,cAAc;oBAChB,OAAO,YAAY,CAAC,cAAc,CAAC;gBACrC,CAAC;gBACD,IAAI,aAAa;oBACf,OAAO,YAAY,CAAC,aAAa,CAAC;gBACpC,CAAC;gBACD,IAAI,WAAW;;oBACb,OAAO,MAAA,YAAY,CAAC,WAAW,mCAAI,KAAK,CAAC;gBAC3C,CAAC;gBACD,IAAI,gBAAgB;oBAClB,OAAO,YAAY,CAAC,gBAAgB,CAAC;gBACvC,CAAC;gBACD,IAAI,eAAe;oBACjB,OAAO,YAAY,CAAC,eAAe,CAAC;gBACtC,CAAC;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,IAAI,WAAW;QACb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAE/C,MAAM,MAAM,GAAe,IAAA,2BAAoB,EAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YAChH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACtC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,IAAI,iBAAiB;QACnB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAE/C,MAAM,MAAM,GAAe,IAAA,2BAAoB,EAC7C,EAAE,EACF,IAAI,CAAC,YAAY,EACjB,UAAU,CAAC,iBAAiB,EAC5B,GAAG,CAAC,iBAAiB,CACtB,CAAC;YACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,IAAI,uBAAuB;QACzB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC7B,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,uBAAuB,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE;gBACvE,OAAO,IAAI,CAAC,mBAAmB,CAAC;aACjC;YAED,MAAM,MAAM,GAAe,IAAA,2BAAoB,EAC7C,EAAE,EACF,IAAI,CAAC,YAAY,EACjB,UAAU,CAAC,uBAAuB,EAClC,GAAG,CAAC,uBAAuB,CAC5B,CAAC;YACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAClD;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IACD,IAAI,yBAAyB;QAC3B,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC/B,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,yBAAyB,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE;gBAC3E,OAAO,IAAI,CAAC,qBAAqB,CAAC;aACnC;YAED,MAAM,MAAM,GAAe,IAAA,2BAAoB,EAC7C,EAAE,EACF,IAAI,CAAC,YAAY,EACjB,UAAU,CAAC,yBAAyB,EACpC,GAAG,CAAC,yBAAyB,CAC9B,CAAC;YACF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACpD;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IACD,IAAI,0BAA0B;QAC5B,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAChC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,0BAA0B,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE;gBAC7E,OAAO,IAAI,CAAC,sBAAsB,CAAC;aACpC;YAED,MAAM,MAAM,GAAe,IAAA,2BAAoB,EAC7C,EAAE,EACF,IAAI,CAAC,YAAY,EACjB,UAAU,CAAC,0BAA0B,EACrC,GAAG,CAAC,0BAA0B,CAC/B,CAAC;YACF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACrD;QACD,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IACD,IAAI,gBAAgB;QAClB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,gBAAgB,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE;gBACzD,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;YAED,MAAM,MAAM,GAAe,IAAA,2BAAoB,EAC7C,EAAE,EACF,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,cAAc,EACnB,UAAU,CAAC,gBAAgB,EAC3B,GAAG,CAAC,gBAAgB,CACrB,CAAC;YACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC3C;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAI,iBAAiB;QACnB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,iBAAiB,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE;gBAC3D,OAAO,IAAI,CAAC,aAAa,CAAC;aAC3B;YAED,MAAM,MAAM,GAAe,IAAA,2BAAoB,EAC7C,EAAE,EACF,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,WAAW,EAChB,UAAU,CAAC,iBAAiB,EAC5B,GAAG,CAAC,iBAAiB,CACtB,CAAC;YACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,IAAI,cAAc;QAChB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAE/C,MAAM,MAAM,GAAe,IAAA,2BAAoB,EAC7C,EAAE,EACF,IAAI,CAAC,YAAY,EACjB,UAAU,CAAC,cAAc,EACzB,GAAG,CAAC,cAAc,CACnB,CAAC;YACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAI,SAAS;QACX,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAE/C,MAAM,IAAI,GAAe,IAAA,2BAAoB,EAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAC1G,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAClC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,UAAU;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,UAAU,GAAoB,IAAA,2BAAoB,EAAC,EAAE,EAAE,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YACpG,IAAI,CAAC,WAAW,GAAG;gBACjB,IAAI,WAAW;oBACb,OAAO,UAAU,CAAC,WAAW,CAAC;gBAChC,CAAC;gBACD,IAAI,eAAe;oBACjB,OAAO,UAAU,CAAC,eAAe,CAAC;gBACpC,CAAC;gBACD,IAAI,cAAc;oBAChB,OAAO,UAAU,CAAC,cAAc,CAAC;gBACnC,CAAC;gBACD,IAAI,UAAU;oBACZ,OAAO,UAAU,CAAC,UAAU,CAAC;gBAC/B,CAAC;gBACD,IAAI,WAAW;oBACb,OAAO,UAAU,CAAC,WAAW,CAAC;gBAChC,CAAC;gBACD,IAAI,aAAa;oBACf,OAAO,UAAU,CAAC,aAAa,CAAC;gBAClC,CAAC;gBACD,IAAI,aAAa;oBACf,OAAO,UAAU,CAAC,aAAa,CAAC;gBAClC,CAAC;gBACD,IAAI,YAAY;oBACd,OAAO,UAAU,CAAC,YAAY,CAAC;gBACjC,CAAC;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,IAAI,WAAW;QACb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,MAAM,GAAgB,IAAA,2BAAoB,EAAC,EAAE,EAAE,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YAC9F,IAAI,CAAC,OAAO,GAAG;gBACb,IAAI,iBAAiB;;oBACnB,OAAO,MAAA,MAAM,CAAC,iBAAiB,mCAAI,SAAS,CAAC;gBAC/C,CAAC;gBACD,IAAI,eAAe;oBACjB,OAAO,MAAM,CAAC,eAAe,CAAC;gBAChC,CAAC;gBACD,IAAI,OAAO;;oBACT,OAAO,MAAA,MAAM,CAAC,OAAO,mCAAI,WAAW,CAAC;gBACvC,CAAC;gBACD,IAAI,KAAK;;oBACP,OAAO,MAAA,MAAM,CAAC,KAAK,mCAAI,CAAC,CAAC;gBAC3B,CAAC;gBACD,IAAI,OAAO;;oBACT,OAAO,MAAA,MAAM,CAAC,OAAO,mCAAI,IAAI,CAAC;gBAChC,CAAC;aACF,CAAC;SACH;QAED,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,IAAI,YAAY;QACd,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,OAAO,GAAiB,IAAA,2BAAoB,EAAC,EAAE,EAAE,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;YAClG,IAAI,CAAC,QAAQ,GAAG;gBACd,IAAI,IAAI;;oBACN,OAAO,MAAA,OAAO,CAAC,IAAI,mCAAI,oBAAW,CAAC;gBACrC,CAAC;gBACD,IAAI,OAAO;;oBACT,OAAO,MAAA,OAAO,CAAC,OAAO,mCAAI,MAAM,CAAC;gBACnC,CAAC;gBACD,IAAI,OAAO;;oBACT,OAAO,MAAA,OAAO,CAAC,OAAO,mCAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnC,CAAC;gBACD,IAAI,KAAK;;oBACP,OAAO,MAAA,OAAO,CAAC,KAAK,mCAAI,MAAM,CAAC;gBACjC,CAAC;aACF,CAAC;SACH;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAKD,IAAI,YAAY;QACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,YAAY,GAA6C,IAAA,2BAAoB,EACjF,EAAE,EACF,UAAU,CAAC,YAAY,EACvB,GAAG,CAAC,YAAY,CACjB,CAAC;YACF,IAAI,CAAC,aAAa,GAAG;gBACnB,IAAI,SAAS;;oBACX,OAAO,MAAA,YAAY,CAAC,SAAS,mCAAI,SAAS,CAAC;gBAC7C,CAAC;gBACD,IAAI,OAAO;;oBACT,OAAO,MAAA,YAAY,CAAC,OAAO,mCAAI,SAAS,CAAC;gBAC3C,CAAC;gBACD,IAAI,SAAS;;oBACX,OAAO,MAAA,YAAY,CAAC,SAAS,mCAAI,CAAC,CAAC;gBACrC,CAAC;gBACD,IAAI,KAAK;;oBACP,OAAO,MAAA,YAAY,CAAC,KAAK,mCAAI,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;gBAC1D,CAAC;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAID,IAAI,mBAAmB;QACrB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,mBAAmB,GAAoD,IAAA,2BAAoB,EAC/F,EAAE,EACF,UAAU,CAAC,mBAAmB,EAC9B,GAAG,CAAC,mBAAmB,CACxB,CAAC;YACF,IAAI,CAAC,oBAAoB,GAAG;gBAC1B,IAAI,SAAS;;oBACX,OAAO,MAAA,mBAAmB,CAAC,SAAS,mCAAI,MAAM,CAAC;gBACjD,CAAC;gBAID,IAAI,SAAS;;oBACX,OAAO,MAAA,mBAAmB,CAAC,SAAS,mCAAI,CAAC,CAAC;gBAC5C,CAAC;gBAID,IAAI,gBAAgB;;oBAClB,OAAO,MAAA,mBAAmB,CAAC,gBAAgB,mCAAI,uBAAuB,CAAC;gBACzE,CAAC;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IACD,IAAI,gBAAgB;QAMlB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,gBAAgB,GAAiD,IAAA,2BAAoB,EACzF,EAAE,EACF,UAAU,CAAC,gBAAgB,EAC3B,GAAG,CAAC,gBAAgB,CACrB,CAAC;YACF,IAAI,CAAC,iBAAiB,GAAG;gBACvB,IAAI,MAAM;oBACR,IAAI,gBAAgB,CAAC,MAAM,EAAE;wBAC3B,OAAO;4BACL,IAAI,KAAK;;gCACP,OAAO,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,KAAK,mCAAI,EAAE,CAAC;4BAC9C,CAAC;4BACD,IAAI,UAAU;;gCACZ,OAAO,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,UAAU,mCAAI,wBAAwB,CAAC;4BACzE,CAAC;4BACD,IAAI,QAAQ;;gCACV,OAAO,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,QAAQ,mCAAI,qBAAqB,CAAC;4BACpE,CAAC;yBACF,CAAC;qBACH;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,IAAI,MAAM;oBAQR,IAAI,gBAAgB,CAAC,MAAM,EAAE;wBAC3B,OAAO;4BACL,IAAI,SAAS;;gCACX,OAAO,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,SAAS,mCAAI,wBAAwB,CAAC;4BACxE,CAAC;4BACD,IAAI,OAAO;;gCACT,OAAO,CACL,MAAA,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,OAAO,mCAAI,MAAA,gBAAgB,CAAC,MAAM,0CAAE,SAAS,mCAAI,wBAAwB,CACnG,CAAC;4BACJ,CAAC;4BACD,IAAI,SAAS;;gCACX,OAAO,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,SAAS,mCAAI,CAAC,CAAC;4BACjD,CAAC;4BACD,IAAI,KAAK;;gCACP,OAAO,MAAA,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,KAAK,mCAAI,MAAA,gBAAgB,CAAC,MAAM,0CAAE,SAAS,mCAAI,CAAC,CAAC;4BACnF,CAAC;yBACF,CAAC;qBACH;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD,IAAI,cAAc;QAChB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,cAAc,GAA+C,IAAA,2BAAoB,EACrF,EAAE,EACF,UAAU,CAAC,cAAc,EACzB,GAAG,CAAC,cAAc,CACnB,CAAC;YACF,IAAI,CAAC,eAAe,GAAG;gBACrB,IAAI,WAAW;;oBACb,OAAO,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,mCAAI,qBAAqB,CAAC;gBAC9D,CAAC;gBACD,IAAI,eAAe;;oBACjB,OAAO,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,eAAe,mCAAI,SAAS,CAAC;gBACtD,CAAC;gBACD,IAAI,mBAAmB;;oBACrB,OAAO,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,mBAAmB,mCAAI,CAAC,CAAC;gBAClD,CAAC;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IACD,WAAW,CAAC,KAAe;QACzB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC/C,OAAO,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,CAAC,GAA4B;QAClC,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IACO,QAAQ,CAAC,KAAiB;QAChC,OAAO;YACL,IAAI,QAAQ;gBACV,OAAO,KAAK,CAAC,QAAQ,CAAC;YACxB,CAAC;YACD,IAAI,UAAU;gBACZ,OAAO,KAAK,CAAC,UAAU,CAAC;YAC1B,CAAC;YACD,IAAI,UAAU;gBACZ,OAAO,KAAK,CAAC,UAAU,CAAC;YAC1B,CAAC;YACD,IAAI,WAAW;gBACb,OAAO,KAAK,CAAC,WAAW,CAAC;YAC3B,CAAC;YACD,IAAI,SAAS;gBACX,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YACD,IAAI,OAAO;gBACT,OAAO,KAAK,CAAC,OAAO,CAAC;YACvB,CAAC;YACD,IAAI,KAAK;gBACP,OAAO,KAAK,CAAC,KAAK,CAAC;YACrB,CAAC;YACD,IAAI,WAAW;gBACb,OAAO,KAAK,CAAC,WAAW,CAAC;YAC3B,CAAC;YACD,IAAI,eAAe;gBACjB,OAAO,KAAK,CAAC,eAAe,CAAC;YAC/B,CAAC;YACD,IAAI,cAAc;gBAChB,OAAO,KAAK,CAAC,cAAc,CAAC;YAC9B,CAAC;YACD,IAAI,KAAK;gBACP,IAAI,KAAK,CAAC,KAAK,EAAE;oBACf,OAAO;wBACL,IAAI,WAAW;;4BACb,OAAO,MAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,mCAAI,SAAS,CAAC;wBAC/C,CAAC;wBAOD,IAAI,mBAAmB;;4BACrB,OAAO,CACL,MAAA,MAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,mBAAmB,mCAChC,CAAC,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,KAAI,OAAO,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,CAAA,KAAK,QAAQ;gCACvE,CAAC,CAAC,IAAA,kBAAW,EAAC,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC;gCACnD,CAAC,CAAC,SAAS,CAAC,mCACd,SAAS,CACV,CAAC;wBACJ,CAAC;wBACD,IAAI,gBAAgB;;4BAClB,OAAO,CACL,MAAA,MAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,gBAAgB,mCAC7B,CAAC,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,KAAI,OAAO,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,CAAA,KAAK,QAAQ;gCACvE,CAAC,CAAC,IAAA,kBAAW,EAAC,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC;gCACnD,CAAC,CAAC,SAAS,CAAC,mCACd,SAAS,CACV,CAAC;wBACJ,CAAC;qBACF,CAAC;iBACH;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAmCD,IAAI,UAAU;gBACZ,IAAI,KAAK,CAAC,UAAU,EAAE;oBACpB,OAAO;wBACL,IAAI,WAAW;;4BACb,OAAO,MAAA,MAAA,KAAK,CAAC,UAAU,0CAAE,WAAW,mCAAI,SAAS,CAAC;wBACpD,CAAC;wBACD,IAAI,eAAe;;4BACjB,OAAO,MAAA,MAAA,KAAK,CAAC,UAAU,0CAAE,eAAe,mCAAI,SAAS,CAAC;wBACxD,CAAC;wBACD,IAAI,cAAc;;4BAChB,OAAO,MAAA,MAAA,KAAK,CAAC,UAAU,0CAAE,cAAc,mCAAI,SAAS,CAAC;wBACvD,CAAC;qBACF,CAAC;iBACH;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,OAAO;gBACT,OAAO,KAAK,CAAC,OAAO,CAAC;YACvB,CAAC;YACD,IAAI,SAAS;gBACX,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YACD,IAAI,YAAY;gBACd,OAAO,KAAK,CAAC,YAAY,CAAC;YAC5B,CAAC;YACD,IAAI,YAAY;gBACd,OAAO,KAAK,CAAC,YAAY,CAAC;YAC5B,CAAC;YACD,IAAI,UAAU;gBACZ,OAAO,KAAK,CAAC,UAAU,CAAC;YAC1B,CAAC;YACD,IAAI,YAAY;gBACd,OAAO,KAAK,CAAC,YAAY,CAAC;YAC5B,CAAC;YACD,IAAI,SAAS;gBACX,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YACD,IAAI,SAAS;gBACX,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YACD,IAAI,MAAM;gBACR,OAAO,KAAK,CAAC,MAAM,CAAC;YACtB,CAAC;YACD,IAAI,SAAS;gBACX,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YACD,IAAI,MAAM;gBACR,OAAO,KAAK,CAAC,MAAM,CAAC;YACtB,CAAC;YACD,IAAI,SAAS;;gBACX,OAAO,MAAA,KAAK,CAAC,SAAS,mCAAI,KAAK,CAAC;YAClC,CAAC;YACD,IAAI,cAAc;gBAChB,OAAO,KAAK,CAAC,cAAc,CAAC;YAC9B,CAAC;YACD,IAAI,aAAa;gBACf,OAAO,KAAK,CAAC,aAAa,CAAC;YAC7B,CAAC;YACD,IAAI,WAAW;;gBACb,OAAO,MAAA,KAAK,CAAC,WAAW,mCAAI,KAAK,CAAC;YACpC,CAAC;YACD,IAAI,gBAAgB;gBAClB,OAAO,KAAK,CAAC,gBAAgB,CAAC;YAChC,CAAC;YACD,IAAI,eAAe;gBACjB,OAAO,KAAK,CAAC,eAAe,CAAC;YAC/B,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AA1tBD,gCA0tBC;AAED,SAAS,gBAAgB,CAAC,GAA4B,EAAE,KAAe;IACrE,IAAI,GAAG,YAAY,UAAU,EAAE;QAC7B,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KAC/B;IAED,IAAI,CAAC,GAAQ,GAAG,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE;QACN,OAAO,KAAK,CAAC;KACd;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACjD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,CAAC,EAAE;YACN,OAAO,KAAK,CAAC;SACd;KACF;IACD,OAAO,CAAC,CAAC,CAAC,CAAC;AACb,CAAC","file":"theme.js","sourcesContent":["/* eslint-disable no-undef */\n/* eslint-disable sort-imports */\nimport type {\n ColorPropertyDefine,\n ColorsDef,\n ColorsPropertyDefine,\n ColumnIconOption,\n FrameStyle,\n ITableThemeDefine,\n InteractionStyle,\n LineClamp,\n LineDashsDef,\n LineDashsPropertyDefine,\n LineWidthsDef,\n LineWidthsPropertyDefine,\n PartialTableThemeDefine,\n RequiredTableThemeDefine,\n TextOverflow,\n ThemeStyle,\n // menuStyle,\n TableFrameStyle,\n PaddingsPropertyDefine,\n ScrollStyle,\n CursorPropertyDefine,\n TooltipStyle,\n MarkedPropertyDefine,\n UnderlinePropertyDefine,\n LineDashPropertyDefine,\n LineThroughPropertyDefine,\n FontSizePropertyDefine,\n FontFamilyPropertyDefine,\n FontWeightPropertyDefine,\n FontVariantPropertyDefine,\n FontStylePropertyDefine\n} from '../ts-types';\nimport { getChainSafe } from '../tools/helper';\nimport { changeColor, ingoreNoneValueMerge, merge } from '../tools/util';\nimport {\n DEFAULTBGCOLOR,\n DEFAULTBORDERCOLOR,\n DEFAULTBORDERLINEDASH,\n DEFAULTBORDERLINEWIDTH,\n DEFAULTFONT,\n DEFAULTFONTCOLOR,\n DEFAULTFONTFAMILY,\n DEFAULTFONTSIZE\n} from '../tools/global';\nimport type { TextAlignType, TextBaselineType } from '@visactor/vrender';\n//private symbol\n// const _ = getSymbol();\n\nfunction getProp(obj: PartialTableThemeDefine, superObj: ITableThemeDefine, names: string[], defNames?: string[]): any {\n return (\n getChainSafe(obj, ...names) ||\n getChainSafe(superObj, ...names) ||\n (defNames && getChainSafe(obj, ...defNames)) ||\n (defNames && getChainSafe(superObj, ...defNames))\n );\n}\n\nexport class TableTheme implements ITableThemeDefine {\n private internalTheme: {\n obj: PartialTableThemeDefine;\n superTheme: ITableThemeDefine;\n };\n private _defaultStyle: RequiredTableThemeDefine['defaultStyle'] | null = null;\n private _header: ITableThemeDefine['headerStyle'] | null = null;\n private _cornerHeader: ITableThemeDefine['cornerHeaderStyle'] | null = null;\n private _cornerRightTopCell: ITableThemeDefine['cornerRightTopCellStyle'] | null = null;\n private _cornerLeftBottomCell: ITableThemeDefine['cornerLeftBottomCellStyle'] | null = null;\n private _cornerRightBottomCell: ITableThemeDefine['cornerRightBottomCellStyle'] | null = null;\n private _rightFrozen: ITableThemeDefine['rightFrozenStyle'] | null = null;\n private _bottomFrozen: ITableThemeDefine['bottomFrozenStyle'] | null = null;\n private _rowHeader: ITableThemeDefine['rowHeaderStyle'] | null = null;\n private _body: ITableThemeDefine['bodyStyle'] | null = null;\n private _scroll: ITableThemeDefine['scrollStyle'] | null = null;\n private _tooltip: ITableThemeDefine['tooltipStyle'] | null = null;\n private _frameStyle: ITableThemeDefine['frameStyle'] | null = null;\n private _columnResize: RequiredTableThemeDefine['columnResize'] | null = null;\n private _dragHeaderSplitLine: RequiredTableThemeDefine['dragHeaderSplitLine'] | null = null;\n private _frozenColumnLine: RequiredTableThemeDefine['frozenColumnLine'] | null = null;\n private _selectionStyle: RequiredTableThemeDefine['selectionStyle'] | null = null;\n constructor(obj: PartialTableThemeDefine | ITableThemeDefine, superTheme: ITableThemeDefine) {\n this.internalTheme = {\n obj,\n superTheme\n };\n }\n get font(): string {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['font'], ['bodyStyle', 'font']);\n }\n get underlayBackgroundColor(): string {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['underlayBackgroundColor']);\n }\n\n get defaultStyle(): RequiredTableThemeDefine['defaultStyle'] {\n // const defaultStyle = getProp(obj, superTheme, [\"defaultStyle\"]);\n if (!this._defaultStyle) {\n const { obj, superTheme } = this.internalTheme;\n const defaultStyle: ThemeStyle = ingoreNoneValueMerge({}, superTheme.defaultStyle, obj.defaultStyle);\n this._defaultStyle = {\n get fontSize(): FontSizePropertyDefine {\n return defaultStyle.fontSize ?? DEFAULTFONTSIZE;\n },\n get fontFamily(): FontFamilyPropertyDefine {\n return defaultStyle.fontFamily ?? DEFAULTFONTFAMILY;\n },\n get fontWeight(): FontWeightPropertyDefine | undefined {\n return defaultStyle.fontWeight;\n },\n get fontVariant(): FontVariantPropertyDefine | undefined {\n return defaultStyle.fontVariant;\n },\n get fontStyle(): FontStylePropertyDefine | undefined {\n return defaultStyle.fontStyle;\n },\n get bgColor(): ColorPropertyDefine {\n return defaultStyle.bgColor ?? DEFAULTBGCOLOR;\n },\n get color(): ColorPropertyDefine {\n return defaultStyle.color ?? DEFAULTFONTCOLOR;\n },\n get borderColor(): ColorsPropertyDefine {\n return defaultStyle.borderColor ?? DEFAULTBORDERCOLOR;\n },\n get borderLineWidth(): LineWidthsPropertyDefine | undefined {\n return defaultStyle.borderLineWidth ?? DEFAULTBORDERLINEWIDTH;\n },\n get borderLineDash(): LineDashsPropertyDefine | undefined {\n return defaultStyle.borderLineDash ?? DEFAULTBORDERLINEDASH;\n },\n get hover(): InteractionStyle | undefined {\n if (defaultStyle.hover) {\n return {\n get cellBgColor(): ColorPropertyDefine | undefined {\n return defaultStyle.hover?.cellBgColor ?? undefined;\n },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return defaultStyle.hover?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return defaultStyle.hover?.cellBorderLineWidth ?? undefined;\n // },\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.hover?.inlineColumnBgColor ??\n (defaultStyle.hover?.cellBgColor && typeof defaultStyle.hover?.cellBgColor === 'string'\n ? changeColor(defaultStyle.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.hover?.inlineRowBgColor ??\n (defaultStyle.hover?.cellBgColor && typeof defaultStyle.hover?.cellBgColor === 'string'\n ? changeColor(defaultStyle.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n }\n };\n }\n return undefined;\n },\n // get click(): InteractionStyle | undefined {\n // if (defaultStyle.click)\n // return {\n // get cellBgColor(): ColorPropertyDefine | undefined {\n // return defaultStyle.click?.cellBgColor ?? undefined;\n // },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return defaultStyle.click?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return defaultStyle.click?.cellBorderLineWidth ?? undefined;\n // },\n // // get cellBorderLineDash(): LineDashsPropertyDefine |undefined{\n // // return defaultStyle.click?.cellBorderLineDash??undefined\n // // },\n // get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // defaultStyle.click?.inlineColumnBgColor ??\n // (defaultStyle.click?.cellBgColor &&\n // typeof defaultStyle.click?.cellBgColor === 'string'\n // ? changeColor(defaultStyle.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // get inlineRowBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // defaultStyle.click?.inlineRowBgColor ??\n // (defaultStyle.click?.cellBgColor &&\n // typeof defaultStyle.click?.cellBgColor === 'string'\n // ? changeColor(defaultStyle.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // };\n // return undefined;\n // },\n get padding(): PaddingsPropertyDefine {\n return defaultStyle.padding ?? [10, 16, 10, 16];\n },\n get textAlign(): TextAlignType {\n return defaultStyle.textAlign ?? 'left';\n },\n get textBaseline(): TextBaselineType {\n return defaultStyle.textBaseline ?? 'middle';\n },\n get textOverflow(): TextOverflow {\n return defaultStyle.textOverflow ?? 'ellipsis';\n },\n get lineHeight(): number {\n return defaultStyle.lineHeight;\n },\n get autoWrapText(): boolean {\n return defaultStyle.autoWrapText ?? false;\n },\n get lineClamp(): LineClamp {\n return defaultStyle.lineClamp ?? 'auto';\n },\n get linkColor(): ColorPropertyDefine {\n return defaultStyle.linkColor ?? '#3772ff';\n },\n get cursor(): CursorPropertyDefine {\n return defaultStyle.cursor ?? 'auto';\n },\n get marked(): MarkedPropertyDefine {\n return defaultStyle.marked ?? false;\n },\n get underline(): UnderlinePropertyDefine {\n return defaultStyle.underline ?? false;\n },\n get underlineColor(): ColorPropertyDefine | undefined {\n return defaultStyle.underlineColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get underlineDash(): LineDashPropertyDefine | undefined {\n return defaultStyle.underlineDash;\n },\n get lineThrough(): LineThroughPropertyDefine | undefined {\n return defaultStyle.lineThrough ?? false;\n },\n get lineThroughColor(): ColorPropertyDefine | undefined {\n return defaultStyle.lineThroughColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get lineThroughDash(): LineDashPropertyDefine | undefined {\n return defaultStyle.lineThroughDash;\n }\n };\n }\n return this._defaultStyle;\n }\n get headerStyle(): ITableThemeDefine['headerStyle'] {\n if (!this._header) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge({}, this.defaultStyle, superTheme.headerStyle, obj.headerStyle);\n this._header = this.getStyle(header);\n }\n return this._header;\n }\n get cornerHeaderStyle(): ITableThemeDefine['cornerHeaderStyle'] {\n if (!this._cornerHeader) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerHeaderStyle,\n obj.cornerHeaderStyle // ?? obj.headerStyle\n );\n this._cornerHeader = this.getStyle(header);\n }\n return this._cornerHeader;\n }\n get cornerRightTopCellStyle(): ITableThemeDefine['cornerRightTopCellStyle'] {\n if (!this._cornerRightTopCell) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.cornerRightTopCellStyle || !obj.cornerRightTopCellStyle) {\n return this._cornerRightTopCell;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerRightTopCellStyle,\n obj.cornerRightTopCellStyle // ?? obj.headerStyle\n );\n this._cornerRightTopCell = this.getStyle(header);\n }\n return this._cornerRightTopCell;\n }\n get cornerLeftBottomCellStyle(): ITableThemeDefine['cornerLeftBottomCellStyle'] {\n if (!this._cornerLeftBottomCell) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.cornerLeftBottomCellStyle || !obj.cornerLeftBottomCellStyle) {\n return this._cornerLeftBottomCell;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerLeftBottomCellStyle,\n obj.cornerLeftBottomCellStyle // ?? obj.headerStyle\n );\n this._cornerLeftBottomCell = this.getStyle(header);\n }\n return this._cornerLeftBottomCell;\n }\n get cornerRightBottomCellStyle(): ITableThemeDefine['cornerRightBottomCellStyle'] {\n if (!this._cornerRightBottomCell) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.cornerRightBottomCellStyle || !obj.cornerRightBottomCellStyle) {\n return this._cornerRightBottomCell;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerRightBottomCellStyle,\n obj.cornerRightBottomCellStyle // ?? obj.headerStyle\n );\n this._cornerRightBottomCell = this.getStyle(header);\n }\n return this._cornerRightBottomCell;\n }\n get rightFrozenStyle(): ITableThemeDefine['rightFrozenStyle'] {\n if (!this._rightFrozen) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.rightFrozenStyle || !obj.rightFrozenStyle) {\n return this._rightFrozen;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n this.rowHeaderStyle,\n superTheme.rightFrozenStyle,\n obj.rightFrozenStyle // ?? obj.headerStyle\n );\n this._rightFrozen = this.getStyle(header);\n }\n return this._rightFrozen;\n }\n get bottomFrozenStyle(): ITableThemeDefine['bottomFrozenStyle'] {\n if (!this._bottomFrozen) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.bottomFrozenStyle || !obj.bottomFrozenStyle) {\n return this._bottomFrozen;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n this.headerStyle,\n superTheme.bottomFrozenStyle,\n obj.bottomFrozenStyle // ?? obj.headerStyle\n );\n this._bottomFrozen = this.getStyle(header);\n }\n return this._bottomFrozen;\n }\n get rowHeaderStyle(): ITableThemeDefine['rowHeaderStyle'] {\n if (!this._rowHeader) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.rowHeaderStyle,\n obj.rowHeaderStyle // ?? obj.headerStyle\n );\n this._rowHeader = this.getStyle(header);\n }\n return this._rowHeader;\n }\n get bodyStyle(): ITableThemeDefine['bodyStyle'] {\n if (!this._body) {\n const { obj, superTheme } = this.internalTheme;\n // const body = getProp(obj, superTheme, [\"body\"]);\n const body: ThemeStyle = ingoreNoneValueMerge({}, this.defaultStyle, superTheme.bodyStyle, obj.bodyStyle);\n this._body = this.getStyle(body);\n }\n\n return this._body;\n }\n\n get frameStyle(): ITableThemeDefine['frameStyle'] {\n if (!this._frameStyle) {\n const { obj, superTheme } = this.internalTheme;\n const frameStyle: TableFrameStyle = ingoreNoneValueMerge({}, superTheme.frameStyle, obj.frameStyle);\n this._frameStyle = {\n get borderColor(): ColorsDef | undefined {\n return frameStyle.borderColor;\n },\n get borderLineWidth(): LineWidthsDef | undefined {\n return frameStyle.borderLineWidth;\n },\n get borderLineDash(): LineDashsDef | undefined {\n return frameStyle.borderLineDash;\n },\n get shadowBlur(): number {\n return frameStyle.shadowBlur;\n },\n get shadowColor(): string {\n return frameStyle.shadowColor;\n },\n get shadowOffsetX(): number {\n return frameStyle.shadowOffsetX;\n },\n get shadowOffsetY(): number {\n return frameStyle.shadowOffsetY;\n },\n get cornerRadius(): number {\n return frameStyle.cornerRadius;\n }\n };\n }\n return this._frameStyle;\n }\n get scrollStyle(): ITableThemeDefine['scrollStyle'] {\n if (!this._scroll) {\n const { obj, superTheme } = this.internalTheme;\n const scroll: ScrollStyle = ingoreNoneValueMerge({}, superTheme.scrollStyle, obj.scrollStyle);\n this._scroll = {\n get scrollSliderColor(): string | undefined {\n return scroll.scrollSliderColor ?? '#C0C0C0';\n },\n get scrollRailColor(): string | undefined {\n return scroll.scrollRailColor;\n },\n get visible(): 'always' | 'scrolling' | 'none' | 'focus' {\n return scroll.visible ?? 'scrolling';\n },\n get width(): number | undefined {\n return scroll.width ?? 7;\n },\n get hoverOn(): boolean | undefined {\n return scroll.hoverOn ?? true;\n }\n };\n }\n\n return this._scroll;\n }\n get tooltipStyle(): ITableThemeDefine['tooltipStyle'] {\n if (!this._tooltip) {\n const { obj, superTheme } = this.internalTheme;\n const tooltip: TooltipStyle = ingoreNoneValueMerge({}, superTheme.tooltipStyle, obj.tooltipStyle);\n this._tooltip = {\n get font(): string | undefined {\n return tooltip.font ?? DEFAULTFONT;\n },\n get bgColor(): string | undefined {\n return tooltip.bgColor ?? '#000';\n },\n get padding(): number[] {\n return tooltip.padding ?? [6, 8];\n },\n get color(): string | undefined {\n return tooltip.color ?? '#FFF';\n }\n };\n }\n\n return this._tooltip;\n }\n\n /**\n * resize 分割线样式\n */\n get columnResize(): RequiredTableThemeDefine['columnResize'] {\n if (!this._columnResize) {\n const { obj, superTheme } = this.internalTheme;\n const columnResize: RequiredTableThemeDefine['columnResize'] = ingoreNoneValueMerge(\n {},\n superTheme.columnResize,\n obj.columnResize\n );\n this._columnResize = {\n get lineColor(): ColorPropertyDefine {\n return columnResize.lineColor ?? '#416EFF';\n },\n get bgColor(): ColorPropertyDefine {\n return columnResize.bgColor ?? '#D9E2FF';\n },\n get lineWidth(): number {\n return columnResize.lineWidth ?? 1;\n },\n get width(): number {\n return columnResize.width ?? columnResize.lineWidth + 2;\n }\n };\n }\n return this._columnResize;\n }\n /**\n * 移位 分割线样式\n */\n get dragHeaderSplitLine(): RequiredTableThemeDefine['dragHeaderSplitLine'] {\n if (!this._dragHeaderSplitLine) {\n const { obj, superTheme } = this.internalTheme;\n const dragHeaderSplitLine: RequiredTableThemeDefine['dragHeaderSplitLine'] = ingoreNoneValueMerge(\n {},\n superTheme.dragHeaderSplitLine,\n obj.dragHeaderSplitLine\n );\n this._dragHeaderSplitLine = {\n get lineColor(): ColorPropertyDefine {\n return dragHeaderSplitLine.lineColor ?? 'blue';\n },\n // get bgColor(): ColorPropertyDefine {\n // return dragHeaderSplitLine.bgColor ?? dragHeaderSplitLine.lineColor;\n // },\n get lineWidth(): number {\n return dragHeaderSplitLine.lineWidth ?? 2;\n },\n // get width(): number {\n // return dragHeaderSplitLine.width ?? dragHeaderSplitLine.lineWidth;\n // },\n get shadowBlockColor(): string {\n return dragHeaderSplitLine.shadowBlockColor ?? 'rgba(204,204,204,0.3)';\n }\n };\n }\n return this._dragHeaderSplitLine;\n }\n get frozenColumnLine(): RequiredTableThemeDefine['frozenColumnLine'] {\n // const { obj, superTheme } = this.internalTheme;\n // const that = this;\n // const frozenColumnLine = getProp(obj, superTheme, [\n // \"frozenColumnLine\",\n // ]);\n if (!this._frozenColumnLine) {\n const { obj, superTheme } = this.internalTheme;\n const frozenColumnLine: RequiredTableThemeDefine['frozenColumnLine'] = ingoreNoneValueMerge(\n {},\n superTheme.frozenColumnLine,\n obj.frozenColumnLine\n );\n this._frozenColumnLine = {\n get shadow(): { width: number; startColor: string; endColor: string } | undefined {\n if (frozenColumnLine.shadow) {\n return {\n get width(): number {\n return frozenColumnLine.shadow?.width ?? 24;\n },\n get startColor(): string {\n return frozenColumnLine.shadow?.startColor ?? 'rgba(00, 24, 47, 0.06)';\n },\n get endColor(): string {\n return frozenColumnLine.shadow?.endColor ?? 'rgba(00, 24, 47, 0)';\n }\n };\n }\n return undefined;\n },\n get border():\n | {\n lineColor: ColorPropertyDefine;\n bgColor?: ColorPropertyDefine;\n lineWidth: number;\n width?: number;\n }\n | undefined {\n if (frozenColumnLine.border) {\n return {\n get lineColor(): ColorPropertyDefine {\n return frozenColumnLine.border?.lineColor ?? 'rgba(00, 24, 47, 0.06)';\n },\n get bgColor(): ColorPropertyDefine {\n return (\n frozenColumnLine.border?.bgColor ?? frozenColumnLine.border?.lineColor ?? 'rgba(00, 24, 47, 0.06)'\n );\n },\n get lineWidth(): number {\n return frozenColumnLine.border?.lineWidth ?? 4;\n },\n get width(): number {\n return frozenColumnLine.border?.width ?? frozenColumnLine.border?.lineWidth ?? 4;\n }\n };\n }\n return undefined;\n }\n };\n }\n return this._frozenColumnLine;\n }\n get selectionStyle(): RequiredTableThemeDefine['selectionStyle'] {\n if (!this._selectionStyle) {\n const { obj, superTheme } = this.internalTheme;\n const selectionStyle: RequiredTableThemeDefine['selectionStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.selectionStyle,\n obj.selectionStyle\n );\n this._selectionStyle = {\n get cellBgColor(): string | undefined {\n return selectionStyle?.cellBgColor ?? 'rgba(0, 0, 255,0.1)';\n },\n get cellBorderColor(): string | undefined {\n return selectionStyle?.cellBorderColor ?? '#3073f2';\n },\n get cellBorderLineWidth(): number | undefined {\n return selectionStyle?.cellBorderLineWidth ?? 2;\n }\n };\n }\n return this._selectionStyle;\n }\n hasProperty(names: string[]): boolean {\n const { obj, superTheme } = this.internalTheme;\n return hasThemeProperty(obj, names) || hasThemeProperty(superTheme, names);\n }\n extends(obj: PartialTableThemeDefine): TableTheme {\n return new TableTheme(obj, this);\n }\n private getStyle(style: ThemeStyle) {\n return {\n get fontSize(): FontSizePropertyDefine | undefined {\n return style.fontSize;\n },\n get fontFamily(): FontFamilyPropertyDefine | undefined {\n return style.fontFamily;\n },\n get fontWeight(): FontWeightPropertyDefine | undefined {\n return style.fontWeight;\n },\n get fontVariant(): FontVariantPropertyDefine | undefined {\n return style.fontVariant;\n },\n get fontStyle(): FontStylePropertyDefine | undefined {\n return style.fontStyle;\n },\n get bgColor(): ColorPropertyDefine | undefined {\n return style.bgColor;\n },\n get color(): ColorPropertyDefine | undefined {\n return style.color;\n },\n get borderColor(): ColorsPropertyDefine | undefined {\n return style.borderColor;\n },\n get borderLineWidth(): LineWidthsPropertyDefine | undefined {\n return style.borderLineWidth;\n },\n get borderLineDash(): LineDashsPropertyDefine | undefined {\n return style.borderLineDash;\n },\n get hover(): InteractionStyle | undefined {\n if (style.hover) {\n return {\n get cellBgColor(): ColorPropertyDefine | undefined {\n return style.hover?.cellBgColor ?? undefined;\n },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return style.hover?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return style.hover?.cellBorderLineWidth ?? undefined;\n // },\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n style.hover?.inlineColumnBgColor ??\n (style.hover?.cellBgColor && typeof style.hover?.cellBgColor === 'string'\n ? changeColor(style.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n style.hover?.inlineRowBgColor ??\n (style.hover?.cellBgColor && typeof style.hover?.cellBgColor === 'string'\n ? changeColor(style.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n }\n };\n }\n return undefined;\n },\n // get click(): InteractionStyle | undefined {\n // if (style.click)\n // return {\n // get cellBgColor(): ColorPropertyDefine | undefined {\n // return style.click?.cellBgColor ?? undefined;\n // },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return style.click?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return style.click?.cellBorderLineWidth ?? undefined;\n // },\n // // get cellBorderLineDash(): LineDashsPropertyDefine |undefined{\n // // return style.click?.cellBorderLineDash??undefined\n // // },\n // get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // style.click?.inlineColumnBgColor ??\n // (style.click?.cellBgColor && typeof style.click?.cellBgColor === 'string'\n // ? changeColor(style.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // get inlineRowBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // style.click?.inlineRowBgColor ??\n // (style.click?.cellBgColor && typeof style.click?.cellBgColor === 'string'\n // ? changeColor(style.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // };\n // return undefined;\n // },\n get frameStyle(): FrameStyle | undefined {\n if (style.frameStyle) {\n return {\n get borderColor(): ColorsDef | undefined {\n return style.frameStyle?.borderColor ?? undefined;\n },\n get borderLineWidth(): LineWidthsDef | undefined {\n return style.frameStyle?.borderLineWidth ?? undefined;\n },\n get borderLineDash(): LineDashsDef | undefined {\n return style.frameStyle?.borderLineDash ?? undefined;\n }\n };\n }\n return undefined;\n },\n get padding(): PaddingsPropertyDefine | undefined {\n return style.padding;\n },\n get textAlign(): TextAlignType | undefined {\n return style.textAlign;\n },\n get textBaseline(): TextBaselineType | undefined {\n return style.textBaseline;\n },\n get textOverflow(): TextOverflow | undefined {\n return style.textOverflow;\n },\n get lineHeight(): number | undefined {\n return style.lineHeight;\n },\n get autoWrapText(): boolean | undefined {\n return style.autoWrapText;\n },\n get lineClamp(): LineClamp | undefined {\n return style.lineClamp;\n },\n get linkColor(): ColorPropertyDefine | undefined {\n return style.linkColor;\n },\n get cursor(): CursorPropertyDefine | undefined {\n return style.cursor;\n },\n get textStick(): boolean | undefined {\n return style.textStick;\n },\n get marked(): MarkedPropertyDefine | undefined {\n return style.marked;\n },\n get underline(): UnderlinePropertyDefine {\n return style.underline ?? false;\n },\n get underlineColor(): ColorPropertyDefine | undefined {\n return style.underlineColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get underlineDash(): LineDashPropertyDefine | undefined {\n return style.underlineDash;\n },\n get lineThrough(): LineThroughPropertyDefine | undefined {\n return style.lineThrough ?? false;\n },\n get lineThroughColor(): ColorPropertyDefine | undefined {\n return style.lineThroughColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get lineThroughDash(): LineDashPropertyDefine | undefined {\n return style.lineThroughDash;\n }\n };\n }\n}\n\nfunction hasThemeProperty(obj: PartialTableThemeDefine, names: string[]): boolean {\n if (obj instanceof TableTheme) {\n return obj.hasProperty(names);\n }\n\n let o: any = obj;\n if (!o) {\n return false;\n }\n for (let index = 0; index < names.length; index++) {\n const name = names[index];\n o = o[name];\n if (!o) {\n return false;\n }\n }\n return !!o;\n}\n"]}
1
+ {"version":3,"sources":["themes/theme.ts"],"names":[],"mappings":";;;AAqCA,4CAA+C;AAC/C,wCAAyE;AACzE,4CASyB;AAIzB,SAAS,OAAO,CAAC,GAA4B,EAAE,QAA2B,EAAE,KAAe,EAAE,QAAmB;IAC9G,OAAO,CACL,IAAA,qBAAY,EAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QAC3B,IAAA,qBAAY,EAAC,QAAQ,EAAE,GAAG,KAAK,CAAC;QAChC,CAAC,QAAQ,IAAI,IAAA,qBAAY,EAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;QAC5C,CAAC,QAAQ,IAAI,IAAA,qBAAY,EAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,CAAC,CAClD,CAAC;AACJ,CAAC;AAED,MAAa,UAAU;IAsBrB,YAAY,GAAgD,EAAE,UAA6B;QAjBnF,kBAAa,GAAoD,IAAI,CAAC;QACtE,YAAO,GAA4C,IAAI,CAAC;QACxD,kBAAa,GAAkD,IAAI,CAAC;QACpE,wBAAmB,GAAwD,IAAI,CAAC;QAChF,0BAAqB,GAA0D,IAAI,CAAC;QACpF,2BAAsB,GAA2D,IAAI,CAAC;QACtF,iBAAY,GAAiD,IAAI,CAAC;QAClE,kBAAa,GAAkD,IAAI,CAAC;QACpE,eAAU,GAA+C,IAAI,CAAC;QAC9D,UAAK,GAA0C,IAAI,CAAC;QACpD,YAAO,GAA4C,IAAI,CAAC;QACxD,aAAQ,GAA6C,IAAI,CAAC;QAC1D,gBAAW,GAA2C,IAAI,CAAC;QAC3D,kBAAa,GAAoD,IAAI,CAAC;QACtE,yBAAoB,GAA2D,IAAI,CAAC;QACpF,sBAAiB,GAAwD,IAAI,CAAC;QAC9E,oBAAe,GAAsD,IAAI,CAAC;QAEhF,IAAI,CAAC,aAAa,GAAG;YACnB,GAAG;YACH,UAAU;SACX,CAAC;IACJ,CAAC;IACD,IAAI,IAAI;QACN,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC/C,OAAO,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,uBAAuB;QACzB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC/C,OAAO,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,YAAY;QAEd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,YAAY,GAAe,IAAA,2BAAoB,EAAC,EAAE,EAAE,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;YACrG,IAAI,CAAC,aAAa,GAAG;gBACnB,IAAI,QAAQ;;oBACV,OAAO,MAAA,YAAY,CAAC,QAAQ,mCAAI,wBAAe,CAAC;gBAClD,CAAC;gBACD,IAAI,UAAU;;oBACZ,OAAO,MAAA,YAAY,CAAC,UAAU,mCAAI,0BAAiB,CAAC;gBACtD,CAAC;gBACD,IAAI,UAAU;oBACZ,OAAO,YAAY,CAAC,UAAU,CAAC;gBACjC,CAAC;gBACD,IAAI,WAAW;oBACb,OAAO,YAAY,CAAC,WAAW,CAAC;gBAClC,CAAC;gBACD,IAAI,SAAS;oBACX,OAAO,YAAY,CAAC,SAAS,CAAC;gBAChC,CAAC;gBACD,IAAI,OAAO;;oBACT,OAAO,MAAA,YAAY,CAAC,OAAO,mCAAI,uBAAc,CAAC;gBAChD,CAAC;gBACD,IAAI,KAAK;;oBACP,OAAO,MAAA,YAAY,CAAC,KAAK,mCAAI,yBAAgB,CAAC;gBAChD,CAAC;gBACD,IAAI,WAAW;;oBACb,OAAO,MAAA,YAAY,CAAC,WAAW,mCAAI,2BAAkB,CAAC;gBACxD,CAAC;gBACD,IAAI,eAAe;;oBACjB,OAAO,MAAA,YAAY,CAAC,eAAe,mCAAI,+BAAsB,CAAC;gBAChE,CAAC;gBACD,IAAI,cAAc;;oBAChB,OAAO,MAAA,YAAY,CAAC,cAAc,mCAAI,8BAAqB,CAAC;gBAC9D,CAAC;gBACD,IAAI,KAAK;oBACP,IAAI,YAAY,CAAC,KAAK,EAAE;wBACtB,OAAO;4BACL,IAAI,WAAW;;gCACb,OAAO,MAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,mCAAI,SAAS,CAAC;4BACtD,CAAC;4BAOD,IAAI,mBAAmB;;gCACrB,OAAO,CACL,MAAA,MAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,mBAAmB,mCACvC,CAAC,CAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,KAAI,OAAO,CAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,CAAA,KAAK,QAAQ;oCACrF,CAAC,CAAC,IAAA,kBAAW,EAAC,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC;oCAC1D,CAAC,CAAC,SAAS,CAAC,mCACd,SAAS,CACV,CAAC;4BACJ,CAAC;4BACD,IAAI,gBAAgB;;gCAClB,OAAO,CACL,MAAA,MAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,gBAAgB,mCACpC,CAAC,CAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,KAAI,OAAO,CAAA,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,CAAA,KAAK,QAAQ;oCACrF,CAAC,CAAC,IAAA,kBAAW,EAAC,MAAA,YAAY,CAAC,KAAK,0CAAE,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC;oCAC1D,CAAC,CAAC,SAAS,CAAC,mCACd,SAAS,CACV,CAAC;4BACJ,CAAC;yBACF,CAAC;qBACH;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC;gBAqCD,IAAI,OAAO;;oBACT,OAAO,MAAA,YAAY,CAAC,OAAO,mCAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBAClD,CAAC;gBACD,IAAI,SAAS;;oBACX,OAAO,MAAA,YAAY,CAAC,SAAS,mCAAI,MAAM,CAAC;gBAC1C,CAAC;gBACD,IAAI,YAAY;;oBACd,OAAO,MAAA,YAAY,CAAC,YAAY,mCAAI,QAAQ,CAAC;gBAC/C,CAAC;gBACD,IAAI,YAAY;;oBACd,OAAO,MAAA,YAAY,CAAC,YAAY,mCAAI,UAAU,CAAC;gBACjD,CAAC;gBACD,IAAI,UAAU;oBACZ,OAAO,YAAY,CAAC,UAAU,CAAC;gBACjC,CAAC;gBACD,IAAI,YAAY;;oBACd,OAAO,MAAA,YAAY,CAAC,YAAY,mCAAI,KAAK,CAAC;gBAC5C,CAAC;gBACD,IAAI,SAAS;;oBACX,OAAO,MAAA,YAAY,CAAC,SAAS,mCAAI,MAAM,CAAC;gBAC1C,CAAC;gBACD,IAAI,SAAS;;oBACX,OAAO,MAAA,YAAY,CAAC,SAAS,mCAAI,SAAS,CAAC;gBAC7C,CAAC;gBACD,IAAI,MAAM;;oBACR,OAAO,MAAA,YAAY,CAAC,MAAM,mCAAI,MAAM,CAAC;gBACvC,CAAC;gBACD,IAAI,MAAM;;oBACR,OAAO,MAAA,YAAY,CAAC,MAAM,mCAAI,KAAK,CAAC;gBACtC,CAAC;gBACD,IAAI,SAAS;;oBACX,OAAO,MAAA,YAAY,CAAC,SAAS,mCAAI,KAAK,CAAC;gBACzC,CAAC;gBACD,IAAI,cAAc;oBAChB,OAAO,YAAY,CAAC,cAAc,CAAC;gBACrC,CAAC;gBACD,IAAI,aAAa;oBACf,OAAO,YAAY,CAAC,aAAa,CAAC;gBACpC,CAAC;gBACD,IAAI,WAAW;;oBACb,OAAO,MAAA,YAAY,CAAC,WAAW,mCAAI,KAAK,CAAC;gBAC3C,CAAC;gBACD,IAAI,gBAAgB;oBAClB,OAAO,YAAY,CAAC,gBAAgB,CAAC;gBACvC,CAAC;gBACD,IAAI,eAAe;oBACjB,OAAO,YAAY,CAAC,eAAe,CAAC;gBACtC,CAAC;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,IAAI,WAAW;QACb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAE/C,MAAM,MAAM,GAAe,IAAA,2BAAoB,EAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YAChH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACtC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,IAAI,iBAAiB;QACnB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAE/C,MAAM,MAAM,GAAe,IAAA,2BAAoB,EAC7C,EAAE,EACF,IAAI,CAAC,YAAY,EACjB,UAAU,CAAC,iBAAiB,EAC5B,GAAG,CAAC,iBAAiB,CACtB,CAAC;YACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,IAAI,uBAAuB;QACzB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC7B,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,uBAAuB,IAAI,CAAC,GAAG,CAAC,uBAAuB,EAAE;gBACvE,OAAO,IAAI,CAAC,mBAAmB,CAAC;aACjC;YAED,MAAM,MAAM,GAAe,IAAA,2BAAoB,EAC7C,EAAE,EACF,IAAI,CAAC,YAAY,EACjB,UAAU,CAAC,uBAAuB,EAClC,GAAG,CAAC,uBAAuB,CAC5B,CAAC;YACF,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAClD;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IACD,IAAI,yBAAyB;QAC3B,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC/B,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,yBAAyB,IAAI,CAAC,GAAG,CAAC,yBAAyB,EAAE;gBAC3E,OAAO,IAAI,CAAC,qBAAqB,CAAC;aACnC;YAED,MAAM,MAAM,GAAe,IAAA,2BAAoB,EAC7C,EAAE,EACF,IAAI,CAAC,YAAY,EACjB,UAAU,CAAC,yBAAyB,EACpC,GAAG,CAAC,yBAAyB,CAC9B,CAAC;YACF,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACpD;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IACD,IAAI,0BAA0B;QAC5B,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAChC,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,0BAA0B,IAAI,CAAC,GAAG,CAAC,0BAA0B,EAAE;gBAC7E,OAAO,IAAI,CAAC,sBAAsB,CAAC;aACpC;YAED,MAAM,MAAM,GAAe,IAAA,2BAAoB,EAC7C,EAAE,EACF,IAAI,CAAC,YAAY,EACjB,UAAU,CAAC,0BAA0B,EACrC,GAAG,CAAC,0BAA0B,CAC/B,CAAC;YACF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACrD;QACD,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IACD,IAAI,gBAAgB;QAClB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,gBAAgB,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE;gBACzD,OAAO,IAAI,CAAC,YAAY,CAAC;aAC1B;YAED,MAAM,MAAM,GAAe,IAAA,2BAAoB,EAC7C,EAAE,EACF,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,cAAc,EACnB,UAAU,CAAC,gBAAgB,EAC3B,GAAG,CAAC,gBAAgB,CACrB,CAAC;YACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC3C;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAI,iBAAiB;QACnB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,iBAAiB,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE;gBAC3D,OAAO,IAAI,CAAC,aAAa,CAAC;aAC3B;YAED,MAAM,MAAM,GAAe,IAAA,2BAAoB,EAC7C,EAAE,EACF,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,WAAW,EAChB,UAAU,CAAC,iBAAiB,EAC5B,GAAG,CAAC,iBAAiB,CACtB,CAAC;YACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IACD,IAAI,cAAc;QAChB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAE/C,MAAM,MAAM,GAAe,IAAA,2BAAoB,EAC7C,EAAE,EACF,IAAI,CAAC,YAAY,EACjB,UAAU,CAAC,cAAc,EACzB,GAAG,CAAC,cAAc,CACnB,CAAC;YACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAI,SAAS;QACX,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAE/C,MAAM,IAAI,GAAe,IAAA,2BAAoB,EAAC,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;YAC1G,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAClC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,UAAU;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,UAAU,GAAoB,IAAA,2BAAoB,EAAC,EAAE,EAAE,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YACpG,IAAI,CAAC,WAAW,GAAG;gBACjB,IAAI,WAAW;oBACb,OAAO,UAAU,CAAC,WAAW,CAAC;gBAChC,CAAC;gBACD,IAAI,eAAe;oBACjB,OAAO,UAAU,CAAC,eAAe,CAAC;gBACpC,CAAC;gBACD,IAAI,cAAc;oBAChB,OAAO,UAAU,CAAC,cAAc,CAAC;gBACnC,CAAC;gBACD,IAAI,UAAU;oBACZ,OAAO,UAAU,CAAC,UAAU,CAAC;gBAC/B,CAAC;gBACD,IAAI,WAAW;oBACb,OAAO,UAAU,CAAC,WAAW,CAAC;gBAChC,CAAC;gBACD,IAAI,aAAa;oBACf,OAAO,UAAU,CAAC,aAAa,CAAC;gBAClC,CAAC;gBACD,IAAI,aAAa;oBACf,OAAO,UAAU,CAAC,aAAa,CAAC;gBAClC,CAAC;gBACD,IAAI,YAAY;oBACd,OAAO,UAAU,CAAC,YAAY,CAAC;gBACjC,CAAC;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,IAAI,WAAW;QACb,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,MAAM,GAAgB,IAAA,2BAAoB,EAAC,EAAE,EAAE,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YAC9F,IAAI,CAAC,OAAO,GAAG;gBACb,IAAI,iBAAiB;;oBACnB,OAAO,MAAA,MAAM,CAAC,iBAAiB,mCAAI,SAAS,CAAC;gBAC/C,CAAC;gBACD,IAAI,eAAe;oBACjB,OAAO,MAAM,CAAC,eAAe,CAAC;gBAChC,CAAC;gBACD,IAAI,OAAO;;oBACT,OAAO,MAAA,MAAM,CAAC,OAAO,mCAAI,WAAW,CAAC;gBACvC,CAAC;gBACD,IAAI,KAAK;;oBACP,OAAO,MAAA,MAAM,CAAC,KAAK,mCAAI,CAAC,CAAC;gBAC3B,CAAC;gBACD,IAAI,OAAO;;oBACT,OAAO,MAAA,MAAM,CAAC,OAAO,mCAAI,IAAI,CAAC;gBAChC,CAAC;aACF,CAAC;SACH;QAED,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,IAAI,YAAY;QACd,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,OAAO,GAAiB,IAAA,2BAAoB,EAAC,EAAE,EAAE,UAAU,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC;YAClG,IAAI,CAAC,QAAQ,GAAG;gBACd,IAAI,IAAI;;oBACN,OAAO,MAAA,OAAO,CAAC,IAAI,mCAAI,oBAAW,CAAC;gBACrC,CAAC;gBACD,IAAI,OAAO;;oBACT,OAAO,MAAA,OAAO,CAAC,OAAO,mCAAI,MAAM,CAAC;gBACnC,CAAC;gBACD,IAAI,OAAO;;oBACT,OAAO,MAAA,OAAO,CAAC,OAAO,mCAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnC,CAAC;gBACD,IAAI,KAAK;;oBACP,OAAO,MAAA,OAAO,CAAC,KAAK,mCAAI,MAAM,CAAC;gBACjC,CAAC;aACF,CAAC;SACH;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAKD,IAAI,YAAY;QACd,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,YAAY,GAA6C,IAAA,2BAAoB,EACjF,EAAE,EACF,UAAU,CAAC,YAAY,EACvB,GAAG,CAAC,YAAY,CACjB,CAAC;YACF,IAAI,CAAC,aAAa,GAAG;gBACnB,IAAI,SAAS;;oBACX,OAAO,MAAA,YAAY,CAAC,SAAS,mCAAI,SAAS,CAAC;gBAC7C,CAAC;gBACD,IAAI,OAAO;;oBACT,OAAO,MAAA,YAAY,CAAC,OAAO,mCAAI,SAAS,CAAC;gBAC3C,CAAC;gBACD,IAAI,SAAS;;oBACX,OAAO,MAAA,YAAY,CAAC,SAAS,mCAAI,CAAC,CAAC;gBACrC,CAAC;gBACD,IAAI,KAAK;;oBACP,OAAO,MAAA,YAAY,CAAC,KAAK,mCAAI,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC;gBAC1D,CAAC;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAID,IAAI,mBAAmB;QACrB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,mBAAmB,GAAoD,IAAA,2BAAoB,EAC/F,EAAE,EACF,UAAU,CAAC,mBAAmB,EAC9B,GAAG,CAAC,mBAAmB,CACxB,CAAC;YACF,IAAI,CAAC,oBAAoB,GAAG;gBAC1B,IAAI,SAAS;;oBACX,OAAO,MAAA,mBAAmB,CAAC,SAAS,mCAAI,MAAM,CAAC;gBACjD,CAAC;gBAID,IAAI,SAAS;;oBACX,OAAO,MAAA,mBAAmB,CAAC,SAAS,mCAAI,CAAC,CAAC;gBAC5C,CAAC;gBAID,IAAI,gBAAgB;;oBAClB,OAAO,MAAA,mBAAmB,CAAC,gBAAgB,mCAAI,uBAAuB,CAAC;gBACzE,CAAC;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IACD,IAAI,gBAAgB;QAMlB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,gBAAgB,GAAiD,IAAA,2BAAoB,EACzF,EAAE,EACF,UAAU,CAAC,gBAAgB,EAC3B,GAAG,CAAC,gBAAgB,CACrB,CAAC;YACF,IAAI,CAAC,iBAAiB,GAAG;gBACvB,IAAI,MAAM;oBACR,IAAI,gBAAgB,CAAC,MAAM,EAAE;wBAC3B,OAAO;4BACL,IAAI,KAAK;;gCACP,OAAO,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,KAAK,mCAAI,EAAE,CAAC;4BAC9C,CAAC;4BACD,IAAI,UAAU;;gCACZ,OAAO,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,UAAU,mCAAI,wBAAwB,CAAC;4BACzE,CAAC;4BACD,IAAI,QAAQ;;gCACV,OAAO,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,QAAQ,mCAAI,qBAAqB,CAAC;4BACpE,CAAC;yBACF,CAAC;qBACH;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,IAAI,MAAM;oBAQR,IAAI,gBAAgB,CAAC,MAAM,EAAE;wBAC3B,OAAO;4BACL,IAAI,SAAS;;gCACX,OAAO,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,SAAS,mCAAI,wBAAwB,CAAC;4BACxE,CAAC;4BACD,IAAI,OAAO;;gCACT,OAAO,CACL,MAAA,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,OAAO,mCAAI,MAAA,gBAAgB,CAAC,MAAM,0CAAE,SAAS,mCAAI,wBAAwB,CACnG,CAAC;4BACJ,CAAC;4BACD,IAAI,SAAS;;gCACX,OAAO,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,SAAS,mCAAI,CAAC,CAAC;4BACjD,CAAC;4BACD,IAAI,KAAK;;gCACP,OAAO,MAAA,MAAA,MAAA,gBAAgB,CAAC,MAAM,0CAAE,KAAK,mCAAI,MAAA,gBAAgB,CAAC,MAAM,0CAAE,SAAS,mCAAI,CAAC,CAAC;4BACnF,CAAC;yBACF,CAAC;qBACH;oBACD,OAAO,SAAS,CAAC;gBACnB,CAAC;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IACD,IAAI,cAAc;QAChB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC/C,MAAM,cAAc,GAA+C,IAAA,2BAAoB,EACrF,EAAE,EACF,UAAU,CAAC,cAAc,EACzB,GAAG,CAAC,cAAc,CACnB,CAAC;YACF,IAAI,CAAC,eAAe,GAAG;gBACrB,IAAI,WAAW;;oBACb,OAAO,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,mCAAI,qBAAqB,CAAC;gBAC9D,CAAC;gBACD,IAAI,eAAe;;oBACjB,OAAO,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,eAAe,mCAAI,SAAS,CAAC;gBACtD,CAAC;gBACD,IAAI,mBAAmB;;oBACrB,OAAO,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,mBAAmB,mCAAI,CAAC,CAAC;gBAClD,CAAC;aACF,CAAC;SACH;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IACD,WAAW,CAAC,KAAe;QACzB,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;QAC/C,OAAO,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,CAAC,GAA4B;QAClC,OAAO,IAAI,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IACO,QAAQ,CAAC,KAAiB;QAChC,OAAO;YACL,IAAI,QAAQ;gBACV,OAAO,KAAK,CAAC,QAAQ,CAAC;YACxB,CAAC;YACD,IAAI,UAAU;gBACZ,OAAO,KAAK,CAAC,UAAU,CAAC;YAC1B,CAAC;YACD,IAAI,UAAU;gBACZ,OAAO,KAAK,CAAC,UAAU,CAAC;YAC1B,CAAC;YACD,IAAI,WAAW;gBACb,OAAO,KAAK,CAAC,WAAW,CAAC;YAC3B,CAAC;YACD,IAAI,SAAS;gBACX,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YACD,IAAI,OAAO;gBACT,OAAO,KAAK,CAAC,OAAO,CAAC;YACvB,CAAC;YACD,IAAI,KAAK;gBACP,OAAO,KAAK,CAAC,KAAK,CAAC;YACrB,CAAC;YACD,IAAI,WAAW;gBACb,OAAO,KAAK,CAAC,WAAW,CAAC;YAC3B,CAAC;YACD,IAAI,eAAe;gBACjB,OAAO,KAAK,CAAC,eAAe,CAAC;YAC/B,CAAC;YACD,IAAI,cAAc;gBAChB,OAAO,KAAK,CAAC,cAAc,CAAC;YAC9B,CAAC;YACD,IAAI,KAAK;gBACP,IAAI,KAAK,CAAC,KAAK,EAAE;oBACf,OAAO;wBACL,IAAI,WAAW;;4BACb,OAAO,MAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,mCAAI,SAAS,CAAC;wBAC/C,CAAC;wBAOD,IAAI,mBAAmB;;4BACrB,OAAO,CACL,MAAA,MAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,mBAAmB,mCAChC,CAAC,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,KAAI,OAAO,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,CAAA,KAAK,QAAQ;gCACvE,CAAC,CAAC,IAAA,kBAAW,EAAC,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC;gCACnD,CAAC,CAAC,SAAS,CAAC,mCACd,SAAS,CACV,CAAC;wBACJ,CAAC;wBACD,IAAI,gBAAgB;;4BAClB,OAAO,CACL,MAAA,MAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,gBAAgB,mCAC7B,CAAC,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,KAAI,OAAO,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,CAAA,KAAK,QAAQ;gCACvE,CAAC,CAAC,IAAA,kBAAW,EAAC,MAAA,KAAK,CAAC,KAAK,0CAAE,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC;gCACnD,CAAC,CAAC,SAAS,CAAC,mCACd,SAAS,CACV,CAAC;wBACJ,CAAC;qBACF,CAAC;iBACH;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YAmCD,IAAI,UAAU;gBACZ,IAAI,KAAK,CAAC,UAAU,EAAE;oBACpB,OAAO;wBACL,IAAI,WAAW;;4BACb,OAAO,MAAA,MAAA,KAAK,CAAC,UAAU,0CAAE,WAAW,mCAAI,SAAS,CAAC;wBACpD,CAAC;wBACD,IAAI,eAAe;;4BACjB,OAAO,MAAA,MAAA,KAAK,CAAC,UAAU,0CAAE,eAAe,mCAAI,SAAS,CAAC;wBACxD,CAAC;wBACD,IAAI,cAAc;;4BAChB,OAAO,MAAA,MAAA,KAAK,CAAC,UAAU,0CAAE,cAAc,mCAAI,SAAS,CAAC;wBACvD,CAAC;qBACF,CAAC;iBACH;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,IAAI,OAAO;gBACT,OAAO,KAAK,CAAC,OAAO,CAAC;YACvB,CAAC;YACD,IAAI,SAAS;gBACX,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YACD,IAAI,YAAY;gBACd,OAAO,KAAK,CAAC,YAAY,CAAC;YAC5B,CAAC;YACD,IAAI,YAAY;gBACd,OAAO,KAAK,CAAC,YAAY,CAAC;YAC5B,CAAC;YACD,IAAI,UAAU;gBACZ,OAAO,KAAK,CAAC,UAAU,CAAC;YAC1B,CAAC;YACD,IAAI,YAAY;gBACd,OAAO,KAAK,CAAC,YAAY,CAAC;YAC5B,CAAC;YACD,IAAI,SAAS;gBACX,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YACD,IAAI,SAAS;gBACX,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YACD,IAAI,MAAM;gBACR,OAAO,KAAK,CAAC,MAAM,CAAC;YACtB,CAAC;YACD,IAAI,SAAS;gBACX,OAAO,KAAK,CAAC,SAAS,CAAC;YACzB,CAAC;YACD,IAAI,MAAM;gBACR,OAAO,KAAK,CAAC,MAAM,CAAC;YACtB,CAAC;YACD,IAAI,SAAS;;gBACX,OAAO,MAAA,KAAK,CAAC,SAAS,mCAAI,KAAK,CAAC;YAClC,CAAC;YACD,IAAI,cAAc;gBAChB,OAAO,KAAK,CAAC,cAAc,CAAC;YAC9B,CAAC;YACD,IAAI,aAAa;gBACf,OAAO,KAAK,CAAC,aAAa,CAAC;YAC7B,CAAC;YACD,IAAI,WAAW;;gBACb,OAAO,MAAA,KAAK,CAAC,WAAW,mCAAI,KAAK,CAAC;YACpC,CAAC;YACD,IAAI,gBAAgB;gBAClB,OAAO,KAAK,CAAC,gBAAgB,CAAC;YAChC,CAAC;YACD,IAAI,eAAe;gBACjB,OAAO,KAAK,CAAC,eAAe,CAAC;YAC/B,CAAC;SACF,CAAC;IACJ,CAAC;CACF;AA1tBD,gCA0tBC;AAED,SAAS,gBAAgB,CAAC,GAA4B,EAAE,KAAe;IACrE,IAAI,GAAG,YAAY,UAAU,EAAE;QAC7B,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KAC/B;IAED,IAAI,CAAC,GAAQ,GAAG,CAAC;IACjB,IAAI,CAAC,CAAC,EAAE;QACN,OAAO,KAAK,CAAC;KACd;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACjD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,CAAC,EAAE;YACN,OAAO,KAAK,CAAC;SACd;KACF;IACD,OAAO,CAAC,CAAC,CAAC,CAAC;AACb,CAAC","file":"theme.js","sourcesContent":["/* eslint-disable no-undef */\n/* eslint-disable sort-imports */\nimport type {\n ColorPropertyDefine,\n ColorsDef,\n ColorsPropertyDefine,\n ColumnIconOption,\n FrameStyle,\n ITableThemeDefine,\n InteractionStyle,\n LineClamp,\n LineDashsDef,\n LineDashsPropertyDefine,\n LineWidthsDef,\n LineWidthsPropertyDefine,\n PartialTableThemeDefine,\n RequiredTableThemeDefine,\n TextOverflow,\n ThemeStyle,\n // menuStyle,\n TableFrameStyle,\n PaddingsPropertyDefine,\n ScrollStyle,\n CursorPropertyDefine,\n TooltipStyle,\n MarkedPropertyDefine,\n UnderlinePropertyDefine,\n LineDashPropertyDefine,\n LineThroughPropertyDefine,\n FontSizePropertyDefine,\n FontFamilyPropertyDefine,\n FontWeightPropertyDefine,\n FontVariantPropertyDefine,\n FontStylePropertyDefine,\n TextAlignType,\n TextBaselineType\n} from '../ts-types';\nimport { getChainSafe } from '../tools/helper';\nimport { changeColor, ingoreNoneValueMerge, merge } from '../tools/util';\nimport {\n DEFAULTBGCOLOR,\n DEFAULTBORDERCOLOR,\n DEFAULTBORDERLINEDASH,\n DEFAULTBORDERLINEWIDTH,\n DEFAULTFONT,\n DEFAULTFONTCOLOR,\n DEFAULTFONTFAMILY,\n DEFAULTFONTSIZE\n} from '../tools/global';\n//private symbol\n// const _ = getSymbol();\n\nfunction getProp(obj: PartialTableThemeDefine, superObj: ITableThemeDefine, names: string[], defNames?: string[]): any {\n return (\n getChainSafe(obj, ...names) ||\n getChainSafe(superObj, ...names) ||\n (defNames && getChainSafe(obj, ...defNames)) ||\n (defNames && getChainSafe(superObj, ...defNames))\n );\n}\n\nexport class TableTheme implements ITableThemeDefine {\n private internalTheme: {\n obj: PartialTableThemeDefine;\n superTheme: ITableThemeDefine;\n };\n private _defaultStyle: RequiredTableThemeDefine['defaultStyle'] | null = null;\n private _header: ITableThemeDefine['headerStyle'] | null = null;\n private _cornerHeader: ITableThemeDefine['cornerHeaderStyle'] | null = null;\n private _cornerRightTopCell: ITableThemeDefine['cornerRightTopCellStyle'] | null = null;\n private _cornerLeftBottomCell: ITableThemeDefine['cornerLeftBottomCellStyle'] | null = null;\n private _cornerRightBottomCell: ITableThemeDefine['cornerRightBottomCellStyle'] | null = null;\n private _rightFrozen: ITableThemeDefine['rightFrozenStyle'] | null = null;\n private _bottomFrozen: ITableThemeDefine['bottomFrozenStyle'] | null = null;\n private _rowHeader: ITableThemeDefine['rowHeaderStyle'] | null = null;\n private _body: ITableThemeDefine['bodyStyle'] | null = null;\n private _scroll: ITableThemeDefine['scrollStyle'] | null = null;\n private _tooltip: ITableThemeDefine['tooltipStyle'] | null = null;\n private _frameStyle: ITableThemeDefine['frameStyle'] | null = null;\n private _columnResize: RequiredTableThemeDefine['columnResize'] | null = null;\n private _dragHeaderSplitLine: RequiredTableThemeDefine['dragHeaderSplitLine'] | null = null;\n private _frozenColumnLine: RequiredTableThemeDefine['frozenColumnLine'] | null = null;\n private _selectionStyle: RequiredTableThemeDefine['selectionStyle'] | null = null;\n constructor(obj: PartialTableThemeDefine | ITableThemeDefine, superTheme: ITableThemeDefine) {\n this.internalTheme = {\n obj,\n superTheme\n };\n }\n get font(): string {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['font'], ['bodyStyle', 'font']);\n }\n get underlayBackgroundColor(): string {\n const { obj, superTheme } = this.internalTheme;\n return getProp(obj, superTheme, ['underlayBackgroundColor']);\n }\n\n get defaultStyle(): RequiredTableThemeDefine['defaultStyle'] {\n // const defaultStyle = getProp(obj, superTheme, [\"defaultStyle\"]);\n if (!this._defaultStyle) {\n const { obj, superTheme } = this.internalTheme;\n const defaultStyle: ThemeStyle = ingoreNoneValueMerge({}, superTheme.defaultStyle, obj.defaultStyle);\n this._defaultStyle = {\n get fontSize(): FontSizePropertyDefine {\n return defaultStyle.fontSize ?? DEFAULTFONTSIZE;\n },\n get fontFamily(): FontFamilyPropertyDefine {\n return defaultStyle.fontFamily ?? DEFAULTFONTFAMILY;\n },\n get fontWeight(): FontWeightPropertyDefine | undefined {\n return defaultStyle.fontWeight;\n },\n get fontVariant(): FontVariantPropertyDefine | undefined {\n return defaultStyle.fontVariant;\n },\n get fontStyle(): FontStylePropertyDefine | undefined {\n return defaultStyle.fontStyle;\n },\n get bgColor(): ColorPropertyDefine {\n return defaultStyle.bgColor ?? DEFAULTBGCOLOR;\n },\n get color(): ColorPropertyDefine {\n return defaultStyle.color ?? DEFAULTFONTCOLOR;\n },\n get borderColor(): ColorsPropertyDefine {\n return defaultStyle.borderColor ?? DEFAULTBORDERCOLOR;\n },\n get borderLineWidth(): LineWidthsPropertyDefine | undefined {\n return defaultStyle.borderLineWidth ?? DEFAULTBORDERLINEWIDTH;\n },\n get borderLineDash(): LineDashsPropertyDefine | undefined {\n return defaultStyle.borderLineDash ?? DEFAULTBORDERLINEDASH;\n },\n get hover(): InteractionStyle | undefined {\n if (defaultStyle.hover) {\n return {\n get cellBgColor(): ColorPropertyDefine | undefined {\n return defaultStyle.hover?.cellBgColor ?? undefined;\n },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return defaultStyle.hover?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return defaultStyle.hover?.cellBorderLineWidth ?? undefined;\n // },\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.hover?.inlineColumnBgColor ??\n (defaultStyle.hover?.cellBgColor && typeof defaultStyle.hover?.cellBgColor === 'string'\n ? changeColor(defaultStyle.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n defaultStyle.hover?.inlineRowBgColor ??\n (defaultStyle.hover?.cellBgColor && typeof defaultStyle.hover?.cellBgColor === 'string'\n ? changeColor(defaultStyle.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n }\n };\n }\n return undefined;\n },\n // get click(): InteractionStyle | undefined {\n // if (defaultStyle.click)\n // return {\n // get cellBgColor(): ColorPropertyDefine | undefined {\n // return defaultStyle.click?.cellBgColor ?? undefined;\n // },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return defaultStyle.click?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return defaultStyle.click?.cellBorderLineWidth ?? undefined;\n // },\n // // get cellBorderLineDash(): LineDashsPropertyDefine |undefined{\n // // return defaultStyle.click?.cellBorderLineDash??undefined\n // // },\n // get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // defaultStyle.click?.inlineColumnBgColor ??\n // (defaultStyle.click?.cellBgColor &&\n // typeof defaultStyle.click?.cellBgColor === 'string'\n // ? changeColor(defaultStyle.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // get inlineRowBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // defaultStyle.click?.inlineRowBgColor ??\n // (defaultStyle.click?.cellBgColor &&\n // typeof defaultStyle.click?.cellBgColor === 'string'\n // ? changeColor(defaultStyle.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // };\n // return undefined;\n // },\n get padding(): PaddingsPropertyDefine {\n return defaultStyle.padding ?? [10, 16, 10, 16];\n },\n get textAlign(): TextAlignType {\n return defaultStyle.textAlign ?? 'left';\n },\n get textBaseline(): TextBaselineType {\n return defaultStyle.textBaseline ?? 'middle';\n },\n get textOverflow(): TextOverflow {\n return defaultStyle.textOverflow ?? 'ellipsis';\n },\n get lineHeight(): number {\n return defaultStyle.lineHeight;\n },\n get autoWrapText(): boolean {\n return defaultStyle.autoWrapText ?? false;\n },\n get lineClamp(): LineClamp {\n return defaultStyle.lineClamp ?? 'auto';\n },\n get linkColor(): ColorPropertyDefine {\n return defaultStyle.linkColor ?? '#3772ff';\n },\n get cursor(): CursorPropertyDefine {\n return defaultStyle.cursor ?? 'auto';\n },\n get marked(): MarkedPropertyDefine {\n return defaultStyle.marked ?? false;\n },\n get underline(): UnderlinePropertyDefine {\n return defaultStyle.underline ?? false;\n },\n get underlineColor(): ColorPropertyDefine | undefined {\n return defaultStyle.underlineColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get underlineDash(): LineDashPropertyDefine | undefined {\n return defaultStyle.underlineDash;\n },\n get lineThrough(): LineThroughPropertyDefine | undefined {\n return defaultStyle.lineThrough ?? false;\n },\n get lineThroughColor(): ColorPropertyDefine | undefined {\n return defaultStyle.lineThroughColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get lineThroughDash(): LineDashPropertyDefine | undefined {\n return defaultStyle.lineThroughDash;\n }\n };\n }\n return this._defaultStyle;\n }\n get headerStyle(): ITableThemeDefine['headerStyle'] {\n if (!this._header) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge({}, this.defaultStyle, superTheme.headerStyle, obj.headerStyle);\n this._header = this.getStyle(header);\n }\n return this._header;\n }\n get cornerHeaderStyle(): ITableThemeDefine['cornerHeaderStyle'] {\n if (!this._cornerHeader) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerHeaderStyle,\n obj.cornerHeaderStyle // ?? obj.headerStyle\n );\n this._cornerHeader = this.getStyle(header);\n }\n return this._cornerHeader;\n }\n get cornerRightTopCellStyle(): ITableThemeDefine['cornerRightTopCellStyle'] {\n if (!this._cornerRightTopCell) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.cornerRightTopCellStyle || !obj.cornerRightTopCellStyle) {\n return this._cornerRightTopCell;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerRightTopCellStyle,\n obj.cornerRightTopCellStyle // ?? obj.headerStyle\n );\n this._cornerRightTopCell = this.getStyle(header);\n }\n return this._cornerRightTopCell;\n }\n get cornerLeftBottomCellStyle(): ITableThemeDefine['cornerLeftBottomCellStyle'] {\n if (!this._cornerLeftBottomCell) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.cornerLeftBottomCellStyle || !obj.cornerLeftBottomCellStyle) {\n return this._cornerLeftBottomCell;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerLeftBottomCellStyle,\n obj.cornerLeftBottomCellStyle // ?? obj.headerStyle\n );\n this._cornerLeftBottomCell = this.getStyle(header);\n }\n return this._cornerLeftBottomCell;\n }\n get cornerRightBottomCellStyle(): ITableThemeDefine['cornerRightBottomCellStyle'] {\n if (!this._cornerRightBottomCell) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.cornerRightBottomCellStyle || !obj.cornerRightBottomCellStyle) {\n return this._cornerRightBottomCell;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.cornerRightBottomCellStyle,\n obj.cornerRightBottomCellStyle // ?? obj.headerStyle\n );\n this._cornerRightBottomCell = this.getStyle(header);\n }\n return this._cornerRightBottomCell;\n }\n get rightFrozenStyle(): ITableThemeDefine['rightFrozenStyle'] {\n if (!this._rightFrozen) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.rightFrozenStyle || !obj.rightFrozenStyle) {\n return this._rightFrozen;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n this.rowHeaderStyle,\n superTheme.rightFrozenStyle,\n obj.rightFrozenStyle // ?? obj.headerStyle\n );\n this._rightFrozen = this.getStyle(header);\n }\n return this._rightFrozen;\n }\n get bottomFrozenStyle(): ITableThemeDefine['bottomFrozenStyle'] {\n if (!this._bottomFrozen) {\n const { obj, superTheme } = this.internalTheme;\n if (!superTheme.bottomFrozenStyle || !obj.bottomFrozenStyle) {\n return this._bottomFrozen;\n }\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n this.headerStyle,\n superTheme.bottomFrozenStyle,\n obj.bottomFrozenStyle // ?? obj.headerStyle\n );\n this._bottomFrozen = this.getStyle(header);\n }\n return this._bottomFrozen;\n }\n get rowHeaderStyle(): ITableThemeDefine['rowHeaderStyle'] {\n if (!this._rowHeader) {\n const { obj, superTheme } = this.internalTheme;\n // const header = getProp(obj, superTheme, [\"header\"]);\n const header: ThemeStyle = ingoreNoneValueMerge(\n {},\n this.defaultStyle,\n superTheme.rowHeaderStyle,\n obj.rowHeaderStyle // ?? obj.headerStyle\n );\n this._rowHeader = this.getStyle(header);\n }\n return this._rowHeader;\n }\n get bodyStyle(): ITableThemeDefine['bodyStyle'] {\n if (!this._body) {\n const { obj, superTheme } = this.internalTheme;\n // const body = getProp(obj, superTheme, [\"body\"]);\n const body: ThemeStyle = ingoreNoneValueMerge({}, this.defaultStyle, superTheme.bodyStyle, obj.bodyStyle);\n this._body = this.getStyle(body);\n }\n\n return this._body;\n }\n\n get frameStyle(): ITableThemeDefine['frameStyle'] {\n if (!this._frameStyle) {\n const { obj, superTheme } = this.internalTheme;\n const frameStyle: TableFrameStyle = ingoreNoneValueMerge({}, superTheme.frameStyle, obj.frameStyle);\n this._frameStyle = {\n get borderColor(): ColorsDef | undefined {\n return frameStyle.borderColor;\n },\n get borderLineWidth(): LineWidthsDef | undefined {\n return frameStyle.borderLineWidth;\n },\n get borderLineDash(): LineDashsDef | undefined {\n return frameStyle.borderLineDash;\n },\n get shadowBlur(): number {\n return frameStyle.shadowBlur;\n },\n get shadowColor(): string {\n return frameStyle.shadowColor;\n },\n get shadowOffsetX(): number {\n return frameStyle.shadowOffsetX;\n },\n get shadowOffsetY(): number {\n return frameStyle.shadowOffsetY;\n },\n get cornerRadius(): number {\n return frameStyle.cornerRadius;\n }\n };\n }\n return this._frameStyle;\n }\n get scrollStyle(): ITableThemeDefine['scrollStyle'] {\n if (!this._scroll) {\n const { obj, superTheme } = this.internalTheme;\n const scroll: ScrollStyle = ingoreNoneValueMerge({}, superTheme.scrollStyle, obj.scrollStyle);\n this._scroll = {\n get scrollSliderColor(): string | undefined {\n return scroll.scrollSliderColor ?? '#C0C0C0';\n },\n get scrollRailColor(): string | undefined {\n return scroll.scrollRailColor;\n },\n get visible(): 'always' | 'scrolling' | 'none' | 'focus' {\n return scroll.visible ?? 'scrolling';\n },\n get width(): number | undefined {\n return scroll.width ?? 7;\n },\n get hoverOn(): boolean | undefined {\n return scroll.hoverOn ?? true;\n }\n };\n }\n\n return this._scroll;\n }\n get tooltipStyle(): ITableThemeDefine['tooltipStyle'] {\n if (!this._tooltip) {\n const { obj, superTheme } = this.internalTheme;\n const tooltip: TooltipStyle = ingoreNoneValueMerge({}, superTheme.tooltipStyle, obj.tooltipStyle);\n this._tooltip = {\n get font(): string | undefined {\n return tooltip.font ?? DEFAULTFONT;\n },\n get bgColor(): string | undefined {\n return tooltip.bgColor ?? '#000';\n },\n get padding(): number[] {\n return tooltip.padding ?? [6, 8];\n },\n get color(): string | undefined {\n return tooltip.color ?? '#FFF';\n }\n };\n }\n\n return this._tooltip;\n }\n\n /**\n * resize 分割线样式\n */\n get columnResize(): RequiredTableThemeDefine['columnResize'] {\n if (!this._columnResize) {\n const { obj, superTheme } = this.internalTheme;\n const columnResize: RequiredTableThemeDefine['columnResize'] = ingoreNoneValueMerge(\n {},\n superTheme.columnResize,\n obj.columnResize\n );\n this._columnResize = {\n get lineColor(): ColorPropertyDefine {\n return columnResize.lineColor ?? '#416EFF';\n },\n get bgColor(): ColorPropertyDefine {\n return columnResize.bgColor ?? '#D9E2FF';\n },\n get lineWidth(): number {\n return columnResize.lineWidth ?? 1;\n },\n get width(): number {\n return columnResize.width ?? columnResize.lineWidth + 2;\n }\n };\n }\n return this._columnResize;\n }\n /**\n * 移位 分割线样式\n */\n get dragHeaderSplitLine(): RequiredTableThemeDefine['dragHeaderSplitLine'] {\n if (!this._dragHeaderSplitLine) {\n const { obj, superTheme } = this.internalTheme;\n const dragHeaderSplitLine: RequiredTableThemeDefine['dragHeaderSplitLine'] = ingoreNoneValueMerge(\n {},\n superTheme.dragHeaderSplitLine,\n obj.dragHeaderSplitLine\n );\n this._dragHeaderSplitLine = {\n get lineColor(): ColorPropertyDefine {\n return dragHeaderSplitLine.lineColor ?? 'blue';\n },\n // get bgColor(): ColorPropertyDefine {\n // return dragHeaderSplitLine.bgColor ?? dragHeaderSplitLine.lineColor;\n // },\n get lineWidth(): number {\n return dragHeaderSplitLine.lineWidth ?? 2;\n },\n // get width(): number {\n // return dragHeaderSplitLine.width ?? dragHeaderSplitLine.lineWidth;\n // },\n get shadowBlockColor(): string {\n return dragHeaderSplitLine.shadowBlockColor ?? 'rgba(204,204,204,0.3)';\n }\n };\n }\n return this._dragHeaderSplitLine;\n }\n get frozenColumnLine(): RequiredTableThemeDefine['frozenColumnLine'] {\n // const { obj, superTheme } = this.internalTheme;\n // const that = this;\n // const frozenColumnLine = getProp(obj, superTheme, [\n // \"frozenColumnLine\",\n // ]);\n if (!this._frozenColumnLine) {\n const { obj, superTheme } = this.internalTheme;\n const frozenColumnLine: RequiredTableThemeDefine['frozenColumnLine'] = ingoreNoneValueMerge(\n {},\n superTheme.frozenColumnLine,\n obj.frozenColumnLine\n );\n this._frozenColumnLine = {\n get shadow(): { width: number; startColor: string; endColor: string } | undefined {\n if (frozenColumnLine.shadow) {\n return {\n get width(): number {\n return frozenColumnLine.shadow?.width ?? 24;\n },\n get startColor(): string {\n return frozenColumnLine.shadow?.startColor ?? 'rgba(00, 24, 47, 0.06)';\n },\n get endColor(): string {\n return frozenColumnLine.shadow?.endColor ?? 'rgba(00, 24, 47, 0)';\n }\n };\n }\n return undefined;\n },\n get border():\n | {\n lineColor: ColorPropertyDefine;\n bgColor?: ColorPropertyDefine;\n lineWidth: number;\n width?: number;\n }\n | undefined {\n if (frozenColumnLine.border) {\n return {\n get lineColor(): ColorPropertyDefine {\n return frozenColumnLine.border?.lineColor ?? 'rgba(00, 24, 47, 0.06)';\n },\n get bgColor(): ColorPropertyDefine {\n return (\n frozenColumnLine.border?.bgColor ?? frozenColumnLine.border?.lineColor ?? 'rgba(00, 24, 47, 0.06)'\n );\n },\n get lineWidth(): number {\n return frozenColumnLine.border?.lineWidth ?? 4;\n },\n get width(): number {\n return frozenColumnLine.border?.width ?? frozenColumnLine.border?.lineWidth ?? 4;\n }\n };\n }\n return undefined;\n }\n };\n }\n return this._frozenColumnLine;\n }\n get selectionStyle(): RequiredTableThemeDefine['selectionStyle'] {\n if (!this._selectionStyle) {\n const { obj, superTheme } = this.internalTheme;\n const selectionStyle: RequiredTableThemeDefine['selectionStyle'] = ingoreNoneValueMerge(\n {},\n superTheme.selectionStyle,\n obj.selectionStyle\n );\n this._selectionStyle = {\n get cellBgColor(): string | undefined {\n return selectionStyle?.cellBgColor ?? 'rgba(0, 0, 255,0.1)';\n },\n get cellBorderColor(): string | undefined {\n return selectionStyle?.cellBorderColor ?? '#3073f2';\n },\n get cellBorderLineWidth(): number | undefined {\n return selectionStyle?.cellBorderLineWidth ?? 2;\n }\n };\n }\n return this._selectionStyle;\n }\n hasProperty(names: string[]): boolean {\n const { obj, superTheme } = this.internalTheme;\n return hasThemeProperty(obj, names) || hasThemeProperty(superTheme, names);\n }\n extends(obj: PartialTableThemeDefine): TableTheme {\n return new TableTheme(obj, this);\n }\n private getStyle(style: ThemeStyle) {\n return {\n get fontSize(): FontSizePropertyDefine | undefined {\n return style.fontSize;\n },\n get fontFamily(): FontFamilyPropertyDefine | undefined {\n return style.fontFamily;\n },\n get fontWeight(): FontWeightPropertyDefine | undefined {\n return style.fontWeight;\n },\n get fontVariant(): FontVariantPropertyDefine | undefined {\n return style.fontVariant;\n },\n get fontStyle(): FontStylePropertyDefine | undefined {\n return style.fontStyle;\n },\n get bgColor(): ColorPropertyDefine | undefined {\n return style.bgColor;\n },\n get color(): ColorPropertyDefine | undefined {\n return style.color;\n },\n get borderColor(): ColorsPropertyDefine | undefined {\n return style.borderColor;\n },\n get borderLineWidth(): LineWidthsPropertyDefine | undefined {\n return style.borderLineWidth;\n },\n get borderLineDash(): LineDashsPropertyDefine | undefined {\n return style.borderLineDash;\n },\n get hover(): InteractionStyle | undefined {\n if (style.hover) {\n return {\n get cellBgColor(): ColorPropertyDefine | undefined {\n return style.hover?.cellBgColor ?? undefined;\n },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return style.hover?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return style.hover?.cellBorderLineWidth ?? undefined;\n // },\n get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n return (\n style.hover?.inlineColumnBgColor ??\n (style.hover?.cellBgColor && typeof style.hover?.cellBgColor === 'string'\n ? changeColor(style.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n },\n get inlineRowBgColor(): ColorPropertyDefine | undefined {\n return (\n style.hover?.inlineRowBgColor ??\n (style.hover?.cellBgColor && typeof style.hover?.cellBgColor === 'string'\n ? changeColor(style.hover?.cellBgColor, 0.1, false)\n : undefined) ??\n undefined\n );\n }\n };\n }\n return undefined;\n },\n // get click(): InteractionStyle | undefined {\n // if (style.click)\n // return {\n // get cellBgColor(): ColorPropertyDefine | undefined {\n // return style.click?.cellBgColor ?? undefined;\n // },\n // get cellBorderColor(): ColorsPropertyDefine | undefined {\n // return style.click?.cellBorderColor ?? undefined;\n // },\n // get cellBorderLineWidth(): LineWidthsPropertyDefine | undefined {\n // return style.click?.cellBorderLineWidth ?? undefined;\n // },\n // // get cellBorderLineDash(): LineDashsPropertyDefine |undefined{\n // // return style.click?.cellBorderLineDash??undefined\n // // },\n // get inlineColumnBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // style.click?.inlineColumnBgColor ??\n // (style.click?.cellBgColor && typeof style.click?.cellBgColor === 'string'\n // ? changeColor(style.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // get inlineRowBgColor(): ColorPropertyDefine | undefined {\n // return (\n // // style.click?.inlineRowBgColor ??\n // (style.click?.cellBgColor && typeof style.click?.cellBgColor === 'string'\n // ? changeColor(style.click?.cellBgColor, 0.1, false)\n // : undefined) ?? undefined\n // );\n // },\n // };\n // return undefined;\n // },\n get frameStyle(): FrameStyle | undefined {\n if (style.frameStyle) {\n return {\n get borderColor(): ColorsDef | undefined {\n return style.frameStyle?.borderColor ?? undefined;\n },\n get borderLineWidth(): LineWidthsDef | undefined {\n return style.frameStyle?.borderLineWidth ?? undefined;\n },\n get borderLineDash(): LineDashsDef | undefined {\n return style.frameStyle?.borderLineDash ?? undefined;\n }\n };\n }\n return undefined;\n },\n get padding(): PaddingsPropertyDefine | undefined {\n return style.padding;\n },\n get textAlign(): TextAlignType | undefined {\n return style.textAlign;\n },\n get textBaseline(): TextBaselineType | undefined {\n return style.textBaseline;\n },\n get textOverflow(): TextOverflow | undefined {\n return style.textOverflow;\n },\n get lineHeight(): number | undefined {\n return style.lineHeight;\n },\n get autoWrapText(): boolean | undefined {\n return style.autoWrapText;\n },\n get lineClamp(): LineClamp | undefined {\n return style.lineClamp;\n },\n get linkColor(): ColorPropertyDefine | undefined {\n return style.linkColor;\n },\n get cursor(): CursorPropertyDefine | undefined {\n return style.cursor;\n },\n get textStick(): boolean | undefined {\n return style.textStick;\n },\n get marked(): MarkedPropertyDefine | undefined {\n return style.marked;\n },\n get underline(): UnderlinePropertyDefine {\n return style.underline ?? false;\n },\n get underlineColor(): ColorPropertyDefine | undefined {\n return style.underlineColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get underlineDash(): LineDashPropertyDefine | undefined {\n return style.underlineDash;\n },\n get lineThrough(): LineThroughPropertyDefine | undefined {\n return style.lineThrough ?? false;\n },\n get lineThroughColor(): ColorPropertyDefine | undefined {\n return style.lineThroughColor; // 不需要默认值 绘制中已处理默认用文字颜色\n },\n get lineThroughDash(): LineDashPropertyDefine | undefined {\n return style.lineThroughDash;\n }\n };\n }\n}\n\nfunction hasThemeProperty(obj: PartialTableThemeDefine, names: string[]): boolean {\n if (obj instanceof TableTheme) {\n return obj.hasProperty(names);\n }\n\n let o: any = obj;\n if (!o) {\n return false;\n }\n for (let index = 0; index < names.length; index++) {\n const name = names[index];\n o = o[name];\n if (!o) {\n return false;\n }\n }\n return !!o;\n}\n"]}
@@ -1,2 +1,2 @@
1
1
  import type { IPivotTableCellHeaderPaths, PivotChartConstructorOptions } from '../../ts-types';
2
- export declare function getDataCellPath(options: PivotChartConstructorOptions, data: Object): IPivotTableCellHeaderPaths | undefined;
2
+ export declare function getDataCellPath(options: PivotChartConstructorOptions, data: Object, compareFunc?: (a: any, b: any) => boolean): IPivotTableCellHeaderPaths | undefined;
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
 
7
7
  const vutils_1 = require("@visactor/vutils"), pivot_layout_1 = require("../../layout/pivot-layout"), create_dataset_1 = require("./create-dataset");
8
8
 
9
- function getDataCellPath(options, data) {
9
+ function getDataCellPath(options, data, compareFunc) {
10
10
  var _a, _b;
11
11
  const dataset = (0, create_dataset_1.createDataset)(options), mockTable = {
12
12
  options: options,
@@ -19,13 +19,17 @@ function getDataCellPath(options, data) {
19
19
  }, layoutMap = new pivot_layout_1.PivotLayoutMap(mockTable, dataset);
20
20
  for (let col = 0; col < layoutMap.colCount; col++) for (let row = 0; row < layoutMap.rowCount; row++) {
21
21
  if (layoutMap.isHeader(col, row)) continue;
22
- const colKey = null !== (_a = dataset.colKeysPath[layoutMap.getRecordIndexByCol(col)]) && void 0 !== _a ? _a : [], rowKey = null !== (_b = dataset.rowKeysPath[layoutMap.getRecordIndexByRow(row)]) && void 0 !== _b ? _b : [], aggregator = dataset.getAggregator(rowKey[rowKey.length - 1], colKey[colKey.length - 1], layoutMap.getIndicatorKey(col, row)), result = compareData(aggregator.value ? aggregator.value() : void 0, data, col, row, layoutMap);
22
+ const colKey = null !== (_a = dataset.colKeysPath[layoutMap.getRecordIndexByCol(col)]) && void 0 !== _a ? _a : [], rowKey = null !== (_b = dataset.rowKeysPath[layoutMap.getRecordIndexByRow(row)]) && void 0 !== _b ? _b : [], aggregator = dataset.getAggregator(rowKey[rowKey.length - 1], colKey[colKey.length - 1], layoutMap.getIndicatorKey(col, row)), result = compareData(aggregator.value ? aggregator.value() : void 0, data, col, row, layoutMap, compareFunc);
23
23
  if (result) return result;
24
24
  }
25
25
  }
26
26
 
27
- function compareData(data1, data2, col, row, layoutMap) {
28
- if ((0, vutils_1.isArray)(data1)) for (let i = 0; i < data1.length; i++) if (JSON.stringify(data1[i]) === JSON.stringify(data2)) return layoutMap.getCellHeaderPaths(col, row);
27
+ function compareData(data1, data2, col, row, layoutMap, compareFunc) {
28
+ if ((0, vutils_1.isArray)(data1)) for (let i = 0; i < data1.length; i++) if (compareFunc ? compareFunc(data1[i], data2) : defaultCompare(data1[i], data2)) return layoutMap.getCellHeaderPaths(col, row);
29
+ }
30
+
31
+ function defaultCompare(a, b) {
32
+ return JSON.stringify(a) === JSON.stringify(b);
29
33
  }
30
34
 
31
35
  exports.getDataCellPath = getDataCellPath;
@@ -1 +1 @@
1
- {"version":3,"sources":["tools/get-data-path/index.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAE3C,4DAA2D;AAE3D,qDAAiD;AAEjD,SAAgB,eAAe,CAC7B,OAAqC,EACrC,IAAY;;IAGZ,MAAM,OAAO,GAAG,IAAA,8BAAa,EAAC,OAAO,CAAC,CAAC;IAGvC,MAAM,SAAS,GAAG;QAChB,OAAO;QACP,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI;QACxB,cAAc,EAAE,EAAW;QAC3B,yBAAyB,EAAE,EAAW;QACtC,uBAAuB,EAAE,GAAG,EAAE;YAC5B,OAAO;gBACL,WAAW,EAAE,GAAG,EAAE;gBAElB,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;IAGF,MAAM,SAAS,GAAG,IAAI,6BAAc,CAAC,SAAuB,EAAE,OAAO,CAAC,CAAC;IAGvE,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;QACjD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;YACjD,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;gBAChC,SAAS;aACV;YACD,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;YAC7E,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;YAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CACtC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACzB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACxB,SAA4B,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CACxD,CAAC;YACF,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;YACzG,IAAI,MAAM,EAAE;gBACV,OAAO,MAAM,CAAC;aACf;SACF;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AA7CD,0CA6CC;AAED,SAAS,WAAW,CAAC,KAAe,EAAE,KAAa,EAAE,GAAW,EAAE,GAAW,EAAE,SAAyB;IACtG,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,EAAE;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;gBACtD,OAAO,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;aAC/C;SACF;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC","file":"index.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport type { PivotChart } from '../../PivotChart';\nimport { PivotLayoutMap } from '../../layout/pivot-layout';\nimport type { IPivotTableCellHeaderPaths, PivotChartConstructorOptions } from '../../ts-types';\nimport { createDataset } from './create-dataset';\n\nexport function getDataCellPath(\n options: PivotChartConstructorOptions,\n data: Object\n): IPivotTableCellHeaderPaths | undefined {\n // mock dataset\n const dataset = createDataset(options);\n\n // mock pivotChart\n const mockTable = {\n options,\n isPivotChart: () => true,\n pivotChartAxes: [] as any[],\n _selectedDataItemsInChart: [] as any[],\n _getActiveChartInstance: () => {\n return {\n updateState: () => {\n // do nothing\n }\n };\n }\n };\n\n // mock layoutMap\n const layoutMap = new PivotLayoutMap(mockTable as PivotChart, dataset);\n\n // compare data\n for (let col = 0; col < layoutMap.colCount; col++) {\n for (let row = 0; row < layoutMap.rowCount; row++) {\n if (layoutMap.isHeader(col, row)) {\n continue;\n }\n const colKey = dataset.colKeysPath[layoutMap.getRecordIndexByCol(col)] ?? [];\n const rowKey = dataset.rowKeysPath[layoutMap.getRecordIndexByRow(row)] ?? [];\n const aggregator = dataset.getAggregator(\n rowKey[rowKey.length - 1],\n colKey[colKey.length - 1],\n (layoutMap as PivotLayoutMap).getIndicatorKey(col, row)\n );\n const result = compareData(aggregator.value ? aggregator.value() : undefined, data, col, row, layoutMap);\n if (result) {\n return result;\n }\n }\n }\n return undefined;\n}\n\nfunction compareData(data1: Object[], data2: Object, col: number, row: number, layoutMap: PivotLayoutMap) {\n if (isArray(data1)) {\n for (let i = 0; i < data1.length; i++) {\n if (JSON.stringify(data1[i]) === JSON.stringify(data2)) {\n return layoutMap.getCellHeaderPaths(col, row);\n }\n }\n }\n return undefined;\n}\n"]}
1
+ {"version":3,"sources":["tools/get-data-path/index.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAE3C,4DAA2D;AAE3D,qDAAiD;AAEjD,SAAgB,eAAe,CAC7B,OAAqC,EACrC,IAAY,EACZ,WAAyC;;IAGzC,MAAM,OAAO,GAAG,IAAA,8BAAa,EAAC,OAAO,CAAC,CAAC;IAGvC,MAAM,SAAS,GAAG;QAChB,OAAO;QACP,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI;QACxB,cAAc,EAAE,EAAW;QAC3B,yBAAyB,EAAE,EAAW;QACtC,uBAAuB,EAAE,GAAG,EAAE;YAC5B,OAAO;gBACL,WAAW,EAAE,GAAG,EAAE;gBAElB,CAAC;aACF,CAAC;QACJ,CAAC;KACF,CAAC;IAGF,MAAM,SAAS,GAAG,IAAI,6BAAc,CAAC,SAAuB,EAAE,OAAO,CAAC,CAAC;IAGvE,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;QACjD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,SAAS,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;YACjD,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;gBAChC,SAAS;aACV;YACD,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;YAC7E,MAAM,MAAM,GAAG,MAAA,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,mCAAI,EAAE,CAAC;YAC7E,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,CACtC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACzB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EACxB,SAA4B,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CACxD,CAAC;YACF,MAAM,MAAM,GAAG,WAAW,CACxB,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,EACjD,IAAI,EACJ,GAAG,EACH,GAAG,EACH,SAAS,EACT,WAAW,CACZ,CAAC;YACF,IAAI,MAAM,EAAE;gBACV,OAAO,MAAM,CAAC;aACf;SACF;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AArDD,0CAqDC;AAED,SAAS,WAAW,CAClB,KAAe,EACf,KAAa,EACb,GAAW,EACX,GAAW,EACX,SAAyB,EACzB,WAAyC;IAEzC,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,EAAE;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE;gBAChF,OAAO,SAAS,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;aAC/C;SACF;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,cAAc,CAAC,CAAM,EAAE,CAAM;IACpC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC","file":"index.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport type { PivotChart } from '../../PivotChart';\nimport { PivotLayoutMap } from '../../layout/pivot-layout';\nimport type { IPivotTableCellHeaderPaths, PivotChartConstructorOptions } from '../../ts-types';\nimport { createDataset } from './create-dataset';\n\nexport function getDataCellPath(\n options: PivotChartConstructorOptions,\n data: Object,\n compareFunc?: (a: any, b: any) => boolean\n): IPivotTableCellHeaderPaths | undefined {\n // mock dataset\n const dataset = createDataset(options);\n\n // mock pivotChart\n const mockTable = {\n options,\n isPivotChart: () => true,\n pivotChartAxes: [] as any[],\n _selectedDataItemsInChart: [] as any[],\n _getActiveChartInstance: () => {\n return {\n updateState: () => {\n // do nothing\n }\n };\n }\n };\n\n // mock layoutMap\n const layoutMap = new PivotLayoutMap(mockTable as PivotChart, dataset);\n\n // compare data\n for (let col = 0; col < layoutMap.colCount; col++) {\n for (let row = 0; row < layoutMap.rowCount; row++) {\n if (layoutMap.isHeader(col, row)) {\n continue;\n }\n const colKey = dataset.colKeysPath[layoutMap.getRecordIndexByCol(col)] ?? [];\n const rowKey = dataset.rowKeysPath[layoutMap.getRecordIndexByRow(row)] ?? [];\n const aggregator = dataset.getAggregator(\n rowKey[rowKey.length - 1],\n colKey[colKey.length - 1],\n (layoutMap as PivotLayoutMap).getIndicatorKey(col, row)\n );\n const result = compareData(\n aggregator.value ? aggregator.value() : undefined,\n data,\n col,\n row,\n layoutMap,\n compareFunc\n );\n if (result) {\n return result;\n }\n }\n }\n return undefined;\n}\n\nfunction compareData(\n data1: Object[],\n data2: Object,\n col: number,\n row: number,\n layoutMap: PivotLayoutMap,\n compareFunc?: (a: any, b: any) => boolean\n) {\n if (isArray(data1)) {\n for (let i = 0; i < data1.length; i++) {\n if (compareFunc ? compareFunc(data1[i], data2) : defaultCompare(data1[i], data2)) {\n return layoutMap.getCellHeaderPaths(col, row);\n }\n }\n }\n return undefined;\n}\n\nfunction defaultCompare(a: any, b: any) {\n return JSON.stringify(a) === JSON.stringify(b);\n}\n"]}
@@ -47,7 +47,7 @@ export interface IBaseTableProtected {
47
47
  rightFrozenColCount: number;
48
48
  bottomFrozenRowCount: number;
49
49
  defaultRowHeight: number;
50
- defaultHeaderRowHeight: number | number[];
50
+ defaultHeaderRowHeight: (number | 'auto') | (number | 'auto')[];
51
51
  defaultColWidth: number;
52
52
  defaultHeaderColWidth: (number | 'auto') | (number | 'auto')[];
53
53
  keyboardOptions?: TableKeyboardOptions;
@@ -119,7 +119,7 @@ export interface BaseTableConstructorOptions {
119
119
  bottomFrozenRowCount?: number;
120
120
  allowFrozenColCount?: number;
121
121
  defaultRowHeight?: number;
122
- defaultHeaderRowHeight?: number | number[];
122
+ defaultHeaderRowHeight?: (number | 'auto') | (number | 'auto')[];
123
123
  defaultColWidth?: number;
124
124
  defaultHeaderColWidth?: (number | 'auto') | (number | 'auto')[];
125
125
  keyboardOptions?: TableKeyboardOptions;
@@ -181,7 +181,7 @@ export interface BaseTableAPI {
181
181
  frozenColCount: number;
182
182
  bottomFrozenRowCount: number;
183
183
  rightFrozenColCount: number;
184
- defaultHeaderRowHeight: number | number[];
184
+ defaultHeaderRowHeight: (number | 'auto') | (number | 'auto')[];
185
185
  defaultRowHeight: number;
186
186
  defaultColWidth: number;
187
187
  defaultHeaderColWidth: (number | 'auto') | (number | 'auto')[];
@@ -228,7 +228,7 @@ export interface BaseTableAPI {
228
228
  render: () => void;
229
229
  throttleInvalidate: () => void;
230
230
  getRowHeight: (row: number) => number;
231
- getDefaultRowHeight: (row: number) => number;
231
+ getDefaultRowHeight: (row: number) => number | 'auto';
232
232
  setRowHeight: (row: number, height: number, clearCache?: boolean) => void;
233
233
  getColWidth: (col: number) => number;
234
234
  getColWidthDefined: (col: number) => string | number;
@@ -1 +1 @@
1
- {"version":3,"sources":["ts-types/base-table.ts"],"names":[],"mappings":"","file":"base-table.js","sourcesContent":["import type { ITextSize } from '@visactor/vutils';\nimport type { RectProps, MaybePromiseOrUndefined, ICellHeaderPaths, CellInfo } from './common';\nimport type {\n TableEventListener,\n TableEventHandlersEventArgumentMap,\n TableEventHandlersReturnMap,\n EventListenerId,\n MousePointerCellEvent\n} from './events';\nimport type { MenuListItem, DropDownMenuEventInfo, DropDownMenuHighlightInfo } from './menu';\nimport type { CellStyle } from './style-define';\nimport type { ColumnIconOption } from './icon';\nimport type { ColumnData, ColumnDefine, ColumnsDefine, HeaderData, IndicatorData } from './list-table/layout-map/api';\nexport type { HeaderData } from './list-table/layout-map/api';\nimport type { TableTheme } from '../themes/theme';\nimport type { ICustomRender } from './customElement';\nexport type LayoutObjectId = number | string;\nimport type { Rect } from '../tools/Rect';\nimport type { Scenegraph } from '../scenegraph/scenegraph';\nimport type { StateManeger } from '../state/state';\nimport type { EventManeger } from '../event/event';\nimport type {\n CellAddress,\n CellRange,\n CellLocation,\n ColumnTypeOption,\n DataSourceAPI,\n FieldData,\n FieldDef,\n FieldFormat,\n FullExtendStyle,\n HeaderValues,\n HeightModeDef,\n HierarchyState,\n IDataConfig,\n IPagination,\n ITableThemeDefine,\n SortState,\n TableKeyboardOptions,\n WidthModeDef\n} from '.';\nimport type { TooltipOptions } from './tooltip';\nimport type { IWrapTextGraphicAttribute } from '../scenegraph/graphic/text';\nimport type { ICustomLayout } from './customLayout';\nimport type { CachedDataSource, DataSource } from '../data';\nimport type { MenuHandler } from '../components/menu/dom/MenuHandler';\nimport type { PivotHeaderLayoutMap } from '../layout/pivot-header-layout';\nimport type { SimpleHeaderLayoutMap } from '../layout';\nimport type { PivotLayoutMap } from '../layout/pivot-layout';\nimport type { TooltipHandler } from '../components/tooltip/TooltipHandler';\nimport type { BodyHelper } from '../body-helper/body-helper';\nimport type { HeaderHelper } from '../header-helper/header-helper';\nimport type { EventHandler } from '../event/EventHandler';\nimport type { NumberMap } from '../tools/NumberMap';\nimport type { FocusInput } from '../core/FouseInput';\nimport type { ITableLegendOption } from './component/legend';\nimport type { DataSet } from '@visactor/vdataset';\nimport type { Title } from '../components/title/title';\nimport type { ITitle } from './component/title';\nimport type { DiscreteTableLegend } from '../components/legend/discrete-legend/discrete-legend';\nimport type { ContinueTableLegend } from '../components/legend/continue-legend/continue-legend';\n\nexport interface IBaseTableProtected {\n element: HTMLElement;\n // scrollable: Scrollable;\n handler: EventHandler;\n focusControl: FocusInput;\n canvas: HTMLCanvasElement;\n context: CanvasRenderingContext2D;\n rowCount: number;\n colCount: number;\n frozenColCount: number;\n allowFrozenColCount: number;\n\n frozenRowCount: number;\n rightFrozenColCount: number;\n bottomFrozenRowCount: number;\n defaultRowHeight: number;\n /**表头默认行高 可以按逐行设置 如果没有就取defaultRowHeight */\n defaultHeaderRowHeight: number | number[];\n defaultColWidth: number;\n defaultHeaderColWidth: (number | 'auto') | (number | 'auto')[];\n // font?: string;\n // underlayBackgroundColor?: string;\n keyboardOptions?: TableKeyboardOptions;\n\n // disableRowHeaderColumnResize?: boolean;\n // 列宽调整模式(全列调整;全列不可调整;仅表头单元格可调整;仅内容单元格可调整)\n columnResizeMode?: 'all' | 'none' | 'header' | 'body';\n columnResizeType?: 'column' | 'indicator' | 'all' | 'indicatorGroup';\n /** 控制拖拽表头移动位置顺序开关 */\n dragHeaderMode?: 'all' | 'none' | 'column' | 'row';\n\n cachedRecordsRowHeightMap: NumberMap<string | number>; //存储每一条记录对应行的行高,只有当设置为自动换行随内容撑开才会起作用\n // headerRowHeightsMap: NumberMap<number>; //目前是用来存储了表头各行的高度,从headerRowHeight计算而来,headerRowHeight可以设置为数组的形式\n _rowHeightsMap: NumberMap<number>; //存储数据条目每行高度\n _colWidthsMap: NumberMap<string | number>; //存储各列的宽度\n _colContentWidthsMap: NumberMap<string | number>; //存储各列的内容宽度\n _colWidthsLimit: {\n //存储各列的宽度限制\n [col: number]: {\n max?: string | number;\n min?: string | number;\n };\n };\n calcWidthContext: {\n _: IBaseTableProtected;\n full: number;\n // em: number;\n };\n\n _rowRangeHeightsMap: Map<string, number>; //存储指定行范围的总高度\n _colRangeWidthsMap: Map<string, number>; //存储指定列范围的总宽度\n\n _widthResizedColMap: Set<number>; //记录下被手动调整过列宽的列号\n\n bodyHelper: BodyHelper;\n headerHelper: HeaderHelper;\n\n cellTextOverflows: { [at: string]: string };\n // headerDescriptions: { [at: string]: string };\n focusedTable: boolean;\n\n config:\n | {\n [name: string]: any;\n }\n | undefined;\n // scroll: {\n // left: number;\n // top: number;\n // };\n releaseList?: { release: () => void }[] | null;\n theme: TableTheme;\n transpose?: boolean; //是否转置\n // autoRowHeight?: boolean; //是否自动撑开高度 对于设置了autoWrapText的multilineText的列生效\n pixelRatio?: number;\n /** 下拉菜单的相关配置。消失时机:显示后点击菜单区域外自动消失*/\n menu: {\n /** 代替原来的option.menuType */\n renderMode?: 'canvas' | 'html';\n /** 内置下拉菜单的全局设置项 目前只针对基本表格有效 会对每个表头单元格开启默认的下拉菜单功能。代替原来的option.dropDownMenu*/\n defaultHeaderMenuItems?: MenuListItem[];\n /** 右键菜单。代替原来的option.contextmenu */\n contextMenuItems?: MenuListItem[] | ((field: FieldDef, row: number) => MenuListItem[]);\n /** 设置选中状态的菜单。代替原来的option.dropDownMenuHighlight */\n dropDownMenuHighlight?: DropDownMenuHighlightInfo[];\n };\n /** 提示弹框的相关配置。消失时机:显示后鼠标移动到指定区域外或者进入新的单元格后自动消失*/\n tooltip: {\n renderMode: 'html' | 'canvas';\n /** 代替原来hover:isShowTooltip配置 */\n isShowOverflowTextTooltip: boolean;\n /** 弹框是否需要限定在表格区域内 */\n confine: boolean;\n };\n\n dataSourceEventIds?: EventListenerId[];\n headerEvents?: EventListenerId[];\n layoutMap: PivotHeaderLayoutMap | SimpleHeaderLayoutMap | PivotLayoutMap;\n headerValues?: HeaderValues;\n tooltipHandler: TooltipHandler;\n\n // headerRowHeight: number[] | number;//移到了BaseTable\n sortState: SortState | SortState[];\n\n dataSource: DataSource | CachedDataSource;\n records?: any;\n allowRangePaste: boolean;\n //重新思考逻辑:如果为false,行高按设置的rowHeight;如果设置为true,则按lineHeight及是否自动换行综合计算行高 2021.11.19 by:lff\n\n autoWrapText?: boolean;\n\n menuHandler: MenuHandler;\n\n /**\n * 计算列宽时 指定最大列宽 可设置boolean或者具体的值 默认为450\n */\n limitMaxAutoWidth?: boolean | number;\n\n title?: Title;\n legends?: DiscreteTableLegend | ContinueTableLegend;\n\n //是否开启图表异步渲染\n renderChartAsync?: boolean;\n // // 开启图表异步渲染 每批次渐进渲染图表个数\n // renderChartAsyncBatchCount?: number;\n}\nexport interface BaseTableConstructorOptions {\n // /** 指定表格的行数 */\n // rowCount?: number;\n\n // /** 指定表格的列数 */\n // colCount?: number;\n /**\n * 当前需要冻结的列数 基本表格生效\n */\n frozenColCount?: number;\n rightFrozenColCount?: number;\n bottomFrozenRowCount?: number;\n\n // /** 待实现 TODO */\n // frozenRowCount?: number;\n /** 可冻结列数,表示前多少列会出现冻结操作按钮 基本表格生效 */\n allowFrozenColCount?: number;\n /**\n * 默认行高. 默认 40\n */\n defaultRowHeight?: number;\n /** 列表头默认行高 可以按逐行设置 如果没有就取defaultRowHeight */\n defaultHeaderRowHeight?: number | number[];\n /**\n * 默认列宽. 默认 80\n */\n defaultColWidth?: number;\n /** 行表头默认列宽 可以按逐列设置 如果没有就取defaultColWidth */\n defaultHeaderColWidth?: (number | 'auto') | (number | 'auto')[];\n /** 快捷键功能设置 */\n keyboardOptions?: TableKeyboardOptions;\n /**\n * Canvas container\n */\n container?: HTMLElement | null;\n\n /**\n * 调整列宽 可操作范围。'all' | 'none' | 'header' | 'body'; 整列间隔线|禁止调整|只能在表头处间隔线|只能在body间隔线\n */\n columnResizeMode?: 'all' | 'none' | 'header' | 'body';\n /** 控制拖拽表头移动位置顺序开关 */\n dragHeaderMode?: 'all' | 'none' | 'column' | 'row';\n /**\n * 是否显示固定列图钉 基本表格生效\n */\n showFrozenIcon?: boolean;\n\n padding?:\n | {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n }\n | number;\n /** hover交互配置 */\n hover?: {\n /** hover交互响应模式:十字交叉 整列 整行 或者单个单元格 */\n highlightMode: 'cross' | 'column' | 'row' | 'cell';\n /** 不响应鼠标hover交互 */\n disableHover?: boolean;\n /** 单独设置表头不响应鼠标hover交互 */\n disableHeaderHover?: boolean;\n };\n /** 选择单元格交互配置 */\n select?: {\n /** 不响应鼠标select交互 */\n disableSelect?: boolean;\n /** 单独设置表头不响应鼠标select交互 */\n disableHeaderSelect?: boolean;\n };\n /** 下拉菜单的相关配置。消失时机:显示后点击菜单区域外自动消失*/\n menu?: {\n /** 代替原来的option.menuType html目前实现较完整 先默认html渲染方式*/\n renderMode?: 'canvas' | 'html';\n /** 内置下拉菜单的全局设置项 目前只针对基本表格有效 会对每个表头单元格开启默认的下拉菜单功能。代替原来的option.dropDownMenu*/\n defaultHeaderMenuItems?: MenuListItem[];\n /** 右键菜单。代替原来的option.contextmenu */\n contextMenuItems?: MenuListItem[] | ((field: string, row: number) => MenuListItem[]);\n /** 设置选中状态的菜单。代替原来的option.dropDownMenuHighlight */\n dropDownMenuHighlight?: DropDownMenuHighlightInfo[];\n };\n /** tooltip相关配置 */\n tooltip?: {\n /** html目前实现较完整 先默认html渲染方式 */\n renderMode?: 'html'; // 目前暂不支持canvas方案\n /** 代替原来hover:isShowTooltip配置 暂时需要将renderMode配置为html才能显示,canvas的还未开发*/\n isShowOverflowTextTooltip?: boolean;\n /** 是否将 tooltip 框限制在画布区域内,默认开启。针对renderMode:\"html\"有效 */\n confine?: boolean;\n };\n /**\n * Theme\n */\n theme?: ITableThemeDefine;\n /** 宽度模式 */\n widthMode?: 'standard' | 'adaptive' | 'autoWidth';\n /** 高度模式 */\n heightMode?: 'standard' | 'adaptive' | 'autoHeight';\n /** 当列宽度不能占满容器时,是否需要自动拉宽来填充容器的宽度。默认false */\n autoFillWidth?: boolean;\n /** 当行高度不能占满容器时,是否需要自动拉高来填充容器的高度。默认false */\n autoFillHeight?: boolean;\n // /** 行高是否根据内容来计算 */\n // autoRowHeight?: boolean;\n /** 设备的像素比 不配的话默认获取window.devicePixelRatio */\n pixelRatio?: number;\n /** 自定义渲染 函数形式*/\n customRender?: ICustomRender;\n /**\n * 传入用户实例化的数据对象 目前不完善\n */\n dataSource?: DataSource;\n\n /** 开启自动换行 默认false */\n autoWrapText?: boolean;\n /** 单元格中可显示最大字符数 默认200 */\n maxCharactersNumber?: number; //\n /** toolip最大字符数 */\n maxTooltipCharactersNumber?: number;\n /** 最大可操作条目数 如copy操作可复制出最大数据条目数 */\n maxOperatableRecordCount?: number;\n /**\n * 计算列宽时 指定最大列宽 可设置boolean或者具体的值 默认为450\n */\n limitMaxAutoWidth?: boolean | number;\n\n // maximum number of data items maintained in table instance\n maintainedDataCount?: number;\n\n legends?: ITableLegendOption;\n title?: ITitle;\n //是否开启图表异步渲染\n renderChartAsync?: boolean;\n // 开启图表异步渲染 每批次渐进渲染图表个数\n renderChartAsyncBatchCount?: number;\n}\nexport interface BaseTableAPI {\n /** 表格的行数 */\n rowCount: number;\n /** 表格的列数 */\n colCount: number;\n /** 表格除去外层frame后的宽度 */\n tableNoFrameWidth: number;\n /** 表格除去外层frame后的高度 */\n tableNoFrameHeight: number;\n /** 表格的冻结行数 包括表头在内 */\n frozenRowCount: number;\n /** 表格的冻结列数 包括表头在内 */\n frozenColCount: number;\n\n bottomFrozenRowCount: number;\n rightFrozenColCount: number;\n /** 当前表格默认表头行高 */\n defaultHeaderRowHeight: number | number[];\n /** 当前表格默认行高 */\n defaultRowHeight: number;\n /** 当前表格默认列宽 */\n defaultColWidth: number;\n /** 当前表格默认表头列宽 */\n defaultHeaderColWidth: (number | 'auto') | (number | 'auto')[];\n /** 当前表格快捷键设置 */\n keyboardOptions: TableKeyboardOptions | null;\n /**\n * 是否显示图钉\n */\n showFrozenIcon: boolean;\n readonly canvas: HTMLCanvasElement;\n /** 表格可视区域的行数 */\n readonly visibleRowCount: number;\n /** 表格可视区域的列数 */\n readonly visibleColCount: number;\n /** 表格滚动值left */\n scrollLeft: number;\n /** 表格滚动值top */\n scrollTop: number;\n /** 用户设置的options 不要修改这个这个 */\n options: BaseTableConstructorOptions;\n /** 设置的全局下拉菜单列表项配置 */\n globalDropDownMenu?: MenuListItem[];\n /** 设置的全局自定义渲染函数 */\n customRender?: ICustomRender;\n\n /** 表格数据管理对象 */\n dataSource: DataSourceAPI;\n /** 设置的表格主题 */\n theme: TableTheme;\n /** 可允许设置冻结的最大列数 */\n allowFrozenColCount: number;\n\n /** 存储内部用到的属性 变量等 */\n internalProps: IBaseTableProtected;\n /** 分页信息 */\n pagination?: IPagination;\n\n /** 表格偏移像素值 水平方向 */\n tableX: number;\n /** 表格偏移像素值 垂直方向 */\n tableY: number;\n /** 表格宽度模式 */\n widthMode: WidthModeDef;\n /** 表格宽度模式 */\n heightMode: HeightModeDef;\n /** 当列宽度不能占满容器时,是否需要自动拉宽来填充容器的宽度。默认false */\n autoFillWidth: boolean;\n /** 当行高度不能占满容器时,是否需要自动拉高来填充容器的高度。默认false */\n autoFillHeight?: boolean;\n\n isReleased: boolean;\n\n on: <TYPE extends keyof TableEventHandlersEventArgumentMap>(\n type: TYPE,\n listener: TableEventListener<TYPE> //(event: TableEventHandlersEventArgumentMap[TYPE]) => TableEventHandlersReturnMap[TYPE]\n ) => EventListenerId;\n // &(<T extends keyof TableEventHandlersEventArgumentMap>(type: string, listener: AnyListener<T>) => EventListenerId);\n\n _vDataSet: DataSet;\n /** 场景树对象 */\n scenegraph: Scenegraph;\n /** 状态管理模块 */\n stateManeger?: StateManeger;\n /** 事件管理模块 */\n eventManeger?: EventManeger;\n /** 行表头的层数 */\n rowHeaderLevelCount: number;\n /** 列表头的层数 */\n columnHeaderLevelCount: number;\n /** 获取表格绘制的范围 不包括frame的宽度 */\n getDrawRange: () => Rect;\n /** 将鼠标坐标值 转换成表格坐标系中的坐标位置 */\n _getMouseAbstractPoint: (\n evt: TouchEvent | MouseEvent | undefined,\n isAddScroll?: boolean\n ) => { x: number; y: number; inTable: boolean };\n getElement: () => HTMLElement;\n getContainer: () => HTMLElement;\n\n setFrozenColCount: (count: number) => void;\n _setFrozenColCount: (count: number) => void;\n _updateSize: () => void;\n\n render: () => void;\n throttleInvalidate: () => void;\n getRowHeight: (row: number) => number;\n getDefaultRowHeight: (row: number) => number;\n setRowHeight: (row: number, height: number, clearCache?: boolean) => void;\n getColWidth: (col: number) => number;\n getColWidthDefined: (col: number) => string | number;\n // getColWidthDefine: (col: number) => string | number;\n setColWidth: (col: number, width: number | string, clearCache?: boolean, skipCheckFrozen?: boolean) => void;\n _getColContentWidth: (col: number) => number;\n _setColContentWidth: (col: number, width: number | string, clearCache?: boolean) => void;\n getMaxColWidth: (col: number) => number;\n setMaxColWidth: (col: number, maxwidth: string | number) => void;\n getMinColWidth: (col: number) => number;\n setMinColWidth: (col: number, minwidth: string | number) => void;\n getCellRect: (col: number, row: number) => RectProps;\n getCellRelativeRect: (col: number, row: number) => RectProps;\n getCellsRect: (startCol: number, startRow: number, endCol: number, endRow: number) => RectProps;\n getCellRangeRect: (cellRange: CellRange | CellAddress) => RectProps;\n getCellRangeRelativeRect: (cellRange: CellRange | CellAddress) => RectProps;\n getVisibleCellRangeRelativeRect: (cellRange: CellRange | CellAddress) => RectProps;\n isFrozenCell: (col: number, row: number) => { row: boolean; col: boolean } | null;\n getRowAt: (absoluteY: number) => { top: number; row: number; bottom: number };\n getColAt: (absoluteX: number) => { left: number; col: number; right: number };\n getCellAt: (absoluteX: number, absoluteY: number) => CellAddress;\n _makeVisibleCell: (col: number, row: number) => void;\n // setFocusCursor(col: number, row: number): void;\n // focusCell(col: number, row: number): void;\n getCellOverflowText: (col: number, row: number) => string | null;\n getColsWidth: (startCol: number, endCol: number) => number;\n getRowsHeight: (startRow: number, endRow: number) => number;\n\n release: () => void;\n addReleaseObj: (releaseObj: { release: () => void }) => void;\n _getCellStyle: (col: number, row: number) => FullExtendStyle;\n clearCellStyleCache: () => void;\n\n getFrozenRowsHeight: () => number;\n getFrozenColsWidth: () => number;\n getBottomFrozenRowsHeight: () => number;\n getRightFrozenColsWidth: () => number;\n selectCell: (col: number, row: number) => void;\n selectCells: (cellRanges: CellRange[]) => void;\n getAllRowsHeight: () => number;\n getAllColsWidth: () => number;\n\n off: (id: EventListenerId) => void;\n getBodyField: (col: number, row: number) => FieldDef | undefined;\n getRecordByRowCol: (col: number, row: number) => MaybePromiseOrUndefined;\n getRecordIndexByRow: (col: number, row: number) => number;\n getRecordStartRowByRecordIndex: (index: number) => number;\n\n getHeaderField: (col: number, row: number) => any | undefined;\n getHeaderFieldKey: (col: number, row: number) => any | undefined;\n\n _getHeaderCellBySortState: (sortState: SortState) => CellAddress | undefined;\n getHeaderDefine: (col: number, row: number) => ColumnDefine;\n _getHeaderLayoutMap: (col: number, row: number) => HeaderData;\n getContext: () => CanvasRenderingContext2D;\n getCellRange: (col: number, row: number) => CellRange;\n _resetFrozenColCount: () => void;\n isCellRangeEqual: (col: number, row: number, targetCol: number, targetRow: number) => boolean;\n _getLayoutCellId: (col: number, row: number) => LayoutObjectId;\n _getBodyLayoutMap: (col: number, row: number) => ColumnData | IndicatorData;\n getBodyColumnDefine: (col: number, row: number) => ColumnDefine;\n getBodyColumnType: (col: number, row: number) => ColumnTypeOption;\n fireListeners: <TYPE extends keyof TableEventHandlersEventArgumentMap>(\n type: TYPE,\n event: TableEventHandlersEventArgumentMap[TYPE]\n ) => TableEventHandlersReturnMap[TYPE][];\n\n //更新分页\n updatePagination: (cof: IPagination) => void;\n //hover\n\n getHeaderDescription: (col: number, row: number) => string | undefined;\n\n getCellValue: (col: number, row: number) => string | null;\n getCellOriginValue: (col: number, row: number) => any;\n getCellOriginRecord: (col: number, row: number) => MaybePromiseOrUndefined;\n _dropDownMenuIsHighlight: (col: number, row: number, index: number) => boolean;\n // bindEvents(): void;\n refreshRowColCount: () => void;\n getFieldData: (field: FieldDef | FieldFormat | undefined, col: number, row: number) => FieldData;\n _hasField: (field: FieldDef, col: number, row: number) => boolean;\n getCellHeaderPaths: (col: number, row: number) => ICellHeaderPaths;\n getCellLocation: (col: number, row: number) => CellLocation;\n // isHitIcon(col: number, row: number, x: number, y: number, iconType: IconFuncTypeEnum): boolean;\n getCellIcons: (col: number, row: number) => ColumnIconOption[];\n\n getMenuInfo: (col: number, row: number, type: string) => DropDownMenuEventInfo;\n /**\n * 获取某个单元格的样式 共业务方调用\n * @param col\n * @param row\n */\n getCellStyle: (col: number, row: number) => CellStyle; // 计算后style\n\n getHierarchyState: (col: number, row: number) => HierarchyState | null;\n\n hasHierarchyTreeHeader: () => boolean;\n\n _canDragHeaderPosition: (col: number, row: number) => boolean;\n\n isHeader: (col: number, row: number) => boolean;\n\n isColumnHeader: (col: number, row: number) => boolean;\n\n isCornerHeader: (col: number, row: number) => boolean;\n\n isRowHeader: (col: number, row: number) => boolean;\n\n getCopyValue: () => string;\n\n getSelectedCellInfos: () => CellInfo[][];\n getCellInfo: (col: number, row: number) => Omit<MousePointerCellEvent, 'target'>;\n\n showTooltip: (col: number, row: number, tooltipOptions?: TooltipOptions) => void;\n\n measureText: (\n text: string,\n font: { fontSize: number; fontWeight?: string | number; fontFamily: string }\n ) => ITextSize;\n\n _canResizeColumn: (col: number, row: number) => boolean;\n\n getCustomRender: (col: number, row: number) => ICustomRender;\n getCustomLayout: (col: number, row: number) => ICustomLayout;\n isListTable: () => boolean;\n isPivotTable: (() => boolean) & (() => boolean);\n isPivotChart: (() => boolean) & (() => boolean);\n _clearColRangeWidthsMap: (col?: number) => void;\n _clearRowRangeHeightsMap: (row?: number) => void;\n clearRowHeightCache: () => void;\n clearColWidthCache: () => void;\n toggleHierarchyState: (col: number, row: number) => void;\n\n resize: () => void;\n\n getMergeCellRect: (col: number, row: number) => Rect;\n\n getTargetColAt: (absoluteX: number) => { col: number; left: number; right: number; width: number } | null;\n getTargetRowAt: (absoluteY: number) => { row: number; top: number; bottom: number; height: number } | null;\n\n renderWithRecreateCells: () => void;\n //#endregion tableAPI\n\n _adjustColWidth: (col: number, orgWidth: number) => number;\n _colWidthDefineToPxWidth: (width: string | number) => number;\n}\nexport interface ListTableProtected extends IBaseTableProtected {\n /** 表格数据 */\n records: any[] | null;\n columns: ColumnsDefine;\n layoutMap: SimpleHeaderLayoutMap;\n}\n\nexport interface PivotTableProtected extends IBaseTableProtected {\n /** 表格数据 */\n records: any[] | null;\n layoutMap: PivotHeaderLayoutMap | PivotLayoutMap;\n dataConfig?: IDataConfig;\n /**\n * 透视表 传入数据是透视后的嵌套层级结构 还是需要进行汇总计算的平坦数据\n */\n enableDataAnalysis?: boolean;\n}\nexport interface PivotChartProtected extends IBaseTableProtected {\n /** 表格数据 */\n records: any[] | Record<string, any[]>;\n layoutMap: PivotHeaderLayoutMap | PivotLayoutMap;\n dataConfig?: IDataConfig;\n}\n"]}
1
+ {"version":3,"sources":["ts-types/base-table.ts"],"names":[],"mappings":"","file":"base-table.js","sourcesContent":["import type { ITextSize } from '@visactor/vutils';\nimport type { RectProps, MaybePromiseOrUndefined, ICellHeaderPaths, CellInfo } from './common';\nimport type {\n TableEventListener,\n TableEventHandlersEventArgumentMap,\n TableEventHandlersReturnMap,\n EventListenerId,\n MousePointerCellEvent\n} from './events';\nimport type { MenuListItem, DropDownMenuEventInfo, DropDownMenuHighlightInfo } from './menu';\nimport type { CellStyle } from './style-define';\nimport type { ColumnIconOption } from './icon';\nimport type { ColumnData, ColumnDefine, ColumnsDefine, HeaderData, IndicatorData } from './list-table/layout-map/api';\nexport type { HeaderData } from './list-table/layout-map/api';\nimport type { TableTheme } from '../themes/theme';\nimport type { ICustomRender } from './customElement';\nexport type LayoutObjectId = number | string;\nimport type { Rect } from '../tools/Rect';\nimport type { Scenegraph } from '../scenegraph/scenegraph';\nimport type { StateManeger } from '../state/state';\nimport type { EventManeger } from '../event/event';\nimport type {\n CellAddress,\n CellRange,\n CellLocation,\n ColumnTypeOption,\n DataSourceAPI,\n FieldData,\n FieldDef,\n FieldFormat,\n FullExtendStyle,\n HeaderValues,\n HeightModeDef,\n HierarchyState,\n IDataConfig,\n IPagination,\n ITableThemeDefine,\n SortState,\n TableKeyboardOptions,\n WidthModeDef\n} from '.';\nimport type { TooltipOptions } from './tooltip';\nimport type { IWrapTextGraphicAttribute } from '../scenegraph/graphic/text';\nimport type { ICustomLayout } from './customLayout';\nimport type { CachedDataSource, DataSource } from '../data';\nimport type { MenuHandler } from '../components/menu/dom/MenuHandler';\nimport type { PivotHeaderLayoutMap } from '../layout/pivot-header-layout';\nimport type { SimpleHeaderLayoutMap } from '../layout';\nimport type { PivotLayoutMap } from '../layout/pivot-layout';\nimport type { TooltipHandler } from '../components/tooltip/TooltipHandler';\nimport type { BodyHelper } from '../body-helper/body-helper';\nimport type { HeaderHelper } from '../header-helper/header-helper';\nimport type { EventHandler } from '../event/EventHandler';\nimport type { NumberMap } from '../tools/NumberMap';\nimport type { FocusInput } from '../core/FouseInput';\nimport type { ITableLegendOption } from './component/legend';\nimport type { DataSet } from '@visactor/vdataset';\nimport type { Title } from '../components/title/title';\nimport type { ITitle } from './component/title';\nimport type { DiscreteTableLegend } from '../components/legend/discrete-legend/discrete-legend';\nimport type { ContinueTableLegend } from '../components/legend/continue-legend/continue-legend';\n\nexport interface IBaseTableProtected {\n element: HTMLElement;\n // scrollable: Scrollable;\n handler: EventHandler;\n focusControl: FocusInput;\n canvas: HTMLCanvasElement;\n context: CanvasRenderingContext2D;\n rowCount: number;\n colCount: number;\n frozenColCount: number;\n allowFrozenColCount: number;\n\n frozenRowCount: number;\n rightFrozenColCount: number;\n bottomFrozenRowCount: number;\n defaultRowHeight: number;\n /**表头默认行高 可以按逐行设置 如果没有就取defaultRowHeight */\n defaultHeaderRowHeight: (number | 'auto') | (number | 'auto')[];\n defaultColWidth: number;\n defaultHeaderColWidth: (number | 'auto') | (number | 'auto')[];\n // font?: string;\n // underlayBackgroundColor?: string;\n keyboardOptions?: TableKeyboardOptions;\n\n // disableRowHeaderColumnResize?: boolean;\n // 列宽调整模式(全列调整;全列不可调整;仅表头单元格可调整;仅内容单元格可调整)\n columnResizeMode?: 'all' | 'none' | 'header' | 'body';\n columnResizeType?: 'column' | 'indicator' | 'all' | 'indicatorGroup';\n /** 控制拖拽表头移动位置顺序开关 */\n dragHeaderMode?: 'all' | 'none' | 'column' | 'row';\n\n cachedRecordsRowHeightMap: NumberMap<string | number>; //存储每一条记录对应行的行高,只有当设置为自动换行随内容撑开才会起作用\n // headerRowHeightsMap: NumberMap<number>; //目前是用来存储了表头各行的高度,从headerRowHeight计算而来,headerRowHeight可以设置为数组的形式\n _rowHeightsMap: NumberMap<number>; //存储数据条目每行高度\n _colWidthsMap: NumberMap<string | number>; //存储各列的宽度\n _colContentWidthsMap: NumberMap<string | number>; //存储各列的内容宽度\n _colWidthsLimit: {\n //存储各列的宽度限制\n [col: number]: {\n max?: string | number;\n min?: string | number;\n };\n };\n calcWidthContext: {\n _: IBaseTableProtected;\n full: number;\n // em: number;\n };\n\n _rowRangeHeightsMap: Map<string, number>; //存储指定行范围的总高度\n _colRangeWidthsMap: Map<string, number>; //存储指定列范围的总宽度\n\n _widthResizedColMap: Set<number>; //记录下被手动调整过列宽的列号\n\n bodyHelper: BodyHelper;\n headerHelper: HeaderHelper;\n\n cellTextOverflows: { [at: string]: string };\n // headerDescriptions: { [at: string]: string };\n focusedTable: boolean;\n\n config:\n | {\n [name: string]: any;\n }\n | undefined;\n // scroll: {\n // left: number;\n // top: number;\n // };\n releaseList?: { release: () => void }[] | null;\n theme: TableTheme;\n transpose?: boolean; //是否转置\n // autoRowHeight?: boolean; //是否自动撑开高度 对于设置了autoWrapText的multilineText的列生效\n pixelRatio?: number;\n /** 下拉菜单的相关配置。消失时机:显示后点击菜单区域外自动消失*/\n menu: {\n /** 代替原来的option.menuType */\n renderMode?: 'canvas' | 'html';\n /** 内置下拉菜单的全局设置项 目前只针对基本表格有效 会对每个表头单元格开启默认的下拉菜单功能。代替原来的option.dropDownMenu*/\n defaultHeaderMenuItems?: MenuListItem[];\n /** 右键菜单。代替原来的option.contextmenu */\n contextMenuItems?: MenuListItem[] | ((field: FieldDef, row: number) => MenuListItem[]);\n /** 设置选中状态的菜单。代替原来的option.dropDownMenuHighlight */\n dropDownMenuHighlight?: DropDownMenuHighlightInfo[];\n };\n /** 提示弹框的相关配置。消失时机:显示后鼠标移动到指定区域外或者进入新的单元格后自动消失*/\n tooltip: {\n renderMode: 'html' | 'canvas';\n /** 代替原来hover:isShowTooltip配置 */\n isShowOverflowTextTooltip: boolean;\n /** 弹框是否需要限定在表格区域内 */\n confine: boolean;\n };\n\n dataSourceEventIds?: EventListenerId[];\n headerEvents?: EventListenerId[];\n layoutMap: PivotHeaderLayoutMap | SimpleHeaderLayoutMap | PivotLayoutMap;\n headerValues?: HeaderValues;\n tooltipHandler: TooltipHandler;\n\n // headerRowHeight: number[] | number;//移到了BaseTable\n sortState: SortState | SortState[];\n\n dataSource: DataSource | CachedDataSource;\n records?: any;\n allowRangePaste: boolean;\n //重新思考逻辑:如果为false,行高按设置的rowHeight;如果设置为true,则按lineHeight及是否自动换行综合计算行高 2021.11.19 by:lff\n\n autoWrapText?: boolean;\n\n menuHandler: MenuHandler;\n\n /**\n * 计算列宽时 指定最大列宽 可设置boolean或者具体的值 默认为450\n */\n limitMaxAutoWidth?: boolean | number;\n\n title?: Title;\n legends?: DiscreteTableLegend | ContinueTableLegend;\n\n //是否开启图表异步渲染\n renderChartAsync?: boolean;\n // // 开启图表异步渲染 每批次渐进渲染图表个数\n // renderChartAsyncBatchCount?: number;\n}\nexport interface BaseTableConstructorOptions {\n // /** 指定表格的行数 */\n // rowCount?: number;\n\n // /** 指定表格的列数 */\n // colCount?: number;\n /**\n * 当前需要冻结的列数 基本表格生效\n */\n frozenColCount?: number;\n rightFrozenColCount?: number;\n bottomFrozenRowCount?: number;\n\n // /** 待实现 TODO */\n // frozenRowCount?: number;\n /** 可冻结列数,表示前多少列会出现冻结操作按钮 基本表格生效 */\n allowFrozenColCount?: number;\n /**\n * 默认行高. 默认 40\n */\n defaultRowHeight?: number;\n /** 列表头默认行高 可以按逐行设置 如果没有就取defaultRowHeight */\n defaultHeaderRowHeight?: (number | 'auto') | (number | 'auto')[];\n /**\n * 默认列宽. 默认 80\n */\n defaultColWidth?: number;\n /** 行表头默认列宽 可以按逐列设置 如果没有就取defaultColWidth */\n defaultHeaderColWidth?: (number | 'auto') | (number | 'auto')[];\n /** 快捷键功能设置 */\n keyboardOptions?: TableKeyboardOptions;\n /**\n * Canvas container\n */\n container?: HTMLElement | null;\n\n /**\n * 调整列宽 可操作范围。'all' | 'none' | 'header' | 'body'; 整列间隔线|禁止调整|只能在表头处间隔线|只能在body间隔线\n */\n columnResizeMode?: 'all' | 'none' | 'header' | 'body';\n /** 控制拖拽表头移动位置顺序开关 */\n dragHeaderMode?: 'all' | 'none' | 'column' | 'row';\n /**\n * 是否显示固定列图钉 基本表格生效\n */\n showFrozenIcon?: boolean;\n\n padding?:\n | {\n top?: number;\n bottom?: number;\n left?: number;\n right?: number;\n }\n | number;\n /** hover交互配置 */\n hover?: {\n /** hover交互响应模式:十字交叉 整列 整行 或者单个单元格 */\n highlightMode: 'cross' | 'column' | 'row' | 'cell';\n /** 不响应鼠标hover交互 */\n disableHover?: boolean;\n /** 单独设置表头不响应鼠标hover交互 */\n disableHeaderHover?: boolean;\n };\n /** 选择单元格交互配置 */\n select?: {\n /** 不响应鼠标select交互 */\n disableSelect?: boolean;\n /** 单独设置表头不响应鼠标select交互 */\n disableHeaderSelect?: boolean;\n };\n /** 下拉菜单的相关配置。消失时机:显示后点击菜单区域外自动消失*/\n menu?: {\n /** 代替原来的option.menuType html目前实现较完整 先默认html渲染方式*/\n renderMode?: 'canvas' | 'html';\n /** 内置下拉菜单的全局设置项 目前只针对基本表格有效 会对每个表头单元格开启默认的下拉菜单功能。代替原来的option.dropDownMenu*/\n defaultHeaderMenuItems?: MenuListItem[];\n /** 右键菜单。代替原来的option.contextmenu */\n contextMenuItems?: MenuListItem[] | ((field: string, row: number) => MenuListItem[]);\n /** 设置选中状态的菜单。代替原来的option.dropDownMenuHighlight */\n dropDownMenuHighlight?: DropDownMenuHighlightInfo[];\n };\n /** tooltip相关配置 */\n tooltip?: {\n /** html目前实现较完整 先默认html渲染方式 */\n renderMode?: 'html'; // 目前暂不支持canvas方案\n /** 代替原来hover:isShowTooltip配置 暂时需要将renderMode配置为html才能显示,canvas的还未开发*/\n isShowOverflowTextTooltip?: boolean;\n /** 是否将 tooltip 框限制在画布区域内,默认开启。针对renderMode:\"html\"有效 */\n confine?: boolean;\n };\n /**\n * Theme\n */\n theme?: ITableThemeDefine;\n /** 宽度模式 */\n widthMode?: 'standard' | 'adaptive' | 'autoWidth';\n /** 高度模式 */\n heightMode?: 'standard' | 'adaptive' | 'autoHeight';\n /** 当列宽度不能占满容器时,是否需要自动拉宽来填充容器的宽度。默认false */\n autoFillWidth?: boolean;\n /** 当行高度不能占满容器时,是否需要自动拉高来填充容器的高度。默认false */\n autoFillHeight?: boolean;\n // /** 行高是否根据内容来计算 */\n // autoRowHeight?: boolean;\n /** 设备的像素比 不配的话默认获取window.devicePixelRatio */\n pixelRatio?: number;\n /** 自定义渲染 函数形式*/\n customRender?: ICustomRender;\n /**\n * 传入用户实例化的数据对象 目前不完善\n */\n dataSource?: DataSource;\n\n /** 开启自动换行 默认false */\n autoWrapText?: boolean;\n /** 单元格中可显示最大字符数 默认200 */\n maxCharactersNumber?: number; //\n /** toolip最大字符数 */\n maxTooltipCharactersNumber?: number;\n /** 最大可操作条目数 如copy操作可复制出最大数据条目数 */\n maxOperatableRecordCount?: number;\n /**\n * 计算列宽时 指定最大列宽 可设置boolean或者具体的值 默认为450\n */\n limitMaxAutoWidth?: boolean | number;\n\n // maximum number of data items maintained in table instance\n maintainedDataCount?: number;\n\n legends?: ITableLegendOption;\n title?: ITitle;\n //是否开启图表异步渲染\n renderChartAsync?: boolean;\n // 开启图表异步渲染 每批次渐进渲染图表个数\n renderChartAsyncBatchCount?: number;\n}\nexport interface BaseTableAPI {\n /** 表格的行数 */\n rowCount: number;\n /** 表格的列数 */\n colCount: number;\n /** 表格除去外层frame后的宽度 */\n tableNoFrameWidth: number;\n /** 表格除去外层frame后的高度 */\n tableNoFrameHeight: number;\n /** 表格的冻结行数 包括表头在内 */\n frozenRowCount: number;\n /** 表格的冻结列数 包括表头在内 */\n frozenColCount: number;\n\n bottomFrozenRowCount: number;\n rightFrozenColCount: number;\n /** 当前表格默认表头行高 */\n defaultHeaderRowHeight: (number | 'auto') | (number | 'auto')[];\n /** 当前表格默认行高 */\n defaultRowHeight: number;\n /** 当前表格默认列宽 */\n defaultColWidth: number;\n /** 当前表格默认表头列宽 */\n defaultHeaderColWidth: (number | 'auto') | (number | 'auto')[];\n /** 当前表格快捷键设置 */\n keyboardOptions: TableKeyboardOptions | null;\n /**\n * 是否显示图钉\n */\n showFrozenIcon: boolean;\n readonly canvas: HTMLCanvasElement;\n /** 表格可视区域的行数 */\n readonly visibleRowCount: number;\n /** 表格可视区域的列数 */\n readonly visibleColCount: number;\n /** 表格滚动值left */\n scrollLeft: number;\n /** 表格滚动值top */\n scrollTop: number;\n /** 用户设置的options 不要修改这个这个 */\n options: BaseTableConstructorOptions;\n /** 设置的全局下拉菜单列表项配置 */\n globalDropDownMenu?: MenuListItem[];\n /** 设置的全局自定义渲染函数 */\n customRender?: ICustomRender;\n\n /** 表格数据管理对象 */\n dataSource: DataSourceAPI;\n /** 设置的表格主题 */\n theme: TableTheme;\n /** 可允许设置冻结的最大列数 */\n allowFrozenColCount: number;\n\n /** 存储内部用到的属性 变量等 */\n internalProps: IBaseTableProtected;\n /** 分页信息 */\n pagination?: IPagination;\n\n /** 表格偏移像素值 水平方向 */\n tableX: number;\n /** 表格偏移像素值 垂直方向 */\n tableY: number;\n /** 表格宽度模式 */\n widthMode: WidthModeDef;\n /** 表格宽度模式 */\n heightMode: HeightModeDef;\n /** 当列宽度不能占满容器时,是否需要自动拉宽来填充容器的宽度。默认false */\n autoFillWidth: boolean;\n /** 当行高度不能占满容器时,是否需要自动拉高来填充容器的高度。默认false */\n autoFillHeight?: boolean;\n\n isReleased: boolean;\n\n on: <TYPE extends keyof TableEventHandlersEventArgumentMap>(\n type: TYPE,\n listener: TableEventListener<TYPE> //(event: TableEventHandlersEventArgumentMap[TYPE]) => TableEventHandlersReturnMap[TYPE]\n ) => EventListenerId;\n // &(<T extends keyof TableEventHandlersEventArgumentMap>(type: string, listener: AnyListener<T>) => EventListenerId);\n\n _vDataSet: DataSet;\n /** 场景树对象 */\n scenegraph: Scenegraph;\n /** 状态管理模块 */\n stateManeger?: StateManeger;\n /** 事件管理模块 */\n eventManeger?: EventManeger;\n /** 行表头的层数 */\n rowHeaderLevelCount: number;\n /** 列表头的层数 */\n columnHeaderLevelCount: number;\n /** 获取表格绘制的范围 不包括frame的宽度 */\n getDrawRange: () => Rect;\n /** 将鼠标坐标值 转换成表格坐标系中的坐标位置 */\n _getMouseAbstractPoint: (\n evt: TouchEvent | MouseEvent | undefined,\n isAddScroll?: boolean\n ) => { x: number; y: number; inTable: boolean };\n getElement: () => HTMLElement;\n getContainer: () => HTMLElement;\n\n setFrozenColCount: (count: number) => void;\n _setFrozenColCount: (count: number) => void;\n _updateSize: () => void;\n\n render: () => void;\n throttleInvalidate: () => void;\n getRowHeight: (row: number) => number;\n getDefaultRowHeight: (row: number) => number | 'auto';\n setRowHeight: (row: number, height: number, clearCache?: boolean) => void;\n getColWidth: (col: number) => number;\n getColWidthDefined: (col: number) => string | number;\n // getColWidthDefine: (col: number) => string | number;\n setColWidth: (col: number, width: number | string, clearCache?: boolean, skipCheckFrozen?: boolean) => void;\n _getColContentWidth: (col: number) => number;\n _setColContentWidth: (col: number, width: number | string, clearCache?: boolean) => void;\n getMaxColWidth: (col: number) => number;\n setMaxColWidth: (col: number, maxwidth: string | number) => void;\n getMinColWidth: (col: number) => number;\n setMinColWidth: (col: number, minwidth: string | number) => void;\n getCellRect: (col: number, row: number) => RectProps;\n getCellRelativeRect: (col: number, row: number) => RectProps;\n getCellsRect: (startCol: number, startRow: number, endCol: number, endRow: number) => RectProps;\n getCellRangeRect: (cellRange: CellRange | CellAddress) => RectProps;\n getCellRangeRelativeRect: (cellRange: CellRange | CellAddress) => RectProps;\n getVisibleCellRangeRelativeRect: (cellRange: CellRange | CellAddress) => RectProps;\n isFrozenCell: (col: number, row: number) => { row: boolean; col: boolean } | null;\n getRowAt: (absoluteY: number) => { top: number; row: number; bottom: number };\n getColAt: (absoluteX: number) => { left: number; col: number; right: number };\n getCellAt: (absoluteX: number, absoluteY: number) => CellAddress;\n _makeVisibleCell: (col: number, row: number) => void;\n // setFocusCursor(col: number, row: number): void;\n // focusCell(col: number, row: number): void;\n getCellOverflowText: (col: number, row: number) => string | null;\n getColsWidth: (startCol: number, endCol: number) => number;\n getRowsHeight: (startRow: number, endRow: number) => number;\n\n release: () => void;\n addReleaseObj: (releaseObj: { release: () => void }) => void;\n _getCellStyle: (col: number, row: number) => FullExtendStyle;\n clearCellStyleCache: () => void;\n\n getFrozenRowsHeight: () => number;\n getFrozenColsWidth: () => number;\n getBottomFrozenRowsHeight: () => number;\n getRightFrozenColsWidth: () => number;\n selectCell: (col: number, row: number) => void;\n selectCells: (cellRanges: CellRange[]) => void;\n getAllRowsHeight: () => number;\n getAllColsWidth: () => number;\n\n off: (id: EventListenerId) => void;\n getBodyField: (col: number, row: number) => FieldDef | undefined;\n getRecordByRowCol: (col: number, row: number) => MaybePromiseOrUndefined;\n getRecordIndexByRow: (col: number, row: number) => number;\n getRecordStartRowByRecordIndex: (index: number) => number;\n\n getHeaderField: (col: number, row: number) => any | undefined;\n getHeaderFieldKey: (col: number, row: number) => any | undefined;\n\n _getHeaderCellBySortState: (sortState: SortState) => CellAddress | undefined;\n getHeaderDefine: (col: number, row: number) => ColumnDefine;\n _getHeaderLayoutMap: (col: number, row: number) => HeaderData;\n getContext: () => CanvasRenderingContext2D;\n getCellRange: (col: number, row: number) => CellRange;\n _resetFrozenColCount: () => void;\n isCellRangeEqual: (col: number, row: number, targetCol: number, targetRow: number) => boolean;\n _getLayoutCellId: (col: number, row: number) => LayoutObjectId;\n _getBodyLayoutMap: (col: number, row: number) => ColumnData | IndicatorData;\n getBodyColumnDefine: (col: number, row: number) => ColumnDefine;\n getBodyColumnType: (col: number, row: number) => ColumnTypeOption;\n fireListeners: <TYPE extends keyof TableEventHandlersEventArgumentMap>(\n type: TYPE,\n event: TableEventHandlersEventArgumentMap[TYPE]\n ) => TableEventHandlersReturnMap[TYPE][];\n\n //更新分页\n updatePagination: (cof: IPagination) => void;\n //hover\n\n getHeaderDescription: (col: number, row: number) => string | undefined;\n\n getCellValue: (col: number, row: number) => string | null;\n getCellOriginValue: (col: number, row: number) => any;\n getCellOriginRecord: (col: number, row: number) => MaybePromiseOrUndefined;\n _dropDownMenuIsHighlight: (col: number, row: number, index: number) => boolean;\n // bindEvents(): void;\n refreshRowColCount: () => void;\n getFieldData: (field: FieldDef | FieldFormat | undefined, col: number, row: number) => FieldData;\n _hasField: (field: FieldDef, col: number, row: number) => boolean;\n getCellHeaderPaths: (col: number, row: number) => ICellHeaderPaths;\n getCellLocation: (col: number, row: number) => CellLocation;\n // isHitIcon(col: number, row: number, x: number, y: number, iconType: IconFuncTypeEnum): boolean;\n getCellIcons: (col: number, row: number) => ColumnIconOption[];\n\n getMenuInfo: (col: number, row: number, type: string) => DropDownMenuEventInfo;\n /**\n * 获取某个单元格的样式 共业务方调用\n * @param col\n * @param row\n */\n getCellStyle: (col: number, row: number) => CellStyle; // 计算后style\n\n getHierarchyState: (col: number, row: number) => HierarchyState | null;\n\n hasHierarchyTreeHeader: () => boolean;\n\n _canDragHeaderPosition: (col: number, row: number) => boolean;\n\n isHeader: (col: number, row: number) => boolean;\n\n isColumnHeader: (col: number, row: number) => boolean;\n\n isCornerHeader: (col: number, row: number) => boolean;\n\n isRowHeader: (col: number, row: number) => boolean;\n\n getCopyValue: () => string;\n\n getSelectedCellInfos: () => CellInfo[][];\n getCellInfo: (col: number, row: number) => Omit<MousePointerCellEvent, 'target'>;\n\n showTooltip: (col: number, row: number, tooltipOptions?: TooltipOptions) => void;\n\n measureText: (\n text: string,\n font: { fontSize: number; fontWeight?: string | number; fontFamily: string }\n ) => ITextSize;\n\n _canResizeColumn: (col: number, row: number) => boolean;\n\n getCustomRender: (col: number, row: number) => ICustomRender;\n getCustomLayout: (col: number, row: number) => ICustomLayout;\n isListTable: () => boolean;\n isPivotTable: (() => boolean) & (() => boolean);\n isPivotChart: (() => boolean) & (() => boolean);\n _clearColRangeWidthsMap: (col?: number) => void;\n _clearRowRangeHeightsMap: (row?: number) => void;\n clearRowHeightCache: () => void;\n clearColWidthCache: () => void;\n toggleHierarchyState: (col: number, row: number) => void;\n\n resize: () => void;\n\n getMergeCellRect: (col: number, row: number) => Rect;\n\n getTargetColAt: (absoluteX: number) => { col: number; left: number; right: number; width: number } | null;\n getTargetRowAt: (absoluteY: number) => { row: number; top: number; bottom: number; height: number } | null;\n\n renderWithRecreateCells: () => void;\n //#endregion tableAPI\n\n _adjustColWidth: (col: number, orgWidth: number) => number;\n _colWidthDefineToPxWidth: (width: string | number) => number;\n}\nexport interface ListTableProtected extends IBaseTableProtected {\n /** 表格数据 */\n records: any[] | null;\n columns: ColumnsDefine;\n layoutMap: SimpleHeaderLayoutMap;\n}\n\nexport interface PivotTableProtected extends IBaseTableProtected {\n /** 表格数据 */\n records: any[] | null;\n layoutMap: PivotHeaderLayoutMap | PivotLayoutMap;\n dataConfig?: IDataConfig;\n /**\n * 透视表 传入数据是透视后的嵌套层级结构 还是需要进行汇总计算的平坦数据\n */\n enableDataAnalysis?: boolean;\n}\nexport interface PivotChartProtected extends IBaseTableProtected {\n /** 表格数据 */\n records: any[] | Record<string, any[]>;\n layoutMap: PivotHeaderLayoutMap | PivotLayoutMap;\n dataConfig?: IDataConfig;\n}\n"]}
@@ -1,6 +1,5 @@
1
- import type { TextAlignType, TextBaselineType } from '@visactor/vrender';
2
1
  import type { LineWidthsPropertyDefine } from '..';
3
- import type { ColorPropertyDefine, ColorsPropertyDefine, LineClamp, LineDashsPropertyDefine, TextOverflow, UnderlinePropertyDefine, LineDashPropertyDefine, LineThroughPropertyDefine, PaddingsPropertyDefine, StylePropertyFunctionArg, CursorPropertyDefine, MarkedPropertyDefine, FontSizePropertyDefine, FontFamilyPropertyDefine, FontWeightPropertyDefine, FontVariantPropertyDefine, FontStylePropertyDefine } from '../style-define';
2
+ import type { ColorPropertyDefine, ColorsPropertyDefine, LineClamp, LineDashsPropertyDefine, TextOverflow, UnderlinePropertyDefine, LineDashPropertyDefine, LineThroughPropertyDefine, PaddingsPropertyDefine, StylePropertyFunctionArg, CursorPropertyDefine, MarkedPropertyDefine, FontSizePropertyDefine, FontFamilyPropertyDefine, FontWeightPropertyDefine, FontVariantPropertyDefine, FontStylePropertyDefine, TextAlignType, TextBaselineType } from '../style-define';
4
3
  import type { ThemeStyle } from '../theme';
5
4
  export interface ColumnStyle {
6
5
  padding?: PaddingsPropertyDefine;
@@ -1 +1 @@
1
- {"version":3,"sources":["ts-types/column/style.ts"],"names":[],"mappings":"","file":"style.js","sourcesContent":["import type { TextAlignType, TextBaselineType } from '@visactor/vrender';\nimport type { LineWidthsPropertyDefine } from '..';\nimport { PaddingPropertyDefine } from '..';\nimport type {\n ColorPropertyDefine,\n ColorsPropertyDefine,\n IconPropertyDefine,\n LineClamp,\n LineDashsPropertyDefine,\n TextOverflow,\n UnderlinePropertyDefine,\n LineDashPropertyDefine,\n LineThroughPropertyDefine,\n TagPropertyDefine,\n PaddingsPropertyDefine,\n StylePropertyFunctionArg,\n CursorPropertyDefine,\n MarkedPropertyDefine,\n FontSizePropertyDefine,\n FontFamilyPropertyDefine,\n FontWeightPropertyDefine,\n FontVariantPropertyDefine,\n FontStylePropertyDefine\n} from '../style-define';\nimport type { ThemeStyle } from '../theme';\n//这个style是在绘制里面的内容时用到的,用不到borderColor和borderLineWidth,所以和IStyleOption有些不一致\nexport interface ColumnStyle {\n padding?: PaddingsPropertyDefine;\n bgColor?: ColorPropertyDefine;\n // eslint-disable-next-line no-undef\n textAlign?: TextAlignType;\n // eslint-disable-next-line no-undef\n textBaseline?: TextBaselineType;\n color?: ColorPropertyDefine;\n\n fontSize?: FontSizePropertyDefine;\n fontFamily?: FontFamilyPropertyDefine;\n fontWeight?: FontWeightPropertyDefine;\n fontVariant?: FontVariantPropertyDefine;\n fontStyle?: FontStylePropertyDefine;\n\n textOverflow?: TextOverflow;\n // doChangeStyle: () => void;\n clone: () => ColumnStyle;\n linkColor?: ColorPropertyDefine;\n}\n\nexport type IHeaderStyle = ColumnStyle;\n\nexport type ISortheaderSyle = IHeaderStyle;\n\nexport interface IStyleOption {\n bgColor?: ColorPropertyDefine;\n padding?: PaddingsPropertyDefine;\n textAlign?: TextAlignType;\n textBaseline?: TextBaselineType;\n color?: ColorPropertyDefine;\n\n fontSize?: FontSizePropertyDefine;\n fontFamily?: FontFamilyPropertyDefine;\n fontWeight?: FontWeightPropertyDefine;\n fontVariant?: FontVariantPropertyDefine;\n fontStyle?: FontStylePropertyDefine;\n\n textOverflow?: TextOverflow;\n borderColor?: ColorsPropertyDefine;\n borderLineWidth?: LineWidthsPropertyDefine;\n\n lineHeight?: number;\n underline?: UnderlinePropertyDefine;\n /** TODO */\n underlineColor?: ColorPropertyDefine;\n /** TODO */\n underlineDash?: LineDashPropertyDefine;\n lineThrough?: LineThroughPropertyDefine;\n /** TODO */\n lineThroughColor?: ColorPropertyDefine;\n /** TODO */\n lineThroughDash?: LineDashPropertyDefine;\n\n borderLineDash?: LineDashsPropertyDefine;\n linkColor?: ColorPropertyDefine;\n\n // tag?: TagPropertyDefine;\n // tagFont?: FontPropertyDefine;\n // tagColor?: ColorPropertyDefine;\n // tagBgColor?: ColorPropertyDefine;\n // tagMargin?: number | string | (number | string)[];\n\n // dropDownIcon?: IconPropertyDefine;\n // dropDownHoverIcon?: IconPropertyDefine;\n cursor?: CursorPropertyDefine;\n\n textStick?: boolean;\n\n marked?: MarkedPropertyDefine;\n}\n\nexport interface ITextStyleOption extends IStyleOption {\n // lineHeight?: string | number;//移入IStyleOption中 单行文本类型也可以有\n autoWrapText?: boolean;\n lineClamp?: LineClamp;\n}\n\nexport interface IImageStyleOption extends IStyleOption {\n // imageSizing?: 'keep-aspect-ratio';\n // imageAutoSizing?: boolean;\n margin?: number;\n}\n// export type ISortHeaderStyleOption = IStyleOption;\n\nexport type ColumnStyleOption =\n | IStyleOption\n | ITextStyleOption\n | IImageStyleOption\n | ProgressBarStyleOption\n | ((styleArg: StylePropertyFunctionArg) => IStyleOption | ITextStyleOption | IImageStyleOption);\n\nexport type HeaderStyleOption =\n | (IStyleOption & { textStick?: boolean }) //表头可以配置吸附\n | ITextStyleOption\n | IImageStyleOption\n // | ISortHeaderStyleOption\n | ((styleArg: StylePropertyFunctionArg) => IStyleOption | ITextStyleOption | IImageStyleOption);\n// | ISortHeaderStyleOption\n\nexport type FullExtendStyle = HeaderStyleOption & ColumnStyleOption & ThemeStyle;\n\n// export interface BaseStyleOption {\n// bgColor?: ColorPropertyDefine;\n// }\n\n// export interface StdBaseStyleOption extends BaseStyleOption {\n// // eslint-disable-next-line no-undef\n// textAlign?: CanvasTextAlign;\n// // eslint-disable-next-line no-undef\n// textBaseline?: CanvasTextBaseline;\n// }\n// export interface StyleOption extends StdBaseStyleOption {\n// color?: ColorPropertyDefine;\n// font?: FontPropertyDefine;\n// padding?: PaddingsPropertyDefine;\n// textOverflow?: TextOverflow;\n// }\nexport interface ProgressBarStyleOption extends IStyleOption {\n // 是否显示进度条\n showBar?: boolean | ((args: StylePropertyFunctionArg) => boolean);\n // 进度条颜色\n barColor?: ColorPropertyDefine;\n // 进度条背景颜色\n barBgColor?: ColorPropertyDefine;\n // 进度条高度\n barHeight?: number | string;\n // 进度条距单元格底部距离\n barBottom?: number | string;\n // 进度条padding\n barPadding?: (number | string)[];\n // 进度条正向颜色\n barPositiveColor?: ColorPropertyDefine;\n // 进度条负向颜色\n barNegativeColor?: ColorPropertyDefine;\n // 进度条坐标轴轴颜色\n barAxisColor?: ColorPropertyDefine;\n // 进度条方向是否从右到左\n barRightToLeft?: boolean;\n\n // 是否显示进度条标记\n showBarMark?: boolean;\n // 进度条标记正向颜色\n barMarkPositiveColor?: ColorPropertyDefine;\n // 进度条标记负向颜色\n barMarkNegativeColor?: ColorPropertyDefine;\n // 进度条标记宽度\n barMarkWidth?: number;\n // 进度条标记位置\n barMarkPosition?: 'right' | 'bottom';\n}\n"]}
1
+ {"version":3,"sources":["ts-types/column/style.ts"],"names":[],"mappings":"","file":"style.js","sourcesContent":["import type { LineWidthsPropertyDefine } from '..';\nimport { PaddingPropertyDefine } from '..';\nimport type {\n ColorPropertyDefine,\n ColorsPropertyDefine,\n IconPropertyDefine,\n LineClamp,\n LineDashsPropertyDefine,\n TextOverflow,\n UnderlinePropertyDefine,\n LineDashPropertyDefine,\n LineThroughPropertyDefine,\n TagPropertyDefine,\n PaddingsPropertyDefine,\n StylePropertyFunctionArg,\n CursorPropertyDefine,\n MarkedPropertyDefine,\n FontSizePropertyDefine,\n FontFamilyPropertyDefine,\n FontWeightPropertyDefine,\n FontVariantPropertyDefine,\n FontStylePropertyDefine,\n TextAlignType,\n TextBaselineType\n} from '../style-define';\nimport type { ThemeStyle } from '../theme';\n//这个style是在绘制里面的内容时用到的,用不到borderColor和borderLineWidth,所以和IStyleOption有些不一致\nexport interface ColumnStyle {\n padding?: PaddingsPropertyDefine;\n bgColor?: ColorPropertyDefine;\n // eslint-disable-next-line no-undef\n textAlign?: TextAlignType;\n // eslint-disable-next-line no-undef\n textBaseline?: TextBaselineType;\n color?: ColorPropertyDefine;\n\n fontSize?: FontSizePropertyDefine;\n fontFamily?: FontFamilyPropertyDefine;\n fontWeight?: FontWeightPropertyDefine;\n fontVariant?: FontVariantPropertyDefine;\n fontStyle?: FontStylePropertyDefine;\n\n textOverflow?: TextOverflow;\n // doChangeStyle: () => void;\n clone: () => ColumnStyle;\n linkColor?: ColorPropertyDefine;\n}\n\nexport type IHeaderStyle = ColumnStyle;\n\nexport type ISortheaderSyle = IHeaderStyle;\n\nexport interface IStyleOption {\n bgColor?: ColorPropertyDefine;\n padding?: PaddingsPropertyDefine;\n textAlign?: TextAlignType;\n textBaseline?: TextBaselineType;\n color?: ColorPropertyDefine;\n\n fontSize?: FontSizePropertyDefine;\n fontFamily?: FontFamilyPropertyDefine;\n fontWeight?: FontWeightPropertyDefine;\n fontVariant?: FontVariantPropertyDefine;\n fontStyle?: FontStylePropertyDefine;\n\n textOverflow?: TextOverflow;\n borderColor?: ColorsPropertyDefine;\n borderLineWidth?: LineWidthsPropertyDefine;\n\n lineHeight?: number;\n underline?: UnderlinePropertyDefine;\n /** TODO */\n underlineColor?: ColorPropertyDefine;\n /** TODO */\n underlineDash?: LineDashPropertyDefine;\n lineThrough?: LineThroughPropertyDefine;\n /** TODO */\n lineThroughColor?: ColorPropertyDefine;\n /** TODO */\n lineThroughDash?: LineDashPropertyDefine;\n\n borderLineDash?: LineDashsPropertyDefine;\n linkColor?: ColorPropertyDefine;\n\n // tag?: TagPropertyDefine;\n // tagFont?: FontPropertyDefine;\n // tagColor?: ColorPropertyDefine;\n // tagBgColor?: ColorPropertyDefine;\n // tagMargin?: number | string | (number | string)[];\n\n // dropDownIcon?: IconPropertyDefine;\n // dropDownHoverIcon?: IconPropertyDefine;\n cursor?: CursorPropertyDefine;\n\n textStick?: boolean;\n\n marked?: MarkedPropertyDefine;\n}\n\nexport interface ITextStyleOption extends IStyleOption {\n // lineHeight?: string | number;//移入IStyleOption中 单行文本类型也可以有\n autoWrapText?: boolean;\n lineClamp?: LineClamp;\n}\n\nexport interface IImageStyleOption extends IStyleOption {\n // imageSizing?: 'keep-aspect-ratio';\n // imageAutoSizing?: boolean;\n margin?: number;\n}\n// export type ISortHeaderStyleOption = IStyleOption;\n\nexport type ColumnStyleOption =\n | IStyleOption\n | ITextStyleOption\n | IImageStyleOption\n | ProgressBarStyleOption\n | ((styleArg: StylePropertyFunctionArg) => IStyleOption | ITextStyleOption | IImageStyleOption);\n\nexport type HeaderStyleOption =\n | (IStyleOption & { textStick?: boolean }) //表头可以配置吸附\n | ITextStyleOption\n | IImageStyleOption\n // | ISortHeaderStyleOption\n | ((styleArg: StylePropertyFunctionArg) => IStyleOption | ITextStyleOption | IImageStyleOption);\n// | ISortHeaderStyleOption\n\nexport type FullExtendStyle = HeaderStyleOption & ColumnStyleOption & ThemeStyle;\n\n// export interface BaseStyleOption {\n// bgColor?: ColorPropertyDefine;\n// }\n\n// export interface StdBaseStyleOption extends BaseStyleOption {\n// // eslint-disable-next-line no-undef\n// textAlign?: CanvasTextAlign;\n// // eslint-disable-next-line no-undef\n// textBaseline?: CanvasTextBaseline;\n// }\n// export interface StyleOption extends StdBaseStyleOption {\n// color?: ColorPropertyDefine;\n// font?: FontPropertyDefine;\n// padding?: PaddingsPropertyDefine;\n// textOverflow?: TextOverflow;\n// }\nexport interface ProgressBarStyleOption extends IStyleOption {\n // 是否显示进度条\n showBar?: boolean | ((args: StylePropertyFunctionArg) => boolean);\n // 进度条颜色\n barColor?: ColorPropertyDefine;\n // 进度条背景颜色\n barBgColor?: ColorPropertyDefine;\n // 进度条高度\n barHeight?: number | string;\n // 进度条距单元格底部距离\n barBottom?: number | string;\n // 进度条padding\n barPadding?: (number | string)[];\n // 进度条正向颜色\n barPositiveColor?: ColorPropertyDefine;\n // 进度条负向颜色\n barNegativeColor?: ColorPropertyDefine;\n // 进度条坐标轴轴颜色\n barAxisColor?: ColorPropertyDefine;\n // 进度条方向是否从右到左\n barRightToLeft?: boolean;\n\n // 是否显示进度条标记\n showBarMark?: boolean;\n // 进度条标记正向颜色\n barMarkPositiveColor?: ColorPropertyDefine;\n // 进度条标记负向颜色\n barMarkNegativeColor?: ColorPropertyDefine;\n // 进度条标记宽度\n barMarkWidth?: number;\n // 进度条标记位置\n barMarkPosition?: 'right' | 'bottom';\n}\n"]}
@@ -1,7 +1,7 @@
1
- import type { TextAlignType, TextBaselineType } from '@visactor/vrender';
2
1
  import type { FieldData } from './table-engine';
3
2
  import type { RectProps } from './common';
4
3
  import type { BaseTableAPI } from './base-table';
4
+ import type { TextAlignType, TextBaselineType } from './style-define';
5
5
  export interface CustomRenderFunctionArg {
6
6
  row: number;
7
7
  col: number;
@@ -1 +1 @@
1
- {"version":3,"sources":["ts-types/customElement.ts"],"names":[],"mappings":"","file":"customElement.js","sourcesContent":["import type { TextAlignType, TextBaselineType } from '@visactor/vrender';\nimport type { FieldData } from './table-engine';\nimport type { RectProps } from './common';\nimport type { BaseTableAPI } from './base-table';\nexport interface CustomRenderFunctionArg {\n row: number;\n col: number;\n table: BaseTableAPI;\n /**format之后的值 */\n value: FieldData;\n /**原始值 */\n dataValue: FieldData;\n rect?: RectProps;\n}\ninterface baseElement {\n elementKey?: string;\n x: number | string | ((value: string) => number | string);\n y: number | string | ((value: string) => number | string);\n dx?: number;\n dy?: number;\n clickable?: boolean;\n cursor?: string;\n}\nexport interface TextElement extends baseElement {\n type: 'text';\n text: string | ((value: string) => string);\n stroke?: string | ((value: string) => string);\n fill?: string | ((value: string) => string);\n color?: string | ((value: string) => string);\n lineWidth: number;\n fontSize?: number | ((value: string) => number);\n fontFamily?: string | ((value: string) => string);\n fontWeight?: string | number | ((value: string) => string | number);\n fontVariant?: string;\n fontStyle?: string;\n ellipsis?: boolean | string;\n maxLineWidth?: number;\n textAlign?: TextAlignType;\n textBaseline?: TextBaselineType;\n lineHeight?: number;\n underline?: number;\n lineThrough?: number;\n heightLimit?: number;\n lineClamp?: number;\n width?: number;\n height?: number;\n background?: {\n fill?: string;\n expandY?: number;\n expandX?: number;\n cornerRadius?: number;\n };\n}\nexport interface LineElement extends Omit<baseElement, 'x' | 'y'> {\n type: 'line';\n stroke?: string | ((value: string) => string);\n points: { x: number; y: number }[];\n lineWidth?: number;\n}\n\nexport interface RectElement extends baseElement {\n type: 'rect';\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n stroke?: string | ((value: string) => string);\n fill?: string | ((value: string) => string);\n radius?: number | string | ((value: string) => number | string);\n}\n\nexport interface CircleElement extends baseElement {\n type: 'circle';\n radius: number | string | ((value: string) => number | string);\n // radian?: number | string | ((value: string) => number | string);\n stroke?: string | ((value: string) => string);\n fill?: string | ((value: string) => string);\n}\nexport interface ArcElement extends baseElement {\n type: 'arc';\n radius: number | string | ((value: string) => number | string);\n startAngle?: number | ((value: string) => number);\n endAngle?: number | ((value: string) => number);\n // clockWise?: boolean;\n stroke?: string | ((value: string) => string);\n fill?: string | ((value: string) => string);\n}\nexport interface IconElement extends baseElement {\n type: 'icon';\n svg: string | ((value: string) => string);\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n hover?: {\n x: number | string;\n y: number | string;\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n bgColor: string;\n radius?: number;\n };\n}\nexport interface ImageElement extends baseElement {\n type: 'image';\n src: string | ((value: string) => string);\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n hover?: {\n x: number | string;\n y: number | string;\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n bgColor: string;\n radius?: number;\n };\n shape?: 'circle' | 'square';\n}\nexport type ICustomRenderElement =\n | TextElement\n | RectElement\n | CircleElement\n | IconElement\n | ImageElement\n | ArcElement\n | LineElement;\nexport type ICustomRenderElements = Array<ICustomRenderElement>;\n\nexport type ICustomRenderFuc = (args: CustomRenderFunctionArg) => ICustomRenderObj;\n\nexport type ICustomRenderObj = {\n /** 配置出来的类型集合 */\n elements: ICustomRenderElements;\n /** 期望单元格的高度 */\n expectedHeight: number;\n /** 期望单元格的宽度 */\n expectedWidth: number;\n /**\n * 是否还需要默认渲染内容 只有配置true才绘制 默认 不绘制\n */\n renderDefault?: boolean;\n};\n\nexport type ICustomRender = ICustomRenderFuc | ICustomRenderObj;\n"]}
1
+ {"version":3,"sources":["ts-types/customElement.ts"],"names":[],"mappings":"","file":"customElement.js","sourcesContent":["import type { FieldData } from './table-engine';\nimport type { RectProps } from './common';\nimport type { BaseTableAPI } from './base-table';\nimport type { TextAlignType, TextBaselineType } from './style-define';\nexport interface CustomRenderFunctionArg {\n row: number;\n col: number;\n table: BaseTableAPI;\n /**format之后的值 */\n value: FieldData;\n /**原始值 */\n dataValue: FieldData;\n rect?: RectProps;\n}\ninterface baseElement {\n elementKey?: string;\n x: number | string | ((value: string) => number | string);\n y: number | string | ((value: string) => number | string);\n dx?: number;\n dy?: number;\n clickable?: boolean;\n cursor?: string;\n}\nexport interface TextElement extends baseElement {\n type: 'text';\n text: string | ((value: string) => string);\n stroke?: string | ((value: string) => string);\n fill?: string | ((value: string) => string);\n color?: string | ((value: string) => string);\n lineWidth: number;\n fontSize?: number | ((value: string) => number);\n fontFamily?: string | ((value: string) => string);\n fontWeight?: string | number | ((value: string) => string | number);\n fontVariant?: string;\n fontStyle?: string;\n ellipsis?: boolean | string;\n maxLineWidth?: number;\n textAlign?: TextAlignType;\n textBaseline?: TextBaselineType;\n lineHeight?: number;\n underline?: number;\n lineThrough?: number;\n heightLimit?: number;\n lineClamp?: number;\n width?: number;\n height?: number;\n background?: {\n fill?: string;\n expandY?: number;\n expandX?: number;\n cornerRadius?: number;\n };\n}\nexport interface LineElement extends Omit<baseElement, 'x' | 'y'> {\n type: 'line';\n stroke?: string | ((value: string) => string);\n points: { x: number; y: number }[];\n lineWidth?: number;\n}\n\nexport interface RectElement extends baseElement {\n type: 'rect';\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n stroke?: string | ((value: string) => string);\n fill?: string | ((value: string) => string);\n radius?: number | string | ((value: string) => number | string);\n}\n\nexport interface CircleElement extends baseElement {\n type: 'circle';\n radius: number | string | ((value: string) => number | string);\n // radian?: number | string | ((value: string) => number | string);\n stroke?: string | ((value: string) => string);\n fill?: string | ((value: string) => string);\n}\nexport interface ArcElement extends baseElement {\n type: 'arc';\n radius: number | string | ((value: string) => number | string);\n startAngle?: number | ((value: string) => number);\n endAngle?: number | ((value: string) => number);\n // clockWise?: boolean;\n stroke?: string | ((value: string) => string);\n fill?: string | ((value: string) => string);\n}\nexport interface IconElement extends baseElement {\n type: 'icon';\n svg: string | ((value: string) => string);\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n hover?: {\n x: number | string;\n y: number | string;\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n bgColor: string;\n radius?: number;\n };\n}\nexport interface ImageElement extends baseElement {\n type: 'image';\n src: string | ((value: string) => string);\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n hover?: {\n x: number | string;\n y: number | string;\n width: number | string | ((value: string) => number | string);\n height: number | string | ((value: string) => number | string);\n bgColor: string;\n radius?: number;\n };\n shape?: 'circle' | 'square';\n}\nexport type ICustomRenderElement =\n | TextElement\n | RectElement\n | CircleElement\n | IconElement\n | ImageElement\n | ArcElement\n | LineElement;\nexport type ICustomRenderElements = Array<ICustomRenderElement>;\n\nexport type ICustomRenderFuc = (args: CustomRenderFunctionArg) => ICustomRenderObj;\n\nexport type ICustomRenderObj = {\n /** 配置出来的类型集合 */\n elements: ICustomRenderElements;\n /** 期望单元格的高度 */\n expectedHeight: number;\n /** 期望单元格的宽度 */\n expectedWidth: number;\n /**\n * 是否还需要默认渲染内容 只有配置true才绘制 默认 不绘制\n */\n renderDefault?: boolean;\n};\n\nexport type ICustomRender = ICustomRenderFuc | ICustomRenderObj;\n"]}
@@ -4,6 +4,8 @@ import type { ColumnIconOption } from './icon';
4
4
  import type { FieldData } from './table-engine';
5
5
  export type TextOverflow = string;
6
6
  export type LineClamp = number | 'auto';
7
+ export type TextAlignType = 'center' | 'end' | 'left' | 'right' | 'start';
8
+ export type TextBaselineType = 'alphabetic' | 'bottom' | 'middle' | 'top';
7
9
  export interface StylePropertyFunctionArg {
8
10
  row: number;
9
11
  col: number;
@@ -1 +1 @@
1
- {"version":3,"sources":["ts-types/style-define.ts"],"names":[],"mappings":"","file":"style-define.js","sourcesContent":["import type { BaseTableAPI } from './base-table';\nimport type { ColorsDef, ICellHeaderPaths, LineDashsDef, LineWidthsDef, PaddingsDef } from './common';\nimport type { ColumnIconOption } from './icon';\nimport type { FieldData } from './table-engine';\n\n// ****** TextStyle Options *******\nexport type TextOverflow = string /* a char */; //设置一行的省略形式,另外还有clip。如果autoWrapText设置了自动换行,这个无效\nexport type LineClamp = number | 'auto'; //设置单元格显示的行数,如果不设置的话 默认全部展示直到超过了显示范围,会截断暂时文本,如果设置了auto,显示不了的文本会出现省略号\n\nexport interface StylePropertyFunctionArg {\n row: number;\n col: number;\n /** 表格实例 */\n table: BaseTableAPI;\n /**有format的话 格式化后或者计算后的值 */\n value?: FieldData;\n /**原始值 */\n dataValue?: FieldData;\n /** progressbar类型特有,表示当前数值在总体数据范围的比例 */\n percentile?: number;\n /** 单元格的表头路径信息 */\n cellHeaderPaths: ICellHeaderPaths;\n}\nexport type ColorPropertyDefine =\n | string\n | ((args: StylePropertyFunctionArg) => string)\n | ((args: StylePropertyFunctionArg) => CanvasGradient)\n | ((args: StylePropertyFunctionArg) => CanvasPattern);\n\nexport type ColorsPropertyDefine =\n | ColorPropertyDefine\n | (string | null)[]\n | ((args: StylePropertyFunctionArg) => (string | null)[]);\n\nexport type LineWidthPropertyDefine = number | ((args: StylePropertyFunctionArg) => number);\n\nexport type LineWidthsPropertyDefine =\n | LineWidthPropertyDefine\n | (number | null)[]\n | ((args: StylePropertyFunctionArg) => (number | null)[]);\n\nexport type LineDashPropertyDefine = Array<number> | ((args: StylePropertyFunctionArg) => Array<number>);\n\nexport type LineDashsPropertyDefine =\n | LineDashPropertyDefine\n | (Array<number> | null)[]\n | ((args: StylePropertyFunctionArg) => (Array<number> | null)[]);\n\n// export type FontPropertyDefine = string | ((args: StylePropertyFunctionArg) => string);\nexport type FontSizePropertyDefine = number | ((args: StylePropertyFunctionArg) => number);\nexport type FontFamilyPropertyDefine = string | ((args: StylePropertyFunctionArg) => string);\nexport type FontWeightPropertyDefine = string | number | ((args: StylePropertyFunctionArg) => string | number);\nexport type FontVariantPropertyDefine = string | ((args: StylePropertyFunctionArg) => string);\nexport type FontStylePropertyDefine = string | ((args: StylePropertyFunctionArg) => string);\n\nexport type TagPropertyDefine = string | ((args: StylePropertyFunctionArg) => string);\n\nexport type CursorPropertyDefine = string | ((args: StylePropertyFunctionArg) => string);\n\nexport type IconPropertyDefine =\n | string\n | ColumnIconOption\n | ((args: StylePropertyFunctionArg) => string | ColumnIconOption);\n\nexport type UnderlinePropertyDefine = boolean | ((args: StylePropertyFunctionArg) => boolean);\nexport type LineThroughPropertyDefine = boolean | ((args: StylePropertyFunctionArg) => boolean);\n\nexport type PaddingPropertyDefine = number | ((args: StylePropertyFunctionArg) => number);\n\nexport type PaddingsPropertyDefine =\n | PaddingPropertyDefine\n | (number | null)[]\n | ((args: StylePropertyFunctionArg) => (number | null)[]);\n\nexport type MarkedPropertyDefine = boolean | ((args: StylePropertyFunctionArg) => boolean);\n\nexport type CellStyle = {\n textAlign: CanvasTextAlign;\n padding: PaddingsDef;\n textBaseline: CanvasTextBaseline;\n color: CanvasRenderingContext2D['fillStyle'];\n bgColor: CanvasRenderingContext2D['fillStyle'];\n // font: string;\n fontSize: number;\n fontFamily: string;\n fontWeight: string | number;\n fontVariant: string;\n fontStyle: string;\n // lineHeight: string | number;\n lineHeight: number;\n autoWrapText: boolean;\n lineClamp: LineClamp;\n textOverflow: TextOverflow;\n borderColor: ColorsDef;\n borderLineWidth: LineWidthsDef;\n borderLineDash: LineDashsDef;\n underline: boolean;\n // underlineColor: CanvasRenderingContext2D['strokeStyle'];\n underlineWidth: number;\n // underlineDash: number[];\n lineThrough: boolean;\n // lineThroughColor: CanvasRenderingContext2D['strokeStyle'];\n // lineThroughDash: number[];\n lineThroughLineWidth: number;\n};\n"]}
1
+ {"version":3,"sources":["ts-types/style-define.ts"],"names":[],"mappings":"","file":"style-define.js","sourcesContent":["import type { BaseTableAPI } from './base-table';\nimport type { ColorsDef, ICellHeaderPaths, LineDashsDef, LineWidthsDef, PaddingsDef } from './common';\nimport type { ColumnIconOption } from './icon';\nimport type { FieldData } from './table-engine';\n\n// ****** TextStyle Options *******\nexport type TextOverflow = string /* a char */; //设置一行的省略形式,另外还有clip。如果autoWrapText设置了自动换行,这个无效\nexport type LineClamp = number | 'auto'; //设置单元格显示的行数,如果不设置的话 默认全部展示直到超过了显示范围,会截断暂时文本,如果设置了auto,显示不了的文本会出现省略号\nexport type TextAlignType = 'center' | 'end' | 'left' | 'right' | 'start'; // 设置单元格内文字的水平对齐方式\nexport type TextBaselineType = 'alphabetic' | 'bottom' | 'middle' | 'top'; // 设置单元格内文字的垂直对齐方式\n\nexport interface StylePropertyFunctionArg {\n row: number;\n col: number;\n /** 表格实例 */\n table: BaseTableAPI;\n /**有format的话 格式化后或者计算后的值 */\n value?: FieldData;\n /**原始值 */\n dataValue?: FieldData;\n /** progressbar类型特有,表示当前数值在总体数据范围的比例 */\n percentile?: number;\n /** 单元格的表头路径信息 */\n cellHeaderPaths: ICellHeaderPaths;\n}\nexport type ColorPropertyDefine =\n | string\n | ((args: StylePropertyFunctionArg) => string)\n | ((args: StylePropertyFunctionArg) => CanvasGradient)\n | ((args: StylePropertyFunctionArg) => CanvasPattern);\n\nexport type ColorsPropertyDefine =\n | ColorPropertyDefine\n | (string | null)[]\n | ((args: StylePropertyFunctionArg) => (string | null)[]);\n\nexport type LineWidthPropertyDefine = number | ((args: StylePropertyFunctionArg) => number);\n\nexport type LineWidthsPropertyDefine =\n | LineWidthPropertyDefine\n | (number | null)[]\n | ((args: StylePropertyFunctionArg) => (number | null)[]);\n\nexport type LineDashPropertyDefine = Array<number> | ((args: StylePropertyFunctionArg) => Array<number>);\n\nexport type LineDashsPropertyDefine =\n | LineDashPropertyDefine\n | (Array<number> | null)[]\n | ((args: StylePropertyFunctionArg) => (Array<number> | null)[]);\n\n// export type FontPropertyDefine = string | ((args: StylePropertyFunctionArg) => string);\nexport type FontSizePropertyDefine = number | ((args: StylePropertyFunctionArg) => number);\nexport type FontFamilyPropertyDefine = string | ((args: StylePropertyFunctionArg) => string);\nexport type FontWeightPropertyDefine = string | number | ((args: StylePropertyFunctionArg) => string | number);\nexport type FontVariantPropertyDefine = string | ((args: StylePropertyFunctionArg) => string);\nexport type FontStylePropertyDefine = string | ((args: StylePropertyFunctionArg) => string);\n\nexport type TagPropertyDefine = string | ((args: StylePropertyFunctionArg) => string);\n\nexport type CursorPropertyDefine = string | ((args: StylePropertyFunctionArg) => string);\n\nexport type IconPropertyDefine =\n | string\n | ColumnIconOption\n | ((args: StylePropertyFunctionArg) => string | ColumnIconOption);\n\nexport type UnderlinePropertyDefine = boolean | ((args: StylePropertyFunctionArg) => boolean);\nexport type LineThroughPropertyDefine = boolean | ((args: StylePropertyFunctionArg) => boolean);\n\nexport type PaddingPropertyDefine = number | ((args: StylePropertyFunctionArg) => number);\n\nexport type PaddingsPropertyDefine =\n | PaddingPropertyDefine\n | (number | null)[]\n | ((args: StylePropertyFunctionArg) => (number | null)[]);\n\nexport type MarkedPropertyDefine = boolean | ((args: StylePropertyFunctionArg) => boolean);\n\nexport type CellStyle = {\n textAlign: CanvasTextAlign;\n padding: PaddingsDef;\n textBaseline: CanvasTextBaseline;\n color: CanvasRenderingContext2D['fillStyle'];\n bgColor: CanvasRenderingContext2D['fillStyle'];\n // font: string;\n fontSize: number;\n fontFamily: string;\n fontWeight: string | number;\n fontVariant: string;\n fontStyle: string;\n // lineHeight: string | number;\n lineHeight: number;\n autoWrapText: boolean;\n lineClamp: LineClamp;\n textOverflow: TextOverflow;\n borderColor: ColorsDef;\n borderLineWidth: LineWidthsDef;\n borderLineDash: LineDashsDef;\n underline: boolean;\n // underlineColor: CanvasRenderingContext2D['strokeStyle'];\n underlineWidth: number;\n // underlineDash: number[];\n lineThrough: boolean;\n // lineThroughColor: CanvasRenderingContext2D['strokeStyle'];\n // lineThroughDash: number[];\n lineThroughLineWidth: number;\n};\n"]}