@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.
- package/README.md +7 -0
- package/components.manifest.json +11 -35
- package/dist/components/BaseCard/BaseCard.types.d.ts +36 -36
- package/dist/components/BaseCard/BaseCard.vue.d.ts +122 -122
- package/dist/components/BaseCard/index.d.ts +3 -3
- package/dist/components/BaseEChart/BaseEChart.types.d.ts +26 -26
- package/dist/components/BaseEChart/BaseEChart.vue.d.ts +66 -66
- package/dist/components/BaseEChart/index.d.ts +3 -3
- package/dist/components/BaseExportButton/BaseExportButton.types.d.ts +21 -21
- package/dist/components/BaseExportButton/BaseExportButton.utils.d.ts +4 -4
- package/dist/components/BaseExportButton/BaseExportButton.vue.d.ts +128 -128
- package/dist/components/BaseExportButton/index.d.ts +5 -5
- package/dist/components/BaseTable/BaseTable.types.d.ts +163 -163
- package/dist/components/BaseTable/BaseTable.vue.d.ts +157 -157
- package/dist/components/BaseTable/index.d.ts +3 -3
- package/dist/components/OutlinedCascader/OutlinedCascader.types.d.ts +25 -25
- package/dist/components/OutlinedCascader/OutlinedCascader.vue.d.ts +85 -85
- package/dist/components/OutlinedCascader/index.d.ts +3 -3
- package/dist/components/OutlinedDatePicker/OutlinedDatePicker.types.d.ts +27 -27
- package/dist/components/OutlinedDatePicker/OutlinedDatePicker.vue.d.ts +88 -88
- package/dist/components/OutlinedDatePicker/index.d.ts +3 -3
- package/dist/components/OutlinedDateTimePicker/OutlinedDateTimePicker.types.d.ts +26 -26
- package/dist/components/OutlinedDateTimePicker/OutlinedDateTimePicker.vue.d.ts +97 -97
- package/dist/components/OutlinedDateTimePicker/index.d.ts +3 -3
- package/dist/components/OutlinedInput/OutlinedInput.types.d.ts +29 -29
- package/dist/components/OutlinedInput/OutlinedInput.vue.d.ts +97 -97
- package/dist/components/OutlinedInput/index.d.ts +3 -3
- package/dist/components/OutlinedSelect/OutlinedSelect.types.d.ts +38 -38
- package/dist/components/OutlinedSelect/OutlinedSelect.vue.d.ts +116 -116
- package/dist/components/OutlinedSelect/index.d.ts +3 -3
- package/dist/components/OutlinedTimePicker/OutlinedTimePicker.types.d.ts +28 -28
- package/dist/components/OutlinedTimePicker/OutlinedTimePicker.vue.d.ts +94 -94
- package/dist/components/OutlinedTimePicker/index.d.ts +3 -3
- package/dist/components/OutlinedTreeSelect/OutlinedTreeSelect.types.d.ts +46 -46
- package/dist/components/OutlinedTreeSelect/OutlinedTreeSelect.vue.d.ts +137 -137
- package/dist/components/OutlinedTreeSelect/index.d.ts +3 -3
- package/dist/echarts/index.d.ts +9 -9
- package/dist/excel/exportExcel.d.ts +18 -18
- package/dist/index.cjs +42 -1
- package/dist/index.d.ts +27 -30
- package/dist/index.js +308 -527
- package/dist/ripple/index.d.ts +2 -0
- package/dist/style.css +1 -1
- package/package.json +6 -4
- package/src/components/BaseExportButton/BaseExportButton.vue +1 -3
- package/src/components/BaseTable/BaseTable.types.ts +1 -1
- package/src/index.ts +5 -4
- package/src/ripple/index.ts +213 -0
- package/dist/components/BaseDialog/BaseDialog.types.d.ts +0 -25
- package/dist/components/BaseDialog/BaseDialog.vue.d.ts +0 -100
- package/dist/components/BaseDialog/index.d.ts +0 -3
- package/dist/components/BaseSearchForm/BaseSearchForm.types.d.ts +0 -42
- package/dist/components/BaseSearchForm/BaseSearchForm.utils.d.ts +0 -5
- package/dist/components/BaseSearchForm/BaseSearchForm.vue.d.ts +0 -88
- package/dist/components/BaseSearchForm/index.d.ts +0 -4
- package/src/components/BaseDialog/BaseDialog.types.ts +0 -28
- package/src/components/BaseDialog/BaseDialog.vue +0 -158
- package/src/components/BaseDialog/README.md +0 -69
- package/src/components/BaseDialog/index.ts +0 -10
- package/src/components/BaseSearchForm/BaseSearchForm.types.ts +0 -46
- package/src/components/BaseSearchForm/BaseSearchForm.utils.ts +0 -41
- package/src/components/BaseSearchForm/BaseSearchForm.vue +0 -267
- package/src/components/BaseSearchForm/README.md +0 -66
- package/src/components/BaseSearchForm/index.ts +0 -20
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.
|
|
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
|
|
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[]
|
|
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,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
|
-
}
|