UNPKG

oliveyoung-restock-notification-popup

Version:

모바일 중심의 재입고 알림 신청 Bottom Sheet 웹컴포넌트

244 lines (211 loc) 4.08 kB
/* 재입고 알림 팝업 웹컴포넌트 스타일 */ .restock-popup-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); display: flex; justify-content: center; align-items: center; z-index: 9999; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; } .restock-popup-container { background: white; border-radius: 12px; padding: 32px; width: 90%; max-width: 480px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15); position: relative; animation: popupSlideIn 0.3s ease-out; } @keyframes popupSlideIn { from { opacity: 0; transform: translateY(20px) scale(0.95); } to { opacity: 1; transform: translateY(0) scale(1); } } .restock-popup-close { position: absolute; top: 16px; right: 16px; background: none; border: none; font-size: 24px; cursor: pointer; color: #666; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: background-color 0.2s; } .restock-popup-close:hover { background-color: #f5f5f5; } .restock-popup-header { text-align: center; margin-bottom: 24px; } .restock-popup-title { font-size: 24px; font-weight: 600; color: #333; margin: 0 0 8px 0; } .restock-popup-subtitle { font-size: 14px; color: #666; margin: 0; } .restock-popup-product { background: #f8f9fa; border-radius: 8px; padding: 16px; margin-bottom: 24px; display: flex; align-items: center; gap: 12px; } .restock-popup-product-image { width: 60px; height: 60px; border-radius: 8px; object-fit: cover; background: #e9ecef; } .restock-popup-product-info { flex: 1; } .restock-popup-product-name { font-weight: 600; color: #333; margin: 0 0 4px 0; font-size: 16px; line-height: 1.3; } .restock-popup-product-price { color: #666; margin: 0; font-size: 14px; } .restock-popup-form { display: flex; flex-direction: column; gap: 16px; } .restock-popup-input-group { display: flex; flex-direction: column; gap: 6px; } .restock-popup-label { font-weight: 500; color: #333; font-size: 14px; } .restock-popup-input { padding: 12px 16px; border: 1px solid #ddd; border-radius: 8px; font-size: 16px; transition: border-color 0.2s; } .restock-popup-input:focus { outline: none; border-color: #007bff; box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1); } .restock-popup-checkbox-group { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; color: #666; } .restock-popup-checkbox { margin-top: 2px; } .restock-popup-actions { display: flex; gap: 12px; margin-top: 24px; } .restock-popup-button { flex: 1; padding: 12px 24px; border: none; border-radius: 8px; font-size: 16px; font-weight: 500; cursor: pointer; transition: all 0.2s; } .restock-popup-button-primary { background: #28a745; color: white; } .restock-popup-button-primary:hover { background: #218838; transform: translateY(-1px); } .restock-popup-button-secondary { background: #f8f9fa; color: #666; border: 1px solid #ddd; } .restock-popup-button-secondary:hover { background: #e9ecef; } .restock-popup-loading { display: flex; align-items: center; justify-content: center; gap: 8px; } .restock-popup-spinner { width: 16px; height: 16px; border: 2px solid #ffffff50; border-top: 2px solid #ffffff; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .restock-popup-error { color: #dc3545; font-size: 14px; margin-top: 8px; } .restock-popup-success { text-align: center; padding: 20px; } .restock-popup-success-icon { font-size: 48px; color: #28a745; margin-bottom: 16px; } .restock-popup-success-title { font-size: 20px; font-weight: 600; color: #333; margin: 0 0 8px 0; } .restock-popup-success-message { color: #666; margin: 0 0 24px 0; line-height: 1.4; }