slate-react 0.92.0 → 0.92.1-20233318715
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 +74 -47
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +85 -48
- 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 +85 -48
- 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;AA6IpE,QAAA,MAAM,YAAY;YAhHR,OAAO;UACT,IAAI;YACF,OAAO;+BACY,sBAAsB,KAAK,WAAW;0BAC5C,eAAe,KAAK,WAAW;UAC9C,IAAI;kBAqHV,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: {
|
|
@@ -1414,10 +1430,12 @@ var Leaf = props => {
|
|
|
1414
1430
|
display: 'block',
|
|
1415
1431
|
opacity: '0.333',
|
|
1416
1432
|
userSelect: 'none',
|
|
1417
|
-
textDecoration: 'none'
|
|
1433
|
+
textDecoration: 'none',
|
|
1434
|
+
// Fixes https://github.com/udecode/plate/issues/2315
|
|
1435
|
+
WebkitUserModify: IS_SAFARI ? 'inherit' : undefined
|
|
1418
1436
|
},
|
|
1419
1437
|
contentEditable: false,
|
|
1420
|
-
ref:
|
|
1438
|
+
ref: callbackPlaceholderRef
|
|
1421
1439
|
}
|
|
1422
1440
|
};
|
|
1423
1441
|
children = /*#__PURE__*/React.createElement(React.Fragment, null, renderPlaceholder(placeholderProps), children);
|
|
@@ -3251,8 +3269,6 @@ var Children = props => /*#__PURE__*/React.createElement(React.Fragment, null, u
|
|
|
3251
3269
|
|
|
3252
3270
|
|
|
3253
3271
|
var Editable = props => {
|
|
3254
|
-
var _EDITOR_TO_PLACEHOLDE, _EDITOR_TO_PLACEHOLDE2;
|
|
3255
|
-
|
|
3256
3272
|
var defaultRenderPlaceholder = useCallback(props => /*#__PURE__*/React.createElement(DefaultPlaceholder, Object.assign({}, props)), []);
|
|
3257
3273
|
|
|
3258
3274
|
var {
|
|
@@ -3276,6 +3292,7 @@ var Editable = props => {
|
|
|
3276
3292
|
var [isComposing, setIsComposing] = useState(false);
|
|
3277
3293
|
var ref = useRef(null);
|
|
3278
3294
|
var deferredOperations = useRef([]);
|
|
3295
|
+
var [placeholderHeight, setPlaceholderHeight] = useState();
|
|
3279
3296
|
var {
|
|
3280
3297
|
onUserInput,
|
|
3281
3298
|
receivedUserInput
|
|
@@ -3822,12 +3839,23 @@ var Editable = props => {
|
|
|
3822
3839
|
};
|
|
3823
3840
|
}, [scheduleOnDOMSelectionChange]);
|
|
3824
3841
|
var decorations = decorate([editor, []]);
|
|
3842
|
+
var showPlaceholder = placeholder && editor.children.length === 1 && Array.from(Node.texts(editor)).length === 1 && Node.string(editor) === '' && !isComposing;
|
|
3843
|
+
var placeHolderResizeHandler = useCallback(placeholderEl => {
|
|
3844
|
+
if (placeholderEl && showPlaceholder) {
|
|
3845
|
+
var _placeholderEl$getBou;
|
|
3846
|
+
|
|
3847
|
+
setPlaceholderHeight((_placeholderEl$getBou = placeholderEl.getBoundingClientRect()) === null || _placeholderEl$getBou === void 0 ? void 0 : _placeholderEl$getBou.height);
|
|
3848
|
+
} else {
|
|
3849
|
+
setPlaceholderHeight(undefined);
|
|
3850
|
+
}
|
|
3851
|
+
}, [showPlaceholder]);
|
|
3825
3852
|
|
|
3826
|
-
if (
|
|
3853
|
+
if (showPlaceholder) {
|
|
3827
3854
|
var start = Editor.start(editor, []);
|
|
3828
3855
|
decorations.push({
|
|
3829
3856
|
[PLACEHOLDER_SYMBOL]: true,
|
|
3830
3857
|
placeholder,
|
|
3858
|
+
onPlaceholderResize: placeHolderResizeHandler,
|
|
3831
3859
|
anchor: start,
|
|
3832
3860
|
focus: start
|
|
3833
3861
|
});
|
|
@@ -3890,7 +3918,6 @@ var Editable = props => {
|
|
|
3890
3918
|
EDITOR_TO_PENDING_INSERTION_MARKS.delete(editor);
|
|
3891
3919
|
});
|
|
3892
3920
|
});
|
|
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
3921
|
return /*#__PURE__*/React.createElement(ReadOnlyContext.Provider, {
|
|
3895
3922
|
value: readOnly
|
|
3896
3923
|
}, /*#__PURE__*/React.createElement(DecorateContext.Provider, {
|