UNPKG

realgrid-touch

Version:

RealGrid-Touch is a data list component library for developing mobile web applications for business purposes.

1,050 lines (977 loc) 23.4 kB
@charset "UTF-8"; .rtc-root { font-family: var(--rt-font-family); font-size: var(--rt-font-size); color: #000; background-color: white; /* word-break: break-all; word-wrap: break-word; */ -webkit-touch-callout: default; user-select: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; touch-action: auto; -ms-touch-action: auto; text-align: initial; } .rtc-root { --rt-font-family: AppleSDGothicNeo-Light, 'HelveticaNeue', 'Malgun Gothic', '맑은 고딕', sans-serif; --rt-font-size: 16px; --rt-checkbox-size: 16px; --rt-check-size: 20px; --rt-switch-size-def: 24px; --rt-switch-on-def: 16.8px; /* 0.7 */ --rt-switch-color-def: skyblue; --rt-hide-webkit-tap-highlight: transparent; --rt-buttonface: #efefef; --rt-button-border-line: 1px solid #767676; /** rowgroup classic */ --rt-rowgroup-classic-color: #e8e8e8; /** datagroup classic */ --rt-datagroup-classic-color: #e8e8e8; --rt-row-border-line: 1px solid #ddd; --rt-master-border-line: 1px solid #ddd; --rt-table-cell-border-color: #d0d0d0; --rt-rowbar-check-checked-color: rgb(56, 128, 255); --rt-rowbar-check-disabled-color: #00000015; --rt-readonly-background: #eee; --rt-readonly-color: #333; --rt-flip-perspective: 1000px; --rt-flip-duration: 0.6s; --rt-flip-y: -180deg; --rt-flip-x: 0; /* button effect */ --rt-button-click-transform: scale(0.95); --rt-button-click-transition: .1s; } /* 필요하면 사용자가 설정. .rtc-root * { -webkit-tap-highlight-color: var(--rt-hide-webkit-tap-highlight); } */ .rtc-root input, select { font-size: var(--rt-font-size); } .rtc-list-view { background: white; } .rtc-renderers { display: none; } .rtc-svg-button { padding: 0; margin: 0; border: 0 none transparent; outline: 0 none transparent; box-shadow: none; appearance: none; -webkit-appearance: none; background-color: transparent; } .rtc-svg-button svg[data-dir='v'] { transform: rotate(90deg); } .rtc-list-page { background: none; border: none; } .rtc-row-edit-page { background: white; border: none; } .rtc-row-info-page { background: white; border: none; } .rtc-row { padding: 11px 6px; } .rtc-row[data-dir='h'] { padding: 6px 4px; } .rtc-row[data-deleted] { opacity: 0.6; background-color: #eee; } .rtc-row[data-state='g'] { background-color: white; } .rtc-row[data-state='vs'] { border-left: 3px solid #20b2aaff; border-right: 3px solid #20b2aaff; background-color: #20b2aa10; } .rtc-row[data-state='hs'] { border-top: 3px solid #20b2aaff; border-bottom: 3px solid #20b2aaff; background-color: #20b2aa10; } .rtc-row[data-touched='1'] { background-color: #ddd !important; } .rtc-attached-row { background-color: #ffff0018; padding: 4px 4px 3px 8px; } .rtc-attached-row[data-dir='h'] { padding: 6px 4px; border-right: 1px solid #aaa; } .rtc-attached-row[data-dir='v'] { border-bottom: 1px solid #e8e8e8; } .rtc-skeleton-row { padding: 11px 6px; } .rtc-skeleton-row[data-dir='h'] { padding: 6px 4px; } .rtc-focus-mask { border: 1px solid #0088ffcc; box-shadow:inset 0 0 3px #08f; } .rtc-search-field { box-sizing: border-box; background-color: #0000ff30; } .rtc-search-field span { border-width: 0px; border-color: #0000ff; } .rtc-section-button { margin: 0; padding: 2px 5px; white-space: pre; border: 0 none transparent; outline: 0 none transparent; box-shadow: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; background-color: transparent; /* background-color: lightblue; */ color: blue; font-family: var(--rt-font-family); font-size: 17px; } .rtc-section-button:enabled:active { transform: var(--rt-button-click-transform); transition: var(--rt-button-click-transition); } .rtc-section-button:disabled { color: rgba(0, 0, 0, 0.3) !important; stroke: #aaa; fill: #aaa; } .rtc-button-button:disabled img { opacity: 0.5; } /** header */ .rtc-header { background-color: #efeff0; padding-top: 3px; padding-bottom: 5px; padding-left: 4px; padding-right: 4px; border-bottom: 1px solid #ccc; font-size: 17px; } /** footer */ .rtc-footer { background-color: #efeff0; padding-top: 4px; padding-bottom: 3px; padding-left: 8px; padding-right: 4px; border-top: 1px solid #ccc; } /** body */ .rtc-body[data-table='1'] { border-left: 1px solid var(--rt-table-cell-border-color); border-right: 1px solid var(--rt-table-cell-border-color); } /** search bar */ .rtc-search-bar { padding: 6px 4px 6px 10px; background-color: #00880010; border-bottom: 1px solid #00440050; } .rtc-search-bar input { border: 0; outline: transparent; background: 0 0; } .rtc-search-bar span { font-size: 13px; color: #555; } /** search result bar */ .rtc-search-result { padding: 6px 4px 6px 10px; background-color: #00880010; border-top: 1px solid #00440050; } .rtc-search-result[data-pos='top'] { border-bottom: 1px solid #00440050; border-top: none; } /** field bar */ .rtc-field-bar { padding: 5px 5px; background-color: #00880010; border-bottom: 1px solid #00440050; font-size: 16px; } .rtc-field-bar-item { margin: 2px 2px; padding: 2px 4px; background-color: white; color: #333; border: 1px solid #777; border-radius: 3px; } /** subheader */ .rtc-subheader { background-color: #f4f4f8; padding-top: 3px; padding-bottom: 5px; padding-left: 4px; padding-right: 4px; border-bottom: 1px solid #ccc; font-size: 17px; } /** row bar */ .rtc-rowbar-cell { color: #060; text-align: center; } .rtc-rowbar-cell[data-table='1'] { border-right: 1px solid var(--rt-table-cell-border-color); border-bottom: 1px solid var(--rt-table-cell-border-color); padding-left: 4px; padding-right: 4px; } .rtc-rowbar-check { padding-left: 3px; padding-right: 3px; } .rtc-rowbar-check svg { border: 1px solid rgba(0, 0, 0, 0.25); border-radius: 50%; background-color: white; stroke: white; stroke-width: 1px; fill: none; } .rtc-rowbar-check[data-check="c"] svg { background-color: var(--rt-rowbar-check-checked-color) !important; } .rtc-rowbar-check[data-check="1"] svg { background-color: var(--rt-rowbar-check-disabled-color) !important; stroke: gray !important; } .rtc-rowbar-check[data-check="-1"] svg { background-color: var(--rt-rowbar-check-disabled-color) !important; stroke: none !important; } .rtc-rowbar-move { fill: #777; } /** action bar */ .rtc-actionbar-cell { color: #555; text-align: center; } .rtc-actionbar-cell[data-table='1'] { border-right: 1px solid var(--rt-table-cell-border-color); border-bottom: 1px solid var(--rt-table-cell-border-color); padding-left: 4px; padding-right: 4px; } .rtc-row-button { border-radius: 5px; background-color: #3171e0; background-size: contain; background-repeat: no-repeat; background-position: center; color: white; padding: 1px 6px; margin: 0; font-size: 15px; min-width: 30px; max-width: 100%; min-height: 1.5em; max-height: 100%; line-height: 1.7em; border: 0 none transparent; outline: 0 none transparent; box-shadow: none; appearance: none; -webkit-appearance: none; } .rtc-row-button:enabled:active { transform: var(--rt-button-click-transform); transition: var(--rt-button-click-transition); } .rtc-row-button[data-type='image'] { padding: 0; margin: 0; line-height: unset; max-height: unset; min-width: unset; max-width: unset; background-color: transparent; color: #555; } .rtc-row-button[data-type='letter'] { border-radius: 50%; min-width: unset; max-width: unset; min-height: unset; max-height: unset; line-height: unset; padding: 0; } .rtc-row-button[data-type='letter-transparent'] { min-width: unset; max-width: unset; min-height: unset; max-height: unset; line-height: unset; padding: 1px 5px; background-color: transparent; color: #0066ff; } .rtc-row-button:disabled { opacity: 0.5; } .rtc-row-button:disabled img { opacity: 0.2; } /** scroll indicator */ .rtc-scroll-indicator { background-color: #ddd; } .rtc-scroll-indicator-bar { background-color: #0088ff; } .rtc-scroll-indicator-selection { background-color: #ff0088; } .rtc-scroll-indicator-tooltip { pointer-events: none; white-space: pre; min-width: 70px; padding: 2px 2px; text-align: center; font-size: 16px; background-color: #000000aa; color: white; border: 1px solid white; border-radius: 5px; } /** row indicator */ .rtc-row-indicator { font-size: medium; } /** scroll bar */ .rtc-scroll-bar { background-color: transparent; } .rtc-scroll-bar-thumb { background-color: #77777780; border-radius: 3px; } /** index bar */ .rtc-index-bar { border-radius: 5px; background-color: #00000018; } .rtc-index-bar-letter { font-size: 11px; padding: 3px 0px; border: none; background-color: transparent; color: #555; } /** form layout */ .rtc-form-label { font-size: var(--rt-font-size); color: #333; } /** panel */ .rtc-panel { box-shadow: 1px 1px 7px #ccc; } .rtc-panel[data-border='bottom'] { border-bottom: 1px solid #aaa; border-bottom-left-radius: 7px; border-bottom-right-radius: 7px; } .rtc-panel[data-border='top'] { border-top: 1px solid #aaa; box-shadow: -1px -1px 7px #ccc; } .rtc-panel[data-border='right'] { border-right: 1px solid #aaa; } .rtc-panel[data-border='left'] { border-left: 1px solid #aaa; } .rtc-panel[data-border='center'] { border: 1px solid #aac; border-radius: 7px; } .rtc-panel-button { padding: 4px 10px; line-height: unset; font-size: 17px; color: #555; background: transparent; } /** dialog panel */ .rtc-dialog-panel-body { padding: 10px; } .rtc-dialog-panel-buttons { padding: 12px 12px; background: #f0f0f0; } /** form panel */ .rtc-form-panel { background-color: #fafafc; } .rtc-form-panel-buttons { padding: 12px 12px; background: #f0f0f0; } /** button panel */ .rtc-button-panel { padding: 20px 10px; background-color: #fafafc; color: gray; } .rtc-button-panel button { font-size: 14px; } /** search panel */ .rtc-search-panel { background-color: #fafffa; color: #555; font-size: var(--rt-font-size); } .rtc-search-panel input[type="checkbox"] { margin: 0; width: var(--rt-checkbox-size); height: var(--rt-checkbox-size); } .rtc-search-panel input[type="radio"] { margin: 0; width: var(--rt-checkbox-size); height: var(--rt-checkbox-size); } /** filter panel */ .rtc-filter-panel { background-color: #fafafc; color: #555; font-size: var(--rt-font-size); } .rtc-filter-panel input[type="checkbox"] { margin: 0; width: var(--rt-checkbox-size); height: var(--rt-checkbox-size); } .rtc-filter-panel-item { color: #333; } /** page navigator */ .rtc-page-navigator { background-color: #00880010; } .rtc-page-navigator[data-position="top"] { border-bottom: 1px solid #00440050; } .rtc-page-navigator[data-position="bottom"] { border-top: 1px solid #00440050; } .rtc-page-navigator[data-position="left"] { border-right: 1px solid #00440050; } .rtc-page-navigator[data-position="right"] { border-left: 1px solid #00440050; } .rtc-page-navigator-item { padding: 8px 8px; stroke: #333; fill: #333; } .rtc-page-navigator-item:disabled { stroke: #aaa; fill: #aaa; } .rtc-page-navigator-index { font-size: 16px; padding: 3px 5px; min-width: 24px; text-align: center; } .rtc-page-navigator-slash { font-size: 16px; } /** page navigator */ .rtc-page-scroller-index { font-size: 24px; padding: 10px 10px; } .rtc-row-edit { font-size: medium; } .rtc-item-expander { stroke: blue; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; } /** row group */ .rtc-indent-layer { background-color: #e8e8e8; } .rtc-group-header { padding: 5px 5px; background-color: #f0f0f0; border-bottom: 1px solid #ddd; } .rtc-group-footer { padding: 3px 5px; background-color: #f0f0f8; border-bottom: 1px solid #ddd; } /** row-group classic */ .rtc-indent-layer[data-theme='classic'] { background-color: var(--rt-rowgroup-classic-color); } .rtc-group-header[data-theme='classic'] { background-color: var(--rt-rowgroup-classic-color); border-bottom: none; padding-top: 10px; padding-bottom: 10px; } .rtc-group-header[data-theme='classic'][data-exp='0'] { border-bottom: 1px solid #ccc; } .rtc-group-footer[data-theme='classic'] { /* background-color: var(--rt-rowgroup-classic-color); border-bottom: none; */ padding-top: 1px; padding-bottom: 1px; } .rtc-row[data-theme='classic'][data-no='0'] { border-top-left-radius: 15px; } /** data-group classic */ .rtc-row[data-theme='classic'][data-master="1"] { background-color: var(--rt-rowgroup-classic-color) !important; padding-top: 10px; padding-bottom: 10px; } .rtc-row[data-master='1'][data-theme='classic'] .rtc-row-border { border-bottom: none !important; } /** table */ .rtc-tr { padding: 0px; } .rtc-table-cell { padding: 10px 4px; border-right: 1px solid var(--rt-table-cell-border-color); border-bottom: 1px solid var(--rt-table-cell-border-color); } /** table 셀 안에 포힘된 layout view */ .rtc-table-cell > div { height: 100%; } .rtc-tr[data-detail="1"] + .rtc-tr .rtc-table-cell { border-top: 1px solid var(--rt-table-cell-border-color); } .rtc-table-section { border: 1px solid var(--rt-table-cell-border-color); } .rtc-table-header { border-bottom: none; background-color: #f4f4f4; } .rtc-table-header-cell { padding: 4px; } .rtc-table-header-head { border-right: 1px solid var(--rt-table-cell-border-color); border-bottom: 1px solid var(--rt-table-cell-border-color); } .rtc-table-header-foot { border-left: 1px solid var(--rt-table-cell-border-color); border-bottom: 1px solid var(--rt-table-cell-border-color); } .rtc-table-footer { background-color: #f4f4ff; } .rtc-table-footer-cell { padding: 4px; } .rtc-table-footer-head { border-right: 1px solid var(--rt-table-cell-border-color); border-bottom: 1px solid var(--rt-table-cell-border-color); } .rtc-table-footer-foot { border-left: 1px solid var(--rt-table-cell-border-color); border-bottom: 1px solid var(--rt-table-cell-border-color); } .rtc-item[data-state='g'] .rtc-table-row-layout:first-child { border-left: 1px solid var(--rt-table-cell-border-color); } /** switch */ .rtc-switch { -webkit-tap-highlight-color: transparent; } .rtc-switch-span::before, .rtc-switch-span::after { content: ""; display: block; position: absolute; cursor: pointer; } .rtc-switch-span::before { /* 배경 */ width: 100%; height: 100%; background-color: #dedede; border-radius: 1em; -webkit-transition: background-color 0.25s ease; transition: background-color 0.25s ease; /* 배경색 애니메이션*/ } .rtc-switch-span::after { /* 스위치 */ top: 0; left: 0; width: calc(var(--switch-size, var(--rt-switch-size-def)) - 4px); height: calc(var(--switch-size, var(--rt-switch-size-def)) - 4px); border-radius: 50%; background-color: #fff; box-sizing: content-box; border: 2px solid #cecece; /* box-shadow: 5px 2px 10px rgba(0, 0, 0, 0.1); */ -webkit-transition: left 0.25s ease; transition: left 0.25s ease; /* 스위치 이동 애니메이션 */ } .rtc-switch-span[data-readonly]::after { background-color: var(--rt-readonly-background); } .rtc-switch-box:checked + .rtc-switch-span::before { background-color: var(--switch-color, var(--rt-switch-color-def)); /* ON 배경색 */ } .rtc-switch-box:checked + .rtc-switch-span::after { /* ON 스위치 위치 */ border: 2px solid var(--switch-color, var(--rt-switch-color-def)); box-shadow: none; left: var(--switch-on, var(--rt-switch-on-def)); } /** end switch */ .rtc-sparkbar-svg { fill: #333; } .rtc-sparkline-svg { stroke-width: 2px; stroke: #333; } .rtc-line-span { border-color: #999; border-style: solid; } /** button renderer */ .rtc-button-button { padding: 4px 6px; font-size: 15px; border: var(--rt-button-border-line); border-image-width: 1; /* border: 2px outset #000; */ border-radius: 2px; background: var(--rt-buttonface); color: #000; } .rtc-button-button:enabled:active { transform: var(--rt-button-click-transform); transition: var(--rt-button-click-transition); } .rtc-button-button:disabled { color: rgba(0, 0, 0, 0.3) !important; stroke: #aaa; fill: #aaa; } .rtc-button-button:disabled img { opacity: 0.5; } .rtc-button-button[data-borderless='1'] { padding: 0; margin: 0; border: 0 none transparent; outline: 0 none transparent; box-shadow: none; appearance: none; -webkit-appearance: none; background-color: transparent; } .rtc-button-button[data-image='1'] { padding: 2px; } /** input editor */ .rtc-input-input { outline: 0 none transparent; box-shadow: none; appearance: none; -webkit-appearance: none; border-style: solid; border-width: 1px; margin: 0px; padding: 4px 2px; background-color: white; } /* Chrome, Safari, Edge, Opera */ .rtc-input-input::-webkit-outer-spin-button, .rtc-input-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } /* Firefox */ .rtc-input-input[type=number] { -moz-appearance: textfield; } .rtc-input-input[type="number"] { text-align: right; } .rtc-input-input:read-only { background-color: var(--rt-readonly-background); color: var(--rt-readonly-color); } /** check editor */ .rtc-check-box { margin: 0px; width: var(--rt-check-size); height: var(--rt-check-size); box-shadow: none; background-color: transparent; } /** radio editor */ .rtc-radio-box { margin: 0px; width: var(--rt-check-size); height: var(--rt-check-size); box-shadow: none; background-color: transparent; } /** radio editor */ .rtc-radiogroup-box { margin: 0px; width: var(--rt-check-size); height: var(--rt-check-size); box-shadow: none; background-color: transparent; } .rtc-radiogroup:read-only { color: var(--rt-readonly-color); } /** select editor */ .rtc-select-box { outline: 0 none transparent; box-shadow: none; border-style: solid; border-width: 1px; margin: 0px; padding: 4px 0px; background-color: white; } .rtc-select-box:disabled { background-color: var(--rt-readonly-background); color: var(--rt-readonly-color); border: 1px solid #333; } /** field-renderer */ .rtc-field-field { text-align: center; } .rtc-field-dir { font-family: Tahoma; font-size: 16px; margin: 0px 1px; color: #111; } .rtc-field-order { font-family: Helvetica; font-size: 16px; /* font-weight: bold; */ margin: 0px 1px; color: #111; } /** spinner renderer */ .rtc-spinner-default { fill: #404040; } .rtc-spinner-spoke { stroke: #404040; stroke-width: 4px; stroke-linecap: round; fill: none; } /** rating-renderer */ .rtc-rating-svg { fill: lightgray; } .rtc-rating-svg[data-active] { fill: green; } /** dummy renderer */ .rtc-dummy-dummy { border-radius: 5px; } /** command */ .rtc-command-cell { background: #333; color: white; font-size: 18px; box-sizing: border-box; padding: 8px 8px; border: 0 none transparent; outline: 0 none transparent; box-shadow: none; -webkit-appearance: none; } .rtc-command-create { background-color: blue; } .rtc-command-edit { background-color: #6495ed; } .rtc-command-delete { background-color: #c00000; } .rtc-command-info { background-color: #2f4f2f; } .rtc-command-moveup { background-color: #333; font-size: 25px; font-weight: bold; } .rtc-command-movedown { background-color: #555; font-size: 25px; font-weight: bold; } .rtc-edit-command { font-size: 15px; padding: 6px 8px; border: 1px solid #00000020; } .rtc-command-commit { background-color: #008800c0; } .rtc-command-cancel { background-color: #000000a0; } .rtc-end-balloon { fill: #0044ff20; } .rtc-menu { background-color: #00000040; } .rtc-menu-item { font-size: 17px; padding: 5px 0px; border-bottom: 1px solid #d0d0d0; } .rtc-menu-item[data-touched='1'] { background-color: #dcdcdc; } .rtc-menu-item-label { padding: 7px 5px; /* border-bottom: 1px solid #ccc; */ } .rtc-menu-group { padding-right: 5px; font-size: 15px; background-color: #f8f8f8; } .rtc-menu-group .rtc-menu-item-label { padding: 3px 5px; /* font-weight: bold; */ /* border-bottom: none; */ } .rtc-menu-group-expander { font-size: 11px; text-align: center; color: #333; } .rtc-menu-group-expander::before { content: ""; display: inline-block; width: 16px; height: 16px; background-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSIjMjIyIiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNNiA5bDYgNmw2IC02IiAvPgo8L3N2Zz4K"); } .rtc-menu-group-expander[data-expand='0']::before { content: ""; display: inline-block; width: 16px; height: 16px; background-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSIjMjIyIiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNOSA2bDYgNmwtNiA2IiAvPgo8L3N2Zz4K"); } .rtc-toast { padding: 10px 20px; min-width: 60%; max-width: 80%; border-radius: 7px; border: 1px solid #ccc; background-color: #e0e0e0ee; color: black; font-size: 17px; text-align: center; } .rtc-row-move-target { border: 2px dashed #00008880; } /* selection */ .rtc-selection-mask { background-color: #0000ff10; pointer-events: none; } .rtc-selection-mask[data-dir='v']{ border-top: 2px solid #0000ffaa; border-bottom: 2px solid #0000ffaa; } .rtc-selection-mask[data-dir='h']{ border-left: 2px solid #0000ffaa; border-right: 2px solid #0000ffaa; } .rtc-selection-mask-handle { background-color: white; border: 2px solid #0000ffaa; border-radius: 50%; pointer-events: initial; } /** single view flip changer */ .rtc-single-flip { perspective: var(--rt-flip-perspective); } .rtc-single-flip-body { transition: var(--rt-flip-duration); transform-style: preserve-3d; transform: rotateY(var(--rt-flip-y)) rotateX(var(--rt-flip-x)); } .rtc-single-flip-view { backface-visibility: hidden; } .rtc-single-flip-back { transform: rotateY(var(--rt-flip-y)) rotateX(var(--rt-flip-x)); } /** floatings */ .rtc-floating { overflow: hidden; padding: 10px; }