Afform - move contentEditable directive into crmUI library for reusability
[civicrm-core.git] / ext / afform / admin / ang / afGuiEditor.css
CommitLineData
a064e90d 1#afGuiEditor #afGuiEditor-palette {
c820e08c 2 margin-right: 5px;
f6c0358e
CW
3}
4
a064e90d 5#afGuiEditor #afGuiEditor-canvas {
c820e08c
CW
6 margin-left: 5px;
7}
8
9651d93c
CW
9#afGuiEditor .panel-body {
10 padding: 5px 12px;
11 position: relative;
12}
13
14#afGuiEditor fieldset legend {
3fc5bbff 15 padding-top: 5px;
9651d93c
CW
16 font-size: 16px;
17 margin-bottom: 5px !important;
18}
19
54dbfd05
CW
20#afGuiEditor-palette fieldset legend {
21 height: 30px;
22}
23
9651d93c
CW
24#afGuiEditor hr {
25 margin-top: 15px;
26 margin-bottom: 10px;
3fc5bbff
CW
27}
28
a064e90d
CW
29#afGuiEditor #afGuiEditor-palette-tabs li {
30 top: 1px;
31}
32
33#afGuiEditor #afGuiEditor-palette-tabs li > a {
c820e08c
CW
34 padding: 10px 15px;
35 font-size: 12px;
36}
37
9651d93c 38#afGuiEditor .af-gui-columns {
9651d93c 39 position: relative;
9651d93c
CW
40}
41#afGuiEditor .af-gui-columns > * {
9651d93c
CW
42 min-width: 200px;
43}
44
45#afGuiEditor .af-gui-remove-entity {
46 position: absolute;
47 right: 3px;
48 top: 3px;
c820e08c
CW
49}
50
a064e90d
CW
51#afGuiEditor .crm-editable-enabled,
52#afGuiEditor-palette-tabs > li > a > span {
53 display: inline-block;
54 padding: 0 4px !important;
55 border: 2px solid transparent !important;
9eed04d9 56 min-width: 21px;
a064e90d
CW
57}
58#afGuiEditor .crm-editable-enabled:hover:not(:focus) {
59 border: 2px dashed grey !important;
60}
61#afGuiEditor .crm-editable-enabled:before,
62#afGuiEditor .crm-editable-enabled:after {
63 content: '';
64 display: none;
65}
66
edac0d6e 67#afGuiEditor-palette-config .af-gui-entity-values .form-inline {
a064e90d
CW
68 margin-bottom: 10px;
69}
70
71#afGuiEditor-palette-config .form-inline label {
72 min-width: 110px;
f6c0358e 73}
f3cd3852 74
e1aca853
CW
75#afGuiEditor-palette-config .af-gui-entity-palette [type=search] {
76 width: 120px;
77 padding: 3px 3px 3px 5px;
54dbfd05 78 height: 25px;
e1aca853
CW
79 font-weight: normal;
80 position: relative;
81 top: -3px;
82 font-size: 12px;
83}
84
fbcd8c17 85#bootstrap-theme input[type=search]::placeholder {
edac0d6e
CW
86 font-family: FontAwesome;
87 text-align: right;
88}
fbcd8c17 89#bootstrap-theme input[type=search]:-ms-input-placeholder {
edac0d6e
CW
90 font-family: FontAwesome;
91 text-align: right;
92}
fbcd8c17 93#bootstrap-theme input[type=search]::-ms-input-placeholder {
edac0d6e
CW
94 font-family: FontAwesome;
95 text-align: right;
96}
97
f3cd3852 98#afGuiEditor .af-gui-bar {
3fc5bbff
CW
99 height: 22px;
100 width: 100%;
101 opacity: 0;
102 transition: opacity 1s 2s;
103 position:relative;
4bd44053
CW
104 font-family: "Courier New", Courier, monospace;
105 font-size: 12px;
3fc5bbff
CW
106}
107#afGuiEditor [ui-sortable] .af-gui-bar {
f3cd3852 108 cursor: move;
4bd44053 109 background-color: #f2f2f2;
f3cd3852
CW
110 position: absolute;
111 top: 0;
112 left: 0;
cd5ae5b9 113 padding-left: 15px;
f3cd3852 114}
f3cd3852 115#afGuiEditor-canvas:hover .af-gui-bar {
cd5ae5b9
CW
116 opacity: 1;
117 transition: opacity .2s;
118}
119
120#afGuiEditor .af-gui-bar .btn.active {
121 background-color: #b3b3b3;
f3cd3852
CW
122}
123
2ef64700
CW
124#afGuiEditor .af-gui-bar > .form-inline > span {
125 color: #696969;
126 font-style: italic;
127}
128
e72f4d81 129#afGuiEditor .af-gui-element {
f3cd3852 130 position: relative;
4bd44053 131 padding: 0 3px 3px;
ab3c1d83 132 display: block;
e72f4d81
CW
133}
134
6fb9e8d2 135#afGuiEditor .af-gui-container {
f3cd3852 136 border: 2px dashed transparent;
b4def6e9
CW
137 position: relative;
138 padding: 22px 3px 3px;
4bd44053 139 min-height: 40px;
ab3c1d83
CW
140 display: block;
141}
142
143#afGuiEditor af-gui-markup,
b15070eb
CW
144#afGuiEditor af-gui-field,
145#afGuiEditor af-gui-edit-options {
ab3c1d83 146 display: block;
4bd44053
CW
147}
148
2ef64700
CW
149#afGuiEditor .af-gui-search-display {
150 border: 1px dotted gray;
151 color: gray;
152 padding: 3em;
153 background-color: #f9f9f9;
154}
155
6fb9e8d2 156#afGuiEditor .af-gui-container-type-fieldset {
4bd44053 157 box-shadow: 0 0 5px #bbbbbb;
f3cd3852
CW
158}
159
6fb9e8d2 160#afGuiEditor .af-gui-container:hover {
e72f4d81
CW
161 border: 2px dashed #757575;
162}
163
192695ae
CW
164#afGuiEditor .af-gui-markup {
165 padding: 22px 3px 3px;
166 position: relative;
167}
168
169#afGuiEditor div.af-gui-markup-content {
170 display: block;
171 position: relative;
172 padding: 0 !important;
173}
174
175#afGuiEditor .af-gui-markup-content-overlay {
176 position: absolute;
177 top: 0;
178 left: 0;
179 width: 100%;
180 height: 100%;
181}
182
183#afGuiEditor .af-gui-markup-content:hover .af-gui-markup-content-overlay {
184 background-color: rgba(255, 255, 255, .2);
185}
186
f3cd3852
CW
187#afGuiEditor #afGuiEditor-canvas .af-entity-selected {
188 border: 2px dashed #0071bd;
189}
190#afGuiEditor #afGuiEditor-canvas .af-entity-selected > .af-gui-bar {
191 background-color: #0071bd;
5f535e6c
CW
192 opacity: 1;
193 transition: opacity 0s;
194}
70a14f69
CW
195#afGuiEditor #afGuiEditor-canvas .af-entity-selected > .af-gui-bar > .form-inline > button > span,
196#afGuiEditor #afGuiEditor-canvas .af-entity-selected > .af-gui-bar > .form-inline > span {
f3cd3852
CW
197 color: white;
198}
70a14f69
CW
199#afGuiEditor #afGuiEditor-canvas .af-entity-selected > .af-gui-bar > .form-inline > button:hover > span,
200#afGuiEditor #afGuiEditor-canvas .af-entity-selected > .af-gui-bar > .open > button > span,
201#afGuiEditor #afGuiEditor-canvas .af-entity-selected > .af-gui-bar > .form-inline > button:focus > span {
202 color: #0071bd;
203}
f3cd3852 204
65c9e7ae
CW
205#afGuiEditor [ui-sortable] {
206 min-height: 25px;
207}
208
e1aca853
CW
209#afGuiEditor .af-gui-entity-palette-select-list {
210 max-height: 400px;
65c9e7ae
CW
211 overflow-y: auto;
212}
213
e1aca853 214#afGuiEditor .af-gui-entity-palette-select-list [ui-sortable] > div {
65c9e7ae 215 cursor: move;
e1aca853 216 padding-left: 10px;
65c9e7ae
CW
217 position: relative;
218}
e1aca853 219#afGuiEditor .af-gui-entity-palette-select-list [ui-sortable] > div.disabled {
65c9e7ae
CW
220 cursor: auto;
221}
e1aca853 222#afGuiEditor .af-gui-entity-palette-select-list [ui-sortable] > div:not(.disabled):hover {
65c9e7ae
CW
223 background-color: #efefef;
224}
225/* grip handle */
3fc5bbff 226#afGuiEditor [ui-sortable] .af-gui-bar:before,
e1aca853 227#afGuiEditor .af-gui-entity-palette-select-list [ui-sortable] > div:not(.disabled):hover:before,
b15070eb 228#afGuiEditor af-gui-edit-options.af-gui-content-editing-area [ui-sortable] li:before {
65c9e7ae
CW
229 background-size: cover;
230 background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1IiBoZWlnaHQ9IjUiPgo8cmVjdCB3aWR0aD0iMSIgaGVpZ2h0PSIxIiBmaWxsPSIjODg4Ij48L3JlY3Q+Cjwvc3ZnPg==");
231 width: 10px;
232 height: 15px;
233 content: ' ';
234 display: block;
235 position: absolute;
236 left: 4px;
237 top: 5px;
238}
70a14f69
CW
239#afGuiEditor .af-gui-add-element-button {
240 background-color: transparent;
241}
6fb9e8d2 242#afGuiEditor .af-gui-add-element-button span {
5f535e6c 243 display: inline-block;
3fc5bbff
CW
244 width: 18px;
245 height: 18px;
3fc5bbff 246 color: #0071bd;
5f535e6c 247}
5f535e6c 248
5eaf91d9
CW
249#afGuiEditor .af-gui-layout-icon {
250 width: 12px;
251 height: 11px;
252 display: block;
253 background-image: url('../images/icons.png');
254 background-repeat: no-repeat;
255 margin: 4px 1px;
256}
257#afGuiEditor .af-gui-layout-icon.af-layout-cols {
258 background-position: -12px 0;
259}
260#afGuiEditor .af-gui-layout-icon.af-layout-rows {
261 background-position: -24px 0;
262}
263
264#afGuiEditor .af-gui-layout.af-layout-cols {
265 display: flex;
266}
267#afGuiEditor .af-gui-layout.af-layout-cols > div {
268 flex: 1;
269}
270#afGuiEditor .af-gui-layout.af-layout-inline > div {
271 display: inline-block;
272 width: 300px;
273}
28b4ace4 274
4bd44053
CW
275#afGuiEditor .af-gui-button {
276 padding-left: 15px;
277}
278
9651d93c
CW
279#afGuiEditor .af-gui-button > .btn.disabled {
280 cursor: default !important;
281 color: white !important;
282}
4bd44053
CW
283#afGuiEditor .af-gui-button > .btn.disabled .crm-editable-enabled:hover:not(:focus) {
284 border-color: #f4f4f4 !important;
285}
9651d93c
CW
286
287#afGuiEditor .af-gui-button > .btn-default.disabled {
288 background-color: lightgrey !important;
289}
290
4bd44053
CW
291#afGuiEditor .af-gui-node-title {
292 margin-left: 5px;
293 margin-right: 20px;
294 position: relative;
295}
296
297#afGuiEditor .af-gui-field-required:after {
298 content: '*';
299 color: #cf3458;
300 position: relative;
301 left: -4px;
302}
303
9c572641 304#afGuiEditor .dropdown-menu li {
4bd44053
CW
305 cursor: default;
306}
307
9c572641
CW
308#afGuiEditor .dropdown-menu li .af-gui-field-select-in-dropdown {
309 padding: 2px 19px 2px 21px;
310 clear: both;
311 font-weight: 400;
312 line-height: 1.5384615385;
313 color: #4d4d69;
314 white-space: nowrap;
315}
316
317#afGuiEditor .dropdown-menu li > * > label {
318 font-weight: normal;
e1aca853 319 cursor: pointer;
9c572641
CW
320}
321
322#afGuiEditor .dropdown-menu li .af-gui-field-select-in-dropdown > select {
323 max-width: 120px;
324 padding-left: 5px;
325 padding-right: 5px;
326}
327
51ec7d5a
CW
328#afGuiEditor li .af-gui-field-select-in-dropdown input[type=color] {
329 width: 30px;
330 padding: 2px 4px;
331}
332
e1aca853
CW
333#afGuiEditor li .af-gui-field-select-in-dropdown input[type=number] {
334 width: 50px;
335 padding-right: 0;
336}
337
9c572641 338/* For editing field placeholder text */
b4def6e9 339#afGuiEditor .af-gui-field-input input[type=text].form-control {
4bd44053
CW
340 color: #9a9a9a;
341}
342
b22ac9e5 343#afGuiEditor .af-gui-field-input-type-number input[type=text].form-control {
4bd44053
CW
344 background-image: url('../images/number.png');
345 background-repeat: no-repeat;
346 background-position: center right 6px;
347}
348
b4def6e9 349#afGuiEditor .af-gui-field-input input.crm-form-date {
4bd44053
CW
350 width: 140px;
351 margin-right: -2px;
352}
b4def6e9 353#afGuiEditor .af-gui-field-input input.crm-form-time {
4bd44053
CW
354 width: 80px;
355}
356
b4def6e9
CW
357#afGuiEditor .af-gui-field-input-type-radio label.radio {
358 font-weight: normal;
359 margin-right: 10px;
360}
361#afGuiEditor .af-gui-field-input-type-radio label.radio input[type=radio] {
362 margin: 0;
b4def6e9 363}
22946dcf
CW
364#afGuiEditor .af-gui-field-input-type-select .input-group-btn {
365 position: initial;
366}
21dff704 367#afGuiEditor .af-gui-field-input-type-chainselect .input-group .dropdown-toggle,
22946dcf
CW
368#afGuiEditor .af-gui-field-input-type-select .input-group .dropdown-toggle {
369 padding: 3px 11px;
370}
371#afGuiEditor .af-gui-field-input-type-select .input-group .dropdown-menu {
372 width: 100%;
373 right: 0;
374}
375#afGuiEditor .af-gui-field-input-type-select .input-group .dropdown-menu a {
376 cursor: default;
377}
b4def6e9 378
4bd44053
CW
379#afGuiEditor .af-gui-text-h1 {
380 font-weight: bolder;
381 font-size: 16px;
382}
383
384#afGuiEditor .af-gui-text-h2 {
385 font-weight: bold;
386 font-size: 15px;
387}
388
389#afGuiEditor .af-gui-text-legend,
390#afGuiEditor .af-gui-text-h3 {
391 font-weight: bold;
392 font-size: 14px;
393}
394
395#afGuiEditor .af-gui-text-legend {
396 text-decoration: underline;
397}
398
399#afGuiEditor .af-gui-text-h4 {
400 font-weight: bold;
401}
402
403#afGuiEditor .af-gui-text-h5 {
404 font-weight: 600;
405}
406
407#afGuiEditor .af-gui-text-h6 {
408 font-weight: 500;
409}
410
411#afGuiEditor .af-gui-field-help {
412 font-style: italic;
413}
b4def6e9 414
192695ae 415#afGuiEditor.af-gui-editing-content {
b4def6e9
CW
416 pointer-events: none;
417 cursor: default;
418}
192695ae
CW
419#afGuiEditor.af-gui-editing-content .panel-heading,
420#afGuiEditor.af-gui-editing-content .af-gui-element,
421#afGuiEditor.af-gui-editing-content .af-gui-markup-content,
422.af-gui-editing-content #afGuiEditor-palette .panel-body > * {
b4def6e9
CW
423 opacity: .5;
424}
6fb9e8d2 425#afGuiEditor.af-gui-editing-content .af-gui-container {
b4def6e9
CW
426 border: 2px solid transparent;
427}
192695ae 428#afGuiEditor.af-gui-editing-content .af-gui-bar {
b4def6e9
CW
429 visibility: hidden;
430}
192695ae 431#afGuiEditor.af-gui-editing-content .af-gui-bar:before {
b4def6e9
CW
432 background: none;
433}
434
192695ae 435#afGuiEditor .af-gui-content-editing-area {
b4def6e9
CW
436 pointer-events: auto;
437 cursor: auto;
438 padding-top: 35px;
439 position: relative;
440}
441
b15070eb 442#afGuiEditor af-gui-edit-options.af-gui-content-editing-area {
192695ae
CW
443 border: 2px solid #0071bd;
444}
445
446#afGuiEditor .af-gui-content-editing-area .af-gui-edit-options-bar {
b4def6e9
CW
447 height: 30px;
448 font-family: "Courier New", Courier, monospace;
449 font-size: 12px;
450 width: 100%;
451 background-color: #f2f2f2;
452 position: absolute;
453 top: 0;
454 left: 0;
455 padding-left: 15px;
456}
e1aca853
CW
457#afGuiEditor .af-gui-edit-options-bar .btn-group-sm {
458 position: absolute;
459 top: 0;
460 right: 0;
461}
b15070eb 462#afGuiEditor af-gui-edit-options.af-gui-content-editing-area ul[ui-sortable] {
b4def6e9
CW
463 padding: 5px 20px 0;
464}
b15070eb 465#afGuiEditor af-gui-edit-options.af-gui-content-editing-area ul[ui-sortable] li {
b4def6e9
CW
466 list-style: none;
467 padding-left: 15px;
468 position: relative;
469 background-color:#e7ecf1;
470 cursor: move;
471}
b15070eb 472#afGuiEditor af-gui-edit-options.af-gui-content-editing-area ul[ui-sortable] li:nth-child(even) {
b4def6e9
CW
473 background-color:#f2f2f2;
474}
b15070eb 475#afGuiEditor af-gui-edit-options.af-gui-content-editing-area ul[ui-sortable] li > div {
b4def6e9
CW
476 width: calc(100% - 30px);
477 display: inline-block;
478}
b15070eb 479#afGuiEditor af-gui-edit-options.af-gui-content-editing-area ul.af-gui-edit-options-deleted li > div {
b4def6e9
CW
480 text-decoration: line-through;
481}
b15070eb 482#afGuiEditor af-gui-edit-options.af-gui-content-editing-area ul[ui-sortable] li .btn-xs {
b4def6e9
CW
483 border: 0 none;
484}
b15070eb 485#afGuiEditor af-gui-edit-options.af-gui-content-editing-area h5 {
b4def6e9
CW
486 margin-left: 20px;
487}
e9dc7ca5
CW
488
489#afGuiEditor .af-gui-dropzone {
490 background-color: #e9eeff;
491 border: 2px solid #0071bd;
492 min-height: 30px;
493}