yc-pro-components 0.0.76 → 0.0.77

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 (58) hide show
  1. package/es/components/index.mjs +1 -0
  2. package/es/components/yc-plus-page/index.d.ts +2 -0
  3. package/es/components/yc-plus-page/index.mjs +1 -0
  4. package/es/components/yc-plus-page/src/index.vue.d.ts +75 -0
  5. package/es/components/yc-plus-page/src/index.vue.mjs +1 -1
  6. package/es/components/yc-plus-page/src/index.vue2.mjs +90 -58
  7. package/es/components/yc-plus-page/src/type.d.ts +9 -0
  8. package/es/hooks/index.d.ts +1 -0
  9. package/es/hooks/index.mjs +1 -0
  10. package/es/hooks/useTableDragScroll.d.ts +35 -0
  11. package/es/hooks/useTableDragScroll.mjs +201 -0
  12. package/es/index.css +9 -9
  13. package/es/index.mjs +1 -0
  14. package/es/version.d.ts +1 -1
  15. package/es/version.mjs +1 -1
  16. package/es/yc-components/version.d.ts +1 -1
  17. package/index.js +290 -60
  18. package/index.min.css +1 -1
  19. package/index.min.js +12 -11
  20. package/index.min.mjs +12 -11
  21. package/index.mjs +290 -61
  22. package/lib/components/index.js +2 -0
  23. package/lib/components/yc-plus-page/index.d.ts +2 -0
  24. package/lib/components/yc-plus-page/index.js +2 -0
  25. package/lib/components/yc-plus-page/src/index.vue.d.ts +75 -0
  26. package/lib/components/yc-plus-page/src/index.vue.js +1 -1
  27. package/lib/components/yc-plus-page/src/index.vue2.js +89 -57
  28. package/lib/components/yc-plus-page/src/type.d.ts +9 -0
  29. package/lib/hooks/index.d.ts +1 -0
  30. package/lib/hooks/index.js +2 -0
  31. package/lib/hooks/useTableDragScroll.d.ts +35 -0
  32. package/lib/hooks/useTableDragScroll.js +203 -0
  33. package/lib/index.css +10 -10
  34. package/lib/index.js +2 -0
  35. package/lib/version.d.ts +1 -1
  36. package/lib/version.js +1 -1
  37. package/lib/yc-components/version.d.ts +1 -1
  38. package/locale/en.js +1 -1
  39. package/locale/en.min.js +1 -1
  40. package/locale/en.min.mjs +1 -1
  41. package/locale/en.mjs +1 -1
  42. package/locale/ja.js +1 -1
  43. package/locale/ja.min.js +1 -1
  44. package/locale/ja.min.mjs +1 -1
  45. package/locale/ja.mjs +1 -1
  46. package/locale/ko.js +1 -1
  47. package/locale/ko.min.js +1 -1
  48. package/locale/ko.min.mjs +1 -1
  49. package/locale/ko.mjs +1 -1
  50. package/locale/zh-cn.js +1 -1
  51. package/locale/zh-cn.min.js +1 -1
  52. package/locale/zh-cn.min.mjs +1 -1
  53. package/locale/zh-cn.mjs +1 -1
  54. package/locale/zh-tw.js +1 -1
  55. package/locale/zh-tw.min.js +1 -1
  56. package/locale/zh-tw.min.mjs +1 -1
  57. package/locale/zh-tw.mjs +1 -1
  58. package/package.json +1 -1
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! yc-pro-components v0.0.76 */
1
+ /*! yc-pro-components v0.0.77 */
2
2
  (function (global, factory) {
3
3
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('vue'), require('element-plus')) :
4
4
  typeof define === 'function' && define.amd ? define(['exports', 'vue', 'element-plus'], factory) :
@@ -8616,6 +8616,204 @@
8616
8616
  vue.provide(DictStoreInjectionKey, dictStore);
8617
8617
  }
8618
8618
 
8619
+ const DEFAULT_RESIZE_AREA_WIDTH = 12;
8620
+ const DEFAULT_BORDER_COLOR = "var(--theme-color)";
8621
+ const DEFAULT_SCROLL_SELECTOR = ".el-scrollbar__wrap";
8622
+ function useTableDragScroll(wrapperRef, tableRef, options = {}) {
8623
+ var _a, _b, _c;
8624
+ const resizeAreaWidth = (_a = options.resizeAreaWidth) != null ? _a : DEFAULT_RESIZE_AREA_WIDTH;
8625
+ const borderColor = (_b = options.resizeBorderColor) != null ? _b : DEFAULT_BORDER_COLOR;
8626
+ const scrollSelector = (_c = options.scrollContainerSelector) != null ? _c : DEFAULT_SCROLL_SELECTOR;
8627
+ const isDragging = vue.ref(false);
8628
+ const isResizing = vue.ref(false);
8629
+ const startX = vue.ref(0);
8630
+ const scrollLeft = vue.ref(0);
8631
+ const scrollContainer = vue.ref(null);
8632
+ const isEnabled = () => {
8633
+ const enabled = options.enabled;
8634
+ if (enabled === void 0) return true;
8635
+ if (typeof enabled === "boolean") return enabled;
8636
+ return enabled.value;
8637
+ };
8638
+ const getTableEl = () => {
8639
+ var _a2;
8640
+ const fromRef = (_a2 = tableRef == null ? void 0 : tableRef.value) == null ? void 0 : _a2.$el;
8641
+ if (fromRef) return fromRef;
8642
+ const wrapper = wrapperRef.value;
8643
+ if (!wrapper) return null;
8644
+ return wrapper.querySelector(".el-table");
8645
+ };
8646
+ const refreshScrollContainer = () => {
8647
+ const tableEl = getTableEl();
8648
+ if (tableEl) {
8649
+ scrollContainer.value = tableEl.querySelector(scrollSelector);
8650
+ }
8651
+ };
8652
+ const isInsideTable = (e) => {
8653
+ const tableEl = getTableEl();
8654
+ if (!tableEl) return false;
8655
+ const target = e.target;
8656
+ return !!target && tableEl.contains(target);
8657
+ };
8658
+ const isInResizeArea = (e, th) => {
8659
+ const rect = th.getBoundingClientRect();
8660
+ const mouseX = e.clientX;
8661
+ return mouseX >= rect.right - resizeAreaWidth && mouseX <= rect.right + 4;
8662
+ };
8663
+ const getCurrentColumn = (e) => {
8664
+ var _a2;
8665
+ let current = e.target;
8666
+ while (current && ((_a2 = current.tagName) == null ? void 0 : _a2.toLowerCase()) !== "th") {
8667
+ current = current.parentElement;
8668
+ if (!current || current === wrapperRef.value) return null;
8669
+ }
8670
+ return current;
8671
+ };
8672
+ const clearAllHeaderStyles = () => {
8673
+ const tableEl = getTableEl();
8674
+ if (!tableEl) return;
8675
+ const headers = tableEl.querySelectorAll("th");
8676
+ headers.forEach((header) => {
8677
+ const h = header;
8678
+ h.style.borderRight = "";
8679
+ h.style.cursor = "";
8680
+ });
8681
+ };
8682
+ const onMouseDown = (e) => {
8683
+ if (!isEnabled()) return;
8684
+ if (!isInsideTable(e)) return;
8685
+ if (!scrollContainer.value) {
8686
+ refreshScrollContainer();
8687
+ if (!scrollContainer.value) return;
8688
+ }
8689
+ const target = e.target;
8690
+ const column = getCurrentColumn(e);
8691
+ if (column && isInResizeArea(e, column)) {
8692
+ isDragging.value = false;
8693
+ isResizing.value = true;
8694
+ return;
8695
+ }
8696
+ if (target.classList.contains("noclick")) {
8697
+ isDragging.value = false;
8698
+ isResizing.value = true;
8699
+ return;
8700
+ }
8701
+ isDragging.value = true;
8702
+ isResizing.value = false;
8703
+ startX.value = e.clientX;
8704
+ scrollLeft.value = scrollContainer.value.scrollLeft;
8705
+ if (wrapperRef.value) {
8706
+ wrapperRef.value.style.cursor = "";
8707
+ }
8708
+ target.style.cursor = "";
8709
+ };
8710
+ const onMouseMove = (e) => {
8711
+ var _a2, _b2, _c2;
8712
+ if (!isEnabled()) return;
8713
+ const target = e.target;
8714
+ const parentElement = target.parentElement;
8715
+ const insideTable = isInsideTable(e);
8716
+ if (!insideTable) {
8717
+ if (wrapperRef.value) {
8718
+ wrapperRef.value.style.cursor = "";
8719
+ }
8720
+ if (isDragging.value && scrollContainer.value) {
8721
+ const deltaX2 = e.clientX - startX.value;
8722
+ scrollContainer.value.scrollLeft = scrollLeft.value - deltaX2;
8723
+ }
8724
+ return;
8725
+ }
8726
+ if (target.classList.contains("drag-disabled")) {
8727
+ target.style.cursor = "pointer";
8728
+ return;
8729
+ }
8730
+ const column = getCurrentColumn(e);
8731
+ if (column) {
8732
+ const allHeaders = (_a2 = column.parentElement) == null ? void 0 : _a2.querySelectorAll("th");
8733
+ if (isInResizeArea(e, column)) {
8734
+ isDragging.value = false;
8735
+ isResizing.value = true;
8736
+ column.style.borderRight = `2px solid ${borderColor}`;
8737
+ allHeaders == null ? void 0 : allHeaders.forEach((header) => {
8738
+ const h = header;
8739
+ if (h !== column) {
8740
+ h.style.borderRight = "";
8741
+ h.style.cursor = "";
8742
+ }
8743
+ });
8744
+ return;
8745
+ } else {
8746
+ allHeaders == null ? void 0 : allHeaders.forEach((header) => {
8747
+ const h = header;
8748
+ h.style.borderRight = "";
8749
+ h.style.cursor = "";
8750
+ });
8751
+ isResizing.value = false;
8752
+ }
8753
+ }
8754
+ if (target.classList.contains("noclick") || target.classList.contains("el-table__column-resize-proxy")) {
8755
+ isDragging.value = false;
8756
+ isResizing.value = true;
8757
+ return;
8758
+ }
8759
+ if (isResizing.value || ((_b2 = parentElement == null ? void 0 : parentElement.tagName) == null ? void 0 : _b2.toLowerCase()) === "th" || ((_c2 = target.tagName) == null ? void 0 : _c2.toLowerCase()) === "th") {
8760
+ isDragging.value = false;
8761
+ return;
8762
+ }
8763
+ if (target.classList.contains("edit-icon")) {
8764
+ target.style.cursor = "pointer";
8765
+ return;
8766
+ }
8767
+ isResizing.value = false;
8768
+ target.style.cursor = "";
8769
+ if (wrapperRef.value) {
8770
+ wrapperRef.value.style.cursor = "grab";
8771
+ }
8772
+ if (!isDragging.value || !scrollContainer.value) return;
8773
+ const deltaX = e.clientX - startX.value;
8774
+ scrollContainer.value.scrollLeft = scrollLeft.value - deltaX;
8775
+ };
8776
+ const onMouseUp = () => {
8777
+ isDragging.value = false;
8778
+ isResizing.value = false;
8779
+ if (wrapperRef.value) {
8780
+ wrapperRef.value.style.cursor = "";
8781
+ }
8782
+ clearAllHeaderStyles();
8783
+ };
8784
+ const onTableBodyOver = () => {
8785
+ const ths = document.querySelectorAll(".el-table__header th");
8786
+ ths.forEach((th) => {
8787
+ const h = th;
8788
+ h.style.borderRight = "";
8789
+ h.style.cursor = "";
8790
+ });
8791
+ };
8792
+ let tableBodyEl = null;
8793
+ vue.onMounted(() => {
8794
+ document.addEventListener("mousemove", onMouseMove);
8795
+ document.addEventListener("mouseup", onMouseUp);
8796
+ requestAnimationFrame(() => {
8797
+ var _a2;
8798
+ refreshScrollContainer();
8799
+ const tableEl = getTableEl();
8800
+ tableBodyEl = (_a2 = tableEl == null ? void 0 : tableEl.querySelector(".el-table__body")) != null ? _a2 : null;
8801
+ tableBodyEl == null ? void 0 : tableBodyEl.addEventListener("mouseover", onTableBodyOver);
8802
+ });
8803
+ });
8804
+ vue.onBeforeUnmount(() => {
8805
+ document.removeEventListener("mousemove", onMouseMove);
8806
+ document.removeEventListener("mouseup", onMouseUp);
8807
+ tableBodyEl == null ? void 0 : tableBodyEl.removeEventListener("mouseover", onTableBodyOver);
8808
+ });
8809
+ return {
8810
+ onMouseDown,
8811
+ isDragging,
8812
+ isResizing,
8813
+ refreshScrollContainer
8814
+ };
8815
+ }
8816
+
8619
8817
  const _hoisted_1$v = { class: "plus-dialog-body" };
8620
8818
  var _sfc_main$O = /* @__PURE__ */ vue.defineComponent({
8621
8819
  ...{
@@ -33209,7 +33407,8 @@
33209
33407
  hideHeaderFilter: { type: Boolean, default: true },
33210
33408
  columnCacheKey: { default: void 0 },
33211
33409
  disableColumnCache: { type: Boolean, default: false },
33212
- columnSettingsText: { default: void 0 }
33410
+ columnSettingsText: { default: void 0 },
33411
+ dragScroll: { type: [Boolean, Object], default: false }
33213
33412
  },
33214
33413
  emits: ["header-filter-confirm", "header-filter-reset"],
33215
33414
  setup(__props, { expose: __expose, emit: __emit }) {
@@ -33220,6 +33419,21 @@
33220
33419
  const plusPageConfig = useYcComponentConfig("plusPage");
33221
33420
  const plusPageRef = vue.ref();
33222
33421
  const rootRef = vue.ref();
33422
+ const dragScrollWrapperRef = vue.ref(null);
33423
+ const dragScrollEnabled = vue.computed(() => props.dragScroll !== false && props.dragScroll != null);
33424
+ const dragScrollOptions = vue.computed(() => {
33425
+ const value = props.dragScroll;
33426
+ if (value && typeof value === "object") return value;
33427
+ return {};
33428
+ });
33429
+ const { onMouseDown: onDragScrollMouseDown } = useTableDragScroll(
33430
+ dragScrollWrapperRef,
33431
+ void 0,
33432
+ {
33433
+ ...dragScrollOptions.value,
33434
+ enabled: dragScrollEnabled
33435
+ }
33436
+ );
33223
33437
  const plusTableInstance = vue.computed(() => {
33224
33438
  var _a;
33225
33439
  return (_a = plusPageRef.value) == null ? void 0 : _a.plusTableInstance;
@@ -33637,6 +33851,7 @@
33637
33851
  void resolvedColumnSettingsText.value;
33638
33852
  void hasRequest.value;
33639
33853
  void showDefaultColumnSettingsIcon.value;
33854
+ void dragScrollEnabled.value;
33640
33855
  __expose({
33641
33856
  plusPageRef,
33642
33857
  plusTableInstance,
@@ -33694,62 +33909,76 @@
33694
33909
  class: vue.normalizeClass(["yc-plus-page", { "yc-plus-page--borderless": isBorderless.value }])
33695
33910
  },
33696
33911
  [
33697
- vue.createVNode(vue.unref(PlusPage), vue.mergeProps({
33698
- ref_key: "plusPageRef",
33699
- ref: plusPageRef
33700
- }, { ...props, ..._ctx.$attrs }, {
33701
- columns: enhancedColumns.value,
33702
- "is-card": _ctx.isCard,
33703
- request: wrappedRequest.value,
33704
- search: mergedSearch.value,
33705
- "search-card-props": mergedSearchCardProps.value,
33706
- "table-card-props": mergedTableCardProps.value,
33707
- table: mergedTable.value,
33708
- pagination: mergedPagination.value,
33709
- "default-page-info": { page: 1, pageSize: DEFAULT_PAGE_SIZE },
33710
- onFilterTableHeader: handleFilterTableHeader,
33711
- onHeaderDragend: handleHeaderDragend
33712
- }), vue.createSlots({
33713
- default: vue.withCtx(() => [
33714
- vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
33715
- ]),
33716
- _: 2
33717
- /* DYNAMIC */
33718
- }, [
33719
- _ctx.$slots["column-settings-icon"] ? {
33720
- name: "column-settings-icon",
33721
- fn: vue.withCtx(() => [
33722
- vue.renderSlot(_ctx.$slots, "column-settings-icon", {}, void 0, true)
33723
- ]),
33724
- key: "0"
33725
- } : showDefaultColumnSettingsIcon.value ? {
33726
- name: "column-settings-icon",
33727
- fn: vue.withCtx(() => [
33728
- vue.createElementVNode("div", { class: "column-settings-wrapper" }, [
33729
- vue.createVNode(vue.unref(YcSvgIcon), {
33730
- src: fieldSettingIconUrl.value,
33731
- size: 16
33732
- }, null, 8, ["src"]),
33733
- vue.createElementVNode(
33734
- "span",
33735
- { class: "column-settings-text" },
33736
- vue.toDisplayString(resolvedColumnSettingsText.value),
33737
- 1
33738
- /* TEXT */
33739
- )
33740
- ])
33741
- ]),
33742
- key: "1"
33743
- } : void 0,
33744
- vue.renderList(_ctx.$slots, (_, name) => {
33745
- return {
33746
- name,
33747
- fn: vue.withCtx((slotProps) => [
33748
- name !== "column-settings-icon" && name !== "default" ? vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.mergeProps({ key: 0 }, slotProps)), void 0, true) : vue.createCommentVNode("v-if", true)
33749
- ])
33750
- };
33751
- })
33752
- ]), 1040, ["columns", "is-card", "request", "search", "search-card-props", "table-card-props", "table", "pagination", "default-page-info"])
33912
+ vue.createCommentVNode(" \u62D6\u62FD\u6EDA\u52A8\u5305\u88F9\u5C42\uFF1AdragScroll \u542F\u7528\u65F6\u4ECB\u5165\uFF0C\u4F46\u59CB\u7EC8\u4FDD\u7559 ref\uFF0C\n \u4EE5\u4FDD\u8BC1 mousedown \u900F\u4F20 + hook \u5185\u90E8 DOM \u67E5\u8BE2\u6B63\u5E38 "),
33913
+ vue.createElementVNode(
33914
+ "div",
33915
+ {
33916
+ ref_key: "dragScrollWrapperRef",
33917
+ ref: dragScrollWrapperRef,
33918
+ class: vue.normalizeClass(["yc-plus-page__drag-wrapper", { "yc-plus-page__drag-wrapper--enabled": dragScrollEnabled.value }]),
33919
+ onMousedown: _cache[0] || (_cache[0] = ($event) => dragScrollEnabled.value ? vue.unref(onDragScrollMouseDown)($event) : void 0)
33920
+ },
33921
+ [
33922
+ vue.createVNode(vue.unref(PlusPage), vue.mergeProps({
33923
+ ref_key: "plusPageRef",
33924
+ ref: plusPageRef
33925
+ }, { ...props, ..._ctx.$attrs }, {
33926
+ columns: enhancedColumns.value,
33927
+ "is-card": _ctx.isCard,
33928
+ request: wrappedRequest.value,
33929
+ search: mergedSearch.value,
33930
+ "search-card-props": mergedSearchCardProps.value,
33931
+ "table-card-props": mergedTableCardProps.value,
33932
+ table: mergedTable.value,
33933
+ pagination: mergedPagination.value,
33934
+ "default-page-info": { page: 1, pageSize: DEFAULT_PAGE_SIZE },
33935
+ onFilterTableHeader: handleFilterTableHeader,
33936
+ onHeaderDragend: handleHeaderDragend
33937
+ }), vue.createSlots({
33938
+ default: vue.withCtx(() => [
33939
+ vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
33940
+ ]),
33941
+ _: 2
33942
+ /* DYNAMIC */
33943
+ }, [
33944
+ _ctx.$slots["column-settings-icon"] ? {
33945
+ name: "column-settings-icon",
33946
+ fn: vue.withCtx(() => [
33947
+ vue.renderSlot(_ctx.$slots, "column-settings-icon", {}, void 0, true)
33948
+ ]),
33949
+ key: "0"
33950
+ } : showDefaultColumnSettingsIcon.value ? {
33951
+ name: "column-settings-icon",
33952
+ fn: vue.withCtx(() => [
33953
+ vue.createElementVNode("div", { class: "column-settings-wrapper" }, [
33954
+ vue.createVNode(vue.unref(YcSvgIcon), {
33955
+ src: fieldSettingIconUrl.value,
33956
+ size: 16
33957
+ }, null, 8, ["src"]),
33958
+ vue.createElementVNode(
33959
+ "span",
33960
+ { class: "column-settings-text" },
33961
+ vue.toDisplayString(resolvedColumnSettingsText.value),
33962
+ 1
33963
+ /* TEXT */
33964
+ )
33965
+ ])
33966
+ ]),
33967
+ key: "1"
33968
+ } : void 0,
33969
+ vue.renderList(_ctx.$slots, (_, name) => {
33970
+ return {
33971
+ name,
33972
+ fn: vue.withCtx((slotProps) => [
33973
+ name !== "column-settings-icon" && name !== "default" ? vue.renderSlot(_ctx.$slots, name, vue.normalizeProps(vue.mergeProps({ key: 0 }, slotProps)), void 0, true) : vue.createCommentVNode("v-if", true)
33974
+ ])
33975
+ };
33976
+ })
33977
+ ]), 1040, ["columns", "is-card", "request", "search", "search-card-props", "table-card-props", "table", "pagination", "default-page-info"])
33978
+ ],
33979
+ 34
33980
+ /* CLASS, NEED_HYDRATION */
33981
+ )
33753
33982
  ],
33754
33983
  2
33755
33984
  /* CLASS */
@@ -33758,7 +33987,7 @@
33758
33987
  }
33759
33988
  });
33760
33989
 
33761
- var YcPlusPageComponent = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-73380467"], ["__file", "index.vue"]]);
33990
+ var YcPlusPageComponent = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-3ce473db"], ["__file", "index.vue"]]);
33762
33991
 
33763
33992
  function compareValues(a, b) {
33764
33993
  if (a == null && b == null) return 0;
@@ -64303,7 +64532,7 @@
64303
64532
  });
64304
64533
  }
64305
64534
 
64306
- const version = "0.0.76";
64535
+ const version = "0.0.77";
64307
64536
 
64308
64537
  const install = installer.install;
64309
64538
 
@@ -64449,6 +64678,7 @@
64449
64678
  exports.useSelectWithPagination = useSelectWithPagination;
64450
64679
  exports.useSortableDrag = useSortableDrag$1;
64451
64680
  exports.useTable = useTable;
64681
+ exports.useTableDragScroll = useTableDragScroll;
64452
64682
  exports.useVirtualScroll = useVirtualScroll;
64453
64683
  exports.useVirtualSelection = useVirtualSelection;
64454
64684
  exports.useYcAuth = useYcAuth;
package/index.min.css CHANGED
@@ -4,7 +4,7 @@
4
4
  .yc-svg-icon[data-v-34e1f2f7]{display:inline-block;-webkit-mask-size:contain;mask-size:contain;vertical-align:middle}.yc-svg-icon--original[data-v-34e1f2f7]{-o-object-fit:contain;object-fit:contain}
5
5
  .yc-header-filter-cell[data-v-44e8a77a]{width:100%}.yc-header-filter-cell__label--ellipsis[data-v-44e8a77a]{flex:1 1 0;min-width:0;overflow:hidden}.yc-header-filter-cell__label--ellipsis[data-v-44e8a77a] .yc-header-filter-cell__label-text[data-v-44e8a77a]{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.yc-header-filter-cell__label--active[data-v-44e8a77a]{color:var(--el-color-primary)}[data-v-44e8a77a] .yc-header-filter-cell__sort-icon--asc,[data-v-44e8a77a] .yc-header-filter-cell__sort-icon--desc{background-color:var(--el-color-primary)!important}[data-v-44e8a77a] .yc-header-filter-cell__filter-icon--active{background-color:var(--el-color-primary)!important}
6
6
  .yc-header-filter-inner-dropdown{z-index:4100!important}
7
- .yc-plus-page[data-v-73380467]{height:100%}.yc-plus-page[data-v-73380467] [data-v-73380467] .plus-page>.el-card{border-radius:8px}[data-v-73380467] .yc-search-card-body{padding-right:0}[data-v-73380467] .plus-table-title-bar__toolbar__icon{font-size:16px!important;position:relative;top:-2px}.column-settings-wrapper[data-v-73380467]{align-items:center;cursor:pointer;display:flex;gap:4px;margin-left:8px}.column-settings-text[data-v-73380467]{font-size:14px}
7
+ .yc-plus-page[data-v-3ce473db]{height:100%}.yc-plus-page[data-v-3ce473db] [data-v-3ce473db] .plus-page>.el-card{border-radius:8px}.yc-plus-page__drag-wrapper[data-v-3ce473db]{height:100%}.yc-plus-page__drag-wrapper--enabled[data-v-3ce473db]{display:flex;flex-direction:column;min-height:0;overflow:hidden}[data-v-3ce473db] .yc-search-card-body{padding-right:0}[data-v-3ce473db] .plus-table-title-bar__toolbar__icon{font-size:16px!important;position:relative;top:-2px}.column-settings-wrapper[data-v-3ce473db]{align-items:center;cursor:pointer;display:flex;gap:4px;margin-left:8px}.column-settings-text[data-v-3ce473db]{font-size:14px}
8
8
  .yc-select-v2-loading.el-select-dropdown__item{color:#909399;cursor:default;font-size:13px;pointer-events:none;text-align:center}.yc-select-v2-loading.el-select-dropdown__item.is-disabled{color:#909399;cursor:default}
9
9
  .el-tree .el-tree-node__content{position:relative}.yc-tree-node-label-wrapper{align-items:center;display:flex;flex:1;min-width:0}.yc-tree-node-label{font-size:12px}.yc-tree-node-line-ver{border-left:1px dashed var(--el-border-color-light,#dcdfe6);display:block;height:100%;left:0;position:absolute;top:0}.yc-tree-node-line-ver.last-node-line{border-left:1px dashed transparent}.yc-tree-node-line-ver.last-node-isLeaf-line{height:50%}.yc-tree-node-line-hor{border-bottom:1px dashed var(--el-border-color-light,#dcdfe6);display:block;height:0;left:0;position:absolute;top:50%}
10
10
  .yc-plus-tree[data-v-45c2ba79]{display:flex;flex-direction:column;height:100%;overflow:auto}.yc-plus-tree[data-v-45c2ba79] .search-input[data-v-45c2ba79]{flex-shrink:0;margin-bottom:16px}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79]{flex:1;min-height:0;overflow:hidden}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] [data-v-45c2ba79] .el-tree-v2{overflow-x:visible!important}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .inline-input-node[data-v-45c2ba79]{align-items:center;display:flex;flex:1;padding-left:0;padding-right:8px;position:relative;z-index:1}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .inline-input-node[data-v-45c2ba79] .inline-input[data-v-45c2ba79]{flex-shrink:0;width:100%}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .inline-input-node[data-v-45c2ba79] .inline-input[data-v-45c2ba79] [data-v-45c2ba79] .el-input__wrapper{border-radius:4px;box-shadow:0 0 0 1px var(--el-border-color) inset;font-size:14px;height:26px;line-height:18px;padding:0 8px;transition:box-shadow .2s ease}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .inline-input-node[data-v-45c2ba79] .inline-input[data-v-45c2ba79] [data-v-45c2ba79] .el-input__wrapper[data-v-45c2ba79]:hover{box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .inline-input-node[data-v-45c2ba79] .inline-input[data-v-45c2ba79] [data-v-45c2ba79] .el-input__wrapper.is-focus[data-v-45c2ba79]{box-shadow:0 0 0 1px var(--el-color-primary) inset}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .inline-input-node[data-v-45c2ba79] .inline-input[data-v-45c2ba79] [data-v-45c2ba79] .el-input__inner{color:rgba(0,0,0,.7);font-size:14px;height:24px;line-height:18px}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .inline-input-node[data-v-45c2ba79] .inline-input[data-v-45c2ba79] [data-v-45c2ba79] .el-input__inner[data-v-45c2ba79]::-moz-placeholder{color:rgba(0,0,0,.4)}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .inline-input-node[data-v-45c2ba79] .inline-input[data-v-45c2ba79] [data-v-45c2ba79] .el-input__inner[data-v-45c2ba79]::placeholder{color:rgba(0,0,0,.4)}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] [data-v-45c2ba79] .el-tree-node__content:hover{background-color:var(--el-color-primary-light-9);border-radius:4px}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] [data-v-45c2ba79] .el-tree-node__content:hover .label-text[data-v-45c2ba79]{color:var(--el-color-primary)}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] [data-v-45c2ba79] .el-tree-node__content:hover .label-text{color:var(--el-color-primary)}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] [data-v-45c2ba79] .el-tree-node.is-current>.el-tree-node__content{background-color:var(--el-color-primary-light-9);border-radius:4px}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] [data-v-45c2ba79] .el-tree-node.is-current>.el-tree-node__content .label-text{color:var(--el-color-primary)}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79]{align-items:center;display:flex;gap:4px;width:100%}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79][data-v-45c2ba79]:hover .node-actions[data-v-45c2ba79]{opacity:1;pointer-events:auto}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79] .node-label[data-v-45c2ba79],.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79] [data-v-45c2ba79] .custom-node-label{align-items:center;display:flex;flex:1;gap:4px;min-width:0}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79] .node-label[data-v-45c2ba79] [data-v-45c2ba79] .el-tooltip__trigger,.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79] [data-v-45c2ba79] .custom-node-label [data-v-45c2ba79] .el-tooltip__trigger{display:block;min-width:0;overflow:hidden}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79] .node-label[data-v-45c2ba79] .label-text[data-v-45c2ba79],.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79] .node-label[data-v-45c2ba79] .node-text[data-v-45c2ba79],.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79] [data-v-45c2ba79] .custom-node-label .label-text[data-v-45c2ba79],.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79] [data-v-45c2ba79] .custom-node-label .node-text[data-v-45c2ba79]{color:var(--el-text-color-primary);display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79] .node-label[data-v-45c2ba79] .label-text[data-v-45c2ba79] [data-v-45c2ba79] .highlight-keyword,.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79] .node-label[data-v-45c2ba79] .node-text[data-v-45c2ba79] [data-v-45c2ba79] .highlight-keyword,.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79] [data-v-45c2ba79] .custom-node-label .label-text[data-v-45c2ba79] [data-v-45c2ba79] .highlight-keyword,.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79] [data-v-45c2ba79] .custom-node-label .node-text[data-v-45c2ba79] [data-v-45c2ba79] .highlight-keyword{background-color:var(--el-color-primary-light-9);border-radius:2px;color:var(--el-color-primary);font-weight:600;padding:0 2px}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79] .node-label[data-v-45c2ba79] .node-count[data-v-45c2ba79],.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79] [data-v-45c2ba79] .custom-node-label .node-count[data-v-45c2ba79]{color:var(--el-text-color-secondary);font-size:12px}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79] .node-actions[data-v-45c2ba79]{align-items:center;display:flex;flex-shrink:0;margin-left:auto;margin-right:8px;opacity:0;pointer-events:none;transition:opacity .2s ease}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79] .node-actions[data-v-45c2ba79] .action-icon-wrapper[data-v-45c2ba79]{align-items:center;cursor:pointer;display:flex;justify-content:center}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79] .node-actions[data-v-45c2ba79] .action-icon[data-v-45c2ba79]{align-items:center;border-radius:4px;color:var(--el-color-primary);cursor:pointer;display:flex;height:20px;justify-content:center;transition:background-color .2s ease;width:20px}.yc-plus-tree[data-v-45c2ba79] .tree-container[data-v-45c2ba79] .node-label-wrapper[data-v-45c2ba79] .node-actions[data-v-45c2ba79] .action-icon[data-v-45c2ba79][data-v-45c2ba79]:hover{background-color:var(--el-color-primary-light-8)}.tree-dropdown-menu[data-v-45c2ba79]{border-radius:8px!important;min-width:156px!important;padding:8px!important}.tree-dropdown-menu[data-v-45c2ba79] [data-v-45c2ba79] .el-dropdown-menu__item{border-radius:8px;font-size:12px;height:32px;line-height:32px;margin:0;padding:0 12px;transition:background-color .2s ease}.tree-dropdown-menu[data-v-45c2ba79] [data-v-45c2ba79] .el-dropdown-menu__item[data-v-45c2ba79]:hover{background-color:var(--el-color-primary-light-9)!important;color:var(--el-color-primary)!important}.tree-dropdown-menu[data-v-45c2ba79] [data-v-45c2ba79] .el-dropdown-menu__item[data-v-45c2ba79]:not(:last-child){margin-bottom:4px}.tree-dropdown-menu[data-v-45c2ba79] [data-v-45c2ba79] .el-divider{border-top:1px solid #e5e7eb;margin:12px 0}.tree-dropdown-menu[data-v-45c2ba79] [data-v-45c2ba79] .sortable-ghost{background-color:var(--el-color-primary-light-9);border:1px dashed var(--el-color-primary);border-radius:4px;opacity:.4}.tree-dropdown-menu[data-v-45c2ba79] [data-v-45c2ba79] .sortable-chosen{background-color:var(--el-color-primary-light-8);box-shadow:0 2px 8px rgba(0,0,0,.1)}.tree-dropdown-menu[data-v-45c2ba79] [data-v-45c2ba79] .sortable-drag{background-color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15);cursor:move;opacity:1;transform:rotate(2deg)}.tree-dropdown-menu[data-v-45c2ba79] [data-v-45c2ba79] .sortable-fallback{-webkit-user-select:none;-moz-user-select:none;user-select:none}