@estiva-app/ui 0.65.1 → 0.65.3
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/BlockNodes.d.ts.map +1 -1
- package/dist/RichText.d.ts +2 -0
- package/dist/RichText.d.ts.map +1 -1
- package/dist/editor.js +15 -2
- package/dist/editor.js.map +2 -2
- package/dist/index.js +21 -2
- package/dist/index.js.map +2 -2
- package/package.json +1 -1
- package/registry.json +1 -1
- package/src/BlockNodes.test.tsx +96 -0
- package/src/BlockNodes.tsx +29 -3
- package/src/RichText.stories.tsx +27 -0
- package/src/RichText.test.tsx +35 -0
- package/src/RichText.tsx +40 -8
package/dist/BlockNodes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockNodes.d.ts","sourceRoot":"","sources":["../src/BlockNodes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"BlockNodes.d.ts","sourceRoot":"","sources":["../src/BlockNodes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AA+Q9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,OAAO,qBA+ClB,CAAA;AAEF,yEAAyE;AACzE,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,IAAI,EAAE,aAAa,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAA;CAC/C;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,iCAgCxB,CAAA;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,gBAqBvB,CAAA;AAgBF,uEAAuE;AACvE,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,8FAA8F;IAC9F,IAAI,EAAE,aAAa,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAA;CAChD;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,kCAqCzB,CAAA"}
|
package/dist/RichText.d.ts
CHANGED
|
@@ -43,6 +43,8 @@ export interface RichTextBlock {
|
|
|
43
43
|
language?: string;
|
|
44
44
|
/** A numbered list's first number. */
|
|
45
45
|
start?: number;
|
|
46
|
+
/** How far a list item is indented under the items above it. A list's items stay flat; this draws them nested. */
|
|
47
|
+
indent?: number;
|
|
46
48
|
attrs?: Record<string, unknown>;
|
|
47
49
|
inline?: readonly RichTextRun[];
|
|
48
50
|
children?: readonly RichTextBlock[];
|
package/dist/RichText.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RichText.d.ts","sourceRoot":"","sources":["../src/RichText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,OAAO,CAAA;AAKlD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,yEAAyE;AACzE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,0DAA0D;AAC1D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sEAAsE;IACtE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,MAAM,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;IAC/B,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAA;CACpC;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAA;AAE9C,MAAM,WAAW,aAAa;IAC5B,gCAAgC;IAChC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAA;IAChC;;;;OAIG;IACH,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAA;IACxC,mEAAmE;IACnE,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,KAAK,SAAS,CAAA;IACpE;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,SAAS,GAAG,SAAS,CAAA;CAC9D;AAqCD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,YAAwB,EAAE,SAAS,CAAC,EAAE,MAAM,UAGnF;
|
|
1
|
+
{"version":3,"file":"RichText.d.ts","sourceRoot":"","sources":["../src/RichText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,OAAO,CAAA;AAKlD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,yEAAyE;AACzE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACxB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,0DAA0D;AAC1D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sEAAsE;IACtE,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kHAAkH;IAClH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,MAAM,CAAC,EAAE,SAAS,WAAW,EAAE,CAAA;IAC/B,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAA;CACpC;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,CAAA;AAE9C,MAAM,WAAW,aAAa;IAC5B,gCAAgC;IAChC,MAAM,EAAE,SAAS,aAAa,EAAE,CAAA;IAChC;;;;OAIG;IACH,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAA;IACxC,mEAAmE;IACnE,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,KAAK,SAAS,CAAA;IACpE;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,SAAS,GAAG,SAAS,CAAA;CAC9D;AAqCD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,YAAwB,EAAE,SAAS,CAAC,EAAE,MAAM,UAGnF;AAwMD,wBAAgB,QAAQ,CAAC,EACvB,MAAM,EACN,IAAgB,EAChB,UAA2B,EAC3B,eAA+C,EAC/C,WAAW,GACZ,EAAE,aAAa,sCAQf"}
|
package/dist/editor.js
CHANGED
|
@@ -923,9 +923,10 @@ function holdsText(node) {
|
|
|
923
923
|
}
|
|
924
924
|
function claimsIn(doc) {
|
|
925
925
|
const claims = /* @__PURE__ */ new Map();
|
|
926
|
-
doc.descendants((node, pos) => {
|
|
926
|
+
doc.descendants((node, pos, parent) => {
|
|
927
927
|
const fixed = node.type.name === "unknownBlock";
|
|
928
928
|
if (!fixed && !BLOCK_TYPE_SET.has(node.type.name)) return;
|
|
929
|
+
if (parent?.type.name === "listItem" && LISTS.has(node.type.name)) return;
|
|
929
930
|
const id = node.attrs.blockId;
|
|
930
931
|
if (typeof id !== "string" || id === "") return;
|
|
931
932
|
const copies = claims.get(id);
|
|
@@ -972,6 +973,14 @@ function repeatedBlockIds(doc, before, mapping) {
|
|
|
972
973
|
}
|
|
973
974
|
var BLOCK_CONTAINERS = /* @__PURE__ */ new Set(["bulletList", "orderedList", "table", "tableRow", "tableHeader", "tableCell"]);
|
|
974
975
|
var FLATTENED = /* @__PURE__ */ new Set(["listItem", "blockquote"]);
|
|
976
|
+
var LISTS = /* @__PURE__ */ new Set(["bulletList", "orderedList"]);
|
|
977
|
+
function innerLists(item, pos) {
|
|
978
|
+
const out = [];
|
|
979
|
+
item.forEach((child, offset) => {
|
|
980
|
+
if (LISTS.has(child.type.name)) out.push({ pos: pos + 1 + offset, node: child });
|
|
981
|
+
});
|
|
982
|
+
return out;
|
|
983
|
+
}
|
|
975
984
|
var idOf = (node) => {
|
|
976
985
|
const id = node.attrs.blockId;
|
|
977
986
|
return typeof id === "string" && id !== "" ? id : void 0;
|
|
@@ -982,6 +991,9 @@ function addressedBlocks(doc) {
|
|
|
982
991
|
if (!BLOCK_TYPE_SET.has(node.type.name)) return;
|
|
983
992
|
out.push({ pos, node });
|
|
984
993
|
if (BLOCK_CONTAINERS.has(node.type.name)) node.forEach((child, offset) => visit(child, pos + 1 + offset));
|
|
994
|
+
if (node.type.name === "listItem") {
|
|
995
|
+
for (const list of innerLists(node, pos)) list.node.forEach((child, offset) => visit(child, list.pos + 1 + offset));
|
|
996
|
+
}
|
|
985
997
|
};
|
|
986
998
|
doc.forEach((node, offset) => visit(node, offset));
|
|
987
999
|
return out;
|
|
@@ -994,7 +1006,8 @@ function hiddenIds(doc) {
|
|
|
994
1006
|
doc.descendants((node, pos) => {
|
|
995
1007
|
if (!FLATTENED.has(node.type.name)) return;
|
|
996
1008
|
node.forEach((child, offset) => {
|
|
997
|
-
|
|
1009
|
+
const inner = child.isTextblock || node.type.name === "listItem" && LISTS.has(child.type.name);
|
|
1010
|
+
if (inner && idOf(child) !== void 0) out.push(pos + 1 + offset);
|
|
998
1011
|
});
|
|
999
1012
|
});
|
|
1000
1013
|
return out;
|