quoin-editor 2.0.2 → 2.0.4

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 (81) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/ai.cjs +34 -34
  3. package/dist/ai.js +3 -3
  4. package/dist/catalogue.cjs +21 -21
  5. package/dist/catalogue.js +12 -12
  6. package/dist/{chunk-SE36LU6G.js → chunk-2BPXVQBP.js} +28 -11
  7. package/dist/chunk-2BPXVQBP.js.map +1 -0
  8. package/dist/{chunk-UKUAQJME.cjs → chunk-2QKFRKOP.cjs} +29 -8
  9. package/dist/{chunk-NZFGAV3L.cjs → chunk-3HW3WRYC.cjs} +2 -2
  10. package/dist/{chunk-TDXQSNFS.cjs → chunk-3INFNIGN.cjs} +19 -19
  11. package/dist/{chunk-5A2MHCYI.js → chunk-4G645EYO.js} +8 -5
  12. package/dist/{chunk-5A2MHCYI.js.map → chunk-4G645EYO.js.map} +1 -1
  13. package/dist/{chunk-Z3GLEAOI.js → chunk-556PFYES.js} +15 -10
  14. package/dist/{chunk-Z3GLEAOI.js.map → chunk-556PFYES.js.map} +1 -1
  15. package/dist/{chunk-LBP64GKQ.cjs → chunk-7J63427U.cjs} +70 -65
  16. package/dist/{chunk-DT3ODGZ7.js → chunk-A2IQHMIH.js} +6 -5
  17. package/dist/chunk-A2IQHMIH.js.map +1 -0
  18. package/dist/{chunk-M7L444WV.js → chunk-AJT54OMZ.js} +4 -4
  19. package/dist/{chunk-M7L444WV.js.map → chunk-AJT54OMZ.js.map} +1 -1
  20. package/dist/{chunk-YYBPQ4TY.cjs → chunk-BE2YHZXA.cjs} +2 -2
  21. package/dist/{chunk-5VBDRJ5Y.cjs → chunk-EBSDPHPS.cjs} +140 -118
  22. package/dist/{chunk-OBOIZ7L3.js → chunk-EIWPJWY3.js} +3 -3
  23. package/dist/{chunk-OBOIZ7L3.js.map → chunk-EIWPJWY3.js.map} +1 -1
  24. package/dist/{chunk-AVD2AI47.js → chunk-F2ZK6Z52.js} +3 -3
  25. package/dist/{chunk-AVD2AI47.js.map → chunk-F2ZK6Z52.js.map} +1 -1
  26. package/dist/{chunk-QIGZ5JAY.js → chunk-G6NBQYMM.js} +43 -20
  27. package/dist/chunk-G6NBQYMM.js.map +1 -0
  28. package/dist/{chunk-XC4WZTMY.cjs → chunk-JGEDJYIV.cjs} +50 -50
  29. package/dist/{chunk-F3BC5ITU.cjs → chunk-JZF6UQH5.cjs} +8 -5
  30. package/dist/{chunk-JM5TRLEC.cjs → chunk-KHRVCTQQ.cjs} +30 -30
  31. package/dist/{chunk-ZHLNPNE2.js → chunk-LU3T3JB4.js} +5 -5
  32. package/dist/{chunk-ZHLNPNE2.js.map → chunk-LU3T3JB4.js.map} +1 -1
  33. package/dist/{chunk-SHZGRFYY.cjs → chunk-N7BSFDDM.cjs} +14 -14
  34. package/dist/{chunk-ZDNYIQKM.js → chunk-NHNW5DK3.js} +4 -4
  35. package/dist/{chunk-ZDNYIQKM.js.map → chunk-NHNW5DK3.js.map} +1 -1
  36. package/dist/{chunk-RWSC47L7.cjs → chunk-NUQ64S5B.cjs} +18 -18
  37. package/dist/{chunk-DGKIKXB7.js → chunk-QLVX7MPS.js} +3 -3
  38. package/dist/{chunk-DGKIKXB7.js.map → chunk-QLVX7MPS.js.map} +1 -1
  39. package/dist/{chunk-XLR2O4OK.js → chunk-W376L2GM.js} +5 -5
  40. package/dist/{chunk-XLR2O4OK.js.map → chunk-W376L2GM.js.map} +1 -1
  41. package/dist/{chunk-RR67AKP6.cjs → chunk-WDBFGX3U.cjs} +27 -26
  42. package/dist/{chunk-4VCCGBXW.js → chunk-XE3IYW5B.js} +4 -4
  43. package/dist/{chunk-4VCCGBXW.js.map → chunk-XE3IYW5B.js.map} +1 -1
  44. package/dist/{chunk-YETMZ27Q.cjs → chunk-YYW33WUL.cjs} +3 -3
  45. package/dist/comments.cjs +30 -30
  46. package/dist/comments.js +3 -3
  47. package/dist/diagram.cjs +6 -6
  48. package/dist/diagram.js +3 -3
  49. package/dist/embed.cjs +5 -5
  50. package/dist/embed.js +3 -3
  51. package/dist/emoji.cjs +6 -6
  52. package/dist/emoji.js +3 -3
  53. package/dist/find.cjs +7 -7
  54. package/dist/find.js +3 -3
  55. package/dist/headless.cjs +11 -11
  56. package/dist/headless.js +1 -1
  57. package/dist/highlight.cjs +3 -3
  58. package/dist/highlight.js +2 -2
  59. package/dist/index.cjs +23 -23
  60. package/dist/index.d.cts +1 -1
  61. package/dist/index.d.ts +1 -1
  62. package/dist/index.js +2 -2
  63. package/dist/math.cjs +6 -6
  64. package/dist/math.js +4 -4
  65. package/dist/mention.cjs +6 -6
  66. package/dist/mention.js +4 -4
  67. package/dist/presence.cjs +12 -12
  68. package/dist/presence.js +3 -3
  69. package/dist/source.cjs +2 -2
  70. package/dist/source.js +2 -2
  71. package/dist/stats.cjs +6 -6
  72. package/dist/stats.js +3 -3
  73. package/dist/styles.css +1 -1
  74. package/dist/table.cjs +22 -22
  75. package/dist/table.js +3 -3
  76. package/dist/toc.cjs +6 -6
  77. package/dist/toc.js +3 -3
  78. package/package.json +3 -2
  79. package/dist/chunk-DT3ODGZ7.js.map +0 -1
  80. package/dist/chunk-QIGZ5JAY.js.map +0 -1
  81. package/dist/chunk-SE36LU6G.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { CodeBlock } from './chunk-QIGZ5JAY.js';
1
+ import { CodeBlock } from './chunk-G6NBQYMM.js';
2
2
  import { mergeLabels } from './chunk-DLQCTGC3.js';
3
3
  import { devWarn } from './chunk-HDJ653LM.js';
4
4
  import { defineExtension } from './chunk-5RBMZGKV.js';
@@ -81,5 +81,5 @@ function diagramExtension(options = {}) {
81
81
  }
82
82
 
83
83
  export { DEFAULT_DIAGRAM_LANGUAGES, diagramExtension, englishDiagramLabels };
84
- //# sourceMappingURL=chunk-OBOIZ7L3.js.map
85
- //# sourceMappingURL=chunk-OBOIZ7L3.js.map
84
+ //# sourceMappingURL=chunk-EIWPJWY3.js.map
85
+ //# sourceMappingURL=chunk-EIWPJWY3.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/extensions/diagram/diagram-languages.ts","../src/extensions/diagram/resolve-diagram.ts","../src/extensions/diagram/use-diagram-markup.ts","../src/extensions/diagram/DiagramBlock.tsx","../src/extensions/diagram/diagram-labels.ts","../src/extensions/diagram/diagram-extension.tsx"],"names":[],"mappings":";;;;;;;;;AACO,IAAM,4BAA+C,CAAC,SAAS;AAEtE,IAAM,MAAM,CAAC,aAAqB,SAAS,OAAO,aAAY;AAGvD,SAAS,kBAAkB,WAA8B,UAA2B;AACzF,QAAM,SAAS,IAAI,QAAQ;AAC3B,SAAO,WAAW,MAAM,UAAU,KAAK,CAAC,UAAU,IAAI,KAAK,MAAM,MAAM;AACzE;;;ACNA,IAAM,YAAY,CAAC,UACjB,OAAO,UAAU,YAAY,UAAU,QAAQ,OAAQ,MAA2B,SAAS;AAE7F,SAAS,QAAQ,QAAgC;AAC/C,MAAI,OAAO,WAAW,YAAY,OAAO,MAAK,KAAM,IAAI,OAAO;AAC/D,UAAQ,qEAAqE;AAC7E,SAAO;AACT;AAOA,eAAsB,eACpB,QACA,MACA,UACwB;AACxB,MAAI,WAAW,QAAW,OAAO;AACjC,MAAI;AACF,UAAM,SAAkB,OAAO,MAAM,QAAQ;AAC7C,WAAO,QAAQ,UAAU,MAAM,IAAI,MAAM,SAAS,MAAM;AAAA,EAC1D,QAAQ;AACN,YAAQ,0EAA0E;AAClF,WAAO;AAAA,EACT;AACF;;;ACnBO,SAAS,iBAAiB,SAAyB,MAAc,UAAkB,OAA+B;AACvH,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAwB,IAAI;AACxD,QAAM,EAAE,QAAO,GAAI;AAEnB,YAAU,MAAM;AACd,QAAI,CAAC,OAAO,OAAO,UAAU,IAAI;AACjC,QAAI,OAAO;AACX,SAAK,eAAe,QAAQ,MAAM,QAAQ,EAAE,KAAK,CAAC,UAAU;AAC1D,UAAI,gBAAgB,KAAK;AAAA,IAC3B,CAAC;AACD,WAAO,MAAM;AACX,aAAO;AAAA,IACT;AAAA,EACF,GAAG,CAAC,QAAQ,MAAM,UAAU,KAAK,CAAC;AAElC,SAAO,QAAQ,SAAS;AAC1B;ACbO,SAAS,gBAAgB,SAAwC;AACtE,SAAO,SAAS,cAAc,EAAE,OAAO,YAAW,EAAG;AACnD,UAAM,WAAW,IAAI,MAAM,MAAM,QAAQ;AACzC,UAAM,OAAO,IAAI,MAAM,MAAM,IAAI;AACjC,UAAM,QAAQ,kBAAkB,QAAQ,WAAW,QAAQ;AAC3D,UAAM,SAAS,iBAAiB,SAAS,MAAM,UAAU,KAAK;AAE9D,QAAI,CAAC,OAAO,uBAAO,IAAC,aAAU,OAAc,YAAwB;AACpE,2BACE,KAAC,SAAI,MAAK,SAAQ,cAAY,QAAQ,OAAO,QAAQ,QAAQ,GAAG,WAAU,iBACvE;AAAA,iBAAW,wBACV,IAAC,SAAI,eAAY,QAAO,WAAU,wBAAuB,yBAAyB,EAAE,QAAQ,QAAO,EAAG;AAAA,sBAExG,IAAC,aAAU,OAAc,YAAwB;AAAA,OACnD;AAAA,EAEJ;AACF;;;ACrBO,IAAM,uBAAsC;AAAA,EACjD,SAAS,CAAC,aAAa,GAAG,QAAQ;AAAA,EAClC,UAAU;AACZ;AAGO,IAAM,uBAAuB,CAAC,cAAsD,YAAY,sBAAsB,SAAS;;;ACU/H,SAAS,iBAAiB,UAA0B,EAAC,EAAc;AACxE,QAAM,UAA0B;AAAA,IAC9B,QAAQ,qBAAqB,QAAQ,MAAM;AAAA,IAC3C,QAAQ,QAAQ;AAAA,IAChB,WAAW,QAAQ,aAAa;AAAA,GAClC;AACA,QAAM,KAAkB,EAAE,WAAW,EAAE,MAAM,gBAAgB,OAAO,GAAE,EAAE;AACxE,SAAO,gBAAgB,EAAE,MAAM,WAAW,IAAI;AAChD","file":"chunk-OBOIZ7L3.js"}
1
+ {"version":3,"sources":["../src/extensions/diagram/diagram-languages.ts","../src/extensions/diagram/resolve-diagram.ts","../src/extensions/diagram/use-diagram-markup.ts","../src/extensions/diagram/DiagramBlock.tsx","../src/extensions/diagram/diagram-labels.ts","../src/extensions/diagram/diagram-extension.tsx"],"names":[],"mappings":";;;;;;;;;AACO,IAAM,4BAA+C,CAAC,SAAS;AAEtE,IAAM,MAAM,CAAC,aAAqB,SAAS,OAAO,aAAY;AAGvD,SAAS,kBAAkB,WAA8B,UAA2B;AACzF,QAAM,SAAS,IAAI,QAAQ;AAC3B,SAAO,WAAW,MAAM,UAAU,KAAK,CAAC,UAAU,IAAI,KAAK,MAAM,MAAM;AACzE;;;ACNA,IAAM,YAAY,CAAC,UACjB,OAAO,UAAU,YAAY,UAAU,QAAQ,OAAQ,MAA2B,SAAS;AAE7F,SAAS,QAAQ,QAAgC;AAC/C,MAAI,OAAO,WAAW,YAAY,OAAO,MAAK,KAAM,IAAI,OAAO;AAC/D,UAAQ,qEAAqE;AAC7E,SAAO;AACT;AAOA,eAAsB,eACpB,QACA,MACA,UACwB;AACxB,MAAI,WAAW,QAAW,OAAO;AACjC,MAAI;AACF,UAAM,SAAkB,OAAO,MAAM,QAAQ;AAC7C,WAAO,QAAQ,UAAU,MAAM,IAAI,MAAM,SAAS,MAAM;AAAA,EAC1D,QAAQ;AACN,YAAQ,0EAA0E;AAClF,WAAO;AAAA,EACT;AACF;;;ACnBO,SAAS,iBAAiB,SAAyB,MAAc,UAAkB,OAA+B;AACvH,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAwB,IAAI;AACxD,QAAM,EAAE,QAAO,GAAI;AAEnB,YAAU,MAAM;AACd,QAAI,CAAC,OAAO,OAAO,UAAU,IAAI;AACjC,QAAI,OAAO;AACX,SAAK,eAAe,QAAQ,MAAM,QAAQ,EAAE,KAAK,CAAC,UAAU;AAC1D,UAAI,gBAAgB,KAAK;AAAA,IAC3B,CAAC;AACD,WAAO,MAAM;AACX,aAAO;AAAA,IACT;AAAA,EACF,GAAG,CAAC,QAAQ,MAAM,UAAU,KAAK,CAAC;AAElC,SAAO,QAAQ,SAAS;AAC1B;ACbO,SAAS,gBAAgB,SAAwC;AACtE,SAAO,SAAS,cAAc,EAAE,OAAO,YAAW,EAAG;AACnD,UAAM,WAAW,IAAI,MAAM,MAAM,QAAQ;AACzC,UAAM,OAAO,IAAI,MAAM,MAAM,IAAI;AACjC,UAAM,QAAQ,kBAAkB,QAAQ,WAAW,QAAQ;AAC3D,UAAM,SAAS,iBAAiB,SAAS,MAAM,UAAU,KAAK;AAE9D,QAAI,CAAC,OAAO,uBAAO,IAAC,aAAU,OAAc,YAAwB;AACpE,2BACE,KAAC,SAAI,MAAK,SAAQ,cAAY,QAAQ,OAAO,QAAQ,QAAQ,GAAG,WAAU,iBACvE;AAAA,iBAAW,wBACV,IAAC,SAAI,eAAY,QAAO,WAAU,wBAAuB,yBAAyB,EAAE,QAAQ,QAAO,EAAG;AAAA,sBAExG,IAAC,aAAU,OAAc,YAAwB;AAAA,OACnD;AAAA,EAEJ;AACF;;;ACrBO,IAAM,uBAAsC;AAAA,EACjD,SAAS,CAAC,aAAa,GAAG,QAAQ;AAAA,EAClC,UAAU;AACZ;AAGO,IAAM,uBAAuB,CAAC,cAAsD,YAAY,sBAAsB,SAAS;;;ACU/H,SAAS,iBAAiB,UAA0B,EAAC,EAAc;AACxE,QAAM,UAA0B;AAAA,IAC9B,QAAQ,qBAAqB,QAAQ,MAAM;AAAA,IAC3C,QAAQ,QAAQ;AAAA,IAChB,WAAW,QAAQ,aAAa;AAAA,GAClC;AACA,QAAM,KAAkB,EAAE,WAAW,EAAE,MAAM,gBAAgB,OAAO,GAAE,EAAE;AACxE,SAAO,gBAAgB,EAAE,MAAM,WAAW,IAAI;AAChD","file":"chunk-EIWPJWY3.js"}
@@ -1,4 +1,4 @@
1
- import { focusOwners } from './chunk-SE36LU6G.js';
1
+ import { focusOwners } from './chunk-2BPXVQBP.js';
2
2
 
3
3
  // src/extensions/canvas-focus.ts
4
4
  function ownsNode(controller, node) {
@@ -26,5 +26,5 @@ function watchCanvasFocus(controller, doc, listener) {
26
26
  }
27
27
 
28
28
  export { ownsNode, watchCanvasFocus };
29
- //# sourceMappingURL=chunk-AVD2AI47.js.map
30
- //# sourceMappingURL=chunk-AVD2AI47.js.map
29
+ //# sourceMappingURL=chunk-F2ZK6Z52.js.map
30
+ //# sourceMappingURL=chunk-F2ZK6Z52.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/extensions/canvas-focus.ts"],"names":[],"mappings":";;;AAOO,SAAS,SAAS,YAA4B,MAAmC;AACtF,QAAM,QAAQ,YAAY,IAAI,IAAK;AACnC,SAAO,QAAQ,UAAU,aAAa,CAAC,CAAC,WAAW,MAAM,SAAS,IAAmB;AACvF;AAMO,SAAS,iBACd,YACA,KACA,UACY;AACZ,MAAI;AACJ,QAAM,QAAQ,CAAC,UAAsB,SAAS,SAAS,YAAY,MAAM,MAAM,GAAG,MAAM,MAAM;AAC9F,QAAM,OAAO,CAAC,EAAE,QAAQ,eAAc,KAAkB;AACtD,QAAI,kBAAkB,MAAM;AAC5B,iBAAa,KAAK;AAClB,YAAQ,WAAW,MAAM;AACvB,YAAM,SAAS,IAAI;AACnB,WAAK,CAAC,UAAU,WAAW,IAAI,SAAU,OAAgB,aAAa,SAAS,OAAO,MAAM;AAAA,IAC9F,CAAC;AAAA,EACH;AACA,MAAI,iBAAiB,WAAW,KAAK;AACrC,MAAI,iBAAiB,YAAY,IAAI;AACrC,SAAO,MAAM;AACX,iBAAa,KAAK;AAClB,QAAI,oBAAoB,WAAW,KAAK;AACxC,QAAI,oBAAoB,YAAY,IAAI;AAAA,EAC1C;AACF","file":"chunk-AVD2AI47.js"}
1
+ {"version":3,"sources":["../src/extensions/canvas-focus.ts"],"names":[],"mappings":";;;AAOO,SAAS,SAAS,YAA4B,MAAmC;AACtF,QAAM,QAAQ,YAAY,IAAI,IAAK;AACnC,SAAO,QAAQ,UAAU,aAAa,CAAC,CAAC,WAAW,MAAM,SAAS,IAAmB;AACvF;AAMO,SAAS,iBACd,YACA,KACA,UACY;AACZ,MAAI;AACJ,QAAM,QAAQ,CAAC,UAAsB,SAAS,SAAS,YAAY,MAAM,MAAM,GAAG,MAAM,MAAM;AAC9F,QAAM,OAAO,CAAC,EAAE,QAAQ,eAAc,KAAkB;AACtD,QAAI,kBAAkB,MAAM;AAC5B,iBAAa,KAAK;AAClB,YAAQ,WAAW,MAAM;AACvB,YAAM,SAAS,IAAI;AACnB,WAAK,CAAC,UAAU,WAAW,IAAI,SAAU,OAAgB,aAAa,SAAS,OAAO,MAAM;AAAA,IAC9F,CAAC;AAAA,EACH;AACA,MAAI,iBAAiB,WAAW,KAAK;AACrC,MAAI,iBAAiB,YAAY,IAAI;AACrC,SAAO,MAAM;AACX,iBAAa,KAAK;AAClB,QAAI,oBAAoB,WAAW,KAAK;AACxC,QAAI,oBAAoB,YAAY,IAAI;AAAA,EAC1C;AACF","file":"chunk-F2ZK6Z52.js"}
@@ -1,8 +1,9 @@
1
- import { useQuoinEditor, EditorView, useIsomorphicLayoutEffect, useReadOnly, useEditorState, listen, wholeState, NODE_ENTRY, useBlockDomId, useToggleOpen, ToggleChevron, EditableRegion, drawnBlockCount, isComposingKey, NATIVE_INTERACTION, useRegionDomId, TaskCheckbox, useOrderedNumber, createAutoScroll, domMapOf, dispatchSelection, regionInline, onBlock, hostKey, BlockErrorContext, textDiff, moveToNeighbour, visibleBlockIndexes } from './chunk-SE36LU6G.js';
1
+ import { useQuoinEditor, EditorView, useIsomorphicLayoutEffect, inlineDirection, useReadOnly, useEditorState, listen, wholeState, NODE_ENTRY, useBlockDomId, useToggleOpen, ToggleChevron, EditableRegion, calloutTone, drawnBlockCount, isComposingKey, NATIVE_INTERACTION, CALLOUT_TONES, useRegionDomId, TaskCheckbox, useOrderedNumber, createAutoScroll, arrowAsWritten, domMapOf, dispatchSelection, regionInline, onBlock, hostKey, BlockErrorContext, textDiff, moveToNeighbour, visibleBlockIndexes } from './chunk-2BPXVQBP.js';
2
2
  import { mergeLabels } from './chunk-DLQCTGC3.js';
3
3
  import { defineBlock, devWarn, highlightedLines, blockByType, paletteBlocks, tokenColour, seedData, parsedData } from './chunk-HDJ653LM.js';
4
4
  import { createPluginKey, coreExtensions, defineExtension, duplicateBlocks, primaryRegion, regionLength, headBlockId, sameSelection, Transaction, insertBlocksStep, startOf, replaceBlockStep, descendantsEnd, LINE_JOIN, detectMac, selectedBlockIds, blockRangeSelection, runCommands, setSelection, selectedBlockRange, toMarkdown, isCollapsed, createBlock, isParagraph, nodeSelection, setAttrsStep, LINE_SPLIT, validateSelection, endOf, insertBlockAfter, insertText, isTextFlow, markRanges, setTextAlign, orderedRange, unsetLink, textSelection, toggleMark, isActive, setBlockType, getPluginState, rangeContent, unsetMark, setMark, markExtent, setLink, deleteBlocks, setAttrs, HISTORY_GROUP, setBlockColor, removeMarkStep, caretMarks, replaceInlineStep, keyName, normalizeKey, movedBlockIds, moveBlocksUp, moveBlocksDown, selectAll, redo, undo, moveBlocksTo, indent, outdent } from './chunk-5RBMZGKV.js';
5
5
  import { str, blockPlainText, sanitizeHref, inlineText, parseInline, newId, createDoc, sameItems, headingLevel, sanitizeAssetUrl, blockById, sliceInline, specFor, createBlockCodec, hasMark, alignOrUndefined, optionalNumber, requireBlockIndex, SCHEME, inlineLength, paletteOrUndefined, PALETTE, addMark, text, sameValue } from './chunk-7Y4B7NHO.js';
6
+ import { DirectionProvider } from '@radix-ui/react-direction';
6
7
  import * as React7 from 'react';
7
8
  import { createContext, forwardRef, useRef, useImperativeHandle, useState, useMemo, useEffect, Fragment as Fragment$1, useContext, useSyncExternalStore, useCallback, useId, createElement } from 'react';
8
9
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -439,7 +440,11 @@ function formatSize(bytes) {
439
440
  }
440
441
 
441
442
  // src/i18n/english-labels.ts
442
- var englishLabels = {
443
+ function frozen(labels) {
444
+ for (const label of Object.values(labels)) if (typeof label === "object") Object.freeze(label);
445
+ return Object.freeze(labels);
446
+ }
447
+ var englishLabels = frozen({
443
448
  document: "Editor",
444
449
  editorHint: "Press Escape, then Tab, to leave the editor.",
445
450
  paragraph: "Paragraph",
@@ -641,7 +646,7 @@ var englishLabels = {
641
646
  emptyFile: "No file chosen",
642
647
  emptyMarkdown: "Empty markdown block",
643
648
  emptyCallout: "Empty callout"
644
- };
649
+ });
645
650
  var QuoinContext = React7.createContext(null);
646
651
  function QuoinProvider({
647
652
  value,
@@ -1242,7 +1247,6 @@ function closeBlockMenu(store) {
1242
1247
  }
1243
1248
 
1244
1249
  // src/blocks/text/callout-tone.ts
1245
- var CALLOUT_TONES = ["info", "tip", "success", "warning", "danger"];
1246
1250
  var CALLOUT_ICONS = ["\u{1F4A1}", "\u26A0\uFE0F", "\u2705", "\u2757", "\u2139\uFE0F", "\u{1F4CC}"];
1247
1251
  var TONE_ICONS = {
1248
1252
  info: "\u2139\uFE0F",
@@ -1251,9 +1255,6 @@ var TONE_ICONS = {
1251
1255
  warning: "\u26A0\uFE0F",
1252
1256
  danger: "\u2757"
1253
1257
  };
1254
- function calloutTone(value) {
1255
- return CALLOUT_TONES.find((tone) => tone === value) ?? "info";
1256
- }
1257
1258
  function calloutIcon(attrs, tone) {
1258
1259
  return typeof attrs.icon === "string" && attrs.icon !== "" ? attrs.icon : TONE_ICONS[tone];
1259
1260
  }
@@ -2284,7 +2285,7 @@ async function uploadInto(controller, blockId, file, { type, category }, { uploa
2284
2285
  const token = claimUpload(controller, blockId);
2285
2286
  const before = assetOf(controller, blockId, type);
2286
2287
  const stored = await upload(file, category);
2287
- if (typeof stored?.storageKey !== "string") throw new Error();
2288
+ if (typeof stored?.storageKey !== "string" || stored.storageKey === "") throw new Error();
2288
2289
  if (!isNewestUpload(controller, blockId, token) || !sameAsset(assetOf(controller, blockId, type), before)) return;
2289
2290
  onLand?.();
2290
2291
  await land2(stored, token);
@@ -2469,9 +2470,10 @@ function useRovingFocus() {
2469
2470
  const onKeyDown = (event) => {
2470
2471
  const all = items();
2471
2472
  const index = all.indexOf(event.target);
2472
- if (index === -1 || !Object.hasOwn(MOVES, event.key)) return;
2473
+ const key = row.current === null ? event.key : arrowAsWritten(event.key, inlineDirection(row.current));
2474
+ if (index === -1 || !Object.hasOwn(MOVES, key)) return;
2473
2475
  event.preventDefault();
2474
- all[MOVES[event.key](index, all.length)].focus();
2476
+ all[MOVES[key](index, all.length)].focus();
2475
2477
  };
2476
2478
  return { ref, owns, focusCurrent, onFocus, onKeyDown };
2477
2479
  }
@@ -3894,9 +3896,6 @@ function structureAnnouncement(tr, labels, undoKeys) {
3894
3896
  return inserted === null ? null : labels.blockInserted(...drawnPosition(tr.doc, inserted));
3895
3897
  }
3896
3898
 
3897
- // src/ui/direction.ts
3898
- var inlineDirection = (element) => getComputedStyle(element).direction === "rtl" ? "rtl" : "ltr";
3899
-
3900
3899
  // src/drag/drag-layout.ts
3901
3900
  var INDENT_STEP_REM = 1.5;
3902
3901
  function rootOrigin(root) {
@@ -4330,7 +4329,15 @@ function Gutter({ controller, store, actions }) {
4330
4329
  }
4331
4330
 
4332
4331
  // src/i18n/resolve-labels.ts
4333
- var resolveLabels = (overrides) => mergeLabels(englishLabels, overrides);
4332
+ var isRecord = (value) => typeof value === "object" && value !== null;
4333
+ function ontoRecords(overrides) {
4334
+ const taken = Object.entries(overrides).map(([key, value]) => {
4335
+ const fallback = englishLabels[key];
4336
+ return [key, isRecord(value) && isRecord(fallback) ? { ...fallback, ...value } : value];
4337
+ });
4338
+ return Object.fromEntries(taken);
4339
+ }
4340
+ var resolveLabels = (overrides) => mergeLabels(englishLabels, overrides && ontoRecords(overrides));
4334
4341
 
4335
4342
  // src/menus/floating/range-rect.ts
4336
4343
  var TEXT_NODE = 3;
@@ -5797,6 +5804,14 @@ function shortcutsExtension(store) {
5797
5804
  ui: { overlays: [ShortcutsOverlay] }
5798
5805
  });
5799
5806
  }
5807
+ function useRootDirection(controller) {
5808
+ const [direction, setDirection] = useState("ltr");
5809
+ useIsomorphicLayoutEffect(() => {
5810
+ const root = controller.root;
5811
+ if (root !== null) setDirection(inlineDirection(root));
5812
+ }, [controller]);
5813
+ return direction;
5814
+ }
5800
5815
 
5801
5816
  // src/canvas/block-link.ts
5802
5817
  var FRAGMENT = "#block-";
@@ -6314,6 +6329,7 @@ var BlockCanvas = forwardRef(function BlockCanvas2({
6314
6329
  const placeholderLabels = placeholder === void 0 ? labels : { ...labels, placeholderEmpty: placeholder };
6315
6330
  return (state, block) => placeholderFor(state, block, placeholderLabels);
6316
6331
  }, [labels, placeholder]);
6332
+ const direction = useRootDirection(controller);
6317
6333
  useImperativeHandle(
6318
6334
  ref,
6319
6335
  () => ({
@@ -6324,7 +6340,7 @@ var BlockCanvas = forwardRef(function BlockCanvas2({
6324
6340
  }),
6325
6341
  [controller, resolveAssetUrl]
6326
6342
  );
6327
- return /* @__PURE__ */ jsx(QuoinProvider, { value: { blockTypes, upload, resolveAssetUrl, onError, highlight, controller, labels }, children: /* @__PURE__ */ jsx(VoidEditingContext.Provider, { value: voidEditing, children: /* @__PURE__ */ jsx(SlashItemsProvider, { value: slashItems, children: /* @__PURE__ */ jsx(BubbleItemsProvider, { value: ui.bubbleItems, children: /* @__PURE__ */ jsx(CanvasUiProvider, { value: uiStore, children: /* @__PURE__ */ jsxs(
6343
+ return /* @__PURE__ */ jsx(DirectionProvider, { dir: direction, children: /* @__PURE__ */ jsx(QuoinProvider, { value: { blockTypes, upload, resolveAssetUrl, onError, highlight, controller, labels }, children: /* @__PURE__ */ jsx(VoidEditingContext.Provider, { value: voidEditing, children: /* @__PURE__ */ jsx(SlashItemsProvider, { value: slashItems, children: /* @__PURE__ */ jsx(BubbleItemsProvider, { value: ui.bubbleItems, children: /* @__PURE__ */ jsx(CanvasUiProvider, { value: uiStore, children: /* @__PURE__ */ jsxs(
6328
6344
  EditorView,
6329
6345
  {
6330
6346
  controller,
@@ -6351,7 +6367,7 @@ var BlockCanvas = forwardRef(function BlockCanvas2({
6351
6367
  ui.overlays.map((Overlay2, index) => /* @__PURE__ */ jsx(Overlay2, { controller }, index))
6352
6368
  ]
6353
6369
  }
6354
- ) }) }) }) }) });
6370
+ ) }) }) }) }) }) });
6355
6371
  });
6356
6372
  function progressText(state, labels) {
6357
6373
  if (state.phase === "busy") return labels.uploading;
@@ -6415,8 +6431,15 @@ async function attemptSave(run) {
6415
6431
  return { error };
6416
6432
  }
6417
6433
  }
6434
+ function retryable(error, isRetryable) {
6435
+ try {
6436
+ return isRetryable(error);
6437
+ } catch {
6438
+ return false;
6439
+ }
6440
+ }
6418
6441
  function nextRetryDelay(error, retriesSoFar, { debounceMs, maxBackoffMs, maxRetries, isRetryable }) {
6419
- if (retriesSoFar >= maxRetries || !isRetryable(error)) return null;
6442
+ if (retriesSoFar >= maxRetries || !retryable(error, isRetryable)) return null;
6420
6443
  return Math.min(debounceMs * 2 ** (retriesSoFar + 1), maxBackoffMs);
6421
6444
  }
6422
6445
 
@@ -6544,6 +6567,6 @@ function useAutosave({
6544
6567
  return { status, error, retry: runner.retry, flush: runner.flush };
6545
6568
  }
6546
6569
 
6547
- export { AlignCenter, AlignLeft, AlignRight, AppWindow, ArrowDown, ArrowDownToLine, ArrowLeft, ArrowLeftToLine, ArrowRight, ArrowRightToLine, ArrowUp, ArrowUpToLine, BlockCanvas, Bookmark, Button, CODE_LANGUAGES, CaseSensitive, ChevronDown, ChevronUp, CodeBlock, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuTrigger, FLOATING_TOOLBAR, FOCUS_RING, FilePickerButton, GripHorizontal, GripVertical, Input, MENU_ITEM, MenuIcon, MessageSquare, MessageSquarePlus, PenLine, Plus, Popover, PopoverAnchor, PopoverContent, QuoinProvider, Radical, Regex, SendHorizontal, Sigma, SmilePlus, Sparkles, SuggestionMenu, Table, TableOfContents, Trash, UploadField, WholeWord, X, blockFragment, bubblePart, cn, coreBlocks, dismissSuggestion, englishLabels, focusNode, formatShortcut, inlineDirection, insertBlockToWrite, insertBlocks, interceptKeys, keepFocus, linkAddress, linkedBlockId, noChange, preventDefault, rangeRect, replaceTrigger, resolveLabels, returnFocusToText, runOnBlocks, selectHandlers, selectNode, styleTargets, suggestionPlugin, toError, useAutosave, useFocusKey, useLabels, useNodeKeys, useOutsidePress, usePartAnchor, useQuoin, useRangeAnchor, useRovingFocus, virtualAnchor };
6548
- //# sourceMappingURL=chunk-QIGZ5JAY.js.map
6549
- //# sourceMappingURL=chunk-QIGZ5JAY.js.map
6570
+ export { AlignCenter, AlignLeft, AlignRight, AppWindow, ArrowDown, ArrowDownToLine, ArrowLeft, ArrowLeftToLine, ArrowRight, ArrowRightToLine, ArrowUp, ArrowUpToLine, BlockCanvas, Bookmark, Button, CODE_LANGUAGES, CaseSensitive, ChevronDown, ChevronUp, CodeBlock, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuTrigger, FLOATING_TOOLBAR, FOCUS_RING, FilePickerButton, GripHorizontal, GripVertical, Input, MENU_ITEM, MenuIcon, MessageSquare, MessageSquarePlus, PenLine, Plus, Popover, PopoverAnchor, PopoverContent, QuoinProvider, Radical, Regex, SendHorizontal, Sigma, SmilePlus, Sparkles, SuggestionMenu, Table, TableOfContents, Trash, UploadField, WholeWord, X, blockFragment, bubblePart, cn, coreBlocks, dismissSuggestion, englishLabels, focusNode, formatShortcut, insertBlockToWrite, insertBlocks, interceptKeys, keepFocus, linkAddress, linkedBlockId, noChange, preventDefault, rangeRect, replaceTrigger, resolveLabels, returnFocusToText, runOnBlocks, selectHandlers, selectNode, styleTargets, suggestionPlugin, toError, useAutosave, useFocusKey, useLabels, useNodeKeys, useOutsidePress, usePartAnchor, useQuoin, useRangeAnchor, useRovingFocus, virtualAnchor };
6571
+ //# sourceMappingURL=chunk-G6NBQYMM.js.map
6572
+ //# sourceMappingURL=chunk-G6NBQYMM.js.map