@pixerate/editor 0.237.0 → 0.238.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 (88) hide show
  1. package/dist/agent/index.cjs +40 -39
  2. package/dist/agent/index.js +9 -8
  3. package/dist/animation/index.cjs +7 -6
  4. package/dist/animation/index.js +6 -5
  5. package/dist/animation-editor/index.cjs +66 -65
  6. package/dist/animation-editor/index.js +9 -8
  7. package/dist/{brushstrokeRender-WDTKD54B.cjs → brushstrokeRender-MPOM7BFW.cjs} +7 -5
  8. package/dist/{brushstrokeRender-MAHOXL7K.js → brushstrokeRender-WB67GMUP.js} +4 -2
  9. package/dist/canvas/index.cjs +55 -54
  10. package/dist/canvas/index.js +10 -9
  11. package/dist/chart/index.cjs +159 -158
  12. package/dist/chart/index.js +9 -8
  13. package/dist/{chunk-L6Y7TSQ4.js → chunk-36ZTV7WO.js} +1 -1
  14. package/dist/{chunk-JVNGCS26.js → chunk-3E36VDMJ.js} +1 -1
  15. package/dist/{chunk-WRZ6C4TU.cjs → chunk-3R5P3DVY.cjs} +6 -6
  16. package/dist/{chunk-RUONPPMC.cjs → chunk-44BMJJVA.cjs} +8 -8
  17. package/dist/{chunk-YBAPT7NL.js → chunk-6ADHGQ73.js} +4 -2
  18. package/dist/chunk-7AHBW2CQ.cjs +200 -0
  19. package/dist/{chunk-EUIDTZNQ.cjs → chunk-7PT4RJL5.cjs} +113 -111
  20. package/dist/{chunk-CU6ANS5L.js → chunk-7YGBSFC6.js} +2 -2
  21. package/dist/{chunk-ATKKG76G.cjs → chunk-AD7GA3TL.cjs} +23 -23
  22. package/dist/{chunk-FSLKBQU7.js → chunk-AIS56JOO.js} +3 -3
  23. package/dist/{chunk-5VQXSS2S.cjs → chunk-BBUE3UJL.cjs} +86 -86
  24. package/dist/{chunk-7272D3K2.js → chunk-BP6KSGVD.js} +6 -4
  25. package/dist/{chunk-F6R67I3A.js → chunk-CXXXAZ7H.js} +1 -1
  26. package/dist/{chunk-5DQPDXOM.cjs → chunk-D2SGV525.cjs} +76 -76
  27. package/dist/chunk-F67XMVDI.js +200 -0
  28. package/dist/{chunk-JVSX5QTS.js → chunk-FQVVO5YA.js} +3 -3
  29. package/dist/{chunk-UXETV2NC.cjs → chunk-GA4EU4P3.cjs} +4 -4
  30. package/dist/{chunk-UFEDHACQ.js → chunk-GXAK6Q5J.js} +2 -2
  31. package/dist/{chunk-MHLU6GRJ.js → chunk-JEGJP4OW.js} +7 -196
  32. package/dist/{chunk-GOBOCZZI.js → chunk-LEQKZGQI.js} +1 -1
  33. package/dist/{chunk-M5GLQQWG.cjs → chunk-LJZRHVZV.cjs} +2 -2
  34. package/dist/{chunk-N76AMOKE.cjs → chunk-MOW3JMNG.cjs} +42 -42
  35. package/dist/{chunk-WKMUBATU.js → chunk-N4DFDI73.js} +1 -1
  36. package/dist/{chunk-GNZI3KYK.cjs → chunk-NKTNLJUJ.cjs} +49 -9
  37. package/dist/{chunk-TQOL6CF7.js → chunk-PJYG6FCF.js} +49 -9
  38. package/dist/{chunk-V3L7U63N.cjs → chunk-PP6BXVRL.cjs} +1 -1
  39. package/dist/{chunk-TFF2GTGN.cjs → chunk-PPFJHTW5.cjs} +24 -22
  40. package/dist/{chunk-6ZZKRH7R.js → chunk-QARCM66V.js} +3 -3
  41. package/dist/{chunk-5UEFBM2M.cjs → chunk-RD7RX52G.cjs} +18 -207
  42. package/dist/{chunk-CDP2AKMA.js → chunk-RV5DKZHU.js} +1 -1
  43. package/dist/{chunk-HUAISCUX.cjs → chunk-T7KQEMAE.cjs} +18 -18
  44. package/dist/{chunk-BQE3Y6ZO.cjs → chunk-THXFU3JB.cjs} +5 -5
  45. package/dist/{chunk-4ZC5QJE2.cjs → chunk-UTI5IITZ.cjs} +3 -3
  46. package/dist/{chunk-XSVUNSDJ.js → chunk-UUBO6RB5.js} +1 -1
  47. package/dist/{chunk-CZWUDFR3.cjs → chunk-UZU6DIZA.cjs} +52 -52
  48. package/dist/{chunk-M2TPMYJE.js → chunk-V6DT2CDH.js} +1 -1
  49. package/dist/{chunk-WV5WTOC6.cjs → chunk-W7GRGGBH.cjs} +16 -16
  50. package/dist/{chunk-23E5GI2U.js → chunk-WGN7AUKB.js} +2 -2
  51. package/dist/{chunk-YMREOA67.js → chunk-XK4SST43.js} +2 -2
  52. package/dist/{chunk-SOSBOS5T.cjs → chunk-XWOLPNBW.cjs} +22 -22
  53. package/dist/{chunk-ILP77UD6.js → chunk-YGQVCQTG.js} +1 -1
  54. package/dist/{chunk-GXLZZVR5.cjs → chunk-ZXNO3ZOX.cjs} +37 -37
  55. package/dist/color/index.cjs +6 -4
  56. package/dist/color/index.js +9 -7
  57. package/dist/export/index.cjs +8 -7
  58. package/dist/export/index.js +7 -6
  59. package/dist/extensions/index.cjs +11 -10
  60. package/dist/extensions/index.js +10 -9
  61. package/dist/gradient/index.cjs +29 -28
  62. package/dist/gradient/index.js +4 -3
  63. package/dist/image-editor/index.cjs +778 -777
  64. package/dist/image-editor/index.js +9 -8
  65. package/dist/index.cjs +17 -16
  66. package/dist/index.js +11 -10
  67. package/dist/paint-editor/controller.d.cts +31 -1
  68. package/dist/paint-editor/controller.d.ts +31 -1
  69. package/dist/paint-editor/index.cjs +403 -195
  70. package/dist/paint-editor/index.js +231 -23
  71. package/dist/paint-editor/sticker-tools.d.cts +1 -1
  72. package/dist/paint-editor/sticker-tools.d.ts +1 -1
  73. package/dist/paint-editor/stickers.d.cts +10 -3
  74. package/dist/paint-editor/stickers.d.ts +10 -3
  75. package/dist/paint-editor/ui.d.cts +10 -3
  76. package/dist/paint-editor/ui.d.ts +10 -3
  77. package/dist/tokens/index.cjs +4 -3
  78. package/dist/tokens/index.js +3 -2
  79. package/dist/typography/index.cjs +8 -7
  80. package/dist/typography/index.js +3 -2
  81. package/dist/vector/index.cjs +967 -966
  82. package/dist/vector/index.js +9 -8
  83. package/dist/video-editor/index.cjs +7 -6
  84. package/dist/video-editor/index.js +6 -5
  85. package/package.json +1 -1
  86. package/skills/pixerate-color/SKILL.md +3 -0
  87. package/skills/pixerate-image-editor/SKILL.md +1 -0
  88. package/skills/pixerate-paint-editor/SKILL.md +6 -2
@@ -7,7 +7,7 @@ var _chunkYN6JKAUEcjs = require('./chunk-YN6JKAUE.cjs');
7
7
 
8
8
 
9
9
 
10
- var _chunkHUAISCUXcjs = require('./chunk-HUAISCUX.cjs');
10
+ var _chunkT7KQEMAEcjs = require('./chunk-T7KQEMAE.cjs');
11
11
 
12
12
 
13
13
  var _chunkHMGWFXECcjs = require('./chunk-HMGWFXEC.cjs');
@@ -35,10 +35,10 @@ var _chunkHMGWFXECcjs = require('./chunk-HMGWFXEC.cjs');
35
35
 
36
36
 
37
37
 
38
- var _chunkWV5WTOC6cjs = require('./chunk-WV5WTOC6.cjs');
38
+ var _chunkW7GRGGBHcjs = require('./chunk-W7GRGGBH.cjs');
39
39
 
40
40
 
41
- var _chunkWRZ6C4TUcjs = require('./chunk-WRZ6C4TU.cjs');
41
+ var _chunk3R5P3DVYcjs = require('./chunk-3R5P3DVY.cjs');
42
42
 
43
43
 
44
44
 
@@ -2296,13 +2296,13 @@ async function loadCharts(zip, Parser, root, rels, options) {
2296
2296
  const charts = /* @__PURE__ */ new Map();
2297
2297
  if (options.charts === false) return charts;
2298
2298
  for (const el of descendants(root, "chart")) {
2299
- if (el.namespaceURI !== _chunkHUAISCUXcjs.CHART_OOXML_NS) continue;
2299
+ if (el.namespaceURI !== _chunkT7KQEMAEcjs.CHART_OOXML_NS) continue;
2300
2300
  const id = attr(el, "id");
2301
2301
  const rel = id ? rels.get(id) : void 0;
2302
2302
  if (!id || !rel || rel.external || charts.has(id)) continue;
2303
2303
  const entry = zip.get(rel.target);
2304
2304
  if (!entry) continue;
2305
- const read = _chunkHUAISCUXcjs.chartFromOoxml.call(void 0, await zip.readText(entry), { DOMParser: Parser });
2305
+ const read = _chunkT7KQEMAEcjs.chartFromOoxml.call(void 0, await zip.readText(entry), { DOMParser: Parser });
2306
2306
  charts.set(id, {
2307
2307
  id: `chart-${charts.size + 1}`,
2308
2308
  path: rel.target,
@@ -2316,7 +2316,7 @@ async function loadCharts(zip, Parser, root, rels, options) {
2316
2316
  return charts;
2317
2317
  }
2318
2318
  function chartBlockHtml(chart) {
2319
- const [head, ...rows] = _chunkWRZ6C4TUcjs.chartDataToTable.call(void 0, chart.spec);
2319
+ const [head, ...rows] = _chunk3R5P3DVYcjs.chartDataToTable.call(void 0, chart.spec);
2320
2320
  const cell = (v, tag) => `<${tag}><p>${_chunkG43MNQ4Ccjs.escapeHtml.call(void 0, v === null || v === void 0 ? "" : String(v))}</p></${tag}>`;
2321
2321
  const table = `<table><tbody><tr>${head.map((h) => cell(h, "th")).join("")}</tr>${rows.map((r) => `<tr>${r.map((v, i) => cell(v, i ? "td" : "th")).join("")}</tr>`).join("")}</tbody></table>`;
2322
2322
  const caption = `<p>${_chunkG43MNQ4Ccjs.escapeHtml.call(void 0, `[Chart: ${chart.title || "untitled"}]`)}</p>`;
@@ -2969,7 +2969,7 @@ var ParagraphRenderer = (_class2 = class {
2969
2969
  };
2970
2970
  if (child.localName === "AlternateContent") {
2971
2971
  const branch = childElements(child).find(
2972
- (b) => descendants(b, "blip").length || descendants(b, "imagedata").length || descendants(b, "chart").some((el) => el.namespaceURI === _chunkHUAISCUXcjs.CHART_OOXML_NS)
2972
+ (b) => descendants(b, "blip").length || descendants(b, "imagedata").length || descendants(b, "chart").some((el) => el.namespaceURI === _chunkT7KQEMAEcjs.CHART_OOXML_NS)
2973
2973
  );
2974
2974
  if (branch) this.image(branch, format, push);
2975
2975
  return;
@@ -3036,7 +3036,7 @@ var ParagraphRenderer = (_class2 = class {
3036
3036
  /** Charts this paragraph contains, in order. */
3037
3037
  __init4() {this.charts = []}
3038
3038
  image(container, format, push) {
3039
- const chartRef = descendants(container, "chart").find((el) => el.namespaceURI === _chunkHUAISCUXcjs.CHART_OOXML_NS);
3039
+ const chartRef = descendants(container, "chart").find((el) => el.namespaceURI === _chunkT7KQEMAEcjs.CHART_OOXML_NS);
3040
3040
  const chart = chartRef ? this.part.charts.get(_nullishCoalesce(attr(chartRef, "id"), () => ( ""))) : void 0;
3041
3041
  if (chart) {
3042
3042
  if (!this.ctx.charts.includes(chart)) this.ctx.charts.push(chart);
@@ -3475,9 +3475,9 @@ function insertImportedDocument(target, content, options = {}) {
3475
3475
  if (!htmlSlice && from === to && !state.doc.resolve(from).parent.inlineContent) {
3476
3476
  from = to = _state.Selection.near(state.doc.resolve(from)).from;
3477
3477
  }
3478
- if (htmlSlice && _chunkWV5WTOC6cjs.sliceContainsTable.call(void 0, htmlSlice) && _chunkWV5WTOC6cjs.outermostTableDepth.call(void 0, state.doc.resolve(from)) >= 0) {
3478
+ if (htmlSlice && _chunkW7GRGGBHcjs.sliceContainsTable.call(void 0, htmlSlice) && _chunkW7GRGGBHcjs.outermostTableDepth.call(void 0, state.doc.resolve(from)) >= 0) {
3479
3479
  const tr2 = state.tr;
3480
- const end2 = _chunkWV5WTOC6cjs.insertSliceAfterTable.call(void 0, tr2, from, to, htmlSlice);
3480
+ const end2 = _chunkW7GRGGBHcjs.insertSliceAfterTable.call(void 0, tr2, from, to, htmlSlice);
3481
3481
  if (end2 !== null) {
3482
3482
  if (options.at === void 0) tr2.setSelection(_state.Selection.near(tr2.doc.resolve(end2), -1));
3483
3483
  view.dispatch(tr2.scrollIntoView().setMeta("uiEvent", "drop"));
@@ -3654,7 +3654,7 @@ var RichClipboard = _core.Extension.create({
3654
3654
  const slice = _chunk3AJMR7EGcjs.readRichClipboard.call(void 0, event, view.state.schema, mimeType);
3655
3655
  if (!slice) return false;
3656
3656
  event.preventDefault();
3657
- if (_chunkWV5WTOC6cjs.handleTablePasteWithoutNesting.call(void 0, view, event, slice)) return true;
3657
+ if (_chunkW7GRGGBHcjs.handleTablePasteWithoutNesting.call(void 0, view, event, slice)) return true;
3658
3658
  view.dispatch(
3659
3659
  view.state.tr.replaceSelection(slice).scrollIntoView().setMeta("paste", true).setMeta("uiEvent", "paste")
3660
3660
  );
@@ -4055,7 +4055,7 @@ function createOutlineStore(editor) {
4055
4055
  if (!editor || editor.isDestroyed) return EMPTY_SNAPSHOT;
4056
4056
  const headings = getOutline(editor);
4057
4057
  const activeId = _nullishCoalesce(_optionalChain([getActiveHeading, 'call', _153 => _153(editor, headings), 'optionalAccess', _154 => _154.id]), () => ( null));
4058
- const sameStructure = _chunkWV5WTOC6cjs.arraysEqual.call(void 0, snapshot.headings, headings, sameHeading);
4058
+ const sameStructure = _chunkW7GRGGBHcjs.arraysEqual.call(void 0, snapshot.headings, headings, sameHeading);
4059
4059
  if (sameStructure && snapshot.activeId === activeId) return snapshot;
4060
4060
  return {
4061
4061
  headings: sameStructure ? snapshot.headings : headings,
@@ -4103,7 +4103,7 @@ function navigateToHeading(editor, heading, options = {}) {
4103
4103
  editor.view.dispatch(tr);
4104
4104
  editor.view.focus();
4105
4105
  }
4106
- _chunkWV5WTOC6cjs.scrollDomAtPos.call(void 0, editor.view, current.pos, behavior);
4106
+ _chunkW7GRGGBHcjs.scrollDomAtPos.call(void 0, editor.view, current.pos, behavior);
4107
4107
  return true;
4108
4108
  }
4109
4109
  function assignHeadingIds(state, types, generateId) {
@@ -4128,11 +4128,11 @@ function assignHeadingIds(state, types, generateId) {
4128
4128
  }
4129
4129
  var Outline = _core.Extension.create({
4130
4130
  name: "outline",
4131
- priority: _chunkWV5WTOC6cjs.STRUCTURE_PRIORITY,
4131
+ priority: _chunkW7GRGGBHcjs.STRUCTURE_PRIORITY,
4132
4132
  addOptions() {
4133
4133
  return {
4134
4134
  types: ["heading"],
4135
- generateId: () => _chunkWV5WTOC6cjs.generateStructureId.call(void 0, "h"),
4135
+ generateId: () => _chunkW7GRGGBHcjs.generateStructureId.call(void 0, "h"),
4136
4136
  onUpdate: void 0
4137
4137
  };
4138
4138
  },
@@ -4165,14 +4165,14 @@ var Outline = _core.Extension.create({
4165
4165
  tr.scrollIntoView();
4166
4166
  _optionalChain([view, 'optionalAccess', _161 => _161.focus, 'optionalCall', _162 => _162()]);
4167
4167
  }
4168
- _chunkWV5WTOC6cjs.scrollDomAtPos.call(void 0, view, heading.pos, options.behavior);
4168
+ _chunkW7GRGGBHcjs.scrollDomAtPos.call(void 0, view, heading.pos, options.behavior);
4169
4169
  }
4170
4170
  return true;
4171
4171
  },
4172
4172
  scrollToHeading: (id, options = {}) => ({ state, dispatch, view }) => {
4173
4173
  const heading = findHeading(state, id);
4174
4174
  if (!heading) return false;
4175
- if (dispatch) _chunkWV5WTOC6cjs.scrollDomAtPos.call(void 0, view, heading.pos, options.behavior);
4175
+ if (dispatch) _chunkW7GRGGBHcjs.scrollDomAtPos.call(void 0, view, heading.pos, options.behavior);
4176
4176
  return true;
4177
4177
  }
4178
4178
  };
@@ -4193,7 +4193,7 @@ var Outline = _core.Extension.create({
4193
4193
  apply: (tr, prev, _oldState, newState) => {
4194
4194
  if (!tr.docChanged) return prev;
4195
4195
  const next = computeOutline(newState.doc, types);
4196
- if (_chunkWV5WTOC6cjs.arraysEqual.call(void 0, prev, next, sameHeading)) return prev;
4196
+ if (_chunkW7GRGGBHcjs.arraysEqual.call(void 0, prev, next, sameHeading)) return prev;
4197
4197
  storage.headings = next;
4198
4198
  _optionalChain([onUpdate, 'call', _163 => _163(), 'optionalCall', _164 => _164(next)]);
4199
4199
  return next;
@@ -4211,7 +4211,7 @@ var Outline = _core.Extension.create({
4211
4211
  },
4212
4212
  onBeforeCreate() {
4213
4213
  const { types, generateId } = this.options;
4214
- _chunkWV5WTOC6cjs.syncInitialContent.call(void 0, this.editor, (state) => assignHeadingIds(state, types, generateId));
4214
+ _chunkW7GRGGBHcjs.syncInitialContent.call(void 0, this.editor, (state) => assignHeadingIds(state, types, generateId));
4215
4215
  }
4216
4216
  });
4217
4217
 
@@ -4381,7 +4381,7 @@ function syncTableOfContents(state, headingTypes) {
4381
4381
  node.attrs.minLevel,
4382
4382
  node.attrs.maxLevel
4383
4383
  );
4384
- if (!_chunkWV5WTOC6cjs.arraysEqual.call(void 0, _nullishCoalesce(node.attrs.entries, () => ( [])), entries, sameEntry)) {
4384
+ if (!_chunkW7GRGGBHcjs.arraysEqual.call(void 0, _nullishCoalesce(node.attrs.entries, () => ( [])), entries, sameEntry)) {
4385
4385
  tr = _nullishCoalesce(tr, () => ( state.tr));
4386
4386
  tr.setNodeMarkup(pos, void 0, { ...node.attrs, entries });
4387
4387
  }
@@ -4393,7 +4393,7 @@ function syncTableOfContents(state, headingTypes) {
4393
4393
  }
4394
4394
  var TableOfContents = _core.Node.create({
4395
4395
  name: "tableOfContents",
4396
- priority: _chunkWV5WTOC6cjs.STRUCTURE_PRIORITY - 5,
4396
+ priority: _chunkW7GRGGBHcjs.STRUCTURE_PRIORITY - 5,
4397
4397
  group: "block",
4398
4398
  atom: true,
4399
4399
  selectable: true,
@@ -4504,7 +4504,7 @@ var TableOfContents = _core.Node.create({
4504
4504
  return [
4505
4505
  new (0, _state.Plugin)({
4506
4506
  key: tableOfContentsPluginKey,
4507
- state: _chunkWV5WTOC6cjs.presenceStateSpec.call(void 0, [this.name]),
4507
+ state: _chunkW7GRGGBHcjs.presenceStateSpec.call(void 0, [this.name]),
4508
4508
  appendTransaction: (transactions, _oldState, newState) => {
4509
4509
  if (!transactions.some((tr) => tr.docChanged)) return null;
4510
4510
  if (!tableOfContentsPluginKey.getState(newState)) return null;
@@ -4528,7 +4528,7 @@ var TableOfContents = _core.Node.create({
4528
4528
  );
4529
4529
  view.focus();
4530
4530
  }
4531
- _chunkWV5WTOC6cjs.scrollDomAtPos.call(void 0, view, heading.pos);
4531
+ _chunkW7GRGGBHcjs.scrollDomAtPos.call(void 0, view, heading.pos);
4532
4532
  return true;
4533
4533
  }
4534
4534
  }
@@ -4538,7 +4538,7 @@ var TableOfContents = _core.Node.create({
4538
4538
  },
4539
4539
  onBeforeCreate() {
4540
4540
  const { headingTypes } = this.options;
4541
- _chunkWV5WTOC6cjs.syncInitialContent.call(void 0, this.editor, (state) => syncTableOfContents(state, headingTypes));
4541
+ _chunkW7GRGGBHcjs.syncInitialContent.call(void 0, this.editor, (state) => syncTableOfContents(state, headingTypes));
4542
4542
  }
4543
4543
  });
4544
4544
 
@@ -4596,7 +4596,7 @@ function syncFootnotes(tr, options = {}) {
4596
4596
  const listType = schema.nodes[LIST];
4597
4597
  const itemType = schema.nodes[ITEM];
4598
4598
  if (!listType || !itemType) return false;
4599
- const generateId = _nullishCoalesce(options.generateId, () => ( (() => _chunkWV5WTOC6cjs.generateStructureId.call(void 0, "fn"))));
4599
+ const generateId = _nullishCoalesce(options.generateId, () => ( (() => _chunkW7GRGGBHcjs.generateStructureId.call(void 0, "fn"))));
4600
4600
  const refs = [];
4601
4601
  const lists = [];
4602
4602
  const existing = /* @__PURE__ */ new Map();
@@ -4680,7 +4680,7 @@ function findReferences(doc, id) {
4680
4680
  }
4681
4681
  var FootnoteReference = _core.Node.create({
4682
4682
  name: REFERENCE,
4683
- priority: _chunkWV5WTOC6cjs.STRUCTURE_PRIORITY - 5,
4683
+ priority: _chunkW7GRGGBHcjs.STRUCTURE_PRIORITY - 5,
4684
4684
  group: "inline",
4685
4685
  inline: true,
4686
4686
  atom: true,
@@ -4688,7 +4688,7 @@ var FootnoteReference = _core.Node.create({
4688
4688
  addOptions() {
4689
4689
  return {
4690
4690
  HTMLAttributes: {},
4691
- generateId: () => _chunkWV5WTOC6cjs.generateStructureId.call(void 0, "fn")
4691
+ generateId: () => _chunkW7GRGGBHcjs.generateStructureId.call(void 0, "fn")
4692
4692
  };
4693
4693
  },
4694
4694
  addAttributes() {
@@ -4799,7 +4799,7 @@ var FootnoteReference = _core.Node.create({
4799
4799
  _state.TextSelection.create(tr.doc, footnote.pos + footnote.node.nodeSize - 2)
4800
4800
  );
4801
4801
  tr.scrollIntoView();
4802
- _chunkWV5WTOC6cjs.scrollDomAtPos.call(void 0, view, footnote.pos);
4802
+ _chunkW7GRGGBHcjs.scrollDomAtPos.call(void 0, view, footnote.pos);
4803
4803
  }
4804
4804
  return true;
4805
4805
  },
@@ -4809,7 +4809,7 @@ var FootnoteReference = _core.Node.create({
4809
4809
  if (dispatch) {
4810
4810
  tr.setSelection(_state.NodeSelection.create(tr.doc, ref.pos));
4811
4811
  tr.scrollIntoView();
4812
- _chunkWV5WTOC6cjs.scrollDomAtPos.call(void 0, view, ref.pos);
4812
+ _chunkW7GRGGBHcjs.scrollDomAtPos.call(void 0, view, ref.pos);
4813
4813
  }
4814
4814
  return true;
4815
4815
  }
@@ -4821,7 +4821,7 @@ var FootnoteReference = _core.Node.create({
4821
4821
  return [
4822
4822
  new (0, _state.Plugin)({
4823
4823
  key: footnotesPluginKey,
4824
- state: _chunkWV5WTOC6cjs.presenceStateSpec.call(void 0, [REFERENCE, LIST]),
4824
+ state: _chunkW7GRGGBHcjs.presenceStateSpec.call(void 0, [REFERENCE, LIST]),
4825
4825
  appendTransaction: (transactions, _oldState, newState) => {
4826
4826
  if (!transactions.some((tr2) => tr2.docChanged)) return null;
4827
4827
  if (!footnotesPluginKey.getState(newState)) return null;
@@ -4842,7 +4842,7 @@ var FootnoteReference = _core.Node.create({
4842
4842
  },
4843
4843
  onBeforeCreate() {
4844
4844
  const { generateId } = this.options;
4845
- _chunkWV5WTOC6cjs.syncInitialContent.call(void 0, this.editor, (state) => {
4845
+ _chunkW7GRGGBHcjs.syncInitialContent.call(void 0, this.editor, (state) => {
4846
4846
  const tr = state.tr;
4847
4847
  return syncFootnotes(tr, { generateId }) ? tr : null;
4848
4848
  });
@@ -4982,7 +4982,7 @@ var Bookmark = _core.Mark.create({
4982
4982
  addOptions() {
4983
4983
  return {
4984
4984
  HTMLAttributes: {},
4985
- generateId: () => _chunkWV5WTOC6cjs.generateStructureId.call(void 0, "bm")
4985
+ generateId: () => _chunkW7GRGGBHcjs.generateStructureId.call(void 0, "bm")
4986
4986
  };
4987
4987
  },
4988
4988
  addAttributes() {
@@ -5067,7 +5067,7 @@ var Bookmark = _core.Mark.create({
5067
5067
  tr.setSelection(_state.TextSelection.create(tr.doc, bookmark.from, bookmark.to));
5068
5068
  tr.scrollIntoView();
5069
5069
  const domPos = state.doc.resolve(bookmark.from);
5070
- _chunkWV5WTOC6cjs.scrollDomAtPos.call(void 0, view, domPos.before(domPos.depth));
5070
+ _chunkW7GRGGBHcjs.scrollDomAtPos.call(void 0, view, domPos.before(domPos.depth));
5071
5071
  }
5072
5072
  return true;
5073
5073
  }
@@ -5132,7 +5132,7 @@ function syncCrossReferences(state, headingTypes) {
5132
5132
  }
5133
5133
  var CrossReference = _core.Node.create({
5134
5134
  name: NAME,
5135
- priority: _chunkWV5WTOC6cjs.STRUCTURE_PRIORITY - 5,
5135
+ priority: _chunkW7GRGGBHcjs.STRUCTURE_PRIORITY - 5,
5136
5136
  group: "inline",
5137
5137
  inline: true,
5138
5138
  atom: true,
@@ -5234,7 +5234,7 @@ var CrossReference = _core.Node.create({
5234
5234
  if (dispatch) {
5235
5235
  tr.setSelection(_state.TextSelection.create(tr.doc, range.from, range.to));
5236
5236
  tr.scrollIntoView();
5237
- _chunkWV5WTOC6cjs.scrollDomAtPos.call(void 0, view, range.blockPos);
5237
+ _chunkW7GRGGBHcjs.scrollDomAtPos.call(void 0, view, range.blockPos);
5238
5238
  }
5239
5239
  return true;
5240
5240
  }
@@ -5246,7 +5246,7 @@ var CrossReference = _core.Node.create({
5246
5246
  return [
5247
5247
  new (0, _state.Plugin)({
5248
5248
  key: crossReferencePluginKey,
5249
- state: _chunkWV5WTOC6cjs.presenceStateSpec.call(void 0, [NAME]),
5249
+ state: _chunkW7GRGGBHcjs.presenceStateSpec.call(void 0, [NAME]),
5250
5250
  appendTransaction: (transactions, _oldState, newState) => {
5251
5251
  if (!transactions.some((tr) => tr.docChanged)) return null;
5252
5252
  if (!crossReferencePluginKey.getState(newState)) return null;
@@ -5265,7 +5265,7 @@ var CrossReference = _core.Node.create({
5265
5265
  },
5266
5266
  onBeforeCreate() {
5267
5267
  const { headingTypes } = this.options;
5268
- _chunkWV5WTOC6cjs.syncInitialContent.call(void 0, this.editor, (state) => syncCrossReferences(state, headingTypes));
5268
+ _chunkW7GRGGBHcjs.syncInitialContent.call(void 0, this.editor, (state) => syncCrossReferences(state, headingTypes));
5269
5269
  }
5270
5270
  });
5271
5271
 
@@ -5520,7 +5520,7 @@ var FindReplace = _core.Extension.create({
5520
5520
  if (!s || !s.active || s.currentIndex < 0 || !s.matches[s.currentIndex]) return false;
5521
5521
  if (dispatch) {
5522
5522
  _history.closeHistory.call(void 0, tr);
5523
- const [end] = _chunkWV5WTOC6cjs.applyReplacements.call(void 0, tr, [s.matches[s.currentIndex]]);
5523
+ const [end] = _chunkW7GRGGBHcjs.applyReplacements.call(void 0, tr, [s.matches[s.currentIndex]]);
5524
5524
  tr.setSelection(_state.TextSelection.create(tr.doc, end)).scrollIntoView();
5525
5525
  meta(tr, { type: "replaced", anchor: end, count: 1 });
5526
5526
  }
@@ -5531,7 +5531,7 @@ var FindReplace = _core.Extension.create({
5531
5531
  if (!s || !s.active || !s.matches.length) return false;
5532
5532
  if (dispatch) {
5533
5533
  _history.closeHistory.call(void 0, tr);
5534
- const ends = _chunkWV5WTOC6cjs.applyReplacements.call(void 0, tr, s.matches);
5534
+ const ends = _chunkW7GRGGBHcjs.applyReplacements.call(void 0, tr, s.matches);
5535
5535
  meta(tr, { type: "replaced", anchor: ends[ends.length - 1], count: s.matches.length });
5536
5536
  }
5537
5537
  return true;
@@ -5563,7 +5563,7 @@ var FindReplace = _core.Extension.create({
5563
5563
  if (!s.active || !s.query) {
5564
5564
  return { ...s, matches: [], currentIndex: -1, error: null, truncated: false };
5565
5565
  }
5566
- const result = _chunkWV5WTOC6cjs.searchDocument.call(void 0, doc, s.query, s.options, {
5566
+ const result = _chunkW7GRGGBHcjs.searchDocument.call(void 0, doc, s.query, s.options, {
5567
5567
  replacement: s.replacement,
5568
5568
  clipboardText: safeClipboard(options.getClipboardText),
5569
5569
  timeLimitMs: options.timeLimitMs,
@@ -6150,7 +6150,7 @@ function createRichTextPreset(options = {}) {
6150
6150
  })
6151
6151
  ];
6152
6152
  if (options.table !== false) {
6153
- extensions2.push(..._chunkWV5WTOC6cjs.createTableExtensions.call(void 0, optionObject(options.table)));
6153
+ extensions2.push(..._chunkW7GRGGBHcjs.createTableExtensions.call(void 0, optionObject(options.table)));
6154
6154
  }
6155
6155
  if (characterLimit) {
6156
6156
  extensions2.push(
@@ -6207,7 +6207,7 @@ function createRichTextPreset(options = {}) {
6207
6207
  }
6208
6208
  if (options.comments) {
6209
6209
  extensions2.push(
6210
- typeof options.comments === "object" ? _chunkWV5WTOC6cjs.Comments.configure(options.comments) : _chunkWV5WTOC6cjs.Comments
6210
+ typeof options.comments === "object" ? _chunkW7GRGGBHcjs.Comments.configure(options.comments) : _chunkW7GRGGBHcjs.Comments
6211
6211
  );
6212
6212
  }
6213
6213
  if (options.trackChanges) {
@@ -6257,8 +6257,8 @@ function createRichTextPreset(options = {}) {
6257
6257
  }
6258
6258
  if (options.chart) {
6259
6259
  const { sparkline = true, ...chartOptions } = optionObject(options.chart);
6260
- extensions2.push(_chunkWV5WTOC6cjs.Chart.configure(chartOptions));
6261
- if (sparkline) extensions2.push(_chunkWV5WTOC6cjs.Sparkline.configure(optionObject(sparkline)));
6260
+ extensions2.push(_chunkW7GRGGBHcjs.Chart.configure(chartOptions));
6261
+ if (sparkline) extensions2.push(_chunkW7GRGGBHcjs.Sparkline.configure(optionObject(sparkline)));
6262
6262
  }
6263
6263
  if (options.paragraphStyles) {
6264
6264
  extensions2.push(ParagraphStyles.configure(optionObject(options.paragraphStyles)));
@@ -6399,7 +6399,7 @@ function createFindReplaceCommands(editor, options = {}) {
6399
6399
  ];
6400
6400
  }
6401
6401
  function validateFindPattern(query, options = {}) {
6402
- const result = _chunkWV5WTOC6cjs.compileFindPattern.call(void 0, query, options);
6402
+ const result = _chunkW7GRGGBHcjs.compileFindPattern.call(void 0, query, options);
6403
6403
  return result.ok ? null : result.error;
6404
6404
  }
6405
6405
 
@@ -6408,8 +6408,8 @@ var PARAMS = {
6408
6408
  insertTable: {
6409
6409
  type: "object",
6410
6410
  properties: {
6411
- rows: { type: "integer", minimum: 1, maximum: _chunkWV5WTOC6cjs.MAX_TABLE_ROWS, description: "Rows (default 3)." },
6412
- cols: { type: "integer", minimum: 1, maximum: _chunkWV5WTOC6cjs.MAX_TABLE_COLUMNS, description: "Columns (default 3)." },
6411
+ rows: { type: "integer", minimum: 1, maximum: _chunkW7GRGGBHcjs.MAX_TABLE_ROWS, description: "Rows (default 3)." },
6412
+ cols: { type: "integer", minimum: 1, maximum: _chunkW7GRGGBHcjs.MAX_TABLE_COLUMNS, description: "Columns (default 3)." },
6413
6413
  withHeaderRow: { type: "boolean", description: "Make the first row a header row (default true)." }
6414
6414
  },
6415
6415
  additionalProperties: false
@@ -6440,7 +6440,7 @@ function createTableCommands(editor, options = {}) {
6440
6440
  const group = _nullishCoalesce(options.group, () => ( "Table"));
6441
6441
  const scope = options.scope ? { scope: options.scope } : {};
6442
6442
  const focus = _nullishCoalesce(options.focus, () => ( true));
6443
- return _chunkWV5WTOC6cjs.TABLE_ACTIONS.map(({ action, label, description, keywords }) => {
6443
+ return _chunkW7GRGGBHcjs.TABLE_ACTIONS.map(({ action, label, description, keywords }) => {
6444
6444
  const params = PARAMS[action];
6445
6445
  return {
6446
6446
  id: `${prefix}${action}`,
@@ -6450,13 +6450,13 @@ function createTableCommands(editor, options = {}) {
6450
6450
  description,
6451
6451
  ...params ? { params } : {},
6452
6452
  ...scope,
6453
- enabled: (_ctx, p) => _chunkWV5WTOC6cjs.getTableActionState.call(void 0, editor, action, _nullishCoalesce(p, () => ( {}))),
6453
+ enabled: (_ctx, p) => _chunkW7GRGGBHcjs.getTableActionState.call(void 0, editor, action, _nullishCoalesce(p, () => ( {}))),
6454
6454
  run: (_ctx, p) => {
6455
- if (!_chunkWV5WTOC6cjs.runTableAction.call(void 0, editor, action, _nullishCoalesce(p, () => ( {})), { focus })) {
6456
- const reason = _chunkWV5WTOC6cjs.getTableActionState.call(void 0, editor, action, _nullishCoalesce(p, () => ( {})));
6455
+ if (!_chunkW7GRGGBHcjs.runTableAction.call(void 0, editor, action, _nullishCoalesce(p, () => ( {})), { focus })) {
6456
+ const reason = _chunkW7GRGGBHcjs.getTableActionState.call(void 0, editor, action, _nullishCoalesce(p, () => ( {})));
6457
6457
  throw new Error(reason === true ? `${label} did not change the document.` : reason);
6458
6458
  }
6459
- const state = _chunkWV5WTOC6cjs.getTableState.call(void 0, editor);
6459
+ const state = _chunkW7GRGGBHcjs.getTableState.call(void 0, editor);
6460
6460
  return {
6461
6461
  done: true,
6462
6462
  table: state.inTable ? { rows: state.rows, columns: state.columns, row: state.row, column: state.column } : null
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  oklabToRgb,
8
8
  rgbToOklab
9
- } from "./chunk-MHLU6GRJ.js";
9
+ } from "./chunk-F67XMVDI.js";
10
10
 
11
11
  // src/animation/color.ts
12
12
  function rgbToOklab2(r, g, b, alpha = 1) {
@@ -5,14 +5,14 @@
5
5
 
6
6
 
7
7
 
8
- var _chunk5DQPDXOMcjs = require('./chunk-5DQPDXOM.cjs');
8
+ var _chunkD2SGV525cjs = require('./chunk-D2SGV525.cjs');
9
9
 
10
10
 
11
- var _chunkN76AMOKEcjs = require('./chunk-N76AMOKE.cjs');
11
+ var _chunkMOW3JMNGcjs = require('./chunk-MOW3JMNG.cjs');
12
12
 
13
13
 
14
14
 
15
- var _chunkWRZ6C4TUcjs = require('./chunk-WRZ6C4TU.cjs');
15
+ var _chunk3R5P3DVYcjs = require('./chunk-3R5P3DVY.cjs');
16
16
 
17
17
 
18
18
  var _chunkG43MNQ4Ccjs = require('./chunk-G43MNQ4C.cjs');
@@ -1457,7 +1457,7 @@ var ChartNodeView = (_class = class {
1457
1457
  this.dom.contentEditable = "false";
1458
1458
  this.syncAttributes();
1459
1459
  this.key = specKey(this.node.attrs.spec);
1460
- this.controller = new (0, _chunk5DQPDXOMcjs.ChartController)({ spec: this.node.attrs.spec });
1460
+ this.controller = new (0, _chunkD2SGV525cjs.ChartController)({ spec: this.node.attrs.spec });
1461
1461
  this.unsubscribe = this.controller.subscribe((state) => {
1462
1462
  if (!state.gesture) this.writeBack();
1463
1463
  });
@@ -1690,7 +1690,7 @@ function readSpec(value) {
1690
1690
  }
1691
1691
  }
1692
1692
  if (!input || typeof input !== "object" || Array.isArray(input)) return null;
1693
- return _chunkWRZ6C4TUcjs.normalizeChartSpec.call(void 0, input).spec;
1693
+ return _chunk3R5P3DVYcjs.normalizeChartSpec.call(void 0, input).spec;
1694
1694
  }
1695
1695
  var readSize = (value) => {
1696
1696
  const n = value === null ? NaN : Number(value);
@@ -1716,10 +1716,10 @@ function staticChartSvg(node, options) {
1716
1716
  const spec = node.attrs.spec;
1717
1717
  const width = _nullishCoalesce(node.attrs.width, () => ( options.defaultWidth));
1718
1718
  const height = _nullishCoalesce(node.attrs.height, () => ( options.defaultHeight));
1719
- const scene = _chunkN76AMOKEcjs.layoutChart.call(void 0, spec, { width, height, theme: options.theme, selection: null });
1720
- return _chunk5DQPDXOMcjs.chartSceneToDomSpec.call(void 0, scene, {
1719
+ const scene = _chunkMOW3JMNGcjs.layoutChart.call(void 0, spec, { width, height, theme: options.theme, selection: null });
1720
+ return _chunkD2SGV525cjs.chartSceneToDomSpec.call(void 0, scene, {
1721
1721
  ariaLabel: spec.title || "Chart",
1722
- description: _chunk5DQPDXOMcjs.describeChart.call(void 0, spec),
1722
+ description: _chunkD2SGV525cjs.describeChart.call(void 0, spec),
1723
1723
  attrs: { style: "max-width: 100%; height: auto; display: block" }
1724
1724
  });
1725
1725
  }
@@ -1735,7 +1735,7 @@ var Chart = _core.Node.create({
1735
1735
  return {
1736
1736
  HTMLAttributes: {},
1737
1737
  nodeView: null,
1738
- theme: _chunkWRZ6C4TUcjs.DEFAULT_CHART_THEME,
1738
+ theme: _chunk3R5P3DVYcjs.DEFAULT_CHART_THEME,
1739
1739
  defaultWidth: 640,
1740
1740
  defaultHeight: 320,
1741
1741
  generateId: () => generateStructureId("chart")
@@ -1749,7 +1749,7 @@ var Chart = _core.Node.create({
1749
1749
  renderHTML: (attributes) => attributes.id ? { "data-chart-id": attributes.id } : {}
1750
1750
  },
1751
1751
  spec: {
1752
- default: _chunkWRZ6C4TUcjs.normalizeChartSpec.call(void 0, {}).spec,
1752
+ default: _chunk3R5P3DVYcjs.normalizeChartSpec.call(void 0, {}).spec,
1753
1753
  // null (no `data-chart`) keeps what the parse rule found, e.g. a mermaid block's spec.
1754
1754
  parseHTML: (element) => readSpec(element.getAttribute("data-chart")),
1755
1755
  renderHTML: (attributes) => ({
@@ -1787,7 +1787,7 @@ var Chart = _core.Node.create({
1787
1787
  const code = element.querySelector("code");
1788
1788
  const language = _nullishCoalesce(_nullishCoalesce(_optionalChain([code, 'optionalAccess', _47 => _47.getAttribute, 'call', _48 => _48("class")]), () => ( element.getAttribute("data-language"))), () => ( ""));
1789
1789
  if (!/(?:^|\s)language-mermaid(?:\s|$)/.test(language) && language !== "mermaid") return false;
1790
- const result = _chunk5DQPDXOMcjs.chartFromMermaid.call(void 0, _nullishCoalesce((_nullishCoalesce(code, () => ( element))).textContent, () => ( "")));
1790
+ const result = _chunkD2SGV525cjs.chartFromMermaid.call(void 0, _nullishCoalesce((_nullishCoalesce(code, () => ( element))).textContent, () => ( "")));
1791
1791
  return result.family ? { spec: result.spec } : false;
1792
1792
  }
1793
1793
  }
@@ -1811,7 +1811,7 @@ var Chart = _core.Node.create({
1811
1811
  return {
1812
1812
  markdown: {
1813
1813
  serialize(state, node) {
1814
- const text = _chunk5DQPDXOMcjs.chartToMermaid.call(void 0, node.attrs.spec);
1814
+ const text = _chunkD2SGV525cjs.chartToMermaid.call(void 0, node.attrs.spec);
1815
1815
  const fence = "`".repeat(Math.max(3, longestBacktickRun(text) + 1));
1816
1816
  state.write(`${fence}mermaid
1817
1817
  `);
@@ -1833,7 +1833,7 @@ var Chart = _core.Node.create({
1833
1833
  type: this.name,
1834
1834
  attrs: {
1835
1835
  id: _nullishCoalesce(options.id, () => ( this.options.generateId())),
1836
- spec: _chunkWRZ6C4TUcjs.normalizeChartSpec.call(void 0, _nullishCoalesce(options.spec, () => ( {}))).spec,
1836
+ spec: _chunk3R5P3DVYcjs.normalizeChartSpec.call(void 0, _nullishCoalesce(options.spec, () => ( {}))).spec,
1837
1837
  width: _nullishCoalesce(options.width, () => ( null)),
1838
1838
  height: _nullishCoalesce(options.height, () => ( this.options.defaultHeight))
1839
1839
  }
@@ -1844,7 +1844,7 @@ var Chart = _core.Node.create({
1844
1844
  if (dispatch) {
1845
1845
  tr.setNodeMarkup(chart.pos, void 0, {
1846
1846
  ...chart.node.attrs,
1847
- ...changes.spec !== void 0 ? { spec: _chunkWRZ6C4TUcjs.normalizeChartSpec.call(void 0, changes.spec).spec } : {},
1847
+ ...changes.spec !== void 0 ? { spec: _chunk3R5P3DVYcjs.normalizeChartSpec.call(void 0, changes.spec).spec } : {},
1848
1848
  ...changes.width !== void 0 ? { width: changes.width } : {},
1849
1849
  ...changes.height !== void 0 ? { height: changes.height } : {}
1850
1850
  });
@@ -1951,14 +1951,14 @@ var Sparkline = _core.Node.create({
1951
1951
  return [{ tag: 'span[data-type="sparkline"]', priority: 60 }];
1952
1952
  },
1953
1953
  renderHTML({ node, HTMLAttributes }) {
1954
- const scene = _chunk5DQPDXOMcjs.layoutSparkline.call(void 0, node.attrs.values, {
1954
+ const scene = _chunkD2SGV525cjs.layoutSparkline.call(void 0, node.attrs.values, {
1955
1955
  kind: node.attrs.kind,
1956
1956
  width: node.attrs.width,
1957
1957
  height: node.attrs.height,
1958
1958
  color: _nullishCoalesce(node.attrs.color, () => ( this.options.color)),
1959
1959
  negativeColor: this.options.negativeColor
1960
1960
  });
1961
- const svg = _chunk5DQPDXOMcjs.chartSceneToDomSpec.call(void 0, scene, {
1961
+ const svg = _chunkD2SGV525cjs.chartSceneToDomSpec.call(void 0, scene, {
1962
1962
  ariaLabel: sparklineLabel(node),
1963
1963
  attrs: { style: "display: inline-block; vertical-align: middle" }
1964
1964
  });
@@ -14,7 +14,7 @@ import {
14
14
  r2,
15
15
  sameChartSelection,
16
16
  summarizeChartSeries
17
- } from "./chunk-WKMUBATU.js";
17
+ } from "./chunk-N4DFDI73.js";
18
18
  import {
19
19
  CHART_TYPE_LABELS,
20
20
  DEFAULT_CHART_PALETTE,
@@ -47,7 +47,7 @@ import {
47
47
  parseChartValue,
48
48
  shadeChartColor,
49
49
  uniqueChartSeriesId
50
- } from "./chunk-6ZZKRH7R.js";
50
+ } from "./chunk-QARCM66V.js";
51
51
  import {
52
52
  parseCsv,
53
53
  parseTsv
@@ -18,7 +18,7 @@ import {
18
18
  unionBounds,
19
19
  vectorGradientPoints,
20
20
  widthProfileAt
21
- } from "./chunk-CU6ANS5L.js";
21
+ } from "./chunk-7YGBSFC6.js";
22
22
  import {
23
23
  segmentLength,
24
24
  segmentParamAtLength,
@@ -29,7 +29,7 @@ import {
29
29
  } from "./chunk-5UJHB3BW.js";
30
30
  import {
31
31
  mixColorsOklab
32
- } from "./chunk-M2TPMYJE.js";
32
+ } from "./chunk-V6DT2CDH.js";
33
33
 
34
34
  // src/vector/blend.ts
35
35
  var lerpN = (a, b, t) => a + (b - a) * t;