slate-react 0.113.0 → 0.114.0-20250429143602

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.
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { JSX } from 'react';
3
- import { Element, NodeEntry, Text, DecoratedRange } from 'slate';
3
+ import { Element, NodeEntry, Text, DecoratedRange, LeafPosition } from 'slate';
4
4
  import { ReactEditor } from '../plugin/react-editor';
5
5
  import { DOMRange } from 'slate-dom';
6
6
  /**
@@ -22,11 +22,30 @@ export interface RenderElementProps {
22
22
  */
23
23
  export interface RenderLeafProps {
24
24
  children: any;
25
+ /**
26
+ * The leaf node with any applied decorations.
27
+ * If no decorations are applied, it will be identical to the `text` property.
28
+ */
25
29
  leaf: Text;
26
30
  text: Text;
27
31
  attributes: {
28
32
  'data-slate-leaf': true;
29
33
  };
34
+ /**
35
+ * The position of the leaf within the Text node, only present when the text node is split by decorations.
36
+ */
37
+ leafPosition?: LeafPosition;
38
+ }
39
+ /**
40
+ * `RenderTextProps` are passed to the `renderText` handler.
41
+ */
42
+ export interface RenderTextProps {
43
+ text: Text;
44
+ children: any;
45
+ attributes: {
46
+ 'data-slate-node': 'text';
47
+ ref: any;
48
+ };
30
49
  }
31
50
  /**
32
51
  * `EditableProps` are passed to the `<Editable>` component.
@@ -40,6 +59,7 @@ export type EditableProps = {
40
59
  style?: React.CSSProperties;
41
60
  renderElement?: (props: RenderElementProps) => JSX.Element;
42
61
  renderLeaf?: (props: RenderLeafProps) => JSX.Element;
62
+ renderText?: (props: RenderTextProps) => JSX.Element;
43
63
  renderPlaceholder?: (props: RenderPlaceholderProps) => JSX.Element;
44
64
  scrollSelectionIntoView?: (editor: ReactEditor, domRange: DOMRange) => void;
45
65
  as?: React.ElementType;
@@ -57,6 +77,7 @@ export declare const Editable: React.ForwardRefExoticComponent<{
57
77
  style?: React.CSSProperties | undefined;
58
78
  renderElement?: ((props: RenderElementProps) => JSX.Element) | undefined;
59
79
  renderLeaf?: ((props: RenderLeafProps) => JSX.Element) | undefined;
80
+ renderText?: ((props: RenderTextProps) => JSX.Element) | undefined;
60
81
  renderPlaceholder?: ((props: RenderPlaceholderProps) => JSX.Element) | undefined;
61
82
  scrollSelectionIntoView?: ((editor: ReactEditor, domRange: DOMRange) => void) | undefined;
62
83
  as?: React.ElementType<any> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"editable.d.ts","sourceRoot":"","sources":["../../../../packages/slate-react/src/components/editable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editable.d.ts","sourceRoot":"","sources":["../../../../packages/slate-react/src/components/editable.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { JSX } from 'react';
3
3
  import { Element as SlateElement, Range, DecoratedRange } from 'slate';
4
- import { RenderElementProps, RenderLeafProps, RenderPlaceholderProps } from './editable';
4
+ import { RenderElementProps, RenderLeafProps, RenderPlaceholderProps, RenderTextProps } from './editable';
5
5
  /**
6
6
  * Element.
7
7
  */
@@ -10,6 +10,7 @@ declare const Element: (props: {
10
10
  element: SlateElement;
11
11
  renderElement?: ((props: RenderElementProps) => JSX.Element) | undefined;
12
12
  renderPlaceholder: (props: RenderPlaceholderProps) => JSX.Element;
13
+ renderText?: ((props: RenderTextProps) => JSX.Element) | undefined;
13
14
  renderLeaf?: ((props: RenderLeafProps) => JSX.Element) | undefined;
14
15
  selection: Range | null;
15
16
  }) => JSX.Element;
@@ -18,6 +19,7 @@ declare const MemoizedElement: React.MemoExoticComponent<(props: {
18
19
  element: SlateElement;
19
20
  renderElement?: ((props: RenderElementProps) => JSX.Element) | undefined;
20
21
  renderPlaceholder: (props: RenderPlaceholderProps) => JSX.Element;
22
+ renderText?: ((props: RenderTextProps) => JSX.Element) | undefined;
21
23
  renderLeaf?: ((props: RenderLeafProps) => JSX.Element) | undefined;
22
24
  selection: Range | null;
23
25
  }) => JSX.Element>;
@@ -1 +1 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../../../packages/slate-react/src/components/element.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAEL,OAAO,IAAI,YAAY,EAEvB,KAAK,EACL,cAAc,EACf,MAAM,OAAO,CAAA;AAWd,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACvB,MAAM,YAAY,CAAA;AAInB;;GAEG;AAEH,QAAA,MAAM,OAAO;iBACE,cAAc,EAAE;aACpB,YAAY;6BACG,kBAAkB,KAAK,WAAW;+BAC/B,sBAAsB,KAAK,WAAW;0BAC5C,eAAe,KAAK,WAAW;eACzC,KAAK,GAAG,IAAI;iBAuGxB,CAAA;AAED,QAAA,MAAM,eAAe;iBA9GN,cAAc,EAAE;aACpB,YAAY;6BACG,kBAAkB,KAAK,WAAW;+BAC/B,sBAAsB,KAAK,WAAW;0BAC5C,eAAe,KAAK,WAAW;eACzC,KAAK,GAAG,IAAI;kBAqHvB,CAAA;AAEF;;GAEG;AAEH,eAAO,MAAM,cAAc,UAAW,kBAAkB,gBASvD,CAAA;AAED,eAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["../../../../packages/slate-react/src/components/element.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAEL,OAAO,IAAI,YAAY,EAEvB,KAAK,EACL,cAAc,EACf,MAAM,OAAO,CAAA;AAWd,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,eAAe,EAChB,MAAM,YAAY,CAAA;AAInB;;GAEG;AAEH,QAAA,MAAM,OAAO;iBACE,cAAc,EAAE;aACpB,YAAY;6BACG,kBAAkB,KAAK,WAAW;+BAC/B,sBAAsB,KAAK,WAAW;0BAC5C,eAAe,KAAK,WAAW;0BAC/B,eAAe,KAAK,WAAW;eACzC,KAAK,GAAG,IAAI;iBAyGxB,CAAA;AAED,QAAA,MAAM,eAAe;iBAjHN,cAAc,EAAE;aACpB,YAAY;6BACG,kBAAkB,KAAK,WAAW;+BAC/B,sBAAsB,KAAK,WAAW;0BAC5C,eAAe,KAAK,WAAW;0BAC/B,eAAe,KAAK,WAAW;eACzC,KAAK,GAAG,IAAI;kBAwHvB,CAAA;AAEF;;GAEG;AAEH,eAAO,MAAM,cAAc,UAAW,kBAAkB,gBASvD,CAAA;AAED,eAAe,eAAe,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { JSX } from 'react';
3
- import { Element, Text } from 'slate';
3
+ import { Element, LeafPosition, Text } from 'slate';
4
4
  import { RenderLeafProps, RenderPlaceholderProps } from './editable';
5
5
  declare const MemoizedLeaf: React.MemoExoticComponent<(props: {
6
6
  isLast: boolean;
@@ -9,6 +9,7 @@ declare const MemoizedLeaf: React.MemoExoticComponent<(props: {
9
9
  renderPlaceholder: (props: RenderPlaceholderProps) => JSX.Element;
10
10
  renderLeaf?: ((props: RenderLeafProps) => JSX.Element) | undefined;
11
11
  text: Text;
12
+ leafPosition?: LeafPosition | undefined;
12
13
  }) => JSX.Element>;
13
14
  export declare const DefaultLeaf: (props: RenderLeafProps) => JSX.Element;
14
15
  export default MemoizedLeaf;
@@ -1 +1 @@
1
- {"version":3,"file":"leaf.d.ts","sourceRoot":"","sources":["../../../../packages/slate-react/src/components/leaf.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAQrC,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAkJpE,QAAA,MAAM,YAAY;YAjHR,OAAO;UACT,IAAI;YACF,OAAO;+BACY,sBAAsB,KAAK,WAAW;0BAC5C,eAAe,KAAK,WAAW;UAC9C,IAAI;kBAsHV,CAAA;AAEF,eAAO,MAAM,WAAW,UAAW,eAAe,gBAGjD,CAAA;AAED,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"leaf.d.ts","sourceRoot":"","sources":["../../../../packages/slate-react/src/components/leaf.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAQnD,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AA0JpE,QAAA,MAAM,YAAY;YAzHR,OAAO;UACT,IAAI;YACF,OAAO;+BACY,sBAAsB,KAAK,WAAW;0BAC5C,eAAe,KAAK,WAAW;UAC9C,IAAI;;kBA8HV,CAAA;AAEF,eAAO,MAAM,WAAW,UAAW,eAAe,gBAGjD,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -1,13 +1,15 @@
1
1
  import React from 'react';
2
- import { Element, DecoratedRange, Text as SlateText } from 'slate';
3
- import { RenderLeafProps, RenderPlaceholderProps } from './editable';
2
+ import { Element, Text as SlateText, DecoratedRange } from 'slate';
3
+ import { RenderLeafProps, RenderPlaceholderProps, RenderTextProps } from './editable';
4
4
  declare const MemoizedText: React.MemoExoticComponent<(props: {
5
5
  decorations: DecoratedRange[];
6
6
  isLast: boolean;
7
7
  parent: Element;
8
8
  renderPlaceholder: (props: RenderPlaceholderProps) => JSX.Element;
9
9
  renderLeaf?: ((props: RenderLeafProps) => JSX.Element) | undefined;
10
+ renderText?: ((props: RenderTextProps) => JSX.Element) | undefined;
10
11
  text: SlateText;
11
- }) => React.JSX.Element>;
12
+ }) => JSX.Element>;
13
+ export declare const DefaultText: (props: RenderTextProps) => React.JSX.Element;
12
14
  export default MemoizedText;
13
15
  //# sourceMappingURL=text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../packages/slate-react/src/components/text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,OAAO,CAAA;AAQlE,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AAiEpE,QAAA,MAAM,YAAY;iBAzDH,cAAc,EAAE;YACrB,OAAO;YACP,OAAO;+BACY,sBAAsB,KAAK,WAAW;0BAC5C,eAAe,KAAK,WAAW;UAC9C,SAAS;wBA6Df,CAAA;AAEF,eAAe,YAAY,CAAA"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../packages/slate-react/src/components/text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAQlE,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,eAAe,EAChB,MAAM,YAAY,CAAA;AAmFnB,QAAA,MAAM,YAAY;iBA3EH,cAAc,EAAE;YACrB,OAAO;YACP,OAAO;+BACY,sBAAsB,KAAK,WAAW;0BAC5C,eAAe,KAAK,WAAW;0BAC/B,eAAe,KAAK,WAAW;UAC9C,SAAS;kBA+Ef,CAAA;AAEF,eAAO,MAAM,WAAW,UAAW,eAAe,sBAGjD,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Ancestor, Element, Range, DecoratedRange } from 'slate';
3
- import { RenderElementProps, RenderLeafProps, RenderPlaceholderProps } from '../components/editable';
3
+ import { RenderElementProps, RenderLeafProps, RenderPlaceholderProps, RenderTextProps } from '../components/editable';
4
4
  /**
5
5
  * Children.
6
6
  */
@@ -9,6 +9,7 @@ declare const useChildren: (props: {
9
9
  node: Ancestor;
10
10
  renderElement?: ((props: RenderElementProps) => JSX.Element) | undefined;
11
11
  renderPlaceholder: (props: RenderPlaceholderProps) => JSX.Element;
12
+ renderText?: ((props: RenderTextProps) => JSX.Element) | undefined;
12
13
  renderLeaf?: ((props: RenderLeafProps) => JSX.Element) | undefined;
13
14
  selection: Range | null;
14
15
  }) => React.JSX.Element[];
@@ -1 +1 @@
1
- {"version":3,"file":"use-children.d.ts","sourceRoot":"","sources":["../../../../packages/slate-react/src/hooks/use-children.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,QAAQ,EAGR,OAAO,EACP,KAAK,EACL,cAAc,EACf,MAAM,OAAO,CAAA;AACd,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACvB,MAAM,wBAAwB,CAAA;AAU/B;;GAEG;AAEH,QAAA,MAAM,WAAW;iBACF,cAAc,EAAE;UACvB,QAAQ;6BACU,kBAAkB,KAAK,WAAW;+BAC/B,sBAAsB,KAAK,WAAW;0BAC5C,eAAe,KAAK,WAAW;eACzC,KAAK,GAAG,IAAI;yBAqExB,CAAA;AAED,eAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"use-children.d.ts","sourceRoot":"","sources":["../../../../packages/slate-react/src/hooks/use-children.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,QAAQ,EAGR,OAAO,EACP,KAAK,EACL,cAAc,EACf,MAAM,OAAO,CAAA;AACd,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,sBAAsB,EACtB,eAAe,EAChB,MAAM,wBAAwB,CAAA;AAU/B;;GAEG;AAEH,QAAA,MAAM,WAAW;iBACF,cAAc,EAAE;UACvB,QAAQ;6BACU,kBAAkB,KAAK,WAAW;+BAC/B,sBAAsB,KAAK,WAAW;0BAC5C,eAAe,KAAK,WAAW;0BAC/B,eAAe,KAAK,WAAW;eACzC,KAAK,GAAG,IAAI;yBAqExB,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -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,KA2ElD;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":";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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export { Editable, RenderElementProps, RenderLeafProps, RenderPlaceholderProps, DefaultPlaceholder, } from './components/editable';
2
2
  export { DefaultElement } from './components/element';
3
+ export { DefaultText } from './components/text';
3
4
  export { DefaultLeaf } from './components/leaf';
4
5
  export { Slate } from './components/slate';
5
6
  export { useEditor } from './hooks/use-editor';
@@ -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,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,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"}
package/dist/index.es.js CHANGED
@@ -97,8 +97,8 @@ var useSlateStatic = () => {
97
97
  // eslint-disable-next-line no-redeclare
98
98
  var ReactEditor = DOMEditor;
99
99
 
100
- function ownKeys$5(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
101
- function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
100
+ function ownKeys$6(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
101
+ function _objectSpread$6(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$6(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
102
102
  // https://github.com/facebook/draft-js/blob/main/src/component/handlers/composition/DraftEditorCompositionHandler.js#L41
103
103
  // When using keyboard English association function, conpositionEnd triggered too fast, resulting in after `insertText` still maintain association state.
104
104
  var RESOLVE_DELAY = 25;
@@ -294,7 +294,7 @@ function createAndroidInputManager(_ref) {
294
294
  updatePlaceholderVisibility();
295
295
  return;
296
296
  }
297
- pendingDiffs[idx] = _objectSpread$5(_objectSpread$5({}, pendingDiffs[idx]), {}, {
297
+ pendingDiffs[idx] = _objectSpread$6(_objectSpread$6({}, pendingDiffs[idx]), {}, {
298
298
  diff: merged
299
299
  });
300
300
  };
@@ -612,7 +612,7 @@ function createAndroidInputManager(_ref) {
612
612
  if (insertPositionHint === null) {
613
613
  insertPositionHint = _diff;
614
614
  } else if (insertPositionHint && Range.isCollapsed(targetRange) && insertPositionHint.end + insertPositionHint.text.length === _start2.offset) {
615
- insertPositionHint = _objectSpread$5(_objectSpread$5({}, insertPositionHint), {}, {
615
+ insertPositionHint = _objectSpread$6(_objectSpread$6({}, insertPositionHint), {}, {
616
616
  text: insertPositionHint.text + _text
617
617
  });
618
618
  } else {
@@ -748,8 +748,8 @@ function useMutationObserver(node, callback, options) {
748
748
  }
749
749
 
750
750
  var _excluded$2 = ["node"];
751
- function ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
752
- function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
751
+ function ownKeys$5(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
752
+ function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$5(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
753
753
  var MUTATION_OBSERVER_CONFIG$1 = {
754
754
  subtree: true,
755
755
  childList: true,
@@ -765,7 +765,7 @@ var useAndroidInputManager = !IS_ANDROID ? () => null : _ref => {
765
765
  }
766
766
  var editor = useSlateStatic();
767
767
  var isMounted = useIsMounted();
768
- var [inputManager] = useState(() => createAndroidInputManager(_objectSpread$4({
768
+ var [inputManager] = useState(() => createAndroidInputManager(_objectSpread$5({
769
769
  editor
770
770
  }, options)));
771
771
  useMutationObserver(node, inputManager.handleDomMutations, MUTATION_OBSERVER_CONFIG$1);
@@ -776,8 +776,8 @@ var useAndroidInputManager = !IS_ANDROID ? () => null : _ref => {
776
776
  return inputManager;
777
777
  };
778
778
 
779
- function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
780
- function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
779
+ function ownKeys$4(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
780
+ function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
781
781
  /**
782
782
  * Leaf content strings.
783
783
  */
@@ -886,11 +886,11 @@ var ZeroWidthString = props => {
886
886
  if (isMarkPlaceholder) {
887
887
  attributes['data-slate-mark-placeholder'] = true;
888
888
  }
889
- return /*#__PURE__*/React.createElement("span", _objectSpread$3({}, attributes), !(IS_ANDROID || IS_IOS) || !isLineBreak ? '\uFEFF' : null, isLineBreak ? /*#__PURE__*/React.createElement("br", null) : null);
889
+ return /*#__PURE__*/React.createElement("span", _objectSpread$4({}, attributes), !(IS_ANDROID || IS_IOS) || !isLineBreak ? '\uFEFF' : null, isLineBreak ? /*#__PURE__*/React.createElement("br", null) : null);
890
890
  };
891
891
 
892
- function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
893
- function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
892
+ function ownKeys$3(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
893
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$3(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
894
894
  // Delay the placeholder on Android to prevent the keyboard from closing.
895
895
  // (https://github.com/ianstormtaylor/slate/pull/5368)
896
896
  var PLACEHOLDER_DELAY = IS_ANDROID ? 300 : 0;
@@ -918,7 +918,8 @@ var Leaf = props => {
918
918
  text,
919
919
  parent,
920
920
  renderPlaceholder,
921
- renderLeaf = props => /*#__PURE__*/React.createElement(DefaultLeaf, _objectSpread$2({}, props))
921
+ renderLeaf = props => /*#__PURE__*/React.createElement(DefaultLeaf, _objectSpread$3({}, props)),
922
+ leafPosition
922
923
  } = props;
923
924
  var editor = useSlateStatic();
924
925
  var placeholderResizeObserver = useRef(null);
@@ -1001,7 +1002,8 @@ var Leaf = props => {
1001
1002
  attributes,
1002
1003
  children,
1003
1004
  leaf,
1004
- text
1005
+ text,
1006
+ leafPosition
1005
1007
  });
1006
1008
  };
1007
1009
  var MemoizedLeaf = /*#__PURE__*/React.memo(Leaf, (prev, next) => {
@@ -1012,9 +1014,11 @@ var DefaultLeaf = props => {
1012
1014
  attributes,
1013
1015
  children
1014
1016
  } = props;
1015
- return /*#__PURE__*/React.createElement("span", _objectSpread$2({}, attributes), children);
1017
+ return /*#__PURE__*/React.createElement("span", _objectSpread$3({}, attributes), children);
1016
1018
  };
1017
1019
 
1020
+ function ownKeys$2(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1021
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1018
1022
  /**
1019
1023
  * Text.
1020
1024
  */
@@ -1025,20 +1029,25 @@ var Text = props => {
1025
1029
  parent,
1026
1030
  renderPlaceholder,
1027
1031
  renderLeaf,
1032
+ renderText = props => /*#__PURE__*/React.createElement(DefaultText, _objectSpread$2({}, props)),
1028
1033
  text
1029
1034
  } = props;
1030
1035
  var editor = useSlateStatic();
1031
1036
  var ref = useRef(null);
1032
- var leaves = Text$1.decorations(text, decorations);
1037
+ var decoratedLeaves = Text$1.decorations(text, decorations);
1033
1038
  var key = ReactEditor.findKey(editor, text);
1034
1039
  var children = [];
1035
- for (var i = 0; i < leaves.length; i++) {
1036
- var leaf = leaves[i];
1040
+ for (var i = 0; i < decoratedLeaves.length; i++) {
1041
+ var {
1042
+ leaf,
1043
+ position
1044
+ } = decoratedLeaves[i];
1037
1045
  children.push( /*#__PURE__*/React.createElement(MemoizedLeaf, {
1038
- isLast: isLast && i === leaves.length - 1,
1046
+ isLast: isLast && i === decoratedLeaves.length - 1,
1039
1047
  key: "".concat(key.id, "-").concat(i),
1040
1048
  renderPlaceholder: renderPlaceholder,
1041
1049
  leaf: leaf,
1050
+ leafPosition: position,
1042
1051
  text: text,
1043
1052
  parent: parent,
1044
1053
  renderLeaf: renderLeaf
@@ -1060,14 +1069,26 @@ var Text = props => {
1060
1069
  }
1061
1070
  ref.current = span;
1062
1071
  }, [ref, editor, key, text]);
1063
- return /*#__PURE__*/React.createElement("span", {
1064
- "data-slate-node": "text",
1072
+ var attributes = {
1073
+ 'data-slate-node': 'text',
1065
1074
  ref: callbackRef
1066
- }, children);
1075
+ };
1076
+ return renderText({
1077
+ text,
1078
+ children,
1079
+ attributes
1080
+ });
1067
1081
  };
1068
1082
  var MemoizedText = /*#__PURE__*/React.memo(Text, (prev, next) => {
1069
- return next.parent === prev.parent && next.isLast === prev.isLast && next.renderLeaf === prev.renderLeaf && next.renderPlaceholder === prev.renderPlaceholder && next.text === prev.text && isTextDecorationsEqual(next.decorations, prev.decorations);
1083
+ return next.parent === prev.parent && next.isLast === prev.isLast && next.renderText === prev.renderText && next.renderLeaf === prev.renderLeaf && next.renderPlaceholder === prev.renderPlaceholder && next.text === prev.text && isTextDecorationsEqual(next.decorations, prev.decorations);
1070
1084
  });
1085
+ var DefaultText = props => {
1086
+ var {
1087
+ attributes,
1088
+ children
1089
+ } = props;
1090
+ return /*#__PURE__*/React.createElement("span", _objectSpread$2({}, attributes), children);
1091
+ };
1071
1092
 
1072
1093
  function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1073
1094
  function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -1081,6 +1102,7 @@ var Element = props => {
1081
1102
  renderElement = p => /*#__PURE__*/React.createElement(DefaultElement, _objectSpread$1({}, p)),
1082
1103
  renderPlaceholder,
1083
1104
  renderLeaf,
1105
+ renderText,
1084
1106
  selection
1085
1107
  } = props;
1086
1108
  var editor = useSlateStatic();
@@ -1105,6 +1127,7 @@ var Element = props => {
1105
1127
  renderElement,
1106
1128
  renderPlaceholder,
1107
1129
  renderLeaf,
1130
+ renderText,
1108
1131
  selection
1109
1132
  });
1110
1133
  // Attributes that the developer must mix into the element in their
@@ -1158,7 +1181,7 @@ var Element = props => {
1158
1181
  });
1159
1182
  };
1160
1183
  var MemoizedElement = /*#__PURE__*/React.memo(Element, (prev, next) => {
1161
- return prev.element === next.element && prev.renderElement === next.renderElement && prev.renderLeaf === next.renderLeaf && prev.renderPlaceholder === next.renderPlaceholder && isElementDecorationsEqual(prev.decorations, next.decorations) && (prev.selection === next.selection || !!prev.selection && !!next.selection && Range.equals(prev.selection, next.selection));
1184
+ return prev.element === next.element && prev.renderElement === next.renderElement && prev.renderText === next.renderText && prev.renderLeaf === next.renderLeaf && prev.renderPlaceholder === next.renderPlaceholder && isElementDecorationsEqual(prev.decorations, next.decorations) && (prev.selection === next.selection || !!prev.selection && !!next.selection && Range.equals(prev.selection, next.selection));
1162
1185
  });
1163
1186
  /**
1164
1187
  * The default element renderer.
@@ -1431,7 +1454,7 @@ var useComposing = () => {
1431
1454
  return useContext(ComposingContext);
1432
1455
  };
1433
1456
 
1434
- var _excluded$1 = ["autoFocus", "decorate", "onDOMBeforeInput", "placeholder", "readOnly", "renderElement", "renderLeaf", "renderPlaceholder", "scrollSelectionIntoView", "style", "as", "disableDefaultStyles"],
1457
+ var _excluded$1 = ["autoFocus", "decorate", "onDOMBeforeInput", "placeholder", "readOnly", "renderElement", "renderLeaf", "renderText", "renderPlaceholder", "scrollSelectionIntoView", "style", "as", "disableDefaultStyles"],
1435
1458
  _excluded2 = ["text"];
1436
1459
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
1437
1460
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -1449,6 +1472,7 @@ var Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
1449
1472
  readOnly = false,
1450
1473
  renderElement,
1451
1474
  renderLeaf,
1475
+ renderText,
1452
1476
  renderPlaceholder = defaultRenderPlaceholder,
1453
1477
  scrollSelectionIntoView = defaultScrollSelectionIntoView,
1454
1478
  style: userStyle = {},
@@ -2692,6 +2716,7 @@ var Editable = /*#__PURE__*/forwardRef((props, forwardedRef) => {
2692
2716
  renderElement: renderElement,
2693
2717
  renderPlaceholder: renderPlaceholder,
2694
2718
  renderLeaf: renderLeaf,
2719
+ renderText: renderText,
2695
2720
  selection: editor.selection
2696
2721
  }))))));
2697
2722
  });
@@ -2823,7 +2848,12 @@ function useSlateSelector(selector) {
2823
2848
  var selectedState;
2824
2849
  try {
2825
2850
  if (selector !== latestSelector.current || latestSubscriptionCallbackError.current) {
2826
- selectedState = selector(getSlate());
2851
+ var selectorResult = selector(getSlate());
2852
+ if (equalityFn(latestSelectedState.current, selectorResult)) {
2853
+ selectedState = latestSelectedState.current;
2854
+ } else {
2855
+ selectedState = selectorResult;
2856
+ }
2827
2857
  } else {
2828
2858
  selectedState = latestSelectedState.current;
2829
2859
  }
@@ -3045,5 +3075,5 @@ var withReact = function withReact(editor) {
3045
3075
  return e;
3046
3076
  };
3047
3077
 
3048
- export { DefaultElement, DefaultLeaf, DefaultPlaceholder, Editable, ReactEditor, Slate, useComposing, useEditor, useFocused, useReadOnly, useSelected, useSlate, useSlateSelection, useSlateSelector, useSlateStatic, useSlateWithV, withReact };
3078
+ export { DefaultElement, DefaultLeaf, DefaultPlaceholder, DefaultText, Editable, ReactEditor, Slate, useComposing, useEditor, useFocused, useReadOnly, useSelected, useSlate, useSlateSelection, useSlateSelector, useSlateStatic, useSlateWithV, withReact };
3049
3079
  //# sourceMappingURL=index.es.js.map