@hbdlzy/ui-core 0.1.4 → 0.1.5

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 (64) hide show
  1. package/README.md +7 -0
  2. package/components.manifest.json +11 -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 +25 -25
  17. package/dist/components/OutlinedCascader/OutlinedCascader.vue.d.ts +85 -85
  18. package/dist/components/OutlinedCascader/index.d.ts +3 -3
  19. package/dist/components/OutlinedDatePicker/OutlinedDatePicker.types.d.ts +27 -27
  20. package/dist/components/OutlinedDatePicker/OutlinedDatePicker.vue.d.ts +88 -88
  21. package/dist/components/OutlinedDatePicker/index.d.ts +3 -3
  22. package/dist/components/OutlinedDateTimePicker/OutlinedDateTimePicker.types.d.ts +26 -26
  23. package/dist/components/OutlinedDateTimePicker/OutlinedDateTimePicker.vue.d.ts +97 -97
  24. package/dist/components/OutlinedDateTimePicker/index.d.ts +3 -3
  25. package/dist/components/OutlinedInput/OutlinedInput.types.d.ts +29 -29
  26. package/dist/components/OutlinedInput/OutlinedInput.vue.d.ts +97 -97
  27. package/dist/components/OutlinedInput/index.d.ts +3 -3
  28. package/dist/components/OutlinedSelect/OutlinedSelect.types.d.ts +38 -38
  29. package/dist/components/OutlinedSelect/OutlinedSelect.vue.d.ts +116 -116
  30. package/dist/components/OutlinedSelect/index.d.ts +3 -3
  31. package/dist/components/OutlinedTimePicker/OutlinedTimePicker.types.d.ts +28 -28
  32. package/dist/components/OutlinedTimePicker/OutlinedTimePicker.vue.d.ts +94 -94
  33. package/dist/components/OutlinedTimePicker/index.d.ts +3 -3
  34. package/dist/components/OutlinedTreeSelect/OutlinedTreeSelect.types.d.ts +46 -46
  35. package/dist/components/OutlinedTreeSelect/OutlinedTreeSelect.vue.d.ts +137 -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 +308 -527
  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/index.ts +5 -4
  48. package/src/ripple/index.ts +213 -0
  49. package/dist/components/BaseDialog/BaseDialog.types.d.ts +0 -25
  50. package/dist/components/BaseDialog/BaseDialog.vue.d.ts +0 -100
  51. package/dist/components/BaseDialog/index.d.ts +0 -3
  52. package/dist/components/BaseSearchForm/BaseSearchForm.types.d.ts +0 -42
  53. package/dist/components/BaseSearchForm/BaseSearchForm.utils.d.ts +0 -5
  54. package/dist/components/BaseSearchForm/BaseSearchForm.vue.d.ts +0 -88
  55. package/dist/components/BaseSearchForm/index.d.ts +0 -4
  56. package/src/components/BaseDialog/BaseDialog.types.ts +0 -28
  57. package/src/components/BaseDialog/BaseDialog.vue +0 -158
  58. package/src/components/BaseDialog/README.md +0 -69
  59. package/src/components/BaseDialog/index.ts +0 -10
  60. package/src/components/BaseSearchForm/BaseSearchForm.types.ts +0 -46
  61. package/src/components/BaseSearchForm/BaseSearchForm.utils.ts +0 -41
  62. package/src/components/BaseSearchForm/BaseSearchForm.vue +0 -267
  63. package/src/components/BaseSearchForm/README.md +0 -66
  64. 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-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)}
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.5",
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,
package/src/index.ts CHANGED
@@ -1,3 +1,7 @@
1
+ import { installRipple } from './ripple'
2
+
3
+ installRipple()
4
+
1
5
  export { echarts } from './echarts'
2
6
  export type {
3
7
  EChartInitOptions,
@@ -9,10 +13,6 @@ export type {
9
13
  } from './echarts'
10
14
  export { default as BaseCard } from './components/BaseCard'
11
15
  export * from './components/BaseCard'
12
- export { default as BaseSearchForm } from './components/BaseSearchForm'
13
- export * from './components/BaseSearchForm'
14
- export { default as BaseDialog } from './components/BaseDialog'
15
- export * from './components/BaseDialog'
16
16
  export { default as BaseTable } from './components/BaseTable'
17
17
  export * from './components/BaseTable'
18
18
  export { default as BaseEChart } from './components/BaseEChart'
@@ -35,3 +35,4 @@ export { default as OutlinedTreeSelect } from './components/OutlinedTreeSelect'
35
35
  export * from './components/OutlinedTreeSelect'
36
36
  export { exportExcel } from './excel/exportExcel'
37
37
  export type { ExcelCellValue, ExcelExportColumn, ExcelExportOptions } from './excel/exportExcel'
38
+ export { installRipple, uninstallRipple } from './ripple'
@@ -0,0 +1,213 @@
1
+ const HBDL_RIPPLE_KEY = '__HBDL_UI_RIPPLE__'
2
+ const RIPPLE_STYLE_ID = 'hbdl-ui-ripple-style'
3
+ const RIPPLE_HOST_CLASS = 'hbdl-ripple-host'
4
+ const RIPPLE_WAVE_CLASS = 'hbdl-ripple__wave'
5
+
6
+ const RIPPLE_TARGET_SELECTOR = [
7
+ 'button',
8
+ '[role="button"]',
9
+ '.el-button',
10
+ '.el-radio-button__inner',
11
+ '.el-checkbox-button__inner'
12
+ ].join(',')
13
+
14
+ const RIPPLE_DISABLED_SELECTOR = [
15
+ ':disabled',
16
+ '[disabled]',
17
+ '[aria-disabled="true"]',
18
+ '.is-disabled',
19
+ '.is-loading'
20
+ ].join(',')
21
+
22
+ const RIPPLE_SKIP_SELECTOR = '[data-hbdl-ripple="false"]'
23
+
24
+ const RIPPLE_STYLE = `
25
+ .${RIPPLE_HOST_CLASS} {
26
+ overflow: hidden;
27
+ -webkit-tap-highlight-color: transparent;
28
+ }
29
+
30
+ .${RIPPLE_HOST_CLASS} > .${RIPPLE_WAVE_CLASS} {
31
+ position: absolute;
32
+ left: var(--hbdl-ripple-x);
33
+ top: var(--hbdl-ripple-y);
34
+ width: var(--hbdl-ripple-size);
35
+ height: var(--hbdl-ripple-size);
36
+ border-radius: 999px;
37
+ background: var(--hbdl-ripple-color, currentColor);
38
+ pointer-events: none;
39
+ opacity: 0;
40
+ transform: scale(0);
41
+ animation: hbdl-ripple-wave 560ms cubic-bezier(0.22, 1, 0.36, 1);
42
+ }
43
+
44
+ @keyframes hbdl-ripple-wave {
45
+ 0% {
46
+ opacity: 0.22;
47
+ transform: scale(0);
48
+ }
49
+
50
+ 55% {
51
+ opacity: 0.18;
52
+ }
53
+
54
+ 100% {
55
+ opacity: 0;
56
+ transform: scale(1);
57
+ }
58
+ }
59
+
60
+ @media (prefers-reduced-motion: reduce) {
61
+ .${RIPPLE_HOST_CLASS} > .${RIPPLE_WAVE_CLASS} {
62
+ animation-duration: 1ms;
63
+ }
64
+ }
65
+ `
66
+
67
+ interface RippleState {
68
+ teardown: () => void
69
+ }
70
+
71
+ type RippleWindow = Window & {
72
+ [HBDL_RIPPLE_KEY]?: RippleState
73
+ }
74
+
75
+ const noop = () => undefined
76
+
77
+ export function installRipple() {
78
+ if (!canUseDOM()) {
79
+ return noop
80
+ }
81
+
82
+ const rippleWindow = window as RippleWindow
83
+
84
+ if (rippleWindow[HBDL_RIPPLE_KEY]) {
85
+ return rippleWindow[HBDL_RIPPLE_KEY].teardown
86
+ }
87
+
88
+ injectRippleStyle()
89
+
90
+ document.addEventListener('pointerdown', handlePointerDown, true)
91
+ document.addEventListener('keydown', handleKeyDown, true)
92
+
93
+ const teardown = () => {
94
+ document.removeEventListener('pointerdown', handlePointerDown, true)
95
+ document.removeEventListener('keydown', handleKeyDown, true)
96
+ delete rippleWindow[HBDL_RIPPLE_KEY]
97
+ }
98
+
99
+ rippleWindow[HBDL_RIPPLE_KEY] = {
100
+ teardown
101
+ }
102
+
103
+ return teardown
104
+ }
105
+
106
+ export function uninstallRipple() {
107
+ if (!canUseDOM()) {
108
+ return
109
+ }
110
+
111
+ const rippleWindow = window as RippleWindow
112
+ rippleWindow[HBDL_RIPPLE_KEY]?.teardown()
113
+ }
114
+
115
+ function canUseDOM() {
116
+ return typeof window !== 'undefined' && typeof document !== 'undefined'
117
+ }
118
+
119
+ function injectRippleStyle() {
120
+ if (document.getElementById(RIPPLE_STYLE_ID)) {
121
+ return
122
+ }
123
+
124
+ const style = document.createElement('style')
125
+ style.id = RIPPLE_STYLE_ID
126
+ style.textContent = RIPPLE_STYLE
127
+ document.head.appendChild(style)
128
+ }
129
+
130
+ function handlePointerDown(event: PointerEvent) {
131
+ if (event.defaultPrevented || event.button !== 0) {
132
+ return
133
+ }
134
+
135
+ const target = findRippleTarget(event.target)
136
+
137
+ if (!target) {
138
+ return
139
+ }
140
+
141
+ createRipple(target, event.clientX, event.clientY)
142
+ }
143
+
144
+ function handleKeyDown(event: KeyboardEvent) {
145
+ if (event.defaultPrevented || event.repeat || !isActivationKey(event.key)) {
146
+ return
147
+ }
148
+
149
+ const target = findRippleTarget(event.target)
150
+
151
+ if (!target) {
152
+ return
153
+ }
154
+
155
+ const rect = target.getBoundingClientRect()
156
+ createRipple(target, rect.left + rect.width / 2, rect.top + rect.height / 2)
157
+ }
158
+
159
+ function findRippleTarget(target: EventTarget | null) {
160
+ if (!(target instanceof Element)) {
161
+ return null
162
+ }
163
+
164
+ const rippleTarget = target.closest(RIPPLE_TARGET_SELECTOR)
165
+
166
+ if (!(rippleTarget instanceof HTMLElement)) {
167
+ return null
168
+ }
169
+
170
+ if (rippleTarget.closest(RIPPLE_SKIP_SELECTOR) || rippleTarget.closest(RIPPLE_DISABLED_SELECTOR)) {
171
+ return null
172
+ }
173
+
174
+ return rippleTarget
175
+ }
176
+
177
+ function createRipple(target: HTMLElement, clientX: number, clientY: number) {
178
+ const rect = target.getBoundingClientRect()
179
+
180
+ if (rect.width <= 0 || rect.height <= 0) {
181
+ return
182
+ }
183
+
184
+ const offsetX = clientX - rect.left
185
+ const offsetY = clientY - rect.top
186
+ const maxX = Math.max(offsetX, rect.width - offsetX)
187
+ const maxY = Math.max(offsetY, rect.height - offsetY)
188
+ const size = Math.ceil(Math.sqrt(maxX * maxX + maxY * maxY) * 2)
189
+ const ripple = document.createElement('span')
190
+
191
+ prepareRippleHost(target)
192
+ ripple.className = RIPPLE_WAVE_CLASS
193
+ ripple.setAttribute('aria-hidden', 'true')
194
+ ripple.style.setProperty('--hbdl-ripple-size', `${size}px`)
195
+ ripple.style.setProperty('--hbdl-ripple-x', `${offsetX - size / 2}px`)
196
+ ripple.style.setProperty('--hbdl-ripple-y', `${offsetY - size / 2}px`)
197
+
198
+ target.insertBefore(ripple, target.firstChild)
199
+ ripple.addEventListener('animationend', () => ripple.remove(), { once: true })
200
+ window.setTimeout(() => ripple.remove(), 700)
201
+ }
202
+
203
+ function prepareRippleHost(target: HTMLElement) {
204
+ target.classList.add(RIPPLE_HOST_CLASS)
205
+
206
+ if (getComputedStyle(target).position === 'static') {
207
+ target.style.position = 'relative'
208
+ }
209
+ }
210
+
211
+ function isActivationKey(key: string) {
212
+ return key === 'Enter' || key === ' ' || key === 'Spacebar'
213
+ }
@@ -1,25 +0,0 @@
1
- export type BaseDialogCssValue = string | number;
2
- export type BaseDialogBeforeConfirm = () => boolean | void | Promise<boolean | void>;
3
- export interface BaseDialogProps {
4
- modelValue?: boolean;
5
- title?: string;
6
- width?: BaseDialogCssValue;
7
- top?: string;
8
- fullscreen?: boolean;
9
- appendToBody?: boolean;
10
- destroyOnClose?: boolean;
11
- closeOnClickModal?: boolean;
12
- closeOnPressEscape?: boolean;
13
- showClose?: boolean;
14
- showFooter?: boolean;
15
- confirmText?: string;
16
- cancelText?: string;
17
- confirmLoading?: boolean;
18
- confirmDisabled?: boolean;
19
- beforeConfirm?: BaseDialogBeforeConfirm;
20
- }
21
- export interface BaseDialogExpose {
22
- open: () => void;
23
- close: () => void;
24
- confirm: () => Promise<void>;
25
- }
@@ -1,100 +0,0 @@
1
- import type { BaseDialogProps } from './BaseDialog.types';
2
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BaseDialogProps>, {
3
- modelValue: boolean;
4
- title: string;
5
- width: string;
6
- top: string;
7
- fullscreen: boolean;
8
- appendToBody: boolean;
9
- destroyOnClose: boolean;
10
- closeOnClickModal: boolean;
11
- closeOnPressEscape: boolean;
12
- showClose: boolean;
13
- showFooter: boolean;
14
- confirmText: string;
15
- cancelText: string;
16
- confirmLoading: boolean;
17
- confirmDisabled: boolean;
18
- beforeConfirm: undefined;
19
- }>>, {
20
- open: () => void;
21
- close: () => void;
22
- confirm: () => Promise<void>;
23
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
24
- "update:modelValue": (value: boolean) => void;
25
- open: () => void;
26
- opened: () => void;
27
- close: () => void;
28
- closed: () => void;
29
- cancel: () => void;
30
- confirm: () => void;
31
- }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BaseDialogProps>, {
32
- modelValue: boolean;
33
- title: string;
34
- width: string;
35
- top: string;
36
- fullscreen: boolean;
37
- appendToBody: boolean;
38
- destroyOnClose: boolean;
39
- closeOnClickModal: boolean;
40
- closeOnPressEscape: boolean;
41
- showClose: boolean;
42
- showFooter: boolean;
43
- confirmText: string;
44
- cancelText: string;
45
- confirmLoading: boolean;
46
- confirmDisabled: boolean;
47
- beforeConfirm: undefined;
48
- }>>> & Readonly<{
49
- onCancel?: (() => any) | undefined;
50
- onClose?: (() => any) | undefined;
51
- "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
52
- onOpen?: (() => any) | undefined;
53
- onOpened?: (() => any) | undefined;
54
- onClosed?: (() => any) | undefined;
55
- onConfirm?: (() => any) | undefined;
56
- }>, {
57
- title: string;
58
- modelValue: boolean;
59
- width: import("./BaseDialog.types").BaseDialogCssValue;
60
- top: string;
61
- fullscreen: boolean;
62
- appendToBody: boolean;
63
- destroyOnClose: boolean;
64
- closeOnClickModal: boolean;
65
- closeOnPressEscape: boolean;
66
- showClose: boolean;
67
- showFooter: boolean;
68
- confirmText: string;
69
- cancelText: string;
70
- confirmLoading: boolean;
71
- confirmDisabled: boolean;
72
- beforeConfirm: import("./BaseDialog.types").BaseDialogBeforeConfirm;
73
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
74
- header?(_: {}): any;
75
- default?(_: {}): any;
76
- footer?(_: {}): any;
77
- }>;
78
- export default _default;
79
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
80
- type __VLS_TypePropsToRuntimeProps<T> = {
81
- [K in keyof T]-?: {} extends Pick<T, K> ? {
82
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
83
- } : {
84
- type: import('vue').PropType<T[K]>;
85
- required: true;
86
- };
87
- };
88
- type __VLS_WithDefaults<P, D> = {
89
- [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
90
- default: D[K];
91
- }> : P[K];
92
- };
93
- type __VLS_Prettify<T> = {
94
- [K in keyof T]: T[K];
95
- } & {};
96
- type __VLS_WithTemplateSlots<T, S> = T & {
97
- new (): {
98
- $slots: S;
99
- };
100
- };
@@ -1,3 +0,0 @@
1
- import BaseDialog from './BaseDialog.vue';
2
- export default BaseDialog;
3
- export type { BaseDialogBeforeConfirm, BaseDialogCssValue, BaseDialogExpose, BaseDialogProps } from './BaseDialog.types';
@@ -1,42 +0,0 @@
1
- export type BaseSearchFormCssValue = string | number;
2
- export type BaseSearchFormFieldType = 'input' | 'select' | 'date' | 'dateRange' | 'slot';
3
- export type BaseSearchFormOptionValue = string | number | boolean;
4
- export type BaseSearchFormModel = Record<string, unknown>;
5
- export interface BaseSearchFormOption {
6
- label: string;
7
- value: BaseSearchFormOptionValue;
8
- disabled?: boolean;
9
- }
10
- export interface BaseSearchFormField {
11
- key: string;
12
- label?: string;
13
- type?: BaseSearchFormFieldType;
14
- placeholder?: string;
15
- options?: BaseSearchFormOption[];
16
- span?: number;
17
- collapsed?: boolean;
18
- hidden?: boolean;
19
- clearable?: boolean;
20
- disabled?: boolean;
21
- props?: Record<string, unknown>;
22
- }
23
- export interface BaseSearchFormProps {
24
- modelValue?: BaseSearchFormModel;
25
- fields: BaseSearchFormField[];
26
- collapsed?: boolean;
27
- showCollapse?: boolean;
28
- columns?: number;
29
- labelWidth?: BaseSearchFormCssValue;
30
- fieldWidth?: BaseSearchFormCssValue;
31
- gutter?: number;
32
- submitText?: string;
33
- resetText?: string;
34
- expandText?: string;
35
- collapseText?: string;
36
- }
37
- export interface BaseSearchFormExpose {
38
- submit: () => void;
39
- reset: () => void;
40
- setFieldValue: (key: string, value: unknown) => void;
41
- getModel: () => BaseSearchFormModel;
42
- }
@@ -1,5 +0,0 @@
1
- import type { BaseSearchFormField, BaseSearchFormModel } from './BaseSearchForm.types';
2
- export declare function cloneSearchFormModel(model?: BaseSearchFormModel): BaseSearchFormModel;
3
- export declare function getVisibleSearchFields(fields: BaseSearchFormField[], collapsed: boolean): BaseSearchFormField[];
4
- export declare function resetSearchFormModel(fields: BaseSearchFormField[]): BaseSearchFormModel;
5
- export declare function toSearchFormCssValue(value?: string | number): string | undefined;
@@ -1,88 +0,0 @@
1
- import type { BaseSearchFormField, BaseSearchFormModel, BaseSearchFormProps } from './BaseSearchForm.types';
2
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BaseSearchFormProps>, {
3
- modelValue: () => {};
4
- collapsed: boolean;
5
- showCollapse: boolean;
6
- columns: number;
7
- labelWidth: number;
8
- fieldWidth: undefined;
9
- gutter: number;
10
- submitText: string;
11
- resetText: string;
12
- expandText: string;
13
- collapseText: string;
14
- }>>, {
15
- submit: () => void;
16
- reset: () => void;
17
- setFieldValue: (key: string, value: unknown) => void;
18
- getModel: () => BaseSearchFormModel;
19
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
20
- "update:modelValue": (value: BaseSearchFormModel) => void;
21
- search: (value: BaseSearchFormModel) => void;
22
- reset: (value: BaseSearchFormModel) => void;
23
- "field-change": (key: string, value: unknown, model: BaseSearchFormModel) => void;
24
- }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BaseSearchFormProps>, {
25
- modelValue: () => {};
26
- collapsed: boolean;
27
- showCollapse: boolean;
28
- columns: number;
29
- labelWidth: number;
30
- fieldWidth: undefined;
31
- gutter: number;
32
- submitText: string;
33
- resetText: string;
34
- expandText: string;
35
- collapseText: string;
36
- }>>> & Readonly<{
37
- onReset?: ((value: BaseSearchFormModel) => any) | undefined;
38
- onSearch?: ((value: BaseSearchFormModel) => any) | undefined;
39
- "onUpdate:modelValue"?: ((value: BaseSearchFormModel) => any) | undefined;
40
- "onField-change"?: ((key: string, value: unknown, model: BaseSearchFormModel) => any) | undefined;
41
- }>, {
42
- modelValue: BaseSearchFormModel;
43
- collapsed: boolean;
44
- showCollapse: boolean;
45
- columns: number;
46
- labelWidth: import("./BaseSearchForm.types").BaseSearchFormCssValue;
47
- fieldWidth: import("./BaseSearchForm.types").BaseSearchFormCssValue;
48
- gutter: number;
49
- submitText: string;
50
- resetText: string;
51
- expandText: string;
52
- collapseText: string;
53
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Partial<Record<string, (_: {
54
- field: BaseSearchFormField;
55
- model: BaseSearchFormModel;
56
- value: unknown;
57
- setValue: (value: unknown) => void;
58
- }) => any>> & {
59
- "actions-before"?(_: {
60
- model: BaseSearchFormModel;
61
- }): any;
62
- "actions-after"?(_: {
63
- model: BaseSearchFormModel;
64
- }): any;
65
- }>;
66
- export default _default;
67
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
68
- type __VLS_TypePropsToRuntimeProps<T> = {
69
- [K in keyof T]-?: {} extends Pick<T, K> ? {
70
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
71
- } : {
72
- type: import('vue').PropType<T[K]>;
73
- required: true;
74
- };
75
- };
76
- type __VLS_WithDefaults<P, D> = {
77
- [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
78
- default: D[K];
79
- }> : P[K];
80
- };
81
- type __VLS_Prettify<T> = {
82
- [K in keyof T]: T[K];
83
- } & {};
84
- type __VLS_WithTemplateSlots<T, S> = T & {
85
- new (): {
86
- $slots: S;
87
- };
88
- };
@@ -1,4 +0,0 @@
1
- import BaseSearchForm from './BaseSearchForm.vue';
2
- export default BaseSearchForm;
3
- export { cloneSearchFormModel, getVisibleSearchFields, resetSearchFormModel, toSearchFormCssValue } from './BaseSearchForm.utils';
4
- export type { BaseSearchFormCssValue, BaseSearchFormExpose, BaseSearchFormField, BaseSearchFormFieldType, BaseSearchFormModel, BaseSearchFormOption, BaseSearchFormOptionValue, BaseSearchFormProps } from './BaseSearchForm.types';
@@ -1,28 +0,0 @@
1
- export type BaseDialogCssValue = string | number
2
-
3
- export type BaseDialogBeforeConfirm = () => boolean | void | Promise<boolean | void>
4
-
5
- export interface BaseDialogProps {
6
- modelValue?: boolean
7
- title?: string
8
- width?: BaseDialogCssValue
9
- top?: string
10
- fullscreen?: boolean
11
- appendToBody?: boolean
12
- destroyOnClose?: boolean
13
- closeOnClickModal?: boolean
14
- closeOnPressEscape?: boolean
15
- showClose?: boolean
16
- showFooter?: boolean
17
- confirmText?: string
18
- cancelText?: string
19
- confirmLoading?: boolean
20
- confirmDisabled?: boolean
21
- beforeConfirm?: BaseDialogBeforeConfirm
22
- }
23
-
24
- export interface BaseDialogExpose {
25
- open: () => void
26
- close: () => void
27
- confirm: () => Promise<void>
28
- }