slate-react 0.92.0 → 0.92.1-2023220163057
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.
- package/dist/components/editable.d.ts +1 -1
- package/dist/components/editable.d.ts.map +1 -1
- package/dist/components/leaf.d.ts.map +1 -1
- package/dist/custom-types.d.ts +2 -0
- package/dist/custom-types.d.ts.map +1 -1
- package/dist/index.es.js +71 -46
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +82 -47
- package/dist/index.js.map +1 -1
- package/dist/plugin/react-editor.d.ts +1 -0
- package/dist/plugin/react-editor.d.ts.map +1 -1
- package/dist/slate-react.js +82 -47
- package/dist/slate-react.min.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editable.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/components/editable.tsx"],"names":[],"mappings":"AAGA,OAAO,KAON,MAAM,OAAO,CAAA;AAEd,OAAO,EAEL,OAAO,EAEP,SAAS,EAET,KAAK,EACL,IAAI,EAEL,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAOpD,OAAO,
|
|
1
|
+
{"version":3,"file":"editable.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/components/editable.tsx"],"names":[],"mappings":"AAGA,OAAO,KAON,MAAM,OAAO,CAAA;AAEd,OAAO,EAEL,OAAO,EAEP,SAAS,EAET,KAAK,EACL,IAAI,EAEL,MAAM,OAAO,CAAA;AACd,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAOpD,OAAO,EAEL,QAAQ,EAMT,MAAM,cAAc,CAAA;AAyCrB;;GAEG;AAEH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,GAAG,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE;QACV,iBAAiB,EAAE,SAAS,CAAA;QAC5B,mBAAmB,CAAC,EAAE,IAAI,CAAA;QAC1B,iBAAiB,CAAC,EAAE,IAAI,CAAA;QACxB,GAAG,CAAC,EAAE,KAAK,CAAA;QACX,GAAG,EAAE,GAAG,CAAA;KACT,CAAA;CACF;AAED;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,GAAG,CAAA;IACb,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;IACV,UAAU,EAAE;QACV,iBAAiB,EAAE,IAAI,CAAA;KACxB,CAAA;CACF;AAED;;GAEG;AAEH,oBAAY,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,KAAK,EAAE,CAAA;IACxC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAA;IAC3B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,GAAG,CAAC,OAAO,CAAA;IAC1D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,GAAG,CAAC,OAAO,CAAA;IACpD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,GAAG,CAAC,OAAO,CAAA;IAClE,uBAAuB,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAA;IAC3E,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B,GAAG,KAAK,CAAC,sBAAsB,CAAC,cAAc,CAAC,CAAA;AAEhD;;GAEG;AAEH,eAAO,MAAM,QAAQ,UAAW,aAAa,gBAgiD5C,CAAA;AAED;;GAEG;AACH,oBAAY,sBAAsB,GAAG;IACnC,QAAQ,EAAE,GAAG,CAAA;IACb,UAAU,EAAE;QACV,wBAAwB,EAAE,OAAO,CAAA;QACjC,GAAG,CAAC,EAAE,KAAK,CAAA;QACX,eAAe,EAAE,OAAO,CAAA;QACxB,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC3B,KAAK,EAAE,KAAK,CAAC,aAAa,CAAA;KAC3B,CAAA;CACF,CAAA;AAED;;GAEG;AAEH,eAAO,MAAM,kBAAkB,8BAG5B,sBAAsB,gBAOxB,CAAA;AAED;;GAEG;AAEH,eAAO,MAAM,eAAe,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,KAAK,EAAa,CAAA;AA4BtE;;GAEG;AAEH,eAAO,MAAM,cAAc,gHAIO,IAAI,GAAG,OAAO,yBAc/C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,yFAUjC,CAAA;AAED;;GAEG;AAEH,eAAO,MAAM,iBAAiB,uDAEJ,IAAI,GAAG,OAAO,yBAevC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"leaf.d.ts","sourceRoot":"","sources":["../packages/slate-react/src/components/leaf.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
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,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AAQrC,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AA0IpE,QAAA,MAAM,YAAY;YA9GR,OAAO;UACT,IAAI;YACF,OAAO;+BACY,sBAAsB,KAAK,WAAW;0BAC5C,eAAe,KAAK,WAAW;UAC9C,IAAI;kBAmHV,CAAA;AAEF,eAAO,MAAM,WAAW,UAAW,eAAe,gBAGjD,CAAA;AAED,eAAe,YAAY,CAAA"}
|
package/dist/custom-types.d.ts
CHANGED
|
@@ -5,9 +5,11 @@ declare module 'slate' {
|
|
|
5
5
|
Editor: ReactEditor;
|
|
6
6
|
Text: BaseText & {
|
|
7
7
|
placeholder?: string;
|
|
8
|
+
onPlaceholderResize?: (node: HTMLElement | null) => void;
|
|
8
9
|
};
|
|
9
10
|
Range: BaseRange & {
|
|
10
11
|
placeholder?: string;
|
|
12
|
+
onPlaceholderResize?: (node: HTMLElement | null) => void;
|
|
11
13
|
};
|
|
12
14
|
}
|
|
13
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-types.d.ts","sourceRoot":"","sources":["packages/slate-react/src/custom-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,QAAQ,OAAO,CAAC;IACrB,UAAU,WAAW;QACnB,MAAM,EAAE,WAAW,CAAA;QACnB,IAAI,EAAE,QAAQ,GAAG;YACf,WAAW,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"custom-types.d.ts","sourceRoot":"","sources":["packages/slate-react/src/custom-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,QAAQ,OAAO,CAAC;IACrB,UAAU,WAAW;QACnB,MAAM,EAAE,WAAW,CAAA;QACnB,IAAI,EAAE,QAAQ,GAAG;YACf,WAAW,CAAC,EAAE,MAAM,CAAA;YACpB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;SACzD,CAAA;QACD,KAAK,EAAE,SAAS,GAAG;YACjB,WAAW,CAAC,EAAE,MAAM,CAAA;YACpB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAA;SACzD,CAAA;KACF;CACF"}
|
package/dist/index.es.js
CHANGED
|
@@ -1333,10 +1333,27 @@ var useSlateStatic = () => {
|
|
|
1333
1333
|
return editor;
|
|
1334
1334
|
};
|
|
1335
1335
|
|
|
1336
|
+
function disconnectPlaceholderResizeObserver(placeholderResizeObserver, releaseObserver) {
|
|
1337
|
+
if (placeholderResizeObserver.current) {
|
|
1338
|
+
placeholderResizeObserver.current.disconnect();
|
|
1339
|
+
|
|
1340
|
+
if (releaseObserver) {
|
|
1341
|
+
placeholderResizeObserver.current = null;
|
|
1342
|
+
}
|
|
1343
|
+
}
|
|
1344
|
+
}
|
|
1345
|
+
|
|
1346
|
+
function clearTimeoutRef(timeoutRef) {
|
|
1347
|
+
if (timeoutRef.current) {
|
|
1348
|
+
clearTimeout(timeoutRef.current);
|
|
1349
|
+
timeoutRef.current = null;
|
|
1350
|
+
}
|
|
1351
|
+
}
|
|
1336
1352
|
/**
|
|
1337
1353
|
* Individual leaves in a text node with unique formatting.
|
|
1338
1354
|
*/
|
|
1339
1355
|
|
|
1356
|
+
|
|
1340
1357
|
var Leaf = props => {
|
|
1341
1358
|
var {
|
|
1342
1359
|
leaf,
|
|
@@ -1346,53 +1363,35 @@ var Leaf = props => {
|
|
|
1346
1363
|
renderPlaceholder,
|
|
1347
1364
|
renderLeaf = props => /*#__PURE__*/React.createElement(DefaultLeaf, Object.assign({}, props))
|
|
1348
1365
|
} = props;
|
|
1349
|
-
var lastPlaceholderRef = useRef(null);
|
|
1350
|
-
var placeholderRef = useRef(null);
|
|
1351
1366
|
var editor = useSlateStatic();
|
|
1352
1367
|
var placeholderResizeObserver = useRef(null);
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
var placeholderEl = placeholderRef === null || placeholderRef === void 0 ? void 0 : placeholderRef.current;
|
|
1368
|
+
var placeholderRef = useRef(null);
|
|
1369
|
+
var [showPlaceholder, setShowPlaceholder] = useState(false);
|
|
1370
|
+
var showPlaceholderTimeoutRef = useRef(null);
|
|
1371
|
+
var callbackPlaceholderRef = useCallback(placeholderEl => {
|
|
1372
|
+
disconnectPlaceholderResizeObserver(placeholderResizeObserver, placeholderEl == null);
|
|
1373
|
+
|
|
1374
|
+
if (placeholderEl == null) {
|
|
1375
|
+
var _leaf$onPlaceholderRe;
|
|
1362
1376
|
|
|
1363
|
-
if (placeholderEl) {
|
|
1364
|
-
EDITOR_TO_PLACEHOLDER_ELEMENT.set(editor, placeholderEl);
|
|
1365
|
-
} else {
|
|
1366
1377
|
EDITOR_TO_PLACEHOLDER_ELEMENT.delete(editor);
|
|
1367
|
-
|
|
1378
|
+
(_leaf$onPlaceholderRe = leaf.onPlaceholderResize) === null || _leaf$onPlaceholderRe === void 0 ? void 0 : _leaf$onPlaceholderRe.call(leaf, null);
|
|
1379
|
+
} else {
|
|
1380
|
+
EDITOR_TO_PLACEHOLDER_ELEMENT.set(editor, placeholderEl);
|
|
1368
1381
|
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
// Create a new observer and observe the placeholder element.
|
|
1375
|
-
var ResizeObserver$1 = window.ResizeObserver || ResizeObserver;
|
|
1376
|
-
placeholderResizeObserver.current = new ResizeObserver$1(() => {
|
|
1377
|
-
// Force a re-render of the editor so its min-height can be updated
|
|
1378
|
-
// to the new height of the placeholder.
|
|
1379
|
-
var forceRender = EDITOR_TO_FORCE_RENDER.get(editor);
|
|
1380
|
-
forceRender === null || forceRender === void 0 ? void 0 : forceRender();
|
|
1381
|
-
});
|
|
1382
|
-
placeholderResizeObserver.current.observe(placeholderEl);
|
|
1383
|
-
}
|
|
1382
|
+
if (!placeholderResizeObserver.current) {
|
|
1383
|
+
// Create a new observer and observe the placeholder element.
|
|
1384
|
+
var ResizeObserver$1 = window.ResizeObserver || ResizeObserver;
|
|
1385
|
+
placeholderResizeObserver.current = new ResizeObserver$1(() => {
|
|
1386
|
+
var _leaf$onPlaceholderRe2;
|
|
1384
1387
|
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
var forceRender = EDITOR_TO_FORCE_RENDER.get(editor);
|
|
1389
|
-
forceRender === null || forceRender === void 0 ? void 0 : forceRender();
|
|
1390
|
-
}
|
|
1388
|
+
(_leaf$onPlaceholderRe2 = leaf.onPlaceholderResize) === null || _leaf$onPlaceholderRe2 === void 0 ? void 0 : _leaf$onPlaceholderRe2.call(leaf, placeholderEl);
|
|
1389
|
+
});
|
|
1390
|
+
}
|
|
1391
1391
|
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
};
|
|
1392
|
+
placeholderResizeObserver.current.observe(placeholderEl);
|
|
1393
|
+
placeholderRef.current = placeholderEl;
|
|
1394
|
+
}
|
|
1396
1395
|
}, [placeholderRef, leaf, editor]);
|
|
1397
1396
|
var children = /*#__PURE__*/React.createElement(String, {
|
|
1398
1397
|
isLast: isLast,
|
|
@@ -1400,8 +1399,25 @@ var Leaf = props => {
|
|
|
1400
1399
|
parent: parent,
|
|
1401
1400
|
text: text
|
|
1402
1401
|
});
|
|
1402
|
+
var leafIsPlaceholder = leaf[PLACEHOLDER_SYMBOL];
|
|
1403
|
+
useEffect(() => {
|
|
1404
|
+
if (leafIsPlaceholder) {
|
|
1405
|
+
if (!showPlaceholderTimeoutRef.current) {
|
|
1406
|
+
// Delay the placeholder so it will not render in a selection
|
|
1407
|
+
showPlaceholderTimeoutRef.current = setTimeout(() => {
|
|
1408
|
+
setShowPlaceholder(true);
|
|
1409
|
+
showPlaceholderTimeoutRef.current = null;
|
|
1410
|
+
}, 300);
|
|
1411
|
+
}
|
|
1412
|
+
} else {
|
|
1413
|
+
clearTimeoutRef(showPlaceholderTimeoutRef);
|
|
1414
|
+
setShowPlaceholder(false);
|
|
1415
|
+
}
|
|
1403
1416
|
|
|
1404
|
-
|
|
1417
|
+
return () => clearTimeoutRef(showPlaceholderTimeoutRef);
|
|
1418
|
+
}, [leafIsPlaceholder, setShowPlaceholder]);
|
|
1419
|
+
|
|
1420
|
+
if (leafIsPlaceholder && showPlaceholder) {
|
|
1405
1421
|
var placeholderProps = {
|
|
1406
1422
|
children: leaf.placeholder,
|
|
1407
1423
|
attributes: {
|
|
@@ -1417,7 +1433,7 @@ var Leaf = props => {
|
|
|
1417
1433
|
textDecoration: 'none'
|
|
1418
1434
|
},
|
|
1419
1435
|
contentEditable: false,
|
|
1420
|
-
ref:
|
|
1436
|
+
ref: callbackPlaceholderRef
|
|
1421
1437
|
}
|
|
1422
1438
|
};
|
|
1423
1439
|
children = /*#__PURE__*/React.createElement(React.Fragment, null, renderPlaceholder(placeholderProps), children);
|
|
@@ -3251,8 +3267,6 @@ var Children = props => /*#__PURE__*/React.createElement(React.Fragment, null, u
|
|
|
3251
3267
|
|
|
3252
3268
|
|
|
3253
3269
|
var Editable = props => {
|
|
3254
|
-
var _EDITOR_TO_PLACEHOLDE, _EDITOR_TO_PLACEHOLDE2;
|
|
3255
|
-
|
|
3256
3270
|
var defaultRenderPlaceholder = useCallback(props => /*#__PURE__*/React.createElement(DefaultPlaceholder, Object.assign({}, props)), []);
|
|
3257
3271
|
|
|
3258
3272
|
var {
|
|
@@ -3276,6 +3290,7 @@ var Editable = props => {
|
|
|
3276
3290
|
var [isComposing, setIsComposing] = useState(false);
|
|
3277
3291
|
var ref = useRef(null);
|
|
3278
3292
|
var deferredOperations = useRef([]);
|
|
3293
|
+
var [placeholderHeight, setPlaceholderHeight] = useState();
|
|
3279
3294
|
var {
|
|
3280
3295
|
onUserInput,
|
|
3281
3296
|
receivedUserInput
|
|
@@ -3822,12 +3837,23 @@ var Editable = props => {
|
|
|
3822
3837
|
};
|
|
3823
3838
|
}, [scheduleOnDOMSelectionChange]);
|
|
3824
3839
|
var decorations = decorate([editor, []]);
|
|
3840
|
+
var showPlaceholder = placeholder && editor.children.length === 1 && Array.from(Node.texts(editor)).length === 1 && Node.string(editor) === '' && !isComposing;
|
|
3841
|
+
var placeHolderResizeHandler = useCallback(placeholderEl => {
|
|
3842
|
+
if (placeholderEl && showPlaceholder) {
|
|
3843
|
+
var _placeholderEl$getBou;
|
|
3844
|
+
|
|
3845
|
+
setPlaceholderHeight((_placeholderEl$getBou = placeholderEl.getBoundingClientRect()) === null || _placeholderEl$getBou === void 0 ? void 0 : _placeholderEl$getBou.height);
|
|
3846
|
+
} else {
|
|
3847
|
+
setPlaceholderHeight(undefined);
|
|
3848
|
+
}
|
|
3849
|
+
}, [showPlaceholder]);
|
|
3825
3850
|
|
|
3826
|
-
if (
|
|
3851
|
+
if (showPlaceholder) {
|
|
3827
3852
|
var start = Editor.start(editor, []);
|
|
3828
3853
|
decorations.push({
|
|
3829
3854
|
[PLACEHOLDER_SYMBOL]: true,
|
|
3830
3855
|
placeholder,
|
|
3856
|
+
onPlaceholderResize: placeHolderResizeHandler,
|
|
3831
3857
|
anchor: start,
|
|
3832
3858
|
focus: start
|
|
3833
3859
|
});
|
|
@@ -3890,7 +3916,6 @@ var Editable = props => {
|
|
|
3890
3916
|
EDITOR_TO_PENDING_INSERTION_MARKS.delete(editor);
|
|
3891
3917
|
});
|
|
3892
3918
|
});
|
|
3893
|
-
var placeholderHeight = (_EDITOR_TO_PLACEHOLDE = EDITOR_TO_PLACEHOLDER_ELEMENT.get(editor)) === null || _EDITOR_TO_PLACEHOLDE === void 0 ? void 0 : (_EDITOR_TO_PLACEHOLDE2 = _EDITOR_TO_PLACEHOLDE.getBoundingClientRect()) === null || _EDITOR_TO_PLACEHOLDE2 === void 0 ? void 0 : _EDITOR_TO_PLACEHOLDE2.height;
|
|
3894
3919
|
return /*#__PURE__*/React.createElement(ReadOnlyContext.Provider, {
|
|
3895
3920
|
value: readOnly
|
|
3896
3921
|
}, /*#__PURE__*/React.createElement(DecorateContext.Provider, {
|