little-dizzy 2.3.0 → 2.4.0

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.
@@ -1 +1 @@
1
- [data-v-75f082b2]{margin:0;padding:0;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}[data-v-75f082b2]::-webkit-scrollbar{display:none}body[data-v-75f082b2]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;color:#303133;background-color:#f5f7fa}.btn[data-v-75f082b2]:hover{opacity:.9}.btn[data-v-75f082b2]:active{opacity:1}.btn[data-v-75f082b2]:disabled{cursor:not-allowed;opacity:.6}.btn-primary[data-v-75f082b2]:hover{background-color:#0d84ff;border-color:#0d84ff}.btn-success[data-v-75f082b2]:hover{background-color:#529b2e;border-color:#529b2e}.btn-warning[data-v-75f082b2]:hover{background-color:#d48a1b;border-color:#d48a1b}.btn-danger[data-v-75f082b2]:hover{background-color:#f23c3c;border-color:#f23c3c}.btn-info[data-v-75f082b2]:hover{background-color:#767980;border-color:#767980}.btn-secondary[data-v-75f082b2]:hover{color:#409eff;border-color:#409eff}.card[data-v-75f082b2]{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:box-shadow .3s}.card[data-v-75f082b2]:hover{box-shadow:0 4px 12px #00000026}.card-header[data-v-75f082b2]{padding:16px;border-bottom:1px solid rgba(0,0,0,.125)}.card-header-title[data-v-75f082b2]{margin:0;font-size:16px;font-weight:600}.card-body[data-v-75f082b2]{flex:1 1 auto;padding:16px}.card-footer[data-v-75f082b2]{padding:16px;border-top:1px solid rgba(0,0,0,.125)}.modal[data-v-75f082b2]{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0;background-color:#00000080}.modal.show[data-v-75f082b2]{display:flex;justify-content:center;align-items:center}.modal-dialog[data-v-75f082b2]{position:relative;width:auto;margin:10px;pointer-events:none}@media(min-width:576px){.modal-dialog[data-v-75f082b2]{max-width:500px;margin:1.75rem auto}}.modal-content[data-v-75f082b2]{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:8px;outline:0;box-shadow:0 6px 20px #0003}.modal-header[data-v-75f082b2]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #dee2e6;border-top-left-radius:7px;border-top-right-radius:7px}.modal-header-title[data-v-75f082b2]{margin:0;font-size:16px;font-weight:600}.modal-header-close[data-v-75f082b2]{padding:0;background-color:transparent;border:0;cursor:pointer;font-size:1.5rem;line-height:1;color:#6c757d;opacity:.5}.modal-header-close[data-v-75f082b2]:hover{opacity:1}.modal-body[data-v-75f082b2]{position:relative;flex:1 1 auto;padding:16px}.modal-footer[data-v-75f082b2]{display:flex;justify-content:flex-end;align-items:center;padding:16px;border-top:1px solid #dee2e6;border-bottom-left-radius:7px;border-bottom-right-radius:7px}.modal-footer[data-v-75f082b2]>*+*{margin-left:8px}.btn[data-v-75f082b2]{display:inline-block;padding:8px 16px;border:1px solid transparent;border-radius:4px;font-size:14px;font-weight:400;line-height:1.5;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;transition:all .3s}.btn[data-v-75f082b2]:hover:not(.btn-disabled){opacity:.9}.btn[data-v-75f082b2]:active:not(.btn-disabled){opacity:1}.btn.btn-disabled[data-v-75f082b2]{cursor:not-allowed;opacity:.6}.btn-primary[data-v-75f082b2]{color:#fff;background-color:#409eff;border-color:#409eff}.btn-primary[data-v-75f082b2]:hover:not(.btn-disabled){background-color:#0d84ff;border-color:#0d84ff}.btn-success[data-v-75f082b2]{color:#fff;background-color:#67c23a;border-color:#67c23a}.btn-success[data-v-75f082b2]:hover:not(.btn-disabled){background-color:#529b2e;border-color:#529b2e}.btn-warning[data-v-75f082b2]{color:#fff;background-color:#e6a23c;border-color:#e6a23c}.btn-warning[data-v-75f082b2]:hover:not(.btn-disabled){background-color:#d48a1b;border-color:#d48a1b}.btn-danger[data-v-75f082b2]{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.btn-danger[data-v-75f082b2]:hover:not(.btn-disabled){background-color:#f23c3c;border-color:#f23c3c}.btn-info[data-v-75f082b2]{color:#fff;background-color:#909399;border-color:#909399}.btn-info[data-v-75f082b2]:hover:not(.btn-disabled){background-color:#767980;border-color:#767980}.btn-secondary[data-v-75f082b2]{color:#606266;background-color:#fff;border-color:#dcdfe6}.btn-secondary[data-v-75f082b2]:hover:not(.btn-disabled){color:#409eff;border-color:#409eff}.btn-small[data-v-75f082b2]{padding:4px 8px;font-size:12px}.btn-medium[data-v-75f082b2]{padding:8px 16px;font-size:14px}.btn-large[data-v-75f082b2]{padding:12px 24px;font-size:16px}.btn-block[data-v-75f082b2]{display:block;width:100%}[data-v-2d83e63a]{margin:0;padding:0;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}[data-v-2d83e63a]::-webkit-scrollbar{display:none}body[data-v-2d83e63a]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;color:#303133;background-color:#f5f7fa}.btn[data-v-2d83e63a]{display:inline-block;padding:8px 16px;border:1px solid transparent;border-radius:4px;font-size:14px;font-weight:400;line-height:1.5;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;transition:all .3s}.btn[data-v-2d83e63a]:hover{opacity:.9}.btn[data-v-2d83e63a]:active{opacity:1}.btn[data-v-2d83e63a]:disabled{cursor:not-allowed;opacity:.6}.btn-primary[data-v-2d83e63a]{color:#fff;background-color:#409eff;border-color:#409eff}.btn-primary[data-v-2d83e63a]:hover{background-color:#0d84ff;border-color:#0d84ff}.btn-success[data-v-2d83e63a]{color:#fff;background-color:#67c23a;border-color:#67c23a}.btn-success[data-v-2d83e63a]:hover{background-color:#529b2e;border-color:#529b2e}.btn-warning[data-v-2d83e63a]{color:#fff;background-color:#e6a23c;border-color:#e6a23c}.btn-warning[data-v-2d83e63a]:hover{background-color:#d48a1b;border-color:#d48a1b}.btn-danger[data-v-2d83e63a]{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.btn-danger[data-v-2d83e63a]:hover{background-color:#f23c3c;border-color:#f23c3c}.btn-info[data-v-2d83e63a]{color:#fff;background-color:#909399;border-color:#909399}.btn-info[data-v-2d83e63a]:hover{background-color:#767980;border-color:#767980}.btn-secondary[data-v-2d83e63a]{color:#606266;background-color:#fff;border-color:#dcdfe6}.btn-secondary[data-v-2d83e63a]:hover{color:#409eff;border-color:#409eff}.btn-small[data-v-2d83e63a]{padding:4px 8px;font-size:12px}.btn-large[data-v-2d83e63a]{padding:12px 24px;font-size:16px}.card[data-v-2d83e63a]{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:box-shadow .3s}.card[data-v-2d83e63a]:hover{box-shadow:0 4px 12px #00000026}.card-header[data-v-2d83e63a]{padding:16px;border-bottom:1px solid rgba(0,0,0,.125)}.card-header-title[data-v-2d83e63a]{margin:0;font-size:16px;font-weight:600}.card-body[data-v-2d83e63a]{flex:1 1 auto;padding:16px}.card-footer[data-v-2d83e63a]{padding:16px;border-top:1px solid rgba(0,0,0,.125)}.modal[data-v-2d83e63a]{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0;background-color:#00000080}.modal.show[data-v-2d83e63a]{display:flex;justify-content:center;align-items:center}.modal-dialog[data-v-2d83e63a]{position:relative;width:auto;margin:10px;pointer-events:none}@media(min-width:576px){.modal-dialog[data-v-2d83e63a]{max-width:500px;margin:1.75rem auto}}.modal-content[data-v-2d83e63a]{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:8px;outline:0;box-shadow:0 6px 20px #0003}.modal-header[data-v-2d83e63a]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #dee2e6;border-top-left-radius:7px;border-top-right-radius:7px}.modal-header-title[data-v-2d83e63a]{margin:0;font-size:16px;font-weight:600}.modal-header-close[data-v-2d83e63a]{padding:0;background-color:transparent;border:0;cursor:pointer;font-size:1.5rem;line-height:1;color:#6c757d;opacity:.5}.modal-header-close[data-v-2d83e63a]:hover{opacity:1}.modal-body[data-v-2d83e63a]{position:relative;flex:1 1 auto;padding:16px}.modal-footer[data-v-2d83e63a]{display:flex;justify-content:flex-end;align-items:center;padding:16px;border-top:1px solid #dee2e6;border-bottom-left-radius:7px;border-bottom-right-radius:7px}.modal-footer[data-v-2d83e63a]>*+*{margin-left:8px}.card[data-v-2d83e63a]{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:8px;transition:box-shadow .3s}.card-shadow[data-v-2d83e63a]{box-shadow:0 2px 4px #0000001a}.card-shadow[data-v-2d83e63a]:hover{box-shadow:0 4px 12px #00000026}.card-header[data-v-2d83e63a]{padding:16px;border-bottom:1px solid rgba(0,0,0,.125);display:flex;justify-content:space-between;align-items:center}.card-header-title[data-v-2d83e63a]{margin:0;font-size:16px;font-weight:600;color:#303133}.card-body[data-v-2d83e63a]{flex:1 1 auto;padding:16px;color:#606266}.card-footer[data-v-2d83e63a]{padding:16px;border-top:1px solid rgba(0,0,0,.125);background-color:#fafafa;border-bottom-left-radius:7px;border-bottom-right-radius:7px}[data-v-39af2dcd]{margin:0;padding:0;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}[data-v-39af2dcd]::-webkit-scrollbar{display:none}body[data-v-39af2dcd]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;color:#303133;background-color:#f5f7fa}.btn[data-v-39af2dcd]{display:inline-block;padding:8px 16px;border:1px solid transparent;border-radius:4px;font-size:14px;font-weight:400;line-height:1.5;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;transition:all .3s}.btn[data-v-39af2dcd]:hover{opacity:.9}.btn[data-v-39af2dcd]:active{opacity:1}.btn[data-v-39af2dcd]:disabled{cursor:not-allowed;opacity:.6}.btn-primary[data-v-39af2dcd]{color:#fff;background-color:#409eff;border-color:#409eff}.btn-primary[data-v-39af2dcd]:hover{background-color:#0d84ff;border-color:#0d84ff}.btn-success[data-v-39af2dcd]{color:#fff;background-color:#67c23a;border-color:#67c23a}.btn-success[data-v-39af2dcd]:hover{background-color:#529b2e;border-color:#529b2e}.btn-warning[data-v-39af2dcd]{color:#fff;background-color:#e6a23c;border-color:#e6a23c}.btn-warning[data-v-39af2dcd]:hover{background-color:#d48a1b;border-color:#d48a1b}.btn-danger[data-v-39af2dcd]{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.btn-danger[data-v-39af2dcd]:hover{background-color:#f23c3c;border-color:#f23c3c}.btn-info[data-v-39af2dcd]{color:#fff;background-color:#909399;border-color:#909399}.btn-info[data-v-39af2dcd]:hover{background-color:#767980;border-color:#767980}.btn-secondary[data-v-39af2dcd]{color:#606266;background-color:#fff;border-color:#dcdfe6}.btn-secondary[data-v-39af2dcd]:hover{color:#409eff;border-color:#409eff}.btn-small[data-v-39af2dcd]{padding:4px 8px;font-size:12px}.btn-large[data-v-39af2dcd]{padding:12px 24px;font-size:16px}.card[data-v-39af2dcd]{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:box-shadow .3s}.card[data-v-39af2dcd]:hover{box-shadow:0 4px 12px #00000026}.card-header[data-v-39af2dcd]{padding:16px;border-bottom:1px solid rgba(0,0,0,.125)}.card-header-title[data-v-39af2dcd]{margin:0;font-size:16px;font-weight:600}.card-body[data-v-39af2dcd]{flex:1 1 auto;padding:16px}.card-footer[data-v-39af2dcd]{padding:16px;border-top:1px solid rgba(0,0,0,.125)}.modal.show[data-v-39af2dcd]{display:flex;justify-content:center;align-items:center}.modal-dialog[data-v-39af2dcd]{position:relative;width:auto;margin:10px;pointer-events:none}@media(min-width:576px){.modal-dialog[data-v-39af2dcd]{max-width:500px;margin:1.75rem auto}}.modal-content[data-v-39af2dcd]{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:8px;outline:0;box-shadow:0 6px 20px #0003}.modal-header[data-v-39af2dcd]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #dee2e6;border-top-left-radius:7px;border-top-right-radius:7px}.modal-header-title[data-v-39af2dcd]{margin:0;font-size:16px;font-weight:600}.modal-header-close[data-v-39af2dcd]{padding:0;background-color:transparent;border:0;cursor:pointer;font-size:1.5rem;line-height:1;color:#6c757d;opacity:.5}.modal-header-close[data-v-39af2dcd]:hover{opacity:1}.modal-body[data-v-39af2dcd]{position:relative;flex:1 1 auto;padding:16px}.modal-footer[data-v-39af2dcd]{display:flex;justify-content:flex-end;align-items:center;padding:16px;border-top:1px solid #dee2e6;border-bottom-left-radius:7px;border-bottom-right-radius:7px}.modal[data-v-39af2dcd]{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0;background-color:#00000080}.modal-show[data-v-39af2dcd]{display:flex;justify-content:center;align-items:center}.modal-dialog[data-v-39af2dcd]{position:relative;display:flex;justify-content:center;align-items:center;width:100%;max-width:90vw;pointer-events:none}.modal-content[data-v-39af2dcd]{position:relative;display:flex;flex-direction:column;width:500px;max-width:100%;max-height:90vh;pointer-events:auto;background-color:var(--ld-card-bg, #fff);background-clip:padding-box;border:1px solid var(--ld-border-color, rgba(0, 0, 0, .2));border-radius:8px;outline:0;box-shadow:var(--ld-card-shadow, 0 6px 20px rgba(0, 0, 0, .2));overflow:hidden}.modal-header[data-v-39af2dcd]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--ld-border-color-light, #dee2e6);border-top-left-radius:7px;border-top-right-radius:7px;background-color:var(--ld-card-bg, #fff)}.modal-header-title[data-v-39af2dcd]{margin:0;font-size:16px;font-weight:600;color:var(--ld-text-primary, #303133)}.modal-header-close[data-v-39af2dcd]{padding:0;background-color:transparent;border:0;cursor:pointer;font-size:1.5rem;line-height:1;color:var(--ld-text-secondary, #6c757d);opacity:.5;transition:all .2s}.modal-header-close[data-v-39af2dcd]:hover{opacity:1;color:var(--ld-text-primary, #303133)}.modal-body[data-v-39af2dcd]{position:relative;flex:1 1 auto;padding:16px;color:var(--ld-text-regular, #606266);background-color:var(--ld-card-bg, #fff)}.modal-footer[data-v-39af2dcd]{display:flex;justify-content:flex-end;align-items:center;padding:16px;border-top:1px solid var(--ld-border-color-light, #dee2e6);border-bottom-left-radius:7px;border-bottom-right-radius:7px;background-color:var(--ld-card-bg, #fff)}.modal-footer[data-v-39af2dcd]>*+*{margin-left:8px}.message-enter-active[data-v-d727fd6c]{animation:message-in-d727fd6c .3s cubic-bezier(.34,1.56,.64,1)}.message-leave-active[data-v-d727fd6c]{animation:message-out-d727fd6c .2s ease-in forwards}.message-move[data-v-d727fd6c]{transition:transform .3s ease}@keyframes message-in-d727fd6c{0%{opacity:0;transform:translateY(-20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes message-out-d727fd6c{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.95)}}.button[data-v-7124b716]{width:fit-content;display:flex;padding:1.2em 1rem;cursor:pointer;gap:.4rem;font-weight:700;border-radius:30px;text-shadow:2px 2px 3px rgb(136 0 136 / 50%);background:linear-gradient(15deg,#808,#aa2068,#cc3f47,#de6f3d,#f09f33,#de6f3d,#cc3f47,#aa2068,#808) no-repeat;background-size:300%;color:#fff;border:none;background-position:left center;box-shadow:0 30px 10px -20px #0003;transition:background .3s ease}.button[data-v-7124b716]:hover{background-size:320%;background-position:right center}.button:hover svg[data-v-7124b716]{fill:#fff}.button svg[data-v-7124b716]{width:23px;fill:#f09f33;transition:.3s ease}.loader-wrapper[data-v-f22456dd]{position:relative;display:flex;align-items:center;justify-content:center;height:120px;width:auto;margin:2rem;font-family:Poppins,sans-serif;font-size:1.6em;font-weight:600;-webkit-user-select:none;user-select:none;color:#fff;scale:2}.loader[data-v-f22456dd]{position:absolute;top:0;left:0;height:100%;width:100%;z-index:1;background-color:transparent;-webkit-mask:repeating-linear-gradient(90deg,transparent 0,transparent 6px,black 7px,black 8px);mask:repeating-linear-gradient(90deg,transparent 0,transparent 6px,black 7px,black 8px)}.loader[data-v-f22456dd]:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 50% 50%,#ff0 0%,transparent 50%),radial-gradient(circle at 45% 45%,#f00 0%,transparent 45%),radial-gradient(circle at 55% 55%,#0ff 0%,transparent 45%),radial-gradient(circle at 45% 55%,#0f0 0%,transparent 45%),radial-gradient(circle at 55% 45%,#00f 0%,transparent 45%);-webkit-mask:radial-gradient(circle at 50% 50%,transparent 0%,transparent 10%,black 25%);mask:radial-gradient(circle at 50% 50%,transparent 0%,transparent 10%,black 25%);animation:transform-animation-f22456dd 2s infinite alternate,opacity-animation-f22456dd 4s infinite;animation-timing-function:cubic-bezier(.6,.8,.5,1)}@keyframes transform-animation-f22456dd{0%{transform:translate(-55%)}to{transform:translate(55%)}}@keyframes opacity-animation-f22456dd{0%,to{opacity:0}15%{opacity:1}65%{opacity:0}}.loader-letter[data-v-f22456dd]{display:inline-block;opacity:0;animation:loader-letter-anim-f22456dd 4s infinite linear;z-index:2}.loader-letter[data-v-f22456dd]:nth-child(1){animation-delay:.1s}.loader-letter[data-v-f22456dd]:nth-child(2){animation-delay:.205s}.loader-letter[data-v-f22456dd]:nth-child(3){animation-delay:.31s}.loader-letter[data-v-f22456dd]:nth-child(4){animation-delay:.415s}.loader-letter[data-v-f22456dd]:nth-child(5){animation-delay:.521s}.loader-letter[data-v-f22456dd]:nth-child(6){animation-delay:.626s}.loader-letter[data-v-f22456dd]:nth-child(7){animation-delay:.731s}.loader-letter[data-v-f22456dd]:nth-child(8){animation-delay:.837s}.loader-letter[data-v-f22456dd]:nth-child(9){animation-delay:.942s}.loader-letter[data-v-f22456dd]:nth-child(10){animation-delay:1.047s}@keyframes loader-letter-anim-f22456dd{0%{opacity:0}5%{opacity:1;text-shadow:0 0 4px #fff;transform:scale(1.1) translateY(-2px)}20%{opacity:.2}to{opacity:0}}.theme[data-v-0b85d094]{display:flex;align-items:center;-webkit-tap-highlight-color:transparent}.theme__fill[data-v-0b85d094],.theme__icon[data-v-0b85d094]{transition:.3s}.theme__fill[data-v-0b85d094]{background-color:var(--bg);display:block;mix-blend-mode:difference;position:fixed;inset:0;height:100%;transform:translate(-100%)}.theme__icon[data-v-0b85d094],.theme__toggle[data-v-0b85d094]{z-index:1}.theme__icon[data-v-0b85d094],.theme__icon-part[data-v-0b85d094]{position:absolute}.theme__icon[data-v-0b85d094]{display:block;top:.5em;left:.5em;width:1.5em;height:1.5em}.theme__icon-part[data-v-0b85d094]{border-radius:50%;box-shadow:.4em -.4em 0 .5em #fff inset;top:calc(50% - .5em);left:calc(50% - .5em);width:1em;height:1em;transition:box-shadow var(--transDur) ease-in-out,opacity var(--transDur) ease-in-out,transform var(--transDur) ease-in-out;transform:scale(.5)}.theme__icon-part~.theme__icon-part[data-v-0b85d094]{background-color:#fff;border-radius:.05em;top:50%;left:calc(50% - .05em);transform:rotate(0) translateY(.5em);transform-origin:50% 0;width:.1em;height:.2em}.theme__icon-part[data-v-0b85d094]:nth-child(3){transform:rotate(45deg) translateY(.45em)}.theme__icon-part[data-v-0b85d094]:nth-child(4){transform:rotate(90deg) translateY(.45em)}.theme__icon-part[data-v-0b85d094]:nth-child(5){transform:rotate(135deg) translateY(.45em)}.theme__icon-part[data-v-0b85d094]:nth-child(6){transform:rotate(180deg) translateY(.45em)}.theme__icon-part[data-v-0b85d094]:nth-child(7){transform:rotate(225deg) translateY(.45em)}.theme__icon-part[data-v-0b85d094]:nth-child(8){transform:rotate(270deg) translateY(.5em)}.theme__icon-part[data-v-0b85d094]:nth-child(9){transform:rotate(315deg) translateY(.5em)}.theme__label[data-v-0b85d094],.theme__toggle[data-v-0b85d094],.theme__toggle-wrap[data-v-0b85d094]{position:relative}.theme__toggle[data-v-0b85d094],.theme__toggle[data-v-0b85d094]:before{display:block}.theme__toggle[data-v-0b85d094]{background-color:#fbedb6;border-radius:25%/50%;box-shadow:0 0 0 .125em var(--primaryT);padding:.25em;width:6em;height:3em;-webkit-appearance:none;appearance:none;transition:background-color var(--transDur) ease-in-out,box-shadow .15s ease-in-out,transform var(--transDur) ease-in-out}.theme__toggle[data-v-0b85d094]:before{background-color:#f4ca25;border-radius:50%;content:"";width:2.5em;height:2.5em;transition:.3s}.theme__toggle[data-v-0b85d094]:focus{box-shadow:0 0 0 .125em var(--primary);outline:transparent}.theme__toggle[data-v-0b85d094]:checked{background-color:#043449}.theme__toggle[data-v-0b85d094]:checked:before,.theme__toggle:checked~.theme__icon[data-v-0b85d094]{transform:translate(3em)}.theme__toggle[data-v-0b85d094]:checked:before{background-color:#25b6f4}.theme__toggle:checked~.theme__fill[data-v-0b85d094]{transform:translate(0)}.theme__toggle:checked~.theme__icon .theme__icon-part[data-v-0b85d094]:nth-child(1){box-shadow:.2em -.2em 0 .2em #fff inset;transform:scale(1);top:.2em;left:-.2em}.theme__toggle:checked~.theme__icon .theme__icon-part~.theme__icon-part[data-v-0b85d094]{opacity:0}.theme__toggle:checked~.theme__icon .theme__icon-part[data-v-0b85d094]:nth-child(2){transform:rotate(45deg) translateY(.8em)}.theme__toggle:checked~.theme__icon .theme__icon-part[data-v-0b85d094]:nth-child(3){transform:rotate(90deg) translateY(.8em)}.theme__toggle:checked~.theme__icon .theme__icon-part[data-v-0b85d094]:nth-child(4){transform:rotate(135deg) translateY(.8em)}.theme__toggle:checked~.theme__icon .theme__icon-part[data-v-0b85d094]:nth-child(5){transform:rotate(180deg) translateY(.8em)}.theme__toggle:checked~.theme__icon .theme__icon-part[data-v-0b85d094]:nth-child(6){transform:rotate(225deg) translateY(.8em)}.theme__toggle:checked~.theme__icon .theme__icon-part[data-v-0b85d094]:nth-child(7){transform:rotate(270deg) translateY(.8em)}.theme__toggle:checked~.theme__icon .theme__icon-part[data-v-0b85d094]:nth-child(8){transform:rotate(315deg) translateY(.8em)}.theme__toggle:checked~.theme__icon .theme__icon-part[data-v-0b85d094]:nth-child(9){transform:rotate(360deg) translateY(.8em)}.theme__toggle-wrap[data-v-0b85d094]{margin:0 .75em}@supports selector(:focus-visible){.theme__toggle[data-v-0b85d094]:focus{box-shadow:0 0 0 .125em var(--primaryT)}.theme__toggle[data-v-0b85d094]:focus-visible{box-shadow:0 0 0 .125em var(--primary)}}
1
+ [data-v-75f082b2]{margin:0;padding:0;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}[data-v-75f082b2]::-webkit-scrollbar{display:none}body[data-v-75f082b2]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;color:#303133;background-color:#f5f7fa}.btn[data-v-75f082b2]:hover{opacity:.9}.btn[data-v-75f082b2]:active{opacity:1}.btn[data-v-75f082b2]:disabled{cursor:not-allowed;opacity:.6}.btn-primary[data-v-75f082b2]:hover{background-color:#0d84ff;border-color:#0d84ff}.btn-success[data-v-75f082b2]:hover{background-color:#529b2e;border-color:#529b2e}.btn-warning[data-v-75f082b2]:hover{background-color:#d48a1b;border-color:#d48a1b}.btn-danger[data-v-75f082b2]:hover{background-color:#f23c3c;border-color:#f23c3c}.btn-info[data-v-75f082b2]:hover{background-color:#767980;border-color:#767980}.btn-secondary[data-v-75f082b2]:hover{color:#409eff;border-color:#409eff}.card[data-v-75f082b2]{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:box-shadow .3s}.card[data-v-75f082b2]:hover{box-shadow:0 4px 12px #00000026}.card-header[data-v-75f082b2]{padding:16px;border-bottom:1px solid rgba(0,0,0,.125)}.card-header-title[data-v-75f082b2]{margin:0;font-size:16px;font-weight:600}.card-body[data-v-75f082b2]{flex:1 1 auto;padding:16px}.card-footer[data-v-75f082b2]{padding:16px;border-top:1px solid rgba(0,0,0,.125)}.modal[data-v-75f082b2]{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0;background-color:#00000080}.modal.show[data-v-75f082b2]{display:flex;justify-content:center;align-items:center}.modal-dialog[data-v-75f082b2]{position:relative;width:auto;margin:10px;pointer-events:none}@media(min-width:576px){.modal-dialog[data-v-75f082b2]{max-width:500px;margin:1.75rem auto}}.modal-content[data-v-75f082b2]{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:8px;outline:0;box-shadow:0 6px 20px #0003}.modal-header[data-v-75f082b2]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #dee2e6;border-top-left-radius:7px;border-top-right-radius:7px}.modal-header-title[data-v-75f082b2]{margin:0;font-size:16px;font-weight:600}.modal-header-close[data-v-75f082b2]{padding:0;background-color:transparent;border:0;cursor:pointer;font-size:1.5rem;line-height:1;color:#6c757d;opacity:.5}.modal-header-close[data-v-75f082b2]:hover{opacity:1}.modal-body[data-v-75f082b2]{position:relative;flex:1 1 auto;padding:16px}.modal-footer[data-v-75f082b2]{display:flex;justify-content:flex-end;align-items:center;padding:16px;border-top:1px solid #dee2e6;border-bottom-left-radius:7px;border-bottom-right-radius:7px}.modal-footer[data-v-75f082b2]>*+*{margin-left:8px}.btn[data-v-75f082b2]{display:inline-block;padding:8px 16px;border:1px solid transparent;border-radius:4px;font-size:14px;font-weight:400;line-height:1.5;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;transition:all .3s}.btn[data-v-75f082b2]:hover:not(.btn-disabled){opacity:.9}.btn[data-v-75f082b2]:active:not(.btn-disabled){opacity:1}.btn.btn-disabled[data-v-75f082b2]{cursor:not-allowed;opacity:.6}.btn-primary[data-v-75f082b2]{color:#fff;background-color:#409eff;border-color:#409eff}.btn-primary[data-v-75f082b2]:hover:not(.btn-disabled){background-color:#0d84ff;border-color:#0d84ff}.btn-success[data-v-75f082b2]{color:#fff;background-color:#67c23a;border-color:#67c23a}.btn-success[data-v-75f082b2]:hover:not(.btn-disabled){background-color:#529b2e;border-color:#529b2e}.btn-warning[data-v-75f082b2]{color:#fff;background-color:#e6a23c;border-color:#e6a23c}.btn-warning[data-v-75f082b2]:hover:not(.btn-disabled){background-color:#d48a1b;border-color:#d48a1b}.btn-danger[data-v-75f082b2]{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.btn-danger[data-v-75f082b2]:hover:not(.btn-disabled){background-color:#f23c3c;border-color:#f23c3c}.btn-info[data-v-75f082b2]{color:#fff;background-color:#909399;border-color:#909399}.btn-info[data-v-75f082b2]:hover:not(.btn-disabled){background-color:#767980;border-color:#767980}.btn-secondary[data-v-75f082b2]{color:#606266;background-color:#fff;border-color:#dcdfe6}.btn-secondary[data-v-75f082b2]:hover:not(.btn-disabled){color:#409eff;border-color:#409eff}.btn-small[data-v-75f082b2]{padding:4px 8px;font-size:12px}.btn-medium[data-v-75f082b2]{padding:8px 16px;font-size:14px}.btn-large[data-v-75f082b2]{padding:12px 24px;font-size:16px}.btn-block[data-v-75f082b2]{display:block;width:100%}[data-v-1e2b2467]{margin:0;padding:0;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}[data-v-1e2b2467]::-webkit-scrollbar{display:none}body[data-v-1e2b2467]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;color:#303133;background-color:#f5f7fa}.btn[data-v-1e2b2467]{display:inline-block;padding:8px 16px;border:1px solid transparent;border-radius:4px;font-size:14px;font-weight:400;line-height:1.5;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;transition:all .3s}.btn[data-v-1e2b2467]:hover{opacity:.9}.btn[data-v-1e2b2467]:active{opacity:1}.btn[data-v-1e2b2467]:disabled{cursor:not-allowed;opacity:.6}.btn-primary[data-v-1e2b2467]{color:#fff;background-color:#409eff;border-color:#409eff}.btn-primary[data-v-1e2b2467]:hover{background-color:#0d84ff;border-color:#0d84ff}.btn-success[data-v-1e2b2467]{color:#fff;background-color:#67c23a;border-color:#67c23a}.btn-success[data-v-1e2b2467]:hover{background-color:#529b2e;border-color:#529b2e}.btn-warning[data-v-1e2b2467]{color:#fff;background-color:#e6a23c;border-color:#e6a23c}.btn-warning[data-v-1e2b2467]:hover{background-color:#d48a1b;border-color:#d48a1b}.btn-danger[data-v-1e2b2467]{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.btn-danger[data-v-1e2b2467]:hover{background-color:#f23c3c;border-color:#f23c3c}.btn-info[data-v-1e2b2467]{color:#fff;background-color:#909399;border-color:#909399}.btn-info[data-v-1e2b2467]:hover{background-color:#767980;border-color:#767980}.btn-secondary[data-v-1e2b2467]{color:#606266;background-color:#fff;border-color:#dcdfe6}.btn-secondary[data-v-1e2b2467]:hover{color:#409eff;border-color:#409eff}.btn-small[data-v-1e2b2467]{padding:4px 8px;font-size:12px}.btn-large[data-v-1e2b2467]{padding:12px 24px;font-size:16px}.card[data-v-1e2b2467]{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:box-shadow .3s}.card[data-v-1e2b2467]:hover{box-shadow:0 4px 12px #00000026}.card-header[data-v-1e2b2467]{padding:16px;border-bottom:1px solid rgba(0,0,0,.125)}.card-header-title[data-v-1e2b2467]{margin:0;font-size:16px;font-weight:600}.card-body[data-v-1e2b2467]{flex:1 1 auto;padding:16px}.card-footer[data-v-1e2b2467]{padding:16px;border-top:1px solid rgba(0,0,0,.125)}.modal[data-v-1e2b2467]{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0;background-color:#00000080}.modal.show[data-v-1e2b2467]{display:flex;justify-content:center;align-items:center}.modal-dialog[data-v-1e2b2467]{position:relative;width:auto;margin:10px;pointer-events:none}@media(min-width:576px){.modal-dialog[data-v-1e2b2467]{max-width:500px;margin:1.75rem auto}}.modal-content[data-v-1e2b2467]{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:8px;outline:0;box-shadow:0 6px 20px #0003}.modal-header[data-v-1e2b2467]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #dee2e6;border-top-left-radius:7px;border-top-right-radius:7px}.modal-header-title[data-v-1e2b2467]{margin:0;font-size:16px;font-weight:600}.modal-header-close[data-v-1e2b2467]{padding:0;background-color:transparent;border:0;cursor:pointer;font-size:1.5rem;line-height:1;color:#6c757d;opacity:.5}.modal-header-close[data-v-1e2b2467]:hover{opacity:1}.modal-body[data-v-1e2b2467]{position:relative;flex:1 1 auto;padding:16px}.modal-footer[data-v-1e2b2467]{display:flex;justify-content:flex-end;align-items:center;padding:16px;border-top:1px solid #dee2e6;border-bottom-left-radius:7px;border-bottom-right-radius:7px}.modal-footer[data-v-1e2b2467]>*+*{margin-left:8px}.card[data-v-1e2b2467]{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:var(--ld-card-bg, #fff);background-clip:border-box;border:1px solid var(--ld-border-color-light, rgba(0, 0, 0, .125));border-radius:8px;transition:box-shadow .3s,background-color .3s,border-color .3s}.card-shadow[data-v-1e2b2467]{box-shadow:var(--ld-card-shadow, 0 2px 4px rgba(0, 0, 0, .1))}.card-shadow[data-v-1e2b2467]:hover{box-shadow:0 4px 12px #00000026}.card-header[data-v-1e2b2467]{padding:16px;border-bottom:1px solid var(--ld-border-color-light, rgba(0, 0, 0, .125));display:flex;justify-content:space-between;align-items:center;background-color:var(--ld-card-bg, #fff)}.card-header-title[data-v-1e2b2467]{margin:0;font-size:16px;font-weight:600;color:var(--ld-text-primary, #303133)}.card-body[data-v-1e2b2467]{flex:1 1 auto;padding:16px;color:var(--ld-text-regular, #606266)}.card-footer[data-v-1e2b2467]{padding:16px;border-top:1px solid var(--ld-border-color-light, rgba(0, 0, 0, .125));background-color:var(--ld-bg-color-page, #fafafa);border-bottom-left-radius:7px;border-bottom-right-radius:7px}[data-v-39af2dcd]{margin:0;padding:0;box-sizing:border-box;scrollbar-width:none;-ms-overflow-style:none}[data-v-39af2dcd]::-webkit-scrollbar{display:none}body[data-v-39af2dcd]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;color:#303133;background-color:#f5f7fa}.btn[data-v-39af2dcd]{display:inline-block;padding:8px 16px;border:1px solid transparent;border-radius:4px;font-size:14px;font-weight:400;line-height:1.5;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;transition:all .3s}.btn[data-v-39af2dcd]:hover{opacity:.9}.btn[data-v-39af2dcd]:active{opacity:1}.btn[data-v-39af2dcd]:disabled{cursor:not-allowed;opacity:.6}.btn-primary[data-v-39af2dcd]{color:#fff;background-color:#409eff;border-color:#409eff}.btn-primary[data-v-39af2dcd]:hover{background-color:#0d84ff;border-color:#0d84ff}.btn-success[data-v-39af2dcd]{color:#fff;background-color:#67c23a;border-color:#67c23a}.btn-success[data-v-39af2dcd]:hover{background-color:#529b2e;border-color:#529b2e}.btn-warning[data-v-39af2dcd]{color:#fff;background-color:#e6a23c;border-color:#e6a23c}.btn-warning[data-v-39af2dcd]:hover{background-color:#d48a1b;border-color:#d48a1b}.btn-danger[data-v-39af2dcd]{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.btn-danger[data-v-39af2dcd]:hover{background-color:#f23c3c;border-color:#f23c3c}.btn-info[data-v-39af2dcd]{color:#fff;background-color:#909399;border-color:#909399}.btn-info[data-v-39af2dcd]:hover{background-color:#767980;border-color:#767980}.btn-secondary[data-v-39af2dcd]{color:#606266;background-color:#fff;border-color:#dcdfe6}.btn-secondary[data-v-39af2dcd]:hover{color:#409eff;border-color:#409eff}.btn-small[data-v-39af2dcd]{padding:4px 8px;font-size:12px}.btn-large[data-v-39af2dcd]{padding:12px 24px;font-size:16px}.card[data-v-39af2dcd]{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:8px;box-shadow:0 2px 4px #0000001a;transition:box-shadow .3s}.card[data-v-39af2dcd]:hover{box-shadow:0 4px 12px #00000026}.card-header[data-v-39af2dcd]{padding:16px;border-bottom:1px solid rgba(0,0,0,.125)}.card-header-title[data-v-39af2dcd]{margin:0;font-size:16px;font-weight:600}.card-body[data-v-39af2dcd]{flex:1 1 auto;padding:16px}.card-footer[data-v-39af2dcd]{padding:16px;border-top:1px solid rgba(0,0,0,.125)}.modal.show[data-v-39af2dcd]{display:flex;justify-content:center;align-items:center}.modal-dialog[data-v-39af2dcd]{position:relative;width:auto;margin:10px;pointer-events:none}@media(min-width:576px){.modal-dialog[data-v-39af2dcd]{max-width:500px;margin:1.75rem auto}}.modal-content[data-v-39af2dcd]{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:8px;outline:0;box-shadow:0 6px 20px #0003}.modal-header[data-v-39af2dcd]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #dee2e6;border-top-left-radius:7px;border-top-right-radius:7px}.modal-header-title[data-v-39af2dcd]{margin:0;font-size:16px;font-weight:600}.modal-header-close[data-v-39af2dcd]{padding:0;background-color:transparent;border:0;cursor:pointer;font-size:1.5rem;line-height:1;color:#6c757d;opacity:.5}.modal-header-close[data-v-39af2dcd]:hover{opacity:1}.modal-body[data-v-39af2dcd]{position:relative;flex:1 1 auto;padding:16px}.modal-footer[data-v-39af2dcd]{display:flex;justify-content:flex-end;align-items:center;padding:16px;border-top:1px solid #dee2e6;border-bottom-left-radius:7px;border-bottom-right-radius:7px}.modal[data-v-39af2dcd]{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0;background-color:#00000080}.modal-show[data-v-39af2dcd]{display:flex;justify-content:center;align-items:center}.modal-dialog[data-v-39af2dcd]{position:relative;display:flex;justify-content:center;align-items:center;width:100%;max-width:90vw;pointer-events:none}.modal-content[data-v-39af2dcd]{position:relative;display:flex;flex-direction:column;width:500px;max-width:100%;max-height:90vh;pointer-events:auto;background-color:var(--ld-card-bg, #fff);background-clip:padding-box;border:1px solid var(--ld-border-color, rgba(0, 0, 0, .2));border-radius:8px;outline:0;box-shadow:var(--ld-card-shadow, 0 6px 20px rgba(0, 0, 0, .2));overflow:hidden}.modal-header[data-v-39af2dcd]{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--ld-border-color-light, #dee2e6);border-top-left-radius:7px;border-top-right-radius:7px;background-color:var(--ld-card-bg, #fff)}.modal-header-title[data-v-39af2dcd]{margin:0;font-size:16px;font-weight:600;color:var(--ld-text-primary, #303133)}.modal-header-close[data-v-39af2dcd]{padding:0;background-color:transparent;border:0;cursor:pointer;font-size:1.5rem;line-height:1;color:var(--ld-text-secondary, #6c757d);opacity:.5;transition:all .2s}.modal-header-close[data-v-39af2dcd]:hover{opacity:1;color:var(--ld-text-primary, #303133)}.modal-body[data-v-39af2dcd]{position:relative;flex:1 1 auto;padding:16px;color:var(--ld-text-regular, #606266);background-color:var(--ld-card-bg, #fff)}.modal-footer[data-v-39af2dcd]{display:flex;justify-content:flex-end;align-items:center;padding:16px;border-top:1px solid var(--ld-border-color-light, #dee2e6);border-bottom-left-radius:7px;border-bottom-right-radius:7px;background-color:var(--ld-card-bg, #fff)}.modal-footer[data-v-39af2dcd]>*+*{margin-left:8px}.message-enter-active[data-v-d727fd6c]{animation:message-in-d727fd6c .3s cubic-bezier(.34,1.56,.64,1)}.message-leave-active[data-v-d727fd6c]{animation:message-out-d727fd6c .2s ease-in forwards}.message-move[data-v-d727fd6c]{transition:transform .3s ease}@keyframes message-in-d727fd6c{0%{opacity:0;transform:translateY(-20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes message-out-d727fd6c{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-10px) scale(.95)}}.button[data-v-7124b716]{width:fit-content;display:flex;padding:1.2em 1rem;cursor:pointer;gap:.4rem;font-weight:700;border-radius:30px;text-shadow:2px 2px 3px rgb(136 0 136 / 50%);background:linear-gradient(15deg,#808,#aa2068,#cc3f47,#de6f3d,#f09f33,#de6f3d,#cc3f47,#aa2068,#808) no-repeat;background-size:300%;color:#fff;border:none;background-position:left center;box-shadow:0 30px 10px -20px #0003;transition:background .3s ease}.button[data-v-7124b716]:hover{background-size:320%;background-position:right center}.button:hover svg[data-v-7124b716]{fill:#fff}.button svg[data-v-7124b716]{width:23px;fill:#f09f33;transition:.3s ease}.loader-wrapper[data-v-f22456dd]{position:relative;display:flex;align-items:center;justify-content:center;height:120px;width:auto;margin:2rem;font-family:Poppins,sans-serif;font-size:1.6em;font-weight:600;-webkit-user-select:none;user-select:none;color:#fff;scale:2}.loader[data-v-f22456dd]{position:absolute;top:0;left:0;height:100%;width:100%;z-index:1;background-color:transparent;-webkit-mask:repeating-linear-gradient(90deg,transparent 0,transparent 6px,black 7px,black 8px);mask:repeating-linear-gradient(90deg,transparent 0,transparent 6px,black 7px,black 8px)}.loader[data-v-f22456dd]:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(circle at 50% 50%,#ff0 0%,transparent 50%),radial-gradient(circle at 45% 45%,#f00 0%,transparent 45%),radial-gradient(circle at 55% 55%,#0ff 0%,transparent 45%),radial-gradient(circle at 45% 55%,#0f0 0%,transparent 45%),radial-gradient(circle at 55% 45%,#00f 0%,transparent 45%);-webkit-mask:radial-gradient(circle at 50% 50%,transparent 0%,transparent 10%,black 25%);mask:radial-gradient(circle at 50% 50%,transparent 0%,transparent 10%,black 25%);animation:transform-animation-f22456dd 2s infinite alternate,opacity-animation-f22456dd 4s infinite;animation-timing-function:cubic-bezier(.6,.8,.5,1)}@keyframes transform-animation-f22456dd{0%{transform:translate(-55%)}to{transform:translate(55%)}}@keyframes opacity-animation-f22456dd{0%,to{opacity:0}15%{opacity:1}65%{opacity:0}}.loader-letter[data-v-f22456dd]{display:inline-block;opacity:0;animation:loader-letter-anim-f22456dd 4s infinite linear;z-index:2}.loader-letter[data-v-f22456dd]:nth-child(1){animation-delay:.1s}.loader-letter[data-v-f22456dd]:nth-child(2){animation-delay:.205s}.loader-letter[data-v-f22456dd]:nth-child(3){animation-delay:.31s}.loader-letter[data-v-f22456dd]:nth-child(4){animation-delay:.415s}.loader-letter[data-v-f22456dd]:nth-child(5){animation-delay:.521s}.loader-letter[data-v-f22456dd]:nth-child(6){animation-delay:.626s}.loader-letter[data-v-f22456dd]:nth-child(7){animation-delay:.731s}.loader-letter[data-v-f22456dd]:nth-child(8){animation-delay:.837s}.loader-letter[data-v-f22456dd]:nth-child(9){animation-delay:.942s}.loader-letter[data-v-f22456dd]:nth-child(10){animation-delay:1.047s}@keyframes loader-letter-anim-f22456dd{0%{opacity:0}5%{opacity:1;text-shadow:0 0 4px #fff;transform:scale(1.1) translateY(-2px)}20%{opacity:.2}to{opacity:0}}.theme[data-v-e887d581]{display:flex;align-items:center;-webkit-tap-highlight-color:transparent}.theme__icon[data-v-e887d581]{transition:.3s}.theme__icon[data-v-e887d581],.theme__toggle[data-v-e887d581]{cursor:pointer;z-index:1}.theme__icon[data-v-e887d581],.theme__icon-part[data-v-e887d581]{position:absolute}.theme__icon[data-v-e887d581]{display:block;top:50%;left:.7em;transform:translateY(-50%);width:1.5em;height:1.5em}.theme__icon-part[data-v-e887d581]{border-radius:50%;box-shadow:.4em -.4em 0 .5em #fff inset;top:calc(50% - .5em);left:calc(50% - .5em);width:1em;height:1em;transition:box-shadow var(--transDur) ease-in-out,opacity var(--transDur) ease-in-out,transform var(--transDur) ease-in-out;transform:scale(.5)}.theme__icon-part~.theme__icon-part[data-v-e887d581]{background-color:#fff;border-radius:.05em;top:50%;left:calc(50% - .05em);transform:rotate(0) translateY(.5em);transform-origin:50% 0;width:.1em;height:.2em}.theme__icon-part[data-v-e887d581]:nth-child(3){transform:rotate(45deg) translateY(.45em)}.theme__icon-part[data-v-e887d581]:nth-child(4){transform:rotate(90deg) translateY(.45em)}.theme__icon-part[data-v-e887d581]:nth-child(5){transform:rotate(135deg) translateY(.45em)}.theme__icon-part[data-v-e887d581]:nth-child(6){transform:rotate(180deg) translateY(.45em)}.theme__icon-part[data-v-e887d581]:nth-child(7){transform:rotate(225deg) translateY(.45em)}.theme__icon-part[data-v-e887d581]:nth-child(8){transform:rotate(270deg) translateY(.5em)}.theme__icon-part[data-v-e887d581]:nth-child(9){transform:rotate(315deg) translateY(.5em)}.theme__label[data-v-e887d581],.theme__toggle[data-v-e887d581],.theme__toggle-wrap[data-v-e887d581]{position:relative}.theme__toggle[data-v-e887d581],.theme__toggle[data-v-e887d581]:before{display:block}.theme__toggle[data-v-e887d581]{background-color:#fbedb6;border-radius:25%/50%;box-shadow:0 0 0 .125em var(--primaryT);padding:.25em;width:6em;height:3em;-webkit-appearance:none;appearance:none;transition:background-color var(--transDur) ease-in-out,box-shadow .15s ease-in-out,transform var(--transDur) ease-in-out}.theme__toggle[data-v-e887d581]:before{background-color:#f4ca25;border-radius:50%;content:"";width:2.5em;height:2.5em;transition:.3s}.theme__toggle[data-v-e887d581]:focus{box-shadow:0 0 0 .125em var(--primary);outline:transparent}.theme__toggle[data-v-e887d581]:checked{background-color:#043449}.theme__toggle[data-v-e887d581]:checked:before{transform:translate(3em)}.theme__toggle:checked~.theme__icon[data-v-e887d581]{transform:translate(3em) translateY(-50%)}.theme__toggle[data-v-e887d581]:checked:before{background-color:#25b6f4}.theme__toggle:checked~.theme__icon .theme__icon-part[data-v-e887d581]:nth-child(1){box-shadow:.2em -.2em 0 .2em #fff inset;transform:scale(1);top:calc(50% - .5em);left:calc(50% - .5em)}.theme__toggle:checked~.theme__icon .theme__icon-part~.theme__icon-part[data-v-e887d581]{opacity:0}.theme__toggle:checked~.theme__icon .theme__icon-part[data-v-e887d581]:nth-child(2){transform:rotate(45deg) translateY(.8em)}.theme__toggle:checked~.theme__icon .theme__icon-part[data-v-e887d581]:nth-child(3){transform:rotate(90deg) translateY(.8em)}.theme__toggle:checked~.theme__icon .theme__icon-part[data-v-e887d581]:nth-child(4){transform:rotate(135deg) translateY(.8em)}.theme__toggle:checked~.theme__icon .theme__icon-part[data-v-e887d581]:nth-child(5){transform:rotate(180deg) translateY(.8em)}.theme__toggle:checked~.theme__icon .theme__icon-part[data-v-e887d581]:nth-child(6){transform:rotate(225deg) translateY(.8em)}.theme__toggle:checked~.theme__icon .theme__icon-part[data-v-e887d581]:nth-child(7){transform:rotate(270deg) translateY(.8em)}.theme__toggle:checked~.theme__icon .theme__icon-part[data-v-e887d581]:nth-child(8){transform:rotate(315deg) translateY(.8em)}.theme__toggle:checked~.theme__icon .theme__icon-part[data-v-e887d581]:nth-child(9){transform:rotate(360deg) translateY(.8em)}.theme__toggle-wrap[data-v-e887d581]{margin:0 .75em}@supports selector(:focus-visible){.theme__toggle[data-v-e887d581]:focus{box-shadow:0 0 0 .125em var(--primaryT)}.theme__toggle[data-v-e887d581]:focus-visible{box-shadow:0 0 0 .125em var(--primary)}}
@@ -1,10 +1,10 @@
1
- import { createElementBlock as l, openBlock as a, normalizeClass as y, renderSlot as u, createCommentVNode as m, createElementVNode as o, toDisplayString as w, normalizeStyle as M, ref as k, createBlock as $, Teleport as S, createVNode as L, TransitionGroup as I, withCtx as E, Fragment as T, renderList as V, createTextVNode as j, createStaticVNode as O } from "vue";
2
- const g = (e, t) => {
1
+ import { createElementBlock as p, openBlock as c, normalizeClass as w, renderSlot as f, createCommentVNode as h, createElementVNode as l, toDisplayString as _, normalizeStyle as S, ref as b, createBlock as L, Teleport as I, createVNode as E, TransitionGroup as V, withCtx as T, Fragment as j, renderList as O, createTextVNode as A, createStaticVNode as z, watch as D } from "vue";
2
+ const v = (e, t) => {
3
3
  const s = e.__vccOpts || e;
4
- for (const [i, d] of t)
5
- s[i] = d;
4
+ for (const [d, i] of t)
5
+ s[d] = i;
6
6
  return s;
7
- }, A = ["disabled"], N = {
7
+ }, N = ["disabled"], H = {
8
8
  __name: "Button",
9
9
  props: {
10
10
  // 按钮类型
@@ -32,29 +32,29 @@ const g = (e, t) => {
32
32
  },
33
33
  emits: ["click"],
34
34
  setup(e, { emit: t }) {
35
- return (s, i) => (a(), l("button", {
36
- class: y(["btn", [
35
+ return (s, d) => (c(), p("button", {
36
+ class: w(["btn", [
37
37
  `btn-${e.type}`,
38
38
  `btn-${e.size}`,
39
39
  { "btn-block": e.block },
40
40
  { "btn-disabled": e.disabled }
41
41
  ]]),
42
42
  disabled: e.disabled,
43
- onClick: i[0] || (i[0] = (d) => s.$emit("click", d))
43
+ onClick: d[0] || (d[0] = (i) => s.$emit("click", i))
44
44
  }, [
45
- u(s.$slots, "default", {}, void 0, !0)
46
- ], 10, A));
45
+ f(s.$slots, "default", {}, void 0, !0)
46
+ ], 10, N));
47
47
  }
48
- }, H = /* @__PURE__ */ g(N, [["__scopeId", "data-v-75f082b2"]]), F = {
48
+ }, F = /* @__PURE__ */ v(H, [["__scopeId", "data-v-75f082b2"]]), R = {
49
49
  key: 0,
50
50
  class: "card-header"
51
51
  }, Y = {
52
52
  key: 0,
53
53
  class: "card-header-title"
54
- }, D = { class: "card-body" }, G = {
54
+ }, G = { class: "card-body" }, P = {
55
55
  key: 1,
56
56
  class: "card-footer"
57
- }, R = {
57
+ }, U = {
58
58
  __name: "Card",
59
59
  props: {
60
60
  // 卡片标题
@@ -69,31 +69,31 @@ const g = (e, t) => {
69
69
  }
70
70
  },
71
71
  setup(e) {
72
- return (t, s) => (a(), l("div", {
73
- class: y(["card", { "card-shadow": e.shadow }])
72
+ return (t, s) => (c(), p("div", {
73
+ class: w(["card", { "card-shadow": e.shadow }])
74
74
  }, [
75
- t.$slots.header || e.title ? (a(), l("div", F, [
76
- e.title ? (a(), l("h3", Y, w(e.title), 1)) : m("", !0),
77
- u(t.$slots, "header", {}, void 0, !0)
78
- ])) : m("", !0),
79
- o("div", D, [
80
- u(t.$slots, "default", {}, void 0, !0)
75
+ t.$slots.header || e.title ? (c(), p("div", R, [
76
+ e.title ? (c(), p("h3", Y, _(e.title), 1)) : h("", !0),
77
+ f(t.$slots, "header", {}, void 0, !0)
78
+ ])) : h("", !0),
79
+ l("div", G, [
80
+ f(t.$slots, "default", {}, void 0, !0)
81
81
  ]),
82
- t.$slots.footer ? (a(), l("div", G, [
83
- u(t.$slots, "footer", {}, void 0, !0)
84
- ])) : m("", !0)
82
+ t.$slots.footer ? (c(), p("div", P, [
83
+ f(t.$slots, "footer", {}, void 0, !0)
84
+ ])) : h("", !0)
85
85
  ], 2));
86
86
  }
87
- }, U = /* @__PURE__ */ g(R, [["__scopeId", "data-v-2d83e63a"]]), W = { class: "modal-dialog" }, q = { class: "modal-header" }, P = {
87
+ }, W = /* @__PURE__ */ v(U, [["__scopeId", "data-v-1e2b2467"]]), q = { class: "modal-dialog" }, X = { class: "modal-header" }, J = {
88
88
  key: 0,
89
89
  class: "modal-header-title"
90
- }, X = { class: "modal-body" }, J = {
90
+ }, K = { class: "modal-body" }, Q = {
91
91
  key: 0,
92
92
  class: "modal-footer"
93
- }, K = {
93
+ }, Z = {
94
94
  key: 1,
95
95
  class: "modal-footer"
96
- }, Q = {
96
+ }, ee = {
97
97
  __name: "Modal",
98
98
  props: {
99
99
  // 是否显示模态框
@@ -118,59 +118,59 @@ const g = (e, t) => {
118
118
  },
119
119
  emits: ["close", "cancel", "confirm"],
120
120
  setup(e, { emit: t }) {
121
- const s = t, i = () => {
121
+ const s = t, d = () => {
122
122
  s("close");
123
- }, d = () => {
123
+ }, i = () => {
124
124
  s("cancel");
125
- }, f = () => {
125
+ }, m = () => {
126
126
  s("confirm");
127
127
  };
128
- return (c, h) => e.visible ? (a(), l("div", {
128
+ return (o, u) => e.visible ? (c(), p("div", {
129
129
  key: 0,
130
- class: y(["modal", { "modal-show": e.visible }])
130
+ class: w(["modal", { "modal-show": e.visible }])
131
131
  }, [
132
- o("div", W, [
133
- o("div", {
132
+ l("div", q, [
133
+ l("div", {
134
134
  class: "modal-content",
135
- style: M({ width: e.width })
135
+ style: S({ width: e.width })
136
136
  }, [
137
- o("div", q, [
138
- e.title ? (a(), l("h3", P, w(e.title), 1)) : m("", !0),
139
- o("button", {
137
+ l("div", X, [
138
+ e.title ? (c(), p("h3", J, _(e.title), 1)) : h("", !0),
139
+ l("button", {
140
140
  class: "modal-header-close",
141
- onClick: i
141
+ onClick: d
142
142
  }, "×")
143
143
  ]),
144
- o("div", X, [
145
- u(c.$slots, "default", {}, void 0, !0)
144
+ l("div", K, [
145
+ f(o.$slots, "default", {}, void 0, !0)
146
146
  ]),
147
- c.$slots.footer ? (a(), l("div", J, [
148
- u(c.$slots, "footer", {}, void 0, !0)
149
- ])) : e.showFooter ? (a(), l("div", K, [
150
- o("button", {
147
+ o.$slots.footer ? (c(), p("div", Q, [
148
+ f(o.$slots, "footer", {}, void 0, !0)
149
+ ])) : e.showFooter ? (c(), p("div", Z, [
150
+ l("button", {
151
151
  class: "btn btn-secondary",
152
- onClick: d
152
+ onClick: i
153
153
  }, "取消"),
154
- o("button", {
154
+ l("button", {
155
155
  class: "btn btn-primary",
156
- onClick: f
156
+ onClick: m
157
157
  }, "确定")
158
- ])) : m("", !0)
158
+ ])) : h("", !0)
159
159
  ], 4)
160
160
  ])
161
- ], 2)) : m("", !0);
161
+ ], 2)) : h("", !0);
162
162
  }
163
- }, Z = /* @__PURE__ */ g(Q, [["__scopeId", "data-v-39af2dcd"]]), ee = ["innerHTML"], te = { class: "text-sm font-medium" }, se = ["onClick"], oe = /* @__PURE__ */ Object.assign({
163
+ }, te = /* @__PURE__ */ v(ee, [["__scopeId", "data-v-39af2dcd"]]), se = ["innerHTML"], ae = { class: "text-sm font-medium" }, oe = ["onClick"], ne = /* @__PURE__ */ Object.assign({
164
164
  name: "Message"
165
165
  }, {
166
166
  __name: "Message",
167
167
  setup(e, { expose: t }) {
168
- const s = k([]), i = {
168
+ const s = b([]), d = {
169
169
  success: "bg-emerald-500/95 text-white",
170
170
  warning: "bg-amber-500/95 text-white",
171
171
  error: "bg-rose-500/95 text-white",
172
172
  info: "bg-sky-500/95 text-white"
173
- }, d = {
173
+ }, i = {
174
174
  success: `<svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5">
175
175
  <path d="M20 6L9 17l-5-5" stroke-linecap="round" stroke-linejoin="round"/>
176
176
  </svg>`,
@@ -185,77 +185,77 @@ const g = (e, t) => {
185
185
  <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"/>
186
186
  </svg>`
187
187
  };
188
- let f = 0;
189
- const c = (r) => {
190
- const n = ++f, p = {
191
- id: n,
188
+ let m = 0;
189
+ const o = (r) => {
190
+ const a = ++m, n = {
191
+ id: a,
192
192
  type: r.type || "info",
193
193
  content: r.content || "",
194
194
  duration: r.duration ?? 3e3,
195
195
  closable: r.closable ?? !1
196
196
  };
197
- return s.value.push(p), p.duration > 0 && setTimeout(() => {
198
- h(n);
199
- }, p.duration), n;
200
- }, h = (r) => {
201
- const n = s.value.findIndex((p) => p.id === r);
202
- n > -1 && s.value.splice(n, 1);
197
+ return s.value.push(n), n.duration > 0 && setTimeout(() => {
198
+ u(a);
199
+ }, n.duration), a;
200
+ }, u = (r) => {
201
+ const a = s.value.findIndex((n) => n.id === r);
202
+ a > -1 && s.value.splice(a, 1);
203
203
  };
204
204
  return t({
205
- addMessage: c,
206
- removeMessage: h,
205
+ addMessage: o,
206
+ removeMessage: u,
207
207
  clearAll: () => {
208
208
  s.value = [];
209
209
  },
210
210
  // Shorthand methods
211
- success: (r, n = {}) => c({ ...n, type: "success", content: r }),
212
- warning: (r, n = {}) => c({ ...n, type: "warning", content: r }),
213
- error: (r, n = {}) => c({ ...n, type: "error", content: r }),
214
- info: (r, n = {}) => c({ ...n, type: "info", content: r })
215
- }), (r, n) => (a(), $(S, { to: "body" }, [
216
- L(I, {
211
+ success: (r, a = {}) => o({ ...a, type: "success", content: r }),
212
+ warning: (r, a = {}) => o({ ...a, type: "warning", content: r }),
213
+ error: (r, a = {}) => o({ ...a, type: "error", content: r }),
214
+ info: (r, a = {}) => o({ ...a, type: "info", content: r })
215
+ }), (r, a) => (c(), L(I, { to: "body" }, [
216
+ E(V, {
217
217
  name: "message",
218
218
  tag: "div",
219
219
  class: "fixed top-4 left-1/2 -translate-x-1/2 z-[9999] flex flex-col items-center gap-3 pointer-events-none"
220
220
  }, {
221
- default: E(() => [
222
- (a(!0), l(T, null, V(s.value, (p) => (a(), l("div", {
223
- key: p.id,
224
- class: y(["pointer-events-auto flex items-center gap-3 px-5 py-3 rounded-lg shadow-lg backdrop-blur-sm transition-all duration-300", i[p.type]])
221
+ default: T(() => [
222
+ (c(!0), p(j, null, O(s.value, (n) => (c(), p("div", {
223
+ key: n.id,
224
+ class: w(["pointer-events-auto flex items-center gap-3 px-5 py-3 rounded-lg shadow-lg backdrop-blur-sm transition-all duration-300", d[n.type]])
225
225
  }, [
226
- o("span", {
226
+ l("span", {
227
227
  class: "flex-shrink-0",
228
- innerHTML: d[p.type]
229
- }, null, 8, ee),
230
- o("span", te, w(p.content), 1),
231
- p.closable ? (a(), l("button", {
228
+ innerHTML: i[n.type]
229
+ }, null, 8, se),
230
+ l("span", ae, _(n.content), 1),
231
+ n.closable ? (c(), p("button", {
232
232
  key: 0,
233
- onClick: (Me) => h(p.id),
233
+ onClick: (Ie) => u(n.id),
234
234
  class: "flex-shrink-0 ml-2 p-1 rounded-full hover:bg-black/10 transition-colors"
235
- }, [...n[0] || (n[0] = [
236
- o("svg", {
235
+ }, [...a[0] || (a[0] = [
236
+ l("svg", {
237
237
  class: "w-4 h-4",
238
238
  viewBox: "0 0 24 24",
239
239
  fill: "none",
240
240
  stroke: "currentColor",
241
241
  "stroke-width": "2"
242
242
  }, [
243
- o("path", { d: "M18 6L6 18M6 6l12 12" })
243
+ l("path", { d: "M18 6L6 18M6 6l12 12" })
244
244
  ], -1)
245
- ])], 8, se)) : m("", !0)
245
+ ])], 8, oe)) : h("", !0)
246
246
  ], 2))), 128))
247
247
  ]),
248
248
  _: 1
249
249
  })
250
250
  ]));
251
251
  }
252
- }), ne = /* @__PURE__ */ g(oe, [["__scopeId", "data-v-d727fd6c"]]);
253
- k([]);
254
- let ae = 0;
255
- const re = (e) => {
256
- const t = ++ae, s = e.type || "info", i = e.content || "", d = e.duration ?? 3e3, f = e.closable ?? !1, c = document.createElement("div");
257
- c.className = `ld-message ld-message--${s}`, c.setAttribute("data-id", t);
258
- let b = `${{
252
+ }), le = /* @__PURE__ */ v(ne, [["__scopeId", "data-v-d727fd6c"]]);
253
+ b([]);
254
+ let re = 0;
255
+ const de = (e) => {
256
+ const t = ++re, s = e.type || "info", d = e.content || "", i = e.duration ?? 3e3, m = e.closable ?? !1, o = document.createElement("div");
257
+ o.className = `ld-message ld-message--${s}`, o.setAttribute("data-id", t);
258
+ let g = `${{
259
259
  success: `<svg class="ld-message-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5">
260
260
  <path d="M20 6L9 17l-5-5" stroke-linecap="round" stroke-linejoin="round"/>
261
261
  </svg>`,
@@ -269,13 +269,13 @@ const re = (e) => {
269
269
  info: `<svg class="ld-message-icon" viewBox="0 0 24 24" fill="currentColor">
270
270
  <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"/>
271
271
  </svg>`
272
- }[s]}<span class="ld-message-content">${i}</span>`;
273
- return f && (b += `<button class="ld-message-close" onclick="window.__ldMessageClose(${t})">
272
+ }[s]}<span class="ld-message-content">${d}</span>`;
273
+ return m && (g += `<button class="ld-message-close" onclick="window.__ldMessageClose(${t})">
274
274
  <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
275
275
  <path d="M18 6L6 18M6 6l12 12"/>
276
276
  </svg>
277
- </button>`), c.innerHTML = b, { id: t, element: c, duration: d };
278
- }, le = () => {
277
+ </button>`), o.innerHTML = g, { id: t, element: o, duration: i };
278
+ }, ce = () => {
279
279
  let e = document.getElementById("ld-message-root");
280
280
  if (!e) {
281
281
  e = document.createElement("div"), e.id = "ld-message-root", document.body.appendChild(e);
@@ -344,7 +344,7 @@ const re = (e) => {
344
344
  `, document.head.appendChild(t);
345
345
  }
346
346
  return e;
347
- }, _ = (e) => {
347
+ }, k = (e) => {
348
348
  const t = document.getElementById("ld-message-root");
349
349
  if (!t) return;
350
350
  const s = t.querySelector(`[data-id="${e}"]`);
@@ -352,90 +352,107 @@ const re = (e) => {
352
352
  s.remove();
353
353
  }, 200));
354
354
  };
355
- typeof window < "u" && (window.__ldMessageClose = _);
356
- const v = (e) => {
357
- const t = le(), { id: s, element: i, duration: d } = re(e);
358
- return t.appendChild(i), d > 0 && setTimeout(() => {
359
- _(s);
360
- }, d), s;
361
- }, Se = {
362
- success: (e, t = {}) => v({ ...t, type: "success", content: e }),
363
- warning: (e, t = {}) => v({ ...t, type: "warning", content: e }),
364
- error: (e, t = {}) => v({ ...t, type: "error", content: e }),
365
- info: (e, t = {}) => v({ ...t, type: "info", content: e }),
366
- close: _,
355
+ typeof window < "u" && (window.__ldMessageClose = k);
356
+ const y = (e) => {
357
+ const t = ce(), { id: s, element: d, duration: i } = de(e);
358
+ return t.appendChild(d), i > 0 && setTimeout(() => {
359
+ k(s);
360
+ }, i), s;
361
+ }, B = {
362
+ success: (e, t = {}) => y({ ...t, type: "success", content: e }),
363
+ warning: (e, t = {}) => y({ ...t, type: "warning", content: e }),
364
+ error: (e, t = {}) => y({ ...t, type: "error", content: e }),
365
+ info: (e, t = {}) => y({ ...t, type: "info", content: e }),
366
+ close: k,
367
367
  closeAll: () => {
368
368
  const e = document.getElementById("ld-message-root");
369
369
  e && (e.innerHTML = "");
370
370
  }
371
- }, ie = { class: "lzbutton-wrapper" }, ce = { class: "button" }, de = /* @__PURE__ */ Object.assign({
371
+ }, ie = { class: "lzbutton-wrapper" }, pe = { class: "button" }, ue = /* @__PURE__ */ Object.assign({
372
372
  name: "Lzbutton"
373
373
  }, {
374
374
  __name: "lzbutton",
375
375
  setup(e) {
376
- return (t, s) => (a(), l("div", ie, [
377
- o("button", ce, [
378
- s[1] || (s[1] = o("svg", {
376
+ return (t, s) => (c(), p("div", ie, [
377
+ l("button", pe, [
378
+ s[1] || (s[1] = l("svg", {
379
379
  xmlns: "http://www.w3.org/2000/svg",
380
380
  viewBox: "0 0 36 24"
381
381
  }, [
382
- o("path", { d: "m18 0 8 12 10-8-4 20H4L0 4l10 8 8-12z" })
382
+ l("path", { d: "m18 0 8 12 10-8-4 20H4L0 4l10 8 8-12z" })
383
383
  ], -1)),
384
- u(t.$slots, "default", {}, () => [
385
- s[0] || (s[0] = j("Unlock Pro", -1))
384
+ f(t.$slots, "default", {}, () => [
385
+ s[0] || (s[0] = A("Unlock Pro", -1))
386
386
  ], !0)
387
387
  ])
388
388
  ]));
389
389
  }
390
- }), pe = /* @__PURE__ */ g(de, [["__scopeId", "data-v-7124b716"]]), ue = { class: "Lztext-wrapper" }, me = /* @__PURE__ */ Object.assign({
390
+ }), me = /* @__PURE__ */ v(ue, [["__scopeId", "data-v-7124b716"]]), ge = { class: "Lztext-wrapper" }, fe = /* @__PURE__ */ Object.assign({
391
391
  name: "Lztext"
392
392
  }, {
393
393
  __name: "Lztext",
394
394
  setup(e) {
395
- return (t, s) => (a(), l("div", ue, [...s[0] || (s[0] = [
396
- O('<div class="loader-wrapper" data-v-f22456dd><span class="loader-letter" data-v-f22456dd>G</span><span class="loader-letter" data-v-f22456dd>e</span><span class="loader-letter" data-v-f22456dd>n</span><span class="loader-letter" data-v-f22456dd>e</span><span class="loader-letter" data-v-f22456dd>r</span><span class="loader-letter" data-v-f22456dd>a</span><span class="loader-letter" data-v-f22456dd>t</span><span class="loader-letter" data-v-f22456dd>i</span><span class="loader-letter" data-v-f22456dd>n</span><span class="loader-letter" data-v-f22456dd>g</span><div class="loader" data-v-f22456dd></div></div>', 1)
395
+ return (t, s) => (c(), p("div", ge, [...s[0] || (s[0] = [
396
+ z('<div class="loader-wrapper" data-v-f22456dd><span class="loader-letter" data-v-f22456dd>G</span><span class="loader-letter" data-v-f22456dd>e</span><span class="loader-letter" data-v-f22456dd>n</span><span class="loader-letter" data-v-f22456dd>e</span><span class="loader-letter" data-v-f22456dd>r</span><span class="loader-letter" data-v-f22456dd>a</span><span class="loader-letter" data-v-f22456dd>t</span><span class="loader-letter" data-v-f22456dd>i</span><span class="loader-letter" data-v-f22456dd>n</span><span class="loader-letter" data-v-f22456dd>g</span><div class="loader" data-v-f22456dd></div></div>', 1)
397
397
  ])]));
398
398
  }
399
- }), ge = /* @__PURE__ */ g(me, [["__scopeId", "data-v-f22456dd"]]), fe = { class: "lztheme-wrapper" }, he = /* @__PURE__ */ Object.assign({
399
+ }), he = /* @__PURE__ */ v(fe, [["__scopeId", "data-v-f22456dd"]]), ve = { class: "lztheme-wrapper" }, ye = { class: "theme__toggle-wrap" }, be = ["checked"], we = /* @__PURE__ */ Object.assign({
400
400
  name: "Lztheme"
401
401
  }, {
402
402
  __name: "lztheme",
403
- setup(e) {
404
- return (t, s) => (a(), l("div", fe, [...s[0] || (s[0] = [
405
- o("label", {
406
- for: "theme",
403
+ props: {
404
+ // 是否为暗色主题
405
+ modelValue: {
406
+ type: Boolean,
407
+ default: !1
408
+ }
409
+ },
410
+ emits: ["update:modelValue", "change"],
411
+ setup(e, { expose: t, emit: s }) {
412
+ let d = 0;
413
+ const i = `lztheme-toggle-${++d}-${Date.now()}`, m = e, o = s, u = b(null), g = b(m.modelValue);
414
+ D(() => m.modelValue, (a) => {
415
+ g.value = a;
416
+ });
417
+ const r = (a) => {
418
+ const n = a.target.checked;
419
+ g.value = n, o("update:modelValue", n), o("change", n);
420
+ };
421
+ return t({
422
+ toggle: () => {
423
+ u.value && u.value.click();
424
+ },
425
+ setDark: (a) => {
426
+ g.value = a, o("update:modelValue", a), o("change", a);
427
+ }
428
+ }), (a, n) => (c(), p("div", ve, [
429
+ l("label", {
430
+ for: i,
407
431
  class: "theme"
408
432
  }, [
409
- o("span", { class: "theme__toggle-wrap" }, [
410
- o("input", {
411
- id: "theme",
433
+ l("span", ye, [
434
+ l("input", {
435
+ id: i,
436
+ ref_key: "toggleRef",
437
+ ref: u,
412
438
  class: "theme__toggle",
413
439
  type: "checkbox",
414
440
  role: "switch",
415
441
  name: "theme",
416
- value: "dark"
417
- }),
418
- o("span", { class: "theme__fill" }),
419
- o("span", { class: "theme__icon" }, [
420
- o("span", { class: "theme__icon-part" }),
421
- o("span", { class: "theme__icon-part" }),
422
- o("span", { class: "theme__icon-part" }),
423
- o("span", { class: "theme__icon-part" }),
424
- o("span", { class: "theme__icon-part" }),
425
- o("span", { class: "theme__icon-part" }),
426
- o("span", { class: "theme__icon-part" }),
427
- o("span", { class: "theme__icon-part" }),
428
- o("span", { class: "theme__icon-part" })
429
- ])
442
+ value: "dark",
443
+ checked: g.value,
444
+ onChange: r
445
+ }, null, 40, be),
446
+ n[0] || (n[0] = z('<span class="theme__icon" data-v-e887d581><span class="theme__icon-part" data-v-e887d581></span><span class="theme__icon-part" data-v-e887d581></span><span class="theme__icon-part" data-v-e887d581></span><span class="theme__icon-part" data-v-e887d581></span><span class="theme__icon-part" data-v-e887d581></span><span class="theme__icon-part" data-v-e887d581></span><span class="theme__icon-part" data-v-e887d581></span><span class="theme__icon-part" data-v-e887d581></span><span class="theme__icon-part" data-v-e887d581></span></span>', 1))
430
447
  ])
431
- ], -1)
432
- ])]));
448
+ ])
449
+ ]));
433
450
  }
434
- }), ve = /* @__PURE__ */ g(he, [["__scopeId", "data-v-0b85d094"]]), ye = {
435
- Lzbutton: pe,
436
- Lztext: ge,
437
- Lztheme: ve
438
- }, be = {
451
+ }), _e = /* @__PURE__ */ v(we, [["__scopeId", "data-v-e887d581"]]), ke = {
452
+ Lzbutton: me,
453
+ Lztext: he,
454
+ Lztheme: _e
455
+ }, xe = {
439
456
  name: "Button",
440
457
  type: "vue",
441
458
  label: "Button 按钮",
@@ -449,7 +466,7 @@ const v = (e) => {
449
466
  <script setup>
450
467
  import { Button } from 'little-dizzy'
451
468
  <\/script>`
452
- }, we = {
469
+ }, Be = {
453
470
  name: "Card",
454
471
  type: "vue",
455
472
  label: "Card 卡片",
@@ -469,7 +486,7 @@ import { Button } from 'little-dizzy'
469
486
  <script setup>
470
487
  import { Card, Button } from 'little-dizzy'
471
488
  <\/script>`
472
- }, _e = {
489
+ }, ze = {
473
490
  name: "Modal",
474
491
  type: "vue",
475
492
  label: "Modal 模态框",
@@ -494,7 +511,7 @@ import { Modal, Button } from 'little-dizzy'
494
511
 
495
512
  const visible = ref(false)
496
513
  <\/script>`
497
- }, xe = {
514
+ }, Ce = {
498
515
  name: "Message",
499
516
  type: "vue",
500
517
  label: "Message 消息提示",
@@ -534,13 +551,13 @@ const showInfo = () => {
534
551
  flex-wrap: wrap;
535
552
  }
536
553
  </style>`
537
- }, ke = [
538
- be,
539
- we,
540
- _e,
541
- xe
554
+ }, $e = [
555
+ xe,
556
+ Be,
557
+ ze,
558
+ Ce
542
559
  ], x = /* @__PURE__ */ new Map();
543
- function B(e) {
560
+ function C(e) {
544
561
  return !e || !e.name ? (console.warn("[LittleDizzy] Snippet must have a name property"), !1) : (x.set(e.name, {
545
562
  name: e.name,
546
563
  type: e.type || "html",
@@ -550,51 +567,51 @@ function B(e) {
550
567
  ...e
551
568
  }), !0);
552
569
  }
553
- function z(e) {
570
+ function $(e) {
554
571
  if (!Array.isArray(e))
555
572
  return console.warn("[LittleDizzy] registerSnippets expects an array"), 0;
556
573
  let t = 0;
557
574
  return e.forEach((s) => {
558
- B(s) && t++;
575
+ C(s) && t++;
559
576
  }), t;
560
577
  }
561
- function Be() {
578
+ function Me() {
562
579
  const e = {};
563
580
  return x.forEach((t, s) => {
564
581
  e[s] = t;
565
582
  }), e;
566
583
  }
567
- function ze(e) {
584
+ function Se(e) {
568
585
  return x.get(e);
569
586
  }
570
- z(ke);
571
- const C = {
572
- Button: H,
573
- Card: U,
574
- Modal: Z,
575
- Message: ne,
576
- ...ye
577
- }, Ce = (e, t = {}) => {
578
- Object.entries(C).forEach(([s, i]) => {
579
- e.component(t.prefix ? `${t.prefix}${s}` : s, i);
580
- });
581
- }, Le = Be, Ie = B, Ee = z, Te = ze, Ve = {
582
- install: Ce,
583
- ...C
587
+ $($e);
588
+ const M = {
589
+ Button: F,
590
+ Card: W,
591
+ Modal: te,
592
+ Message: le,
593
+ ...ke
594
+ }, Le = (e, t = {}) => {
595
+ Object.entries(M).forEach(([s, d]) => {
596
+ e.component(t.prefix ? `${t.prefix}${s}` : s, d);
597
+ }), e.config.globalProperties.$message = B, e.provide("message", B);
598
+ }, Ve = Me, Te = C, je = $, Oe = Se, Ae = {
599
+ install: Le,
600
+ ...M
584
601
  };
585
602
  export {
586
- H as Button,
587
- U as Card,
588
- pe as Lzbutton,
589
- ge as Lztext,
590
- ve as Lztheme,
591
- ne as Message,
592
- Z as Modal,
593
- ye as customComponents,
594
- Ve as default,
595
- Te as getSnippet,
596
- Se as message,
597
- Ie as registerSnippet,
598
- Ee as registerSnippets,
599
- Le as snippets
603
+ F as Button,
604
+ W as Card,
605
+ me as Lzbutton,
606
+ he as Lztext,
607
+ _e as Lztheme,
608
+ le as Message,
609
+ te as Modal,
610
+ ke as customComponents,
611
+ Ae as default,
612
+ Oe as getSnippet,
613
+ B as message,
614
+ Te as registerSnippet,
615
+ je as registerSnippets,
616
+ Ve as snippets
600
617
  };
@@ -1,4 +1,4 @@
1
- (function(o,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(o=typeof globalThis<"u"?globalThis:o||self,e(o.LittleDizzy={},o.Vue))})(this,(function(o,e){"use strict";const m=(t,s)=>{const n=t.__vccOpts||t;for(const[r,i]of s)n[r]=i;return n},M=["disabled"],_=m({__name:"Button",props:{type:{type:String,default:"primary",validator:t=>["primary","success","warning","danger","info","secondary"].includes(t)},size:{type:String,default:"medium",validator:t=>["small","medium","large"].includes(t)},block:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(t,{emit:s}){return(n,r)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["btn",[`btn-${t.type}`,`btn-${t.size}`,{"btn-block":t.block},{"btn-disabled":t.disabled}]]),disabled:t.disabled,onClick:r[0]||(r[0]=i=>n.$emit("click",i))},[e.renderSlot(n.$slots,"default",{},void 0,!0)],10,M))}},[["__scopeId","data-v-75f082b2"]]),V={key:0,class:"card-header"},N={key:0,class:"card-header-title"},v={class:"card-body"},L={key:1,class:"card-footer"},b=m({__name:"Card",props:{title:{type:String,default:""},shadow:{type:Boolean,default:!0}},setup(t){return(s,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["card",{"card-shadow":t.shadow}])},[s.$slots.header||t.title?(e.openBlock(),e.createElementBlock("div",V,[t.title?(e.openBlock(),e.createElementBlock("h3",N,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"header",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",v,[e.renderSlot(s.$slots,"default",{},void 0,!0)]),s.$slots.footer?(e.openBlock(),e.createElementBlock("div",L,[e.renderSlot(s.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],2))}},[["__scopeId","data-v-2d83e63a"]]),I={class:"modal-dialog"},T={class:"modal-header"},j={key:0,class:"modal-header-title"},O={class:"modal-body"},A={key:0,class:"modal-footer"},D={key:1,class:"modal-footer"},k=m({__name:"Modal",props:{visible:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:String,default:"500px"},showFooter:{type:Boolean,default:!0}},emits:["close","cancel","confirm"],setup(t,{emit:s}){const n=s,r=()=>{n("close")},i=()=>{n("cancel")},p=()=>{n("confirm")};return(c,f)=>t.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["modal",{"modal-show":t.visible}])},[e.createElementVNode("div",I,[e.createElementVNode("div",{class:"modal-content",style:e.normalizeStyle({width:t.width})},[e.createElementVNode("div",T,[t.title?(e.openBlock(),e.createElementBlock("h3",j,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"modal-header-close",onClick:r},"×")]),e.createElementVNode("div",O,[e.renderSlot(c.$slots,"default",{},void 0,!0)]),c.$slots.footer?(e.openBlock(),e.createElementBlock("div",A,[e.renderSlot(c.$slots,"footer",{},void 0,!0)])):t.showFooter?(e.openBlock(),e.createElementBlock("div",D,[e.createElementVNode("button",{class:"btn btn-secondary",onClick:i},"取消"),e.createElementVNode("button",{class:"btn btn-primary",onClick:p},"确定")])):e.createCommentVNode("",!0)],4)])],2)):e.createCommentVNode("",!0)}},[["__scopeId","data-v-39af2dcd"]]),H=["innerHTML"],F={class:"text-sm font-medium"},Y=["onClick"],w=m(Object.assign({name:"Message"},{__name:"Message",setup(t,{expose:s}){const n=e.ref([]),r={success:"bg-emerald-500/95 text-white",warning:"bg-amber-500/95 text-white",error:"bg-rose-500/95 text-white",info:"bg-sky-500/95 text-white"},i={success:`<svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5">
1
+ (function(a,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(a=typeof globalThis<"u"?globalThis:a||self,e(a.LittleDizzy={},a.Vue))})(this,(function(a,e){"use strict";const g=(t,s)=>{const n=t.__vccOpts||t;for(const[d,i]of s)n[d]=i;return n},M=["disabled"],k=g({__name:"Button",props:{type:{type:String,default:"primary",validator:t=>["primary","success","warning","danger","info","secondary"].includes(t)},size:{type:String,default:"medium",validator:t=>["small","medium","large"].includes(t)},block:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["click"],setup(t,{emit:s}){return(n,d)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(["btn",[`btn-${t.type}`,`btn-${t.size}`,{"btn-block":t.block},{"btn-disabled":t.disabled}]]),disabled:t.disabled,onClick:d[0]||(d[0]=i=>n.$emit("click",i))},[e.renderSlot(n.$slots,"default",{},void 0,!0)],10,M))}},[["__scopeId","data-v-75f082b2"]]),V={key:0,class:"card-header"},N={key:0,class:"card-header-title"},L={class:"card-body"},I={key:1,class:"card-footer"},b=g({__name:"Card",props:{title:{type:String,default:""},shadow:{type:Boolean,default:!0}},setup(t){return(s,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["card",{"card-shadow":t.shadow}])},[s.$slots.header||t.title?(e.openBlock(),e.createElementBlock("div",V,[t.title?(e.openBlock(),e.createElementBlock("h3",N,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.renderSlot(s.$slots,"header",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",L,[e.renderSlot(s.$slots,"default",{},void 0,!0)]),s.$slots.footer?(e.openBlock(),e.createElementBlock("div",I,[e.renderSlot(s.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],2))}},[["__scopeId","data-v-1e2b2467"]]),T={class:"modal-dialog"},j={class:"modal-header"},D={key:0,class:"modal-header-title"},O={class:"modal-body"},A={key:0,class:"modal-footer"},H={key:1,class:"modal-footer"},w=g({__name:"Modal",props:{visible:{type:Boolean,default:!1},title:{type:String,default:""},width:{type:String,default:"500px"},showFooter:{type:Boolean,default:!0}},emits:["close","cancel","confirm"],setup(t,{emit:s}){const n=s,d=()=>{n("close")},i=()=>{n("cancel")},p=()=>{n("confirm")};return(l,m)=>t.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["modal",{"modal-show":t.visible}])},[e.createElementVNode("div",T,[e.createElementVNode("div",{class:"modal-content",style:e.normalizeStyle({width:t.width})},[e.createElementVNode("div",j,[t.title?(e.openBlock(),e.createElementBlock("h3",D,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"modal-header-close",onClick:d},"×")]),e.createElementVNode("div",O,[e.renderSlot(l.$slots,"default",{},void 0,!0)]),l.$slots.footer?(e.openBlock(),e.createElementBlock("div",A,[e.renderSlot(l.$slots,"footer",{},void 0,!0)])):t.showFooter?(e.openBlock(),e.createElementBlock("div",H,[e.createElementVNode("button",{class:"btn btn-secondary",onClick:i},"取消"),e.createElementVNode("button",{class:"btn btn-primary",onClick:p},"确定")])):e.createCommentVNode("",!0)],4)])],2)):e.createCommentVNode("",!0)}},[["__scopeId","data-v-39af2dcd"]]),F=["innerHTML"],R={class:"text-sm font-medium"},Y=["onClick"],B=g(Object.assign({name:"Message"},{__name:"Message",setup(t,{expose:s}){const n=e.ref([]),d={success:"bg-emerald-500/95 text-white",warning:"bg-amber-500/95 text-white",error:"bg-rose-500/95 text-white",info:"bg-sky-500/95 text-white"},i={success:`<svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5">
2
2
  <path d="M20 6L9 17l-5-5" stroke-linecap="round" stroke-linejoin="round"/>
3
3
  </svg>`,warning:`<svg class="w-5 h-5" viewBox="0 0 24 24" fill="currentColor">
4
4
  <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"/>
@@ -7,7 +7,7 @@
7
7
  <path d="M15 9l-6 6M9 9l6 6" stroke-linecap="round"/>
8
8
  </svg>`,info:`<svg class="w-5 h-5" viewBox="0 0 24 24" fill="currentColor">
9
9
  <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"/>
10
- </svg>`};let p=0;const c=l=>{const a=++p,d={id:a,type:l.type||"info",content:l.content||"",duration:l.duration??3e3,closable:l.closable??!1};return n.value.push(d),d.duration>0&&setTimeout(()=>{f(a)},d.duration),a},f=l=>{const a=n.value.findIndex(d=>d.id===l);a>-1&&n.value.splice(a,1)};return s({addMessage:c,removeMessage:f,clearAll:()=>{n.value=[]},success:(l,a={})=>c({...a,type:"success",content:l}),warning:(l,a={})=>c({...a,type:"warning",content:l}),error:(l,a={})=>c({...a,type:"error",content:l}),info:(l,a={})=>c({...a,type:"info",content:l})}),(l,a)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.TransitionGroup,{name:"message",tag:"div",class:"fixed top-4 left-1/2 -translate-x-1/2 z-[9999] flex flex-col items-center gap-3 pointer-events-none"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,d=>(e.openBlock(),e.createElementBlock("div",{key:d.id,class:e.normalizeClass(["pointer-events-auto flex items-center gap-3 px-5 py-3 rounded-lg shadow-lg backdrop-blur-sm transition-all duration-300",r[d.type]])},[e.createElementVNode("span",{class:"flex-shrink-0",innerHTML:i[d.type]},null,8,H),e.createElementVNode("span",F,e.toDisplayString(d.content),1),d.closable?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:ye=>f(d.id),class:"flex-shrink-0 ml-2 p-1 rounded-full hover:bg-black/10 transition-colors"},[...a[0]||(a[0]=[e.createElementVNode("svg",{class:"w-4 h-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,Y)):e.createCommentVNode("",!0)],2))),128))]),_:1})]))}}),[["__scopeId","data-v-d727fd6c"]]);e.ref([]);let q=0;const G=t=>{const s=++q,n=t.type||"info",r=t.content||"",i=t.duration??3e3,p=t.closable??!1,c=document.createElement("div");c.className=`ld-message ld-message--${n}`,c.setAttribute("data-id",s);let y=`${{success:`<svg class="ld-message-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5">
10
+ </svg>`};let p=0;const l=c=>{const o=++p,r={id:o,type:c.type||"info",content:c.content||"",duration:c.duration??3e3,closable:c.closable??!1};return n.value.push(r),r.duration>0&&setTimeout(()=>{m(o)},r.duration),o},m=c=>{const o=n.value.findIndex(r=>r.id===c);o>-1&&n.value.splice(o,1)};return s({addMessage:l,removeMessage:m,clearAll:()=>{n.value=[]},success:(c,o={})=>l({...o,type:"success",content:c}),warning:(c,o={})=>l({...o,type:"warning",content:c}),error:(c,o={})=>l({...o,type:"error",content:c}),info:(c,o={})=>l({...o,type:"info",content:c})}),(c,o)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.TransitionGroup,{name:"message",tag:"div",class:"fixed top-4 left-1/2 -translate-x-1/2 z-[9999] flex flex-col items-center gap-3 pointer-events-none"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,r=>(e.openBlock(),e.createElementBlock("div",{key:r.id,class:e.normalizeClass(["pointer-events-auto flex items-center gap-3 px-5 py-3 rounded-lg shadow-lg backdrop-blur-sm transition-all duration-300",d[r.type]])},[e.createElementVNode("span",{class:"flex-shrink-0",innerHTML:i[r.type]},null,8,F),e.createElementVNode("span",R,e.toDisplayString(r.content),1),r.closable?(e.openBlock(),e.createElementBlock("button",{key:0,onClick:ke=>m(r.id),class:"flex-shrink-0 ml-2 p-1 rounded-full hover:bg-black/10 transition-colors"},[...o[0]||(o[0]=[e.createElementVNode("svg",{class:"w-4 h-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[e.createElementVNode("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,Y)):e.createCommentVNode("",!0)],2))),128))]),_:1})]))}}),[["__scopeId","data-v-d727fd6c"]]);e.ref([]);let P=0;const q=t=>{const s=++P,n=t.type||"info",d=t.content||"",i=t.duration??3e3,p=t.closable??!1,l=document.createElement("div");l.className=`ld-message ld-message--${n}`,l.setAttribute("data-id",s);let f=`${{success:`<svg class="ld-message-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5">
11
11
  <path d="M20 6L9 17l-5-5" stroke-linecap="round" stroke-linejoin="round"/>
12
12
  </svg>`,warning:`<svg class="ld-message-icon" viewBox="0 0 24 24" fill="currentColor">
13
13
  <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"/>
@@ -16,11 +16,11 @@
16
16
  <path d="M15 9l-6 6M9 9l6 6" stroke-linecap="round"/>
17
17
  </svg>`,info:`<svg class="ld-message-icon" viewBox="0 0 24 24" fill="currentColor">
18
18
  <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"/>
19
- </svg>`}[n]}<span class="ld-message-content">${r}</span>`;return p&&(y+=`<button class="ld-message-close" onclick="window.__ldMessageClose(${s})">
19
+ </svg>`}[n]}<span class="ld-message-content">${d}</span>`;return p&&(f+=`<button class="ld-message-close" onclick="window.__ldMessageClose(${s})">
20
20
  <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
21
21
  <path d="M18 6L6 18M6 6l12 12"/>
22
22
  </svg>
23
- </button>`),c.innerHTML=y,{id:s,element:c,duration:i}},P=()=>{let t=document.getElementById("ld-message-root");if(!t){t=document.createElement("div"),t.id="ld-message-root",document.body.appendChild(t);const s=document.createElement("style");s.textContent=`
23
+ </button>`),l.innerHTML=f,{id:s,element:l,duration:i}},G=()=>{let t=document.getElementById("ld-message-root");if(!t){t=document.createElement("div"),t.id="ld-message-root",document.body.appendChild(t);const s=document.createElement("style");s.textContent=`
24
24
  #ld-message-root {
25
25
  position: fixed;
26
26
  top: 16px;
@@ -81,7 +81,7 @@
81
81
  from { opacity: 1; transform: translateY(0) scale(1); }
82
82
  to { opacity: 0; transform: translateY(-10px) scale(0.95); }
83
83
  }
84
- `,document.head.appendChild(s)}return t},u=t=>{const s=document.getElementById("ld-message-root");if(!s)return;const n=s.querySelector(`[data-id="${t}"]`);n&&(n.classList.add("ld-message--closing"),setTimeout(()=>{n.remove()},200))};typeof window<"u"&&(window.__ldMessageClose=u);const g=t=>{const s=P(),{id:n,element:r,duration:i}=G(t);return s.appendChild(r),i>0&&setTimeout(()=>{u(n)},i),n},R={success:(t,s={})=>g({...s,type:"success",content:t}),warning:(t,s={})=>g({...s,type:"warning",content:t}),error:(t,s={})=>g({...s,type:"error",content:t}),info:(t,s={})=>g({...s,type:"info",content:t}),close:u,closeAll:()=>{const t=document.getElementById("ld-message-root");t&&(t.innerHTML="")}},U={class:"lzbutton-wrapper"},W={class:"button"},B=m(Object.assign({name:"Lzbutton"},{__name:"lzbutton",setup(t){return(s,n)=>(e.openBlock(),e.createElementBlock("div",U,[e.createElementVNode("button",W,[n[1]||(n[1]=e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 36 24"},[e.createElementVNode("path",{d:"m18 0 8 12 10-8-4 20H4L0 4l10 8 8-12z"})],-1)),e.renderSlot(s.$slots,"default",{},()=>[n[0]||(n[0]=e.createTextVNode("Unlock Pro",-1))],!0)])]))}}),[["__scopeId","data-v-7124b716"]]),X={class:"Lztext-wrapper"},x=m(Object.assign({name:"Lztext"},{__name:"Lztext",setup(t){return(s,n)=>(e.openBlock(),e.createElementBlock("div",X,[...n[0]||(n[0]=[e.createStaticVNode('<div class="loader-wrapper" data-v-f22456dd><span class="loader-letter" data-v-f22456dd>G</span><span class="loader-letter" data-v-f22456dd>e</span><span class="loader-letter" data-v-f22456dd>n</span><span class="loader-letter" data-v-f22456dd>e</span><span class="loader-letter" data-v-f22456dd>r</span><span class="loader-letter" data-v-f22456dd>a</span><span class="loader-letter" data-v-f22456dd>t</span><span class="loader-letter" data-v-f22456dd>i</span><span class="loader-letter" data-v-f22456dd>n</span><span class="loader-letter" data-v-f22456dd>g</span><div class="loader" data-v-f22456dd></div></div>',1)])]))}}),[["__scopeId","data-v-f22456dd"]]),J={class:"lztheme-wrapper"},E=m(Object.assign({name:"Lztheme"},{__name:"lztheme",setup(t){return(s,n)=>(e.openBlock(),e.createElementBlock("div",J,[...n[0]||(n[0]=[e.createElementVNode("label",{for:"theme",class:"theme"},[e.createElementVNode("span",{class:"theme__toggle-wrap"},[e.createElementVNode("input",{id:"theme",class:"theme__toggle",type:"checkbox",role:"switch",name:"theme",value:"dark"}),e.createElementVNode("span",{class:"theme__fill"}),e.createElementVNode("span",{class:"theme__icon"},[e.createElementVNode("span",{class:"theme__icon-part"}),e.createElementVNode("span",{class:"theme__icon-part"}),e.createElementVNode("span",{class:"theme__icon-part"}),e.createElementVNode("span",{class:"theme__icon-part"}),e.createElementVNode("span",{class:"theme__icon-part"}),e.createElementVNode("span",{class:"theme__icon-part"}),e.createElementVNode("span",{class:"theme__icon-part"}),e.createElementVNode("span",{class:"theme__icon-part"}),e.createElementVNode("span",{class:"theme__icon-part"})])])],-1)])]))}}),[["__scopeId","data-v-0b85d094"]]),z={Lzbutton:B,Lztext:x,Lztheme:E},K=[{name:"Button",type:"vue",label:"Button 按钮",code:`<template>
84
+ `,document.head.appendChild(s)}return t},h=t=>{const s=document.getElementById("ld-message-root");if(!s)return;const n=s.querySelector(`[data-id="${t}"]`);n&&(n.classList.add("ld-message--closing"),setTimeout(()=>{n.remove()},200))};typeof window<"u"&&(window.__ldMessageClose=h);const u=t=>{const s=G(),{id:n,element:d,duration:i}=q(t);return s.appendChild(d),i>0&&setTimeout(()=>{h(n)},i),n},y={success:(t,s={})=>u({...s,type:"success",content:t}),warning:(t,s={})=>u({...s,type:"warning",content:t}),error:(t,s={})=>u({...s,type:"error",content:t}),info:(t,s={})=>u({...s,type:"info",content:t}),close:h,closeAll:()=>{const t=document.getElementById("ld-message-root");t&&(t.innerHTML="")}},U={class:"lzbutton-wrapper"},W={class:"button"},v=g(Object.assign({name:"Lzbutton"},{__name:"lzbutton",setup(t){return(s,n)=>(e.openBlock(),e.createElementBlock("div",U,[e.createElementVNode("button",W,[n[1]||(n[1]=e.createElementVNode("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 36 24"},[e.createElementVNode("path",{d:"m18 0 8 12 10-8-4 20H4L0 4l10 8 8-12z"})],-1)),e.renderSlot(s.$slots,"default",{},()=>[n[0]||(n[0]=e.createTextVNode("Unlock Pro",-1))],!0)])]))}}),[["__scopeId","data-v-7124b716"]]),X={class:"Lztext-wrapper"},x=g(Object.assign({name:"Lztext"},{__name:"Lztext",setup(t){return(s,n)=>(e.openBlock(),e.createElementBlock("div",X,[...n[0]||(n[0]=[e.createStaticVNode('<div class="loader-wrapper" data-v-f22456dd><span class="loader-letter" data-v-f22456dd>G</span><span class="loader-letter" data-v-f22456dd>e</span><span class="loader-letter" data-v-f22456dd>n</span><span class="loader-letter" data-v-f22456dd>e</span><span class="loader-letter" data-v-f22456dd>r</span><span class="loader-letter" data-v-f22456dd>a</span><span class="loader-letter" data-v-f22456dd>t</span><span class="loader-letter" data-v-f22456dd>i</span><span class="loader-letter" data-v-f22456dd>n</span><span class="loader-letter" data-v-f22456dd>g</span><div class="loader" data-v-f22456dd></div></div>',1)])]))}}),[["__scopeId","data-v-f22456dd"]]),J={class:"lztheme-wrapper"},K={class:"theme__toggle-wrap"},Q=["checked"],C=g(Object.assign({name:"Lztheme"},{__name:"lztheme",props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue","change"],setup(t,{expose:s,emit:n}){let d=0;const i=`lztheme-toggle-${++d}-${Date.now()}`,p=t,l=n,m=e.ref(null),f=e.ref(p.modelValue);e.watch(()=>p.modelValue,o=>{f.value=o});const c=o=>{const r=o.target.checked;f.value=r,l("update:modelValue",r),l("change",r)};return s({toggle:()=>{m.value&&m.value.click()},setDark:o=>{f.value=o,l("update:modelValue",o),l("change",o)}}),(o,r)=>(e.openBlock(),e.createElementBlock("div",J,[e.createElementVNode("label",{for:i,class:"theme"},[e.createElementVNode("span",K,[e.createElementVNode("input",{id:i,ref_key:"toggleRef",ref:m,class:"theme__toggle",type:"checkbox",role:"switch",name:"theme",value:"dark",checked:f.value,onChange:c},null,40,Q),r[0]||(r[0]=e.createStaticVNode('<span class="theme__icon" data-v-e887d581><span class="theme__icon-part" data-v-e887d581></span><span class="theme__icon-part" data-v-e887d581></span><span class="theme__icon-part" data-v-e887d581></span><span class="theme__icon-part" data-v-e887d581></span><span class="theme__icon-part" data-v-e887d581></span><span class="theme__icon-part" data-v-e887d581></span><span class="theme__icon-part" data-v-e887d581></span><span class="theme__icon-part" data-v-e887d581></span><span class="theme__icon-part" data-v-e887d581></span></span>',1))])])]))}}),[["__scopeId","data-v-e887d581"]]),z={Lzbutton:v,Lztext:x,Lztheme:C},Z=[{name:"Button",type:"vue",label:"Button 按钮",code:`<template>
85
85
  <Button type="primary">主要按钮</Button>
86
86
  <Button type="success">成功按钮</Button>
87
87
  <Button type="warning">警告按钮</Button>
@@ -160,4 +160,4 @@ const showInfo = () => {
160
160
  gap: 12px;
161
161
  flex-wrap: wrap;
162
162
  }
163
- </style>`}],h=new Map;function C(t){return!t||!t.name?(console.warn("[LittleDizzy] Snippet must have a name property"),!1):(h.set(t.name,{name:t.name,type:t.type||"html",label:t.label||t.name,code:t.code||"",isCustom:t.isCustom||!1,...t}),!0)}function S(t){if(!Array.isArray(t))return console.warn("[LittleDizzy] registerSnippets expects an array"),0;let s=0;return t.forEach(n=>{C(n)&&s++}),s}function Q(){const t={};return h.forEach((s,n)=>{t[n]=s}),t}function Z(t){return h.get(t)}S(K);const $={Button:_,Card:b,Modal:k,Message:w,...z},ee=(t,s={})=>{Object.entries($).forEach(([n,r])=>{t.component(s.prefix?`${s.prefix}${n}`:n,r)})},te=Q,se=C,ne=S,oe=Z,ae={install:ee,...$};o.Button=_,o.Card=b,o.Lzbutton=B,o.Lztext=x,o.Lztheme=E,o.Message=w,o.Modal=k,o.customComponents=z,o.default=ae,o.getSnippet=oe,o.message=R,o.registerSnippet=se,o.registerSnippets=ne,o.snippets=te,Object.defineProperties(o,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
163
+ </style>`}],_=new Map;function $(t){return!t||!t.name?(console.warn("[LittleDizzy] Snippet must have a name property"),!1):(_.set(t.name,{name:t.name,type:t.type||"html",label:t.label||t.name,code:t.code||"",isCustom:t.isCustom||!1,...t}),!0)}function S(t){if(!Array.isArray(t))return console.warn("[LittleDizzy] registerSnippets expects an array"),0;let s=0;return t.forEach(n=>{$(n)&&s++}),s}function ee(){const t={};return _.forEach((s,n)=>{t[n]=s}),t}function te(t){return _.get(t)}S(Z);const E={Button:k,Card:b,Modal:w,Message:B,...z},se=(t,s={})=>{Object.entries(E).forEach(([n,d])=>{t.component(s.prefix?`${s.prefix}${n}`:n,d)}),t.config.globalProperties.$message=y,t.provide("message",y)},ne=ee,oe=$,ae=S,le=te,re={install:se,...E};a.Button=k,a.Card=b,a.Lzbutton=v,a.Lztext=x,a.Lztheme=C,a.Message=B,a.Modal=w,a.customComponents=z,a.default=re,a.getSnippet=le,a.message=y,a.registerSnippet=oe,a.registerSnippets=ae,a.snippets=ne,Object.defineProperties(a,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "little-dizzy",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "description": "LittleDizzy - 一个支持代码片段的 Vue 3 UI 组件库",
5
5
  "type": "module",
6
6
  "main": "dist/little-dizzy.umd.cjs",
@@ -49,7 +49,7 @@
49
49
  "vue": "^3.0.0"
50
50
  },
51
51
  "dependencies": {
52
- "little-dizzy": "^2.1.1",
52
+ "little-dizzy": "^2.3.0",
53
53
  "vue": "^3.0.0",
54
54
  "vue-router": "^4.6.4"
55
55
  },
@@ -47,15 +47,15 @@ const props = defineProps({
47
47
  flex-direction: column;
48
48
  min-width: 0;
49
49
  word-wrap: break-word;
50
- background-color: #fff;
50
+ background-color: var(--ld-card-bg, #fff);
51
51
  background-clip: border-box;
52
- border: 1px solid rgba(0, 0, 0, 0.125);
52
+ border: 1px solid var(--ld-border-color-light, rgba(0, 0, 0, 0.125));
53
53
  border-radius: $border-radius-lg;
54
- transition: box-shadow 0.3s;
54
+ transition: box-shadow 0.3s, background-color 0.3s, border-color 0.3s;
55
55
 
56
56
  // 阴影样式
57
57
  &-shadow {
58
- box-shadow: $shadow-sm;
58
+ box-shadow: var(--ld-card-shadow, $shadow-sm);
59
59
 
60
60
  &:hover {
61
61
  box-shadow: $shadow-md;
@@ -65,10 +65,11 @@ const props = defineProps({
65
65
  // 卡片头部
66
66
  &-header {
67
67
  padding: 16px;
68
- border-bottom: 1px solid rgba(0, 0, 0, 0.125);
68
+ border-bottom: 1px solid var(--ld-border-color-light, rgba(0, 0, 0, 0.125));
69
69
  display: flex;
70
70
  justify-content: space-between;
71
71
  align-items: center;
72
+ background-color: var(--ld-card-bg, #fff);
72
73
  }
73
74
 
74
75
  // 卡片头部标题
@@ -76,21 +77,21 @@ const props = defineProps({
76
77
  margin: 0;
77
78
  font-size: $font-size-large;
78
79
  font-weight: 600;
79
- color: #303133;
80
+ color: var(--ld-text-primary, #303133);
80
81
  }
81
82
 
82
83
  // 卡片主体
83
84
  &-body {
84
85
  flex: 1 1 auto;
85
86
  padding: 16px;
86
- color: #606266;
87
+ color: var(--ld-text-regular, #606266);
87
88
  }
88
89
 
89
90
  // 卡片底部
90
91
  &-footer {
91
92
  padding: 16px;
92
- border-top: 1px solid rgba(0, 0, 0, 0.125);
93
- background-color: #fafafa;
93
+ border-top: 1px solid var(--ld-border-color-light, rgba(0, 0, 0, 0.125));
94
+ background-color: var(--ld-bg-color-page, #fafafa);
94
95
  border-bottom-left-radius: calc($border-radius-lg - 1px);
95
96
  border-bottom-right-radius: calc($border-radius-lg - 1px);
96
97
  }
@@ -1,26 +1,28 @@
1
1
  <template>
2
2
  <div class="lztheme-wrapper">
3
- <label for="theme" class="theme">
4
- <span class="theme__toggle-wrap">
5
- <input id="theme" class="theme__toggle" type="checkbox" role="switch" name="theme" value="dark">
6
- <span class="theme__fill"></span>
7
- <span class="theme__icon">
8
- <span class="theme__icon-part"></span>
9
- <span class="theme__icon-part"></span>
10
- <span class="theme__icon-part"></span>
11
- <span class="theme__icon-part"></span>
12
- <span class="theme__icon-part"></span>
13
- <span class="theme__icon-part"></span>
14
- <span class="theme__icon-part"></span>
15
- <span class="theme__icon-part"></span>
16
- <span class="theme__icon-part"></span>
17
- </span>
18
- </span>
3
+ <label :for="inputId" class="theme">
4
+ <span class="theme__toggle-wrap">
5
+ <input :id="inputId" ref="toggleRef" class="theme__toggle" type="checkbox" role="switch" name="theme"
6
+ value="dark" :checked="isDark" @change="handleChange">
7
+ <span class="theme__icon">
8
+ <span class="theme__icon-part"></span>
9
+ <span class="theme__icon-part"></span>
10
+ <span class="theme__icon-part"></span>
11
+ <span class="theme__icon-part"></span>
12
+ <span class="theme__icon-part"></span>
13
+ <span class="theme__icon-part"></span>
14
+ <span class="theme__icon-part"></span>
15
+ <span class="theme__icon-part"></span>
16
+ <span class="theme__icon-part"></span>
17
+ </span>
18
+ </span>
19
19
  </label>
20
20
  </div>
21
21
  </template>
22
22
 
23
23
  <script setup>
24
+ import { ref, watch } from 'vue'
25
+
24
26
  /**
25
27
  * 主题切换
26
28
  *
@@ -30,6 +32,53 @@
30
32
  defineOptions({
31
33
  name: 'Lztheme'
32
34
  })
35
+
36
+ // 生成唯一 ID,避免多个实例冲突
37
+ let idCounter = 0
38
+ const inputId = `lztheme-toggle-${++idCounter}-${Date.now()}`
39
+
40
+ // Props
41
+ const props = defineProps({
42
+ // 是否为暗色主题
43
+ modelValue: {
44
+ type: Boolean,
45
+ default: false
46
+ }
47
+ })
48
+
49
+ // Emits
50
+ const emit = defineEmits(['update:modelValue', 'change'])
51
+
52
+ // 内部状态
53
+ const toggleRef = ref(null)
54
+ const isDark = ref(props.modelValue)
55
+
56
+ // 监听 prop 变化,同步到内部状态
57
+ watch(() => props.modelValue, (newVal) => {
58
+ isDark.value = newVal
59
+ })
60
+
61
+ // 处理切换
62
+ const handleChange = (event) => {
63
+ const checked = event.target.checked
64
+ isDark.value = checked
65
+ emit('update:modelValue', checked)
66
+ emit('change', checked)
67
+ }
68
+
69
+ // 暴露方法给父组件
70
+ defineExpose({
71
+ toggle: () => {
72
+ if (toggleRef.value) {
73
+ toggleRef.value.click()
74
+ }
75
+ },
76
+ setDark: (value) => {
77
+ isDark.value = value
78
+ emit('update:modelValue', value)
79
+ emit('change', value)
80
+ }
81
+ })
33
82
  </script>
34
83
 
35
84
  <style scoped>
@@ -40,23 +89,13 @@ defineOptions({
40
89
  -webkit-tap-highlight-color: transparent;
41
90
  }
42
91
 
43
- .theme__fill,
44
92
  .theme__icon {
45
93
  transition: 0.3s;
46
94
  }
47
95
 
48
- .theme__fill {
49
- background-color: var(--bg);
50
- display: block;
51
- mix-blend-mode: difference;
52
- position: fixed;
53
- inset: 0;
54
- height: 100%;
55
- transform: translateX(-100%);
56
- }
57
-
58
96
  .theme__icon,
59
97
  .theme__toggle {
98
+ cursor: pointer;
60
99
  z-index: 1;
61
100
  }
62
101
 
@@ -67,27 +106,28 @@ defineOptions({
67
106
 
68
107
  .theme__icon {
69
108
  display: block;
70
- top: 0.5em;
71
- left: 0.5em;
109
+ top: 50%;
110
+ left: 0.7em;
111
+ transform: translateY(-50%);
72
112
  width: 1.5em;
73
113
  height: 1.5em;
74
114
  }
75
115
 
76
116
  .theme__icon-part {
77
117
  border-radius: 50%;
78
- box-shadow: 0.4em -0.4em 0 0.5em hsl(0,0%,100%) inset;
118
+ box-shadow: 0.4em -0.4em 0 0.5em hsl(0, 0%, 100%) inset;
79
119
  top: calc(50% - 0.5em);
80
120
  left: calc(50% - 0.5em);
81
121
  width: 1em;
82
122
  height: 1em;
83
123
  transition: box-shadow var(--transDur) ease-in-out,
84
- opacity var(--transDur) ease-in-out,
85
- transform var(--transDur) ease-in-out;
124
+ opacity var(--transDur) ease-in-out,
125
+ transform var(--transDur) ease-in-out;
86
126
  transform: scale(0.5);
87
127
  }
88
128
 
89
- .theme__icon-part ~ .theme__icon-part {
90
- background-color: hsl(0,0%,100%);
129
+ .theme__icon-part~.theme__icon-part {
130
+ background-color: hsl(0, 0%, 100%);
91
131
  border-radius: 0.05em;
92
132
  top: 50%;
93
133
  left: calc(50% - 0.05em);
@@ -137,7 +177,7 @@ defineOptions({
137
177
  }
138
178
 
139
179
  .theme__toggle {
140
- background-color: hsl(48,90%,85%);
180
+ background-color: hsl(48, 90%, 85%);
141
181
  border-radius: 25% / 50%;
142
182
  box-shadow: 0 0 0 0.125em var(--primaryT);
143
183
  padding: 0.25em;
@@ -146,12 +186,12 @@ defineOptions({
146
186
  -webkit-appearance: none;
147
187
  appearance: none;
148
188
  transition: background-color var(--transDur) ease-in-out,
149
- box-shadow 0.15s ease-in-out,
150
- transform var(--transDur) ease-in-out;
189
+ box-shadow 0.15s ease-in-out,
190
+ transform var(--transDur) ease-in-out;
151
191
  }
152
192
 
153
193
  .theme__toggle:before {
154
- background-color: hsl(48,90%,55%);
194
+ background-color: hsl(48, 90%, 55%);
155
195
  border-radius: 50%;
156
196
  content: "";
157
197
  width: 2.5em;
@@ -166,62 +206,61 @@ defineOptions({
166
206
 
167
207
  /* Checked */
168
208
  .theme__toggle:checked {
169
- background-color: hsl(198,90%,15%);
209
+ background-color: hsl(198, 90%, 15%);
170
210
  }
171
211
 
172
- .theme__toggle:checked:before,
173
- .theme__toggle:checked ~ .theme__icon {
212
+ .theme__toggle:checked:before {
174
213
  transform: translateX(3em);
175
214
  }
176
215
 
177
- .theme__toggle:checked:before {
178
- background-color: hsl(198,90%,55%);
216
+ .theme__toggle:checked~.theme__icon {
217
+ transform: translateX(3em) translateY(-50%);
179
218
  }
180
219
 
181
- .theme__toggle:checked ~ .theme__fill {
182
- transform: translateX(0);
220
+ .theme__toggle:checked:before {
221
+ background-color: hsl(198, 90%, 55%);
183
222
  }
184
223
 
185
- .theme__toggle:checked ~ .theme__icon .theme__icon-part:nth-child(1) {
186
- box-shadow: 0.2em -0.2em 0 0.2em hsl(0,0%,100%) inset;
224
+ .theme__toggle:checked~.theme__icon .theme__icon-part:nth-child(1) {
225
+ box-shadow: 0.2em -0.2em 0 0.2em hsl(0, 0%, 100%) inset;
187
226
  transform: scale(1);
188
- top: 0.2em;
189
- left: -0.2em;
227
+ top: calc(50% - 0.5em);
228
+ left: calc(50% - 0.5em);
190
229
  }
191
230
 
192
- .theme__toggle:checked ~ .theme__icon .theme__icon-part ~ .theme__icon-part {
231
+ .theme__toggle:checked~.theme__icon .theme__icon-part~.theme__icon-part {
193
232
  opacity: 0;
194
233
  }
195
234
 
196
- .theme__toggle:checked ~ .theme__icon .theme__icon-part:nth-child(2) {
235
+ .theme__toggle:checked~.theme__icon .theme__icon-part:nth-child(2) {
197
236
  transform: rotate(45deg) translateY(0.8em);
198
237
  }
199
238
 
200
- .theme__toggle:checked ~ .theme__icon .theme__icon-part:nth-child(3) {
239
+ .theme__toggle:checked~.theme__icon .theme__icon-part:nth-child(3) {
201
240
  transform: rotate(90deg) translateY(0.8em);
202
241
  }
203
242
 
204
- .theme__toggle:checked ~ .theme__icon .theme__icon-part:nth-child(4) {
243
+ .theme__toggle:checked~.theme__icon .theme__icon-part:nth-child(4) {
205
244
  transform: rotate(135deg) translateY(0.8em);
206
245
  }
207
246
 
208
- .theme__toggle:checked ~ .theme__icon .theme__icon-part:nth-child(5) {
247
+ .theme__toggle:checked~.theme__icon .theme__icon-part:nth-child(5) {
209
248
  transform: rotate(180deg) translateY(0.8em);
210
249
  }
211
250
 
212
- .theme__toggle:checked ~ .theme__icon .theme__icon-part:nth-child(6) {
251
+ .theme__toggle:checked~.theme__icon .theme__icon-part:nth-child(6) {
213
252
  transform: rotate(225deg) translateY(0.8em);
214
253
  }
215
254
 
216
- .theme__toggle:checked ~ .theme__icon .theme__icon-part:nth-child(7) {
255
+ .theme__toggle:checked~.theme__icon .theme__icon-part:nth-child(7) {
217
256
  transform: rotate(270deg) translateY(0.8em);
218
257
  }
219
258
 
220
- .theme__toggle:checked ~ .theme__icon .theme__icon-part:nth-child(8) {
259
+ .theme__toggle:checked~.theme__icon .theme__icon-part:nth-child(8) {
221
260
  transform: rotate(315deg) translateY(0.8em);
222
261
  }
223
262
 
224
- .theme__toggle:checked ~ .theme__icon .theme__icon-part:nth-child(9) {
263
+ .theme__toggle:checked~.theme__icon .theme__icon-part:nth-child(9) {
225
264
  transform: rotate(360deg) translateY(0.8em);
226
265
  }
227
266
 
package/src/index.js CHANGED
@@ -47,6 +47,11 @@ const install = (app, options = {}) => {
47
47
  Object.entries(components).forEach(([name, component]) => {
48
48
  app.component(options.prefix ? `${options.prefix}${name}` : name, component)
49
49
  })
50
+
51
+ // 挂载 message 到全局属性
52
+ app.config.globalProperties.$message = message
53
+ // 同时提供 provide 方式
54
+ app.provide('message', message)
50
55
  }
51
56
 
52
57
  // 导出代码片段相关