persian-datepicker-react
Version:
persian datepicker based on moment-jalalli
282 lines (280 loc) • 6.14 kB
CSS
.rjd__board-container {
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
margin-bottom: 16px;
}
.rjd__board-container .rjd__board-text {
font-size: 16px;
font-weight: 600;
text-align: center;
padding: 6px 12px;
background-color: rgb(231, 231, 231);
border-radius: 18px;
user-select: none;
cursor: pointer;
}
.rjd__board-container .rjd__go-back,
.rjd__board-container .rjd__go-forward {
background: none;
background-color: none;
border: solid 1px silver;
border-radius: 50%;
width: 40px;
height: 40px;
padding: 3px;
cursor: pointer;
user-select: none;
}
.rjd__board-container .rjd__go-back:hover,
.rjd__board-container .rjd__go-forward:hover {
background-color: rgb(231, 231, 231);
}
.rjd__modal-container {
display: flex;
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
justify-content: center;
align-items: center;
z-index: 10000;
}
.rjd__modal-container .rjd__modal-bg {
background-color: rgba(0, 0, 0, 0.16);
display: block;
position: absolute;
z-index: -1;
width: 100%;
height: 100%;
}
.rjd__modal-container .rjd_modal-content {
background: white;
border-radius: 16px;
min-width: 260px;
min-height: 250px;
padding: 8px;
box-shadow: 0 0 20px 16px rgba(0, 0, 0, 0.05);
}
.rjd__days-head-container {
display: flex;
width: 100%;
margin-bottom: 16px;
}
.rjd__days-head-container .rjd__days-head-items {
display: inline-flex;
flex: 1;
align-items: center;
justify-content: center;
user-select: none;
}
.rjd__days-head-container .rjd__holiday {
color: red;
}
.rjd__day-item {
display: inline-flex;
align-items: center;
justify-content: center;
cursor: pointer;
width: 32px;
height: 32px;
border-radius: 50%;
user-select: none;
transition: all 0.3s ease-in-out;
margin: 2px;
}
.rjd__day-item.disabled {
cursor: default;
color: silver;
}
.rjd__day-item.disabled:hover {
background-color: white;
}
.rjd__day-item.selected {
background-color: aquamarine;
}
.rjd__day-item.selected:hover {
background-color: rgb(102, 255, 204);
}
.rjd__day-item.rjd__holiday {
color: red;
}
.rjd__day-item:hover {
background-color: rgb(226, 226, 226);
}
.rjd__select-list-container {
position: relative;
width: 120px;
height: 200px;
margin: 20px auto;
background: rgba(235, 235, 235, 0.3);
border-radius: 10px;
text-align: center;
overflow: hidden;
}
.rjd__select-list-container ul {
list-style: none;
margin: 0;
padding: 0;
transform: translatey(0);
transition: 0.3s;
}
.rjd__select-list-container ul li {
line-height: 40px;
opacity: 0.3;
transform: scale(0.85);
transition: 0.3s;
cursor: pointer;
user-select: none;
}
.rjd__select-list-container ul li.active {
opacity: 1;
transform: scale(1);
}
.rjd__select-list-container .centerBox {
position: absolute;
transform: translateY(-50%);
top: 50%;
height: 40px;
width: 100%;
border-top: 1px solid #666;
border-bottom: 1px solid #666;
}
.rjd__months-container {
display: grid;
gap: 16px;
grid-template-columns: auto auto;
}
.rjd__months-container .rjd__btn-return {
display: block;
background: none;
font-size: 14px;
border: solid 1px rgb(219, 219, 219);
border-radius: 12px;
padding: 8px 12px;
width: 100%;
grid-column: span 2;
transition: all 0.3s ease-in-out;
cursor: pointer;
user-select: none;
}
.rjd__months-container .rjd__btn-return:hover {
background-color: rgb(220, 220, 220);
}
.rjd__days-container .rjd_days-main-wrapper {
display: grid;
grid-template-columns: auto auto;
}
.rjd__days-container .rjd_days-inner-wrapper {
display: grid;
grid-template-columns: auto auto auto auto auto auto auto;
align-items: center;
}
.rjd__days-container .rjd__btn-return {
display: block;
background: none;
font-size: 14px;
border: solid 1px rgb(219, 219, 219);
border-radius: 12px;
padding: 8px 12px;
width: 100%;
grid-column: span 2;
transition: all 0.3s ease-in-out;
cursor: pointer;
user-select: none;
}
.rjd__days-container .rjd__btn-return:hover {
background-color: rgb(220, 220, 220);
}
.rjd__months-container {
display: grid;
gap: 16px;
grid-template-columns: auto auto;
}
.rjd__months-container .rjd__btn-return {
display: block;
background: none;
font-size: 14px;
border: solid 1px rgb(219, 219, 219);
border-radius: 12px;
padding: 8px 12px;
width: 100%;
grid-column: span 2;
transition: all 0.3s ease-in-out;
cursor: pointer;
user-select: none;
}
.rjd__months-container .rjd__btn-return:hover {
background-color: rgb(220, 220, 220);
}
.datepicker__wrapper {
direction: rtl;
}
.datepicker__label {
position: relative;
}
.datepicker__label .datapicker__clearable {
position: absolute;
left: 2px;
top: 2px;
background: transparent;
border: none;
}
.datepicker__label .datapicker__placeholder {
position: absolute;
display: flex;
align-items: center;
width: 100%;
height: 100%;
top: 0;
left: 0;
padding-right: 32px;
pointer-events: none;
user-select: none;
}
.datepicker__label:focus-within .datapicker__placeholder {
font-size: 10px;
padding-right: 12px;
transform: translate(0px, -20px);
}
.datepicker__label .datapicker__input::placeholder {
color: transparent;
}
.datepicker__label .datapicker__input:not(:placeholder-shown) ~ .datapicker__placeholder {
font-size: 10px;
padding-right: 12px;
transform: translate(0px, -20px);
}
.datepicker__wrapper {
direction: rtl;
}
.datepicker__label {
position: relative;
}
.datepicker__label .datapicker__placeholder {
position: absolute;
display: flex;
align-items: center;
width: 100%;
height: 100%;
top: 0;
left: 0;
padding-right: 32px;
pointer-events: none;
user-select: none;
}
.datepicker__label:focus-within .datapicker__placeholder {
font-size: 10px;
padding-right: 12px;
transform: translate(0px, -20px);
}
.datepicker__label .datapicker__input::placeholder {
color: transparent;
}
.datepicker__label .datapicker__input:not(:placeholder-shown) ~ .datapicker__placeholder {
font-size: 10px;
padding-right: 12px;
transform: translate(0px, -20px);
}