@dxos/react-ui-editor 0.8.3-main.672df60 → 0.8.3-staging.0fa589b
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/lib/browser/index.mjs +981 -377
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node/index.cjs +1025 -420
- package/dist/lib/node/index.cjs.map +4 -4
- package/dist/lib/node/meta.json +1 -1
- package/dist/lib/node-esm/index.mjs +981 -377
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts.map +1 -1
- package/dist/types/src/components/EditorToolbar/util.d.ts +2 -2
- package/dist/types/src/components/Popover/CommandMenu.d.ts +34 -0
- package/dist/types/src/components/Popover/CommandMenu.d.ts.map +1 -0
- package/dist/types/src/components/Popover/RefDropdownMenu.d.ts.map +1 -1
- package/dist/types/src/components/Popover/RefPopover.d.ts +19 -6
- package/dist/types/src/components/Popover/RefPopover.d.ts.map +1 -1
- package/dist/types/src/components/Popover/index.d.ts +1 -0
- package/dist/types/src/components/Popover/index.d.ts.map +1 -1
- package/dist/types/src/defaults.d.ts +0 -1
- package/dist/types/src/defaults.d.ts.map +1 -1
- package/dist/types/src/extensions/automerge/automerge.stories.d.ts.map +1 -1
- package/dist/types/src/extensions/command/action.d.ts.map +1 -1
- package/dist/types/src/extensions/command/command-menu.d.ts +20 -0
- package/dist/types/src/extensions/command/command-menu.d.ts.map +1 -0
- package/dist/types/src/extensions/command/command.d.ts.map +1 -1
- package/dist/types/src/extensions/command/{menu.d.ts → floating-menu.d.ts} +1 -1
- package/dist/types/src/extensions/command/floating-menu.d.ts.map +1 -0
- package/dist/types/src/extensions/command/hint.d.ts +5 -2
- package/dist/types/src/extensions/command/hint.d.ts.map +1 -1
- package/dist/types/src/extensions/command/index.d.ts +3 -1
- package/dist/types/src/extensions/command/index.d.ts.map +1 -1
- package/dist/types/src/extensions/command/placeholder.d.ts +10 -0
- package/dist/types/src/extensions/command/placeholder.d.ts.map +1 -0
- package/dist/types/src/extensions/command/state.d.ts +1 -1
- package/dist/types/src/extensions/command/state.d.ts.map +1 -1
- package/dist/types/src/extensions/command/useCommandMenu.d.ts +26 -0
- package/dist/types/src/extensions/command/useCommandMenu.d.ts.map +1 -0
- package/dist/types/src/extensions/factories.d.ts +1 -0
- package/dist/types/src/extensions/factories.d.ts.map +1 -1
- package/dist/types/src/extensions/markdown/bundle.d.ts.map +1 -1
- package/dist/types/src/extensions/outliner/tree.d.ts.map +1 -1
- package/dist/types/src/extensions/preview/preview.d.ts +12 -19
- package/dist/types/src/extensions/preview/preview.d.ts.map +1 -1
- package/dist/types/src/hooks/useTextEditor.d.ts +8 -9
- package/dist/types/src/hooks/useTextEditor.d.ts.map +1 -1
- package/dist/types/src/stories/CommandMenu.stories.d.ts +13 -0
- package/dist/types/src/stories/CommandMenu.stories.d.ts.map +1 -0
- package/dist/types/src/stories/Preview.stories.d.ts.map +1 -1
- package/dist/types/src/util/dom.d.ts +5 -0
- package/dist/types/src/util/dom.d.ts.map +1 -1
- package/dist/types/src/util/react.d.ts +2 -4
- package/dist/types/src/util/react.d.ts.map +1 -1
- package/package.json +31 -28
- package/src/components/EditorToolbar/EditorToolbar.tsx +5 -9
- package/src/components/Popover/CommandMenu.tsx +279 -0
- package/src/components/Popover/RefDropdownMenu.tsx +5 -3
- package/src/components/Popover/RefPopover.tsx +46 -22
- package/src/components/Popover/index.ts +1 -0
- package/src/defaults.ts +1 -6
- package/src/extensions/automerge/automerge.stories.tsx +5 -5
- package/src/extensions/command/action.ts +9 -2
- package/src/extensions/command/command-menu.ts +210 -0
- package/src/extensions/command/command.ts +8 -8
- package/src/extensions/command/{menu.ts → floating-menu.ts} +0 -4
- package/src/extensions/command/hint.ts +29 -9
- package/src/extensions/command/index.ts +3 -1
- package/src/extensions/command/placeholder.ts +113 -0
- package/src/extensions/command/state.ts +1 -2
- package/src/extensions/command/useCommandMenu.ts +118 -0
- package/src/extensions/factories.ts +4 -1
- package/src/extensions/markdown/bundle.ts +0 -2
- package/src/extensions/outliner/outliner.ts +0 -3
- package/src/extensions/outliner/tree.test.ts +13 -10
- package/src/extensions/outliner/tree.ts +5 -3
- package/src/extensions/preview/preview.ts +11 -89
- package/src/hooks/useTextEditor.ts +11 -12
- package/src/stories/Command.stories.tsx +1 -1
- package/src/stories/CommandMenu.stories.tsx +159 -0
- package/src/stories/Preview.stories.tsx +157 -78
- package/src/stories/components/util.tsx +2 -2
- package/src/util/dom.ts +20 -0
- package/src/util/react.tsx +3 -20
- package/dist/types/src/extensions/command/menu.d.ts.map +0 -1
package/src/util/dom.ts
CHANGED
@@ -34,3 +34,23 @@ export const clientRectsFor = (dom: Node) => {
|
|
34
34
|
return [] as any as DOMRectList;
|
35
35
|
}
|
36
36
|
};
|
37
|
+
|
38
|
+
export type ElementOptions = {
|
39
|
+
className?: string;
|
40
|
+
text?: string;
|
41
|
+
};
|
42
|
+
|
43
|
+
export const createElement = (tag: string, options?: ElementOptions, children?: HTMLElement[]): HTMLElement => {
|
44
|
+
const el = document.createElement(tag);
|
45
|
+
if (options?.className) {
|
46
|
+
el.className = options.className;
|
47
|
+
}
|
48
|
+
if (options?.text) {
|
49
|
+
el.textContent = options.text;
|
50
|
+
}
|
51
|
+
if (children) {
|
52
|
+
el.append(...(Array.isArray(children) ? children : [children]));
|
53
|
+
}
|
54
|
+
|
55
|
+
return el;
|
56
|
+
};
|
package/src/util/react.tsx
CHANGED
@@ -10,26 +10,8 @@ import { defaultTx } from '@dxos/react-ui-theme';
|
|
10
10
|
|
11
11
|
import { type RenderCallback } from '../types';
|
12
12
|
|
13
|
-
|
14
|
-
|
15
|
-
export type ElementOptions = {
|
16
|
-
className?: string;
|
17
|
-
};
|
18
|
-
|
19
|
-
export const createElement = (tag: string, options?: ElementOptions, children?: ReactNode): HTMLElement => {
|
20
|
-
const el = document.createElement(tag);
|
21
|
-
if (options?.className) {
|
22
|
-
el.className = options.className;
|
23
|
-
}
|
24
|
-
if (children) {
|
25
|
-
el.append(...(Array.isArray(children) ? children : [children]));
|
26
|
-
}
|
27
|
-
|
28
|
-
return el;
|
29
|
-
};
|
30
|
-
|
31
|
-
// TODO(burdon): Remove react rendering; use DOM directly.
|
32
|
-
// NOTE: CM seems to remove/detach/overwrite portals that are attached to the DOM it control.s
|
13
|
+
/** @deprecated */
|
14
|
+
// TODO(wittjosiah): Replace with portals which are lighter weight and inherit context from the main react tree.
|
33
15
|
export const renderRoot = <T extends Element>(root: T, node: ReactNode): T => {
|
34
16
|
createRoot(root).render(<ThemeProvider tx={defaultTx}>{node}</ThemeProvider>);
|
35
17
|
return root;
|
@@ -37,6 +19,7 @@ export const renderRoot = <T extends Element>(root: T, node: ReactNode): T => {
|
|
37
19
|
|
38
20
|
/**
|
39
21
|
* Utility to create a renderer for a React component.
|
22
|
+
* @deprecated
|
40
23
|
*/
|
41
24
|
export const createRenderer =
|
42
25
|
<Props extends object>(Component: FC<Props>): RenderCallback<Props> =>
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/command/menu.ts"],"names":[],"mappings":"AAUA,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,UAAS,mBAAwB,4CAwH7D,CAAC"}
|