UNPKG

react-mobile-datepicker

Version:
327 lines (289 loc) 7.96 kB
:root { --default-bg: #f7f7f7; --default-color: color(var(--default-bg) contrast(50%)); --default-disabled-color: color(var(--default-color) blend(var(--default-bg) 70%)); --default-theme: #4eccc4; --dark-bg: #263238; --dark-color: color(var(--dark-bg) contrast(50%)); --dark-disabled-color: color(var(--dark-color) blend(var(--dark-bg) 70%)); --dark-theme: #50ccc4; --ios-bg: #f7f7f7; --ios-color: color(var(--ios-bg) contrast(50%)); --ios-disabled-color: color(var(--ios-color) blend(var(--ios-bg) 70%)); --ios-theme: #dbdbdb; --android-bg: #f5f5f5; --android-color: color(var(--android-bg) contrast(50%)); --android-disabled-color: color(var(--android-color) blend(var(--android-bg) 70%)); --android-theme: #31b6e7; --android-dark-bg: #292829; --android-dark-color: color(var(--android-dark-bg) contrast(50%)); --android-dark-disabled-color: color(var(--android-dark-color) blend(var(--android-dark-bg) 70%)); } .datepicker-modal { position: absolute; right: 0; bottom: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,.6); z-index: 999; display: flex; align-items: center; justify-content: center; } .datepicker { position: absolute; left: 0; bottom: 0; width: 100%; z-index: 1; font-size: 16px; text-align: center; font-family: arial,verdana,sans-serif; box-sizing: content-box; -webkit-font-smoothing: antialiased; user-select: none; .datepicker-header { padding: 0 .5em; min-height: 2em; line-height: 2em; font-size: 1.125em; } .datepicker-navbar { padding: 0 .5em .5em .5em; overflow: hidden; } .datepicker-navbar-btn { height: 2.5em; line-height: 2.5em; float: right; padding: 0 1em; cursor: pointer; } .datepicker-caption { display: flex; padding: .5em .25em; } .datepicker-caption-item { flex: 1; margin: 0 .25em; height: 40px; line-height: 40px; font-size: 1.2em; } .datepicker-content { display: flex; padding: .5em .25em; } .datepicker-col-1 { flex: 1; margin: 0 .25em; } .datepicker-viewport { height: 200px; position: relative; overflow: hidden; &::after { content: ''; position: absolute; z-index: 2; top: 0; right: 0; bottom: 0; left: 0; pointer-events: none; } } .datepicker-wheel { position: absolute; height: 40px; top: 50%; margin-top: -20px; width: 100%; } .datepicker-scroll { list-style-type: none; padding: 0; &>li { height: 40px; line-height: 40px; font-size: 1.375em; cursor: pointer; } } } .datepicker { /* default */ &.default { background-color: var(--default-bg); .datepicker-header { color: var(--default-theme); } .datepicker-wheel { border-top: 1px solid var(--default-theme); border-bottom: 1px solid var(--default-theme); } .datepicker-caption-item { color: var(--default-color); } .datepicker-scroll { li { color: var(--default-color); } li.disabled { color: var(--default-disabled-color); } } .datepicker-navbar-btn { color: var(--default-theme); } } /* dark */ &.dark { background-color: var(--dark-bg); .datepicker-header { color: var(--dark-theme); } .datepicker-wheel { border-top: 1px solid var(--dark-theme); border-bottom: 1px solid var(--dark-theme); } .datepicker-caption-item { color: var(--dark-color); } .datepicker-scroll { li { color: var(--dark-color); } li.disabled { color: var(--dark-disabled-color); } } .datepicker-navbar-btn { color: var(--dark-theme); } } /* ios */ &.ios { background-color: var(--ios-bg); .datepicker-col-1 {margin: 0} .datepicker-header { color: var(--ios-color); padding: 0 3.5em; } .datepicker-viewport { &::after { background: linear-gradient(#f7f7f7,rgba(245,245,245,0)52%,rgba(245,245,245,0)48%,#f7f7f7); } } .datepicker-wheel { border-top: 1px solid var(--ios-theme); border-bottom: 1px solid var(--ios-theme); } .datepicker-caption-item { color: var(--ios-color); } .datepicker-scroll { li { color: var(--ios-color); } li.disabled { color: var(--ios-disabled-color); } } .datepicker-navbar { position: absolute; z-index: 2; top: 0; left: 0; width: 100%; padding: 0; border-bottom: 1px solid #acacac; } .datepicker-navbar-btn { color: #007aff; &:nth-child(2) { float: left; } } .datepicker-content { padding-top: 48px; } .datepicker-header + .datepicker-content { padding-top: 0; } .datepicker-caption + .datepicker-content { padding-top: 0; } } /* android */ &.android, &.android-dark { background-color: var(--android-bg); .datepicker-header { color: var(--android-theme); border-bottom: 2px solid var(--android-theme); } .datepicker-col-1 {margin: 0 .625em} .datepicker-viewport { &::after { background-image: linear-gradient(#f5f5f5,rgba(245,245,245,0)52%,rgba(245,245,245,0)48%,#f5f5f5); } } .datepicker-wheel { border-top: 2px solid var(--android-theme); border-bottom: 2px solid var(--android-theme); } .datepicker-caption-item { color: var(--android-color); } .datepicker-scroll { li { font-size: 1.125em; color: var(--android-color); } li.disabled { color: var(--android-disabled-color); } } .datepicker-navbar { display: flex; border-top: 1px solid #d9d4d4; padding: 0; } .datepicker-navbar-btn { padding: 0; color: #000; flex: 1; &:nth-child(2) { border-left: 1px solid #d9d4d4; } } } /* android-dark */ &.android-dark { background-color: var(--android-dark-bg); .datepicker-viewport { &::after { background-image: linear-gradient(#282828,rgba(40,40,40,0)52%,rgba(40,40,40,0)48%,#282828); } } .datepicker-caption-item { color: var(--android-dark-color); } .datepicker-scroll { li { color: var(--android-dark-color); } li.disabled { color: var(--android-dark-disabled-color); } } .datepicker-navbar { border-color: #424542} .datepicker-navbar-btn { color: #fff; &:nth-child(2) { border-color: #424542; } } } }