slate-react 0.115.0 → 0.116.0

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 (50) hide show
  1. package/dist/chunking/children-helper.d.ts +61 -0
  2. package/dist/chunking/children-helper.d.ts.map +1 -0
  3. package/dist/chunking/chunk-tree-helper.d.ts +160 -0
  4. package/dist/chunking/chunk-tree-helper.d.ts.map +1 -0
  5. package/dist/chunking/get-chunk-tree-for-node.d.ts +16 -0
  6. package/dist/chunking/get-chunk-tree-for-node.d.ts.map +1 -0
  7. package/dist/chunking/index.d.ts +3 -0
  8. package/dist/chunking/index.d.ts.map +1 -0
  9. package/dist/chunking/reconcile-children.d.ts +19 -0
  10. package/dist/chunking/reconcile-children.d.ts.map +1 -0
  11. package/dist/chunking/types.d.ts +44 -0
  12. package/dist/chunking/types.d.ts.map +1 -0
  13. package/dist/components/chunk-tree.d.ts +13 -0
  14. package/dist/components/chunk-tree.d.ts.map +1 -0
  15. package/dist/components/editable.d.ts +13 -0
  16. package/dist/components/editable.d.ts.map +1 -1
  17. package/dist/components/element.d.ts +4 -4
  18. package/dist/components/element.d.ts.map +1 -1
  19. package/dist/components/leaf.d.ts.map +1 -1
  20. package/dist/components/slate.d.ts.map +1 -1
  21. package/dist/components/text.d.ts +1 -1
  22. package/dist/components/text.d.ts.map +1 -1
  23. package/dist/hooks/use-children.d.ts +4 -4
  24. package/dist/hooks/use-children.d.ts.map +1 -1
  25. package/dist/hooks/use-decorations.d.ts +18 -0
  26. package/dist/hooks/use-decorations.d.ts.map +1 -0
  27. package/dist/hooks/use-element.d.ts +12 -0
  28. package/dist/hooks/use-element.d.ts.map +1 -0
  29. package/dist/hooks/use-generic-selector.d.ts +20 -0
  30. package/dist/hooks/use-generic-selector.d.ts.map +1 -0
  31. package/dist/hooks/use-selected.d.ts +0 -5
  32. package/dist/hooks/use-selected.d.ts.map +1 -1
  33. package/dist/hooks/use-slate-selector.d.ts +30 -15
  34. package/dist/hooks/use-slate-selector.d.ts.map +1 -1
  35. package/dist/hooks/use-slate.d.ts +7 -14
  36. package/dist/hooks/use-slate.d.ts.map +1 -1
  37. package/dist/index.d.ts +2 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.es.js +1154 -232
  40. package/dist/index.es.js.map +1 -1
  41. package/dist/index.js +1328 -343
  42. package/dist/index.js.map +1 -1
  43. package/dist/plugin/react-editor.d.ts +7 -0
  44. package/dist/plugin/react-editor.d.ts.map +1 -1
  45. package/dist/plugin/with-react.d.ts.map +1 -1
  46. package/dist/slate-react.js +1385 -346
  47. package/dist/slate-react.min.js +1 -1
  48. package/package.json +5 -4
  49. package/dist/hooks/use-decorate.d.ts +0 -11
  50. package/dist/hooks/use-decorate.d.ts.map +0 -1
@@ -1,32 +1,47 @@
1
1
  /// <reference types="react" />
2
2
  import { Editor } from 'slate';
3
- type EditorChangeHandler = (editor: Editor) => void;
3
+ type Callback = () => void;
4
+ export interface SlateSelectorOptions {
5
+ /**
6
+ * If true, defer calling the selector function until after `Editable` has
7
+ * finished rendering. This ensures that `ReactEditor.findPath` won't return
8
+ * an outdated path if called inside the selector.
9
+ */
10
+ deferred?: boolean;
11
+ }
4
12
  /**
5
- * A React context for sharing the editor selector context in a way to control rerenders
13
+ * A React context for sharing the editor selector context in a way to control
14
+ * re-renders.
6
15
  */
7
16
  export declare const SlateSelectorContext: import("react").Context<{
8
- getSlate: () => Editor;
9
- addEventListener: (callback: EditorChangeHandler) => () => void;
17
+ addEventListener: (callback: Callback, options?: SlateSelectorOptions) => () => void;
18
+ flushDeferred: () => void;
10
19
  }>;
11
20
  /**
12
- * use redux style selectors to prevent rerendering on every keystroke.
13
- * Bear in mind rerendering can only prevented if the returned value is a value type or for reference types (e.g. objects and arrays) add a custom equality function.
21
+ * Use redux style selectors to prevent re-rendering on every keystroke.
14
22
  *
15
- * Example:
16
- * ```
17
- * const isSelectionActive = useSlateSelector(editor => Boolean(editor.selection));
18
- * ```
23
+ * Bear in mind re-rendering can only prevented if the returned value is a value
24
+ * type or for reference types (e.g. objects and arrays) add a custom equality
25
+ * function.
26
+ *
27
+ * If `selector` is memoized using `useCallback`, then it will only be called
28
+ * when it or the editor state changes. Otherwise, `selector` will be called
29
+ * every time the component renders.
30
+ *
31
+ * @example
32
+ * const isSelectionActive = useSlateSelector(editor => Boolean(editor.selection))
19
33
  */
20
- export declare function useSlateSelector<T>(selector: (editor: Editor) => T, equalityFn?: (a: T, b: T) => boolean): T;
34
+ export declare function useSlateSelector<T>(selector: (editor: Editor) => T, equalityFn?: (a: T | null, b: T) => boolean, { deferred }?: SlateSelectorOptions): T;
21
35
  /**
22
36
  * Create selector context with editor updating on every editor change
23
37
  */
24
- export declare function useSelectorContext(editor: Editor): {
38
+ export declare function useSelectorContext(): {
25
39
  selectorContext: {
26
- getSlate: () => import("..").ReactEditor;
27
- addEventListener: (callback: EditorChangeHandler) => () => void;
40
+ addEventListener: (callbackProp: Callback, { deferred }?: SlateSelectorOptions) => () => void;
41
+ flushDeferred: () => void;
28
42
  };
29
- onChange: (editor: Editor) => void;
43
+ onChange: () => void;
30
44
  };
45
+ export declare function useFlushDeferredSelectorsOnRender(): void;
31
46
  export {};
32
47
  //# sourceMappingURL=use-slate-selector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-slate-selector.d.ts","sourceRoot":"","sources":["../../../../packages/slate-react/src/hooks/use-slate-selector.tsx"],"names":[],"mappings":";AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAO9B,KAAK,mBAAmB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;AACnD;;GAEG;AAEH,eAAO,MAAM,oBAAoB;cACrB,MAAM,MAAM;iCACO,mBAAmB,KAAK,MAAM,IAAI;EACpD,CAAA;AAIb;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,EAC/B,UAAU,GAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAqB,KAiFlD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM;;;qCAoBd,mBAAmB;;uBAZzC,MAAM;EAqBlB"}
1
+ {"version":3,"file":"use-slate-selector.d.ts","sourceRoot":"","sources":["../../../../packages/slate-react/src/hooks/use-slate-selector.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAK9B,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAA;AAE1B,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;GAGG;AAEH,eAAO,MAAM,oBAAoB;iCAEnB,QAAQ,YACR,oBAAoB,KAC3B,MAAM,IAAI;mBACA,MAAM,IAAI;EACd,CAAA;AAIb;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,EAC/B,UAAU,GAAE,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,KAAK,OAAqB,EACxD,EAAE,QAAQ,EAAE,GAAE,oBAAyB,GACtC,CAAC,CA0BH;AAED;;GAEG;AACH,wBAAgB,kBAAkB;;yCAed,QAAQ,iBACA,oBAAoB;;;;EAwB/C;AAED,wBAAgB,iCAAiC,SAGhD"}
@@ -1,22 +1,15 @@
1
- /// <reference types="react" />
2
1
  import { Editor } from 'slate';
3
- import { ReactEditor } from '../plugin/react-editor';
4
2
  /**
5
- * A React context for sharing the editor object, in a way that re-renders the
6
- * context whenever changes occur.
3
+ * Get the current editor object and re-render whenever it changes.
7
4
  */
8
- export interface SlateContextValue {
9
- v: number;
10
- editor: ReactEditor;
11
- }
12
- export declare const SlateContext: import("react").Context<{
13
- v: number;
14
- editor: ReactEditor;
15
- } | null>;
5
+ export declare const useSlate: () => Editor;
16
6
  /**
17
- * Get the current editor object from the React context.
7
+ * Get the current editor object and its version, which increments on every
8
+ * change.
9
+ *
10
+ * @deprecated The `v` counter is no longer used except for this hook, and may
11
+ * be removed in a future version.
18
12
  */
19
- export declare const useSlate: () => Editor;
20
13
  export declare const useSlateWithV: () => {
21
14
  editor: Editor;
22
15
  v: number;
@@ -1 +1 @@
1
- {"version":3,"file":"use-slate.d.ts","sourceRoot":"","sources":["../../../../packages/slate-react/src/hooks/use-slate.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD;;;GAGG;AAEH,MAAM,WAAW,iBAAiB;IAChC,CAAC,EAAE,MAAM,CAAA;IACT,MAAM,EAAE,WAAW,CAAA;CACpB;AAED,eAAO,MAAM,YAAY;OACpB,MAAM;YACD,WAAW;SACN,CAAA;AAEf;;GAEG;AAEH,eAAO,MAAM,QAAQ,QAAO,MAW3B,CAAA;AAED,eAAO,MAAM,aAAa,QAAO;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAU3D,CAAA"}
1
+ {"version":3,"file":"use-slate.d.ts","sourceRoot":"","sources":["../../../../packages/slate-react/src/hooks/use-slate.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAK9B;;GAEG;AAEH,eAAO,MAAM,QAAQ,QAAO,MAgB3B,CAAA;AAyBD;;;;;;GAMG;AAEH,eAAO,MAAM,aAAa;YAAiB,MAAM;OAAK,MAAM;CAI3D,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,10 @@
1
- export { Editable, RenderElementProps, RenderLeafProps, RenderPlaceholderProps, DefaultPlaceholder, } from './components/editable';
1
+ export { Editable, RenderElementProps, RenderChunkProps, RenderLeafProps, RenderPlaceholderProps, DefaultPlaceholder, } from './components/editable';
2
2
  export { DefaultElement } from './components/element';
3
3
  export { DefaultText } from './components/text';
4
4
  export { DefaultLeaf } from './components/leaf';
5
5
  export { Slate } from './components/slate';
6
6
  export { useEditor } from './hooks/use-editor';
7
+ export { useElement, useElementIf } from './hooks/use-element';
7
8
  export { useSlateStatic } from './hooks/use-slate-static';
8
9
  export { useComposing } from './hooks/use-composing';
9
10
  export { useFocused } from './hooks/use-focused';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAG1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAG/C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAG1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAG/D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAG/C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA"}