Afform - Add undo/redo buttons to the Admin UI
[civicrm-core.git] / ext / afform / admin / ang / afGuiEditor.css
CommitLineData
00a9b1d0
CW
1#bootstrap-theme.afadmin-list th[ng-click] {
2 cursor: pointer;
3}
4#bootstrap-theme.afadmin-list th i.fa-sort-desc,
5#bootstrap-theme.afadmin-list th i.fa-sort-asc {
6 color: #1a5a82;
7}
8#bootstrap-theme.afadmin-list th:not(:hover) i.fa-sort {
9 opacity: .5;
10}
11
a064e90d 12#afGuiEditor #afGuiEditor-palette {
c820e08c 13 margin-right: 5px;
4da60774 14 height: 100%;
f6c0358e
CW
15}
16
a064e90d 17#afGuiEditor #afGuiEditor-canvas {
c820e08c 18 margin-left: 5px;
4da60774 19 height: 100%;
9651d93c
CW
20}
21
22#afGuiEditor fieldset legend {
3fc5bbff 23 padding-top: 5px;
9651d93c
CW
24 font-size: 16px;
25 margin-bottom: 5px !important;
26}
27
54dbfd05
CW
28#afGuiEditor-palette fieldset legend {
29 height: 30px;
30}
31
9651d93c
CW
32#afGuiEditor hr {
33 margin-top: 15px;
34 margin-bottom: 10px;
3fc5bbff
CW
35}
36
4da60774
CW
37#afGuiEditor .panel {
38 height: 100%;
39}
40#afGuiEditor .panel-heading {
41 height: 44px;
8b25d564
CW
42 padding: 5px 10px 10px 10px;
43 border-bottom: 1px solid #ddd;
835aeacb 44 position: relative;
4da60774
CW
45}
46#afGuiEditor .panel-heading ul.nav-tabs {
47 border-bottom: 0 none;
8b25d564 48 padding: 0!important;
4da60774
CW
49}
50#afGuiEditor .panel-heading ul.nav-tabs li {
8b25d564 51 top: 6px;
c4f21d2b 52 margin: 0;
a064e90d 53}
4da60774
CW
54#afGuiEditor .panel-heading ul.nav-tabs li.fluid-width-tab {
55 white-space: nowrap;
56 overflow: hidden;
57}
58#afGuiEditor .panel-heading ul.nav-tabs li.active {
59 max-width: 50%;
60}
61#afGuiEditor .panel-heading ul.nav-tabs li > a {
62 padding: 5px 3px 5px 8px;
63 height: 33px;
c820e08c 64 font-size: 12px;
4da60774
CW
65 margin: 0;
66}
835aeacb
CW
67#afGuiEditor .form-inline.af-gui-canvas-control-buttons {
68 position: absolute;
69 left: 48%;
70}
4da60774
CW
71
72#afGuiEditor .panel-body {
73 padding: 5px 12px;
74 position: relative;
75 height: calc(100% - 44px);
76 overflow-y: scroll;
77 overflow-x: hidden;
8b25d564 78 border-top: none!important;
c820e08c
CW
79}
80
9651d93c 81#afGuiEditor .af-gui-columns {
9651d93c 82 position: relative;
9651d93c
CW
83}
84#afGuiEditor .af-gui-columns > * {
9651d93c
CW
85 min-width: 200px;
86}
87
88#afGuiEditor .af-gui-remove-entity {
89 position: absolute;
90 right: 3px;
91 top: 3px;
c820e08c
CW
92}
93
a064e90d 94#afGuiEditor .crm-editable-enabled,
4da60774 95#afGuiEditor .panel-heading ul.nav-tabs li > a > span {
a064e90d
CW
96 display: inline-block;
97 padding: 0 4px !important;
98 border: 2px solid transparent !important;
9eed04d9 99 min-width: 21px;
a064e90d
CW
100}
101#afGuiEditor .crm-editable-enabled:hover:not(:focus) {
102 border: 2px dashed grey !important;
103}
666a68e2 104/* Undo Shoreditch add-ons */
a064e90d
CW
105#afGuiEditor .crm-editable-enabled:before,
106#afGuiEditor .crm-editable-enabled:after {
107 content: '';
108 display: none;
109}
110
edac0d6e 111#afGuiEditor-palette-config .af-gui-entity-values .form-inline {
a064e90d
CW
112 margin-bottom: 10px;
113}
114
115#afGuiEditor-palette-config .form-inline label {
116 min-width: 110px;
f6c0358e 117}
f3cd3852 118
e1aca853
CW
119#afGuiEditor-palette-config .af-gui-entity-palette [type=search] {
120 width: 120px;
121 padding: 3px 3px 3px 5px;
54dbfd05 122 height: 25px;
e1aca853
CW
123 font-weight: normal;
124 position: relative;
125 top: -3px;
126 font-size: 12px;
127}
128
fbcd8c17 129#bootstrap-theme input[type=search]::placeholder {
edac0d6e
CW
130 font-family: FontAwesome;
131 text-align: right;
132}
fbcd8c17 133#bootstrap-theme input[type=search]:-ms-input-placeholder {
edac0d6e
CW
134 font-family: FontAwesome;
135 text-align: right;
136}
fbcd8c17 137#bootstrap-theme input[type=search]::-ms-input-placeholder {
edac0d6e
CW
138 font-family: FontAwesome;
139 text-align: right;
140}
141
3aed3446 142#afGuiEditor-canvas .af-gui-bar {
3fc5bbff
CW
143 height: 22px;
144 width: 100%;
cac3d80b 145 transition: opacity .2s;
9383ac27 146 position: relative;
4bd44053
CW
147 font-family: "Courier New", Courier, monospace;
148 font-size: 12px;
3fc5bbff 149}
be125358
CW
150#afGuiEditor-canvas:not(.af-gui-menu-open) .af-gui-bar,
151#afGuiEditor-canvas:not(.af-gui-menu-open) .af-gui-container-title span:empty {
3aed3446
CW
152 opacity: 0;
153}
154#afGuiEditor-canvas [ui-sortable] .af-gui-bar {
f3cd3852 155 cursor: move;
4bd44053 156 background-color: #f2f2f2;
f3cd3852
CW
157 position: absolute;
158 top: 0;
159 left: 0;
cd5ae5b9 160 padding-left: 15px;
f3cd3852 161}
be125358
CW
162#afGuiEditor:not(.af-gui-dragging *) #afGuiEditor-canvas:hover .af-gui-bar,
163#afGuiEditor:not(.af-gui-dragging *) #afGuiEditor-canvas:hover .af-gui-container-title span:empty {
cd5ae5b9
CW
164 opacity: 1;
165 transition: opacity .2s;
166}
be125358
CW
167#afGuiEditor #afGuiEditor-canvas .af-gui-dragtarget > .af-gui-bar,
168#afGuiEditor #afGuiEditor-canvas .af-gui-dragtarget > .af-gui-container-title span:empty {
cac3d80b
CW
169 background-color: #d7e6ff;
170 opacity: 1;
171 transition: opacity .1s;
172}
cd5ae5b9 173
4da60774
CW
174/* Disable menu while dragging */
175body.af-gui-dragging #civicrm-menu {
176 pointer-events: none;
177}
178/* Disable scrollbars while dragging */
179body.af-gui-dragging {
180 overflow-x: hidden;
181 overflow-y: hidden;
182}
183
cd5ae5b9
CW
184#afGuiEditor .af-gui-bar .btn.active {
185 background-color: #b3b3b3;
f3cd3852
CW
186}
187
2ef64700
CW
188#afGuiEditor .af-gui-bar > .form-inline > span {
189 color: #696969;
190 font-style: italic;
191}
4b9caed3
CW
192#afGuiEditor .af-gui-bar > .form-inline > select {
193 height: 21px;
194 min-height: 21px;
195}
2ef64700 196
e72f4d81 197#afGuiEditor .af-gui-element {
f3cd3852 198 position: relative;
4bd44053 199 padding: 0 3px 3px;
ab3c1d83 200 display: block;
e72f4d81
CW
201}
202
6fb9e8d2 203#afGuiEditor .af-gui-container {
f3cd3852 204 border: 2px dashed transparent;
b4def6e9
CW
205 position: relative;
206 padding: 22px 3px 3px;
4bd44053 207 min-height: 40px;
4da60774
CW
208 margin-bottom: 10px;
209 margin-top: 10px;
ab3c1d83
CW
210}
211
082da253
CW
212/* Card style */
213#afGuiEditor .af-gui-container.af-container-style-pane {
214 box-shadow: 1px 2px 8px 1px rgb(0, 0, 0, .3);
215 background: linear-gradient(to bottom, #f2f2f2 0 22px, transparent 22px 100%) no-repeat;
216 border-radius: 4px;
217}
218
933b8520 219#afGuiEditor af-gui-container,
ab3c1d83 220#afGuiEditor af-gui-markup,
b15070eb
CW
221#afGuiEditor af-gui-field,
222#afGuiEditor af-gui-edit-options {
ab3c1d83 223 display: block;
4bd44053
CW
224}
225
2ef64700
CW
226#afGuiEditor .af-gui-search-display {
227 border: 1px dotted gray;
228 color: gray;
229 padding: 3em;
230 background-color: #f9f9f9;
231}
232
6fb9e8d2 233#afGuiEditor .af-gui-container-type-fieldset {
4bd44053 234 box-shadow: 0 0 5px #bbbbbb;
4da60774
CW
235 margin-top: 20px;
236 margin-bottom: 20px;
f3cd3852
CW
237}
238
3aed3446 239#afGuiEditor-canvas:not(.af-gui-menu-open) .af-gui-container:hover,
4da60774 240.af-gui-dragging #afGuiEditor .af-gui-container {
e72f4d81
CW
241 border: 2px dashed #757575;
242}
cac3d80b
CW
243#afGuiEditor .af-gui-container.af-gui-dragtarget {
244 border: 2px solid #0071bd;
245 box-shadow: 0 0 5px #0071bd;
246}
e72f4d81 247
192695ae
CW
248#afGuiEditor .af-gui-markup {
249 padding: 22px 3px 3px;
250 position: relative;
251}
252
253#afGuiEditor div.af-gui-markup-content {
254 display: block;
255 position: relative;
256 padding: 0 !important;
257}
258
259#afGuiEditor .af-gui-markup-content-overlay {
260 position: absolute;
261 top: 0;
262 left: 0;
263 width: 100%;
264 height: 100%;
265}
266
267#afGuiEditor .af-gui-markup-content:hover .af-gui-markup-content-overlay {
268 background-color: rgba(255, 255, 255, .2);
269}
270
f3cd3852
CW
271#afGuiEditor #afGuiEditor-canvas .af-entity-selected {
272 border: 2px dashed #0071bd;
273}
274#afGuiEditor #afGuiEditor-canvas .af-entity-selected > .af-gui-bar {
275 background-color: #0071bd;
5f535e6c
CW
276 opacity: 1;
277 transition: opacity 0s;
278}
1f0461e7
CW
279/* Fix button colors when bar is highlighted */
280#afGuiEditor #afGuiEditor-canvas .af-entity-selected > .af-gui-bar > .form-inline > .btn-group > .btn-group > button > span,
be125358
CW
281#afGuiEditor #afGuiEditor-canvas .af-entity-selected > .af-gui-bar > .form-inline > span,
282#afGuiEditor #afGuiEditor-canvas .af-entity-selected > .af-gui-node-title {
f3cd3852
CW
283 color: white;
284}
1f0461e7
CW
285#afGuiEditor #afGuiEditor-canvas .af-entity-selected > .af-gui-bar > .form-inline > .btn-group > .btn-group > button:hover > span,
286#afGuiEditor #afGuiEditor-canvas .af-entity-selected > .af-gui-bar > .form-inline > .btn-group > .btn-group > button[aria-expanded=true] > span,
287#afGuiEditor #afGuiEditor-canvas .af-entity-selected > .af-gui-bar > .form-inline > .btn-group > .btn-group > button:focus > span {
70a14f69
CW
288 color: #0071bd;
289}
f3cd3852 290
83412ba5 291#afGuiEditor-canvas [ui-sortable] {
cac3d80b
CW
292 min-height: 60px;
293 margin-top: 10px;
65c9e7ae
CW
294}
295
4da60774
CW
296#afGuiEditor .ui-sortable-helper {
297 height: 20px !important;
298 opacity: .5;
299 overflow: visible;
300}
301#afGuiEditor .ui-sortable-helper > * {
302 background-color: #d5d5d5;
303}
304#afGuiEditor .ui-sortable-helper .af-gui-palette-item {
305 height: 30px;
306 width: 300px;
307 border: 2px dashed #0071bd;
308}
309
e1aca853
CW
310#afGuiEditor .af-gui-entity-palette-select-list {
311 max-height: 400px;
65c9e7ae
CW
312 overflow-y: auto;
313}
83412ba5
CW
314#afGuiEditor .af-gui-entity-palette-select-list label {
315 margin-top: 10px;
316}
e1aca853 317#afGuiEditor .af-gui-entity-palette-select-list [ui-sortable] > div {
65c9e7ae 318 cursor: move;
e1aca853 319 padding-left: 10px;
65c9e7ae
CW
320 position: relative;
321}
e1aca853 322#afGuiEditor .af-gui-entity-palette-select-list [ui-sortable] > div.disabled {
65c9e7ae
CW
323 cursor: auto;
324}
e1aca853 325#afGuiEditor .af-gui-entity-palette-select-list [ui-sortable] > div:not(.disabled):hover {
65c9e7ae
CW
326 background-color: #efefef;
327}
328/* grip handle */
3fc5bbff 329#afGuiEditor [ui-sortable] .af-gui-bar:before,
e1aca853 330#afGuiEditor .af-gui-entity-palette-select-list [ui-sortable] > div:not(.disabled):hover:before,
b15070eb 331#afGuiEditor af-gui-edit-options.af-gui-content-editing-area [ui-sortable] li:before {
65c9e7ae
CW
332 background-size: cover;
333 background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPgo8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjODg4Ij48L3JlY3Q+Cjwvc3ZnPg==");
334 width: 10px;
335 height: 15px;
336 content: ' ';
337 display: block;
338 position: absolute;
339 left: 4px;
340 top: 5px;
341}
70a14f69
CW
342#afGuiEditor .af-gui-add-element-button {
343 background-color: transparent;
344}
6fb9e8d2 345#afGuiEditor .af-gui-add-element-button span {
5f535e6c 346 display: inline-block;
3fc5bbff
CW
347 width: 18px;
348 height: 18px;
3fc5bbff 349 color: #0071bd;
5f535e6c 350}
5f535e6c 351
5eaf91d9
CW
352#afGuiEditor .af-gui-layout-icon {
353 width: 12px;
354 height: 11px;
355 display: block;
356 background-image: url('../images/icons.png');
357 background-repeat: no-repeat;
358 margin: 4px 1px;
359}
360#afGuiEditor .af-gui-layout-icon.af-layout-cols {
361 background-position: -12px 0;
362}
363#afGuiEditor .af-gui-layout-icon.af-layout-rows {
364 background-position: -24px 0;
365}
366
367#afGuiEditor .af-gui-layout.af-layout-cols {
368 display: flex;
369}
370#afGuiEditor .af-gui-layout.af-layout-cols > div {
371 flex: 1;
372}
373#afGuiEditor .af-gui-layout.af-layout-inline > div {
374 display: inline-block;
375 width: 300px;
7731e80b 376 vertical-align: top;
5eaf91d9 377}
28b4ace4 378
4bd44053
CW
379#afGuiEditor .af-gui-button {
380 padding-left: 15px;
381}
382
783a2874
CW
383#afGuiEditor #afGuiEditor-canvas-body .btn[disabled] {
384 cursor: default;
385 color: white;
9651d93c 386}
4bd44053
CW
387#afGuiEditor .af-gui-button > .btn.disabled .crm-editable-enabled:hover:not(:focus) {
388 border-color: #f4f4f4 !important;
389}
9651d93c
CW
390
391#afGuiEditor .af-gui-button > .btn-default.disabled {
392 background-color: lightgrey !important;
393}
394
4bd44053
CW
395#afGuiEditor .af-gui-node-title {
396 margin-left: 5px;
397 margin-right: 20px;
398 position: relative;
399}
be125358
CW
400#afGuiEditor .af-gui-container-title {
401 top: -21px;
402}
403#afGuiEditor .af-gui-container-title span:empty {
404 font-weight: lighter;
405}
4bd44053
CW
406
407#afGuiEditor .af-gui-field-required:after {
408 content: '*';
409 color: #cf3458;
410 position: relative;
411 left: -4px;
412}
413
9c572641 414#afGuiEditor .dropdown-menu li {
4bd44053
CW
415 cursor: default;
416}
417
9c572641
CW
418#afGuiEditor .dropdown-menu li .af-gui-field-select-in-dropdown {
419 padding: 2px 19px 2px 21px;
420 clear: both;
421 font-weight: 400;
422 line-height: 1.5384615385;
423 color: #4d4d69;
424 white-space: nowrap;
425}
426
427#afGuiEditor .dropdown-menu li > * > label {
428 font-weight: normal;
e1aca853 429 cursor: pointer;
9c572641
CW
430}
431
432#afGuiEditor .dropdown-menu li .af-gui-field-select-in-dropdown > select {
433 max-width: 120px;
434 padding-left: 5px;
435 padding-right: 5px;
436}
437
51ec7d5a
CW
438#afGuiEditor li .af-gui-field-select-in-dropdown input[type=color] {
439 width: 30px;
440 padding: 2px 4px;
441}
442
e1aca853
CW
443#afGuiEditor li .af-gui-field-select-in-dropdown input[type=number] {
444 width: 50px;
445 padding-right: 0;
446}
447
9c572641 448/* For editing field placeholder text */
b4def6e9 449#afGuiEditor .af-gui-field-input input[type=text].form-control {
4bd44053
CW
450 color: #9a9a9a;
451}
452
b22ac9e5 453#afGuiEditor .af-gui-field-input-type-number input[type=text].form-control {
4bd44053
CW
454 background-image: url('../images/number.png');
455 background-repeat: no-repeat;
456 background-position: center right 6px;
457}
458
b4def6e9 459#afGuiEditor .af-gui-field-input input.crm-form-date {
4bd44053
CW
460 width: 140px;
461 margin-right: -2px;
462}
b4def6e9 463#afGuiEditor .af-gui-field-input input.crm-form-time {
4bd44053
CW
464 width: 80px;
465}
466
b4def6e9
CW
467#afGuiEditor .af-gui-field-input-type-radio label.radio {
468 font-weight: normal;
469 margin-right: 10px;
470}
471#afGuiEditor .af-gui-field-input-type-radio label.radio input[type=radio] {
472 margin: 0;
b4def6e9 473}
22946dcf
CW
474#afGuiEditor .af-gui-field-input-type-select .input-group-btn {
475 position: initial;
476}
21dff704 477#afGuiEditor .af-gui-field-input-type-chainselect .input-group .dropdown-toggle,
22946dcf
CW
478#afGuiEditor .af-gui-field-input-type-select .input-group .dropdown-toggle {
479 padding: 3px 11px;
480}
481#afGuiEditor .af-gui-field-input-type-select .input-group .dropdown-menu {
482 width: 100%;
483 right: 0;
484}
b4def6e9 485
4bd44053
CW
486#afGuiEditor .af-gui-text-h1 {
487 font-weight: bolder;
488 font-size: 16px;
489}
490
491#afGuiEditor .af-gui-text-h2 {
492 font-weight: bold;
493 font-size: 15px;
494}
495
496#afGuiEditor .af-gui-text-legend,
497#afGuiEditor .af-gui-text-h3 {
498 font-weight: bold;
499 font-size: 14px;
500}
501
502#afGuiEditor .af-gui-text-legend {
503 text-decoration: underline;
504}
505
506#afGuiEditor .af-gui-text-h4 {
507 font-weight: bold;
508}
509
510#afGuiEditor .af-gui-text-h5 {
511 font-weight: 600;
512}
513
514#afGuiEditor .af-gui-text-h6 {
515 font-weight: 500;
516}
517
518#afGuiEditor .af-gui-field-help {
519 font-style: italic;
520}
b4def6e9 521
192695ae 522#afGuiEditor.af-gui-editing-content {
b4def6e9
CW
523 pointer-events: none;
524 cursor: default;
525}
192695ae
CW
526#afGuiEditor.af-gui-editing-content .panel-heading,
527#afGuiEditor.af-gui-editing-content .af-gui-element,
528#afGuiEditor.af-gui-editing-content .af-gui-markup-content,
529.af-gui-editing-content #afGuiEditor-palette .panel-body > * {
b4def6e9
CW
530 opacity: .5;
531}
6fb9e8d2 532#afGuiEditor.af-gui-editing-content .af-gui-container {
b4def6e9
CW
533 border: 2px solid transparent;
534}
192695ae 535#afGuiEditor.af-gui-editing-content .af-gui-bar {
b4def6e9
CW
536 visibility: hidden;
537}
192695ae 538#afGuiEditor.af-gui-editing-content .af-gui-bar:before {
b4def6e9
CW
539 background: none;
540}
541
192695ae 542#afGuiEditor .af-gui-content-editing-area {
b4def6e9
CW
543 pointer-events: auto;
544 cursor: auto;
545 padding-top: 35px;
546 position: relative;
547}
548
b15070eb 549#afGuiEditor af-gui-edit-options.af-gui-content-editing-area {
192695ae
CW
550 border: 2px solid #0071bd;
551}
552
553#afGuiEditor .af-gui-content-editing-area .af-gui-edit-options-bar {
b4def6e9
CW
554 height: 30px;
555 font-family: "Courier New", Courier, monospace;
556 font-size: 12px;
557 width: 100%;
558 background-color: #f2f2f2;
559 position: absolute;
560 top: 0;
561 left: 0;
562 padding-left: 15px;
563}
e1aca853
CW
564#afGuiEditor .af-gui-edit-options-bar .btn-group-sm {
565 position: absolute;
566 top: 0;
567 right: 0;
568}
b15070eb 569#afGuiEditor af-gui-edit-options.af-gui-content-editing-area ul[ui-sortable] {
b4def6e9
CW
570 padding: 5px 20px 0;
571}
b15070eb 572#afGuiEditor af-gui-edit-options.af-gui-content-editing-area ul[ui-sortable] li {
b4def6e9
CW
573 list-style: none;
574 padding-left: 15px;
575 position: relative;
9383ac27 576 background-color: #e7ecf1;
b4def6e9
CW
577 cursor: move;
578}
b15070eb 579#afGuiEditor af-gui-edit-options.af-gui-content-editing-area ul[ui-sortable] li:nth-child(even) {
9383ac27 580 background-color: #f2f2f2;
b4def6e9 581}
b15070eb 582#afGuiEditor af-gui-edit-options.af-gui-content-editing-area ul[ui-sortable] li > div {
b4def6e9
CW
583 width: calc(100% - 30px);
584 display: inline-block;
585}
b15070eb 586#afGuiEditor af-gui-edit-options.af-gui-content-editing-area ul.af-gui-edit-options-deleted li > div {
b4def6e9
CW
587 text-decoration: line-through;
588}
b15070eb 589#afGuiEditor af-gui-edit-options.af-gui-content-editing-area ul[ui-sortable] li .btn-xs {
b4def6e9
CW
590 border: 0 none;
591}
b15070eb 592#afGuiEditor af-gui-edit-options.af-gui-content-editing-area h5 {
b4def6e9
CW
593 margin-left: 20px;
594}
e9dc7ca5
CW
595
596#afGuiEditor .af-gui-dropzone {
597 background-color: #e9eeff;
598 border: 2px solid #0071bd;
599 min-height: 30px;
600}