UNPKG

jb-image-input

Version:
193 lines (164 loc) 4.82 kB
:host { width: var(--jb-image-input-width, 100%); height: var(--jb-image-input-height, 100%); } .jb-image-input-web-component { position: relative; background-color: var(--bg-color); width: 100%; height: 100%; border-radius: var(--border-radius); display: flex; justify-content: center; align-items: center; overflow: hidden; box-sizing: border-box; /* &.--has-error { border: solid 1px #ff1229; border-bottom: solid 3px #ff1229; background-color: #fdf1f1; }*/ &[status="empty"] { .placeholder-wrapper { display: flex; } } .placeholder-wrapper { width: 100%; height: 100%; display: none; cursor: pointer; background-color: var(--jb-image-input-placeholder-bg-color, transparent); .default-placeholder { width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; flex-direction: column; gap: 0.25rem; padding: 0.5rem; .icon-wrapper { svg { width: 64px; height: 64px; fill: var(--placeholder-neutral-color); .cls-1 { fill: var(--placeholder-primary-color); } } } .placeholder-title { color: var(--placeholder-title-color); font-variation-settings: "wght" 600; } .message-box { font-size: var(--jb-image-input-message-font-size, 0.7rem); padding: 2px 8px; color: var(--message-color); display: var(--jb-image-input-message-box-display, block); &:empty { padding: 0; } &.error { color: var(--message-error-color); } } } } &[status="uploading"] { .upload-loading-wrapper { display: flex; } } .upload-loading-wrapper { display: none; } &[status="uploaded"] { .download-loading-wrapper { display: flex; } } .download-loading-wrapper { display: none; } &[status="downloaded"] { .image-wrapper { display: block; img { object-fit: contain; width: 100%; height: 100%; } } } .image-wrapper { position: relative; display: none; width: 100%; height: 100%; object-fit: contain; &:hover .image-overlay { opacity: 1; } .image-overlay { cursor: pointer; opacity: 0; transition: all 0.3s 0s ease; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--overlay-bg-color); backdrop-filter: blur(8px); z-index: 1; overflow: hidden; border-radius: var(--border-radius); display: flex; justify-content: center; align-items: center; gap: 1rem; flex-wrap: wrap; .reselect-button { background-color: transparent; border-radius: 1rem; padding: 0.25rem 0.5rem; color: var(--reselect-button-color); } } } .error-overlay { display: none; transition: all 0.3s 0s ease; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--error-overlay-bg-color); backdrop-filter: blur(8px); z-index: 1; overflow: hidden; border-radius: var(--border-radius); /**/ justify-content: center; align-items: center; .error-content { display: flex; justify-content: center; align-items: center; gap: 1rem; .error-icon { fill: var(--error-overlay-icon-color); width: 4rem; height: 4rem; } .error-message { color: var(--error-overlay-color); outline: var(--error-overlay-outline); font-size: 1.3rem; } } } }