giime 1.1.3-snapshot.0 → 1.1.3-snapshot.1

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
@@ -890,40 +890,6 @@ video {
890
890
  .gm-group:hover .group-hover\:gm-block {
891
891
  display: block;
892
892
  }
893
- .gm-flex-center[data-v-c17deec9] {
894
- align-items: center;
895
- }
896
-
897
- .gm-flex-justify-between[data-v-c17deec9] {
898
- justify-content: space-between;
899
- }
900
- .gm-number-interval-single[data-v-4e6f4d6f] {
901
- border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
902
- box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
903
- background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
904
- }
905
- .gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
906
- box-shadow: none;
907
- background: none;
908
- }
909
-
910
- .gm-number-interval-close[data-v-4e6f4d6f] {
911
- display: none;
912
- color: var(--el-input-icon-color, var(--el-text-color-placeholder));
913
- }
914
-
915
- .gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
916
- display: flex;
917
- }
918
-
919
- .gm-range-number .el-form-item[data-v-1ae16d96] {
920
- margin: 0;
921
- }
922
-
923
- [data-v-195b27e4] .gmSearchForm .el-form-item {
924
- margin-right: 0;
925
- margin-bottom: 4px;
926
- }
927
893
  .gm-upload-pro-preview-dialog[data-v-fbc23b01] [data-v-fbc23b01] .el-dialog__body {
928
894
  padding: 0;
929
895
  }
@@ -970,82 +936,93 @@ video {
970
936
  .gm-upload-pro-file-disabled .el-upload-list__item-status-label {
971
937
  display: none;
972
938
  }
973
- [data-v-3f2c8504] .gmTableNoBorder .el-table__body .el-table__cell {
939
+
940
+ .gm-range-number .el-form-item[data-v-1ae16d96] {
941
+ margin: 0;
942
+ }
943
+
944
+ [data-v-195b27e4] .gmSearchForm .el-form-item {
945
+ margin-right: 0;
946
+ margin-bottom: 4px;
947
+ }
948
+ .gm-flex-center[data-v-c17deec9] {
949
+ align-items: center;
950
+ }
951
+
952
+ .gm-flex-justify-between[data-v-c17deec9] {
953
+ justify-content: space-between;
954
+ }
955
+ [data-v-050a4f74] .gmTableNoBorder .el-table__body .el-table__cell {
974
956
  border-right: none;
975
957
  }
976
958
 
977
- [data-v-3f2c8504] .gmTableNoBorder .el-table__inner-wrapper:before {
959
+ [data-v-050a4f74] .gmTableNoBorder .el-table__inner-wrapper:before {
978
960
  height: 0;
979
961
  }
980
962
 
981
- [data-v-3f2c8504] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
963
+ [data-v-050a4f74] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
982
964
  height: 0;
983
965
  }
984
966
 
985
- [data-v-3f2c8504] .gmTableNoBorder.el-table--border:after {
967
+ [data-v-050a4f74] .gmTableNoBorder.el-table--border:after {
986
968
  height: 0;
987
969
  }
988
970
 
989
- [data-v-3f2c8504] .gmTableNoBorder.el-table--border:before {
971
+ [data-v-050a4f74] .gmTableNoBorder.el-table--border:before {
990
972
  height: 0;
991
973
  }
992
974
 
993
- [data-v-3f2c8504] .gmTableNoBorder .el-table__border-left-patch {
975
+ [data-v-050a4f74] .gmTableNoBorder .el-table__border-left-patch {
994
976
  height: 0;
995
977
  }
996
- [data-v-050a4f74] .gmTableNoBorder .el-table__body .el-table__cell {
978
+ .gm-number-interval-single[data-v-4e6f4d6f] {
979
+ border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
980
+ box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
981
+ background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
982
+ }
983
+ .gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
984
+ box-shadow: none;
985
+ background: none;
986
+ }
987
+
988
+ .gm-number-interval-close[data-v-4e6f4d6f] {
989
+ display: none;
990
+ color: var(--el-input-icon-color, var(--el-text-color-placeholder));
991
+ }
992
+
993
+ .gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
994
+ display: flex;
995
+ }
996
+ [data-v-3f2c8504] .gmTableNoBorder .el-table__body .el-table__cell {
997
997
  border-right: none;
998
998
  }
999
999
 
1000
- [data-v-050a4f74] .gmTableNoBorder .el-table__inner-wrapper:before {
1000
+ [data-v-3f2c8504] .gmTableNoBorder .el-table__inner-wrapper:before {
1001
1001
  height: 0;
1002
1002
  }
1003
1003
 
1004
- [data-v-050a4f74] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
1004
+ [data-v-3f2c8504] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
1005
1005
  height: 0;
1006
1006
  }
1007
1007
 
1008
- [data-v-050a4f74] .gmTableNoBorder.el-table--border:after {
1008
+ [data-v-3f2c8504] .gmTableNoBorder.el-table--border:after {
1009
1009
  height: 0;
1010
1010
  }
1011
1011
 
1012
- [data-v-050a4f74] .gmTableNoBorder.el-table--border:before {
1012
+ [data-v-3f2c8504] .gmTableNoBorder.el-table--border:before {
1013
1013
  height: 0;
1014
1014
  }
1015
1015
 
1016
- [data-v-050a4f74] .gmTableNoBorder .el-table__border-left-patch {
1016
+ [data-v-3f2c8504] .gmTableNoBorder .el-table__border-left-patch {
1017
1017
  height: 0;
1018
1018
  }
1019
- .circular[data-v-d7b04fae] {
1020
- animation: loading-rotate-d7b04fae 2s linear infinite;
1021
- }
1022
-
1023
- .path[data-v-d7b04fae] {
1024
- animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
1025
- stroke-dasharray: 90, 150;
1026
- stroke-dashoffset: 0;
1027
- stroke: var(--el-color-primary);
1028
- stroke-linecap: round;
1019
+ .gm-upload-preview-dialog[data-v-c615121c] [data-v-c615121c] .el-dialog__body {
1020
+ padding: 0;
1029
1021
  }
1030
1022
 
1031
- @keyframes loading-rotate-d7b04fae {
1032
- to {
1033
- transform: rotate(360deg);
1034
- }
1035
- }
1036
- @keyframes loading-dash-d7b04fae {
1037
- 0% {
1038
- stroke-dasharray: 1, 200;
1039
- stroke-dashoffset: 0;
1040
- }
1041
- 50% {
1042
- stroke-dasharray: 90, 150;
1043
- stroke-dashoffset: -40px;
1044
- }
1045
- 100% {
1046
- stroke-dasharray: 90, 150;
1047
- stroke-dashoffset: -120px;
1048
- }
1023
+ .gm-upload-file-picture-card[data-v-c615121c] [data-v-c615121c] .el-upload-list__item, .gm-upload-file-picture-card[data-v-c615121c] [data-v-c615121c] .el-upload--picture-card {
1024
+ width: auto;
1025
+ height: auto;
1049
1026
  }
1050
1027
  .gm-upload-file {
1051
1028
  line-height: normal;
@@ -1083,23 +1060,37 @@ video {
1083
1060
  .gm-upload-file-disabled .el-upload-list__item-status-label {
1084
1061
  display: none;
1085
1062
  }
1086
- .gm-upload-preview-dialog[data-v-c615121c] [data-v-c615121c] .el-dialog__body {
1087
- padding: 0;
1063
+ .circular[data-v-d7b04fae] {
1064
+ animation: loading-rotate-d7b04fae 2s linear infinite;
1088
1065
  }
1089
1066
 
1090
- .gm-upload-file-picture-card[data-v-c615121c] [data-v-c615121c] .el-upload-list__item, .gm-upload-file-picture-card[data-v-c615121c] [data-v-c615121c] .el-upload--picture-card {
1091
- width: auto;
1092
- height: auto;
1067
+ .path[data-v-d7b04fae] {
1068
+ animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
1069
+ stroke-dasharray: 90, 150;
1070
+ stroke-dashoffset: 0;
1071
+ stroke: var(--el-color-primary);
1072
+ stroke-linecap: round;
1093
1073
  }
1094
1074
 
1095
- .pagination-container[data-v-47d35e7b] {
1096
- background: #fff;
1097
- padding-top: 12px;
1075
+ @keyframes loading-rotate-d7b04fae {
1076
+ to {
1077
+ transform: rotate(360deg);
1078
+ }
1098
1079
  }
1099
- .pagination-container.hidden[data-v-47d35e7b] {
1100
- display: none;
1080
+ @keyframes loading-dash-d7b04fae {
1081
+ 0% {
1082
+ stroke-dasharray: 1, 200;
1083
+ stroke-dashoffset: 0;
1084
+ }
1085
+ 50% {
1086
+ stroke-dasharray: 90, 150;
1087
+ stroke-dashoffset: -40px;
1088
+ }
1089
+ 100% {
1090
+ stroke-dasharray: 90, 150;
1091
+ stroke-dashoffset: -120px;
1092
+ }
1101
1093
  }
1102
-
1103
1094
  @charset "UTF-8";
1104
1095
  .custom-operate-drawer .el-drawer__header {
1105
1096
  padding: 10px 15px;
@@ -1156,6 +1147,15 @@ video {
1156
1147
  border-radius: 10px;
1157
1148
  background: #eee;
1158
1149
  }
1150
+
1151
+ .pagination-container[data-v-47d35e7b] {
1152
+ background: #fff;
1153
+ padding-top: 12px;
1154
+ }
1155
+ .pagination-container.hidden[data-v-47d35e7b] {
1156
+ display: none;
1157
+ }
1158
+
1159
1159
  @charset "UTF-8";
1160
1160
  .table-custom-header-drawer .el-drawer__header {
1161
1161
  padding: 10px 15px;
@@ -72,27 +72,56 @@ var TableColumnVNodeRenderer = /* @__PURE__ */ defineComponent({
72
72
  };
73
73
  const render = computed(() => {
74
74
  const vnodeArray = Array.isArray(props.vnode) ? props.vnode : [props.vnode];
75
- const propOrder = new Map(props.propsList.map((p, i) => [p.prop, i]));
76
75
  const isLeafCol = (v) => v?.type?.name === "GmTableColumnPro";
77
76
  const isComment = (v) => v?.type === Comment;
78
77
  const leafCols = vnodeArray.filter(isLeafCol);
79
- const canReorder = leafCols.length > 0 && leafCols.every((v) => v?.props?.prop != null && propOrder.has(v.props.prop)) && vnodeArray.every((v) => isLeafCol(v) || isComment(v));
78
+ const stableKey = (vnode) => {
79
+ const p = vnode?.props?.prop;
80
+ return p != null && p !== "" ? p : `__col_${vnodeArray.indexOf(vnode)}`;
81
+ };
82
+ const canReorder = leafCols.length > 0 && vnodeArray.every((v) => isLeafCol(v) || isComment(v));
80
83
  if (canReorder) {
81
- return [...leafCols].sort((a, b) => propOrder.get(a.props.prop) - propOrder.get(b.props.prop)).map((vnode) => {
84
+ const byProp = /* @__PURE__ */ new Map();
85
+ const noPropLeaves = [];
86
+ for (const v of leafCols) {
87
+ const p = v?.props?.prop;
88
+ if (p != null && p !== "") {
89
+ if (!byProp.has(p)) byProp.set(p, []);
90
+ byProp.get(p).push(v);
91
+ } else {
92
+ noPropLeaves.push(v);
93
+ }
94
+ }
95
+ let noPropCursor = 0;
96
+ const used = /* @__PURE__ */ new Set();
97
+ const ordered = [];
98
+ for (const cfg of props.propsList) {
99
+ const p = cfg?.prop;
100
+ if (p != null && p !== "" && byProp.get(p)?.length) {
101
+ const v = byProp.get(p).shift();
102
+ ordered.push(v);
103
+ used.add(v);
104
+ } else if ((p == null || p === "") && noPropCursor < noPropLeaves.length) {
105
+ const v = noPropLeaves[noPropCursor++];
106
+ ordered.push(v);
107
+ used.add(v);
108
+ }
109
+ }
110
+ for (const v of leafCols) {
111
+ if (!used.has(v)) ordered.push(v);
112
+ }
113
+ return ordered.map((vnode) => {
82
114
  const processed = processVNode(vnode);
83
115
  return processed ? h(processed, {
84
- key: vnode.props.prop
116
+ key: stableKey(vnode)
85
117
  }) : null;
86
118
  }).filter(Boolean);
87
119
  }
88
- return vnodeArray.map((vnode, index) => {
120
+ return vnodeArray.map((vnode) => {
89
121
  const processed = processVNode(vnode);
90
- if (!processed) return null;
91
- const prop = vnode?.props?.prop;
92
- const key = prop != null && prop !== "" ? prop : `__col_${index}`;
93
- return h(processed, {
94
- key
95
- });
122
+ return processed ? h(processed, {
123
+ key: stableKey(vnode)
124
+ }) : null;
96
125
  }).filter(Boolean);
97
126
  });
98
127
  return () => render.value;
@@ -1 +1 @@
1
- {"version":3,"file":"TableColumnVNodeRenderer.mjs","sources":["../../../../../../../packages/components/src/composite/tablePro/TableColumnVNodeRenderer.tsx"],"sourcesContent":["// TableColumnVNodeRenderer - 支持多级表头\nimport { computed, defineComponent, h, cloneVNode, Comment } from 'vue';\nimport type { TableColumnProProps } from './tableColumnPro/tableColumnPro';\nimport type { PropType, VNode } from 'vue';\n\nexport default defineComponent({\n functional: true,\n props: {\n // 当前原始vnode vue模板中的attribute\n vnode: {\n type: [Object, Array],\n required: true,\n },\n // 真实渲染的propsList\n propsList: {\n type: Array as PropType<TableColumnProProps[]>,\n default: () => [],\n },\n defaultPropsList: {\n type: Array as PropType<TableColumnProProps[]>,\n default: () => [],\n },\n },\n setup(props) {\n /** 合并propsList和defaultPropsList */\n const mergePropsList = computed(() => {\n return props.defaultPropsList.map(it => {\n const findProp = props.propsList.find(item => item.prop === it.prop);\n if (findProp) {\n return findProp;\n }\n return it;\n });\n });\n\n /**\n * 递归处理 vnode 树,应用 propsList 配置\n * @param vnode 要处理的 vnode\n * @returns 处理后的 vnode\n */\n const processVNode = (vnode: any): any => {\n if (!vnode) return null;\n\n // 如果是 GmTableColumnPro,查找并应用配置\n if (vnode.type?.name === 'GmTableColumnPro') {\n // type=\"edit\" 的列由 TablePro 的 gmEdit 列统一处理,这里跳过\n // 直接检查 vnode.props.type,避免因 prop 相同导致的误匹配\n if (vnode.props?.type === 'edit') {\n return null;\n }\n\n const propsConfig = mergePropsList.value.find(it => it.prop === vnode.props?.prop);\n\n // 如果配置中标记为不显示,跳过渲染\n if (propsConfig && !propsConfig.isShow) {\n return null;\n }\n\n // 应用配置到 vnode props\n if (propsConfig) {\n const newProps = {\n ...vnode.props,\n width: propsConfig.width,\n label: propsConfig.label,\n fixed: propsConfig.fixed,\n };\n return cloneVNode(vnode, newProps);\n }\n\n return vnode;\n }\n\n // 如果是其他组件(如 gm-table-column 用于多级表头),递归处理子节点\n if (vnode.children) {\n let newChildren = vnode.children;\n\n // 如果 children 是对象(包含 slots),递归处理 default slot\n if (typeof vnode.children === 'object' && vnode.children.default) {\n const originalDefault = vnode.children.default;\n newChildren = {\n ...vnode.children,\n default: (slotProps: any) => {\n const childVnodes = originalDefault(slotProps);\n if (Array.isArray(childVnodes)) {\n return childVnodes.map(processVNode).filter(Boolean);\n }\n return processVNode(childVnodes);\n },\n };\n }\n // 如果 children 是数组,递归处理每个子节点\n else if (Array.isArray(vnode.children)) {\n newChildren = vnode.children.map(processVNode).filter(Boolean);\n }\n\n return cloneVNode(vnode, vnode.props, newChildren);\n }\n\n return vnode;\n };\n\n const render = computed(() => {\n const vnodeArray = Array.isArray(props.vnode) ? props.vnode : [props.vnode];\n // 按 propsList(已保存/拖拽后的顺序)对顶层列重排。\n // 关键:v-if=false 的列、模板注释会在 slot 中留下「注释 vnode」占位,\n // 必须把它们排除在判断之外——否则只要表格含 v-if 列,canReorder 就会被注释 vnode\n // 拖成 false,导致拖拽排序不生效(这正是含大量 v-if 列的表格\"拖动无效\"的根因)。\n const propOrder = new Map(props.propsList.map((p, i) => [p.prop, i]));\n const isLeafCol = (v: any) => v?.type?.name === 'GmTableColumnPro';\n const isComment = (v: any) => v?.type === Comment;\n const leafCols = vnodeArray.filter(isLeafCol);\n // 仅当所有「非注释」顶层节点都是可在 propsList 中定位顺序的叶子列时才重排;\n // 含分组列(多级表头)等其它节点时,保持模板原始顺序,不参与排序。\n const canReorder =\n leafCols.length > 0 &&\n leafCols.every((v: any) => v?.props?.prop != null && propOrder.has(v.props.prop)) &&\n vnodeArray.every((v: any) => isLeafCol(v) || isComment(v));\n\n if (canReorder) {\n // 只渲染真实叶子列并按保存顺序排序(注释 vnode 是 v-if 占位、不渲染任何内容,直接丢弃)。\n // 为每列设置稳定 key(= prop):让 Vue「移动」列实例而非就地复用,从而真正改变\n // .hidden-columns 的 DOM 顺序,触发 el-table 的 MutationObserver 重新排序列。\n return [...leafCols]\n .sort((a: any, b: any) => propOrder.get(a.props.prop)! - propOrder.get(b.props.prop)!)\n .map((vnode: any) => {\n const processed = processVNode(vnode);\n return processed ? h(processed, { key: vnode.props.prop }) : null;\n })\n .filter(Boolean);\n }\n\n // 非重排路径:按模板顺序渲染全部节点(含多级表头、注释占位)。\n // 为每个节点设置稳定 key(叶子列用 prop,其它用模板内固定序号):\n // 表头设置里「修改可见性并保存」后,被隐藏的列会被 processVNode 过滤成 null,\n // 若不加 key,Vue 会按位置「就地复用」——隐藏中间列后,后面的列整体前移一位,\n // ElTableColumn 实例与其对应的 vnode/slot 发生错配,el-table 的 renderCell 因此\n // 拿不到正确的 default slot 而退回默认渲染(图片列显示成 URL、按钮列消失)。\n // 用稳定 key 让 Vue 按列身份精确增删/移动实例,即可避免这种错配。\n return vnodeArray\n .map((vnode: any, index: number) => {\n const processed = processVNode(vnode);\n if (!processed) return null;\n const prop = vnode?.props?.prop;\n const key = prop != null && prop !== '' ? prop : `__col_${index}`;\n return h(processed, { key });\n })\n .filter(Boolean);\n });\n\n return () => render.value;\n },\n});\n"],"names":["functional","props","vnode","type","Object","Array","required","propsList","default","defaultPropsList","setup","mergePropsList","computed","map","it","findProp","find","item","prop","processVNode","name","propsConfig","value","isShow","newProps","width","label","fixed","cloneVNode","children","newChildren","originalDefault","slotProps","childVnodes","isArray","filter","Boolean","render","vnodeArray","propOrder","Map","p","i","isLeafCol","v","isComment","Comment","leafCols","canReorder","length","every","has","sort","a","b","get","processed","h","key","index"],"mappings":";;AAKA,+DAA+B;AAAA,EAC7BA,UAAAA,EAAY,IAAA;AAAA,EACZC,KAAAA,EAAO;AAAA;AAAA,IAELC,KAAAA,EAAO;AAAA,MACLC,IAAAA,EAAM,CAACC,MAAAA,EAAQC,KAAK,CAAA;AAAA,MACpBC,QAAAA,EAAU;AAAA,KACZ;AAAA;AAAA,IAEAC,SAAAA,EAAW;AAAA,MACTJ,IAAAA,EAAME,KAAAA;AAAAA,MACNG,OAAAA,EAASA,MAAM;AAAA,KACjB;AAAA,IACAC,gBAAAA,EAAkB;AAAA,MAChBN,IAAAA,EAAME,KAAAA;AAAAA,MACNG,OAAAA,EAASA,MAAM;AAAA;AACjB,GACF;AAAA,EACAE,MAAMT,KAAAA,EAAO;AAEX,IAAA,MAAMU,cAAAA,GAAiBC,SAAS,MAAM;AACpC,MAAA,OAAOX,KAAAA,CAAMQ,gBAAAA,CAAiBI,GAAAA,CAAIC,CAAAA,EAAAA,KAAM;AACtC,QAAA,MAAMC,QAAAA,GAAWd,MAAMM,SAAAA,CAAUS,IAAAA,CAAKC,UAAQA,IAAAA,CAAKC,IAAAA,KAASJ,GAAGI,IAAI,CAAA;AACnE,QAAA,IAAIH,QAAAA,EAAU;AACZ,UAAA,OAAOA,QAAAA;AAAAA,QACT;AACA,QAAA,OAAOD,EAAAA;AAAAA,MACT,CAAC,CAAA;AAAA,IACH,CAAC,CAAA;AAOD,IAAA,MAAMK,eAAgBjB,CAAAA,KAAAA,KAAoB;AACxC,MAAA,IAAI,CAACA,OAAO,OAAO,IAAA;AAGnB,MAAA,IAAIA,KAAAA,CAAMC,IAAAA,EAAMiB,IAAAA,KAAS,kBAAA,EAAoB;AAG3C,QAAA,IAAIlB,KAAAA,CAAMD,KAAAA,EAAOE,IAAAA,KAAS,MAAA,EAAQ;AAChC,UAAA,OAAO,IAAA;AAAA,QACT;AAEA,QAAA,MAAMkB,WAAAA,GAAcV,eAAeW,KAAAA,CAAMN,IAAAA,CAAKF,QAAMA,EAAAA,CAAGI,IAAAA,KAAShB,KAAAA,CAAMD,KAAAA,EAAOiB,IAAI,CAAA;AAGjF,QAAA,IAAIG,WAAAA,IAAe,CAACA,WAAAA,CAAYE,MAAAA,EAAQ;AACtC,UAAA,OAAO,IAAA;AAAA,QACT;AAGA,QAAA,IAAIF,WAAAA,EAAa;AACf,UAAA,MAAMG,QAAAA,GAAW;AAAA,YACf,GAAGtB,KAAAA,CAAMD,KAAAA;AAAAA,YACTwB,OAAOJ,WAAAA,CAAYI,KAAAA;AAAAA,YACnBC,OAAOL,WAAAA,CAAYK,KAAAA;AAAAA,YACnBC,OAAON,WAAAA,CAAYM;AAAAA,WACrB;AACA,UAAA,OAAOC,UAAAA,CAAW1B,OAAOsB,QAAQ,CAAA;AAAA,QACnC;AAEA,QAAA,OAAOtB,KAAAA;AAAAA,MACT;AAGA,MAAA,IAAIA,MAAM2B,QAAAA,EAAU;AAClB,QAAA,IAAIC,cAAc5B,KAAAA,CAAM2B,QAAAA;AAGxB,QAAA,IAAI,OAAO3B,KAAAA,CAAM2B,QAAAA,KAAa,QAAA,IAAY3B,KAAAA,CAAM2B,SAASrB,OAAAA,EAAS;AAChE,UAAA,MAAMuB,eAAAA,GAAkB7B,MAAM2B,QAAAA,CAASrB,OAAAA;AACvCsB,UAAAA,WAAAA,GAAc;AAAA,YACZ,GAAG5B,KAAAA,CAAM2B,QAAAA;AAAAA,YACTrB,SAAUwB,CAAAA,SAAAA,KAAmB;AAC3B,cAAA,MAAMC,WAAAA,GAAcF,gBAAgBC,SAAS,CAAA;AAC7C,cAAA,IAAI3B,KAAAA,CAAM6B,OAAAA,CAAQD,WAAW,CAAA,EAAG;AAC9B,gBAAA,OAAOA,WAAAA,CAAYpB,GAAAA,CAAIM,YAAY,CAAA,CAAEgB,OAAOC,OAAO,CAAA;AAAA,cACrD;AACA,cAAA,OAAOjB,aAAac,WAAW,CAAA;AAAA,YACjC;AAAA,WACF;AAAA,QACF,CAAA,MAAA,IAES5B,KAAAA,CAAM6B,OAAAA,CAAQhC,KAAAA,CAAM2B,QAAQ,CAAA,EAAG;AACtCC,UAAAA,WAAAA,GAAc5B,MAAM2B,QAAAA,CAAShB,GAAAA,CAAIM,YAAY,CAAA,CAAEgB,OAAOC,OAAO,CAAA;AAAA,QAC/D;AAEA,QAAA,OAAOR,UAAAA,CAAW1B,KAAAA,EAAOA,KAAAA,CAAMD,KAAAA,EAAO6B,WAAW,CAAA;AAAA,MACnD;AAEA,MAAA,OAAO5B,KAAAA;AAAAA,IACT,CAAA;AAEA,IAAA,MAAMmC,MAAAA,GAASzB,SAAS,MAAM;AAC5B,MAAA,MAAM0B,UAAAA,GAAajC,KAAAA,CAAM6B,OAAAA,CAAQjC,KAAAA,CAAMC,KAAK,IAAID,KAAAA,CAAMC,KAAAA,GAAQ,CAACD,KAAAA,CAAMC,KAAK,CAAA;AAK1E,MAAA,MAAMqC,SAAAA,GAAY,IAAIC,GAAAA,CAAIvC,KAAAA,CAAMM,UAAUM,GAAAA,CAAI,CAAC4B,CAAAA,EAAGC,CAAAA,KAAM,CAACD,CAAAA,CAAEvB,IAAAA,EAAMwB,CAAC,CAAC,CAAC,CAAA;AACpE,MAAA,MAAMC,SAAAA,GAAaC,CAAAA,CAAAA,KAAWA,CAAAA,EAAGzC,IAAAA,EAAMiB,IAAAA,KAAS,kBAAA;AAChD,MAAA,MAAMyB,SAAAA,GAAaD,CAAAA,CAAAA,KAAWA,CAAAA,EAAGzC,IAAAA,KAAS2C,OAAAA;AAC1C,MAAA,MAAMC,QAAAA,GAAWT,UAAAA,CAAWH,MAAAA,CAAOQ,SAAS,CAAA;AAG5C,MAAA,MAAMK,UAAAA,GACJD,QAAAA,CAASE,MAAAA,GAAS,CAAA,IAClBF,QAAAA,CAASG,KAAAA,CAAON,CAAAA,CAAAA,KAAWA,CAAAA,EAAG3C,KAAAA,EAAOiB,IAAAA,IAAQ,IAAA,IAAQqB,SAAAA,CAAUY,GAAAA,CAAIP,EAAE3C,KAAAA,CAAMiB,IAAI,CAAC,CAAA,IAChFoB,UAAAA,CAAWY,KAAAA,CAAON,CAAAA,CAAAA,KAAWD,SAAAA,CAAUC,CAAC,CAAA,IAAKC,SAAAA,CAAUD,CAAC,CAAC,CAAA;AAE3D,MAAA,IAAII,UAAAA,EAAY;AAId,QAAA,OAAO,CAAC,GAAGD,QAAQ,CAAA,CAChBK,KAAK,CAACC,CAAAA,EAAQC,CAAAA,KAAWf,SAAAA,CAAUgB,GAAAA,CAAIF,CAAAA,CAAEpD,MAAMiB,IAAI,CAAA,GAAKqB,UAAUgB,GAAAA,CAAID,CAAAA,CAAErD,MAAMiB,IAAI,CAAE,CAAA,CACpFL,GAAAA,CAAKX,CAAAA,KAAAA,KAAe;AACnB,UAAA,MAAMsD,SAAAA,GAAYrC,aAAajB,KAAK,CAAA;AACpC,UAAA,OAAOsD,SAAAA,GAAYC,EAAED,SAAAA,EAAW;AAAA,YAAEE,GAAAA,EAAKxD,MAAMD,KAAAA,CAAMiB;AAAAA,WAAM,CAAA,GAAI,IAAA;AAAA,QAC/D,CAAC,CAAA,CACAiB,MAAAA,CAAOC,OAAO,CAAA;AAAA,MACnB;AASA,MAAA,OAAOE,UAAAA,CACJzB,GAAAA,CAAI,CAACX,KAAAA,EAAYyD,KAAAA,KAAkB;AAClC,QAAA,MAAMH,SAAAA,GAAYrC,aAAajB,KAAK,CAAA;AACpC,QAAA,IAAI,CAACsD,WAAW,OAAO,IAAA;AACvB,QAAA,MAAMtC,IAAAA,GAAOhB,OAAOD,KAAAA,EAAOiB,IAAAA;AAC3B,QAAA,MAAMwC,MAAMxC,IAAAA,IAAQ,IAAA,IAAQA,SAAS,EAAA,GAAKA,IAAAA,GAAO,SAASyC,KAAK,CAAA,CAAA;AAC/D,QAAA,OAAOF,EAAED,SAAAA,EAAW;AAAA,UAAEE;AAAAA,SAAK,CAAA;AAAA,MAC7B,CAAC,CAAA,CACAvB,MAAAA,CAAOC,OAAO,CAAA;AAAA,IACnB,CAAC,CAAA;AAED,IAAA,OAAO,MAAMC,MAAAA,CAAOf,KAAAA;AAAAA,EACtB;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"TableColumnVNodeRenderer.mjs","sources":["../../../../../../../packages/components/src/composite/tablePro/TableColumnVNodeRenderer.tsx"],"sourcesContent":["// TableColumnVNodeRenderer - 支持多级表头\nimport { computed, defineComponent, h, cloneVNode, Comment } from 'vue';\nimport type { TableColumnProProps } from './tableColumnPro/tableColumnPro';\nimport type { PropType, VNode } from 'vue';\n\nexport default defineComponent({\n functional: true,\n props: {\n // 当前原始vnode vue模板中的attribute\n vnode: {\n type: [Object, Array],\n required: true,\n },\n // 真实渲染的propsList\n propsList: {\n type: Array as PropType<TableColumnProProps[]>,\n default: () => [],\n },\n defaultPropsList: {\n type: Array as PropType<TableColumnProProps[]>,\n default: () => [],\n },\n },\n setup(props) {\n /** 合并propsList和defaultPropsList */\n const mergePropsList = computed(() => {\n return props.defaultPropsList.map(it => {\n const findProp = props.propsList.find(item => item.prop === it.prop);\n if (findProp) {\n return findProp;\n }\n return it;\n });\n });\n\n /**\n * 递归处理 vnode 树,应用 propsList 配置\n * @param vnode 要处理的 vnode\n * @returns 处理后的 vnode\n */\n const processVNode = (vnode: any): any => {\n if (!vnode) return null;\n\n // 如果是 GmTableColumnPro,查找并应用配置\n if (vnode.type?.name === 'GmTableColumnPro') {\n // type=\"edit\" 的列由 TablePro 的 gmEdit 列统一处理,这里跳过\n // 直接检查 vnode.props.type,避免因 prop 相同导致的误匹配\n if (vnode.props?.type === 'edit') {\n return null;\n }\n\n const propsConfig = mergePropsList.value.find(it => it.prop === vnode.props?.prop);\n\n // 如果配置中标记为不显示,跳过渲染\n if (propsConfig && !propsConfig.isShow) {\n return null;\n }\n\n // 应用配置到 vnode props\n if (propsConfig) {\n const newProps = {\n ...vnode.props,\n width: propsConfig.width,\n label: propsConfig.label,\n fixed: propsConfig.fixed,\n };\n return cloneVNode(vnode, newProps);\n }\n\n return vnode;\n }\n\n // 如果是其他组件(如 gm-table-column 用于多级表头),递归处理子节点\n if (vnode.children) {\n let newChildren = vnode.children;\n\n // 如果 children 是对象(包含 slots),递归处理 default slot\n if (typeof vnode.children === 'object' && vnode.children.default) {\n const originalDefault = vnode.children.default;\n newChildren = {\n ...vnode.children,\n default: (slotProps: any) => {\n const childVnodes = originalDefault(slotProps);\n if (Array.isArray(childVnodes)) {\n return childVnodes.map(processVNode).filter(Boolean);\n }\n return processVNode(childVnodes);\n },\n };\n }\n // 如果 children 是数组,递归处理每个子节点\n else if (Array.isArray(vnode.children)) {\n newChildren = vnode.children.map(processVNode).filter(Boolean);\n }\n\n return cloneVNode(vnode, vnode.props, newChildren);\n }\n\n return vnode;\n };\n\n const render = computed(() => {\n const vnodeArray = Array.isArray(props.vnode) ? props.vnode : [props.vnode];\n const isLeafCol = (v: any) => v?.type?.name === 'GmTableColumnPro';\n const isComment = (v: any) => v?.type === Comment;\n const leafCols = vnodeArray.filter(isLeafCol);\n\n // 稳定 key:叶子列优先用 prop,无 prop 的列用它在模板中的固定序号(vnodeArray 下标)。\n // 稳定 key 让 Vue 按列身份精确增删/移动实例,避免两类问题:\n // 1. 隐藏中间列后,其它列「就地复用」错配,导致 el-table renderCell 拿不到正确的\n // default slot 而退回默认渲染(图片列显示成 URL、按钮列消失);\n // 2. 拖拽排序后仅靠属性 patch 无法真正改变 .hidden-columns 的 DOM 顺序。\n const stableKey = (vnode: any) => {\n const p = vnode?.props?.prop;\n return p != null && p !== '' ? p : `__col_${vnodeArray.indexOf(vnode)}`;\n };\n\n // 是否可按 propsList 顺序重排:只要顶层没有「多级表头(分组列)」等无法在 propsList\n // 中定位顺序的节点即可(允许注释占位)。放宽后,含个别无 prop 列的表格也能排序——\n // 无 prop 列按「出现次序」与 propsList 中的无 prop 项一一对应。\n const canReorder = leafCols.length > 0 && vnodeArray.every((v: any) => isLeafCol(v) || isComment(v));\n\n if (canReorder) {\n // 按 propsList(拖拽/保存后的顺序)重建叶子列顺序。\n const byProp = new Map<any, any[]>(); // prop -> 对应叶子列 vnode 队列(同 prop 多列时按序出队)\n const noPropLeaves: any[] = []; // 无 prop 的叶子列,保持模板出现次序\n for (const v of leafCols) {\n const p = v?.props?.prop;\n if (p != null && p !== '') {\n if (!byProp.has(p)) byProp.set(p, []);\n byProp.get(p)!.push(v);\n } else {\n noPropLeaves.push(v);\n }\n }\n let noPropCursor = 0;\n const used = new Set<any>();\n const ordered: any[] = [];\n for (const cfg of props.propsList as any[]) {\n const p = cfg?.prop;\n if (p != null && p !== '' && byProp.get(p)?.length) {\n const v = byProp.get(p)!.shift();\n ordered.push(v);\n used.add(v);\n } else if ((p == null || p === '') && noPropCursor < noPropLeaves.length) {\n const v = noPropLeaves[noPropCursor++];\n ordered.push(v);\n used.add(v);\n }\n }\n // 模板中新增、但 propsList 里还没有的列,按模板顺序补到末尾(避免漏列)。\n for (const v of leafCols) {\n if (!used.has(v)) ordered.push(v);\n }\n return ordered\n .map((vnode: any) => {\n const processed = processVNode(vnode);\n return processed ? h(processed, { key: stableKey(vnode) }) : null;\n })\n .filter(Boolean);\n }\n\n // 含多级表头等无法安全重排的场景:保持模板顺序渲染全部节点,仅补上稳定 key。\n return vnodeArray\n .map((vnode: any) => {\n const processed = processVNode(vnode);\n return processed ? h(processed, { key: stableKey(vnode) }) : null;\n })\n .filter(Boolean);\n });\n\n return () => render.value;\n },\n});\n"],"names":["functional","props","vnode","type","Object","Array","required","propsList","default","defaultPropsList","setup","mergePropsList","computed","map","it","findProp","find","item","prop","processVNode","name","propsConfig","value","isShow","newProps","width","label","fixed","cloneVNode","children","newChildren","originalDefault","slotProps","childVnodes","isArray","filter","Boolean","render","vnodeArray","isLeafCol","v","isComment","Comment","leafCols","stableKey","p","indexOf","canReorder","length","every","byProp","Map","noPropLeaves","has","set","get","push","noPropCursor","used","Set","ordered","cfg","shift","add","processed","h","key"],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const version = "1.1.3-snapshot.0";
1
+ export declare const version = "1.1.3-snapshot.1";
@@ -1,4 +1,4 @@
1
- const version = "1.1.3-snapshot.0";
1
+ const version = "1.1.3-snapshot.1";
2
2
 
3
3
  export { version };
4
4
  //# sourceMappingURL=version.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '1.1.3-snapshot.0';\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
1
+ {"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '1.1.3-snapshot.1';\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
package/es/index.css CHANGED
@@ -890,40 +890,6 @@ video {
890
890
  .gm-group:hover .group-hover\:gm-block {
891
891
  display: block;
892
892
  }
893
- .gm-flex-center[data-v-c17deec9] {
894
- align-items: center;
895
- }
896
-
897
- .gm-flex-justify-between[data-v-c17deec9] {
898
- justify-content: space-between;
899
- }
900
- .gm-number-interval-single[data-v-4e6f4d6f] {
901
- border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
902
- box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
903
- background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
904
- }
905
- .gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
906
- box-shadow: none;
907
- background: none;
908
- }
909
-
910
- .gm-number-interval-close[data-v-4e6f4d6f] {
911
- display: none;
912
- color: var(--el-input-icon-color, var(--el-text-color-placeholder));
913
- }
914
-
915
- .gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
916
- display: flex;
917
- }
918
-
919
- .gm-range-number .el-form-item[data-v-1ae16d96] {
920
- margin: 0;
921
- }
922
-
923
- [data-v-195b27e4] .gmSearchForm .el-form-item {
924
- margin-right: 0;
925
- margin-bottom: 4px;
926
- }
927
893
  .gm-upload-pro-preview-dialog[data-v-fbc23b01] [data-v-fbc23b01] .el-dialog__body {
928
894
  padding: 0;
929
895
  }
@@ -970,82 +936,93 @@ video {
970
936
  .gm-upload-pro-file-disabled .el-upload-list__item-status-label {
971
937
  display: none;
972
938
  }
973
- [data-v-3f2c8504] .gmTableNoBorder .el-table__body .el-table__cell {
939
+
940
+ .gm-range-number .el-form-item[data-v-1ae16d96] {
941
+ margin: 0;
942
+ }
943
+
944
+ [data-v-195b27e4] .gmSearchForm .el-form-item {
945
+ margin-right: 0;
946
+ margin-bottom: 4px;
947
+ }
948
+ .gm-flex-center[data-v-c17deec9] {
949
+ align-items: center;
950
+ }
951
+
952
+ .gm-flex-justify-between[data-v-c17deec9] {
953
+ justify-content: space-between;
954
+ }
955
+ [data-v-050a4f74] .gmTableNoBorder .el-table__body .el-table__cell {
974
956
  border-right: none;
975
957
  }
976
958
 
977
- [data-v-3f2c8504] .gmTableNoBorder .el-table__inner-wrapper:before {
959
+ [data-v-050a4f74] .gmTableNoBorder .el-table__inner-wrapper:before {
978
960
  height: 0;
979
961
  }
980
962
 
981
- [data-v-3f2c8504] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
963
+ [data-v-050a4f74] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
982
964
  height: 0;
983
965
  }
984
966
 
985
- [data-v-3f2c8504] .gmTableNoBorder.el-table--border:after {
967
+ [data-v-050a4f74] .gmTableNoBorder.el-table--border:after {
986
968
  height: 0;
987
969
  }
988
970
 
989
- [data-v-3f2c8504] .gmTableNoBorder.el-table--border:before {
971
+ [data-v-050a4f74] .gmTableNoBorder.el-table--border:before {
990
972
  height: 0;
991
973
  }
992
974
 
993
- [data-v-3f2c8504] .gmTableNoBorder .el-table__border-left-patch {
975
+ [data-v-050a4f74] .gmTableNoBorder .el-table__border-left-patch {
994
976
  height: 0;
995
977
  }
996
- [data-v-050a4f74] .gmTableNoBorder .el-table__body .el-table__cell {
978
+ .gm-number-interval-single[data-v-4e6f4d6f] {
979
+ border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
980
+ box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
981
+ background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
982
+ }
983
+ .gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
984
+ box-shadow: none;
985
+ background: none;
986
+ }
987
+
988
+ .gm-number-interval-close[data-v-4e6f4d6f] {
989
+ display: none;
990
+ color: var(--el-input-icon-color, var(--el-text-color-placeholder));
991
+ }
992
+
993
+ .gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
994
+ display: flex;
995
+ }
996
+ [data-v-3f2c8504] .gmTableNoBorder .el-table__body .el-table__cell {
997
997
  border-right: none;
998
998
  }
999
999
 
1000
- [data-v-050a4f74] .gmTableNoBorder .el-table__inner-wrapper:before {
1000
+ [data-v-3f2c8504] .gmTableNoBorder .el-table__inner-wrapper:before {
1001
1001
  height: 0;
1002
1002
  }
1003
1003
 
1004
- [data-v-050a4f74] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
1004
+ [data-v-3f2c8504] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
1005
1005
  height: 0;
1006
1006
  }
1007
1007
 
1008
- [data-v-050a4f74] .gmTableNoBorder.el-table--border:after {
1008
+ [data-v-3f2c8504] .gmTableNoBorder.el-table--border:after {
1009
1009
  height: 0;
1010
1010
  }
1011
1011
 
1012
- [data-v-050a4f74] .gmTableNoBorder.el-table--border:before {
1012
+ [data-v-3f2c8504] .gmTableNoBorder.el-table--border:before {
1013
1013
  height: 0;
1014
1014
  }
1015
1015
 
1016
- [data-v-050a4f74] .gmTableNoBorder .el-table__border-left-patch {
1016
+ [data-v-3f2c8504] .gmTableNoBorder .el-table__border-left-patch {
1017
1017
  height: 0;
1018
1018
  }
1019
- .circular[data-v-d7b04fae] {
1020
- animation: loading-rotate-d7b04fae 2s linear infinite;
1021
- }
1022
-
1023
- .path[data-v-d7b04fae] {
1024
- animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
1025
- stroke-dasharray: 90, 150;
1026
- stroke-dashoffset: 0;
1027
- stroke: var(--el-color-primary);
1028
- stroke-linecap: round;
1019
+ .gm-upload-preview-dialog[data-v-c615121c] [data-v-c615121c] .el-dialog__body {
1020
+ padding: 0;
1029
1021
  }
1030
1022
 
1031
- @keyframes loading-rotate-d7b04fae {
1032
- to {
1033
- transform: rotate(360deg);
1034
- }
1035
- }
1036
- @keyframes loading-dash-d7b04fae {
1037
- 0% {
1038
- stroke-dasharray: 1, 200;
1039
- stroke-dashoffset: 0;
1040
- }
1041
- 50% {
1042
- stroke-dasharray: 90, 150;
1043
- stroke-dashoffset: -40px;
1044
- }
1045
- 100% {
1046
- stroke-dasharray: 90, 150;
1047
- stroke-dashoffset: -120px;
1048
- }
1023
+ .gm-upload-file-picture-card[data-v-c615121c] [data-v-c615121c] .el-upload-list__item, .gm-upload-file-picture-card[data-v-c615121c] [data-v-c615121c] .el-upload--picture-card {
1024
+ width: auto;
1025
+ height: auto;
1049
1026
  }
1050
1027
  .gm-upload-file {
1051
1028
  line-height: normal;
@@ -1083,23 +1060,37 @@ video {
1083
1060
  .gm-upload-file-disabled .el-upload-list__item-status-label {
1084
1061
  display: none;
1085
1062
  }
1086
- .gm-upload-preview-dialog[data-v-c615121c] [data-v-c615121c] .el-dialog__body {
1087
- padding: 0;
1063
+ .circular[data-v-d7b04fae] {
1064
+ animation: loading-rotate-d7b04fae 2s linear infinite;
1088
1065
  }
1089
1066
 
1090
- .gm-upload-file-picture-card[data-v-c615121c] [data-v-c615121c] .el-upload-list__item, .gm-upload-file-picture-card[data-v-c615121c] [data-v-c615121c] .el-upload--picture-card {
1091
- width: auto;
1092
- height: auto;
1067
+ .path[data-v-d7b04fae] {
1068
+ animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
1069
+ stroke-dasharray: 90, 150;
1070
+ stroke-dashoffset: 0;
1071
+ stroke: var(--el-color-primary);
1072
+ stroke-linecap: round;
1093
1073
  }
1094
1074
 
1095
- .pagination-container[data-v-47d35e7b] {
1096
- background: #fff;
1097
- padding-top: 12px;
1075
+ @keyframes loading-rotate-d7b04fae {
1076
+ to {
1077
+ transform: rotate(360deg);
1078
+ }
1098
1079
  }
1099
- .pagination-container.hidden[data-v-47d35e7b] {
1100
- display: none;
1080
+ @keyframes loading-dash-d7b04fae {
1081
+ 0% {
1082
+ stroke-dasharray: 1, 200;
1083
+ stroke-dashoffset: 0;
1084
+ }
1085
+ 50% {
1086
+ stroke-dasharray: 90, 150;
1087
+ stroke-dashoffset: -40px;
1088
+ }
1089
+ 100% {
1090
+ stroke-dasharray: 90, 150;
1091
+ stroke-dashoffset: -120px;
1092
+ }
1101
1093
  }
1102
-
1103
1094
  @charset "UTF-8";
1104
1095
  .custom-operate-drawer .el-drawer__header {
1105
1096
  padding: 10px 15px;
@@ -1156,6 +1147,15 @@ video {
1156
1147
  border-radius: 10px;
1157
1148
  background: #eee;
1158
1149
  }
1150
+
1151
+ .pagination-container[data-v-47d35e7b] {
1152
+ background: #fff;
1153
+ padding-top: 12px;
1154
+ }
1155
+ .pagination-container.hidden[data-v-47d35e7b] {
1156
+ display: none;
1157
+ }
1158
+
1159
1159
  @charset "UTF-8";
1160
1160
  .table-custom-header-drawer .el-drawer__header {
1161
1161
  padding: 10px 15px;
@@ -76,27 +76,56 @@ var TableColumnVNodeRenderer = /* @__PURE__ */ vue.defineComponent({
76
76
  };
77
77
  const render = vue.computed(() => {
78
78
  const vnodeArray = Array.isArray(props.vnode) ? props.vnode : [props.vnode];
79
- const propOrder = new Map(props.propsList.map((p, i) => [p.prop, i]));
80
79
  const isLeafCol = (v) => v?.type?.name === "GmTableColumnPro";
81
80
  const isComment = (v) => v?.type === vue.Comment;
82
81
  const leafCols = vnodeArray.filter(isLeafCol);
83
- const canReorder = leafCols.length > 0 && leafCols.every((v) => v?.props?.prop != null && propOrder.has(v.props.prop)) && vnodeArray.every((v) => isLeafCol(v) || isComment(v));
82
+ const stableKey = (vnode) => {
83
+ const p = vnode?.props?.prop;
84
+ return p != null && p !== "" ? p : `__col_${vnodeArray.indexOf(vnode)}`;
85
+ };
86
+ const canReorder = leafCols.length > 0 && vnodeArray.every((v) => isLeafCol(v) || isComment(v));
84
87
  if (canReorder) {
85
- return [...leafCols].sort((a, b) => propOrder.get(a.props.prop) - propOrder.get(b.props.prop)).map((vnode) => {
88
+ const byProp = /* @__PURE__ */ new Map();
89
+ const noPropLeaves = [];
90
+ for (const v of leafCols) {
91
+ const p = v?.props?.prop;
92
+ if (p != null && p !== "") {
93
+ if (!byProp.has(p)) byProp.set(p, []);
94
+ byProp.get(p).push(v);
95
+ } else {
96
+ noPropLeaves.push(v);
97
+ }
98
+ }
99
+ let noPropCursor = 0;
100
+ const used = /* @__PURE__ */ new Set();
101
+ const ordered = [];
102
+ for (const cfg of props.propsList) {
103
+ const p = cfg?.prop;
104
+ if (p != null && p !== "" && byProp.get(p)?.length) {
105
+ const v = byProp.get(p).shift();
106
+ ordered.push(v);
107
+ used.add(v);
108
+ } else if ((p == null || p === "") && noPropCursor < noPropLeaves.length) {
109
+ const v = noPropLeaves[noPropCursor++];
110
+ ordered.push(v);
111
+ used.add(v);
112
+ }
113
+ }
114
+ for (const v of leafCols) {
115
+ if (!used.has(v)) ordered.push(v);
116
+ }
117
+ return ordered.map((vnode) => {
86
118
  const processed = processVNode(vnode);
87
119
  return processed ? vue.h(processed, {
88
- key: vnode.props.prop
120
+ key: stableKey(vnode)
89
121
  }) : null;
90
122
  }).filter(Boolean);
91
123
  }
92
- return vnodeArray.map((vnode, index) => {
124
+ return vnodeArray.map((vnode) => {
93
125
  const processed = processVNode(vnode);
94
- if (!processed) return null;
95
- const prop = vnode?.props?.prop;
96
- const key = prop != null && prop !== "" ? prop : `__col_${index}`;
97
- return vue.h(processed, {
98
- key
99
- });
126
+ return processed ? vue.h(processed, {
127
+ key: stableKey(vnode)
128
+ }) : null;
100
129
  }).filter(Boolean);
101
130
  });
102
131
  return () => render.value;
@@ -1 +1 @@
1
- {"version":3,"file":"TableColumnVNodeRenderer.js","sources":["../../../../../../../packages/components/src/composite/tablePro/TableColumnVNodeRenderer.tsx"],"sourcesContent":["// TableColumnVNodeRenderer - 支持多级表头\nimport { computed, defineComponent, h, cloneVNode, Comment } from 'vue';\nimport type { TableColumnProProps } from './tableColumnPro/tableColumnPro';\nimport type { PropType, VNode } from 'vue';\n\nexport default defineComponent({\n functional: true,\n props: {\n // 当前原始vnode vue模板中的attribute\n vnode: {\n type: [Object, Array],\n required: true,\n },\n // 真实渲染的propsList\n propsList: {\n type: Array as PropType<TableColumnProProps[]>,\n default: () => [],\n },\n defaultPropsList: {\n type: Array as PropType<TableColumnProProps[]>,\n default: () => [],\n },\n },\n setup(props) {\n /** 合并propsList和defaultPropsList */\n const mergePropsList = computed(() => {\n return props.defaultPropsList.map(it => {\n const findProp = props.propsList.find(item => item.prop === it.prop);\n if (findProp) {\n return findProp;\n }\n return it;\n });\n });\n\n /**\n * 递归处理 vnode 树,应用 propsList 配置\n * @param vnode 要处理的 vnode\n * @returns 处理后的 vnode\n */\n const processVNode = (vnode: any): any => {\n if (!vnode) return null;\n\n // 如果是 GmTableColumnPro,查找并应用配置\n if (vnode.type?.name === 'GmTableColumnPro') {\n // type=\"edit\" 的列由 TablePro 的 gmEdit 列统一处理,这里跳过\n // 直接检查 vnode.props.type,避免因 prop 相同导致的误匹配\n if (vnode.props?.type === 'edit') {\n return null;\n }\n\n const propsConfig = mergePropsList.value.find(it => it.prop === vnode.props?.prop);\n\n // 如果配置中标记为不显示,跳过渲染\n if (propsConfig && !propsConfig.isShow) {\n return null;\n }\n\n // 应用配置到 vnode props\n if (propsConfig) {\n const newProps = {\n ...vnode.props,\n width: propsConfig.width,\n label: propsConfig.label,\n fixed: propsConfig.fixed,\n };\n return cloneVNode(vnode, newProps);\n }\n\n return vnode;\n }\n\n // 如果是其他组件(如 gm-table-column 用于多级表头),递归处理子节点\n if (vnode.children) {\n let newChildren = vnode.children;\n\n // 如果 children 是对象(包含 slots),递归处理 default slot\n if (typeof vnode.children === 'object' && vnode.children.default) {\n const originalDefault = vnode.children.default;\n newChildren = {\n ...vnode.children,\n default: (slotProps: any) => {\n const childVnodes = originalDefault(slotProps);\n if (Array.isArray(childVnodes)) {\n return childVnodes.map(processVNode).filter(Boolean);\n }\n return processVNode(childVnodes);\n },\n };\n }\n // 如果 children 是数组,递归处理每个子节点\n else if (Array.isArray(vnode.children)) {\n newChildren = vnode.children.map(processVNode).filter(Boolean);\n }\n\n return cloneVNode(vnode, vnode.props, newChildren);\n }\n\n return vnode;\n };\n\n const render = computed(() => {\n const vnodeArray = Array.isArray(props.vnode) ? props.vnode : [props.vnode];\n // 按 propsList(已保存/拖拽后的顺序)对顶层列重排。\n // 关键:v-if=false 的列、模板注释会在 slot 中留下「注释 vnode」占位,\n // 必须把它们排除在判断之外——否则只要表格含 v-if 列,canReorder 就会被注释 vnode\n // 拖成 false,导致拖拽排序不生效(这正是含大量 v-if 列的表格\"拖动无效\"的根因)。\n const propOrder = new Map(props.propsList.map((p, i) => [p.prop, i]));\n const isLeafCol = (v: any) => v?.type?.name === 'GmTableColumnPro';\n const isComment = (v: any) => v?.type === Comment;\n const leafCols = vnodeArray.filter(isLeafCol);\n // 仅当所有「非注释」顶层节点都是可在 propsList 中定位顺序的叶子列时才重排;\n // 含分组列(多级表头)等其它节点时,保持模板原始顺序,不参与排序。\n const canReorder =\n leafCols.length > 0 &&\n leafCols.every((v: any) => v?.props?.prop != null && propOrder.has(v.props.prop)) &&\n vnodeArray.every((v: any) => isLeafCol(v) || isComment(v));\n\n if (canReorder) {\n // 只渲染真实叶子列并按保存顺序排序(注释 vnode 是 v-if 占位、不渲染任何内容,直接丢弃)。\n // 为每列设置稳定 key(= prop):让 Vue「移动」列实例而非就地复用,从而真正改变\n // .hidden-columns 的 DOM 顺序,触发 el-table 的 MutationObserver 重新排序列。\n return [...leafCols]\n .sort((a: any, b: any) => propOrder.get(a.props.prop)! - propOrder.get(b.props.prop)!)\n .map((vnode: any) => {\n const processed = processVNode(vnode);\n return processed ? h(processed, { key: vnode.props.prop }) : null;\n })\n .filter(Boolean);\n }\n\n // 非重排路径:按模板顺序渲染全部节点(含多级表头、注释占位)。\n // 为每个节点设置稳定 key(叶子列用 prop,其它用模板内固定序号):\n // 表头设置里「修改可见性并保存」后,被隐藏的列会被 processVNode 过滤成 null,\n // 若不加 key,Vue 会按位置「就地复用」——隐藏中间列后,后面的列整体前移一位,\n // ElTableColumn 实例与其对应的 vnode/slot 发生错配,el-table 的 renderCell 因此\n // 拿不到正确的 default slot 而退回默认渲染(图片列显示成 URL、按钮列消失)。\n // 用稳定 key 让 Vue 按列身份精确增删/移动实例,即可避免这种错配。\n return vnodeArray\n .map((vnode: any, index: number) => {\n const processed = processVNode(vnode);\n if (!processed) return null;\n const prop = vnode?.props?.prop;\n const key = prop != null && prop !== '' ? prop : `__col_${index}`;\n return h(processed, { key });\n })\n .filter(Boolean);\n });\n\n return () => render.value;\n },\n});\n"],"names":["functional","props","vnode","type","Object","Array","required","propsList","default","defaultPropsList","setup","mergePropsList","computed","map","it","findProp","find","item","prop","processVNode","name","propsConfig","value","isShow","newProps","width","label","fixed","cloneVNode","children","newChildren","originalDefault","slotProps","childVnodes","isArray","filter","Boolean","render","vnodeArray","propOrder","Map","p","i","isLeafCol","v","isComment","Comment","leafCols","canReorder","length","every","has","sort","a","b","get","processed","h","key","index"],"mappings":"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"}
1
+ {"version":3,"file":"TableColumnVNodeRenderer.js","sources":["../../../../../../../packages/components/src/composite/tablePro/TableColumnVNodeRenderer.tsx"],"sourcesContent":["// TableColumnVNodeRenderer - 支持多级表头\nimport { computed, defineComponent, h, cloneVNode, Comment } from 'vue';\nimport type { TableColumnProProps } from './tableColumnPro/tableColumnPro';\nimport type { PropType, VNode } from 'vue';\n\nexport default defineComponent({\n functional: true,\n props: {\n // 当前原始vnode vue模板中的attribute\n vnode: {\n type: [Object, Array],\n required: true,\n },\n // 真实渲染的propsList\n propsList: {\n type: Array as PropType<TableColumnProProps[]>,\n default: () => [],\n },\n defaultPropsList: {\n type: Array as PropType<TableColumnProProps[]>,\n default: () => [],\n },\n },\n setup(props) {\n /** 合并propsList和defaultPropsList */\n const mergePropsList = computed(() => {\n return props.defaultPropsList.map(it => {\n const findProp = props.propsList.find(item => item.prop === it.prop);\n if (findProp) {\n return findProp;\n }\n return it;\n });\n });\n\n /**\n * 递归处理 vnode 树,应用 propsList 配置\n * @param vnode 要处理的 vnode\n * @returns 处理后的 vnode\n */\n const processVNode = (vnode: any): any => {\n if (!vnode) return null;\n\n // 如果是 GmTableColumnPro,查找并应用配置\n if (vnode.type?.name === 'GmTableColumnPro') {\n // type=\"edit\" 的列由 TablePro 的 gmEdit 列统一处理,这里跳过\n // 直接检查 vnode.props.type,避免因 prop 相同导致的误匹配\n if (vnode.props?.type === 'edit') {\n return null;\n }\n\n const propsConfig = mergePropsList.value.find(it => it.prop === vnode.props?.prop);\n\n // 如果配置中标记为不显示,跳过渲染\n if (propsConfig && !propsConfig.isShow) {\n return null;\n }\n\n // 应用配置到 vnode props\n if (propsConfig) {\n const newProps = {\n ...vnode.props,\n width: propsConfig.width,\n label: propsConfig.label,\n fixed: propsConfig.fixed,\n };\n return cloneVNode(vnode, newProps);\n }\n\n return vnode;\n }\n\n // 如果是其他组件(如 gm-table-column 用于多级表头),递归处理子节点\n if (vnode.children) {\n let newChildren = vnode.children;\n\n // 如果 children 是对象(包含 slots),递归处理 default slot\n if (typeof vnode.children === 'object' && vnode.children.default) {\n const originalDefault = vnode.children.default;\n newChildren = {\n ...vnode.children,\n default: (slotProps: any) => {\n const childVnodes = originalDefault(slotProps);\n if (Array.isArray(childVnodes)) {\n return childVnodes.map(processVNode).filter(Boolean);\n }\n return processVNode(childVnodes);\n },\n };\n }\n // 如果 children 是数组,递归处理每个子节点\n else if (Array.isArray(vnode.children)) {\n newChildren = vnode.children.map(processVNode).filter(Boolean);\n }\n\n return cloneVNode(vnode, vnode.props, newChildren);\n }\n\n return vnode;\n };\n\n const render = computed(() => {\n const vnodeArray = Array.isArray(props.vnode) ? props.vnode : [props.vnode];\n const isLeafCol = (v: any) => v?.type?.name === 'GmTableColumnPro';\n const isComment = (v: any) => v?.type === Comment;\n const leafCols = vnodeArray.filter(isLeafCol);\n\n // 稳定 key:叶子列优先用 prop,无 prop 的列用它在模板中的固定序号(vnodeArray 下标)。\n // 稳定 key 让 Vue 按列身份精确增删/移动实例,避免两类问题:\n // 1. 隐藏中间列后,其它列「就地复用」错配,导致 el-table renderCell 拿不到正确的\n // default slot 而退回默认渲染(图片列显示成 URL、按钮列消失);\n // 2. 拖拽排序后仅靠属性 patch 无法真正改变 .hidden-columns 的 DOM 顺序。\n const stableKey = (vnode: any) => {\n const p = vnode?.props?.prop;\n return p != null && p !== '' ? p : `__col_${vnodeArray.indexOf(vnode)}`;\n };\n\n // 是否可按 propsList 顺序重排:只要顶层没有「多级表头(分组列)」等无法在 propsList\n // 中定位顺序的节点即可(允许注释占位)。放宽后,含个别无 prop 列的表格也能排序——\n // 无 prop 列按「出现次序」与 propsList 中的无 prop 项一一对应。\n const canReorder = leafCols.length > 0 && vnodeArray.every((v: any) => isLeafCol(v) || isComment(v));\n\n if (canReorder) {\n // 按 propsList(拖拽/保存后的顺序)重建叶子列顺序。\n const byProp = new Map<any, any[]>(); // prop -> 对应叶子列 vnode 队列(同 prop 多列时按序出队)\n const noPropLeaves: any[] = []; // 无 prop 的叶子列,保持模板出现次序\n for (const v of leafCols) {\n const p = v?.props?.prop;\n if (p != null && p !== '') {\n if (!byProp.has(p)) byProp.set(p, []);\n byProp.get(p)!.push(v);\n } else {\n noPropLeaves.push(v);\n }\n }\n let noPropCursor = 0;\n const used = new Set<any>();\n const ordered: any[] = [];\n for (const cfg of props.propsList as any[]) {\n const p = cfg?.prop;\n if (p != null && p !== '' && byProp.get(p)?.length) {\n const v = byProp.get(p)!.shift();\n ordered.push(v);\n used.add(v);\n } else if ((p == null || p === '') && noPropCursor < noPropLeaves.length) {\n const v = noPropLeaves[noPropCursor++];\n ordered.push(v);\n used.add(v);\n }\n }\n // 模板中新增、但 propsList 里还没有的列,按模板顺序补到末尾(避免漏列)。\n for (const v of leafCols) {\n if (!used.has(v)) ordered.push(v);\n }\n return ordered\n .map((vnode: any) => {\n const processed = processVNode(vnode);\n return processed ? h(processed, { key: stableKey(vnode) }) : null;\n })\n .filter(Boolean);\n }\n\n // 含多级表头等无法安全重排的场景:保持模板顺序渲染全部节点,仅补上稳定 key。\n return vnodeArray\n .map((vnode: any) => {\n const processed = processVNode(vnode);\n return processed ? h(processed, { key: stableKey(vnode) }) : null;\n })\n .filter(Boolean);\n });\n\n return () => render.value;\n },\n});\n"],"names":["functional","props","vnode","type","Object","Array","required","propsList","default","defaultPropsList","setup","mergePropsList","computed","map","it","findProp","find","item","prop","processVNode","name","propsConfig","value","isShow","newProps","width","label","fixed","cloneVNode","children","newChildren","originalDefault","slotProps","childVnodes","isArray","filter","Boolean","render","vnodeArray","isLeafCol","v","isComment","Comment","leafCols","stableKey","p","indexOf","canReorder","length","every","byProp","Map","noPropLeaves","has","set","get","push","noPropCursor","used","Set","ordered","cfg","shift","add","processed","h","key"],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const version = "1.1.3-snapshot.0";
1
+ export declare const version = "1.1.3-snapshot.1";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const version = "1.1.3-snapshot.0";
3
+ const version = "1.1.3-snapshot.1";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '1.1.3-snapshot.0';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAA,GAAU;;;;"}
1
+ {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '1.1.3-snapshot.1';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAA,GAAU;;;;"}
package/lib/index.css CHANGED
@@ -890,40 +890,6 @@ video {
890
890
  .gm-group:hover .group-hover\:gm-block {
891
891
  display: block;
892
892
  }
893
- .gm-flex-center[data-v-c17deec9] {
894
- align-items: center;
895
- }
896
-
897
- .gm-flex-justify-between[data-v-c17deec9] {
898
- justify-content: space-between;
899
- }
900
- .gm-number-interval-single[data-v-4e6f4d6f] {
901
- border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
902
- box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
903
- background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
904
- }
905
- .gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
906
- box-shadow: none;
907
- background: none;
908
- }
909
-
910
- .gm-number-interval-close[data-v-4e6f4d6f] {
911
- display: none;
912
- color: var(--el-input-icon-color, var(--el-text-color-placeholder));
913
- }
914
-
915
- .gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
916
- display: flex;
917
- }
918
-
919
- .gm-range-number .el-form-item[data-v-1ae16d96] {
920
- margin: 0;
921
- }
922
-
923
- [data-v-195b27e4] .gmSearchForm .el-form-item {
924
- margin-right: 0;
925
- margin-bottom: 4px;
926
- }
927
893
  .gm-upload-pro-preview-dialog[data-v-fbc23b01] [data-v-fbc23b01] .el-dialog__body {
928
894
  padding: 0;
929
895
  }
@@ -970,82 +936,93 @@ video {
970
936
  .gm-upload-pro-file-disabled .el-upload-list__item-status-label {
971
937
  display: none;
972
938
  }
973
- [data-v-3f2c8504] .gmTableNoBorder .el-table__body .el-table__cell {
939
+
940
+ .gm-range-number .el-form-item[data-v-1ae16d96] {
941
+ margin: 0;
942
+ }
943
+
944
+ [data-v-195b27e4] .gmSearchForm .el-form-item {
945
+ margin-right: 0;
946
+ margin-bottom: 4px;
947
+ }
948
+ .gm-flex-center[data-v-c17deec9] {
949
+ align-items: center;
950
+ }
951
+
952
+ .gm-flex-justify-between[data-v-c17deec9] {
953
+ justify-content: space-between;
954
+ }
955
+ [data-v-050a4f74] .gmTableNoBorder .el-table__body .el-table__cell {
974
956
  border-right: none;
975
957
  }
976
958
 
977
- [data-v-3f2c8504] .gmTableNoBorder .el-table__inner-wrapper:before {
959
+ [data-v-050a4f74] .gmTableNoBorder .el-table__inner-wrapper:before {
978
960
  height: 0;
979
961
  }
980
962
 
981
- [data-v-3f2c8504] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
963
+ [data-v-050a4f74] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
982
964
  height: 0;
983
965
  }
984
966
 
985
- [data-v-3f2c8504] .gmTableNoBorder.el-table--border:after {
967
+ [data-v-050a4f74] .gmTableNoBorder.el-table--border:after {
986
968
  height: 0;
987
969
  }
988
970
 
989
- [data-v-3f2c8504] .gmTableNoBorder.el-table--border:before {
971
+ [data-v-050a4f74] .gmTableNoBorder.el-table--border:before {
990
972
  height: 0;
991
973
  }
992
974
 
993
- [data-v-3f2c8504] .gmTableNoBorder .el-table__border-left-patch {
975
+ [data-v-050a4f74] .gmTableNoBorder .el-table__border-left-patch {
994
976
  height: 0;
995
977
  }
996
- [data-v-050a4f74] .gmTableNoBorder .el-table__body .el-table__cell {
978
+ .gm-number-interval-single[data-v-4e6f4d6f] {
979
+ border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
980
+ box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
981
+ background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
982
+ }
983
+ .gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
984
+ box-shadow: none;
985
+ background: none;
986
+ }
987
+
988
+ .gm-number-interval-close[data-v-4e6f4d6f] {
989
+ display: none;
990
+ color: var(--el-input-icon-color, var(--el-text-color-placeholder));
991
+ }
992
+
993
+ .gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
994
+ display: flex;
995
+ }
996
+ [data-v-3f2c8504] .gmTableNoBorder .el-table__body .el-table__cell {
997
997
  border-right: none;
998
998
  }
999
999
 
1000
- [data-v-050a4f74] .gmTableNoBorder .el-table__inner-wrapper:before {
1000
+ [data-v-3f2c8504] .gmTableNoBorder .el-table__inner-wrapper:before {
1001
1001
  height: 0;
1002
1002
  }
1003
1003
 
1004
- [data-v-050a4f74] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
1004
+ [data-v-3f2c8504] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
1005
1005
  height: 0;
1006
1006
  }
1007
1007
 
1008
- [data-v-050a4f74] .gmTableNoBorder.el-table--border:after {
1008
+ [data-v-3f2c8504] .gmTableNoBorder.el-table--border:after {
1009
1009
  height: 0;
1010
1010
  }
1011
1011
 
1012
- [data-v-050a4f74] .gmTableNoBorder.el-table--border:before {
1012
+ [data-v-3f2c8504] .gmTableNoBorder.el-table--border:before {
1013
1013
  height: 0;
1014
1014
  }
1015
1015
 
1016
- [data-v-050a4f74] .gmTableNoBorder .el-table__border-left-patch {
1016
+ [data-v-3f2c8504] .gmTableNoBorder .el-table__border-left-patch {
1017
1017
  height: 0;
1018
1018
  }
1019
- .circular[data-v-d7b04fae] {
1020
- animation: loading-rotate-d7b04fae 2s linear infinite;
1021
- }
1022
-
1023
- .path[data-v-d7b04fae] {
1024
- animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
1025
- stroke-dasharray: 90, 150;
1026
- stroke-dashoffset: 0;
1027
- stroke: var(--el-color-primary);
1028
- stroke-linecap: round;
1019
+ .gm-upload-preview-dialog[data-v-c615121c] [data-v-c615121c] .el-dialog__body {
1020
+ padding: 0;
1029
1021
  }
1030
1022
 
1031
- @keyframes loading-rotate-d7b04fae {
1032
- to {
1033
- transform: rotate(360deg);
1034
- }
1035
- }
1036
- @keyframes loading-dash-d7b04fae {
1037
- 0% {
1038
- stroke-dasharray: 1, 200;
1039
- stroke-dashoffset: 0;
1040
- }
1041
- 50% {
1042
- stroke-dasharray: 90, 150;
1043
- stroke-dashoffset: -40px;
1044
- }
1045
- 100% {
1046
- stroke-dasharray: 90, 150;
1047
- stroke-dashoffset: -120px;
1048
- }
1023
+ .gm-upload-file-picture-card[data-v-c615121c] [data-v-c615121c] .el-upload-list__item, .gm-upload-file-picture-card[data-v-c615121c] [data-v-c615121c] .el-upload--picture-card {
1024
+ width: auto;
1025
+ height: auto;
1049
1026
  }
1050
1027
  .gm-upload-file {
1051
1028
  line-height: normal;
@@ -1083,23 +1060,37 @@ video {
1083
1060
  .gm-upload-file-disabled .el-upload-list__item-status-label {
1084
1061
  display: none;
1085
1062
  }
1086
- .gm-upload-preview-dialog[data-v-c615121c] [data-v-c615121c] .el-dialog__body {
1087
- padding: 0;
1063
+ .circular[data-v-d7b04fae] {
1064
+ animation: loading-rotate-d7b04fae 2s linear infinite;
1088
1065
  }
1089
1066
 
1090
- .gm-upload-file-picture-card[data-v-c615121c] [data-v-c615121c] .el-upload-list__item, .gm-upload-file-picture-card[data-v-c615121c] [data-v-c615121c] .el-upload--picture-card {
1091
- width: auto;
1092
- height: auto;
1067
+ .path[data-v-d7b04fae] {
1068
+ animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
1069
+ stroke-dasharray: 90, 150;
1070
+ stroke-dashoffset: 0;
1071
+ stroke: var(--el-color-primary);
1072
+ stroke-linecap: round;
1093
1073
  }
1094
1074
 
1095
- .pagination-container[data-v-47d35e7b] {
1096
- background: #fff;
1097
- padding-top: 12px;
1075
+ @keyframes loading-rotate-d7b04fae {
1076
+ to {
1077
+ transform: rotate(360deg);
1078
+ }
1098
1079
  }
1099
- .pagination-container.hidden[data-v-47d35e7b] {
1100
- display: none;
1080
+ @keyframes loading-dash-d7b04fae {
1081
+ 0% {
1082
+ stroke-dasharray: 1, 200;
1083
+ stroke-dashoffset: 0;
1084
+ }
1085
+ 50% {
1086
+ stroke-dasharray: 90, 150;
1087
+ stroke-dashoffset: -40px;
1088
+ }
1089
+ 100% {
1090
+ stroke-dasharray: 90, 150;
1091
+ stroke-dashoffset: -120px;
1092
+ }
1101
1093
  }
1102
-
1103
1094
  @charset "UTF-8";
1104
1095
  .custom-operate-drawer .el-drawer__header {
1105
1096
  padding: 10px 15px;
@@ -1156,6 +1147,15 @@ video {
1156
1147
  border-radius: 10px;
1157
1148
  background: #eee;
1158
1149
  }
1150
+
1151
+ .pagination-container[data-v-47d35e7b] {
1152
+ background: #fff;
1153
+ padding-top: 12px;
1154
+ }
1155
+ .pagination-container.hidden[data-v-47d35e7b] {
1156
+ display: none;
1157
+ }
1158
+
1159
1159
  @charset "UTF-8";
1160
1160
  .table-custom-header-drawer .el-drawer__header {
1161
1161
  padding: 10px 15px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "giime",
3
- "version": "1.1.3-snapshot.0",
3
+ "version": "1.1.3-snapshot.1",
4
4
  "description": "A Component Library for Vue 3",
5
5
  "keywords": [
6
6
  "giime",