@dxos/react-ui-editor 0.9.0 → 0.9.1-staging.ee54ba693a

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 (46) hide show
  1. package/dist/lib/browser/index.mjs +34 -43
  2. package/dist/lib/browser/index.mjs.map +3 -3
  3. package/dist/lib/browser/meta.json +1 -1
  4. package/dist/lib/node-esm/index.mjs +34 -43
  5. package/dist/lib/node-esm/index.mjs.map +3 -3
  6. package/dist/lib/node-esm/meta.json +1 -1
  7. package/dist/types/src/components/Editor/Editor.d.ts +1 -1
  8. package/dist/types/src/components/Editor/Editor.d.ts.map +1 -1
  9. package/dist/types/src/components/Editor/Editor.stories.d.ts.map +1 -1
  10. package/dist/types/src/components/EditorMenuProvider/menu-presets.d.ts.map +1 -1
  11. package/dist/types/src/components/EditorPreviewProvider/EditorPreviewProvider.d.ts +4 -2
  12. package/dist/types/src/components/EditorPreviewProvider/EditorPreviewProvider.d.ts.map +1 -1
  13. package/dist/types/src/components/EditorToolbar/EditorToolbar.d.ts.map +1 -1
  14. package/dist/types/src/extensions/Assistant.stories.d.ts +2 -2
  15. package/dist/types/src/extensions/Assistant.stories.d.ts.map +1 -1
  16. package/dist/types/src/hooks/useBasicMarkdownExtensions.d.ts +3 -1
  17. package/dist/types/src/hooks/useBasicMarkdownExtensions.d.ts.map +1 -1
  18. package/dist/types/src/stories/EditorToolbar.stories.d.ts +2 -2
  19. package/dist/types/src/stories/EditorToolbar.stories.d.ts.map +1 -1
  20. package/dist/types/src/stories/Outliner.stories.d.ts +2 -2
  21. package/dist/types/src/stories/Outliner.stories.d.ts.map +1 -1
  22. package/dist/types/src/stories/Popover.stories.d.ts +2 -2
  23. package/dist/types/src/stories/Popover.stories.d.ts.map +1 -1
  24. package/dist/types/src/stories/Widgets.stories.d.ts +25 -0
  25. package/dist/types/src/stories/Widgets.stories.d.ts.map +1 -0
  26. package/dist/types/tsconfig.tsbuildinfo +1 -1
  27. package/package.json +54 -52
  28. package/src/components/Editor/Editor.stories.tsx +3 -2
  29. package/src/components/Editor/Editor.tsx +2 -2
  30. package/src/components/EditorMenuProvider/menu-presets.ts +29 -23
  31. package/src/components/EditorPreviewProvider/EditorPreviewProvider.tsx +4 -3
  32. package/src/components/EditorToolbar/EditorToolbar.tsx +4 -1
  33. package/src/extensions/Assistant.stories.tsx +4 -4
  34. package/src/hooks/useBasicMarkdownExtensions.ts +5 -2
  35. package/src/stories/Automerge.stories.tsx +8 -8
  36. package/src/stories/EditorToolbar.stories.tsx +2 -2
  37. package/src/stories/Outliner.stories.tsx +2 -2
  38. package/src/stories/Popover.stories.tsx +3 -3
  39. package/src/stories/Widgets.stories.tsx +241 -0
  40. package/src/stories/components/util.tsx +1 -1
  41. package/dist/types/src/stories/Preview.stories.d.ts +0 -26
  42. package/dist/types/src/stories/Preview.stories.d.ts.map +0 -1
  43. package/dist/types/src/stories/Tags.stories.d.ts +0 -16
  44. package/dist/types/src/stories/Tags.stories.d.ts.map +0 -1
  45. package/src/stories/Preview.stories.tsx +0 -247
  46. package/src/stories/Tags.stories.tsx +0 -104
@@ -286,6 +286,30 @@ var popoverStateField = StateField.define({
286
286
  var getLastIndexOf = (str, delimiters) => Math.max(...delimiters.map((delim) => str.lastIndexOf(delim)));
287
287
 
288
288
  // src/components/EditorMenuProvider/menu-presets.ts
289
+ var openLinkQuery = (view, insert) => {
290
+ requestAnimationFrame(() => {
291
+ const { head } = view.state.selection.main;
292
+ const to = head + insert.length;
293
+ view.dispatch({
294
+ changes: {
295
+ from: head,
296
+ insert
297
+ },
298
+ selection: {
299
+ anchor: to,
300
+ head: to
301
+ },
302
+ // The popover trigger is the single "@"; a second "@" lives in the query range and switches to block mode.
303
+ effects: popoverRangeEffect.of({
304
+ trigger: "@",
305
+ range: {
306
+ from: head,
307
+ to
308
+ }
309
+ })
310
+ });
311
+ });
312
+ };
289
313
  var formattingCommands = {
290
314
  id: "markdown",
291
315
  label: "Markdown",
@@ -372,49 +396,13 @@ var linkSlashCommands = {
372
396
  id: "inline-link",
373
397
  label: "Inline link",
374
398
  icon: "ph--link--regular",
375
- onSelect: ({ view, head }) => {
376
- view.dispatch({
377
- changes: {
378
- from: head,
379
- insert: "@"
380
- },
381
- selection: {
382
- anchor: head + 1,
383
- head: head + 1
384
- },
385
- effects: popoverRangeEffect.of({
386
- trigger: "@",
387
- range: {
388
- from: head,
389
- to: head + 1
390
- }
391
- })
392
- });
393
- }
399
+ onSelect: ({ view }) => openLinkQuery(view, "@")
394
400
  },
395
401
  {
396
- id: "block-embed",
397
- label: "Block embed",
402
+ id: "inline-object",
403
+ label: "Inline object",
398
404
  icon: "ph--lego--regular",
399
- onSelect: ({ view, head }) => {
400
- view.dispatch({
401
- changes: {
402
- from: head,
403
- insert: "@@"
404
- },
405
- selection: {
406
- anchor: head + 2,
407
- head: head + 2
408
- },
409
- effects: popoverRangeEffect.of({
410
- trigger: "@",
411
- range: {
412
- from: head,
413
- to: head + 2
414
- }
415
- })
416
- });
417
- }
405
+ onSelect: ({ view }) => openLinkQuery(view, "@@")
418
406
  }
419
407
  ]
420
408
  };
@@ -1020,10 +1008,11 @@ var addViewMode = (state, onViewModeChange) => (builder) => {
1020
1008
  };
1021
1009
 
1022
1010
  // src/components/EditorToolbar/EditorToolbar.tsx
1011
+ var SECTION_ROLE = "org.dxos.role.section";
1023
1012
  var EditorToolbar = /* @__PURE__ */ memo(({ classNames, role, attendableId, onAction, ...props }) => {
1024
1013
  const menuActions = useMarkdownMenuActions(props);
1025
1014
  return /* @__PURE__ */ React2.createElement(ElevationProvider, {
1026
- elevation: role === "section" ? "positioned" : "base"
1015
+ elevation: role === SECTION_ROLE ? "positioned" : "base"
1027
1016
  }, /* @__PURE__ */ React2.createElement(Menu2.Root, {
1028
1017
  ...menuActions,
1029
1018
  attendableId,
@@ -1070,11 +1059,12 @@ import { mx } from "@dxos/ui-theme";
1070
1059
  import { useMemo as useMemo3 } from "react";
1071
1060
  import { useThemeContext as useThemeContext2 } from "@dxos/react-ui";
1072
1061
  import { createBasicExtensions, createMarkdownExtensions, createThemeExtensions, decorateMarkdown } from "@dxos/ui-editor";
1073
- var useBasicMarkdownExtensions = ({ placeholder: placeholder2, decorate = true, extensions } = {}) => {
1062
+ var useBasicMarkdownExtensions = ({ placeholder: placeholder2, decorate = true, readonly = false, extensions } = {}) => {
1074
1063
  const { themeMode } = useThemeContext2();
1075
1064
  return useMemo3(() => [
1076
1065
  createBasicExtensions({
1077
- placeholder: placeholder2
1066
+ placeholder: placeholder2,
1067
+ readOnly: readonly
1078
1068
  }),
1079
1069
  createThemeExtensions({
1080
1070
  syntaxHighlighting: true,
@@ -1089,6 +1079,7 @@ var useBasicMarkdownExtensions = ({ placeholder: placeholder2, decorate = true,
1089
1079
  placeholder2,
1090
1080
  themeMode,
1091
1081
  decorate,
1082
+ readonly,
1092
1083
  extensions
1093
1084
  ]);
1094
1085
  };