js-draw 1.23.1 → 1.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Editor.css +21 -0
 - package/dist/bundle.js +2 -2
 - package/dist/bundledStyles.js +1 -1
 - package/dist/cjs/Editor.d.ts +7 -1
 - package/dist/cjs/Editor.js +71 -9
 - package/dist/cjs/SVGLoader/SVGLoader.js +17 -7
 - package/dist/cjs/Viewport.d.ts +2 -0
 - package/dist/cjs/Viewport.js +0 -1
 - package/dist/cjs/components/AbstractComponent.d.ts +1 -1
 - package/dist/cjs/components/BackgroundComponent.js +17 -7
 - package/dist/cjs/components/SVGGlobalAttributesObject.js +17 -7
 - package/dist/cjs/components/UnknownSVGObject.js +17 -7
 - package/dist/cjs/components/lib.js +17 -7
 - package/dist/cjs/image/EditorImage.js +17 -7
 - package/dist/cjs/testing/sendPenEvent.js +17 -7
 - package/dist/cjs/testing/sendTouchEvent.js +17 -7
 - package/dist/cjs/toolbar/EdgeToolbar.d.ts +1 -1
 - package/dist/cjs/toolbar/widgets/DocumentPropertiesWidget.js +17 -7
 - package/dist/cjs/toolbar/widgets/HandToolWidget.js +17 -7
 - package/dist/cjs/tools/InputFilter/ContextMenuRecognizer.js +17 -7
 - package/dist/cjs/tools/Pen.js +17 -7
 - package/dist/cjs/tools/SelectionTool/Selection.js +17 -7
 - package/dist/cjs/tools/SelectionTool/SelectionMenuShortcut.js +1 -1
 - package/dist/cjs/tools/SelectionTool/util/makeClipboardErrorHandlers.d.ts +2 -2
 - package/dist/cjs/tools/SelectionTool/util/makeClipboardErrorHandlers.js +1 -1
 - package/dist/cjs/tools/SoundUITool.js +1 -1
 - package/dist/cjs/tools/TextTool.d.ts +4 -4
 - package/dist/cjs/tools/TextTool.js +45 -51
 - package/dist/cjs/tools/ToolController.js +17 -7
 - package/dist/cjs/tools/UndoRedoShortcut.js +2 -2
 - package/dist/cjs/util/ClipboardHandler.js +1 -0
 - package/dist/cjs/version.js +1 -1
 - package/dist/mjs/Editor.d.ts +7 -1
 - package/dist/mjs/Editor.mjs +54 -2
 - package/dist/mjs/Viewport.d.ts +2 -0
 - package/dist/mjs/Viewport.mjs +0 -1
 - package/dist/mjs/components/AbstractComponent.d.ts +1 -1
 - package/dist/mjs/toolbar/EdgeToolbar.d.ts +1 -1
 - package/dist/mjs/tools/SelectionTool/SelectionMenuShortcut.mjs +1 -1
 - package/dist/mjs/tools/SelectionTool/util/makeClipboardErrorHandlers.d.ts +2 -2
 - package/dist/mjs/tools/SelectionTool/util/makeClipboardErrorHandlers.mjs +1 -1
 - package/dist/mjs/tools/SoundUITool.mjs +1 -1
 - package/dist/mjs/tools/TextTool.d.ts +4 -4
 - package/dist/mjs/tools/TextTool.mjs +45 -51
 - package/dist/mjs/tools/UndoRedoShortcut.mjs +2 -2
 - package/dist/mjs/util/ClipboardHandler.mjs +1 -0
 - package/dist/mjs/version.mjs +1 -1
 - package/package.json +4 -4
 - package/src/Editor.scss +31 -0
 
    
        package/dist/bundledStyles.js
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            (()=>{"use strict";var o={724:(o,e,r)=>{r.d(e,{A:()=>i});var t=r(758),n=r.n(t),a=r(935),l=r.n(a)()(n());l.push([o.id,'.clr-picker {\n  display: none;\n  flex-wrap: wrap;\n  position: absolute;\n  width: 200px;\n  z-index: 1000;\n  border-radius: 10px;\n  background-color: #fff;\n  justify-content: flex-end;\n  direction: ltr;\n  box-shadow: 0 0 5px rgba(0,0,0,.05), 0 5px 20px rgba(0,0,0,.1);\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  user-select: none;\n}\n\n.clr-picker.clr-open,\n.clr-picker[data-inline="true"] {\n  display: flex;\n}\n\n.clr-picker[data-inline="true"] {\n  position: relative;\n}\n\n.clr-gradient {\n  position: relative;\n  width: 100%;\n  height: 100px;\n  margin-bottom: 15px;\n  border-radius: 3px 3px 0 0;\n  background-image: linear-gradient(rgba(0,0,0,0), #000), linear-gradient(90deg, #fff, currentColor);\n  cursor: pointer;\n}\n\n.clr-marker {\n  position: absolute;\n  width: 12px;\n  height: 12px;\n  margin: -6px 0 0 -6px;\n  border: 1px solid #fff;\n  border-radius: 50%;\n  background-color: currentColor;\n  cursor: pointer;\n}\n\n.clr-picker input[type="range"]::-webkit-slider-runnable-track {\n  width: 100%;\n  height: 16px;\n}\n\n.clr-picker input[type="range"]::-webkit-slider-thumb {\n  width: 16px;\n  height: 16px;\n  -webkit-appearance: none;\n}\n\n.clr-picker input[type="range"]::-moz-range-track {\n  width: 100%;\n  height: 16px;\n  border: 0;\n}\n\n.clr-picker input[type="range"]::-moz-range-thumb {\n  width: 16px;\n  height: 16px;\n  border: 0;\n}\n\n.clr-hue {\n  background-image: linear-gradient(to right, #f00 0%, #ff0 16.66%, #0f0 33.33%, #0ff 50%, #00f 66.66%, #f0f 83.33%, #f00 100%);\n}\n\n.clr-hue,\n.clr-alpha {\n  position: relative;\n  width: calc(100% - 40px);\n  height: 8px;\n  margin: 5px 20px;\n  border-radius: 4px;\n}\n\n.clr-alpha span {\n  display: block;\n  height: 100%;\n  width: 100%;\n  border-radius: inherit;\n  background-image: linear-gradient(90deg, rgba(0,0,0,0), currentColor);\n}\n\n.clr-hue input,\n.clr-alpha input {\n  position: absolute;\n  width: calc(100% + 32px);\n  height: 16px;\n  left: -16px;\n  top: -4px;\n  margin: 0;\n  background-color: transparent;\n  opacity: 0;\n  cursor: pointer;\n  appearance: none;\n  -webkit-appearance: none;\n}\n\n.clr-hue div,\n.clr-alpha div {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 0;\n  top: 50%;\n  margin-left: -8px;\n  transform: translateY(-50%);\n  border: 2px solid #fff;\n  border-radius: 50%;\n  background-color: currentColor;\n  box-shadow: 0 0 1px #888;\n  pointer-events: none;\n}\n\n.clr-alpha div:before {\n  content: \'\';\n  position: absolute;\n  height: 100%;\n  width: 100%;\n  left: 0;\n  top: 0;\n  border-radius: 50%;\n  background-color: currentColor;\n}\n\n.clr-format {\n  display: none;\n  order: 1;\n  width: calc(100% - 40px);\n  margin: 0 20px 20px;\n}\n\n.clr-segmented {\n  display: flex;\n  position: relative;\n  width: 100%;\n  margin: 0;\n  padding: 0;\n  border: 1px solid #ddd;\n  border-radius: 15px;\n  box-sizing: border-box;\n  color: #999;\n  font-size: 12px;\n}\n\n.clr-segmented input,\n.clr-segmented legend {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  margin: 0;\n  padding: 0;\n  border: 0;\n  left: 0;\n  top: 0;\n  opacity: 0;\n  pointer-events: none;\n}\n\n.clr-segmented label {\n  flex-grow: 1;\n  margin: 0;\n  padding: 4px 0;\n  font-size: inherit;\n  font-weight: normal;\n  line-height: initial;\n  text-align: center;\n  cursor: pointer;\n}\n\n.clr-segmented label:first-of-type {\n  border-radius: 10px 0 0 10px;\n}\n\n.clr-segmented label:last-of-type {\n  border-radius: 0 10px 10px 0;\n}\n\n.clr-segmented input:checked + label {\n  color: #fff;\n  background-color: #666;\n}\n\n.clr-swatches {\n  order: 2;\n  width: calc(100% - 32px);\n  margin: 0 16px;\n}\n\n.clr-swatches div {\n  display: flex;\n  flex-wrap: wrap;\n  padding-bottom: 12px;\n  justify-content: center;\n}\n\n.clr-swatches button {\n  position: relative;\n  width: 20px;\n  height: 20px;\n  margin: 0 4px 6px 4px;\n  padding: 0;\n  border: 0;\n  border-radius: 50%;\n  color: inherit;\n  text-indent: -1000px;\n  white-space: nowrap;\n  overflow: hidden;\n  cursor: pointer;\n}\n\n.clr-swatches button:after {\n  content: \'\';\n  display: block;\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  left: 0;\n  top: 0;\n  border-radius: inherit;\n  background-color: currentColor;\n  box-shadow: inset 0 0 0 1px rgba(0,0,0,.1);\n}\n\ninput.clr-color {\n  order: 1;\n  width: calc(100% - 80px);\n  height: 32px;\n  margin: 15px 20px 20px auto;\n  padding: 0 10px;\n  border: 1px solid #ddd;\n  border-radius: 16px;\n  color: #444;\n  background-color: #fff;\n  font-family: sans-serif;\n  font-size: 14px;\n  text-align: center;\n  box-shadow: none;\n}\n\ninput.clr-color:focus {\n  outline: none;\n  border: 1px solid #1e90ff;\n}\n\n.clr-close,\n.clr-clear {\n  display: none;\n  order: 2;\n  height: 24px;\n  margin: 0 20px 20px;\n  padding: 0 20px;\n  border: 0;\n  border-radius: 12px;\n  color: #fff;\n  background-color: #666;\n  font-family: inherit;\n  font-size: 12px;\n  font-weight: 400;\n  cursor: pointer;\n}\n\n.clr-close {\n  display: block;\n  margin: 0 20px 20px auto;\n}\n\n.clr-preview {\n  position: relative;\n  width: 32px;\n  height: 32px;\n  margin: 15px 0 20px 20px;\n  border-radius: 50%;\n  overflow: hidden;\n}\n\n.clr-preview:before,\n.clr-preview:after {\n  content: \'\';\n  position: absolute;\n  height: 100%;\n  width: 100%;\n  left: 0;\n  top: 0;\n  border: 1px solid #fff;\n  border-radius: 50%;\n}\n\n.clr-preview:after {\n  border: 0;\n  background-color: currentColor;\n  box-shadow: inset 0 0 0 1px rgba(0,0,0,.1);\n}\n\n.clr-preview button {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  z-index: 1;\n  margin: 0;\n  padding: 0;\n  border: 0;\n  border-radius: 50%;\n  outline-offset: -2px;\n  background-color: transparent;\n  text-indent: -9999px;\n  cursor: pointer;\n  overflow: hidden;\n}\n\n.clr-marker,\n.clr-hue div,\n.clr-alpha div,\n.clr-color {\n  box-sizing: border-box;\n}\n\n.clr-field {\n  display: inline-block;\n  position: relative;\n  color: transparent;\n}\n\n.clr-field input {\n  margin: 0;\n  direction: ltr;\n}\n\n.clr-field.clr-rtl input {\n  text-align: right;\n}\n\n.clr-field button {\n  position: absolute;\n  width: 30px;\n  height: 100%;\n  right: 0;\n  top: 50%;\n  transform: translateY(-50%);\n  margin: 0;\n  padding: 0;\n  border: 0;\n  color: inherit;\n  text-indent: -1000px;\n  white-space: nowrap;\n  overflow: hidden;\n  pointer-events: none;\n}\n\n.clr-field.clr-rtl button {\n  right: auto;\n  left: 0;\n}\n\n.clr-field button:after {\n  content: \'\';\n  display: block;\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  left: 0;\n  top: 0;\n  border-radius: inherit;\n  background-color: currentColor;\n  box-shadow: inset 0 0 1px rgba(0,0,0,.5);\n}\n\n.clr-alpha,\n.clr-alpha div,\n.clr-swatches button,\n.clr-preview:before,\n.clr-field button {\n  background-image: repeating-linear-gradient(45deg, #aaa 25%, transparent 25%, transparent 75%, #aaa 75%, #aaa), repeating-linear-gradient(45deg, #aaa 25%, #fff 25%, #fff 75%, #aaa 75%, #aaa);\n  background-position: 0 0, 4px 4px;\n  background-size: 8px 8px;\n}\n\n.clr-marker:focus {\n  outline: none;\n}\n\n.clr-keyboard-nav .clr-marker:focus,\n.clr-keyboard-nav .clr-hue input:focus + div,\n.clr-keyboard-nav .clr-alpha input:focus + div,\n.clr-keyboard-nav .clr-segmented input:focus + label {\n  outline: none;\n  box-shadow: 0 0 0 2px #1e90ff, 0 0 2px 2px #fff;\n}\n\n.clr-picker[data-alpha="false"] .clr-alpha {\n  display: none;\n}\n\n.clr-picker[data-minimal="true"] {\n  padding-top: 16px;\n}\n\n.clr-picker[data-minimal="true"] .clr-gradient,\n.clr-picker[data-minimal="true"] .clr-hue,\n.clr-picker[data-minimal="true"] .clr-alpha,\n.clr-picker[data-minimal="true"] .clr-color,\n.clr-picker[data-minimal="true"] .clr-preview {\n  display: none;\n}\n\n/** Dark theme **/\n\n.clr-dark {\n  background-color: #444;\n}\n\n.clr-dark .clr-segmented {\n  border-color: #777;\n}\n\n.clr-dark .clr-swatches button:after {\n  box-shadow: inset 0 0 0 1px rgba(255,255,255,.3);\n}\n\n.clr-dark input.clr-color {\n  color: #fff;\n  border-color: #777;\n  background-color: #555;\n}\n\n.clr-dark input.clr-color:focus {\n  border-color: #1e90ff;\n}\n\n.clr-dark .clr-preview:after {\n  box-shadow: inset 0 0 0 1px rgba(255,255,255,.5);\n}\n\n.clr-dark .clr-alpha,\n.clr-dark .clr-alpha div,\n.clr-dark .clr-swatches button,\n.clr-dark .clr-preview:before {\n  background-image: repeating-linear-gradient(45deg, #666 25%, transparent 25%, transparent 75%, #888 75%, #888), repeating-linear-gradient(45deg, #888 25%, #444 25%, #444 75%, #888 75%, #888);\n}\n\n/** Polaroid theme **/\n\n.clr-picker.clr-polaroid {\n  border-radius: 6px;\n  box-shadow: 0 0 5px rgba(0,0,0,.1), 0 5px 30px rgba(0,0,0,.2);\n}\n\n.clr-picker.clr-polaroid:before {\n  content: \'\';\n  display: block;\n  position: absolute;\n  width: 16px;\n  height: 10px;\n  left: 20px;\n  top: -10px;\n  border: solid transparent;\n  border-width: 0 8px 10px 8px;\n  border-bottom-color: currentColor;\n  box-sizing: border-box;\n  color: #fff;\n  filter: drop-shadow(0 -4px 3px rgba(0,0,0,.1));\n  pointer-events: none;\n}\n\n.clr-picker.clr-polaroid.clr-dark:before {\n  color: #444;\n}\n\n.clr-picker.clr-polaroid.clr-left:before {\n  left: auto;\n  right: 20px;\n}\n\n.clr-picker.clr-polaroid.clr-top:before {\n  top: auto;\n  bottom: -10px;\n  transform: rotateZ(180deg);\n}\n\n.clr-polaroid .clr-gradient {\n  width: calc(100% - 20px);\n  height: 120px;\n  margin: 10px;\n  border-radius: 3px;\n}\n\n.clr-polaroid .clr-hue,\n.clr-polaroid .clr-alpha {\n  width: calc(100% - 30px);\n  height: 10px;\n  margin: 6px 15px;\n  border-radius: 5px;\n}\n\n.clr-polaroid .clr-hue div,\n.clr-polaroid .clr-alpha div {\n  box-shadow: 0 0 5px rgba(0,0,0,.2);\n}\n\n.clr-polaroid .clr-format {\n  width: calc(100% - 20px);\n  margin: 0 10px 15px;\n}\n\n.clr-polaroid .clr-swatches {\n  width: calc(100% - 12px);\n  margin: 0 6px;\n}\n.clr-polaroid .clr-swatches div {\n  padding-bottom: 10px;\n}\n\n.clr-polaroid .clr-swatches button {\n  width: 22px;\n  height: 22px;\n}\n\n.clr-polaroid input.clr-color {\n  width: calc(100% - 60px);\n  margin: 10px 10px 15px auto;\n}\n\n.clr-polaroid .clr-clear {\n  margin: 0 10px 15px 10px;\n}\n\n.clr-polaroid .clr-close {\n  margin: 0 10px 15px auto;\n}\n\n.clr-polaroid .clr-preview {\n  margin: 10px 0 15px 10px;\n}\n\n/** Large theme **/\n\n.clr-picker.clr-large {\n  width: 275px;\n}\n\n.clr-large .clr-gradient {\n  height: 150px;\n}\n\n.clr-large .clr-swatches button {\n  width: 22px;\n  height: 22px;\n}\n\n/** Pill (horizontal) theme **/\n\n.clr-picker.clr-pill {\n  width: 380px;\n  padding-left: 180px;\n  box-sizing: border-box;\n}\n\n.clr-pill .clr-gradient {\n  position: absolute;\n  width: 180px;\n  height: 100%;\n  left: 0;\n  top: 0;\n  margin-bottom: 0;\n  border-radius: 3px 0 0 3px;\n}\n\n.clr-pill .clr-hue {\n  margin-top: 20px;\n}',""]);const i=l},731:(o,e,r)=>{r.d(e,{A:()=>i});var t=r(758),n=r.n(t),a=r(935),l=r.n(a)()(n());l.push([o.id,':root .insert-image-widget-dropdown-content.insert-image-widget-dropdown-content.insert-image-widget-dropdown-content>div>div{padding:5px}:root .insert-image-widget-dropdown-content.insert-image-widget-dropdown-content.insert-image-widget-dropdown-content>div{min-height:0}:root .insert-image-widget-dropdown-content.insert-image-widget-dropdown-content.insert-image-widget-dropdown-content img{max-width:100%;max-height:100%;display:block;margin-left:auto;margin-right:auto}:root .insert-image-widget-dropdown-content.insert-image-widget-dropdown-content.insert-image-widget-dropdown-content .insert-image-image-status-view{display:flex;justify-content:space-between;padding-bottom:0}:root .insert-image-widget-dropdown-content.insert-image-widget-dropdown-content.insert-image-widget-dropdown-content .action-button-row{margin-top:4px;display:flex;flex-direction:row;justify-content:flex-end;padding-bottom:0;margin-bottom:0}:root .insert-image-widget-dropdown-content.insert-image-widget-dropdown-content.insert-image-widget-dropdown-content .action-button-row>button{flex-grow:1;text-align:end;max-width:50%;min-width:min(100%,40px)}.toolbar-overflow-widget-overflow-list{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:center}.toolbar-overflow-widget-overflow-list>.toolbar-toolContainer>.toolbar-button{height:var(--toolbar-button-height)}.toolbar-overflow-widget.horizontal .toolbar-overflow-widget-overflow-list{flex-direction:row}.toolbar-overflow-widget.horizontal>.toolbar-dropdown{max-width:100%;left:15px;right:15px;margin-left:0 !important;translate:none !important;padding:4px}:root .toolbar--pen-tool-toggle-buttons.toolbar--pen-tool-toggle-buttons{display:flex;justify-content:stretch;padding-top:0;padding-bottom:5px;direction:ltr}:root .toolbar--pen-tool-toggle-buttons.toolbar--pen-tool-toggle-buttons>*{flex-grow:1;text-align:start;margin-inline-end:5px}:root .toolbar--pen-tool-toggle-buttons.toolbar--pen-tool-toggle-buttons>* .icon{margin:0;margin-inline-start:4px;margin-inline-end:10px}:root .toolbar--pen-tool-toggle-buttons.toolbar--pen-tool-toggle-buttons>:nth-child(1){direction:ltr}:root .toolbar--pen-tool-toggle-buttons.toolbar--pen-tool-toggle-buttons>:last-child{direction:rtl}.toolbar-zoomLevelEditor{display:flex;flex-direction:row;align-items:center}.toolbar-zoomLevelEditor .zoomDisplay{flex-grow:1}.toolbar-zoomLevelEditor button{min-width:48px}.selection-format-menu.disabled{opacity:.5}.toolbar-document-properties-widget button.about-button{width:100%;text-align:end}.toolbar-document-properties-widget>*{--align-items-to-x: 120px}.toolbar-document-properties-widget .js-draw-size-input-row.js-draw-size-input-row{display:flex}.toolbar-document-properties-widget .js-draw-size-input-row.js-draw-size-input-row.size-input-row--automatic-size{display:none}.toolbar-thicknessSliderContainer{display:flex;flex-direction:row}.toolbar-thicknessSliderContainer input{flex-grow:1}.toolbar-element .clr-field *{cursor:pointer}.toolbar-element .clr-field button{width:1.2em;height:1.2em;top:50%;left:0;border-radius:50%;margin-left:0;margin-right:0}.toolbar-element .clr-field input{opacity:0}.color-input-container{display:inline-flex;flex-direction:row}.color-input-container .coloris_input{height:calc(100% - 6px)}.color-input-container.picker-open .clr-field{pointer-events:none}:root .color-input-container>button.pipetteButton{width:30px;height:30px;padding:0;display:inline-flex}.color-input-container>.color-input-wrapper{display:flex;justify-content:stretch}.color-input-container .pipetteButton>svg{width:100%}.color-input-container .pipetteButton .pickColorInstructions{display:none;font-size:1em;position:absolute;margin-left:30px;background-color:var(--background-color-1);border-radius:30px;padding:4px;opacity:0;transition:.2s ease opacity}@media(prefers-reduced-motion: reduce){.color-input-container .pipetteButton .pickColorInstructions{transition:none}}.color-input-container .pipetteButton.active{background-color:var(--selection-background-color);--icon-color: var(--selection-foreground-color)}.color-input-container .pipetteButton.active .pickColorInstructions{display:block;opacity:.8}.tool-dropdown-separator{--border-color: rgba(100, 100, 100, 0.2);--border-color: color-mix(in srgb, var(--foreground-color-1), rgba(0, 0, 0, 0) 80%);border-top:1px solid var(--border-color);padding-left:2px;margin-top:10px;margin-bottom:10px}.toolbar-element .toolbar--file-input-container{display:flex}.toolbar-element .toolbar--file-input-container.-loading{opacity:.8}.toolbar-element .toolbar--file-input-container>input.file-input{opacity:0;width:0;min-width:0 !important;max-width:0;height:0;overflow:hidden;padding:0;margin:0}.toolbar-element .toolbar--file-input-container>label{display:block;flex-grow:1;padding:0 !important;padding-bottom:5px;--active-border-color: rgba(100, 100, 100, 0.5);--active-border-color: color-mix(in srgb, var(--foreground-color-1), transparent)}.toolbar-element .toolbar--file-input-container>label .cancel-button{padding-left:3px;padding-right:3px}.toolbar-element .toolbar--file-input-container>label>.toolbar--file-input-description{background-color:var(--background-color-3);color:var(--foreground-color-3);border:1px dashed var(--active-border-color);padding:10px;margin-top:10px;display:flex;flex-direction:column;align-items:center;text-align:center;--action-color: var(--primary-action-foreground-color);--icon-color: var(--action-color)}.toolbar-element .toolbar--file-input-container>label>.toolbar--file-input-description>span{white-space:pre-wrap}.toolbar-element .toolbar--file-input-container>label>.toolbar--file-input-description>span>b{color:var(--action-color);cursor:pointer}.toolbar-element .toolbar--file-input-container>label>.toolbar--file-input-description>.icon{width:min(50vw,42px);height:min(50vw,42px);margin-bottom:8px;display:block}.toolbar-element .toolbar--file-input-container>label:active,.toolbar-element .toolbar--file-input-container>label:hover,.toolbar-element .toolbar--file-input-container>label.drag-target{--active-border-color: var(--foreground-color-1)}.toolbar-element .toolbar--file-input-container>label.drag-target>.toolbar--file-input-description{border-width:2px}.toolbar-grid-selector{position:relative}.toolbar-grid-selector>div{display:flex;flex-direction:row;max-width:350px;flex-wrap:wrap;--button-size: 48px}.toolbar-grid-selector .choice-button{display:flex;flex-direction:column-reverse;box-sizing:border-box;cursor:pointer;flex-shrink:1;margin:2px}.toolbar-grid-selector .choice-button.focus-visible{outline:2px solid var(--foreground-color-1)}.toolbar-grid-selector .choice-button input{opacity:0;height:0}.toolbar-grid-selector .choice-button label{display:flex;flex-direction:column;box-sizing:border-box;width:var(--button-size);height:var(--button-size);font-size:.7rem;align-items:center;justify-content:center;padding:4px;user-select:none;-webkit-user-select:none}.toolbar-grid-selector .choice-button .icon{flex-grow:1;flex-shrink:1;width:100%}.toolbar-grid-selector .choice-button.checked{background-color:var(--selection-background-color);color:var(--selection-foreground-color);--icon-color: var(--selection-foreground-color)}:root .toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.toolbar-snapped-scroll-list{height:min(200px,50vh);position:relative;display:flex;align-items:center}:root .toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.toolbar-snapped-scroll-list>.scroller{display:flex;flex-direction:column;overflow-y:auto;scroll-snap-type:y mandatory;height:100%;width:100%;flex-grow:1}:root .toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.toolbar-snapped-scroll-list>.scroller>.item{height:100%;width:100%;flex-shrink:0;display:flex;justify-content:center;align-items:center;scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box}:root .toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.-empty{display:none}:root .toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.toolbar-snapped-scroll-list>.page-markers{overflow:hidden;display:flex;flex-direction:column;align-items:center;max-height:100%;min-height:0}:root .toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.toolbar-snapped-scroll-list>.page-markers.-one-element{visibility:hidden}:root .toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.toolbar-snapped-scroll-list>.page-markers>.marker{padding:2px;opacity:.1;cursor:pointer;left:0;transition:left .2s ease}:root .toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.toolbar-snapped-scroll-list>.page-markers>.marker>.content{background-color:var(--foreground-color-1);border-radius:2px;padding:2px}:root .toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.toolbar-snapped-scroll-list>.page-markers>.marker.-active{position:relative;left:2px;opacity:.2}.toolbar-root{background-color:var(--background-color-1);--icon-color: var(--foreground-color-1);--toolbar-button-height: min(20vh, 60px);flex-wrap:wrap;box-sizing:border-box;width:100%;display:flex;flex-direction:row;justify-content:center}.toolbar-element{z-index:1;font-family:system-ui,-apple-system,sans-serif}.toolbar-element details>summary{cursor:pointer}.toolbar-element>.toolbar-toolContainer>.toolbar-button,.toolbar-element>.toolbar-toolContainer>*>button,.toolbar-element>.toolbar-buttonGroup>button,.toolbar-element>.toolbar-button{white-space:pre;height:var(--toolbar-button-height)}.toolbar-dropdown .toolbar-button>.toolbar-icon{max-width:50px;width:100%}.toolbar-button.disabled{filter:sepia(0.2);opacity:.45;cursor:unset}.toolbar-button,.toolbar-element button{cursor:pointer;text-align:center;border-radius:6px;border:none;box-shadow:0px 0px 2px var(--shadow-color);user-select:none;-webkit-user-select:none;transition:background-color .15s ease,box-shadow .25s ease,opacity .2s ease}.toolbar-button,.toolbar-buttonGroup>button,.toolbar-toolContainer>*>button,.toolbar-root>button{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-left:3px;padding-right:3px;min-width:40px;max-width:105px;width:min-content;font-size:1em}.toolbar-button>label{cursor:inherit;user-select:none;-webkit-user-select:none}.toolbar-root>.toolbar-toolContainer>.toolbar-button>label.long-label{font-size:.75em}.toolbar-dropdown>.toolbar-toolContainer>button,.toolbar-dropdown>.toolbar-toolContainer>.toolbar-button{width:6em}.toolbar-button:not(.disabled):hover,.toolbar-root button:not(:disabled):hover{box-shadow:0px 2px 4px var(--shadow-color)}.toolbar-root button:disabled{cursor:inherit;opacity:.5}.toolbar-root .toolbar-icon{flex-shrink:1;user-select:none;width:100%;min-width:20px;min-height:20px}.toolbar-toolContainer.selected>.toolbar-button{background-color:var(--selection-background-color);color:var(--selection-foreground-color);--icon-color: var(--selection-foreground-color)}.toolbar-toolContainer:not(.selected):not(.dropdownShowable)>.toolbar-button>.toolbar-showHideDropdownIcon{display:none}.toolbar-toolContainer>.toolbar-button>.toolbar-showHideDropdownIcon{height:15px;transition:transform .25s ease}.toolbar-toolContainer.dropdownVisible>.toolbar-button>.toolbar-showHideDropdownIcon{transform:rotate(180deg)}.toolbar-dropdown.hidden,.toolbar-toolContainer:not(.selected):not(.dropdownShowable)>.toolbar-dropdown:not(.hiding){display:none}.toolbar-dropdown{position:absolute;padding:15px;padding-top:5px;display:flex;flex-wrap:wrap;flex-direction:column;max-height:80vh;max-width:fit-content;z-index:2;background-color:var(--background-color-1);box-shadow:0px 3px 3px var(--shadow-color)}@keyframes dropdown-transition-in{0%{opacity:0;transform:scale(1, 0)}100%{opacity:1;transform:scale(1, 1)}}@keyframes dropdown-transition-out{0%{opacity:1;transform:scale(1, 1)}100%{opacity:0;transform:scale(1, 0)}}.toolbar-dropdown{transform-origin:top left;--dropdown-show-animation: dropdown-transition-in;--dropdown-hide-animation: dropdown-transition-out}@media(prefers-reduced-motion: reduce){.toolbar-dropdown{--dropdown-show-animation: none;--dropdown-hide-animation: none}.toolbar-dropdown.hiding{display:none}.toolbar-toolContainer>.toolbar-button>.toolbar-showHideDropdownIcon{transition:none}:root .toolbar-button,.toolbar-root button{transition:none}}.toolbar-buttonGroup{display:flex;flex-direction:row;justify-content:center}.toolbar-element .toolbar--toggle-button{color:var(--foreground-color-1);font-weight:normal}.toolbar-element .toolbar--toggle-button[aria-checked=true]{background:var(--selection-background-color);color:var(--selection-foreground-color)}.toolbar-element .toolbar--toggle-button>.icon{width:25px;height:25px;margin:0 5px}.toolbar-element .toolbar--toggle-button>*{vertical-align:middle}.toolbar-closeColorPickerOverlay{display:none;position:fixed;top:0;left:0;bottom:0;right:0;touch-action:none;background-color:var(--background-color-1);opacity:.3;z-index:2}.toolbar-spacedList>*{padding-bottom:5px;padding-top:5px}.toolbar-indentedList{padding-left:10px}@media print{.toolbar-element{display:none}}@keyframes rehide-label{0%{opacity:.8}80%{opacity:.8}100%{opacity:.1}}@keyframes show-label-delayed{0%{opacity:0}80%{opacity:0}100%{opacity:.8}}@keyframes show-label-now{0%{opacity:0}5%{opacity:0}100%{opacity:.8}}@keyframes keep-label-hidden{0%{opacity:0}100%{opacity:0}}@keyframes toolbar--edgemenu-transition-in{from{transform:translate(0, 100%)}to{transform:translate(0, 0)}}@keyframes toolbar--edgemenu-transition-in-reduce-motion{from{opacity:0}to{opacity:1}}@keyframes toolbar--edgemenu-transition-out{to{transform:translate(0, 100%)}}@keyframes toolbar--edgemenu-transition-out-reduce-motion{from{opacity:1}to{opacity:0}}@keyframes toolbar--edgemenu-container-transition-in{from{overflow-y:hidden}to{overflow-y:hidden}}@keyframes toolbar--edgemenu-container-transition-out{from{overflow-y:hidden}to{overflow-y:hidden}}.toolbar-edge-toolbar{--toolbar-button-height: min(20vh, 48px);--toolbar-button-size: var(--toolbar-button-height);--label-hover-offset-size: calc(14px + var(--toolbar-button-height));box-sizing:border-box;flex-direction:row;justify-content:space-around;--button-label-hover-offset-y: var(--label-hover-offset-size);--button-label-hover-offset-x: 0}@media screen and (min-width: 540px){.toolbar-edge-toolbar{flex-wrap:nowrap}.toolbar-edge-toolbar>.toolbar-action-row{max-width:50vw;flex-grow:0;flex-shrink:0}}@media screen and (max-width: 700px){.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline{font-size:.9em}.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button{width:var(--toolbar-button-size)}.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button label{opacity:0;animation:.2s linear hide-initially}@keyframes hide-initially{from{opacity:0}to{opacity:0}}.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button:not(.no-long-press-or-hover):not(.has-long-press-or-hover):hover:not(:focus-visible)>label,.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button:not(.no-long-press-or-hover):not(.has-long-press-or-hover):active>label{opacity:.8;animation:1s ease show-label-delayed}.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button.has-long-press-or-hover>label{opacity:.8}.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button:focus-visible>label,.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button.focus-visible>label{animation:1.5s ease rehide-label;opacity:0}.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button:has(:focus-visible)>label{animation:1.5s ease rehide-label;opacity:0}.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button>label{opacity:0;position:absolute;margin-top:var(--button-label-hover-offset-y);margin-left:var(--button-label-hover-offset-x);z-index:1;pointer-events:none;background-color:var(--background-color-1);color:var(--foreground-color-1);border-radius:25px;padding:10px;transition:.3s ease opacity,.2s ease margin-top}}@media screen and (max-width: 700px)and (prefers-reduced-motion: reduce){.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button>label{transition:none}}@media screen and (max-width: 700px){.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button>.toolbar-icon.toolbar-icon{margin-left:0;margin-right:0}}.toolbar-edge-toolbar>div.toolbar-element{flex-direction:row;display:flex;flex-grow:1;justify-content:center;background-color:var(--background-color-2);color:var(--foreground-color-2);--icon-color: var(--foreground-color-2);--extra-left-right-padding: 0px}.toolbar-edge-toolbar>div.toolbar-element::-webkit-scrollbar{width:3px;height:3px}.toolbar-edge-toolbar>div.toolbar-element::-webkit-scrollbar-thumb{background-color:var(--shadow-color)}.toolbar-edge-toolbar>div.toolbar-element.toolbar-tool-row{overflow-x:auto;overflow-y:hidden;flex-grow:100}.toolbar-edge-toolbar>div.toolbar-element.toolbar-action-row{z-index:2;background-color:var(--background-color-3);color:var(--foreground-color-3);--icon-color: var(--foreground-color-3)}.toolbar-edge-toolbar>div.toolbar-element.has-scroll{justify-content:start;position:relative;--button-label-hover-offset-y: 0;--button-label-hover-offset-x: calc(0px - var(--label-hover-offset-size))}.toolbar-edge-toolbar>div.toolbar-element.has-scroll>:nth-child(1){--button-label-hover-offset-x: var(--label-hover-offset-size)}.toolbar-edge-toolbar .toolbar-toolContainer.selected>.toolbar-button{background-color:var(--selection-background-color);color:var(--selection-foreground-color);--icon-color: var(--selection-foreground-color)}.toolbar-edge-toolbar .toolbar-button{box-sizing:border-box;background-color:rgba(0,0,0,0)}.toolbar-edge-toolbar .toolbar-button .toolbar-showHideDropdownIcon{flex-shrink:.01;height:12px}.toolbar-edge-toolbar .toolbar-toolContainer{order:1}.toolbar-edge-toolbar .toolbar-toolContainer.label-inline{flex-grow:1;display:flex;--button-flex-direction: row}.toolbar-edge-toolbar .toolbar-toolContainer.label-inline.label-left{justify-content:end;--button-flex-direction: row-reverse;order:100}.toolbar-edge-toolbar .toolbar-toolContainer.label-inline.label-left>.toolbar-button>.toolbar-icon{margin-left:7px;margin-right:0}.toolbar-edge-toolbar .toolbar-toolContainer.label-inline.label-right{order:-1}.toolbar-edge-toolbar .toolbar-toolContainer.label-inline>.toolbar-button{width:auto;flex-direction:var(--button-flex-direction)}.toolbar-edge-toolbar .toolbar-toolContainer.label-inline>.toolbar-button>.toolbar-icon{height:100%;margin-right:7px;margin-left:0;width:22px}.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline) .toolbar-button{width:calc(var(--toolbar-button-size) + var(--extra-left-right-padding));height:var(--toolbar-button-size)}.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline) .toolbar-button:not(.no-long-press-or-hover):not(.has-long-press-or-hover):hover:not(:focus-visible)>label,.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline) .toolbar-button:not(.no-long-press-or-hover):not(.has-long-press-or-hover):active>label{opacity:.8;animation:1s ease show-label-delayed}.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline) .toolbar-button.has-long-press-or-hover>label{opacity:.8}.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline) .toolbar-button:focus-visible>label,.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline) .toolbar-button.focus-visible>label{animation:1.5s ease rehide-label;opacity:0}.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline) .toolbar-button:has(:focus-visible)>label{animation:1.5s ease rehide-label;opacity:0}.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline) .toolbar-button>label{opacity:0;position:absolute;margin-top:var(--button-label-hover-offset-y);margin-left:var(--button-label-hover-offset-x);z-index:1;pointer-events:none;background-color:var(--background-color-1);color:var(--foreground-color-1);border-radius:25px;padding:10px;transition:.3s ease opacity,.2s ease margin-top}@media(prefers-reduced-motion: reduce){.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline) .toolbar-button>label{transition:none}}.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline).dropdownVisible>.toolbar-button>label{opacity:.8;animation:1.5s ease rehide-label .3s,1s ease keep-label-hidden 1.8s infinite}.toolbar-edge-toolbar>div>.toolbar-toolContainer:not(.selected):not(.dropdownShowable)>.toolbar-button>.toolbar-showHideDropdownIcon{display:block;visibility:hidden}.toolbar-edge-toolbar .toolbar-toolContainer>.toolbar-button{margin:0;border-radius:0;padding:8px;box-shadow:none}.toolbar-edge-toolbar .toolbar-toolContainer>.toolbar-button.has-dropdown{padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:0px}.imageEditorContainer.pipette--color-selection-in-progress .toolbar-edgemenu-container{height:0;background-color:rgba(0,0,0,0);opacity:.9}.imageEditorContainer.pipette--color-selection-in-progress .toolbar-edgemenu-container .toolbar-edgemenu{position:absolute}.toolbar-edgemenu-container{background-color:var(--background-color-transparent);transition:.15s ease-in-out height,.15s ease-in-out background-color,.2s ease-in-out opacity;position:absolute;width:var(--editor-current-width-px);height:var(--editor-current-height-px);box-sizing:border-box;display:flex;flex-direction:column-reverse;align-items:center;z-index:2}@media(prefers-reduced-motion: reduce){.toolbar-edgemenu-container{transition:.15s ease-in-out background-color,.2s ease-in-out opacity}}.toolbar-edgemenu-container.dropdown-below-edge{overflow-y:hidden}.toolbar-edgemenu-container button{font-size:1.2em;box-shadow:none;border:none;padding:10px;transition:.2s ease box-shadow;font-weight:bold;color:var(--primary-action-foreground-color)}.toolbar-edgemenu-container button:not(:disabled):hover{box-shadow:0 1px 2px var(--shadow-color)}.toolbar-edgemenu-container button:disabled{opacity:.5;font-weight:unset;cursor:unset;color:var(--foreground-color-1)}.toolbar-edgemenu-container .toolbar-grid-selector .choice-button{--button-label-hover-offset-y: var(--button-size)}.toolbar-edgemenu-container .toolbar-grid-selector .choice-button:not(.no-long-press-or-hover):not(.has-long-press-or-hover):hover:not(:focus-visible)>label>.button-label-text,.toolbar-edgemenu-container .toolbar-grid-selector .choice-button:not(.no-long-press-or-hover):not(.has-long-press-or-hover):active>label>.button-label-text{opacity:.8;animation:1s ease show-label-delayed}.toolbar-edgemenu-container .toolbar-grid-selector .choice-button.has-long-press-or-hover>label>.button-label-text{opacity:.8}.toolbar-edgemenu-container .toolbar-grid-selector .choice-button:focus-visible>label>.button-label-text,.toolbar-edgemenu-container .toolbar-grid-selector .choice-button.focus-visible>label>.button-label-text{animation:1.5s ease rehide-label;opacity:0}.toolbar-edgemenu-container .toolbar-grid-selector .choice-button:has(:focus-visible)>label>.button-label-text{animation:1.5s ease rehide-label;opacity:0}.toolbar-edgemenu-container .toolbar-grid-selector .choice-button>label>.button-label-text{opacity:0;position:absolute;margin-top:var(--button-label-hover-offset-y);margin-left:var(--button-label-hover-offset-x);z-index:1;pointer-events:none;background-color:var(--background-color-1);color:var(--foreground-color-1);border-radius:25px;padding:10px;transition:.3s ease opacity,.2s ease margin-top}@media(prefers-reduced-motion: reduce){.toolbar-edgemenu-container .toolbar-grid-selector .choice-button>label>.button-label-text{transition:none}}.toolbar-edgemenu-container .toolbar-help-overlay-button{align-items:last baseline}.toolbar-edgemenu-container .toolbar-edgemenu{--toolbar-button-height: 48px;touch-action:none;user-select:none;-webkit-user-select:none;background-color:var(--background-color-2);color:var(--foreground-color-2);--icon-color: var(--foreground-color-2);box-shadow:0px 0px 1px var(--shadow-color);padding-left:10px;padding-right:10px;width:min(400px,100vw);box-sizing:border-box;border-top-left-radius:30px;border-top-right-radius:30px;transition:transform .1s ease,padding-bottom .1s ease}.toolbar-edgemenu-container .toolbar-edgemenu input,.toolbar-edgemenu-container .toolbar-edgemenu textarea{user-select:auto;-webkit-user-select:auto}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-toolContainer{display:inline-block}.toolbar-edgemenu-container .toolbar-edgemenu button{background-color:rgba(0,0,0,0)}.toolbar-edgemenu-container .toolbar-edgemenu>button.drag-elem{height:40px;display:block;cursor:ns-resize;position:relative;margin-top:-15px;margin-bottom:10px;width:100%;border:none;box-shadow:none;background:rgba(0,0,0,0)}.toolbar-edgemenu-container .toolbar-edgemenu>button.drag-elem::before{content:"";background-color:var(--icon-color);opacity:.2;display:block;position:relative;top:10px;height:5px;border-radius:5px;width:min(80%,40px);margin-left:auto;margin-right:auto}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-toolContainer{display:block}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-toolContainer .toolbar-button{flex-direction:row;max-width:unset;width:100%;box-sizing:border-box;justify-content:flex-start;box-shadow:none;padding:2px}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-toolContainer .toolbar-button>.toolbar-icon{width:25px;height:25px;padding:13px;margin-right:15px}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-toolContainer .toolbar-button label,.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-toolContainer .toolbar-button>label.long-label{font-size:1em}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-nonbutton-controls-main-list{padding-left:10px;padding-right:10px}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-spacedList{box-sizing:border-box;--align-items-to-x: 105px}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-spacedList>div{display:flex;align-items:center;margin-top:5px;min-height:35px}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-spacedList>div:first-child{margin-top:0}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-spacedList>div>label{padding-right:35px;min-width:var(--align-items-to-x);flex-shrink:1;box-sizing:border-box}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-spacedList>div>input[type=checkbox]{width:20px;height:20px;margin-left:0}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-spacedList>div>input:not([type=checkbox]){flex-grow:1;min-width:48px;flex-shrink:1}.toolbar-dropdown-toolbar button,.toolbar-dropdown-toolbar .toolbar-button{background-color:var(--background-color-2);color:var(--foreground-color-2);--icon-color: var(--foreground-color-2)}.toolbar-dropdown-toolbar,.toolbar-dropdown-toolbar .toolbar-dropdown{background-color:var(--background-color-3);color:var(--foreground-color-3)}.toolbar-dropdown-toolbar .toolbar-spacedList>div>label{padding-right:10px;min-width:50px}.toolbar-dropdown-toolbar .clr-field button{width:100%;height:100%;top:50%;left:0;border-radius:5px}.toolbar-dropdown-toolbar .toolbar-grid-selector>div{--button-size: 57px}.toolbar-dropdown-toolbar .toolbar-dropdown>div>.toolbar-toolContainer{display:inline-block}.toolbar-help-overlay{width:100%;height:100%;max-width:none;max-height:none;border:none;margin:0;padding:0;z-index:5;touch-action:none;overflow:hidden;color:#fff;--icon-color: white;background-color:rgba(0,0,0,0);display:flex;flex-direction:column;transition:.3s ease transform}.toolbar-help-overlay::backdrop{background-color:rgba(0,0,0,.8);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}.toolbar-help-overlay,.toolbar-help-overlay::backdrop{animation:.25s ease transition-in}@keyframes transition-in{0%{opacity:0}100%{opacity:1}}@keyframes transition-out{0%{opacity:1}100%{opacity:0}}.toolbar-help-overlay.-hiding,.toolbar-help-overlay.-hiding::backdrop{animation:.25s ease transition-out;opacity:0}.toolbar-help-overlay.-dragging{transition:none}@media(prefers-reduced-motion: reduce){.toolbar-help-overlay{transition:none}}@media screen and (min-width: 800px){.toolbar-help-overlay>.navigation-buttons{order:1;margin-top:auto}}.toolbar-help-overlay .with-text-shadow,.toolbar-help-overlay .help-page-container>.label,.toolbar-help-overlay button{text-shadow:0 0 3px rgba(20,20,20,.9);filter:drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.5))}.toolbar-help-overlay button:not(:disabled){cursor:pointer}.toolbar-help-overlay button{background:rgba(0,0,0,0);border:none;color:var(--help-overlay-foreground);border-radius:15px}.toolbar-help-overlay .close-button{align-self:flex-start;width:48px;height:48px;z-index:1}.toolbar-help-overlay .close-button>svg{width:100%}.toolbar-help-overlay .navigation-content{flex-grow:1;display:flex}.toolbar-help-overlay .help-page-container{display:flex;align-items:center;flex-grow:1;touch-action:none}.toolbar-help-overlay .help-page-container>.label{flex-grow:1;text-align:center;font-size:18.5pt;margin-left:15px;margin-right:15px;margin-top:0px;z-index:1;transition:.5s ease margin-top}.toolbar-help-overlay .help-page-container>.label.-large-space-below{margin-top:0;margin-bottom:auto}.toolbar-help-overlay .help-page-container>.label.-small-space-above{margin-top:40px;margin-bottom:auto}.toolbar-help-overlay .help-page-container>.label.-large-space-above{margin-top:auto;margin-bottom:10px}@media(prefers-reduced-motion: reduce){.toolbar-help-overlay .help-page-container>.label{transition:none}}.toolbar-help-overlay .help-page-container>.cloned-element-container{position:absolute;z-index:0;user-select:none;-webkit-user-select:none;border-radius:10px;opacity:.01;background-color:rgba(100,100,100,.01);box-shadow:none;transition:.5s ease opacity,.5s ease background-color}.toolbar-help-overlay .help-page-container>.cloned-element-container *{pointer-events:none !important}.toolbar-help-overlay .help-page-container>.cloned-element-container>*{margin:0;opacity:.01 !important;transition:.3s ease opacity !important}.toolbar-help-overlay .help-page-container>.cloned-element-container:not(.-clickable) *{cursor:unset !important}.toolbar-help-overlay .help-page-container>.cloned-element-container.-clickable,.toolbar-help-overlay .help-page-container>.cloned-element-container.-background{z-index:1;touch-action:none}.toolbar-help-overlay .help-page-container>.cloned-element-container.-clickable{cursor:pointer;z-index:2}.toolbar-help-overlay .help-page-container>.cloned-element-container.-clickable.has-long-press-or-hover{opacity:.5 !important}.toolbar-help-overlay .help-page-container>.cloned-element-container.-clickable.has-long-press-or-hover,.toolbar-help-overlay .help-page-container>.cloned-element-container.-active{background-color:var(--background-color-1)}.toolbar-help-overlay .help-page-container>.cloned-element-container.-active{opacity:1;background-color:var(--background-color-1);box-shadow:0 0 3px rgba(100,100,100,.5)}.toolbar-help-overlay .help-page-container>.cloned-element-container.-active>*{opacity:1 !important}.toolbar-help-overlay .navigation-buttons{display:flex;flex-direction:row;justify-content:space-between;direction:ltr}.toolbar-help-overlay .navigation-buttons>button:disabled{opacity:.5}.toolbar-help-overlay .navigation-buttons>.next,.toolbar-help-overlay .navigation-buttons>.previous{font-size:1em;padding:10px;transition:.2s ease font-size;z-index:3}@media(prefers-reduced-motion: reduce){.toolbar-help-overlay .navigation-buttons>.next,.toolbar-help-overlay .navigation-buttons>.previous{transition:none}}.toolbar-help-overlay .navigation-buttons:not(.-has-previous)>.next:not(:disabled){animation:.5s ease highlight-button .5s}@keyframes highlight-button{0%{transform:scale(1)}50%{transform:scale(1.2)}55%{transform:scale(1.2) rotate(2deg)}65%{transform:scale(1.2) rotate(-2deg)}100%{transform:scale(1)}}@media(prefers-reduced-motion: reduce){.toolbar-help-overlay .navigation-buttons:not(.-has-previous)>.next:not(:disabled){animation:none}}.toolbar-help-overlay .navigation-buttons>.next::after{content:"❯";margin-left:3px}.toolbar-help-overlay .navigation-buttons>.previous::before{content:"❮";margin-right:3px}.toolbar-help-overlay .navigation-buttons.-has-next>.next{font-size:1.4em}.toolbar-help-overlay .navigation-buttons.-has-previous>.previous{font-size:1.4em}.toolbar-help-overlay .navigation-buttons.-highlight-next>.next,.toolbar-help-overlay .navigation-buttons.-highlight-previous>.previous{font-weight:bold;background-color:rgba(200,200,200,.1);font-size:1.4em}.toolbar-help-overlay .navigation-help{margin-top:1em;font-size:.7em}.toolbar-element .toolbar-help-overlay-button{height:0;position:relative;display:flex;justify-content:end}.toolbar-element .toolbar-help-overlay-button>.button{margin:0;padding:5px;padding-top:0;padding-bottom:0;box-shadow:none;text-align:center;opacity:.5}.toolbar-element .toolbar-help-overlay-button>.button>.icon{width:1.18em;height:1.18em;transition:.2s ease filter}.toolbar-element .toolbar-help-overlay-button>.button:focus-visible>.icon,.toolbar-element .toolbar-help-overlay-button>.button:hover>.icon{filter:drop-shadow(0px 0px 1px var(--shadow-color))}.ScrollbarTool-overlay{width:0;height:0;overflow:visible;opacity:.2;pointer-events:none;--fade-out-animation: 1s ease 0s fade-out;--scrollbar-size: 3px}@media(prefers-reduced-motion: reduce){.ScrollbarTool-overlay{--fade-out-animation: none !important}}@keyframes fade-out{from{opacity:.2}to{opacity:0}}.ScrollbarTool-overlay:not(.just-updated){animation:var(--fade-out-animation);opacity:0}.ScrollbarTool-overlay .vertical-scrollbar,.ScrollbarTool-overlay .horizontal-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size);min-width:var(--scrollbar-size);min-height:var(--scrollbar-size);background-color:var(--foreground-color-1);border-radius:var(--scrollbar-size);position:absolute}.ScrollbarTool-overlay .vertical-scrollbar.represents-no-scroll,.ScrollbarTool-overlay .horizontal-scrollbar.represents-no-scroll{animation:var(--fade-out-animation);opacity:0}.ScrollbarTool-overlay:not(.scrollbar-left) .vertical-scrollbar{margin-left:calc(var(--editor-current-display-width-px) - var(--scrollbar-size))}.ScrollbarTool-overlay:not(.scrollbar-top) .horizontal-scrollbar{margin-top:calc(var(--editor-current-display-height-px) - var(--scrollbar-size))}.clipboard-error-dialog details>summary{cursor:pointer}.clipboard-error-dialog details[open]{margin-bottom:12px}.clipboard-error-dialog textarea{width:100%;box-sizing:border-box}.selection-tool-selection-background{background-color:var(--selection-background-color);opacity:.5;overflow:visible}.selection-tool-handle{position:absolute;box-sizing:border-box;display:flex;align-items:center;justify-content:center;--max-size: 17px}.selection-tool-handle .selection-tool-content{border:1px solid var(--foreground-color-1);background:var(--background-color-1);box-sizing:border-box;max-width:var(--max-size);max-height:var(--max-size);width:100%;height:100%;display:flex;justify-content:center;align-items:center;padding:3px}.selection-tool-handle .selection-tool-content .icon{width:100%;height:100%}.selection-tool-handle.selection-tool-circle .selection-tool-content{border-radius:100%}.selection-tool-handle.selection-tool-rotate{--max-size: 28px;cursor:grab}.selection-tool-handle.selection-tool-resize-x{cursor:ew-resize}.selection-tool-handle.selection-tool-resize-y{cursor:ns-resize}.selection-tool-handle.selection-tool-resize-xy{cursor:nwse-resize}.selection-tool-rotated-near-perpendicular .selection-tool-handle.selection-tool-resize-x{cursor:ns-resize}.selection-tool-rotated-near-perpendicular .selection-tool-handle.selection-tool-resize-y{cursor:ew-resize}.selection-tool-rotated-near-perpendicular .selection-tool-handle.selection-tool-resize-xy{cursor:nesw-resize}.selection-tool-selection-menu>button{max-height:var(--vertical-offset);background-color:var(--background-color-1);font-size:14px;color:var(--foreground-color-1);border:.5px solid var(--foreground-color-1);border-radius:3px;padding:3px;opacity:.8;transition:.2s ease opacity}.selection-tool-selection-menu>button:hover,.selection-tool-selection-menu>button:focus-visible{background-color:var(--background-color-2);color:var(--foreground-color-2);cursor:pointer;opacity:1}.overlay.handleOverlay{touch-action:none;direction:ltr}.overlay.handleOverlay,.overlay.handleOverlay .selection-tool-selection-outer-container{height:0;overflow:visible}.overlay.handleOverlay .selection-tool-selection-inner-container{width:var(--editor-current-display-width-px);height:var(--editor-current-display-height-px);overflow:hidden;pointer-events:none}.overlay.handleOverlay .selection-tool-selection-inner-container>*{pointer-events:all}.overlay.handleOverlay .selection-tool-selection-inner-container.-empty{opacity:0}.overlay.handleOverlay .selection-tool-selection-inner-container.-hide-handles .selection-tool-handle{display:none}@keyframes selection-duplicated-animation{0%{scale:1 1}50%{scale:1.02 1.02}100%{scale:1 1}}@media(prefers-reduced-motion: reduce){@keyframes selection-duplicated-animation{}}.find-tool-overlay{order:-1;position:absolute}.js-draw-sound-ui-toggle{width:0px;height:0px;overflow:hidden;user-select:none;-webkit-user-select:none}.js-draw-sound-ui-toggle button{margin-top:1px}.js-draw-sound-ui-toggle:focus-within,.js-draw-sound-ui-toggle.sound-ui-tool-enabled{overflow:visible;z-index:5}.js-draw-sound-ui-toggle:not(:focus-within):not(:hover).sound-ui-tool-enabled{opacity:.5}@keyframes show-popup-menu-animation{from{opacity:0}to{opacity:1}}.editor-popup-menu{width:100%;height:100%;background-color:rgba(0,0,0,0);border:none;animation:var(--hide-menu-animation-timeout) ease show-popup-menu-animation;opacity:1;transition:var(--hide-menu-animation-timeout) ease opacity;overflow:hidden}.editor-popup-menu.-hide{opacity:0}.editor-popup-menu>.content{position:absolute;left:var(--anchor-x);top:var(--anchor-y);display:flex;flex-direction:column;overflow:clip;border-radius:6px;box-shadow:0px 1px 2px var(--shadow-color)}.editor-popup-menu::backdrop{background:rgba(0,0,0,0)}.editor-popup-menu-option{display:flex;justify-content:start;cursor:pointer;padding:5px;padding-top:6px;padding-bottom:6px;background-color:var(--background-color-1);color:var(--foreground-color-1);--icon-color: currentColor;border:none;font-size:1em}.editor-popup-menu-option:hover,.editor-popup-menu-option:focus-visible{background-color:var(--background-color-2);color:var(--foreground-color-2)}.editor-popup-menu-option>:first-child{width:1em;height:1em;flex-shrink:0;margin-inline-start:0em;margin-inline-end:.25em}.about-dialog-content>.scroll{white-space:pre-wrap;font-family:monospace}.about-dialog-content>.scroll>details>summary{cursor:pointer}.about-dialog-content>.scroll>h2,.about-dialog-content>.scroll>details>summary{margin-top:15px;font-size:1.2em;font-weight:bold}.about-dialog-content>.scroll>h2 a,.about-dialog-content>.scroll>details>summary a{color:var(--foreground-color-1);text-decoration:underline}@keyframes fade-in{from{opacity:0}to{opacity:1}}.message-dialog-container dialog{display:flex}.message-dialog-container dialog.-closing{opacity:0}.message-dialog-container dialog.-closing::backdrop{opacity:0}.message-dialog-container dialog,.message-dialog-container dialog::backdrop{transition:opacity .2s ease;animation:fade-in .2s ease}.message-dialog-content{display:flex;flex-direction:column;flex-grow:1}.message-dialog-content>.close{display:block;margin-left:auto;margin-right:auto}.message-dialog-content>.scroll{flex-grow:1;flex-shrink:1;overflow-y:auto;margin-left:20px;margin-right:20px;padding-bottom:20px}.dialog-container>dialog{background-color:var(--background-color-1);color:var(--foreground-color-1);border:none;outline:none;box-shadow:0 0 2px var(--shadow-color);border-radius:8px;max-height:90vh;width:min(100%,500px);box-sizing:border-box}.dialog-container>dialog::backdrop{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);background-color:var(--background-color-transparent)}#clr-picker{--clr-slider-size: 30px}#clr-picker #clr-color-area,#clr-picker .clr_hue{touch-action:none}#clr-picker .clr-alpha{margin-top:15px;margin-bottom:15px}#clr-picker.clr-picker input[type=range]::-moz-range-thumb{width:var(--clr-slider-size);height:var(--clr-slider-size)}#clr-picker.clr-picker input[type=range]::-webkit-slider-thumb{width:var(--clr-slider-size);height:var(--clr-slider-size)}#clr-picker.clr-picker input[type=range]::-webkit-slider-runnable-track{height:var(--clr-slider-size)}#clr-picker.clr-picker input[type=range]::-moz-range-track{height:var(--clr-slider-size)}.imageEditorContainer{--background-color-1: white;--foreground-color-1: black;--background-color-2: #f5f5f5;--foreground-color-2: #2c303a;--background-color-3: #e5e5e5;--foreground-color-3: #1c202a;--selection-background-color: #cbdaf1;--selection-foreground-color: #2c303a;--background-color-transparent: rgba(105, 100, 100, 0.5);--shadow-color: rgba(0, 0, 0, 0.5);--primary-action-foreground-color: #15b}@media(prefers-color-scheme: dark){.imageEditorContainer{--background-color-1: #151515;--foreground-color-1: white;--background-color-2: #222;--foreground-color-2: #efefef;--background-color-3: #272627;--foreground-color-3: #eee;--selection-background-color: #607;--selection-foreground-color: white;--shadow-color: rgba(250, 250, 250, 0.5);--background-color-transparent: rgba(50, 50, 50, 0.5);--primary-action-foreground-color: #7ae}}.imageEditorContainer{--icon-color: var(--foreground-color-1)}.imageEditorContainer{color:var(--foreground-color-1);font-family:system-ui,-apple-system,sans-serif;background-color:var(--background-color-1);width:100%;height:400px;min-height:220px;min-width:100px;writing-mode:horizontal-tb;box-sizing:border-box;display:flex;flex-direction:column-reverse}.imageEditorContainer input{accent-color:var(--primary-action-foreground-color)}.imageEditorContainer .imageEditorRenderArea{display:grid;grid-template-columns:1fr;flex-grow:2;flex-shrink:1;min-height:100px;min-width:0;width:100%;height:100%}.imageEditorContainer .imageEditorRenderArea canvas{grid-row:1/1;grid-column:1/1;touch-action:none;box-sizing:border-box;width:100%;height:100%;min-width:0;max-width:inherit;min-height:0px;max-height:inherit;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.imageEditorContainer .loadingMessage{position:fixed;text-align:center;font-size:2em;text-shadow:0px 0px 1px var(--background-color-1);bottom:0;left:0;right:0}.imageEditorContainer .accessibilityAnnouncement{opacity:0;width:0;height:0;overflow:hidden;pointer-events:none;user-select:none;-webkit-user-select:none}.imageEditorContainer .textRendererOutputContainer{width:.001px;height:.001px;overflow:hidden;-webkit-user-select:none;user-select:none}.imageEditorContainer .textRendererOutputContainer:focus-within{overflow:visible;z-index:5}@media print{.imageEditorContainer .loadingMessage{display:none}.imageEditorContainer .imageEditorRenderArea canvas{width:100%;height:initial}}',""]);const i=l},935:o=>{o.exports=function(o){var e=[];return e.toString=function(){return this.map((function(e){var r="",t=void 0!==e[5];return e[4]&&(r+="@supports (".concat(e[4],") {")),e[2]&&(r+="@media ".concat(e[2]," {")),t&&(r+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),r+=o(e),t&&(r+="}"),e[2]&&(r+="}"),e[4]&&(r+="}"),r})).join("")},e.i=function(o,r,t,n,a){"string"==typeof o&&(o=[[null,o,void 0]]);var l={};if(t)for(var i=0;i<this.length;i++){var d=this[i][0];null!=d&&(l[d]=!0)}for(var c=0;c<o.length;c++){var s=[].concat(o[c]);t&&l[s[0]]||(void 0!==a&&(void 0===s[5]||(s[1]="@layer".concat(s[5].length>0?" ".concat(s[5]):""," {").concat(s[1],"}")),s[5]=a),r&&(s[2]?(s[1]="@media ".concat(s[2]," {").concat(s[1],"}"),s[2]=r):s[2]=r),n&&(s[4]?(s[1]="@supports (".concat(s[4],") {").concat(s[1],"}"),s[4]=n):s[4]="".concat(n)),e.push(s))}},e}},758:o=>{o.exports=function(o){return o[1]}},591:o=>{var e=[];function r(o){for(var r=-1,t=0;t<e.length;t++)if(e[t].identifier===o){r=t;break}return r}function t(o,t){for(var a={},l=[],i=0;i<o.length;i++){var d=o[i],c=t.base?d[0]+t.base:d[0],s=a[c]||0,p="".concat(c," ").concat(s);a[c]=s+1;var b=r(p),g={css:d[1],media:d[2],sourceMap:d[3],supports:d[4],layer:d[5]};if(-1!==b)e[b].references++,e[b].updater(g);else{var u=n(g,t);t.byIndex=i,e.splice(i,0,{identifier:p,updater:u,references:1})}l.push(p)}return l}function n(o,e){var r=e.domAPI(e);r.update(o);return function(e){if(e){if(e.css===o.css&&e.media===o.media&&e.sourceMap===o.sourceMap&&e.supports===o.supports&&e.layer===o.layer)return;r.update(o=e)}else r.remove()}}o.exports=function(o,n){var a=t(o=o||[],n=n||{});return function(o){o=o||[];for(var l=0;l<a.length;l++){var i=r(a[l]);e[i].references--}for(var d=t(o,n),c=0;c<a.length;c++){var s=r(a[c]);0===e[s].references&&(e[s].updater(),e.splice(s,1))}a=d}}},128:o=>{var e={};o.exports=function(o,r){var t=function(o){if(void 0===e[o]){var r=document.querySelector(o);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(o){r=null}e[o]=r}return e[o]}(o);if(!t)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");t.appendChild(r)}},51:o=>{o.exports=function(o){var e=document.createElement("style");return o.setAttributes(e,o.attributes),o.insert(e,o.options),e}},855:(o,e,r)=>{o.exports=function(o){var e=r.nc;e&&o.setAttribute("nonce",e)}},740:o=>{o.exports=function(o){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=o.insertStyleElement(o);return{update:function(r){!function(o,e,r){var t="";r.supports&&(t+="@supports (".concat(r.supports,") {")),r.media&&(t+="@media ".concat(r.media," {"));var n=void 0!==r.layer;n&&(t+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),t+=r.css,n&&(t+="}"),r.media&&(t+="}"),r.supports&&(t+="}");var a=r.sourceMap;a&&"undefined"!=typeof btoa&&(t+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleTagTransform(t,o,e.options)}(e,o,r)},remove:function(){!function(o){if(null===o.parentNode)return!1;o.parentNode.removeChild(o)}(e)}}}},656:o=>{o.exports=function(o,e){if(e.styleSheet)e.styleSheet.cssText=o;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(o))}}}},e={};function r(t){var n=e[t];if(void 0!==n)return n.exports;var a=e[t]={id:t,exports:{}};return o[t](a,a.exports,r),a.exports}r.n=o=>{var e=o&&o.__esModule?()=>o.default:()=>o;return r.d(e,{a:e}),e},r.d=(o,e)=>{for(var t in e)r.o(e,t)&&!r.o(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:e[t]})},r.o=(o,e)=>Object.prototype.hasOwnProperty.call(o,e),r.nc=void 0;var t=r(591),n=r.n(t),a=r(740),l=r.n(a),i=r(128),d=r.n(i),c=r(855),s=r.n(c),p=r(51),b=r.n(p),g=r(656),u=r.n(g),h=r(731),m={};m.styleTagTransform=u(),m.setAttributes=s(),m.insert=d().bind(null,"head"),m.domAPI=l(),m.insertStyleElement=b();n()(h.A,m);h.A&&h.A.locals&&h.A.locals;var x=r(724),f={};f.styleTagTransform=u(),f.setAttributes=s(),f.insert=d().bind(null,"head"),f.domAPI=l(),f.insertStyleElement=b();n()(x.A,f);x.A&&x.A.locals&&x.A.locals;window.jsdrawStyles={}})();
         
     | 
| 
      
 1 
     | 
    
         
            +
            (()=>{"use strict";var o={724:(o,e,r)=>{r.d(e,{A:()=>i});var t=r(758),n=r.n(t),a=r(935),l=r.n(a)()(n());l.push([o.id,'.clr-picker {\n  display: none;\n  flex-wrap: wrap;\n  position: absolute;\n  width: 200px;\n  z-index: 1000;\n  border-radius: 10px;\n  background-color: #fff;\n  justify-content: flex-end;\n  direction: ltr;\n  box-shadow: 0 0 5px rgba(0,0,0,.05), 0 5px 20px rgba(0,0,0,.1);\n  -moz-user-select: none;\n  -webkit-user-select: none;\n  user-select: none;\n}\n\n.clr-picker.clr-open,\n.clr-picker[data-inline="true"] {\n  display: flex;\n}\n\n.clr-picker[data-inline="true"] {\n  position: relative;\n}\n\n.clr-gradient {\n  position: relative;\n  width: 100%;\n  height: 100px;\n  margin-bottom: 15px;\n  border-radius: 3px 3px 0 0;\n  background-image: linear-gradient(rgba(0,0,0,0), #000), linear-gradient(90deg, #fff, currentColor);\n  cursor: pointer;\n}\n\n.clr-marker {\n  position: absolute;\n  width: 12px;\n  height: 12px;\n  margin: -6px 0 0 -6px;\n  border: 1px solid #fff;\n  border-radius: 50%;\n  background-color: currentColor;\n  cursor: pointer;\n}\n\n.clr-picker input[type="range"]::-webkit-slider-runnable-track {\n  width: 100%;\n  height: 16px;\n}\n\n.clr-picker input[type="range"]::-webkit-slider-thumb {\n  width: 16px;\n  height: 16px;\n  -webkit-appearance: none;\n}\n\n.clr-picker input[type="range"]::-moz-range-track {\n  width: 100%;\n  height: 16px;\n  border: 0;\n}\n\n.clr-picker input[type="range"]::-moz-range-thumb {\n  width: 16px;\n  height: 16px;\n  border: 0;\n}\n\n.clr-hue {\n  background-image: linear-gradient(to right, #f00 0%, #ff0 16.66%, #0f0 33.33%, #0ff 50%, #00f 66.66%, #f0f 83.33%, #f00 100%);\n}\n\n.clr-hue,\n.clr-alpha {\n  position: relative;\n  width: calc(100% - 40px);\n  height: 8px;\n  margin: 5px 20px;\n  border-radius: 4px;\n}\n\n.clr-alpha span {\n  display: block;\n  height: 100%;\n  width: 100%;\n  border-radius: inherit;\n  background-image: linear-gradient(90deg, rgba(0,0,0,0), currentColor);\n}\n\n.clr-hue input,\n.clr-alpha input {\n  position: absolute;\n  width: calc(100% + 32px);\n  height: 16px;\n  left: -16px;\n  top: -4px;\n  margin: 0;\n  background-color: transparent;\n  opacity: 0;\n  cursor: pointer;\n  appearance: none;\n  -webkit-appearance: none;\n}\n\n.clr-hue div,\n.clr-alpha div {\n  position: absolute;\n  width: 16px;\n  height: 16px;\n  left: 0;\n  top: 50%;\n  margin-left: -8px;\n  transform: translateY(-50%);\n  border: 2px solid #fff;\n  border-radius: 50%;\n  background-color: currentColor;\n  box-shadow: 0 0 1px #888;\n  pointer-events: none;\n}\n\n.clr-alpha div:before {\n  content: \'\';\n  position: absolute;\n  height: 100%;\n  width: 100%;\n  left: 0;\n  top: 0;\n  border-radius: 50%;\n  background-color: currentColor;\n}\n\n.clr-format {\n  display: none;\n  order: 1;\n  width: calc(100% - 40px);\n  margin: 0 20px 20px;\n}\n\n.clr-segmented {\n  display: flex;\n  position: relative;\n  width: 100%;\n  margin: 0;\n  padding: 0;\n  border: 1px solid #ddd;\n  border-radius: 15px;\n  box-sizing: border-box;\n  color: #999;\n  font-size: 12px;\n}\n\n.clr-segmented input,\n.clr-segmented legend {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  margin: 0;\n  padding: 0;\n  border: 0;\n  left: 0;\n  top: 0;\n  opacity: 0;\n  pointer-events: none;\n}\n\n.clr-segmented label {\n  flex-grow: 1;\n  margin: 0;\n  padding: 4px 0;\n  font-size: inherit;\n  font-weight: normal;\n  line-height: initial;\n  text-align: center;\n  cursor: pointer;\n}\n\n.clr-segmented label:first-of-type {\n  border-radius: 10px 0 0 10px;\n}\n\n.clr-segmented label:last-of-type {\n  border-radius: 0 10px 10px 0;\n}\n\n.clr-segmented input:checked + label {\n  color: #fff;\n  background-color: #666;\n}\n\n.clr-swatches {\n  order: 2;\n  width: calc(100% - 32px);\n  margin: 0 16px;\n}\n\n.clr-swatches div {\n  display: flex;\n  flex-wrap: wrap;\n  padding-bottom: 12px;\n  justify-content: center;\n}\n\n.clr-swatches button {\n  position: relative;\n  width: 20px;\n  height: 20px;\n  margin: 0 4px 6px 4px;\n  padding: 0;\n  border: 0;\n  border-radius: 50%;\n  color: inherit;\n  text-indent: -1000px;\n  white-space: nowrap;\n  overflow: hidden;\n  cursor: pointer;\n}\n\n.clr-swatches button:after {\n  content: \'\';\n  display: block;\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  left: 0;\n  top: 0;\n  border-radius: inherit;\n  background-color: currentColor;\n  box-shadow: inset 0 0 0 1px rgba(0,0,0,.1);\n}\n\ninput.clr-color {\n  order: 1;\n  width: calc(100% - 80px);\n  height: 32px;\n  margin: 15px 20px 20px auto;\n  padding: 0 10px;\n  border: 1px solid #ddd;\n  border-radius: 16px;\n  color: #444;\n  background-color: #fff;\n  font-family: sans-serif;\n  font-size: 14px;\n  text-align: center;\n  box-shadow: none;\n}\n\ninput.clr-color:focus {\n  outline: none;\n  border: 1px solid #1e90ff;\n}\n\n.clr-close,\n.clr-clear {\n  display: none;\n  order: 2;\n  height: 24px;\n  margin: 0 20px 20px;\n  padding: 0 20px;\n  border: 0;\n  border-radius: 12px;\n  color: #fff;\n  background-color: #666;\n  font-family: inherit;\n  font-size: 12px;\n  font-weight: 400;\n  cursor: pointer;\n}\n\n.clr-close {\n  display: block;\n  margin: 0 20px 20px auto;\n}\n\n.clr-preview {\n  position: relative;\n  width: 32px;\n  height: 32px;\n  margin: 15px 0 20px 20px;\n  border-radius: 50%;\n  overflow: hidden;\n}\n\n.clr-preview:before,\n.clr-preview:after {\n  content: \'\';\n  position: absolute;\n  height: 100%;\n  width: 100%;\n  left: 0;\n  top: 0;\n  border: 1px solid #fff;\n  border-radius: 50%;\n}\n\n.clr-preview:after {\n  border: 0;\n  background-color: currentColor;\n  box-shadow: inset 0 0 0 1px rgba(0,0,0,.1);\n}\n\n.clr-preview button {\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  z-index: 1;\n  margin: 0;\n  padding: 0;\n  border: 0;\n  border-radius: 50%;\n  outline-offset: -2px;\n  background-color: transparent;\n  text-indent: -9999px;\n  cursor: pointer;\n  overflow: hidden;\n}\n\n.clr-marker,\n.clr-hue div,\n.clr-alpha div,\n.clr-color {\n  box-sizing: border-box;\n}\n\n.clr-field {\n  display: inline-block;\n  position: relative;\n  color: transparent;\n}\n\n.clr-field input {\n  margin: 0;\n  direction: ltr;\n}\n\n.clr-field.clr-rtl input {\n  text-align: right;\n}\n\n.clr-field button {\n  position: absolute;\n  width: 30px;\n  height: 100%;\n  right: 0;\n  top: 50%;\n  transform: translateY(-50%);\n  margin: 0;\n  padding: 0;\n  border: 0;\n  color: inherit;\n  text-indent: -1000px;\n  white-space: nowrap;\n  overflow: hidden;\n  pointer-events: none;\n}\n\n.clr-field.clr-rtl button {\n  right: auto;\n  left: 0;\n}\n\n.clr-field button:after {\n  content: \'\';\n  display: block;\n  position: absolute;\n  width: 100%;\n  height: 100%;\n  left: 0;\n  top: 0;\n  border-radius: inherit;\n  background-color: currentColor;\n  box-shadow: inset 0 0 1px rgba(0,0,0,.5);\n}\n\n.clr-alpha,\n.clr-alpha div,\n.clr-swatches button,\n.clr-preview:before,\n.clr-field button {\n  background-image: repeating-linear-gradient(45deg, #aaa 25%, transparent 25%, transparent 75%, #aaa 75%, #aaa), repeating-linear-gradient(45deg, #aaa 25%, #fff 25%, #fff 75%, #aaa 75%, #aaa);\n  background-position: 0 0, 4px 4px;\n  background-size: 8px 8px;\n}\n\n.clr-marker:focus {\n  outline: none;\n}\n\n.clr-keyboard-nav .clr-marker:focus,\n.clr-keyboard-nav .clr-hue input:focus + div,\n.clr-keyboard-nav .clr-alpha input:focus + div,\n.clr-keyboard-nav .clr-segmented input:focus + label {\n  outline: none;\n  box-shadow: 0 0 0 2px #1e90ff, 0 0 2px 2px #fff;\n}\n\n.clr-picker[data-alpha="false"] .clr-alpha {\n  display: none;\n}\n\n.clr-picker[data-minimal="true"] {\n  padding-top: 16px;\n}\n\n.clr-picker[data-minimal="true"] .clr-gradient,\n.clr-picker[data-minimal="true"] .clr-hue,\n.clr-picker[data-minimal="true"] .clr-alpha,\n.clr-picker[data-minimal="true"] .clr-color,\n.clr-picker[data-minimal="true"] .clr-preview {\n  display: none;\n}\n\n/** Dark theme **/\n\n.clr-dark {\n  background-color: #444;\n}\n\n.clr-dark .clr-segmented {\n  border-color: #777;\n}\n\n.clr-dark .clr-swatches button:after {\n  box-shadow: inset 0 0 0 1px rgba(255,255,255,.3);\n}\n\n.clr-dark input.clr-color {\n  color: #fff;\n  border-color: #777;\n  background-color: #555;\n}\n\n.clr-dark input.clr-color:focus {\n  border-color: #1e90ff;\n}\n\n.clr-dark .clr-preview:after {\n  box-shadow: inset 0 0 0 1px rgba(255,255,255,.5);\n}\n\n.clr-dark .clr-alpha,\n.clr-dark .clr-alpha div,\n.clr-dark .clr-swatches button,\n.clr-dark .clr-preview:before {\n  background-image: repeating-linear-gradient(45deg, #666 25%, transparent 25%, transparent 75%, #888 75%, #888), repeating-linear-gradient(45deg, #888 25%, #444 25%, #444 75%, #888 75%, #888);\n}\n\n/** Polaroid theme **/\n\n.clr-picker.clr-polaroid {\n  border-radius: 6px;\n  box-shadow: 0 0 5px rgba(0,0,0,.1), 0 5px 30px rgba(0,0,0,.2);\n}\n\n.clr-picker.clr-polaroid:before {\n  content: \'\';\n  display: block;\n  position: absolute;\n  width: 16px;\n  height: 10px;\n  left: 20px;\n  top: -10px;\n  border: solid transparent;\n  border-width: 0 8px 10px 8px;\n  border-bottom-color: currentColor;\n  box-sizing: border-box;\n  color: #fff;\n  filter: drop-shadow(0 -4px 3px rgba(0,0,0,.1));\n  pointer-events: none;\n}\n\n.clr-picker.clr-polaroid.clr-dark:before {\n  color: #444;\n}\n\n.clr-picker.clr-polaroid.clr-left:before {\n  left: auto;\n  right: 20px;\n}\n\n.clr-picker.clr-polaroid.clr-top:before {\n  top: auto;\n  bottom: -10px;\n  transform: rotateZ(180deg);\n}\n\n.clr-polaroid .clr-gradient {\n  width: calc(100% - 20px);\n  height: 120px;\n  margin: 10px;\n  border-radius: 3px;\n}\n\n.clr-polaroid .clr-hue,\n.clr-polaroid .clr-alpha {\n  width: calc(100% - 30px);\n  height: 10px;\n  margin: 6px 15px;\n  border-radius: 5px;\n}\n\n.clr-polaroid .clr-hue div,\n.clr-polaroid .clr-alpha div {\n  box-shadow: 0 0 5px rgba(0,0,0,.2);\n}\n\n.clr-polaroid .clr-format {\n  width: calc(100% - 20px);\n  margin: 0 10px 15px;\n}\n\n.clr-polaroid .clr-swatches {\n  width: calc(100% - 12px);\n  margin: 0 6px;\n}\n.clr-polaroid .clr-swatches div {\n  padding-bottom: 10px;\n}\n\n.clr-polaroid .clr-swatches button {\n  width: 22px;\n  height: 22px;\n}\n\n.clr-polaroid input.clr-color {\n  width: calc(100% - 60px);\n  margin: 10px 10px 15px auto;\n}\n\n.clr-polaroid .clr-clear {\n  margin: 0 10px 15px 10px;\n}\n\n.clr-polaroid .clr-close {\n  margin: 0 10px 15px auto;\n}\n\n.clr-polaroid .clr-preview {\n  margin: 10px 0 15px 10px;\n}\n\n/** Large theme **/\n\n.clr-picker.clr-large {\n  width: 275px;\n}\n\n.clr-large .clr-gradient {\n  height: 150px;\n}\n\n.clr-large .clr-swatches button {\n  width: 22px;\n  height: 22px;\n}\n\n/** Pill (horizontal) theme **/\n\n.clr-picker.clr-pill {\n  width: 380px;\n  padding-left: 180px;\n  box-sizing: border-box;\n}\n\n.clr-pill .clr-gradient {\n  position: absolute;\n  width: 180px;\n  height: 100%;\n  left: 0;\n  top: 0;\n  margin-bottom: 0;\n  border-radius: 3px 0 0 3px;\n}\n\n.clr-pill .clr-hue {\n  margin-top: 20px;\n}',""]);const i=l},731:(o,e,r)=>{r.d(e,{A:()=>i});var t=r(758),n=r.n(t),a=r(935),l=r.n(a)()(n());l.push([o.id,':root .insert-image-widget-dropdown-content.insert-image-widget-dropdown-content.insert-image-widget-dropdown-content>div>div{padding:5px}:root .insert-image-widget-dropdown-content.insert-image-widget-dropdown-content.insert-image-widget-dropdown-content>div{min-height:0}:root .insert-image-widget-dropdown-content.insert-image-widget-dropdown-content.insert-image-widget-dropdown-content img{max-width:100%;max-height:100%;display:block;margin-left:auto;margin-right:auto}:root .insert-image-widget-dropdown-content.insert-image-widget-dropdown-content.insert-image-widget-dropdown-content .insert-image-image-status-view{display:flex;justify-content:space-between;padding-bottom:0}:root .insert-image-widget-dropdown-content.insert-image-widget-dropdown-content.insert-image-widget-dropdown-content .action-button-row{margin-top:4px;display:flex;flex-direction:row;justify-content:flex-end;padding-bottom:0;margin-bottom:0}:root .insert-image-widget-dropdown-content.insert-image-widget-dropdown-content.insert-image-widget-dropdown-content .action-button-row>button{flex-grow:1;text-align:end;max-width:50%;min-width:min(100%,40px)}.toolbar-overflow-widget-overflow-list{display:flex;flex-direction:column;flex-wrap:wrap;justify-content:center}.toolbar-overflow-widget-overflow-list>.toolbar-toolContainer>.toolbar-button{height:var(--toolbar-button-height)}.toolbar-overflow-widget.horizontal .toolbar-overflow-widget-overflow-list{flex-direction:row}.toolbar-overflow-widget.horizontal>.toolbar-dropdown{max-width:100%;left:15px;right:15px;margin-left:0 !important;translate:none !important;padding:4px}:root .toolbar--pen-tool-toggle-buttons.toolbar--pen-tool-toggle-buttons{display:flex;justify-content:stretch;padding-top:0;padding-bottom:5px;direction:ltr}:root .toolbar--pen-tool-toggle-buttons.toolbar--pen-tool-toggle-buttons>*{flex-grow:1;text-align:start;margin-inline-end:5px}:root .toolbar--pen-tool-toggle-buttons.toolbar--pen-tool-toggle-buttons>* .icon{margin:0;margin-inline-start:4px;margin-inline-end:10px}:root .toolbar--pen-tool-toggle-buttons.toolbar--pen-tool-toggle-buttons>:nth-child(1){direction:ltr}:root .toolbar--pen-tool-toggle-buttons.toolbar--pen-tool-toggle-buttons>:last-child{direction:rtl}.toolbar-zoomLevelEditor{display:flex;flex-direction:row;align-items:center}.toolbar-zoomLevelEditor .zoomDisplay{flex-grow:1}.toolbar-zoomLevelEditor button{min-width:48px}.selection-format-menu.disabled{opacity:.5}.toolbar-document-properties-widget button.about-button{width:100%;text-align:end}.toolbar-document-properties-widget>*{--align-items-to-x: 120px}.toolbar-document-properties-widget .js-draw-size-input-row.js-draw-size-input-row{display:flex}.toolbar-document-properties-widget .js-draw-size-input-row.js-draw-size-input-row.size-input-row--automatic-size{display:none}.toolbar-thicknessSliderContainer{display:flex;flex-direction:row}.toolbar-thicknessSliderContainer input{flex-grow:1}.toolbar-element .clr-field *{cursor:pointer}.toolbar-element .clr-field button{width:1.2em;height:1.2em;top:50%;left:0;border-radius:50%;margin-left:0;margin-right:0}.toolbar-element .clr-field input{opacity:0}.color-input-container{display:inline-flex;flex-direction:row}.color-input-container .coloris_input{height:calc(100% - 6px)}.color-input-container.picker-open .clr-field{pointer-events:none}:root .color-input-container>button.pipetteButton{width:30px;height:30px;padding:0;display:inline-flex}.color-input-container>.color-input-wrapper{display:flex;justify-content:stretch}.color-input-container .pipetteButton>svg{width:100%}.color-input-container .pipetteButton .pickColorInstructions{display:none;font-size:1em;position:absolute;margin-left:30px;background-color:var(--background-color-1);border-radius:30px;padding:4px;opacity:0;transition:.2s ease opacity}@media(prefers-reduced-motion: reduce){.color-input-container .pipetteButton .pickColorInstructions{transition:none}}.color-input-container .pipetteButton.active{background-color:var(--selection-background-color);--icon-color: var(--selection-foreground-color)}.color-input-container .pipetteButton.active .pickColorInstructions{display:block;opacity:.8}.tool-dropdown-separator{--border-color: rgba(100, 100, 100, 0.2);--border-color: color-mix(in srgb, var(--foreground-color-1), rgba(0, 0, 0, 0) 80%);border-top:1px solid var(--border-color);padding-left:2px;margin-top:10px;margin-bottom:10px}.toolbar-element .toolbar--file-input-container{display:flex}.toolbar-element .toolbar--file-input-container.-loading{opacity:.8}.toolbar-element .toolbar--file-input-container>input.file-input{opacity:0;width:0;min-width:0 !important;max-width:0;height:0;overflow:hidden;padding:0;margin:0}.toolbar-element .toolbar--file-input-container>label{display:block;flex-grow:1;padding:0 !important;padding-bottom:5px;--active-border-color: rgba(100, 100, 100, 0.5);--active-border-color: color-mix(in srgb, var(--foreground-color-1), transparent)}.toolbar-element .toolbar--file-input-container>label .cancel-button{padding-left:3px;padding-right:3px}.toolbar-element .toolbar--file-input-container>label>.toolbar--file-input-description{background-color:var(--background-color-3);color:var(--foreground-color-3);border:1px dashed var(--active-border-color);padding:10px;margin-top:10px;display:flex;flex-direction:column;align-items:center;text-align:center;--action-color: var(--primary-action-foreground-color);--icon-color: var(--action-color)}.toolbar-element .toolbar--file-input-container>label>.toolbar--file-input-description>span{white-space:pre-wrap}.toolbar-element .toolbar--file-input-container>label>.toolbar--file-input-description>span>b{color:var(--action-color);cursor:pointer}.toolbar-element .toolbar--file-input-container>label>.toolbar--file-input-description>.icon{width:min(50vw,42px);height:min(50vw,42px);margin-bottom:8px;display:block}.toolbar-element .toolbar--file-input-container>label:active,.toolbar-element .toolbar--file-input-container>label:hover,.toolbar-element .toolbar--file-input-container>label.drag-target{--active-border-color: var(--foreground-color-1)}.toolbar-element .toolbar--file-input-container>label.drag-target>.toolbar--file-input-description{border-width:2px}.toolbar-grid-selector{position:relative}.toolbar-grid-selector>div{display:flex;flex-direction:row;max-width:350px;flex-wrap:wrap;--button-size: 48px}.toolbar-grid-selector .choice-button{display:flex;flex-direction:column-reverse;box-sizing:border-box;cursor:pointer;flex-shrink:1;margin:2px}.toolbar-grid-selector .choice-button.focus-visible{outline:2px solid var(--foreground-color-1)}.toolbar-grid-selector .choice-button input{opacity:0;height:0}.toolbar-grid-selector .choice-button label{display:flex;flex-direction:column;box-sizing:border-box;width:var(--button-size);height:var(--button-size);font-size:.7rem;align-items:center;justify-content:center;padding:4px;user-select:none;-webkit-user-select:none}.toolbar-grid-selector .choice-button .icon{flex-grow:1;flex-shrink:1;width:100%}.toolbar-grid-selector .choice-button.checked{background-color:var(--selection-background-color);color:var(--selection-foreground-color);--icon-color: var(--selection-foreground-color)}:root .toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.toolbar-snapped-scroll-list{height:min(200px,50vh);position:relative;display:flex;align-items:center}:root .toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.toolbar-snapped-scroll-list>.scroller{display:flex;flex-direction:column;overflow-y:auto;scroll-snap-type:y mandatory;height:100%;width:100%;flex-grow:1}:root .toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.toolbar-snapped-scroll-list>.scroller>.item{height:100%;width:100%;flex-shrink:0;display:flex;justify-content:center;align-items:center;scroll-snap-align:start;scroll-snap-stop:always;box-sizing:border-box}:root .toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.-empty{display:none}:root .toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.toolbar-snapped-scroll-list>.page-markers{overflow:hidden;display:flex;flex-direction:column;align-items:center;max-height:100%;min-height:0}:root .toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.toolbar-snapped-scroll-list>.page-markers.-one-element{visibility:hidden}:root .toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.toolbar-snapped-scroll-list>.page-markers>.marker{padding:2px;opacity:.1;cursor:pointer;left:0;transition:left .2s ease}:root .toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.toolbar-snapped-scroll-list>.page-markers>.marker>.content{background-color:var(--foreground-color-1);border-radius:2px;padding:2px}:root .toolbar-snapped-scroll-list.toolbar-snapped-scroll-list.toolbar-snapped-scroll-list>.page-markers>.marker.-active{position:relative;left:2px;opacity:.2}.toolbar-root{background-color:var(--background-color-1);--icon-color: var(--foreground-color-1);--toolbar-button-height: min(20vh, 60px);flex-wrap:wrap;box-sizing:border-box;width:100%;display:flex;flex-direction:row;justify-content:center}.toolbar-element{z-index:1;font-family:system-ui,-apple-system,sans-serif}.toolbar-element details>summary{cursor:pointer}.toolbar-element>.toolbar-toolContainer>.toolbar-button,.toolbar-element>.toolbar-toolContainer>*>button,.toolbar-element>.toolbar-buttonGroup>button,.toolbar-element>.toolbar-button{white-space:pre;height:var(--toolbar-button-height)}.toolbar-dropdown .toolbar-button>.toolbar-icon{max-width:50px;width:100%}.toolbar-button.disabled{filter:sepia(0.2);opacity:.45;cursor:unset}.toolbar-button,.toolbar-element button{cursor:pointer;text-align:center;border-radius:6px;border:none;box-shadow:0px 0px 2px var(--shadow-color);user-select:none;-webkit-user-select:none;transition:background-color .15s ease,box-shadow .25s ease,opacity .2s ease}.toolbar-button,.toolbar-buttonGroup>button,.toolbar-toolContainer>*>button,.toolbar-root>button{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-left:3px;padding-right:3px;min-width:40px;max-width:105px;width:min-content;font-size:1em}.toolbar-button>label{cursor:inherit;user-select:none;-webkit-user-select:none}.toolbar-root>.toolbar-toolContainer>.toolbar-button>label.long-label{font-size:.75em}.toolbar-dropdown>.toolbar-toolContainer>button,.toolbar-dropdown>.toolbar-toolContainer>.toolbar-button{width:6em}.toolbar-button:not(.disabled):hover,.toolbar-root button:not(:disabled):hover{box-shadow:0px 2px 4px var(--shadow-color)}.toolbar-root button:disabled{cursor:inherit;opacity:.5}.toolbar-root .toolbar-icon{flex-shrink:1;user-select:none;width:100%;min-width:20px;min-height:20px}.toolbar-toolContainer.selected>.toolbar-button{background-color:var(--selection-background-color);color:var(--selection-foreground-color);--icon-color: var(--selection-foreground-color)}.toolbar-toolContainer:not(.selected):not(.dropdownShowable)>.toolbar-button>.toolbar-showHideDropdownIcon{display:none}.toolbar-toolContainer>.toolbar-button>.toolbar-showHideDropdownIcon{height:15px;transition:transform .25s ease}.toolbar-toolContainer.dropdownVisible>.toolbar-button>.toolbar-showHideDropdownIcon{transform:rotate(180deg)}.toolbar-dropdown.hidden,.toolbar-toolContainer:not(.selected):not(.dropdownShowable)>.toolbar-dropdown:not(.hiding){display:none}.toolbar-dropdown{position:absolute;padding:15px;padding-top:5px;display:flex;flex-wrap:wrap;flex-direction:column;max-height:80vh;max-width:fit-content;z-index:2;background-color:var(--background-color-1);box-shadow:0px 3px 3px var(--shadow-color)}@keyframes dropdown-transition-in{0%{opacity:0;transform:scale(1, 0)}100%{opacity:1;transform:scale(1, 1)}}@keyframes dropdown-transition-out{0%{opacity:1;transform:scale(1, 1)}100%{opacity:0;transform:scale(1, 0)}}.toolbar-dropdown{transform-origin:top left;--dropdown-show-animation: dropdown-transition-in;--dropdown-hide-animation: dropdown-transition-out}@media(prefers-reduced-motion: reduce){.toolbar-dropdown{--dropdown-show-animation: none;--dropdown-hide-animation: none}.toolbar-dropdown.hiding{display:none}.toolbar-toolContainer>.toolbar-button>.toolbar-showHideDropdownIcon{transition:none}:root .toolbar-button,.toolbar-root button{transition:none}}.toolbar-buttonGroup{display:flex;flex-direction:row;justify-content:center}.toolbar-element .toolbar--toggle-button{color:var(--foreground-color-1);font-weight:normal}.toolbar-element .toolbar--toggle-button[aria-checked=true]{background:var(--selection-background-color);color:var(--selection-foreground-color)}.toolbar-element .toolbar--toggle-button>.icon{width:25px;height:25px;margin:0 5px}.toolbar-element .toolbar--toggle-button>*{vertical-align:middle}.toolbar-closeColorPickerOverlay{display:none;position:fixed;top:0;left:0;bottom:0;right:0;touch-action:none;background-color:var(--background-color-1);opacity:.3;z-index:2}.toolbar-spacedList>*{padding-bottom:5px;padding-top:5px}.toolbar-indentedList{padding-left:10px}@media print{.toolbar-element{display:none}}@keyframes rehide-label{0%{opacity:.8}80%{opacity:.8}100%{opacity:.1}}@keyframes show-label-delayed{0%{opacity:0}80%{opacity:0}100%{opacity:.8}}@keyframes show-label-now{0%{opacity:0}5%{opacity:0}100%{opacity:.8}}@keyframes keep-label-hidden{0%{opacity:0}100%{opacity:0}}@keyframes toolbar--edgemenu-transition-in{from{transform:translate(0, 100%)}to{transform:translate(0, 0)}}@keyframes toolbar--edgemenu-transition-in-reduce-motion{from{opacity:0}to{opacity:1}}@keyframes toolbar--edgemenu-transition-out{to{transform:translate(0, 100%)}}@keyframes toolbar--edgemenu-transition-out-reduce-motion{from{opacity:1}to{opacity:0}}@keyframes toolbar--edgemenu-container-transition-in{from{overflow-y:hidden}to{overflow-y:hidden}}@keyframes toolbar--edgemenu-container-transition-out{from{overflow-y:hidden}to{overflow-y:hidden}}.toolbar-edge-toolbar{--toolbar-button-height: min(20vh, 48px);--toolbar-button-size: var(--toolbar-button-height);--label-hover-offset-size: calc(14px + var(--toolbar-button-height));box-sizing:border-box;flex-direction:row;justify-content:space-around;--button-label-hover-offset-y: var(--label-hover-offset-size);--button-label-hover-offset-x: 0}@media screen and (min-width: 540px){.toolbar-edge-toolbar{flex-wrap:nowrap}.toolbar-edge-toolbar>.toolbar-action-row{max-width:50vw;flex-grow:0;flex-shrink:0}}@media screen and (max-width: 700px){.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline{font-size:.9em}.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button{width:var(--toolbar-button-size)}.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button label{opacity:0;animation:.2s linear hide-initially}@keyframes hide-initially{from{opacity:0}to{opacity:0}}.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button:not(.no-long-press-or-hover):not(.has-long-press-or-hover):hover:not(:focus-visible)>label,.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button:not(.no-long-press-or-hover):not(.has-long-press-or-hover):active>label{opacity:.8;animation:1s ease show-label-delayed}.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button.has-long-press-or-hover>label{opacity:.8}.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button:focus-visible>label,.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button.focus-visible>label{animation:1.5s ease rehide-label;opacity:0}.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button:has(:focus-visible)>label{animation:1.5s ease rehide-label;opacity:0}.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button>label{opacity:0;position:absolute;margin-top:var(--button-label-hover-offset-y);margin-left:var(--button-label-hover-offset-x);z-index:1;pointer-events:none;background-color:var(--background-color-1);color:var(--foreground-color-1);border-radius:25px;padding:10px;transition:.3s ease opacity,.2s ease margin-top}}@media screen and (max-width: 700px)and (prefers-reduced-motion: reduce){.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button>label{transition:none}}@media screen and (max-width: 700px){.toolbar-edge-toolbar.one-row>*>.toolbar-toolContainer.label-inline>.toolbar-button>.toolbar-icon.toolbar-icon{margin-left:0;margin-right:0}}.toolbar-edge-toolbar>div.toolbar-element{flex-direction:row;display:flex;flex-grow:1;justify-content:center;background-color:var(--background-color-2);color:var(--foreground-color-2);--icon-color: var(--foreground-color-2);--extra-left-right-padding: 0px}.toolbar-edge-toolbar>div.toolbar-element::-webkit-scrollbar{width:3px;height:3px}.toolbar-edge-toolbar>div.toolbar-element::-webkit-scrollbar-thumb{background-color:var(--shadow-color)}.toolbar-edge-toolbar>div.toolbar-element.toolbar-tool-row{overflow-x:auto;overflow-y:hidden;flex-grow:100}.toolbar-edge-toolbar>div.toolbar-element.toolbar-action-row{z-index:2;background-color:var(--background-color-3);color:var(--foreground-color-3);--icon-color: var(--foreground-color-3)}.toolbar-edge-toolbar>div.toolbar-element.has-scroll{justify-content:start;position:relative;--button-label-hover-offset-y: 0;--button-label-hover-offset-x: calc(0px - var(--label-hover-offset-size))}.toolbar-edge-toolbar>div.toolbar-element.has-scroll>:nth-child(1){--button-label-hover-offset-x: var(--label-hover-offset-size)}.toolbar-edge-toolbar .toolbar-toolContainer.selected>.toolbar-button{background-color:var(--selection-background-color);color:var(--selection-foreground-color);--icon-color: var(--selection-foreground-color)}.toolbar-edge-toolbar .toolbar-button{box-sizing:border-box;background-color:rgba(0,0,0,0)}.toolbar-edge-toolbar .toolbar-button .toolbar-showHideDropdownIcon{flex-shrink:.01;height:12px}.toolbar-edge-toolbar .toolbar-toolContainer{order:1}.toolbar-edge-toolbar .toolbar-toolContainer.label-inline{flex-grow:1;display:flex;--button-flex-direction: row}.toolbar-edge-toolbar .toolbar-toolContainer.label-inline.label-left{justify-content:end;--button-flex-direction: row-reverse;order:100}.toolbar-edge-toolbar .toolbar-toolContainer.label-inline.label-left>.toolbar-button>.toolbar-icon{margin-left:7px;margin-right:0}.toolbar-edge-toolbar .toolbar-toolContainer.label-inline.label-right{order:-1}.toolbar-edge-toolbar .toolbar-toolContainer.label-inline>.toolbar-button{width:auto;flex-direction:var(--button-flex-direction)}.toolbar-edge-toolbar .toolbar-toolContainer.label-inline>.toolbar-button>.toolbar-icon{height:100%;margin-right:7px;margin-left:0;width:22px}.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline) .toolbar-button{width:calc(var(--toolbar-button-size) + var(--extra-left-right-padding));height:var(--toolbar-button-size)}.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline) .toolbar-button:not(.no-long-press-or-hover):not(.has-long-press-or-hover):hover:not(:focus-visible)>label,.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline) .toolbar-button:not(.no-long-press-or-hover):not(.has-long-press-or-hover):active>label{opacity:.8;animation:1s ease show-label-delayed}.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline) .toolbar-button.has-long-press-or-hover>label{opacity:.8}.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline) .toolbar-button:focus-visible>label,.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline) .toolbar-button.focus-visible>label{animation:1.5s ease rehide-label;opacity:0}.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline) .toolbar-button:has(:focus-visible)>label{animation:1.5s ease rehide-label;opacity:0}.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline) .toolbar-button>label{opacity:0;position:absolute;margin-top:var(--button-label-hover-offset-y);margin-left:var(--button-label-hover-offset-x);z-index:1;pointer-events:none;background-color:var(--background-color-1);color:var(--foreground-color-1);border-radius:25px;padding:10px;transition:.3s ease opacity,.2s ease margin-top}@media(prefers-reduced-motion: reduce){.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline) .toolbar-button>label{transition:none}}.toolbar-edge-toolbar .toolbar-toolContainer:not(.no-icon):not(.label-inline).dropdownVisible>.toolbar-button>label{opacity:.8;animation:1.5s ease rehide-label .3s,1s ease keep-label-hidden 1.8s infinite}.toolbar-edge-toolbar>div>.toolbar-toolContainer:not(.selected):not(.dropdownShowable)>.toolbar-button>.toolbar-showHideDropdownIcon{display:block;visibility:hidden}.toolbar-edge-toolbar .toolbar-toolContainer>.toolbar-button{margin:0;border-radius:0;padding:8px;box-shadow:none}.toolbar-edge-toolbar .toolbar-toolContainer>.toolbar-button.has-dropdown{padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:0px}.imageEditorContainer.pipette--color-selection-in-progress .toolbar-edgemenu-container{height:0;background-color:rgba(0,0,0,0);opacity:.9}.imageEditorContainer.pipette--color-selection-in-progress .toolbar-edgemenu-container .toolbar-edgemenu{position:absolute}.toolbar-edgemenu-container{background-color:var(--background-color-transparent);transition:.15s ease-in-out height,.15s ease-in-out background-color,.2s ease-in-out opacity;position:absolute;width:var(--editor-current-width-px);height:var(--editor-current-height-px);box-sizing:border-box;display:flex;flex-direction:column-reverse;align-items:center;z-index:2}@media(prefers-reduced-motion: reduce){.toolbar-edgemenu-container{transition:.15s ease-in-out background-color,.2s ease-in-out opacity}}.toolbar-edgemenu-container.dropdown-below-edge{overflow-y:hidden}.toolbar-edgemenu-container button{font-size:1.2em;box-shadow:none;border:none;padding:10px;transition:.2s ease box-shadow;font-weight:bold;color:var(--primary-action-foreground-color)}.toolbar-edgemenu-container button:not(:disabled):hover{box-shadow:0 1px 2px var(--shadow-color)}.toolbar-edgemenu-container button:disabled{opacity:.5;font-weight:unset;cursor:unset;color:var(--foreground-color-1)}.toolbar-edgemenu-container .toolbar-grid-selector .choice-button{--button-label-hover-offset-y: var(--button-size)}.toolbar-edgemenu-container .toolbar-grid-selector .choice-button:not(.no-long-press-or-hover):not(.has-long-press-or-hover):hover:not(:focus-visible)>label>.button-label-text,.toolbar-edgemenu-container .toolbar-grid-selector .choice-button:not(.no-long-press-or-hover):not(.has-long-press-or-hover):active>label>.button-label-text{opacity:.8;animation:1s ease show-label-delayed}.toolbar-edgemenu-container .toolbar-grid-selector .choice-button.has-long-press-or-hover>label>.button-label-text{opacity:.8}.toolbar-edgemenu-container .toolbar-grid-selector .choice-button:focus-visible>label>.button-label-text,.toolbar-edgemenu-container .toolbar-grid-selector .choice-button.focus-visible>label>.button-label-text{animation:1.5s ease rehide-label;opacity:0}.toolbar-edgemenu-container .toolbar-grid-selector .choice-button:has(:focus-visible)>label>.button-label-text{animation:1.5s ease rehide-label;opacity:0}.toolbar-edgemenu-container .toolbar-grid-selector .choice-button>label>.button-label-text{opacity:0;position:absolute;margin-top:var(--button-label-hover-offset-y);margin-left:var(--button-label-hover-offset-x);z-index:1;pointer-events:none;background-color:var(--background-color-1);color:var(--foreground-color-1);border-radius:25px;padding:10px;transition:.3s ease opacity,.2s ease margin-top}@media(prefers-reduced-motion: reduce){.toolbar-edgemenu-container .toolbar-grid-selector .choice-button>label>.button-label-text{transition:none}}.toolbar-edgemenu-container .toolbar-help-overlay-button{align-items:last baseline}.toolbar-edgemenu-container .toolbar-edgemenu{--toolbar-button-height: 48px;touch-action:none;user-select:none;-webkit-user-select:none;background-color:var(--background-color-2);color:var(--foreground-color-2);--icon-color: var(--foreground-color-2);box-shadow:0px 0px 1px var(--shadow-color);padding-left:10px;padding-right:10px;width:min(400px,100vw);box-sizing:border-box;border-top-left-radius:30px;border-top-right-radius:30px;transition:transform .1s ease,padding-bottom .1s ease}.toolbar-edgemenu-container .toolbar-edgemenu input,.toolbar-edgemenu-container .toolbar-edgemenu textarea{user-select:auto;-webkit-user-select:auto}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-toolContainer{display:inline-block}.toolbar-edgemenu-container .toolbar-edgemenu button{background-color:rgba(0,0,0,0)}.toolbar-edgemenu-container .toolbar-edgemenu>button.drag-elem{height:40px;display:block;cursor:ns-resize;position:relative;margin-top:-15px;margin-bottom:10px;width:100%;border:none;box-shadow:none;background:rgba(0,0,0,0)}.toolbar-edgemenu-container .toolbar-edgemenu>button.drag-elem::before{content:"";background-color:var(--icon-color);opacity:.2;display:block;position:relative;top:10px;height:5px;border-radius:5px;width:min(80%,40px);margin-left:auto;margin-right:auto}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-toolContainer{display:block}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-toolContainer .toolbar-button{flex-direction:row;max-width:unset;width:100%;box-sizing:border-box;justify-content:flex-start;box-shadow:none;padding:2px}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-toolContainer .toolbar-button>.toolbar-icon{width:25px;height:25px;padding:13px;margin-right:15px}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-toolContainer .toolbar-button label,.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-toolContainer .toolbar-button>label.long-label{font-size:1em}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-nonbutton-controls-main-list{padding-left:10px;padding-right:10px}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-spacedList{box-sizing:border-box;--align-items-to-x: 105px}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-spacedList>div{display:flex;align-items:center;margin-top:5px;min-height:35px}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-spacedList>div:first-child{margin-top:0}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-spacedList>div>label{padding-right:35px;min-width:var(--align-items-to-x);flex-shrink:1;box-sizing:border-box}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-spacedList>div>input[type=checkbox]{width:20px;height:20px;margin-left:0}.toolbar-edgemenu-container .toolbar-edgemenu .toolbar-spacedList>div>input:not([type=checkbox]){flex-grow:1;min-width:48px;flex-shrink:1}.toolbar-dropdown-toolbar button,.toolbar-dropdown-toolbar .toolbar-button{background-color:var(--background-color-2);color:var(--foreground-color-2);--icon-color: var(--foreground-color-2)}.toolbar-dropdown-toolbar,.toolbar-dropdown-toolbar .toolbar-dropdown{background-color:var(--background-color-3);color:var(--foreground-color-3)}.toolbar-dropdown-toolbar .toolbar-spacedList>div>label{padding-right:10px;min-width:50px}.toolbar-dropdown-toolbar .clr-field button{width:100%;height:100%;top:50%;left:0;border-radius:5px}.toolbar-dropdown-toolbar .toolbar-grid-selector>div{--button-size: 57px}.toolbar-dropdown-toolbar .toolbar-dropdown>div>.toolbar-toolContainer{display:inline-block}.toolbar-help-overlay{width:100%;height:100%;max-width:none;max-height:none;border:none;margin:0;padding:0;z-index:5;touch-action:none;overflow:hidden;color:#fff;--icon-color: white;background-color:rgba(0,0,0,0);display:flex;flex-direction:column;transition:.3s ease transform}.toolbar-help-overlay::backdrop{background-color:rgba(0,0,0,.8);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}.toolbar-help-overlay,.toolbar-help-overlay::backdrop{animation:.25s ease transition-in}@keyframes transition-in{0%{opacity:0}100%{opacity:1}}@keyframes transition-out{0%{opacity:1}100%{opacity:0}}.toolbar-help-overlay.-hiding,.toolbar-help-overlay.-hiding::backdrop{animation:.25s ease transition-out;opacity:0}.toolbar-help-overlay.-dragging{transition:none}@media(prefers-reduced-motion: reduce){.toolbar-help-overlay{transition:none}}@media screen and (min-width: 800px){.toolbar-help-overlay>.navigation-buttons{order:1;margin-top:auto}}.toolbar-help-overlay .with-text-shadow,.toolbar-help-overlay .help-page-container>.label,.toolbar-help-overlay button{text-shadow:0 0 3px rgba(20,20,20,.9);filter:drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.5))}.toolbar-help-overlay button:not(:disabled){cursor:pointer}.toolbar-help-overlay button{background:rgba(0,0,0,0);border:none;color:var(--help-overlay-foreground);border-radius:15px}.toolbar-help-overlay .close-button{align-self:flex-start;width:48px;height:48px;z-index:1}.toolbar-help-overlay .close-button>svg{width:100%}.toolbar-help-overlay .navigation-content{flex-grow:1;display:flex}.toolbar-help-overlay .help-page-container{display:flex;align-items:center;flex-grow:1;touch-action:none}.toolbar-help-overlay .help-page-container>.label{flex-grow:1;text-align:center;font-size:18.5pt;margin-left:15px;margin-right:15px;margin-top:0px;z-index:1;transition:.5s ease margin-top}.toolbar-help-overlay .help-page-container>.label.-large-space-below{margin-top:0;margin-bottom:auto}.toolbar-help-overlay .help-page-container>.label.-small-space-above{margin-top:40px;margin-bottom:auto}.toolbar-help-overlay .help-page-container>.label.-large-space-above{margin-top:auto;margin-bottom:10px}@media(prefers-reduced-motion: reduce){.toolbar-help-overlay .help-page-container>.label{transition:none}}.toolbar-help-overlay .help-page-container>.cloned-element-container{position:absolute;z-index:0;user-select:none;-webkit-user-select:none;border-radius:10px;opacity:.01;background-color:rgba(100,100,100,.01);box-shadow:none;transition:.5s ease opacity,.5s ease background-color}.toolbar-help-overlay .help-page-container>.cloned-element-container *{pointer-events:none !important}.toolbar-help-overlay .help-page-container>.cloned-element-container>*{margin:0;opacity:.01 !important;transition:.3s ease opacity !important}.toolbar-help-overlay .help-page-container>.cloned-element-container:not(.-clickable) *{cursor:unset !important}.toolbar-help-overlay .help-page-container>.cloned-element-container.-clickable,.toolbar-help-overlay .help-page-container>.cloned-element-container.-background{z-index:1;touch-action:none}.toolbar-help-overlay .help-page-container>.cloned-element-container.-clickable{cursor:pointer;z-index:2}.toolbar-help-overlay .help-page-container>.cloned-element-container.-clickable.has-long-press-or-hover{opacity:.5 !important}.toolbar-help-overlay .help-page-container>.cloned-element-container.-clickable.has-long-press-or-hover,.toolbar-help-overlay .help-page-container>.cloned-element-container.-active{background-color:var(--background-color-1)}.toolbar-help-overlay .help-page-container>.cloned-element-container.-active{opacity:1;background-color:var(--background-color-1);box-shadow:0 0 3px rgba(100,100,100,.5)}.toolbar-help-overlay .help-page-container>.cloned-element-container.-active>*{opacity:1 !important}.toolbar-help-overlay .navigation-buttons{display:flex;flex-direction:row;justify-content:space-between;direction:ltr}.toolbar-help-overlay .navigation-buttons>button:disabled{opacity:.5}.toolbar-help-overlay .navigation-buttons>.next,.toolbar-help-overlay .navigation-buttons>.previous{font-size:1em;padding:10px;transition:.2s ease font-size;z-index:3}@media(prefers-reduced-motion: reduce){.toolbar-help-overlay .navigation-buttons>.next,.toolbar-help-overlay .navigation-buttons>.previous{transition:none}}.toolbar-help-overlay .navigation-buttons:not(.-has-previous)>.next:not(:disabled){animation:.5s ease highlight-button .5s}@keyframes highlight-button{0%{transform:scale(1)}50%{transform:scale(1.2)}55%{transform:scale(1.2) rotate(2deg)}65%{transform:scale(1.2) rotate(-2deg)}100%{transform:scale(1)}}@media(prefers-reduced-motion: reduce){.toolbar-help-overlay .navigation-buttons:not(.-has-previous)>.next:not(:disabled){animation:none}}.toolbar-help-overlay .navigation-buttons>.next::after{content:"❯";margin-left:3px}.toolbar-help-overlay .navigation-buttons>.previous::before{content:"❮";margin-right:3px}.toolbar-help-overlay .navigation-buttons.-has-next>.next{font-size:1.4em}.toolbar-help-overlay .navigation-buttons.-has-previous>.previous{font-size:1.4em}.toolbar-help-overlay .navigation-buttons.-highlight-next>.next,.toolbar-help-overlay .navigation-buttons.-highlight-previous>.previous{font-weight:bold;background-color:rgba(200,200,200,.1);font-size:1.4em}.toolbar-help-overlay .navigation-help{margin-top:1em;font-size:.7em}.toolbar-element .toolbar-help-overlay-button{height:0;position:relative;display:flex;justify-content:end}.toolbar-element .toolbar-help-overlay-button>.button{margin:0;padding:5px;padding-top:0;padding-bottom:0;box-shadow:none;text-align:center;opacity:.5}.toolbar-element .toolbar-help-overlay-button>.button>.icon{width:1.18em;height:1.18em;transition:.2s ease filter}.toolbar-element .toolbar-help-overlay-button>.button:focus-visible>.icon,.toolbar-element .toolbar-help-overlay-button>.button:hover>.icon{filter:drop-shadow(0px 0px 1px var(--shadow-color))}.ScrollbarTool-overlay{width:0;height:0;overflow:visible;opacity:.2;pointer-events:none;--fade-out-animation: 1s ease 0s fade-out;--scrollbar-size: 3px}@media(prefers-reduced-motion: reduce){.ScrollbarTool-overlay{--fade-out-animation: none !important}}@keyframes fade-out{from{opacity:.2}to{opacity:0}}.ScrollbarTool-overlay:not(.just-updated){animation:var(--fade-out-animation);opacity:0}.ScrollbarTool-overlay .vertical-scrollbar,.ScrollbarTool-overlay .horizontal-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size);min-width:var(--scrollbar-size);min-height:var(--scrollbar-size);background-color:var(--foreground-color-1);border-radius:var(--scrollbar-size);position:absolute}.ScrollbarTool-overlay .vertical-scrollbar.represents-no-scroll,.ScrollbarTool-overlay .horizontal-scrollbar.represents-no-scroll{animation:var(--fade-out-animation);opacity:0}.ScrollbarTool-overlay:not(.scrollbar-left) .vertical-scrollbar{margin-left:calc(var(--editor-current-display-width-px) - var(--scrollbar-size))}.ScrollbarTool-overlay:not(.scrollbar-top) .horizontal-scrollbar{margin-top:calc(var(--editor-current-display-height-px) - var(--scrollbar-size))}.clipboard-error-dialog details>summary{cursor:pointer}.clipboard-error-dialog details[open]{margin-bottom:12px}.clipboard-error-dialog textarea{width:100%;box-sizing:border-box}.selection-tool-selection-background{background-color:var(--selection-background-color);opacity:.5;overflow:visible}.selection-tool-handle{position:absolute;box-sizing:border-box;display:flex;align-items:center;justify-content:center;--max-size: 17px}.selection-tool-handle .selection-tool-content{border:1px solid var(--foreground-color-1);background:var(--background-color-1);box-sizing:border-box;max-width:var(--max-size);max-height:var(--max-size);width:100%;height:100%;display:flex;justify-content:center;align-items:center;padding:3px}.selection-tool-handle .selection-tool-content .icon{width:100%;height:100%}.selection-tool-handle.selection-tool-circle .selection-tool-content{border-radius:100%}.selection-tool-handle.selection-tool-rotate{--max-size: 28px;cursor:grab}.selection-tool-handle.selection-tool-resize-x{cursor:ew-resize}.selection-tool-handle.selection-tool-resize-y{cursor:ns-resize}.selection-tool-handle.selection-tool-resize-xy{cursor:nwse-resize}.selection-tool-rotated-near-perpendicular .selection-tool-handle.selection-tool-resize-x{cursor:ns-resize}.selection-tool-rotated-near-perpendicular .selection-tool-handle.selection-tool-resize-y{cursor:ew-resize}.selection-tool-rotated-near-perpendicular .selection-tool-handle.selection-tool-resize-xy{cursor:nesw-resize}.selection-tool-selection-menu>button{max-height:var(--vertical-offset);background-color:var(--background-color-1);font-size:14px;color:var(--foreground-color-1);border:.5px solid var(--foreground-color-1);border-radius:3px;padding:3px;opacity:.8;transition:.2s ease opacity}.selection-tool-selection-menu>button:hover,.selection-tool-selection-menu>button:focus-visible{background-color:var(--background-color-2);color:var(--foreground-color-2);cursor:pointer;opacity:1}.overlay.handleOverlay{touch-action:none;direction:ltr}.overlay.handleOverlay,.overlay.handleOverlay .selection-tool-selection-outer-container{height:0;overflow:visible}.overlay.handleOverlay .selection-tool-selection-inner-container{width:var(--editor-current-display-width-px);height:var(--editor-current-display-height-px);overflow:hidden;pointer-events:none}.overlay.handleOverlay .selection-tool-selection-inner-container>*{pointer-events:all}.overlay.handleOverlay .selection-tool-selection-inner-container.-empty{opacity:0}.overlay.handleOverlay .selection-tool-selection-inner-container.-hide-handles .selection-tool-handle{display:none}@keyframes selection-duplicated-animation{0%{scale:1 1}50%{scale:1.02 1.02}100%{scale:1 1}}@media(prefers-reduced-motion: reduce){@keyframes selection-duplicated-animation{}}.find-tool-overlay{order:-1;position:absolute}.js-draw-sound-ui-toggle{width:0px;height:0px;overflow:hidden;user-select:none;-webkit-user-select:none}.js-draw-sound-ui-toggle button{margin-top:1px}.js-draw-sound-ui-toggle:focus-within,.js-draw-sound-ui-toggle.sound-ui-tool-enabled{overflow:visible;z-index:5}.js-draw-sound-ui-toggle:not(:focus-within):not(:hover).sound-ui-tool-enabled{opacity:.5}@keyframes show-popup-menu-animation{from{opacity:0}to{opacity:1}}.editor-popup-menu{width:100%;height:100%;background-color:rgba(0,0,0,0);border:none;animation:var(--hide-menu-animation-timeout) ease show-popup-menu-animation;opacity:1;transition:var(--hide-menu-animation-timeout) ease opacity;overflow:hidden}.editor-popup-menu.-hide{opacity:0}.editor-popup-menu>.content{position:absolute;left:var(--anchor-x);top:var(--anchor-y);display:flex;flex-direction:column;overflow:clip;border-radius:6px;box-shadow:0px 1px 2px var(--shadow-color)}.editor-popup-menu::backdrop{background:rgba(0,0,0,0)}.editor-popup-menu-option{display:flex;justify-content:start;cursor:pointer;padding:5px;padding-top:6px;padding-bottom:6px;background-color:var(--background-color-1);color:var(--foreground-color-1);--icon-color: currentColor;border:none;font-size:1em}.editor-popup-menu-option:hover,.editor-popup-menu-option:focus-visible{background-color:var(--background-color-2);color:var(--foreground-color-2)}.editor-popup-menu-option>:first-child{width:1em;height:1em;flex-shrink:0;margin-inline-start:0em;margin-inline-end:.25em}.about-dialog-content>.scroll{white-space:pre-wrap;font-family:monospace}.about-dialog-content>.scroll>details>summary{cursor:pointer}.about-dialog-content>.scroll>h2,.about-dialog-content>.scroll>details>summary{margin-top:15px;font-size:1.2em;font-weight:bold}.about-dialog-content>.scroll>h2 a,.about-dialog-content>.scroll>details>summary a{color:var(--foreground-color-1);text-decoration:underline}@keyframes fade-in{from{opacity:0}to{opacity:1}}.message-dialog-container dialog{display:flex}.message-dialog-container dialog.-closing{opacity:0}.message-dialog-container dialog.-closing::backdrop{opacity:0}.message-dialog-container dialog,.message-dialog-container dialog::backdrop{transition:opacity .2s ease;animation:fade-in .2s ease}.message-dialog-content{display:flex;flex-direction:column;flex-grow:1}.message-dialog-content>.close{display:block;margin-left:auto;margin-right:auto}.message-dialog-content>.scroll{flex-grow:1;flex-shrink:1;overflow-y:auto;margin-left:20px;margin-right:20px;padding-bottom:20px}.dialog-container>dialog{background-color:var(--background-color-1);color:var(--foreground-color-1);border:none;outline:none;box-shadow:0 0 2px var(--shadow-color);border-radius:8px;max-height:90vh;width:min(100%,500px);box-sizing:border-box}.dialog-container>dialog::backdrop{backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);background-color:var(--background-color-transparent)}#clr-picker{--clr-slider-size: 30px}#clr-picker #clr-color-area,#clr-picker .clr_hue{touch-action:none}#clr-picker .clr-alpha{margin-top:15px;margin-bottom:15px}#clr-picker.clr-picker input[type=range]::-moz-range-thumb{width:var(--clr-slider-size);height:var(--clr-slider-size)}#clr-picker.clr-picker input[type=range]::-webkit-slider-thumb{width:var(--clr-slider-size);height:var(--clr-slider-size)}#clr-picker.clr-picker input[type=range]::-webkit-slider-runnable-track{height:var(--clr-slider-size)}#clr-picker.clr-picker input[type=range]::-moz-range-track{height:var(--clr-slider-size)}.imageEditorContainer{--background-color-1: white;--foreground-color-1: black;--background-color-2: #f5f5f5;--foreground-color-2: #2c303a;--background-color-3: #e5e5e5;--foreground-color-3: #1c202a;--selection-background-color: #cbdaf1;--selection-foreground-color: #2c303a;--background-color-transparent: rgba(105, 100, 100, 0.5);--shadow-color: rgba(0, 0, 0, 0.5);--primary-action-foreground-color: #15b}@media(prefers-color-scheme: dark){.imageEditorContainer{--background-color-1: #151515;--foreground-color-1: white;--background-color-2: #222;--foreground-color-2: #efefef;--background-color-3: #272627;--foreground-color-3: #eee;--selection-background-color: #607;--selection-foreground-color: white;--shadow-color: rgba(250, 250, 250, 0.5);--background-color-transparent: rgba(50, 50, 50, 0.5);--primary-action-foreground-color: #7ae}}.imageEditorContainer{--icon-color: var(--foreground-color-1)}.imageEditorContainer{color:var(--foreground-color-1);font-family:system-ui,-apple-system,sans-serif;background-color:var(--background-color-1);width:100%;height:400px;min-height:220px;min-width:100px;writing-mode:horizontal-tb;box-sizing:border-box;display:flex;flex-direction:column-reverse}.imageEditorContainer input{accent-color:var(--primary-action-foreground-color)}.imageEditorContainer .imageEditorRenderArea{display:grid;grid-template-columns:1fr;flex-grow:2;flex-shrink:1;min-height:100px;min-width:0;width:100%;height:100%}.imageEditorContainer .imageEditorRenderArea canvas{grid-row:1/1;grid-column:1/1;touch-action:none;box-sizing:border-box;width:100%;height:100%;min-width:0;max-width:inherit;min-height:0px;max-height:inherit;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.imageEditorContainer .loadingMessage{position:fixed;text-align:center;font-size:2em;text-shadow:0px 0px 1px var(--background-color-1);bottom:0;left:0;right:0}.imageEditorContainer .accessibilityAnnouncement{opacity:0;width:0;height:0;overflow:hidden;pointer-events:none;user-select:none;-webkit-user-select:none}.imageEditorContainer .textRendererOutputContainer{width:.001px;height:.001px;overflow:hidden;-webkit-user-select:none;user-select:none}.imageEditorContainer .textRendererOutputContainer:focus-within{overflow:visible;z-index:5}.imageEditorContainer .anchored-element-overlay{overflow:visible;height:0}.imageEditorContainer .anchored-element-overlay>.content-wrapper{width:var(--editor-current-display-width-px);height:var(--editor-current-display-height-px);overflow:hidden;position:relative;pointer-events:none}.imageEditorContainer .anchored-element-overlay>.content-wrapper>.content{position:absolute;left:var(--position-x);top:var(--position-y);transform:scale(var(--scale)) rotate(var(--rotation));transform-origin:left top;margin:0;pointer-events:all}@media print{.imageEditorContainer .loadingMessage{display:none}.imageEditorContainer .imageEditorRenderArea canvas{width:100%;height:initial}}',""]);const i=l},935:o=>{o.exports=function(o){var e=[];return e.toString=function(){return this.map((function(e){var r="",t=void 0!==e[5];return e[4]&&(r+="@supports (".concat(e[4],") {")),e[2]&&(r+="@media ".concat(e[2]," {")),t&&(r+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),r+=o(e),t&&(r+="}"),e[2]&&(r+="}"),e[4]&&(r+="}"),r})).join("")},e.i=function(o,r,t,n,a){"string"==typeof o&&(o=[[null,o,void 0]]);var l={};if(t)for(var i=0;i<this.length;i++){var d=this[i][0];null!=d&&(l[d]=!0)}for(var c=0;c<o.length;c++){var s=[].concat(o[c]);t&&l[s[0]]||(void 0!==a&&(void 0===s[5]||(s[1]="@layer".concat(s[5].length>0?" ".concat(s[5]):""," {").concat(s[1],"}")),s[5]=a),r&&(s[2]?(s[1]="@media ".concat(s[2]," {").concat(s[1],"}"),s[2]=r):s[2]=r),n&&(s[4]?(s[1]="@supports (".concat(s[4],") {").concat(s[1],"}"),s[4]=n):s[4]="".concat(n)),e.push(s))}},e}},758:o=>{o.exports=function(o){return o[1]}},591:o=>{var e=[];function r(o){for(var r=-1,t=0;t<e.length;t++)if(e[t].identifier===o){r=t;break}return r}function t(o,t){for(var a={},l=[],i=0;i<o.length;i++){var d=o[i],c=t.base?d[0]+t.base:d[0],s=a[c]||0,p="".concat(c," ").concat(s);a[c]=s+1;var b=r(p),g={css:d[1],media:d[2],sourceMap:d[3],supports:d[4],layer:d[5]};if(-1!==b)e[b].references++,e[b].updater(g);else{var u=n(g,t);t.byIndex=i,e.splice(i,0,{identifier:p,updater:u,references:1})}l.push(p)}return l}function n(o,e){var r=e.domAPI(e);r.update(o);return function(e){if(e){if(e.css===o.css&&e.media===o.media&&e.sourceMap===o.sourceMap&&e.supports===o.supports&&e.layer===o.layer)return;r.update(o=e)}else r.remove()}}o.exports=function(o,n){var a=t(o=o||[],n=n||{});return function(o){o=o||[];for(var l=0;l<a.length;l++){var i=r(a[l]);e[i].references--}for(var d=t(o,n),c=0;c<a.length;c++){var s=r(a[c]);0===e[s].references&&(e[s].updater(),e.splice(s,1))}a=d}}},128:o=>{var e={};o.exports=function(o,r){var t=function(o){if(void 0===e[o]){var r=document.querySelector(o);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(o){r=null}e[o]=r}return e[o]}(o);if(!t)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");t.appendChild(r)}},51:o=>{o.exports=function(o){var e=document.createElement("style");return o.setAttributes(e,o.attributes),o.insert(e,o.options),e}},855:(o,e,r)=>{o.exports=function(o){var e=r.nc;e&&o.setAttribute("nonce",e)}},740:o=>{o.exports=function(o){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var e=o.insertStyleElement(o);return{update:function(r){!function(o,e,r){var t="";r.supports&&(t+="@supports (".concat(r.supports,") {")),r.media&&(t+="@media ".concat(r.media," {"));var n=void 0!==r.layer;n&&(t+="@layer".concat(r.layer.length>0?" ".concat(r.layer):""," {")),t+=r.css,n&&(t+="}"),r.media&&(t+="}"),r.supports&&(t+="}");var a=r.sourceMap;a&&"undefined"!=typeof btoa&&(t+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleTagTransform(t,o,e.options)}(e,o,r)},remove:function(){!function(o){if(null===o.parentNode)return!1;o.parentNode.removeChild(o)}(e)}}}},656:o=>{o.exports=function(o,e){if(e.styleSheet)e.styleSheet.cssText=o;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(o))}}}},e={};function r(t){var n=e[t];if(void 0!==n)return n.exports;var a=e[t]={id:t,exports:{}};return o[t](a,a.exports,r),a.exports}r.n=o=>{var e=o&&o.__esModule?()=>o.default:()=>o;return r.d(e,{a:e}),e},r.d=(o,e)=>{for(var t in e)r.o(e,t)&&!r.o(o,t)&&Object.defineProperty(o,t,{enumerable:!0,get:e[t]})},r.o=(o,e)=>Object.prototype.hasOwnProperty.call(o,e),r.nc=void 0;var t=r(591),n=r.n(t),a=r(740),l=r.n(a),i=r(128),d=r.n(i),c=r(855),s=r.n(c),p=r(51),b=r.n(p),g=r(656),u=r.n(g),h=r(731),m={};m.styleTagTransform=u(),m.setAttributes=s(),m.insert=d().bind(null,"head"),m.domAPI=l(),m.insertStyleElement=b();n()(h.A,m);h.A&&h.A.locals&&h.A.locals;var f=r(724),x={};x.styleTagTransform=u(),x.setAttributes=s(),x.insert=d().bind(null,"head"),x.domAPI=l(),x.insertStyleElement=b();n()(f.A,x);f.A&&f.A.locals&&f.A.locals;window.jsdrawStyles={}})();
         
     | 
    
        package/dist/cjs/Editor.d.ts
    CHANGED
    
    | 
         @@ -5,7 +5,7 @@ import { HTMLPointerEventFilter, InputEvtType, PointerEvtType } from './inputEve 
     | 
|
| 
       5 
5 
     | 
    
         
             
            import Command from './commands/Command';
         
     | 
| 
       6 
6 
     | 
    
         
             
            import UndoRedoHistory from './UndoRedoHistory';
         
     | 
| 
       7 
7 
     | 
    
         
             
            import Viewport from './Viewport';
         
     | 
| 
       8 
     | 
    
         
            -
            import { Point2, Vec2, Color4, Rect2 } from '@js-draw/math';
         
     | 
| 
      
 8 
     | 
    
         
            +
            import { Point2, Vec2, Color4, Mat33, Rect2 } from '@js-draw/math';
         
     | 
| 
       9 
9 
     | 
    
         
             
            import Display, { RenderingMode } from './rendering/Display';
         
     | 
| 
       10 
10 
     | 
    
         
             
            import Pointer from './Pointer';
         
     | 
| 
       11 
11 
     | 
    
         
             
            import { EditorLocalization } from './localization';
         
     | 
| 
         @@ -486,6 +486,12 @@ export declare class Editor { 
     | 
|
| 
       486 
486 
     | 
    
         
             
                createHTMLOverlay(overlay: HTMLElement): {
         
     | 
| 
       487 
487 
     | 
    
         
             
                    remove: () => void;
         
     | 
| 
       488 
488 
     | 
    
         
             
                };
         
     | 
| 
      
 489 
     | 
    
         
            +
                /**
         
     | 
| 
      
 490 
     | 
    
         
            +
                 * Anchors the given `element` to the canvas with a given position/transformation in canvas space.
         
     | 
| 
      
 491 
     | 
    
         
            +
                 */
         
     | 
| 
      
 492 
     | 
    
         
            +
                anchorElementToCanvas(element: HTMLElement, canvasTransform: Mat33 | ReactiveValue<Mat33>): {
         
     | 
| 
      
 493 
     | 
    
         
            +
                    remove: () => void;
         
     | 
| 
      
 494 
     | 
    
         
            +
                };
         
     | 
| 
       489 
495 
     | 
    
         
             
                /**
         
     | 
| 
       490 
496 
     | 
    
         
             
                 * Creates a CSS stylesheet with `content` and applies it to the document
         
     | 
| 
       491 
497 
     | 
    
         
             
                 * (and thus, to this editor).
         
     | 
    
        package/dist/cjs/Editor.js
    CHANGED
    
    | 
         @@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( 
     | 
|
| 
       15 
15 
     | 
    
         
             
            }) : function(o, v) {
         
     | 
| 
       16 
16 
     | 
    
         
             
                o["default"] = v;
         
     | 
| 
       17 
17 
     | 
    
         
             
            });
         
     | 
| 
       18 
     | 
    
         
            -
            var __importStar = (this && this.__importStar) || function ( 
     | 
| 
       19 
     | 
    
         
            -
                 
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
            };
         
     | 
| 
      
 18 
     | 
    
         
            +
            var __importStar = (this && this.__importStar) || (function () {
         
     | 
| 
      
 19 
     | 
    
         
            +
                var ownKeys = function(o) {
         
     | 
| 
      
 20 
     | 
    
         
            +
                    ownKeys = Object.getOwnPropertyNames || function (o) {
         
     | 
| 
      
 21 
     | 
    
         
            +
                        var ar = [];
         
     | 
| 
      
 22 
     | 
    
         
            +
                        for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
         
     | 
| 
      
 23 
     | 
    
         
            +
                        return ar;
         
     | 
| 
      
 24 
     | 
    
         
            +
                    };
         
     | 
| 
      
 25 
     | 
    
         
            +
                    return ownKeys(o);
         
     | 
| 
      
 26 
     | 
    
         
            +
                };
         
     | 
| 
      
 27 
     | 
    
         
            +
                return function (mod) {
         
     | 
| 
      
 28 
     | 
    
         
            +
                    if (mod && mod.__esModule) return mod;
         
     | 
| 
      
 29 
     | 
    
         
            +
                    var result = {};
         
     | 
| 
      
 30 
     | 
    
         
            +
                    if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
         
     | 
| 
      
 31 
     | 
    
         
            +
                    __setModuleDefault(result, mod);
         
     | 
| 
      
 32 
     | 
    
         
            +
                    return result;
         
     | 
| 
      
 33 
     | 
    
         
            +
                };
         
     | 
| 
      
 34 
     | 
    
         
            +
            })();
         
     | 
| 
       25 
35 
     | 
    
         
             
            var __importDefault = (this && this.__importDefault) || function (mod) {
         
     | 
| 
       26 
36 
     | 
    
         
             
                return (mod && mod.__esModule) ? mod : { "default": mod };
         
     | 
| 
       27 
37 
     | 
    
         
             
            };
         
     | 
| 
         @@ -54,7 +64,7 @@ const guessKeyCodeFromKey_1 = __importDefault(require("./util/guessKeyCodeFromKe 
     | 
|
| 
       54 
64 
     | 
    
         
             
            const makeAboutDialog_1 = __importDefault(require("./dialogs/makeAboutDialog"));
         
     | 
| 
       55 
65 
     | 
    
         
             
            const version_1 = __importDefault(require("./version"));
         
     | 
| 
       56 
66 
     | 
    
         
             
            const editorImageToSVG_1 = require("./image/export/editorImageToSVG");
         
     | 
| 
       57 
     | 
    
         
            -
            const ReactiveValue_1 = require("./util/ReactiveValue");
         
     | 
| 
      
 67 
     | 
    
         
            +
            const ReactiveValue_1 = __importStar(require("./util/ReactiveValue"));
         
     | 
| 
       58 
68 
     | 
    
         
             
            const listenForKeyboardEventsFrom_1 = __importDefault(require("./util/listenForKeyboardEventsFrom"));
         
     | 
| 
       59 
69 
     | 
    
         
             
            const mitLicenseAttribution_1 = __importDefault(require("./util/mitLicenseAttribution"));
         
     | 
| 
       60 
70 
     | 
    
         
             
            const ClipboardHandler_1 = __importDefault(require("./util/ClipboardHandler"));
         
     | 
| 
         @@ -502,7 +512,7 @@ class Editor { 
     | 
|
| 
       502 
512 
     | 
    
         
             
                /** @internal */
         
     | 
| 
       503 
513 
     | 
    
         
             
                async handleDrop(evt) {
         
     | 
| 
       504 
514 
     | 
    
         
             
                    evt.preventDefault();
         
     | 
| 
       505 
     | 
    
         
            -
                    this.handlePaste(evt);
         
     | 
| 
      
 515 
     | 
    
         
            +
                    await this.handlePaste(evt);
         
     | 
| 
       506 
516 
     | 
    
         
             
                }
         
     | 
| 
       507 
517 
     | 
    
         
             
                /** @internal */
         
     | 
| 
       508 
518 
     | 
    
         
             
                async handlePaste(evt) {
         
     | 
| 
         @@ -913,6 +923,58 @@ class Editor { 
     | 
|
| 
       913 
923 
     | 
    
         
             
                        remove: () => overlay.remove(),
         
     | 
| 
       914 
924 
     | 
    
         
             
                    };
         
     | 
| 
       915 
925 
     | 
    
         
             
                }
         
     | 
| 
      
 926 
     | 
    
         
            +
                /**
         
     | 
| 
      
 927 
     | 
    
         
            +
                 * Anchors the given `element` to the canvas with a given position/transformation in canvas space.
         
     | 
| 
      
 928 
     | 
    
         
            +
                 */
         
     | 
| 
      
 929 
     | 
    
         
            +
                anchorElementToCanvas(element, canvasTransform) {
         
     | 
| 
      
 930 
     | 
    
         
            +
                    if (canvasTransform instanceof math_1.Mat33) {
         
     | 
| 
      
 931 
     | 
    
         
            +
                        canvasTransform = ReactiveValue_1.default.fromImmutable(canvasTransform);
         
     | 
| 
      
 932 
     | 
    
         
            +
                    }
         
     | 
| 
      
 933 
     | 
    
         
            +
                    // The element hierarchy looks like this:
         
     | 
| 
      
 934 
     | 
    
         
            +
                    //   overlay > contentWrapper > content
         
     | 
| 
      
 935 
     | 
    
         
            +
                    //
         
     | 
| 
      
 936 
     | 
    
         
            +
                    // Both contentWrapper and overlay are present to:
         
     | 
| 
      
 937 
     | 
    
         
            +
                    // 1. overlay: Positions the content at the top left of the viewport. The overlay
         
     | 
| 
      
 938 
     | 
    
         
            +
                    //    has `height: 0` to allow other overlays to also be aligned with the viewport's
         
     | 
| 
      
 939 
     | 
    
         
            +
                    //    top left.
         
     | 
| 
      
 940 
     | 
    
         
            +
                    // 2. contentWrapper: Has the same width/height as the editor's visible region and
         
     | 
| 
      
 941 
     | 
    
         
            +
                    //    has `overflow: hidden`. This prevents the anchored element from being visible
         
     | 
| 
      
 942 
     | 
    
         
            +
                    //    when not in the visible region of the canvas.
         
     | 
| 
      
 943 
     | 
    
         
            +
                    const overlay = document.createElement('div');
         
     | 
| 
      
 944 
     | 
    
         
            +
                    overlay.classList.add('anchored-element-overlay');
         
     | 
| 
      
 945 
     | 
    
         
            +
                    const contentWrapper = document.createElement('div');
         
     | 
| 
      
 946 
     | 
    
         
            +
                    contentWrapper.classList.add('content-wrapper');
         
     | 
| 
      
 947 
     | 
    
         
            +
                    element.classList.add('content');
         
     | 
| 
      
 948 
     | 
    
         
            +
                    // Updates CSS variables that specify the position/rotation/scale of the content.
         
     | 
| 
      
 949 
     | 
    
         
            +
                    const updateElementPositioning = () => {
         
     | 
| 
      
 950 
     | 
    
         
            +
                        const transform = canvasTransform.get();
         
     | 
| 
      
 951 
     | 
    
         
            +
                        const canvasRotation = transform.transformVec3(math_1.Vec2.unitX).angle();
         
     | 
| 
      
 952 
     | 
    
         
            +
                        const screenRotation = canvasRotation + this.viewport.getRotationAngle();
         
     | 
| 
      
 953 
     | 
    
         
            +
                        const screenTransform = this.viewport.canvasToScreenTransform.rightMul(canvasTransform.get());
         
     | 
| 
      
 954 
     | 
    
         
            +
                        overlay.style.setProperty('--full-transform', screenTransform.toCSSMatrix());
         
     | 
| 
      
 955 
     | 
    
         
            +
                        const translation = screenTransform.transformVec2(math_1.Vec2.zero);
         
     | 
| 
      
 956 
     | 
    
         
            +
                        overlay.style.setProperty('--position-x', `${translation.x}px`);
         
     | 
| 
      
 957 
     | 
    
         
            +
                        overlay.style.setProperty('--position-y', `${translation.y}px`);
         
     | 
| 
      
 958 
     | 
    
         
            +
                        overlay.style.setProperty('--rotation', `${(screenRotation * 180) / Math.PI}deg`);
         
     | 
| 
      
 959 
     | 
    
         
            +
                        overlay.style.setProperty('--scale', `${screenTransform.getScaleFactor()}`);
         
     | 
| 
      
 960 
     | 
    
         
            +
                    };
         
     | 
| 
      
 961 
     | 
    
         
            +
                    updateElementPositioning();
         
     | 
| 
      
 962 
     | 
    
         
            +
                    // The anchored element needs to be updated both when the user moves the canvas
         
     | 
| 
      
 963 
     | 
    
         
            +
                    // and when the anchored element's transform changes.
         
     | 
| 
      
 964 
     | 
    
         
            +
                    const updateListener = canvasTransform.onUpdate(updateElementPositioning);
         
     | 
| 
      
 965 
     | 
    
         
            +
                    const viewportListener = this.notifier.on(types_1.EditorEventType.ViewportChanged, updateElementPositioning);
         
     | 
| 
      
 966 
     | 
    
         
            +
                    contentWrapper.appendChild(element);
         
     | 
| 
      
 967 
     | 
    
         
            +
                    overlay.appendChild(contentWrapper);
         
     | 
| 
      
 968 
     | 
    
         
            +
                    overlay.classList.add('overlay', 'js-draw-editor-overlay');
         
     | 
| 
      
 969 
     | 
    
         
            +
                    this.renderingRegion.insertAdjacentElement('afterend', overlay);
         
     | 
| 
      
 970 
     | 
    
         
            +
                    return {
         
     | 
| 
      
 971 
     | 
    
         
            +
                        remove: () => {
         
     | 
| 
      
 972 
     | 
    
         
            +
                            overlay.remove();
         
     | 
| 
      
 973 
     | 
    
         
            +
                            updateListener.remove();
         
     | 
| 
      
 974 
     | 
    
         
            +
                            viewportListener.remove();
         
     | 
| 
      
 975 
     | 
    
         
            +
                        },
         
     | 
| 
      
 976 
     | 
    
         
            +
                    };
         
     | 
| 
      
 977 
     | 
    
         
            +
                }
         
     | 
| 
       916 
978 
     | 
    
         
             
                /**
         
     | 
| 
       917 
979 
     | 
    
         
             
                 * Creates a CSS stylesheet with `content` and applies it to the document
         
     | 
| 
       918 
980 
     | 
    
         
             
                 * (and thus, to this editor).
         
     | 
| 
         @@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( 
     | 
|
| 
       15 
15 
     | 
    
         
             
            }) : function(o, v) {
         
     | 
| 
       16 
16 
     | 
    
         
             
                o["default"] = v;
         
     | 
| 
       17 
17 
     | 
    
         
             
            });
         
     | 
| 
       18 
     | 
    
         
            -
            var __importStar = (this && this.__importStar) || function ( 
     | 
| 
       19 
     | 
    
         
            -
                 
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
            };
         
     | 
| 
      
 18 
     | 
    
         
            +
            var __importStar = (this && this.__importStar) || (function () {
         
     | 
| 
      
 19 
     | 
    
         
            +
                var ownKeys = function(o) {
         
     | 
| 
      
 20 
     | 
    
         
            +
                    ownKeys = Object.getOwnPropertyNames || function (o) {
         
     | 
| 
      
 21 
     | 
    
         
            +
                        var ar = [];
         
     | 
| 
      
 22 
     | 
    
         
            +
                        for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
         
     | 
| 
      
 23 
     | 
    
         
            +
                        return ar;
         
     | 
| 
      
 24 
     | 
    
         
            +
                    };
         
     | 
| 
      
 25 
     | 
    
         
            +
                    return ownKeys(o);
         
     | 
| 
      
 26 
     | 
    
         
            +
                };
         
     | 
| 
      
 27 
     | 
    
         
            +
                return function (mod) {
         
     | 
| 
      
 28 
     | 
    
         
            +
                    if (mod && mod.__esModule) return mod;
         
     | 
| 
      
 29 
     | 
    
         
            +
                    var result = {};
         
     | 
| 
      
 30 
     | 
    
         
            +
                    if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
         
     | 
| 
      
 31 
     | 
    
         
            +
                    __setModuleDefault(result, mod);
         
     | 
| 
      
 32 
     | 
    
         
            +
                    return result;
         
     | 
| 
      
 33 
     | 
    
         
            +
                };
         
     | 
| 
      
 34 
     | 
    
         
            +
            })();
         
     | 
| 
       25 
35 
     | 
    
         
             
            var __importDefault = (this && this.__importDefault) || function (mod) {
         
     | 
| 
       26 
36 
     | 
    
         
             
                return (mod && mod.__esModule) ? mod : { "default": mod };
         
     | 
| 
       27 
37 
     | 
    
         
             
            };
         
     | 
    
        package/dist/cjs/Viewport.d.ts
    CHANGED
    
    | 
         @@ -9,7 +9,9 @@ type TransformChangeCallback = (oldTransform: Mat33, newTransform: Mat33) => voi 
     | 
|
| 
       9 
9 
     | 
    
         
             
            export declare class Viewport {
         
     | 
| 
       10 
10 
     | 
    
         
             
                private onTransformChangeCallback;
         
     | 
| 
       11 
11 
     | 
    
         
             
                private static ViewportTransform;
         
     | 
| 
      
 12 
     | 
    
         
            +
                /** Converts from canvas to screen coordinates */
         
     | 
| 
       12 
13 
     | 
    
         
             
                private transform;
         
     | 
| 
      
 14 
     | 
    
         
            +
                /** Converts from screen to canvas coordinates */
         
     | 
| 
       13 
15 
     | 
    
         
             
                private inverseTransform;
         
     | 
| 
       14 
16 
     | 
    
         
             
                private screenRect;
         
     | 
| 
       15 
17 
     | 
    
         
             
                constructor(onTransformChangeCallback: TransformChangeCallback);
         
     | 
    
        package/dist/cjs/Viewport.js
    CHANGED
    
    | 
         @@ -134,7 +134,6 @@ class Viewport { 
     | 
|
| 
       134 
134 
     | 
    
         
             
                }
         
     | 
| 
       135 
135 
     | 
    
         
             
                // The separate function type definition seems necessary here.
         
     | 
| 
       136 
136 
     | 
    
         
             
                // See https://stackoverflow.com/a/58163623/17055750.
         
     | 
| 
       137 
     | 
    
         
            -
                // eslint-disable-next-line no-dupe-class-members
         
     | 
| 
       138 
137 
     | 
    
         
             
                static roundPoint(point, tolerance) {
         
     | 
| 
       139 
138 
     | 
    
         
             
                    const scaleFactor = 10 ** Math.floor(Math.log10(tolerance));
         
     | 
| 
       140 
139 
     | 
    
         
             
                    const roundComponent = (component) => {
         
     | 
| 
         @@ -163,5 +163,5 @@ export default abstract class AbstractComponent { 
     | 
|
| 
       163 
163 
     | 
    
         
             
                    data: string | number | any[] | Record<string, any>;
         
     | 
| 
       164 
164 
     | 
    
         
             
                };
         
     | 
| 
       165 
165 
     | 
    
         
             
                private static isNotDeserializable;
         
     | 
| 
       166 
     | 
    
         
            -
                static deserialize(json:  
     | 
| 
      
 166 
     | 
    
         
            +
                static deserialize(json: any): AbstractComponent;
         
     | 
| 
       167 
167 
     | 
    
         
             
            }
         
     | 
| 
         @@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( 
     | 
|
| 
       15 
15 
     | 
    
         
             
            }) : function(o, v) {
         
     | 
| 
       16 
16 
     | 
    
         
             
                o["default"] = v;
         
     | 
| 
       17 
17 
     | 
    
         
             
            });
         
     | 
| 
       18 
     | 
    
         
            -
            var __importStar = (this && this.__importStar) || function ( 
     | 
| 
       19 
     | 
    
         
            -
                 
     | 
| 
       20 
     | 
    
         
            -
             
     | 
| 
       21 
     | 
    
         
            -
             
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
            };
         
     | 
| 
      
 18 
     | 
    
         
            +
            var __importStar = (this && this.__importStar) || (function () {
         
     | 
| 
      
 19 
     | 
    
         
            +
                var ownKeys = function(o) {
         
     | 
| 
      
 20 
     | 
    
         
            +
                    ownKeys = Object.getOwnPropertyNames || function (o) {
         
     | 
| 
      
 21 
     | 
    
         
            +
                        var ar = [];
         
     | 
| 
      
 22 
     | 
    
         
            +
                        for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
         
     | 
| 
      
 23 
     | 
    
         
            +
                        return ar;
         
     | 
| 
      
 24 
     | 
    
         
            +
                    };
         
     | 
| 
      
 25 
     | 
    
         
            +
                    return ownKeys(o);
         
     | 
| 
      
 26 
     | 
    
         
            +
                };
         
     | 
| 
      
 27 
     | 
    
         
            +
                return function (mod) {
         
     | 
| 
      
 28 
     | 
    
         
            +
                    if (mod && mod.__esModule) return mod;
         
     | 
| 
      
 29 
     | 
    
         
            +
                    var result = {};
         
     | 
| 
      
 30 
     | 
    
         
            +
                    if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
         
     | 
| 
      
 31 
     | 
    
         
            +
                    __setModuleDefault(result, mod);
         
     | 
| 
      
 32 
     | 
    
         
            +
                    return result;
         
     | 
| 
      
 33 
     | 
    
         
            +
                };
         
     | 
| 
      
 34 
     | 
    
         
            +
            })();
         
     | 
| 
       25 
35 
     | 
    
         
             
            var __importDefault = (this && this.__importDefault) || function (mod) {
         
     | 
| 
       26 
36 
     | 
    
         
             
                return (mod && mod.__esModule) ? mod : { "default": mod };
         
     | 
| 
       27 
37 
     | 
    
         
             
            };
         
     | 
| 
         @@ -21,13 +21,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( 
     | 
|
| 
       21 
21 
     | 
    
         
             
            }) : function(o, v) {
         
     | 
| 
       22 
22 
     | 
    
         
             
                o["default"] = v;
         
     | 
| 
       23 
23 
     | 
    
         
             
            });
         
     | 
| 
       24 
     | 
    
         
            -
            var __importStar = (this && this.__importStar) || function ( 
     | 
| 
       25 
     | 
    
         
            -
                 
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
       30 
     | 
    
         
            -
            };
         
     | 
| 
      
 24 
     | 
    
         
            +
            var __importStar = (this && this.__importStar) || (function () {
         
     | 
| 
      
 25 
     | 
    
         
            +
                var ownKeys = function(o) {
         
     | 
| 
      
 26 
     | 
    
         
            +
                    ownKeys = Object.getOwnPropertyNames || function (o) {
         
     | 
| 
      
 27 
     | 
    
         
            +
                        var ar = [];
         
     | 
| 
      
 28 
     | 
    
         
            +
                        for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
         
     | 
| 
      
 29 
     | 
    
         
            +
                        return ar;
         
     | 
| 
      
 30 
     | 
    
         
            +
                    };
         
     | 
| 
      
 31 
     | 
    
         
            +
                    return ownKeys(o);
         
     | 
| 
      
 32 
     | 
    
         
            +
                };
         
     | 
| 
      
 33 
     | 
    
         
            +
                return function (mod) {
         
     | 
| 
      
 34 
     | 
    
         
            +
                    if (mod && mod.__esModule) return mod;
         
     | 
| 
      
 35 
     | 
    
         
            +
                    var result = {};
         
     | 
| 
      
 36 
     | 
    
         
            +
                    if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
         
     | 
| 
      
 37 
     | 
    
         
            +
                    __setModuleDefault(result, mod);
         
     | 
| 
      
 38 
     | 
    
         
            +
                    return result;
         
     | 
| 
      
 39 
     | 
    
         
            +
                };
         
     | 
| 
      
 40 
     | 
    
         
            +
            })();
         
     | 
| 
       31 
41 
     | 
    
         
             
            var __importDefault = (this && this.__importDefault) || function (mod) {
         
     | 
| 
       32 
42 
     | 
    
         
             
                return (mod && mod.__esModule) ? mod : { "default": mod };
         
     | 
| 
       33 
43 
     | 
    
         
             
            };
         
     | 
| 
         @@ -20,13 +20,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( 
     | 
|
| 
       20 
20 
     | 
    
         
             
            }) : function(o, v) {
         
     | 
| 
       21 
21 
     | 
    
         
             
                o["default"] = v;
         
     | 
| 
       22 
22 
     | 
    
         
             
            });
         
     | 
| 
       23 
     | 
    
         
            -
            var __importStar = (this && this.__importStar) || function ( 
     | 
| 
       24 
     | 
    
         
            -
                 
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
             
     | 
| 
       28 
     | 
    
         
            -
             
     | 
| 
       29 
     | 
    
         
            -
            };
         
     | 
| 
      
 23 
     | 
    
         
            +
            var __importStar = (this && this.__importStar) || (function () {
         
     | 
| 
      
 24 
     | 
    
         
            +
                var ownKeys = function(o) {
         
     | 
| 
      
 25 
     | 
    
         
            +
                    ownKeys = Object.getOwnPropertyNames || function (o) {
         
     | 
| 
      
 26 
     | 
    
         
            +
                        var ar = [];
         
     | 
| 
      
 27 
     | 
    
         
            +
                        for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
         
     | 
| 
      
 28 
     | 
    
         
            +
                        return ar;
         
     | 
| 
      
 29 
     | 
    
         
            +
                    };
         
     | 
| 
      
 30 
     | 
    
         
            +
                    return ownKeys(o);
         
     | 
| 
      
 31 
     | 
    
         
            +
                };
         
     | 
| 
      
 32 
     | 
    
         
            +
                return function (mod) {
         
     | 
| 
      
 33 
     | 
    
         
            +
                    if (mod && mod.__esModule) return mod;
         
     | 
| 
      
 34 
     | 
    
         
            +
                    var result = {};
         
     | 
| 
      
 35 
     | 
    
         
            +
                    if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
         
     | 
| 
      
 36 
     | 
    
         
            +
                    __setModuleDefault(result, mod);
         
     | 
| 
      
 37 
     | 
    
         
            +
                    return result;
         
     | 
| 
      
 38 
     | 
    
         
            +
                };
         
     | 
| 
      
 39 
     | 
    
         
            +
            })();
         
     | 
| 
       30 
40 
     | 
    
         
             
            var __importDefault = (this && this.__importDefault) || function (mod) {
         
     | 
| 
       31 
41 
     | 
    
         
             
                return (mod && mod.__esModule) ? mod : { "default": mod };
         
     | 
| 
       32 
42 
     | 
    
         
             
            };
         
     | 
| 
         @@ -18,13 +18,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( 
     | 
|
| 
       18 
18 
     | 
    
         
             
            var __exportStar = (this && this.__exportStar) || function(m, exports) {
         
     | 
| 
       19 
19 
     | 
    
         
             
                for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
         
     | 
| 
       20 
20 
     | 
    
         
             
            };
         
     | 
| 
       21 
     | 
    
         
            -
            var __importStar = (this && this.__importStar) || function ( 
     | 
| 
       22 
     | 
    
         
            -
                 
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
     | 
    
         
            -
             
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
       26 
     | 
    
         
            -
             
     | 
| 
       27 
     | 
    
         
            -
            };
         
     | 
| 
      
 21 
     | 
    
         
            +
            var __importStar = (this && this.__importStar) || (function () {
         
     | 
| 
      
 22 
     | 
    
         
            +
                var ownKeys = function(o) {
         
     | 
| 
      
 23 
     | 
    
         
            +
                    ownKeys = Object.getOwnPropertyNames || function (o) {
         
     | 
| 
      
 24 
     | 
    
         
            +
                        var ar = [];
         
     | 
| 
      
 25 
     | 
    
         
            +
                        for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
         
     | 
| 
      
 26 
     | 
    
         
            +
                        return ar;
         
     | 
| 
      
 27 
     | 
    
         
            +
                    };
         
     | 
| 
      
 28 
     | 
    
         
            +
                    return ownKeys(o);
         
     | 
| 
      
 29 
     | 
    
         
            +
                };
         
     | 
| 
      
 30 
     | 
    
         
            +
                return function (mod) {
         
     | 
| 
      
 31 
     | 
    
         
            +
                    if (mod && mod.__esModule) return mod;
         
     | 
| 
      
 32 
     | 
    
         
            +
                    var result = {};
         
     | 
| 
      
 33 
     | 
    
         
            +
                    if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
         
     | 
| 
      
 34 
     | 
    
         
            +
                    __setModuleDefault(result, mod);
         
     | 
| 
      
 35 
     | 
    
         
            +
                    return result;
         
     | 
| 
      
 36 
     | 
    
         
            +
                };
         
     | 
| 
      
 37 
     | 
    
         
            +
            })();
         
     | 
| 
       28 
38 
     | 
    
         
             
            var __importDefault = (this && this.__importDefault) || function (mod) {
         
     | 
| 
       29 
39 
     | 
    
         
             
                return (mod && mod.__esModule) ? mod : { "default": mod };
         
     | 
| 
       30 
40 
     | 
    
         
             
            };
         
     |