UNPKG

@niku/ez-form

Version:

Powerful, Easy-to-use form package

109 lines (107 loc) 2.98 kB
:root { --ez-form-radius: 6px; --ez-form-required-mark-color: red; --ez-form-input-min-height: 32px; --ez-form-input-border-color: #ddd; --ez-form-input-focus-color: #4285f4; --ez-form-input-error-color: red; --ez-form-required-mark: "*"; --ez-form-colon: "*"; } .ez-form .ez-form-item { border-width: 0px; padding: 0; margin-bottom: 1.2rem; margin-left: 0; } .ez-form .ez-form-item * { box-sizing: border-box; outline: none; } .ez-form .ez-form-item.no-style { margin-bottom: 0; } .ez-form .ez-form-item.no-style .ez-form-item-label, .ez-form .ez-form-item.no-style .ez-form-item-errors, .ez-form .ez-form-item.no-style .ez-form-item-extra { display: none; } .ez-form .ez-form-item-label { font-size: 1rem; font-weight: 400; padding-bottom: 0.2rem; display: inline-block; } .ez-form .ez-form-item-label::before { content: var(--ez-form-required-mark); color: var(--ez-form-required-mark-color); padding-right: 0.2rem; display: none; } .ez-form .ez-form-item-label::after { content: var(--ez-form-colon); } .ez-form .ez-form-item-input { min-height: var(--ez-form-input-min-height); } .ez-form .ez-form-item-input input, .ez-form .ez-form-item-input textarea, .ez-form .ez-form-item-input select { height: var(--ez-form-input-min-height); border: 1px solid var(--ez-form-input-border-color); border-radius: var(--ez-form-radius); padding: 0.5rem 0.6rem; transition: all 0.3s; } .ez-form .ez-form-item-input input:focus, .ez-form .ez-form-item-input textarea:focus, .ez-form .ez-form-item-input select:focus { border-color: var(--ez-form-input-focus-color); box-shadow: 0 0 3px 1px var(--ez-form-input-focus-color); } .ez-form .ez-form-item:not(.no-style).has-errors { margin-bottom: 0; } .ez-form .ez-form-item:not(.no-style).has-errors input, .ez-form .ez-form-item:not(.no-style).has-errors textarea, .ez-form .ez-form-item:not(.no-style).has-errors select { border: 1px solid var(--ez-form-input-error-color); } .ez-form .ez-form-item:not(.no-style).has-errors input:focus, .ez-form .ez-form-item:not(.no-style).has-errors textarea:focus, .ez-form .ez-form-item:not(.no-style).has-errors select:focus { border-color: var(--ez-form-input-error-color); box-shadow: 0 0 3px 1px var(--ez-form-input-error-color); } .ez-form .ez-form-item-errors { display: flex; flex-direction: column; animation: showErrors 0.3s ease-in-out; } .ez-form .ez-form-item-errors span { color: var(--ez-form-input-error-color); font-size: 0.8rem; line-height: 1; margin-top: 0.2rem; margin-bottom: 0.2rem; } @keyframes showErrors { from { visibility: hidden; opacity: 0; transform-origin: 0 0; transform: rotateX(-180deg); } to { visibility: visible; opacity: 1; transform: rotateX(0deg); } } .ez-form .ez-form-item.ez-form-list > .ez-form-item-label { font-weight: 500; font-size: 1.2rem; } .ez-form .ez-form-item.required .ez-form-item-label::before { display: initial; }