@ovine/editor
Version:
Ovine json editor.
2,189 lines (1,852 loc) • 37.8 kB
CSS
@keyframes shake {
10%, 90% {
transform: translate3d(-1px, 0, 0)
}
20%, 80% {
transform: translate3d(2px, 0, 0)
}
30%, 50%, 70% {
transform: translate3d(-4px, 0, 0)
}
40%, 60% {
transform: translate3d(4px, 0, 0)
}
}
.shake {
animation: shake .82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
transform: translate3d(0, 0, 0);
backface-visibility: hidden;
perspective: 1000px
}
.ae-Outline {
padding: .9375rem;
font-size: 12px
}
.ae-Outline-list, .ae-Outline-sublist {
list-style: none;
padding: 0;
margin: 0
}
.ae-Outline-list {
margin-left: .625rem
}
.ae-Outline-sublist {
margin-left: .9375rem
}
.ae-Outline-sublist>.ae-Outline-node::before, .ae-Outline-sublist>.ae-Outline-node::after {
position: absolute;
content: "";
background: #d1d5db;
display: block
}
.ae-Outline-sublist>.ae-Outline-node::before {
width: 8px;
height: 1px;
left: -25px;
top: 13px
}
.ae-Outline-sublist>.ae-Outline-node::after {
width: 1px;
height: 100%;
left: -25px;
top: 0
}
.ae-Outline-sublist>.ae-Outline-node:last-child::after {
height: 13px
}
.ae-Outline-node {
line-height: 1.5625rem;
vertical-align: middle;
position: relative
}
.ae-Outline-node>a {
color: #58666e;
text-decoration: none;
user-select: none;
cursor: pointer;
margin-left: -0.9375rem
}
.ae-Outline-node>a:hover {
color: #17a2b8
}
.ae-Outline-node.has-children>a {
margin-left: 0
}
.ae-Outline-node.is-region>a {
border: dashed 1px rgba(17, 180, 166, .5);
font-size: 12px;
padding: 2px 5px
}
.ae-Outline-node.is-active>a {
color: #007bff
}
.ae-Outline-node.is-hover>a {
color: #007bff
}
.ae-Outline-node.is-folded>.ae-Outline-sublist {
display: none
}
.ae-Outline-expander {
cursor: pointer;
display: inline-block;
position: absolute;
z-index: 2;
left: -0.875rem
}
.ae-Outline-expander>svg {
width: 10px;
height: 10px;
color: #999;
transform: rotate(90deg);
transition: transform ease-out .3s
}
.ae-Outline-expander.is-folded>svg {
transform: rotate(0deg)
}
.ae-Outline-tip {
color: #28a745;
margin-bottom: .9375rem;
animation: shake .82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
transform: translate3d(0, 0, 0);
backface-visibility: hidden;
perspective: 1000px
}
.ae-Settings {
display: block;
position: relative;
background: #fff;
box-shadow: -2px 0 20px 0 rgba(0, 0, 0, .1);
z-index: 5;
transition: width ease-in-out .2s;
transform: translateZ(0);
text-align: right
}
.ae-Settings.is-left {
box-shadow: 2px 0 20px 0 rgba(0, 0, 0, .1);
text-align: left
}
.ae-Settings.is-left .ae-Settings-inner {
overflow: visible
}
.ae-Settings.is-left .ae-Settings-tabs {
float: none
}
.ae-Settings.has-popover {
z-index: 1300
}
.ae-Settings-main {
display: inline-block;
height: 100%;
vertical-align: top
}
.ae-Settings-inner {
color: #a6a8b1;
text-align: left;
display: inline-block;
position: relative;
height: 100%;
max-width: 100%;
overflow: hidden;
vertical-align: top
}
.ae-Settings-inner.has-popover {
z-index: 1300
}
.ae-Settings-tabs {
display: inline-flex;
vertical-align: top;
float: right;
flex-direction: row-reverse;
height: 100%
}
.ae-Settings-tabs>ul {
background-color: #3a3f51;
min-width: 40px;
border: none
}
.ae-Settings-tabs>ul:empty {
min-width: unset
}
.ae-Settings-tabs>ul>li {
margin: 0;
padding: 0;
border: none;
display: block ;
white-space: nowrap
}
.ae-Settings-tabs>ul>li i.fa {
display: block;
font-size: 18px;
margin: 5px 0 3px
}
.ae-Settings-tabs>ul>li>a {
padding: 5px ;
margin: 0 ;
font-size: 12px ;
white-space: nowrap;
text-align: center;
border-radius: 0 ;
border: none ;
color: #a6a8b1
}
.ae-Settings-tabs>ul>li>a:hover {
color: #fff
}
.ae-Settings-tabs>ul>li.is-active>a {
background: #fff ;
color: #333
}
.ae-LeftSettings-tabs {
flex-direction: row
}
.ae-Settings-tabs-content {
background: #fff;
color: #666;
padding: 0 ;
border: none;
position: relative;
height: 100%
}
.ae-Settings-tabs-content>div {
height: 100%;
padding: 0
}
.ae-Settings-tabs-content>div>div:first-child:last-child {
height: 100%;
overflow: auto
}
.ae-Settings-tabs-content>div>div:first-child:last-child::-webkit-scrollbar {
background-color: #fff;
width: 10px
}
.ae-Settings-tabs-content>div>div:first-child:last-child ::-webkit-scrollbar-track {
background-color: #fff
}
.ae-Settings-tabs-content>div>div:first-child:last-child::-webkit-scrollbar-thumb {
background-color: #babac0;
border-radius: 8px;
border: 2px solid #fff
}
.ae-Settings-tabs-content>div>div:first-child:last-child::-webkit-scrollbar-thumb:hover {
background-color: #7d7d7d
}
.ae-Settings-tabs-content>div>div:first-child:last-child::-webkit-scrollbar-button {
display: none
}
.ae-Settings-content {
width: 340px;
padding: 15px;
overflow: auto
}
.ae-Settings-content::-webkit-scrollbar {
background-color: #fff;
width: 10px
}
.ae-Settings-content ::-webkit-scrollbar-track {
background-color: #fff
}
.ae-Settings-content::-webkit-scrollbar-thumb {
background-color: #babac0;
border-radius: 8px;
border: 2px solid #fff
}
.ae-Settings-content::-webkit-scrollbar-thumb:hover {
background-color: #7d7d7d
}
.ae-Settings-content::-webkit-scrollbar-button {
display: none
}
.ae-Settings-content.only-tabs {
position: relative;
display: flex;
flex-direction: column;
padding: 0;
height: 100%;
overflow: hidden
}
.ae-Settings-content.only-tabs>div:first-of-type {
flex-grow: 1;
display: flex;
flex-direction: column
}
.ae-Settings-content.only-tabs>div:first-of-type>ul[role=tablist] {
margin: 10px 0;
padding: 0 15px
}
.ae-Settings-content.only-tabs>div:first-of-type>ul[role=tablist]>li>a {
margin-right: 30px
}
.ae-Settings-content.only-tabs>div:first-of-type>ul[role=tablist]+div {
padding: 0;
height: 0;
flex-grow: 1;
overflow: auto
}
.ae-Settings-content.only-tabs>div:first-of-type>ul[role=tablist]+div::-webkit-scrollbar {
background-color: #fff;
width: 10px
}
.ae-Settings-content.only-tabs>div:first-of-type>ul[role=tablist]+div ::-webkit-scrollbar-track {
background-color: #fff
}
.ae-Settings-content.only-tabs>div:first-of-type>ul[role=tablist]+div::-webkit-scrollbar-thumb {
background-color: #babac0;
border-radius: 8px;
border: 2px solid #fff
}
.ae-Settings-content.only-tabs>div:first-of-type>ul[role=tablist]+div::-webkit-scrollbar-thumb:hover {
background-color: #7d7d7d
}
.ae-Settings-content.only-tabs>div:first-of-type>ul[role=tablist]+div::-webkit-scrollbar-button {
display: none
}
.ae-Settings-content.only-tabs>div:first-of-type>ul[role=tablist]+div>div {
padding: 0 15px
}
.ae-Settings-content.only-tabs .ae-Settings-actions {
margin-bottom: 0;
padding: 10px;
width: 100%
}
.ae-Settings-content.with-actions {
margin-bottom: 45px;
height: calc(100% - 45px)
}
.ae-Settings-content.with-actions .ae-Settings-actions {
margin-bottom: 0;
bottom: 10px;
position: fixed;
width: 290px;
line-height: 1;
display: flex;
align-items: center;
justify-content: center
}
.ae-Editor-configPane {
min-width: 320px
}
.ae-Editor-outlinePane {
min-width: 200px
}
.ae-Settings-placeholder {
padding: 20px;
text-align: center;
color: #999
}
.ae-Editor-insertPane {
width: 500px
}
.ae-Editor-codePane {
position: relative;
height: 100%;
width: 320px;
overflow: visible ;
max-width: 1000px
}
.ae-Editor-codePane .overflowingContentWidgets {
margin-top: -99999px
}
.ae-Editor-codeResizor {
position: absolute;
right: -0.375rem;
top: 50%;
cursor: ew-resize;
writing-mode: vertical-lr;
width: .75rem;
height: 1.5rem;
margin-top: -0.75rem;
border: .0625rem solid #dee2e6;
background-color: #fff;
border-radius: .142rem;
font-size: 12px;
line-height: .625rem;
text-align: center;
user-select: none;
color: #666
}
.ae-Editor-codeResizor:hover {
color: #000;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .12), 0 2px 4px 0 rgba(0, 0, 0, .08)
}
.ae-Editor-codeResizor:after {
content: "···"
}
.ae-Breadcrumb {
white-space: nowrap;
height: 20px;
line-height: 20px;
font-size: 12px;
padding: 0 5px;
background: #fff;
color: #666;
box-shadow: 0 2px 20px 0 rgba(0, 0, 0, .1);
position: relative;
z-index: 1
}
.ae-Breadcrumb:hover {
z-index: 150
}
.ae-Breadcrumb>span:first-child {
color: #999
}
.ae-Breadcrumb>ul {
list-style: none;
display: inline-block;
margin: 0;
padding: 0
}
.ae-Breadcrumb>ul>li {
display: inline-block;
margin: 0;
padding: 0;
position: relative
}
.ae-Breadcrumb>ul>li>a {
display: inline-block;
padding: 0 5px;
cursor: pointer;
color: #666
}
.ae-Breadcrumb>ul>li>a:hover {
color: #333;
text-decoration: none
}
.ae-Breadcrumb>ul>li>ul {
display: none;
width: 120px;
position: absolute;
z-index: 10;
padding: 5px 0;
top: 100%;
left: 0;
background: #fff;
box-shadow: .125rem .25rem .5rem rgba(0, 0, 0, .2);
list-style: none
}
.ae-Breadcrumb>ul>li>ul>li>a {
display: block;
padding: 2px 10px;
cursor: pointer;
color: #666
}
.ae-Breadcrumb>ul>li>ul>li>a:hover {
background: #f6f7fb;
text-decoration: none;
color: #333
}
.ae-Breadcrumb>ul>li>ul>li>a.is-active {
color: #17a2b8
}
.ae-Breadcrumb>ul>li:hover>a {
background: #f6f7fb
}
.ae-Breadcrumb>ul>li:hover>ul {
display: block
}
.ae-Breadcrumb>ul>li:not(:last-child):after {
color: #ccc;
content: "/ "
}
.ae-Breadcrumb>ul>li:last-child>a {
color: #333
}
.ae-ClassNamePicker-popover {
padding: 10px;
width: 610px;
max-height: 400px;
overflow: auto
}
.ae-ClassNamePicker-popover.ae-PopOver--leftBottomLeftTop {
margin-top: 1px
}
.ae-ClassNamePicker-popover.ae-PopOver--leftTopLeftBottom {
margin-top: -1px
}
.ae-ClassNameControl-group {
margin: 10px;
display: inline-block;
width: 265px
}
.ae-ClassNameControl-group.w2x {
width: 550px
}
.ae-ClassNameControl-group .ae-ClassNameControl-group {
padding-left: 65px;
margin: 0;
display: block;
width: auto
}
.ae-ClassNameControl-group .ae-ClassNameControl-group:not(:last-child) {
margin: 0 0 10px 0
}
.ae-ClassNameControl-group .ae-ClassNameControl-group .ae-ClassNameControl-groupLabel {
float: left;
border: none;
padding-top: 5px;
padding-bottom: 0;
text-align: right;
margin: 0 0 0 -60px;
font-size: 12px
}
.ae-ClassNameControl-group .ae-ButtonGroup+.ae-ButtonGroup {
margin-left: 5px
}
.ae-ClassNameControl-groupLabel {
border-bottom: .0625rem solid #dfe2e6;
display: block;
padding-bottom: 5px;
margin-bottom: 10px;
font-size: 14px
}
.ae-RendererList {
padding: 10px 0 10px;
width: 300px;
display: flex;
flex-direction: column
}
.ae-RendererList-groupWrap {
height: 0;
flex-grow: 1;
overflow: auto
}
.ae-RendererList-groupWrap::-webkit-scrollbar {
background-color: #fff;
width: 10px
}
.ae-RendererList-groupWrap ::-webkit-scrollbar-track {
background-color: #fff
}
.ae-RendererList-groupWrap::-webkit-scrollbar-thumb {
background-color: #babac0;
border-radius: 8px;
border: 2px solid #fff
}
.ae-RendererList-groupWrap::-webkit-scrollbar-thumb:hover {
background-color: #7d7d7d
}
.ae-RendererList-groupWrap::-webkit-scrollbar-button {
display: none
}
.ae-RendererList-group {
display: flex;
flex-wrap: wrap;
flex-direction: row;
justify-content: space-between;
padding: 0 15px
}
.ae-RendererList-groupLabel {
font-size: 14px;
color: #333;
padding: 5px 0;
width: 100%
}
.ae-RendererList-item {
cursor: move;
background: #f6f7fb;
border: 1px solid #ccc;
padding: 4px 8px;
display: flex;
margin-bottom: 5px;
align-items: center;
flex: 0 0 49%;
font-size: 12px;
white-space: nowrap
}
.ae-RendererList-item>i, .ae-RendererList-item>svg {
margin-right: 5px;
font-size: 14px
}
.ae-RendererList-item:hover {
color: #333;
background: #edeff7
}
.ae-RendererList-itemLabel {
flex-grow: 1
}
.ae-RendererList>span {
display: block;
text-align: center;
color: #999;
margin-top: 10px
}
a.ae-RendererIcon {
color: #6c757d;
cursor: pointer;
display: block
}
a.ae-RendererIcon>svg {
top: 0;
width: 12px;
height: 12px;
display: block
}
a.ae-RendererIcon:hover {
color: #212529
}
.ae-RendererThumb {
min-width: 300px;
min-height: 120px;
max-width: 500px;
max-height: 500px
}
.ae-RendererThumb>div:last-child>div {
position: relative
}
.ae-RendererInfo {
font-size: 12px
}
.ae-RendererDiv {
margin: 10px -10px;
display: block;
height: 1px;
background: #eee
}
.ae-RendererPreview {
position: relative;
min-width: 400px
}
.ae-RenderersPicker-list {
flex-grow: 1;
height: 0;
display: flex;
flex-direction: row;
margin-top: 10px;
margin-bottom: 10px
}
.ae-RenderersPicker-list>ul {
min-width: 40px;
margin: 0;
padding: 0;
margin-right: 20px;
user-select: none
}
.ae-RenderersPicker-list>ul>li {
list-style: none;
display: block;
text-align: center;
white-space: nowrap
}
.ae-RenderersPicker-list>ul>li:not(:last-child) {
margin-bottom: 10px
}
.ae-RenderersPicker-list>ul>li>a {
color: #666;
font-size: 14px;
cursor: pointer;
padding: 2px 10px;
border-radius: 5px
}
.ae-RenderersPicker-list>ul>li.is-active>a, .ae-RenderersPicker-list>ul>li>a:hover {
text-decoration: none;
color: #333;
background: rgba(66, 133, 244, .1)
}
.ae-RenderersPicker-content {
flex-grow: 1;
width: 0;
overflow: auto
}
.ae-RenderersPicker-content::-webkit-scrollbar {
background-color: #fff;
width: 10px
}
.ae-RenderersPicker-content ::-webkit-scrollbar-track {
background-color: #fff
}
.ae-RenderersPicker-content::-webkit-scrollbar-thumb {
background-color: #babac0;
border-radius: 8px;
border: 2px solid #fff
}
.ae-RenderersPicker-content::-webkit-scrollbar-thumb:hover {
background-color: #7d7d7d
}
.ae-RenderersPicker-content::-webkit-scrollbar-button {
display: none
}
.ae-RenderersPicker-content>ul {
list-style: none;
margin: 0;
padding: 0
}
.ae-RenderersPicker-content>ul>li {
border-radius: 3px;
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
flex-direction: row;
align-items: center;
background: #f6f7fb;
border: 1px solid #ddd;
color: #666;
font-size: 12px;
cursor: pointer
}
.ae-RenderersPicker-content>ul>li:not(:last-child) {
margin-bottom: 10px
}
.ae-RenderersPicker-content>ul>li:hover, .ae-RenderersPicker-content>ul>li.is-active {
background: rgba(66, 133, 244, .1)
}
.ae-RenderersPicker-content>ul>li.is-active {
border: 1px solid #4285f4
}
.ae-RenderersPicker-info {
flex-grow: 1;
width: 0;
padding: 10px;
align-self: flex-start;
user-select: none
}
.ae-RenderersPicker-info>h4 {
font-size: 14px;
color: #333;
padding: 0;
margin: 0 0 10px
}
.ae-RendereresPicker-form {
height: 100%
}
.ae-RenderersPicker {
height: 100%;
display: flex;
flex-direction: column
}
.ae-RegionFilter {
margin: 10px 15px;
font-size: 12px;
color: #666
}
.ae-RegionFilter>div {
display: inline-block;
cursor: pointer;
padding: 2px 10px;
border-radius: 5px
}
.ae-RegionFilter>div:hover, .ae-RegionFilter>div.is-active {
color: #333;
background: rgba(66, 133, 244, .1)
}
.ae-InsertPanel {
display: flex;
flex-direction: column;
padding: 15px;
width: 100%;
height: 100%
}
.ae-InsertPanel-title {
color: #333;
margin-bottom: 10px
}
.ae-InsertPanel-footer {
text-align: right
}
.ae-InsertPanel-footer>button+button, .ae-InsertPanel-footer>div+button {
margin-left: 5px
}
.ae-RendererList-tip {
margin: 0 15px 10px;
color: #28a745
}
.ae-TableViewEditor {
position: relative
}
.ae-TableViewEditor-rowLine {
position: absolute;
height: 7px;
left: 0;
right: 0;
cursor: row-resize;
user-select: none;
opacity: .5
}
.ae-TableViewEditor-colLine {
position: absolute;
width: 7px;
top: 0;
bottom: 0;
cursor: col-resize;
user-select: none;
opacity: .5
}
.ae-TableViewEditor-mergeIcon {
position: absolute;
bottom: -22px;
left: calc(50% - 3.5em);
color: #4285f4;
cursor: pointer
}
.ae-TableViewEditor td[data-selected] {
background: #cfe1fe
}
.ae-TableViewEditor .ae-AddBtn {
position: absolute;
left: calc(50% - 10px);
top: calc(50% - 10px);
margin: 0
}
.ae-TargetName {
padding: 12px;
width: 15em
}
.ae-TargetName-list {
list-style: none;
padding: 0;
margin: 0;
user-select: none;
cursor: pointer
}
.ae-TargetName-node>span {
line-height: normal
}
.ae-TargetName-node>a {
color: #58666e;
text-decoration: none
}
.ae-TargetName-node.is-active>a {
color: #007bff
}
.ae-TargetName-node.is-hover>a {
color: #007bff
}
.ae-Editor-selectionCursor {
position: absolute;
background: rgba(35, 183, 229, .2);
border: 1px solid #23b7e5;
z-index: 999999
}
.aeDataChain {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
min-height: 300px
}
.aeDataChain-aside {
width: 60px;
flex-shrink: 0;
border-right: 1px solid #ccc;
margin-right: 10px;
padding-right: 10px
}
.aeDataChain-aside>ul {
list-style: none;
margin: 0;
padding: 0
}
.aeDataChain-aside>ul>li {
display: block;
cursor: pointer;
text-align: center;
color: #999;
padding: 2px 5px;
font-size: 12px
}
.aeDataChain-aside>ul>li.is-active {
color: #333;
background: #edeff7
}
.aeDataChain-main {
flex-grow: 1;
flex-basis: 1
}
@keyframes growing {
0% {
box-shadow: 0 0 10px rgba(35, 183, 229, 0) inset;
border: 1px solid rgba(66, 133, 244, 0)
}
50% {
box-shadow: 0 0 10px rgba(35, 183, 229, .6) inset;
border: 1px solid rgba(66, 133, 244, .75)
}
100% {
box-shadow: 0 0 10px rgba(35, 183, 229, .2) inset;
border: 1px solid rgba(66, 133, 244, .1)
}
}
.ae-Layout-brand {
width: 11.25rem;
color: #fff;
text-align: left;
font-size: 1rem;
font-weight: 400;
max-width: 100%;
height: auto;
line-height: 3.125rem;
display: inline-block;
vertical-align: middle;
padding: 0 1.25rem;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis
}
.ae-Editor {
display: block;
min-height: 450px;
background: #e2e5ec
}
.ae-Editor.is-fixed {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0
}
.ae-Editor .ae-Editor-inner {
display: flex;
height: 100%;
width: 100%;
flex-direction: row
}
.ae-Editor-common-config {
outline: 2px solid rgba(243, 144, 0, .2)
}
.ae-Main {
flex-grow: 1;
width: 0;
display: flex;
flex-direction: column
}
.ae-Preview {
flex-grow: 1;
max-height: 100%;
min-width: 375px;
overflow-x: hidden;
overflow-y: auto;
padding: 20px;
user-select: none
}
.ae-Preview::-webkit-scrollbar {
background-color: #fff;
width: 10px
}
.ae-Preview ::-webkit-scrollbar-track {
background-color: #fff
}
.ae-Preview::-webkit-scrollbar-thumb {
background-color: #babac0;
border-radius: 8px;
border: 2px solid #fff
}
.ae-Preview::-webkit-scrollbar-thumb:hover {
background-color: #7d7d7d
}
.ae-Preview::-webkit-scrollbar-button {
display: none
}
.ae-Preview-inner {
position: relative;
display: flex;
min-height: 100%
}
.ae-Preview-inner>*:first-child {
min-width: 100%;
position: relative;
min-height: 100%;
height: auto;
background: #fff;
box-shadow: 0 10px 10px -10px rgba(0, 0, 0, .2)
}
.ae-Preview:focus {
outline: none
}
.ae-Preview.is-edting input, .ae-Preview.is-edting textarea, .ae-Preview.is-edting select, .ae-Preview.is-edting iframe {
pointer-events: none
}
.ae-Preview.is-mobile {
border: 15px solid #3a4051;
border-radius: 30px;
width: 375px;
height: 812px;
flex-grow: unset;
min-height: unset;
margin: 0 auto;
min-width: unset;
margin-top: 40px;
padding: 0;
position: relative;
overflow: visible
}
.ae-Preview.is-mobile>.ae-Preview-inner {
height: 100%;
width: 100%;
overflow-x: hidden;
overflow-y: auto;
padding: 20px 0
}
.ae-Preview.is-mobile>.ae-Preview-inner::-webkit-scrollbar {
background-color: #fff;
width: 10px
}
.ae-Preview.is-mobile>.ae-Preview-inner ::-webkit-scrollbar-track {
background-color: #fff
}
.ae-Preview.is-mobile>.ae-Preview-inner::-webkit-scrollbar-thumb {
background-color: #babac0;
border-radius: 8px;
border: 2px solid #fff
}
.ae-Preview.is-mobile>.ae-Preview-inner::-webkit-scrollbar-thumb:hover {
background-color: #7d7d7d
}
.ae-Preview.is-mobile>.ae-Preview-inner::-webkit-scrollbar-button {
display: none
}
.ae-PreviewFrame {
pointer-events: all ;
border: 0;
width: 100%
}
.ae-IframeMask {
position: absolute;
z-index: 100;
top: 0;
left: 0;
right: 0;
bottom: 0
}
.ae-IFramePreview>*:first-child {
min-width: 100%;
position: relative;
min-height: 100%;
background: #fff
}
.ae-IFramePreview.is-edting input, .ae-IFramePreview.is-edting textarea, .ae-IFramePreview.is-edting select, .ae-IFramePreview.is-edting iframe {
pointer-events: none
}
.ae-Editor-toolbarPopover {
box-shadow: 0 -2px 5px rgba(255, 255, 255, .5);
border: 0;
white-space: nowrap;
background: #4285f4;
border-radius: 3px 3px 0px 0px;
color: #fff;
line-height: 1.2;
height: 16px;
position: absolute;
top: -16px;
left: -1px;
display: inline-flex;
align-items: center;
z-index: 20
}
.ae-Editor-toolbarPopover .ae-Editor-toolbar {
z-index: 10
}
.ae-Editor-toolbar {
display: inline-flex;
vertical-align: middle;
pointer-events: all;
height: 100%;
align-items: center;
left: auto
}
.ae-Editor-toolbar button {
cursor: pointer;
display: inline-flex;
align-items: center;
justify-content: center;
width: 20px;
text-align: center;
color: #fff;
opacity: .8;
background: transparent;
border: none;
outline: none;
font-size: 10px
}
.ae-Editor-toolbar button:hover {
opacity: 1
}
.ae-Editor-toolbar button[draggable] {
cursor: move
}
.ae-WResizer, .ae-HResizer, .ae-Resizer {
width: 10px;
height: 10px;
border: 2px solid #4285f4;
background-color: #fff;
transform: translate(-50%, -50%);
position: absolute;
pointer-events: all;
display: none
}
.ae-WResizer {
left: 100%;
top: 50%;
cursor: ew-resize
}
.ae-WResizer[data-value]:after {
position: absolute;
content: attr(data-value);
background-color: #4285f4;
right: 15px;
top: 50%;
transform: translate(0, -50%);
padding: 2px 8px;
color: #fff
}
.ae-HResizer {
left: 50%;
top: 100%;
cursor: ns-resize
}
.ae-HResizer[data-value]:after {
position: absolute;
content: attr(data-value);
background-color: #4285f4;
bottom: 15px;
left: 50%;
transform: translate(-50%, 0);
padding: 2px 8px;
color: #fff
}
.ae-Resizer {
left: 100%;
top: 100%;
cursor: nwse-resize
}
.ae-Resizer[data-value]:after {
position: absolute;
content: attr(data-value);
background-color: #4285f4;
bottom: 15px;
right: 15px;
padding: 2px 8px;
color: #fff;
text-align: center
}
.ae-Editor-hlbox {
position: absolute;
z-index: 1;
border: 1px dashed rgba(66, 133, 244, .75);
pointer-events: none;
transition: all ease-out .15s
}
.ae-Editor-hlbox:hover {
z-index: 3
}
.ae-Editor-hlbox.selected {
background: rgba(66, 133, 244, .05);
border: 1px solid #4285f4
}
.ae-Editor-hlbox.selected .ae-Editor-toolbar {
background: #4285f4
}
.ae-Editor-hlbox.selected .ae-Editor-toolbar button.ae-InsertBefore, .ae-Editor-hlbox.selected .ae-Editor-toolbar button.ae-InsertAfter {
background: #4285f4
}
.ae-Editor-hlbox.selected .ae-WResizer, .ae-Editor-hlbox.selected .ae-HResizer, .ae-Editor-hlbox.selected .ae-Resizer {
display: block
}
.ae-Editor-hlbox.regionOn {
background: transparent;
z-index: 5
}
.ae-Editor-hlbox .ae-Editor-toolbar {
display: none;
background: rgba(66, 133, 244, .75)
}
.ae-Editor-hlbox .ae-Editor-toolbar.sencondary {
position: absolute;
top: -1px;
right: -1px;
border-radius: 0 0 3px 3px;
height: 20px;
line-height: 20px
}
.ae-Editor-hlbox .ae-Editor-toolbar.sencondary>button {
font-size: 12px;
width: 16px
}
.ae-Editor-hlbox .ae-Editor-toolbar.special {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: transparent ;
height: auto;
width: auto;
pointer-events: none
}
.ae-Editor-hlbox .ae-Editor-toolbar button.ae-InsertBefore, .ae-Editor-hlbox .ae-Editor-toolbar button.ae-InsertAfter {
pointer-events: all;
position: absolute;
background: rgba(66, 133, 244, .75);
width: 20px;
height: 20px;
line-height: 20px;
border-radius: 500px;
top: 20%
}
.ae-Editor-hlbox .ae-Editor-toolbar button.ae-InsertBefore>span>svg, .ae-Editor-hlbox .ae-Editor-toolbar button.ae-InsertAfter>span>svg {
width: 12px;
height: 12px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
transition: transform ease-out .3s
}
.ae-Editor-hlbox .ae-Editor-toolbar button.ae-InsertBefore.is-vertical, .ae-Editor-hlbox .ae-Editor-toolbar button.ae-InsertAfter.is-vertical {
left: 50%;
transform: translate(-50%, 0)
}
.ae-Editor-hlbox .ae-Editor-toolbar button.ae-InsertBefore:hover, .ae-Editor-hlbox .ae-Editor-toolbar button.ae-InsertAfter:hover {
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .12), 0 2px 4px 0 rgba(0, 0, 0, .08)
}
.ae-Editor-hlbox .ae-Editor-toolbar button.ae-InsertBefore:hover>span>svg, .ae-Editor-hlbox .ae-Editor-toolbar button.ae-InsertAfter:hover>span>svg {
transform: translate(-50%, -50%) rotate(90deg)
}
.ae-Editor-hlbox .ae-Editor-toolbar button.ae-InsertBefore {
left: -25px
}
.ae-Editor-hlbox .ae-Editor-toolbar button.ae-InsertBefore.is-vertical {
top: -25px
}
.ae-Editor-hlbox .ae-Editor-toolbar button.ae-InsertAfter {
right: -25px
}
.ae-Editor-hlbox .ae-Editor-toolbar button.ae-InsertAfter.is-vertical {
top: auto;
bottom: -25px
}
.ae-Editor-hlbox.selected .ae-Editor-toolbar {
display: block;
background: #4285f4
}
.ae-Editor-tip {
user-select: none;
max-width: 100px;
padding: 0 5px;
overflow: hidden;
text-overflow: ellipsis;
color: #fff;
font-size: 11px;
line-height: 1.2;
display: inline-flex;
height: 100%;
align-items: center;
white-space: nowrap;
position: relative;
transition: all ease-out .3s;
cursor: pointer;
z-index: 2
}
.ae-Editor-tip.parent, .ae-Editor-tip.child {
background: #4285f4;
border-radius: 3px;
position: absolute;
top: 0;
left: 0;
z-index: 1
}
.ae-Editor-tip.child {
z-index: 3
}
.ae-Editor-nav {
pointer-events: all;
position: relative;
display: inline-block;
vertical-align: middle
}
.ae-Editor-nav .ae-Editor-tip {
opacity: 0;
display: block;
background: rgba(66, 133, 244, .8)
}
.ae-Editor-nav .ae-Editor-tip.current {
opacity: 1
}
.ae-Editor-nav:hover .ae-Editor-tip {
opacity: 1
}
.ae-Editor-nav:hover .ae-Editor-tip.parent {
transform: translate(0, -18px)
}
.ae-Editor-nav:hover .ae-Editor-tip.child {
transform: translate(0, 18px)
}
.ae-Editor-nav:hover .ae-Editor-tip:hover, .ae-Editor-nav:hover .ae-Editor-tip.current {
background: #4285f4
}
.ae-Preview-widgets {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 100;
pointer-events: none
}
.ae-Editor-rendererCol {
width: 140px;
padding: 0 20px 0 0;
vertical-align: middle ;
text-align: center
}
.ae-Editor-rendererThumbOuter {
position: absolute;
top: 0;
left: 0;
min-width: 210px;
min-height: 90px;
padding: 10px;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
vertical-align: middle
}
.ae-DialogToolbar {
height: 100%;
flex: 1 auto
}
.ae-DialogToolbar>button {
background: 0 0;
color: #222;
outline: 0;
border: 0;
line-height: 1;
cursor: pointer;
margin: 0 2px;
transition: background-color .2s ease 0s;
border-radius: 0;
background-clip: padding-box;
z-index: 2;
position: relative;
box-sizing: border-box;
text-decoration: none;
float: left;
padding: 0;
width: 30px;
height: 30px;
text-align: left
}
.ae-DialogToolbar>button>i {
display: block;
font-size: 14px;
width: 14px;
margin: 8px;
text-align: center;
float: none
}
.ae-DialogToolbar>button:hover {
background-color: #f2f2f2
}
.ae-DialogToolbar>button.acitve {
background: #d6d6d6 ;
color: #222
}
.ae-DialogToolbar>button[disabled] {
color: #bdbdbd;
cursor: default;
pointer-events: none
}
.ae-disable-mask {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1100
}
.ae-RenderersPicker-thumb {
width: 100%;
padding: 10px;
user-select: none
}
.ae-RenderersPicker-thumb.is-scaled {
width: 140px
}
.ae-RenderersPicker-thumb .ae-Editor-rendererThumbWrap {
width: 100%;
min-height: 60px;
overflow: hidden;
position: relative;
text-align: left;
display: flex;
justify-content: center;
align-items: center;
position: relative;
z-index: 100;
background: #f8f9fa;
padding: 10px
}
.ae-RenderersPicker-thumb .ae-Editor-rendererThumbIcon {
position: absolute;
top: 50%;
left: 50%;
z-index: 110;
background: rgba(0, 0, 0, .6);
border-radius: 5px;
width: 30px;
height: 30px;
color: #fff;
text-align: center;
vertical-align: middle;
line-height: 30px;
transform: translate(-50%, -50%);
opacity: 0
}
.ae-RenderersPicker-thumb .ae-Editor-rendererThumbIcon:hover {
opacity: 1
}
.ae-RenderersPicker-thumb .ae-Editor-rendererThumbIcon>svg {
position: relative;
top: 4px;
width: 16px;
height: 16px
}
.ae-RenderersPicker-thumb .ae-Editor-rendererThumbWrap:hover>.ae-Editor-rendererThumbIcon {
opacity: .4
}
.ae-RenderersPicker-thumb .ae-Editor-rendererThumbIcon i {
display: block;
position: absolute;
bottom: 0;
right: 0;
color: #dcdcdc
}
.ae-RenderersPicker-thumb .ae-Editor-rendererThumb {
display: inline-block;
width: 100%
}
.ae-RenderersPicker-thumb .ae-Editor-rendererThumbInner {
margin: 0;
width: 100%;
transform-origin: 0% 0%;
transform: scale(1);
pointer-events: none;
text-align: center
}
.ae-RenderersPicker-thumb .ae-Editor-rendererThumbInner>* {
text-align: left;
margin-bottom: 0
}
.ae-RenderersPicker-thumb.is-scaled .ae-Editor-rendererThumbInner {
margin: 0;
width: 200%;
transform-origin: 0% 0%;
transform: scale(0.5);
pointer-events: none;
text-align: center
}
.ae-Editor-rendererPlaceholder {
position: relative;
text-align: center
}
.ae-Widget-iframe {
position: relative
}
.ae-Widget-iframe:after {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1210;
content: ""
}
.ae-Drawer-preview {
display: flex;
flex-direction: column
}
.ae-Drawer-preview .panel-footer .btn+.btn {
margin-left: 5px
}
.ae-Drawer-preview .resize-ctrl {
display: none
}
.dropdown-menu.preview {
display: block;
position: static
}
[data-editor-id][draggable] {
cursor: move
}
[data-editor-id].ae-is-draging, .ae-is-draging {
display: none
}
[data-editor-id][data-visible=false] {
opacity: .6;
position: relative
}
[data-editor-id][data-visible=false]:before {
content: "<隐藏状态>";
z-index: 10;
color: #6c717c;
border: 1px dashed #ced0d3;
background: rgba(10, 19, 37, .05);
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center
}
.ae-Region-placeholder {
display: none
}
[data-region] {
position: relative;
min-height: 34px
}
[data-region]:empty {
min-width: 20px
}
[data-region]:empty:before {
height: 100%;
content: attr(data-region-placeholder);
position: relative;
display: flex;
flex: 1;
flex-direction: column;
justify-content: center;
padding: 0 5px;
-webkit-user-select: none;
user-select: none;
text-align: center;
text-transform: uppercase;
color: #6c717c;
border: 1px dashed #ced0d3;
background: rgba(10, 19, 37, .05)
}
[data-region].is-dragenter {
background-color: #fff
}
[data-region].is-dragenter .ae-AddBtn {
display: none
}
[data-region].is-dragenter>[data-editor-id], [data-region].is-dragenter>*:not([data-editor-id])>[data-editor-id] {
position: relative
}
[data-region].is-dragenter>[data-editor-id]::before, [data-region].is-dragenter>*:not([data-editor-id])>[data-editor-id]::before {
z-index: 10;
content: "";
position: absolute;
pointer-events: none;
left: 0;
top: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, .05);
border: 1px solid #999
}
[data-region].is-dragenter>span[data-editor-id] {
display: inline-block
}
[data-region].is-entering:not(.is-dragenter) {
position: relative
}
[data-region].is-entering:not(.is-dragenter)::before {
z-index: 10;
content: "";
position: absolute;
pointer-events: none;
left: 0;
top: 0;
right: 0;
bottom: 0;
animation: growing 1s infinite linear;
transform: translate3d(0, 0, 0)
}
[data-region].is-entering:not(.is-dragenter)::after {
z-index: 20;
content: "保持3s不动切换";
pointer-events: none;
position: absolute;
left: 50%;
transform: translateX(-50%);
top: 10%;
background: #4285f4;
border-radius: 5px;
font-size: 12px;
color: #fff;
padding: 2px 5px
}
.ae-Editor-rhlbox {
position: absolute;
display: block;
width: 100%;
height: 100%;
border-style: solid;
border-color: transparent;
pointer-events: none;
box-sizing: content-box;
z-index: 2;
transition: all ease-out .15s
}
.ae-Editor-rhlbox:before {
z-index: -1;
content: "";
border: 1px dotted #67cded;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0
}
.ae-Editor-rhlbox.is-highlight {
border-color: rgba(66, 133, 244, .05);
background: transparent
}
.ae-Editor-rhlbox.is-highlight:before {
box-shadow: 0 1px 7px rgba(0, 0, 0, .2);
border: 1px solid #3abee8
}
.ae-Editor-rhlbox.is-dragenter[data-renderer=form][data-region=controls] {
margin: -15px;
padding: 15px
}
.ae-Editor-rhlbox.is-dragenter[data-renderer=form][data-region=body] {
margin: -15px;
padding: 15px
}
.ae-Editor-rhlbox>.region-tip {
cursor: pointer;
right: 50%;
top: -14px;
position: absolute;
background: #23b7e5;
transform: translateX(50%) scale(0.8);
color: #fff;
padding: 2px 5px;
font-size: 11px;
border-radius: 3px 3px 0 0;
line-height: 1.2;
white-space: nowrap;
box-shadow: 0 2px 5px rgba(255, 255, 255, .5);
pointer-events: all
}
a.ae-AddBtn {
display: inline-block;
vertical-align: middle;
align-self: center;
width: 20px;
height: 20px;
line-height: 20px;
border-radius: 500px;
text-align: center;
margin: 5px;
background: #23b7e5;
color: #fff;
cursor: pointer;
position: relative;
transition: transform ease-out .3s
}
a.ae-AddBtn>svg {
width: 12px;
height: 12px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
transition: transform ease-out .3s
}
a.ae-AddBtn:hover {
color: #fff;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, .12), 0 2px 4px 0 rgba(0, 0, 0, .08)
}
a.ae-AddBtn:hover>svg {
transform: translate(-50%, -50%) rotate(90deg)
}
[data-region=columns]>.ae-AddBtn, [data-renderer=card][data-region=actions]>.ae-AddBtn {
position: absolute;
left: -30px;
top: 5px
}
div.ae-DragImage {
pointer-events: none;
position: absolute;
top: -99999px;
left: 0;
background: rgba(66, 133, 244, .1);
border: 1px solid rgba(66, 133, 244, .75);
white-space: nowrap;
max-width: 50px;
max-height: 30px
}
div.ae-DragImage>span {
left: -1px;
top: -15px;
position: absolute;
background: rgba(66, 133, 244, .75);
color: #fff;
padding: 2px 5px;
font-size: 11px;
border-radius: 3px 3px 0 0;
line-height: 1.2;
z-index: 1204;
display: block;
white-space: nowrap;
box-shadow: 0 -2px 5px rgba(255, 255, 255, .5)
}
.ae-DragGhost {
display: inline;
pointer-events: none
}
.ae-DragGhost>* {
position: relative
}
.ae-DragGhost>*::before {
content: "";
position: absolute;
z-index: 10;
top: -1px;
left: -1px;
right: -1px;
bottom: -1px;
min-width: 100%;
min-height: 100%;
background: rgba(35, 183, 229, .2);
border: 1px solid #23b7e5
}
.ae-DragGhost.use-position {
display: inline-block;
position: absolute;
background: #23b7e5;
height: 5px;
width: 100%;
z-index: 5
}
.ae-DragGhost.use-position::before {
content: " "
}
.ae-DragGhost.use-position.is-horizontal {
width: 5px;
height: 100%
}
@media(min-width: 768px) {
.ae-BulkActions-control .col-edit {
width: 30px;
flex-grow: 0
}
.ae-BulkActions-control .col-edit>button {
border: 0;
background-color: transparent;
outline: none
}
}
.ae-Editor-rendererItem {
display: block;
max-width: unset;
margin-bottom: 10px
}
.ae-Editor-rendererItem:hover {
background: rgba(66, 133, 244, .1);
color: #58666e
}
.ae-Editor-rendererItem.is-active, .ae-Editor-rendererItem:hover:active {
background: rgba(66, 133, 244, .1);
border: 1px solid #4285f4;
color: #58666e
}
.ae-Editor-rendererItem.is-active:after, .ae-Editor-rendererItem:hover:active:after {
border-color: #4285f4
}
.ae-dialog {
padding: 0 ;
position: relative
}
.ae-dialog>div {
position: absolute;
width: 100%;
height: 100%;
padding: 0;
overflow: auto
}
.ae-dialog>div>div {
height: 100%;
margin-bottom: 0
}
.ae-dialog>div>div>.ae-Editor {
position: relative;
height: 100%
}
.ae-Dialog-footerRegion {
text-align: right
}
.ae-InlineModel {
display: flex;
flex-direction: column;
height: auto;
width: 100%;
border: 1px solid #d1d5db
}
.ae-EditableRenderers {
padding: 5px 10px;
background: rgba(39, 194, 76, .2);
border: 1px solid rgba(22, 109, 43, .2);
margin-bottom: 10px
}
.ae-EditableRenderers-tip {
display: block;
color: #27c24c
}
.ae-EditableRender {
display: flex;
flex-direction: row;
align-items: center;
margin-top: 10px
}
.ae-EditableRender-title {
font-size: 12px;
color: #333;
padding-right: 10px
}
.ae-EditableRender-body {
flex-grow: 1;
width: 0;
margin: -3px
}
.ae-EditableRender-body>* {
margin: 3px
}
.ae-ErrorRenderer {
display: flex;
align-items: center;
justify-content: center;
color: #a94442;
background: #f2dede;
border: 1px solid #ebccd1;
min-height: 30px;
padding: 0 10px
}
.ae-ApiSample {
min-width: 200px
}
.ae-ApiSample>pre {
overflow: auto;
border: 1px solid #999;
page-break-inside: avoid;
display: block;
padding: 9.5px;
margin: 0 0 10px;
font-size: 13px;
line-height: 1.42857143;
color: #333;
word-break: break-all;
word-wrap: break-word;
background-color: #f5f5f5;
border: 1px solid #ccc;
border-radius: 4px
}
.ae-ApiSample>pre>code {
white-space: pre
}
.ae-ApiSample-tooltip {
max-width: 360px
}
.ae-JsonEditor {
height: 400px;
border: 1px solid #d1d5db
}
.ae-Editor-popOverForm {
min-width: 300px;
max-width: 600px;
padding: 10px 20px
}