little-dizzy 1.2.0 → 2.1.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}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}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-c66cec30]{margin:0;padding:0;box-sizing:border-box}body[data-v-c66cec30]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;color:#303133;background-color:#f5f7fa}.btn[data-v-c66cec30]{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-c66cec30]:hover{opacity:.9}.btn[data-v-c66cec30]:active{opacity:1}.btn[data-v-c66cec30]:disabled{cursor:not-allowed;opacity:.6}.btn-primary[data-v-c66cec30]{color:#fff;background-color:#409eff;border-color:#409eff}.btn-primary[data-v-c66cec30]:hover{background-color:#0d84ff;border-color:#0d84ff}.btn-success[data-v-c66cec30]{color:#fff;background-color:#67c23a;border-color:#67c23a}.btn-success[data-v-c66cec30]:hover{background-color:#529b2e;border-color:#529b2e}.btn-warning[data-v-c66cec30]{color:#fff;background-color:#e6a23c;border-color:#e6a23c}.btn-warning[data-v-c66cec30]:hover{background-color:#d48a1b;border-color:#d48a1b}.btn-danger[data-v-c66cec30]{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.btn-danger[data-v-c66cec30]:hover{background-color:#f23c3c;border-color:#f23c3c}.btn-info[data-v-c66cec30]{color:#fff;background-color:#909399;border-color:#909399}.btn-info[data-v-c66cec30]:hover{background-color:#767980;border-color:#767980}.btn-secondary[data-v-c66cec30]{color:#606266;background-color:#fff;border-color:#dcdfe6}.btn-secondary[data-v-c66cec30]:hover{color:#409eff;border-color:#409eff}.btn-small[data-v-c66cec30]{padding:4px 8px;font-size:12px}.btn-large[data-v-c66cec30]{padding:12px 24px;font-size:16px}.card[data-v-c66cec30]{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-c66cec30]:hover{box-shadow:0 4px 12px #00000026}.card-header[data-v-c66cec30]{padding:16px;border-bottom:1px solid rgba(0,0,0,.125)}.card-header-title[data-v-c66cec30]{margin:0;font-size:16px;font-weight:600}.card-body[data-v-c66cec30]{flex:1 1 auto;padding:16px}.card-footer[data-v-c66cec30]{padding:16px;border-top:1px solid rgba(0,0,0,.125)}.modal.show[data-v-c66cec30]{display:flex;justify-content:center;align-items:center}.modal-header-title[data-v-c66cec30]{margin:0;font-size:16px;font-weight:600}.modal-body[data-v-c66cec30]{position:relative;flex:1 1 auto;padding:16px}.modal[data-v-c66cec30]{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-c66cec30]{display:flex;justify-content:center;align-items:center}.modal-dialog[data-v-c66cec30]{position:relative;width:auto;margin:10px;pointer-events:none}@media(min-width:576px){.modal-dialog[data-v-c66cec30]{max-width:500px;margin:1.75rem auto}}.modal-content[data-v-c66cec30]{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-c66cec30]{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-c66cec30]{margin:0;font-size:16px;font-weight:600;color:#303133}.modal-header-close[data-v-c66cec30]{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-c66cec30]:hover{opacity:1}.modal-body[data-v-c66cec30]{position:relative;flex:1 1 auto;padding:16px;color:#606266}.modal-footer[data-v-c66cec30]{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-c66cec30]>*+*{margin-left:8px}
1
+ [data-v-75f082b2]{margin:0;padding:0;box-sizing:border-box}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}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-c66cec30]{margin:0;padding:0;box-sizing:border-box}body[data-v-c66cec30]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;color:#303133;background-color:#f5f7fa}.btn[data-v-c66cec30]{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-c66cec30]:hover{opacity:.9}.btn[data-v-c66cec30]:active{opacity:1}.btn[data-v-c66cec30]:disabled{cursor:not-allowed;opacity:.6}.btn-primary[data-v-c66cec30]{color:#fff;background-color:#409eff;border-color:#409eff}.btn-primary[data-v-c66cec30]:hover{background-color:#0d84ff;border-color:#0d84ff}.btn-success[data-v-c66cec30]{color:#fff;background-color:#67c23a;border-color:#67c23a}.btn-success[data-v-c66cec30]:hover{background-color:#529b2e;border-color:#529b2e}.btn-warning[data-v-c66cec30]{color:#fff;background-color:#e6a23c;border-color:#e6a23c}.btn-warning[data-v-c66cec30]:hover{background-color:#d48a1b;border-color:#d48a1b}.btn-danger[data-v-c66cec30]{color:#fff;background-color:#f56c6c;border-color:#f56c6c}.btn-danger[data-v-c66cec30]:hover{background-color:#f23c3c;border-color:#f23c3c}.btn-info[data-v-c66cec30]{color:#fff;background-color:#909399;border-color:#909399}.btn-info[data-v-c66cec30]:hover{background-color:#767980;border-color:#767980}.btn-secondary[data-v-c66cec30]{color:#606266;background-color:#fff;border-color:#dcdfe6}.btn-secondary[data-v-c66cec30]:hover{color:#409eff;border-color:#409eff}.btn-small[data-v-c66cec30]{padding:4px 8px;font-size:12px}.btn-large[data-v-c66cec30]{padding:12px 24px;font-size:16px}.card[data-v-c66cec30]{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-c66cec30]:hover{box-shadow:0 4px 12px #00000026}.card-header[data-v-c66cec30]{padding:16px;border-bottom:1px solid rgba(0,0,0,.125)}.card-header-title[data-v-c66cec30]{margin:0;font-size:16px;font-weight:600}.card-body[data-v-c66cec30]{flex:1 1 auto;padding:16px}.card-footer[data-v-c66cec30]{padding:16px;border-top:1px solid rgba(0,0,0,.125)}.modal.show[data-v-c66cec30]{display:flex;justify-content:center;align-items:center}.modal-header-title[data-v-c66cec30]{margin:0;font-size:16px;font-weight:600}.modal-body[data-v-c66cec30]{position:relative;flex:1 1 auto;padding:16px}.modal[data-v-c66cec30]{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-c66cec30]{display:flex;justify-content:center;align-items:center}.modal-dialog[data-v-c66cec30]{position:relative;width:auto;margin:10px;pointer-events:none}@media(min-width:576px){.modal-dialog[data-v-c66cec30]{max-width:500px;margin:1.75rem auto}}.modal-content[data-v-c66cec30]{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-c66cec30]{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-c66cec30]{margin:0;font-size:16px;font-weight:600;color:#303133}.modal-header-close[data-v-c66cec30]{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-c66cec30]:hover{opacity:1}.modal-body[data-v-c66cec30]{position:relative;flex:1 1 auto;padding:16px;color:#606266}.modal-footer[data-v-c66cec30]{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-c66cec30]>*+*{margin-left:8px}.button[data-v-c2498af3]{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-c2498af3]:hover{background-size:320%;background-position:right center}.button:hover svg[data-v-c2498af3]{fill:#fff}.button svg[data-v-c2498af3]{width:23px;fill:#f09f33;transition:.3s ease}
@@ -1,10 +1,10 @@
1
- import { createElementBlock as n, openBlock as s, normalizeClass as u, renderSlot as r, createCommentVNode as i, createElementVNode as l, toDisplayString as f } from "vue";
2
- const p = (t, e) => {
3
- const o = t.__vccOpts || t;
4
- for (const [a, d] of e)
5
- o[a] = d;
6
- return o;
7
- }, g = ["disabled"], B = {
1
+ import { createElementBlock as n, openBlock as a, normalizeClass as m, renderSlot as r, createCommentVNode as i, createElementVNode as s, toDisplayString as f, createTextVNode as B } from "vue";
2
+ const c = (t, o) => {
3
+ const e = t.__vccOpts || t;
4
+ for (const [l, d] of o)
5
+ e[l] = d;
6
+ return e;
7
+ }, _ = ["disabled"], g = {
8
8
  __name: "Button",
9
9
  props: {
10
10
  // 按钮类型
@@ -31,30 +31,30 @@ const p = (t, e) => {
31
31
  }
32
32
  },
33
33
  emits: ["click"],
34
- setup(t, { emit: e }) {
35
- return (o, a) => (s(), n("button", {
36
- class: u(["btn", [
34
+ setup(t, { emit: o }) {
35
+ return (e, l) => (a(), n("button", {
36
+ class: m(["btn", [
37
37
  `btn-${t.type}`,
38
38
  `btn-${t.size}`,
39
39
  { "btn-block": t.block },
40
40
  { "btn-disabled": t.disabled }
41
41
  ]]),
42
42
  disabled: t.disabled,
43
- onClick: a[0] || (a[0] = (d) => o.$emit("click", d))
43
+ onClick: l[0] || (l[0] = (d) => e.$emit("click", d))
44
44
  }, [
45
- r(o.$slots, "default", {}, void 0, !0)
46
- ], 10, g));
45
+ r(e.$slots, "default", {}, void 0, !0)
46
+ ], 10, _));
47
47
  }
48
- }, k = /* @__PURE__ */ p(B, [["__scopeId", "data-v-75f082b2"]]), $ = {
48
+ }, $ = /* @__PURE__ */ c(g, [["__scopeId", "data-v-75f082b2"]]), k = {
49
49
  key: 0,
50
50
  class: "card-header"
51
51
  }, z = {
52
52
  key: 0,
53
53
  class: "card-header-title"
54
- }, w = { class: "card-body" }, S = {
54
+ }, C = { class: "card-body" }, S = {
55
55
  key: 1,
56
56
  class: "card-footer"
57
- }, _ = {
57
+ }, w = {
58
58
  __name: "Card",
59
59
  props: {
60
60
  // 卡片标题
@@ -69,31 +69,31 @@ const p = (t, e) => {
69
69
  }
70
70
  },
71
71
  setup(t) {
72
- return (e, o) => (s(), n("div", {
73
- class: u(["card", { "card-shadow": t.shadow }])
72
+ return (o, e) => (a(), n("div", {
73
+ class: m(["card", { "card-shadow": t.shadow }])
74
74
  }, [
75
- e.$slots.header || t.title ? (s(), n("div", $, [
76
- t.title ? (s(), n("h3", z, f(t.title), 1)) : i("", !0),
77
- r(e.$slots, "header", {}, void 0, !0)
75
+ o.$slots.header || t.title ? (a(), n("div", k, [
76
+ t.title ? (a(), n("h3", z, f(t.title), 1)) : i("", !0),
77
+ r(o.$slots, "header", {}, void 0, !0)
78
78
  ])) : i("", !0),
79
- l("div", w, [
80
- r(e.$slots, "default", {}, void 0, !0)
79
+ s("div", C, [
80
+ r(o.$slots, "default", {}, void 0, !0)
81
81
  ]),
82
- e.$slots.footer ? (s(), n("div", S, [
83
- r(e.$slots, "footer", {}, void 0, !0)
82
+ o.$slots.footer ? (a(), n("div", S, [
83
+ r(o.$slots, "footer", {}, void 0, !0)
84
84
  ])) : i("", !0)
85
85
  ], 2));
86
86
  }
87
- }, C = /* @__PURE__ */ p(_, [["__scopeId", "data-v-2d83e63a"]]), x = { class: "modal-dialog" }, M = { class: "modal-content" }, E = { class: "modal-header" }, L = {
87
+ }, M = /* @__PURE__ */ c(w, [["__scopeId", "data-v-2d83e63a"]]), E = { class: "modal-dialog" }, L = { class: "modal-content" }, I = { class: "modal-header" }, x = {
88
88
  key: 0,
89
89
  class: "modal-header-title"
90
- }, D = { class: "modal-body" }, I = {
90
+ }, D = { class: "modal-body" }, N = {
91
91
  key: 0,
92
92
  class: "modal-footer"
93
- }, A = {
93
+ }, O = {
94
94
  key: 1,
95
95
  class: "modal-footer"
96
- }, F = {
96
+ }, V = {
97
97
  __name: "Modal",
98
98
  props: {
99
99
  // 是否显示模态框
@@ -113,47 +113,66 @@ const p = (t, e) => {
113
113
  }
114
114
  },
115
115
  emits: ["close", "cancel", "confirm"],
116
- setup(t, { emit: e }) {
117
- const o = e, a = () => {
118
- o("close");
116
+ setup(t, { emit: o }) {
117
+ const e = o, l = () => {
118
+ e("close");
119
119
  }, d = () => {
120
- o("cancel");
121
- }, v = () => {
122
- o("confirm");
120
+ e("cancel");
121
+ }, h = () => {
122
+ e("confirm");
123
123
  };
124
- return (c, G) => t.visible ? (s(), n("div", {
124
+ return (u, Q) => t.visible ? (a(), n("div", {
125
125
  key: 0,
126
- class: u(["modal", { "modal-show": t.visible }])
126
+ class: m(["modal", { "modal-show": t.visible }])
127
127
  }, [
128
- l("div", x, [
129
- l("div", M, [
130
- l("div", E, [
131
- t.title ? (s(), n("h3", L, f(t.title), 1)) : i("", !0),
132
- l("button", {
128
+ s("div", E, [
129
+ s("div", L, [
130
+ s("div", I, [
131
+ t.title ? (a(), n("h3", x, f(t.title), 1)) : i("", !0),
132
+ s("button", {
133
133
  class: "modal-header-close",
134
- onClick: a
134
+ onClick: l
135
135
  }, "×")
136
136
  ]),
137
- l("div", D, [
138
- r(c.$slots, "default", {}, void 0, !0)
137
+ s("div", D, [
138
+ r(u.$slots, "default", {}, void 0, !0)
139
139
  ]),
140
- c.$slots.footer ? (s(), n("div", I, [
141
- r(c.$slots, "footer", {}, void 0, !0)
142
- ])) : t.showFooter ? (s(), n("div", A, [
143
- l("button", {
140
+ u.$slots.footer ? (a(), n("div", N, [
141
+ r(u.$slots, "footer", {}, void 0, !0)
142
+ ])) : t.showFooter ? (a(), n("div", O, [
143
+ s("button", {
144
144
  class: "btn btn-secondary",
145
145
  onClick: d
146
146
  }, "取消"),
147
- l("button", {
147
+ s("button", {
148
148
  class: "btn btn-primary",
149
- onClick: v
149
+ onClick: h
150
150
  }, "确定")
151
151
  ])) : i("", !0)
152
152
  ])
153
153
  ])
154
154
  ], 2)) : i("", !0);
155
155
  }
156
- }, N = /* @__PURE__ */ p(F, [["__scopeId", "data-v-c66cec30"]]), O = {
156
+ }, j = /* @__PURE__ */ c(V, [["__scopeId", "data-v-c66cec30"]]), A = { class: "lzbutton-wrapper" }, F = /* @__PURE__ */ Object.assign({
157
+ name: "Lzbutton"
158
+ }, {
159
+ __name: "lzbutton",
160
+ setup(t) {
161
+ return (o, e) => (a(), n("div", A, [...e[0] || (e[0] = [
162
+ s("button", { class: "button" }, [
163
+ s("svg", {
164
+ xmlns: "http://www.w3.org/2000/svg",
165
+ viewBox: "0 0 36 24"
166
+ }, [
167
+ s("path", { d: "m18 0 8 12 10-8-4 20H4L0 4l10 8 8-12z" })
168
+ ]),
169
+ B(" Unlock Pro ")
170
+ ], -1)
171
+ ])]));
172
+ }
173
+ }), H = /* @__PURE__ */ c(F, [["__scopeId", "data-v-c2498af3"]]), P = {
174
+ Lzbutton: H
175
+ }, R = {
157
176
  name: "Button",
158
177
  type: "vue",
159
178
  label: "Button 按钮",
@@ -167,7 +186,7 @@ const p = (t, e) => {
167
186
  <script setup>
168
187
  import { Button } from 'little-dizzy'
169
188
  <\/script>`
170
- }, V = {
189
+ }, T = {
171
190
  name: "Card",
172
191
  type: "vue",
173
192
  label: "Card 卡片",
@@ -187,7 +206,7 @@ import { Button } from 'little-dizzy'
187
206
  <script setup>
188
207
  import { Card, Button } from 'little-dizzy'
189
208
  <\/script>`
190
- }, j = {
209
+ }, U = {
191
210
  name: "Modal",
192
211
  type: "vue",
193
212
  label: "Modal 模态框",
@@ -212,59 +231,13 @@ import { Modal, Button } from 'little-dizzy'
212
231
 
213
232
  const visible = ref(false)
214
233
  <\/script>`
215
- }, H = {
216
- name: "lzbutton",
217
- type: "html",
218
- label: "LzButton 渐变按钮",
219
- code: `<button class="button">
220
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 24">
221
- <path d="m18 0 8 12 10-8-4 20H4L0 4l10 8 8-12z"></path>
222
- </svg>
223
- Unlock Pro
224
- </button>
225
-
226
- <style>
227
- .button {
228
- width: fit-content;
229
- display: flex;
230
- padding: 1.2em 1rem;
231
- cursor: pointer;
232
- gap: 0.4rem;
233
- font-weight: bold;
234
- border-radius: 30px;
235
- text-shadow: 2px 2px 3px rgb(136 0 136 / 50%);
236
- background: linear-gradient(15deg, #880088, #aa2068, #cc3f47, #de6f3d, #f09f33, #de6f3d, #cc3f47, #aa2068, #880088) no-repeat;
237
- background-size: 300%;
238
- color: #fff;
239
- border: none;
240
- background-position: left center;
241
- box-shadow: 0 30px 10px -20px rgba(0,0,0,.2);
242
- transition: background .3s ease;
243
- }
244
-
245
- .button:hover {
246
- background-size: 320%;
247
- background-position: right center;
248
- }
249
-
250
- .button:hover svg {
251
- fill: #fff;
252
- }
253
-
254
- .button svg {
255
- width: 23px;
256
- fill: #f09f33;
257
- transition: .3s ease;
258
- }
259
- </style>`
260
- }, P = [
261
- O,
262
- V,
263
- j,
264
- H
265
- ], m = /* @__PURE__ */ new Map();
266
- function b(t) {
267
- return !t || !t.name ? (console.warn("[LittleDizzy] Snippet must have a name property"), !1) : (m.set(t.name, {
234
+ }, q = [
235
+ R,
236
+ T,
237
+ U
238
+ ], p = /* @__PURE__ */ new Map();
239
+ function y(t) {
240
+ return !t || !t.name ? (console.warn("[LittleDizzy] Snippet must have a name property"), !1) : (p.set(t.name, {
268
241
  name: t.name,
269
242
  type: t.type || "html",
270
243
  label: t.label || t.name,
@@ -273,43 +246,46 @@ function b(t) {
273
246
  ...t
274
247
  }), !0);
275
248
  }
276
- function y(t) {
249
+ function b(t) {
277
250
  if (!Array.isArray(t))
278
251
  return console.warn("[LittleDizzy] registerSnippets expects an array"), 0;
279
- let e = 0;
280
- return t.forEach((o) => {
281
- b(o) && e++;
282
- }), e;
252
+ let o = 0;
253
+ return t.forEach((e) => {
254
+ y(e) && o++;
255
+ }), o;
283
256
  }
284
- function R() {
257
+ function G() {
285
258
  const t = {};
286
- return m.forEach((e, o) => {
287
- t[o] = e;
259
+ return p.forEach((o, e) => {
260
+ t[e] = o;
288
261
  }), t;
289
262
  }
290
- function U(t) {
291
- return m.get(t);
263
+ function J(t) {
264
+ return p.get(t);
292
265
  }
293
- y(P);
294
- const h = {
295
- Button: k,
296
- Card: C,
297
- Modal: N
298
- }, q = (t, e = {}) => {
299
- Object.entries(h).forEach(([o, a]) => {
300
- t.component(e.prefix ? `${e.prefix}${o}` : o, a);
266
+ b(q);
267
+ const v = {
268
+ Button: $,
269
+ Card: M,
270
+ Modal: j,
271
+ ...P
272
+ }, K = (t, o = {}) => {
273
+ Object.entries(v).forEach(([e, l]) => {
274
+ t.component(o.prefix ? `${o.prefix}${e}` : e, l);
301
275
  });
302
- }, K = R, Q = b, T = y, W = U, X = {
303
- install: q,
304
- ...h
276
+ }, X = G, Y = y, Z = b, tt = J, et = {
277
+ install: K,
278
+ ...v
305
279
  };
306
280
  export {
307
- k as Button,
308
- C as Card,
309
- N as Modal,
310
- X as default,
311
- W as getSnippet,
312
- Q as registerSnippet,
313
- T as registerSnippets,
314
- K as snippets
281
+ $ as Button,
282
+ M as Card,
283
+ H as Lzbutton,
284
+ j as Modal,
285
+ P as customComponents,
286
+ et as default,
287
+ tt as getSnippet,
288
+ Y as registerSnippet,
289
+ Z as registerSnippets,
290
+ X as snippets
315
291
  };
@@ -1,4 +1,4 @@
1
- (function(l,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(l=typeof globalThis<"u"?globalThis:l||self,e(l.LittleDizzy={},l.Vue))})(this,(function(l,e){"use strict";const r=(t,o)=>{const n=t.__vccOpts||t;for(const[a,s]of o)n[a]=s;return n},y=["disabled"],c=r({__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:o}){return(n,a)=>(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:a[0]||(a[0]=s=>n.$emit("click",s))},[e.renderSlot(n.$slots,"default",{},void 0,!0)],10,y))}},[["__scopeId","data-v-75f082b2"]]),h={key:0,class:"card-header"},B={key:0,class:"card-header-title"},g={class:"card-body"},k={key:1,class:"card-footer"},m=r({__name:"Card",props:{title:{type:String,default:""},shadow:{type:Boolean,default:!0}},setup(t){return(o,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["card",{"card-shadow":t.shadow}])},[o.$slots.header||t.title?(e.openBlock(),e.createElementBlock("div",h,[t.title?(e.openBlock(),e.createElementBlock("h3",B,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"header",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",g,[e.renderSlot(o.$slots,"default",{},void 0,!0)]),o.$slots.footer?(e.openBlock(),e.createElementBlock("div",k,[e.renderSlot(o.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],2))}},[["__scopeId","data-v-2d83e63a"]]),S={class:"modal-dialog"},_={class:"modal-content"},z={class:"modal-header"},C={key:0,class:"modal-header-title"},$={class:"modal-body"},w={key:0,class:"modal-footer"},E={key:1,class:"modal-footer"},p=r({__name:"Modal",props:{visible:{type:Boolean,default:!1},title:{type:String,default:""},showFooter:{type:Boolean,default:!0}},emits:["close","cancel","confirm"],setup(t,{emit:o}){const n=o,a=()=>{n("close")},s=()=>{n("cancel")},O=()=>{n("confirm")};return(d,U)=>t.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["modal",{"modal-show":t.visible}])},[e.createElementVNode("div",S,[e.createElementVNode("div",_,[e.createElementVNode("div",z,[t.title?(e.openBlock(),e.createElementBlock("h3",C,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"modal-header-close",onClick:a},"×")]),e.createElementVNode("div",$,[e.renderSlot(d.$slots,"default",{},void 0,!0)]),d.$slots.footer?(e.openBlock(),e.createElementBlock("div",w,[e.renderSlot(d.$slots,"footer",{},void 0,!0)])):t.showFooter?(e.openBlock(),e.createElementBlock("div",E,[e.createElementVNode("button",{class:"btn btn-secondary",onClick:s},"取消"),e.createElementVNode("button",{class:"btn btn-primary",onClick:O},"确定")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0)}},[["__scopeId","data-v-c66cec30"]]),V=[{name:"Button",type:"vue",label:"Button 按钮",code:`<template>
1
+ (function(l,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(l=typeof globalThis<"u"?globalThis:l||self,e(l.LittleDizzy={},l.Vue))})(this,(function(l,e){"use strict";const r=(t,n)=>{const o=t.__vccOpts||t;for(const[a,s]of n)o[a]=s;return o},h=["disabled"],d=r({__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:n}){return(o,a)=>(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:a[0]||(a[0]=s=>o.$emit("click",s))},[e.renderSlot(o.$slots,"default",{},void 0,!0)],10,h))}},[["__scopeId","data-v-75f082b2"]]),_={key:0,class:"card-header"},k={key:0,class:"card-header-title"},S={class:"card-body"},g={key:1,class:"card-footer"},m=r({__name:"Card",props:{title:{type:String,default:""},shadow:{type:Boolean,default:!0}},setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["card",{"card-shadow":t.shadow}])},[n.$slots.header||t.title?(e.openBlock(),e.createElementBlock("div",_,[t.title?(e.openBlock(),e.createElementBlock("h3",k,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"header",{},void 0,!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",S,[e.renderSlot(n.$slots,"default",{},void 0,!0)]),n.$slots.footer?(e.openBlock(),e.createElementBlock("div",g,[e.renderSlot(n.$slots,"footer",{},void 0,!0)])):e.createCommentVNode("",!0)],2))}},[["__scopeId","data-v-2d83e63a"]]),$={class:"modal-dialog"},C={class:"modal-content"},z={class:"modal-header"},E={key:0,class:"modal-header-title"},V={class:"modal-body"},N={key:0,class:"modal-footer"},w={key:1,class:"modal-footer"},p=r({__name:"Modal",props:{visible:{type:Boolean,default:!1},title:{type:String,default:""},showFooter:{type:Boolean,default:!0}},emits:["close","cancel","confirm"],setup(t,{emit:n}){const o=n,a=()=>{o("close")},s=()=>{o("cancel")},q=()=>{o("confirm")};return(c,W)=>t.visible?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["modal",{"modal-show":t.visible}])},[e.createElementVNode("div",$,[e.createElementVNode("div",C,[e.createElementVNode("div",z,[t.title?(e.openBlock(),e.createElementBlock("h3",E,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("button",{class:"modal-header-close",onClick:a},"×")]),e.createElementVNode("div",V,[e.renderSlot(c.$slots,"default",{},void 0,!0)]),c.$slots.footer?(e.openBlock(),e.createElementBlock("div",N,[e.renderSlot(c.$slots,"footer",{},void 0,!0)])):t.showFooter?(e.openBlock(),e.createElementBlock("div",w,[e.createElementVNode("button",{class:"btn btn-secondary",onClick:s},"取消"),e.createElementVNode("button",{class:"btn btn-primary",onClick:q},"确定")])):e.createCommentVNode("",!0)])])],2)):e.createCommentVNode("",!0)}},[["__scopeId","data-v-c66cec30"]]),M={class:"lzbutton-wrapper"},u=r(Object.assign({name:"Lzbutton"},{__name:"lzbutton",setup(t){return(n,o)=>(e.openBlock(),e.createElementBlock("div",M,[...o[0]||(o[0]=[e.createElementVNode("button",{class:"button"},[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"})]),e.createTextVNode(" Unlock Pro ")],-1)])]))}}),[["__scopeId","data-v-c2498af3"]]),f={Lzbutton:u},L=[{name:"Button",type:"vue",label:"Button 按钮",code:`<template>
2
2
  <Button type="primary">主要按钮</Button>
3
3
  <Button type="success">成功按钮</Button>
4
4
  <Button type="warning">警告按钮</Button>
@@ -42,44 +42,4 @@ import { ref } from 'vue'
42
42
  import { Modal, Button } from 'little-dizzy'
43
43
 
44
44
  const visible = ref(false)
45
- <\/script>`},{name:"lzbutton",type:"html",label:"LzButton 渐变按钮",code:`<button class="button">
46
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 24">
47
- <path d="m18 0 8 12 10-8-4 20H4L0 4l10 8 8-12z"></path>
48
- </svg>
49
- Unlock Pro
50
- </button>
51
-
52
- <style>
53
- .button {
54
- width: fit-content;
55
- display: flex;
56
- padding: 1.2em 1rem;
57
- cursor: pointer;
58
- gap: 0.4rem;
59
- font-weight: bold;
60
- border-radius: 30px;
61
- text-shadow: 2px 2px 3px rgb(136 0 136 / 50%);
62
- background: linear-gradient(15deg, #880088, #aa2068, #cc3f47, #de6f3d, #f09f33, #de6f3d, #cc3f47, #aa2068, #880088) no-repeat;
63
- background-size: 300%;
64
- color: #fff;
65
- border: none;
66
- background-position: left center;
67
- box-shadow: 0 30px 10px -20px rgba(0,0,0,.2);
68
- transition: background .3s ease;
69
- }
70
-
71
- .button:hover {
72
- background-size: 320%;
73
- background-position: right center;
74
- }
75
-
76
- .button:hover svg {
77
- fill: #fff;
78
- }
79
-
80
- .button svg {
81
- width: 23px;
82
- fill: #f09f33;
83
- transition: .3s ease;
84
- }
85
- </style>`}],i=new Map;function u(t){return!t||!t.name?(console.warn("[LittleDizzy] Snippet must have a name property"),!1):(i.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 f(t){if(!Array.isArray(t))return console.warn("[LittleDizzy] registerSnippets expects an array"),0;let o=0;return t.forEach(n=>{u(n)&&o++}),o}function N(){const t={};return i.forEach((o,n)=>{t[n]=o}),t}function M(t){return i.get(t)}f(V);const b={Button:c,Card:m,Modal:p},v=(t,o={})=>{Object.entries(b).forEach(([n,a])=>{t.component(o.prefix?`${o.prefix}${n}`:n,a)})},x=N,D=u,L=f,j=M,I={install:v,...b};l.Button=c,l.Card=m,l.Modal=p,l.default=I,l.getSnippet=j,l.registerSnippet=D,l.registerSnippets=L,l.snippets=x,Object.defineProperties(l,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
45
+ <\/script>`}],i=new Map;function y(t){return!t||!t.name?(console.warn("[LittleDizzy] Snippet must have a name property"),!1):(i.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 b(t){if(!Array.isArray(t))return console.warn("[LittleDizzy] registerSnippets expects an array"),0;let n=0;return t.forEach(o=>{y(o)&&n++}),n}function D(){const t={};return i.forEach((n,o)=>{t[o]=n}),t}function j(t){return i.get(t)}b(L);const B={Button:d,Card:m,Modal:p,...f},I=(t,n={})=>{Object.entries(B).forEach(([o,a])=>{t.component(n.prefix?`${n.prefix}${o}`:o,a)})},O=D,T=y,A=b,F=j,P={install:I,...B};l.Button=d,l.Card=m,l.Lzbutton=u,l.Modal=p,l.customComponents=f,l.default=P,l.getSnippet=F,l.registerSnippet=T,l.registerSnippets=A,l.snippets=O,Object.defineProperties(l,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "little-dizzy",
3
- "version": "1.2.0",
3
+ "version": "2.1.0",
4
4
  "description": "LittleDizzy - 一个支持代码片段的 Vue 3 UI 组件库",
5
5
  "type": "module",
6
6
  "main": "dist/little-dizzy.umd.cjs",
@@ -24,7 +24,11 @@
24
24
  "dev": "vite",
25
25
  "build": "vite build",
26
26
  "build:lib": "vite build --config vite.lib.config.js",
27
- "preview": "vite preview"
27
+ "preview": "vite preview",
28
+ "prepublishOnly": "npm run build:lib",
29
+ "publish:patch": "npm version patch --no-git-tag-version && npm run build:lib && npm publish --registry https://registry.npmjs.org",
30
+ "publish:minor": "npm version minor --no-git-tag-version && npm run build:lib && npm publish --registry https://registry.npmjs.org",
31
+ "publish:major": "npm version major --no-git-tag-version && npm run build:lib && npm publish --registry https://registry.npmjs.org"
28
32
  },
29
33
  "keywords": [
30
34
  "vue",
@@ -52,4 +56,4 @@
52
56
  "sass": "^1.97.1",
53
57
  "vite": "^7.2.4"
54
58
  }
55
- }
59
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * 自定义组件
3
+ *
4
+ * 通过 Demo 页面上传的代码片段会自动生成 Vue 组件到这里
5
+ * 此文件由 vite-plugin-snippet-writer 自动维护
6
+ */
7
+
8
+ import Lzbutton from './lzbutton.vue'
9
+
10
+ // 自定义组件导出
11
+ export const customComponents = {
12
+ Lzbutton
13
+ }
14
+
15
+ // 单独导出每个组件
16
+ export { Lzbutton }
17
+
18
+ export default customComponents
@@ -1,52 +1,57 @@
1
- /**
2
- * LzButton 代码片段
3
- * 渐变动画按钮
4
- */
5
-
6
- export default {
7
- name: 'lzbutton',
8
- type: 'html',
9
- label: 'LzButton 渐变按钮',
10
- code: `<button class="button">
11
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 24">
12
- <path d="m18 0 8 12 10-8-4 20H4L0 4l10 8 8-12z"></path>
13
- </svg>
14
- Unlock Pro
15
- </button>
16
-
17
- <style>
18
- .button {
19
- width: fit-content;
20
- display: flex;
21
- padding: 1.2em 1rem;
22
- cursor: pointer;
23
- gap: 0.4rem;
24
- font-weight: bold;
25
- border-radius: 30px;
26
- text-shadow: 2px 2px 3px rgb(136 0 136 / 50%);
27
- background: linear-gradient(15deg, #880088, #aa2068, #cc3f47, #de6f3d, #f09f33, #de6f3d, #cc3f47, #aa2068, #880088) no-repeat;
28
- background-size: 300%;
29
- color: #fff;
30
- border: none;
31
- background-position: left center;
32
- box-shadow: 0 30px 10px -20px rgba(0,0,0,.2);
33
- transition: background .3s ease;
34
- }
35
-
36
- .button:hover {
37
- background-size: 320%;
38
- background-position: right center;
39
- }
40
-
41
- .button:hover svg {
42
- fill: #fff;
43
- }
44
-
45
- .button svg {
46
- width: 23px;
47
- fill: #f09f33;
48
- transition: .3s ease;
49
- }
50
- </style>`
51
- }
52
-
1
+ <template>
2
+ <div class="lzbutton-wrapper">
3
+ <button class="button">
4
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 24">
5
+ <path d="m18 0 8 12 10-8-4 20H4L0 4l10 8 8-12z"></path>
6
+ </svg>
7
+ Unlock Pro
8
+ </button>
9
+ </div>
10
+ </template>
11
+
12
+ <script setup>
13
+ /**
14
+ * 渐变按钮
15
+ *
16
+ * 由 LittleDizzy Demo 自动生成
17
+ * @component Lzbutton
18
+ */
19
+ defineOptions({
20
+ name: 'Lzbutton'
21
+ })
22
+ </script>
23
+
24
+ <style scoped>
25
+ .button {
26
+ width: fit-content;
27
+ display: flex;
28
+ padding: 1.2em 1rem;
29
+ cursor: pointer;
30
+ gap: 0.4rem;
31
+ font-weight: bold;
32
+ border-radius: 30px;
33
+ text-shadow: 2px 2px 3px rgb(136 0 136 / 50%);
34
+ background: linear-gradient(15deg, #880088, #aa2068, #cc3f47, #de6f3d, #f09f33, #de6f3d, #cc3f47, #aa2068, #880088) no-repeat;
35
+ background-size: 300%;
36
+ color: #fff;
37
+ border: none;
38
+ background-position: left center;
39
+ box-shadow: 0 30px 10px -20px rgba(0,0,0,.2);
40
+ transition: background .3s ease;
41
+ }
42
+
43
+ .button:hover {
44
+ background-size: 320%;
45
+ background-position: right center;
46
+ }
47
+
48
+ .button:hover svg {
49
+ fill: #fff;
50
+ }
51
+
52
+ .button svg {
53
+ width: 23px;
54
+ fill: #f09f33;
55
+ transition: .3s ease;
56
+ }
57
+ </style>
package/src/index.js CHANGED
@@ -5,30 +5,37 @@
5
5
  *
6
6
  * 1. 完整引入
7
7
  * import LittleDizzy from 'little-dizzy'
8
- * import 'little-dizzy/dist/styles/index.css'
8
+ * import 'little-dizzy/dist/little-dizzy.css'
9
9
  * app.use(LittleDizzy)
10
10
  *
11
11
  * 2. 按需引入组件
12
12
  * import { Button, Card, Modal } from 'little-dizzy'
13
13
  * app.component('Button', Button)
14
14
  *
15
- * 3. 引入代码片段
15
+ * 3. 引入自定义组件(通过 Demo 上传生成的)
16
+ * import { LzButton } from 'little-dizzy'
17
+ *
18
+ * 4. 引入代码片段
16
19
  * import { snippets, registerSnippet } from 'little-dizzy'
17
20
  */
18
21
 
19
- // 导入组件
22
+ // 导入内置组件
20
23
  import Button from './components/Button.vue'
21
24
  import Card from './components/Card.vue'
22
25
  import Modal from './components/Modal.vue'
23
26
 
27
+ // 导入自定义组件(由 Demo 上传生成)
28
+ import { customComponents } from './components/custom/index.js'
29
+
24
30
  // 导入代码片段系统
25
31
  import * as snippetsModule from './snippets/index.js'
26
32
 
27
- // 组件列表
33
+ // 合并所有组件
28
34
  const components = {
29
35
  Button,
30
36
  Card,
31
- Modal
37
+ Modal,
38
+ ...customComponents
32
39
  }
33
40
 
34
41
  // 安装函数
@@ -45,9 +52,12 @@ export const registerSnippet = snippetsModule.registerSnippet
45
52
  export const registerSnippets = snippetsModule.registerSnippets
46
53
  export const getSnippet = snippetsModule.getSnippet
47
54
 
48
- // 导出单个组件(按需引入)
55
+ // 导出内置组件(按需引入)
49
56
  export { Button, Card, Modal }
50
57
 
58
+ // 重新导出自定义组件
59
+ export * from './components/custom/index.js'
60
+
51
61
  // 默认导出(完整引入)
52
62
  export default {
53
63
  install,
@@ -7,18 +7,16 @@
7
7
  import buttonSnippet from './button.js'
8
8
  import cardSnippet from './card.js'
9
9
  import modalSnippet from './modal.js'
10
- import lzbuttonSnippet from './lzbutton.js'
11
10
 
12
11
  // 所有预设代码片段
13
12
  export const presetSnippets = [
14
13
  buttonSnippet,
15
14
  cardSnippet,
16
- modalSnippet,
17
- lzbuttonSnippet
15
+ modalSnippet
18
16
  ]
19
17
 
20
18
  // 单独导出
21
- export { buttonSnippet, cardSnippet, modalSnippet, lzbuttonSnippet }
19
+ export { buttonSnippet, cardSnippet, modalSnippet }
22
20
 
23
21
  export default presetSnippets
24
22
 
@@ -1,43 +0,0 @@
1
- <script setup>
2
- import { ref } from 'vue'
3
-
4
- defineProps({
5
- msg: String,
6
- })
7
-
8
- const count = ref(0)
9
- </script>
10
-
11
- <template>
12
- <h1>{{ msg }}</h1>
13
-
14
- <div class="card">
15
- <button type="button" @click="count++">count is {{ count }}</button>
16
- <p>
17
- Edit
18
- <code>components/HelloWorld.vue</code> to test HMR
19
- </p>
20
- </div>
21
-
22
- <p>
23
- Check out
24
- <a href="https://vuejs.org/guide/quick-start.html#local" target="_blank"
25
- >create-vue</a
26
- >, the official Vue + Vite starter
27
- </p>
28
- <p>
29
- Learn more about IDE Support for Vue in the
30
- <a
31
- href="https://vuejs.org/guide/scaling-up/tooling.html#ide-support"
32
- target="_blank"
33
- >Vue Docs Scaling up Guide</a
34
- >.
35
- </p>
36
- <p class="read-the-docs">Click on the Vite and Vue logos to learn more</p>
37
- </template>
38
-
39
- <style scoped>
40
- .read-the-docs {
41
- color: #888;
42
- }
43
- </style>