UNPKG

@jaak.ai/file-uploader

Version:
170 lines (163 loc) 3.7 kB
:host { display: inline-flex; flex-direction: column; align-items: center; height: 100%; width: 100%; --background-color: rgba(0, 0, 0, 0.07); --border-radius: 15px; --border-width: 3px; --border-color: #c8c8cb; --description-font-size: 15px; --description-color: #87859a; --button-font-size: 12px; --button-color: #fff; --button-border-color: rgba(0, 0, 0, 0.3); --button-background-color: #202945; --placeholder-color: rgba(0, 0, 0, 0.3); --border-style: solid; --primary-text-color: #202945; } .fu-file-input { position: absolute; height: 0; width: 0; z-index: 0; opacity: 0; left: 0; top: 0; } .fu-file-container { width: 100%; height: 100%; box-sizing: border-box; border-radius: var(--border-radius, 15px); border-width: var(--border-width, 3px); border-style: var(--border-style, solid); border-color: var(--border-color, #c8c8cb); position: relative; background-color: var(--background-color, rgba(0, 0, 0, 0.07)); } .fu-file-container input.fu-file-input { position: absolute; height: 100%; width: 100%; z-index: 999; cursor: pointer; } .fu-file-container input.fu-file-input::file-selector-button { cursor: pointer; } .fu-file-container img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 100; object-fit: contain; border-radius: calc(var(--border-radius, 15px) - var(--border-width, 3px)); } .fu-file-container video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 100; object-fit: cover; border-radius: calc(var(--border-radius, 15px) - var(--border-width, 3px)); } .fu-file-container .fu-file-placeholder { position: absolute; left: 20px; right: 20px; top: 45%; color: var(--placeholder-color, #202945); text-align: center; font-weight: bold; font-size: 20px; } .fu-file-container.selected-file input.fu-file-input { height: 0; width: 0; } .fu-file-container.selected-file .fu-file-placeholder { display: none; } button.fu-file-button { padding: 8px 16px; font-size: var(--button-font-size, 12px); border-radius: 8px; border-width: 1px; border-color: var(--button-border-color, rgba(0, 0, 0, 0.3)); color: var(--button-color, #fff); background-color: var(--button-background-color, #202945); margin: auto; cursor: pointer; } .fu-file-description { font-size: var(--description-font-size, 15px); color: var(--description-color, #87859a); text-align: center; } .fu-file-icon-button { background: transparent; border: none; position: absolute; right: 4px; top: 4px; border-radius: 50%; cursor: pointer; width: 20px; height: 20px; z-index: 99999; padding: 0; } .icon-close-button { position: relative; display: inline-block; width: 20px; height: 20px; overflow: hidden; cursor: pointer; } .icon-close-button:hover::before, .icon-close-button:hover::after { background: var(--button-background-color, #202945); } .icon-close-button::before, .icon-close-button::after { content: ""; position: absolute; height: 4px; width: 100%; border-radius: 4px; top: 50%; left: 0; margin-top: -1px; background: #000; } .icon-close-button::before { transform: rotate(45deg); } .icon-close-button::after { transform: rotate(-45deg); } .fu-document-preview { position: absolute; left: 0; top: 0; color: var(--primary-text-color, #202945); text-align: center; font-weight: bold; font-size: 20px; width: 100%; height: 100%; z-index: 999; background: white; border-radius: var(--border-radius, 15px); display: flex; flex-direction: column; gap: 8px; align-items: center; justify-content: center; }