UNPKG

@zenithui/day-picker

Version:

A ZenithUi Time Picker is React component enables users to select a date or date range from calendar.

193 lines (162 loc) 4.34 kB
:root { --zenithui-day-picker-bg-color: white; --zenithui-day-picker-text-color: black; --zenithui-day-picker-selected-text-color: white; --zenithui-day-picker-shadow-color: #0000001a; --zenithui-day-picker-hover-bg: #f3f4f6; --zenithui-day-picker-selected-bg: #3b82f6; --zenithui-day-picker-selected-bg-hover: #3b82f6bf; --zenithui-day-picker-range-bg: #3b82f680; --zenithui-day-picker-outline-color: #3b82f680; } .dark { --zenithui-day-picker-bg-color: #1e1e1e; --zenithui-day-picker-text-color: white; --zenithui-day-picker-selected-text-color: black; --zenithui-day-picker-shadow-color: #fff3; --zenithui-day-picker-hover-bg: #374151; --zenithui-day-picker-selected-bg: #fff; --zenithui-day-picker-selected-bg-hover: #ffffffbf; --zenithui-day-picker-range-bg: #ffffff40; --zenithui-day-picker-outline-color: #ffffff80; } .zenithui-calendar { background-color: var(--zenithui-day-picker-bg-color); width: 100%; min-width: 300px; max-width: 320px; color: var(--zenithui-day-picker-text-color); border-radius: 8px; padding: 16px; } .zenithui-calendar-header { justify-content: space-between; align-items: center; margin-bottom: 16px; display: flex; } .zenithui-nav-button { cursor: pointer; background: none; border: none; border-radius: 6px; padding: 8px; transition: transform .2s ease-in-out, background .2s; } .zenithui-nav-button:hover { background-color: var(--zenithui-day-picker-hover-bg); } .zenithui-nav-button:focus { outline: 2px solid var(--zenithui-day-picker-hover-bg); } .zenithui-nav-button:disabled { cursor: not-allowed; opacity: .5; } .zenithui-arrow-icon { width: 20px; height: 20px; } .zenithui-arrow-icon.left { transform: rotate(180deg); } .zenithui-month-caption { cursor: pointer; background: none; border: 2px solid #0000; border-radius: 6px; justify-content: center; align-items: center; min-width: 100px; height: 40px; font-size: 14px; font-weight: 500; transition: transform .2s ease-in-out, background .2s; display: flex; } .zenithui-month-caption:hover { border: 2px solid var(--zenithui-day-picker-hover-bg); } .zenithui-month-caption:focus { outline: 2px solid var(--zenithui-day-picker-hover-bg); } .zenithui-month-caption:disabled { cursor: not-allowed; opacity: .5; } .zenithui-months { grid-template-columns: repeat(3, 1fr); gap: 4px; display: grid; } .zenithui-weekdays { text-align: center; color: gray; grid-template-columns: repeat(7, 1fr); font-size: 12px; display: grid; } .zenithui-weekday { padding: 8px 0; } .zenithui-days { grid-template-columns: repeat(7, 1fr); gap: 4px; display: grid; } .zenithui-gap-x-4 { gap: 4px 0; } .zenithui-day { cursor: pointer; background-color: var(--zenithui-day-picker-bg-color); width: 100%; height: 40px; color: var(--zenithui-day-picker-text-color); border-radius: 6px; justify-content: center; align-items: center; font-size: 14px; font-weight: 500; transition: background .3s ease-in-out; display: flex; } .zenithui-day:hover { background-color: var(--zenithui-day-picker-hover-bg); } .zenithui-day:disabled { cursor: not-allowed; opacity: .5; } .zenithui-day[data-selected="true"] { background-color: var(--zenithui-day-picker-selected-bg); color: var(--zenithui-day-picker-selected-text-color); } .zenithui-day[data-selected="true"]:hover { background-color: var(--zenithui-day-picker-selected-bg-hover); color: var(--zenithui-day-picker-selected-text-color); } .zenithui-day[data-range-start="true"] { background-color: var(--zenithui-day-picker-selected-bg); color: var(--zenithui-day-picker-selected-text-color); border-radius: 6px 0 0 6px; } .zenithui-day[data-range-end="true"] { background-color: var(--zenithui-day-picker-selected-bg); color: var(--zenithui-day-picker-selected-text-color); border-radius: 0 6px 6px 0; } .zenithui-day[data-range-dates="true"] { background-color: var(--zenithui-day-picker-range-bg); color: var(--zenithui-day-picker-selected-text-color); border-radius: 0; } .zenithui-day[data-today="true"] { border: 1.5px solid var(--zenithui-day-picker-outline-color); } .zenithui-day[data-outside-date="true"] { opacity: .5; } .zenithui-day[data-visibility="true"] { visibility: hidden; }