jky-component-lib 0.0.64 → 0.0.65

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.
@@ -37,7 +37,7 @@ var __async = (__this, __arguments, generator) => {
37
37
  step((generator = generator.apply(__this, __arguments)).next());
38
38
  });
39
39
  };
40
- import { defineComponent, useModel, ref, computed, onMounted, resolveComponent, resolveDirective, openBlock, createElementBlock, normalizeClass, createBlock, unref, withCtx, createVNode, mergeProps, createElementVNode, createTextVNode, toDisplayString, createCommentVNode, resolveDynamicComponent, withDirectives, Fragment, renderList, renderSlot, mergeModels } from "vue";
40
+ import { defineComponent, ref, watch, useModel, computed, onMounted, resolveComponent, resolveDirective, openBlock, createElementBlock, normalizeClass, createBlock, unref, withCtx, createVNode, mergeProps, createElementVNode, createTextVNode, toDisplayString, createCommentVNode, resolveDynamicComponent, withDirectives, Fragment, renderList, renderSlot, normalizeStyle, mergeModels } from "vue";
41
41
  import { useFullscreen } from "@vueuse/core";
42
42
  import { ElCard, ElTable, ElTableColumn, ElScrollbar, ElPagination } from "element-plus";
43
43
  import { JkyForm } from "../form/index.js";
@@ -72,14 +72,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
72
72
  tableProps: { default: () => ({}) },
73
73
  paginationProps: { default: () => ({}) },
74
74
  toolbarButtonLimit: { default: 0 },
75
- toolbarButtons: {}
75
+ toolbarButtons: {},
76
+ autoSearchDelay: { default: 500 }
76
77
  }, {
77
- "form": {
78
- default: () => ({})
79
- },
80
- "formModifiers": {},
81
78
  "pagination": {
82
79
  default: () => ({
80
+ position: "flex-end",
83
81
  currentPage: 1,
84
82
  pageSize: 10,
85
83
  total: 0
@@ -87,16 +85,38 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
87
85
  },
88
86
  "paginationModifiers": {}
89
87
  }),
90
- emits: /* @__PURE__ */ mergeModels(["search", "reset", "refresh", "rowClick", "rowDblclick", "selectionChange", "pageChange", "sortChange"], ["update:form", "update:pagination"]),
88
+ emits: /* @__PURE__ */ mergeModels(["search", "reset", "refresh", "update:form", "rowClick", "rowDblclick", "selectionChange", "pageChange", "sortChange"], ["update:pagination"]),
91
89
  setup(__props, { expose: __expose, emit: __emit }) {
92
90
  const props = __props;
93
91
  const emit = __emit;
94
- const form = useModel(__props, "form");
92
+ const form = ref(props.form || {});
93
+ watch(() => props.form, (newVal) => {
94
+ if (newVal) {
95
+ form.value = newVal;
96
+ }
97
+ }, { deep: true });
98
+ watch(
99
+ () => form.value,
100
+ (newVal) => {
101
+ emit("update:form", newVal);
102
+ },
103
+ { deep: true }
104
+ );
95
105
  const pagination = useModel(__props, "pagination");
96
106
  const internalData = ref([]);
97
107
  const tableRef = ref(null);
98
108
  const formRef = ref(null);
99
109
  const isLoading = ref(props.loading);
110
+ let debounceTimer = null;
111
+ function _debouncedLoadData() {
112
+ if (debounceTimer)
113
+ clearTimeout(debounceTimer);
114
+ if (props.autoSearchDelay === 0)
115
+ return;
116
+ debounceTimer = setTimeout(() => {
117
+ loadData();
118
+ }, props.autoSearchDelay);
119
+ }
100
120
  const pageTableRef = ref(null);
101
121
  const { isFullscreen: _isFullscreen, toggle: toggleFullscreen } = useFullscreen(pageTableRef);
102
122
  function handleRefresh() {
@@ -129,17 +149,32 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
129
149
  function getColumnProps(column) {
130
150
  return __spreadValues({}, column);
131
151
  }
152
+ function buildApiParams() {
153
+ var _a, _b;
154
+ const baseParams = {
155
+ currentPage: pagination.value.currentPage || 1,
156
+ pageSize: pagination.value.pageSize || 10
157
+ };
158
+ if ((_a = props.dataSource) == null ? void 0 : _a.getApiParams) {
159
+ const dynamicParams = props.dataSource.getApiParams(form.value);
160
+ return __spreadValues(__spreadValues(__spreadValues({}, baseParams), form.value), dynamicParams);
161
+ }
162
+ if ((_b = props.dataSource) == null ? void 0 : _b.apiParams) {
163
+ return __spreadValues(__spreadValues(__spreadValues({}, baseParams), form.value), props.dataSource.apiParams);
164
+ }
165
+ return __spreadValues(__spreadValues({}, baseParams), form.value);
166
+ }
132
167
  function loadData() {
133
168
  return __async(this, null, function* () {
134
169
  var _a;
135
- if (!((_a = props.dataSource) == null ? void 0 : _a.api))
170
+ if (!((_a = props.dataSource) == null ? void 0 : _a.api)) {
171
+ console.warn("PageTable: 没有配置 dataSource.api");
136
172
  return;
173
+ }
137
174
  isLoading.value = true;
138
175
  try {
139
- const result = yield props.dataSource.api(__spreadValues({
140
- currentPage: pagination.value.currentPage || 1,
141
- pageSize: pagination.value.pageSize || 10
142
- }, form.value));
176
+ const apiParams = buildApiParams();
177
+ const result = yield props.dataSource.api(apiParams);
143
178
  const responseProps = props.dataSource.responseProps || {};
144
179
  const recordsField = responseProps.recordsField || "records";
145
180
  const totalField = responseProps.totalField || "total";
@@ -149,8 +184,25 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
149
184
  currentPage: pagination.value.currentPage,
150
185
  pageSize: pagination.value.pageSize
151
186
  });
187
+ if (props.selectedRows && props.selectedRows.length > 0) {
188
+ setTimeout(() => {
189
+ if (tableRef.value) {
190
+ tableRef.value.clearSelection();
191
+ props.selectedRows.forEach((selectedRow) => {
192
+ const rowKey = tableRef.value.props.rowKey || "id";
193
+ const keyValue = selectedRow[rowKey];
194
+ const matchedRow = internalData.value.find(
195
+ (row) => row[rowKey] === keyValue
196
+ );
197
+ if (matchedRow) {
198
+ tableRef.value.toggleRowSelection(matchedRow, true);
199
+ }
200
+ });
201
+ }
202
+ }, 0);
203
+ }
152
204
  } catch (error) {
153
- console.error("加载数据失败:", error);
205
+ console.error("PageTable: 加载数据失败:", error);
154
206
  internalData.value = [];
155
207
  pagination.value.total = 0;
156
208
  } finally {
@@ -168,8 +220,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
168
220
  }
169
221
  function handleReset() {
170
222
  var _a;
171
- form.value = {};
172
223
  emit("reset");
224
+ form.value = {};
173
225
  if (formRef.value) {
174
226
  formRef.value.resetFields();
175
227
  }
@@ -251,8 +303,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
251
303
  loadData();
252
304
  }
253
305
  });
306
+ watch(
307
+ () => form.value,
308
+ () => {
309
+ var _a;
310
+ if (!props.showSearchButton && ((_a = props.dataSource) == null ? void 0 : _a.api)) {
311
+ _debouncedLoadData();
312
+ }
313
+ },
314
+ { deep: true }
315
+ );
254
316
  return (_ctx, _cache) => {
255
- var _a, _b;
317
+ var _a, _b, _c;
256
318
  const _component_ElButton = resolveComponent("ElButton");
257
319
  const _directive_loading = resolveDirective("loading");
258
320
  return openBlock(), createElementBlock("div", {
@@ -267,13 +329,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
267
329
  default: withCtx(() => [
268
330
  createVNode(unref(JkyForm), mergeProps({
269
331
  ref_key: "formRef",
270
- ref: formRef,
332
+ ref: formRef
333
+ }, __spreadValues({ inline: true }, __props.formProps), {
271
334
  modelValue: form.value,
272
335
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => form.value = $event),
336
+ "show-footer": false,
273
337
  items: __props.filterItems,
274
- inline: true,
275
338
  disabled: isLoading.value
276
- }, __spreadProps(__spreadValues({}, __props.formProps), { inline: true })), null, 16, ["modelValue", "items", "disabled"]),
339
+ }), null, 16, ["modelValue", "items", "disabled"]),
277
340
  createElementVNode("div", _hoisted_1, [
278
341
  createVNode(_component_ElButton, {
279
342
  type: "primary",
@@ -297,12 +360,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
297
360
  })) : createCommentVNode("", true),
298
361
  (openBlock(), createBlock(resolveDynamicComponent(props.withCard ? unref(ElCard) : "div"), { class: "jky-page-table__table-card min-h-0" }, {
299
362
  default: withCtx(() => {
300
- var _a2, _b2, _c, _d, _e, _f, _g;
363
+ var _a2, _b2, _c2, _d, _e, _f, _g;
301
364
  return [
302
365
  createVNode(_sfc_main$1, {
303
366
  "left-buttons": ((_a2 = props.toolbarButtons) == null ? void 0 : _a2.left) || [],
304
367
  "batch-buttons": ((_b2 = props.toolbarButtons) == null ? void 0 : _b2.batch) || [],
305
- "right-buttons": ((_c = props.toolbarButtons) == null ? void 0 : _c.right) || [],
368
+ "right-buttons": ((_c2 = props.toolbarButtons) == null ? void 0 : _c2.right) || [],
306
369
  "default-buttons": defaultRightButtons.value,
307
370
  "selected-count": selectedCount.value,
308
371
  "toolbar-button-limit": __props.toolbarButtonLimit,
@@ -370,12 +433,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
370
433
  })),
371
434
  showPagination.value ? (openBlock(), createBlock(resolveDynamicComponent(((_a = pagination.value) == null ? void 0 : _a.withCard) ? unref(ElCard) : "div"), {
372
435
  key: 1,
373
- class: normalizeClass(["flex flex-end bg-white justify-center mt-4 p-2 z-30 sticky bottom-0 jky-page-table__pagination", [((_b = pagination.value) == null ? void 0 : _b.class) || ""]])
436
+ class: normalizeClass(["flex flex-end bg-white justify-center mt-4 p-2 z-30 sticky bottom-0 jky-page-table__pagination", [((_b = pagination.value) == null ? void 0 : _b.class) || ""]]),
437
+ style: normalizeStyle({
438
+ "--jky-page-table_pagination-position": ((_c = pagination.value) == null ? void 0 : _c.position) || "flex-end"
439
+ })
374
440
  }, {
375
441
  default: withCtx(() => [
376
442
  createVNode(unref(ElScrollbar), { class: "w-full" }, {
377
443
  default: withCtx(() => {
378
- var _a2, _b2, _c, _d, _e, _f, _g, _h;
444
+ var _a2, _b2, _c2, _d, _e, _f, _g, _h;
379
445
  return [
380
446
  createVNode(unref(ElPagination), mergeProps({
381
447
  "current-page": pagination.value.currentPage,
@@ -385,7 +451,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
385
451
  total: pagination.value.total,
386
452
  "page-sizes": ((_a2 = pagination.value) == null ? void 0 : _a2.pageSizes) || [10, 20, 50, 100],
387
453
  layout: ((_b2 = pagination.value) == null ? void 0 : _b2.layout) || "total, sizes, prev, pager, next, jumper",
388
- "show-size-picker": (_d = (_c = pagination.value) == null ? void 0 : _c.showSizePicker) != null ? _d : true,
454
+ "show-size-picker": (_d = (_c2 = pagination.value) == null ? void 0 : _c2.showSizePicker) != null ? _d : true,
389
455
  "show-total": (_f = (_e = pagination.value) == null ? void 0 : _e.showTotal) != null ? _f : true,
390
456
  "show-jumper": (_h = (_g = pagination.value) == null ? void 0 : _g.showJumper) != null ? _h : true
391
457
  }, __props.paginationProps, {
@@ -398,7 +464,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent(__spreadProps(__spreadValues({
398
464
  })
399
465
  ]),
400
466
  _: 1
401
- }, 8, ["class"])) : createCommentVNode("", true)
467
+ }, 8, ["class", "style"])) : createCommentVNode("", true)
402
468
  ], 2);
403
469
  };
404
470
  }
@@ -1,2 +1,10 @@
1
1
  /* PageTable 组件样式 */
2
- .jky-page-table {}
2
+ .jky-page-table {
3
+ --jky-page-table_pagination-position: flex-end;
4
+ .jky-page-table__pagination {
5
+ .el-scrollbar__view {
6
+ display: flex;
7
+ justify-content: var(--jky-page-table_pagination-position);
8
+ }
9
+ }
10
+ }
package/dist/es/style.css CHANGED
@@ -433,16 +433,8 @@
433
433
  z-index: 999;
434
434
  }
435
435
 
436
- .col-span-4 {
437
- grid-column: span 4 / span 4;
438
- }
439
-
440
- .col-span-6 {
441
- grid-column: span 6 / span 6;
442
- }
443
-
444
- .col-span-8 {
445
- grid-column: span 8 / span 8;
436
+ .col-span-2 {
437
+ grid-column: span 2 / span 2;
446
438
  }
447
439
 
448
440
  .col-span-12 {
@@ -453,6 +445,14 @@
453
445
  grid-column: span 24 / span 24;
454
446
  }
455
447
 
448
+ .col-span-\[n\] {
449
+ grid-column: span n / span n;
450
+ }
451
+
452
+ .col-span-full {
453
+ grid-column: 1 / -1;
454
+ }
455
+
456
456
  .container {
457
457
  width: 100%;
458
458
  }
@@ -499,8 +499,8 @@
499
499
  margin-top: calc(var(--spacing) * 4);
500
500
  }
501
501
 
502
- .mt-6 {
503
- margin-top: calc(var(--spacing) * 6);
502
+ .mt-8 {
503
+ margin-top: calc(var(--spacing) * 8);
504
504
  }
505
505
 
506
506
  .mr-2 {
@@ -519,6 +519,10 @@
519
519
  margin-bottom: calc(var(--spacing) * 4);
520
520
  }
521
521
 
522
+ .mb-8 {
523
+ margin-bottom: calc(var(--spacing) * 8);
524
+ }
525
+
522
526
  .ml-0\! {
523
527
  margin-left: calc(var(--spacing) * 0) !important;
524
528
  }
@@ -1171,6 +1175,10 @@
1171
1175
  min-width: calc(var(--spacing) * 0);
1172
1176
  }
1173
1177
 
1178
+ .min-w-25 {
1179
+ min-width: calc(var(--spacing) * 25);
1180
+ }
1181
+
1174
1182
  .flex-1 {
1175
1183
  flex: 1;
1176
1184
  }
@@ -1256,10 +1264,6 @@
1256
1264
  margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
1257
1265
  }
1258
1266
 
1259
- .gap-x-4 {
1260
- column-gap: calc(var(--spacing) * 4);
1261
- }
1262
-
1263
1267
  :where(.space-x-2 > :not(:last-child)) {
1264
1268
  --tw-space-x-reverse: 0;
1265
1269
  margin-inline-start: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
@@ -1739,10 +1743,6 @@
1739
1743
  }
1740
1744
 
1741
1745
  @media (min-width: 48rem) {
1742
- .md\:col-span-6 {
1743
- grid-column: span 6 / span 6;
1744
- }
1745
-
1746
1746
  .md\:col-span-8 {
1747
1747
  grid-column: span 8 / span 8;
1748
1748
  }
@@ -1765,17 +1765,9 @@
1765
1765
  }
1766
1766
 
1767
1767
  @media (min-width: 64rem) {
1768
- .lg\:col-span-4 {
1769
- grid-column: span 4 / span 4;
1770
- }
1771
-
1772
1768
  .lg\:col-span-6 {
1773
1769
  grid-column: span 6 / span 6;
1774
1770
  }
1775
-
1776
- .lg\:col-span-8 {
1777
- grid-column: span 8 / span 8;
1778
- }
1779
1771
  }
1780
1772
  }
1781
1773
 
@@ -1 +1 @@
1
- :root{--jky-add-input-gap:12px;--jky-add-input-row-gap:8px;--jky-add-input-min-width:100px;--jky-add-input-action-width:80px}.jky-add-input{display:flex;flex-direction:column;gap:var(--jky-add-input-row-gap);min-width:var(--jky-add-input-min-width)}.jky-add-input__row{align-items:center;display:flex;gap:var(--jky-add-input-gap)}.jky-add-input__key,.jky-add-input__value{flex:1;min-width:0}.jky-add-input__actions{display:flex;flex-shrink:0;gap:var(--jky-add-input-gap);width:var(--jky-add-input-action-width)}:root{--jky-button-primary-bg:#007bff;--jky-button-primary-text:#fff;--jky-button-primary-hover-bg:#0056b3;--jky-button-success-bg:#28a745;--jky-button-success-text:#fff;--jky-button-success-hover-bg:#1e7e34;--jky-button-warning-bg:#ffc107;--jky-button-warning-text:#fff;--jky-button-warning-hover-bg:#e0a800;--jky-button-danger-bg:#dc3545;--jky-button-danger-text:#fff;--jky-button-danger-hover-bg:#c82333;--jky-button-info-bg:#6c757d;--jky-button-info-text:#fff;--jky-button-info-hover-bg:#5a6268;--jky-button-default-bg:#fff;--jky-button-default-text:#606266;--jky-button-default-border:#dcdfe6;--jky-button-default-hover-bg:#f5f7fa;--jky-button-font-size:14px;--jky-button-font-size-small:12px;--jky-button-font-size-large:16px;--jky-button-padding:0 16px;--jky-button-padding-small:0 12px;--jky-button-padding-large:0 20px;--jky-button-height:40px;--jky-button-height-small:32px;--jky-button-height-large:48px;--jky-button-border-radius:0.375rem;--jky-button-disabled-opacity:0.5;--jky-button-disabled-bg:#f5f7fa;--jky-button-disabled-text:#c0c4cc;--jky-button-loading-opacity:0.7;--jky-button-icon-size:1.25rem;--jky-button-icon-margin:0.5rem}.jky-button{align-items:center;background-color:var(--jky-button-default-bg);border:1px solid var(--jky-button-default-border);border-radius:var(--jky-button-border-radius);color:var(--jky-button-default-text);cursor:pointer;display:inline-flex;font-size:var(--jky-button-font-size);font-weight:500;height:var(--jky-button-height);justify-content:center;padding:var(--jky-button-padding);transition:color .2s,background-color .2s}.jky-button--primary{background-color:var(--jky-button-primary-bg);border:none;color:var(--jky-button-primary-text)}.jky-button--primary:hover{background-color:var(--jky-button-primary-hover-bg)}.jky-button--success{background-color:var(--jky-button-success-bg);border:none;color:var(--jky-button-success-text)}.jky-button--success:hover{background-color:var(--jky-button-success-hover-bg)}.jky-button--warning{background-color:var(--jky-button-warning-bg);border:none;color:var(--jky-button-warning-text)}.jky-button--warning:hover{background-color:var(--jky-button-warning-hover-bg)}.jky-button--danger{background-color:var(--jky-button-danger-bg);border:none;color:var(--jky-button-danger-text)}.jky-button--danger:hover{background-color:var(--jky-button-danger-hover-bg)}.jky-button--info{background-color:var(--jky-button-info-bg);border:none;color:var(--jky-button-info-text)}.jky-button--info:hover{background-color:var(--jky-button-info-hover-bg)}.jky-button--small{font-size:var(--jky-button-font-size-small);height:var(--jky-button-height-small);padding:var(--jky-button-padding-small)}.jky-button--large{font-size:var(--jky-button-font-size-large);height:var(--jky-button-height-large);padding:var(--jky-button-padding-large)}.jky-button.is-disabled{background-color:var(--jky-button-disabled-bg);color:var(--jky-button-disabled-text);cursor:not-allowed;opacity:var(--jky-button-disabled-opacity);pointer-events:none}.jky-button.is-loading{opacity:var(--jky-button-loading-opacity);pointer-events:none;position:relative}.jky-button__loading{display:flex;inset:0;position:absolute}.jky-button__icon,.jky-button__loading{align-items:center;justify-content:center}.jky-button__icon{display:inline-flex;font-size:1em;margin-right:var(--jky-button-icon-margin)}.jky-button__icon:only-child{margin-right:0}.jky-button--suffix .jky-button__icon{margin-left:var(--jky-button-icon-margin);margin-right:0}.jky-button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #000;outline:2px solid transparent;outline-offset:2px}.loading-spinner{animation:spin 1s linear infinite;height:var(--jky-button-icon-size);width:var(--jky-button-icon-size)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--jky-button-nav-active-bg:var(--el-color-primary);--jky-button-nav-active-text:#fff;--jky-button-nav-inactive-bg:var(--el-fill-color-light);--jky-button-nav-inactive-text:var(--el-text-color-regular);--el-dropdown-menu-margin-left:12px}.jky-button-nav{align-items:center;display:flex;flex-wrap:wrap;.el-dropdown{margin-left:var(--el-dropdown-menu-margin-left)}}.jky-button-nav-item{background-color:var(--jky-button-nav-inactive-bg);color:var(--jky-button-nav-inactive-text);&.is-active,&[aria-pressed=true]{background-color:var(--jky-button-nav-active-bg);color:var(--jky-button-nav-active-text)}}:root{--j-code-mirror-border-color:#dcdfe6;--j-code-mirror-border-radius:4px;--j-code-mirror-height:400px}.j-code-mirror-editor{border-radius:var(--j-code-mirror-border-radius);height:var(--j-code-mirror-height);overflow:hidden;width:100%}.code-mirror-container{height:100%;overflow:auto;width:100%}.code-mirror-container .cm-editor{height:100%}.code-mirror-container .cm-scroller{font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.5;overflow:auto}.code-mirror-container .cm-gutters{background-color:#2c2d2d;border-color:#4c4d4f;color:#909399}:root{--jky-form-item-border-width:4px;--jky-form-item-border-color:var(--el-color-primary);--jky-form-item-bg-color:rgba(var(--el-color-primary-rgb),0.5)}:root{--jky-menu-bg-color:#fff;--jky-menu-text-color:#303133;--jky-menu-active-color:#409eff;--jky-menu-hover-bg-color:#f5f7fa;--jky-menu-hover-text-color:#606266;--jky-menu-item-height:56px;--jky-menu-item-padding:0 20px;--jky-menu-item-font-size:14px;--jky-menu-icon-size:18px;--jky-menu-icon-margin:8px;--jky-menu-border-color:#e4e7ed;--jky-menu-disabled-opacity:0.5;--jky-menu-disabled-text-color:#c0c4cc}.jky-menu{li+li{margin-top:0}}.jky-menu-item__icon{align-items:center;display:inline-flex;flex-shrink:0;font-size:var(--jky-menu-icon-size);height:var(--jky-menu-icon-size);justify-content:center;margin-right:var(--jky-menu-icon-margin);width:var(--jky-menu-icon-size)}:root{--jky-page-header-bg-color:#1890ff;--jky-page-header-bg-size:cover;--jky-page-header-bg-position:center;--jky-page-header-box-shadow:0 2px 8px rgba(0,0,0,.15);--jky-page-header-padding-x:24px;--jky-page-header-padding-x-mobile:16px;--jky-page-header-gap:16px;--jky-page-header-gap-mobile:12px;--jky-page-header-gap-left:12px;--jky-page-header-gap-status:12px;--jky-page-header-gap-center:24px;--jky-page-header-gap-center-mobile:12px;--jky-page-header-title-color:#fff;--jky-page-header-title-size:20px;--jky-page-header-title-size-mobile:16px;--jky-page-header-title-weight:600;--jky-page-header-text-color:hsla(0,0%,100%,.85);--jky-page-header-text-size:16px;--jky-page-header-icon-color:#fff;--jky-page-header-icon-size:20px;--jky-page-header-icon-hover-opacity:0.8;--jky-page-header-logo-height:40px;--jky-page-header-avatar-size:32px}.jky-page-header{background-color:var(--jky-page-header-bg-color);background-position:var(--jky-page-header-bg-position);background-size:var(--jky-page-header-bg-size);box-shadow:var(--jky-page-header-box-shadow);width:100%}.jky-page-header__container{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:100%;padding:0 var(--jky-page-header-padding-x)}.jky-page-header__left{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap-left)}.jky-page-header__logo{height:var(--jky-page-header-logo-height);object-fit:contain;width:auto}.jky-page-header__title{color:var(--jky-page-header-title-color);font-size:var(--jky-page-header-title-size);font-weight:var(--jky-page-header-title-weight);white-space:nowrap}.jky-page-header__center{align-items:center;display:flex;flex:1;justify-content:center;margin:0 var(--jky-page-header-gap-center);min-width:0}.jky-page-header__right{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap)}.jky-page-header__status-icons{align-items:center;display:flex;gap:var(--jky-page-header-gap-status)}.jky-page-header__status-icon{color:var(--jky-page-header-icon-color);cursor:pointer;transition:opacity .2s;&:hover{opacity:var(--jky-page-header-icon-hover-opacity)}}.jky-page-header__time{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size);white-space:nowrap}.jky-page-header__user{align-items:center;color:var(--jky-page-header-text-color);cursor:pointer;display:flex;gap:8px}.jky-page-header__avatar{color:var(--jky-page-header-icon-color);img{height:100%;object-fit:cover;width:100%}}.jky-page-header__username{white-space:nowrap}.jky-page-header__logout,.jky-page-header__username{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size)}@media (max-width:768px){.jky-page-header__container{padding:0 var(--jky-page-header-padding-x-mobile)}.jky-page-header__title{font-size:var(--jky-page-header-title-size-mobile)}.jky-page-header__center{margin:0 var(--jky-page-header-gap-center-mobile)}.jky-page-header__right{gap:var(--jky-page-header-gap-mobile)}}.jky-page-layout{.el-menu{border-right:none}}:root{--jky-rich-editor-border:#d9d9d9;--jky-rich-editor-border-hover:#409eff;--jky-rich-editor-border-radius:4px;--jky-rich-editor-box-shadow:0 0 0 1px #409eff}.jky-rich-editor{width:100%}.jky-rich-editor .tox-tinymce{border:1px solid var(--jky-rich-editor-border);border-radius:var(--jky-rich-editor-border-radius);transition:border-color .2s}.jky-rich-editor .tox-tinymce:hover{border-color:var(--jky-rich-editor-border-hover)}.jky-rich-editor .tox-tinymce:focus-within{border-color:var(--jky-rich-editor-border-hover);box-shadow:var(--jky-rich-editor-box-shadow)}.jky-rich-editor.is-disabled .tox-tinymce{background-color:#f5f7fa;cursor:not-allowed}.jky-rich-editor.is-readonly .tox-tinymce{background-color:#fafafa}:root{--jky-say-hello-bg:#42b883;--jky-say-hello-text:#fff;--jky-say-hello-hover-bg:#3aa876;--jky-say-hello-font-size:16px;--jky-say-hello-padding:8px 20px;--jky-say-hello-margin:4px 2px;--jky-say-hello-border-radius:6px}.jky-say-hello{background-color:var(--jky-say-hello-bg);border-radius:var(--jky-say-hello-border-radius);color:var(--jky-say-hello-text);cursor:pointer;display:inline-block;font-size:var(--jky-say-hello-font-size);margin:var(--jky-say-hello-margin);padding:var(--jky-say-hello-padding);text-align:center;text-decoration:none;transition:background-color .2s ease}.jky-say-hello:hover{background-color:var(--jky-say-hello-hover-bg)}@import "tailwindcss";@plugin "@iconify/tailwind4";@source "../node_modules/jky-component-lib/dist/es/";@source "../docs/**/*.md";@source "./**/*.md";@source "./**/*.vue";@source "./**/*.css";@custom-variant dark (&:is(.dark *))
1
+ :root{--jky-add-input-gap:12px;--jky-add-input-row-gap:8px;--jky-add-input-min-width:100px;--jky-add-input-action-width:80px}.jky-add-input{display:flex;flex-direction:column;gap:var(--jky-add-input-row-gap);min-width:var(--jky-add-input-min-width)}.jky-add-input__row{align-items:center;display:flex;gap:var(--jky-add-input-gap)}.jky-add-input__key,.jky-add-input__value{flex:1;min-width:0}.jky-add-input__actions{display:flex;flex-shrink:0;gap:var(--jky-add-input-gap);width:var(--jky-add-input-action-width)}:root{--jky-button-primary-bg:#007bff;--jky-button-primary-text:#fff;--jky-button-primary-hover-bg:#0056b3;--jky-button-success-bg:#28a745;--jky-button-success-text:#fff;--jky-button-success-hover-bg:#1e7e34;--jky-button-warning-bg:#ffc107;--jky-button-warning-text:#fff;--jky-button-warning-hover-bg:#e0a800;--jky-button-danger-bg:#dc3545;--jky-button-danger-text:#fff;--jky-button-danger-hover-bg:#c82333;--jky-button-info-bg:#6c757d;--jky-button-info-text:#fff;--jky-button-info-hover-bg:#5a6268;--jky-button-default-bg:#fff;--jky-button-default-text:#606266;--jky-button-default-border:#dcdfe6;--jky-button-default-hover-bg:#f5f7fa;--jky-button-font-size:14px;--jky-button-font-size-small:12px;--jky-button-font-size-large:16px;--jky-button-padding:0 16px;--jky-button-padding-small:0 12px;--jky-button-padding-large:0 20px;--jky-button-height:40px;--jky-button-height-small:32px;--jky-button-height-large:48px;--jky-button-border-radius:0.375rem;--jky-button-disabled-opacity:0.5;--jky-button-disabled-bg:#f5f7fa;--jky-button-disabled-text:#c0c4cc;--jky-button-loading-opacity:0.7;--jky-button-icon-size:1.25rem;--jky-button-icon-margin:0.5rem}.jky-button{align-items:center;background-color:var(--jky-button-default-bg);border:1px solid var(--jky-button-default-border);border-radius:var(--jky-button-border-radius);color:var(--jky-button-default-text);cursor:pointer;display:inline-flex;font-size:var(--jky-button-font-size);font-weight:500;height:var(--jky-button-height);justify-content:center;padding:var(--jky-button-padding);transition:color .2s,background-color .2s}.jky-button--primary{background-color:var(--jky-button-primary-bg);border:none;color:var(--jky-button-primary-text)}.jky-button--primary:hover{background-color:var(--jky-button-primary-hover-bg)}.jky-button--success{background-color:var(--jky-button-success-bg);border:none;color:var(--jky-button-success-text)}.jky-button--success:hover{background-color:var(--jky-button-success-hover-bg)}.jky-button--warning{background-color:var(--jky-button-warning-bg);border:none;color:var(--jky-button-warning-text)}.jky-button--warning:hover{background-color:var(--jky-button-warning-hover-bg)}.jky-button--danger{background-color:var(--jky-button-danger-bg);border:none;color:var(--jky-button-danger-text)}.jky-button--danger:hover{background-color:var(--jky-button-danger-hover-bg)}.jky-button--info{background-color:var(--jky-button-info-bg);border:none;color:var(--jky-button-info-text)}.jky-button--info:hover{background-color:var(--jky-button-info-hover-bg)}.jky-button--small{font-size:var(--jky-button-font-size-small);height:var(--jky-button-height-small);padding:var(--jky-button-padding-small)}.jky-button--large{font-size:var(--jky-button-font-size-large);height:var(--jky-button-height-large);padding:var(--jky-button-padding-large)}.jky-button.is-disabled{background-color:var(--jky-button-disabled-bg);color:var(--jky-button-disabled-text);cursor:not-allowed;opacity:var(--jky-button-disabled-opacity);pointer-events:none}.jky-button.is-loading{opacity:var(--jky-button-loading-opacity);pointer-events:none;position:relative}.jky-button__loading{display:flex;inset:0;position:absolute}.jky-button__icon,.jky-button__loading{align-items:center;justify-content:center}.jky-button__icon{display:inline-flex;font-size:1em;margin-right:var(--jky-button-icon-margin)}.jky-button__icon:only-child{margin-right:0}.jky-button--suffix .jky-button__icon{margin-left:var(--jky-button-icon-margin);margin-right:0}.jky-button:focus-visible{box-shadow:0 0 0 2px #fff,0 0 0 4px #000;outline:2px solid transparent;outline-offset:2px}.loading-spinner{animation:spin 1s linear infinite;height:var(--jky-button-icon-size);width:var(--jky-button-icon-size)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}:root{--jky-button-nav-active-bg:var(--el-color-primary);--jky-button-nav-active-text:#fff;--jky-button-nav-inactive-bg:var(--el-fill-color-light);--jky-button-nav-inactive-text:var(--el-text-color-regular);--el-dropdown-menu-margin-left:12px}.jky-button-nav{align-items:center;display:flex;flex-wrap:wrap;.el-dropdown{margin-left:var(--el-dropdown-menu-margin-left)}}.jky-button-nav-item{background-color:var(--jky-button-nav-inactive-bg);color:var(--jky-button-nav-inactive-text);&.is-active,&[aria-pressed=true]{background-color:var(--jky-button-nav-active-bg);color:var(--jky-button-nav-active-text)}}:root{--j-code-mirror-border-color:#dcdfe6;--j-code-mirror-border-radius:4px;--j-code-mirror-height:400px}.j-code-mirror-editor{border-radius:var(--j-code-mirror-border-radius);height:var(--j-code-mirror-height);overflow:hidden;width:100%}.code-mirror-container{height:100%;overflow:auto;width:100%}.code-mirror-container .cm-editor{height:100%}.code-mirror-container .cm-scroller{font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.5;overflow:auto}.code-mirror-container .cm-gutters{background-color:#2c2d2d;border-color:#4c4d4f;color:#909399}:root{--jky-form-item-border-width:4px;--jky-form-item-border-color:var(--el-color-primary);--jky-form-item-bg-color:rgba(var(--el-color-primary-rgb),0.5);--jky-form-grid-cols-xs:1;--jky-form-grid-cols-sm:2;--jky-form-grid-cols-md:2;--jky-form-grid-cols-lg:3;--jky-form-grid-cols-xl:3;--jky-form-grid-cols-2xl:4;--jky-form-grid-cols-3xl:4}.jky-form--grid{display:grid;gap:var(--el-form-item-gutter,16px);grid-template-columns:repeat(var(--jky-form-grid-cols-xs),minmax(0,1fr))}.el-form--inline.jky-form--grid .el-form-item{margin-right:0;.el-form-item__content{align-items:flex-start}}@media (min-width:640px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-sm,var(--jky-form-grid-cols-xs)),minmax(0,1fr))}}@media (min-width:768px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-md,var(--jky-form-grid-cols-sm)),minmax(0,1fr))}}@media (min-width:1024px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-lg,var(--jky-form-grid-cols-md)),minmax(0,1fr))}}@media (min-width:1280px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-xl,var(--jky-form-grid-cols-lg)),minmax(0,1fr))}}@media (min-width:1536px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-2xl,var(--jky-form-grid-cols-xl)),minmax(0,1fr))}}@media (min-width:1920px){.jky-form--grid{grid-template-columns:repeat(var(--jky-form-grid-cols-3xl,var(--jky-form-grid-cols-2xl)),minmax(0,1fr))}}:root{--jky-menu-bg-color:#fff;--jky-menu-text-color:#303133;--jky-menu-active-color:#409eff;--jky-menu-hover-bg-color:#f5f7fa;--jky-menu-hover-text-color:#606266;--jky-menu-item-height:56px;--jky-menu-item-padding:0 20px;--jky-menu-item-font-size:14px;--jky-menu-icon-size:18px;--jky-menu-icon-margin:8px;--jky-menu-border-color:#e4e7ed;--jky-menu-disabled-opacity:0.5;--jky-menu-disabled-text-color:#c0c4cc}.jky-menu{li+li{margin-top:0}}.jky-menu-item__icon{align-items:center;display:inline-flex;flex-shrink:0;font-size:var(--jky-menu-icon-size);height:var(--jky-menu-icon-size);justify-content:center;margin-right:var(--jky-menu-icon-margin);width:var(--jky-menu-icon-size)}:root{--jky-page-header-bg-color:#1890ff;--jky-page-header-bg-size:cover;--jky-page-header-bg-position:center;--jky-page-header-box-shadow:0 2px 8px rgba(0,0,0,.15);--jky-page-header-padding-x:24px;--jky-page-header-padding-x-mobile:16px;--jky-page-header-gap:16px;--jky-page-header-gap-mobile:12px;--jky-page-header-gap-left:12px;--jky-page-header-gap-status:12px;--jky-page-header-gap-center:24px;--jky-page-header-gap-center-mobile:12px;--jky-page-header-title-color:#fff;--jky-page-header-title-size:20px;--jky-page-header-title-size-mobile:16px;--jky-page-header-title-weight:600;--jky-page-header-text-color:hsla(0,0%,100%,.85);--jky-page-header-text-size:16px;--jky-page-header-icon-color:#fff;--jky-page-header-icon-size:20px;--jky-page-header-icon-hover-opacity:0.8;--jky-page-header-logo-height:40px;--jky-page-header-avatar-size:32px}.jky-page-header{background-color:var(--jky-page-header-bg-color);background-position:var(--jky-page-header-bg-position);background-size:var(--jky-page-header-bg-size);box-shadow:var(--jky-page-header-box-shadow);width:100%}.jky-page-header__container{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:100%;padding:0 var(--jky-page-header-padding-x)}.jky-page-header__left{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap-left)}.jky-page-header__logo{height:var(--jky-page-header-logo-height);object-fit:contain;width:auto}.jky-page-header__title{color:var(--jky-page-header-title-color);font-size:var(--jky-page-header-title-size);font-weight:var(--jky-page-header-title-weight);white-space:nowrap}.jky-page-header__center{align-items:center;display:flex;flex:1;justify-content:center;margin:0 var(--jky-page-header-gap-center);min-width:0}.jky-page-header__right{align-items:center;display:flex;flex-shrink:0;gap:var(--jky-page-header-gap)}.jky-page-header__status-icons{align-items:center;display:flex;gap:var(--jky-page-header-gap-status)}.jky-page-header__status-icon{color:var(--jky-page-header-icon-color);cursor:pointer;transition:opacity .2s;&:hover{opacity:var(--jky-page-header-icon-hover-opacity)}}.jky-page-header__time{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size);white-space:nowrap}.jky-page-header__user{align-items:center;color:var(--jky-page-header-text-color);cursor:pointer;display:flex;gap:8px}.jky-page-header__avatar{color:var(--jky-page-header-icon-color);img{height:100%;object-fit:cover;width:100%}}.jky-page-header__username{white-space:nowrap}.jky-page-header__logout,.jky-page-header__username{color:var(--jky-page-header-text-color);font-size:var(--jky-page-header-text-size)}@media (max-width:768px){.jky-page-header__container{padding:0 var(--jky-page-header-padding-x-mobile)}.jky-page-header__title{font-size:var(--jky-page-header-title-size-mobile)}.jky-page-header__center{margin:0 var(--jky-page-header-gap-center-mobile)}.jky-page-header__right{gap:var(--jky-page-header-gap-mobile)}}:root{--jky-page-layout-gap:5}.jky-page-layout{column-gap:calc(var(--spacing)*var(--jky-page-layout-gap));.el-menu{border-right:none}}.jky-page-table{--jky-page-table_pagination-position:flex-end;.jky-page-table__pagination{.el-scrollbar__view{display:flex;justify-content:var(--jky-page-table_pagination-position)}}}:root{--jky-rich-editor-border:#d9d9d9;--jky-rich-editor-border-hover:#409eff;--jky-rich-editor-border-radius:4px;--jky-rich-editor-box-shadow:0 0 0 1px #409eff}.jky-rich-editor{width:100%}.jky-rich-editor .tox-tinymce{border:1px solid var(--jky-rich-editor-border);border-radius:var(--jky-rich-editor-border-radius);transition:border-color .2s}.jky-rich-editor .tox-tinymce:hover{border-color:var(--jky-rich-editor-border-hover)}.jky-rich-editor .tox-tinymce:focus-within{border-color:var(--jky-rich-editor-border-hover);box-shadow:var(--jky-rich-editor-box-shadow)}.jky-rich-editor.is-disabled .tox-tinymce{background-color:#f5f7fa;cursor:not-allowed}.jky-rich-editor.is-readonly .tox-tinymce{background-color:#fafafa}:root{--jky-say-hello-bg:#42b883;--jky-say-hello-text:#fff;--jky-say-hello-hover-bg:#3aa876;--jky-say-hello-font-size:16px;--jky-say-hello-padding:8px 20px;--jky-say-hello-margin:4px 2px;--jky-say-hello-border-radius:6px}.jky-say-hello{background-color:var(--jky-say-hello-bg);border-radius:var(--jky-say-hello-border-radius);color:var(--jky-say-hello-text);cursor:pointer;display:inline-block;font-size:var(--jky-say-hello-font-size);margin:var(--jky-say-hello-margin);padding:var(--jky-say-hello-padding);text-align:center;text-decoration:none;transition:background-color .2s ease}.jky-say-hello:hover{background-color:var(--jky-say-hello-hover-bg)}@import "tailwindcss";@plugin "@iconify/tailwind4";@source "../node_modules/jky-component-lib/dist/es/";@source "../docs/**/*.md";@source "./**/*.md";@source "./**/*.vue";@source "./**/*.css";@custom-variant dark (&:is(.dark *))
@@ -88,7 +88,7 @@ declare function getFormInstance(): ({
88
88
  validateOnRuleChange: boolean;
89
89
  }> & Omit<Readonly<import('element-plus').FormProps> & Readonly<{
90
90
  onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
91
- }>, "labelWidth" | "labelPosition" | "showMessage" | "validate" | "clearValidate" | "requireAsteriskPosition" | "labelSuffix" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validateField" | "resetFields" | "scrollToField" | "getField" | "fields" | "setInitialValues"> & import('vue').ShallowUnwrapRef<{
91
+ }>, "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "showMessage" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "fields" | "setInitialValues"> & import('vue').ShallowUnwrapRef<{
92
92
  validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
93
93
  validateField: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
94
94
  resetFields: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void;
@@ -195,7 +195,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
195
195
  validateOnRuleChange: boolean;
196
196
  }> & Omit<Readonly<import('element-plus').FormProps> & Readonly<{
197
197
  onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
198
- }>, "labelWidth" | "labelPosition" | "showMessage" | "validate" | "clearValidate" | "requireAsteriskPosition" | "labelSuffix" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validateField" | "resetFields" | "scrollToField" | "getField" | "fields" | "setInitialValues"> & import('vue').ShallowUnwrapRef<{
198
+ }>, "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "showMessage" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "fields" | "setInitialValues"> & import('vue').ShallowUnwrapRef<{
199
199
  validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
200
200
  validateField: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
201
201
  resetFields: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void;
@@ -293,7 +293,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
293
293
  validateOnRuleChange: boolean;
294
294
  }> & Omit<Readonly<import('element-plus').FormProps> & Readonly<{
295
295
  onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
296
- }>, "labelWidth" | "labelPosition" | "showMessage" | "validate" | "clearValidate" | "requireAsteriskPosition" | "labelSuffix" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validateField" | "resetFields" | "scrollToField" | "getField" | "fields" | "setInitialValues"> & import('vue').ShallowUnwrapRef<{
296
+ }>, "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "showMessage" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "fields" | "setInitialValues"> & import('vue').ShallowUnwrapRef<{
297
297
  validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
298
298
  validateField: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
299
299
  resetFields: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void;
@@ -327,16 +327,20 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
327
327
  }) => any) | undefined;
328
328
  }>, {
329
329
  size: import('element-plus').ComponentSize;
330
- labelWidth: string | number;
330
+ grid: import('./types').GridConfig;
331
+ inline: boolean;
331
332
  labelPosition: "left" | "right" | "top";
332
- showFooter: boolean;
333
+ labelWidth: string | number;
333
334
  showTitle: boolean;
334
335
  gutter: number;
335
336
  defaultSpan: number;
336
337
  responsive: boolean;
337
338
  watchDeep: boolean;
339
+ showFooter: boolean;
340
+ footerClass: string;
338
341
  submitText: string;
339
342
  cancelText: string;
343
+ showCount: number;
340
344
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
341
345
  formRef: ({
342
346
  $: import('vue').ComponentInternalInstance;
@@ -423,7 +427,7 @@ declare const _default: import('vue').DefineComponent<__VLS_PublicProps, {
423
427
  validateOnRuleChange: boolean;
424
428
  }> & Omit<Readonly<import('element-plus').FormProps> & Readonly<{
425
429
  onValidate?: ((prop: import('element-plus').FormItemProp, isValid: boolean, message: string) => any) | undefined;
426
- }>, "labelWidth" | "labelPosition" | "showMessage" | "validate" | "clearValidate" | "requireAsteriskPosition" | "labelSuffix" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validateField" | "resetFields" | "scrollToField" | "getField" | "fields" | "setInitialValues"> & import('vue').ShallowUnwrapRef<{
430
+ }>, "labelPosition" | "requireAsteriskPosition" | "labelWidth" | "labelSuffix" | "showMessage" | "validateOnRuleChange" | "scrollIntoViewOptions" | "validate" | "validateField" | "resetFields" | "clearValidate" | "scrollToField" | "getField" | "fields" | "setInitialValues"> & import('vue').ShallowUnwrapRef<{
427
431
  validate: (callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
428
432
  validateField: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>, callback?: import('element-plus').FormValidateCallback) => import('element-plus').FormValidationResult;
429
433
  resetFields: (props?: import('element-plus/es/utils').Arrayable<import('element-plus').FormItemProp>) => void;