{"version":3,"file":"editor.css","sources":["../../../home/matthias/projects/django-prose-editor/src/editor.css","../../../src/editor.css","../../../home/matthias/projects/django-prose-editor/src/dialog.css","../../../src/dialog.css","../../../home/matthias/projects/django-prose-editor/src/fullscreen.css","../../../src/fullscreen.css","../../../home/matthias/projects/django-prose-editor/src/menu.css","../../../src/menu.css"],"sourcesContent":[".prose-editor *,\n.prose-editor *::before,\n.prose-editor *::after {\n  box-sizing: inherit;\n}\n\n.prose-editor {\n  box-sizing: border-box;\n  position: relative;\n  flex-grow: 1;\n}\n\n.prose-editor,\n.prose-editor-dialog {\n  /* --body-bg, --body-fg, --border-color and --primary are used in the Django admin CSS */\n  --_b: var(--prose-editor-background, var(--body-bg, #fff));\n  --_f: var(--prose-editor-foreground, var(--body-fg, #333));\n  --_r: var(--prose-editor-border-color, var(--border-color, #ccc));\n  --_a: var(--prose-editor-active-color, var(--primary, #79aec8));\n  --_d: var(--prose-editor-disabled-color, var(--border-color, #ccc));\n  --_t: var(--prose-editor-typographic, var(--border-color, #ccc));\n}\n\n[data-django-prose-editor] {\n  opacity: 0;\n}\n\n.prose-editor > textarea {\n  display: none !important;\n}\n\n.prose-editor .ProseMirror {\n  padding: 0 6px;\n  background: var(--_b);\n  color: var(--_f);\n  border: 1px solid var(--_r);\n  border-radius: 4px;\n}\n\n/* content editor support */\nlabel:empty:has(+ .prose-editor) {\n  display: none;\n}\n\n.prose-editor-nbsp {\n  background: var(--_t);\n  box-shadow:\n    0 2px 0 0 var(--_t),\n    0 -2px 0 0 var(--_t);\n}\n\n.prose-editor-shy {\n  background: var(--_t);\n  box-shadow:\n    0 2px 0 1px var(--_t),\n    0 -2px 0 1px var(--_t);\n}\n\n/* Figure extension styling */\n.ProseMirror .figure {\n  display: flex;\n  flex-direction: column;\n  margin: 1.5rem 0;\n  max-width: 100%;\n  position: relative;\n}\n\n.ProseMirror .figure figcaption.figure-caption {\n  padding: 0.5rem 0;\n  color: #555;\n  font-style: italic;\n  font-size: 0.9rem;\n  text-align: center;\n  margin-top: 0.5rem;\n}\n\n.ProseMirror .figure img {\n  max-width: 100%;\n  height: auto;\n}\n\n/* Autogrowing textareas */\n.prose-editor-grow-wrap {\n  display: grid;\n}\n.prose-editor-grow-wrap::after {\n  content: attr(data-value) \" \";\n  white-space: pre-wrap;\n  visibility: hidden;\n}\n.prose-editor-grow-wrap > textarea {\n  resize: none;\n  overflow: hidden;\n}\n.prose-editor-grow-wrap > textarea,\n.prose-editor-grow-wrap::after {\n  grid-area: 1 / 1 / 2 / 2;\n}\n\n/* Placeholder extension support */\n.prose-editor p.is-editor-empty:first-child::before {\n  opacity: 0.5;\n  content: attr(data-placeholder);\n  float: left;\n  height: 0;\n  pointer-events: none;\n}\n",".prose-editor *, .prose-editor :before, .prose-editor :after {\n  box-sizing: inherit;\n}\n\n.prose-editor {\n  box-sizing: border-box;\n  flex-grow: 1;\n  position: relative;\n}\n\n.prose-editor, .prose-editor-dialog {\n  --_b: var(--prose-editor-background, var(--body-bg, #fff));\n  --_f: var(--prose-editor-foreground, var(--body-fg, #333));\n  --_r: var(--prose-editor-border-color, var(--border-color, #ccc));\n  --_a: var(--prose-editor-active-color, var(--primary, #79aec8));\n  --_d: var(--prose-editor-disabled-color, var(--border-color, #ccc));\n  --_t: var(--prose-editor-typographic, var(--border-color, #ccc));\n}\n\n[data-django-prose-editor] {\n  opacity: 0;\n}\n\n.prose-editor > textarea {\n  display: none !important;\n}\n\n.prose-editor .ProseMirror {\n  background: var(--_b);\n  color: var(--_f);\n  border: 1px solid var(--_r);\n  border-radius: 4px;\n  padding: 0 6px;\n}\n\nlabel:empty:has( + .prose-editor) {\n  display: none;\n}\n\n.prose-editor-nbsp {\n  background: var(--_t);\n  box-shadow: 0 2px 0 0 var(--_t), 0 -2px 0 0 var(--_t);\n}\n\n.prose-editor-shy {\n  background: var(--_t);\n  box-shadow: 0 2px 0 1px var(--_t), 0 -2px 0 1px var(--_t);\n}\n\n.ProseMirror .figure {\n  flex-direction: column;\n  max-width: 100%;\n  margin: 1.5rem 0;\n  display: flex;\n  position: relative;\n}\n\n.ProseMirror .figure figcaption.figure-caption {\n  color: #555;\n  text-align: center;\n  margin-top: .5rem;\n  padding: .5rem 0;\n  font-size: .9rem;\n  font-style: italic;\n}\n\n.ProseMirror .figure img {\n  max-width: 100%;\n  height: auto;\n}\n\n.prose-editor-grow-wrap {\n  display: grid;\n}\n\n.prose-editor-grow-wrap:after {\n  content: attr(data-value) \" \";\n  white-space: pre-wrap;\n  visibility: hidden;\n}\n\n.prose-editor-grow-wrap > textarea {\n  resize: none;\n  overflow: hidden;\n}\n\n.prose-editor-grow-wrap > textarea, .prose-editor-grow-wrap:after {\n  grid-area: 1 / 1 / 2 / 2;\n}\n\n.prose-editor p.is-editor-empty:first-child:before {\n  opacity: .5;\n  content: attr(data-placeholder);\n  float: left;\n  pointer-events: none;\n  height: 0;\n}\n",".prose-editor-dialog {\n  background: var(--_b);\n  color: var(--_f);\n  border: 1px solid var(--_r);\n  border-radius: 4px;\n  padding: 1em;\n  min-width: 300px;\n  max-width: min(800px, 90vw);\n}\n\n.prose-editor-dialog-title {\n  font-size: 1.25em;\n  font-weight: bold;\n  margin: 0 !important;\n  padding: 0 0 0.5em 0 !important;\n  border-bottom: 1px solid var(--_r);\n}\n\n.prose-editor-dialog-field {\n  padding: 0;\n  margin: 1em 0;\n}\n\n.prose-editor-dialog-field:has(input[type=\"checkbox\"]),\n.prose-editor-dialog-field:has(input[type=\"radio\"]) {\n  display: flex;\n  flex-wrap: wrap;\n  gap: 4px;\n}\n\n.prose-editor-dialog label {\n  display: block;\n  font-weight: bold;\n  width: auto;\n  min-width: 0;\n}\n\n.prose-editor-help {\n  font-weight: normal;\n  font-size: 80%;\n  margin-left: 4px;\n}\n\n.prose-editor-dialog input:not([type=\"checkbox\"], [type=\"radio\"]),\n.prose-editor-dialog select,\n.prose-editor-dialog textarea,\n.prose-editor-grow-wrap::after {\n  width: 100%;\n  padding: 0.5em;\n  border: 1px solid var(--_r);\n  border-radius: 4px;\n  margin-top: 0.5em;\n  margin-bottom: 0;\n  transition:\n    border-color 0.2s,\n    box-shadow 0.2s;\n  font: inherit;\n}\n\n.prose-editor-dialog input:focus,\n.prose-editor-dialog select:focus,\n.prose-editor-dialog textarea:focus {\n  outline: none;\n  border-color: var(--_a);\n  box-shadow: 0 0 0 2px rgba(121, 174, 200, 0.25);\n}\n\n.prose-editor-dialog input[type=\"number\"] {\n  width: 5em;\n}\n\n.prose-editor-dialog button {\n  all: unset;\n  cursor: pointer;\n  padding: 0.5em 1em;\n  transition: all 0.25s;\n  background: var(--_b);\n  color: var(--_f);\n  border: 1px solid var(--_r);\n  border-radius: 4px;\n  text-align: center;\n  display: inline-flex;\n  position: relative;\n  margin-right: 0.5em;\n  margin-top: 0.5em;\n}\n\n.prose-editor-dialog button:hover {\n  filter: brightness(1.1);\n  background-color: rgba(0, 0, 0, 0.05);\n}\n\n.prose-editor-dialog button:active {\n  filter: brightness(0.95);\n}\n\n.prose-editor-dialog button:focus {\n  outline: 2px solid var(--_a);\n  outline-offset: 2px;\n  position: relative;\n  z-index: 1;\n}\n",".prose-editor-dialog {\n  background: var(--_b);\n  color: var(--_f);\n  border: 1px solid var(--_r);\n  border-radius: 4px;\n  min-width: 300px;\n  max-width: min(800px, 90vw);\n  padding: 1em;\n}\n\n.prose-editor-dialog-title {\n  border-bottom: 1px solid var(--_r);\n  font-size: 1.25em;\n  font-weight: bold;\n  margin: 0 !important;\n  padding: 0 0 .5em !important;\n}\n\n.prose-editor-dialog-field {\n  margin: 1em 0;\n  padding: 0;\n}\n\n.prose-editor-dialog-field:has(input[type=\"checkbox\"]) {\n  flex-wrap: wrap;\n  gap: 4px;\n  display: flex;\n}\n\n.prose-editor-dialog-field:has(input[type=\"radio\"]) {\n  flex-wrap: wrap;\n  gap: 4px;\n  display: flex;\n}\n\n.prose-editor-dialog label {\n  width: auto;\n  min-width: 0;\n  font-weight: bold;\n  display: block;\n}\n\n.prose-editor-help {\n  margin-left: 4px;\n  font-size: 80%;\n  font-weight: normal;\n}\n\n.prose-editor-dialog input:not(:-webkit-any([type=\"checkbox\"], [type=\"radio\"])), .prose-editor-dialog select, .prose-editor-dialog textarea, .prose-editor-grow-wrap:after {\n  border: 1px solid var(--_r);\n  width: 100%;\n  font: inherit;\n  border-radius: 4px;\n  margin-top: .5em;\n  margin-bottom: 0;\n  padding: .5em;\n  transition: border-color .2s, box-shadow .2s;\n}\n\n.prose-editor-dialog input:not(:-moz-any([type=\"checkbox\"], [type=\"radio\"])), .prose-editor-dialog select, .prose-editor-dialog textarea, .prose-editor-grow-wrap:after {\n  border: 1px solid var(--_r);\n  width: 100%;\n  font: inherit;\n  border-radius: 4px;\n  margin-top: .5em;\n  margin-bottom: 0;\n  padding: .5em;\n  transition: border-color .2s, box-shadow .2s;\n}\n\n.prose-editor-dialog input:not(:is([type=\"checkbox\"], [type=\"radio\"])), .prose-editor-dialog select, .prose-editor-dialog textarea, .prose-editor-grow-wrap:after {\n  border: 1px solid var(--_r);\n  width: 100%;\n  font: inherit;\n  border-radius: 4px;\n  margin-top: .5em;\n  margin-bottom: 0;\n  padding: .5em;\n  transition: border-color .2s, box-shadow .2s;\n}\n\n.prose-editor-dialog input:focus, .prose-editor-dialog select:focus, .prose-editor-dialog textarea:focus {\n  border-color: var(--_a);\n  outline: none;\n  box-shadow: 0 0 0 2px rgba(121, 174, 200, .25);\n}\n\n.prose-editor-dialog input[type=\"number\"] {\n  width: 5em;\n}\n\n.prose-editor-dialog button {\n  all: unset;\n  cursor: pointer;\n  background: var(--_b);\n  color: var(--_f);\n  border: 1px solid var(--_r);\n  text-align: center;\n  border-radius: 4px;\n  margin-top: .5em;\n  margin-right: .5em;\n  padding: .5em 1em;\n  transition: all .25s;\n  display: inline-flex;\n  position: relative;\n}\n\n.prose-editor-dialog button:hover {\n  -webkit-filter: brightness(1.1);\n  filter: brightness(1.1);\n  background-color: rgba(0, 0, 0, .05);\n}\n\n.prose-editor-dialog button:active {\n  -webkit-filter: brightness(.95);\n  filter: brightness(.95);\n}\n\n.prose-editor-dialog button:focus {\n  outline: 2px solid var(--_a);\n  outline-offset: 2px;\n  z-index: 1;\n  position: relative;\n}\n",".prose-editor.fullscreen {\n  position: fixed !important;\n  top: 0 !important;\n  left: 0 !important;\n  width: 100vw !important;\n  height: 100vh !important;\n  max-width: none !important;\n  max-height: none !important;\n  z-index: 9999 !important;\n  margin: 0 !important;\n  padding: 20px !important;\n  background: var(--_b) !important;\n  overflow-y: auto !important;\n  display: flex !important;\n  flex-direction: column !important;\n}\n\n.prose-editor.fullscreen .prose-menubar {\n  padding: 8px 20px !important;\n  border-radius: 0 !important;\n  width: 100% !important;\n}\n\n.prose-editor.fullscreen .prose-menubar--floating {\n  position: fixed !important;\n  top: 0 !important;\n  left: 0 !important;\n  right: 0 !important;\n  z-index: 10000 !important;\n}\n\n.prose-editor.fullscreen .ProseMirror {\n  flex: 1 !important;\n  max-height: none !important;\n  overflow-y: auto !important;\n  padding: 1em !important;\n  box-shadow: none !important;\n  border: 1px solid var(--_r) !important;\n  border-radius: 4px !important;\n}\n",".prose-editor.fullscreen {\n  z-index: 9999 !important;\n  background: var(--_b) !important;\n  flex-direction: column !important;\n  width: 100vw !important;\n  max-width: none !important;\n  height: 100vh !important;\n  max-height: none !important;\n  margin: 0 !important;\n  padding: 20px !important;\n  display: flex !important;\n  position: fixed !important;\n  top: 0 !important;\n  left: 0 !important;\n  overflow-y: auto !important;\n}\n\n.prose-editor.fullscreen .prose-menubar {\n  border-radius: 0 !important;\n  width: 100% !important;\n  padding: 8px 20px !important;\n}\n\n.prose-editor.fullscreen .prose-menubar--floating {\n  z-index: 10000 !important;\n  position: fixed !important;\n  top: 0 !important;\n  left: 0 !important;\n  right: 0 !important;\n}\n\n.prose-editor.fullscreen .ProseMirror {\n  max-height: none !important;\n  box-shadow: none !important;\n  border: 1px solid var(--_r) !important;\n  border-radius: 4px !important;\n  flex: 1 !important;\n  padding: 1em !important;\n  overflow-y: auto !important;\n}\n",".prose-menubar:not(:empty) {\n  font-size: 14px;\n  display: inline-flex;\n  align-items: stretch;\n  gap: 8px;\n  flex-wrap: wrap;\n  background: var(--_b);\n  padding: 4px;\n  width: 100%;\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  border-bottom: 1px solid var(--_r);\n  box-sizing: border-box;\n  z-index: 10;\n  position: sticky;\n  top: 0;\n}\n\n.prose-editor.disabled .prose-menubar {\n  display: none;\n}\n\n.prose-menubar__group {\n  display: flex;\n}\n\n.prose-menubar__button {\n  cursor: pointer;\n  height: 28px;\n  padding: 0 0.25em;\n  min-width: 2em;\n  transition-property:\n    color, background, border-radius, filter, opacity, transform;\n  transition-duration: 0.25s;\n  background: var(--_b);\n  color: var(--_f);\n  border: 1px solid var(--_r);\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n  position: relative;\n}\n\n.prose-menubar__button.hidden {\n  display: none !important;\n}\n\n.prose-menubar__button--heading::after {\n  content: attr(data-level);\n  position: absolute;\n  font-family: sans-serif;\n  right: 4px;\n  bottom: 5px;\n  font-size: 12px;\n}\n\n.prose-menubar__button:not(.hidden) {\n  border-top-left-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\n\n/* Cancel rounded borders on the left side for second to last button in group */\n.prose-menubar__button:not(.hidden) ~ .prose-menubar__button:not(.hidden) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n/* Find last button in group (the button which doesn't have a following button) */\n.prose-menubar__button:not(.hidden):not(\n    :has(~ .prose-menubar__button:not(.hidden))\n  ) {\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 4px;\n}\n\n.prose-menubar__button + .prose-menubar__button {\n  border-left: none;\n}\n\n.prose-menubar__button.material-icons {\n  padding: 0 0.125em;\n  min-width: auto;\n}\n\n.prose-menubar__button:hover {\n  filter: brightness(110%);\n}\n\n.prose-menubar__button.active {\n  background-color: var(--_a);\n}\n\n.prose-menubar__button.disabled:not(.active) {\n  background: var(--_d);\n  filter: brightness(100%);\n  cursor: not-allowed;\n  opacity: 0.3;\n}\n\n/* SVG button styling */\n.prose-menubar__button svg {\n  display: inline-block;\n  vertical-align: middle;\n  width: 20px;\n  height: 20px;\n}\n\n.prose-menubar__button svg * {\n  color: inherit;\n}\n\n.prose-menubar__dropdown {\n  display: block;\n  position: relative;\n}\n\n.prose-menubar__selected {\n  cursor: pointer;\n  display: block;\n  height: 28px;\n  outline: 1px solid var(--_r);\n  border-radius: 4px;\n  padding-right: 1rem !important;\n  position: relative;\n\n  &::after {\n    content: \"⏷\";\n    position: absolute;\n    right: 4px;\n    top: 6px;\n  }\n\n  :first-child {\n    border: none;\n  }\n\n  > * {\n    pointer-events: none;\n  }\n}\n\n.prose-menubar__picker:popover-open {\n  all: initial;\n  position: absolute;\n}\n\n.prose-menubar__picker .ProseMirror {\n  display: flex !important;\n  flex-direction: column !important;\n  padding: 0 !important;\n}\n\n.prose-menubar__picker .ProseMirror > * {\n  cursor: pointer;\n  padding: 4px 8px !important;\n  margin: 0 !important;\n  line-height: 1.2 !important;\n  flex: 0 0 2rem !important;\n  display: flex !important;\n  align-items: center !important;\n\n  &:hover {\n    background: var(--_a) !important;\n  }\n\n  &.hidden {\n    display: none !important;\n  }\n}\n",".prose-menubar:not(:empty) {\n  background: var(--_b);\n  border-bottom: 1px solid var(--_r);\n  box-sizing: border-box;\n  z-index: 10;\n  flex-wrap: wrap;\n  align-items: stretch;\n  gap: 8px;\n  width: 100%;\n  padding: 4px;\n  font-size: 14px;\n  display: inline-flex;\n  position: sticky;\n  top: 0;\n  box-shadow: 0 1px 2px rgba(0, 0, 0, .1);\n}\n\n.prose-editor.disabled .prose-menubar {\n  display: none;\n}\n\n.prose-menubar__group {\n  display: flex;\n}\n\n.prose-menubar__button {\n  cursor: pointer;\n  background: var(--_b);\n  min-width: 2em;\n  height: 28px;\n  color: var(--_f);\n  border: 1px solid var(--_r);\n  justify-content: center;\n  align-items: center;\n  padding: 0 .25em;\n  transition-property: color, background, border-radius, -webkit-filter, filter, opacity, transform;\n  transition-duration: .25s;\n  display: inline-flex;\n  position: relative;\n}\n\n.prose-menubar__button.hidden {\n  display: none !important;\n}\n\n.prose-menubar__button--heading:after {\n  content: attr(data-level);\n  font-family: sans-serif;\n  font-size: 12px;\n  position: absolute;\n  bottom: 5px;\n  right: 4px;\n}\n\n.prose-menubar__button:not(.hidden) {\n  border-top-left-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\n\n.prose-menubar__button:not(.hidden) ~ .prose-menubar__button:not(.hidden) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.prose-menubar__button:not(.hidden):not(:has( ~ .prose-menubar__button:not(.hidden))) {\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 4px;\n}\n\n.prose-menubar__button + .prose-menubar__button {\n  border-left: none;\n}\n\n.prose-menubar__button.material-icons {\n  min-width: auto;\n  padding: 0 .125em;\n}\n\n.prose-menubar__button:hover {\n  -webkit-filter: brightness(110%);\n  filter: brightness(110%);\n}\n\n.prose-menubar__button.active {\n  background-color: var(--_a);\n}\n\n.prose-menubar__button.disabled:not(.active) {\n  background: var(--_d);\n  -webkit-filter: brightness();\n  filter: brightness();\n  cursor: not-allowed;\n  opacity: .3;\n}\n\n.prose-menubar__button svg {\n  vertical-align: middle;\n  width: 20px;\n  height: 20px;\n  display: inline-block;\n}\n\n.prose-menubar__button svg * {\n  color: inherit;\n}\n\n.prose-menubar__dropdown {\n  display: block;\n  position: relative;\n}\n\n.prose-menubar__selected {\n  cursor: pointer;\n  outline: 1px solid var(--_r);\n  border-radius: 4px;\n  height: 28px;\n  display: block;\n  position: relative;\n  padding-right: 1rem !important;\n}\n\n.prose-menubar__selected:after {\n  content: \"⏷\";\n  position: absolute;\n  top: 6px;\n  right: 4px;\n}\n\n.prose-menubar__selected :first-child {\n  border: none;\n}\n\n.prose-menubar__selected > * {\n  pointer-events: none;\n}\n\n.prose-menubar__picker:popover-open {\n  all: initial;\n  position: absolute;\n}\n\n.prose-menubar__picker .ProseMirror {\n  flex-direction: column !important;\n  padding: 0 !important;\n  display: flex !important;\n}\n\n.prose-menubar__picker .ProseMirror > * {\n  cursor: pointer;\n  flex: 0 0 2rem !important;\n  align-items: center !important;\n  margin: 0 !important;\n  padding: 4px 8px !important;\n  line-height: 1.2 !important;\n  display: flex !important;\n}\n\n.prose-menubar__picker .ProseMirror > *:hover {\n  background: var(--_a) !important;\n}\n\n.prose-menubar__picker .ProseMirror > *.hidden {\n  display: none !important;\n}\n"],"names":[],"mappings":"AADA,8ECKA,kEAMA,8YASA,qCAIA,8CAIA,2HAQA,6CAIA,4FAKA,+FAKA,yGAQA,+IASA,oDAKA,qCAIA,iGAMA,6DAKA,iFAIA,qIC3FA,6JCWA,4IAQA,kDAKA,yFAMA,sFAMA,gFAOA,iEAMA,wOAWA,qOAWA,i6BAWA,sLAMA,kDAIA,sQAgBA,yHAMA,yFAKA,6GCvHA,oWCkBA,kHAMA,sJAQA,4NChCA,kRCkBA,mDAIA,mCAIA,oVAgBA,qDAIA,4IASA,6FAKA,6HAKA,+IAKA,+DAIA,sEAKA,qFAKA,yDAIA,gJAQA,6FAOA,2CAIA,yDAKA,+JAUA,iFAOA,kDAIA,+CAIA,kEAKA,+GAMA,wMAUA,0EAIA"}