@dxos/react-ui-editor 0.8.4-main.422d1c7879 → 0.8.4-main.4f23b4e393

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.
Files changed (90) hide show
  1. package/dist/lib/browser/index.mjs +61 -139
  2. package/dist/lib/browser/index.mjs.map +4 -4
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/browser/translations.mjs +39 -0
  5. package/dist/lib/browser/translations.mjs.map +7 -0
  6. package/dist/lib/node-esm/index.mjs +61 -139
  7. package/dist/lib/node-esm/index.mjs.map +4 -4
  8. package/dist/lib/node-esm/meta.json +1 -1
  9. package/dist/lib/node-esm/translations.mjs +41 -0
  10. package/dist/lib/node-esm/translations.mjs.map +7 -0
  11. package/dist/types/src/components/Editor/Editor.d.ts +17 -5
  12. package/dist/types/src/components/Editor/Editor.d.ts.map +1 -1
  13. package/dist/types/src/components/Editor/Editor.stories.d.ts +1 -1
  14. package/dist/types/src/components/Editor/Editor.stories.d.ts.map +1 -1
  15. package/dist/types/src/components/Editor/EditorView.d.ts.map +1 -1
  16. package/dist/types/src/components/Editor/controller.d.ts.map +1 -1
  17. package/dist/types/src/components/EditorMenuProvider/EditorMenuProvider.d.ts.map +1 -1
  18. package/dist/types/src/components/EditorMenuProvider/menu.d.ts.map +1 -1
  19. package/dist/types/src/components/EditorMenuProvider/popover.d.ts +2 -1
  20. package/dist/types/src/components/EditorMenuProvider/popover.d.ts.map +1 -1
  21. package/dist/types/src/components/EditorMenuProvider/useEditorMenu.d.ts.map +1 -1
  22. package/dist/types/src/components/EditorPreviewProvider/EditorPreviewProvider.d.ts.map +1 -1
  23. package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts +1 -1
  24. package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts.map +1 -1
  25. package/dist/types/src/components/EditorToolbar/blocks.d.ts.map +1 -1
  26. package/dist/types/src/components/EditorToolbar/formatting.d.ts.map +1 -1
  27. package/dist/types/src/components/EditorToolbar/headings.d.ts.map +1 -1
  28. package/dist/types/src/components/EditorToolbar/image.d.ts.map +1 -1
  29. package/dist/types/src/components/EditorToolbar/lists.d.ts.map +1 -1
  30. package/dist/types/src/components/EditorToolbar/search.d.ts.map +1 -1
  31. package/dist/types/src/components/EditorToolbar/types.d.ts +2 -1
  32. package/dist/types/src/components/EditorToolbar/types.d.ts.map +1 -1
  33. package/dist/types/src/components/EditorToolbar/view-mode.d.ts +1 -1
  34. package/dist/types/src/components/EditorToolbar/view-mode.d.ts.map +1 -1
  35. package/dist/types/src/extensions/Assistant.stories.d.ts.map +1 -1
  36. package/dist/types/src/extensions/assistant-extension.d.ts.map +1 -1
  37. package/dist/types/src/hooks/useBasicMarkdownExtensions.d.ts.map +1 -1
  38. package/dist/types/src/hooks/useTextEditor.d.ts.map +1 -1
  39. package/dist/types/src/index.d.ts +0 -2
  40. package/dist/types/src/index.d.ts.map +1 -1
  41. package/dist/types/src/stories/Automerge.stories.d.ts +24 -24
  42. package/dist/types/src/stories/Automerge.stories.d.ts.map +1 -1
  43. package/dist/types/src/stories/Comments.stories.d.ts +1 -1
  44. package/dist/types/src/stories/Comments.stories.d.ts.map +1 -1
  45. package/dist/types/src/stories/EditorToolbar.stories.d.ts +25 -25
  46. package/dist/types/src/stories/EditorToolbar.stories.d.ts.map +1 -1
  47. package/dist/types/src/stories/Experimental.stories.d.ts +2 -2
  48. package/dist/types/src/stories/Experimental.stories.d.ts.map +1 -1
  49. package/dist/types/src/stories/Markdown.stories.d.ts +1 -1
  50. package/dist/types/src/stories/Markdown.stories.d.ts.map +1 -1
  51. package/dist/types/src/stories/Outliner.stories.d.ts.map +1 -1
  52. package/dist/types/src/stories/Popover.stories.d.ts.map +1 -1
  53. package/dist/types/src/stories/Preview.stories.d.ts +1 -1
  54. package/dist/types/src/stories/Preview.stories.d.ts.map +1 -1
  55. package/dist/types/src/stories/Tags.stories.d.ts.map +1 -1
  56. package/dist/types/src/stories/TextEditor.stories.d.ts +1 -1
  57. package/dist/types/src/stories/TextEditor.stories.d.ts.map +1 -1
  58. package/dist/types/src/stories/Theme.stories.d.ts.map +1 -1
  59. package/dist/types/src/stories/components/EditorStory.d.ts +1 -1
  60. package/dist/types/src/stories/components/util.d.ts +2 -1
  61. package/dist/types/src/stories/components/util.d.ts.map +1 -1
  62. package/dist/types/src/translations.d.ts +24 -24
  63. package/dist/types/src/translations.d.ts.map +1 -1
  64. package/dist/types/src/util/react.d.ts +1 -1
  65. package/dist/types/src/util/react.d.ts.map +1 -1
  66. package/dist/types/tsconfig.tsbuildinfo +1 -1
  67. package/package.json +54 -45
  68. package/src/components/Editor/Editor.tsx +2 -8
  69. package/src/components/Editor/EditorView.tsx +29 -10
  70. package/src/components/EditorMenuProvider/EditorMenuProvider.tsx +1 -1
  71. package/src/components/EditorMenuProvider/popover.ts +3 -1
  72. package/src/components/EditorPreviewProvider/EditorPreviewProvider.tsx +1 -1
  73. package/src/components/EditorToolbar/EditorToolbar.tsx +8 -6
  74. package/src/components/EditorToolbar/blocks.ts +2 -1
  75. package/src/components/EditorToolbar/formatting.ts +2 -1
  76. package/src/components/EditorToolbar/headings.ts +2 -1
  77. package/src/components/EditorToolbar/image.ts +1 -1
  78. package/src/components/EditorToolbar/lists.ts +2 -1
  79. package/src/components/EditorToolbar/search.ts +1 -1
  80. package/src/components/EditorToolbar/types.ts +2 -1
  81. package/src/components/EditorToolbar/view-mode.ts +3 -2
  82. package/src/extensions/Assistant.stories.tsx +2 -1
  83. package/src/extensions/assistant-extension.tsx +3 -3
  84. package/src/index.ts +0 -4
  85. package/src/stories/Automerge.stories.tsx +4 -3
  86. package/src/stories/Comments.stories.tsx +2 -1
  87. package/src/stories/EditorToolbar.stories.tsx +4 -3
  88. package/src/stories/Experimental.stories.tsx +7 -7
  89. package/src/stories/components/util.tsx +2 -2
  90. package/src/util/react.tsx +1 -1
@@ -1,38 +1,3 @@
1
- // src/translations.ts
2
- var translationKey = "@dxos/react-ui-editor";
3
- var translations = [
4
- {
5
- "en-US": {
6
- [translationKey]: {
7
- "comment.label": "Create comment",
8
- "image.label": "Insert image",
9
- "search.label": "Search",
10
- "block.label": "Block",
11
- "block.blockquote.label": "Block quote",
12
- "block.codeblock.label": "Code block",
13
- "block.table.label": "Create table",
14
- "formatting.label": "Formatting",
15
- "formatting.strong.label": "Bold",
16
- "formatting.emphasis.label": "Italics",
17
- "formatting.strikethrough.label": "Strikethrough",
18
- "formatting.code.label": "Code",
19
- "formatting.link.label": "Link",
20
- "list.bullet.label": "Bullet list",
21
- "list.ordered.label": "Numbered list",
22
- "list.task.label": "Task list",
23
- "heading.label": "Heading level",
24
- "heading-level.label_zero": "Paragraph",
25
- "heading-level.label_one": "Heading level {{count}}",
26
- "heading-level.label_other": "Heading level {{count}}",
27
- "view-mode.label": "Editor view",
28
- "view-mode.preview.label": "Markdown",
29
- "view-mode.source.label": "Plain text",
30
- "view-mode.readonly.label": "Read only"
31
- }
32
- }
33
- }
34
- ];
35
-
36
1
  // src/components/Editor/Editor.tsx
37
2
  import { Atom as Atom2 } from "@effect-atom/atom-react";
38
3
  import { createContext } from "@radix-ui/react-context";
@@ -94,6 +59,7 @@ var popover = (options = {}) => {
94
59
  options.trigger && placeholder({
95
60
  // TODO(burdon): Translations.
96
61
  content: `Press '${Array.isArray(options.trigger) ? options.trigger[0] : options.trigger}' for commands`,
62
+ focusOnly: true,
97
63
  ...options.placeholder
98
64
  })
99
65
  ].filter(isTruthy);
@@ -451,15 +417,7 @@ var EditorMenuProvider = ({ children, view, groups, currentItem, open: openProp,
451
417
  prop: openProp,
452
418
  defaultProp: defaultOpen,
453
419
  onChange: (open2) => {
454
- invariant(viewRef.current, void 0, {
455
- F: __dxlog_file,
456
- L: 64,
457
- S: void 0,
458
- A: [
459
- "viewRef.current",
460
- ""
461
- ]
462
- });
420
+ invariant(viewRef.current, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 21, S: void 0, A: ["viewRef.current", ""] });
463
421
  onOpenChange?.({
464
422
  view: viewRef.current,
465
423
  open: open2
@@ -493,15 +451,7 @@ var EditorMenuProvider = ({ children, view, groups, currentItem, open: openProp,
493
451
  onActivate
494
452
  ]);
495
453
  const handleSelect = useCallback((item) => {
496
- invariant(viewRef.current, void 0, {
497
- F: __dxlog_file,
498
- L: 99,
499
- S: void 0,
500
- A: [
501
- "viewRef.current",
502
- ""
503
- ]
504
- });
454
+ invariant(viewRef.current, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 56, S: void 0, A: ["viewRef.current", ""] });
505
455
  onSelect?.({
506
456
  view: viewRef.current,
507
457
  item
@@ -546,7 +496,6 @@ var EditorMenuProvider = ({ children, view, groups, currentItem, open: openProp,
546
496
  currentItem,
547
497
  onSelect: handleSelect
548
498
  })))), /* @__PURE__ */ React.createElement(Popover.Arrow, null))), /* @__PURE__ */ React.createElement("div", {
549
- role: "none",
550
499
  className: "contents",
551
500
  ref: setRoot
552
501
  }, children));
@@ -629,15 +578,7 @@ var useEditorMenu = ({ trigger, triggerKey, placeholder: placeholder2, filter =
629
578
  filter
630
579
  ]);
631
580
  const handleOpenChange = useCallback2(async ({ view, open: open2 }) => {
632
- invariant2(view, void 0, {
633
- F: __dxlog_file2,
634
- L: 77,
635
- S: void 0,
636
- A: [
637
- "view",
638
- ""
639
- ]
640
- });
581
+ invariant2(view, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 40, S: void 0, A: ["view", ""] });
641
582
  setOpen(open2);
642
583
  if (!open2) {
643
584
  setCurrentItem(void 0);
@@ -774,6 +715,7 @@ import { Menu as Menu2, MenuBuilder, useMenuActions } from "@dxos/react-ui-menu"
774
715
 
775
716
  // src/components/EditorToolbar/blocks.ts
776
717
  import { addBlockquote, addCodeblock, insertTable, removeBlockquote, removeCodeblock } from "@dxos/ui-editor";
718
+ import { translationKey } from "#translations";
777
719
  var blockTypes = {
778
720
  blockquote: "ph--quotes--regular",
779
721
  codeblock: "ph--code-block--regular",
@@ -830,6 +772,7 @@ var addBlocks = (state, getView) => (builder) => {
830
772
 
831
773
  // src/components/EditorToolbar/formatting.ts
832
774
  import { Inline, addLink, removeLink, setStyle } from "@dxos/ui-editor";
775
+ import { translationKey as translationKey2 } from "#translations";
833
776
  var formats = {
834
777
  strong: "ph--text-b--regular",
835
778
  emphasis: "ph--text-italic--regular",
@@ -843,7 +786,7 @@ var addFormatting = (state, getView) => (builder) => {
843
786
  label: [
844
787
  "formatting.label",
845
788
  {
846
- ns: translationKey
789
+ ns: translationKey2
847
790
  }
848
791
  ],
849
792
  iconOnly: true,
@@ -857,7 +800,7 @@ var addFormatting = (state, getView) => (builder) => {
857
800
  label: [
858
801
  `formatting.${type}.label`,
859
802
  {
860
- ns: translationKey
803
+ ns: translationKey2
861
804
  }
862
805
  ],
863
806
  checked,
@@ -879,6 +822,7 @@ var addFormatting = (state, getView) => (builder) => {
879
822
 
880
823
  // src/components/EditorToolbar/headings.ts
881
824
  import { setHeading } from "@dxos/ui-editor";
825
+ import { translationKey as translationKey3 } from "#translations";
882
826
  var headingIcons = {
883
827
  0: "ph--paragraph--regular",
884
828
  1: "ph--text-h-one--regular",
@@ -899,7 +843,7 @@ var addHeadings = (state, getView) => (builder) => {
899
843
  label: [
900
844
  "heading.label",
901
845
  {
902
- ns: translationKey
846
+ ns: translationKey3
903
847
  }
904
848
  ],
905
849
  icon: "ph--text-h--regular",
@@ -917,7 +861,7 @@ var addHeadings = (state, getView) => (builder) => {
917
861
  "heading-level.label",
918
862
  {
919
863
  count: level,
920
- ns: translationKey
864
+ ns: translationKey3
921
865
  }
922
866
  ],
923
867
  icon,
@@ -928,12 +872,13 @@ var addHeadings = (state, getView) => (builder) => {
928
872
  };
929
873
 
930
874
  // src/components/EditorToolbar/image.ts
875
+ import { translationKey as translationKey4 } from "#translations";
931
876
  var addImageUpload = (onImageUpload) => (builder) => {
932
877
  builder.action("image", {
933
878
  label: [
934
879
  "image.label",
935
880
  {
936
- ns: translationKey
881
+ ns: translationKey4
937
882
  }
938
883
  ],
939
884
  testId: "editor.toolbar.image",
@@ -943,6 +888,7 @@ var addImageUpload = (onImageUpload) => (builder) => {
943
888
 
944
889
  // src/components/EditorToolbar/lists.ts
945
890
  import { List, addList, removeList } from "@dxos/ui-editor";
891
+ import { translationKey as translationKey5 } from "#translations";
946
892
  var listStyles = {
947
893
  bullet: "ph--list-bullets--regular",
948
894
  ordered: "ph--list-numbers--regular",
@@ -954,7 +900,7 @@ var addLists = (state, getView) => (builder) => {
954
900
  label: [
955
901
  "list.label",
956
902
  {
957
- ns: translationKey
903
+ ns: translationKey5
958
904
  }
959
905
  ],
960
906
  iconOnly: true,
@@ -968,7 +914,7 @@ var addLists = (state, getView) => (builder) => {
968
914
  label: [
969
915
  `list.${listStyle}.label`,
970
916
  {
971
- ns: translationKey
917
+ ns: translationKey5
972
918
  }
973
919
  ],
974
920
  checked,
@@ -991,12 +937,13 @@ var addLists = (state, getView) => (builder) => {
991
937
 
992
938
  // src/components/EditorToolbar/search.ts
993
939
  import { openSearchPanel } from "@codemirror/search";
940
+ import { translationKey as translationKey6 } from "#translations";
994
941
  var addSearch = (getView) => (builder) => {
995
942
  builder.action("search", {
996
943
  label: [
997
944
  "search.label",
998
945
  {
999
- ns: translationKey
946
+ ns: translationKey6
1000
947
  }
1001
948
  ],
1002
949
  testId: "editor.toolbar.search",
@@ -1005,6 +952,7 @@ var addSearch = (getView) => (builder) => {
1005
952
  };
1006
953
 
1007
954
  // src/components/EditorToolbar/view-mode.ts
955
+ import { translationKey as translationKey7 } from "#translations";
1008
956
  var viewModes = {
1009
957
  preview: "ph--eye--regular",
1010
958
  source: "ph--pencil-simple--regular",
@@ -1016,7 +964,7 @@ var addViewMode = (state, onViewModeChange) => (builder) => {
1016
964
  label: [
1017
965
  "view-mode.label",
1018
966
  {
1019
- ns: translationKey
967
+ ns: translationKey7
1020
968
  }
1021
969
  ],
1022
970
  icon: "ph--eye--regular",
@@ -1032,7 +980,7 @@ var addViewMode = (state, onViewModeChange) => (builder) => {
1032
980
  label: [
1033
981
  `view-mode.${viewMode}.label`,
1034
982
  {
1035
- ns: translationKey
983
+ ns: translationKey7
1036
984
  }
1037
985
  ],
1038
986
  checked,
@@ -1044,7 +992,7 @@ var addViewMode = (state, onViewModeChange) => (builder) => {
1044
992
 
1045
993
  // src/components/EditorToolbar/EditorToolbar.tsx
1046
994
  var EditorToolbar = /* @__PURE__ */ memo(({ classNames, role, attendableId, onAction, ...props }) => {
1047
- const menuActions = useEditorToolbarActionGraph(props);
995
+ const menuActions = useMarkdownMenuActions(props);
1048
996
  return /* @__PURE__ */ React2.createElement(ElevationProvider, {
1049
997
  elevation: role === "section" ? "positioned" : "base"
1050
998
  }, /* @__PURE__ */ React2.createElement(Menu2.Root, {
@@ -1055,8 +1003,8 @@ var EditorToolbar = /* @__PURE__ */ memo(({ classNames, role, attendableId, onAc
1055
1003
  classNames
1056
1004
  })));
1057
1005
  });
1058
- var useEditorToolbarActionGraph = ({ state, getView, customActions, ...features }) => {
1059
- const menuCreator = useMemo2(() => createToolbarActions({
1006
+ var useMarkdownMenuActions = ({ state, getView, customActions, ...features }) => {
1007
+ const menuCreator = useMemo2(() => createMarkdownActions({
1060
1008
  state,
1061
1009
  getView,
1062
1010
  customActions,
@@ -1075,7 +1023,7 @@ var useEditorToolbarActionGraph = ({ state, getView, customActions, ...features
1075
1023
  ]);
1076
1024
  return useMenuActions(menuCreator);
1077
1025
  };
1078
- var createToolbarActions = ({ state, getView, customActions, ...features }) => {
1026
+ var createMarkdownActions = ({ state, getView, customActions, ...features }) => {
1079
1027
  return Atom.make((get) => {
1080
1028
  const stateSnapshot = get(state);
1081
1029
  return MenuBuilder.make().subgraph(features?.showHeadings !== false && addHeadings(stateSnapshot, getView)).subgraph(features?.showFormatting !== false && addFormatting(stateSnapshot, getView)).subgraph(features?.showLists !== false && addLists(stateSnapshot, getView)).subgraph(features?.showBlocks !== false && addBlocks(stateSnapshot, getView)).subgraph(features?.onImageUpload && addImageUpload(features.onImageUpload)).separator("gap").subgraph(customActions && get(customActions)).subgraph(features?.showSearch !== false && addSearch(getView)).subgraph(features?.onViewModeChange && addViewMode(stateSnapshot, features.onViewModeChange)).build();
@@ -1085,7 +1033,7 @@ var createToolbarActions = ({ state, getView, customActions, ...features }) => {
1085
1033
  // src/components/Editor/EditorView.tsx
1086
1034
  import { Transaction } from "@codemirror/state";
1087
1035
  import { EditorView as NaturalEditorView } from "@codemirror/view";
1088
- import React3, { forwardRef, useEffect as useEffect3, useImperativeHandle } from "react";
1036
+ import React3, { forwardRef, useEffect as useEffect3, useImperativeHandle, useRef as useRef4 } from "react";
1089
1037
  import { initialSync } from "@dxos/ui-editor";
1090
1038
  import { mx } from "@dxos/ui-theme";
1091
1039
 
@@ -1137,12 +1085,7 @@ var useTextEditor = (props = {}, deps = []) => {
1137
1085
  id,
1138
1086
  instanceId,
1139
1087
  doc: initialValue?.length ?? 0
1140
- }, {
1141
- F: __dxlog_file3,
1142
- L: 75,
1143
- S: void 0,
1144
- C: (f, a) => f(...a)
1145
- });
1088
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 22, S: void 0 });
1146
1089
  let initialSelection;
1147
1090
  if (selection?.anchor && initialValue?.length) {
1148
1091
  if (selection.anchor <= initialValue.length && (selection?.head ?? 0) <= initialValue.length) {
@@ -1163,12 +1106,7 @@ var useTextEditor = (props = {}, deps = []) => {
1163
1106
  extensions,
1164
1107
  // NOTE: This doesn't catch errors in keymap functions.
1165
1108
  EditorView2.exceptionSink.of((err) => {
1166
- log.catch(err, void 0, {
1167
- F: __dxlog_file3,
1168
- L: 97,
1169
- S: void 0,
1170
- C: (f, a) => f(...a)
1171
- });
1109
+ log.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 48, S: void 0 });
1172
1110
  })
1173
1111
  ].filter(isTruthy2)
1174
1112
  });
@@ -1195,12 +1133,7 @@ var useTextEditor = (props = {}, deps = []) => {
1195
1133
  return () => {
1196
1134
  log("destroy", {
1197
1135
  id
1198
- }, {
1199
- F: __dxlog_file3,
1200
- L: 122,
1201
- S: void 0,
1202
- C: (f, a) => f(...a)
1203
- });
1136
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 75, S: void 0 });
1204
1137
  view2?.destroy();
1205
1138
  };
1206
1139
  }, deps);
@@ -1212,12 +1145,7 @@ var useTextEditor = (props = {}, deps = []) => {
1212
1145
  length: view.state.doc.length,
1213
1146
  scrollTo,
1214
1147
  selection
1215
- }, {
1216
- F: __dxlog_file3,
1217
- L: 131,
1218
- S: void 0,
1219
- C: (f, a) => f(...a)
1220
- });
1148
+ }, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 85, S: void 0 });
1221
1149
  return;
1222
1150
  }
1223
1151
  view.dispatch(createEditorStateTransaction({
@@ -1313,6 +1241,8 @@ var createEditorController = (view) => {
1313
1241
 
1314
1242
  // src/components/Editor/EditorView.tsx
1315
1243
  var EditorView3 = /* @__PURE__ */ forwardRef(({ classNames, id, extensions, selectionEnd, focusable = true, value, onChange, ...props }, forwardedRef) => {
1244
+ const onChangeRef = useRef4(onChange);
1245
+ onChangeRef.current = onChange;
1316
1246
  const { parentRef, focusAttributes, view } = useTextEditor(() => ({
1317
1247
  id,
1318
1248
  initialValue: value,
@@ -1322,7 +1252,7 @@ var EditorView3 = /* @__PURE__ */ forwardRef(({ classNames, id, extensions, sele
1322
1252
  NaturalEditorView.updateListener.of(({ view: view2, docChanged, transactions }) => {
1323
1253
  const isInitialSync = transactions.some((tr) => tr.annotation(Transaction.userEvent) === initialSync.value);
1324
1254
  if (!isInitialSync && docChanged) {
1325
- onChange?.(view2.state.doc.toString());
1255
+ onChangeRef.current?.(view2.state.doc.toString());
1326
1256
  }
1327
1257
  })
1328
1258
  ],
@@ -1330,8 +1260,7 @@ var EditorView3 = /* @__PURE__ */ forwardRef(({ classNames, id, extensions, sele
1330
1260
  }), [
1331
1261
  id,
1332
1262
  extensions,
1333
- selectionEnd,
1334
- onChange
1263
+ selectionEnd
1335
1264
  ]);
1336
1265
  useImperativeHandle(forwardedRef, () => {
1337
1266
  return createEditorController(view);
@@ -1340,22 +1269,32 @@ var EditorView3 = /* @__PURE__ */ forwardRef(({ classNames, id, extensions, sele
1340
1269
  view
1341
1270
  ]);
1342
1271
  useEffect3(() => {
1272
+ if (!view) {
1273
+ return;
1274
+ }
1275
+ const next = value ?? "";
1276
+ if (view.state.doc.toString() === next) {
1277
+ return;
1278
+ }
1343
1279
  requestAnimationFrame(() => {
1344
- view?.dispatch({
1280
+ if (view.state.doc.toString() === next) {
1281
+ return;
1282
+ }
1283
+ view.dispatch({
1345
1284
  annotations: initialSync,
1346
- changes: value ? [
1285
+ changes: [
1347
1286
  {
1348
1287
  from: 0,
1349
- to: view?.state.doc.length ?? 0,
1350
- insert: value ?? ""
1288
+ to: view.state.doc.length,
1289
+ insert: next
1351
1290
  }
1352
- ] : [],
1291
+ ],
1353
1292
  selection: selectionEnd ? {
1354
- anchor: view?.state.doc.length ?? 0
1293
+ anchor: next.length
1355
1294
  } : void 0
1356
1295
  });
1357
1296
  if (selectionEnd) {
1358
- view?.focus();
1297
+ view.focus();
1359
1298
  }
1360
1299
  });
1361
1300
  }, [
@@ -1364,8 +1303,7 @@ var EditorView3 = /* @__PURE__ */ forwardRef(({ classNames, id, extensions, sele
1364
1303
  selectionEnd
1365
1304
  ]);
1366
1305
  return /* @__PURE__ */ React3.createElement("div", {
1367
- role: "none",
1368
- className: mx("w-full outline-hidden focus:border-accent-surface focus-within:border-neutral-focus-indicator", classNames),
1306
+ className: mx("w-full outline-hidden focus:border-accent-surface focus-within:border-focus-ring-subtle", classNames),
1369
1307
  ...focusable ? focusAttributes : {},
1370
1308
  ref: parentRef
1371
1309
  });
@@ -1408,7 +1346,6 @@ EditorRoot.displayName = "Editor.Root";
1408
1346
  var EDITOR_CONTENT_NAME = "Editor.Content";
1409
1347
  var EditorContent = ({ classNames, children }) => {
1410
1348
  return /* @__PURE__ */ React4.createElement("div", {
1411
- role: "none",
1412
1349
  className: mx2("grid grid-rows-[min-content_1fr] h-full overflow-hidden", classNames)
1413
1350
  }, children);
1414
1351
  };
@@ -1434,15 +1371,7 @@ var EDITOR_TOOLBAR_NAME = "Editor.Toolbar";
1434
1371
  var EditorToolbar2 = (props) => {
1435
1372
  const { controller, state } = useEditorContext(EDITOR_TOOLBAR_NAME);
1436
1373
  const getView = useCallback4(() => {
1437
- invariant3(controller?.view, void 0, {
1438
- F: __dxlog_file4,
1439
- L: 163,
1440
- S: void 0,
1441
- A: [
1442
- "controller?.view",
1443
- ""
1444
- ]
1445
- });
1374
+ invariant3(controller?.view, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 99, S: void 0, A: ["controller?.view", ""] });
1446
1375
  return controller?.view;
1447
1376
  }, [
1448
1377
  controller
@@ -1456,19 +1385,19 @@ var EditorToolbar2 = (props) => {
1456
1385
  EditorToolbar2.displayName = EDITOR_TOOLBAR_NAME;
1457
1386
  var Editor = {
1458
1387
  Root: EditorRoot,
1388
+ Toolbar: EditorToolbar2,
1459
1389
  Content: EditorContent,
1460
- View: EditorView4,
1461
- Toolbar: EditorToolbar2
1390
+ View: EditorView4
1462
1391
  };
1463
1392
 
1464
1393
  // src/components/EditorPreviewProvider/EditorPreviewProvider.tsx
1465
1394
  import { createContext as createContext2 } from "@radix-ui/react-context";
1466
- import React5, { useCallback as useCallback5, useEffect as useEffect4, useRef as useRef4, useState as useState5 } from "react";
1395
+ import React5, { useCallback as useCallback5, useEffect as useEffect4, useRef as useRef5, useState as useState5 } from "react";
1467
1396
  import { addEventListener as addEventListener2 } from "@dxos/async";
1468
1397
  import { DX_ANCHOR_ACTIVATE as DX_ANCHOR_ACTIVATE2, Popover as Popover2 } from "@dxos/react-ui";
1469
1398
  var [EditorPreviewContextProvider, useEditorPreview] = createContext2("PreviewPopover", {});
1470
1399
  var EditorPreviewProvider = ({ children, onLookup }) => {
1471
- const triggerRef = useRef4(null);
1400
+ const triggerRef = useRef5(null);
1472
1401
  const [value, setValue] = useState5({});
1473
1402
  const [open, setOpen] = useState5(false);
1474
1403
  const handleActivate = useCallback5((event) => {
@@ -1517,7 +1446,6 @@ var EditorPreviewProvider = ({ children, onLookup }) => {
1517
1446
  }, /* @__PURE__ */ React5.createElement(Popover2.VirtualTrigger, {
1518
1447
  virtualRef: triggerRef
1519
1448
  }), /* @__PURE__ */ React5.createElement("div", {
1520
- role: "none",
1521
1449
  className: "contents",
1522
1450
  ref: setRoot
1523
1451
  }, children)));
@@ -1571,15 +1499,15 @@ var assistant = (options) => {
1571
1499
  },
1572
1500
  /** @apply dx-button */
1573
1501
  ".cm-panel button": {
1574
- color: "var(--color-base-surface-text) !important"
1502
+ color: "var(--color-base-foreground) !important"
1575
1503
  },
1576
1504
  ".cm-panel.cm-panel-lint ul": {
1577
- color: "var(--color-base-surface-text) !important",
1505
+ color: "var(--color-base-foreground) !important",
1578
1506
  backgroundColor: "var(--color-base-surface) !important",
1579
1507
  marginRight: "2rem !important"
1580
1508
  },
1581
1509
  ".cm-panel.cm-panel-lint ul [aria-selected]": {
1582
- color: "var(--color-base-surface-text) !important",
1510
+ color: "var(--color-base-foreground) !important",
1583
1511
  backgroundColor: "var(--color-base-surface) !important"
1584
1512
  },
1585
1513
  ".cm-panel.cm-panel-lint ul li": {
@@ -1687,12 +1615,7 @@ var assistantLinter = ({ generate, instructions = DEFAULT_INSTRUCTIONS, autoPane
1687
1615
  return diagnostics;
1688
1616
  }
1689
1617
  } catch (err) {
1690
- log2.catch(err, void 0, {
1691
- F: __dxlog_file5,
1692
- L: 214,
1693
- S: void 0,
1694
- C: (f, a) => f(...a)
1695
- });
1618
+ log2.catch(err, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 169, S: void 0 });
1696
1619
  }
1697
1620
  return [];
1698
1621
  }, {
@@ -1715,7 +1638,6 @@ export {
1715
1638
  popover,
1716
1639
  popoverRangeEffect,
1717
1640
  popoverStateField,
1718
- translations,
1719
1641
  useBasicMarkdownExtensions,
1720
1642
  useEditorContext,
1721
1643
  useEditorMenu,