fluentreports
Version:
A simple, Fluent API for creating PDF Reports
450 lines (391 loc) • 9.19 kB
CSS
.fluentReports {
background-color: white;
vertical-align: top;
display: grid;
width: 100%;
grid-template-columns: 200px 1fr;
grid-template-rows: 50px calc(100% - 51px);
grid-gap: 0px;
user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 12px;
overflow: hidden;
}
@supports (-moz-appearance:none) {
.fluentReports .frPropInput[type="color"] {
height: auto;
padding: 2px;
}
input[type="color"]::-moz-color-swatch {
height: 10px;
}
}
.frPropSelect {
width: calc(100% - 2px);
}
.frPaperWidthLayout {
border-left: 1px dotted red;
pointer-events: none;
}
.frBand {
font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 12px;
background-color: #b9b9b9;
}
.frBand td {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.fluentReports input[type="input"], .fluentReports select {
border: #000000 thin solid;
padding: 2px;
margin: 1px;
}
.frTitledLabel {
position: absolute;
top: -8px;
left: -2px;
font-size: 10px;
line-height: 10px;
padding-left: 2px;
padding-right: 2px;
color: black;
background-color: white;
}
.frLabel, .frField, .frTitledElement {
border: transparent solid 3px;
min-Width: 30px;
}
.fluentReports .frSelected {
border: #30c7ff solid 3px;
}
.fluentReports .frToolBar {
grid-column: 1 / 3;
grid-row: 1;
background-color: #336699;
}
.fluentReports .frPropScroller {
grid-column: 1;
grid-row: 2;
background-color: #336699;
overflow-y: auto;
overflow-x: hidden;
}
.fluentReports .frProperties {
background-color: #336699;
position: relative;
}
.frTableProps {
border-collapse: collapse;
border: 1px black dashed;
margin-left: 4px;
margin-right: 4px;
width: calc(100% - 8px);
}
.frPropTitle {
font-weight: bolder;
}
.fluentReports table.frTableProps td {
border: 1px black dashed;
width: 50%;
font-size: 10pt;
margin: 2px;
padding: 1px;
}
.fluentReports .frReport {
grid-column: 2;
grid-row: 2;
margin-top: 1px;
margin-left: 1px;
width: 100%;
padding: 0px;
margin-right: 0px;
background-color: #a9a9a9;
overflow-y: scroll;
overflow-x: hidden;
}
.frDialog {
left: 50%;
font-family: "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 12px;
ztransform: translate(-50%, -50%);
}
.fluentReports .frReportInner {
background-color: #a9a9a9;
left: 0px;
width: calc(100% - 2px);
position: relative;
}
.fluentReports .frIconClickable {
cursor: pointer;
background-color: darkgrey;
}
.fluentReports .frIconClickableNB {
cursor: pointer;
}
.fluentReports .frError {
background-color: red;
width: 100%;
margin-top: 5px;
margin-bottom: 5px;
color: white;
}
.fluentReports a.frIconMenu {
margin-top: 5px;
background-color: #cacaca;
color: black;
border: black 1px solid;
padding: 10px;
font-size: 120%;
cursor: pointer;
}
.fluentReports .frIconClickableNB:active:hover {
cursor: grabbing;
}
.fluentReports .frIconClickable:active:hover {
cursor: grabbing;
background-color: grey;
}
.fluentReports a.frIconMenu:active:hover {
cursor: grabbing;
background-color: darkgrey;
}
.fluentReports .frLineWrapper {
position: absolute;
width: 100%;
pointer-events: auto;
}
.fluentReports .frLineText {
text-align: center;
}
.fluentReports .frLineIcon {
padding: 1px 2px;
}
.fluentReports .frLine {
border-bottom: black 1px solid;
width: calc(100% - 2px);
height: 0px;
}
.fluentReports .frIconSpacer {
margin-right: .4em;
}
.fluentReports .frElementContainer {
border-top: solid black 1px;
}
.fluentReports .frPropButton {
margin-left: 4px;
margin-right: 4px;
width: calc(100% - 8px);
}
.fluentReports .frPropInput {
height: 21px;
line-height: 21px;
width: 98%;
}
.fluentReports .frTitleDiv {
background-color: grey;
width: 100%;
padding: 1px 1px;
text-align: center;
font-weight: bold;
font-size: 10pt;
background-image: linear-gradient(180deg, white, grey);
}
.fluentReports .frElementTable {
border-collapse: collapse;
border-spacing: 0;
}
.fluentReports .frElementTable TR, .fluentReports .frElementTable TD {
padding: 0;
}
.frIcon {
font-family: "fr";
font-style: normal;
font-weight: normal;
speak: none;
margin-left: 1px;
display: inline-block;
text-decoration: inherit;
width: 1em;
text-align: center;
/* opacity: .8; */
/* For safety - reset parent styles, that can break glyph codes*/
font-variant: normal;
text-transform: none;
/* fix buttons height, for twitter bootstrap */
line-height: 1em;
/* you can be more comfortable with increased icons size */
/* font-size: 120%; */
/* Font smoothing. That was taken from TWBS */
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
/* Uncomment for 3D effect */
text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3);
}
.fluentReports .frHidden {
display: none;
}
/*
Animation example, for spinners
*/
.fluentReports .frAnimateSpin {
-moz-animation: frSpin 2s infinite linear;
-o-animation: frSpin 2s infinite linear;
-webkit-animation: frSpin 2s infinite linear;
animation: frSpin 2s infinite linear;
display: inline-block;
}
@-moz-keyframes frSpin {
0% {
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-moz-transform: rotate(359deg);
-o-transform: rotate(359deg);
-webkit-transform: rotate(359deg);
transform: rotate(359deg);
}
}
@-webkit-keyframes frSpin {
0% {
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-moz-transform: rotate(359deg);
-o-transform: rotate(359deg);
-webkit-transform: rotate(359deg);
transform: rotate(359deg);
}
}
@-o-keyframes frSpin {
0% {
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-moz-transform: rotate(359deg);
-o-transform: rotate(359deg);
-webkit-transform: rotate(359deg);
transform: rotate(359deg);
}
}
@-ms-keyframes frSpin {
0% {
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-moz-transform: rotate(359deg);
-o-transform: rotate(359deg);
-webkit-transform: rotate(359deg);
transform: rotate(359deg);
}
}
@keyframes frSpin {
0% {
-moz-transform: rotate(0deg);
-o-transform: rotate(0deg);
-webkit-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-moz-transform: rotate(359deg);
-o-transform: rotate(359deg);
-webkit-transform: rotate(359deg);
transform: rotate(359deg);
}
}
.frSectionEditorDeleteSectionButton:hover{
color:red;
}
.frSectionEditorInvalidDraggable{
cursor: not-allowed;
}
.frSectionEditorEditSectionButton, .frSectionEditorDeleteSectionButton{
width: 184px;
width:-webkit-fill-available;
font-size: 130%;
}
.frSectionEditorHideChildrenButton {
padding: 0;
width: 12px;
height: 12px;
line-height:8px;
}
.frSectionEditorChildrenContainer {
border-left: black 1px solid;
min-height: 10px;
margin-left: 8px;
padding: 4px 0px 4px 8px;
}
.frSectionEditorChildrenHidden{
border-left: black 1px solid;
margin-left: 8px;
padding: 4px 0px 4px 8px;
font-family: monospace;
line-height: 0.4;
}
.frSectionEditorTreeView{
display: inline-block;
height: 200px;
width: 200px;
overflow: auto;
}
.frSectionEditorTreeViewContainer{
border:solid black 1px;
margin-right: 5px;
left: 5px;
right: 5px;
height: 198px;
overflow: auto;
}
.frSectionEditorDetailsView{
display: inline-block;
margin: 5px;
border: solid black 1px;
height: 200px;
width: 200px;
overflow-x: hidden;
overflow-y: scroll;
position: relative;
border-left: 1px black solid;
}
.frSectionEditorSelectedTree{
background-color: #B7B6B6;
}
.frSectionEditorNOTSelectedTree{
background-color: rgba(255,255,255,0.2);
}
.frSectionEditorInvalidTree {
box-shadow: red -1px 0px 5px -1px;
}
.frSectionEditorTreeDescription{
padding: 2px;
margin: 0;
}
.frSectionEditorValidDropLocation{
border: 1px solid #0f0;
}
.frSectionEditorInValidDropLocation{
border: 1px solid #f00;
}
.frSectionEditorTreeName{
margin-left: 2px;
}
.frSectionEditorGhostElement{
filter: opacity(0.5);
}