@jt-home/mfe-components 1.0.12 → 1.0.13

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/dist/style.css CHANGED
@@ -1 +1 @@
1
- .jt-attachment-preview-service-lock{overflow:hidden}.jt-attachment-preview-service{--jt-attachment-preview-service-image-fit: contain;position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:5vh 5vw;background:#00000080;color:#333}.jt-attachment-preview-service__modal{display:flex;flex-direction:column;width:90vw;height:90vh;overflow:hidden;border-radius:.375rem;background:#f7f7f7;box-shadow:0 .125rem .5rem #1f232914}.jt-attachment-preview-service__header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;height:3.125rem;border-bottom:.0625rem solid #f5f5f5;background:#fff}.jt-attachment-preview-service__filename{position:relative;min-width:0;max-width:calc(90vw - 11.875rem);padding-left:1.8125rem;overflow:hidden;font-size:1rem;font-weight:500;line-height:3.125rem;text-overflow:ellipsis;white-space:nowrap;color:#333}.jt-attachment-preview-service__filename:before{content:"";position:absolute;left:1.25rem;top:50%;width:.1875rem;height:.625rem;border-radius:.0625rem;background:#e60000;transform:translateY(-50%)}.jt-attachment-preview-service__header-actions{display:flex;align-items:center;flex-shrink:0;height:100%}.jt-attachment-preview-service__top-download,.jt-attachment-preview-service__close{display:inline-flex;align-items:center;justify-content:center;height:100%;border:0;background:#fff;color:#0009;text-decoration:none;cursor:pointer}.jt-attachment-preview-service__top-download{gap:.25rem;min-width:4.5rem;height:2.25rem;padding:0 .75rem;font-size:1rem;line-height:1;vertical-align:top}.jt-attachment-preview-service__close{width:2.625rem;padding:0;font-size:1.375rem;font-weight:400;line-height:1}.jt-attachment-preview-service__top-download:hover,.jt-attachment-preview-service__close:hover{background:#f9f9f9;color:#333}.jt-attachment-preview-service__download-icon{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:1.125rem;height:1.125rem;font-size:1.125rem;line-height:1;transform:translateY(.0625rem)}.jt-attachment-preview-service__download-icon svg{display:block}.jt-attachment-preview-service__download-text{display:inline-flex;align-items:center;height:1.125rem;line-height:1}.jt-attachment-preview-service__body{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;overflow:hidden;background:#f7f7f7}.jt-attachment-preview-service__media,.jt-attachment-preview-service__iframe{display:block;width:100%;height:100%;border:0}.jt-attachment-preview-service__image-viewer{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden}.jt-attachment-preview-service__image{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:var(--jt-attachment-preview-service-image-fit);transform-origin:center center;transition:transform .16s ease;user-select:none;will-change:transform;-webkit-user-drag:none}.jt-attachment-preview-service__image--draggable{cursor:grab;touch-action:none}.jt-attachment-preview-service__image--dragging{cursor:grabbing;transition:none}.jt-attachment-preview-service__image-toolbar{position:absolute;left:50%;bottom:1.125rem;z-index:2;display:inline-flex;align-items:center;gap:.375rem;height:2.25rem;padding:0 .5rem;border-radius:.25rem;background:#000000a8;color:#fff;box-shadow:0 .125rem .5rem #1f23291f;transform:translate(-50%)}.jt-attachment-preview-service__image-tool{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:0;border-radius:.25rem;background:transparent;color:#fff;font-size:1rem;line-height:1;cursor:pointer}.jt-attachment-preview-service__image-tool:hover{background:#ffffff29}.jt-attachment-preview-service__image-scale{min-width:2.625rem;color:#fff;font-size:.75rem;line-height:1;text-align:center}.jt-attachment-preview-service__audio{width:min(32.5rem,100% - 2rem)}.jt-attachment-preview-service__pdf-viewer{position:relative;width:100%;height:100%;overflow:hidden;background:#f7f7f7}.jt-attachment-preview-service__pdf-layout{display:flex;width:100%;height:100%;min-height:0}.jt-attachment-preview-service__pdf-layout--hidden{visibility:hidden}.jt-attachment-preview-service__pdf-outline{flex:0 0 13.75rem;width:13.75rem;height:100%;overflow:hidden;border-right:.0625rem solid #f5f5f5;background:#fff}.jt-attachment-preview-service__pdf-outline-title{height:2.25rem;padding:0 .75rem;border-bottom:.0625rem solid #f5f5f5;color:#333;font-size:.8125rem;font-weight:500;line-height:2.25rem}.jt-attachment-preview-service__pdf-outline-list{height:calc(100% - 2.25rem);overflow:auto;padding:.5rem 0}.jt-attachment-preview-service__pdf-outline-item{display:block;width:100%;height:2rem;padding-right:.625rem;border:0;background:transparent;color:#0009;font-size:.75rem;line-height:2rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer}.jt-attachment-preview-service__pdf-outline-item:hover{background:#f9f9f9;color:#e60000}.jt-attachment-preview-service__pdf-outline-item:disabled{color:#00000080;cursor:not-allowed}.jt-attachment-preview-service__pdf-pages{display:flex;flex:1;flex-direction:column;align-items:center;gap:1rem;min-width:0;min-height:100%;overflow:auto;padding:1.25rem}.jt-attachment-preview-service__pdf-page{display:block;max-width:100%;background:#fff;box-shadow:0 .125rem .625rem #1f232924}.jt-attachment-preview-service__pdf-state{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.625rem;padding:1rem;color:#333;font-size:.75rem;text-align:center}.jt-attachment-preview-service__pdf-error{max-width:min(32.5rem,90vw - 3rem);color:#0009;font-size:.6875rem;line-height:1.5}.jt-attachment-preview-service__detecting{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#333;text-align:center}.jt-attachment-preview-service__detecting-spinner{width:1.75rem;height:1.75rem;margin-bottom:.875rem;border:.125rem solid #d9d9d9;border-top-color:#e60000;border-radius:50%;animation:jt-attachment-preview-service-spin .8s linear infinite}.jt-attachment-preview-service__detecting-title{font-size:.75rem;font-weight:500}.jt-attachment-preview-service__detecting-desc{margin-top:.375rem;color:#0009;font-size:.625rem}@keyframes jt-attachment-preview-service-spin{to{transform:rotate(360deg)}}.jt-attachment-preview-service__pdf-fallback-tip{position:absolute;left:50%;bottom:1rem;z-index:2;display:flex;align-items:center;gap:.625rem;max-width:calc(100% - 2rem);padding:.5rem .75rem;border-radius:.25rem;background:#000000b8;color:#fff;font-size:.75rem;transform:translate(-50%)}.jt-attachment-preview-service__fallback-download{border:0;background:transparent;flex-shrink:0;color:#fff;font-size:.75rem;text-decoration:underline;cursor:pointer}.jt-attachment-preview-service__empty,.jt-attachment-preview-service__unsupported{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:1rem;text-align:center}.jt-attachment-preview-service__empty{color:#0009;font-size:.875rem}.jt-attachment-preview-service__file-card{display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;max-width:calc(90vw - 3rem);min-height:0}.jt-attachment-preview-service__preview-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-height:0}.jt-attachment-preview-service__preview-fallback-icon{display:block;width:4.5rem;height:4.5rem;object-fit:contain}.jt-attachment-preview-service__file-icon{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.75rem;padding:0 .375rem;border-radius:.25rem;background:#2563eb;color:#fff;font-size:1.25rem;font-weight:600;line-height:1}.jt-attachment-preview-service__unsupported-text{margin-top:.75rem;font-size:1rem;color:#333;font-weight:500}.jt-attachment-preview-service__file-name{max-width:min(22.5rem,90vw - 3rem);margin-top:.375rem;overflow:hidden;color:#666;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.jt-attachment-preview-service__primary-download{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:2.125rem;height:1.375rem;margin-top:.875rem;padding:0 .625rem;border:0;border-radius:.25rem;background:#e60000;color:#fff;font-size:.75rem;text-decoration:none;cursor:pointer}.jt-attachment-preview-service__primary-download:hover{background:#e51e1b}:root{--color-primary: #e60000;--color-primary-light: #ff3a3a;--color-primary-hover: #e51e1b;--color-primary-bg-light: #ffe5e5;--color-primary-bg-lighter: #fdf7f7;--color-primary-bg-subtle: rgba(230, 0, 0, .05);--color-primary-bg-subtle-2: rgba(230, 0, 0, .1);--color-primary-tint-1: #ffecec;--color-primary-tint-2: #ffd1d1;--color-primary-tint-3: #f7b2b2;--color-bg-page: #f9f9f9;--color-bg-card: #ffffff;--color-bg-input: #f9fafb;--color-bg-table-header: #f6f3f3;--color-bg-elevated: #fbf9f9;--color-text-primary: #333333;--color-text-regular: rgba(0, 0, 0, .8);--color-text-secondary: rgba(0, 0, 0, .6);--color-text-tertiary: rgba(0, 0, 0, .4);--color-text-disabled: rgba(0, 0, 0, .2);--color-border-default: #e5e5e5;--color-border-light: #f5f5f5;--color-border-medium: #d9d9d9;--color-border-dark: #999999;--color-border-strong: #666666;--color-border-primary: #e60000;--color-link: #0066ff;--color-error: #e60000;--color-icon-gray: #a6a6a6;--gradient-primary-button: linear-gradient(90deg, #e60000 0%, #ff3a3a 100%);--gradient-secondary-button: linear-gradient(90deg, #ff3a3a 0%, #e60000 100%);--gradient-bg-soft: linear-gradient(90deg, #f9f9f9 0%, #ffecec 100%);--font-family-primary: "PingFang SC", -apple-system, BlinkMacSystemFont, sans-serif;--font-family-secondary: "Source Han Sans", "PingFang SC", sans-serif;--font-size-title-lg: 1.25rem;--font-size-title: 1rem;--font-size-body: 1rem;--font-size-body-sm: .875rem;--font-size-caption: .75rem;--font-size-caption-sm: .625rem;--font-size-ui: .8125rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--spacing-1: .125rem;--spacing-2: .25rem;--spacing-3: .5rem;--spacing-4: .625rem;--spacing-5: .75rem;--spacing-6: 1rem;--spacing-8: 1.25rem;--spacing-10: 2rem;--spacing-12: 3.125rem;--spacing-16: 5rem;--spacing-20: 10rem;--radius-none: 0;--radius-xs: .125rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-base: .75rem;--radius-lg: .875rem;--radius-xl: 1rem;--radius-pill: 3.125rem;--shadow-card: 0 .125rem .5rem 0 rgba(0, 0, 0, .05);--shadow-dropdown: 0 .25rem .25rem 0 rgba(0, 0, 0, .1);--el-color-primary: #e60000;--el-color-primary-light-3: #f04d4d;--el-color-primary-light-5: #f38080;--el-color-primary-light-7: #f8b3b3;--el-color-primary-light-8: #facccc;--el-color-primary-light-9: #fde6e6;--el-color-primary-dark-2: #b80000;--el-border-color: #e5e5e5;--el-border-color-light: #e5e5e5;--el-border-color-lighter: #e5e5e5;--el-border-color-extra-light: #e5e5e5;--el-border-color-dark: #e5e5e5;--el-border-color-darker: #e5e5e5}[class^=jt-],[class*=" jt-"],[class^=jt-] *,[class*=" jt-"] *{box-sizing:border-box}.jt-button.el-button[data-v-a8344276]{--jt-button-icon-size: .875rem;--el-button-hover-text-color: #333333;--el-button-hover-border-color: #e5e5e5;--el-button-hover-bg-color: #ffffff;--el-button-active-text-color: #333333;--el-button-active-border-color: #e5e5e5;--el-button-active-bg-color: #ffffff;height:1.75rem;border-radius:.25rem;border:.0625rem solid #e5e5e5;background:#fff;padding-left:.875rem;padding-right:.875rem;font-size:.75rem;font-weight:400;color:#333}.jt-button.el-button+.jt-button.el-button[data-v-a8344276]{margin-left:.625rem}.jt-button.el-button[data-v-a8344276] .jt-button__icon{width:var(--jt-button-icon-size);height:var(--jt-button-icon-size);margin-right:.25rem;font-size:var(--jt-button-icon-size)}.jt-button.el-button[data-v-a8344276] .jt-button__icon svg,.jt-button.el-button[data-v-a8344276] .jt-button__icon img{width:var(--jt-button-icon-size);height:var(--jt-button-icon-size)}.jt-button.el-button[data-v-a8344276] .jt-button__icon img{display:block}.jt-button.el-button[data-v-a8344276] .jt-button__icon+span{margin-left:0}.jt-button.el-button[data-v-a8344276]:hover,.jt-button.el-button[data-v-a8344276]:focus,.jt-button.el-button[data-v-a8344276]:active{border-color:#e5e5e5;background:#fff;color:#333}.jt-button.el-button--primary[data-v-a8344276]{border:none;background:linear-gradient(90deg,#e60000,#ff3a3a);color:#fff}.jt-button.el-button--primary[data-v-a8344276]:hover,.jt-button.el-button--primary[data-v-a8344276]:focus{background:linear-gradient(90deg,#e60000,#ff3a3a);color:#fff}.jt-button.el-button--primary[data-v-a8344276] .el-icon{color:#fff}.jt-cascader{width:100%;--jt-cascader-text-color: #333333;--jt-cascader-placeholder-color: #999999;--jt-cascader-border-color: #e5e5e5;--jt-cascader-hover-border-color: #cccccc;--jt-cascader-focus-border-color: #e60000;--el-input-text-color: var(--jt-cascader-text-color);--el-input-placeholder-color: var(--jt-cascader-placeholder-color);--el-input-border-color: var(--jt-cascader-border-color);--el-input-hover-border-color: var(--jt-cascader-hover-border-color);--el-color-primary: var(--jt-cascader-focus-border-color);--jt-cascader-control-height: var(--el-component-size)}.jt-cascader.el-cascader--large{--jt-cascader-control-height: var(--el-component-size-large)}.jt-cascader.el-cascader--small{--jt-cascader-control-height: var(--el-component-size-small)}.jt-cascader .el-input,.jt-cascader .el-input__wrapper{height:var(--jt-cascader-control-height);min-height:var(--jt-cascader-control-height)}.jt-cascader .el-cascader__tags{height:var(--jt-cascader-control-height);max-height:var(--jt-cascader-control-height);align-items:center;flex-wrap:nowrap;overflow:hidden}.jt-cascader .el-cascader__tags .el-tag{flex:0 1 auto;min-width:0}.jt-cascader .el-cascader__tags .el-tag+.el-tag{flex:0 0 auto}.jt-cascader .el-cascader__search-input{width:0;min-width:0;flex:1 1 0}[data-v-7aa4706e] .jt-date-picker.el-date-editor{--el-date-editor-width: 100%;--jt-date-picker-text-color: #333333;--jt-date-picker-placeholder-color: #999999;--jt-date-picker-border-color: #e5e5e5;--jt-date-picker-hover-border-color: #cccccc;--jt-date-picker-focus-border-color: #e60000;--el-input-text-color: var(--jt-date-picker-text-color);--el-input-placeholder-color: var(--jt-date-picker-placeholder-color);--el-input-border-color: var(--jt-date-picker-border-color);--el-input-hover-border-color: var(--jt-date-picker-hover-border-color);--el-input-focus-border-color: var(--jt-date-picker-focus-border-color);--el-input-focus-border: var(--jt-date-picker-focus-border-color);--el-color-primary: var(--jt-date-picker-focus-border-color)}.jt-input[data-v-031428a1]{--jt-input-text-color: #333333;--jt-input-placeholder-color: #999999;--jt-input-border-color: #e5e5e5;--jt-input-hover-border-color: #cccccc;--jt-input-focus-border-color: #e60000;--el-input-text-color: var(--jt-input-text-color);--el-input-placeholder-color: var(--jt-input-placeholder-color);--el-input-border-color: var(--jt-input-border-color);--el-input-hover-border-color: var(--jt-input-hover-border-color);--el-input-focus-border-color: var(--jt-input-focus-border-color)}.jt-select[data-v-c67cfa84]{--jt-select-text-color: #333333;--jt-select-placeholder-color: #999999;--jt-select-border-color: #e5e5e5;--jt-select-hover-border-color: #cccccc;--jt-select-focus-border-color: #e60000;--el-input-text-color: var(--jt-select-text-color);--el-input-placeholder-color: var(--jt-select-placeholder-color);--el-input-border-color: var(--jt-select-border-color);--el-input-hover-border-color: var(--jt-select-hover-border-color);--el-color-primary: var(--jt-select-focus-border-color)}.jt-form-items[data-v-cb82fcfc]{--jt-form-columns: 4;--jt-form-gap: 1rem;width:100%;display:grid;grid-template-columns:repeat(var(--jt-form-columns),minmax(0,1fr));column-gap:var(--jt-form-gap);row-gap:var(--jt-form-gap)}.jt-form-items__item[data-v-cb82fcfc]{margin:0;width:100%}.jt-form-items__actions[data-v-cb82fcfc]{margin:0;width:100%;align-self:end}.jt-form-items__item[data-v-cb82fcfc] .el-form-item__content{width:100%;min-width:0}.jt-form-items__actions[data-v-cb82fcfc] .el-form-item__content{display:flex;justify-content:flex-end;align-items:center;width:100%;min-width:0}.jt-form-items__item[data-v-cb82fcfc] .el-input,.jt-form-items__item[data-v-cb82fcfc] .el-select,.jt-form-items__item[data-v-cb82fcfc] .el-cascader,.jt-form-items__item[data-v-cb82fcfc] .el-date-editor,.jt-form-items__item[data-v-cb82fcfc] .el-date-editor.el-input,.jt-form-items__item[data-v-cb82fcfc] .el-date-editor--daterange,.jt-form-items__item[data-v-cb82fcfc] .el-input__wrapper,.jt-form-items__item[data-v-cb82fcfc] .el-select__wrapper,.jt-form-items__item[data-v-cb82fcfc] .el-date-editor .el-input__wrapper{box-sizing:border-box;width:100%;min-width:0}.jt-filter-bar[data-v-1f6fdc4e]{padding-left:.75rem;padding-right:.75rem}.jt-filter-bar__form[data-v-1f6fdc4e]{width:100%;display:contents}.jt-filter-bar[data-v-1f6fdc4e] .jt-form-items{grid-template-columns:repeat(var(--jt-filter-field-columns),minmax(0,1fr));column-gap:var(--jt-filter-column-gap);row-gap:var(--jt-filter-row-gap)}.jt-filter-bar[data-v-1f6fdc4e] .jt-form-items__actions{grid-column:1/-1!important;width:100%;min-width:0;justify-self:end}.jt-filter-bar.is-single-filter[data-v-1f6fdc4e] .jt-form-items__actions{grid-column:var(--jt-filter-actions-start)/-1!important}.jt-filter-bar[data-v-1f6fdc4e] .jt-form-items__actions .el-form-item__content{width:100%;min-width:0}.jt-filter-bar__btns[data-v-1f6fdc4e]{display:flex;justify-content:flex-end;align-items:center;width:var(--jt-filter-btns-width);height:2rem;min-width:var(--jt-filter-btns-width);flex:0 0 var(--jt-filter-btns-width);text-align:right}.jt-filter-bar__icon-arrow[data-v-1f6fdc4e]{transition:transform .2s ease}.jt-filter-bar__icon-arrow.is-collapsed[data-v-1f6fdc4e]{transform:rotate(180deg)}.jt-table[data-v-513fa12d]{flex:1;min-height:0;--el-table-border-color: transparent;--el-table-bg-color: #fff;--el-table-tr-bg-color: #fff;--el-table-header-bg-color: #f6f3f3;--el-table-header-text-color: #333333;--el-table-text-color: #333333;--el-table-row-hover-bg-color: transparent;--el-color-primary: #e60000;background:#fff}.jt-table[data-v-513fa12d] .el-table__inner-wrapper:before{height:0}.jt-table[data-v-513fa12d] .el-table__header-wrapper{border-radius:.75rem;overflow:hidden}.jt-table[data-v-513fa12d] th.el-table__cell{background:#f6f3f3;font-size:.875rem;font-weight:400;color:#333;padding:.75rem 0;border:none}.jt-table[data-v-513fa12d] th.el-table__cell:first-child{border-radius:.75rem 0 0 .75rem}.jt-table[data-v-513fa12d] th.el-table__cell:last-child{border-radius:0 .75rem .75rem 0}.jt-table[data-v-513fa12d] th.el-table__cell .cell{padding:0 .625rem}.jt-table[data-v-513fa12d] td.el-table__cell{font-size:.875rem;font-weight:500;color:#333;padding:.75rem 0;border:none}.jt-table[data-v-513fa12d] td.el-table__cell .cell{padding:0 .625rem}.jt-table[data-v-513fa12d] .el-table__row:nth-child(odd) td{background:#fff}.jt-table[data-v-513fa12d] .el-table__row:nth-child(2n) td{background:#fbf9f9}.jt-table[data-v-513fa12d] .el-table__row td:first-child{border-radius:.75rem 0 0 .75rem}.jt-table[data-v-513fa12d] .el-table__row td:last-child{border-radius:0 .75rem .75rem 0}.jt-table[data-v-513fa12d] .el-table__empty-block{min-height:12.5rem}.jt-pagination[data-v-746af6aa]{display:flex;justify-content:center;align-items:center;gap:.625rem;background:#fff}.jt-pagination[data-v-746af6aa] .el-pagination{--el-pagination-button-width: 1.5rem;--el-pagination-button-height: 1.5rem;--el-pagination-font-size: .75rem;gap:.25rem}.jt-pagination[data-v-746af6aa] .el-pager li{width:1.5rem;height:1.5rem;min-width:1.5rem;border-radius:.25rem;border:.0625rem solid #e1e4e7;font-size:.75rem;font-weight:400;color:#333;line-height:1.375rem;padding:0;margin:0 .125rem;background:transparent}.jt-pagination[data-v-746af6aa] .el-pager li.is-active{background:#e60000;border-color:#e60000;color:#fff}.jt-pagination[data-v-746af6aa] .btn-prev,.jt-pagination[data-v-746af6aa] .btn-next{width:1.5rem;height:1.5rem;min-width:1.5rem;border-radius:.25rem;border:.0625rem solid #e1e4e7;padding:0;margin:0 .125rem;background:transparent}.jt-pagination[data-v-746af6aa] .el-pagination__jump{font-size:.75rem;color:#333;margin-left:.25rem}.jt-pagination[data-v-746af6aa] .el-pagination__jump .el-input{width:3.5rem}.jt-pagination[data-v-746af6aa] .el-pagination__jump .el-input__wrapper{height:1.5rem;border-radius:.25rem;border:.0625rem solid #e1e4e7;box-shadow:none!important;padding:0 .25rem}.jt-pagination__count[data-v-746af6aa]{font-size:.875rem;font-weight:400;color:#333}.jt-crud-table[data-v-ad466273]{width:100%;flex:1;min-height:0;display:flex;flex-direction:column;gap:1rem;background:#fff}.jt-crud-table[data-v-ad466273] .jt-pagination{margin-top:auto;flex-shrink:0}.jt-crud-table__toolbar[data-v-ad466273]{display:flex;justify-content:flex-end;align-items:center;min-width:0}.jt-page-header[data-v-9e6bb356]{--jt-page-header-bg-color: #f9f9f9;--jt-page-header-height: 2.75rem;--jt-page-header-padding-x: .75rem;--jt-page-header-border-radius: .375rem;--jt-page-header-title-font-size: 1rem;--jt-page-header-title-marker-width: .25rem;--jt-page-header-title-marker-height: .75rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;height:var(--jt-page-header-height);padding-left:var(--jt-page-header-padding-x);padding-right:var(--jt-page-header-padding-x);background-color:var(--jt-page-header-bg-color);border-radius:var(--jt-page-header-border-radius)}.jt-page-header .jt-page-header__title[data-v-9e6bb356]{display:flex;align-items:center;font-size:var(--jt-page-header-title-font-size);font-weight:600;color:#333}.jt-page-header .jt-page-header__title[data-v-9e6bb356]:before{content:"";display:block;width:var(--jt-page-header-title-marker-width);height:var(--jt-page-header-title-marker-height);margin-right:.375rem;background-color:#e60000;border-radius:.0625rem}.jt-page-header--subsection[data-v-9e6bb356]{--jt-page-header-bg-color: #fff;--jt-page-header-height: 2rem;--jt-page-header-padding-x: 0;--jt-page-header-title-font-size: .875rem;--jt-page-header-title-marker-width: .1875rem;--jt-page-header-title-marker-height: .625rem}.jt-page-header__title[data-v-9e6bb356],.jt-page-header__operates[data-v-9e6bb356]{min-width:0}.jt-page-header__operates[data-v-9e6bb356]{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}.global-info-field-control[data-v-cc5c8aa9]{--global-info-control-height: 2rem;--global-info-control-border: #d9d9d9;--global-info-control-disabled-bg: #f9fafb;--global-info-control-radius: .25rem;width:100%;height:var(--global-info-control-height);min-width:0;font-size:.8125rem;box-sizing:border-box}.global-info-field-control[data-v-cc5c8aa9] *,.global-info-field-control[data-v-cc5c8aa9] *:before,.global-info-field-control[data-v-cc5c8aa9] *:after{box-sizing:border-box}.global-info-field-control.el-input[data-v-cc5c8aa9],.global-info-field-control.el-input-number[data-v-cc5c8aa9],.global-info-field-control.el-date-editor[data-v-cc5c8aa9],.global-info-field-control.el-select[data-v-cc5c8aa9]{width:100%;min-width:0;height:var(--global-info-control-height);line-height:var(--global-info-control-height)}.global-info-field-control.el-date-editor[data-v-cc5c8aa9]{--el-date-editor-width: 100%}.global-info-field-control.el-date-editor.el-input[data-v-cc5c8aa9],.global-info-field-control.el-date-editor.el-input__wrapper[data-v-cc5c8aa9]{width:100%;min-width:0;height:var(--global-info-control-height)}.global-info-field-control[data-v-cc5c8aa9] .el-input,.global-info-field-control[data-v-cc5c8aa9] .el-input-number,.global-info-field-control[data-v-cc5c8aa9] .el-date-editor,.global-info-field-control[data-v-cc5c8aa9] .el-select{width:100%;min-width:0;height:var(--global-info-control-height);line-height:var(--global-info-control-height)}.global-info-field-control[data-v-cc5c8aa9] .el-input__wrapper,.global-info-field-control[data-v-cc5c8aa9] .el-select__wrapper,.global-info-field-control[data-v-cc5c8aa9] .el-input-number__wrapper,.global-info-field-control[data-v-cc5c8aa9] .el-date-editor.el-input__wrapper,.global-info-field-control.el-date-editor.el-input__wrapper[data-v-cc5c8aa9]{width:100%;min-width:0;min-height:var(--global-info-control-height);height:var(--global-info-control-height);border-radius:var(--global-info-control-radius);background:#fff;box-shadow:0 0 0 .0625rem var(--global-info-control-border) inset}.global-info-field-control[data-v-cc5c8aa9] .el-input__inner,.global-info-field-control[data-v-cc5c8aa9] .el-select__selection,.global-info-field-control[data-v-cc5c8aa9] .el-input-number .el-input__inner,.global-info-field-control[data-v-cc5c8aa9] .el-date-editor .el-input__inner,.global-info-field-control.el-date-editor[data-v-cc5c8aa9] .el-input__inner{height:var(--global-info-control-height);line-height:var(--global-info-control-height)}.global-info-field-control[data-v-cc5c8aa9] .el-input__prefix,.global-info-field-control[data-v-cc5c8aa9] .el-input__suffix,.global-info-field-control[data-v-cc5c8aa9] .el-select__prefix,.global-info-field-control[data-v-cc5c8aa9] .el-select__suffix{height:var(--global-info-control-height)}.global-info-field-control[data-v-cc5c8aa9] .el-select__wrapper{padding-top:0;padding-bottom:0}.global-info-field-control[data-v-cc5c8aa9] .el-input__wrapper.is-disabled,.global-info-field-control[data-v-cc5c8aa9] .el-select__wrapper.is-disabled,.global-info-field-control[data-v-cc5c8aa9] .el-textarea__inner:disabled,.global-info-field-control[data-v-cc5c8aa9] .el-input-number.is-disabled .el-input__wrapper,.global-info-field-control.el-date-editor.is-disabled.el-input__wrapper[data-v-cc5c8aa9]{background-color:var(--global-info-control-disabled-bg);box-shadow:0 0 0 .0625rem #e5e5e5 inset}.global-info-field-control[data-v-cc5c8aa9] .el-input-number__decrease,.global-info-field-control[data-v-cc5c8aa9] .el-input-number__increase{height:calc(var(--global-info-control-height) / 2);line-height:calc(var(--global-info-control-height) / 2)}.global-info-field-control[data-v-cc5c8aa9] .el-textarea__inner{min-height:4.5rem;border-color:#d9d9d9;border-radius:var(--global-info-control-radius);font-size:.8125rem}.global-info-field-control--switch[data-v-cc5c8aa9]{display:inline-flex;height:var(--global-info-control-height);align-items:center}.global-info-field-control--file[data-v-cc5c8aa9]{--global-info-control-height: 2.25rem;display:flex;height:var(--global-info-control-height);min-width:0;align-items:center;justify-content:center;border:.0625rem solid #e60000;border-radius:var(--global-info-control-radius);background:#fdebeb;color:#e60000;cursor:pointer;line-height:var(--global-info-control-height)}.global-info-field-control--file.is-filled[data-v-cc5c8aa9]{border-color:#e5e5e5;background:#fff}.global-info-field-control--file.is-disabled[data-v-cc5c8aa9]{background:var(--global-info-control-disabled-bg);color:#0003;cursor:not-allowed}.global-info-field-control__file-input[data-v-cc5c8aa9]{display:none}.global-info-field-control__file-text[data-v-cc5c8aa9],.global-info-field-control__file-upload[data-v-cc5c8aa9]{min-width:0;overflow:hidden;font-size:.875rem;line-height:1.5rem;text-overflow:ellipsis;white-space:nowrap}.global-info-field-control--code[data-v-cc5c8aa9] .el-textarea__inner{font-family:Consolas,Monaco,Courier New,monospace}.global-info-field-value[data-v-08b37e58]{display:inline-block;min-height:2rem;color:#333;line-height:2rem;word-break:break-word}.global-info-field-value--html[data-v-08b37e58],.global-info-field-value--multi-row[data-v-08b37e58],.global-info-field-value--code[data-v-08b37e58]{white-space:pre-wrap}.global-info-field-value--code[data-v-08b37e58]{width:100%;margin:0;padding:.5rem .625rem;border:.0625rem solid #e5e5e5;border-radius:.25rem;background:#f9fafb;color:#333;font-family:Consolas,Monaco,Courier New,monospace;line-height:1.25rem}.global-info-field-value--file[data-v-08b37e58]{color:#e60000;text-decoration:underline;text-underline-offset:.1875rem}.global-info-form-renderer[data-v-b049423d]{width:100%}.global-info-form-renderer__label[data-v-b049423d]{display:inline-flex;align-items:center;gap:.125rem}.global-info-form-renderer__required[data-v-b049423d]{color:#e60000}.global-info-form-renderer[data-v-b049423d] .el-form-item{margin-bottom:1.125rem}.global-info-form-renderer[data-v-b049423d] .el-form-item__label{min-height:1.25rem;margin-bottom:.375rem;color:#0009;font-size:.8125rem;line-height:1.25rem}.global-info-form-renderer[data-v-b049423d] .el-input-number,.global-info-form-renderer[data-v-b049423d] .el-date-editor,.global-info-form-renderer[data-v-b049423d] .el-select{width:100%}.global-info-delete-confirm{min-width:15rem;padding:.75rem;border:.0625rem solid #ebeef5;border-radius:.375rem;box-shadow:0 .25rem .75rem #1f232924}.global-info-delete-confirm .el-popconfirm__main{color:#1f2329;font-size:.8125rem;line-height:1.25rem}.global-info-delete-confirm .el-popconfirm__action{margin-top:.75rem}.global-info-delete-confirm .el-button--primary{border-color:#e60000;background:#e60000}.global-info-table-renderer[data-v-5a2ec852]{width:100%}.global-info-table-renderer__table-scroll[data-v-5a2ec852]{width:100%;overflow-x:auto;border-radius:.75rem;background:#f9f9f9}.global-info-table-renderer__table[data-v-5a2ec852]{min-width:100%;background:#f9f9f9;color:#222;font-family:PingFang SC,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.875rem;line-height:1.5rem;--el-table-bg-color: #f9f9f9;--el-table-tr-bg-color: #f9f9f9;--el-table-header-bg-color: #f9f9f9;--el-table-row-hover-bg-color: #f9f9f9;--el-table-border-color: transparent;--el-table-text-color: #222222;--el-table-header-text-color: #333333}.global-info-table-renderer__header[data-v-5a2ec852]{display:inline-flex;align-items:center;justify-content:center;gap:.125rem;color:#333;font-size:.875rem;font-weight:400;line-height:1.5rem;white-space:nowrap}.global-info-table-renderer__required[data-v-5a2ec852],.global-info-table-renderer__delete[data-v-5a2ec852]{color:#e60000}.global-info-table-renderer__delete[data-v-5a2ec852]{display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;line-height:1.5rem}.global-info-table-renderer__delete-icon[data-v-5a2ec852]{font-size:.875rem}.global-info-table-renderer[data-v-5a2ec852] .el-table__inner-wrapper:before,.global-info-table-renderer[data-v-5a2ec852] .el-table__border-left-patch,.global-info-table-renderer[data-v-5a2ec852] .el-table__border-bottom-patch{display:none}.global-info-table-renderer[data-v-5a2ec852] .el-table__header-wrapper th.el-table__cell,.global-info-table-renderer[data-v-5a2ec852] .el-table__body-wrapper td.el-table__cell{padding:.25rem 0;border-bottom:0;background:#f9f9f9}.global-info-table-renderer[data-v-5a2ec852] .el-table__header .cell,.global-info-table-renderer[data-v-5a2ec852] .el-table__body .cell{min-height:1.5rem;padding:0 .75rem;color:#222;font-size:.875rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap}.global-info-table-renderer[data-v-5a2ec852] .el-table__body .cell>.global-info-field-control,.global-info-table-renderer[data-v-5a2ec852] .el-table__body .cell .global-info-field-control,.global-info-table-renderer[data-v-5a2ec852] .el-table__body .cell .el-input,.global-info-table-renderer[data-v-5a2ec852] .el-table__body .cell .el-input-number,.global-info-table-renderer[data-v-5a2ec852] .el-table__body .cell .el-select,.global-info-table-renderer[data-v-5a2ec852] .el-table__body .cell .el-date-editor{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.global-info-table-renderer[data-v-5a2ec852] .el-table__body .cell .el-input__wrapper,.global-info-table-renderer[data-v-5a2ec852] .el-table__body .cell .el-select__wrapper,.global-info-table-renderer[data-v-5a2ec852] .el-table__body .cell .el-input-number__wrapper,.global-info-table-renderer[data-v-5a2ec852] .el-table__body .cell .el-date-editor.el-input__wrapper{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.global-info-table-renderer--editing[data-v-5a2ec852] .el-table__body .cell{overflow:visible;text-overflow:initial}.global-info-table-renderer--editing[data-v-5a2ec852] .el-table__body .cell>.global-info-field-control,.global-info-table-renderer--editing[data-v-5a2ec852] .el-table__body .cell .global-info-field-control,.global-info-table-renderer--editing[data-v-5a2ec852] .el-table__body .cell .el-input,.global-info-table-renderer--editing[data-v-5a2ec852] .el-table__body .cell .el-input-number,.global-info-table-renderer--editing[data-v-5a2ec852] .el-table__body .cell .el-select,.global-info-table-renderer--editing[data-v-5a2ec852] .el-table__body .cell .el-date-editor,.global-info-table-renderer--editing[data-v-5a2ec852] .el-table__body .cell .el-input__wrapper,.global-info-table-renderer--editing[data-v-5a2ec852] .el-table__body .cell .el-select__wrapper,.global-info-table-renderer--editing[data-v-5a2ec852] .el-table__body .cell .el-input-number__wrapper,.global-info-table-renderer--editing[data-v-5a2ec852] .el-table__body .cell .el-date-editor.el-input__wrapper{min-width:7.5rem}.global-info-table-renderer[data-v-5a2ec852] .el-table__header .cell{color:#333}.global-info-table-renderer[data-v-5a2ec852] .el-table__fixed-right{background:#f9f9f9}.global-info-section-block[data-v-77980d16]{width:100%;min-width:0;padding:0;background:transparent;border:0;border-radius:0}.global-info-section-block__header[data-v-77980d16],.global-info-section-block__title-wrap[data-v-77980d16],.global-info-section-block__actions[data-v-77980d16]{display:flex;align-items:center}.global-info-section-block__header[data-v-77980d16]{justify-content:space-between;gap:1rem;margin-bottom:.75rem}.global-info-section-block__title-wrap[data-v-77980d16]{min-width:0;gap:.5rem}.global-info-section-block__marker[data-v-77980d16]{width:.25rem;height:.25rem;flex:0 0 auto;background:#e60000;border-radius:50%}.global-info-section-block__title[data-v-77980d16]{margin:0;overflow:hidden;color:#333;font-size:.875rem;font-weight:600;line-height:1.5rem;text-overflow:ellipsis;white-space:nowrap}.global-info-section-block__actions[data-v-77980d16]{flex:0 0 auto;gap:.5rem}.global-info-section-block__edit[data-v-77980d16],.global-info-section-block__cancel[data-v-77980d16],.global-info-section-block__add[data-v-77980d16],.global-info-section-block__confirm[data-v-77980d16]{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:3rem;height:1.5rem;padding:0 .75rem;border:.0625rem solid transparent;border-radius:.75rem;font-size:.75rem;font-weight:400;line-height:1.5rem;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.global-info-section-block__edit[data-v-77980d16],.global-info-section-block__add[data-v-77980d16]{color:#e60000;background:#fff;border-color:#ffd1d1}.global-info-section-block__edit[data-v-77980d16]{gap:0}.global-info-section-block__cancel[data-v-77980d16]{color:#0009;background:#f5f5f5;border-color:#e5e5e5}.global-info-section-block__edit[data-v-77980d16]:hover,.global-info-section-block__edit[data-v-77980d16]:focus,.global-info-section-block__add[data-v-77980d16]:hover,.global-info-section-block__add[data-v-77980d16]:focus{color:#e51e1b;background:#fdf7f7;border-color:#f7b2b2}.global-info-section-block__cancel[data-v-77980d16]:hover,.global-info-section-block__cancel[data-v-77980d16]:focus{color:#333;background:#e5e5e5}.global-info-section-block__confirm[data-v-77980d16]{--el-button-text-color: #ffffff;--el-button-bg-color: #e60000;--el-button-border-color: #e60000;--el-button-hover-text-color: #ffffff;--el-button-hover-bg-color: #e51e1b;--el-button-hover-border-color: #e51e1b;--el-button-active-text-color: #ffffff;--el-button-active-bg-color: #e51e1b;--el-button-active-border-color: #e51e1b;color:#fff;background:#e60000;border-color:#e60000;box-shadow:0 .25rem .5rem #e6000029}.global-info-section-block__confirm[data-v-77980d16]:hover,.global-info-section-block__confirm[data-v-77980d16]:focus{color:#fff;background:#e51e1b;border-color:#e51e1b}.global-info-section-block__edit.is-disabled[data-v-77980d16],.global-info-section-block__cancel.is-disabled[data-v-77980d16],.global-info-section-block__add.is-disabled[data-v-77980d16],.global-info-section-block__confirm.is-disabled[data-v-77980d16]{color:#0003;background:#f5f5f5;border-color:transparent;box-shadow:none}.global-info-section-block__edit-icon[data-v-77980d16]{width:.75rem;height:.75rem;flex:0 0 auto;display:block}.global-info-section-block__body[data-v-77980d16]{min-width:0}.global-info-section-block__status[data-v-77980d16]{min-height:5rem;display:flex;align-items:center;justify-content:center;color:#0006;font-size:.875rem}.global-info-group[data-v-c90b8de0]{width:100%;min-width:0;padding:1rem 1.25rem 1.25rem;background:#fff;border:.0625rem solid #e5e5e5;border-radius:.75rem}.global-info-group__header[data-v-c90b8de0]{display:flex;min-width:0;align-items:center;gap:.5rem;margin-bottom:1rem}.global-info-group__marker[data-v-c90b8de0]{width:.1875rem;height:.75rem;flex:0 0 auto;background:#e60000;border-radius:.125rem}.global-info-group__title[data-v-c90b8de0]{min-width:0;margin:0;overflow:hidden;color:#333;font-size:1rem;font-weight:600;line-height:1.5rem;text-overflow:ellipsis;white-space:nowrap}.global-info-group__body[data-v-c90b8de0]{min-width:0}.global-info-group__section[data-v-c90b8de0]{min-width:0;padding-bottom:1.25rem;border-bottom:.0625rem solid #e5e5e5}.global-info-group__section+.global-info-group__section[data-v-c90b8de0]{margin-top:1.25rem}.global-info-group__section[data-v-c90b8de0]:last-child{padding-bottom:0;border-bottom:0}.global-info-group__empty[data-v-c90b8de0]{min-height:5rem;display:flex;align-items:center;justify-content:center;color:#0006;font-size:.875rem}.global-info-sections[data-v-c0d12f5e]{display:flex;min-width:0;flex-direction:column;gap:.75rem}
1
+ .jt-attachment-preview-service-lock{overflow:hidden}.jt-attachment-preview-service{--jt-attachment-preview-service-image-fit: contain;position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:5vh 5vw;background:#00000080;color:#333}.jt-attachment-preview-service__modal{display:flex;flex-direction:column;width:90vw;height:90vh;overflow:hidden;border-radius:.375rem;background:#f7f7f7;box-shadow:0 .125rem .5rem #1f232914}.jt-attachment-preview-service__header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;height:3.125rem;border-bottom:.0625rem solid #f5f5f5;background:#fff}.jt-attachment-preview-service__filename{position:relative;min-width:0;max-width:calc(90vw - 11.875rem);padding-left:1.8125rem;overflow:hidden;font-size:1rem;font-weight:500;line-height:3.125rem;text-overflow:ellipsis;white-space:nowrap;color:#333}.jt-attachment-preview-service__filename:before{content:"";position:absolute;left:1.25rem;top:50%;width:.1875rem;height:.625rem;border-radius:.0625rem;background:#e60000;transform:translateY(-50%)}.jt-attachment-preview-service__header-actions{display:flex;align-items:center;flex-shrink:0;height:100%}.jt-attachment-preview-service__top-download,.jt-attachment-preview-service__close{display:inline-flex;align-items:center;justify-content:center;height:100%;border:0;background:#fff;color:#0009;text-decoration:none;cursor:pointer}.jt-attachment-preview-service__top-download{gap:.25rem;min-width:4.5rem;height:2.25rem;padding:0 .75rem;font-size:1rem;line-height:1;vertical-align:top}.jt-attachment-preview-service__close{width:2.625rem;padding:0;font-size:1.375rem;font-weight:400;line-height:1}.jt-attachment-preview-service__top-download:hover,.jt-attachment-preview-service__close:hover{background:#f9f9f9;color:#333}.jt-attachment-preview-service__download-icon{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:1.125rem;height:1.125rem;font-size:1.125rem;line-height:1;transform:translateY(.0625rem)}.jt-attachment-preview-service__download-icon svg{display:block}.jt-attachment-preview-service__download-text{display:inline-flex;align-items:center;height:1.125rem;line-height:1}.jt-attachment-preview-service__body{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;overflow:hidden;background:#f7f7f7}.jt-attachment-preview-service__media,.jt-attachment-preview-service__iframe{display:block;width:100%;height:100%;border:0}.jt-attachment-preview-service__image-viewer{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;overflow:hidden}.jt-attachment-preview-service__image{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:var(--jt-attachment-preview-service-image-fit);transform-origin:center center;transition:transform .16s ease;user-select:none;will-change:transform;-webkit-user-drag:none}.jt-attachment-preview-service__image--draggable{cursor:grab;touch-action:none}.jt-attachment-preview-service__image--dragging{cursor:grabbing;transition:none}.jt-attachment-preview-service__image-toolbar{position:absolute;left:50%;bottom:1.125rem;z-index:2;display:inline-flex;align-items:center;gap:.375rem;height:2.25rem;padding:0 .5rem;border-radius:.25rem;background:#000000a8;color:#fff;box-shadow:0 .125rem .5rem #1f23291f;transform:translate(-50%)}.jt-attachment-preview-service__image-tool{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:0;border-radius:.25rem;background:transparent;color:#fff;font-size:1rem;line-height:1;cursor:pointer}.jt-attachment-preview-service__image-tool:hover{background:#ffffff29}.jt-attachment-preview-service__image-scale{min-width:2.625rem;color:#fff;font-size:.75rem;line-height:1;text-align:center}.jt-attachment-preview-service__audio{width:min(32.5rem,100% - 2rem)}.jt-attachment-preview-service__pdf-viewer{position:relative;width:100%;height:100%;overflow:hidden;background:#f7f7f7}.jt-attachment-preview-service__pdf-layout{display:flex;width:100%;height:100%;min-height:0}.jt-attachment-preview-service__pdf-layout--hidden{visibility:hidden}.jt-attachment-preview-service__pdf-outline{flex:0 0 13.75rem;width:13.75rem;height:100%;overflow:hidden;border-right:.0625rem solid #f5f5f5;background:#fff}.jt-attachment-preview-service__pdf-outline-title{height:2.25rem;padding:0 .75rem;border-bottom:.0625rem solid #f5f5f5;color:#333;font-size:.8125rem;font-weight:500;line-height:2.25rem}.jt-attachment-preview-service__pdf-outline-list{height:calc(100% - 2.25rem);overflow:auto;padding:.5rem 0}.jt-attachment-preview-service__pdf-outline-item{display:block;width:100%;height:2rem;padding-right:.625rem;border:0;background:transparent;color:#0009;font-size:.75rem;line-height:2rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer}.jt-attachment-preview-service__pdf-outline-item:hover{background:#f9f9f9;color:#e60000}.jt-attachment-preview-service__pdf-outline-item:disabled{color:#00000080;cursor:not-allowed}.jt-attachment-preview-service__pdf-pages{display:flex;flex:1;flex-direction:column;align-items:center;gap:1rem;min-width:0;min-height:100%;overflow:auto;padding:1.25rem}.jt-attachment-preview-service__pdf-page{display:block;max-width:100%;background:#fff;box-shadow:0 .125rem .625rem #1f232924}.jt-attachment-preview-service__pdf-state{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.625rem;padding:1rem;color:#333;font-size:.75rem;text-align:center}.jt-attachment-preview-service__pdf-error{max-width:min(32.5rem,90vw - 3rem);color:#0009;font-size:.6875rem;line-height:1.5}.jt-attachment-preview-service__detecting{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#333;text-align:center}.jt-attachment-preview-service__detecting-spinner{width:1.75rem;height:1.75rem;margin-bottom:.875rem;border:.125rem solid #d9d9d9;border-top-color:#e60000;border-radius:50%;animation:jt-attachment-preview-service-spin .8s linear infinite}.jt-attachment-preview-service__detecting-title{font-size:.75rem;font-weight:500}.jt-attachment-preview-service__detecting-desc{margin-top:.375rem;color:#0009;font-size:.625rem}@keyframes jt-attachment-preview-service-spin{to{transform:rotate(360deg)}}.jt-attachment-preview-service__pdf-fallback-tip{position:absolute;left:50%;bottom:1rem;z-index:2;display:flex;align-items:center;gap:.625rem;max-width:calc(100% - 2rem);padding:.5rem .75rem;border-radius:.25rem;background:#000000b8;color:#fff;font-size:.75rem;transform:translate(-50%)}.jt-attachment-preview-service__fallback-download{border:0;background:transparent;flex-shrink:0;color:#fff;font-size:.75rem;text-decoration:underline;cursor:pointer}.jt-attachment-preview-service__empty,.jt-attachment-preview-service__unsupported{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:1rem;text-align:center}.jt-attachment-preview-service__empty{color:#0009;font-size:.875rem}.jt-attachment-preview-service__file-card{display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;max-width:calc(90vw - 3rem);min-height:0}.jt-attachment-preview-service__preview-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-height:0}.jt-attachment-preview-service__preview-fallback-icon{display:block;width:4.5rem;height:4.5rem;object-fit:contain}.jt-attachment-preview-service__file-icon{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.75rem;padding:0 .375rem;border-radius:.25rem;background:#2563eb;color:#fff;font-size:1.25rem;font-weight:600;line-height:1}.jt-attachment-preview-service__unsupported-text{margin-top:.75rem;font-size:1rem;color:#333;font-weight:500}.jt-attachment-preview-service__file-name{max-width:min(22.5rem,90vw - 3rem);margin-top:.375rem;overflow:hidden;color:#666;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.jt-attachment-preview-service__primary-download{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:2.125rem;height:1.375rem;margin-top:.875rem;padding:0 .625rem;border:0;border-radius:.25rem;background:#e60000;color:#fff;font-size:.75rem;text-decoration:none;cursor:pointer}.jt-attachment-preview-service__primary-download:hover{background:#e51e1b}:root{--color-primary: #e60000;--color-primary-light: #ff3a3a;--color-primary-hover: #e51e1b;--color-primary-bg-light: #ffe5e5;--color-primary-bg-lighter: #fdf7f7;--color-primary-bg-subtle: rgba(230, 0, 0, .05);--color-primary-bg-subtle-2: rgba(230, 0, 0, .1);--color-primary-tint-1: #ffecec;--color-primary-tint-2: #ffd1d1;--color-primary-tint-3: #f7b2b2;--color-bg-page: #f9f9f9;--color-bg-card: #ffffff;--color-bg-input: #f9fafb;--color-bg-table-header: #f6f3f3;--color-bg-elevated: #fbf9f9;--color-text-primary: #333333;--color-text-regular: rgba(0, 0, 0, .8);--color-text-secondary: rgba(0, 0, 0, .6);--color-text-tertiary: rgba(0, 0, 0, .4);--color-text-disabled: rgba(0, 0, 0, .2);--color-border-default: #e5e5e5;--color-border-light: #f5f5f5;--color-border-medium: #d9d9d9;--color-border-dark: #999999;--color-border-strong: #666666;--color-border-primary: #e60000;--color-link: #0066ff;--color-error: #e60000;--color-icon-gray: #a6a6a6;--gradient-primary-button: linear-gradient(90deg, #e60000 0%, #ff3a3a 100%);--gradient-secondary-button: linear-gradient(90deg, #ff3a3a 0%, #e60000 100%);--gradient-bg-soft: linear-gradient(90deg, #f9f9f9 0%, #ffecec 100%);--font-family-primary: "PingFang SC", -apple-system, BlinkMacSystemFont, sans-serif;--font-family-secondary: "Source Han Sans", "PingFang SC", sans-serif;--font-size-title-lg: 1.25rem;--font-size-title: 1rem;--font-size-body: 1rem;--font-size-body-sm: .875rem;--font-size-caption: .75rem;--font-size-caption-sm: .625rem;--font-size-ui: .8125rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--spacing-1: .125rem;--spacing-2: .25rem;--spacing-3: .5rem;--spacing-4: .625rem;--spacing-5: .75rem;--spacing-6: 1rem;--spacing-8: 1.25rem;--spacing-10: 2rem;--spacing-12: 3.125rem;--spacing-16: 5rem;--spacing-20: 10rem;--radius-none: 0;--radius-xs: .125rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-base: .75rem;--radius-lg: .875rem;--radius-xl: 1rem;--radius-pill: 3.125rem;--shadow-card: 0 .125rem .5rem 0 rgba(0, 0, 0, .05);--shadow-dropdown: 0 .25rem .25rem 0 rgba(0, 0, 0, .1);--el-color-primary: #e60000;--el-color-primary-light-3: #f04d4d;--el-color-primary-light-5: #f38080;--el-color-primary-light-7: #f8b3b3;--el-color-primary-light-8: #facccc;--el-color-primary-light-9: #fde6e6;--el-color-primary-dark-2: #b80000;--el-border-color: #e5e5e5;--el-border-color-light: #e5e5e5;--el-border-color-lighter: #e5e5e5;--el-border-color-extra-light: #e5e5e5;--el-border-color-dark: #e5e5e5;--el-border-color-darker: #e5e5e5}[class^=jt-],[class*=" jt-"],[class^=jt-] *,[class*=" jt-"] *{box-sizing:border-box}.jt-button.el-button[data-v-a8344276]{--jt-button-icon-size: .875rem;--el-button-hover-text-color: #333333;--el-button-hover-border-color: #e5e5e5;--el-button-hover-bg-color: #ffffff;--el-button-active-text-color: #333333;--el-button-active-border-color: #e5e5e5;--el-button-active-bg-color: #ffffff;height:1.75rem;border-radius:.25rem;border:.0625rem solid #e5e5e5;background:#fff;padding-left:.875rem;padding-right:.875rem;font-size:.75rem;font-weight:400;color:#333}.jt-button.el-button+.jt-button.el-button[data-v-a8344276]{margin-left:.625rem}.jt-button.el-button[data-v-a8344276] .jt-button__icon{width:var(--jt-button-icon-size);height:var(--jt-button-icon-size);margin-right:.25rem;font-size:var(--jt-button-icon-size)}.jt-button.el-button[data-v-a8344276] .jt-button__icon svg,.jt-button.el-button[data-v-a8344276] .jt-button__icon img{width:var(--jt-button-icon-size);height:var(--jt-button-icon-size)}.jt-button.el-button[data-v-a8344276] .jt-button__icon img{display:block}.jt-button.el-button[data-v-a8344276] .jt-button__icon+span{margin-left:0}.jt-button.el-button[data-v-a8344276]:hover,.jt-button.el-button[data-v-a8344276]:focus,.jt-button.el-button[data-v-a8344276]:active{border-color:#e5e5e5;background:#fff;color:#333}.jt-button.el-button--primary[data-v-a8344276]{border:none;background:linear-gradient(90deg,#e60000,#ff3a3a);color:#fff}.jt-button.el-button--primary[data-v-a8344276]:hover,.jt-button.el-button--primary[data-v-a8344276]:focus{background:linear-gradient(90deg,#e60000,#ff3a3a);color:#fff}.jt-button.el-button--primary[data-v-a8344276] .el-icon{color:#fff}.jt-cascader{width:100%;--jt-cascader-text-color: #333333;--jt-cascader-placeholder-color: #999999;--jt-cascader-border-color: #e5e5e5;--jt-cascader-hover-border-color: #cccccc;--jt-cascader-focus-border-color: #e60000;--el-input-text-color: var(--jt-cascader-text-color);--el-input-placeholder-color: var(--jt-cascader-placeholder-color);--el-input-border-color: var(--jt-cascader-border-color);--el-input-hover-border-color: var(--jt-cascader-hover-border-color);--el-color-primary: var(--jt-cascader-focus-border-color);--jt-cascader-control-height: var(--el-component-size)}.jt-cascader.el-cascader--large{--jt-cascader-control-height: var(--el-component-size-large)}.jt-cascader.el-cascader--small{--jt-cascader-control-height: var(--el-component-size-small)}.jt-cascader .el-input,.jt-cascader .el-input__wrapper{height:var(--jt-cascader-control-height);min-height:var(--jt-cascader-control-height)}.jt-cascader .el-cascader__tags{height:var(--jt-cascader-control-height);max-height:var(--jt-cascader-control-height);align-items:center;flex-wrap:nowrap;overflow:hidden}.jt-cascader .el-cascader__tags .el-tag{flex:0 1 auto;min-width:0}.jt-cascader .el-cascader__tags .el-tag+.el-tag{flex:0 0 auto}.jt-cascader .el-cascader__search-input{width:0;min-width:0;flex:1 1 0}[data-v-7aa4706e] .jt-date-picker.el-date-editor{--el-date-editor-width: 100%;--jt-date-picker-text-color: #333333;--jt-date-picker-placeholder-color: #999999;--jt-date-picker-border-color: #e5e5e5;--jt-date-picker-hover-border-color: #cccccc;--jt-date-picker-focus-border-color: #e60000;--el-input-text-color: var(--jt-date-picker-text-color);--el-input-placeholder-color: var(--jt-date-picker-placeholder-color);--el-input-border-color: var(--jt-date-picker-border-color);--el-input-hover-border-color: var(--jt-date-picker-hover-border-color);--el-input-focus-border-color: var(--jt-date-picker-focus-border-color);--el-input-focus-border: var(--jt-date-picker-focus-border-color);--el-color-primary: var(--jt-date-picker-focus-border-color)}.jt-input[data-v-031428a1]{--jt-input-text-color: #333333;--jt-input-placeholder-color: #999999;--jt-input-border-color: #e5e5e5;--jt-input-hover-border-color: #cccccc;--jt-input-focus-border-color: #e60000;--el-input-text-color: var(--jt-input-text-color);--el-input-placeholder-color: var(--jt-input-placeholder-color);--el-input-border-color: var(--jt-input-border-color);--el-input-hover-border-color: var(--jt-input-hover-border-color);--el-input-focus-border-color: var(--jt-input-focus-border-color)}.jt-select[data-v-c67cfa84]{--jt-select-text-color: #333333;--jt-select-placeholder-color: #999999;--jt-select-border-color: #e5e5e5;--jt-select-hover-border-color: #cccccc;--jt-select-focus-border-color: #e60000;--el-input-text-color: var(--jt-select-text-color);--el-input-placeholder-color: var(--jt-select-placeholder-color);--el-input-border-color: var(--jt-select-border-color);--el-input-hover-border-color: var(--jt-select-hover-border-color);--el-color-primary: var(--jt-select-focus-border-color)}.jt-form-items[data-v-cb82fcfc]{--jt-form-columns: 4;--jt-form-gap: 1rem;width:100%;display:grid;grid-template-columns:repeat(var(--jt-form-columns),minmax(0,1fr));column-gap:var(--jt-form-gap);row-gap:var(--jt-form-gap)}.jt-form-items__item[data-v-cb82fcfc]{margin:0;width:100%}.jt-form-items__actions[data-v-cb82fcfc]{margin:0;width:100%;align-self:end}.jt-form-items__item[data-v-cb82fcfc] .el-form-item__content{width:100%;min-width:0}.jt-form-items__actions[data-v-cb82fcfc] .el-form-item__content{display:flex;justify-content:flex-end;align-items:center;width:100%;min-width:0}.jt-form-items__item[data-v-cb82fcfc] .el-input,.jt-form-items__item[data-v-cb82fcfc] .el-select,.jt-form-items__item[data-v-cb82fcfc] .el-cascader,.jt-form-items__item[data-v-cb82fcfc] .el-date-editor,.jt-form-items__item[data-v-cb82fcfc] .el-date-editor.el-input,.jt-form-items__item[data-v-cb82fcfc] .el-date-editor--daterange,.jt-form-items__item[data-v-cb82fcfc] .el-input__wrapper,.jt-form-items__item[data-v-cb82fcfc] .el-select__wrapper,.jt-form-items__item[data-v-cb82fcfc] .el-date-editor .el-input__wrapper{box-sizing:border-box;width:100%;min-width:0}.jt-filter-bar[data-v-1f6fdc4e]{padding-left:.75rem;padding-right:.75rem}.jt-filter-bar__form[data-v-1f6fdc4e]{width:100%;display:contents}.jt-filter-bar[data-v-1f6fdc4e] .jt-form-items{grid-template-columns:repeat(var(--jt-filter-field-columns),minmax(0,1fr));column-gap:var(--jt-filter-column-gap);row-gap:var(--jt-filter-row-gap)}.jt-filter-bar[data-v-1f6fdc4e] .jt-form-items__actions{grid-column:1/-1!important;width:100%;min-width:0;justify-self:end}.jt-filter-bar.is-single-filter[data-v-1f6fdc4e] .jt-form-items__actions{grid-column:var(--jt-filter-actions-start)/-1!important}.jt-filter-bar[data-v-1f6fdc4e] .jt-form-items__actions .el-form-item__content{width:100%;min-width:0}.jt-filter-bar__btns[data-v-1f6fdc4e]{display:flex;justify-content:flex-end;align-items:center;width:var(--jt-filter-btns-width);height:2rem;min-width:var(--jt-filter-btns-width);flex:0 0 var(--jt-filter-btns-width);text-align:right}.jt-filter-bar__icon-arrow[data-v-1f6fdc4e]{transition:transform .2s ease}.jt-filter-bar__icon-arrow.is-collapsed[data-v-1f6fdc4e]{transform:rotate(180deg)}.jt-table[data-v-513fa12d]{flex:1;min-height:0;--el-table-border-color: transparent;--el-table-bg-color: #fff;--el-table-tr-bg-color: #fff;--el-table-header-bg-color: #f6f3f3;--el-table-header-text-color: #333333;--el-table-text-color: #333333;--el-table-row-hover-bg-color: transparent;--el-color-primary: #e60000;background:#fff}.jt-table[data-v-513fa12d] .el-table__inner-wrapper:before{height:0}.jt-table[data-v-513fa12d] .el-table__header-wrapper{border-radius:.75rem;overflow:hidden}.jt-table[data-v-513fa12d] th.el-table__cell{background:#f6f3f3;font-size:.875rem;font-weight:400;color:#333;padding:.75rem 0;border:none}.jt-table[data-v-513fa12d] th.el-table__cell:first-child{border-radius:.75rem 0 0 .75rem}.jt-table[data-v-513fa12d] th.el-table__cell:last-child{border-radius:0 .75rem .75rem 0}.jt-table[data-v-513fa12d] th.el-table__cell .cell{padding:0 .625rem}.jt-table[data-v-513fa12d] td.el-table__cell{font-size:.875rem;font-weight:500;color:#333;padding:.75rem 0;border:none}.jt-table[data-v-513fa12d] td.el-table__cell .cell{padding:0 .625rem}.jt-table[data-v-513fa12d] .el-table__row:nth-child(odd) td{background:#fff}.jt-table[data-v-513fa12d] .el-table__row:nth-child(2n) td{background:#fbf9f9}.jt-table[data-v-513fa12d] .el-table__row td:first-child{border-radius:.75rem 0 0 .75rem}.jt-table[data-v-513fa12d] .el-table__row td:last-child{border-radius:0 .75rem .75rem 0}.jt-table[data-v-513fa12d] .el-table__empty-block{min-height:12.5rem}.jt-pagination[data-v-c6e8a4b5]{display:flex;justify-content:center;align-items:center;gap:.625rem;background:#fff}.jt-pagination[data-v-c6e8a4b5] .el-pagination{--el-pagination-button-width: 1.5rem;--el-pagination-button-height: 1.5rem;--el-pagination-font-size: .75rem;gap:.25rem}.jt-pagination[data-v-c6e8a4b5] .el-pager li{width:auto;height:1.5rem;min-width:1.5rem;border-radius:.25rem;border:.0625rem solid #e1e4e7;font-size:.75rem;font-weight:400;color:#333;line-height:1.375rem;padding:0 .375rem;margin:0 .125rem;background:transparent}.jt-pagination[data-v-c6e8a4b5] .el-pager li.is-active{background:#e60000;border-color:#e60000;color:#fff}.jt-pagination[data-v-c6e8a4b5] .btn-prev,.jt-pagination[data-v-c6e8a4b5] .btn-next{width:1.5rem;height:1.5rem;min-width:1.5rem;border-radius:.25rem;border:.0625rem solid #e1e4e7;padding:0;margin:0 .125rem;background:transparent}.jt-pagination[data-v-c6e8a4b5] .el-pagination__jump{font-size:.75rem;color:#333;margin-left:.25rem}.jt-pagination[data-v-c6e8a4b5] .el-pagination__jump .el-input{width:3.5rem}.jt-pagination[data-v-c6e8a4b5] .el-pagination__jump .el-input__wrapper{height:1.5rem;border-radius:.25rem;border:.0625rem solid #e1e4e7;box-shadow:none!important;padding:0 .25rem}.jt-pagination__count[data-v-c6e8a4b5]{font-size:.875rem;font-weight:400;color:#333}.jt-crud-table[data-v-ad466273]{width:100%;flex:1;min-height:0;display:flex;flex-direction:column;gap:1rem;background:#fff}.jt-crud-table[data-v-ad466273] .jt-pagination{margin-top:auto;flex-shrink:0}.jt-crud-table__toolbar[data-v-ad466273]{display:flex;justify-content:flex-end;align-items:center;min-width:0}.jt-page-header[data-v-9e6bb356]{--jt-page-header-bg-color: #f9f9f9;--jt-page-header-height: 2.75rem;--jt-page-header-padding-x: .75rem;--jt-page-header-border-radius: .375rem;--jt-page-header-title-font-size: 1rem;--jt-page-header-title-marker-width: .25rem;--jt-page-header-title-marker-height: .75rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;height:var(--jt-page-header-height);padding-left:var(--jt-page-header-padding-x);padding-right:var(--jt-page-header-padding-x);background-color:var(--jt-page-header-bg-color);border-radius:var(--jt-page-header-border-radius)}.jt-page-header .jt-page-header__title[data-v-9e6bb356]{display:flex;align-items:center;font-size:var(--jt-page-header-title-font-size);font-weight:600;color:#333}.jt-page-header .jt-page-header__title[data-v-9e6bb356]:before{content:"";display:block;width:var(--jt-page-header-title-marker-width);height:var(--jt-page-header-title-marker-height);margin-right:.375rem;background-color:#e60000;border-radius:.0625rem}.jt-page-header--subsection[data-v-9e6bb356]{--jt-page-header-bg-color: #fff;--jt-page-header-height: 2rem;--jt-page-header-padding-x: 0;--jt-page-header-title-font-size: .875rem;--jt-page-header-title-marker-width: .1875rem;--jt-page-header-title-marker-height: .625rem}.jt-page-header__title[data-v-9e6bb356],.jt-page-header__operates[data-v-9e6bb356]{min-width:0}.jt-page-header__operates[data-v-9e6bb356]{display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}.global-info-field-control[data-v-88c12ee8]{--global-info-control-height: 2rem;--global-info-control-border: #d9d9d9;--global-info-control-disabled-bg: #f9fafb;--global-info-control-radius: .25rem;width:100%;height:var(--global-info-control-height);min-width:0;font-size:.8125rem;box-sizing:border-box}.global-info-field-control[data-v-88c12ee8] *,.global-info-field-control[data-v-88c12ee8] *:before,.global-info-field-control[data-v-88c12ee8] *:after{box-sizing:border-box}.global-info-field-control.el-input[data-v-88c12ee8],.global-info-field-control.el-input-number[data-v-88c12ee8],.global-info-field-control.el-date-editor[data-v-88c12ee8],.global-info-field-control.el-select[data-v-88c12ee8]{width:100%;min-width:0;height:var(--global-info-control-height);line-height:var(--global-info-control-height)}.global-info-field-control.el-date-editor[data-v-88c12ee8]{--el-date-editor-width: 100%}.global-info-field-control.el-date-editor.el-input[data-v-88c12ee8],.global-info-field-control.el-date-editor.el-input__wrapper[data-v-88c12ee8]{width:100%;min-width:0;height:var(--global-info-control-height)}.global-info-field-control[data-v-88c12ee8] .el-input,.global-info-field-control[data-v-88c12ee8] .el-input-number,.global-info-field-control[data-v-88c12ee8] .el-date-editor,.global-info-field-control[data-v-88c12ee8] .el-select{width:100%;min-width:0;height:var(--global-info-control-height);line-height:var(--global-info-control-height)}.global-info-field-control[data-v-88c12ee8] .el-input__wrapper,.global-info-field-control[data-v-88c12ee8] .el-select__wrapper,.global-info-field-control[data-v-88c12ee8] .el-input-number__wrapper,.global-info-field-control[data-v-88c12ee8] .el-date-editor.el-input__wrapper,.global-info-field-control.el-date-editor.el-input__wrapper[data-v-88c12ee8]{width:100%;min-width:0;min-height:var(--global-info-control-height);height:var(--global-info-control-height);border-radius:var(--global-info-control-radius);background:#fff;box-shadow:0 0 0 .0625rem var(--global-info-control-border) inset}.global-info-field-control[data-v-88c12ee8] .el-input__inner,.global-info-field-control[data-v-88c12ee8] .el-select__selection,.global-info-field-control[data-v-88c12ee8] .el-input-number .el-input__inner,.global-info-field-control[data-v-88c12ee8] .el-date-editor .el-input__inner,.global-info-field-control.el-date-editor[data-v-88c12ee8] .el-input__inner{height:var(--global-info-control-height);line-height:var(--global-info-control-height)}.global-info-field-control[data-v-88c12ee8] .el-input__prefix,.global-info-field-control[data-v-88c12ee8] .el-input__suffix,.global-info-field-control[data-v-88c12ee8] .el-select__prefix,.global-info-field-control[data-v-88c12ee8] .el-select__suffix{height:var(--global-info-control-height)}.global-info-field-control[data-v-88c12ee8] .el-select__wrapper{padding-top:0;padding-bottom:0}.global-info-field-control[data-v-88c12ee8] .el-input__wrapper.is-disabled,.global-info-field-control[data-v-88c12ee8] .el-select__wrapper.is-disabled,.global-info-field-control[data-v-88c12ee8] .el-textarea__inner:disabled,.global-info-field-control[data-v-88c12ee8] .el-input-number.is-disabled .el-input__wrapper,.global-info-field-control.el-date-editor.is-disabled.el-input__wrapper[data-v-88c12ee8]{background-color:var(--global-info-control-disabled-bg);box-shadow:0 0 0 .0625rem #e5e5e5 inset}.global-info-field-control[data-v-88c12ee8] .el-input-number__decrease,.global-info-field-control[data-v-88c12ee8] .el-input-number__increase{height:calc(var(--global-info-control-height) / 2);line-height:calc(var(--global-info-control-height) / 2)}.global-info-field-control[data-v-88c12ee8] .el-textarea__inner{min-height:4.5rem;border-color:#d9d9d9;border-radius:var(--global-info-control-radius);font-size:.8125rem}.global-info-field-control--switch[data-v-88c12ee8]{display:inline-flex;height:var(--global-info-control-height);align-items:center}.global-info-field-control--file[data-v-88c12ee8]{--global-info-control-height: 2.25rem;display:flex;height:var(--global-info-control-height);min-width:0;align-items:center;justify-content:center;border:.0625rem solid #e60000;border-radius:var(--global-info-control-radius);background:#fdebeb;color:#e60000;cursor:pointer;line-height:var(--global-info-control-height)}.global-info-field-control--file.is-filled[data-v-88c12ee8]{border-color:#e5e5e5;background:#fff}.global-info-field-control--file.is-disabled[data-v-88c12ee8]{background:var(--global-info-control-disabled-bg);color:#0003;cursor:not-allowed}.global-info-field-control__file-input[data-v-88c12ee8]{display:none}.global-info-field-control__file-text[data-v-88c12ee8],.global-info-field-control__file-upload[data-v-88c12ee8]{min-width:0;overflow:hidden;font-size:.875rem;line-height:1.5rem;text-overflow:ellipsis;white-space:nowrap}.global-info-field-control--code[data-v-88c12ee8] .el-textarea__inner{font-family:Consolas,Monaco,Courier New,monospace}.global-info-field-value[data-v-08b37e58]{display:inline-block;min-height:2rem;color:#333;line-height:2rem;word-break:break-word}.global-info-field-value--html[data-v-08b37e58],.global-info-field-value--multi-row[data-v-08b37e58],.global-info-field-value--code[data-v-08b37e58]{white-space:pre-wrap}.global-info-field-value--code[data-v-08b37e58]{width:100%;margin:0;padding:.5rem .625rem;border:.0625rem solid #e5e5e5;border-radius:.25rem;background:#f9fafb;color:#333;font-family:Consolas,Monaco,Courier New,monospace;line-height:1.25rem}.global-info-field-value--file[data-v-08b37e58]{color:#e60000;text-decoration:underline;text-underline-offset:.1875rem}.global-info-form-renderer[data-v-b8fd23a4]{width:100%}.global-info-form-renderer__label[data-v-b8fd23a4]{display:inline-flex;align-items:center;gap:.125rem}.global-info-form-renderer__required[data-v-b8fd23a4]{color:#e60000}.global-info-form-renderer[data-v-b8fd23a4] .el-form-item{margin-bottom:1.125rem}.global-info-form-renderer[data-v-b8fd23a4] .el-form-item__label{min-height:1.25rem;margin-bottom:.375rem;color:#0009;font-size:.8125rem;line-height:1.25rem}.global-info-form-renderer[data-v-b8fd23a4] .el-input-number,.global-info-form-renderer[data-v-b8fd23a4] .el-date-editor,.global-info-form-renderer[data-v-b8fd23a4] .el-select{width:100%}.global-info-delete-confirm{min-width:15rem;padding:.75rem;border:.0625rem solid #ebeef5;border-radius:.375rem;box-shadow:0 .25rem .75rem #1f232924}.global-info-delete-confirm .el-popconfirm__main{color:#1f2329;font-size:.8125rem;line-height:1.25rem}.global-info-delete-confirm .el-popconfirm__action{margin-top:.75rem}.global-info-delete-confirm .el-button--primary{border-color:#e60000;background:#e60000}.global-info-table-renderer[data-v-822eeb56]{width:100%}.global-info-table-renderer__table-scroll[data-v-822eeb56]{width:100%;overflow-x:auto;border-radius:.75rem;background:#f9f9f9}.global-info-table-renderer__table[data-v-822eeb56]{min-width:100%;background:#f9f9f9;color:#222;font-family:PingFang SC,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.875rem;line-height:1.5rem;--el-table-bg-color: #f9f9f9;--el-table-tr-bg-color: #f9f9f9;--el-table-header-bg-color: #f9f9f9;--el-table-row-hover-bg-color: #f9f9f9;--el-table-border-color: transparent;--el-table-text-color: #222222;--el-table-header-text-color: #333333}.global-info-table-renderer__header[data-v-822eeb56]{display:inline-flex;align-items:center;justify-content:center;gap:.125rem;color:#333;font-size:.875rem;font-weight:400;line-height:1.5rem;white-space:nowrap}.global-info-table-renderer__required[data-v-822eeb56],.global-info-table-renderer__delete[data-v-822eeb56]{color:#e60000}.global-info-table-renderer__delete[data-v-822eeb56]{display:inline-flex;align-items:center;gap:.25rem;font-size:.875rem;line-height:1.5rem}.global-info-table-renderer__delete-icon[data-v-822eeb56]{font-size:.875rem}.global-info-table-renderer[data-v-822eeb56] .el-table__inner-wrapper:before,.global-info-table-renderer[data-v-822eeb56] .el-table__border-left-patch,.global-info-table-renderer[data-v-822eeb56] .el-table__border-bottom-patch{display:none}.global-info-table-renderer[data-v-822eeb56] .el-table__header-wrapper th.el-table__cell,.global-info-table-renderer[data-v-822eeb56] .el-table__body-wrapper td.el-table__cell{padding:.25rem 0;border-bottom:0;background:#f9f9f9}.global-info-table-renderer[data-v-822eeb56] .el-table__header .cell,.global-info-table-renderer[data-v-822eeb56] .el-table__body .cell{min-height:1.5rem;padding:0 .75rem;color:#222;font-size:.875rem;font-weight:400;line-height:1.5rem;text-align:center;white-space:nowrap}.global-info-table-renderer[data-v-822eeb56] .el-table__body .cell>.global-info-field-control,.global-info-table-renderer[data-v-822eeb56] .el-table__body .cell .global-info-field-control,.global-info-table-renderer[data-v-822eeb56] .el-table__body .cell .el-input,.global-info-table-renderer[data-v-822eeb56] .el-table__body .cell .el-input-number,.global-info-table-renderer[data-v-822eeb56] .el-table__body .cell .el-select,.global-info-table-renderer[data-v-822eeb56] .el-table__body .cell .el-date-editor{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.global-info-table-renderer[data-v-822eeb56] .el-table__body .cell .el-input__wrapper,.global-info-table-renderer[data-v-822eeb56] .el-table__body .cell .el-select__wrapper,.global-info-table-renderer[data-v-822eeb56] .el-table__body .cell .el-input-number__wrapper,.global-info-table-renderer[data-v-822eeb56] .el-table__body .cell .el-date-editor.el-input__wrapper{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.global-info-table-renderer--editing[data-v-822eeb56] .el-table__body .cell{overflow:visible;text-overflow:initial}.global-info-table-renderer--editing[data-v-822eeb56] .el-table__body .cell>.global-info-field-control,.global-info-table-renderer--editing[data-v-822eeb56] .el-table__body .cell .global-info-field-control,.global-info-table-renderer--editing[data-v-822eeb56] .el-table__body .cell .el-input,.global-info-table-renderer--editing[data-v-822eeb56] .el-table__body .cell .el-input-number,.global-info-table-renderer--editing[data-v-822eeb56] .el-table__body .cell .el-select,.global-info-table-renderer--editing[data-v-822eeb56] .el-table__body .cell .el-date-editor,.global-info-table-renderer--editing[data-v-822eeb56] .el-table__body .cell .el-input__wrapper,.global-info-table-renderer--editing[data-v-822eeb56] .el-table__body .cell .el-select__wrapper,.global-info-table-renderer--editing[data-v-822eeb56] .el-table__body .cell .el-input-number__wrapper,.global-info-table-renderer--editing[data-v-822eeb56] .el-table__body .cell .el-date-editor.el-input__wrapper{min-width:7.5rem}.global-info-table-renderer[data-v-822eeb56] .el-table__header .cell{color:#333}.global-info-table-renderer[data-v-822eeb56] .el-table__fixed-right{background:#f9f9f9}.global-info-section-block[data-v-77980d16]{width:100%;min-width:0;padding:0;background:transparent;border:0;border-radius:0}.global-info-section-block__header[data-v-77980d16],.global-info-section-block__title-wrap[data-v-77980d16],.global-info-section-block__actions[data-v-77980d16]{display:flex;align-items:center}.global-info-section-block__header[data-v-77980d16]{justify-content:space-between;gap:1rem;margin-bottom:.75rem}.global-info-section-block__title-wrap[data-v-77980d16]{min-width:0;gap:.5rem}.global-info-section-block__marker[data-v-77980d16]{width:.25rem;height:.25rem;flex:0 0 auto;background:#e60000;border-radius:50%}.global-info-section-block__title[data-v-77980d16]{margin:0;overflow:hidden;color:#333;font-size:.875rem;font-weight:600;line-height:1.5rem;text-overflow:ellipsis;white-space:nowrap}.global-info-section-block__actions[data-v-77980d16]{flex:0 0 auto;gap:.5rem}.global-info-section-block__edit[data-v-77980d16],.global-info-section-block__cancel[data-v-77980d16],.global-info-section-block__add[data-v-77980d16],.global-info-section-block__confirm[data-v-77980d16]{display:inline-flex;align-items:center;justify-content:center;gap:.25rem;min-width:3rem;height:1.5rem;padding:0 .75rem;border:.0625rem solid transparent;border-radius:.75rem;font-size:.75rem;font-weight:400;line-height:1.5rem;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.global-info-section-block__edit[data-v-77980d16],.global-info-section-block__add[data-v-77980d16]{color:#e60000;background:#fff;border-color:#ffd1d1}.global-info-section-block__edit[data-v-77980d16]{gap:0}.global-info-section-block__cancel[data-v-77980d16]{color:#0009;background:#f5f5f5;border-color:#e5e5e5}.global-info-section-block__edit[data-v-77980d16]:hover,.global-info-section-block__edit[data-v-77980d16]:focus,.global-info-section-block__add[data-v-77980d16]:hover,.global-info-section-block__add[data-v-77980d16]:focus{color:#e51e1b;background:#fdf7f7;border-color:#f7b2b2}.global-info-section-block__cancel[data-v-77980d16]:hover,.global-info-section-block__cancel[data-v-77980d16]:focus{color:#333;background:#e5e5e5}.global-info-section-block__confirm[data-v-77980d16]{--el-button-text-color: #ffffff;--el-button-bg-color: #e60000;--el-button-border-color: #e60000;--el-button-hover-text-color: #ffffff;--el-button-hover-bg-color: #e51e1b;--el-button-hover-border-color: #e51e1b;--el-button-active-text-color: #ffffff;--el-button-active-bg-color: #e51e1b;--el-button-active-border-color: #e51e1b;color:#fff;background:#e60000;border-color:#e60000;box-shadow:0 .25rem .5rem #e6000029}.global-info-section-block__confirm[data-v-77980d16]:hover,.global-info-section-block__confirm[data-v-77980d16]:focus{color:#fff;background:#e51e1b;border-color:#e51e1b}.global-info-section-block__edit.is-disabled[data-v-77980d16],.global-info-section-block__cancel.is-disabled[data-v-77980d16],.global-info-section-block__add.is-disabled[data-v-77980d16],.global-info-section-block__confirm.is-disabled[data-v-77980d16]{color:#0003;background:#f5f5f5;border-color:transparent;box-shadow:none}.global-info-section-block__edit-icon[data-v-77980d16]{width:.75rem;height:.75rem;flex:0 0 auto;display:block}.global-info-section-block__body[data-v-77980d16]{min-width:0}.global-info-section-block__status[data-v-77980d16]{min-height:5rem;display:flex;align-items:center;justify-content:center;color:#0006;font-size:.875rem}.global-info-group[data-v-c90b8de0]{width:100%;min-width:0;padding:1rem 1.25rem 1.25rem;background:#fff;border:.0625rem solid #e5e5e5;border-radius:.75rem}.global-info-group__header[data-v-c90b8de0]{display:flex;min-width:0;align-items:center;gap:.5rem;margin-bottom:1rem}.global-info-group__marker[data-v-c90b8de0]{width:.1875rem;height:.75rem;flex:0 0 auto;background:#e60000;border-radius:.125rem}.global-info-group__title[data-v-c90b8de0]{min-width:0;margin:0;overflow:hidden;color:#333;font-size:1rem;font-weight:600;line-height:1.5rem;text-overflow:ellipsis;white-space:nowrap}.global-info-group__body[data-v-c90b8de0]{min-width:0}.global-info-group__section[data-v-c90b8de0]{min-width:0;padding-bottom:1.25rem;border-bottom:.0625rem solid #e5e5e5}.global-info-group__section+.global-info-group__section[data-v-c90b8de0]{margin-top:1.25rem}.global-info-group__section[data-v-c90b8de0]:last-child{padding-bottom:0;border-bottom:0}.global-info-group__empty[data-v-c90b8de0]{min-height:5rem;display:flex;align-items:center;justify-content:center;color:#0006;font-size:.875rem}.global-info-sections[data-v-c0d12f5e]{display:flex;min-width:0;flex-direction:column;gap:.75rem}
@@ -21,6 +21,7 @@ export interface FormatInnerRequestParamsInput {
21
21
  sections?: GlobalInfoSection[];
22
22
  activeNode?: GlobalInfoNode | null;
23
23
  activeSection?: GlobalInfoSection | null;
24
+ searchText?: string;
24
25
  }
25
26
  export declare function formatInnerRequestParams(input: FormatInnerRequestParamsInput): Promise<GlobalInfoRawRecord | undefined>;
26
27
  export interface RequestOperationWithFormattedParamsInput {
@@ -1,5 +1,5 @@
1
- import type { GlobalInfoField, GlobalInfoFieldValue, GlobalInfoRawRecord, GlobalInfoRenderConfig, GlobalInfoSection } from './types';
2
- export type GlobalInfoFieldControlKind = 'text' | 'textarea' | 'select' | 'date' | 'number' | 'switch' | 'file' | 'html' | 'code' | 'multi-row' | 'empty';
1
+ import type { GlobalInfoField, GlobalInfoFieldValue, GlobalInfoApiOperation, GlobalInfoRawRecord, GlobalInfoRenderConfig, GlobalInfoSection } from './types';
2
+ export type GlobalInfoFieldControlKind = 'text' | 'textarea' | 'select' | 'select_remote' | 'date' | 'number' | 'switch' | 'file' | 'html' | 'code' | 'multi-row' | 'empty';
3
3
  export type GlobalInfoFieldDisplayKind = 'text' | 'select' | 'switch' | 'file' | 'html' | 'code' | 'multi-row' | 'empty';
4
4
  type GlobalInfoFieldKindSource = Pick<GlobalInfoField, 'type' | 'renderType'> & Partial<Pick<GlobalInfoField, 'fieldType' | 'frontInputType'>>;
5
5
  export interface GlobalInfoFieldVisibilityRuntime {
@@ -8,6 +8,8 @@ export interface GlobalInfoFieldVisibilityRuntime {
8
8
  /** 表格场景传完整 rows,动态隐藏规则会逐行判断。 */
9
9
  rows?: GlobalInfoRawRecord[];
10
10
  }
11
+ export declare function resolveFieldCascadeDependFields(field?: Pick<GlobalInfoField, 'cascadeDependFields' | 'interface'> | null): string[];
12
+ export declare function resolveFieldCascadeDependFieldsFromInterface(operation?: GlobalInfoApiOperation): string[];
11
13
  export declare function resolveGlobalInfoFieldControlKind(field: GlobalInfoFieldKindSource): GlobalInfoFieldControlKind;
12
14
  export declare function resolveGlobalInfoFieldDisplayKind(field: GlobalInfoFieldKindSource): GlobalInfoFieldDisplayKind;
13
15
  export declare function isEmptyGlobalInfoFieldValue(value: GlobalInfoFieldValue): boolean;
@@ -155,6 +155,8 @@ export interface GlobalInfoOperationContext {
155
155
  row?: GlobalInfoRawRecord;
156
156
  /** 当前整体视图模型,外部格式化请求参数时可按完整上下文判断。 */
157
157
  viewModel?: GlobalInfoViewModel | null;
158
+ /** 远程搜索下拉的当前输入词,只透传给业务 formatter,不在组件内解析占位符。 */
159
+ searchText?: string;
158
160
  }
159
161
  /** 所有 operationInfo 请求类型。 */
160
162
  export type GlobalInfoRequestType = GlobalInfoOperationContext['type'];
@@ -192,6 +194,8 @@ export interface GlobalInfoExternalOperationParamsFormatterContext {
192
194
  activeSection?: GlobalInfoSection | null;
193
195
  /** 本次请求候选参数;字段接口通常来自 operation.params,保存接口通常来自 controller 构造的 payload。 */
194
196
  params?: GlobalInfoRawRecord;
197
+ /** 远程搜索下拉的当前输入词,业务层可据此处理 ${searchText} 等占位符。 */
198
+ searchText?: string;
195
199
  }
196
200
  /** 外部请求参数格式化器;返回值就是最终请求 params,组件不再追加内置业务规则。 */
197
201
  export type GlobalInfoExternalOperationParamsFormatter = (context: GlobalInfoExternalOperationParamsFormatterContext) => GlobalInfoRawRecord | Promise<GlobalInfoRawRecord>;
@@ -343,7 +347,7 @@ export interface GlobalInfoField {
343
347
  interface?: GlobalInfoApiOperation;
344
348
  /** 当前字段变更后需要清空的字段 code 列表。 */
345
349
  cascadeClearFields?: string[];
346
- /** 当前字段加载或选择前依赖的字段 code 列表。 */
350
+ /** 当前字段加载或选择前依赖的字段 code 列表,会和 interface.params 占位符推导结果合并。 */
347
351
  cascadeDependFields?: string[];
348
352
  /** 传给具体控件的额外 props。 */
349
353
  props?: GlobalInfoRawRecord;
@@ -508,6 +512,11 @@ export interface GlobalInfoState {
508
512
  export type GlobalInfoSectionTarget = GlobalInfoSection | GlobalInfoNode | string | null | undefined;
509
513
  /** loadSection 使用的目标类型,语义上和 section target 一致。 */
510
514
  export type GlobalInfoSectionLoadTarget = GlobalInfoSectionTarget;
515
+ /** 字段选项加载的运行时上下文,组件只透传,不解释业务参数模板。 */
516
+ export interface GlobalInfoFieldOptionsLoadOptions {
517
+ /** 远程搜索下拉当前输入词。 */
518
+ searchText?: string;
519
+ }
511
520
  /** controller 提供给页面和插槽的动作集合。 */
512
521
  export interface GlobalInfoActions {
513
522
  /** 加载顶部树,并按 openTag 补齐一级节点 children。 */
@@ -533,7 +542,7 @@ export interface GlobalInfoActions {
533
542
  /** 更新单个字段,并处理 cascadeClearFields。 */
534
543
  updateField: (section: GlobalInfoSection | string, field: GlobalInfoField | string, value: unknown) => void;
535
544
  /** 加载字段动态选项,并按当前表单 model 或表格 row 补齐接口参数。 */
536
- loadFieldOptions: (section: GlobalInfoSection | string, field: GlobalInfoField | string, model?: GlobalInfoRawRecord) => Promise<GlobalInfoFieldOption[]>;
545
+ loadFieldOptions: (section: GlobalInfoSection | string, field: GlobalInfoField | string, model?: GlobalInfoRawRecord, options?: GlobalInfoFieldOptionsLoadOptions) => Promise<GlobalInfoFieldOption[]>;
537
546
  /** 批量更新表单 model 或表格 rows。 */
538
547
  updateModel: (section: GlobalInfoSection | string, model: GlobalInfoRawRecord | GlobalInfoRawRecord[]) => void;
539
548
  /** 更新表格行数据。 */
@@ -1,4 +1,4 @@
1
- import type { GlobalInfoField, GlobalInfoFieldValue } from '../model/types';
1
+ import type { GlobalInfoField, GlobalInfoFieldOptionsLoadOptions, GlobalInfoFieldValue } from '../model/types';
2
2
  type __VLS_Props = {
3
3
  field: GlobalInfoField;
4
4
  modelValue?: GlobalInfoFieldValue;
@@ -7,11 +7,11 @@ type __VLS_Props = {
7
7
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
8
  "update:modelValue": (value: unknown) => any;
9
9
  change: (value: unknown) => any;
10
- loadOptions: () => any;
10
+ loadOptions: (options?: GlobalInfoFieldOptionsLoadOptions | undefined) => any;
11
11
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
12
12
  "onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
13
13
  onChange?: ((value: unknown) => any) | undefined;
14
- onLoadOptions?: (() => any) | undefined;
14
+ onLoadOptions?: ((options?: GlobalInfoFieldOptionsLoadOptions | undefined) => any) | undefined;
15
15
  }>, {
16
16
  disabled: boolean;
17
17
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -1,4 +1,7 @@
1
- import type { GlobalInfoField, GlobalInfoRawRecord } from '../model/types.js';
1
+ import type { GlobalInfoField, GlobalInfoFieldOptionsLoadOptions, GlobalInfoRawRecord } from '../model/types.js';
2
2
  export declare function isDynamicSelectField(field: GlobalInfoField): boolean;
3
- export declare function buildFieldOptionsPreloadKey(sectionKey: string, field: Pick<GlobalInfoField, 'key' | 'id' | 'code' | 'cascadeDependFields'>, model?: GlobalInfoRawRecord, rowKey?: string): string;
4
- export declare function shouldReuseLoadedFieldOptions(field: Pick<GlobalInfoField, 'options' | 'cascadeDependFields'>, cachedPreloadKey: string | undefined, currentPreloadKey: string): boolean;
3
+ export declare function buildFieldOptionsPreloadKey(sectionKey: string, field: Pick<GlobalInfoField, 'key' | 'id' | 'code' | 'cascadeDependFields' | 'interface'>, model?: GlobalInfoRawRecord, rowKey?: string): string;
4
+ export declare function shouldReuseLoadedFieldOptions(field: Pick<GlobalInfoField, 'options' | 'cascadeDependFields' | 'interface'>, cachedPreloadKey: string | undefined, currentPreloadKey: string): boolean;
5
+ export declare function hasFieldOptionsSearchText(options?: GlobalInfoFieldOptionsLoadOptions): boolean;
6
+ export declare function shouldPreloadDynamicSelectField(field: GlobalInfoField, value: unknown, editing: boolean): boolean;
7
+ export declare function getDynamicSelectPreloadOptions(field: GlobalInfoField, value: unknown): GlobalInfoFieldOptionsLoadOptions;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jt-home/mfe-components",
3
- "version": "1.0.12",
3
+ "version": "1.0.13",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -31,23 +31,14 @@
31
31
  "*.css",
32
32
  "*.scss"
33
33
  ],
34
- "scripts": {
35
- "dev": "vite",
36
- "build:types": "vue-tsc -p tsconfig.lib.json",
37
- "build:bundle": "vite build",
38
- "build": "pnpm run build:bundle && pnpm run build:types",
39
- "build:analyze": "vite build --mode analyze",
40
- "prepublishOnly": "pnpm build",
41
- "preview": "vite preview --host 127.0.0.1 --port 5001",
42
- "test:component-attrs": "tsc --module NodeNext --moduleResolution NodeNext --target ES2020 --outDir tmp/unit-tests src/utils/componentAttrs.ts src/utils/componentAttrs.test.ts && node tmp/unit-tests/componentAttrs.test.js",
43
- "test:cascader-props": "tsc --skipLibCheck --module NodeNext --moduleResolution NodeNext --target ES2020 --outDir tmp/unit-tests src/components/form/item/JtCascader/cascaderProps.ts src/components/form/item/JtCascader/cascaderProps.test.ts && node tmp/unit-tests/cascaderProps.test.js"
44
- },
45
34
  "dependencies": {
46
35
  "@element-plus/icons-vue": "^2.3.2",
36
+ "@jt-home/sdk-tools": "1.1.0",
47
37
  "pdfjs-dist": "^5.7.284"
48
38
  },
49
39
  "devDependencies": {
50
40
  "@babel/eslint-parser": "^7.24.5",
41
+ "@changesets/cli": "^2.31.0",
51
42
  "@commitlint/cli": "^20.4.2",
52
43
  "@commitlint/config-conventional": "^20.4.2",
53
44
  "@dd-code/eslint-config-standard": "^1.0.3",
@@ -76,12 +67,26 @@
76
67
  "unplugin-vue-components": "^28.8.0",
77
68
  "vite": "^5.4.6",
78
69
  "vite-plugin-svg-icons": "^2.0.1",
70
+ "vue": "^3.5.10",
79
71
  "vue-eslint-parser": "^9.4.2",
80
- "vue-tsc": "^3.1.5",
81
- "vue": "^3.5.10"
72
+ "vue-tsc": "^3.1.5"
82
73
  },
83
74
  "peerDependencies": {
84
75
  "element-plus": "^2.14.0",
85
76
  "vue": "^3.5.10"
77
+ },
78
+ "scripts": {
79
+ "dev": "vite",
80
+ "build:types": "vue-tsc -p tsconfig.lib.json",
81
+ "build:bundle": "vite build",
82
+ "build": "pnpm run build:bundle && pnpm run build:types",
83
+ "build:analyze": "vite build --mode analyze",
84
+ "changeset": "changeset",
85
+ "changeset:status": "changeset status",
86
+ "version:packages": "changeset version",
87
+ "release": "pnpm run changeset:status && pnpm run version:packages && pnpm build && changeset publish",
88
+ "preview": "vite preview --host 127.0.0.1 --port 5001",
89
+ "test:component-attrs": "tsc --module NodeNext --moduleResolution NodeNext --target ES2020 --outDir tmp/unit-tests src/utils/componentAttrs.ts src/utils/componentAttrs.test.ts && node tmp/unit-tests/componentAttrs.test.js",
90
+ "test:cascader-props": "tsc --skipLibCheck --module NodeNext --moduleResolution NodeNext --target ES2020 --outDir tmp/unit-tests src/components/form/item/JtCascader/cascaderProps.ts src/components/form/item/JtCascader/cascaderProps.test.ts && node tmp/unit-tests/cascaderProps.test.js"
86
91
  }
87
- }
92
+ }
package/readme.md CHANGED
@@ -23,17 +23,30 @@
23
23
 
24
24
  ## npm 发布
25
25
 
26
- 组件库使用 npm 库构建,发布前请先生成 JS/CSS 产物和类型声明:
26
+ 组件库使用 npm 库构建,并通过 Changesets 管理版本号和发布说明。每次涉及对外行为、组件 API、样式或构建产物的改动,发布前先生成变更记录:
27
+
28
+ ```bash
29
+ pnpm changeset
30
+ ```
31
+
32
+ 发布时执行统一脚本:
33
+
34
+ ```bash
35
+ pnpm release
36
+ ```
37
+
38
+ 发布前如需预检查产物内容,可先执行:
27
39
 
28
40
  ```bash
29
- pnpm build
30
41
  npm pack --dry-run
31
42
  ```
32
43
 
44
+ - `pnpm changeset` 用于选择本次发布的版本级别,并在 `.changeset/` 下生成待发布变更说明。
45
+ - `pnpm release` 会先执行 `changeset status` 检查是否已有变更记录,再自动执行 `changeset version` 更新 `package.json` 版本号并生成 / 更新 `CHANGELOG.md`,随后构建并发布 npm 包。
33
46
  - `pnpm build` 会先执行 `build:bundle` 生成 `dist/index.mjs`、`dist/index.cjs` 和 `dist/style.css`,再执行 `build:types` 生成 `dist/types/main.d.ts` 及组件类型声明。
34
47
  - `npm pack --dry-run` 用于发布前检查实际会进入 npm 包的文件。
35
48
  - `vue` 和 `element-plus` 是 `peerDependencies`,使用方项目需要自行安装。
36
- - 发布时执行 `npm publish`;如果使用公司私有 npm 仓库,需要先确认 `.npmrc` 的 `registry` 和登录 token。
49
+ - 如果使用公司私有 npm 仓库,需要先确认 `.npmrc` 的 `registry` 和登录 token。
37
50
 
38
51
  ## 样式按需引入
39
52