6 //.bs-editor .menubar {
7 // border-bottom: 1px solid #DDD;
11 //.bs-editor .menuicon {
15 // border-radius: 3px;
16 // border: 1px solid transparent;
18 // background-color: #EEE;
19 // border: 1px solid #DDD;
23 // The below originated from https://github.com/ProseMirror/prosemirror-menu
24 // and is therefore subject to the MIT license found here:
25 // https://github.com/ProseMirror/prosemirror-menu/blob/master/LICENSE
32 word-wrap: break-word;
33 white-space: pre-wrap;
34 white-space: break-spaces;
35 -webkit-font-variant-ligatures: none;
36 font-variant-ligatures: none;
37 font-feature-settings: "liga" 0; /* the above doesn't seem to work in Edge */
41 white-space: pre-wrap;
48 .ProseMirror table td, .ProseMirror table th {
52 .ProseMirror-hideselection *::selection {
53 background: transparent;
56 .ProseMirror-hideselection *::-moz-selection {
57 background: transparent;
60 .ProseMirror-hideselection {
61 caret-color: transparent;
64 .ProseMirror-selectednode {
65 outline: 2px solid #8cf;
68 /* Make sure li selections wrap around markers */
70 li.ProseMirror-selectednode {
74 li.ProseMirror-selectednode:after {
81 border: 2px solid #8cf;
85 /* Protect against generic img rules */
87 img.ProseMirror-separator {
88 display: inline !important;
89 border: none !important;
93 .ProseMirror-textblock-dropdown {
102 .ProseMirror-tooltip .ProseMirror-menu {
103 width: -webkit-fit-content;
108 .ProseMirror-menuitem {
110 display: inline-block;
113 .ProseMirror-menuseparator {
114 border-right: 1px solid #ddd;
118 .ProseMirror-menu-dropdown, .ProseMirror-menu-dropdown-menu {
123 .ProseMirror-menu-dropdown {
130 .ProseMirror-menu-dropdown-wrap {
131 padding: 1px 0 1px 4px;
132 display: inline-block;
136 .ProseMirror-menu-dropdown:after {
138 border-left: 4px solid transparent;
139 border-right: 4px solid transparent;
140 border-top: 4px solid currentColor;
144 top: calc(50% - 2px);
147 .ProseMirror-menu-dropdown-menu, .ProseMirror-menu-submenu {
151 border: 1px solid #aaa;
155 .ProseMirror-menu-dropdown-menu {
160 .ProseMirror-menu-dropdown-item {
162 padding: 2px 8px 2px 4px;
165 .ProseMirror-menu-dropdown-item:hover {
169 .ProseMirror-menu-submenu-wrap {
174 .ProseMirror-menu-submenu-label {
175 padding-inline-end: 12px;
176 padding-inline-start: 4px;
179 .ProseMirror-menu-submenu-label:after {
181 border-top: 4px solid transparent;
182 border-bottom: 4px solid transparent;
183 border-left: 4px solid currentColor;
187 top: calc(50% - 4px);
190 .ProseMirror-menu-submenu {
197 .ProseMirror-menu-active {
202 .ProseMirror-menu-disabled {
206 .ProseMirror-menu-submenu-wrap:hover > .ProseMirror-menu-submenu, .ProseMirror-menu-submenu-wrap-active > .ProseMirror-menu-submenu {
210 .ProseMirror-menubar {
211 border-top-left-radius: inherit;
212 border-top-right-radius: inherit;
220 border-bottom: 1px solid silver;
223 -moz-box-sizing: border-box;
224 box-sizing: border-box;
229 display: inline-block;
231 vertical-align: -2px; /* Compensate for padding */
236 .ProseMirror-menu-disabled.ProseMirror-icon {
240 .ProseMirror-icon svg {
245 .ProseMirror-icon span {
246 vertical-align: text-top;
249 .ProseMirror-gapcursor {
251 pointer-events: none;
255 .ProseMirror-gapcursor:after {
261 border-top: 1px solid black;
262 animation: ProseMirror-cursor-blink 1.1s steps(2, start) infinite;
265 @keyframes ProseMirror-cursor-blink {
271 .ProseMirror-focused .ProseMirror-gapcursor {
275 /* Add space around the hr to make clicking it easier */
277 .ProseMirror-example-setup-style hr {
278 border-top: 3px solid #FFF;
279 border-bottom: 3px solid #FFF;
280 box-sizing: content-box;
283 .ProseMirror ul, .ProseMirror ol {
287 .ProseMirror blockquote {
289 border-left: 3px solid #eee;
294 .ProseMirror-example-setup-style img {
298 .ProseMirror-prompt {
300 padding: 5px 10px 5px 15px;
301 border: 1px solid silver;
305 box-shadow: -.5px 2px 5px rgba(0, 0, 0, .2);
308 .ProseMirror-prompt h5 {
315 .ProseMirror-prompt input[type="text"],
316 .ProseMirror-prompt textarea {
322 .ProseMirror-prompt input[type="text"] {
326 .ProseMirror-prompt-close {
332 background: transparent;
336 .ProseMirror-prompt-close:after {
341 .ProseMirror-invalid {
343 border: 1px solid #cc7;
350 .ProseMirror-prompt-buttons {
358 background-clip: padding-box;
360 border: 2px solid rgba(0, 0, 0, 0.2);
365 .ProseMirror > p:first-child,
366 .ProseMirror > h1:first-child,
367 .ProseMirror > h2:first-child,
368 .ProseMirror > h3:first-child,
369 .ProseMirror > h4:first-child,
370 .ProseMirror > h5:first-child,
371 .ProseMirror > h6:first-child {
376 padding: 4px 8px 4px 14px;
385 .ProseMirror-menu-color-grid-container {
387 grid-template-columns: repeat(8, 1fr);
390 .ProseMirror-menu-color-grid-item {
393 border: 2px solid #FFF;
397 .ProseMirror-menu-table-creator-grid {
402 .ProseMirror-menu-table-creator-grid-item {
405 border: 2px solid #BBB;
410 .ProseMirror-menu-table-creator-grid-item-active {
411 border: 2px solid #555;
412 background-color: #DDD;
415 .ProseMirror-menu-table-creator-grid-label {
420 .ProseMirror-menu-dialog-wrap {
426 background-color: rgba(0, 0, 0, 0.1);
431 .ProseMirror-menu-dialog-title {
433 border-bottom: 1px solid #DDD;
439 .ProseMirror-menu-dialog-footer {
441 border-top: 1px solid #DDD;
443 justify-content: end;
447 .ProseMirror-menu-dialog-title-close {
459 justify-content: center;
463 .ProseMirror-menu-dialog {
464 background-color: #FFF;
465 border: 1px solid #DDD;
467 box-shadow: $bs-large;
474 .ProseMirror-menu-dialog-button {
475 border: 1px solid #DDD;
482 background-color: #EEE;
486 .ProseMirror-menu-dialog-button + .ProseMirror-menu-dialog-button {
490 .ProseMirror-menu-dialog-form-row {
492 grid-template-columns: 1fr 2fr;
506 .ProseMirror-menu-dialog-textarea-wrap {
520 .ProseMirror-imagewrap, .ProseMirror-iframewrap {
521 display: inline-block;
527 .ProseMirror-imagewrap.ProseMirror-selectednode {
531 .ProseMirror img[data-show-handles] {
532 outline: 4px solid #000;
535 .ProseMirror .ProseMirror-iframewrap iframe {
536 pointer-events: none !important;
539 .ProseMirror-dragdummy {
544 max-width: none !important;
545 max-height: none !important;
548 .ProseMirror-grabhandle {
551 border: 2px solid #000;
554 background-color: #FFF;
557 .ProseMirror-grabhandle-left-top {
561 .ProseMirror-grabhandle-right-top {
565 .ProseMirror-grabhandle-right-bottom {
569 .ProseMirror-grabhandle-left-bottom {
573 .ProseMirror .tableWrapper {
577 border-collapse: collapse;
582 .ProseMirror td, .ProseMirror th {
584 box-sizing: border-box;
587 .ProseMirror .column-resize-handle {
589 right: -2px; top: 0; bottom: 0;
592 background-color: #adf;
593 pointer-events: none;
595 .ProseMirror.resize-cursor {
599 /* Give selected cells a blue overlay */
600 .ProseMirror .selectedCell:after {
604 left: 0; right: 0; top: 0; bottom: 0;
605 background: rgba(200, 200, 255, 0.4);
606 pointer-events: none;