@woven-canvas/vue 0.1.0 → 0.1.2
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/build/index.js +8092 -7965
- package/build/index.umd.cjs +36 -36
- package/build/src/components/EditableText.vue.d.ts.map +1 -1
- package/build/src/components/FloatingMenu.vue.d.ts.map +1 -1
- package/build/src/components/blocks/ShapeBlock.vue.d.ts.map +1 -1
- package/build/src/composables/useTextEditorController.d.ts +2 -1
- package/build/src/composables/useTextEditorController.d.ts.map +1 -1
- package/build/style.css +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/src/theme.css +46 -46
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditableText.vue.d.ts","sourceRoot":"","sources":["../../../src/components/EditableText.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EditableText.vue.d.ts","sourceRoot":"","sources":["../../../src/components/EditableText.vue"],"names":[],"mappings":"AA0UA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAK1C,UAAU,KAAM,SAAQ,SAAS;IAE/B,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IAEjC,cAAc,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACrC;;;;;iBAQc,MAAM;eACR,MAAM;gBACL,MAAM;cACR,MAAM;aACP,MAAM;;;;iBAJF,MAAM;eACR,MAAM;gBACL,MAAM;cACR,MAAM;aACP,MAAM;;;AAoSjB,wBAQG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FloatingMenu.vue.d.ts","sourceRoot":"","sources":["../../../src/components/FloatingMenu.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FloatingMenu.vue.d.ts","sourceRoot":"","sources":["../../../src/components/FloatingMenu.vue"],"names":[],"mappings":"AAufA,QAAA,IAAI,OAAO,IAAW,CAAE;AACxB,KAAK,WAAW,GAAG,EAAE,GACnB;IAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,OAAO,KAAK,GAAG,CAAA;CAAE,CAAC;AAuB/C,QAAA,MAAM,eAAe,+QAKnB,CAAC;wBACkB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;AAAzE,wBAA0E;AAE1E,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShapeBlock.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/ShapeBlock.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ShapeBlock.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/blocks/ShapeBlock.vue"],"names":[],"mappings":"AA8IA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;;AAiK7C,wBAMG"}
|
|
@@ -19,10 +19,11 @@ export interface TextEditorCommands {
|
|
|
19
19
|
export interface TextEditorController {
|
|
20
20
|
editor: ShallowRef<Editor | null>;
|
|
21
21
|
blockElement: ShallowRef<HTMLElement | null>;
|
|
22
|
+
textElement: ShallowRef<HTMLElement | null>;
|
|
22
23
|
state: TextEditorState;
|
|
23
24
|
commands: TextEditorCommands;
|
|
24
25
|
updateCounter: Ref<number>;
|
|
25
|
-
register(editor: Editor, blockElement: HTMLElement): void;
|
|
26
|
+
register(editor: Editor, textElement: HTMLElement, blockElement: HTMLElement): void;
|
|
26
27
|
unregister(): void;
|
|
27
28
|
}
|
|
28
29
|
export declare function useTextEditorController(): TextEditorController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTextEditorController.d.ts","sourceRoot":"","sources":["../../../src/composables/useTextEditorController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,KAAK,WAAW,EAAY,KAAK,GAAG,EAAO,KAAK,UAAU,EAAc,MAAM,KAAK,CAAA;AAI5F,MAAM,WAAW,eAAe;IAE9B,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAE/B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAE5B,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAE9B,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAEjC,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IAErC,KAAK,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,kBAAkB;IAEjC,UAAU,IAAI,IAAI,CAAA;IAElB,YAAY,IAAI,IAAI,CAAA;IAEpB,eAAe,IAAI,IAAI,CAAA;IAEvB,YAAY,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAA;IAE5C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,oBAAoB;IAEnC,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAEjC,YAAY,EAAE,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAE5C,KAAK,EAAE,eAAe,CAAA;IAEtB,QAAQ,EAAE,kBAAkB,CAAA;IAE5B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAE1B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"useTextEditorController.d.ts","sourceRoot":"","sources":["../../../src/composables/useTextEditorController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,KAAK,WAAW,EAAY,KAAK,GAAG,EAAO,KAAK,UAAU,EAAc,MAAM,KAAK,CAAA;AAI5F,MAAM,WAAW,eAAe;IAE9B,SAAS,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAE/B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAE5B,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAE9B,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,CAAA;IAEjC,SAAS,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;IAErC,KAAK,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,kBAAkB;IAEjC,UAAU,IAAI,IAAI,CAAA;IAElB,YAAY,IAAI,IAAI,CAAA;IAEpB,eAAe,IAAI,IAAI,CAAA;IAEvB,YAAY,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,CAAA;IAE5C,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,oBAAoB;IAEnC,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAEjC,YAAY,EAAE,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAE5C,WAAW,EAAE,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAE3C,KAAK,EAAE,eAAe,CAAA;IAEtB,QAAQ,EAAE,kBAAkB,CAAA;IAE5B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAE1B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,GAAG,IAAI,CAAA;IAEnF,UAAU,IAAI,IAAI,CAAA;CACnB;AA2BD,wBAAgB,uBAAuB,IAAI,oBAAoB,CAmK9D"}
|
package/build/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@import"https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&display=swap";@layer ic-reset{.ic-root :where(*:not(svg,svg *)){all:revert}}.ic-root{--ic-primary: #6a58f2;--ic-primary-light: #8a76f4;--ic-error: #ff4d4f;--ic-gray-100: #f8f9f9;--ic-gray-200: #e3e5e8;--ic-gray-300: #c7ccd1;--ic-gray-400: #9099a4;--ic-gray-500: #4f5660;--ic-gray-600: #2e3338;--ic-gray-700: #060607;--ic-z-block-content: 1;--ic-z-cursors: 50;--ic-z-ui: 100;--ic-z-floating-menu: 101;--ic-z-overlay: 1000;--ic-z-dropdown: 1001;--ic-z-tooltip: 1002;--ic-font-family: "Figtree", sans-serif;--ic-menu-border-radius: 12px;--ic-menu-tooltip-border-radius: 6px;--ic-transition-duration: .15s;--ic-transition-timing-function: cubic-bezier(.4, 0, .2, 1);--ic-highlighted-block-outline-color: var(--ic-primary);--ic-highlighted-block-outline-width: 1.5px;--ic-highlighted-block-outline-offset: -1px;--ic-highlighted-block-border-radius: 2px;--ic-selection-box-bg: #5865f222;--ic-text-selection-color: var(--ic-primary-light)}.ic-root{font-family:var(--ic-font-family)}.ic-root svg{display:block}.ic-root ::selection{background-color:var(--ic-text-selection-color)}.ic-block[data-hovered]>*,.ic-block[data-selected]>*{outline:calc(var(--ic-highlighted-block-outline-width) / var(--ic-zoom, 1)) solid var(--ic-highlighted-block-outline-color);outline-offset:calc(var(--ic-highlighted-block-outline-offset) / var(--ic-zoom, 1));border-radius:calc(var(--ic-highlighted-block-border-radius) / var(--ic-zoom, 1))}.ic-block[data-held-by-other]>*{outline:calc(3px / var(--ic-zoom, 1)) solid var(--ic-held-by-color);outline-offset:calc(2px / var(--ic-zoom, 1));border-radius:calc(var(--ic-highlighted-block-border-radius) / var(--ic-zoom, 1))}.ic-arc-arrow[data-v-1c72b3f0]{display:flex;position:relative;align-items:center;justify-content:center;width:100%;height:100%;overflow:visible;box-sizing:border-box}.arrow-svg[data-v-1c72b3f0]{width:100%;height:100%;overflow:visible!important}.highlight-overlay[data-v-1c72b3f0]{stroke:var(--ic-highlighted-block-outline-color)}.ic-block[data-hovered]>.ic-arc-arrow,.ic-block[data-selected]>.ic-arc-arrow{outline:none}.ic-arrow-handle{position:relative;display:block;width:100%;height:100%}.ic-arrow-handle-inner{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;width:100%;height:100%}.ic-arrow-handle-inner:before{content:"";position:absolute;left:50%;top:50%;border-radius:50%;box-sizing:border-box;background-color:var(--ic-primary-light);transform:translate(-50%,-50%) scale(calc(1 / var(--ic-zoom)));transform-origin:center center;transition-property:background-color;transition-timing-function:var(--ic-transition-timing-function);transition-duration:var(--ic-transition-duration);opacity:0}.ic-arrow-handle-inner:after{content:"";position:absolute;left:50%;top:50%;width:50%;height:50%;border-radius:50%;box-sizing:border-box;border:calc(2px / var(--ic-zoom)) solid var(--ic-primary);background-color:var(--ic-gray-100);transform:translate(-50%,-50%);transform-origin:center center;transition-property:background-color;transition-timing-function:var(--ic-transition-timing-function);transition-duration:var(--ic-transition-duration)}.ic-block[data-hovered]>.ic-arrow-handle{outline:none}.ic-block[data-hovered]>.ic-arrow-handle>.ic-arrow-handle-inner:before{opacity:.4}.ic-arrow-terminal{position:relative;display:block;width:100%;height:100%;pointer-events:none}.ic-arrow-terminal-ring{position:absolute;left:50%;top:50%;width:100%;height:100%;border-radius:50%;box-sizing:border-box;border:calc(3px / var(--ic-zoom)) solid var(--ic-primary);transform:translate(-50%,-50%);transform-origin:center center}.ic-arrow-terminal-fill{width:100%;height:100%;border-radius:50%;background-color:var(--ic-gray-100);opacity:.8}.ic-elbow-arrow[data-v-b8587777]{display:flex;position:relative;align-items:center;justify-content:center;width:100%;height:100%;overflow:visible;box-sizing:border-box}.arrow-svg[data-v-b8587777]{width:100%;height:100%;overflow:visible!important}.highlight-bg[data-v-b8587777]{stroke:var(--ic-gray-600)}.highlight-overlay[data-v-b8587777]{stroke:var(--ic-highlighted-block-outline-color)}.ic-block[data-hovered]>.ic-elbow-arrow,.ic-block[data-selected]>.ic-elbow-arrow{outline:none}.ic-eraser-stroke{position:relative;width:100%;height:100%}.ic-eraser-stroke *{box-sizing:border-box;overflow:visible;display:block}.ic-eraser-stroke svg{width:100%;height:100%;overflow:visible}.ic-image-block{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.ic-image-block img{display:block}.ic-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#8080801a;border:1px dashed rgba(128,128,128,.3);border-radius:4px;color:#808080b3;font-size:14px}.ic-image-error{background-color:#ff00000d;border-color:#f003;color:#ff0000b3}.ic-image-upload-overlay{position:absolute;bottom:0;left:0;right:0;padding:4px 8px;background-color:#0009;color:#fff;font-size:12px;text-align:center}.ic-image-upload-status{display:inline-block}.ic-pen-stroke[data-v-d1b5e99c]{position:relative;width:100%;height:100%}.ic-pen-stroke[data-v-d1b5e99c] *{box-sizing:border-box;overflow:visible;display:block}.ic-pen-stroke svg[data-v-d1b5e99c]{width:100%;height:100%;overflow:visible}.ic-pen-stroke .highlight[data-v-d1b5e99c]{position:absolute;top:0;right:0;bottom:0;left:0}.ic-block[data-hovered]>.ic-pen-stroke,.ic-block[data-selected]>.ic-pen-stroke{outline:none}.ic-block[data-held-by-other]>.ic-pen-stroke:not([data-complete]){outline:none}.ic-editable-text{width:100%;display:block;color:#000}.ic-editable-text p{margin:0}.ic-editable-text p:empty:before{content:"";display:inline-block}.ic-editable-text .ProseMirror{outline:none;white-space:inherit;word-wrap:break-word}.ic-editable-text .ProseMirror-focused{outline:none}.ic-shape-block{position:relative;width:100%;height:100%;display:flex;box-sizing:border-box}.ic-shape-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:-1}.ic-shape-content{width:100%;height:100%;display:flex;box-sizing:border-box;padding:8px;z-index:1}.ic-block[data-selected]>.ic-text-block{outline:none}.ic-block[data-held-by-other]>.ic-text-block[data-text-empty]{outline:none}.ic-menu-dropdown-trigger{display:flex;align-items:center;justify-content:center;cursor:pointer}.ic-menu-dropdown{position:absolute;z-index:var(--ic-z-dropdown)}input.ic-color-input{margin-bottom:8px;box-sizing:border-box;padding:6px 8px;font-size:18px;text-align:center;font-family:inherit;color:var(--ic-gray-100);background-color:var(--ic-gray-600);border:1px solid var(--ic-gray-600);border-radius:4px;outline:none}input.ic-color-input:focus{border-color:var(--ic-primary)}.ic-color-slider{width:16px;height:160px;border-radius:6px;position:relative;cursor:pointer}.ic-color-slider-gradient{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px}.ic-color-slider-thumb{position:absolute;left:50%;width:16px;height:8px;border-radius:4px;border:2px solid white;box-shadow:0 0 2px #00000080;transform:translate(-50%,-50%);pointer-events:none}.ic-color-picker{display:inline-flex;flex-direction:column;align-items:stretch;background-color:var(--ic-gray-700);border-radius:var(--ic-menu-border-radius);box-shadow:0 0 .5px #0000002e,0 3px 8px #0000001a,0 1px 3px #0000001a;padding:8px}.ic-color-picker-area{display:flex;gap:8px}.ic-color-picker-selector{width:160px;height:160px;border-radius:6px;position:relative;cursor:crosshair}.ic-color-picker-selector-gradient{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px;background-image:linear-gradient(to top,#000,#0000),linear-gradient(to right,#fff,#fff0)}.ic-color-picker-selector-thumb{position:absolute;width:14px;height:14px;border-radius:9999px;border:2px solid white;box-shadow:0 0 2px #00000080;transform:translate(-50%,-50%);pointer-events:none}.ic-color-picker-opacity{background-image:linear-gradient(45deg,#808080 25%,transparent 25%),linear-gradient(-45deg,#808080 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#808080 75%),linear-gradient(-45deg,transparent 75%,#808080 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px;background-color:#404040}.ic-color-bubbles{color:var(--ic-gray-100);background-color:var(--ic-gray-700);border-radius:var(--ic-menu-border-radius);box-shadow:0 0 .5px #0000002e,0 3px 8px #0000001a,0 1px 3px #0000001a;display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;padding:8px;justify-content:center}.ic-color-bubble{width:20px;height:20px;border-radius:9999px;outline-style:solid;outline-width:1px;outline-color:#fff5;cursor:pointer}.ic-color-bubble.selected{outline-width:2px;outline-color:var(--ic-primary);outline-offset:2px}.ic-rainbow-bubble{background:radial-gradient(50% 50% at 50% 50%,#ffffff 0%,transparent 100%),conic-gradient(from 0deg at 50% 50%,red,#ffa800 47.73deg,#ff0 79.56deg,#0f0 121.33deg,#0ff 180.99deg,#00f 238.67deg,#f0f 294.36deg,red 360deg),#c4c4c4}.ic-color-button{display:flex;cursor:pointer;align-items:center;justify-content:center;height:100%;gap:8px;margin:0 8px}.ic-color-swatch{width:20px;height:20px;border-radius:9999px;outline-style:solid;outline-width:1px;outline-color:#fff5}.ic-menu-button{display:flex;align-items:center;justify-content:center;height:32px;border:none;background:transparent;cursor:pointer;color:var(--ic-gray-100);transition:background-color .15s ease,color .15s ease}.ic-menu-button:hover{background:#0000000d}.ic-active{background:var(--ic-primary)}.ic-menu-button svg{width:22px;height:18px;flex-shrink:0}.ic-menu-tooltip{position:absolute;z-index:var(--ic-z-tooltip);width:max-content;background:var(--ic-gray-700);color:var(--ic-gray-100);font-weight:700;padding:5px 10px;border-radius:var(--ic-menu-tooltip-border-radius);font-size:70%;pointer-events:none}.ic-tooltip-fade-enter-active{transition:opacity .15s ease-out}.ic-tooltip-fade-leave-active{transition:opacity .1s ease-out}.ic-tooltip-fade-enter-from,.ic-tooltip-fade-leave-to{opacity:0}.ic-fill-color-button{display:flex;cursor:pointer;align-items:center;justify-content:center;height:100%;gap:8px;margin:0 8px}.ic-fill-color-icon{width:18px;height:18px}.ic-fill-dropdown{display:flex;flex-direction:column}.ic-fill-mode-section{display:flex;flex-direction:row;justify-content:space-evenly;background-color:var(--ic-gray-700);border-radius:var(--ic-menu-border-radius) var(--ic-menu-border-radius) 0 0;margin-bottom:-2px}.ic-fill-mode-option{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;padding:6px 4px;border:none;background:transparent;cursor:pointer;border-radius:0;color:var(--ic-gray-100);font-size:11px}.ic-fill-mode-option:first-child{border-top-left-radius:8px}.ic-fill-mode-option:last-child{border-top-right-radius:8px}.ic-fill-mode-option:hover,.ic-fill-mode-option.is-active{background:var(--ic-gray-600)}.ic-fill-mode-option svg{width:24px;height:24px}.ic-shape-kind-button{display:flex;cursor:pointer;align-items:center;justify-content:center;height:100%;gap:6px;margin:0 8px}.ic-shape-kind-icon{width:18px;height:18px}.ic-shape-kind-dropdown{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px;background:var(--ic-gray-700);border-radius:var(--ic-menu-border-radius);min-width:200px}.ic-shape-kind-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px;border:none;background:transparent;color:var(--ic-gray-100);cursor:pointer;border-radius:4px;font-size:10px}.ic-shape-kind-option:hover{background:var(--ic-gray-600)}.ic-shape-kind-option.is-selected{background:var(--ic-primary-600)}.ic-shape-option-icon{width:24px;height:24px}.ic-stroke-style-section{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:-2px}.ic-stroke-style-option{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;padding:6px 4px;border:none;background:transparent;cursor:pointer;border-radius:0;color:var(--ic-gray-100);font-size:11px}.ic-stroke-style-option:first-child{border-top-left-radius:8px}.ic-stroke-style-option:last-child{border-top-right-radius:8px}.ic-stroke-style-option:hover{background:var(--ic-gray-700)}.ic-stroke-style-option.is-active{background:var(--ic-gray-600)}.ic-stroke-style-option svg{width:32px;height:12px}.ic-stroke-color-button{display:flex;cursor:pointer;align-items:center;justify-content:center;height:100%;gap:6px;margin:0 8px}.ic-stroke-color-icon{width:18px;height:18px}.ic-stroke-dropdown{display:flex;flex-direction:column}.ic-stroke-divider{height:1px;background:var(--ic-gray-600);margin:0 8px}.ic-text-color-button{display:flex;flex-shrink:0;cursor:pointer;align-items:center;justify-content:center;height:100%;gap:8px;padding:0 0 0 8px}.ic-text-icon-container{display:flex;flex-shrink:0;flex-direction:column;align-items:center;justify-content:center}.ic-text-icon{width:16px;height:16px}.ic-color-underline{width:100%;height:3px;margin-top:2px;border:1px solid var(--ic-gray-500);border-radius:1px}.ic-font-family-button{display:flex;cursor:pointer;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;height:100%;gap:8px;padding:0 12px}.ic-font-family-label{font-size:14px;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.ic-font-family-menu{background-color:var(--ic-gray-700);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;border-radius:8px;cursor:default;width:200px}.ic-font-list{max-height:200px;color:#fff;overflow-y:auto;overflow-x:hidden;border-radius:8px}.ic-font-list>*:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.ic-font-list>*:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.ic-font-item{display:flex;align-items:center;height:32px;padding:0 12px;width:100%;transition:background-color .2s;cursor:pointer}.ic-font-item.active{background-color:var(--ic-primary)}.ic-font-item:not(.active):hover{background-color:var(--ic-gray-600)}.ic-font-preview{filter:invert(1);height:50%;overflow:hidden;object-fit:cover;object-position:left}.ic-font-name{font-size:14px}.ic-font-size-button{display:flex;cursor:pointer;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;height:100%;gap:8px;padding:0 12px}.ic-font-size-label{font-size:14px;white-space:nowrap}.ic-font-size-menu{background-color:var(--ic-gray-700);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;border-radius:8px;cursor:pointer;width:150px}.ic-font-size-menu>*:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.ic-font-size-option{display:flex;align-items:center;height:40px;padding:0 32px;transition:background-color .2s}.ic-font-size-option.active{background-color:var(--ic-primary)}.ic-font-size-option:not(.active):hover{background-color:var(--ic-gray-600)}.ic-check-icon{color:#fff;width:16px;margin-right:8px;margin-left:-24px}.ic-option-label{color:#fff}.ic-separator{margin:4px 0;width:100%;height:.75px;background-color:var(--ic-gray-600)}.ic-input-container{display:flex;position:relative;align-items:center;justify-content:center}.ic-custom-input{background-color:var(--ic-gray-700);width:100%;margin:8px;border-radius:6px;border:none;padding:8px;color:#fff;font-size:14px;outline:1px solid var(--ic-gray-600)}.ic-custom-input:hover{outline:1px solid var(--ic-gray-500)}.ic-custom-input:focus{outline:2px solid var(--ic-primary)}.ic-px-suffix{position:absolute;right:16px;color:var(--ic-gray-400);font-size:14px}.ic-floating-menu-bar{display:flex;overflow:hidden;cursor:pointer;height:40px;color:var(--ic-gray-100);background-color:var(--ic-gray-700);border-radius:var(--ic-menu-border-radius);box-shadow:0 0 .5px #0000002e,0 3px 8px #0000001a,0 1px 3px #0000001a}.ic-floating-menu-bar>*:first-child{border-top-left-radius:var(--ic-menu-border-radius);border-bottom-left-radius:var(--ic-menu-border-radius)}.ic-floating-menu-bar>*:last-child{border-top-right-radius:var(--ic-menu-border-radius);border-bottom-right-radius:var(--ic-menu-border-radius)}.ic-floating-menu-bar>*{height:100%;transition-property:background-color;transition-timing-function:var(--ic-transition-timing-function);transition-duration:var(--ic-transition-duration)}.ic-floating-menu-bar>*:hover:not([divider]){background-color:var(--ic-gray-600)}.ic-floating-menu-bar>*[menu-open]{background-color:var(--ic-gray-600)}.ic-floating-menu-bar>.ic-active:hover{background:var(--ic-primary-light)}.ic-divider{width:1px!important;height:24px!important;margin:auto 0;background-color:var(--ic-gray-600);flex-shrink:0}.ic-floating-menu{position:absolute;z-index:var(--ic-z-floating-menu);pointer-events:auto}.ic-floating-menu-inner{transition:transform .15s ease-out}.ic-fade-enter-active{transition:opacity .15s ease-out}.ic-fade-enter-from{opacity:0}.ic-fade-enter-from .ic-floating-menu-inner{transform:translateY(10px)}.ic-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--ic-z-overlay);display:flex;align-items:center;justify-content:center;background:#00000080;pointer-events:all}.ic-loading-spinner{font-size:24px;font-family:monospace;color:var(--ic-gray-100, #f5f5f5)}.ic-loading-fade-enter-active,.ic-loading-fade-leave-active{transition:opacity .3s ease}.ic-loading-fade-enter-from,.ic-loading-fade-leave-to{opacity:0}.ic-toolbar-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;cursor:pointer;color:var(--ic-gray-100);transition-property:background-color;transition-timing-function:var(--ic-transition-timing-function);transition-duration:var(--ic-transition-duration)}.ic-toolbar-button:hover{background-color:var(--ic-gray-600)}.ic-toolbar-button.selected{background-color:var(--ic-primary)}.ic-toolbar-button svg{width:20px;height:20px}.ic-toolbar-container{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:var(--ic-z-ui)}.ic-toolbar{display:flex;gap:8px;padding:8px 10px;overflow:hidden;cursor:pointer;color:var(--ic-gray-100);background-color:var(--ic-gray-100);border-radius:12px;box-shadow:0 0 .5px #0000002e,0 3px 8px #0000001a,0 1px 3px #0000001a}.ic-toolbar *{transition-property:background-color;transition-timing-function:var(--ic-transition-timing-function);transition-duration:var(--ic-transition-duration)}.ic-toolbar *[menu-open]{background-color:var(--ic-gray-600)}.ic-toolbar-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;cursor:pointer;color:var(--ic-gray-700);border-radius:var(--ic-menu-border-radius)}.ic-toolbar-button:hover{background-color:var(--ic-gray-200)}.ic-toolbar-button.selected{background-color:var(--ic-primary);color:var(--ic-gray-100)}.ic-toolbar-button svg{width:20px;height:20px;display:block;flex-shrink:0}.menu{background-color:var(--ic-gray-700);border-radius:var(--ic-menu-border-radius);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.ic-user-presence{position:absolute;top:8px;right:8px;z-index:var(--ic-z-ui)}.ic-user-presence-trigger{display:flex;align-items:center;padding:4px;border:none;border-radius:20px;background:transparent;cursor:pointer;transition:background-color .15s ease}.ic-user-presence-trigger:hover,.ic-user-presence-trigger.is-open{background-color:#00000014}.ic-user-presence-avatars{display:flex;flex-direction:row-reverse}.ic-user-presence-avatars .ic-user-avatar:not(:first-child){margin-right:-12px}.ic-user-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;box-shadow:0 2px 4px #0000001a;border:2px solid white;-webkit-user-select:none;user-select:none}.ic-user-avatar-small{width:28px;height:28px;font-size:11px;flex-shrink:0}.ic-user-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.ic-user-presence-dropdown{position:absolute;top:100%;right:0;margin-top:8px;min-width:200px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden}.ic-user-presence-list{max-height:240px;overflow-y:auto}.ic-user-presence-item{display:flex;align-items:center;gap:12px;padding:8px 16px}.ic-user-presence-item:hover{background-color:#f9fafb}.ic-user-presence-name{font-size:13px;color:#374151;font-family:system-ui,-apple-system,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ic-selection-box{box-sizing:border-box;width:100%;height:100%;background-color:var(--ic-selection-box-bg);border-style:solid;border-width:calc(3px / var(--ic-zoom));border-color:var(--ic-primary)}.ic-transform-box{position:relative;width:100%;height:100%;box-sizing:border-box;border:calc(2px / var(--ic-zoom)) solid var(--ic-primary);pointer-events:none}.ic-transform-handle{position:relative;width:100%;height:100%;box-sizing:border-box;border:calc(2px / var(--ic-zoom)) solid var(--ic-primary);border-radius:calc(2px / var(--ic-zoom));background-color:var(--ic-gray-100);transition-property:background-color;transition-timing-function:var(--ic-transition-timing-function);transition-duration:var(--ic-transition-duration)}.ic-block[data-hovered]>.ic-transform-handle{background-color:var(--ic-primary)}.ic-sticky-note{width:100%;height:fit-content;display:flex;padding:8%;box-sizing:border-box;box-shadow:#101820a6 0 4px 5px -6px,#10182073 0 11px 13px -12px,#10182d06 0 45px 10px -12px inset}.ic-user-cursors{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:var(--ic-z-cursors)}.ic-user-cursor{position:absolute;top:0;left:0;pointer-events:none;will-change:transform;transition:transform .1s ease-out}.ic-cursor-svg{display:block}.ic-cursor-label{position:absolute;top:16px;left:10px;padding:2px 6px;border-radius:4px;font-size:11px;font-family:system-ui,-apple-system,sans-serif;color:#fff;white-space:nowrap;-webkit-user-select:none;user-select:none}.ic-offline-indicator{position:absolute;top:12px;right:12px;z-index:var(--ic-z-ui);padding:6px 12px;color:var(--ic-gray-400);border-radius:6px;font-size:13px;font-weight:500;pointer-events:none}.ic-version-mismatch-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--ic-z-overlay);display:flex;align-items:center;justify-content:center;background:#00000080}.ic-version-mismatch-dialog{background:var(--ic-gray-50);color:var(--ic-gray-900);border-radius:12px;padding:24px 32px;text-align:center;box-shadow:0 4px 24px #0003}.ic-version-mismatch-dialog p{margin:0 0 8px;font-size:14px}.ic-version-mismatch-dialog button{margin-top:12px;padding:8px 20px;border:none;border-radius:6px;background:var(--ic-primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s ease}.ic-version-mismatch-dialog button:hover{background:var(--ic-primary-light)}.ic-back-to-content{position:absolute;top:16px;left:16px;z-index:var(--ic-z-ui);display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:500;color:var(--ic-gray-700, #374151);background-color:var(--ic-gray-100, #ffffff);border:1px solid var(--ic-gray-300, #d1d5db);border-radius:8px;cursor:pointer;box-shadow:0 1px 2px #0000000d,0 1px 3px #0000001a;transition:background-color .15s ease,border-color .15s ease}.ic-back-to-content:hover{background-color:var(--ic-gray-200, #f3f4f6);border-color:var(--ic-gray-400, #9ca3af)}.ic-back-to-content:active{background-color:var(--ic-gray-300, #e5e7eb)}.ic-back-to-content svg{flex-shrink:0}.ic-menu-button{display:flex;align-items:center;justify-content:center;height:100%;gap:4px;padding:0 8px}.ic-menu-dropdown{display:flex;background-color:var(--ic-gray-700);border-radius:var(--ic-menu-border-radius);overflow:hidden;box-shadow:0 0 .5px #0000002e,0 3px 8px #0000001a,0 1px 3px #0000001a}.ic-menu-option{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--ic-gray-100);cursor:pointer;transition:background-color .15s ease}.ic-menu-option:hover{background-color:var(--ic-gray-600)}.ic-menu-option.is-active{background-color:var(--ic-primary)}
|
|
1
|
+
@import"https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&display=swap";@layer wov-reset{.wov-root :where(*:not(svg,svg *)){all:revert}}.wov-root{--wov-primary: #6a58f2;--wov-primary-light: #8a76f4;--wov-error: #ff4d4f;--wov-gray-100: #f8f9f9;--wov-gray-200: #e3e5e8;--wov-gray-300: #c7ccd1;--wov-gray-400: #9099a4;--wov-gray-500: #4f5660;--wov-gray-600: #2e3338;--wov-gray-700: #060607;--wov-z-block-content: 1;--wov-z-cursors: 50;--wov-z-ui: 100;--wov-z-floating-menu: 101;--wov-z-overlay: 1000;--wov-z-dropdown: 1001;--wov-z-tooltip: 1002;--wov-font-family: "Figtree", sans-serif;--wov-menu-border-radius: 12px;--wov-menu-tooltip-border-radius: 6px;--wov-transition-duration: .15s;--wov-transition-timing-function: cubwov-bezier(.4, 0, .2, 1);--wov-highlighted-block-outline-color: var(--wov-primary);--wov-highlighted-block-outline-width: 1.5px;--wov-highlighted-block-outline-offset: -1px;--wov-highlighted-block-border-radius: 2px;--wov-selection-box-bg: #5865f222;--wov-text-selection-color: var(--wov-primary-light)}.wov-root{font-family:var(--wov-font-family)}.wov-root svg{display:block}.wov-root ::selection{background-color:var(--wov-text-selection-color)}.wov-block[data-hovered]>*,.wov-block[data-selected]>*{outline:calc(var(--wov-highlighted-block-outline-width) / var(--wov-zoom, 1)) solid var(--wov-highlighted-block-outline-color);outline-offset:calc(var(--wov-highlighted-block-outline-offset) / var(--wov-zoom, 1));border-radius:calc(var(--wov-highlighted-block-border-radius) / var(--wov-zoom, 1))}.wov-block[data-held-by-other]>*{outline:calc(3px / var(--wov-zoom, 1)) solid var(--wov-held-by-color);outline-offset:calc(2px / var(--wov-zoom, 1));border-radius:calc(var(--wov-highlighted-block-border-radius) / var(--wov-zoom, 1))}.wov-arc-arrow[data-v-bcf5b4f3]{display:flex;position:relative;align-items:center;justify-content:center;width:100%;height:100%;overflow:visible;box-sizing:border-box}.arrow-svg[data-v-bcf5b4f3]{width:100%;height:100%;overflow:visible!important}.highlight-overlay[data-v-bcf5b4f3]{stroke:var(--wov-highlighted-block-outline-color)}.wov-block[data-hovered]>.wov-arc-arrow,.wov-block[data-selected]>.wov-arc-arrow{outline:none}.wov-arrow-handle{position:relative;display:block;width:100%;height:100%}.wov-arrow-handle-inner{position:absolute;top:0;right:0;bottom:0;left:0;box-sizing:border-box;width:100%;height:100%}.wov-arrow-handle-inner:before{content:"";position:absolute;left:50%;top:50%;border-radius:50%;box-sizing:border-box;background-color:var(--wov-primary-light);transform:translate(-50%,-50%) scale(calc(1 / var(--wov-zoom)));transform-origin:center center;transition-property:background-color;transition-timing-function:var(--wov-transition-timing-function);transition-duration:var(--wov-transition-duration);opacity:0}.wov-arrow-handle-inner:after{content:"";position:absolute;left:50%;top:50%;width:50%;height:50%;border-radius:50%;box-sizing:border-box;border:calc(2px / var(--wov-zoom)) solid var(--wov-primary);background-color:var(--wov-gray-100);transform:translate(-50%,-50%);transform-origin:center center;transition-property:background-color;transition-timing-function:var(--wov-transition-timing-function);transition-duration:var(--wov-transition-duration)}.wov-block[data-hovered]>.wov-arrow-handle{outline:none}.wov-block[data-hovered]>.wov-arrow-handle>.wov-arrow-handle-inner:before{opacity:.4}.wov-arrow-terminal{position:relative;display:block;width:100%;height:100%;pointer-events:none}.wov-arrow-terminal-ring{position:absolute;left:50%;top:50%;width:100%;height:100%;border-radius:50%;box-sizing:border-box;border:calc(3px / var(--wov-zoom)) solid var(--wov-primary);transform:translate(-50%,-50%);transform-origin:center center}.wov-arrow-terminal-fill{width:100%;height:100%;border-radius:50%;background-color:var(--wov-gray-100);opacity:.8}.wov-elbow-arrow[data-v-b2719db1]{display:flex;position:relative;align-items:center;justify-content:center;width:100%;height:100%;overflow:visible;box-sizing:border-box}.arrow-svg[data-v-b2719db1]{width:100%;height:100%;overflow:visible!important}.highlight-bg[data-v-b2719db1]{stroke:var(--wov-gray-600)}.highlight-overlay[data-v-b2719db1]{stroke:var(--wov-highlighted-block-outline-color)}.wov-block[data-hovered]>.wov-elbow-arrow,.wov-block[data-selected]>.wov-elbow-arrow{outline:none}.wov-eraser-stroke{position:relative;width:100%;height:100%}.wov-eraser-stroke *{box-sizing:border-box;overflow:visible;display:block}.wov-eraser-stroke svg{width:100%;height:100%;overflow:visible}.wov-image-block{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.wov-image-block img{display:block}.wov-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:#8080801a;border:1px dashed rgba(128,128,128,.3);border-radius:4px;color:#808080b3;font-size:14px}.wov-image-error{background-color:#ff00000d;border-color:#f003;color:#ff0000b3}.wov-image-upload-overlay{position:absolute;bottom:0;left:0;right:0;padding:4px 8px;background-color:#0009;color:#fff;font-size:12px;text-align:center}.wov-image-upload-status{display:inline-block}.wov-pen-stroke[data-v-9b41c649]{position:relative;width:100%;height:100%}.wov-pen-stroke[data-v-9b41c649] *{box-sizing:border-box;overflow:visible;display:block}.wov-pen-stroke svg[data-v-9b41c649]{width:100%;height:100%;overflow:visible}.wov-pen-stroke .highlight[data-v-9b41c649]{position:absolute;top:0;right:0;bottom:0;left:0}.wov-block[data-hovered]>.wov-pen-stroke,.wov-block[data-selected]>.wov-pen-stroke{outline:none}.wov-block[data-held-by-other]>.wov-pen-stroke:not([data-complete]){outline:none}.wov-editable-text{width:100%;display:block;color:#000}.wov-editable-text p{margin:0}.wov-editable-text p:empty:before{content:"";display:inline-block}.wov-editable-text .ProseMirror{outline:none;white-space:inherit;word-wrap:break-word}.wov-editable-text .ProseMirror-focused{outline:none}.wov-shape-block{position:relative;width:100%;height:100%;display:flex;box-sizing:border-box}.wov-shape-svg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:-1}.wov-shape-content{width:100%;height:100%;display:flex;box-sizing:border-box;padding:8px;z-index:1}.wov-block[data-selected]>.wov-text-block{outline:none}.wov-block[data-held-by-other]>.wov-text-block[data-text-empty]{outline:none}.wov-menu-dropdown-trigger{display:flex;align-items:center;justify-content:center;cursor:pointer}.wov-menu-dropdown{position:absolute;z-index:var(--wov-z-dropdown)}input.wov-color-input{margin-bottom:8px;box-sizing:border-box;padding:6px 8px;font-size:18px;text-align:center;font-family:inherit;color:var(--wov-gray-100);background-color:var(--wov-gray-600);border:1px solid var(--wov-gray-600);border-radius:4px;outline:none}input.wov-color-input:focus{border-color:var(--wov-primary)}.wov-color-slider{width:16px;height:160px;border-radius:6px;position:relative;cursor:pointer}.wov-color-slider-gradient{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px}.wov-color-slider-thumb{position:absolute;left:50%;width:16px;height:8px;border-radius:4px;border:2px solid white;box-shadow:0 0 2px #00000080;transform:translate(-50%,-50%);pointer-events:none}.wov-color-picker{display:inline-flex;flex-direction:column;align-items:stretch;background-color:var(--wov-gray-700);border-radius:var(--wov-menu-border-radius);box-shadow:0 0 .5px #0000002e,0 3px 8px #0000001a,0 1px 3px #0000001a;padding:8px}.wov-color-picker-area{display:flex;gap:8px}.wov-color-picker-selector{width:160px;height:160px;border-radius:6px;position:relative;cursor:crosshair}.wov-color-picker-selector-gradient{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:6px;background-image:linear-gradient(to top,#000,#0000),linear-gradient(to right,#fff,#fff0)}.wov-color-picker-selector-thumb{position:absolute;width:14px;height:14px;border-radius:9999px;border:2px solid white;box-shadow:0 0 2px #00000080;transform:translate(-50%,-50%);pointer-events:none}.wov-color-picker-opacity{background-image:linear-gradient(45deg,#808080 25%,transparent 25%),linear-gradient(-45deg,#808080 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#808080 75%),linear-gradient(-45deg,transparent 75%,#808080 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0px;background-color:#404040}.wov-color-bubbles{color:var(--wov-gray-100);background-color:var(--wov-gray-700);border-radius:var(--wov-menu-border-radius);box-shadow:0 0 .5px #0000002e,0 3px 8px #0000001a,0 1px 3px #0000001a;display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;padding:8px;justify-content:center}.wov-color-bubble{width:20px;height:20px;border-radius:9999px;outline-style:solid;outline-width:1px;outline-color:#fff5;cursor:pointer}.wov-color-bubble.selected{outline-width:2px;outline-color:var(--wov-primary);outline-offset:2px}.wov-rainbow-bubble{background:radial-gradient(50% 50% at 50% 50%,#ffffff 0%,transparent 100%),conwov-gradient(from 0deg at 50% 50%,red,#ffa800 47.73deg,#ff0 79.56deg,#0f0 121.33deg,#0ff 180.99deg,#00f 238.67deg,#f0f 294.36deg,red 360deg),#c4c4c4}.wov-color-button{display:flex;cursor:pointer;align-items:center;justify-content:center;height:100%;gap:8px;margin:0 8px}.wov-color-swatch{width:20px;height:20px;border-radius:9999px;outline-style:solid;outline-width:1px;outline-color:#fff5}.wov-menu-button{display:flex;align-items:center;justify-content:center;height:32px;border:none;background:transparent;cursor:pointer;color:var(--wov-gray-100);transition:background-color .15s ease,color .15s ease}.wov-menu-button:hover{background:#0000000d}.wov-active{background:var(--wov-primary)}.wov-menu-button svg{width:22px;height:18px;flex-shrink:0}.wov-menu-tooltip{position:absolute;z-index:var(--wov-z-tooltip);width:max-content;background:var(--wov-gray-700);color:var(--wov-gray-100);font-weight:700;padding:5px 10px;border-radius:var(--wov-menu-tooltip-border-radius);font-size:70%;pointer-events:none}.wov-tooltip-fade-enter-active{transition:opacity .15s ease-out}.wov-tooltip-fade-leave-active{transition:opacity .1s ease-out}.wov-tooltip-fade-enter-from,.wov-tooltip-fade-leave-to{opacity:0}.wov-fill-color-button{display:flex;cursor:pointer;align-items:center;justify-content:center;height:100%;gap:8px;margin:0 8px}.wov-fill-color-icon{width:18px;height:18px}.wov-fill-dropdown{display:flex;flex-direction:column}.wov-fill-mode-section{display:flex;flex-direction:row;justify-content:space-evenly;background-color:var(--wov-gray-700);border-radius:var(--wov-menu-border-radius) var(--wov-menu-border-radius) 0 0;margin-bottom:-2px}.wov-fill-mode-option{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;padding:6px 4px;border:none;background:transparent;cursor:pointer;border-radius:0;color:var(--wov-gray-100);font-size:11px}.wov-fill-mode-option:first-child{border-top-left-radius:8px}.wov-fill-mode-option:last-child{border-top-right-radius:8px}.wov-fill-mode-option:hover,.wov-fill-mode-option.is-active{background:var(--wov-gray-600)}.wov-fill-mode-option svg{width:24px;height:24px}.wov-shape-kind-button{display:flex;cursor:pointer;align-items:center;justify-content:center;height:100%;gap:6px;margin:0 8px}.wov-shape-kind-icon{width:18px;height:18px}.wov-shape-kind-dropdown{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px;background:var(--wov-gray-700);border-radius:var(--wov-menu-border-radius);min-width:200px}.wov-shape-kind-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px;border:none;background:transparent;color:var(--wov-gray-100);cursor:pointer;border-radius:4px;font-size:10px}.wov-shape-kind-option:hover{background:var(--wov-gray-600)}.wov-shape-kind-option.is-selected{background:var(--wov-primary-600)}.wov-shape-option-icon{width:24px;height:24px}.wov-stroke-style-section{display:flex;flex-direction:row;justify-content:space-evenly;margin-bottom:-2px}.wov-stroke-style-option{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;padding:6px 4px;border:none;background:transparent;cursor:pointer;border-radius:0;color:var(--wov-gray-100);font-size:11px}.wov-stroke-style-option:first-child{border-top-left-radius:8px}.wov-stroke-style-option:last-child{border-top-right-radius:8px}.wov-stroke-style-option:hover{background:var(--wov-gray-700)}.wov-stroke-style-option.is-active{background:var(--wov-gray-600)}.wov-stroke-style-option svg{width:32px;height:12px}.wov-stroke-color-button{display:flex;cursor:pointer;align-items:center;justify-content:center;height:100%;gap:6px;margin:0 8px}.wov-stroke-color-icon{width:18px;height:18px}.wov-stroke-dropdown{display:flex;flex-direction:column}.wov-stroke-divider{height:1px;background:var(--wov-gray-600);margin:0 8px}.wov-text-color-button{display:flex;flex-shrink:0;cursor:pointer;align-items:center;justify-content:center;height:100%;gap:8px;padding:0 0 0 8px}.wov-text-icon-container{display:flex;flex-shrink:0;flex-direction:column;align-items:center;justify-content:center}.wov-text-icon{width:16px;height:16px}.wov-color-underline{width:100%;height:3px;margin-top:2px;border:1px solid var(--wov-gray-500);border-radius:1px}.wov-font-family-button{display:flex;cursor:pointer;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;height:100%;gap:8px;padding:0 12px}.wov-font-family-label{font-size:14px;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.wov-font-family-menu{background-color:var(--wov-gray-700);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;border-radius:8px;cursor:default;width:200px}.wov-font-list{max-height:200px;color:#fff;overflow-y:auto;overflow-x:hidden;border-radius:8px}.wov-font-list>*:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.wov-font-list>*:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.wov-font-item{display:flex;align-items:center;height:32px;padding:0 12px;width:100%;transition:background-color .2s;cursor:pointer}.wov-font-item.active{background-color:var(--wov-primary)}.wov-font-item:not(.active):hover{background-color:var(--wov-gray-600)}.wov-font-preview{filter:invert(1);height:50%;overflow:hidden;object-fit:cover;object-position:left}.wov-font-name{font-size:14px}.wov-font-size-button{display:flex;cursor:pointer;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;height:100%;gap:8px;padding:0 12px}.wov-font-size-label{font-size:14px;white-space:nowrap}.wov-font-size-menu{background-color:var(--wov-gray-700);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;border-radius:8px;cursor:pointer;width:150px}.wov-font-size-menu>*:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.wov-font-size-option{display:flex;align-items:center;height:40px;padding:0 32px;transition:background-color .2s}.wov-font-size-option.active{background-color:var(--wov-primary)}.wov-font-size-option:not(.active):hover{background-color:var(--wov-gray-600)}.wov-check-icon{color:#fff;width:16px;margin-right:8px;margin-left:-24px}.wov-option-label{color:#fff}.wov-separator{margin:4px 0;width:100%;height:.75px;background-color:var(--wov-gray-600)}.wov-input-container{display:flex;position:relative;align-items:center;justify-content:center}.wov-custom-input{background-color:var(--wov-gray-700);width:100%;margin:8px;border-radius:6px;border:none;padding:8px;color:#fff;font-size:14px;outline:1px solid var(--wov-gray-600)}.wov-custom-input:hover{outline:1px solid var(--wov-gray-500)}.wov-custom-input:focus{outline:2px solid var(--wov-primary)}.wov-px-suffix{position:absolute;right:16px;color:var(--wov-gray-400);font-size:14px}.wov-floating-menu-bar{display:flex;overflow:hidden;cursor:pointer;height:40px;color:var(--wov-gray-100);background-color:var(--wov-gray-700);border-radius:var(--wov-menu-border-radius);box-shadow:0 0 .5px #0000002e,0 3px 8px #0000001a,0 1px 3px #0000001a}.wov-floating-menu-bar>*:first-child{border-top-left-radius:var(--wov-menu-border-radius);border-bottom-left-radius:var(--wov-menu-border-radius)}.wov-floating-menu-bar>*:last-child{border-top-right-radius:var(--wov-menu-border-radius);border-bottom-right-radius:var(--wov-menu-border-radius)}.wov-floating-menu-bar>*{height:100%;transition-property:background-color;transition-timing-function:var(--wov-transition-timing-function);transition-duration:var(--wov-transition-duration)}.wov-floating-menu-bar>*:hover:not([divider]){background-color:var(--wov-gray-600)}.wov-floating-menu-bar>*[menu-open]{background-color:var(--wov-gray-600)}.wov-floating-menu-bar>.wov-active:hover{background:var(--wov-primary-light)}.wov-divider{width:1px!important;height:24px!important;margin:auto 0;background-color:var(--wov-gray-600);flex-shrink:0}.wov-floating-menu{position:absolute;z-index:var(--wov-z-floating-menu);pointer-events:auto}.wov-floating-menu-inner{transition:transform .15s ease-out}.wov-fade-enter-active{transition:opacity .15s ease-out}.wov-fade-enter-from{opacity:0}.wov-fade-enter-from .wov-floating-menu-inner{transform:translateY(10px)}.wov-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--wov-z-overlay);display:flex;align-items:center;justify-content:center;background:#00000080;pointer-events:all}.wov-loading-spinner{font-size:24px;font-family:monospace;color:var(--wov-gray-100, #f5f5f5)}.wov-loading-fade-enter-active,.wov-loading-fade-leave-active{transition:opacity .3s ease}.wov-loading-fade-enter-from,.wov-loading-fade-leave-to{opacity:0}.wov-toolbar-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;cursor:pointer;color:var(--wov-gray-100);transition-property:background-color;transition-timing-function:var(--wov-transition-timing-function);transition-duration:var(--wov-transition-duration)}.wov-toolbar-button:hover{background-color:var(--wov-gray-600)}.wov-toolbar-button.selected{background-color:var(--wov-primary)}.wov-toolbar-button svg{width:20px;height:20px}.wov-toolbar-container{position:absolute;bottom:20px;left:50%;transform:translate(-50%);z-index:var(--wov-z-ui)}.wov-toolbar{display:flex;gap:8px;padding:8px 10px;overflow:hidden;cursor:pointer;color:var(--wov-gray-100);background-color:var(--wov-gray-100);border-radius:12px;box-shadow:0 0 .5px #0000002e,0 3px 8px #0000001a,0 1px 3px #0000001a}.wov-toolbar *{transition-property:background-color;transition-timing-function:var(--wov-transition-timing-function);transition-duration:var(--wov-transition-duration)}.wov-toolbar *[menu-open]{background-color:var(--wov-gray-600)}.wov-toolbar-button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;background:transparent;cursor:pointer;color:var(--wov-gray-700);border-radius:var(--wov-menu-border-radius)}.wov-toolbar-button:hover{background-color:var(--wov-gray-200)}.wov-toolbar-button.selected{background-color:var(--wov-primary);color:var(--wov-gray-100)}.wov-toolbar-button svg{width:20px;height:20px;display:block;flex-shrink:0}.menu{background-color:var(--wov-gray-700);border-radius:var(--wov-menu-border-radius);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.wov-user-presence{position:absolute;top:8px;right:8px;z-index:var(--wov-z-ui)}.wov-user-presence-trigger{display:flex;align-items:center;padding:4px;border:none;border-radius:20px;background:transparent;cursor:pointer;transition:background-color .15s ease}.wov-user-presence-trigger:hover,.wov-user-presence-trigger.is-open{background-color:#00000014}.wov-user-presence-avatars{display:flex;flex-direction:row-reverse}.wov-user-presence-avatars .wov-user-avatar:not(:first-child){margin-right:-12px}.wov-user-avatar{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;box-shadow:0 2px 4px #0000001a;border:2px solid white;-webkit-user-select:none;user-select:none}.wov-user-avatar-small{width:28px;height:28px;font-size:11px;flex-shrink:0}.wov-user-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.wov-user-presence-dropdown{position:absolute;top:100%;right:0;margin-top:8px;min-width:200px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;overflow:hidden}.wov-user-presence-list{max-height:240px;overflow-y:auto}.wov-user-presence-item{display:flex;align-items:center;gap:12px;padding:8px 16px}.wov-user-presence-item:hover{background-color:#f9fafb}.wov-user-presence-name{font-size:13px;color:#374151;font-family:system-ui,-apple-system,sans-serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wov-selection-box{box-sizing:border-box;width:100%;height:100%;background-color:var(--wov-selection-box-bg);border-style:solid;border-width:calc(3px / var(--wov-zoom));border-color:var(--wov-primary)}.wov-transform-box{position:relative;width:100%;height:100%;box-sizing:border-box;border:calc(2px / var(--wov-zoom)) solid var(--wov-primary);pointer-events:none}.wov-transform-handle{position:relative;width:100%;height:100%;box-sizing:border-box;border:calc(2px / var(--wov-zoom)) solid var(--wov-primary);border-radius:calc(2px / var(--wov-zoom));background-color:var(--wov-gray-100);transition-property:background-color;transition-timing-function:var(--wov-transition-timing-function);transition-duration:var(--wov-transition-duration)}.wov-block[data-hovered]>.wov-transform-handle{background-color:var(--wov-primary)}.wov-sticky-note{width:100%;height:fit-content;display:flex;padding:8%;box-sizing:border-box;box-shadow:#101820a6 0 4px 5px -6px,#10182073 0 11px 13px -12px,#10182d06 0 45px 10px -12px inset}.wov-user-cursors{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:var(--wov-z-cursors)}.wov-user-cursor{position:absolute;top:0;left:0;pointer-events:none;will-change:transform;transition:transform .1s ease-out}.wov-cursor-svg{display:block}.wov-cursor-label{position:absolute;top:16px;left:10px;padding:2px 6px;border-radius:4px;font-size:11px;font-family:system-ui,-apple-system,sans-serif;color:#fff;white-space:nowrap;-webkit-user-select:none;user-select:none}.wov-offline-indicator{position:absolute;top:12px;right:12px;z-index:var(--wov-z-ui);padding:6px 12px;color:var(--wov-gray-400);border-radius:6px;font-size:13px;font-weight:500;pointer-events:none}.wov-version-mismatch-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--wov-z-overlay);display:flex;align-items:center;justify-content:center;background:#00000080}.wov-version-mismatch-dialog{background:var(--wov-gray-50);color:var(--wov-gray-900);border-radius:12px;padding:24px 32px;text-align:center;box-shadow:0 4px 24px #0003}.wov-version-mismatch-dialog p{margin:0 0 8px;font-size:14px}.wov-version-mismatch-dialog button{margin-top:12px;padding:8px 20px;border:none;border-radius:6px;background:var(--wov-primary);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .15s ease}.wov-version-mismatch-dialog button:hover{background:var(--wov-primary-light)}.wov-back-to-content{position:absolute;top:16px;left:16px;z-index:var(--wov-z-ui);display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:500;color:var(--wov-gray-700, #374151);background-color:var(--wov-gray-100, #ffffff);border:1px solid var(--wov-gray-300, #d1d5db);border-radius:8px;cursor:pointer;box-shadow:0 1px 2px #0000000d,0 1px 3px #0000001a;transition:background-color .15s ease,border-color .15s ease}.wov-back-to-content:hover{background-color:var(--wov-gray-200, #f3f4f6);border-color:var(--wov-gray-400, #9ca3af)}.wov-back-to-content:active{background-color:var(--wov-gray-300, #e5e7eb)}.wov-back-to-content svg{flex-shrink:0}.wov-menu-button{display:flex;align-items:center;justify-content:center;height:100%;gap:4px;padding:0 8px}.wov-menu-dropdown{display:flex;background-color:var(--wov-gray-700);border-radius:var(--wov-menu-border-radius);overflow:hidden;box-shadow:0 0 .5px #0000002e,0 3px 8px #0000001a,0 1px 3px #0000001a}.wov-menu-option{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--wov-gray-100);cursor:pointer;transition:background-color .15s ease}.wov-menu-option:hover{background-color:var(--wov-gray-600)}.wov-menu-option.is-active{background-color:var(--wov-primary)}
|