@portabletext/editor 7.10.15 → 7.10.17

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 (63) hide show
  1. package/lib/{_chunks-dts/behavior.types.action.d.ts → behavior.types.action-CYtiRDck.d.ts} +260 -59
  2. package/lib/behavior.types.action-CYtiRDck.d.ts.map +1 -0
  3. package/lib/behavior.types.behavior-B_77VtQR.js +159 -0
  4. package/lib/behavior.types.behavior-B_77VtQR.js.map +1 -0
  5. package/lib/behaviors/index.d.ts +1 -1
  6. package/lib/behaviors/index.js +2 -35
  7. package/lib/get-container-BeXYKpoi.js +222 -0
  8. package/lib/get-container-BeXYKpoi.js.map +1 -0
  9. package/lib/get-parent-51Kzgaf9.js +237 -0
  10. package/lib/get-parent-51Kzgaf9.js.map +1 -0
  11. package/lib/get-path-sub-schema--2I4NJbG.js +513 -0
  12. package/lib/get-path-sub-schema--2I4NJbG.js.map +1 -0
  13. package/lib/index.d.ts +2 -67
  14. package/lib/index.js +16743 -18963
  15. package/lib/index.js.map +1 -1
  16. package/lib/plugins/index.d.ts +1 -2
  17. package/lib/plugins/index.d.ts.map +1 -1
  18. package/lib/plugins/index.js +103 -41
  19. package/lib/plugins/index.js.map +1 -1
  20. package/lib/selector.is-at-the-start-of-block-gJIMWRpU.js +822 -0
  21. package/lib/selector.is-at-the-start-of-block-gJIMWRpU.js.map +1 -0
  22. package/lib/selectors/index.d.ts +1 -3
  23. package/lib/selectors/index.d.ts.map +1 -1
  24. package/lib/selectors/index.js +256 -215
  25. package/lib/selectors/index.js.map +1 -1
  26. package/lib/traversal/index.d.ts +1 -1
  27. package/lib/traversal/index.d.ts.map +1 -1
  28. package/lib/traversal/index.js +33 -52
  29. package/lib/traversal/index.js.map +1 -1
  30. package/lib/use-editor-CwNeVwVC.js +47 -0
  31. package/lib/use-editor-CwNeVwVC.js.map +1 -0
  32. package/lib/util.is-equal-selections-BF4WJtz5.js +25 -0
  33. package/lib/util.is-equal-selections-BF4WJtz5.js.map +1 -0
  34. package/lib/util.slice-blocks-DQnr9X2s.js +633 -0
  35. package/lib/util.slice-blocks-DQnr9X2s.js.map +1 -0
  36. package/lib/utils/index.d.ts +11 -39
  37. package/lib/utils/index.d.ts.map +1 -1
  38. package/lib/utils/index.js +87 -123
  39. package/lib/utils/index.js.map +1 -1
  40. package/package.json +18 -15
  41. package/lib/_chunks-dts/behavior.types.action.d.ts.map +0 -1
  42. package/lib/_chunks-dts/block-offset.d.ts +0 -10
  43. package/lib/_chunks-dts/block-offset.d.ts.map +0 -1
  44. package/lib/_chunks-dts/editor-selector.d.ts +0 -33
  45. package/lib/_chunks-dts/editor-selector.d.ts.map +0 -1
  46. package/lib/_chunks-dts/editor.d.ts +0 -99
  47. package/lib/_chunks-dts/editor.d.ts.map +0 -1
  48. package/lib/_chunks-es/get-container.js +0 -187
  49. package/lib/_chunks-es/get-container.js.map +0 -1
  50. package/lib/_chunks-es/get-parent.js +0 -195
  51. package/lib/_chunks-es/get-parent.js.map +0 -1
  52. package/lib/_chunks-es/get-path-sub-schema.js +0 -399
  53. package/lib/_chunks-es/get-path-sub-schema.js.map +0 -1
  54. package/lib/_chunks-es/selector.is-at-the-start-of-block.js +0 -947
  55. package/lib/_chunks-es/selector.is-at-the-start-of-block.js.map +0 -1
  56. package/lib/_chunks-es/use-editor.js +0 -20
  57. package/lib/_chunks-es/use-editor.js.map +0 -1
  58. package/lib/_chunks-es/util.is-equal-selections.js +0 -20
  59. package/lib/_chunks-es/util.is-equal-selections.js.map +0 -1
  60. package/lib/_chunks-es/util.slice-blocks.js +0 -720
  61. package/lib/_chunks-es/util.slice-blocks.js.map +0 -1
  62. package/lib/behaviors/index.js.map +0 -1
  63. package/lib/index.d.ts.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@portabletext/editor",
3
- "version": "7.10.15",
3
+ "version": "7.10.17",
4
4
  "description": "Portable Text Editor made in React",
5
5
  "keywords": [
6
6
  "collaborative",
@@ -30,40 +30,40 @@
30
30
  "type": "module",
31
31
  "sideEffects": false,
32
32
  "main": "./lib/index.js",
33
+ "module": "./lib/index.js",
33
34
  "types": "./lib/index.d.ts",
34
35
  "exports": {
35
36
  ".": "./lib/index.js",
36
37
  "./behaviors": "./lib/behaviors/index.js",
37
38
  "./plugins": "./lib/plugins/index.js",
38
39
  "./selectors": "./lib/selectors/index.js",
39
- "./test": "./src/test/_exports/index.ts",
40
- "./test/vitest": "./src/test/vitest/_exports/index.ts",
41
40
  "./traversal": "./lib/traversal/index.js",
42
41
  "./utils": "./lib/utils/index.js",
43
42
  "./package.json": "./package.json"
44
43
  },
45
44
  "dependencies": {
46
- "@portabletext/to-html": "^5.0.2",
45
+ "@portabletext/to-html": "^5.0.3",
47
46
  "@xstate/react": "^6.1.0",
48
47
  "debug": "^4.4.3",
49
48
  "scroll-into-view-if-needed": "^3.1.0",
50
49
  "xstate": "^5.32.4",
51
- "@portabletext/html": "^1.1.1",
52
- "@portabletext/keyboard-shortcuts": "^2.1.3",
53
- "@portabletext/markdown": "^1.4.4",
54
- "@portabletext/patches": "^2.0.5",
55
- "@portabletext/schema": "^2.2.3"
50
+ "@portabletext/html": "^1.1.2",
51
+ "@portabletext/keyboard-shortcuts": "^2.1.4",
52
+ "@portabletext/markdown": "^1.4.5",
53
+ "@portabletext/patches": "^2.0.6",
54
+ "@portabletext/schema": "^2.2.4"
56
55
  },
57
56
  "devDependencies": {
57
+ "@rolldown/plugin-babel": "^0.2.3",
58
58
  "@sanity/diff-match-patch": "^3.2.0",
59
- "@sanity/pkg-utils": "^10.8.2",
59
+ "@sanity/pkg-utils": "^12.1.0",
60
60
  "@sanity/tsconfig": "^2.1.0",
61
61
  "@textspec/notation": "^1.0.2",
62
62
  "@types/debug": "^4.1.12",
63
63
  "@types/node": "^20",
64
64
  "@types/react": "^19.2.17",
65
65
  "@types/react-dom": "^19.2.3",
66
- "@vitejs/plugin-react": "^5.2.0",
66
+ "@vitejs/plugin-react": "^6.0.5",
67
67
  "@vitest/browser": "^4.1.10",
68
68
  "@vitest/browser-playwright": "^4.1.10",
69
69
  "@vitest/coverage-istanbul": "^4.1.10",
@@ -76,11 +76,11 @@
76
76
  "react-dom": "^19.2.7",
77
77
  "typescript": "6.0.3",
78
78
  "typescript-eslint": "^8.62.0",
79
- "vite": "^7.3.5",
79
+ "vite": "^8.2.0",
80
80
  "vitest": "^4.1.10",
81
81
  "vitest-browser-react": "^2.2.0",
82
- "@portabletext/test": "^1.0.4",
83
- "racejar": "2.0.10"
82
+ "@portabletext/test": "^1.0.5",
83
+ "racejar": "2.0.11"
84
84
  },
85
85
  "peerDependencies": {
86
86
  "react": "^19.2.7"
@@ -88,8 +88,11 @@
88
88
  "engines": {
89
89
  "node": ">=20.19 <22 || >=22.12"
90
90
  },
91
+ "inlinedDependencies": {
92
+ "@sanity/diff-match-patch": "3.2.0"
93
+ },
91
94
  "scripts": {
92
- "build": "pkg-utils build --strict --check --clean",
95
+ "build": "pkg-utils build --strict --check",
93
96
  "check:lint": "biome lint .",
94
97
  "check:react-compiler": "eslint --cache .",
95
98
  "check:types": "tsc",
@@ -1 +0,0 @@
1
- {"version":3,"file":"behavior.types.action.d.ts","names":[],"sources":["../../src/priority/priority.types.ts","../../src/internal-utils/mime-type.ts","../../src/type-utils.ts","../../src/converters/converter.types.ts","../../src/types/paths.ts","../../src/renderers/renderer.types.ts","../../src/schema/container-types.ts","../../src/editor/editor-schema.ts","../../src/engine/interfaces/node.ts","../../src/traversal/traversal-snapshot.ts","../../src/schema/resolve-container-at.ts","../../src/editor/PortableTextEditor.tsx","../../src/types/options.ts","../../src/editor/Editable.tsx","../../src/types/editor.ts","../../src/engine/types/types.ts","../../src/engine/interfaces/point.ts","../../src/engine/interfaces/range.ts","../../src/engine/interfaces/operation.ts","../../src/editor/range-decorations-machine.ts","../../src/engine/core/operation-channel.ts","../../src/engine/interfaces/location.ts","../../src/engine/interfaces/path-ref.ts","../../src/engine/interfaces/point-ref.ts","../../src/engine/interfaces/range-ref.ts","../../src/engine/interfaces/editor.ts","../../src/engine/dom/utils/diff-text.ts","../../src/engine/dom/utils/dom.ts","../../src/engine/dom/plugin/dom-editor.ts","../../src/types/editor-engine.ts","../../src/editor/editor-snapshot.ts","../../src/behaviors/behavior.types.guard.ts","../../src/behaviors/behavior.types.behavior.ts","../../src/behaviors/behavior.config.ts","../../src/types/operation.ts","../../src/editor/relay.ts","../../src/editor/editor-machine.ts","../../src/internal-utils/event-position.ts","../../src/types/block-with-optional-key.ts","../../src/behaviors/behavior.types.event.ts","../../src/editor/editor-dom.ts","../../src/behaviors/behavior.types.action.ts"],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { Nt as BlockPath } from "./behavior.types.action.js";
2
- /**
3
- * @beta
4
- */
5
- type BlockOffset = {
6
- path: BlockPath;
7
- offset: number;
8
- };
9
- export { BlockOffset as t };
10
- //# sourceMappingURL=block-offset.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"block-offset.d.ts","names":[],"sources":["../../src/types/block-offset.ts"],"mappings":";;AAKA;;KAAY,WAAA;EACV,IAAA,EAAM,SAAS;EACf,MAAA;AAAA"}
@@ -1,33 +0,0 @@
1
- import { C as EditorSnapshot } from "./behavior.types.action.js";
2
- import { t as Editor } from "./editor.js";
3
- /**
4
- * @public
5
- */
6
- type EditorSelector<TSelected> = (snapshot: EditorSnapshot) => TSelected;
7
- /**
8
- * @public
9
- * Hook to select a value from the editor state.
10
- * @example
11
- * Pass a selector as the second argument
12
- * ```tsx
13
- * import { useEditorSelector } from '@portabletext/editor'
14
- *
15
- * function MyComponent(editor) {
16
- * const value = useEditorSelector(editor, selector)
17
- * }
18
- * ```
19
- * @example
20
- * Pass an inline selector as the second argument.
21
- * In this case, use the editor context to obtain the schema.
22
- * ```tsx
23
- * import { useEditorSelector } from '@portabletext/editor'
24
- *
25
- * function MyComponent(editor) {
26
- * const schema = useEditorSelector(editor, (snapshot) => snapshot.context.schema)
27
- * }
28
- * ```
29
- * @group Hooks
30
- */
31
- declare function useEditorSelector<TSelected>(editor: Editor, selector: EditorSelector<TSelected>, compare?: (a: TSelected, b: TSelected) => boolean): TSelected;
32
- export { useEditorSelector as n, EditorSelector as t };
33
- //# sourceMappingURL=editor-selector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"editor-selector.d.ts","names":[],"sources":["../../src/editor/editor-selector.ts"],"mappings":";;;AAYA;;KAAY,cAAA,eAA6B,QAAA,EAAU,cAAA,KAAmB,SAAS;;;;;;;AAAA;AA0B/E;;;;;;;;;;;;;;;;;iBAAgB,iBAAA,YACd,MAAA,EAAQ,MAAA,EACR,QAAA,EAAU,cAAA,CAAe,SAAA,GACzB,OAAA,IAAU,CAAA,EAAG,SAAA,EAAW,CAAA,EAAG,SAAA,eAAsC,SAAA"}
@@ -1,99 +0,0 @@
1
- import { C as EditorSnapshot, bt as RegistrableNode, g as EditorEmittedEvent, m as ExternalEditorEvent, s as EditorDom, u as ExternalBehaviorEvent, y as Behavior } from "./behavior.types.action.js";
2
- import { PortableTextBlock, SchemaDefinition } from "@portabletext/schema";
3
- /**
4
- * @public
5
- */
6
- type EditorConfig = {
7
- /**
8
- * @beta
9
- */
10
- keyGenerator?: () => string;
11
- readOnly?: boolean;
12
- initialValue?: Array<PortableTextBlock>;
13
- schemaDefinition: SchemaDefinition;
14
- };
15
- /**
16
- * @public
17
- */
18
- type EditorEvent = ExternalEditorEvent | ExternalBehaviorEvent | {
19
- type: 'update value';
20
- value: Array<PortableTextBlock> | undefined;
21
- };
22
- /**
23
- * @public
24
- */
25
- type Editor = {
26
- dom: EditorDom;
27
- getSnapshot: () => EditorSnapshot;
28
- /**
29
- * @beta
30
- */
31
- registerBehavior: (config: {
32
- behavior: Behavior;
33
- }) => () => void;
34
- /**
35
- * Register a node renderer. The `node` argument is the result of one
36
- * of the `defineX` factories (`defineContainer`, `defineTextBlock`,
37
- * `defineSpan`, `defineBlockObject`, `defineInlineObject`). Returns
38
- * a function that unregisters the node when called.
39
- *
40
- * @alpha
41
- */
42
- registerNode: (config: {
43
- node: RegistrableNode;
44
- }) => () => void;
45
- send: (event: EditorEvent) => void;
46
- /**
47
- * Register an event listener.
48
- *
49
- * With `{batch: true}` the listener is called once per burst with
50
- * `Array<Event>`, every matching event emitted before control returns to the
51
- * event loop (one synchronous `editor.send` worth, normalization included),
52
- * in delivery order, on the trailing microtask. That is the same boundary at
53
- * which the editor settles its own state, so each call is one fully-applied,
54
- * normalized change. Without it (the default), the listener runs
55
- * synchronously for every event and receives a single event.
56
- */
57
- on: {
58
- <TType extends EditorEmittedEvent['type'] | '*'>(type: TType, listener: (events: Array<EditorEmittedEvent & (TType extends '*' ? unknown : {
59
- type: TType;
60
- })>) => void, options: {
61
- batch: true;
62
- }): {
63
- unsubscribe: () => void;
64
- };
65
- <TType extends EditorEmittedEvent['type'] | '*'>(type: TType, listener: (event: EditorEmittedEvent & (TType extends '*' ? unknown : {
66
- type: TType;
67
- })) => void, options?: {
68
- batch?: false;
69
- }): {
70
- unsubscribe: () => void;
71
- };
72
- };
73
- /**
74
- * Subscribe to editor state changes. The observer's `next` callback fires
75
- * with the current `EditorSnapshot` on relevant transitions (selection
76
- * updates, content mutations, behavior dispatch, configuration changes).
77
- *
78
- * Notifications are coalesced: a synchronous burst of transitions (e.g. the
79
- * many operations one action applies, like undoing a large delete) delivers
80
- * a single `next` with the settled snapshot on the next microtask, rather
81
- * than one `next` per transition. The snapshot is cumulative, so only
82
- * intermediate per-transition states are skipped. To observe every
83
- * operation, use `editor.on('operation', ...)`.
84
- *
85
- * The editor has no terminal state and no error path, so `error` and
86
- * `complete` are part of the observable contract but never fire. They are
87
- * kept for structural compatibility with `useSyncExternalStore`,
88
- * `@xstate/react`'s `useSelector`, and other observer-shaped consumers.
89
- */
90
- subscribe(observer: {
91
- next?: (snapshot: EditorSnapshot) => void;
92
- error?: (err: unknown) => void;
93
- complete?: () => void;
94
- }): {
95
- unsubscribe: () => void;
96
- };
97
- };
98
- export { EditorConfig as n, EditorEvent as r, Editor as t };
99
- //# sourceMappingURL=editor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"editor.d.ts","names":[],"sources":["../../src/editor.ts"],"mappings":";;;;;KAYY,YAAA;EAKV;;;EADA,YAAA;EACA,QAAA;EACA,YAAA,GAAe,KAAA,CAAM,iBAAA;EACrB,gBAAA,EAAkB,gBAAA;AAAA;AAMpB;;;AAAA,KAAY,WAAA,GACR,mBAAA,GACA,qBAAA;EAEE,IAAA;EACA,KAAA,EAAO,KAAA,CAAM,iBAAA;AAAA;;;;KAMP,MAAA;EACV,GAAA,EAAK,SAAA;EACL,WAAA,QAAmB,cAAA;EARR;;;EAYX,gBAAA,GAAmB,MAAA;IAAS,QAAA,EAAU,QAAA;EAAA;EANtB;;;;;;;;EAehB,YAAA,GAAe,MAAA;IAAS,IAAA,EAAM,eAAA;EAAA;EAC9B,IAAA,GAAO,KAAA,EAAO,WAAA;EAsBG;;;;;;;;;;;EAVjB,EAAA;IAAA,eACiB,kBAAA,gBACb,IAAA,EAAM,KAAA,EACN,QAAA,GACE,MAAA,EAAQ,KAAA,CACN,kBAAA,IAAsB,KAAA;MAA+B,IAAA,EAAM,KAAA;IAAA,cAG/D,OAAA;MAAU,KAAA;IAAA;MACR,WAAA;IAAA;IAAA,eACW,kBAAA,gBACb,IAAA,EAAM,KAAA,EACN,QAAA,GACE,KAAA,EAAO,kBAAA,IACJ,KAAA;MAA+B,IAAA,EAAM,KAAA;IAAA,aAE1C,OAAA;MAAW,KAAA;IAAA;MACT,WAAA;IAAA;EAAA;EAfF;;;;;;;;;;;;;;;;;EAkCJ,SAAA,CAAU,QAAA;IACR,IAAA,IAAQ,QAAA,EAAU,cAAA;IAClB,KAAA,IAAS,GAAA;IACT,QAAA;EAAA;IACG,WAAA;EAAA;AAAA"}
@@ -1,187 +0,0 @@
1
- import { getAncestors, isObject as isObject$1, isEditableContainer, getNodes, comparePoints$1 as comparePoints, rangeEdges, isAfterPoint, comparePoints as comparePoints$1, comparePaths } from "./get-path-sub-schema.js";
2
- import { getChildren, getNode, isKeyedSegment } from "./get-parent.js";
3
- import { isSpan, isTextBlock, getSubSchema } from "@portabletext/schema";
4
- function getAncestor(snapshot, path, options) {
5
- const {
6
- match,
7
- mode = "lowest"
8
- } = options, ancestors = getAncestors(snapshot, path);
9
- if (mode === "highest") {
10
- for (const ancestor of [...ancestors].reverse())
11
- if (match(ancestor.node, ancestor.path))
12
- return ancestor;
13
- return;
14
- }
15
- for (const ancestor of ancestors)
16
- if (match(ancestor.node, ancestor.path))
17
- return ancestor;
18
- }
19
- function isLeafObject(snapshot, node, path) {
20
- return isObject$1(snapshot, node) && !isEditableContainer(snapshot, node, path);
21
- }
22
- function getLeaf(snapshot, path, options) {
23
- const {
24
- edge
25
- } = options;
26
- let currentPath = path;
27
- if (currentPath.length === 0) {
28
- const children = getChildren(snapshot, []);
29
- if (children.length === 0)
30
- return;
31
- const firstOrLast = edge === "end" ? children.at(-1) : children.at(0);
32
- if (getChildren(snapshot, firstOrLast.path).length === 0)
33
- return firstOrLast;
34
- currentPath = firstOrLast.path;
35
- } else {
36
- const entry = getNode(snapshot, currentPath);
37
- if (!entry)
38
- return;
39
- if (getChildren(snapshot, currentPath).length === 0)
40
- return entry;
41
- }
42
- for (; ; ) {
43
- const children = getChildren(snapshot, currentPath);
44
- if (children.length === 0)
45
- return getNode(snapshot, currentPath) ?? void 0;
46
- currentPath = (edge === "end" ? children.at(-1) : children.at(0)).path;
47
- }
48
- }
49
- function isPath(value) {
50
- return Array.isArray(value) && (value.length === 0 || typeof value[0] == "number" || typeof value[0] == "string" || isKeyedSegment(value[0]));
51
- }
52
- const isObject = (value) => typeof value == "object" && value !== null;
53
- function isPoint(value) {
54
- return isObject(value) && typeof value.offset == "number" && isPath(value.path);
55
- }
56
- function isRange(value) {
57
- return isObject(value) && isPoint(value.anchor) && isPoint(value.focus);
58
- }
59
- function getText(snapshot, path) {
60
- const entry = getNode(snapshot, path);
61
- if (!entry)
62
- return;
63
- if (isSpan({
64
- schema: snapshot.context.schema
65
- }, entry.node))
66
- return entry.node.text;
67
- let text = "";
68
- for (const descendant of getNodes(snapshot, {
69
- at: path
70
- }))
71
- isSpan({
72
- schema: snapshot.context.schema
73
- }, descendant.node) && (text += descendant.node.text);
74
- return text;
75
- }
76
- function getSpan(snapshot, path) {
77
- const entry = getNode(snapshot, path);
78
- if (entry && isSpan({
79
- schema: snapshot.context.schema
80
- }, entry.node))
81
- return {
82
- node: entry.node,
83
- path: entry.path
84
- };
85
- }
86
- function pathContains(ancestor, descendant) {
87
- if (ancestor.length > descendant.length)
88
- return !1;
89
- for (let i = 0; i < ancestor.length; i++) {
90
- const segment = ancestor[i], otherSegment = descendant[i];
91
- if (isKeyedSegment(segment) && isKeyedSegment(otherSegment)) {
92
- if (segment._key !== otherSegment._key)
93
- return !1;
94
- } else if (segment !== otherSegment)
95
- return !1;
96
- }
97
- return !0;
98
- }
99
- function isBeforePoint(point, another, root) {
100
- return comparePoints(point, another, root) === -1;
101
- }
102
- function rangeIntersects(snapshot, range, target) {
103
- if (!range || target === null)
104
- return !1;
105
- const root = {
106
- value: snapshot.context.value
107
- };
108
- if (isRange(target)) {
109
- if (rangeIntersects(snapshot, range, target.anchor) || rangeIntersects(snapshot, range, target.focus))
110
- return !0;
111
- const [rs, re] = rangeEdges(range, root), [ts, te] = rangeEdges(target, root);
112
- return isBeforePoint(rs, ts, root) && isAfterPoint(re, te, root);
113
- }
114
- const [start, end] = rangeEdges(range, root);
115
- let isAfterStart = !1, isBeforeEnd = !1;
116
- return isPoint(target) ? (isAfterStart = comparePoints$1(snapshot, target, start) >= 0, isBeforeEnd = comparePoints$1(snapshot, target, end) <= 0) : (isAfterStart = comparePaths(target, start.path, root) >= 0, isBeforeEnd = comparePaths(target, end.path, root) <= 0), isAfterStart && isBeforeEnd;
117
- }
118
- function getTextBlock(snapshot, path) {
119
- const entry = getNode(snapshot, path);
120
- if (entry && isTextBlock({
121
- schema: snapshot.context.schema
122
- }, entry.node))
123
- return {
124
- node: entry.node,
125
- path: entry.path
126
- };
127
- }
128
- function getFirstChild(snapshot, path) {
129
- return getChildren(snapshot, path).at(0);
130
- }
131
- function getLastChild(snapshot, path) {
132
- return getChildren(snapshot, path).at(-1);
133
- }
134
- function getUnionSchema(schema, containers) {
135
- const decorators = mergeByName(schema.decorators, []), annotations = mergeByName(schema.annotations, []), lists = mergeByName(schema.lists, []), styles = mergeByName(schema.styles, []), inlineObjects = mergeByName(schema.inlineObjects, []), blockObjects = mergeByName(schema.blockObjects, []);
136
- for (const container of containers.values()) {
137
- if (!acceptsTextBlock(container.field.of, schema.block.name))
138
- continue;
139
- const sub = getSubSchema(schema, container.field.of);
140
- mergeByName(sub.decorators, decorators), mergeByName(sub.annotations, annotations), mergeByName(sub.lists, lists), mergeByName(sub.styles, styles), mergeByName(sub.inlineObjects, inlineObjects), mergeByName(sub.blockObjects, blockObjects);
141
- }
142
- return {
143
- ...schema,
144
- decorators,
145
- annotations,
146
- lists,
147
- styles,
148
- inlineObjects,
149
- blockObjects
150
- };
151
- }
152
- function acceptsTextBlock(of, blockName) {
153
- return of.some((member) => member.type === "block" || member.type === blockName);
154
- }
155
- function mergeByName(source, target) {
156
- for (const entry of source)
157
- target.some((existing) => existing.name === entry.name) || target.push(entry);
158
- return target;
159
- }
160
- function getContainer(snapshot, path) {
161
- const entry = getNode(snapshot, path);
162
- if (entry && isEditableContainer(snapshot, entry.node, entry.path))
163
- return {
164
- node: entry.node,
165
- path: entry.path
166
- };
167
- }
168
- export {
169
- getAncestor,
170
- getContainer,
171
- getFirstChild,
172
- getLastChild,
173
- getLeaf,
174
- getSpan,
175
- getText,
176
- getTextBlock,
177
- getUnionSchema,
178
- isBeforePoint,
179
- isLeafObject,
180
- isObject,
181
- isPath,
182
- isPoint,
183
- isRange,
184
- pathContains,
185
- rangeIntersects
186
- };
187
- //# sourceMappingURL=get-container.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-container.js","sources":["../../src/traversal/get-ancestor.ts","../../src/traversal/is-leaf-object.ts","../../src/traversal/get-leaf.ts","../../src/engine/path/is-path.ts","../../src/engine/utils/is-object.ts","../../src/engine/point/is-point.ts","../../src/engine/range/is-range.ts","../../src/traversal/get-text.ts","../../src/traversal/get-span.ts","../../src/traversal/path-contains.ts","../../src/engine/point/is-before-point.ts","../../src/traversal/range-intersects.ts","../../src/traversal/get-text-block.ts","../../src/traversal/get-first-child.ts","../../src/traversal/get-last-child.ts","../../src/traversal/get-union-schema.ts","../../src/traversal/get-container.ts"],"sourcesContent":["import type {PortableTextBlock} from '@portabletext/schema'\nimport type {Path} from '../engine/interfaces/path'\nimport {getAncestors} from './get-ancestors'\nimport type {TraversalSnapshot} from './traversal-snapshot'\n\n/**\n * Find an ancestor of the node at a given path that matches a predicate.\n * Does not check the node at the path itself, only its ancestors.\n *\n * `mode: 'lowest'` (default) returns the nearest matching ancestor.\n * `mode: 'highest'` returns the outermost matching ancestor.\n *\n * When `match` is a type predicate, the returned `node` narrows to that type.\n *\n * @beta\n */\nexport function getAncestor<TMatch extends PortableTextBlock>(\n snapshot: TraversalSnapshot,\n path: Path,\n options: {\n match: (node: PortableTextBlock, path: Path) => node is TMatch\n mode?: 'lowest' | 'highest'\n },\n): {node: TMatch; path: Path} | undefined\n/**\n * @beta\n */\nexport function getAncestor(\n snapshot: TraversalSnapshot,\n path: Path,\n options: {\n match: (node: PortableTextBlock, path: Path) => boolean\n mode?: 'lowest' | 'highest'\n },\n): {node: PortableTextBlock; path: Path} | undefined\nexport function getAncestor(\n snapshot: TraversalSnapshot,\n path: Path,\n options: {\n match: (node: PortableTextBlock, path: Path) => boolean\n mode?: 'lowest' | 'highest'\n },\n): {node: PortableTextBlock; path: Path} | undefined {\n const {match, mode = 'lowest'} = options\n const ancestors = getAncestors(snapshot, path)\n\n if (mode === 'highest') {\n for (const ancestor of [...ancestors].reverse()) {\n if (match(ancestor.node, ancestor.path)) {\n return ancestor\n }\n }\n return undefined\n }\n\n for (const ancestor of ancestors) {\n if (match(ancestor.node, ancestor.path)) {\n return ancestor\n }\n }\n\n return undefined\n}\n","import type {PortableTextObject} from '@portabletext/schema'\nimport type {Path} from '../engine/interfaces/path'\nimport {isEditableContainer} from '../schema/is-editable-container'\nimport {isObject} from './is-object'\nimport type {TraversalSnapshot} from './traversal-snapshot'\n\n/**\n * Check if a node is a leaf object: an object node that has no editable\n * children (not a container).\n * Returns true for block objects and inline objects that don't have\n * registered editable content (containers).\n *\n * @beta\n */\nexport function isLeafObject(\n snapshot: TraversalSnapshot,\n node: unknown,\n path: Path,\n): node is PortableTextObject {\n return isObject(snapshot, node) && !isEditableContainer(snapshot, node, path)\n}\n","import type {Node} from '../engine/interfaces/node'\nimport type {Path} from '../engine/interfaces/path'\nimport {getChildren} from './get-children'\nimport {getNode} from './get-node'\nimport type {TraversalSnapshot} from './traversal-snapshot'\n\n/**\n * Get the deepest leaf node starting from a path, walking toward either the\n * start or end edge. A leaf is any node that has no children according to the\n * traversal context.\n *\n * @beta\n */\nexport function getLeaf(\n snapshot: TraversalSnapshot,\n path: Path,\n options: {edge: 'start' | 'end'},\n): {node: Node; path: Path} | undefined {\n const {edge} = options\n\n let currentPath = path\n\n // If starting from root (empty path), descend into first/last child\n if (currentPath.length === 0) {\n const children = getChildren(snapshot, [])\n if (children.length === 0) {\n return undefined\n }\n const firstOrLast = edge === 'end' ? children.at(-1)! : children.at(0)!\n const nodeChildren = getChildren(snapshot, firstOrLast.path)\n if (nodeChildren.length === 0) {\n return firstOrLast\n }\n currentPath = firstOrLast.path\n } else {\n // Check if the node at path is already a leaf\n const entry = getNode(snapshot, currentPath)\n if (!entry) {\n return undefined\n }\n const children = getChildren(snapshot, currentPath)\n if (children.length === 0) {\n return entry\n }\n }\n\n // Descend to deepest leaf\n while (true) {\n const children = getChildren(snapshot, currentPath)\n if (children.length === 0) {\n const entry = getNode(snapshot, currentPath)\n return entry ?? undefined\n }\n const child = edge === 'end' ? children.at(-1)! : children.at(0)!\n currentPath = child.path\n }\n}\n","import {isKeyedSegment} from '../../utils/util.is-keyed-segment'\nimport type {Path} from '../interfaces/path'\n\nexport function isPath(value: any): value is Path {\n return (\n Array.isArray(value) &&\n (value.length === 0 ||\n typeof value[0] === 'number' ||\n typeof value[0] === 'string' ||\n isKeyedSegment(value[0]))\n )\n}\n","export const isObject = (value: any) =>\n typeof value === 'object' && value !== null\n","import type {Point} from '../interfaces/point'\nimport {isPath} from '../path/is-path'\nimport {isObject} from '../utils/is-object'\n\nexport function isPoint(value: any): value is Point {\n return (\n isObject(value) && typeof value.offset === 'number' && isPath(value.path)\n )\n}\n","import type {Range} from '../interfaces/range'\nimport {isPoint} from '../point/is-point'\nimport {isObject} from '../utils/is-object'\n\nexport function isRange(value: any): value is Range {\n return isObject(value) && isPoint(value.anchor) && isPoint(value.focus)\n}\n","import {isSpan} from '@portabletext/schema'\nimport type {Path} from '../engine/interfaces/path'\nimport {getNode} from './get-node'\nimport {getNodes} from './get-nodes'\nimport type {TraversalSnapshot} from './traversal-snapshot'\n\n/**\n * Get the concatenated text content of the node at a given path.\n *\n * @beta\n */\nexport function getText(\n snapshot: TraversalSnapshot,\n path: Path,\n): string | undefined {\n const entry = getNode(snapshot, path)\n\n if (!entry) {\n return undefined\n }\n\n if (isSpan({schema: snapshot.context.schema}, entry.node)) {\n return entry.node.text\n }\n\n let text = ''\n\n for (const descendant of getNodes(snapshot, {at: path})) {\n if (isSpan({schema: snapshot.context.schema}, descendant.node)) {\n text += descendant.node.text\n }\n }\n\n return text\n}\n","import {isSpan, type PortableTextSpan} from '@portabletext/schema'\nimport type {Path} from '../engine/interfaces/path'\nimport {getNode} from './get-node'\nimport type {TraversalSnapshot} from './traversal-snapshot'\n\n/**\n * Get the span node at a given path.\n *\n * @beta\n */\nexport function getSpan(\n snapshot: TraversalSnapshot,\n path: Path,\n): {node: PortableTextSpan; path: Path} | undefined {\n const entry = getNode(snapshot, path)\n\n if (!entry) {\n return undefined\n }\n\n if (!isSpan({schema: snapshot.context.schema}, entry.node)) {\n return undefined\n }\n\n return {node: entry.node, path: entry.path}\n}\n","import type {Path} from '../types/paths'\nimport {isKeyedSegment} from '../utils/util.is-keyed-segment'\n\n/**\n * Returns true if `ancestor` is equal to `descendant`, or if `descendant`\n * lives anywhere inside `ancestor`'s subtree.\n *\n * @beta\n */\nexport function pathContains(ancestor: Path, descendant: Path): boolean {\n if (ancestor.length > descendant.length) {\n return false\n }\n\n for (let i = 0; i < ancestor.length; i++) {\n const segment = ancestor[i]\n const otherSegment = descendant[i]\n\n if (isKeyedSegment(segment) && isKeyedSegment(otherSegment)) {\n if (segment._key !== otherSegment._key) {\n return false\n }\n } else if (segment !== otherSegment) {\n return false\n }\n }\n\n return true\n}\n","import type {Node} from '../interfaces/node'\nimport type {Point} from '../interfaces/point'\nimport {comparePoints} from './compare-points'\n\nexport function isBeforePoint(\n point: Point,\n another: Point,\n root: {value: Array<Node>},\n): boolean {\n return comparePoints(point, another, root) === -1\n}\n","import {comparePaths} from '../engine/path/compare-paths'\nimport {isAfterPoint} from '../engine/point/is-after-point'\nimport {isBeforePoint} from '../engine/point/is-before-point'\nimport {isPoint} from '../engine/point/is-point'\nimport {isRange} from '../engine/range/is-range'\nimport {rangeEdges} from '../engine/range/range-edges'\nimport type {EditorSelection, EditorSelectionPoint} from '../types/editor'\nimport type {Path} from '../types/paths'\nimport {comparePoints} from './compare-points'\nimport type {TraversalSnapshot} from './traversal-snapshot'\n\n/**\n * Returns true if `range` and the supplied `target` intersect. The target\n * may be a `Path`, an `EditorSelectionPoint`, or another\n * `EditorSelection`.\n *\n * For a `Path` or `EditorSelectionPoint` target, \"intersect\" means the\n * target lies at or between `range`'s start and end edges (inclusive).\n *\n * For an `EditorSelection` target, \"intersect\" means either endpoint of\n * `target` lies inside `range`, or `range` strictly encloses `target`.\n *\n * Pass `snapshot.context.selection` as `range` to ask the question against\n * the editor's current selection.\n *\n * Returns `false` when either `range` or `target` is `null`.\n *\n * @beta\n */\nexport function rangeIntersects(\n snapshot: TraversalSnapshot,\n range: EditorSelection,\n target: Path | EditorSelectionPoint | EditorSelection,\n): boolean {\n if (!range || target === null) {\n return false\n }\n\n const root = {value: snapshot.context.value}\n\n if (isRange(target)) {\n if (\n rangeIntersects(snapshot, range, target.anchor) ||\n rangeIntersects(snapshot, range, target.focus)\n ) {\n return true\n }\n const [rs, re] = rangeEdges(range, root)\n const [ts, te] = rangeEdges(target, root)\n return isBeforePoint(rs, ts, root) && isAfterPoint(re, te, root)\n }\n\n const [start, end] = rangeEdges(range, root)\n let isAfterStart = false\n let isBeforeEnd = false\n\n if (isPoint(target)) {\n isAfterStart = comparePoints(snapshot, target, start) >= 0\n isBeforeEnd = comparePoints(snapshot, target, end) <= 0\n } else {\n isAfterStart = comparePaths(target, start.path, root) >= 0\n isBeforeEnd = comparePaths(target, end.path, root) <= 0\n }\n\n return isAfterStart && isBeforeEnd\n}\n","import {isTextBlock, type PortableTextTextBlock} from '@portabletext/schema'\nimport type {Path} from '../engine/interfaces/path'\nimport {getNode} from './get-node'\nimport type {TraversalSnapshot} from './traversal-snapshot'\n\n/**\n * Get the text block node at a given path.\n *\n * @beta\n */\nexport function getTextBlock(\n snapshot: TraversalSnapshot,\n path: Path,\n): {node: PortableTextTextBlock; path: Path} | undefined {\n const entry = getNode(snapshot, path)\n\n if (!entry) {\n return undefined\n }\n\n if (!isTextBlock({schema: snapshot.context.schema}, entry.node)) {\n return undefined\n }\n\n return {node: entry.node, path: entry.path}\n}\n","import type {Node} from '../engine/interfaces/node'\nimport type {Path} from '../engine/interfaces/path'\nimport {getChildren} from './get-children'\nimport type {TraversalSnapshot} from './traversal-snapshot'\n\n/**\n * Get the first child of a node at a given path.\n *\n * @beta\n */\nexport function getFirstChild(\n snapshot: TraversalSnapshot,\n path: Path,\n): {node: Node; path: Path} | undefined {\n return getChildren(snapshot, path).at(0)\n}\n","import type {Node} from '../engine/interfaces/node'\nimport type {Path} from '../engine/interfaces/path'\nimport {getChildren} from './get-children'\nimport type {TraversalSnapshot} from './traversal-snapshot'\n\n/**\n * Get the last child of a node at a given path.\n *\n * @beta\n */\nexport function getLastChild(\n snapshot: TraversalSnapshot,\n path: Path,\n): {node: Node; path: Path} | undefined {\n const children = getChildren(snapshot, path)\n\n return children.at(-1)\n}\n","import {getSubSchema, type Schema} from '@portabletext/schema'\nimport type {Containers} from '../schema/resolve-containers'\n\n/**\n * Return a `Schema` that contains every named member declared anywhere\n * in the editor's schema graph that is reachable from a position where text\n * is edited - the root schema merged with the sub-schema of every registered\n * container whose field accepts text blocks, deduped by name. Useful for\n * rendering a static toolbar whose buttons stay stable across selection\n * moves while still reflecting everything that could plausibly be edited or\n * inserted somewhere.\n *\n * Containers whose field does NOT accept text blocks (e.g. a `table`\n * container whose `rows` field only accepts `row` objects, or a `row`\n * container whose `cells` field only accepts `cell` objects) are\n * **structural**: their immediate `of` types are organizational, not\n * insertable user content. Those structural types are excluded from the\n * union. Their nested text-block-accepting descendants (e.g. a `cell`\n * that contains a `content` field of `{type: 'block'}`) are reached via\n * those descendants' own container registration.\n *\n * Pair with `getPathSubSchema` (or a path-based intersection across a\n * range) to determine which of the union's members are applicable at the\n * current selection.\n *\n * @beta\n */\nexport function getUnionSchema(schema: Schema, containers: Containers): Schema {\n const decorators = mergeByName(schema.decorators, [])\n const annotations = mergeByName(schema.annotations, [])\n const lists = mergeByName(schema.lists, [])\n const styles = mergeByName(schema.styles, [])\n const inlineObjects = mergeByName(schema.inlineObjects, [])\n const blockObjects = mergeByName(schema.blockObjects, [])\n\n for (const container of containers.values()) {\n if (!acceptsTextBlock(container.field.of, schema.block.name)) {\n continue\n }\n const sub = getSubSchema(schema, container.field.of)\n mergeByName(sub.decorators, decorators)\n mergeByName(sub.annotations, annotations)\n mergeByName(sub.lists, lists)\n mergeByName(sub.styles, styles)\n mergeByName(sub.inlineObjects, inlineObjects)\n mergeByName(sub.blockObjects, blockObjects)\n }\n\n return {\n ...schema,\n decorators,\n annotations,\n lists,\n styles,\n inlineObjects,\n blockObjects,\n }\n}\n\nfunction acceptsTextBlock(\n of: ReadonlyArray<{type: string}>,\n blockName: string,\n): boolean {\n return of.some(\n (member) => member.type === 'block' || member.type === blockName,\n )\n}\n\nfunction mergeByName<T extends {name: string}>(\n source: ReadonlyArray<T>,\n target: Array<T>,\n): Array<T> {\n for (const entry of source) {\n if (target.some((existing) => existing.name === entry.name)) {\n continue\n }\n target.push(entry)\n }\n return target\n}\n","import type {Node} from '../engine/interfaces/node'\nimport type {Path} from '../engine/interfaces/path'\nimport {isEditableContainer} from '../schema/is-editable-container'\nimport {getNode} from './get-node'\nimport type {TraversalSnapshot} from './traversal-snapshot'\n\n/**\n * Get the registered editable container at a given path.\n *\n * @beta\n */\nexport function getContainer(\n snapshot: TraversalSnapshot,\n path: Path,\n): {node: Node; path: Path} | undefined {\n const entry = getNode(snapshot, path)\n\n if (!entry) {\n return undefined\n }\n\n if (!isEditableContainer(snapshot, entry.node, entry.path)) {\n return undefined\n }\n\n return {node: entry.node, path: entry.path}\n}\n"],"names":["getAncestor","snapshot","path","options","match","mode","ancestors","getAncestors","ancestor","reverse","node","isLeafObject","isObject","isEditableContainer","getLeaf","edge","currentPath","length","children","getChildren","firstOrLast","at","entry","getNode","undefined","isPath","value","Array","isArray","isKeyedSegment","isPoint","offset","isRange","anchor","focus","getText","isSpan","schema","context","text","descendant","getNodes","getSpan","pathContains","i","segment","otherSegment","_key","isBeforePoint","point","another","root","comparePoints","rangeIntersects","range","target","rs","re","rangeEdges","ts","te","isAfterPoint","start","end","isAfterStart","isBeforeEnd","comparePaths","getTextBlock","isTextBlock","getFirstChild","getLastChild","getUnionSchema","containers","decorators","mergeByName","annotations","lists","styles","inlineObjects","blockObjects","container","values","acceptsTextBlock","field","of","block","name","sub","getSubSchema","blockName","some","member","type","source","existing","push","getContainer"],"mappings":"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"}