@hbdlzy/ui-core 0.1.4 → 0.1.6

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 (85) hide show
  1. package/README.md +7 -0
  2. package/components.manifest.json +32 -35
  3. package/dist/components/BaseCard/BaseCard.types.d.ts +36 -36
  4. package/dist/components/BaseCard/BaseCard.vue.d.ts +122 -122
  5. package/dist/components/BaseCard/index.d.ts +3 -3
  6. package/dist/components/BaseEChart/BaseEChart.types.d.ts +26 -26
  7. package/dist/components/BaseEChart/BaseEChart.vue.d.ts +66 -66
  8. package/dist/components/BaseEChart/index.d.ts +3 -3
  9. package/dist/components/BaseExportButton/BaseExportButton.types.d.ts +21 -21
  10. package/dist/components/BaseExportButton/BaseExportButton.utils.d.ts +4 -4
  11. package/dist/components/BaseExportButton/BaseExportButton.vue.d.ts +128 -128
  12. package/dist/components/BaseExportButton/index.d.ts +5 -5
  13. package/dist/components/BaseTable/BaseTable.types.d.ts +163 -163
  14. package/dist/components/BaseTable/BaseTable.vue.d.ts +157 -157
  15. package/dist/components/BaseTable/index.d.ts +3 -3
  16. package/dist/components/OutlinedCascader/OutlinedCascader.types.d.ts +28 -25
  17. package/dist/components/OutlinedCascader/OutlinedCascader.vue.d.ts +94 -85
  18. package/dist/components/OutlinedCascader/index.d.ts +3 -3
  19. package/dist/components/OutlinedDatePicker/OutlinedDatePicker.types.d.ts +30 -27
  20. package/dist/components/OutlinedDatePicker/OutlinedDatePicker.vue.d.ts +97 -88
  21. package/dist/components/OutlinedDatePicker/index.d.ts +3 -3
  22. package/dist/components/OutlinedDateTimePicker/OutlinedDateTimePicker.types.d.ts +29 -26
  23. package/dist/components/OutlinedDateTimePicker/OutlinedDateTimePicker.vue.d.ts +106 -97
  24. package/dist/components/OutlinedDateTimePicker/index.d.ts +3 -3
  25. package/dist/components/OutlinedInput/OutlinedInput.types.d.ts +32 -29
  26. package/dist/components/OutlinedInput/OutlinedInput.vue.d.ts +106 -97
  27. package/dist/components/OutlinedInput/index.d.ts +3 -3
  28. package/dist/components/OutlinedSelect/OutlinedSelect.types.d.ts +41 -38
  29. package/dist/components/OutlinedSelect/OutlinedSelect.vue.d.ts +125 -116
  30. package/dist/components/OutlinedSelect/index.d.ts +3 -3
  31. package/dist/components/OutlinedTimePicker/OutlinedTimePicker.types.d.ts +31 -28
  32. package/dist/components/OutlinedTimePicker/OutlinedTimePicker.vue.d.ts +103 -94
  33. package/dist/components/OutlinedTimePicker/index.d.ts +3 -3
  34. package/dist/components/OutlinedTreeSelect/OutlinedTreeSelect.types.d.ts +49 -46
  35. package/dist/components/OutlinedTreeSelect/OutlinedTreeSelect.vue.d.ts +146 -137
  36. package/dist/components/OutlinedTreeSelect/index.d.ts +3 -3
  37. package/dist/echarts/index.d.ts +9 -9
  38. package/dist/excel/exportExcel.d.ts +18 -18
  39. package/dist/index.cjs +42 -1
  40. package/dist/index.d.ts +27 -30
  41. package/dist/index.js +643 -644
  42. package/dist/ripple/index.d.ts +2 -0
  43. package/dist/style.css +1 -1
  44. package/package.json +6 -4
  45. package/src/components/BaseExportButton/BaseExportButton.vue +1 -3
  46. package/src/components/BaseTable/BaseTable.types.ts +1 -1
  47. package/src/components/OutlinedCascader/OutlinedCascader.types.ts +3 -0
  48. package/src/components/OutlinedCascader/OutlinedCascader.vue +71 -6
  49. package/src/components/OutlinedCascader/README.md +3 -0
  50. package/src/components/OutlinedDatePicker/OutlinedDatePicker.types.ts +3 -0
  51. package/src/components/OutlinedDatePicker/OutlinedDatePicker.vue +71 -6
  52. package/src/components/OutlinedDatePicker/README.md +3 -0
  53. package/src/components/OutlinedDateTimePicker/OutlinedDateTimePicker.types.ts +3 -0
  54. package/src/components/OutlinedDateTimePicker/OutlinedDateTimePicker.vue +144 -64
  55. package/src/components/OutlinedDateTimePicker/README.md +3 -0
  56. package/src/components/OutlinedInput/OutlinedInput.types.ts +3 -0
  57. package/src/components/OutlinedInput/OutlinedInput.vue +87 -8
  58. package/src/components/OutlinedInput/README.md +3 -0
  59. package/src/components/OutlinedSelect/OutlinedSelect.types.ts +3 -0
  60. package/src/components/OutlinedSelect/OutlinedSelect.vue +72 -6
  61. package/src/components/OutlinedSelect/README.md +3 -0
  62. package/src/components/OutlinedTimePicker/OutlinedTimePicker.types.ts +3 -0
  63. package/src/components/OutlinedTimePicker/OutlinedTimePicker.vue +75 -8
  64. package/src/components/OutlinedTimePicker/README.md +3 -0
  65. package/src/components/OutlinedTreeSelect/OutlinedTreeSelect.types.ts +3 -0
  66. package/src/components/OutlinedTreeSelect/OutlinedTreeSelect.vue +72 -6
  67. package/src/components/OutlinedTreeSelect/README.md +3 -0
  68. package/src/index.ts +5 -4
  69. package/src/ripple/index.ts +213 -0
  70. package/dist/components/BaseDialog/BaseDialog.types.d.ts +0 -25
  71. package/dist/components/BaseDialog/BaseDialog.vue.d.ts +0 -100
  72. package/dist/components/BaseDialog/index.d.ts +0 -3
  73. package/dist/components/BaseSearchForm/BaseSearchForm.types.d.ts +0 -42
  74. package/dist/components/BaseSearchForm/BaseSearchForm.utils.d.ts +0 -5
  75. package/dist/components/BaseSearchForm/BaseSearchForm.vue.d.ts +0 -88
  76. package/dist/components/BaseSearchForm/index.d.ts +0 -4
  77. package/src/components/BaseDialog/BaseDialog.types.ts +0 -28
  78. package/src/components/BaseDialog/BaseDialog.vue +0 -158
  79. package/src/components/BaseDialog/README.md +0 -69
  80. package/src/components/BaseDialog/index.ts +0 -10
  81. package/src/components/BaseSearchForm/BaseSearchForm.types.ts +0 -46
  82. package/src/components/BaseSearchForm/BaseSearchForm.utils.ts +0 -41
  83. package/src/components/BaseSearchForm/BaseSearchForm.vue +0 -267
  84. package/src/components/BaseSearchForm/README.md +0 -66
  85. package/src/components/BaseSearchForm/index.ts +0 -20
@@ -0,0 +1,2 @@
1
+ export declare function installRipple(): () => void;
2
+ export declare function uninstallRipple(): void;
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .base-card[data-v-6bfddf1c]{display:flex;flex-direction:column;min-width:0;min-height:0;padding:var(--base-card-padding);border:1px solid var(--base-card-border-color);background:var(--base-card-background-color);box-shadow:0 0 2px 0 var(--base-card-shadow-color);border-radius:var(--base-card-radius)}.base-card__header[data-v-6bfddf1c]{display:flex;align-items:center;justify-content:space-between;gap:var(--base-card-header-gap);margin-bottom:var(--base-card-header-margin-bottom);min-height:24px;flex-wrap:wrap}.base-card__header-left[data-v-6bfddf1c],.base-card__header-right[data-v-6bfddf1c]{display:flex;align-items:center;min-width:0;flex-wrap:wrap}.base-card__header-left[data-v-6bfddf1c]{flex:1 1 auto;gap:var(--base-card-left-gap)}.base-card__header-right[data-v-6bfddf1c]{flex:0 1 auto;justify-content:flex-end;gap:var(--base-card-right-gap)}.base-card__title-wrap[data-v-6bfddf1c]{display:flex;align-items:center;min-width:0}.base-card__title-marker[data-v-6bfddf1c]{width:var(--base-card-marker-width);height:var(--base-card-marker-height);background:var(--base-card-marker-color);border-radius:var(--base-card-marker-radius);margin-right:var(--base-card-marker-gap);flex:0 0 auto}.base-card__title[data-v-6bfddf1c]{margin:0;min-width:0;color:var(--base-card-title-color);font-size:var(--base-card-title-size);font-weight:var(--base-card-title-weight);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.base-card__meta[data-v-6bfddf1c]{color:var(--base-card-meta-color);font-size:var(--base-card-meta-size);line-height:1.4}.base-card__export[data-v-6bfddf1c]{border:none;background:transparent;padding:0;color:var(--base-card-export-color);cursor:pointer;font-size:var(--base-card-meta-size);line-height:1.4}.base-card__export[data-v-6bfddf1c]:disabled{opacity:.5;cursor:not-allowed}.base-card__body[data-v-6bfddf1c]{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.base-card__tip[data-v-6bfddf1c]{flex:0 0 auto}.base-card__content[data-v-6bfddf1c]{flex:1 1 auto;min-height:0}.base-search-form[data-v-52b1fbc7]{width:100%}.base-search-form__grid[data-v-52b1fbc7]{display:grid;align-items:start}.base-search-form__item[data-v-52b1fbc7]{min-width:0;margin-bottom:0}.base-search-form__control[data-v-52b1fbc7]{width:var(--base-search-form-field-width, 100%)}.base-search-form__actions[data-v-52b1fbc7]{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0}@media (max-width: 960px){.base-search-form__grid[data-v-52b1fbc7]{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media (max-width: 640px){.base-search-form__grid[data-v-52b1fbc7]{grid-template-columns:minmax(0,1fr)!important}.base-search-form__actions[data-v-52b1fbc7]{justify-content:flex-start;flex-wrap:wrap}}.base-dialog__body[data-v-37bcb779]{min-width:0}.base-dialog__footer[data-v-37bcb779]{display:flex;align-items:center;justify-content:flex-end;gap:8px}.base-table[data-v-7ae8d382]{display:flex;flex-direction:column;height:100%;min-height:0}.base-table__toolbar[data-v-7ae8d382]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;min-height:32px;flex-wrap:wrap}.base-table__toolbar-left[data-v-7ae8d382]{flex:1 1 auto;min-width:0}.base-table__toolbar-right[data-v-7ae8d382]{flex:0 1 auto}.base-table__actions[data-v-7ae8d382]{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.base-table__header[data-v-7ae8d382]{display:flex;align-items:center;gap:6px;width:100%;min-width:0}.base-table__header-label[data-v-7ae8d382]{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-table__header-actions[data-v-7ae8d382]{display:flex;align-items:center;margin-left:auto;flex-shrink:0}.base-table__header-icon[data-v-7ae8d382]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:999px;background:transparent;color:var(--el-text-color-secondary);cursor:pointer;transition:color .2s ease,background-color .2s ease}.base-table__header-icon[data-v-7ae8d382]:hover,.base-table__header-icon.is-active[data-v-7ae8d382]{color:var(--el-color-primary);background:rgba(64,158,255,.12)}.base-table__header-icon-mark[data-v-7ae8d382]{position:relative;display:inline-block;width:14px;height:14px;box-sizing:border-box;border:2px solid currentColor;border-radius:999px}.base-table__header-icon-mark[data-v-7ae8d382]:after{content:"";position:absolute;right:-6px;bottom:-4px;width:7px;height:2px;border-radius:999px;background:currentColor;transform:rotate(45deg);transform-origin:center}.base-table__header-dropdown[data-v-7ae8d382]{display:inline-flex;align-items:center}.base-table__header-search-panel[data-v-7ae8d382]{display:flex;flex-direction:column;gap:12px;padding:8px}[data-v-7ae8d382] .base-table__header-search-menu{padding:0}[data-v-7ae8d382] .base-table__header-search-dropdown{padding:0;border-radius:12px}.base-table__header-search-footer[data-v-7ae8d382]{display:flex;align-items:center;justify-content:space-between}.base-table__link[data-v-7ae8d382]{padding:0;border:none;background:transparent;color:var(--el-color-primary);cursor:pointer}.base-table__text[data-v-7ae8d382]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.base-table__tags[data-v-7ae8d382]{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.base-table__image[data-v-7ae8d382]{border-radius:4px;overflow:hidden}.base-echart[data-v-51bc4772],.base-echart__inner[data-v-51bc4772]{width:100%;height:100%}.outlined-input[data-v-2bf89ccd]{position:relative}.outlined-input__label[data-v-2bf89ccd]{position:absolute;left:-2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-input__label--floating[data-v-2bf89ccd]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-input__label--placeholder[data-v-2bf89ccd]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-input__label--filled[data-v-2bf89ccd]{color:var(--el-text-color-regular)}.outlined-input__suffix-text[data-v-2bf89ccd]{white-space:nowrap}[data-v-2bf89ccd] .outlined-input--bordered .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}[data-v-2bf89ccd] .outlined-input--bordered .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}[data-v-2bf89ccd] .outlined-input--bordered .el-textarea__inner{border-width:0 0 1px;border-radius:0;box-shadow:none}[data-v-2bf89ccd] .outlined-input--bordered .el-textarea__inner:focus{border-bottom-color:var(--el-color-primary)}[data-v-2bf89ccd] .outlined-input--textarea-default .el-textarea__inner{min-height:100px!important;max-height:180px}.outlined-select[data-v-7bd2b5f2]{position:relative}.outlined-select__label[data-v-7bd2b5f2]{position:absolute;left:-2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-select__label--floating[data-v-7bd2b5f2]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-select__label--placeholder[data-v-7bd2b5f2]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-select__label--filled[data-v-7bd2b5f2]{color:var(--el-text-color-regular)}[data-v-7bd2b5f2] .outlined-select__control.el-select{width:100%}[data-v-7bd2b5f2] .outlined-select__control .el-select__wrapper{min-height:inherit;height:inherit}[data-v-7bd2b5f2] .outlined-select__control .el-select__tags{padding-top:4px}[data-v-7bd2b5f2] .outlined-select__control .el-select__selection{min-height:inherit}[data-v-7bd2b5f2] .outlined-select--bordered .el-select__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}[data-v-7bd2b5f2] .outlined-select--bordered .el-select__wrapper.is-focused{border-bottom-color:var(--el-color-primary)}.outlined-date-picker[data-v-c95a293c]{position:relative}.outlined-date-picker__label[data-v-c95a293c]{position:absolute;left:-2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-date-picker__label--floating[data-v-c95a293c]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-date-picker__label--placeholder[data-v-c95a293c]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-date-picker__label--filled[data-v-c95a293c]{color:var(--el-text-color-regular)}[data-v-c95a293c] .outlined-date-picker__control.el-date-editor{width:100%}[data-v-c95a293c] .outlined-date-picker__control .el-input__wrapper{position:relative;min-height:inherit;height:inherit}[data-v-c95a293c] .outlined-date-picker__control .el-input__prefix{position:absolute;right:0}[data-v-c95a293c] .outlined-date-picker__control .el-input__suffix{position:absolute;right:30px}[data-v-c95a293c] .outlined-date-picker--bordered .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}[data-v-c95a293c] .outlined-date-picker--bordered .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}.outlined-date-time-picker[data-v-f2fefd22]{display:flex;align-items:center;gap:8px}.outlined-date-time-picker__field[data-v-f2fefd22]{position:relative;flex:1}.outlined-date-time-picker__separator[data-v-f2fefd22]{flex:0 0 auto;color:var(--el-text-color-regular)}.outlined-date-time-picker__label[data-v-f2fefd22]{position:absolute;left:-2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-date-time-picker__label--floating[data-v-f2fefd22]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-date-time-picker__label--placeholder[data-v-f2fefd22]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-date-time-picker__label--filled[data-v-f2fefd22]{color:var(--el-text-color-regular)}[data-v-f2fefd22] .outlined-date-time-picker__control.el-date-editor{width:100%}[data-v-f2fefd22] .outlined-date-time-picker__control .el-input__wrapper{position:relative;min-height:inherit;height:inherit}[data-v-f2fefd22] .outlined-date-time-picker__control .el-input__prefix{position:absolute;right:0}[data-v-f2fefd22] .outlined-date-time-picker__control .el-input__suffix{position:absolute;right:30px}[data-v-f2fefd22] .outlined-date-time-picker__field--bordered .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}[data-v-f2fefd22] .outlined-date-time-picker__field--bordered .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}.outlined-time-picker[data-v-6a467b88]{position:relative}.outlined-time-picker__label[data-v-6a467b88]{position:absolute;left:-2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-time-picker__label--floating[data-v-6a467b88]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-time-picker__label--placeholder[data-v-6a467b88]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-time-picker__label--filled[data-v-6a467b88]{color:var(--el-text-color-regular)}[data-v-6a467b88] .outlined-time-picker__control.el-date-editor{width:100%}[data-v-6a467b88] .outlined-time-picker__control .el-input__wrapper{position:relative;min-height:inherit;height:inherit}[data-v-6a467b88] .outlined-time-picker__control .el-input__prefix{position:absolute;right:0}[data-v-6a467b88] .outlined-time-picker__control .el-input__suffix{position:absolute;right:30px}[data-v-6a467b88] .outlined-time-picker--bordered .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}[data-v-6a467b88] .outlined-time-picker--bordered .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}.outlined-cascader[data-v-2c93c0e4]{position:relative}.outlined-cascader__label[data-v-2c93c0e4]{position:absolute;left:-2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-cascader__label--floating[data-v-2c93c0e4]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-cascader__label--placeholder[data-v-2c93c0e4]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-cascader__label--filled[data-v-2c93c0e4]{color:var(--el-text-color-regular)}[data-v-2c93c0e4] .outlined-cascader__control .el-input{height:100%}[data-v-2c93c0e4] .outlined-cascader--bordered .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}[data-v-2c93c0e4] .outlined-cascader--bordered .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}.outlined-tree-select[data-v-8403e6ea]{position:relative}.outlined-tree-select__label[data-v-8403e6ea]{position:absolute;left:-2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-tree-select__label--floating[data-v-8403e6ea]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-tree-select__label--placeholder[data-v-8403e6ea]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-tree-select__label--filled[data-v-8403e6ea]{color:var(--el-text-color-regular)}[data-v-8403e6ea] .outlined-tree-select__control.el-select{width:100%}[data-v-8403e6ea] .outlined-tree-select__control .el-select__wrapper{min-height:inherit;height:inherit}[data-v-8403e6ea] .outlined-tree-select__control .el-select__selection{min-height:inherit}[data-v-8403e6ea] .outlined-tree-select__control .el-select__tags{padding-top:4px}[data-v-8403e6ea] .outlined-tree-select--bordered .el-select__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}[data-v-8403e6ea] .outlined-tree-select--bordered .el-select__wrapper.is-focused{border-bottom-color:var(--el-color-primary)}
1
+ .base-card[data-v-6bfddf1c]{display:flex;flex-direction:column;min-width:0;min-height:0;padding:var(--base-card-padding);border:1px solid var(--base-card-border-color);background:var(--base-card-background-color);box-shadow:0 0 2px 0 var(--base-card-shadow-color);border-radius:var(--base-card-radius)}.base-card__header[data-v-6bfddf1c]{display:flex;align-items:center;justify-content:space-between;gap:var(--base-card-header-gap);margin-bottom:var(--base-card-header-margin-bottom);min-height:24px;flex-wrap:wrap}.base-card__header-left[data-v-6bfddf1c],.base-card__header-right[data-v-6bfddf1c]{display:flex;align-items:center;min-width:0;flex-wrap:wrap}.base-card__header-left[data-v-6bfddf1c]{flex:1 1 auto;gap:var(--base-card-left-gap)}.base-card__header-right[data-v-6bfddf1c]{flex:0 1 auto;justify-content:flex-end;gap:var(--base-card-right-gap)}.base-card__title-wrap[data-v-6bfddf1c]{display:flex;align-items:center;min-width:0}.base-card__title-marker[data-v-6bfddf1c]{width:var(--base-card-marker-width);height:var(--base-card-marker-height);background:var(--base-card-marker-color);border-radius:var(--base-card-marker-radius);margin-right:var(--base-card-marker-gap);flex:0 0 auto}.base-card__title[data-v-6bfddf1c]{margin:0;min-width:0;color:var(--base-card-title-color);font-size:var(--base-card-title-size);font-weight:var(--base-card-title-weight);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.base-card__meta[data-v-6bfddf1c]{color:var(--base-card-meta-color);font-size:var(--base-card-meta-size);line-height:1.4}.base-card__export[data-v-6bfddf1c]{border:none;background:transparent;padding:0;color:var(--base-card-export-color);cursor:pointer;font-size:var(--base-card-meta-size);line-height:1.4}.base-card__export[data-v-6bfddf1c]:disabled{opacity:.5;cursor:not-allowed}.base-card__body[data-v-6bfddf1c]{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.base-card__tip[data-v-6bfddf1c]{flex:0 0 auto}.base-card__content[data-v-6bfddf1c]{flex:1 1 auto;min-height:0}.base-table[data-v-7ae8d382]{display:flex;flex-direction:column;height:100%;min-height:0}.base-table__toolbar[data-v-7ae8d382]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;min-height:32px;flex-wrap:wrap}.base-table__toolbar-left[data-v-7ae8d382]{flex:1 1 auto;min-width:0}.base-table__toolbar-right[data-v-7ae8d382]{flex:0 1 auto}.base-table__actions[data-v-7ae8d382]{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.base-table__header[data-v-7ae8d382]{display:flex;align-items:center;gap:6px;width:100%;min-width:0}.base-table__header-label[data-v-7ae8d382]{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-table__header-actions[data-v-7ae8d382]{display:flex;align-items:center;margin-left:auto;flex-shrink:0}.base-table__header-icon[data-v-7ae8d382]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:999px;background:transparent;color:var(--el-text-color-secondary);cursor:pointer;transition:color .2s ease,background-color .2s ease}.base-table__header-icon[data-v-7ae8d382]:hover,.base-table__header-icon.is-active[data-v-7ae8d382]{color:var(--el-color-primary);background:rgba(64,158,255,.12)}.base-table__header-icon-mark[data-v-7ae8d382]{position:relative;display:inline-block;width:14px;height:14px;box-sizing:border-box;border:2px solid currentColor;border-radius:999px}.base-table__header-icon-mark[data-v-7ae8d382]:after{content:"";position:absolute;right:-6px;bottom:-4px;width:7px;height:2px;border-radius:999px;background:currentColor;transform:rotate(45deg);transform-origin:center}.base-table__header-dropdown[data-v-7ae8d382]{display:inline-flex;align-items:center}.base-table__header-search-panel[data-v-7ae8d382]{display:flex;flex-direction:column;gap:12px;padding:8px}[data-v-7ae8d382] .base-table__header-search-menu{padding:0}[data-v-7ae8d382] .base-table__header-search-dropdown{padding:0;border-radius:12px}.base-table__header-search-footer[data-v-7ae8d382]{display:flex;align-items:center;justify-content:space-between}.base-table__link[data-v-7ae8d382]{padding:0;border:none;background:transparent;color:var(--el-color-primary);cursor:pointer}.base-table__text[data-v-7ae8d382]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.base-table__tags[data-v-7ae8d382]{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.base-table__image[data-v-7ae8d382]{border-radius:4px;overflow:hidden}.base-echart[data-v-51bc4772],.base-echart__inner[data-v-51bc4772]{width:100%;height:100%}.outlined-input[data-v-3c232c9a]{position:relative}.outlined-input__label[data-v-3c232c9a]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-input__label--floating[data-v-3c232c9a]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-input__label--placeholder[data-v-3c232c9a]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-input__label--filled[data-v-3c232c9a]{color:var(--el-text-color-regular)}.outlined-input--error[data-v-3c232c9a]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-input__required[data-v-3c232c9a],.outlined-input--error .outlined-input__label[data-v-3c232c9a],.outlined-input__error[data-v-3c232c9a]{color:var(--el-color-danger)}.outlined-input__error[data-v-3c232c9a]{margin:6px 0 0;font-size:12px;line-height:1.2}.outlined-input__suffix-text[data-v-3c232c9a]{white-space:nowrap}.outlined-input--bordered[data-v-3c232c9a] .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-input--bordered[data-v-3c232c9a] .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}.outlined-input--bordered[data-v-3c232c9a] .el-textarea__inner{border-width:0 0 1px;border-radius:0;box-shadow:none}.outlined-input--bordered[data-v-3c232c9a] .el-textarea__inner:focus{border-bottom-color:var(--el-color-primary)}.outlined-input--textarea-default[data-v-3c232c9a] .el-textarea__inner{min-height:100px!important;max-height:180px}.outlined-input--error[data-v-3c232c9a] .el-input__wrapper,.outlined-input--error[data-v-3c232c9a] .el-input__wrapper.is-focus,.outlined-input--error[data-v-3c232c9a] .el-input__wrapper:hover,.outlined-input--error[data-v-3c232c9a] .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-input--error[data-v-3c232c9a] .el-textarea__inner:focus,.outlined-input--error[data-v-3c232c9a] .el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-input--error.outlined-input--bordered[data-v-3c232c9a] .el-input__wrapper,.outlined-input--error.outlined-input--bordered[data-v-3c232c9a] .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}.outlined-select[data-v-2a354461]{position:relative}.outlined-select__label[data-v-2a354461]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-select__label--floating[data-v-2a354461]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-select__label--placeholder[data-v-2a354461]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-select__label--filled[data-v-2a354461]{color:var(--el-text-color-regular)}.outlined-select--error[data-v-2a354461]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-select__required[data-v-2a354461],.outlined-select--error .outlined-select__label[data-v-2a354461],.outlined-select__error[data-v-2a354461]{color:var(--el-color-danger)}.outlined-select__error[data-v-2a354461]{margin:6px 0 0;font-size:12px;line-height:1.2}[data-v-2a354461] .outlined-select__control.el-select{width:100%}[data-v-2a354461] .outlined-select__control .el-select__wrapper{min-height:inherit;height:inherit}[data-v-2a354461] .outlined-select__control .el-select__tags{padding-top:4px}[data-v-2a354461] .outlined-select__control .el-select__selection{min-height:inherit}.outlined-select--bordered[data-v-2a354461] .el-select__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-select--bordered[data-v-2a354461] .el-select__wrapper.is-focused{border-bottom-color:var(--el-color-primary)}.outlined-select--error[data-v-2a354461] .el-select__wrapper,.outlined-select--error[data-v-2a354461] .el-select__wrapper.is-focused,.outlined-select--error[data-v-2a354461] .el-select__wrapper.is-focus,.outlined-select--error[data-v-2a354461] .el-select__wrapper:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-select--error.outlined-select--bordered[data-v-2a354461] .el-select__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}.outlined-date-picker[data-v-47219caf]{position:relative}.outlined-date-picker__label[data-v-47219caf]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-date-picker__label--floating[data-v-47219caf]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-date-picker__label--placeholder[data-v-47219caf]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-date-picker__label--filled[data-v-47219caf]{color:var(--el-text-color-regular)}.outlined-date-picker--error[data-v-47219caf]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-date-picker__required[data-v-47219caf],.outlined-date-picker--error .outlined-date-picker__label[data-v-47219caf],.outlined-date-picker__error[data-v-47219caf]{color:var(--el-color-danger)}.outlined-date-picker__error[data-v-47219caf]{margin:6px 0 0;font-size:12px;line-height:1.2}[data-v-47219caf] .outlined-date-picker__control.el-date-editor{width:100%}[data-v-47219caf] .outlined-date-picker__control .el-input__wrapper{position:relative;min-height:inherit;height:inherit}[data-v-47219caf] .outlined-date-picker__control .el-input__prefix{position:absolute;right:0}[data-v-47219caf] .outlined-date-picker__control .el-input__suffix{position:absolute;right:30px}.outlined-date-picker--bordered[data-v-47219caf] .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-date-picker--bordered[data-v-47219caf] .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}.outlined-date-picker--error[data-v-47219caf] .el-input__wrapper,.outlined-date-picker--error[data-v-47219caf] .el-input__wrapper.is-focus,.outlined-date-picker--error[data-v-47219caf] .el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-date-picker--error.outlined-date-picker--bordered[data-v-47219caf] .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}.outlined-date-time-picker[data-v-ee2ef524]{position:relative}.outlined-date-time-picker__inner[data-v-ee2ef524]{display:flex;align-items:center;gap:8px}.outlined-date-time-picker__field[data-v-ee2ef524]{position:relative;flex:1}.outlined-date-time-picker__separator[data-v-ee2ef524]{flex:0 0 auto;color:var(--el-text-color-regular)}.outlined-date-time-picker__label[data-v-ee2ef524]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-date-time-picker__label--floating[data-v-ee2ef524]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-date-time-picker__label--placeholder[data-v-ee2ef524]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-date-time-picker__label--filled[data-v-ee2ef524]{color:var(--el-text-color-regular)}.outlined-date-time-picker--error[data-v-ee2ef524]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-date-time-picker__required[data-v-ee2ef524],.outlined-date-time-picker--error .outlined-date-time-picker__label[data-v-ee2ef524],.outlined-date-time-picker__error[data-v-ee2ef524]{color:var(--el-color-danger)}.outlined-date-time-picker__error[data-v-ee2ef524]{margin:6px 0 0;font-size:12px;line-height:1.2}[data-v-ee2ef524] .outlined-date-time-picker__control.el-date-editor{width:100%}[data-v-ee2ef524] .outlined-date-time-picker__control .el-input__wrapper{position:relative;min-height:inherit;height:inherit}[data-v-ee2ef524] .outlined-date-time-picker__control .el-input__prefix{position:absolute;right:0}[data-v-ee2ef524] .outlined-date-time-picker__control .el-input__suffix{position:absolute;right:30px}.outlined-date-time-picker__field--bordered[data-v-ee2ef524] .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-date-time-picker__field--bordered[data-v-ee2ef524] .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}.outlined-date-time-picker__field--error[data-v-ee2ef524] .el-input__wrapper,.outlined-date-time-picker__field--error[data-v-ee2ef524] .el-input__wrapper.is-focus,.outlined-date-time-picker__field--error[data-v-ee2ef524] .el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-date-time-picker__field--error.outlined-date-time-picker__field--bordered[data-v-ee2ef524] .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}.outlined-time-picker[data-v-0257087e]{position:relative}.outlined-time-picker__label[data-v-0257087e]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-time-picker__label--floating[data-v-0257087e]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-time-picker__label--placeholder[data-v-0257087e]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-time-picker__label--filled[data-v-0257087e]{color:var(--el-text-color-regular)}.outlined-time-picker--error[data-v-0257087e]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-time-picker__required[data-v-0257087e],.outlined-time-picker--error .outlined-time-picker__label[data-v-0257087e],.outlined-time-picker__error[data-v-0257087e]{color:var(--el-color-danger)}.outlined-time-picker__error[data-v-0257087e]{margin:6px 0 0;font-size:12px;line-height:1.2}[data-v-0257087e] .outlined-time-picker__control.el-date-editor{width:100%}[data-v-0257087e] .outlined-time-picker__control .el-input__wrapper{position:relative;min-height:inherit;height:inherit}[data-v-0257087e] .outlined-time-picker__control .el-input__prefix{position:absolute;right:0}[data-v-0257087e] .outlined-time-picker__control .el-input__suffix{position:absolute;right:30px}.outlined-time-picker--bordered[data-v-0257087e] .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-time-picker--bordered[data-v-0257087e] .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}.outlined-time-picker--error[data-v-0257087e] .el-input__wrapper,.outlined-time-picker--error[data-v-0257087e] .el-input__wrapper.is-focus,.outlined-time-picker--error[data-v-0257087e] .el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-time-picker--error.outlined-time-picker--bordered[data-v-0257087e] .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}.outlined-cascader[data-v-033e3fab]{position:relative}.outlined-cascader__label[data-v-033e3fab]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-cascader__label--floating[data-v-033e3fab]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-cascader__label--placeholder[data-v-033e3fab]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-cascader__label--filled[data-v-033e3fab]{color:var(--el-text-color-regular)}.outlined-cascader--error[data-v-033e3fab]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-cascader__required[data-v-033e3fab],.outlined-cascader--error .outlined-cascader__label[data-v-033e3fab],.outlined-cascader__error[data-v-033e3fab]{color:var(--el-color-danger)}.outlined-cascader__error[data-v-033e3fab]{margin:6px 0 0;font-size:12px;line-height:1.2}[data-v-033e3fab] .outlined-cascader__control .el-input{height:100%}.outlined-cascader--bordered[data-v-033e3fab] .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-cascader--bordered[data-v-033e3fab] .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}.outlined-cascader--error[data-v-033e3fab] .el-input__wrapper,.outlined-cascader--error[data-v-033e3fab] .el-input.is-focus .el-input__wrapper,.outlined-cascader--error[data-v-033e3fab] .el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-cascader--error.outlined-cascader--bordered[data-v-033e3fab] .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}.outlined-tree-select[data-v-30d7dee0]{position:relative}.outlined-tree-select__label[data-v-30d7dee0]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-tree-select__label--floating[data-v-30d7dee0]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-tree-select__label--placeholder[data-v-30d7dee0]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-tree-select__label--filled[data-v-30d7dee0]{color:var(--el-text-color-regular)}.outlined-tree-select--error[data-v-30d7dee0]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-tree-select__required[data-v-30d7dee0],.outlined-tree-select--error .outlined-tree-select__label[data-v-30d7dee0],.outlined-tree-select__error[data-v-30d7dee0]{color:var(--el-color-danger)}.outlined-tree-select__error[data-v-30d7dee0]{margin:6px 0 0;font-size:12px;line-height:1.2}[data-v-30d7dee0] .outlined-tree-select__control.el-select{width:100%}[data-v-30d7dee0] .outlined-tree-select__control .el-select__wrapper{min-height:inherit;height:inherit}[data-v-30d7dee0] .outlined-tree-select__control .el-select__selection{min-height:inherit}[data-v-30d7dee0] .outlined-tree-select__control .el-select__tags{padding-top:4px}.outlined-tree-select--bordered[data-v-30d7dee0] .el-select__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-tree-select--bordered[data-v-30d7dee0] .el-select__wrapper.is-focused{border-bottom-color:var(--el-color-primary)}.outlined-tree-select--error[data-v-30d7dee0] .el-select__wrapper,.outlined-tree-select--error[data-v-30d7dee0] .el-select__wrapper.is-focused,.outlined-tree-select--error[data-v-30d7dee0] .el-select__wrapper.is-focus,.outlined-tree-select--error[data-v-30d7dee0] .el-select__wrapper:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-tree-select--error.outlined-tree-select--bordered[data-v-30d7dee0] .el-select__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hbdlzy/ui-core",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "Company shared Vue UI core package.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -22,8 +22,6 @@
22
22
  "files": [
23
23
  "dist",
24
24
  "src",
25
- "!src/**/*.test.ts",
26
- "!src/**/*.spec.ts",
27
25
  "README.md",
28
26
  "components.manifest.json"
29
27
  ],
@@ -39,7 +37,11 @@
39
37
  },
40
38
  "sideEffects": [
41
39
  "**/*.css",
42
- "**/*.vue"
40
+ "**/*.vue",
41
+ "dist/index.js",
42
+ "dist/index.cjs",
43
+ "src/index.ts",
44
+ "src/ripple/index.ts"
43
45
  ],
44
46
  "publishConfig": {
45
47
  "access": "public",
@@ -18,7 +18,7 @@
18
18
  import { computed, ref } from 'vue'
19
19
  import type { PropType } from 'vue'
20
20
  import { ElMessage } from 'element-plus'
21
- import type { ExcelExportOptions } from '../../excel/exportExcel'
21
+ import { exportExcel, type ExcelExportOptions } from '../../excel/exportExcel'
22
22
  import { downloadExportResponse, normalizeExportFileName } from './BaseExportButton.utils'
23
23
  import type {
24
24
  ExportBeforeHandler,
@@ -140,8 +140,6 @@ async function handleExport() {
140
140
 
141
141
  try {
142
142
  if (exportMode.value === 'excel' && props.excelOptions) {
143
- const { exportExcel } = await import('../../excel/exportExcel')
144
-
145
143
  await exportExcel(props.excelOptions)
146
144
 
147
145
  if (props.autoMessage) {
@@ -105,7 +105,7 @@ export interface BaseTableNormalizedResult<Row = Record<string, any>> {
105
105
 
106
106
  export type BaseTableRequestHandler<Row = Record<string, any>> = (
107
107
  params: BaseTableRequestParams
108
- ) => Promise<BaseTableRequestResult<Row> | Row[] | unknown>
108
+ ) => Promise<BaseTableRequestResult<Row> | Row[]>
109
109
 
110
110
  export type BaseTableResultAdapter<Row = Record<string, any>> = (
111
111
  result: unknown,
@@ -17,6 +17,9 @@ export interface OutlinedCascaderProps {
17
17
  levels?: boolean
18
18
  marginBottom?: OutlinedCascaderCssValue
19
19
  paddingTop?: OutlinedCascaderCssValue
20
+ required?: boolean
21
+ error?: boolean
22
+ errorMessage?: string
20
23
  }
21
24
 
22
25
  export interface OutlinedCascaderExpose {
@@ -12,12 +12,13 @@
12
12
  :options="options"
13
13
  :props="propsValue"
14
14
  :clearable="clearable"
15
- :placeholder="placeholder"
15
+ :placeholder="controlPlaceholder"
16
16
  :filterable="filterable"
17
17
  :show-all-levels="levels"
18
18
  :disabled="disabled"
19
19
  :popper-class="popperClass"
20
20
  :style="cascaderStyle"
21
+ :aria-invalid="hasError ? 'true' : undefined"
21
22
  @update:model-value="handleModelValueUpdate"
22
23
  @focus="handleFocus"
23
24
  @blur="handleBlur"
@@ -30,8 +31,19 @@
30
31
  class="outlined-cascader__label"
31
32
  :class="labelClasses"
32
33
  >
33
- {{ floatingLabel }}
34
+ <span
35
+ v-if="required"
36
+ class="outlined-cascader__required"
37
+ >*</span>
38
+ <span>{{ floatingLabel }}</span>
34
39
  </div>
40
+
41
+ <p
42
+ v-if="hasError"
43
+ class="outlined-cascader__error"
44
+ >
45
+ {{ resolvedErrorMessage }}
46
+ </p>
35
47
  </div>
36
48
  </template>
37
49
 
@@ -63,7 +75,10 @@ const props = withDefaults(defineProps<OutlinedCascaderProps>(), {
63
75
  filterable: true,
64
76
  levels: true,
65
77
  marginBottom: 20,
66
- paddingTop: 20
78
+ paddingTop: 20,
79
+ required: false,
80
+ error: false,
81
+ errorMessage: ''
67
82
  })
68
83
 
69
84
  const emit = defineEmits<{
@@ -99,7 +114,8 @@ const cascaderAttrs = computed(() => {
99
114
  })
100
115
 
101
116
  const containerClasses = computed(() => ({
102
- 'outlined-cascader--bordered': props.isBorder
117
+ 'outlined-cascader--bordered': props.isBorder,
118
+ 'outlined-cascader--error': hasError.value
103
119
  }))
104
120
 
105
121
  const containerStyle = computed(() => ({
@@ -113,6 +129,9 @@ const cascaderStyle = computed(() => ({
113
129
  }))
114
130
 
115
131
  const floatingLabel = computed(() => props.label || props.placeholder || '')
132
+ const controlPlaceholder = computed(() => addRequiredMark(props.placeholder))
133
+ const hasError = computed(() => Boolean(props.error))
134
+ const resolvedErrorMessage = computed(() => props.errorMessage || createRequiredMessage(floatingLabel.value))
116
135
 
117
136
  const hasContent = computed(() => cascaderValue.value.length > 0)
118
137
 
@@ -178,6 +197,18 @@ function toCssValue(value: OutlinedCascaderCssValue | undefined) {
178
197
  return value
179
198
  }
180
199
 
200
+ function addRequiredMark(value: string) {
201
+ if (!props.required || !value || value.startsWith('*')) {
202
+ return value
203
+ }
204
+
205
+ return `*${value}`
206
+ }
207
+
208
+ function createRequiredMessage(label: string) {
209
+ return label ? `${label}为必填项` : '该项为必填项'
210
+ }
211
+
181
212
  defineExpose<OutlinedCascaderExpose>({
182
213
  focus: () => {
183
214
  cascaderRef.value?.togglePopperVisible?.(true)
@@ -205,6 +236,9 @@ defineExpose<OutlinedCascaderExpose>({
205
236
  .outlined-cascader__label {
206
237
  position: absolute;
207
238
  left: -2px;
239
+ display: inline-flex;
240
+ align-items: center;
241
+ gap: 2px;
208
242
  padding: 2px 5px;
209
243
  border-radius: 2px;
210
244
  background-color: #ffffff;
@@ -234,17 +268,48 @@ defineExpose<OutlinedCascaderExpose>({
234
268
  color: var(--el-text-color-regular);
235
269
  }
236
270
 
271
+ .outlined-cascader--error {
272
+ --el-input-focus-border-color: var(--el-color-danger);
273
+ --el-input-hover-border-color: var(--el-color-danger);
274
+ }
275
+
276
+ .outlined-cascader__required,
277
+ .outlined-cascader--error .outlined-cascader__label,
278
+ .outlined-cascader__error {
279
+ color: var(--el-color-danger);
280
+ }
281
+
282
+ .outlined-cascader__error {
283
+ margin: 6px 0 0;
284
+ font-size: 12px;
285
+ line-height: 1.2;
286
+ }
287
+
237
288
  :deep(.outlined-cascader__control .el-input) {
238
289
  height: 100%;
239
290
  }
240
291
 
241
- :deep(.outlined-cascader--bordered .el-input__wrapper) {
292
+ .outlined-cascader--bordered :deep(.el-input__wrapper) {
242
293
  box-shadow: none;
243
294
  border-radius: 0;
244
295
  border-bottom: 1px solid #cccccc;
245
296
  }
246
297
 
247
- :deep(.outlined-cascader--bordered .el-input__wrapper.is-focus) {
298
+ .outlined-cascader--bordered :deep(.el-input__wrapper.is-focus) {
248
299
  border-bottom-color: var(--el-color-primary);
249
300
  }
301
+
302
+ .outlined-cascader--error :deep(.el-input__wrapper) {
303
+ box-shadow: 0 0 0 1px var(--el-color-danger) inset;
304
+ }
305
+
306
+ .outlined-cascader--error :deep(.el-input.is-focus .el-input__wrapper),
307
+ .outlined-cascader--error :deep(.el-input__wrapper:hover) {
308
+ box-shadow: 0 0 0 1px var(--el-color-danger) inset;
309
+ }
310
+
311
+ .outlined-cascader--error.outlined-cascader--bordered :deep(.el-input__wrapper) {
312
+ box-shadow: 0 0 0 1px var(--el-color-danger) inset;
313
+ border-bottom-color: transparent;
314
+ }
250
315
  </style>
@@ -54,6 +54,9 @@ const areaOptions = [
54
54
  | `propsValue` | `Record<string, unknown>` | `undefined` | 透传给 `el-cascader` 的 `props` |
55
55
  | `placeholder` | `string` | `''` | 占位文案,也会作为浮动标签文案 |
56
56
  | `label` | `string` | `''` | 自定义浮动标签文案,优先级高于 `placeholder` |
57
+ | `required` | `boolean` | `false` | 是否显示必填星号 |
58
+ | `error` | `boolean` | `false` | 是否显示错误态,开启后级联框变红并展示错误文案 |
59
+ | `errorMessage` | `string` | `''` | 错误文案,未传时默认使用“字段名为必填项” |
57
60
  | `popperClass` | `string` | `''` | 自定义弹层类名 |
58
61
  | `disabled` | `boolean` | `false` | 是否禁用 |
59
62
  | `inputHeight` | `number` | `40` | 输入框高度 |
@@ -29,6 +29,9 @@ export interface OutlinedDatePickerProps {
29
29
  disabledDate?: OutlinedDatePickerDisabledDate
30
30
  marginBottom?: OutlinedDatePickerCssValue
31
31
  paddingTop?: OutlinedDatePickerCssValue
32
+ required?: boolean
33
+ error?: boolean
34
+ errorMessage?: string
32
35
  }
33
36
 
34
37
  export interface OutlinedDatePickerExpose {
@@ -12,9 +12,10 @@
12
12
  :type="typeDate"
13
13
  :format="format"
14
14
  :value-format="resolvedValueFormat"
15
- :placeholder="placeholder"
15
+ :placeholder="controlPlaceholder"
16
16
  :disabled="disabled"
17
17
  :style="pickerStyle"
18
+ :aria-invalid="hasError ? 'true' : undefined"
18
19
  @update:model-value="handleModelValueUpdate"
19
20
  @focus="handleFocus"
20
21
  @blur="handleBlur"
@@ -27,8 +28,19 @@
27
28
  class="outlined-date-picker__label"
28
29
  :class="labelClasses"
29
30
  >
30
- {{ floatingLabel }}
31
+ <span
32
+ v-if="required"
33
+ class="outlined-date-picker__required"
34
+ >*</span>
35
+ <span>{{ floatingLabel }}</span>
31
36
  </div>
37
+
38
+ <p
39
+ v-if="hasError"
40
+ class="outlined-date-picker__error"
41
+ >
42
+ {{ resolvedErrorMessage }}
43
+ </p>
32
44
  </div>
33
45
  </template>
34
46
 
@@ -62,7 +74,10 @@ const props = withDefaults(defineProps<OutlinedDatePickerProps>(), {
62
74
  isBorder: false,
63
75
  disabledDate: undefined,
64
76
  marginBottom: 20,
65
- paddingTop: 20
77
+ paddingTop: 20,
78
+ required: false,
79
+ error: false,
80
+ errorMessage: ''
66
81
  })
67
82
 
68
83
  const emit = defineEmits<{
@@ -159,7 +174,8 @@ const pickerAttrs = computed(() => {
159
174
  })
160
175
 
161
176
  const containerClasses = computed(() => ({
162
- 'outlined-date-picker--bordered': props.isBorder
177
+ 'outlined-date-picker--bordered': props.isBorder,
178
+ 'outlined-date-picker--error': hasError.value
163
179
  }))
164
180
 
165
181
  const containerStyle = computed(() => ({
@@ -172,6 +188,9 @@ const pickerStyle = computed(() => ({
172
188
  }))
173
189
 
174
190
  const floatingLabel = computed(() => props.label || props.placeholder || '')
191
+ const controlPlaceholder = computed(() => addRequiredMark(props.placeholder))
192
+ const hasError = computed(() => Boolean(props.error))
193
+ const resolvedErrorMessage = computed(() => props.errorMessage || createRequiredMessage(floatingLabel.value))
175
194
 
176
195
  const hasContent = computed(() => hasFilledValue(pickerValue.value))
177
196
 
@@ -279,6 +298,18 @@ function toCssValue(value: OutlinedDatePickerCssValue | undefined) {
279
298
  return value
280
299
  }
281
300
 
301
+ function addRequiredMark(value: string) {
302
+ if (!props.required || !value || value.startsWith('*')) {
303
+ return value
304
+ }
305
+
306
+ return `*${value}`
307
+ }
308
+
309
+ function createRequiredMessage(label: string) {
310
+ return label ? `${label}为必填项` : '该项为必填项'
311
+ }
312
+
282
313
  defineExpose<OutlinedDatePickerExpose>({
283
314
  focus: () => {
284
315
  pickerRef.value?.focus?.()
@@ -304,6 +335,9 @@ defineExpose<OutlinedDatePickerExpose>({
304
335
  .outlined-date-picker__label {
305
336
  position: absolute;
306
337
  left: -2px;
338
+ display: inline-flex;
339
+ align-items: center;
340
+ gap: 2px;
307
341
  padding: 2px 5px;
308
342
  border-radius: 2px;
309
343
  background-color: #ffffff;
@@ -333,6 +367,23 @@ defineExpose<OutlinedDatePickerExpose>({
333
367
  color: var(--el-text-color-regular);
334
368
  }
335
369
 
370
+ .outlined-date-picker--error {
371
+ --el-input-focus-border-color: var(--el-color-danger);
372
+ --el-input-hover-border-color: var(--el-color-danger);
373
+ }
374
+
375
+ .outlined-date-picker__required,
376
+ .outlined-date-picker--error .outlined-date-picker__label,
377
+ .outlined-date-picker__error {
378
+ color: var(--el-color-danger);
379
+ }
380
+
381
+ .outlined-date-picker__error {
382
+ margin: 6px 0 0;
383
+ font-size: 12px;
384
+ line-height: 1.2;
385
+ }
386
+
336
387
  :deep(.outlined-date-picker__control.el-date-editor) {
337
388
  width: 100%;
338
389
  }
@@ -353,13 +404,27 @@ defineExpose<OutlinedDatePickerExpose>({
353
404
  right: 30px;
354
405
  }
355
406
 
356
- :deep(.outlined-date-picker--bordered .el-input__wrapper) {
407
+ .outlined-date-picker--bordered :deep(.el-input__wrapper) {
357
408
  box-shadow: none;
358
409
  border-radius: 0;
359
410
  border-bottom: 1px solid #cccccc;
360
411
  }
361
412
 
362
- :deep(.outlined-date-picker--bordered .el-input__wrapper.is-focus) {
413
+ .outlined-date-picker--bordered :deep(.el-input__wrapper.is-focus) {
363
414
  border-bottom-color: var(--el-color-primary);
364
415
  }
416
+
417
+ .outlined-date-picker--error :deep(.el-input__wrapper) {
418
+ box-shadow: 0 0 0 1px var(--el-color-danger) inset;
419
+ }
420
+
421
+ .outlined-date-picker--error :deep(.el-input__wrapper.is-focus),
422
+ .outlined-date-picker--error :deep(.el-input__wrapper:hover) {
423
+ box-shadow: 0 0 0 1px var(--el-color-danger) inset;
424
+ }
425
+
426
+ .outlined-date-picker--error.outlined-date-picker--bordered :deep(.el-input__wrapper) {
427
+ box-shadow: 0 0 0 1px var(--el-color-danger) inset;
428
+ border-bottom-color: transparent;
429
+ }
365
430
  </style>
@@ -97,6 +97,9 @@ const form = reactive({
97
97
  - `value`: 当前值,推荐通过 `v-model:value` 使用
98
98
  - `placeholder`: 占位文案,同时默认作为浮动标签文案
99
99
  - `label`: 自定义浮动标签文案,未传时回退到 `placeholder`
100
+ - `required`: 是否显示必填星号,默认 `false`
101
+ - `error`: 是否显示错误态,开启后日期框变红并展示错误文案
102
+ - `errorMessage`: 错误文案,未传时默认使用“字段名为必填项”
100
103
  - `disabled`: 是否禁用
101
104
  - `timeValue`: 是否按带时间场景处理默认时间
102
105
  - `typeDate`: 日期控件类型,默认 `date`
@@ -20,6 +20,9 @@ export interface OutlinedDateTimePickerProps {
20
20
  clearable?: boolean
21
21
  marginBottom?: OutlinedDateTimePickerCssValue
22
22
  paddingTop?: OutlinedDateTimePickerCssValue
23
+ required?: boolean
24
+ error?: boolean
25
+ errorMessage?: string
23
26
  }
24
27
 
25
28
  export interface OutlinedDateTimePickerExpose {