UNPKG

@kevinkosterr/vue3-form-generator

Version:

A schema-based form generator component for Vue 3, based on the original [`vue-form-generator`](https://github.com/vue-generators/vue-form-generator) library.

251 lines (246 loc) 6.12 kB
.vfg-fi { display: flex; align-items: center; } .vfg-fi svg { height: 18px; } .vfg-fi.vfg-fi-right { float: right; } .vfg-fi.vfg-fi-left { float: left; } .vue-form-generator { /** Select field */ /** End of select field */ } .vue-form-generator .vfg-select { display: inline-flex; cursor: pointer; position: relative; user-select: none; border: 1px solid #cdcdcd; color: #202020; border-radius: 5px; width: 100%; min-height: 30px; background: #f4f4f4; } .vue-form-generator .vfg-select .vfg-select-label { display: flex; align-items: center; justify-content: space-between; flex: 1 0 70%; align-content: center; padding: 0.3rem 0.4rem; } .vue-form-generator .vfg-select .vfg-select-label.text-muted { color: #5c5c5c; } .vue-form-generator .vfg-select .vfg-select-list-container { position: absolute; padding: 0.3rem; top: calc(35px + 0.2rem); left: 0; right: 0; background: #f4f4f4; border-radius: 3px; max-height: 250px; overflow-y: auto; z-index: 999; } .vue-form-generator .vfg-select .vfg-select-list-container .vfg-select-list { border-radius: inherit; } .vue-form-generator .vfg-select .vfg-select-list-container .vfg-select-list .vfg-select-option { display: flex; align-content: center; justify-content: space-between; padding: 0.3rem 0.4rem; margin-bottom: 0.1rem; } .vue-form-generator .vfg-select .vfg-select-list-container .vfg-select-list .vfg-select-option:first-child, .vue-form-generator .vfg-select .vfg-select-list-container .vfg-select-list .vfg-select-option:first-child:hover, .vue-form-generator .vfg-select .vfg-select-list-container .vfg-select-list .vfg-select-option:last-child, .vue-form-generator .vfg-select .vfg-select-list-container .vfg-select-list .vfg-select-option:last-child:hover { border-radius: 3px; } .vue-form-generator .vfg-select .vfg-select-list-container .vfg-select-list .vfg-select-option.selected, .vue-form-generator .vfg-select .vfg-select-list-container .vfg-select-list .vfg-select-option:hover { background: #d3d3d3; } .vue-form-generator .vfg-select .vfg-select-list-container .vfg-select-list .vfg-select-option:hover { cursor: pointer; } .field-color-wrapper { display: flex; flex-direction: row-reverse; align-items: stretch; justify-content: start; } .field-color-wrapper .field-color-input { max-width: 100px; } .vue-form-generator { /** Form group */ /** Password strength */ /** Radio field */ /** Color field */ /** End of color field */ /** Simple button */ /** End of simple button */ /** Submit field */ /** Textarea field */ /** Switch field */ /** End of switch field */ } .vue-form-generator input:not([type=checkbox], [type=submit], [type=radio], [type=color], [type=reset]), .vue-form-generator textarea { width: 100%; padding: 0.3rem 0.4rem; border-radius: 3px; border: none; background: #f4f4f4; } .vue-form-generator input:not([type=checkbox], [type=submit], [type=radio], [type=color], [type=reset])::placeholder, .vue-form-generator textarea::placeholder { color: grey; } .vue-form-generator label { margin-bottom: 0.15rem; } .vue-form-generator input[type=submit], .vue-form-generator input[type=reset] { padding: 0.3rem 0.4rem; min-width: 100px; } .vue-form-generator input:focus, .vue-form-generator input:active { padding: 0.3rem 0.4rem; outline: none; } .vue-form-generator fieldset { border: none; } .vue-form-generator .form-group { margin: 0.3rem 0; } .vue-form-generator .form-group:has(input[required], select[required]) label:first-child::after { content: "*"; font-size: 0.9em; color: #ea0000; margin-left: 0.2rem; } .vue-form-generator .hint { color: #9f9f9f; font-size: 90%; } .vue-form-generator .errors { color: #ea0000; font-size: 90%; margin-top: 0.2rem; margin-bottom: 0.3rem; } .vue-form-generator .password-strength-indicator { transition: width 0.1s ease-in, background 0.3s ease-in; height: 0.5em; width: 100%; background: rgba(0, 0, 0, 0.1); } .vue-form-generator .field-radio .option-wrap { margin: 0.4rem; } .vue-form-generator .field-radio label { margin-left: 0.5rem; } .vue-form-generator .field-color { padding: 0; border: none; border-radius: 3px; width: 45px; } .vue-form-generator .field-color:active, .vue-form-generator .field-color:focus { border: none; padding: 0; } .vue-form-generator .field-color:hover { cursor: pointer; } .vue-form-generator button { border-radius: 3px; padding: 0.3rem 0.4rem; min-width: 100px; border: none; } .vue-form-generator .field-submit { color: #efefef; background: #007bff; border: 1px solid #0070e6; border-radius: 3px; } .vue-form-generator .field-submit:hover { background: rgb(15.3, 130.92, 255); } .vue-form-generator .field-textarea:focus { border: none; outline: none; } .vue-form-generator .field-reset { background: #e3e3e3; border: 2px solid #d8d8d8; color: #1b1b1b; border-radius: 3px; } .vue-form-generator .field-reset:hover { background: rgb(219.35, 219.35, 219.35); } .vue-form-generator .field-switch { position: relative; display: inline-block; width: 53px; height: 30px; } .vue-form-generator .field-switch input { opacity: 0; width: 0; height: 0; } .vue-form-generator .field-switch input:checked + .slider { background-color: #2196F3; } .vue-form-generator .field-switch input:checked + .slider:before { -webkit-transform: translateX(22px); -ms-transform: translateX(22px); transform: translateX(22px); } .vue-form-generator .field-switch input:focus + .slider { box-shadow: 0 0 1px #2196F3; } .vue-form-generator .field-switch .slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; -webkit-transition: 0.4s; transition: 0.4s; border-radius: 34px; } .vue-form-generator .field-switch .slider:before { position: absolute; content: ""; height: 24px; width: 24px; left: 4px; bottom: 3px; background-color: white; -webkit-transition: 0.4s; transition: 0.4s; border-radius: 50%; } /*# sourceMappingURL=basic.css.map */