hfn-components 0.6.0 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- .echart-box{display:flex;flex-direction:column;height:100%;position:relative;width:100%}.echart-content{flex:auto}.echart-lenged{box-sizing:border-box;display:flex;flex-wrap:wrap;font-size:12px;height:auto;margin-top:6px;padding-right:22px;position:relative;width:100%;z-index:999}.bg-span{height:2px;width:14px}.bg-span,.bg-span-bar{display:inline-block;margin-right:6px}.bg-span-bar{border-radius:2px;height:10px;width:16px}.span-box{cursor:pointer;margin-left:5px;margin-right:6px}.noData,.span-box{align-items:center;display:flex}.noData{bottom:0;color:#ccc;font-size:16px;justify-content:center;position:absolute}._100,.noData{height:100%;width:100%}.dialog{padding:24px!important;width:860px!important}.factor-content{display:flex;flex-direction:column;flex-wrap:wrap;height:380px;width:100%}.factor_item{width:33.33%}.check_item,.factor_item{display:flex;margin-bottom:10px}.check_item{justify-content:space-between}.flex-alignCnter{align-items:center;cursor:pointer;display:flex}.target-head{display:grid;grid:auto/repeat(5,1fr)}.flow-col{border-left:1px solid #e8e8e8;height:520px;overflow-y:auto;padding-left:10px}
1
+ .echart-box{display:flex;flex-direction:column;height:100%;position:relative;width:100%}.echart-content{flex:auto}.echart-lenged{box-sizing:border-box;display:flex;flex-wrap:wrap;font-size:12px;height:auto;margin-top:6px;padding-right:22px;position:relative;width:100%;z-index:999}.bg-span{height:2px;width:14px}.bg-span,.bg-span-bar{display:inline-block;margin-right:6px}.bg-span-bar{border-radius:2px;height:10px;width:16px}.span-box{cursor:pointer;margin-left:5px;margin-right:6px}.noData,.span-box{align-items:center;display:flex}.noData{bottom:0;color:#ccc;font-size:16px;justify-content:center;position:absolute}._100,.noData{height:100%;width:100%}.dialog{padding:24px!important;width:860px!important}.factor-content{display:flex;flex-direction:column;flex-wrap:wrap;height:380px;width:100%}.factor_item{width:33.33%}.check_item,.factor_item{display:flex;margin-bottom:10px}.check_item{justify-content:space-between}.flex-alignCnter{align-items:center;cursor:pointer;display:flex}.target-head{display:grid;grid:auto/repeat(5,1fr)}.flow-col{border-left:1px solid #e8e8e8;height:520px;overflow-y:auto;padding-left:10px}.header-text-wrap{line-height:1.5;white-space:pre-line}.header-only-border .el-table,.header-only-border .el-table__inner-wrapper,.header-only-border.el-table--border{border:none!important}.header-only-border .el-table:after,.header-only-border .el-table:before,.header-only-border .el-table__inner-wrapper:after,.header-only-border .el-table__inner-wrapper:before{display:none!important}.header-only-border .el-table__cell{border:none!important}.header-only-border .el-table__header .el-table__cell{border:none!important;position:relative}.header-only-border .el-table__header .el-table__cell:after{background-color:#dcdfe6;content:"";height:40%;position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px}.header-only-border .el-table__header .el-table__cell:last-child:after{display:none}
@@ -85,6 +85,6 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
85
85
  $setup.noData ? (openBlock(), createElementBlock("div", _hoisted_5, "\u6682\u65E0\u6570\u636E")) : createCommentVNode("v-if", true)
86
86
  ]);
87
87
  }
88
- var chart = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/zhanghang/Documents/project/component-library/packages/components/chart/src/HtChart.vue"]]);
88
+ var chart = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/libiluo/Desktop/company/component-library/packages/components/chart/src/HtChart.vue"]]);
89
89
 
90
90
  export { chart as default };
@@ -15,6 +15,10 @@ export declare const HtElTable: import("hfn-components/es/utils").SFCWithInstall
15
15
  readonly type: StringConstructor;
16
16
  readonly default: "#f0f0f0";
17
17
  };
18
+ readonly resizable: {
19
+ readonly type: BooleanConstructor;
20
+ readonly default: true;
21
+ };
18
22
  }, {
19
23
  targetHead: import("vue").Ref<{
20
24
  name: string;
@@ -22,10 +26,12 @@ export declare const HtElTable: import("hfn-components/es/utils").SFCWithInstall
22
26
  }[]>;
23
27
  props: import("@vue/shared").LooseRequired<{
24
28
  readonly loading: boolean;
29
+ readonly resizable: boolean;
25
30
  readonly dataSource: unknown[];
26
31
  readonly tableColumn: import("./src/elTable").ElTableColumns[];
27
32
  readonly headerColor: string;
28
33
  } & {}>;
34
+ wrapText: (text: string, charsPerLine?: number) => string;
29
35
  readonly ElTable: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
30
36
  data: {
31
37
  type: import("vue").PropType<any[]>;
@@ -800,8 +806,13 @@ export declare const HtElTable: import("hfn-components/es/utils").SFCWithInstall
800
806
  readonly type: StringConstructor;
801
807
  readonly default: "#f0f0f0";
802
808
  };
809
+ readonly resizable: {
810
+ readonly type: BooleanConstructor;
811
+ readonly default: true;
812
+ };
803
813
  }>>, {
804
814
  readonly loading: boolean;
815
+ readonly resizable: boolean;
805
816
  readonly dataSource: unknown[];
806
817
  readonly tableColumn: import("./src/elTable").ElTableColumns[];
807
818
  readonly headerColor: string;
@@ -37,6 +37,6 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
37
37
  /* TEXT */
38
38
  ));
39
39
  }
40
- var ColumnDeal = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/zhanghang/Documents/project/component-library/packages/components/elTable/src/columnDeal.vue"]]);
40
+ var ColumnDeal = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/libiluo/Desktop/company/component-library/packages/components/elTable/src/columnDeal.vue"]]);
41
41
 
42
42
  export { ColumnDeal as default };
@@ -25,6 +25,10 @@ export declare const elTableProps: {
25
25
  readonly type: StringConstructor;
26
26
  readonly default: "#f0f0f0";
27
27
  };
28
+ readonly resizable: {
29
+ readonly type: BooleanConstructor;
30
+ readonly default: true;
31
+ };
28
32
  };
29
33
  export declare const columnDealProps: {
30
34
  readonly dealType: {
@@ -14,6 +14,11 @@ const elTableProps = {
14
14
  headerColor: {
15
15
  type: String,
16
16
  default: "#f0f0f0"
17
+ },
18
+ resizable: {
19
+ type: Boolean,
20
+ default: true
21
+ // 默认允许手动拉伸列宽
17
22
  }
18
23
  };
19
24
  const columnDealProps = {
@@ -15,6 +15,10 @@ declare const _default: import("vue").DefineComponent<{
15
15
  readonly type: StringConstructor;
16
16
  readonly default: "#f0f0f0";
17
17
  };
18
+ readonly resizable: {
19
+ readonly type: BooleanConstructor;
20
+ readonly default: true;
21
+ };
18
22
  }, {
19
23
  targetHead: import("vue").Ref<{
20
24
  name: string;
@@ -22,10 +26,12 @@ declare const _default: import("vue").DefineComponent<{
22
26
  }[]>;
23
27
  props: import("@vue/shared").LooseRequired<{
24
28
  readonly loading: boolean;
29
+ readonly resizable: boolean;
25
30
  readonly dataSource: unknown[];
26
31
  readonly tableColumn: import("./elTable").ElTableColumns[];
27
32
  readonly headerColor: string;
28
33
  } & {}>;
34
+ wrapText: (text: string, charsPerLine?: number) => string;
29
35
  readonly ElTable: import("element-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
30
36
  data: {
31
37
  type: import("vue").PropType<any[]>;
@@ -800,8 +806,13 @@ declare const _default: import("vue").DefineComponent<{
800
806
  readonly type: StringConstructor;
801
807
  readonly default: "#f0f0f0";
802
808
  };
809
+ readonly resizable: {
810
+ readonly type: BooleanConstructor;
811
+ readonly default: true;
812
+ };
803
813
  }>>, {
804
814
  readonly loading: boolean;
815
+ readonly resizable: boolean;
805
816
  readonly dataSource: unknown[];
806
817
  readonly tableColumn: import("./elTable").ElTableColumns[];
807
818
  readonly headerColor: string;
@@ -1,16 +1,24 @@
1
1
  import _sfc_main from './elTable.vue2.mjs';
2
- import { withDirectives, openBlock, createBlock, withCtx, createElementBlock, Fragment, renderList, createElementVNode, toDisplayString, renderSlot } from 'vue';
2
+ import { withDirectives, openBlock, createBlock, normalizeClass, withCtx, createElementBlock, Fragment, renderList, createElementVNode, toDisplayString, renderSlot } from 'vue';
3
3
  import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.mjs';
4
4
 
5
- const _hoisted_1 = { key: 0 };
5
+ const _hoisted_1 = {
6
+ key: 0,
7
+ class: "header-text-wrap"
8
+ };
6
9
  const _hoisted_2 = { key: 0 };
7
10
  const _hoisted_3 = { key: 1 };
8
- const _hoisted_4 = { key: 1 };
11
+ const _hoisted_4 = {
12
+ key: 1,
13
+ class: "header-text-wrap"
14
+ };
9
15
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
10
16
  return withDirectives((openBlock(), createBlock($setup["ElTable"], {
11
17
  data: $setup.props.dataSource,
12
18
  style: { "width": "100%" },
13
19
  height: "100%",
20
+ border: $setup.props.resizable,
21
+ class: normalizeClass({ "header-only-border": $setup.props.resizable }),
14
22
  "header-cell-style": {
15
23
  background: $setup.props.headerColor,
16
24
  color: "#000",
@@ -24,7 +32,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
24
32
  null,
25
33
  renderList($setup.props.tableColumn, (item) => {
26
34
  return openBlock(), createBlock($setup["ElTableColumn"], {
27
- resizable: "",
35
+ resizable: $setup.props.resizable,
28
36
  key: item.key,
29
37
  prop: item.key,
30
38
  width: item.width
@@ -49,19 +57,17 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
49
57
  ])) : (openBlock(), createElementBlock(
50
58
  "div",
51
59
  _hoisted_3,
52
- toDisplayString(item.customizeLabel),
60
+ toDisplayString($setup.wrapText(item.customizeLabel)),
53
61
  1
54
62
  /* TEXT */
55
63
  ))
56
- ])) : (openBlock(), createElementBlock("span", _hoisted_4, [
57
- createElementVNode(
58
- "div",
59
- null,
60
- toDisplayString($setup.TABLE_KEY[item.key]),
61
- 1
62
- /* TEXT */
63
- )
64
- ]))
64
+ ])) : (openBlock(), createElementBlock(
65
+ "span",
66
+ _hoisted_4,
67
+ toDisplayString($setup.wrapText($setup.TABLE_KEY[item.key])),
68
+ 1
69
+ /* TEXT */
70
+ ))
65
71
  ]),
66
72
  default: withCtx((scope) => [
67
73
  item.dealType === "other" ? (openBlock(), createBlock($setup["ColumnDeal"], {
@@ -91,7 +97,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
91
97
  ]),
92
98
  _: 2
93
99
  /* DYNAMIC */
94
- }, 1032, ["prop", "width"]);
100
+ }, 1032, ["resizable", "prop", "width"]);
95
101
  }),
96
102
  128
97
103
  /* KEYED_FRAGMENT */
@@ -99,10 +105,10 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
99
105
  ]),
100
106
  _: 3
101
107
  /* FORWARDED */
102
- }, 8, ["data", "header-cell-style"])), [
108
+ }, 8, ["data", "border", "class", "header-cell-style"])), [
103
109
  [$setup["vLoading"], $setup.props.loading]
104
110
  ]);
105
111
  }
106
- var elTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/zhanghang/Documents/project/component-library/packages/components/elTable/src/elTable.vue"]]);
112
+ var elTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/libiluo/Desktop/company/component-library/packages/components/elTable/src/elTable.vue"]]);
107
113
 
108
114
  export { elTable as default };
@@ -25,7 +25,12 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
25
25
  }
26
26
  });
27
27
  const props = __props;
28
- const __returned__ = { targetHead, props, get ElTable() {
28
+ const wrapText = (text, charsPerLine = 6) => {
29
+ if (!text) return "";
30
+ const regex = new RegExp(`.{1,${charsPerLine}}`, "g");
31
+ return text.match(regex)?.join("\n") || text;
32
+ };
33
+ const __returned__ = { targetHead, props, wrapText, get ElTable() {
29
34
  return ElTable;
30
35
  }, get ElTableColumn() {
31
36
  return ElTableColumn;
@@ -235,6 +235,6 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
235
235
  }, 8, ["modelValue"])
236
236
  ]);
237
237
  }
238
- var htTarget = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/zhanghang/Documents/project/component-library/packages/components/htTarget/src/htTarget.vue"]]);
238
+ var htTarget = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/libiluo/Desktop/company/component-library/packages/components/htTarget/src/htTarget.vue"]]);
239
239
 
240
240
  export { htTarget as default };
@@ -56,6 +56,6 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
56
56
  $setup.noData ? (openBlock(), createElementBlock("div", _hoisted_5, "\u6682\u65E0\u6570\u636E")) : createCommentVNode("v-if", true)
57
57
  ]);
58
58
  }
59
- var htPieChart = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/zhanghang/Documents/project/component-library/packages/components/pieChart/src/HtPieChart.vue"]]);
59
+ var htPieChart = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/libiluo/Desktop/company/component-library/packages/components/pieChart/src/HtPieChart.vue"]]);
60
60
 
61
61
  export { htPieChart as default };
@@ -444,6 +444,6 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
444
444
  /* STABLE_FRAGMENT */
445
445
  );
446
446
  }
447
- var Table = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/zhanghang/Documents/project/component-library/packages/components/table/HtTable.vue"]]);
447
+ var Table = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "/Users/libiluo/Desktop/company/component-library/packages/components/table/HtTable.vue"]]);
448
448
 
449
449
  export { Table as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hfn-components",
3
- "version": "0.6.0",
3
+ "version": "0.6.2",
4
4
  "description": "",
5
5
  "main": "index.ts",
6
6
  "module": "es/index.mjs",
@@ -0,0 +1 @@
1
+ .header-text-wrap{line-height:1.5;white-space:pre-line}.header-only-border .el-table,.header-only-border .el-table__inner-wrapper,.header-only-border.el-table--border{border:none!important}.header-only-border .el-table:after,.header-only-border .el-table:before,.header-only-border .el-table__inner-wrapper:after,.header-only-border .el-table__inner-wrapper:before{display:none!important}.header-only-border .el-table__cell{border:none!important}.header-only-border .el-table__header .el-table__cell{border:none!important;position:relative}.header-only-border .el-table__header .el-table__cell:after{background-color:#dcdfe6;content:"";height:40%;position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px}.header-only-border .el-table__header .el-table__cell:last-child:after{display:none}
@@ -1 +1 @@
1
- .echart-box{display:flex;flex-direction:column;height:100%;position:relative;width:100%}.echart-content{flex:auto}.echart-lenged{box-sizing:border-box;display:flex;flex-wrap:wrap;font-size:12px;height:auto;margin-top:6px;padding-right:22px;position:relative;width:100%;z-index:999}.bg-span{height:2px;width:14px}.bg-span,.bg-span-bar{display:inline-block;margin-right:6px}.bg-span-bar{border-radius:2px;height:10px;width:16px}.span-box{cursor:pointer;margin-left:5px;margin-right:6px}.noData,.span-box{align-items:center;display:flex}.noData{bottom:0;color:#ccc;font-size:16px;justify-content:center;position:absolute}._100,.noData{height:100%;width:100%}.dialog{padding:24px!important;width:860px!important}.factor-content{display:flex;flex-direction:column;flex-wrap:wrap;height:380px;width:100%}.factor_item{width:33.33%}.check_item,.factor_item{display:flex;margin-bottom:10px}.check_item{justify-content:space-between}.flex-alignCnter{align-items:center;cursor:pointer;display:flex}.target-head{display:grid;grid:auto/repeat(5,1fr)}.flow-col{border-left:1px solid #e8e8e8;height:520px;overflow-y:auto;padding-left:10px}
1
+ .echart-box{display:flex;flex-direction:column;height:100%;position:relative;width:100%}.echart-content{flex:auto}.echart-lenged{box-sizing:border-box;display:flex;flex-wrap:wrap;font-size:12px;height:auto;margin-top:6px;padding-right:22px;position:relative;width:100%;z-index:999}.bg-span{height:2px;width:14px}.bg-span,.bg-span-bar{display:inline-block;margin-right:6px}.bg-span-bar{border-radius:2px;height:10px;width:16px}.span-box{cursor:pointer;margin-left:5px;margin-right:6px}.noData,.span-box{align-items:center;display:flex}.noData{bottom:0;color:#ccc;font-size:16px;justify-content:center;position:absolute}._100,.noData{height:100%;width:100%}.dialog{padding:24px!important;width:860px!important}.factor-content{display:flex;flex-direction:column;flex-wrap:wrap;height:380px;width:100%}.factor_item{width:33.33%}.check_item,.factor_item{display:flex;margin-bottom:10px}.check_item{justify-content:space-between}.flex-alignCnter{align-items:center;cursor:pointer;display:flex}.target-head{display:grid;grid:auto/repeat(5,1fr)}.flow-col{border-left:1px solid #e8e8e8;height:520px;overflow-y:auto;padding-left:10px}.header-text-wrap{line-height:1.5;white-space:pre-line}.header-only-border .el-table,.header-only-border .el-table__inner-wrapper,.header-only-border.el-table--border{border:none!important}.header-only-border .el-table:after,.header-only-border .el-table:before,.header-only-border .el-table__inner-wrapper:after,.header-only-border .el-table__inner-wrapper:before{display:none!important}.header-only-border .el-table__cell{border:none!important}.header-only-border .el-table__header .el-table__cell{border:none!important;position:relative}.header-only-border .el-table__header .el-table__cell:after{background-color:#dcdfe6;content:"";height:40%;position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px}.header-only-border .el-table__header .el-table__cell:last-child:after{display:none}
@@ -1,2 +1,3 @@
1
1
  @use './chart.scss';
2
- @use './target.scss'
2
+ @use './target.scss';
3
+ @use './table.scss';
@@ -0,0 +1,45 @@
1
+ // 表头文字换行样式
2
+ .header-text-wrap {
3
+ white-space: pre-line;
4
+ line-height: 1.5;
5
+ }
6
+
7
+ // 隐藏所有边框,让表格看起来和未设置 border 时一样
8
+ .header-only-border.el-table--border,
9
+ .header-only-border .el-table__inner-wrapper,
10
+ .header-only-border .el-table {
11
+ border: none !important;
12
+ }
13
+
14
+ .header-only-border .el-table__inner-wrapper::before,
15
+ .header-only-border .el-table__inner-wrapper::after,
16
+ .header-only-border .el-table::before,
17
+ .header-only-border .el-table::after {
18
+ display: none !important;
19
+ }
20
+
21
+ .header-only-border .el-table__cell {
22
+ border: none !important;
23
+ }
24
+
25
+ // 表头列分隔线 - 使用伪元素实现居中效果
26
+ .header-only-border .el-table__header .el-table__cell {
27
+ position: relative;
28
+ border: none !important;
29
+ }
30
+
31
+ .header-only-border .el-table__header .el-table__cell::after {
32
+ content: '';
33
+ position: absolute;
34
+ right: 0;
35
+ top: 50%;
36
+ transform: translateY(-50%);
37
+ width: 1px;
38
+ height: 40%;
39
+ background-color: #dcdfe6;
40
+ }
41
+
42
+ // 最后一列表头不显示分隔线
43
+ .header-only-border .el-table__header .el-table__cell:last-child::after {
44
+ display: none;
45
+ }
package/es/css/index.css DELETED
@@ -1,59 +0,0 @@
1
- .echart-box {
2
- width: 100%;
3
- height: 100%;
4
- display: flex;
5
- flex-direction: column;
6
- position: relative;
7
- }
8
-
9
- .echart-content {
10
- flex: auto;
11
- }
12
-
13
- .echart-lenged {
14
- width: 100%;
15
- height: auto;
16
- margin-top: 6px;
17
- padding-right: 22px;
18
- box-sizing: border-box;
19
- display: flex;
20
- flex-wrap: wrap;
21
- font-size: 12px;
22
- position: relative;
23
- z-index: 999;
24
- }
25
-
26
- .bg-span {
27
- display: inline-block;
28
- width: 14px;
29
- height: 2px;
30
- margin-right: 6px;
31
- }
32
-
33
- .bg-span-bar {
34
- display: inline-block;
35
- width: 16px;
36
- height: 10px;
37
- border-radius: 2px;
38
- margin-right: 6px;
39
- }
40
-
41
- .span-box {
42
- margin-left: 5px;
43
- margin-right: 6px;
44
- cursor: pointer;
45
- display: flex;
46
- align-items: center;
47
- }
48
-
49
- .noData {
50
- width: 100%;
51
- height: 100%;
52
- font-size: 16px;
53
- display: flex;
54
- justify-content: center;
55
- align-items: center;
56
- position: absolute;
57
- bottom: 0px;
58
- color: #ccc;
59
- }