@openeditor/ui 0.0.26 → 0.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +24 -19
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +105 -121
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.css
CHANGED
|
@@ -7,32 +7,46 @@
|
|
|
7
7
|
}
|
|
8
8
|
.oe-block-handle-anchor {
|
|
9
9
|
align-items: flex-start;
|
|
10
|
+
box-sizing: border-box;
|
|
11
|
+
cursor: grab;
|
|
10
12
|
display: flex;
|
|
13
|
+
justify-content: flex-end;
|
|
11
14
|
padding-right: 6px;
|
|
15
|
+
width: var(--oe-block-gutter-width, 42px);
|
|
12
16
|
z-index: 40;
|
|
13
17
|
}
|
|
18
|
+
.oe-block-handle-anchor[data-dragging=true] {
|
|
19
|
+
cursor: grabbing;
|
|
20
|
+
}
|
|
14
21
|
.oe-block-handle {
|
|
15
22
|
align-items: center;
|
|
16
23
|
background: transparent;
|
|
17
24
|
border: 0;
|
|
18
25
|
border-radius: 7px;
|
|
19
26
|
color: var(--oe-muted, #737373);
|
|
20
|
-
cursor: pointer;
|
|
21
27
|
display: flex;
|
|
22
28
|
height: 28px;
|
|
23
29
|
justify-content: center;
|
|
24
30
|
padding: 0;
|
|
31
|
+
pointer-events: none;
|
|
25
32
|
position: static;
|
|
33
|
+
transition: background-color 100ms ease, color 100ms ease;
|
|
26
34
|
width: 28px;
|
|
27
35
|
z-index: 40;
|
|
28
36
|
}
|
|
29
|
-
.oe-block-handle:hover,
|
|
30
|
-
.oe-block-handle:focus-visible,
|
|
31
|
-
.oe-block-handle[
|
|
37
|
+
.oe-block-handle-anchor:hover .oe-block-handle,
|
|
38
|
+
.oe-block-handle-anchor:focus-visible .oe-block-handle,
|
|
39
|
+
.oe-block-handle-anchor[aria-expanded=true] .oe-block-handle {
|
|
32
40
|
background: var(--oe-surface-muted, #f5f5f5);
|
|
33
41
|
color: var(--oe-text, #171717);
|
|
42
|
+
}
|
|
43
|
+
.oe-block-handle-anchor:focus-visible {
|
|
34
44
|
outline: none;
|
|
35
45
|
}
|
|
46
|
+
.oe-block-handle-anchor:focus-visible .oe-block-handle {
|
|
47
|
+
outline: 2px solid var(--oe-accent-strong, #171717);
|
|
48
|
+
outline-offset: 2px;
|
|
49
|
+
}
|
|
36
50
|
.oe-block-menu {
|
|
37
51
|
background: var(--oe-surface, #fff);
|
|
38
52
|
border: 0;
|
|
@@ -80,7 +94,11 @@
|
|
|
80
94
|
outline: none;
|
|
81
95
|
}
|
|
82
96
|
.oe-canvas {
|
|
97
|
+
--oe-block-gutter-outset: 0px;
|
|
98
|
+
--oe-block-gutter-width: 42px;
|
|
99
|
+
container-type: inline-size;
|
|
83
100
|
min-height: calc(100vh - 96px);
|
|
101
|
+
position: relative;
|
|
84
102
|
}
|
|
85
103
|
.oe-prosemirror,
|
|
86
104
|
.oe-viewer {
|
|
@@ -138,26 +156,13 @@
|
|
|
138
156
|
word-wrap: anywhere;
|
|
139
157
|
}
|
|
140
158
|
.oe-prosemirror {
|
|
141
|
-
--oe-block-gutter-width: 34px;
|
|
142
159
|
box-sizing: border-box;
|
|
143
|
-
margin-left: calc(-1 * var(--oe-block-gutter-
|
|
160
|
+
margin-left: calc(-1 * var(--oe-block-gutter-outset));
|
|
144
161
|
min-height: calc(100vh - 96px);
|
|
145
162
|
outline: none;
|
|
146
163
|
padding-left: var(--oe-block-gutter-width);
|
|
147
164
|
white-space: break-spaces;
|
|
148
|
-
width: calc(100% + var(--oe-block-gutter-
|
|
149
|
-
}
|
|
150
|
-
@container (max-width: 560px) {
|
|
151
|
-
.oe-prosemirror {
|
|
152
|
-
margin-left: 0;
|
|
153
|
-
width: 100%;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
@media (max-width: 560px) {
|
|
157
|
-
.oe-prosemirror {
|
|
158
|
-
margin-left: 0;
|
|
159
|
-
width: 100%;
|
|
160
|
-
}
|
|
165
|
+
width: calc(100% + var(--oe-block-gutter-outset));
|
|
161
166
|
}
|
|
162
167
|
.oe-prosemirror > *:first-child,
|
|
163
168
|
.oe-viewer > *:first-child {
|
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/styles.css"],"sourcesContent":[".oe-editor-surface {\n container-type: inline-size;\n display: grid;\n gap: 12px;\n position: relative;\n}\n\n.oe-block-handle-anchor {\n align-items: flex-start;\n display: flex;\n padding-right: 6px;\n z-index: 40;\n}\n\n.oe-block-handle {\n align-items: center;\n background: transparent;\n border: 0;\n border-radius: 7px;\n color: var(--oe-muted, #737373);\n cursor: pointer;\n display: flex;\n height: 28px;\n justify-content: center;\n padding: 0;\n position: static;\n width: 28px;\n z-index: 40;\n}\n\n.oe-block-handle:hover,\n.oe-block-handle:focus-visible,\n.oe-block-handle[data-popup-open] {\n background: var(--oe-surface-muted, #f5f5f5);\n color: var(--oe-text, #171717);\n outline: none;\n}\n\n.oe-block-menu {\n background: var(--oe-surface, #fff);\n border: 0;\n border-radius: 12px;\n min-width: 188px;\n outline: none;\n padding: 5px;\n z-index: 1000;\n}\n\n.oe-block-menu:focus,\n.oe-block-menu:focus-visible {\n outline: none;\n}\n\n.oe-block-menu-item {\n align-items: center;\n border-radius: 8px;\n color: var(--oe-text, #171717);\n cursor: default;\n display: flex;\n font-size: 13px;\n gap: 9px;\n min-height: 34px;\n outline: none;\n padding: 0 9px;\n}\n\n.oe-block-menu-item[data-highlighted] { background: var(--oe-surface-muted, #f5f5f5); }\n.oe-block-menu-item[data-danger] { color: #c83232; }\n.oe-block-menu-item[data-disabled] { opacity: .45; }\n.oe-block-menu-icon-placeholder { display: block; width: 15px; }\n.oe-block-menu-separator { background: var(--oe-border, #e5e5e5); height: 1px; margin: 4px; }\n\n.oe-prosemirror .ProseMirror-selectednode { outline: none; }\n\n.oe-canvas {\n min-height: calc(100vh - 96px);\n}\n\n.oe-prosemirror,\n.oe-viewer {\n color: var(--oe-text, #171717);\n font-family: var(--oe-font-sans, inherit);\n}\n\n.oe-editor-surface,\n.oe-prosemirror,\n.oe-viewer,\n.oe-slash-menu,\n.oe-dialog {\n scrollbar-color: color-mix(in srgb, var(--oe-muted, #737373) 72%, transparent) transparent;\n scrollbar-width: thin;\n}\n\n.oe-editor-surface::-webkit-scrollbar,\n.oe-editor-surface *::-webkit-scrollbar,\n.oe-prosemirror::-webkit-scrollbar,\n.oe-viewer::-webkit-scrollbar,\n.oe-slash-menu::-webkit-scrollbar,\n.oe-dialog::-webkit-scrollbar {\n height: 10px;\n width: 10px;\n}\n\n.oe-editor-surface::-webkit-scrollbar-track,\n.oe-editor-surface *::-webkit-scrollbar-track,\n.oe-prosemirror::-webkit-scrollbar-track,\n.oe-viewer::-webkit-scrollbar-track,\n.oe-slash-menu::-webkit-scrollbar-track,\n.oe-dialog::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.oe-editor-surface::-webkit-scrollbar-thumb,\n.oe-editor-surface *::-webkit-scrollbar-thumb,\n.oe-prosemirror::-webkit-scrollbar-thumb,\n.oe-viewer::-webkit-scrollbar-thumb,\n.oe-slash-menu::-webkit-scrollbar-thumb,\n.oe-dialog::-webkit-scrollbar-thumb {\n background-clip: content-box;\n background-color: color-mix(in srgb, var(--oe-muted, #737373) 58%, transparent);\n border: 3px solid transparent;\n border-radius: 999px;\n}\n\n.oe-editor-surface::-webkit-scrollbar-thumb:hover,\n.oe-editor-surface *::-webkit-scrollbar-thumb:hover,\n.oe-prosemirror::-webkit-scrollbar-thumb:hover,\n.oe-viewer::-webkit-scrollbar-thumb:hover,\n.oe-slash-menu::-webkit-scrollbar-thumb:hover,\n.oe-dialog::-webkit-scrollbar-thumb:hover {\n background-color: color-mix(in srgb, var(--oe-muted, #737373) 78%, transparent);\n}\n\n.ProseMirror.oe-prosemirror,\n.oe-prosemirror,\n.oe-viewer {\n overflow-wrap: anywhere;\n word-wrap: anywhere;\n}\n\n.oe-prosemirror {\n --oe-block-gutter-width: 34px;\n box-sizing: border-box;\n margin-left: calc(-1 * var(--oe-block-gutter-width));\n min-height: calc(100vh - 96px);\n outline: none;\n padding-left: var(--oe-block-gutter-width);\n white-space: break-spaces;\n width: calc(100% + var(--oe-block-gutter-width));\n}\n\n/* Narrow editors reserve the action gutter inside their own width so the\n handle never escapes the container or viewport. */\n@container (max-width: 560px) {\n .oe-prosemirror {\n margin-left: 0;\n width: 100%;\n }\n}\n\n/* Bare OpenEditorContent mounts may not have an oe-editor-surface container. */\n@media (max-width: 560px) {\n .oe-prosemirror {\n margin-left: 0;\n width: 100%;\n }\n}\n\n.oe-prosemirror > *:first-child,\n.oe-viewer > *:first-child {\n margin-top: 0;\n}\n\n.oe-prosemirror > *:last-child,\n.oe-viewer > *:last-child {\n margin-bottom: 0;\n}\n\n.oe-prosemirror .is-empty::before {\n color: var(--oe-placeholder, #a3a3a3);\n content: attr(data-placeholder);\n float: left;\n height: 0;\n pointer-events: none;\n}\n\n.oe-prosemirror img,\n.oe-viewer img {\n border-radius: var(--oe-radius-medium, 8px);\n display: block;\n margin: var(--oe-space-block, 16px) 0;\n max-width: 100%;\n}\n\n.oe-prosemirror blockquote,\n.oe-viewer blockquote {\n border-left: 3px solid var(--oe-structural-line, var(--oe-border, #e5e5e5));\n margin: var(--oe-space-block, 18px) 0;\n padding-left: var(--oe-space-inline, 16px);\n}\n\n.oe-prosemirror pre,\n.oe-viewer pre {\n background: var(--oe-code-background, var(--oe-block-surface, var(--oe-surface-muted, #f5f5f5)));\n border-radius: var(--oe-radius-medium, 8px);\n color: var(--oe-code-text, #171717);\n overflow: auto;\n padding: var(--oe-space-inline, 14px);\n white-space: pre-wrap;\n}\n\n.oe-prosemirror code,\n.oe-viewer code {\n font-family: var(--oe-font-mono, \"SFMono-Regular\", Consolas, \"Liberation Mono\", monospace);\n}\n\n.oe-prosemirror a,\n.oe-viewer a {\n color: var(--oe-link, var(--oe-accent-strong, #171717));\n cursor: pointer;\n text-decoration-color: color-mix(in srgb, var(--oe-link, var(--oe-accent-strong, #171717)) 65%, transparent);\n text-decoration-line: underline;\n text-decoration-thickness: 1.5px;\n text-underline-offset: 0.18em;\n}\n\n.oe-prosemirror a:hover,\n.oe-viewer a:hover {\n color: var(--oe-link-hover, var(--oe-link, var(--oe-accent-strong, #171717)));\n text-decoration-color: currentColor;\n}\n\n.oe-prosemirror p,\n.oe-prosemirror ul,\n.oe-prosemirror ol,\n.oe-viewer p,\n.oe-viewer ul,\n.oe-viewer ol {\n color: var(--oe-text-soft, #262626);\n font-size: 16px;\n line-height: 1.6;\n}\n\n.oe-prosemirror h1,\n.oe-prosemirror h2,\n.oe-prosemirror h3,\n.oe-prosemirror h4,\n.oe-prosemirror h5,\n.oe-prosemirror h6,\n.oe-viewer h1,\n.oe-viewer h2,\n.oe-viewer h3,\n.oe-viewer h4,\n.oe-viewer h5,\n.oe-viewer h6 {\n color: var(--oe-heading, var(--oe-text, #171717));\n font-weight: 700;\n line-height: 1.2;\n margin: 24px 0 10px;\n}\n\n.oe-prosemirror h1,\n.oe-viewer h1 {\n font-size: 2em;\n}\n\n.oe-prosemirror h2,\n.oe-viewer h2 {\n font-size: 1.5em;\n}\n\n.oe-prosemirror h3,\n.oe-viewer h3 {\n font-size: 1.25em;\n}\n\n.oe-prosemirror h4,\n.oe-viewer h4 {\n font-size: 1.125em;\n}\n\n.oe-prosemirror h5,\n.oe-prosemirror h6,\n.oe-viewer h5,\n.oe-viewer h6 {\n font-size: 1em;\n}\n\n.oe-prosemirror ul:not([data-type=\"taskList\"]),\n.oe-viewer ul:not([data-type=\"taskList\"]) {\n list-style: disc;\n padding-left: 1.5em;\n}\n\n.oe-prosemirror ol,\n.oe-viewer ol {\n list-style: decimal;\n padding-left: 1.5em;\n}\n\n.oe-prosemirror li,\n.oe-viewer li {\n margin: 4px 0;\n}\n\n.oe-prosemirror ul[data-openeditor-toggle-list],\n.oe-viewer ul[data-openeditor-toggle-list] {\n list-style: none;\n margin: 18px 0;\n padding: 0;\n}\n\n.oe-toggle-list-item {\n display: grid;\n gap: 8px;\n grid-template-columns: 24px minmax(0, 1fr);\n}\n\n.oe-toggle-list-trigger {\n align-items: center;\n align-self: start;\n background: transparent;\n border: 0;\n color: var(--oe-muted, #737373);\n cursor: pointer;\n display: inline-flex;\n height: 24px;\n justify-content: center;\n margin-top: 1px;\n padding: 0;\n width: 24px;\n}\n\n.oe-toggle-list-trigger:hover,\n.oe-toggle-list-trigger:focus-visible {\n color: var(--oe-text, #171717);\n outline: none;\n}\n\n.oe-toggle-list-trigger:focus-visible .oe-toggle-list-chevron {\n filter: drop-shadow(0 0 2px var(--oe-text, #171717));\n}\n\n.oe-toggle-list-trigger:disabled {\n cursor: default;\n}\n\n.oe-toggle-list-chevron {\n border-bottom: 4px solid transparent;\n border-left: 6px solid currentColor;\n border-top: 4px solid transparent;\n display: block;\n height: 0;\n transform: rotate(0deg);\n transform-origin: 3px center;\n transition: transform 140ms ease;\n width: 0;\n}\n\n.oe-toggle-list-item[data-open=\"true\"] > .oe-toggle-list-trigger .oe-toggle-list-chevron {\n transform: rotate(90deg);\n}\n\n.oe-toggle-list-content > :first-child,\n.oe-toggle-list-content > [data-node-view-content-react] > :first-child {\n margin-top: 0;\n}\n\n.oe-toggle-list-content > :last-child,\n.oe-toggle-list-content > [data-node-view-content-react] > :last-child {\n margin-bottom: 0;\n}\n\n.oe-toggle-list-item[data-open=\"false\"] > .oe-toggle-list-content > :not(:first-child),\n.oe-toggle-list-item[data-open=\"false\"] > .oe-toggle-list-content > [data-node-view-content-react] > :not(:first-child) {\n display: none;\n}\n\n.oe-callout {\n align-items: start;\n background: var(--oe-block-surface, var(--oe-surface-muted, #f5f5f5));\n border: 0;\n border-radius: var(--oe-radius-large, 12px);\n box-sizing: border-box;\n display: grid;\n gap: 8px;\n grid-template-columns: 28px minmax(0, 1fr);\n margin: var(--oe-space-block, 16px) 0;\n padding: var(--oe-space-inline, 14px);\n width: 100%;\n}\n\n.oe-callout-content > :first-child,\n.oe-callout-content > [data-node-view-content-react] > :first-child {\n margin-top: 0;\n}\n\n.oe-callout-content > :last-child,\n.oe-callout-content > [data-node-view-content-react] > :last-child {\n margin-bottom: 0;\n}\n\n.oe-callout-emoji {\n align-items: center;\n align-self: start;\n display: inline-flex;\n font-size: 20px;\n height: 26px;\n justify-content: center;\n line-height: 1;\n width: 28px;\n}\n\n.oe-callout .oe-callout-emoji-trigger {\n height: 26px;\n line-height: 1;\n width: 28px;\n}\n\n.oe-page {\n align-items: center;\n background: transparent;\n border: 0;\n border-radius: 6px;\n color: var(--oe-text, #171717);\n display: flex;\n font: inherit;\n gap: 8px;\n margin: 4px 0;\n min-height: 34px;\n padding: 3px 6px;\n text-align: left;\n width: 100%;\n}\n\n.oe-page:hover,\n.oe-page:focus-within {\n background: var(--oe-surface-muted, #f5f5f5);\n}\n\n.oe-page[data-page-id]:not([data-page-id=\"\"]) {\n cursor: pointer;\n}\n\n.oe-page[data-page-id]:not([data-page-id=\"\"]):focus-visible {\n box-shadow: 0 0 0 2px var(--oe-surface, #ffffff), 0 0 0 4px var(--oe-structural-line, #d4d4d4);\n outline: none;\n}\n\n.oe-page-icon {\n flex: 0 0 auto;\n font-size: 18px;\n line-height: 1;\n text-align: center;\n width: 24px;\n}\n\n.oe-emoji-trigger {\n align-items: center;\n background: transparent;\n border: 0;\n border-radius: 6px;\n color: inherit;\n cursor: pointer;\n display: inline-flex;\n font: inherit;\n font-size: 20px;\n height: 30px;\n justify-content: center;\n padding: 0;\n width: 30px;\n}\n\n.oe-emoji-trigger:hover,\n.oe-emoji-trigger:focus-visible,\n.oe-emoji-trigger[data-popup-open] {\n background: color-mix(in srgb, var(--oe-text, #171717) 8%, transparent);\n outline: none;\n}\n\n.oe-emoji-trigger:focus-visible {\n box-shadow: 0 0 0 2px var(--oe-surface, #ffffff), 0 0 0 4px var(--oe-structural-line, #d4d4d4);\n}\n\n.oe-emoji-trigger:disabled {\n cursor: default;\n}\n\n.oe-page-icon-trigger {\n font-size: 18px;\n height: 28px;\n width: 28px;\n}\n\n.oe-emoji-popover {\n background: var(--oe-surface, #ffffff);\n border-radius: 12px;\n box-shadow:\n 0 0 0 1px var(--oe-shadow, rgb(0 0 0 / 8%)),\n 0 16px 48px var(--oe-shadow, rgb(0 0 0 / 16%));\n color: var(--oe-text, #171717);\n overflow: hidden;\n transform-origin: var(--transform-origin);\n z-index: 1100;\n}\n\n.oe-emoji-picker {\n display: flex;\n height: min(360px, calc(100vh - 32px));\n isolation: isolate;\n width: min(320px, calc(100vw - 24px));\n flex-direction: column;\n}\n\n.oe-emoji-search {\n appearance: none;\n background: var(--oe-block-surface, var(--oe-surface-muted, #f5f5f5));\n border: 0;\n border-radius: 8px;\n color: var(--oe-text, #171717);\n font: inherit;\n font-size: 14px;\n margin: 8px;\n min-height: 38px;\n outline: none;\n padding: 0 11px;\n}\n\n.oe-emoji-search:focus {\n box-shadow: inset 0 0 0 1px var(--oe-structural-line, var(--oe-border, #e5e5e5));\n}\n\n.oe-emoji-viewport {\n min-height: 0;\n outline: none;\n overflow: auto;\n position: relative;\n flex: 1;\n}\n\n.oe-emoji-state {\n align-items: center;\n color: var(--oe-muted, #737373);\n display: flex;\n font-size: 13px;\n inset: 0;\n justify-content: center;\n position: absolute;\n}\n\n.oe-emoji-list {\n padding-bottom: 6px;\n user-select: none;\n}\n\n.oe-emoji-category {\n background: var(--oe-surface, #ffffff);\n color: var(--oe-muted, #737373);\n font-size: 11px;\n font-weight: 650;\n padding: 8px 10px 4px;\n}\n\n.oe-emoji-row {\n display: flex;\n padding: 0 6px;\n scroll-margin-block: 4px;\n}\n\n.oe-emoji-option {\n align-items: center;\n aspect-ratio: 1;\n background: transparent;\n border: 0;\n border-radius: 7px;\n cursor: pointer;\n display: flex;\n flex: 1;\n font-size: 20px;\n justify-content: center;\n min-width: 0;\n padding: 0;\n}\n\n.oe-emoji-option[data-active] {\n background: var(--oe-block-surface, var(--oe-surface-muted, #f5f5f5));\n}\n\n.oe-emoji-footer {\n align-items: center;\n border-top: 1px solid var(--oe-structural-line, var(--oe-border, #e5e5e5));\n color: var(--oe-muted, #737373);\n display: flex;\n font-size: 12px;\n gap: 7px;\n min-height: 42px;\n padding: 5px 8px;\n}\n\n.oe-emoji-footer > span:first-child {\n font-size: 18px;\n}\n\n.oe-emoji-footer [frimousse-skin-tone-selector] {\n background: transparent;\n border: 0;\n border-radius: 6px;\n cursor: pointer;\n font-size: 18px;\n margin-left: auto;\n min-height: 30px;\n min-width: 30px;\n}\n\n.oe-page-title {\n flex: 1 1 auto;\n font-weight: 500;\n min-width: 0;\n text-decoration: underline;\n text-decoration-color: color-mix(in srgb, currentColor 28%, transparent);\n text-underline-offset: 0.18em;\n}\n\n.oe-page-action {\n background: transparent;\n border: 0;\n border-radius: 5px;\n color: var(--oe-muted, #737373);\n cursor: pointer;\n flex: 0 0 auto;\n font: inherit;\n font-size: 12px;\n padding: 5px 7px;\n}\n\n.oe-page-action:hover { background: var(--oe-accent, #e5e5e5); color: var(--oe-text, #171717); }\n.oe-page-action:disabled { cursor: progress; opacity: 0.6; }\n.oe-page-error { color: #dc2626; font-size: 12px; }\n.oe-page-viewer { cursor: pointer; text-decoration: none; }\n.oe-page-arrow { color: var(--oe-muted, #737373); }\n\n.oe-diagram {\n background: var(--oe-block-surface, var(--oe-surface-muted, #f5f5f5));\n border: 0;\n border-radius: var(--oe-radius-large, 12px);\n margin: var(--oe-space-block, 18px) 0;\n overflow: hidden;\n}\n\n.oe-diagram-preview {\n background: var(--oe-block-surface, var(--oe-surface-muted, #f5f5f5));\n min-height: 120px;\n overflow: auto;\n padding: var(--oe-space-inline, 18px);\n}\n\n.oe-diagram-preview svg {\n display: block;\n height: auto;\n margin: auto;\n max-width: 100%;\n}\n\n.oe-diagram-source,\n.oe-diagram-error {\n background: var(--oe-block-surface, var(--oe-surface-muted, #f5f5f5));\n border: 0;\n border-top: 1px solid var(--oe-structural-line, var(--oe-border, #e5e5e5));\n box-sizing: border-box;\n color: var(--oe-code-text, #171717);\n display: block;\n font-family: \"SFMono-Regular\", Consolas, \"Liberation Mono\", monospace;\n font-size: 13px;\n line-height: 1.5;\n margin: 0;\n min-height: 112px;\n padding: 12px 14px;\n resize: vertical;\n width: 100%;\n}\n\n.oe-diagram-error {\n color: #dc2626;\n white-space: pre-wrap;\n}\n\n.oe-prosemirror hr,\n.oe-divider,\n.oe-viewer hr {\n border: 0;\n cursor: pointer;\n height: 1px;\n margin: 18px 0;\n padding: 10px 0;\n position: relative;\n}\n\n.oe-prosemirror hr::after,\n.oe-divider::after,\n.oe-viewer hr::after {\n background: var(--oe-structural-line, var(--oe-border, #e5e5e5));\n content: \"\";\n display: block;\n height: 1px;\n left: 0;\n pointer-events: none;\n position: absolute;\n right: 0;\n top: 10px;\n}\n\n.oe-prosemirror hr.ProseMirror-selectednode,\n.oe-divider.ProseMirror-selectednode {\n outline: none;\n}\n\n.oe-prosemirror hr.ProseMirror-selectednode::after,\n.oe-divider.ProseMirror-selectednode::after {\n background: var(--oe-structural-line, var(--oe-border, #e5e5e5));\n box-shadow: 0 0 0 6px var(--oe-accent, #f5f5f5);\n}\n\n.oe-columns {\n display: grid;\n gap: 12px;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n\n.oe-column,\n.oe-prosemirror [data-openeditor-column],\n.oe-viewer [data-openeditor-column] {\n border-radius: 8px;\n padding: 4px 6px;\n}\n\n.oe-prosemirror [data-openeditor-column] > :first-child,\n.oe-viewer [data-openeditor-column] > :first-child {\n margin-top: 0;\n}\n\n.oe-prosemirror [data-openeditor-column] > :last-child,\n.oe-viewer [data-openeditor-column] > :last-child {\n margin-bottom: 0;\n}\n\n.oe-prosemirror ul[data-type=\"taskList\"],\n.oe-viewer ul[data-type=\"taskList\"] {\n list-style: none;\n padding-left: 0;\n}\n\n.oe-prosemirror ul[data-type=\"taskList\"] > .react-renderer.node-taskItem {\n display: contents;\n}\n\n.oe-prosemirror ul[data-type=\"taskList\"] li,\n.oe-viewer li[data-checked] {\n align-items: start;\n display: grid;\n gap: 8px;\n grid-template-columns: 20px minmax(0, 1fr);\n}\n\n.oe-prosemirror ul[data-type=\"taskList\"] li > .oe-task-item-checkbox,\n.oe-viewer li[data-checked] > .oe-task-item-checkbox {\n align-items: center;\n display: inline-flex;\n flex: 0 0 auto;\n line-height: 1.6;\n margin-top: 3px;\n}\n\n.oe-task-checkbox {\n appearance: none;\n background: var(--oe-block-surface, var(--oe-surface-muted, #f5f5f5));\n border: 0;\n border-radius: 4px;\n box-shadow: none;\n cursor: pointer;\n display: inline-grid;\n height: 20px;\n margin: 0;\n outline: none !important;\n place-items: center;\n width: 20px;\n}\n\n.oe-task-checkbox[data-readonly] {\n cursor: default;\n}\n\n.oe-task-checkbox-indicator {\n border-bottom: 2px solid var(--oe-button-text, #ffffff);\n border-right: 2px solid var(--oe-button-text, #ffffff);\n height: 9px;\n opacity: 0;\n transform: translateY(-1px) rotate(45deg);\n width: 5px;\n}\n\n.oe-task-checkbox[data-checked] {\n background: var(--oe-accent-strong, #171717);\n}\n\n.oe-task-checkbox[data-checked] .oe-task-checkbox-indicator {\n opacity: 1;\n}\n\n.oe-prosemirror ul[data-type=\"taskList\"] li > [data-node-view-content],\n.oe-viewer li[data-checked] > div {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n.oe-prosemirror ul[data-type=\"taskList\"] li [data-node-view-content] p,\n.oe-viewer li[data-checked] > div > p {\n margin: 0;\n min-height: 1.6em;\n}\n\n.oe-prosemirror .tableWrapper > table,\n.oe-prosemirror table[data-openeditor-table],\n.oe-viewer table[data-openeditor-table] {\n border-collapse: collapse;\n margin: 18px 0;\n table-layout: fixed;\n width: 100%;\n}\n\n.oe-prosemirror .tableWrapper > table th,\n.oe-prosemirror .tableWrapper > table td,\n.oe-prosemirror table[data-openeditor-table] th,\n.oe-prosemirror table[data-openeditor-table] td,\n.oe-viewer table[data-openeditor-table] th,\n.oe-viewer table[data-openeditor-table] td {\n background: var(--oe-block-surface, var(--oe-surface-muted, #f5f5f5));\n border: 1px solid var(--oe-structural-line, var(--oe-border, #e5e5e5));\n min-width: 96px;\n padding: 10px;\n vertical-align: top;\n}\n\n.oe-prosemirror .tableWrapper > table th,\n.oe-prosemirror table[data-openeditor-table] th,\n.oe-viewer table[data-openeditor-table] th {\n font-weight: 700;\n}\n\n.oe-button,\n.oe-input {\n border: 1px solid var(--oe-border-strong, #d4d4d4);\n border-radius: 6px;\n color: var(--oe-text, #171717);\n font: inherit;\n min-height: 36px;\n}\n\n.oe-button {\n align-items: center;\n background: var(--oe-button-background, #171717);\n color: var(--oe-button-text, #ffffff);\n cursor: pointer;\n display: inline-flex;\n justify-content: center;\n padding: 0 12px;\n}\n\n.oe-button:hover,\n.oe-button:focus-visible,\n.oe-button[data-pressed] {\n background: var(--oe-accent, #f5f5f5);\n color: var(--oe-accent-text, #171717);\n}\n\n.oe-button-secondary {\n background: transparent;\n color: var(--oe-text, #171717);\n}\n\n.oe-input {\n background: var(--oe-surface, #ffffff);\n color: var(--oe-text, #171717);\n padding: 0 10px;\n width: 100%;\n}\n\n.oe-toggle-group {\n align-items: center;\n display: inline-flex;\n gap: 6px;\n}\n\n.oe-cascade-menu {\n align-items: flex-start;\n display: flex;\n gap: 4px;\n outline: none;\n z-index: 1002;\n}\n\n.oe-cascade-panel {\n flex: 0 0 auto;\n}\n\n.oe-slash-menu {\n background: var(--oe-surface, #ffffff);\n border-radius: 23px;\n overflow: hidden;\n padding: 6px;\n width: min(260px, calc(100vw - 24px));\n z-index: 1000;\n}\n\n.oe-slash-menu,\n.oe-slash-menu *,\n.oe-slash-menu *::before,\n.oe-slash-menu *::after {\n outline: none !important;\n}\n\n.oe-slash-menu-scroll {\n display: grid;\n gap: 2px;\n max-height: 308px;\n overflow-x: hidden;\n overflow-y: auto;\n padding-right: 2px;\n}\n\n.oe-slash-menu-scroll::-webkit-scrollbar {\n width: 8px;\n}\n\n.oe-slash-menu-scroll::-webkit-scrollbar-thumb {\n border-width: 2px;\n}\n\n.oe-slash-menu-item {\n align-items: center;\n background: transparent;\n border: 0;\n border-radius: 17px;\n color: var(--oe-text, #171717);\n cursor: pointer;\n display: flex;\n gap: 9px;\n justify-content: flex-start;\n min-height: 34px;\n outline: none;\n padding: 0 11px 0 9px;\n text-align: left;\n -webkit-tap-highlight-color: transparent;\n}\n\n.oe-slash-menu-item:focus,\n.oe-slash-menu-item:hover,\n.oe-slash-menu-item:focus-visible,\n.oe-slash-menu-item[data-highlighted] {\n background: var(--oe-surface-muted, #f5f5f5);\n box-shadow: none !important;\n outline: none !important;\n}\n\n.oe-slash-menu span {\n font-size: 13px;\n font-weight: 640;\n}\n\n.oe-slash-menu-icon {\n color: var(--oe-muted, #737373);\n flex: 0 0 auto;\n}\n\n.oe-submenu-chevron {\n color: var(--oe-muted, #737373);\n flex: 0 0 auto;\n margin-left: auto;\n}\n\n.oe-slash-submenu {\n display: grid;\n gap: 2px;\n width: 190px;\n}\n\n.oe-slash-menu-item:focus .oe-slash-menu-icon,\n.oe-slash-menu-item:hover .oe-slash-menu-icon,\n.oe-slash-menu-item:focus-visible .oe-slash-menu-icon,\n.oe-slash-menu-item[data-highlighted] .oe-slash-menu-icon {\n color: var(--oe-text, #171717);\n}\n\n.oe-bubble-menu {\n align-items: center;\n background: var(--oe-surface, #ffffff);\n border-radius: 999px;\n display: flex;\n gap: 2px;\n padding: 3px;\n z-index: 1000;\n}\n\n.oe-selection-toolbar {\n align-items: center;\n display: flex;\n gap: 2px;\n}\n\n.oe-toolbar-button {\n background: transparent;\n border: 0;\n border-radius: 999px;\n color: var(--oe-text, #171717);\n cursor: pointer;\n font-size: 12px;\n font-weight: 700;\n min-height: 28px;\n min-width: 28px;\n padding: 0 9px;\n}\n\n.oe-toolbar-icon {\n display: block;\n flex: 0 0 auto;\n}\n\n.oe-toolbar-chevron {\n color: var(--oe-muted, #737373);\n display: block;\n flex: 0 0 auto;\n margin-left: -2px;\n}\n\n.oe-block-transform-trigger {\n align-items: center;\n display: inline-flex;\n gap: 5px;\n justify-content: center;\n padding: 0 9px;\n}\n\n.oe-block-transform-trigger-label {\n font-size: 12px;\n font-weight: 700;\n line-height: 1;\n white-space: nowrap;\n}\n\n.oe-toolbar-button:hover,\n.oe-toolbar-button:focus-visible,\n.oe-toolbar-button[data-active] {\n background: var(--oe-surface-muted, #f5f5f5);\n color: var(--oe-accent-strong, #171717);\n outline: none;\n}\n\n.oe-toolbar-button:hover .oe-toolbar-chevron,\n.oe-toolbar-button:focus-visible .oe-toolbar-chevron,\n.oe-toolbar-button[data-active] .oe-toolbar-chevron {\n color: var(--oe-accent-strong, #171717);\n}\n\n.oe-block-transform-menu {\n background: var(--oe-surface, #ffffff);\n border-radius: 23px;\n display: grid;\n gap: 2px;\n min-width: 174px;\n padding: 6px;\n z-index: 1002;\n}\n\n.oe-block-transform-submenu {\n min-width: 160px;\n}\n\n.oe-block-transform-menu,\n.oe-block-transform-menu *,\n.oe-block-transform-menu *::before,\n.oe-block-transform-menu *::after {\n outline: none !important;\n}\n\n.oe-block-transform-item {\n align-items: center;\n background: transparent;\n border: 0;\n border-radius: 17px;\n color: var(--oe-text, #171717);\n cursor: pointer;\n display: flex;\n gap: 9px;\n min-height: 34px;\n padding: 0 11px 0 9px;\n text-align: left;\n -webkit-tap-highlight-color: transparent;\n}\n\n.oe-block-transform-item span {\n font-size: 13px;\n font-weight: 640;\n}\n\n.oe-block-transform-icon {\n color: var(--oe-muted, #737373);\n flex: 0 0 auto;\n}\n\n.oe-block-transform-item:hover,\n.oe-block-transform-item:focus,\n.oe-block-transform-item:focus-visible,\n.oe-block-transform-item[data-highlighted],\n.oe-block-transform-item[data-active] {\n background: var(--oe-surface-muted, #f5f5f5);\n box-shadow: none !important;\n outline: none !important;\n}\n\n.oe-block-transform-item:hover .oe-block-transform-icon,\n.oe-block-transform-item:focus .oe-block-transform-icon,\n.oe-block-transform-item:focus-visible .oe-block-transform-icon,\n.oe-block-transform-item[data-highlighted] .oe-block-transform-icon,\n.oe-block-transform-item[data-active] .oe-block-transform-icon {\n color: var(--oe-text, #171717);\n}\n\n.oe-dialog-backdrop {\n background: rgb(0 0 0 / 24%);\n inset: 0;\n position: fixed;\n z-index: 1000;\n}\n\n.oe-dialog {\n background: var(--oe-surface, #ffffff);\n border: 0;\n border-radius: 23px;\n box-shadow:\n 0 0 0 1px var(--oe-shadow, rgb(0 0 0 / 6%)),\n 0 18px 48px var(--oe-shadow, rgb(0 0 0 / 14%));\n left: 50%;\n max-width: min(420px, calc(100vw - 32px));\n padding: 8px;\n position: fixed;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 100%;\n z-index: 1001;\n}\n\n.oe-dialog-close {\n align-items: center;\n background: transparent;\n border: 0;\n border-radius: 999px;\n color: var(--oe-muted, #737373);\n cursor: pointer;\n display: flex;\n height: 34px;\n justify-content: center;\n padding: 0;\n position: absolute;\n right: 8px;\n top: 8px;\n transition-duration: 140ms;\n transition-property: color, transform;\n transition-timing-function: cubic-bezier(0.2, 0, 0, 1);\n width: 34px;\n}\n\n.oe-dialog-close:hover,\n.oe-dialog-close:focus-visible {\n color: var(--oe-text, #171717);\n outline: none;\n}\n\n.oe-dialog-close:active {\n transform: scale(0.96);\n}\n\n.oe-link-dialog-form {\n display: grid;\n gap: 8px;\n}\n\n.oe-dialog-title {\n color: var(--oe-text, #171717);\n font-size: 13px;\n font-weight: 640;\n margin: 0;\n padding: 6px 8px 2px;\n}\n\n.oe-dialog .oe-input {\n background: var(--oe-surface-muted, #f5f5f5);\n border: 0;\n border-radius: 17px;\n box-shadow: inset 0 0 0 1px var(--oe-shadow, rgb(0 0 0 / 8%));\n caret-color: var(--oe-text, #171717);\n color: var(--oe-text, #171717);\n font-size: 13px;\n min-height: 38px;\n outline: none;\n padding: 0 12px;\n}\n\n.oe-dialog .oe-input::placeholder {\n color: var(--oe-muted, #737373);\n}\n\n.oe-dialog .oe-input:hover,\n.oe-dialog .oe-input:focus,\n.oe-dialog .oe-input:focus-visible {\n box-shadow:\n inset 0 0 0 1px var(--oe-shadow, rgb(0 0 0 / 12%)),\n 0 0 0 3px var(--oe-surface-muted, #f5f5f5);\n outline: none;\n}\n\n.oe-dialog-actions {\n align-items: center;\n display: flex;\n gap: 4px;\n justify-content: flex-end;\n padding-top: 2px;\n}\n\n.oe-dialog-button {\n border: 0;\n border-radius: 17px;\n box-shadow: none;\n font-size: 13px;\n font-weight: 640;\n min-height: 34px;\n padding: 0 12px;\n transition-duration: 140ms;\n transition-property: background-color, color, transform;\n transition-timing-function: cubic-bezier(0.2, 0, 0, 1);\n}\n\n.oe-dialog-button:hover,\n.oe-dialog-button:focus-visible {\n background: var(--oe-surface-muted, #f5f5f5);\n color: var(--oe-text, #171717);\n outline: none;\n}\n\n.oe-dialog-button:active {\n transform: scale(0.96);\n}\n\n.oe-dialog-button-primary {\n background: var(--oe-text, #171717);\n color: var(--oe-surface, #ffffff);\n}\n\n.oe-dialog-button-remove {\n background: var(--oe-surface-muted, #f5f5f5);\n box-shadow: inset 0 0 0 1px var(--oe-shadow, rgb(0 0 0 / 6%));\n color: var(--oe-text, #171717);\n}\n\n.oe-dialog-button-remove:hover,\n.oe-dialog-button-remove:focus-visible {\n background: var(--oe-surface-muted, #f5f5f5);\n box-shadow: inset 0 0 0 1px var(--oe-shadow, rgb(0 0 0 / 10%));\n color: var(--oe-text, #171717);\n}\n\n.oe-dialog-button-primary:hover,\n.oe-dialog-button-primary:focus-visible {\n background: var(--oe-text, #171717);\n color: var(--oe-surface, #ffffff);\n opacity: 0.88;\n}\n\n.oe-attachment {\n align-items: center;\n background: var(--oe-surface, #fff);\n border: 1px solid var(--oe-border, #e5e5e5);\n border-radius: 12px;\n color: var(--oe-text, #171717);\n display: flex;\n gap: 12px;\n margin: 8px 0;\n min-height: 68px;\n padding: 10px 12px;\n text-align: left;\n text-decoration: none;\n transition: border-color 140ms, box-shadow 140ms, background 140ms;\n width: 100%;\n}\n\n.oe-attachment:hover,\n.oe-attachment:focus-within {\n border-color: var(--oe-border-strong, #d4d4d4);\n box-shadow: 0 4px 18px var(--oe-shadow, rgb(0 0 0 / 8%));\n outline: none;\n}\n\n.oe-attachment[data-state=\"error\"],\n.oe-attachment[data-state=\"missing\"] { border-color: #efb0b0; }\n\n.oe-attachment-icon {\n align-items: center;\n background: var(--oe-surface-muted, #f5f5f5);\n border-radius: 9px;\n display: flex;\n flex: 0 0 42px;\n height: 48px;\n justify-content: center;\n}\n\n.oe-attachment-icon span { color: var(--oe-muted, #737373); font-size: 9px; font-weight: 750; letter-spacing: .04em; }\n.oe-attachment-body { display: flex; flex: 1; flex-direction: column; min-width: 0; }\n.oe-attachment-name { background: transparent; border: 0; color: inherit; font: inherit; font-weight: 650; min-width: 0; outline: none; overflow: hidden; padding: 0; text-overflow: ellipsis; white-space: nowrap; }\n.oe-attachment-meta { color: var(--oe-muted, #737373); display: block; font-size: 12px; margin-top: 3px; }\n.oe-attachment-progress { background: var(--oe-surface-muted, #f5f5f5); border-radius: 2px; height: 4px; margin-top: 8px; overflow: hidden; }\n.oe-attachment-progress span { background: var(--oe-accent-strong, #171717); display: block; height: 100%; transition: width 90ms linear; }\n.oe-attachment-error { color: #b42318; font-size: 12px; margin-top: 4px; }\n.oe-attachment-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 4px; justify-content: flex-end; }\n.oe-attachment-actions button { background: transparent; border: 0; border-radius: 7px; color: var(--oe-muted, #737373); cursor: pointer; font: inherit; font-size: 12px; min-height: 34px; padding: 0 8px; }\n.oe-attachment-actions button:hover, .oe-attachment-actions button:focus-visible { background: var(--oe-surface-muted, #f5f5f5); color: var(--oe-text, #171717); outline: none; }\n.oe-attachment-viewer { cursor: pointer; }\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/styles.css"],"sourcesContent":[".oe-editor-surface {\n container-type: inline-size;\n display: grid;\n gap: 12px;\n position: relative;\n}\n\n.oe-block-handle-anchor {\n align-items: flex-start;\n box-sizing: border-box;\n cursor: grab;\n display: flex;\n justify-content: flex-end;\n padding-right: 6px;\n width: var(--oe-block-gutter-width, 42px);\n z-index: 40;\n}\n\n.oe-block-handle-anchor[data-dragging=\"true\"] { cursor: grabbing; }\n\n.oe-block-handle {\n align-items: center;\n background: transparent;\n border: 0;\n border-radius: 7px;\n color: var(--oe-muted, #737373);\n display: flex;\n height: 28px;\n justify-content: center;\n padding: 0;\n pointer-events: none;\n position: static;\n transition: background-color 100ms ease, color 100ms ease;\n width: 28px;\n z-index: 40;\n}\n\n.oe-block-handle-anchor:hover .oe-block-handle,\n.oe-block-handle-anchor:focus-visible .oe-block-handle,\n.oe-block-handle-anchor[aria-expanded=\"true\"] .oe-block-handle {\n background: var(--oe-surface-muted, #f5f5f5);\n color: var(--oe-text, #171717);\n}\n\n.oe-block-handle-anchor:focus-visible { outline: none; }\n\n.oe-block-handle-anchor:focus-visible .oe-block-handle {\n outline: 2px solid var(--oe-accent-strong, #171717);\n outline-offset: 2px;\n}\n\n.oe-block-menu {\n background: var(--oe-surface, #fff);\n border: 0;\n border-radius: 12px;\n min-width: 188px;\n outline: none;\n padding: 5px;\n z-index: 1000;\n}\n\n.oe-block-menu:focus,\n.oe-block-menu:focus-visible {\n outline: none;\n}\n\n.oe-block-menu-item {\n align-items: center;\n border-radius: 8px;\n color: var(--oe-text, #171717);\n cursor: default;\n display: flex;\n font-size: 13px;\n gap: 9px;\n min-height: 34px;\n outline: none;\n padding: 0 9px;\n}\n\n.oe-block-menu-item[data-highlighted] { background: var(--oe-surface-muted, #f5f5f5); }\n.oe-block-menu-item[data-danger] { color: #c83232; }\n.oe-block-menu-item[data-disabled] { opacity: .45; }\n.oe-block-menu-icon-placeholder { display: block; width: 15px; }\n.oe-block-menu-separator { background: var(--oe-border, #e5e5e5); height: 1px; margin: 4px; }\n\n.oe-prosemirror .ProseMirror-selectednode { outline: none; }\n\n.oe-canvas {\n --oe-block-gutter-outset: 0px;\n --oe-block-gutter-width: 42px;\n container-type: inline-size;\n min-height: calc(100vh - 96px);\n position: relative;\n}\n\n.oe-prosemirror,\n.oe-viewer {\n color: var(--oe-text, #171717);\n font-family: var(--oe-font-sans, inherit);\n}\n\n.oe-editor-surface,\n.oe-prosemirror,\n.oe-viewer,\n.oe-slash-menu,\n.oe-dialog {\n scrollbar-color: color-mix(in srgb, var(--oe-muted, #737373) 72%, transparent) transparent;\n scrollbar-width: thin;\n}\n\n.oe-editor-surface::-webkit-scrollbar,\n.oe-editor-surface *::-webkit-scrollbar,\n.oe-prosemirror::-webkit-scrollbar,\n.oe-viewer::-webkit-scrollbar,\n.oe-slash-menu::-webkit-scrollbar,\n.oe-dialog::-webkit-scrollbar {\n height: 10px;\n width: 10px;\n}\n\n.oe-editor-surface::-webkit-scrollbar-track,\n.oe-editor-surface *::-webkit-scrollbar-track,\n.oe-prosemirror::-webkit-scrollbar-track,\n.oe-viewer::-webkit-scrollbar-track,\n.oe-slash-menu::-webkit-scrollbar-track,\n.oe-dialog::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.oe-editor-surface::-webkit-scrollbar-thumb,\n.oe-editor-surface *::-webkit-scrollbar-thumb,\n.oe-prosemirror::-webkit-scrollbar-thumb,\n.oe-viewer::-webkit-scrollbar-thumb,\n.oe-slash-menu::-webkit-scrollbar-thumb,\n.oe-dialog::-webkit-scrollbar-thumb {\n background-clip: content-box;\n background-color: color-mix(in srgb, var(--oe-muted, #737373) 58%, transparent);\n border: 3px solid transparent;\n border-radius: 999px;\n}\n\n.oe-editor-surface::-webkit-scrollbar-thumb:hover,\n.oe-editor-surface *::-webkit-scrollbar-thumb:hover,\n.oe-prosemirror::-webkit-scrollbar-thumb:hover,\n.oe-viewer::-webkit-scrollbar-thumb:hover,\n.oe-slash-menu::-webkit-scrollbar-thumb:hover,\n.oe-dialog::-webkit-scrollbar-thumb:hover {\n background-color: color-mix(in srgb, var(--oe-muted, #737373) 78%, transparent);\n}\n\n.ProseMirror.oe-prosemirror,\n.oe-prosemirror,\n.oe-viewer {\n overflow-wrap: anywhere;\n word-wrap: anywhere;\n}\n\n.oe-prosemirror {\n box-sizing: border-box;\n margin-left: calc(-1 * var(--oe-block-gutter-outset));\n min-height: calc(100vh - 96px);\n outline: none;\n padding-left: var(--oe-block-gutter-width);\n white-space: break-spaces;\n width: calc(100% + var(--oe-block-gutter-outset));\n}\n\n.oe-prosemirror > *:first-child,\n.oe-viewer > *:first-child {\n margin-top: 0;\n}\n\n.oe-prosemirror > *:last-child,\n.oe-viewer > *:last-child {\n margin-bottom: 0;\n}\n\n.oe-prosemirror .is-empty::before {\n color: var(--oe-placeholder, #a3a3a3);\n content: attr(data-placeholder);\n float: left;\n height: 0;\n pointer-events: none;\n}\n\n.oe-prosemirror img,\n.oe-viewer img {\n border-radius: var(--oe-radius-medium, 8px);\n display: block;\n margin: var(--oe-space-block, 16px) 0;\n max-width: 100%;\n}\n\n.oe-prosemirror blockquote,\n.oe-viewer blockquote {\n border-left: 3px solid var(--oe-structural-line, var(--oe-border, #e5e5e5));\n margin: var(--oe-space-block, 18px) 0;\n padding-left: var(--oe-space-inline, 16px);\n}\n\n.oe-prosemirror pre,\n.oe-viewer pre {\n background: var(--oe-code-background, var(--oe-block-surface, var(--oe-surface-muted, #f5f5f5)));\n border-radius: var(--oe-radius-medium, 8px);\n color: var(--oe-code-text, #171717);\n overflow: auto;\n padding: var(--oe-space-inline, 14px);\n white-space: pre-wrap;\n}\n\n.oe-prosemirror code,\n.oe-viewer code {\n font-family: var(--oe-font-mono, \"SFMono-Regular\", Consolas, \"Liberation Mono\", monospace);\n}\n\n.oe-prosemirror a,\n.oe-viewer a {\n color: var(--oe-link, var(--oe-accent-strong, #171717));\n cursor: pointer;\n text-decoration-color: color-mix(in srgb, var(--oe-link, var(--oe-accent-strong, #171717)) 65%, transparent);\n text-decoration-line: underline;\n text-decoration-thickness: 1.5px;\n text-underline-offset: 0.18em;\n}\n\n.oe-prosemirror a:hover,\n.oe-viewer a:hover {\n color: var(--oe-link-hover, var(--oe-link, var(--oe-accent-strong, #171717)));\n text-decoration-color: currentColor;\n}\n\n.oe-prosemirror p,\n.oe-prosemirror ul,\n.oe-prosemirror ol,\n.oe-viewer p,\n.oe-viewer ul,\n.oe-viewer ol {\n color: var(--oe-text-soft, #262626);\n font-size: 16px;\n line-height: 1.6;\n}\n\n.oe-prosemirror h1,\n.oe-prosemirror h2,\n.oe-prosemirror h3,\n.oe-prosemirror h4,\n.oe-prosemirror h5,\n.oe-prosemirror h6,\n.oe-viewer h1,\n.oe-viewer h2,\n.oe-viewer h3,\n.oe-viewer h4,\n.oe-viewer h5,\n.oe-viewer h6 {\n color: var(--oe-heading, var(--oe-text, #171717));\n font-weight: 700;\n line-height: 1.2;\n margin: 24px 0 10px;\n}\n\n.oe-prosemirror h1,\n.oe-viewer h1 {\n font-size: 2em;\n}\n\n.oe-prosemirror h2,\n.oe-viewer h2 {\n font-size: 1.5em;\n}\n\n.oe-prosemirror h3,\n.oe-viewer h3 {\n font-size: 1.25em;\n}\n\n.oe-prosemirror h4,\n.oe-viewer h4 {\n font-size: 1.125em;\n}\n\n.oe-prosemirror h5,\n.oe-prosemirror h6,\n.oe-viewer h5,\n.oe-viewer h6 {\n font-size: 1em;\n}\n\n.oe-prosemirror ul:not([data-type=\"taskList\"]),\n.oe-viewer ul:not([data-type=\"taskList\"]) {\n list-style: disc;\n padding-left: 1.5em;\n}\n\n.oe-prosemirror ol,\n.oe-viewer ol {\n list-style: decimal;\n padding-left: 1.5em;\n}\n\n.oe-prosemirror li,\n.oe-viewer li {\n margin: 4px 0;\n}\n\n.oe-prosemirror ul[data-openeditor-toggle-list],\n.oe-viewer ul[data-openeditor-toggle-list] {\n list-style: none;\n margin: 18px 0;\n padding: 0;\n}\n\n.oe-toggle-list-item {\n display: grid;\n gap: 8px;\n grid-template-columns: 24px minmax(0, 1fr);\n}\n\n.oe-toggle-list-trigger {\n align-items: center;\n align-self: start;\n background: transparent;\n border: 0;\n color: var(--oe-muted, #737373);\n cursor: pointer;\n display: inline-flex;\n height: 24px;\n justify-content: center;\n margin-top: 1px;\n padding: 0;\n width: 24px;\n}\n\n.oe-toggle-list-trigger:hover,\n.oe-toggle-list-trigger:focus-visible {\n color: var(--oe-text, #171717);\n outline: none;\n}\n\n.oe-toggle-list-trigger:focus-visible .oe-toggle-list-chevron {\n filter: drop-shadow(0 0 2px var(--oe-text, #171717));\n}\n\n.oe-toggle-list-trigger:disabled {\n cursor: default;\n}\n\n.oe-toggle-list-chevron {\n border-bottom: 4px solid transparent;\n border-left: 6px solid currentColor;\n border-top: 4px solid transparent;\n display: block;\n height: 0;\n transform: rotate(0deg);\n transform-origin: 3px center;\n transition: transform 140ms ease;\n width: 0;\n}\n\n.oe-toggle-list-item[data-open=\"true\"] > .oe-toggle-list-trigger .oe-toggle-list-chevron {\n transform: rotate(90deg);\n}\n\n.oe-toggle-list-content > :first-child,\n.oe-toggle-list-content > [data-node-view-content-react] > :first-child {\n margin-top: 0;\n}\n\n.oe-toggle-list-content > :last-child,\n.oe-toggle-list-content > [data-node-view-content-react] > :last-child {\n margin-bottom: 0;\n}\n\n.oe-toggle-list-item[data-open=\"false\"] > .oe-toggle-list-content > :not(:first-child),\n.oe-toggle-list-item[data-open=\"false\"] > .oe-toggle-list-content > [data-node-view-content-react] > :not(:first-child) {\n display: none;\n}\n\n.oe-callout {\n align-items: start;\n background: var(--oe-block-surface, var(--oe-surface-muted, #f5f5f5));\n border: 0;\n border-radius: var(--oe-radius-large, 12px);\n box-sizing: border-box;\n display: grid;\n gap: 8px;\n grid-template-columns: 28px minmax(0, 1fr);\n margin: var(--oe-space-block, 16px) 0;\n padding: var(--oe-space-inline, 14px);\n width: 100%;\n}\n\n.oe-callout-content > :first-child,\n.oe-callout-content > [data-node-view-content-react] > :first-child {\n margin-top: 0;\n}\n\n.oe-callout-content > :last-child,\n.oe-callout-content > [data-node-view-content-react] > :last-child {\n margin-bottom: 0;\n}\n\n.oe-callout-emoji {\n align-items: center;\n align-self: start;\n display: inline-flex;\n font-size: 20px;\n height: 26px;\n justify-content: center;\n line-height: 1;\n width: 28px;\n}\n\n.oe-callout .oe-callout-emoji-trigger {\n height: 26px;\n line-height: 1;\n width: 28px;\n}\n\n.oe-page {\n align-items: center;\n background: transparent;\n border: 0;\n border-radius: 6px;\n color: var(--oe-text, #171717);\n display: flex;\n font: inherit;\n gap: 8px;\n margin: 4px 0;\n min-height: 34px;\n padding: 3px 6px;\n text-align: left;\n width: 100%;\n}\n\n.oe-page:hover,\n.oe-page:focus-within {\n background: var(--oe-surface-muted, #f5f5f5);\n}\n\n.oe-page[data-page-id]:not([data-page-id=\"\"]) {\n cursor: pointer;\n}\n\n.oe-page[data-page-id]:not([data-page-id=\"\"]):focus-visible {\n box-shadow: 0 0 0 2px var(--oe-surface, #ffffff), 0 0 0 4px var(--oe-structural-line, #d4d4d4);\n outline: none;\n}\n\n.oe-page-icon {\n flex: 0 0 auto;\n font-size: 18px;\n line-height: 1;\n text-align: center;\n width: 24px;\n}\n\n.oe-emoji-trigger {\n align-items: center;\n background: transparent;\n border: 0;\n border-radius: 6px;\n color: inherit;\n cursor: pointer;\n display: inline-flex;\n font: inherit;\n font-size: 20px;\n height: 30px;\n justify-content: center;\n padding: 0;\n width: 30px;\n}\n\n.oe-emoji-trigger:hover,\n.oe-emoji-trigger:focus-visible,\n.oe-emoji-trigger[data-popup-open] {\n background: color-mix(in srgb, var(--oe-text, #171717) 8%, transparent);\n outline: none;\n}\n\n.oe-emoji-trigger:focus-visible {\n box-shadow: 0 0 0 2px var(--oe-surface, #ffffff), 0 0 0 4px var(--oe-structural-line, #d4d4d4);\n}\n\n.oe-emoji-trigger:disabled {\n cursor: default;\n}\n\n.oe-page-icon-trigger {\n font-size: 18px;\n height: 28px;\n width: 28px;\n}\n\n.oe-emoji-popover {\n background: var(--oe-surface, #ffffff);\n border-radius: 12px;\n box-shadow:\n 0 0 0 1px var(--oe-shadow, rgb(0 0 0 / 8%)),\n 0 16px 48px var(--oe-shadow, rgb(0 0 0 / 16%));\n color: var(--oe-text, #171717);\n overflow: hidden;\n transform-origin: var(--transform-origin);\n z-index: 1100;\n}\n\n.oe-emoji-picker {\n display: flex;\n height: min(360px, calc(100vh - 32px));\n isolation: isolate;\n width: min(320px, calc(100vw - 24px));\n flex-direction: column;\n}\n\n.oe-emoji-search {\n appearance: none;\n background: var(--oe-block-surface, var(--oe-surface-muted, #f5f5f5));\n border: 0;\n border-radius: 8px;\n color: var(--oe-text, #171717);\n font: inherit;\n font-size: 14px;\n margin: 8px;\n min-height: 38px;\n outline: none;\n padding: 0 11px;\n}\n\n.oe-emoji-search:focus {\n box-shadow: inset 0 0 0 1px var(--oe-structural-line, var(--oe-border, #e5e5e5));\n}\n\n.oe-emoji-viewport {\n min-height: 0;\n outline: none;\n overflow: auto;\n position: relative;\n flex: 1;\n}\n\n.oe-emoji-state {\n align-items: center;\n color: var(--oe-muted, #737373);\n display: flex;\n font-size: 13px;\n inset: 0;\n justify-content: center;\n position: absolute;\n}\n\n.oe-emoji-list {\n padding-bottom: 6px;\n user-select: none;\n}\n\n.oe-emoji-category {\n background: var(--oe-surface, #ffffff);\n color: var(--oe-muted, #737373);\n font-size: 11px;\n font-weight: 650;\n padding: 8px 10px 4px;\n}\n\n.oe-emoji-row {\n display: flex;\n padding: 0 6px;\n scroll-margin-block: 4px;\n}\n\n.oe-emoji-option {\n align-items: center;\n aspect-ratio: 1;\n background: transparent;\n border: 0;\n border-radius: 7px;\n cursor: pointer;\n display: flex;\n flex: 1;\n font-size: 20px;\n justify-content: center;\n min-width: 0;\n padding: 0;\n}\n\n.oe-emoji-option[data-active] {\n background: var(--oe-block-surface, var(--oe-surface-muted, #f5f5f5));\n}\n\n.oe-emoji-footer {\n align-items: center;\n border-top: 1px solid var(--oe-structural-line, var(--oe-border, #e5e5e5));\n color: var(--oe-muted, #737373);\n display: flex;\n font-size: 12px;\n gap: 7px;\n min-height: 42px;\n padding: 5px 8px;\n}\n\n.oe-emoji-footer > span:first-child {\n font-size: 18px;\n}\n\n.oe-emoji-footer [frimousse-skin-tone-selector] {\n background: transparent;\n border: 0;\n border-radius: 6px;\n cursor: pointer;\n font-size: 18px;\n margin-left: auto;\n min-height: 30px;\n min-width: 30px;\n}\n\n.oe-page-title {\n flex: 1 1 auto;\n font-weight: 500;\n min-width: 0;\n text-decoration: underline;\n text-decoration-color: color-mix(in srgb, currentColor 28%, transparent);\n text-underline-offset: 0.18em;\n}\n\n.oe-page-action {\n background: transparent;\n border: 0;\n border-radius: 5px;\n color: var(--oe-muted, #737373);\n cursor: pointer;\n flex: 0 0 auto;\n font: inherit;\n font-size: 12px;\n padding: 5px 7px;\n}\n\n.oe-page-action:hover { background: var(--oe-accent, #e5e5e5); color: var(--oe-text, #171717); }\n.oe-page-action:disabled { cursor: progress; opacity: 0.6; }\n.oe-page-error { color: #dc2626; font-size: 12px; }\n.oe-page-viewer { cursor: pointer; text-decoration: none; }\n.oe-page-arrow { color: var(--oe-muted, #737373); }\n\n.oe-diagram {\n background: var(--oe-block-surface, var(--oe-surface-muted, #f5f5f5));\n border: 0;\n border-radius: var(--oe-radius-large, 12px);\n margin: var(--oe-space-block, 18px) 0;\n overflow: hidden;\n}\n\n.oe-diagram-preview {\n background: var(--oe-block-surface, var(--oe-surface-muted, #f5f5f5));\n min-height: 120px;\n overflow: auto;\n padding: var(--oe-space-inline, 18px);\n}\n\n.oe-diagram-preview svg {\n display: block;\n height: auto;\n margin: auto;\n max-width: 100%;\n}\n\n.oe-diagram-source,\n.oe-diagram-error {\n background: var(--oe-block-surface, var(--oe-surface-muted, #f5f5f5));\n border: 0;\n border-top: 1px solid var(--oe-structural-line, var(--oe-border, #e5e5e5));\n box-sizing: border-box;\n color: var(--oe-code-text, #171717);\n display: block;\n font-family: \"SFMono-Regular\", Consolas, \"Liberation Mono\", monospace;\n font-size: 13px;\n line-height: 1.5;\n margin: 0;\n min-height: 112px;\n padding: 12px 14px;\n resize: vertical;\n width: 100%;\n}\n\n.oe-diagram-error {\n color: #dc2626;\n white-space: pre-wrap;\n}\n\n.oe-prosemirror hr,\n.oe-divider,\n.oe-viewer hr {\n border: 0;\n cursor: pointer;\n height: 1px;\n margin: 18px 0;\n padding: 10px 0;\n position: relative;\n}\n\n.oe-prosemirror hr::after,\n.oe-divider::after,\n.oe-viewer hr::after {\n background: var(--oe-structural-line, var(--oe-border, #e5e5e5));\n content: \"\";\n display: block;\n height: 1px;\n left: 0;\n pointer-events: none;\n position: absolute;\n right: 0;\n top: 10px;\n}\n\n.oe-prosemirror hr.ProseMirror-selectednode,\n.oe-divider.ProseMirror-selectednode {\n outline: none;\n}\n\n.oe-prosemirror hr.ProseMirror-selectednode::after,\n.oe-divider.ProseMirror-selectednode::after {\n background: var(--oe-structural-line, var(--oe-border, #e5e5e5));\n box-shadow: 0 0 0 6px var(--oe-accent, #f5f5f5);\n}\n\n.oe-columns {\n display: grid;\n gap: 12px;\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n\n.oe-column,\n.oe-prosemirror [data-openeditor-column],\n.oe-viewer [data-openeditor-column] {\n border-radius: 8px;\n padding: 4px 6px;\n}\n\n.oe-prosemirror [data-openeditor-column] > :first-child,\n.oe-viewer [data-openeditor-column] > :first-child {\n margin-top: 0;\n}\n\n.oe-prosemirror [data-openeditor-column] > :last-child,\n.oe-viewer [data-openeditor-column] > :last-child {\n margin-bottom: 0;\n}\n\n.oe-prosemirror ul[data-type=\"taskList\"],\n.oe-viewer ul[data-type=\"taskList\"] {\n list-style: none;\n padding-left: 0;\n}\n\n.oe-prosemirror ul[data-type=\"taskList\"] > .react-renderer.node-taskItem {\n display: contents;\n}\n\n.oe-prosemirror ul[data-type=\"taskList\"] li,\n.oe-viewer li[data-checked] {\n align-items: start;\n display: grid;\n gap: 8px;\n grid-template-columns: 20px minmax(0, 1fr);\n}\n\n.oe-prosemirror ul[data-type=\"taskList\"] li > .oe-task-item-checkbox,\n.oe-viewer li[data-checked] > .oe-task-item-checkbox {\n align-items: center;\n display: inline-flex;\n flex: 0 0 auto;\n line-height: 1.6;\n margin-top: 3px;\n}\n\n.oe-task-checkbox {\n appearance: none;\n background: var(--oe-block-surface, var(--oe-surface-muted, #f5f5f5));\n border: 0;\n border-radius: 4px;\n box-shadow: none;\n cursor: pointer;\n display: inline-grid;\n height: 20px;\n margin: 0;\n outline: none !important;\n place-items: center;\n width: 20px;\n}\n\n.oe-task-checkbox[data-readonly] {\n cursor: default;\n}\n\n.oe-task-checkbox-indicator {\n border-bottom: 2px solid var(--oe-button-text, #ffffff);\n border-right: 2px solid var(--oe-button-text, #ffffff);\n height: 9px;\n opacity: 0;\n transform: translateY(-1px) rotate(45deg);\n width: 5px;\n}\n\n.oe-task-checkbox[data-checked] {\n background: var(--oe-accent-strong, #171717);\n}\n\n.oe-task-checkbox[data-checked] .oe-task-checkbox-indicator {\n opacity: 1;\n}\n\n.oe-prosemirror ul[data-type=\"taskList\"] li > [data-node-view-content],\n.oe-viewer li[data-checked] > div {\n flex: 1 1 auto;\n min-width: 0;\n}\n\n.oe-prosemirror ul[data-type=\"taskList\"] li [data-node-view-content] p,\n.oe-viewer li[data-checked] > div > p {\n margin: 0;\n min-height: 1.6em;\n}\n\n.oe-prosemirror .tableWrapper > table,\n.oe-prosemirror table[data-openeditor-table],\n.oe-viewer table[data-openeditor-table] {\n border-collapse: collapse;\n margin: 18px 0;\n table-layout: fixed;\n width: 100%;\n}\n\n.oe-prosemirror .tableWrapper > table th,\n.oe-prosemirror .tableWrapper > table td,\n.oe-prosemirror table[data-openeditor-table] th,\n.oe-prosemirror table[data-openeditor-table] td,\n.oe-viewer table[data-openeditor-table] th,\n.oe-viewer table[data-openeditor-table] td {\n background: var(--oe-block-surface, var(--oe-surface-muted, #f5f5f5));\n border: 1px solid var(--oe-structural-line, var(--oe-border, #e5e5e5));\n min-width: 96px;\n padding: 10px;\n vertical-align: top;\n}\n\n.oe-prosemirror .tableWrapper > table th,\n.oe-prosemirror table[data-openeditor-table] th,\n.oe-viewer table[data-openeditor-table] th {\n font-weight: 700;\n}\n\n.oe-button,\n.oe-input {\n border: 1px solid var(--oe-border-strong, #d4d4d4);\n border-radius: 6px;\n color: var(--oe-text, #171717);\n font: inherit;\n min-height: 36px;\n}\n\n.oe-button {\n align-items: center;\n background: var(--oe-button-background, #171717);\n color: var(--oe-button-text, #ffffff);\n cursor: pointer;\n display: inline-flex;\n justify-content: center;\n padding: 0 12px;\n}\n\n.oe-button:hover,\n.oe-button:focus-visible,\n.oe-button[data-pressed] {\n background: var(--oe-accent, #f5f5f5);\n color: var(--oe-accent-text, #171717);\n}\n\n.oe-button-secondary {\n background: transparent;\n color: var(--oe-text, #171717);\n}\n\n.oe-input {\n background: var(--oe-surface, #ffffff);\n color: var(--oe-text, #171717);\n padding: 0 10px;\n width: 100%;\n}\n\n.oe-toggle-group {\n align-items: center;\n display: inline-flex;\n gap: 6px;\n}\n\n.oe-cascade-menu {\n align-items: flex-start;\n display: flex;\n gap: 4px;\n outline: none;\n z-index: 1002;\n}\n\n.oe-cascade-panel {\n flex: 0 0 auto;\n}\n\n.oe-slash-menu {\n background: var(--oe-surface, #ffffff);\n border-radius: 23px;\n overflow: hidden;\n padding: 6px;\n width: min(260px, calc(100vw - 24px));\n z-index: 1000;\n}\n\n.oe-slash-menu,\n.oe-slash-menu *,\n.oe-slash-menu *::before,\n.oe-slash-menu *::after {\n outline: none !important;\n}\n\n.oe-slash-menu-scroll {\n display: grid;\n gap: 2px;\n max-height: 308px;\n overflow-x: hidden;\n overflow-y: auto;\n padding-right: 2px;\n}\n\n.oe-slash-menu-scroll::-webkit-scrollbar {\n width: 8px;\n}\n\n.oe-slash-menu-scroll::-webkit-scrollbar-thumb {\n border-width: 2px;\n}\n\n.oe-slash-menu-item {\n align-items: center;\n background: transparent;\n border: 0;\n border-radius: 17px;\n color: var(--oe-text, #171717);\n cursor: pointer;\n display: flex;\n gap: 9px;\n justify-content: flex-start;\n min-height: 34px;\n outline: none;\n padding: 0 11px 0 9px;\n text-align: left;\n -webkit-tap-highlight-color: transparent;\n}\n\n.oe-slash-menu-item:focus,\n.oe-slash-menu-item:hover,\n.oe-slash-menu-item:focus-visible,\n.oe-slash-menu-item[data-highlighted] {\n background: var(--oe-surface-muted, #f5f5f5);\n box-shadow: none !important;\n outline: none !important;\n}\n\n.oe-slash-menu span {\n font-size: 13px;\n font-weight: 640;\n}\n\n.oe-slash-menu-icon {\n color: var(--oe-muted, #737373);\n flex: 0 0 auto;\n}\n\n.oe-submenu-chevron {\n color: var(--oe-muted, #737373);\n flex: 0 0 auto;\n margin-left: auto;\n}\n\n.oe-slash-submenu {\n display: grid;\n gap: 2px;\n width: 190px;\n}\n\n.oe-slash-menu-item:focus .oe-slash-menu-icon,\n.oe-slash-menu-item:hover .oe-slash-menu-icon,\n.oe-slash-menu-item:focus-visible .oe-slash-menu-icon,\n.oe-slash-menu-item[data-highlighted] .oe-slash-menu-icon {\n color: var(--oe-text, #171717);\n}\n\n.oe-bubble-menu {\n align-items: center;\n background: var(--oe-surface, #ffffff);\n border-radius: 999px;\n display: flex;\n gap: 2px;\n padding: 3px;\n z-index: 1000;\n}\n\n.oe-selection-toolbar {\n align-items: center;\n display: flex;\n gap: 2px;\n}\n\n.oe-toolbar-button {\n background: transparent;\n border: 0;\n border-radius: 999px;\n color: var(--oe-text, #171717);\n cursor: pointer;\n font-size: 12px;\n font-weight: 700;\n min-height: 28px;\n min-width: 28px;\n padding: 0 9px;\n}\n\n.oe-toolbar-icon {\n display: block;\n flex: 0 0 auto;\n}\n\n.oe-toolbar-chevron {\n color: var(--oe-muted, #737373);\n display: block;\n flex: 0 0 auto;\n margin-left: -2px;\n}\n\n.oe-block-transform-trigger {\n align-items: center;\n display: inline-flex;\n gap: 5px;\n justify-content: center;\n padding: 0 9px;\n}\n\n.oe-block-transform-trigger-label {\n font-size: 12px;\n font-weight: 700;\n line-height: 1;\n white-space: nowrap;\n}\n\n.oe-toolbar-button:hover,\n.oe-toolbar-button:focus-visible,\n.oe-toolbar-button[data-active] {\n background: var(--oe-surface-muted, #f5f5f5);\n color: var(--oe-accent-strong, #171717);\n outline: none;\n}\n\n.oe-toolbar-button:hover .oe-toolbar-chevron,\n.oe-toolbar-button:focus-visible .oe-toolbar-chevron,\n.oe-toolbar-button[data-active] .oe-toolbar-chevron {\n color: var(--oe-accent-strong, #171717);\n}\n\n.oe-block-transform-menu {\n background: var(--oe-surface, #ffffff);\n border-radius: 23px;\n display: grid;\n gap: 2px;\n min-width: 174px;\n padding: 6px;\n z-index: 1002;\n}\n\n.oe-block-transform-submenu {\n min-width: 160px;\n}\n\n.oe-block-transform-menu,\n.oe-block-transform-menu *,\n.oe-block-transform-menu *::before,\n.oe-block-transform-menu *::after {\n outline: none !important;\n}\n\n.oe-block-transform-item {\n align-items: center;\n background: transparent;\n border: 0;\n border-radius: 17px;\n color: var(--oe-text, #171717);\n cursor: pointer;\n display: flex;\n gap: 9px;\n min-height: 34px;\n padding: 0 11px 0 9px;\n text-align: left;\n -webkit-tap-highlight-color: transparent;\n}\n\n.oe-block-transform-item span {\n font-size: 13px;\n font-weight: 640;\n}\n\n.oe-block-transform-icon {\n color: var(--oe-muted, #737373);\n flex: 0 0 auto;\n}\n\n.oe-block-transform-item:hover,\n.oe-block-transform-item:focus,\n.oe-block-transform-item:focus-visible,\n.oe-block-transform-item[data-highlighted],\n.oe-block-transform-item[data-active] {\n background: var(--oe-surface-muted, #f5f5f5);\n box-shadow: none !important;\n outline: none !important;\n}\n\n.oe-block-transform-item:hover .oe-block-transform-icon,\n.oe-block-transform-item:focus .oe-block-transform-icon,\n.oe-block-transform-item:focus-visible .oe-block-transform-icon,\n.oe-block-transform-item[data-highlighted] .oe-block-transform-icon,\n.oe-block-transform-item[data-active] .oe-block-transform-icon {\n color: var(--oe-text, #171717);\n}\n\n.oe-dialog-backdrop {\n background: rgb(0 0 0 / 24%);\n inset: 0;\n position: fixed;\n z-index: 1000;\n}\n\n.oe-dialog {\n background: var(--oe-surface, #ffffff);\n border: 0;\n border-radius: 23px;\n box-shadow:\n 0 0 0 1px var(--oe-shadow, rgb(0 0 0 / 6%)),\n 0 18px 48px var(--oe-shadow, rgb(0 0 0 / 14%));\n left: 50%;\n max-width: min(420px, calc(100vw - 32px));\n padding: 8px;\n position: fixed;\n top: 50%;\n transform: translate(-50%, -50%);\n width: 100%;\n z-index: 1001;\n}\n\n.oe-dialog-close {\n align-items: center;\n background: transparent;\n border: 0;\n border-radius: 999px;\n color: var(--oe-muted, #737373);\n cursor: pointer;\n display: flex;\n height: 34px;\n justify-content: center;\n padding: 0;\n position: absolute;\n right: 8px;\n top: 8px;\n transition-duration: 140ms;\n transition-property: color, transform;\n transition-timing-function: cubic-bezier(0.2, 0, 0, 1);\n width: 34px;\n}\n\n.oe-dialog-close:hover,\n.oe-dialog-close:focus-visible {\n color: var(--oe-text, #171717);\n outline: none;\n}\n\n.oe-dialog-close:active {\n transform: scale(0.96);\n}\n\n.oe-link-dialog-form {\n display: grid;\n gap: 8px;\n}\n\n.oe-dialog-title {\n color: var(--oe-text, #171717);\n font-size: 13px;\n font-weight: 640;\n margin: 0;\n padding: 6px 8px 2px;\n}\n\n.oe-dialog .oe-input {\n background: var(--oe-surface-muted, #f5f5f5);\n border: 0;\n border-radius: 17px;\n box-shadow: inset 0 0 0 1px var(--oe-shadow, rgb(0 0 0 / 8%));\n caret-color: var(--oe-text, #171717);\n color: var(--oe-text, #171717);\n font-size: 13px;\n min-height: 38px;\n outline: none;\n padding: 0 12px;\n}\n\n.oe-dialog .oe-input::placeholder {\n color: var(--oe-muted, #737373);\n}\n\n.oe-dialog .oe-input:hover,\n.oe-dialog .oe-input:focus,\n.oe-dialog .oe-input:focus-visible {\n box-shadow:\n inset 0 0 0 1px var(--oe-shadow, rgb(0 0 0 / 12%)),\n 0 0 0 3px var(--oe-surface-muted, #f5f5f5);\n outline: none;\n}\n\n.oe-dialog-actions {\n align-items: center;\n display: flex;\n gap: 4px;\n justify-content: flex-end;\n padding-top: 2px;\n}\n\n.oe-dialog-button {\n border: 0;\n border-radius: 17px;\n box-shadow: none;\n font-size: 13px;\n font-weight: 640;\n min-height: 34px;\n padding: 0 12px;\n transition-duration: 140ms;\n transition-property: background-color, color, transform;\n transition-timing-function: cubic-bezier(0.2, 0, 0, 1);\n}\n\n.oe-dialog-button:hover,\n.oe-dialog-button:focus-visible {\n background: var(--oe-surface-muted, #f5f5f5);\n color: var(--oe-text, #171717);\n outline: none;\n}\n\n.oe-dialog-button:active {\n transform: scale(0.96);\n}\n\n.oe-dialog-button-primary {\n background: var(--oe-text, #171717);\n color: var(--oe-surface, #ffffff);\n}\n\n.oe-dialog-button-remove {\n background: var(--oe-surface-muted, #f5f5f5);\n box-shadow: inset 0 0 0 1px var(--oe-shadow, rgb(0 0 0 / 6%));\n color: var(--oe-text, #171717);\n}\n\n.oe-dialog-button-remove:hover,\n.oe-dialog-button-remove:focus-visible {\n background: var(--oe-surface-muted, #f5f5f5);\n box-shadow: inset 0 0 0 1px var(--oe-shadow, rgb(0 0 0 / 10%));\n color: var(--oe-text, #171717);\n}\n\n.oe-dialog-button-primary:hover,\n.oe-dialog-button-primary:focus-visible {\n background: var(--oe-text, #171717);\n color: var(--oe-surface, #ffffff);\n opacity: 0.88;\n}\n\n.oe-attachment {\n align-items: center;\n background: var(--oe-surface, #fff);\n border: 1px solid var(--oe-border, #e5e5e5);\n border-radius: 12px;\n color: var(--oe-text, #171717);\n display: flex;\n gap: 12px;\n margin: 8px 0;\n min-height: 68px;\n padding: 10px 12px;\n text-align: left;\n text-decoration: none;\n transition: border-color 140ms, box-shadow 140ms, background 140ms;\n width: 100%;\n}\n\n.oe-attachment:hover,\n.oe-attachment:focus-within {\n border-color: var(--oe-border-strong, #d4d4d4);\n box-shadow: 0 4px 18px var(--oe-shadow, rgb(0 0 0 / 8%));\n outline: none;\n}\n\n.oe-attachment[data-state=\"error\"],\n.oe-attachment[data-state=\"missing\"] { border-color: #efb0b0; }\n\n.oe-attachment-icon {\n align-items: center;\n background: var(--oe-surface-muted, #f5f5f5);\n border-radius: 9px;\n display: flex;\n flex: 0 0 42px;\n height: 48px;\n justify-content: center;\n}\n\n.oe-attachment-icon span { color: var(--oe-muted, #737373); font-size: 9px; font-weight: 750; letter-spacing: .04em; }\n.oe-attachment-body { display: flex; flex: 1; flex-direction: column; min-width: 0; }\n.oe-attachment-name { background: transparent; border: 0; color: inherit; font: inherit; font-weight: 650; min-width: 0; outline: none; overflow: hidden; padding: 0; text-overflow: ellipsis; white-space: nowrap; }\n.oe-attachment-meta { color: var(--oe-muted, #737373); display: block; font-size: 12px; margin-top: 3px; }\n.oe-attachment-progress { background: var(--oe-surface-muted, #f5f5f5); border-radius: 2px; height: 4px; margin-top: 8px; overflow: hidden; }\n.oe-attachment-progress span { background: var(--oe-accent-strong, #171717); display: block; height: 100%; transition: width 90ms linear; }\n.oe-attachment-error { color: #b42318; font-size: 12px; margin-top: 4px; }\n.oe-attachment-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 4px; justify-content: flex-end; }\n.oe-attachment-actions button { background: transparent; border: 0; border-radius: 7px; color: var(--oe-muted, #737373); cursor: pointer; font: inherit; font-size: 12px; min-height: 34px; padding: 0 8px; }\n.oe-attachment-actions button:hover, .oe-attachment-actions button:focus-visible { background: var(--oe-surface-muted, #f5f5f5); color: var(--oe-text, #171717); outline: none; }\n.oe-attachment-viewer { cursor: pointer; }\n"],"mappings":"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","names":[]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
2
|
import { OpenEditorReactProps, OpenEditorTheme, OpenEditorController, OpenEditorSlashMenuItem } from '@openeditor/react';
|
|
3
|
-
export { OpenEditorBlockAction,
|
|
3
|
+
export { OpenEditorBlockAction, OpenEditorBlockRef, OpenEditorContent, OpenEditorController, OpenEditorReactProps, OpenEditorSlashMenuIcon, OpenEditorSlashMenuIconProps, OpenEditorSlashMenuItem, OpenEditorTheme, OpenEditorThemeProvider, OpenEditorThemeStyle, OpenEditorThemeToken, createOpenEditorThemeStyle, openEditorThemeTokenNames, useOpenEditorController } from '@openeditor/react';
|
|
4
4
|
export { OpenEditorEmojiPicker, OpenEditorEmojiPickerProps } from '@openeditor/emoji';
|
|
5
5
|
import { Button } from '@base-ui/react/button';
|
|
6
6
|
import { Input } from '@base-ui/react/input';
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useOpenEditorThemeStyle, sortSlashMenuItems, getDefaultSlashMenuItems,
|
|
1
|
+
import { useOpenEditorThemeStyle, sortSlashMenuItems, getDefaultSlashMenuItems, useOpenEditorBlockInteraction, OpenEditorBlockDragHandle, useOpenEditorController, OpenEditorThemeProvider, OpenEditorContent } from '@openeditor/react';
|
|
2
2
|
export { OpenEditorContent, OpenEditorThemeProvider, createOpenEditorThemeStyle, openEditorThemeTokenNames, useOpenEditorController } from '@openeditor/react';
|
|
3
3
|
export { OpenEditorEmojiPicker } from '@openeditor/emoji';
|
|
4
4
|
import { Button } from '@base-ui/react/button';
|
|
@@ -10,7 +10,7 @@ import { Toggle } from '@base-ui/react/toggle';
|
|
|
10
10
|
import { ToggleGroup } from '@base-ui/react/toggle-group';
|
|
11
11
|
import { Toolbar } from '@base-ui/react/toolbar';
|
|
12
12
|
import { Pilcrow, List, ListOrdered, ListTodo, Quote, Code, Heading1, Heading2, Heading3, Heading4, Heading5, Heading6, Bold, Italic, Underline, Strikethrough, Link, ChevronRight, GripVertical, ChevronDown, X, ArrowDown, ArrowUp, Upload, FileText, GitBranch, MessageSquare, Table, Columns2, Image, Minus, Type, Copy, CopyPlus, Trash2 } from 'lucide-react';
|
|
13
|
-
import { useState, useRef, useMemo, useEffect,
|
|
13
|
+
import { useState, useRef, useMemo, useEffect, Fragment as Fragment$1 } from 'react';
|
|
14
14
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
15
15
|
|
|
16
16
|
// src/index.tsx
|
|
@@ -27,49 +27,49 @@ var blockTransformActions = [
|
|
|
27
27
|
key: "paragraph",
|
|
28
28
|
label: "Paragraph",
|
|
29
29
|
Icon: Pilcrow,
|
|
30
|
-
isActive: (
|
|
30
|
+
isActive: (controller) => controller.isActive("paragraph"),
|
|
31
31
|
run: (controller) => controller.setParagraph()
|
|
32
32
|
},
|
|
33
33
|
...headingDefinitions.map(({ level, Icon }) => ({
|
|
34
34
|
key: `heading${level}`,
|
|
35
35
|
label: `Heading ${level}`,
|
|
36
36
|
Icon,
|
|
37
|
-
isActive: (
|
|
37
|
+
isActive: (controller) => controller.isActive("heading", { level }),
|
|
38
38
|
run: (controller) => controller.toggleHeading(level)
|
|
39
39
|
})),
|
|
40
40
|
{
|
|
41
41
|
key: "bulletList",
|
|
42
42
|
label: "Bullet List",
|
|
43
43
|
Icon: List,
|
|
44
|
-
isActive: (
|
|
44
|
+
isActive: (controller) => controller.isActive("bulletList"),
|
|
45
45
|
run: (controller) => controller.toggleBulletList()
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
48
|
key: "orderedList",
|
|
49
49
|
label: "Numbered List",
|
|
50
50
|
Icon: ListOrdered,
|
|
51
|
-
isActive: (
|
|
51
|
+
isActive: (controller) => controller.isActive("orderedList"),
|
|
52
52
|
run: (controller) => controller.toggleOrderedList()
|
|
53
53
|
},
|
|
54
54
|
{
|
|
55
55
|
key: "taskList",
|
|
56
56
|
label: "Task List",
|
|
57
57
|
Icon: ListTodo,
|
|
58
|
-
isActive: (
|
|
58
|
+
isActive: (controller) => controller.isActive("taskList"),
|
|
59
59
|
run: (controller) => controller.toggleTaskList()
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
62
|
key: "blockquote",
|
|
63
63
|
label: "Quote",
|
|
64
64
|
Icon: Quote,
|
|
65
|
-
isActive: (
|
|
65
|
+
isActive: (controller) => controller.isActive("blockquote"),
|
|
66
66
|
run: (controller) => controller.toggleBlockquote()
|
|
67
67
|
},
|
|
68
68
|
{
|
|
69
69
|
key: "codeBlock",
|
|
70
70
|
label: "Code",
|
|
71
71
|
Icon: Code,
|
|
72
|
-
isActive: (
|
|
72
|
+
isActive: (controller) => controller.isActive("codeBlock"),
|
|
73
73
|
run: (controller) => controller.toggleCodeBlock()
|
|
74
74
|
}
|
|
75
75
|
];
|
|
@@ -341,7 +341,8 @@ var OpenEditorSelectionBubble = ({
|
|
|
341
341
|
container
|
|
342
342
|
}) => {
|
|
343
343
|
const themeStyle = useOpenEditorThemeStyle();
|
|
344
|
-
const {
|
|
344
|
+
const { selectionBubbleState } = controller;
|
|
345
|
+
const rootElement = controller.getRootElement();
|
|
345
346
|
const [linkDialogOpen, setLinkDialogOpen] = useState(false);
|
|
346
347
|
const lastAnchorRef = useRef(null);
|
|
347
348
|
if (selectionBubbleState) {
|
|
@@ -350,48 +351,48 @@ var OpenEditorSelectionBubble = ({
|
|
|
350
351
|
const anchor = useMemo(
|
|
351
352
|
() => {
|
|
352
353
|
const anchorState = selectionBubbleState ?? lastAnchorRef.current;
|
|
353
|
-
return anchorState ? toVirtualAnchor(anchorState,
|
|
354
|
+
return anchorState ? toVirtualAnchor(anchorState, rootElement) : null;
|
|
354
355
|
},
|
|
355
|
-
[
|
|
356
|
+
[rootElement, selectionBubbleState]
|
|
356
357
|
);
|
|
357
|
-
const actions =
|
|
358
|
+
const actions = controller.ready ? [
|
|
358
359
|
{
|
|
359
360
|
key: "bold",
|
|
360
361
|
label: "Bold",
|
|
361
|
-
active:
|
|
362
|
+
active: controller.isActive("bold"),
|
|
362
363
|
Icon: Bold,
|
|
363
364
|
run: () => controller.toggleBold()
|
|
364
365
|
},
|
|
365
366
|
{
|
|
366
367
|
key: "italic",
|
|
367
368
|
label: "Italic",
|
|
368
|
-
active:
|
|
369
|
+
active: controller.isActive("italic"),
|
|
369
370
|
Icon: Italic,
|
|
370
371
|
run: () => controller.toggleItalic()
|
|
371
372
|
},
|
|
372
373
|
{
|
|
373
374
|
key: "underline",
|
|
374
375
|
label: "Underline",
|
|
375
|
-
active:
|
|
376
|
+
active: controller.isActive("underline"),
|
|
376
377
|
Icon: Underline,
|
|
377
378
|
run: () => controller.toggleUnderline()
|
|
378
379
|
},
|
|
379
380
|
{
|
|
380
381
|
key: "strike",
|
|
381
382
|
label: "Strikethrough",
|
|
382
|
-
active:
|
|
383
|
+
active: controller.isActive("strike"),
|
|
383
384
|
Icon: Strikethrough,
|
|
384
385
|
run: () => controller.toggleStrike()
|
|
385
386
|
},
|
|
386
387
|
{
|
|
387
388
|
key: "code",
|
|
388
389
|
label: "Inline code",
|
|
389
|
-
active:
|
|
390
|
+
active: controller.isActive("code"),
|
|
390
391
|
Icon: Code,
|
|
391
392
|
run: () => controller.toggleInlineCode()
|
|
392
393
|
}
|
|
393
394
|
] : [];
|
|
394
|
-
if (!
|
|
395
|
+
if (!controller.ready || !selectionBubbleState && !linkDialogOpen) {
|
|
395
396
|
return null;
|
|
396
397
|
}
|
|
397
398
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
@@ -420,7 +421,7 @@ var OpenEditorSelectionBubble = ({
|
|
|
420
421
|
type: "button",
|
|
421
422
|
"aria-label": "Link",
|
|
422
423
|
className: "oe-toolbar-button",
|
|
423
|
-
"data-active":
|
|
424
|
+
"data-active": controller.isActive("link") ? "" : void 0,
|
|
424
425
|
onClick: () => setLinkDialogOpen(true),
|
|
425
426
|
children: /* @__PURE__ */ jsx(Link, { "aria-hidden": "true", className: "oe-toolbar-icon", size: 15, strokeWidth: 2 })
|
|
426
427
|
}
|
|
@@ -453,9 +454,9 @@ var OpenEditorSlashMenu = ({
|
|
|
453
454
|
const anchor = useMemo(
|
|
454
455
|
() => slashState ? toVirtualAnchor(
|
|
455
456
|
slashState,
|
|
456
|
-
controller.
|
|
457
|
+
controller.getRootElement()
|
|
457
458
|
) : null,
|
|
458
|
-
[controller
|
|
459
|
+
[controller, slashState]
|
|
459
460
|
);
|
|
460
461
|
useEffect(() => setHeadingPanelOpen(false), [slashState?.query]);
|
|
461
462
|
if (!slashState) {
|
|
@@ -551,18 +552,33 @@ var OpenEditorSlashMenu = ({
|
|
|
551
552
|
}
|
|
552
553
|
) }) });
|
|
553
554
|
};
|
|
554
|
-
var
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
555
|
+
var builtInBlockActions = (controller, block) => [
|
|
556
|
+
{
|
|
557
|
+
id: "move-up",
|
|
558
|
+
label: "Move up",
|
|
559
|
+
group: "move",
|
|
560
|
+
Icon: ArrowUp,
|
|
561
|
+
disabled: () => !controller.canMoveBlock(-1, block),
|
|
562
|
+
run: () => {
|
|
563
|
+
controller.moveBlock(-1, block);
|
|
564
|
+
}
|
|
565
|
+
},
|
|
566
|
+
{
|
|
567
|
+
id: "move-down",
|
|
568
|
+
label: "Move down",
|
|
569
|
+
group: "move",
|
|
570
|
+
Icon: ArrowDown,
|
|
571
|
+
disabled: () => !controller.canMoveBlock(1, block),
|
|
572
|
+
run: () => {
|
|
573
|
+
controller.moveBlock(1, block);
|
|
574
|
+
}
|
|
575
|
+
},
|
|
560
576
|
{
|
|
561
577
|
id: "copy",
|
|
562
578
|
label: "Copy block",
|
|
563
579
|
group: "edit",
|
|
564
580
|
Icon: Copy,
|
|
565
|
-
run: () => controller.copyBlock(
|
|
581
|
+
run: () => controller.copyBlock(block)
|
|
566
582
|
},
|
|
567
583
|
{
|
|
568
584
|
id: "duplicate",
|
|
@@ -570,7 +586,7 @@ var builtInBlockActions = (controller, target) => [
|
|
|
570
586
|
group: "edit",
|
|
571
587
|
Icon: CopyPlus,
|
|
572
588
|
run: () => {
|
|
573
|
-
controller.duplicateBlock(
|
|
589
|
+
controller.duplicateBlock(block);
|
|
574
590
|
}
|
|
575
591
|
},
|
|
576
592
|
{
|
|
@@ -579,7 +595,7 @@ var builtInBlockActions = (controller, target) => [
|
|
|
579
595
|
group: "danger",
|
|
580
596
|
Icon: Trash2,
|
|
581
597
|
run: () => {
|
|
582
|
-
controller.deleteBlock(
|
|
598
|
+
controller.deleteBlock(block);
|
|
583
599
|
}
|
|
584
600
|
}
|
|
585
601
|
];
|
|
@@ -588,115 +604,83 @@ var OpenEditorBlockMenu = ({
|
|
|
588
604
|
className,
|
|
589
605
|
container
|
|
590
606
|
}) => {
|
|
591
|
-
const
|
|
607
|
+
const interaction = useOpenEditorBlockInteraction(controller);
|
|
608
|
+
const block = interaction.activeBlock;
|
|
592
609
|
const themeStyle = useOpenEditorThemeStyle();
|
|
593
610
|
const [open, setOpen] = useState(false);
|
|
594
|
-
const
|
|
595
|
-
const
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
() => dragHandleReferenceRef.current,
|
|
600
|
-
[]
|
|
601
|
-
);
|
|
602
|
-
const handleDragNodeChange = useCallback(({
|
|
603
|
-
editor,
|
|
604
|
-
pos
|
|
605
|
-
}) => {
|
|
606
|
-
const nodeDom = pos >= 0 ? editor.view.nodeDOM(pos) : null;
|
|
607
|
-
if (nodeDom instanceof Element) {
|
|
608
|
-
const geometryDom = nodeDom.matches("[data-node-view-wrapper]") ? nodeDom : nodeDom.querySelector("[data-node-view-wrapper]") ?? nodeDom;
|
|
609
|
-
const nodeRect = geometryDom.getBoundingClientRect();
|
|
610
|
-
const editorStyle = getComputedStyle(editor.view.dom);
|
|
611
|
-
const gutterWidth = Number.parseFloat(
|
|
612
|
-
editorStyle.getPropertyValue("--oe-block-gutter-width")
|
|
613
|
-
) || 0;
|
|
614
|
-
const editorLeft = editor.view.dom.getBoundingClientRect().left + gutterWidth;
|
|
615
|
-
dragHandleReferenceRef.current = {
|
|
616
|
-
contextElement: editor.view.dom,
|
|
617
|
-
getBoundingClientRect: () => ({
|
|
618
|
-
bottom: nodeRect.bottom,
|
|
619
|
-
height: nodeRect.height,
|
|
620
|
-
x: editorLeft,
|
|
621
|
-
y: nodeRect.y,
|
|
622
|
-
left: editorLeft,
|
|
623
|
-
right: editorLeft,
|
|
624
|
-
top: nodeRect.top,
|
|
625
|
-
width: 0,
|
|
626
|
-
toJSON: () => void 0
|
|
627
|
-
})
|
|
628
|
-
};
|
|
629
|
-
} else {
|
|
630
|
-
dragHandleReferenceRef.current = null;
|
|
631
|
-
}
|
|
632
|
-
controllerRef.current.setBlockTargetAt(pos >= 0 ? pos : null);
|
|
633
|
-
}, []);
|
|
634
|
-
if (target) lastTargetRef.current = target;
|
|
635
|
-
const activeTarget = target ?? (open ? lastTargetRef.current : null);
|
|
636
|
-
if (!controller.editable || !controller.editor) return null;
|
|
611
|
+
const handleElementRef = useRef(null);
|
|
612
|
+
const lastBlockRef = useRef(null);
|
|
613
|
+
if (block) lastBlockRef.current = block;
|
|
614
|
+
const activeBlock = block ?? (open ? lastBlockRef.current : null);
|
|
615
|
+
if (!controller.editable) return null;
|
|
637
616
|
const handle = /* @__PURE__ */ jsx(
|
|
638
|
-
|
|
617
|
+
OpenEditorBlockDragHandle,
|
|
639
618
|
{
|
|
619
|
+
ariaLabel: activeBlock ? `Actions for ${activeBlock.blockName ?? activeBlock.nodeType} block` : void 0,
|
|
640
620
|
className: "oe-block-handle-anchor",
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
controller.selectBlock(activeTarget);
|
|
655
|
-
},
|
|
656
|
-
type: "button",
|
|
657
|
-
children: /* @__PURE__ */ jsx(GripVertical, { "aria-hidden": "true", size: 16, strokeWidth: 2 })
|
|
658
|
-
}
|
|
659
|
-
) : null
|
|
621
|
+
controller,
|
|
622
|
+
elementRef: handleElementRef,
|
|
623
|
+
expanded: open,
|
|
624
|
+
onActivate: () => {
|
|
625
|
+
const nextOpen = !open;
|
|
626
|
+
setOpen(nextOpen);
|
|
627
|
+
controller.setBlockHandleLocked(nextOpen);
|
|
628
|
+
if (nextOpen && activeBlock) controller.selectBlock(activeBlock);
|
|
629
|
+
},
|
|
630
|
+
onDraggingChange: (dragging) => {
|
|
631
|
+
if (dragging) setOpen(false);
|
|
632
|
+
},
|
|
633
|
+
children: activeBlock ? /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: cx("oe-block-handle", className), children: /* @__PURE__ */ jsx(GripVertical, { "aria-hidden": "true", size: 16, strokeWidth: 2 }) }) : null
|
|
660
634
|
}
|
|
661
635
|
);
|
|
662
|
-
const actions =
|
|
636
|
+
const actions = activeBlock ? [...builtInBlockActions(controller, activeBlock), ...controller.blockActions] : [];
|
|
663
637
|
return /* @__PURE__ */ jsxs(Menu.Root, { modal: false, open, onOpenChange: (nextOpen) => {
|
|
664
638
|
setOpen(nextOpen);
|
|
665
|
-
controller.
|
|
639
|
+
controller.setBlockHandleLocked(nextOpen);
|
|
640
|
+
if (nextOpen && activeBlock) controller.selectBlock(activeBlock);
|
|
666
641
|
}, children: [
|
|
667
642
|
handle,
|
|
668
|
-
|
|
643
|
+
activeBlock ? /* @__PURE__ */ jsx(Menu.Portal, { container, children: /* @__PURE__ */ jsx(
|
|
669
644
|
Menu.Positioner,
|
|
670
645
|
{
|
|
671
646
|
align: "start",
|
|
647
|
+
anchor: handleElementRef,
|
|
672
648
|
collisionAvoidance: { side: "flip", align: "shift", fallbackAxisSide: "none" },
|
|
673
649
|
collisionPadding: 12,
|
|
674
650
|
positionMethod: "fixed",
|
|
675
651
|
side: "bottom",
|
|
676
652
|
sideOffset: 8,
|
|
677
|
-
children: /* @__PURE__ */ jsx(
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
653
|
+
children: /* @__PURE__ */ jsx(
|
|
654
|
+
Menu.Popup,
|
|
655
|
+
{
|
|
656
|
+
"aria-label": activeBlock ? `Actions for ${activeBlock.blockName ?? activeBlock.nodeType} block` : "Block actions",
|
|
657
|
+
className: "oe-block-menu",
|
|
658
|
+
style: themeStyle,
|
|
659
|
+
children: actions.map((action, index) => {
|
|
660
|
+
const previous = actions[index - 1];
|
|
661
|
+
const Icon = action.Icon;
|
|
662
|
+
const context = { controller, block: activeBlock };
|
|
663
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
664
|
+
previous && previous.group !== action.group ? /* @__PURE__ */ jsx(Menu.Separator, { className: "oe-block-menu-separator" }) : null,
|
|
665
|
+
/* @__PURE__ */ jsxs(
|
|
666
|
+
Menu.Item,
|
|
667
|
+
{
|
|
668
|
+
className: "oe-block-menu-item",
|
|
669
|
+
"data-danger": action.group === "danger" ? "" : void 0,
|
|
670
|
+
disabled: action.disabled?.(context),
|
|
671
|
+
onClick: () => {
|
|
672
|
+
void action.run(context);
|
|
673
|
+
},
|
|
674
|
+
children: [
|
|
675
|
+
Icon ? /* @__PURE__ */ jsx(Icon, { "aria-hidden": "true", size: 15, strokeWidth: 2 }) : /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "oe-block-menu-icon-placeholder" }),
|
|
676
|
+
/* @__PURE__ */ jsx("span", { children: action.label })
|
|
677
|
+
]
|
|
678
|
+
}
|
|
679
|
+
)
|
|
680
|
+
] }, action.id);
|
|
681
|
+
})
|
|
682
|
+
}
|
|
683
|
+
)
|
|
700
684
|
}
|
|
701
685
|
) }) : null
|
|
702
686
|
] });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.tsx"],"names":["ImageIcon","Fragment","OpenEditorThemeProvider"],"mappings":"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","file":"index.js","sourcesContent":["import \"./styles.css\";\nexport {\n createOpenEditorThemeStyle,\n OpenEditorThemeProvider,\n openEditorThemeTokenNames,\n type OpenEditorTheme,\n type OpenEditorThemeStyle,\n type OpenEditorThemeToken,\n} from \"@openeditor/react\";\nexport { OpenEditorEmojiPicker, type OpenEditorEmojiPickerProps } from \"@openeditor/emoji\";\nimport { Button, type Button as BaseButton } from \"@base-ui/react/button\";\nimport { Dialog } from \"@base-ui/react/dialog\";\nimport { Input, type Input as BaseInput } from \"@base-ui/react/input\";\nimport { Menu } from \"@base-ui/react/menu\";\nimport { Popover } from \"@base-ui/react/popover\";\nimport { Toggle, type Toggle as BaseToggle } from \"@base-ui/react/toggle\";\nimport { ToggleGroup, type ToggleGroup as BaseToggleGroup } from \"@base-ui/react/toggle-group\";\nimport { Toolbar } from \"@base-ui/react/toolbar\";\nimport { OpenEditorDragHandle } from \"@openeditor/react\";\nimport {\n ArrowDown,\n ArrowUp,\n Bold,\n Copy,\n CopyPlus,\n ChevronDown,\n ChevronRight,\n Columns2,\n Code,\n FileText,\n GitBranch,\n GripVertical,\n Heading1,\n Heading2,\n Heading3,\n Heading4,\n Heading5,\n Heading6,\n Image as ImageIcon,\n Italic,\n Link,\n List,\n ListOrdered,\n ListTodo,\n MessageSquare,\n Minus,\n Pilcrow,\n Quote,\n Strikethrough,\n Table,\n Trash2,\n Type,\n Underline,\n Upload,\n X,\n type LucideIcon,\n} from \"lucide-react\";\nimport {\n getDefaultSlashMenuItems,\n OpenEditorContent,\n sortSlashMenuItems,\n useOpenEditorController,\n type OpenEditorController,\n type OpenEditorBlockAction,\n type OpenEditorBlockTarget,\n type OpenEditorReactProps,\n type OpenEditorSlashMenuItem,\n OpenEditorThemeProvider,\n useOpenEditorThemeStyle,\n type OpenEditorTheme,\n} from \"@openeditor/react\";\nimport {\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type FormEvent,\n} from \"react\";\n\nexport type OpenEditorSlashMenuProps = {\n controller: OpenEditorController;\n className?: string;\n items?: readonly OpenEditorSlashMenuItem[];\n container?: HTMLElement | null;\n};\n\nexport type OpenEditorSelectionBubbleProps = {\n controller: OpenEditorController;\n className?: string;\n container?: HTMLElement | null;\n};\n\nexport type OpenEditorBlockMenuProps = {\n controller: OpenEditorController;\n className?: string;\n container?: HTMLElement | null;\n};\n\nexport type OpenEditorProps = OpenEditorReactProps & {\n className?: string;\n contentClassName?: string;\n overlayContainer?: HTMLElement | null;\n theme?: OpenEditorTheme;\n};\n\nexport type OpenEditorButtonProps = BaseButton.Props;\nexport type OpenEditorToggleProps<Value extends string = string> = BaseToggle.Props<Value>;\nexport type OpenEditorToggleGroupProps<Value extends string = string> = BaseToggleGroup.Props<Value>;\nexport type OpenEditorInputProps = BaseInput.Props;\n\ntype OverlayRect = {\n left: number;\n right: number;\n top: number;\n bottom: number;\n width: number;\n height: number;\n};\n\ntype AnchoredOverlayState = {\n left: number;\n top: number;\n anchorRect?: OverlayRect;\n};\n\ntype VirtualAnchor = {\n contextElement?: Element;\n getBoundingClientRect: () => DOMRect;\n};\n\ntype SelectionAction = {\n key: string;\n label: string;\n active: boolean;\n Icon: LucideIcon;\n run: () => void;\n};\n\ntype BlockTransformAction = {\n key: string;\n label: string;\n Icon: LucideIcon;\n isActive: (controller: OpenEditorController) => boolean;\n run: (controller: OpenEditorController) => void;\n};\n\nconst headingDefinitions = [\n { level: 1, Icon: Heading1 },\n { level: 2, Icon: Heading2 },\n { level: 3, Icon: Heading3 },\n { level: 4, Icon: Heading4 },\n { level: 5, Icon: Heading5 },\n { level: 6, Icon: Heading6 },\n] as const;\n\nconst blockTransformActions: BlockTransformAction[] = [\n {\n key: \"paragraph\",\n label: \"Paragraph\",\n Icon: Pilcrow,\n isActive: ({ editor }) => editor?.isActive(\"paragraph\") ?? false,\n run: (controller) => controller.setParagraph(),\n },\n ...headingDefinitions.map(({ level, Icon }) => ({\n key: `heading${level}`,\n label: `Heading ${level}`,\n Icon,\n isActive: ({ editor }: OpenEditorController) => editor?.isActive(\"heading\", { level }) ?? false,\n run: (controller: OpenEditorController) => controller.toggleHeading(level),\n })),\n {\n key: \"bulletList\",\n label: \"Bullet List\",\n Icon: List,\n isActive: ({ editor }) => editor?.isActive(\"bulletList\") ?? false,\n run: (controller) => controller.toggleBulletList(),\n },\n {\n key: \"orderedList\",\n label: \"Numbered List\",\n Icon: ListOrdered,\n isActive: ({ editor }) => editor?.isActive(\"orderedList\") ?? false,\n run: (controller) => controller.toggleOrderedList(),\n },\n {\n key: \"taskList\",\n label: \"Task List\",\n Icon: ListTodo,\n isActive: ({ editor }) => editor?.isActive(\"taskList\") ?? false,\n run: (controller) => controller.toggleTaskList(),\n },\n {\n key: \"blockquote\",\n label: \"Quote\",\n Icon: Quote,\n isActive: ({ editor }) => editor?.isActive(\"blockquote\") ?? false,\n run: (controller) => controller.toggleBlockquote(),\n },\n {\n key: \"codeBlock\",\n label: \"Code\",\n Icon: Code,\n isActive: ({ editor }) => editor?.isActive(\"codeBlock\") ?? false,\n run: (controller) => controller.toggleCodeBlock(),\n },\n];\n\nconst getActiveBlockTransform = (controller: OpenEditorController) =>\n [\n \"taskList\",\n \"bulletList\",\n \"orderedList\",\n \"blockquote\",\n \"codeBlock\",\n \"heading1\",\n \"heading2\",\n \"heading3\",\n \"heading4\",\n \"heading5\",\n \"heading6\",\n \"paragraph\",\n ]\n .map((key) => blockTransformActions.find((action) => action.key === key))\n .find((action) => action?.isActive(controller)) ?? blockTransformActions[0];\n\nconst isHeadingKey = (key: string) => /^heading[1-6]$/.test(key);\n\nconst slashMenuIcons: Record<string, LucideIcon> = {\n paragraph: Pilcrow,\n ...Object.fromEntries(headingDefinitions.map(({ level, Icon }) => [`heading${level}`, Icon])),\n bulletList: List,\n orderedList: ListOrdered,\n taskList: ListTodo,\n blockquote: Quote,\n codeBlock: Code,\n divider: Minus,\n image: ImageIcon,\n columns: Columns2,\n table: Table,\n toggleList: ChevronRight,\n callout: MessageSquare,\n diagram: GitBranch,\n page: FileText,\n attachment: Upload,\n moveBlockUp: ArrowUp,\n moveBlockDown: ArrowDown,\n};\n\nconst getSlashMenuIcon = (item: OpenEditorSlashMenuItem) => item.icon ?? slashMenuIcons[item.key] ?? Type;\n\nconst pointRect = (left: number, top: number): OverlayRect => ({\n left,\n right: left,\n top,\n bottom: top,\n width: 0,\n height: 0,\n});\n\nconst getAnchorRect = (state: AnchoredOverlayState) => state.anchorRect ?? pointRect(state.left, state.top);\n\nconst toVirtualAnchor = (\n state: AnchoredOverlayState,\n contextElement?: Element | null,\n): VirtualAnchor => ({\n contextElement: contextElement ?? undefined,\n getBoundingClientRect: () => {\n const rect = getAnchorRect(state);\n return {\n ...rect,\n x: rect.left,\n y: rect.top,\n toJSON: () => rect,\n } as DOMRect;\n },\n});\n\nconst cx = (...classes: Array<string | false | null | undefined>) => classes.filter(Boolean).join(\" \");\n\nconst withBaseClass = <State,>(baseClassName: string, className?: string | ((state: State) => string | undefined)) => {\n if (typeof className === \"function\") {\n return (state: State) => cx(baseClassName, className(state));\n }\n\n return cx(baseClassName, className);\n};\n\nexport const OpenEditorButton = ({ className, ...props }: OpenEditorButtonProps) => (\n <Button className={withBaseClass<BaseButton.State>(\"oe-button\", className)} {...props} />\n);\n\nexport const OpenEditorToggle = <Value extends string = string>({\n className,\n ...props\n}: OpenEditorToggleProps<Value>) => (\n <Toggle<Value> className={withBaseClass<BaseToggle.State>(\"oe-button oe-toggle\", className)} {...props} />\n);\n\nexport const OpenEditorToggleGroup = <Value extends string = string>({\n className,\n ...props\n}: OpenEditorToggleGroupProps<Value>) => (\n <ToggleGroup<Value> className={withBaseClass<BaseToggleGroup.State>(\"oe-toggle-group\", className)} {...props} />\n);\n\nexport const OpenEditorInput = ({ className, ...props }: OpenEditorInputProps) => (\n <Input className={withBaseClass<BaseInput.State>(\"oe-input\", className)} {...props} />\n);\n\nconst OpenEditorLinkDialog = ({\n controller,\n open,\n onOpenChange,\n}: {\n controller: OpenEditorController;\n open: boolean;\n onOpenChange: (open: boolean) => void;\n}) => {\n const themeStyle = useOpenEditorThemeStyle();\n const [url, setUrl] = useState(\"\");\n\n useEffect(() => {\n if (open) {\n setUrl(controller.getActiveLink() ?? \"https://\");\n }\n }, [open]);\n\n const submitLink = (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n controller.setLink(url.trim());\n onOpenChange(false);\n };\n\n return (\n <Dialog.Root open={open} onOpenChange={onOpenChange}>\n <Dialog.Portal>\n <Dialog.Backdrop className=\"oe-dialog-backdrop\" />\n <Dialog.Popup className=\"oe-dialog\" initialFocus={false} style={themeStyle}>\n <Dialog.Close className=\"oe-dialog-close\" aria-label=\"Close link dialog\">\n <X aria-hidden=\"true\" size={15} strokeWidth={2} />\n </Dialog.Close>\n <form className=\"oe-link-dialog-form\" onSubmit={submitLink}>\n <Dialog.Title className=\"oe-dialog-title\">Link</Dialog.Title>\n <OpenEditorInput\n aria-label=\"Link URL\"\n autoComplete=\"url\"\n inputMode=\"url\"\n value={url}\n onValueChange={setUrl}\n placeholder=\"https://example.com\"\n />\n <div className=\"oe-dialog-actions\">\n <OpenEditorButton\n type=\"button\"\n className=\"oe-dialog-button oe-dialog-button-remove\"\n onClick={() => {\n controller.setLink(null);\n onOpenChange(false);\n }}\n >\n Remove\n </OpenEditorButton>\n <OpenEditorButton type=\"submit\" className=\"oe-dialog-button oe-dialog-button-primary\">Apply</OpenEditorButton>\n </div>\n </form>\n </Dialog.Popup>\n </Dialog.Portal>\n </Dialog.Root>\n );\n};\n\nconst SelectionButton = ({\n action,\n}: {\n action: SelectionAction;\n}) => (\n <Toolbar.Button\n type=\"button\"\n aria-label={action.label}\n aria-pressed={action.active}\n className=\"oe-toolbar-button\"\n data-active={action.active ? \"\" : undefined}\n onClick={action.run}\n >\n <action.Icon aria-hidden=\"true\" className=\"oe-toolbar-icon\" size={15} strokeWidth={2} />\n </Toolbar.Button>\n);\n\nconst SelectionBlockTransformMenu = ({\n controller,\n container,\n}: {\n controller: OpenEditorController;\n container?: HTMLElement | null;\n}) => {\n const themeStyle = useOpenEditorThemeStyle();\n const activeAction = getActiveBlockTransform(controller);\n const [menuOpen, setMenuOpen] = useState(false);\n const [headingPanelOpen, setHeadingPanelOpen] = useState(false);\n const headingActions = blockTransformActions.filter((action) => isHeadingKey(action.key));\n\n return (\n <Menu.Root\n modal={false}\n open={menuOpen}\n onOpenChange={(open) => {\n setMenuOpen(open);\n if (!open) setHeadingPanelOpen(false);\n }}\n >\n <Menu.Trigger\n type=\"button\"\n aria-label={`${activeAction.label}. Turn into`}\n className=\"oe-toolbar-button oe-block-transform-trigger\"\n onMouseDown={(event) => event.preventDefault()}\n >\n <activeAction.Icon aria-hidden=\"true\" className=\"oe-toolbar-icon\" size={15} strokeWidth={2} />\n <span className=\"oe-block-transform-trigger-label\">{activeAction.label}</span>\n <ChevronDown aria-hidden=\"true\" className=\"oe-toolbar-chevron\" size={12} strokeWidth={2} />\n </Menu.Trigger>\n <Menu.Portal container={container}>\n <Menu.Positioner\n positionMethod=\"fixed\"\n side=\"bottom\"\n align=\"start\"\n sideOffset={8}\n collisionPadding={12}\n collisionAvoidance={{ side: \"flip\", align: \"shift\", fallbackAxisSide: \"none\" }}\n >\n <Menu.Popup\n className=\"oe-cascade-menu\"\n style={themeStyle}\n onMouseLeave={() => setHeadingPanelOpen(false)}\n >\n <div className=\"oe-block-transform-menu oe-cascade-panel\">\n {blockTransformActions.map((action) => {\n if (isHeadingKey(action.key)) {\n if (action.key !== \"heading1\") return null;\n return (\n <Menu.Item\n closeOnClick={false}\n key=\"heading\"\n className=\"oe-block-transform-item\"\n data-active={isHeadingKey(activeAction.key) ? \"\" : undefined}\n label=\"Heading\"\n onClick={() => setHeadingPanelOpen(true)}\n onFocus={() => setHeadingPanelOpen(true)}\n onMouseEnter={() => setHeadingPanelOpen(true)}\n >\n <Heading1 aria-hidden=\"true\" className=\"oe-block-transform-icon\" size={15} strokeWidth={2} />\n <span>Heading</span>\n <ChevronRight aria-hidden=\"true\" className=\"oe-submenu-chevron\" size={13} strokeWidth={2} />\n </Menu.Item>\n );\n }\n\n const active = action.key === activeAction.key;\n return (\n <Menu.Item\n key={action.key}\n className=\"oe-block-transform-item\"\n data-active={active ? \"\" : undefined}\n label={action.label}\n onMouseEnter={() => setHeadingPanelOpen(false)}\n onClick={() => { if (!active) action.run(controller); }}\n >\n <action.Icon aria-hidden=\"true\" className=\"oe-block-transform-icon\" size={15} strokeWidth={2} />\n <span>{action.label}</span>\n </Menu.Item>\n );\n })}\n </div>\n {headingPanelOpen ? (\n <div className=\"oe-block-transform-menu oe-block-transform-submenu oe-cascade-panel\">\n {headingActions.map((headingAction) => {\n const headingActive = headingAction.key === activeAction.key;\n return (\n <button\n type=\"button\"\n key={headingAction.key}\n className=\"oe-block-transform-item\"\n data-active={headingActive ? \"\" : undefined}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n if (!headingActive) headingAction.run(controller);\n setMenuOpen(false);\n }}\n role=\"menuitem\"\n >\n <headingAction.Icon aria-hidden=\"true\" className=\"oe-block-transform-icon\" size={15} strokeWidth={2} />\n <span>{headingAction.label}</span>\n </button>\n );\n })}\n </div>\n ) : null}\n </Menu.Popup>\n </Menu.Positioner>\n </Menu.Portal>\n </Menu.Root>\n );\n};\n\nexport const OpenEditorSelectionBubble = ({\n controller,\n className = \"oe-bubble-menu\",\n container,\n}: OpenEditorSelectionBubbleProps) => {\n const themeStyle = useOpenEditorThemeStyle();\n const { editor, selectionBubbleState } = controller;\n const [linkDialogOpen, setLinkDialogOpen] = useState(false);\n const lastAnchorRef = useRef<AnchoredOverlayState | null>(null);\n\n if (selectionBubbleState) {\n lastAnchorRef.current = selectionBubbleState;\n }\n\n const anchor = useMemo(\n () => {\n const anchorState = selectionBubbleState ?? lastAnchorRef.current;\n return anchorState ? toVirtualAnchor(anchorState, editor?.view.dom) : null;\n },\n [editor?.view.dom, selectionBubbleState],\n );\n\n const actions: SelectionAction[] = editor\n ? [\n {\n key: \"bold\",\n label: \"Bold\",\n active: editor.isActive(\"bold\"),\n Icon: Bold,\n run: () => controller.toggleBold(),\n },\n {\n key: \"italic\",\n label: \"Italic\",\n active: editor.isActive(\"italic\"),\n Icon: Italic,\n run: () => controller.toggleItalic(),\n },\n {\n key: \"underline\",\n label: \"Underline\",\n active: editor.isActive(\"underline\"),\n Icon: Underline,\n run: () => controller.toggleUnderline(),\n },\n {\n key: \"strike\",\n label: \"Strikethrough\",\n active: editor.isActive(\"strike\"),\n Icon: Strikethrough,\n run: () => controller.toggleStrike(),\n },\n {\n key: \"code\",\n label: \"Inline code\",\n active: editor.isActive(\"code\"),\n Icon: Code,\n run: () => controller.toggleInlineCode(),\n },\n ]\n : [];\n\n if (!editor || (!selectionBubbleState && !linkDialogOpen)) {\n return null;\n }\n\n return (\n <>\n <Popover.Root open={Boolean(selectionBubbleState)} modal={false}>\n <Popover.Portal container={container}>\n <Popover.Positioner\n anchor={anchor}\n positionMethod=\"fixed\"\n side=\"top\"\n align=\"center\"\n sideOffset={10}\n collisionPadding={12}\n collisionAvoidance={{ side: \"flip\", align: \"shift\", fallbackAxisSide: \"none\" }}\n >\n <Popover.Popup\n className={className}\n style={themeStyle}\n onMouseDown={(event) => event.preventDefault()}\n >\n <Toolbar.Root className=\"oe-selection-toolbar\" aria-label=\"Selection formatting\">\n <SelectionBlockTransformMenu controller={controller} container={container} />\n {actions.map((action) => (\n <SelectionButton key={action.key} action={action} />\n ))}\n <Toolbar.Button\n type=\"button\"\n aria-label=\"Link\"\n className=\"oe-toolbar-button\"\n data-active={editor.isActive(\"link\") ? \"\" : undefined}\n onClick={() => setLinkDialogOpen(true)}\n >\n <Link aria-hidden=\"true\" className=\"oe-toolbar-icon\" size={15} strokeWidth={2} />\n </Toolbar.Button>\n </Toolbar.Root>\n </Popover.Popup>\n </Popover.Positioner>\n </Popover.Portal>\n </Popover.Root>\n <OpenEditorLinkDialog\n controller={controller}\n open={linkDialogOpen}\n onOpenChange={setLinkDialogOpen}\n />\n </>\n );\n};\n\nexport const OpenEditorSlashMenu = ({\n controller,\n className = \"oe-slash-menu\",\n items,\n container,\n}: OpenEditorSlashMenuProps) => {\n const themeStyle = useOpenEditorThemeStyle();\n const slashMenuItems = sortSlashMenuItems(items ?? getDefaultSlashMenuItems(controller));\n const slashState = controller.slashState;\n const [headingPanelOpen, setHeadingPanelOpen] = useState(false);\n const anchor = useMemo(\n () =>\n slashState\n ? toVirtualAnchor(\n slashState,\n controller.editor?.view.dom,\n )\n : null,\n [controller.editor?.view.dom, slashState],\n );\n\n useEffect(() => setHeadingPanelOpen(false), [slashState?.query]);\n\n if (!slashState) {\n return null;\n }\n\n const matchingItems = slashMenuItems.filter((item) => {\n const haystack = `${item.label} ${item.group} ${item.keywords?.join(\" \") ?? \"\"}`.toLowerCase();\n return haystack.includes(slashState.query.toLowerCase());\n });\n const firstHeadingKey = matchingItems.find((item) => isHeadingKey(item.key))?.key;\n\n return (\n <Popover.Root open modal={false}>\n <Popover.Portal container={container}>\n <Popover.Positioner\n anchor={anchor}\n positionMethod=\"fixed\"\n side=\"bottom\"\n align=\"start\"\n sideOffset={8}\n collisionPadding={12}\n collisionAvoidance={{ side: \"flip\", align: \"shift\", fallbackAxisSide: \"none\" }}\n >\n <Popover.Popup\n className=\"oe-cascade-menu\"\n style={themeStyle}\n finalFocus={false}\n initialFocus={false}\n onMouseLeave={() => setHeadingPanelOpen(false)}\n >\n <div className={`${className} oe-cascade-panel`}>\n <div className=\"oe-slash-menu-scroll\">\n {matchingItems.map((item) => {\n if (isHeadingKey(item.key)) {\n if (item.key !== firstHeadingKey) return null;\n\n return (\n <button\n type=\"button\"\n key=\"heading\"\n className=\"oe-slash-menu-item\"\n onClick={() => setHeadingPanelOpen(true)}\n onFocus={() => setHeadingPanelOpen(true)}\n onMouseEnter={() => setHeadingPanelOpen(true)}\n onMouseDown={(event) => event.preventDefault()}\n >\n <Heading1 aria-hidden=\"true\" className=\"oe-slash-menu-icon\" size={15} strokeWidth={2} />\n <span>Heading</span>\n <ChevronRight aria-hidden=\"true\" className=\"oe-submenu-chevron\" size={13} strokeWidth={2} />\n </button>\n );\n }\n\n const Icon = getSlashMenuIcon(item);\n\n return (\n <button\n type=\"button\"\n key={item.key}\n className=\"oe-slash-menu-item\"\n onMouseEnter={() => setHeadingPanelOpen(false)}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n item.execute({ controller, range: { from: slashState.from, to: slashState.to } });\n }}\n >\n <Icon aria-hidden={true} className=\"oe-slash-menu-icon\" size={15} strokeWidth={2} />\n <span>{item.label}</span>\n </button>\n );\n })}\n </div>\n </div>\n {headingPanelOpen ? (\n <div className=\"oe-slash-menu oe-slash-submenu oe-cascade-panel\">\n {matchingItems.filter((item) => isHeadingKey(item.key)).map((headingItem) => {\n const HeadingIcon = getSlashMenuIcon(headingItem);\n return (\n <button\n type=\"button\"\n key={headingItem.key}\n className=\"oe-slash-menu-item\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n headingItem.execute({ controller, range: { from: slashState.from, to: slashState.to } });\n }}\n role=\"menuitem\"\n >\n <HeadingIcon aria-hidden={true} className=\"oe-slash-menu-icon\" size={15} strokeWidth={2} />\n <span>{headingItem.label}</span>\n </button>\n );\n })}\n </div>\n ) : null}\n </Popover.Popup>\n </Popover.Positioner>\n </Popover.Portal>\n </Popover.Root>\n );\n};\n\ntype ResolvedBlockAction = OpenEditorBlockAction & {\n Icon?: LucideIcon;\n};\n\nconst blockHandlePositionConfig = {\n placement: \"left-start\",\n strategy: \"absolute\",\n} as const;\n\nconst blockHandleNestedConfig = { edgeDetection: \"none\" } as const;\n\nconst builtInBlockActions = (\n controller: OpenEditorController,\n target: OpenEditorBlockTarget,\n): ResolvedBlockAction[] => [\n {\n id: \"copy\",\n label: \"Copy block\",\n group: \"edit\",\n Icon: Copy,\n run: () => controller.copyBlock(target),\n },\n {\n id: \"duplicate\",\n label: \"Duplicate\",\n group: \"edit\",\n Icon: CopyPlus,\n run: () => { controller.duplicateBlock(target); },\n },\n {\n id: \"delete\",\n label: \"Delete\",\n group: \"danger\",\n Icon: Trash2,\n run: () => { controller.deleteBlock(target); },\n },\n];\n\nexport const OpenEditorBlockMenu = ({\n controller,\n className,\n container,\n}: OpenEditorBlockMenuProps) => {\n const target = controller.blockTarget;\n const themeStyle = useOpenEditorThemeStyle();\n const [open, setOpen] = useState(false);\n const lastTargetRef = useRef<OpenEditorBlockTarget | null>(null);\n const dragHandleReferenceRef = useRef<VirtualAnchor | null>(null);\n const controllerRef = useRef(controller);\n controllerRef.current = controller;\n const getDragHandleReference = useCallback(\n () => dragHandleReferenceRef.current,\n [],\n );\n const handleDragNodeChange = useCallback(({\n editor,\n pos,\n }: {\n editor: NonNullable<OpenEditorController[\"editor\"]>;\n pos: number;\n }) => {\n const nodeDom = pos >= 0 ? editor.view.nodeDOM(pos) : null;\n if (nodeDom instanceof Element) {\n const geometryDom = nodeDom.matches(\"[data-node-view-wrapper]\")\n ? nodeDom\n : nodeDom.querySelector(\"[data-node-view-wrapper]\") ?? nodeDom;\n const nodeRect = geometryDom.getBoundingClientRect();\n const editorStyle = getComputedStyle(editor.view.dom);\n const gutterWidth = Number.parseFloat(\n editorStyle.getPropertyValue(\"--oe-block-gutter-width\"),\n ) || 0;\n const editorLeft = editor.view.dom.getBoundingClientRect().left + gutterWidth;\n dragHandleReferenceRef.current = {\n contextElement: editor.view.dom,\n getBoundingClientRect: () => ({\n bottom: nodeRect.bottom,\n height: nodeRect.height,\n x: editorLeft,\n y: nodeRect.y,\n left: editorLeft,\n right: editorLeft,\n top: nodeRect.top,\n width: 0,\n toJSON: () => undefined,\n } as DOMRect),\n };\n } else {\n dragHandleReferenceRef.current = null;\n }\n controllerRef.current.setBlockTargetAt(pos >= 0 ? pos : null);\n }, []);\n if (target) lastTargetRef.current = target;\n const activeTarget = target ?? (open ? lastTargetRef.current : null);\n\n if (!controller.editable || !controller.editor) return null;\n const handle = (\n <OpenEditorDragHandle\n className=\"oe-block-handle-anchor\"\n computePositionConfig={blockHandlePositionConfig}\n editor={controller.editor}\n getReferencedVirtualElement={getDragHandleReference}\n nested={blockHandleNestedConfig}\n onNodeChange={handleDragNodeChange}\n >\n {activeTarget ? (\n <Menu.Trigger\n aria-label={`Actions for ${activeTarget.blockName ?? activeTarget.nodeType} block`}\n className={cx(\"oe-block-handle\", className)}\n onMouseDown={(event) => {\n event.preventDefault();\n controller.editor?.commands.setMeta(\"lockDragHandle\", true);\n controller.selectBlock(activeTarget);\n }}\n type=\"button\"\n >\n <GripVertical aria-hidden=\"true\" size={16} strokeWidth={2} />\n </Menu.Trigger>\n ) : null}\n </OpenEditorDragHandle>\n );\n const actions: ResolvedBlockAction[] = activeTarget\n ? [...builtInBlockActions(controller, activeTarget), ...controller.blockActions]\n : [];\n return (\n <Menu.Root modal={false} open={open} onOpenChange={(nextOpen) => {\n setOpen(nextOpen);\n controller.editor?.commands.setMeta(\"lockDragHandle\", nextOpen);\n }}>\n {handle}\n {activeTarget ? <Menu.Portal container={container}>\n <Menu.Positioner\n align=\"start\"\n collisionAvoidance={{ side: \"flip\", align: \"shift\", fallbackAxisSide: \"none\" }}\n collisionPadding={12}\n positionMethod=\"fixed\"\n side=\"bottom\"\n sideOffset={8}\n >\n <Menu.Popup className=\"oe-block-menu\" style={themeStyle}>\n {actions.map((action, index) => {\n const previous = actions[index - 1];\n const Icon = action.Icon;\n const context = { controller, target: activeTarget };\n return (\n <Fragment key={action.id}>\n {previous && previous.group !== action.group ? <Menu.Separator className=\"oe-block-menu-separator\" /> : null}\n <Menu.Item\n className=\"oe-block-menu-item\"\n data-danger={action.group === \"danger\" ? \"\" : undefined}\n disabled={action.disabled?.(context)}\n onClick={() => { void action.run(context); }}\n >\n {Icon ? <Icon aria-hidden=\"true\" size={15} strokeWidth={2} /> : <span aria-hidden=\"true\" className=\"oe-block-menu-icon-placeholder\" />}\n <span>{action.label}</span>\n </Menu.Item>\n </Fragment>\n );\n })}\n </Menu.Popup>\n </Menu.Positioner>\n </Menu.Portal> : null}\n </Menu.Root>\n );\n};\n\nexport const OpenEditor = ({\n className = \"oe-editor-surface\",\n contentClassName,\n overlayContainer,\n theme,\n ...props\n}: OpenEditorProps) => {\n const controller = useOpenEditorController(props);\n\n const editor = (\n <div className={className}>\n <OpenEditorContent controller={controller} className={contentClassName} />\n <OpenEditorBlockMenu controller={controller} container={overlayContainer} />\n <OpenEditorSelectionBubble controller={controller} container={overlayContainer} />\n <OpenEditorSlashMenu controller={controller} container={overlayContainer} />\n </div>\n );\n return theme ? <OpenEditorThemeProvider theme={theme}>{editor}</OpenEditorThemeProvider> : editor;\n};\n\nexport { OpenEditorContent, useOpenEditorController };\nexport type {\n OpenEditorBlockAction,\n OpenEditorBlockTarget,\n OpenEditorController,\n OpenEditorReactProps,\n OpenEditorSlashMenuIcon,\n OpenEditorSlashMenuIconProps,\n OpenEditorSlashMenuItem,\n} from \"@openeditor/react\";\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.tsx"],"names":["ImageIcon","Fragment","OpenEditorThemeProvider"],"mappings":"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","file":"index.js","sourcesContent":["import \"./styles.css\";\nexport {\n createOpenEditorThemeStyle,\n OpenEditorThemeProvider,\n openEditorThemeTokenNames,\n type OpenEditorTheme,\n type OpenEditorThemeStyle,\n type OpenEditorThemeToken,\n} from \"@openeditor/react\";\nexport { OpenEditorEmojiPicker, type OpenEditorEmojiPickerProps } from \"@openeditor/emoji\";\nimport { Button, type Button as BaseButton } from \"@base-ui/react/button\";\nimport { Dialog } from \"@base-ui/react/dialog\";\nimport { Input, type Input as BaseInput } from \"@base-ui/react/input\";\nimport { Menu } from \"@base-ui/react/menu\";\nimport { Popover } from \"@base-ui/react/popover\";\nimport { Toggle, type Toggle as BaseToggle } from \"@base-ui/react/toggle\";\nimport { ToggleGroup, type ToggleGroup as BaseToggleGroup } from \"@base-ui/react/toggle-group\";\nimport { Toolbar } from \"@base-ui/react/toolbar\";\nimport {\n ArrowDown,\n ArrowUp,\n Bold,\n Copy,\n CopyPlus,\n ChevronDown,\n ChevronRight,\n Columns2,\n Code,\n FileText,\n GitBranch,\n GripVertical,\n Heading1,\n Heading2,\n Heading3,\n Heading4,\n Heading5,\n Heading6,\n Image as ImageIcon,\n Italic,\n Link,\n List,\n ListOrdered,\n ListTodo,\n MessageSquare,\n Minus,\n Pilcrow,\n Quote,\n Strikethrough,\n Table,\n Trash2,\n Type,\n Underline,\n Upload,\n X,\n type LucideIcon,\n} from \"lucide-react\";\nimport {\n getDefaultSlashMenuItems,\n OpenEditorBlockDragHandle,\n OpenEditorContent,\n sortSlashMenuItems,\n useOpenEditorBlockInteraction,\n useOpenEditorController,\n type OpenEditorController,\n type OpenEditorBlockAction,\n type OpenEditorBlockRef,\n type OpenEditorReactProps,\n type OpenEditorSlashMenuItem,\n OpenEditorThemeProvider,\n useOpenEditorThemeStyle,\n type OpenEditorTheme,\n} from \"@openeditor/react\";\nimport {\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type FormEvent,\n} from \"react\";\n\nexport type OpenEditorSlashMenuProps = {\n controller: OpenEditorController;\n className?: string;\n items?: readonly OpenEditorSlashMenuItem[];\n container?: HTMLElement | null;\n};\n\nexport type OpenEditorSelectionBubbleProps = {\n controller: OpenEditorController;\n className?: string;\n container?: HTMLElement | null;\n};\n\nexport type OpenEditorBlockMenuProps = {\n controller: OpenEditorController;\n className?: string;\n container?: HTMLElement | null;\n};\n\nexport type OpenEditorProps = OpenEditorReactProps & {\n className?: string;\n contentClassName?: string;\n overlayContainer?: HTMLElement | null;\n theme?: OpenEditorTheme;\n};\n\nexport type OpenEditorButtonProps = BaseButton.Props;\nexport type OpenEditorToggleProps<Value extends string = string> = BaseToggle.Props<Value>;\nexport type OpenEditorToggleGroupProps<Value extends string = string> = BaseToggleGroup.Props<Value>;\nexport type OpenEditorInputProps = BaseInput.Props;\n\ntype OverlayRect = {\n left: number;\n right: number;\n top: number;\n bottom: number;\n width: number;\n height: number;\n};\n\ntype AnchoredOverlayState = {\n left: number;\n top: number;\n anchorRect?: OverlayRect;\n};\n\ntype VirtualAnchor = {\n contextElement?: Element;\n getBoundingClientRect: () => DOMRect;\n};\n\ntype SelectionAction = {\n key: string;\n label: string;\n active: boolean;\n Icon: LucideIcon;\n run: () => void;\n};\n\ntype BlockTransformAction = {\n key: string;\n label: string;\n Icon: LucideIcon;\n isActive: (controller: OpenEditorController) => boolean;\n run: (controller: OpenEditorController) => void;\n};\n\nconst headingDefinitions = [\n { level: 1, Icon: Heading1 },\n { level: 2, Icon: Heading2 },\n { level: 3, Icon: Heading3 },\n { level: 4, Icon: Heading4 },\n { level: 5, Icon: Heading5 },\n { level: 6, Icon: Heading6 },\n] as const;\n\nconst blockTransformActions: BlockTransformAction[] = [\n {\n key: \"paragraph\",\n label: \"Paragraph\",\n Icon: Pilcrow,\n isActive: (controller) => controller.isActive(\"paragraph\"),\n run: (controller) => controller.setParagraph(),\n },\n ...headingDefinitions.map(({ level, Icon }) => ({\n key: `heading${level}`,\n label: `Heading ${level}`,\n Icon,\n isActive: (controller: OpenEditorController) => controller.isActive(\"heading\", { level }),\n run: (controller: OpenEditorController) => controller.toggleHeading(level),\n })),\n {\n key: \"bulletList\",\n label: \"Bullet List\",\n Icon: List,\n isActive: (controller) => controller.isActive(\"bulletList\"),\n run: (controller) => controller.toggleBulletList(),\n },\n {\n key: \"orderedList\",\n label: \"Numbered List\",\n Icon: ListOrdered,\n isActive: (controller) => controller.isActive(\"orderedList\"),\n run: (controller) => controller.toggleOrderedList(),\n },\n {\n key: \"taskList\",\n label: \"Task List\",\n Icon: ListTodo,\n isActive: (controller) => controller.isActive(\"taskList\"),\n run: (controller) => controller.toggleTaskList(),\n },\n {\n key: \"blockquote\",\n label: \"Quote\",\n Icon: Quote,\n isActive: (controller) => controller.isActive(\"blockquote\"),\n run: (controller) => controller.toggleBlockquote(),\n },\n {\n key: \"codeBlock\",\n label: \"Code\",\n Icon: Code,\n isActive: (controller) => controller.isActive(\"codeBlock\"),\n run: (controller) => controller.toggleCodeBlock(),\n },\n];\n\nconst getActiveBlockTransform = (controller: OpenEditorController) =>\n [\n \"taskList\",\n \"bulletList\",\n \"orderedList\",\n \"blockquote\",\n \"codeBlock\",\n \"heading1\",\n \"heading2\",\n \"heading3\",\n \"heading4\",\n \"heading5\",\n \"heading6\",\n \"paragraph\",\n ]\n .map((key) => blockTransformActions.find((action) => action.key === key))\n .find((action) => action?.isActive(controller)) ?? blockTransformActions[0];\n\nconst isHeadingKey = (key: string) => /^heading[1-6]$/.test(key);\n\nconst slashMenuIcons: Record<string, LucideIcon> = {\n paragraph: Pilcrow,\n ...Object.fromEntries(headingDefinitions.map(({ level, Icon }) => [`heading${level}`, Icon])),\n bulletList: List,\n orderedList: ListOrdered,\n taskList: ListTodo,\n blockquote: Quote,\n codeBlock: Code,\n divider: Minus,\n image: ImageIcon,\n columns: Columns2,\n table: Table,\n toggleList: ChevronRight,\n callout: MessageSquare,\n diagram: GitBranch,\n page: FileText,\n attachment: Upload,\n moveBlockUp: ArrowUp,\n moveBlockDown: ArrowDown,\n};\n\nconst getSlashMenuIcon = (item: OpenEditorSlashMenuItem) => item.icon ?? slashMenuIcons[item.key] ?? Type;\n\nconst pointRect = (left: number, top: number): OverlayRect => ({\n left,\n right: left,\n top,\n bottom: top,\n width: 0,\n height: 0,\n});\n\nconst getAnchorRect = (state: AnchoredOverlayState) => state.anchorRect ?? pointRect(state.left, state.top);\n\nconst toVirtualAnchor = (\n state: AnchoredOverlayState,\n contextElement?: Element | null,\n): VirtualAnchor => ({\n contextElement: contextElement ?? undefined,\n getBoundingClientRect: () => {\n const rect = getAnchorRect(state);\n return {\n ...rect,\n x: rect.left,\n y: rect.top,\n toJSON: () => rect,\n } as DOMRect;\n },\n});\n\nconst cx = (...classes: Array<string | false | null | undefined>) => classes.filter(Boolean).join(\" \");\n\nconst withBaseClass = <State,>(baseClassName: string, className?: string | ((state: State) => string | undefined)) => {\n if (typeof className === \"function\") {\n return (state: State) => cx(baseClassName, className(state));\n }\n\n return cx(baseClassName, className);\n};\n\nexport const OpenEditorButton = ({ className, ...props }: OpenEditorButtonProps) => (\n <Button className={withBaseClass<BaseButton.State>(\"oe-button\", className)} {...props} />\n);\n\nexport const OpenEditorToggle = <Value extends string = string>({\n className,\n ...props\n}: OpenEditorToggleProps<Value>) => (\n <Toggle<Value> className={withBaseClass<BaseToggle.State>(\"oe-button oe-toggle\", className)} {...props} />\n);\n\nexport const OpenEditorToggleGroup = <Value extends string = string>({\n className,\n ...props\n}: OpenEditorToggleGroupProps<Value>) => (\n <ToggleGroup<Value> className={withBaseClass<BaseToggleGroup.State>(\"oe-toggle-group\", className)} {...props} />\n);\n\nexport const OpenEditorInput = ({ className, ...props }: OpenEditorInputProps) => (\n <Input className={withBaseClass<BaseInput.State>(\"oe-input\", className)} {...props} />\n);\n\nconst OpenEditorLinkDialog = ({\n controller,\n open,\n onOpenChange,\n}: {\n controller: OpenEditorController;\n open: boolean;\n onOpenChange: (open: boolean) => void;\n}) => {\n const themeStyle = useOpenEditorThemeStyle();\n const [url, setUrl] = useState(\"\");\n\n useEffect(() => {\n if (open) {\n setUrl(controller.getActiveLink() ?? \"https://\");\n }\n }, [open]);\n\n const submitLink = (event: FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n controller.setLink(url.trim());\n onOpenChange(false);\n };\n\n return (\n <Dialog.Root open={open} onOpenChange={onOpenChange}>\n <Dialog.Portal>\n <Dialog.Backdrop className=\"oe-dialog-backdrop\" />\n <Dialog.Popup className=\"oe-dialog\" initialFocus={false} style={themeStyle}>\n <Dialog.Close className=\"oe-dialog-close\" aria-label=\"Close link dialog\">\n <X aria-hidden=\"true\" size={15} strokeWidth={2} />\n </Dialog.Close>\n <form className=\"oe-link-dialog-form\" onSubmit={submitLink}>\n <Dialog.Title className=\"oe-dialog-title\">Link</Dialog.Title>\n <OpenEditorInput\n aria-label=\"Link URL\"\n autoComplete=\"url\"\n inputMode=\"url\"\n value={url}\n onValueChange={setUrl}\n placeholder=\"https://example.com\"\n />\n <div className=\"oe-dialog-actions\">\n <OpenEditorButton\n type=\"button\"\n className=\"oe-dialog-button oe-dialog-button-remove\"\n onClick={() => {\n controller.setLink(null);\n onOpenChange(false);\n }}\n >\n Remove\n </OpenEditorButton>\n <OpenEditorButton type=\"submit\" className=\"oe-dialog-button oe-dialog-button-primary\">Apply</OpenEditorButton>\n </div>\n </form>\n </Dialog.Popup>\n </Dialog.Portal>\n </Dialog.Root>\n );\n};\n\nconst SelectionButton = ({\n action,\n}: {\n action: SelectionAction;\n}) => (\n <Toolbar.Button\n type=\"button\"\n aria-label={action.label}\n aria-pressed={action.active}\n className=\"oe-toolbar-button\"\n data-active={action.active ? \"\" : undefined}\n onClick={action.run}\n >\n <action.Icon aria-hidden=\"true\" className=\"oe-toolbar-icon\" size={15} strokeWidth={2} />\n </Toolbar.Button>\n);\n\nconst SelectionBlockTransformMenu = ({\n controller,\n container,\n}: {\n controller: OpenEditorController;\n container?: HTMLElement | null;\n}) => {\n const themeStyle = useOpenEditorThemeStyle();\n const activeAction = getActiveBlockTransform(controller);\n const [menuOpen, setMenuOpen] = useState(false);\n const [headingPanelOpen, setHeadingPanelOpen] = useState(false);\n const headingActions = blockTransformActions.filter((action) => isHeadingKey(action.key));\n\n return (\n <Menu.Root\n modal={false}\n open={menuOpen}\n onOpenChange={(open) => {\n setMenuOpen(open);\n if (!open) setHeadingPanelOpen(false);\n }}\n >\n <Menu.Trigger\n type=\"button\"\n aria-label={`${activeAction.label}. Turn into`}\n className=\"oe-toolbar-button oe-block-transform-trigger\"\n onMouseDown={(event) => event.preventDefault()}\n >\n <activeAction.Icon aria-hidden=\"true\" className=\"oe-toolbar-icon\" size={15} strokeWidth={2} />\n <span className=\"oe-block-transform-trigger-label\">{activeAction.label}</span>\n <ChevronDown aria-hidden=\"true\" className=\"oe-toolbar-chevron\" size={12} strokeWidth={2} />\n </Menu.Trigger>\n <Menu.Portal container={container}>\n <Menu.Positioner\n positionMethod=\"fixed\"\n side=\"bottom\"\n align=\"start\"\n sideOffset={8}\n collisionPadding={12}\n collisionAvoidance={{ side: \"flip\", align: \"shift\", fallbackAxisSide: \"none\" }}\n >\n <Menu.Popup\n className=\"oe-cascade-menu\"\n style={themeStyle}\n onMouseLeave={() => setHeadingPanelOpen(false)}\n >\n <div className=\"oe-block-transform-menu oe-cascade-panel\">\n {blockTransformActions.map((action) => {\n if (isHeadingKey(action.key)) {\n if (action.key !== \"heading1\") return null;\n return (\n <Menu.Item\n closeOnClick={false}\n key=\"heading\"\n className=\"oe-block-transform-item\"\n data-active={isHeadingKey(activeAction.key) ? \"\" : undefined}\n label=\"Heading\"\n onClick={() => setHeadingPanelOpen(true)}\n onFocus={() => setHeadingPanelOpen(true)}\n onMouseEnter={() => setHeadingPanelOpen(true)}\n >\n <Heading1 aria-hidden=\"true\" className=\"oe-block-transform-icon\" size={15} strokeWidth={2} />\n <span>Heading</span>\n <ChevronRight aria-hidden=\"true\" className=\"oe-submenu-chevron\" size={13} strokeWidth={2} />\n </Menu.Item>\n );\n }\n\n const active = action.key === activeAction.key;\n return (\n <Menu.Item\n key={action.key}\n className=\"oe-block-transform-item\"\n data-active={active ? \"\" : undefined}\n label={action.label}\n onMouseEnter={() => setHeadingPanelOpen(false)}\n onClick={() => { if (!active) action.run(controller); }}\n >\n <action.Icon aria-hidden=\"true\" className=\"oe-block-transform-icon\" size={15} strokeWidth={2} />\n <span>{action.label}</span>\n </Menu.Item>\n );\n })}\n </div>\n {headingPanelOpen ? (\n <div className=\"oe-block-transform-menu oe-block-transform-submenu oe-cascade-panel\">\n {headingActions.map((headingAction) => {\n const headingActive = headingAction.key === activeAction.key;\n return (\n <button\n type=\"button\"\n key={headingAction.key}\n className=\"oe-block-transform-item\"\n data-active={headingActive ? \"\" : undefined}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n if (!headingActive) headingAction.run(controller);\n setMenuOpen(false);\n }}\n role=\"menuitem\"\n >\n <headingAction.Icon aria-hidden=\"true\" className=\"oe-block-transform-icon\" size={15} strokeWidth={2} />\n <span>{headingAction.label}</span>\n </button>\n );\n })}\n </div>\n ) : null}\n </Menu.Popup>\n </Menu.Positioner>\n </Menu.Portal>\n </Menu.Root>\n );\n};\n\nexport const OpenEditorSelectionBubble = ({\n controller,\n className = \"oe-bubble-menu\",\n container,\n}: OpenEditorSelectionBubbleProps) => {\n const themeStyle = useOpenEditorThemeStyle();\n const { selectionBubbleState } = controller;\n const rootElement = controller.getRootElement();\n const [linkDialogOpen, setLinkDialogOpen] = useState(false);\n const lastAnchorRef = useRef<AnchoredOverlayState | null>(null);\n\n if (selectionBubbleState) {\n lastAnchorRef.current = selectionBubbleState;\n }\n\n const anchor = useMemo(\n () => {\n const anchorState = selectionBubbleState ?? lastAnchorRef.current;\n return anchorState ? toVirtualAnchor(anchorState, rootElement) : null;\n },\n [rootElement, selectionBubbleState],\n );\n\n const actions: SelectionAction[] = controller.ready\n ? [\n {\n key: \"bold\",\n label: \"Bold\",\n active: controller.isActive(\"bold\"),\n Icon: Bold,\n run: () => controller.toggleBold(),\n },\n {\n key: \"italic\",\n label: \"Italic\",\n active: controller.isActive(\"italic\"),\n Icon: Italic,\n run: () => controller.toggleItalic(),\n },\n {\n key: \"underline\",\n label: \"Underline\",\n active: controller.isActive(\"underline\"),\n Icon: Underline,\n run: () => controller.toggleUnderline(),\n },\n {\n key: \"strike\",\n label: \"Strikethrough\",\n active: controller.isActive(\"strike\"),\n Icon: Strikethrough,\n run: () => controller.toggleStrike(),\n },\n {\n key: \"code\",\n label: \"Inline code\",\n active: controller.isActive(\"code\"),\n Icon: Code,\n run: () => controller.toggleInlineCode(),\n },\n ]\n : [];\n\n if (!controller.ready || (!selectionBubbleState && !linkDialogOpen)) {\n return null;\n }\n\n return (\n <>\n <Popover.Root open={Boolean(selectionBubbleState)} modal={false}>\n <Popover.Portal container={container}>\n <Popover.Positioner\n anchor={anchor}\n positionMethod=\"fixed\"\n side=\"top\"\n align=\"center\"\n sideOffset={10}\n collisionPadding={12}\n collisionAvoidance={{ side: \"flip\", align: \"shift\", fallbackAxisSide: \"none\" }}\n >\n <Popover.Popup\n className={className}\n style={themeStyle}\n onMouseDown={(event) => event.preventDefault()}\n >\n <Toolbar.Root className=\"oe-selection-toolbar\" aria-label=\"Selection formatting\">\n <SelectionBlockTransformMenu controller={controller} container={container} />\n {actions.map((action) => (\n <SelectionButton key={action.key} action={action} />\n ))}\n <Toolbar.Button\n type=\"button\"\n aria-label=\"Link\"\n className=\"oe-toolbar-button\"\n data-active={controller.isActive(\"link\") ? \"\" : undefined}\n onClick={() => setLinkDialogOpen(true)}\n >\n <Link aria-hidden=\"true\" className=\"oe-toolbar-icon\" size={15} strokeWidth={2} />\n </Toolbar.Button>\n </Toolbar.Root>\n </Popover.Popup>\n </Popover.Positioner>\n </Popover.Portal>\n </Popover.Root>\n <OpenEditorLinkDialog\n controller={controller}\n open={linkDialogOpen}\n onOpenChange={setLinkDialogOpen}\n />\n </>\n );\n};\n\nexport const OpenEditorSlashMenu = ({\n controller,\n className = \"oe-slash-menu\",\n items,\n container,\n}: OpenEditorSlashMenuProps) => {\n const themeStyle = useOpenEditorThemeStyle();\n const slashMenuItems = sortSlashMenuItems(items ?? getDefaultSlashMenuItems(controller));\n const slashState = controller.slashState;\n const [headingPanelOpen, setHeadingPanelOpen] = useState(false);\n const anchor = useMemo(\n () =>\n slashState\n ? toVirtualAnchor(\n slashState,\n controller.getRootElement(),\n )\n : null,\n [controller, slashState],\n );\n\n useEffect(() => setHeadingPanelOpen(false), [slashState?.query]);\n\n if (!slashState) {\n return null;\n }\n\n const matchingItems = slashMenuItems.filter((item) => {\n const haystack = `${item.label} ${item.group} ${item.keywords?.join(\" \") ?? \"\"}`.toLowerCase();\n return haystack.includes(slashState.query.toLowerCase());\n });\n const firstHeadingKey = matchingItems.find((item) => isHeadingKey(item.key))?.key;\n\n return (\n <Popover.Root open modal={false}>\n <Popover.Portal container={container}>\n <Popover.Positioner\n anchor={anchor}\n positionMethod=\"fixed\"\n side=\"bottom\"\n align=\"start\"\n sideOffset={8}\n collisionPadding={12}\n collisionAvoidance={{ side: \"flip\", align: \"shift\", fallbackAxisSide: \"none\" }}\n >\n <Popover.Popup\n className=\"oe-cascade-menu\"\n style={themeStyle}\n finalFocus={false}\n initialFocus={false}\n onMouseLeave={() => setHeadingPanelOpen(false)}\n >\n <div className={`${className} oe-cascade-panel`}>\n <div className=\"oe-slash-menu-scroll\">\n {matchingItems.map((item) => {\n if (isHeadingKey(item.key)) {\n if (item.key !== firstHeadingKey) return null;\n\n return (\n <button\n type=\"button\"\n key=\"heading\"\n className=\"oe-slash-menu-item\"\n onClick={() => setHeadingPanelOpen(true)}\n onFocus={() => setHeadingPanelOpen(true)}\n onMouseEnter={() => setHeadingPanelOpen(true)}\n onMouseDown={(event) => event.preventDefault()}\n >\n <Heading1 aria-hidden=\"true\" className=\"oe-slash-menu-icon\" size={15} strokeWidth={2} />\n <span>Heading</span>\n <ChevronRight aria-hidden=\"true\" className=\"oe-submenu-chevron\" size={13} strokeWidth={2} />\n </button>\n );\n }\n\n const Icon = getSlashMenuIcon(item);\n\n return (\n <button\n type=\"button\"\n key={item.key}\n className=\"oe-slash-menu-item\"\n onMouseEnter={() => setHeadingPanelOpen(false)}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n item.execute({ controller, range: { from: slashState.from, to: slashState.to } });\n }}\n >\n <Icon aria-hidden={true} className=\"oe-slash-menu-icon\" size={15} strokeWidth={2} />\n <span>{item.label}</span>\n </button>\n );\n })}\n </div>\n </div>\n {headingPanelOpen ? (\n <div className=\"oe-slash-menu oe-slash-submenu oe-cascade-panel\">\n {matchingItems.filter((item) => isHeadingKey(item.key)).map((headingItem) => {\n const HeadingIcon = getSlashMenuIcon(headingItem);\n return (\n <button\n type=\"button\"\n key={headingItem.key}\n className=\"oe-slash-menu-item\"\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n headingItem.execute({ controller, range: { from: slashState.from, to: slashState.to } });\n }}\n role=\"menuitem\"\n >\n <HeadingIcon aria-hidden={true} className=\"oe-slash-menu-icon\" size={15} strokeWidth={2} />\n <span>{headingItem.label}</span>\n </button>\n );\n })}\n </div>\n ) : null}\n </Popover.Popup>\n </Popover.Positioner>\n </Popover.Portal>\n </Popover.Root>\n );\n};\n\ntype ResolvedBlockAction = OpenEditorBlockAction & {\n Icon?: LucideIcon;\n};\n\nconst builtInBlockActions = (\n controller: OpenEditorController,\n block: OpenEditorBlockRef,\n): ResolvedBlockAction[] => [\n {\n id: \"move-up\",\n label: \"Move up\",\n group: \"move\",\n Icon: ArrowUp,\n disabled: () => !controller.canMoveBlock(-1, block),\n run: () => { controller.moveBlock(-1, block); },\n },\n {\n id: \"move-down\",\n label: \"Move down\",\n group: \"move\",\n Icon: ArrowDown,\n disabled: () => !controller.canMoveBlock(1, block),\n run: () => { controller.moveBlock(1, block); },\n },\n {\n id: \"copy\",\n label: \"Copy block\",\n group: \"edit\",\n Icon: Copy,\n run: () => controller.copyBlock(block),\n },\n {\n id: \"duplicate\",\n label: \"Duplicate\",\n group: \"edit\",\n Icon: CopyPlus,\n run: () => { controller.duplicateBlock(block); },\n },\n {\n id: \"delete\",\n label: \"Delete\",\n group: \"danger\",\n Icon: Trash2,\n run: () => { controller.deleteBlock(block); },\n },\n];\n\nexport const OpenEditorBlockMenu = ({\n controller,\n className,\n container,\n}: OpenEditorBlockMenuProps) => {\n const interaction = useOpenEditorBlockInteraction(controller);\n const block = interaction.activeBlock;\n const themeStyle = useOpenEditorThemeStyle();\n const [open, setOpen] = useState(false);\n const handleElementRef = useRef<HTMLDivElement | null>(null);\n const lastBlockRef = useRef<OpenEditorBlockRef | null>(null);\n if (block) lastBlockRef.current = block;\n const activeBlock = block ?? (open ? lastBlockRef.current : null);\n\n if (!controller.editable) return null;\n const handle = (\n <OpenEditorBlockDragHandle\n ariaLabel={activeBlock\n ? `Actions for ${activeBlock.blockName ?? activeBlock.nodeType} block`\n : undefined}\n className=\"oe-block-handle-anchor\"\n controller={controller}\n elementRef={handleElementRef}\n expanded={open}\n onActivate={() => {\n const nextOpen = !open;\n setOpen(nextOpen);\n controller.setBlockHandleLocked(nextOpen);\n if (nextOpen && activeBlock) controller.selectBlock(activeBlock);\n }}\n onDraggingChange={(dragging) => {\n if (dragging) setOpen(false);\n }}\n >\n {activeBlock ? (\n <span aria-hidden=\"true\" className={cx(\"oe-block-handle\", className)}>\n <GripVertical aria-hidden=\"true\" size={16} strokeWidth={2} />\n </span>\n ) : null}\n </OpenEditorBlockDragHandle>\n );\n const actions: ResolvedBlockAction[] = activeBlock\n ? [...builtInBlockActions(controller, activeBlock), ...controller.blockActions]\n : [];\n return (\n <Menu.Root modal={false} open={open} onOpenChange={(nextOpen) => {\n setOpen(nextOpen);\n controller.setBlockHandleLocked(nextOpen);\n if (nextOpen && activeBlock) controller.selectBlock(activeBlock);\n }}>\n {handle}\n {activeBlock ? <Menu.Portal container={container}>\n <Menu.Positioner\n align=\"start\"\n anchor={handleElementRef}\n collisionAvoidance={{ side: \"flip\", align: \"shift\", fallbackAxisSide: \"none\" }}\n collisionPadding={12}\n positionMethod=\"fixed\"\n side=\"bottom\"\n sideOffset={8}\n >\n <Menu.Popup\n aria-label={activeBlock\n ? `Actions for ${activeBlock.blockName ?? activeBlock.nodeType} block`\n : \"Block actions\"}\n className=\"oe-block-menu\"\n style={themeStyle}\n >\n {actions.map((action, index) => {\n const previous = actions[index - 1];\n const Icon = action.Icon;\n const context = { controller, block: activeBlock };\n return (\n <Fragment key={action.id}>\n {previous && previous.group !== action.group ? <Menu.Separator className=\"oe-block-menu-separator\" /> : null}\n <Menu.Item\n className=\"oe-block-menu-item\"\n data-danger={action.group === \"danger\" ? \"\" : undefined}\n disabled={action.disabled?.(context)}\n onClick={() => { void action.run(context); }}\n >\n {Icon ? <Icon aria-hidden=\"true\" size={15} strokeWidth={2} /> : <span aria-hidden=\"true\" className=\"oe-block-menu-icon-placeholder\" />}\n <span>{action.label}</span>\n </Menu.Item>\n </Fragment>\n );\n })}\n </Menu.Popup>\n </Menu.Positioner>\n </Menu.Portal> : null}\n </Menu.Root>\n );\n};\n\nexport const OpenEditor = ({\n className = \"oe-editor-surface\",\n contentClassName,\n overlayContainer,\n theme,\n ...props\n}: OpenEditorProps) => {\n const controller = useOpenEditorController(props);\n\n const editor = (\n <div className={className}>\n <OpenEditorContent controller={controller} className={contentClassName} />\n <OpenEditorBlockMenu controller={controller} container={overlayContainer} />\n <OpenEditorSelectionBubble controller={controller} container={overlayContainer} />\n <OpenEditorSlashMenu controller={controller} container={overlayContainer} />\n </div>\n );\n return theme ? <OpenEditorThemeProvider theme={theme}>{editor}</OpenEditorThemeProvider> : editor;\n};\n\nexport { OpenEditorContent, useOpenEditorController };\nexport type {\n OpenEditorBlockAction,\n OpenEditorBlockRef,\n OpenEditorController,\n OpenEditorReactProps,\n OpenEditorSlashMenuIcon,\n OpenEditorSlashMenuIconProps,\n OpenEditorSlashMenuItem,\n} from \"@openeditor/react\";\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openeditor/ui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.27",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"**/*.css"
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@base-ui/react": "^1.6.0",
|
|
31
|
-
"@openeditor/emoji": "0.0.
|
|
32
|
-
"@openeditor/react": "0.0.
|
|
31
|
+
"@openeditor/emoji": "0.0.27",
|
|
32
|
+
"@openeditor/react": "0.0.27",
|
|
33
33
|
"lucide-react": "^1.23.0",
|
|
34
34
|
"react": "19.2.7",
|
|
35
35
|
"react-dom": "19.2.7"
|