yc-pro-components 0.0.82 → 0.0.84

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 (161) hide show
  1. package/es/components/check-card/index.d.ts +34 -34
  2. package/es/components/check-card/src/index.vue.d.ts +2 -2
  3. package/es/components/check-card-group/index.d.ts +20 -20
  4. package/es/components/check-card-group/src/index.vue.d.ts +1 -1
  5. package/es/components/date-picker/index.d.ts +19 -19
  6. package/es/components/date-picker/src/index.vue.d.ts +11 -11
  7. package/es/components/dialog/index.d.ts +57 -57
  8. package/es/components/dialog/src/index.vue.d.ts +5 -5
  9. package/es/components/dialog-form/index.d.ts +14 -14
  10. package/es/components/dialog-form/src/index.vue.d.ts +8 -8
  11. package/es/components/display-item/index.d.ts +18 -18
  12. package/es/components/display-item/src/index.vue.d.ts +18 -18
  13. package/es/components/drawer-form/index.d.ts +103 -103
  14. package/es/components/drawer-form/src/index.vue.d.ts +27 -27
  15. package/es/components/form/index.d.ts +39 -39
  16. package/es/components/form/src/form-content.vue.d.ts +27 -27
  17. package/es/components/form/src/index.vue.d.ts +14 -14
  18. package/es/components/form-item/index.d.ts +42 -42
  19. package/es/components/form-item/src/index.vue.d.ts +21 -13
  20. package/es/components/form-item/src/index.vue2.mjs +429 -301
  21. package/es/components/form-item/src/overflow-tooltip.d.ts +16 -0
  22. package/es/components/form-item/src/overflow-tooltip.mjs +67 -0
  23. package/es/components/header/index.d.ts +7 -7
  24. package/es/components/header/src/index.vue.d.ts +1 -1
  25. package/es/components/input-tag/index.d.ts +10 -10
  26. package/es/components/input-tag/src/index.vue.d.ts +2 -2
  27. package/es/components/layout/index.d.ts +30 -30
  28. package/es/components/layout/src/index.vue.d.ts +10 -10
  29. package/es/components/page/index.d.ts +283 -283
  30. package/es/components/page/src/index.vue.d.ts +97 -97
  31. package/es/components/pagination/index.d.ts +38 -38
  32. package/es/components/pagination/src/index.vue.d.ts +2 -2
  33. package/es/components/popover/index.d.ts +42 -42
  34. package/es/components/popover/src/index.vue.d.ts +3 -3
  35. package/es/components/radio/index.d.ts +31 -31
  36. package/es/components/radio/src/index.vue.d.ts +23 -23
  37. package/es/components/render/index.d.ts +6 -6
  38. package/es/components/render/src/index.vue.d.ts +2 -2
  39. package/es/components/search/index.d.ts +128 -128
  40. package/es/components/search/src/index.vue.d.ts +41 -41
  41. package/es/components/sidebar/index.d.ts +15 -15
  42. package/es/components/sidebar/src/index.vue.d.ts +5 -5
  43. package/es/components/steps-form/index.d.ts +19 -19
  44. package/es/components/steps-form/src/index.vue.d.ts +1 -1
  45. package/es/components/table/src/index.vue2.mjs +11 -5
  46. package/es/components/table/src/table-column.vue.d.ts +18 -18
  47. package/es/components/table/src/use-table-density.d.ts +8 -0
  48. package/es/components/table/src/use-table-density.mjs +24 -0
  49. package/es/components/yc-card/index.d.ts +19 -19
  50. package/es/components/yc-card/src/index.vue.d.ts +1 -1
  51. package/es/components/yc-drawer/store.d.ts +5 -5
  52. package/es/components/yc-more-actions/index.d.ts +16 -16
  53. package/es/components/yc-more-actions/src/index.vue.d.ts +2 -2
  54. package/es/components/yc-plus-page/src/header-filter-cell.vue.d.ts +3 -3
  55. package/es/components/yc-plus-page/src/index.vue.d.ts +192 -192
  56. package/es/components/yc-plus-tree/src/index.vue.d.ts +1 -1
  57. package/es/components/yc-segmented/index.d.ts +1 -1
  58. package/es/components/yc-segmented/src/index.d.ts +1 -1
  59. package/es/components/yc-select-v2/src/index.vue.d.ts +2 -2
  60. package/es/components/yc-status-dialog/src/index.vue.d.ts +5 -5
  61. package/es/components/yc-text/src/index.vue.d.ts +2 -2
  62. package/es/hooks/usePlusFormReset.d.ts +288 -288
  63. package/es/index.css +8 -8
  64. package/es/version.d.ts +1 -1
  65. package/es/version.mjs +1 -1
  66. package/es/yc-components/version.d.ts +1 -1
  67. package/index.css +1 -1
  68. package/index.js +525 -306
  69. package/index.min.js +12 -12
  70. package/index.min.mjs +12 -12
  71. package/index.mjs +525 -306
  72. package/lib/components/check-card/index.d.ts +34 -34
  73. package/lib/components/check-card/src/index.vue.d.ts +2 -2
  74. package/lib/components/check-card-group/index.d.ts +20 -20
  75. package/lib/components/check-card-group/src/index.vue.d.ts +1 -1
  76. package/lib/components/date-picker/index.d.ts +19 -19
  77. package/lib/components/date-picker/src/index.vue.d.ts +11 -11
  78. package/lib/components/dialog/index.d.ts +57 -57
  79. package/lib/components/dialog/src/index.vue.d.ts +5 -5
  80. package/lib/components/dialog-form/index.d.ts +14 -14
  81. package/lib/components/dialog-form/src/index.vue.d.ts +8 -8
  82. package/lib/components/display-item/index.d.ts +18 -18
  83. package/lib/components/display-item/src/index.vue.d.ts +18 -18
  84. package/lib/components/drawer-form/index.d.ts +103 -103
  85. package/lib/components/drawer-form/src/index.vue.d.ts +27 -27
  86. package/lib/components/form/index.d.ts +39 -39
  87. package/lib/components/form/src/form-content.vue.d.ts +27 -27
  88. package/lib/components/form/src/index.vue.d.ts +14 -14
  89. package/lib/components/form-item/index.d.ts +42 -42
  90. package/lib/components/form-item/src/index.vue.d.ts +21 -13
  91. package/lib/components/form-item/src/index.vue2.js +428 -300
  92. package/lib/components/form-item/src/overflow-tooltip.d.ts +16 -0
  93. package/lib/components/form-item/src/overflow-tooltip.js +71 -0
  94. package/lib/components/header/index.d.ts +7 -7
  95. package/lib/components/header/src/index.vue.d.ts +1 -1
  96. package/lib/components/input-tag/index.d.ts +10 -10
  97. package/lib/components/input-tag/src/index.vue.d.ts +2 -2
  98. package/lib/components/layout/index.d.ts +30 -30
  99. package/lib/components/layout/src/index.vue.d.ts +10 -10
  100. package/lib/components/page/index.d.ts +283 -283
  101. package/lib/components/page/src/index.vue.d.ts +97 -97
  102. package/lib/components/pagination/index.d.ts +38 -38
  103. package/lib/components/pagination/src/index.vue.d.ts +2 -2
  104. package/lib/components/popover/index.d.ts +42 -42
  105. package/lib/components/popover/src/index.vue.d.ts +3 -3
  106. package/lib/components/radio/index.d.ts +31 -31
  107. package/lib/components/radio/src/index.vue.d.ts +23 -23
  108. package/lib/components/render/index.d.ts +6 -6
  109. package/lib/components/render/src/index.vue.d.ts +2 -2
  110. package/lib/components/search/index.d.ts +128 -128
  111. package/lib/components/search/src/index.vue.d.ts +41 -41
  112. package/lib/components/sidebar/index.d.ts +15 -15
  113. package/lib/components/sidebar/src/index.vue.d.ts +5 -5
  114. package/lib/components/steps-form/index.d.ts +19 -19
  115. package/lib/components/steps-form/src/index.vue.d.ts +1 -1
  116. package/lib/components/table/src/index.vue2.js +10 -4
  117. package/lib/components/table/src/table-column.vue.d.ts +18 -18
  118. package/lib/components/table/src/use-table-density.d.ts +8 -0
  119. package/lib/components/table/src/use-table-density.js +28 -0
  120. package/lib/components/yc-card/index.d.ts +19 -19
  121. package/lib/components/yc-card/src/index.vue.d.ts +1 -1
  122. package/lib/components/yc-drawer/store.d.ts +5 -5
  123. package/lib/components/yc-more-actions/index.d.ts +16 -16
  124. package/lib/components/yc-more-actions/src/index.vue.d.ts +2 -2
  125. package/lib/components/yc-plus-page/src/header-filter-cell.vue.d.ts +3 -3
  126. package/lib/components/yc-plus-page/src/index.vue.d.ts +192 -192
  127. package/lib/components/yc-plus-tree/src/index.vue.d.ts +1 -1
  128. package/lib/components/yc-segmented/index.d.ts +1 -1
  129. package/lib/components/yc-segmented/src/index.d.ts +1 -1
  130. package/lib/components/yc-select-v2/src/index.vue.d.ts +2 -2
  131. package/lib/components/yc-status-dialog/src/index.vue.d.ts +5 -5
  132. package/lib/components/yc-text/src/index.vue.d.ts +2 -2
  133. package/lib/hooks/usePlusFormReset.d.ts +288 -288
  134. package/lib/index.css +7 -7
  135. package/lib/version.d.ts +1 -1
  136. package/lib/version.js +1 -1
  137. package/lib/yc-components/version.d.ts +1 -1
  138. package/locale/en.js +1 -1
  139. package/locale/en.min.js +1 -1
  140. package/locale/en.min.mjs +1 -1
  141. package/locale/en.mjs +1 -1
  142. package/locale/ja.js +1 -1
  143. package/locale/ja.min.js +1 -1
  144. package/locale/ja.min.mjs +1 -1
  145. package/locale/ja.mjs +1 -1
  146. package/locale/ko.js +1 -1
  147. package/locale/ko.min.js +1 -1
  148. package/locale/ko.min.mjs +1 -1
  149. package/locale/ko.mjs +1 -1
  150. package/locale/zh-cn.js +1 -1
  151. package/locale/zh-cn.min.js +1 -1
  152. package/locale/zh-cn.min.mjs +1 -1
  153. package/locale/zh-cn.mjs +1 -1
  154. package/locale/zh-tw.js +1 -1
  155. package/locale/zh-tw.min.js +1 -1
  156. package/locale/zh-tw.min.mjs +1 -1
  157. package/locale/zh-tw.mjs +1 -1
  158. package/package.json +1 -1
  159. package/theme-chalk/index.css +1 -1
  160. package/theme-chalk/plus-form-item.css +1 -1
  161. package/theme-chalk/src/form-item.scss +56 -0
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! yc-pro-components v0.0.82 */
1
+ /*! yc-pro-components v0.0.84 */
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) :
@@ -16241,6 +16241,72 @@
16241
16241
  );
16242
16242
  const getFieldComponent = (valueType) => Reflect.get(FieldComponentMap, valueType) || {};
16243
16243
 
16244
+ const FIELD_SELECTOR = [
16245
+ ".el-input",
16246
+ ".el-textarea",
16247
+ ".el-select",
16248
+ ".el-date-editor",
16249
+ ".el-cascader",
16250
+ ".el-autocomplete",
16251
+ ".el-input-number",
16252
+ ".el-tree-select",
16253
+ ".plus-form-item-field"
16254
+ ].join(",");
16255
+ let measureCanvas = null;
16256
+ const measureTextWidth = (text, font) => {
16257
+ if (typeof document === "undefined") return 0;
16258
+ measureCanvas = measureCanvas || document.createElement("canvas");
16259
+ const context = measureCanvas.getContext("2d");
16260
+ if (!context) return 0;
16261
+ context.font = font;
16262
+ return context.measureText(text).width;
16263
+ };
16264
+ const readFont = (style) => `${style.fontStyle} ${style.fontWeight} ${style.fontSize} ${style.fontFamily}`;
16265
+ const availableWidth = (input) => {
16266
+ const style = getComputedStyle(input);
16267
+ const padding = (Number.parseFloat(style.paddingLeft) || 0) + (Number.parseFloat(style.paddingRight) || 0);
16268
+ return input.clientWidth - padding;
16269
+ };
16270
+ const isInputPlaceholderOverflow = (input, measure = measureTextWidth) => {
16271
+ var _a;
16272
+ const text = ((_a = input.placeholder) == null ? void 0 : _a.trim()) || "";
16273
+ if (!text || input.value || input.clientWidth <= 0) return false;
16274
+ return measure(text, readFont(getComputedStyle(input))) > availableWidth(input) + 1;
16275
+ };
16276
+ const hitFromInput = (input, measure) => {
16277
+ if (!isInputPlaceholderOverflow(input, measure)) return null;
16278
+ return { el: input, text: input.placeholder.trim() };
16279
+ };
16280
+ const containsPoint = (el, point) => {
16281
+ const rect = el.getBoundingClientRect();
16282
+ return point.x >= rect.left && point.x <= rect.right && point.y >= rect.top && point.y <= rect.bottom;
16283
+ };
16284
+ const findPlaceholderOverflow = (root, target, point, measure = measureTextWidth) => {
16285
+ var _a;
16286
+ if (!(target instanceof HTMLElement) || !root.contains(target)) return null;
16287
+ const directInput = target.closest("input, textarea");
16288
+ if (directInput instanceof HTMLInputElement || directInput instanceof HTMLTextAreaElement) {
16289
+ if (!root.contains(directInput)) return null;
16290
+ return hitFromInput(directInput, measure);
16291
+ }
16292
+ const field = target.closest(FIELD_SELECTOR);
16293
+ if (!(field instanceof HTMLElement) || !root.contains(field)) return null;
16294
+ const selectPlaceholder = field.querySelector(".el-select__placeholder.is-transparent");
16295
+ if (selectPlaceholder instanceof HTMLElement) {
16296
+ const text = ((_a = selectPlaceholder.textContent) == null ? void 0 : _a.trim()) || "";
16297
+ if (text && selectPlaceholder.scrollWidth > selectPlaceholder.clientWidth + 1) {
16298
+ return { el: selectPlaceholder, text };
16299
+ }
16300
+ return null;
16301
+ }
16302
+ if (!point) return null;
16303
+ const inputs = Array.from(field.querySelectorAll("input, textarea"));
16304
+ const hovered = inputs.find(
16305
+ (input) => (input instanceof HTMLInputElement || input instanceof HTMLTextAreaElement) && input.clientWidth > 0 && containsPoint(input, point)
16306
+ );
16307
+ return hovered ? hitFromInput(hovered, measure) : null;
16308
+ };
16309
+
16244
16310
  const _hoisted_1$r = { class: "el-form-item__error" };
16245
16311
  const _hoisted_2$i = { class: "plus-form-item__label" };
16246
16312
  const _hoisted_3$e = {
@@ -16251,6 +16317,7 @@
16251
16317
  key: 1,
16252
16318
  class: "plus-form-item-field"
16253
16319
  };
16320
+ const TOOLTIP_SHOW_DELAY = 300;
16254
16321
  var _sfc_main$H = /* @__PURE__ */ vue.defineComponent({
16255
16322
  ...{
16256
16323
  name: "PlusFormItem"
@@ -16297,6 +16364,85 @@
16297
16364
  const customFieldPropsIsReady = vue.ref(false);
16298
16365
  const valueIsReady = vue.ref(false);
16299
16366
  const labelValue = vue.computed(() => getLabel$1(props.label));
16367
+ const labelTextRef = vue.ref();
16368
+ const labelOverflow = vue.ref(false);
16369
+ const labelTooltipContent = vue.ref("");
16370
+ const labelTooltipVisible = vue.ref(false);
16371
+ const placeholderTooltipVisible = vue.ref(false);
16372
+ const placeholderTooltipContent = vue.ref("");
16373
+ const placeholderVirtualRef = vue.ref();
16374
+ let labelTooltipTimer = null;
16375
+ let placeholderTooltipTimer = null;
16376
+ const syncLabelOverflow = () => {
16377
+ const el = labelTextRef.value;
16378
+ if (!el) {
16379
+ labelOverflow.value = false;
16380
+ labelTooltipContent.value = "";
16381
+ return;
16382
+ }
16383
+ labelTooltipContent.value = (el.textContent || "").trim();
16384
+ labelOverflow.value = el.scrollWidth > el.clientWidth + 1;
16385
+ };
16386
+ const showLabelTooltip = () => {
16387
+ syncLabelOverflow();
16388
+ if (labelTooltipTimer) clearTimeout(labelTooltipTimer);
16389
+ if (!labelOverflow.value || !labelTooltipContent.value) {
16390
+ labelTooltipVisible.value = false;
16391
+ return;
16392
+ }
16393
+ if (labelTooltipVisible.value) return;
16394
+ labelTooltipTimer = setTimeout(() => {
16395
+ labelTooltipVisible.value = true;
16396
+ labelTooltipTimer = null;
16397
+ }, TOOLTIP_SHOW_DELAY);
16398
+ };
16399
+ const hideLabelTooltip = () => {
16400
+ if (labelTooltipTimer) clearTimeout(labelTooltipTimer);
16401
+ labelTooltipTimer = null;
16402
+ labelTooltipVisible.value = false;
16403
+ };
16404
+ const hidePlaceholderTooltip = () => {
16405
+ if (placeholderTooltipTimer) clearTimeout(placeholderTooltipTimer);
16406
+ placeholderTooltipTimer = null;
16407
+ placeholderTooltipVisible.value = false;
16408
+ placeholderTooltipContent.value = "";
16409
+ };
16410
+ const handlePlaceholderHover = (event) => {
16411
+ const root = event.currentTarget;
16412
+ if (!(root instanceof HTMLElement)) return;
16413
+ const hit = findPlaceholderOverflow(root, event.target, {
16414
+ x: event.clientX,
16415
+ y: event.clientY
16416
+ });
16417
+ if (!hit) {
16418
+ hidePlaceholderTooltip();
16419
+ return;
16420
+ }
16421
+ const sameTarget = placeholderTooltipContent.value === hit.text && placeholderVirtualRef.value === hit.el;
16422
+ if (sameTarget && (placeholderTooltipVisible.value || placeholderTooltipTimer)) return;
16423
+ if (placeholderTooltipTimer) clearTimeout(placeholderTooltipTimer);
16424
+ placeholderTooltipVisible.value = false;
16425
+ placeholderVirtualRef.value = hit.el;
16426
+ placeholderTooltipContent.value = hit.text;
16427
+ placeholderTooltipTimer = setTimeout(() => {
16428
+ placeholderTooltipVisible.value = true;
16429
+ placeholderTooltipTimer = null;
16430
+ }, TOOLTIP_SHOW_DELAY);
16431
+ };
16432
+ vue.watch(labelTextRef, (el, _, onCleanup) => {
16433
+ syncLabelOverflow();
16434
+ if (!el || typeof ResizeObserver === "undefined") return;
16435
+ const observer = new ResizeObserver(() => syncLabelOverflow());
16436
+ observer.observe(el);
16437
+ onCleanup(() => observer.disconnect());
16438
+ });
16439
+ vue.watch(labelValue, () => {
16440
+ vue.nextTick(syncLabelOverflow);
16441
+ });
16442
+ vue.onBeforeUnmount(() => {
16443
+ if (labelTooltipTimer) clearTimeout(labelTooltipTimer);
16444
+ if (placeholderTooltipTimer) clearTimeout(placeholderTooltipTimer);
16445
+ });
16300
16446
  const formFieldRefs = vue.inject(TableFormFieldRefInjectionKey, {});
16301
16447
  const tableRowInfo = vue.inject(TableFormRowInfoInjectionKey, {});
16302
16448
  const params = vue.computed(() => ({
@@ -16465,212 +16611,143 @@
16465
16611
  "label-width": _ctx.hasLabel ? (_a = customFormItemProps.value) == null ? void 0 : _a.labelWidth : "0px"
16466
16612
  }), vue.createSlots({
16467
16613
  default: vue.withCtx(() => [
16468
- _ctx.renderField && vue.unref(isFunction)(_ctx.renderField) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$e, [
16469
- valueIsReady.value ? (vue.openBlock(), vue.createBlock(vue.unref(PlusRender), {
16470
- key: 0,
16471
- render: _ctx.renderField,
16472
- params: params.value,
16473
- "callback-value": state.value,
16474
- "custom-field-props": customFieldProps.value,
16475
- "render-type": "form",
16476
- "handle-change": handleChange
16477
- }, null, 8, ["render", "params", "callback-value", "custom-field-props"])) : vue.createCommentVNode("v-if", true)
16478
- ])) : _ctx.$slots[vue.unref(getFieldSlotName)(_ctx.prop)] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$b, [
16479
- vue.renderSlot(_ctx.$slots, vue.unref(getFieldSlotName)(_ctx.prop), vue.mergeProps(params.value, { column: props }))
16480
- ])) : _ctx.valueType === "select" && customFieldProps.value.multiple === true ? (vue.openBlock(), vue.createBlock(vue.unref(ElSelect), vue.mergeProps({
16481
- key: 2,
16482
- ref_key: "fieldInstance",
16483
- ref: fieldInstance,
16484
- modelValue: state.value,
16485
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.value = $event),
16486
- placeholder: vue.unref(t)("plus.field.pleaseSelect") + labelValue.value,
16487
- class: "plus-form-item-field",
16488
- clearable: _ctx.clearable
16489
- }, customFieldProps.value, { "onUpdate:modelValue": handleChange }), vue.createSlots({
16490
- default: vue.withCtx(() => [
16491
- (vue.openBlock(true), vue.createElementBlock(
16492
- vue.Fragment,
16493
- null,
16494
- vue.renderList(vue.unref(customOptions), (item) => {
16495
- return vue.openBlock(), vue.createElementBlock(
16496
- vue.Fragment,
16497
- {
16498
- key: item.value
16499
- },
16500
- [
16501
- item.options ? (vue.openBlock(), vue.createBlock(vue.unref(ElOptionGroup), {
16502
- key: 0,
16503
- label: item.label,
16504
- disabled: item.disabled
16505
- }, {
16506
- default: vue.withCtx(() => [
16507
- (vue.openBlock(true), vue.createElementBlock(
16508
- vue.Fragment,
16509
- null,
16510
- vue.renderList(item.options, (option) => {
16511
- return vue.openBlock(), vue.createBlock(vue.unref(ElOption), vue.mergeProps(
16512
- {
16513
- key: option.value,
16514
- label: option.label,
16515
- value: option.value
16516
- },
16517
- vue.unref(isFunction)(option.fieldItemProps) ? option.fieldItemProps(option) : option.fieldItemProps
16518
- ), {
16519
- default: vue.withCtx(() => [
16520
- vue.unref(isFunction)(option.fieldSlot) ? (vue.openBlock(), vue.createBlock(
16521
- vue.resolveDynamicComponent(option.fieldSlot),
16522
- vue.normalizeProps(vue.mergeProps({ key: 0 }, option)),
16523
- null,
16524
- 16
16525
- /* FULL_PROPS */
16526
- )) : vue.unref(isFunction)(_ctx.fieldChildrenSlot) ? (vue.openBlock(), vue.createBlock(
16527
- vue.resolveDynamicComponent(_ctx.fieldChildrenSlot),
16528
- vue.normalizeProps(vue.mergeProps({ key: 1 }, option)),
16529
- null,
16530
- 16
16531
- /* FULL_PROPS */
16532
- )) : (vue.openBlock(), vue.createElementBlock(
16533
- vue.Fragment,
16534
- { key: 2 },
16535
- [
16536
- vue.createTextVNode(
16537
- vue.toDisplayString(option.label),
16538
- 1
16539
- /* TEXT */
16540
- )
16541
- ],
16542
- 64
16543
- /* STABLE_FRAGMENT */
16544
- ))
16545
- ]),
16546
- _: 2
16547
- /* DYNAMIC */
16548
- }, 1040, ["label", "value"]);
16549
- }),
16550
- 128
16551
- /* KEYED_FRAGMENT */
16552
- ))
16553
- ]),
16554
- _: 2
16555
- /* DYNAMIC */
16556
- }, 1032, ["label", "disabled"])) : (vue.openBlock(), vue.createBlock(vue.unref(ElOption), vue.mergeProps(
16557
- {
16558
- key: 1,
16559
- label: item.label,
16560
- value: item.value
16561
- },
16562
- vue.unref(isFunction)(item.fieldItemProps) ? item.fieldItemProps(item) : item.fieldItemProps
16563
- ), {
16564
- default: vue.withCtx(() => [
16565
- vue.unref(isFunction)(item.fieldSlot) ? (vue.openBlock(), vue.createBlock(
16566
- vue.resolveDynamicComponent(item.fieldSlot),
16567
- vue.normalizeProps(vue.mergeProps({ key: 0 }, item)),
16568
- null,
16569
- 16
16570
- /* FULL_PROPS */
16571
- )) : vue.unref(isFunction)(_ctx.fieldChildrenSlot) ? (vue.openBlock(), vue.createBlock(
16572
- vue.resolveDynamicComponent(_ctx.fieldChildrenSlot),
16573
- vue.normalizeProps(vue.mergeProps({ key: 1 }, item)),
16574
- null,
16575
- 16
16576
- /* FULL_PROPS */
16577
- )) : (vue.openBlock(), vue.createElementBlock(
16578
- vue.Fragment,
16579
- { key: 2 },
16580
- [
16581
- vue.createTextVNode(
16582
- vue.toDisplayString(item.label),
16583
- 1
16584
- /* TEXT */
16585
- )
16586
- ],
16587
- 64
16588
- /* STABLE_FRAGMENT */
16589
- ))
16590
- ]),
16591
- _: 2
16592
- /* DYNAMIC */
16593
- }, 1040, ["label", "value"]))
16594
- ],
16595
- 64
16596
- /* STABLE_FRAGMENT */
16597
- );
16598
- }),
16599
- 128
16600
- /* KEYED_FRAGMENT */
16601
- ))
16602
- ]),
16603
- _: 2
16604
- /* DYNAMIC */
16605
- }, [
16606
- vue.renderList(_ctx.fieldSlots, (fieldSlot, key) => {
16607
- return {
16608
- name: key,
16609
- fn: vue.withCtx((data) => [
16610
- (vue.openBlock(), vue.createBlock(
16611
- vue.resolveDynamicComponent(fieldSlot),
16612
- vue.normalizeProps(vue.guardReactiveProps(data)),
16613
- null,
16614
- 16
16615
- /* FULL_PROPS */
16616
- ))
16617
- ])
16618
- };
16619
- })
16620
- ]), 1040, ["modelValue", "placeholder", "clearable"])) : vue.unref(hasFieldComponent)(_ctx.valueType) ? (vue.openBlock(), vue.createElementBlock(
16621
- vue.Fragment,
16622
- { key: 3 },
16614
+ vue.createElementVNode(
16615
+ "div",
16616
+ {
16617
+ class: "plus-form-item__control",
16618
+ onMouseover: handlePlaceholderHover,
16619
+ onMouseleave: hidePlaceholderTooltip
16620
+ },
16623
16621
  [
16624
- vue.createCommentVNode(" \u7EDF\u4E00\u5904\u7406 "),
16625
- vue.createCommentVNode(" has-children "),
16626
- vue.unref(getFieldComponent)(_ctx.valueType).children ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(getFieldComponent)(_ctx.valueType).component), vue.mergeProps({
16627
- key: 0,
16622
+ _ctx.renderField && vue.unref(isFunction)(_ctx.renderField) ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3$e, [
16623
+ valueIsReady.value ? (vue.openBlock(), vue.createBlock(vue.unref(PlusRender), {
16624
+ key: 0,
16625
+ render: _ctx.renderField,
16626
+ params: params.value,
16627
+ "callback-value": state.value,
16628
+ "custom-field-props": customFieldProps.value,
16629
+ "render-type": "form",
16630
+ "handle-change": handleChange
16631
+ }, null, 8, ["render", "params", "callback-value", "custom-field-props"])) : vue.createCommentVNode("v-if", true)
16632
+ ])) : _ctx.$slots[vue.unref(getFieldSlotName)(_ctx.prop)] ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4$b, [
16633
+ vue.renderSlot(_ctx.$slots, vue.unref(getFieldSlotName)(_ctx.prop), vue.mergeProps(params.value, { column: props }))
16634
+ ])) : _ctx.valueType === "select" && customFieldProps.value.multiple === true ? (vue.openBlock(), vue.createBlock(vue.unref(ElSelect), vue.mergeProps({
16635
+ key: 2,
16628
16636
  ref_key: "fieldInstance",
16629
16637
  ref: fieldInstance,
16630
16638
  modelValue: state.value,
16631
16639
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => state.value = $event),
16640
+ placeholder: vue.unref(t)("plus.field.pleaseSelect") + labelValue.value,
16632
16641
  class: "plus-form-item-field",
16633
16642
  clearable: _ctx.clearable
16634
- }, commonProps.value, { "onUpdate:modelValue": handleChange }), vue.createSlots({
16643
+ }, customFieldProps.value, { "onUpdate:modelValue": handleChange }), vue.createSlots({
16635
16644
  default: vue.withCtx(() => [
16636
16645
  (vue.openBlock(true), vue.createElementBlock(
16637
16646
  vue.Fragment,
16638
16647
  null,
16639
16648
  vue.renderList(vue.unref(customOptions), (item) => {
16640
- return vue.openBlock(), vue.createBlock(
16641
- vue.resolveDynamicComponent(vue.unref(getFieldComponent)(_ctx.valueType).children),
16642
- vue.mergeProps({
16643
- key: item.value
16644
- }, getChildrenProps(item)),
16649
+ return vue.openBlock(), vue.createElementBlock(
16650
+ vue.Fragment,
16645
16651
  {
16646
- default: vue.withCtx(() => [
16647
- vue.unref(isFunction)(item.fieldSlot) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(item.fieldSlot), vue.mergeProps({
16648
- key: 0,
16649
- "model-value": state.value,
16650
- column: params.value
16651
- }, item), null, 16, ["model-value", "column"])) : vue.unref(isFunction)(_ctx.fieldChildrenSlot) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.fieldChildrenSlot), vue.mergeProps({
16652
- key: 1,
16653
- "model-value": state.value,
16654
- column: params.value
16655
- }, item), null, 16, ["model-value", "column"])) : (vue.openBlock(), vue.createElementBlock(
16656
- vue.Fragment,
16657
- { key: 2 },
16658
- [
16659
- vue.createTextVNode(
16660
- vue.toDisplayString(item.label),
16661
- 1
16662
- /* TEXT */
16663
- )
16664
- ],
16665
- 64
16666
- /* STABLE_FRAGMENT */
16667
- ))
16668
- ]),
16669
- _: 2
16670
- /* DYNAMIC */
16652
+ key: item.value
16671
16653
  },
16672
- 1040
16673
- /* FULL_PROPS, DYNAMIC_SLOTS */
16654
+ [
16655
+ item.options ? (vue.openBlock(), vue.createBlock(vue.unref(ElOptionGroup), {
16656
+ key: 0,
16657
+ label: item.label,
16658
+ disabled: item.disabled
16659
+ }, {
16660
+ default: vue.withCtx(() => [
16661
+ (vue.openBlock(true), vue.createElementBlock(
16662
+ vue.Fragment,
16663
+ null,
16664
+ vue.renderList(item.options, (option) => {
16665
+ return vue.openBlock(), vue.createBlock(vue.unref(ElOption), vue.mergeProps(
16666
+ {
16667
+ key: option.value,
16668
+ label: option.label,
16669
+ value: option.value
16670
+ },
16671
+ vue.unref(isFunction)(option.fieldItemProps) ? option.fieldItemProps(option) : option.fieldItemProps
16672
+ ), {
16673
+ default: vue.withCtx(() => [
16674
+ vue.unref(isFunction)(option.fieldSlot) ? (vue.openBlock(), vue.createBlock(
16675
+ vue.resolveDynamicComponent(option.fieldSlot),
16676
+ vue.normalizeProps(vue.mergeProps({ key: 0 }, option)),
16677
+ null,
16678
+ 16
16679
+ /* FULL_PROPS */
16680
+ )) : vue.unref(isFunction)(_ctx.fieldChildrenSlot) ? (vue.openBlock(), vue.createBlock(
16681
+ vue.resolveDynamicComponent(_ctx.fieldChildrenSlot),
16682
+ vue.normalizeProps(vue.mergeProps({ key: 1 }, option)),
16683
+ null,
16684
+ 16
16685
+ /* FULL_PROPS */
16686
+ )) : (vue.openBlock(), vue.createElementBlock(
16687
+ vue.Fragment,
16688
+ { key: 2 },
16689
+ [
16690
+ vue.createTextVNode(
16691
+ vue.toDisplayString(option.label),
16692
+ 1
16693
+ /* TEXT */
16694
+ )
16695
+ ],
16696
+ 64
16697
+ /* STABLE_FRAGMENT */
16698
+ ))
16699
+ ]),
16700
+ _: 2
16701
+ /* DYNAMIC */
16702
+ }, 1040, ["label", "value"]);
16703
+ }),
16704
+ 128
16705
+ /* KEYED_FRAGMENT */
16706
+ ))
16707
+ ]),
16708
+ _: 2
16709
+ /* DYNAMIC */
16710
+ }, 1032, ["label", "disabled"])) : (vue.openBlock(), vue.createBlock(vue.unref(ElOption), vue.mergeProps(
16711
+ {
16712
+ key: 1,
16713
+ label: item.label,
16714
+ value: item.value
16715
+ },
16716
+ vue.unref(isFunction)(item.fieldItemProps) ? item.fieldItemProps(item) : item.fieldItemProps
16717
+ ), {
16718
+ default: vue.withCtx(() => [
16719
+ vue.unref(isFunction)(item.fieldSlot) ? (vue.openBlock(), vue.createBlock(
16720
+ vue.resolveDynamicComponent(item.fieldSlot),
16721
+ vue.normalizeProps(vue.mergeProps({ key: 0 }, item)),
16722
+ null,
16723
+ 16
16724
+ /* FULL_PROPS */
16725
+ )) : vue.unref(isFunction)(_ctx.fieldChildrenSlot) ? (vue.openBlock(), vue.createBlock(
16726
+ vue.resolveDynamicComponent(_ctx.fieldChildrenSlot),
16727
+ vue.normalizeProps(vue.mergeProps({ key: 1 }, item)),
16728
+ null,
16729
+ 16
16730
+ /* FULL_PROPS */
16731
+ )) : (vue.openBlock(), vue.createElementBlock(
16732
+ vue.Fragment,
16733
+ { key: 2 },
16734
+ [
16735
+ vue.createTextVNode(
16736
+ vue.toDisplayString(item.label),
16737
+ 1
16738
+ /* TEXT */
16739
+ )
16740
+ ],
16741
+ 64
16742
+ /* STABLE_FRAGMENT */
16743
+ ))
16744
+ ]),
16745
+ _: 2
16746
+ /* DYNAMIC */
16747
+ }, 1040, ["label", "value"]))
16748
+ ],
16749
+ 64
16750
+ /* STABLE_FRAGMENT */
16674
16751
  );
16675
16752
  }),
16676
16753
  128
@@ -16684,27 +16761,76 @@
16684
16761
  return {
16685
16762
  name: key,
16686
16763
  fn: vue.withCtx((data) => [
16687
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(fieldSlot), vue.mergeProps({
16688
- value: state.value,
16689
- column: params.value
16690
- }, data), null, 16, ["value", "column"]))
16764
+ (vue.openBlock(), vue.createBlock(
16765
+ vue.resolveDynamicComponent(fieldSlot),
16766
+ vue.normalizeProps(vue.guardReactiveProps(data)),
16767
+ null,
16768
+ 16
16769
+ /* FULL_PROPS */
16770
+ ))
16691
16771
  ])
16692
16772
  };
16693
16773
  })
16694
- ]), 1040, ["modelValue", "clearable"])) : (vue.openBlock(), vue.createElementBlock(
16774
+ ]), 1040, ["modelValue", "placeholder", "clearable"])) : vue.unref(hasFieldComponent)(_ctx.valueType) ? (vue.openBlock(), vue.createElementBlock(
16695
16775
  vue.Fragment,
16696
- { key: 1 },
16776
+ { key: 3 },
16697
16777
  [
16698
- vue.createCommentVNode(" no-children "),
16699
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(getFieldComponent)(_ctx.valueType).component), vue.mergeProps({
16778
+ vue.createCommentVNode(" \u7EDF\u4E00\u5904\u7406 "),
16779
+ vue.createCommentVNode(" has-children "),
16780
+ vue.unref(getFieldComponent)(_ctx.valueType).children ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(getFieldComponent)(_ctx.valueType).component), vue.mergeProps({
16781
+ key: 0,
16700
16782
  ref_key: "fieldInstance",
16701
16783
  ref: fieldInstance,
16702
16784
  modelValue: state.value,
16703
16785
  "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => state.value = $event),
16704
16786
  class: "plus-form-item-field",
16705
- clearable: _ctx.clearable,
16706
- "field-children-slot": _ctx.fieldChildrenSlot
16787
+ clearable: _ctx.clearable
16707
16788
  }, commonProps.value, { "onUpdate:modelValue": handleChange }), vue.createSlots({
16789
+ default: vue.withCtx(() => [
16790
+ (vue.openBlock(true), vue.createElementBlock(
16791
+ vue.Fragment,
16792
+ null,
16793
+ vue.renderList(vue.unref(customOptions), (item) => {
16794
+ return vue.openBlock(), vue.createBlock(
16795
+ vue.resolveDynamicComponent(vue.unref(getFieldComponent)(_ctx.valueType).children),
16796
+ vue.mergeProps({
16797
+ key: item.value
16798
+ }, getChildrenProps(item)),
16799
+ {
16800
+ default: vue.withCtx(() => [
16801
+ vue.unref(isFunction)(item.fieldSlot) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(item.fieldSlot), vue.mergeProps({
16802
+ key: 0,
16803
+ "model-value": state.value,
16804
+ column: params.value
16805
+ }, item), null, 16, ["model-value", "column"])) : vue.unref(isFunction)(_ctx.fieldChildrenSlot) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.fieldChildrenSlot), vue.mergeProps({
16806
+ key: 1,
16807
+ "model-value": state.value,
16808
+ column: params.value
16809
+ }, item), null, 16, ["model-value", "column"])) : (vue.openBlock(), vue.createElementBlock(
16810
+ vue.Fragment,
16811
+ { key: 2 },
16812
+ [
16813
+ vue.createTextVNode(
16814
+ vue.toDisplayString(item.label),
16815
+ 1
16816
+ /* TEXT */
16817
+ )
16818
+ ],
16819
+ 64
16820
+ /* STABLE_FRAGMENT */
16821
+ ))
16822
+ ]),
16823
+ _: 2
16824
+ /* DYNAMIC */
16825
+ },
16826
+ 1040
16827
+ /* FULL_PROPS, DYNAMIC_SLOTS */
16828
+ );
16829
+ }),
16830
+ 128
16831
+ /* KEYED_FRAGMENT */
16832
+ ))
16833
+ ]),
16708
16834
  _: 2
16709
16835
  /* DYNAMIC */
16710
16836
  }, [
@@ -16713,88 +16839,129 @@
16713
16839
  name: key,
16714
16840
  fn: vue.withCtx((data) => [
16715
16841
  (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(fieldSlot), vue.mergeProps({
16716
- "model-value": state.value,
16842
+ value: state.value,
16717
16843
  column: params.value
16718
- }, data), null, 16, ["model-value", "column"]))
16844
+ }, data), null, 16, ["value", "column"]))
16719
16845
  ])
16720
16846
  };
16721
16847
  })
16722
- ]), 1040, ["modelValue", "clearable", "field-children-slot"]))
16848
+ ]), 1040, ["modelValue", "clearable"])) : (vue.openBlock(), vue.createElementBlock(
16849
+ vue.Fragment,
16850
+ { key: 1 },
16851
+ [
16852
+ vue.createCommentVNode(" no-children "),
16853
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(getFieldComponent)(_ctx.valueType).component), vue.mergeProps({
16854
+ ref_key: "fieldInstance",
16855
+ ref: fieldInstance,
16856
+ modelValue: state.value,
16857
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => state.value = $event),
16858
+ class: "plus-form-item-field",
16859
+ clearable: _ctx.clearable,
16860
+ "field-children-slot": _ctx.fieldChildrenSlot
16861
+ }, commonProps.value, { "onUpdate:modelValue": handleChange }), vue.createSlots({
16862
+ _: 2
16863
+ /* DYNAMIC */
16864
+ }, [
16865
+ vue.renderList(_ctx.fieldSlots, (fieldSlot, key) => {
16866
+ return {
16867
+ name: key,
16868
+ fn: vue.withCtx((data) => [
16869
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(fieldSlot), vue.mergeProps({
16870
+ "model-value": state.value,
16871
+ column: params.value
16872
+ }, data), null, 16, ["model-value", "column"]))
16873
+ ])
16874
+ };
16875
+ })
16876
+ ]), 1040, ["modelValue", "clearable", "field-children-slot"]))
16877
+ ],
16878
+ 2112
16879
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
16880
+ ))
16723
16881
  ],
16724
- 2112
16725
- /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
16726
- ))
16882
+ 64
16883
+ /* STABLE_FRAGMENT */
16884
+ )) : _ctx.valueType === "text" ? (vue.openBlock(), vue.createBlock(
16885
+ vue.unref(elementPlus.ElText),
16886
+ vue.mergeProps({
16887
+ key: 4,
16888
+ ref_key: "fieldInstance",
16889
+ ref: fieldInstance,
16890
+ class: "plus-form-item-field"
16891
+ }, customFieldProps.value),
16892
+ {
16893
+ default: vue.withCtx(() => [
16894
+ vue.createTextVNode(
16895
+ vue.toDisplayString(state.value),
16896
+ 1
16897
+ /* TEXT */
16898
+ )
16899
+ ]),
16900
+ _: 1
16901
+ /* STABLE */
16902
+ },
16903
+ 16
16904
+ /* FULL_PROPS */
16905
+ )) : _ctx.valueType === "divider" ? (vue.openBlock(), vue.createBlock(
16906
+ vue.unref(elementPlus.ElDivider),
16907
+ vue.mergeProps({
16908
+ key: 5,
16909
+ ref_key: "fieldInstance",
16910
+ ref: fieldInstance,
16911
+ class: "plus-form-item-field"
16912
+ }, customFieldProps.value),
16913
+ {
16914
+ default: vue.withCtx(() => [
16915
+ vue.createTextVNode(
16916
+ vue.toDisplayString(state.value),
16917
+ 1
16918
+ /* TEXT */
16919
+ )
16920
+ ]),
16921
+ _: 1
16922
+ /* STABLE */
16923
+ },
16924
+ 16
16925
+ /* FULL_PROPS */
16926
+ )) : (vue.openBlock(), vue.createBlock(vue.unref(ElInput), vue.mergeProps({
16927
+ key: 6,
16928
+ ref_key: "fieldInstance",
16929
+ ref: fieldInstance,
16930
+ modelValue: state.value,
16931
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => state.value = $event),
16932
+ class: "plus-form-item-field",
16933
+ placeholder: vue.unref(t)("plus.field.pleaseEnter") + labelValue.value,
16934
+ autocomplete: "off",
16935
+ clearable: _ctx.clearable
16936
+ }, customFieldProps.value, { "onUpdate:modelValue": handleChange }), vue.createSlots({
16937
+ _: 2
16938
+ /* DYNAMIC */
16939
+ }, [
16940
+ vue.renderList(_ctx.fieldSlots, (fieldSlot, key) => {
16941
+ return {
16942
+ name: key,
16943
+ fn: vue.withCtx((data) => [
16944
+ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(fieldSlot), vue.mergeProps({
16945
+ "model-value": state.value,
16946
+ column: params.value
16947
+ }, data), null, 16, ["model-value", "column"]))
16948
+ ])
16949
+ };
16950
+ })
16951
+ ]), 1040, ["modelValue", "placeholder", "clearable"])),
16952
+ vue.createVNode(vue.unref(ElTooltip), {
16953
+ visible: placeholderTooltipVisible.value,
16954
+ "onUpdate:visible": _cache[5] || (_cache[5] = ($event) => placeholderTooltipVisible.value = $event),
16955
+ content: placeholderTooltipContent.value,
16956
+ placement: "top",
16957
+ "virtual-triggering": "",
16958
+ "virtual-ref": placeholderVirtualRef.value,
16959
+ disabled: !placeholderTooltipContent.value
16960
+ }, null, 8, ["visible", "content", "virtual-ref", "disabled"])
16727
16961
  ],
16728
- 64
16729
- /* STABLE_FRAGMENT */
16730
- )) : _ctx.valueType === "text" ? (vue.openBlock(), vue.createBlock(
16731
- vue.unref(elementPlus.ElText),
16732
- vue.mergeProps({
16733
- key: 4,
16734
- ref_key: "fieldInstance",
16735
- ref: fieldInstance,
16736
- class: "plus-form-item-field"
16737
- }, customFieldProps.value),
16738
- {
16739
- default: vue.withCtx(() => [
16740
- vue.createTextVNode(
16741
- vue.toDisplayString(state.value),
16742
- 1
16743
- /* TEXT */
16744
- )
16745
- ]),
16746
- _: 1
16747
- /* STABLE */
16748
- },
16749
- 16
16750
- /* FULL_PROPS */
16751
- )) : _ctx.valueType === "divider" ? (vue.openBlock(), vue.createBlock(
16752
- vue.unref(elementPlus.ElDivider),
16753
- vue.mergeProps({
16754
- key: 5,
16755
- ref_key: "fieldInstance",
16756
- ref: fieldInstance,
16757
- class: "plus-form-item-field"
16758
- }, customFieldProps.value),
16759
- {
16760
- default: vue.withCtx(() => [
16761
- vue.createTextVNode(
16762
- vue.toDisplayString(state.value),
16763
- 1
16764
- /* TEXT */
16765
- )
16766
- ]),
16767
- _: 1
16768
- /* STABLE */
16769
- },
16770
- 16
16771
- /* FULL_PROPS */
16772
- )) : (vue.openBlock(), vue.createBlock(vue.unref(ElInput), vue.mergeProps({
16773
- key: 6,
16774
- ref_key: "fieldInstance",
16775
- ref: fieldInstance,
16776
- modelValue: state.value,
16777
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => state.value = $event),
16778
- class: "plus-form-item-field",
16779
- placeholder: vue.unref(t)("plus.field.pleaseEnter") + labelValue.value,
16780
- autocomplete: "off",
16781
- clearable: _ctx.clearable
16782
- }, customFieldProps.value, { "onUpdate:modelValue": handleChange }), vue.createSlots({
16783
- _: 2
16784
- /* DYNAMIC */
16785
- }, [
16786
- vue.renderList(_ctx.fieldSlots, (fieldSlot, key) => {
16787
- return {
16788
- name: key,
16789
- fn: vue.withCtx((data) => [
16790
- (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(fieldSlot), vue.mergeProps({
16791
- "model-value": state.value,
16792
- column: params.value
16793
- }, data), null, 16, ["model-value", "column"]))
16794
- ])
16795
- };
16796
- })
16797
- ]), 1040, ["modelValue", "placeholder", "clearable"]))
16962
+ 32
16963
+ /* NEED_HYDRATION */
16964
+ )
16798
16965
  ]),
16799
16966
  _: 2
16800
16967
  /* DYNAMIC */
@@ -16816,31 +16983,57 @@
16816
16983
  name: "label",
16817
16984
  fn: vue.withCtx(({ label: currentLabel }) => [
16818
16985
  vue.createElementVNode("span", _hoisted_2$i, [
16819
- _ctx.renderLabel && vue.unref(isFunction)(_ctx.renderLabel) ? (vue.openBlock(), vue.createElementBlock(
16820
- vue.Fragment,
16821
- { key: 0 },
16822
- [
16823
- valueIsReady.value ? (vue.openBlock(), vue.createBlock(vue.unref(PlusRender), {
16824
- key: 0,
16825
- render: _ctx.renderLabel,
16826
- params: params.value,
16827
- "callback-value": currentLabel,
16828
- "custom-field-props": customFieldProps.value
16829
- }, null, 8, ["render", "params", "callback-value", "custom-field-props"])) : vue.createCommentVNode("v-if", true)
16830
- ],
16831
- 64
16832
- /* STABLE_FRAGMENT */
16833
- )) : vue.renderSlot(_ctx.$slots, vue.unref(getLabelSlotName)(_ctx.prop), vue.normalizeProps(vue.mergeProps({ key: 1 }, params.value)), () => [
16834
- vue.createTextVNode(
16835
- vue.toDisplayString(currentLabel),
16836
- 1
16837
- /* TEXT */
16838
- )
16839
- ]),
16986
+ vue.createVNode(vue.unref(ElTooltip), {
16987
+ visible: labelTooltipVisible.value,
16988
+ "onUpdate:visible": _cache[0] || (_cache[0] = ($event) => labelTooltipVisible.value = $event),
16989
+ content: labelTooltipContent.value,
16990
+ placement: "top",
16991
+ disabled: !labelOverflow.value || !labelTooltipContent.value
16992
+ }, {
16993
+ default: vue.withCtx(() => [
16994
+ vue.createElementVNode(
16995
+ "span",
16996
+ {
16997
+ ref_key: "labelTextRef",
16998
+ ref: labelTextRef,
16999
+ class: "plus-form-item__label-text",
17000
+ onMouseenter: showLabelTooltip,
17001
+ onMouseleave: hideLabelTooltip
17002
+ },
17003
+ [
17004
+ _ctx.renderLabel && vue.unref(isFunction)(_ctx.renderLabel) ? (vue.openBlock(), vue.createElementBlock(
17005
+ vue.Fragment,
17006
+ { key: 0 },
17007
+ [
17008
+ valueIsReady.value ? (vue.openBlock(), vue.createBlock(vue.unref(PlusRender), {
17009
+ key: 0,
17010
+ render: _ctx.renderLabel,
17011
+ params: params.value,
17012
+ "callback-value": currentLabel,
17013
+ "custom-field-props": customFieldProps.value
17014
+ }, null, 8, ["render", "params", "callback-value", "custom-field-props"])) : vue.createCommentVNode("v-if", true)
17015
+ ],
17016
+ 64
17017
+ /* STABLE_FRAGMENT */
17018
+ )) : vue.renderSlot(_ctx.$slots, vue.unref(getLabelSlotName)(_ctx.prop), vue.normalizeProps(vue.mergeProps({ key: 1 }, params.value)), () => [
17019
+ vue.createTextVNode(
17020
+ vue.toDisplayString(currentLabel),
17021
+ 1
17022
+ /* TEXT */
17023
+ )
17024
+ ])
17025
+ ],
17026
+ 544
17027
+ /* NEED_HYDRATION, NEED_PATCH */
17028
+ )
17029
+ ]),
17030
+ _: 2
17031
+ /* DYNAMIC */
17032
+ }, 1032, ["visible", "content", "disabled"]),
16840
17033
  _ctx.tooltip ? (vue.openBlock(), vue.createBlock(
16841
17034
  vue.unref(ElTooltip),
16842
17035
  vue.mergeProps({
16843
- key: 2,
17036
+ key: 0,
16844
17037
  placement: "top"
16845
17038
  }, vue.unref(getTooltip)(_ctx.tooltip)),
16846
17039
  {
@@ -19177,6 +19370,27 @@
19177
19370
 
19178
19371
  var PlusTableTitleBar = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-d1506155"], ["__file", "table-title-bar.vue"]]);
19179
19372
 
19373
+ const TABLE_DENSITY_STORAGE_KEY = "yc-table-density";
19374
+ const VALID_TABLE_DENSITY = ["default", "large", "small"];
19375
+ const readStoredTableDensity = () => {
19376
+ try {
19377
+ const value = localStorage.getItem(TABLE_DENSITY_STORAGE_KEY);
19378
+ if (value && VALID_TABLE_DENSITY.includes(value)) {
19379
+ return value;
19380
+ }
19381
+ } catch (e) {
19382
+ }
19383
+ return null;
19384
+ };
19385
+ const sharedTableDensity = vue.ref(readStoredTableDensity());
19386
+ const applyTableDensity = (nextSize) => {
19387
+ sharedTableDensity.value = nextSize;
19388
+ try {
19389
+ localStorage.setItem(TABLE_DENSITY_STORAGE_KEY, nextSize);
19390
+ } catch (e) {
19391
+ }
19392
+ };
19393
+
19180
19394
  const _hoisted_1$j = { class: "plus-table-expand-col" };
19181
19395
  var _sfc_main$x = /* @__PURE__ */ vue.defineComponent({
19182
19396
  ...{
@@ -19222,7 +19436,7 @@
19222
19436
  },
19223
19437
  emits: ["paginationChange", "clickAction", "clickActionConfirmCancel", "dragSortEnd", "formChange", "refresh", "edited", "cell-click", "cell-dblclick", "filterTableHeader", "radioChange"],
19224
19438
  setup(__props, { expose: __expose, emit: __emit }) {
19225
- var _a, _b;
19439
+ var _a, _b, _c;
19226
19440
  const props = __props;
19227
19441
  const emit = __emit;
19228
19442
  const radioRow = vue.ref();
@@ -19241,9 +19455,14 @@
19241
19455
  subPageInfo: {
19242
19456
  ...((_a = props.pagination) == null ? void 0 : _a.modelValue) || DefaultPageInfo
19243
19457
  },
19244
- size: props.defaultSize
19458
+ size: (_b = sharedTableDensity.value) != null ? _b : props.defaultSize
19245
19459
  });
19246
19460
  const cachedTableData = vue.ref([]);
19461
+ vue.watch(sharedTableDensity, (val) => {
19462
+ if (val) {
19463
+ state.size = val;
19464
+ }
19465
+ });
19247
19466
  vue.watchEffect(() => {
19248
19467
  var _a2;
19249
19468
  cachedTableData.value = ((_a2 = props.tableData) == null ? void 0 : _a2.length) ? props.tableData : props.data;
@@ -19300,7 +19519,7 @@
19300
19519
  );
19301
19520
  };
19302
19521
  const handleClickDensity = (size2) => {
19303
- state.size = size2;
19522
+ applyTableDensity(size2);
19304
19523
  };
19305
19524
  const handleDragSortEnd = (newIndex, oldIndex) => {
19306
19525
  emit("dragSortEnd", newIndex, oldIndex);
@@ -19383,7 +19602,7 @@
19383
19602
  };
19384
19603
  const debounceSetAdaptive = debounce(
19385
19604
  setAdaptive,
19386
- isPlainObject$1(props.adaptive) ? (_b = props.adaptive.timeout) != null ? _b : 60 : 60
19605
+ isPlainObject$1(props.adaptive) ? (_c = props.adaptive.timeout) != null ? _c : 60 : 60
19387
19606
  );
19388
19607
  vue.onMounted(() => {
19389
19608
  if (hasAdaptive.value) {
@@ -64713,7 +64932,7 @@
64713
64932
  });
64714
64933
  }
64715
64934
 
64716
- const version = "0.0.82";
64935
+ const version = "0.0.84";
64717
64936
 
64718
64937
  const install = installer.install;
64719
64938