uEdition-Editor 2.0.0b3__py3-none-any.whl → 2.0.0b5__py3-none-any.whl

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.

Potentially problematic release.


This version of uEdition-Editor might be problematic. Click here for more details.

Files changed (24) hide show
  1. uedition_editor/__about__.py +1 -1
  2. uedition_editor/__init__.py +16 -1
  3. uedition_editor/api/branches.py +40 -2
  4. uedition_editor/api/configs.py +14 -3
  5. uedition_editor/api/files.py +158 -85
  6. uedition_editor/api/util.py +34 -10
  7. uedition_editor/cron.py +32 -0
  8. uedition_editor/frontend/dist/assets/{CodeMirrorEditor-BFeD7k_m.js → CodeMirrorEditor-B8N4a0_6.js} +1 -1
  9. uedition_editor/frontend/dist/assets/{FolderEditor-DIEGEh84.js → FolderEditor-zEVI7VnV.js} +1 -1
  10. uedition_editor/frontend/dist/assets/ImageEditor-D2waaDFD.js +1 -0
  11. uedition_editor/frontend/dist/assets/TeiEditor-DaKNV6gH.js +192 -0
  12. uedition_editor/frontend/dist/assets/index-DHdOJOZY.js +17 -0
  13. uedition_editor/frontend/dist/assets/{index-C9d-OSiG.css → index-HmBQiVS_.css} +1 -1
  14. uedition_editor/frontend/dist/index.html +2 -2
  15. uedition_editor/settings.py +31 -7
  16. {uedition_editor-2.0.0b3.dist-info → uedition_editor-2.0.0b5.dist-info}/METADATA +7 -3
  17. uedition_editor-2.0.0b5.dist-info/RECORD +28 -0
  18. uedition_editor/frontend/dist/assets/ImageEditor-BRTKiGoH.js +0 -1
  19. uedition_editor/frontend/dist/assets/TeiEditor-BeHkuEAu.js +0 -192
  20. uedition_editor/frontend/dist/assets/index-BtIoSLIQ.js +0 -16
  21. uedition_editor-2.0.0b3.dist-info/RECORD +0 -27
  22. {uedition_editor-2.0.0b3.dist-info → uedition_editor-2.0.0b5.dist-info}/WHEEL +0 -0
  23. {uedition_editor-2.0.0b3.dist-info → uedition_editor-2.0.0b5.dist-info}/entry_points.txt +0 -0
  24. {uedition_editor-2.0.0b3.dist-info → uedition_editor-2.0.0b5.dist-info}/licenses/LICENSE.txt +0 -0
@@ -1 +1 @@
1
- *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}[data-button]{display:inline-flex;flex-direction:row;align-items:center;justify-content:center}[data-button]>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}[data-button]{border-radius:.25rem;border-width:2px;--tw-border-opacity: 1;border-color:rgb(162 28 175 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.25rem .75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[data-button]:hover{--tw-bg-opacity: 1;background-color:rgb(162 28 175 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}[data-button]:focus{--tw-bg-opacity: 1;background-color:rgb(162 28 175 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}[data-menubar-root]{display:flex;flex-direction:row}[data-menu-trigger]{padding:.25rem .75rem}[data-menu-content]{z-index:50;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}[data-menu-item],[data-menu-radio-item]{display:flex;width:100%;cursor:pointer;align-items:center}[data-menu-item]>:not([hidden])~:not([hidden]),[data-menu-radio-item]>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}[data-menu-item],[data-menu-radio-item]{border-left-width:1px;border-right-width:1px;--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1));padding:.25rem .75rem}[data-menu-item]:last-child,[data-menu-radio-item]:last-child{border-bottom-width:1px}[data-menu-item][aria-selected=true],[data-menu-radio-item][aria-selected=true]{font-weight:700}[data-menu-item][data-highlighted],[data-menu-radio-item][data-highlighted]{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}[data-menu-separator]{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}[data-toolbar-root]{display:flex;flex-direction:row;padding:.25rem .5rem}[data-toolbar-button]{border-radius:.25rem;border-width:2px;border-color:transparent;padding:.25rem;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}[data-toolbar-button]:hover{--tw-border-opacity: 1;border-color:rgb(162 28 175 / var(--tw-border-opacity, 1))}[data-toolbar-button]:focus{--tw-border-opacity: 1;border-color:rgb(162 28 175 / var(--tw-border-opacity, 1))}[data-toolbar-button][aria-disabled=true]{cursor:not-allowed;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}[data-toolbar-button][aria-disabled=true]:hover{border-color:transparent}[data-toolbar-button][aria-disabled=true]:focus{border-color:transparent}[data-toolbar-button][aria-pressed=true]{--tw-bg-opacity: 1;background-color:rgb(240 171 252 / var(--tw-bg-opacity, 1))}[data-dialog-overlay]{position:fixed;left:0;top:0;z-index:1000;height:100vh;width:100vw;background-color:#0009}[data-dialog-content]{position:fixed;left:50%;top:50%;z-index:1001;max-height:24rem;width:33.333333%;--tw-translate-x: -50%;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));overflow:hidden;border-radius:.25rem .25rem .5rem .5rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-shadow-color: #171717;--tw-shadow: var(--tw-shadow-colored)}[data-dialog-title]{--tw-bg-opacity: 1;background-color:rgb(134 25 143 / var(--tw-bg-opacity, 1));padding:.5rem .75rem;font-weight:700;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}[data-dialog-content-area]{flex:1 1 0%;overflow:auto;padding:.5rem .75rem}[data-dialog-buttons]{margin-top:1rem;display:flex;flex-direction:row;justify-content:flex-end}[data-dialog-buttons]>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}[data-dialog-buttons]{border-top-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));padding-top:1rem;padding-bottom:.5rem}[data-dialog-role=error] [data-dialog-title]{--tw-bg-opacity: 1;background-color:rgb(190 18 60 / var(--tw-bg-opacity, 1))}[data-melt-tree-view-group]{padding-left:1rem}[data-melt-tree-view-item]{border-left-width:4px;border-color:transparent;background-color:transparent;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[data-melt-tree-view-item][aria-selected=true]{--tw-border-opacity: 1;border-color:rgb(134 25 143 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}[data-tabs-list]{display:flex;flex-direction:row}[data-tabs-list]>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}[data-tabs-list]{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));padding-left:.5rem;padding-right:.5rem;padding-top:1px}[data-tabs-trigger]{display:block;border-top-width:4px;border-color:transparent;background-color:transparent;padding:.25rem .75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[data-tabs-trigger][data-state=active]{--tw-border-opacity: 1;border-color:rgb(134 25 143 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}[data-form-field-label]{display:block;padding-left:.75rem;font-size:.875rem;line-height:1.25rem}[data-form-field-error]{display:block;padding-left:.75rem;padding-top:.25rem;font-size:.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity: 1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}[data-form-field-text]{display:block;width:100%;border-radius:.25rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1));padding:.5rem .75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[data-form-field-text]:focus{--tw-border-opacity: 1;border-color:rgb(162 28 175 / var(--tw-border-opacity, 1))}[data-combobox-input]{display:block;border-radius:.25rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1));padding:.5rem .75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[data-combobox-input]:focus{--tw-border-opacity: 1;border-color:rgb(162 28 175 / var(--tw-border-opacity, 1))}[data-combobox-input][aria-expanded=true]+div svg.combobox-expand{display:none}[data-combobox-input][aria-expanded=true]+div svg.combobox-collapse{display:block}[data-combobox-input][aria-expanded=false]+div svg.combobox-expand{display:block}[data-combobox-input][aria-expanded=false]+div svg.combobox-collapse{display:none}[data-combobox-content]{z-index:50;max-height:50vh;overflow-y:auto;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}[data-combobox-item]{width:100%;cursor:pointer;border-left-width:1px;border-right-width:1px;--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1));padding:.25rem .75rem}[data-combobox-item]:last-child{border-bottom-width:1px}[data-combobox-item][aria-selected=true]{font-weight:700}[data-combobox-item][data-highlighted]{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}[data-combobox-indicator]{height:100%;width:1px;border-left-width:4px;--tw-border-opacity: 1;border-left-color:rgb(162 28 175 / var(--tw-border-opacity, 1))}[class~=codemirror-wrapper],[class~=cm-editor]{height:100%;width:100%;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.absolute{position:absolute}.relative{position:relative}.left-1\/2{left:50%}.right-0{right:0}.top-1\/2{top:50%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.h-12{height:3rem}.h-20{height:5rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-full{height:100%}.h-screen{height:100vh}.w-1\/4{width:25%}.w-12{width:3rem}.w-3\/12{width:25%}.w-4{width:1rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-full{width:100%}.w-screen{width:100vw}.flex-1{flex:1 1 0%}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:.25rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-fuchsia-700{--tw-border-opacity: 1;border-color:rgb(162 28 175 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-rose-700{--tw-border-opacity: 1;border-color:rgb(190 18 60 / var(--tw-border-opacity, 1))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.bg-rose-700{--tw-bg-opacity: 1;background-color:rgb(190 18 60 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.fill-current{fill:currentColor}.p-1{padding:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pr-6{padding-right:1.5rem}.pt-px{padding-top:1px}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.text-fuchsia-700{--tw-text-opacity: 1;color:rgb(162 28 175 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-lime-500{--tw-text-opacity: 1;color:rgb(132 204 22 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-rose-700{--tw-text-opacity: 1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.last\:border-b:last-child{border-bottom-width:1px}.hover\:bg-rose-700:hover{--tw-bg-opacity: 1;background-color:rgb(190 18 60 / var(--tw-bg-opacity, 1))}.focus\:bg-rose-700:focus{--tw-bg-opacity: 1;background-color:rgb(190 18 60 / var(--tw-bg-opacity, 1))}
1
+ *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}[data-button]{display:inline-flex;flex-direction:row;align-items:center;justify-content:center}[data-button]>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}[data-button]{border-radius:.25rem;border-width:2px;--tw-border-opacity: 1;border-color:rgb(162 28 175 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.25rem .75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[data-button]:hover{--tw-bg-opacity: 1;background-color:rgb(162 28 175 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}[data-button]:focus{--tw-bg-opacity: 1;background-color:rgb(162 28 175 / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}[data-menubar-root]{display:flex;flex-direction:row}[data-menu-trigger]{padding:.25rem .75rem}[data-menu-content]{z-index:50;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}[data-menu-item],[data-menu-radio-item]{display:flex;width:100%;cursor:pointer;align-items:center}[data-menu-item]>:not([hidden])~:not([hidden]),[data-menu-radio-item]>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}[data-menu-item],[data-menu-radio-item]{border-left-width:1px;border-right-width:1px;--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1));padding:.25rem .75rem}[data-menu-item]:last-child,[data-menu-radio-item]:last-child{border-bottom-width:1px}[data-menu-item][aria-selected=true],[data-menu-radio-item][aria-selected=true]{font-weight:700}[data-menu-item][data-highlighted],[data-menu-radio-item][data-highlighted]{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}[data-menu-separator]{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}[data-toolbar-root]{display:flex;flex-direction:row;padding:.25rem .5rem}[data-toolbar-button]{border-radius:.25rem;border-width:2px;border-color:transparent;padding:.25rem;--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}[data-toolbar-button]:hover{--tw-border-opacity: 1;border-color:rgb(162 28 175 / var(--tw-border-opacity, 1))}[data-toolbar-button]:focus{--tw-border-opacity: 1;border-color:rgb(162 28 175 / var(--tw-border-opacity, 1))}[data-toolbar-button][aria-disabled=true]{cursor:not-allowed;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}[data-toolbar-button][aria-disabled=true]:hover{border-color:transparent}[data-toolbar-button][aria-disabled=true]:focus{border-color:transparent}[data-toolbar-button][aria-pressed=true]{--tw-bg-opacity: 1;background-color:rgb(240 171 252 / var(--tw-bg-opacity, 1))}[data-dialog-overlay]{position:fixed;left:0;top:0;z-index:1000;height:100vh;width:100vw;background-color:#0009}[data-dialog-content]{position:fixed;left:50%;top:50%;z-index:1001;max-height:24rem;width:33.333333%;--tw-translate-x: -50%;--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));overflow:hidden;border-radius:.25rem .25rem .5rem .5rem;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);--tw-shadow-color: #171717;--tw-shadow: var(--tw-shadow-colored)}[data-dialog-title]{--tw-bg-opacity: 1;background-color:rgb(134 25 143 / var(--tw-bg-opacity, 1));padding:.5rem .75rem;font-weight:700;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}[data-dialog-content-area]{flex:1 1 0%;overflow:auto;padding:.5rem .75rem}[data-dialog-buttons]{margin-top:1rem;display:flex;flex-direction:row;justify-content:flex-end}[data-dialog-buttons]>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}[data-dialog-buttons]{border-top-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));padding-top:1rem;padding-bottom:.5rem}[data-dialog-role=error] [data-dialog-title]{--tw-bg-opacity: 1;background-color:rgb(190 18 60 / var(--tw-bg-opacity, 1))}[data-melt-tree-view-group]{padding-left:1rem}[data-melt-tree-view-item]{border-left-width:4px;border-color:transparent;background-color:transparent;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[data-melt-tree-view-item][aria-selected=true]{--tw-border-opacity: 1;border-color:rgb(134 25 143 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}[data-tabs-list]{display:flex;flex-direction:row}[data-tabs-list]>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}[data-tabs-list]{border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));padding-left:.5rem;padding-right:.5rem;padding-top:1px}[data-tabs-trigger]{display:block;border-top-width:4px;border-color:transparent;background-color:transparent;padding:.25rem .75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[data-tabs-trigger][data-state=active]{--tw-border-opacity: 1;border-color:rgb(134 25 143 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}[data-form-field-label]{display:block;padding-left:.75rem;font-size:.875rem;line-height:1.25rem}[data-form-field-error]{display:block;padding-left:.75rem;padding-top:.25rem;font-size:.875rem;line-height:1.25rem;font-weight:700;--tw-text-opacity: 1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}[data-form-field-text]{display:block;width:100%;border-radius:.25rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1));padding:.5rem .75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[data-form-field-text]:focus{--tw-border-opacity: 1;border-color:rgb(162 28 175 / var(--tw-border-opacity, 1))}[data-combobox-input]{display:block;border-radius:.25rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1));padding:.5rem .75rem;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[data-combobox-input]:focus{--tw-border-opacity: 1;border-color:rgb(162 28 175 / var(--tw-border-opacity, 1))}[data-combobox-input][aria-expanded=true]+div svg.combobox-expand{display:none}[data-combobox-input][aria-expanded=true]+div svg.combobox-collapse{display:block}[data-combobox-input][aria-expanded=false]+div svg.combobox-expand{display:block}[data-combobox-input][aria-expanded=false]+div svg.combobox-collapse{display:none}[data-combobox-content]{z-index:50;max-height:50vh;overflow-y:auto;--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}[data-combobox-item]{width:100%;cursor:pointer;border-left-width:1px;border-right-width:1px;--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1));padding:.25rem .75rem}[data-combobox-item]:last-child{border-bottom-width:1px}[data-combobox-item][aria-selected=true]{font-weight:700}[data-combobox-item][data-highlighted]{--tw-bg-opacity: 1;background-color:rgb(209 213 219 / var(--tw-bg-opacity, 1))}[data-combobox-indicator]{height:100%;width:1px;border-left-width:4px;--tw-border-opacity: 1;border-left-color:rgb(162 28 175 / var(--tw-border-opacity, 1))}[class~=codemirror-wrapper],[class~=cm-editor]{height:100%;width:100%;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.absolute{position:absolute}.relative{position:relative}.left-1\/2{left:50%}.right-0{right:0}.top-1\/2{top:50%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.h-12{height:3rem}.h-20{height:5rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-full{height:100%}.h-screen{height:100vh}.w-1\/4{width:25%}.w-12{width:3rem}.w-3\/12{width:25%}.w-4{width:1rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-full{width:100%}.w-screen{width:100vw}.flex-1{flex:1 1 0%}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:.25rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-fuchsia-700{--tw-border-opacity: 1;border-color:rgb(162 28 175 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-rose-700{--tw-border-opacity: 1;border-color:rgb(190 18 60 / var(--tw-border-opacity, 1))}.border-slate-300{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.bg-rose-700{--tw-bg-opacity: 1;background-color:rgb(190 18 60 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.fill-current{fill:currentColor}.p-1{padding:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pr-6{padding-right:1.5rem}.pt-px{padding-top:1px}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.text-fuchsia-700{--tw-text-opacity: 1;color:rgb(162 28 175 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-lime-500{--tw-text-opacity: 1;color:rgb(132 204 22 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-rose-700{--tw-text-opacity: 1;color:rgb(190 18 60 / var(--tw-text-opacity, 1))}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.animate-reverse{animation-direction:reverse}.last\:border-b:last-child{border-bottom-width:1px}.hover\:bg-rose-700:hover{--tw-bg-opacity: 1;background-color:rgb(190 18 60 / var(--tw-bg-opacity, 1))}.focus\:bg-rose-700:focus{--tw-bg-opacity: 1;background-color:rgb(190 18 60 / var(--tw-bg-opacity, 1))}
@@ -6,8 +6,8 @@
6
6
  <link rel="icon" type="image/svg+xml" href="/app/ueditor.svg" />
7
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
8
  <title>μEditor loading. Please wait...</title>
9
- <script type="module" crossorigin src="/app/assets/index-BtIoSLIQ.js"></script>
10
- <link rel="stylesheet" crossorigin href="/app/assets/index-C9d-OSiG.css">
9
+ <script type="module" crossorigin src="/app/assets/index-DHdOJOZY.js"></script>
10
+ <link rel="stylesheet" crossorigin href="/app/assets/index-HmBQiVS_.css">
11
11
  </head>
12
12
 
13
13
  <body>
@@ -7,6 +7,7 @@ import os
7
7
  from secrets import token_hex
8
8
  from typing import Any, Dict, Literal, Optional, Tuple, Type
9
9
 
10
+ import yaml_include
10
11
  from pydantic import BaseModel, EmailStr, model_validator
11
12
  from pydantic.fields import FieldInfo
12
13
  from pydantic_settings import (
@@ -18,7 +19,7 @@ from pygit2 import GitError, Repository
18
19
  from pygit2.enums import RepositoryOpenFlag
19
20
  from typing_extensions import Self
20
21
  from uedition.settings import Settings as UEditonSettingsBase
21
- from yaml import safe_load
22
+ from yaml import SafeLoader, add_constructor, load
22
23
 
23
24
 
24
25
  class NoAuth(BaseModel):
@@ -108,6 +109,8 @@ class InitSettings(BaseSettings):
108
109
 
109
110
  init_settings = InitSettings()
110
111
 
112
+ add_constructor("!include", yaml_include.Constructor(base_dir=init_settings.base_path), SafeLoader)
113
+
111
114
 
112
115
  class YAMLConfigSettingsSource(PydanticBaseSettingsSource):
113
116
  """Loads the configuration settings from a YAML file."""
@@ -120,7 +123,7 @@ class YAMLConfigSettingsSource(PydanticBaseSettingsSource):
120
123
  for filename in source_files:
121
124
  if os.path.exists(os.path.join(init_settings.base_path, filename)):
122
125
  with open(os.path.join(init_settings.base_path, filename), encoding=encoding) as in_f:
123
- self._file_content = safe_load(in_f)
126
+ self._file_content = load(in_f, SafeLoader)
124
127
  break
125
128
 
126
129
  def get_field_value(
@@ -174,7 +177,9 @@ class TEINodeAttribute(BaseModel):
174
177
  """The name of the attribute."""
175
178
  value: str | None = None
176
179
  """A fixed value to use for the attribute."""
177
- type: Literal["string"] | Literal["static"] | Literal["id-ref"] | Literal["text"] = "string"
180
+ type: Literal["string"] | Literal["static"] | Literal["id-ref"] | Literal["text"] | Literal["html-attribute"] = (
181
+ "string"
182
+ )
178
183
  """The type of attribute this is."""
179
184
  default: str = ""
180
185
  """The default value to use if none is set."""
@@ -341,6 +346,21 @@ class TEIInputMarkAttribute(BaseModel):
341
346
  """The label for the entry."""
342
347
 
343
348
 
349
+ class TEISelectMarkAttribute(BaseModel):
350
+ """A TEI form element to select a mark attribute."""
351
+
352
+ type: Literal["select-mark-attribute"]
353
+ """The form element type."""
354
+ mark: str
355
+ """The mark to apply the attribute to."""
356
+ name: str
357
+ """The name of the attribute."""
358
+ title: str
359
+ """The label for the entry."""
360
+ values: list
361
+ """The available selection values."""
362
+
363
+
344
364
  class TEIInputBlockAttribute(BaseModel):
345
365
  """A TEI form element to input a block attribute value."""
346
366
 
@@ -362,7 +382,11 @@ class TEITextFormBlock(BaseModel):
362
382
  type: Literal["form"]
363
383
  """The type is set to form."""
364
384
  items: list[
365
- TEISelectBlockAttribute | TEISelectCrossReferenceMarkAttribute | TEIInputMarkAttribute | TEIInputBlockAttribute
385
+ TEISelectBlockAttribute
386
+ | TEISelectCrossReferenceMarkAttribute
387
+ | TEIInputMarkAttribute
388
+ | TEIInputBlockAttribute
389
+ | TEISelectMarkAttribute
366
390
  ]
367
391
  """The list of menu items to show."""
368
392
  condition: Optional[TEIMenuCondition] = None
@@ -441,7 +465,7 @@ class UEditorSettings(BaseSettings):
441
465
  )
442
466
 
443
467
 
444
- class UEditonSettings(UEditonSettingsBase):
468
+ class UEditionSettings(UEditonSettingsBase):
445
469
  """The uEdition settings."""
446
470
 
447
471
  @classmethod
@@ -468,6 +492,6 @@ def get_ueditor_settings() -> UEditorSettings:
468
492
  return UEditorSettings()
469
493
 
470
494
 
471
- def get_uedition_settings() -> UEditonSettings:
495
+ def get_uedition_settings() -> UEditionSettings:
472
496
  """Load the current UEditionSettings."""
473
- return UEditonSettings()
497
+ return UEditionSettings()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: uEdition-Editor
3
- Version: 2.0.0b3
3
+ Version: 2.0.0b5
4
4
  Project-URL: Documentation, https://github.com/uEdition/uEditor#readme
5
5
  Project-URL: Issues, https://github.com/uEdition/uEditor/issues
6
6
  Project-URL: Source, https://github.com/uEdition/uEditor
@@ -9,14 +9,15 @@ License-Expression: MIT
9
9
  License-File: LICENSE.txt
10
10
  Classifier: Development Status :: 4 - Beta
11
11
  Classifier: Programming Language :: Python
12
- Classifier: Programming Language :: Python :: 3.10
13
12
  Classifier: Programming Language :: Python :: 3.11
14
13
  Classifier: Programming Language :: Python :: 3.12
15
14
  Classifier: Programming Language :: Python :: 3.13
16
15
  Classifier: Programming Language :: Python :: Implementation :: CPython
17
16
  Classifier: Programming Language :: Python :: Implementation :: PyPy
18
- Requires-Python: >=3.10
17
+ Requires-Python: >=3.11
18
+ Requires-Dist: aiocron<3,>=2.1
19
19
  Requires-Dist: fastapi<1
20
+ Requires-Dist: httptools<1
20
21
  Requires-Dist: httpx<1,>=0.28.1
21
22
  Requires-Dist: lxml<6,>=5
22
23
  Requires-Dist: pydantic-settings<3,>=2
@@ -25,10 +26,13 @@ Requires-Dist: pygit2<2,>=1.17.0
25
26
  Requires-Dist: pyjwt[crypto]<3,>=2.10.1
26
27
  Requires-Dist: python-multipart<1,>=0.0.9
27
28
  Requires-Dist: python-slugify<9,>=8.0.4
29
+ Requires-Dist: pyyaml-include<3,>=2
28
30
  Requires-Dist: pyyaml<7,>=6
29
31
  Requires-Dist: typer<1,>=0.15.1
30
32
  Requires-Dist: uedition<2.1,>=2.0.0a2
31
33
  Requires-Dist: uvicorn<1
34
+ Requires-Dist: uvloop<1
35
+ Requires-Dist: websockets<16,>=15
32
36
  Description-Content-Type: text/markdown
33
37
 
34
38
  # μEditor
@@ -0,0 +1,28 @@
1
+ uedition_editor/__about__.py,sha256=e2v-pzclDwW6hnYUCd6mhOylSCUbLtjUTXuafPIWp5Q,160
2
+ uedition_editor/__init__.py,sha256=8X2_abCuSWRKPu7MiqIhtARDXRretiHlUlkvgBvh4I0,1293
3
+ uedition_editor/__main__.py,sha256=b4COmnuVMw6l_M_HFxKWvPYWwegDk0382NAL_l7w8Do,222
4
+ uedition_editor/cron.py,sha256=b4e2Q5tf7kX1kJehW1sjkrlz7C31nSppamKysW_ep7U,1197
5
+ uedition_editor/settings.py,sha256=NNxu-W3S4lhcROvDXrvWMKJwrT4oZCJJwnDl0sM9mfM,14401
6
+ uedition_editor/api/__init__.py,sha256=zXhBEHFh2UWl9KDgF9bFlVMhUhkES6jmKh1QoBnHtDI,1911
7
+ uedition_editor/api/auth.py,sha256=yZG3K3QglRziJtEod4wFNVrCTyYZC89Hwhx33wGcYgw,7255
8
+ uedition_editor/api/branches.py,sha256=fkm1J72bcCunLn6ofUn0yeovnWR4g26UAulgSZ2PFYQ,9287
9
+ uedition_editor/api/configs.py,sha256=lXRpbdxaKQ4OMTVL0nrTHdGE4SBcSMWaWgYhSBXoOh4,2919
10
+ uedition_editor/api/files.py,sha256=ed2lYGwUXMT27dl8ud0n4TR7dJED4hYBhC9hffejVdY,32978
11
+ uedition_editor/api/tests.py,sha256=f9BF3oBAY1o8TA7EhouXmeIDOp4elA4SQaDDtlG1Nh8,1162
12
+ uedition_editor/api/util.py,sha256=9KfcaHVjfmvf6OwWJ3XHQGVS6MKUu4YmjYXvm2Q4tvY,4037
13
+ uedition_editor/cli/__init__.py,sha256=5AK1wUlflAXCt7cBZ348V4aueV5iJGKV-ouqoXpsIh0,983
14
+ uedition_editor/frontend/dist/index.html,sha256=JHw6IjE4P3IMHK3RMVHFi5ab8FTWYsRCCBIZ6vAzxXw,474
15
+ uedition_editor/frontend/dist/ueditor.svg,sha256=rvEMqMyRGiGIorMjRxWO4rbTlS_H6oxhhibmsunFYFg,340
16
+ uedition_editor/frontend/dist/assets/CodeMirrorEditor-B8N4a0_6.js,sha256=GATaiBKhDOi8uVMdscwUHac4DlIoPPYs_BD-RH1wPos,606870
17
+ uedition_editor/frontend/dist/assets/CodeMirrorEditor-ddcHt3UE.css,sha256=TMoYtZ0n60AEBxfWW_ge2AxPYcamaOOwnGWTz5_13OA,846
18
+ uedition_editor/frontend/dist/assets/FolderEditor-zEVI7VnV.js,sha256=HhPvRb1Zh-Pja7qkzWfNH44ikjVDgvzxgbtZgt4Z6ko,2938
19
+ uedition_editor/frontend/dist/assets/ImageEditor-D2waaDFD.js,sha256=Ef8D1jpkMPefP5jbmMf-r3FweRTHx_iq94n5oFNrPsw,801
20
+ uedition_editor/frontend/dist/assets/TeiEditor-DaKNV6gH.js,sha256=M_y8crNyLvoisMueK7UUDhdyY7ieabI9sdRI4m2EtEU,350821
21
+ uedition_editor/frontend/dist/assets/index-DHdOJOZY.js,sha256=D7K_JXw9KdJUsXKUmnpTggXM4VB17H6BLkPq_6W4hBI,324116
22
+ uedition_editor/frontend/dist/assets/index-HmBQiVS_.css,sha256=I-O-hMFBmkNau7U6v3iX3AMfMu6stKgFtrNVoGRh1Pk,19716
23
+ uedition_editor/frontend/dist/assets/index-Vcq4gwWv.js,sha256=7NTN0-UTH-BpoJQqdC43Ec4Cdwj4Wv8viGg4W3EBqx8,1494
24
+ uedition_editor-2.0.0b5.dist-info/METADATA,sha256=3zQt2q9TGT4jh3KcHXAqbIsNRKeOEKnL-uRRxDeww4s,2753
25
+ uedition_editor-2.0.0b5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
26
+ uedition_editor-2.0.0b5.dist-info/entry_points.txt,sha256=v2HE8dFcsAPreD-LjMrjsB31iyTTqKjQ-Uj2_ztaqpg,52
27
+ uedition_editor-2.0.0b5.dist-info/licenses/LICENSE.txt,sha256=pL_y3ondEzJrX26zSglvj0GOT0p2SjFnDm7dRpMgk64,1101
28
+ uedition_editor-2.0.0b5.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- import{S as _,i as h,s as b,e as p,f as a,g as m,G as c,r as d,w as u,x as g,L as v,bl as f}from"./index-BtIoSLIQ.js";function o(l){let r,e;return{c(){r=p("img"),f(r.src,e="/api/branches/"+l[0].id+"/files/"+l[1].fullpath)||a(r,"src",e),a(r,"alt","")},m(s,n){m(s,r,n)},p(s,n){n&3&&!f(r.src,e="/api/branches/"+s[0].id+"/files/"+s[1].fullpath)&&a(r,"src",e)},d(s){s&&d(r)}}}function B(l){let r,e=l[0]!==null&&l[1]&&o(l);return{c(){r=p("div"),e&&e.c(),a(r,"class","overflow-auto")},m(s,n){m(s,r,n),e&&e.m(r,null)},p(s,[n]){s[0]!==null&&s[1]?e?e.p(s,n):(e=o(s),e.c(),e.m(r,null)):e&&(e.d(1),e=null)},i:c,o:c,d(s){s&&d(r),e&&e.d()}}}function k(l,r,e){let s,n;u(l,g,i=>e(1,n=i));const t=v();return u(l,t,i=>e(0,s=i)),[s,n,t]}class w extends _{constructor(r){super(),h(this,r,k,B,b,{})}}export{w as default};