mirror of
https://github.com/standardnotes/app
synced 2026-09-13 09:46:02 -04:00
Compare commits
175
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cdb380dbc8 | ||
|
|
85d0550a20 | ||
|
|
f7a3d493f1 | ||
|
|
8c40a8f90d | ||
|
|
10c9acf061 | ||
|
|
7e75dc4bcf | ||
|
|
4810791885 | ||
|
|
2bc7d57235 | ||
|
|
6e282c1c9a | ||
|
|
e0f84f23ac | ||
|
|
9c2bf946ce | ||
|
|
b240e3a4fa | ||
|
|
562e1bef17 | ||
|
|
ec2d6c5506 | ||
|
|
3c6de3a6c8 | ||
|
|
c7cf2b9b91 | ||
|
|
32b6e97f64 | ||
|
|
896d346c27 | ||
|
|
eb90005939 | ||
|
|
14b2f916df | ||
|
|
db93237d9f | ||
|
|
795ca5b883 | ||
|
|
cf60d8f0d5 | ||
|
|
129c44310c | ||
|
|
9a4e6102b9 | ||
|
|
269db1a5b1 | ||
|
|
9800570fb1 | ||
|
|
7f1baf52c1 | ||
|
|
241a973880 | ||
|
|
d983d6854c | ||
|
|
432ebbdfbe | ||
|
|
933d2309f4 | ||
|
|
6fc2b25e14 | ||
|
|
d4f9a18135 | ||
|
|
65c16ed246 | ||
|
|
852ddc677d | ||
|
|
17458b61d1 | ||
|
|
03da45537d | ||
|
|
7332f10ff4 | ||
|
|
b6eda707bd | ||
|
|
a37e095907 | ||
|
|
ef81e9d97e | ||
|
|
c6a31f209d | ||
|
|
292153333f | ||
|
|
6cef772212 | ||
|
|
f4ab9b0d97 | ||
|
|
73eba38c14 | ||
|
|
4b19076f9b | ||
|
|
da9c412703 | ||
|
|
9784ff0173 | ||
|
|
d8df19b0bd | ||
|
|
da16a779ce | ||
|
|
473fb6be53 | ||
|
|
d5cac8e32d | ||
|
|
45ca99c627 | ||
|
|
8a6e123fbc | ||
|
|
914c444349 | ||
|
|
bf8ad837ef | ||
|
|
e3ae421f7c | ||
|
|
a162294d04 | ||
|
|
f0613e7af5 | ||
|
|
7967ddead7 | ||
|
|
f868989bb5 | ||
|
|
eb5e5e11e0 | ||
|
|
0d1831ea49 | ||
|
|
a22000242a | ||
|
|
4068d5b480 | ||
|
|
fd0d08c153 | ||
|
|
adef74f23f | ||
|
|
b90c725f96 | ||
|
|
74b459cae0 | ||
|
|
c1e9a7fe40 | ||
|
|
edf8de4468 | ||
|
|
bb81c8acfc | ||
|
|
414a2dda0b | ||
|
|
45c661c136 | ||
|
|
c5ca4a9857 | ||
|
|
56813909bb | ||
|
|
7a4172ad11 | ||
|
|
e97e788b5f | ||
|
|
20a9ef0dad | ||
|
|
670f27b9cd | ||
|
|
f45d854006 | ||
|
|
5043b4c110 | ||
|
|
e1981f4eae | ||
|
|
3fb6d10a7f | ||
|
|
498cd1b27c | ||
|
|
6d872cd45a | ||
|
|
9e2d496804 | ||
|
|
7febc1fac6 | ||
|
|
6f571936c3 | ||
|
|
065f3562f4 | ||
|
|
41f542d1c5 | ||
|
|
94840a7afb | ||
|
|
fb19b37d5b | ||
|
|
3b2f761661 | ||
|
|
b28b59e4a0 | ||
|
|
9238759d38 | ||
|
|
d2404ba276 | ||
|
|
7301acd36c | ||
|
|
bf997e356c | ||
|
|
c151c3c6d7 | ||
|
|
6af7f66f46 | ||
|
|
1d0e8cfc7f | ||
|
|
f3f5c63185 | ||
|
|
1651a24370 | ||
|
|
e6b6674407 | ||
|
|
7aaa92ba57 | ||
|
|
612df361d7 | ||
|
|
d23f3ba4d5 | ||
|
|
43dd51b7e5 | ||
|
|
e4d85d50c9 | ||
|
|
4bd44c3a6a | ||
|
|
c42bfdcd2a | ||
|
|
89491870eb | ||
|
|
f797128e32 | ||
|
|
2acb7e3808 | ||
|
|
f8e3c4bbbd | ||
|
|
06ca2bdedb | ||
|
|
f9be8b3d03 | ||
|
|
fa2543b188 | ||
|
|
eb8794823c | ||
|
|
d4c94a67e2 | ||
|
|
3e78e6faf1 | ||
|
|
c85d7b556c | ||
|
|
5d14abe9d7 | ||
|
|
8aa4729233 | ||
|
|
8e11227e8e | ||
|
|
d6cb83a2bb | ||
|
|
a455304a7a | ||
|
|
74da19add8 | ||
|
|
e46f1b3c39 | ||
|
|
84ee718330 | ||
|
|
015660a2b3 | ||
|
|
9a7c947038 | ||
|
|
7c0bf5a9a7 | ||
|
|
d13b51697e | ||
|
|
47745cb79c | ||
|
|
85c401fa6e | ||
|
|
79374f017b | ||
|
|
bfbf9ab8ce | ||
|
|
3d1a038393 | ||
|
|
8542616a5d | ||
|
|
51600f15ad | ||
|
|
306a5e93b8 | ||
|
|
77f692fe66 | ||
|
|
32c5005b0c | ||
|
|
1ebe036149 | ||
|
|
6893f02652 | ||
|
|
345d188fbb | ||
|
|
c3dad5ae8d | ||
|
|
11a17086ac | ||
|
|
5f6c8dedf2 | ||
|
|
e81cf1f1e0 | ||
|
|
2d168a68cf | ||
|
|
700a9953dc | ||
|
|
8f15652ba1 | ||
|
|
1c6b31f643 | ||
|
|
19a515ee6e | ||
|
|
16c21f40d1 | ||
|
|
4c21a61dcf | ||
|
|
cfde0fd9b8 | ||
|
|
28825bc2ee | ||
|
|
b07abaa5df | ||
|
|
50c1977410 | ||
|
|
703a2898ac | ||
|
|
e1905fa121 | ||
|
|
9c73a23ca0 | ||
|
|
2950aaa09a | ||
|
|
3c0370aae2 | ||
|
|
9854ca898e | ||
|
|
8977da3960 | ||
|
|
5a49005e79 | ||
|
|
865ebe58d3 | ||
|
|
07cba245c1 |
@@ -77,8 +77,12 @@ jobs:
|
||||
- name: Export version from package.json
|
||||
run:
|
||||
echo "PACKAGE_VERSION=$(grep '"version"' ../web/package.json | cut -d '"' -f 4 | cut -d "-" -f 1)" >> $GITHUB_ENV
|
||||
- name: Ruby Setup for Fastlane
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
working-directory: 'packages/mobile'
|
||||
- name: Install dependencies
|
||||
run: yarn install --immutable && yarn install:pods
|
||||
run: yarn install --immutable && bundle install && yarn install:pods
|
||||
- run: yarn build:mobile
|
||||
- name: Set ssh connection to Github
|
||||
uses: webfactory/[email protected]
|
||||
@@ -86,10 +90,6 @@ jobs:
|
||||
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||
- name: Export Apple AppStore Connect API key
|
||||
run: echo "${{ secrets.APPSTORE_CONNECT_KEY }}" > ios/Authkey.p8
|
||||
- name: Ruby Setup for Fastlane
|
||||
uses: ruby/setup-ruby@v1
|
||||
with:
|
||||
working-directory: 'packages/mobile'
|
||||
- name: Setup fastlane
|
||||
uses: maierj/[email protected]
|
||||
env:
|
||||
|
||||
@@ -103,6 +103,44 @@ jobs:
|
||||
trigger_workflow: true
|
||||
wait_workflow: true
|
||||
|
||||
publish-web-docker:
|
||||
name: Build and publish Docker Image for Web App
|
||||
needs: [e2e-base, e2e-vaults]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
token: ${{ secrets.CI_PAT_TOKEN }}
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
node-version-file: '.nvmrc'
|
||||
cache: 'yarn'
|
||||
|
||||
- name: Install dependencies
|
||||
run: yarn install --immutable
|
||||
|
||||
- name: Build
|
||||
run: yarn build:web
|
||||
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v2
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: Publish SNJS Docker image for E2E testing
|
||||
run: |
|
||||
cd packages/web
|
||||
docker build -t standardnotes/web:${{ github.sha }} .
|
||||
docker tag standardnotes/web:${{ github.sha }} standardnotes/web:latest
|
||||
docker push standardnotes/web:${{ github.sha }}
|
||||
docker push standardnotes/web:latest
|
||||
|
||||
publish:
|
||||
name: Publish to NPM
|
||||
needs: [e2e-base, e2e-vaults]
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,77 +0,0 @@
|
||||
diff --git a/LexicalClipboard.dev.js b/LexicalClipboard.dev.js
|
||||
index 08c80def0bffdd5011948bc73733af51a2f95b3f..b8d5a467b6964b88002d1f0c2ce5d5974755ec75 100644
|
||||
--- a/LexicalClipboard.dev.js
|
||||
+++ b/LexicalClipboard.dev.js
|
||||
@@ -102,7 +102,7 @@ function $insertDataTransferForPlainText(dataTransfer, selection) {
|
||||
* @param selection the selection to use as the insertion point for the content in the DataTransfer object
|
||||
* @param editor the LexicalEditor the content is being inserted into.
|
||||
*/
|
||||
-function $insertDataTransferForRichText(dataTransfer, selection, editor) {
|
||||
+function $insertDataTransferForRichText(dataTransfer, selection, editor, event) {
|
||||
const lexicalString = dataTransfer.getData('application/x-lexical-editor');
|
||||
if (lexicalString) {
|
||||
try {
|
||||
@@ -115,15 +115,18 @@ function $insertDataTransferForRichText(dataTransfer, selection, editor) {
|
||||
// Fail silently.
|
||||
}
|
||||
}
|
||||
- const htmlString = dataTransfer.getData('text/html');
|
||||
- if (htmlString) {
|
||||
- try {
|
||||
- const parser = new DOMParser();
|
||||
- const dom = parser.parseFromString(htmlString, 'text/html');
|
||||
- const nodes = html.$generateNodesFromDOM(editor, dom);
|
||||
- return $insertGeneratedNodes(editor, nodes, selection);
|
||||
- } catch (_unused2) {
|
||||
- // Fail silently.
|
||||
+ const shouldIgnoreHTML = event && event.inputType === 'insertReplacementText' && dataTransfer.types.includes('text/plain');
|
||||
+ if (!shouldIgnoreHTML) {
|
||||
+ const htmlString = dataTransfer.getData('text/html');
|
||||
+ if (htmlString) {
|
||||
+ try {
|
||||
+ const parser = new DOMParser();
|
||||
+ const dom = parser.parseFromString(htmlString, 'text/html');
|
||||
+ const nodes = html.$generateNodesFromDOM(editor, dom);
|
||||
+ return $insertGeneratedNodes(editor, nodes, selection);
|
||||
+ } catch (_unused2) {
|
||||
+ // Fail silently.
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/LexicalClipboard.prod.js b/LexicalClipboard.prod.js
|
||||
index 217fed14ce25e926fafe748de74a9cc2597854ea..0489348de734c563e7befc0af50aaefec74ccd98 100644
|
||||
--- a/LexicalClipboard.prod.js
|
||||
+++ b/LexicalClipboard.prod.js
|
||||
@@ -7,11 +7,11 @@
|
||||
'use strict';var f=require("@lexical/html"),m=require("@lexical/selection"),q=require("@lexical/utils"),r=require("lexical");function t(a){let b=new URLSearchParams;b.append("code",a);for(let c=1;c<arguments.length;c++)b.append("v",arguments[c]);throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?${b} for the full message or `+"use the non-minified dev environment for full errors and additional helpful warnings.");}
|
||||
let u="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement;function v(a){let b=r.$getSelection();if(null==b)throw Error("Expected valid LexicalSelection");return r.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?"":f.$generateHtmlFromNodes(a,b)}
|
||||
function w(a){let b=r.$getSelection();if(null==b)throw Error("Expected valid LexicalSelection");return r.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?null:JSON.stringify(x(a,b))}function y(a,b,c){a.dispatchCommand(r.SELECTION_INSERT_CLIPBOARD_NODES_COMMAND,{nodes:b,selection:c})||c.insertNodes(b)}
|
||||
-function z(a,b,c,d=[]){let e=null!=b?c.isSelected(b):!0,h=r.$isElementNode(c)&&c.excludeFromCopy("html");var g=c;if(null!==b){var k=m.$cloneWithProperties(c);g=k=r.$isTextNode(k)&&null!=b?m.$sliceSelectedTextNodeContent(b,k):k}let n=r.$isElementNode(g)?g.getChildren():[];var l=g;k=l.exportJSON();var p=l.constructor;k.type!==p.getType()&&t(58,p.name);r.$isElementNode(l)&&(Array.isArray(k.children)||t(59,p.name));r.$isTextNode(g)&&(g=g.__text,0<g.length?k.text=g:e=!1);for(g=0;g<n.length;g++)l=n[g],
|
||||
-p=z(a,b,l,k.children),!e&&r.$isElementNode(c)&&p&&c.extractWithChild(l,b,"clone")&&(e=!0);if(e&&!h)d.push(k);else if(Array.isArray(k.children))for(a=0;a<k.children.length;a++)d.push(k.children[a]);return e}function x(a,b){let c=[],d=r.$getRoot().getChildren();for(let e=0;e<d.length;e++)z(a,b,d[e],c);return{namespace:a._config.namespace,nodes:c}}function A(a){let b=[];for(let c=0;c<a.length;c++){let d=r.$parseSerializedNode(a[c]);r.$isTextNode(d)&&m.$addNodeStyle(d);b.push(d)}return b}let B=null;
|
||||
-function C(a,b){var c=u?(a._window||window).getSelection():null;if(!c)return!1;var d=c.anchorNode;c=c.focusNode;if(null!==d&&null!==c&&!r.isSelectionWithinEditor(a,d,c))return!1;b.preventDefault();b=b.clipboardData;d=r.$getSelection();if(null===b||null===d)return!1;c=v(a);a=w(a);let e="";null!==d&&(e=d.getTextContent());null!==c&&b.setData("text/html",c);null!==a&&b.setData("application/x-lexical-editor",a);b.setData("text/plain",e);return!0}exports.$generateJSONFromSelectedNodes=x;
|
||||
+function z(a,b,c,e=[]){let g=null!=b?c.isSelected(b):!0,k=r.$isElementNode(c)&&c.excludeFromCopy("html");var d=c;if(null!==b){var h=m.$cloneWithProperties(c);d=h=r.$isTextNode(h)&&null!=b?m.$sliceSelectedTextNodeContent(b,h):h}let n=r.$isElementNode(d)?d.getChildren():[];var l=d;h=l.exportJSON();var p=l.constructor;h.type!==p.getType()&&t(58,p.name);r.$isElementNode(l)&&(Array.isArray(h.children)||t(59,p.name));r.$isTextNode(d)&&(d=d.__text,0<d.length?h.text=d:g=!1);for(d=0;d<n.length;d++)l=n[d],
|
||||
+p=z(a,b,l,h.children),!g&&r.$isElementNode(c)&&p&&c.extractWithChild(l,b,"clone")&&(g=!0);if(g&&!k)e.push(h);else if(Array.isArray(h.children))for(a=0;a<h.children.length;a++)e.push(h.children[a]);return g}function x(a,b){let c=[],e=r.$getRoot().getChildren();for(let g=0;g<e.length;g++)z(a,b,e[g],c);return{namespace:a._config.namespace,nodes:c}}function A(a){let b=[];for(let c=0;c<a.length;c++){let e=r.$parseSerializedNode(a[c]);r.$isTextNode(e)&&m.$addNodeStyle(e);b.push(e)}return b}let B=null;
|
||||
+function C(a,b){var c=u?(a._window||window).getSelection():null;if(!c)return!1;var e=c.anchorNode;c=c.focusNode;if(null!==e&&null!==c&&!r.isSelectionWithinEditor(a,e,c))return!1;b.preventDefault();b=b.clipboardData;e=r.$getSelection();if(null===b||null===e)return!1;c=v(a);a=w(a);let g="";null!==e&&(g=e.getTextContent());null!==c&&b.setData("text/html",c);null!==a&&b.setData("application/x-lexical-editor",a);b.setData("text/plain",g);return!0}exports.$generateJSONFromSelectedNodes=x;
|
||||
exports.$generateNodesFromSerializedNodes=A;exports.$getHtmlContent=v;exports.$getLexicalContent=w;exports.$insertDataTransferForPlainText=function(a,b){a=a.getData("text/plain")||a.getData("text/uri-list");null!=a&&b.insertRawText(a)};
|
||||
-exports.$insertDataTransferForRichText=function(a,b,c){var d=a.getData("application/x-lexical-editor");if(d)try{let h=JSON.parse(d);if(h.namespace===c._config.namespace&&Array.isArray(h.nodes)){let g=A(h.nodes);return y(c,g,b)}}catch(h){}if(d=a.getData("text/html"))try{var e=(new DOMParser).parseFromString(d,"text/html");let h=f.$generateNodesFromDOM(c,e);return y(c,h,b)}catch(h){}a=a.getData("text/plain")||a.getData("text/uri-list");if(null!=a)if(r.$isRangeSelection(b))for(a=a.split(/(\r?\n|\t)/),
|
||||
-""===a[a.length-1]&&a.pop(),c=0;c<a.length;c++)e=a[c],"\n"===e||"\r\n"===e?b.insertParagraph():"\t"===e?b.insertNodes([r.$createTabNode()]):b.insertText(e);else b.insertRawText(a)};exports.$insertGeneratedNodes=y;
|
||||
-exports.copyToClipboard=async function(a,b){if(null!==B)return!1;if(null!==b)return new Promise(g=>{a.update(()=>{g(C(a,b))})});var c=a.getRootElement();let d=null==a._window?window.document:a._window.document,e=u?(a._window||window).getSelection():null;if(null===c||null===e)return!1;let h=d.createElement("span");h.style.cssText="position: fixed; top: -1000px;";h.append(d.createTextNode("#"));c.append(h);c=new Range;c.setStart(h,0);c.setEnd(h,1);e.removeAllRanges();e.addRange(c);return new Promise(g=>
|
||||
-{let k=a.registerCommand(r.COPY_COMMAND,n=>{q.objectKlassEquals(n,ClipboardEvent)&&(k(),null!==B&&(window.clearTimeout(B),B=null),g(C(a,n)));return!0},r.COMMAND_PRIORITY_CRITICAL);B=window.setTimeout(()=>{k();B=null;g(!1)},50);d.execCommand("copy");h.remove()})}
|
||||
+exports.$insertDataTransferForRichText=function(a,b,c,e){let g=a.getData("application/x-lexical-editor");if(g)try{let d=JSON.parse(g);if(d.namespace===c._config.namespace&&Array.isArray(d.nodes)){let h=A(d.nodes);return y(c,h,b)}}catch(d){}if(!e||"insertReplacementText"!==e.inputType||!a.types.includes("text/plain"))if(e=a.getData("text/html"))try{var k=(new DOMParser).parseFromString(e,"text/html");let d=f.$generateNodesFromDOM(c,k);return y(c,d,b)}catch(d){}a=a.getData("text/plain")||a.getData("text/uri-list");
|
||||
+if(null!=a)if(r.$isRangeSelection(b))for(a=a.split(/(\r?\n|\t)/),""===a[a.length-1]&&a.pop(),c=0;c<a.length;c++)k=a[c],"\n"===k||"\r\n"===k?b.insertParagraph():"\t"===k?b.insertNodes([r.$createTabNode()]):b.insertText(k);else b.insertRawText(a)};exports.$insertGeneratedNodes=y;
|
||||
+exports.copyToClipboard=async function(a,b){if(null!==B)return!1;if(null!==b)return new Promise(d=>{a.update(()=>{d(C(a,b))})});var c=a.getRootElement();let e=null==a._window?window.document:a._window.document,g=u?(a._window||window).getSelection():null;if(null===c||null===g)return!1;let k=e.createElement("span");k.style.cssText="position: fixed; top: -1000px;";k.append(e.createTextNode("#"));c.append(k);c=new Range;c.setStart(k,0);c.setEnd(k,1);g.removeAllRanges();g.addRange(c);return new Promise(d=>
|
||||
+{let h=a.registerCommand(r.COPY_COMMAND,n=>{q.objectKlassEquals(n,ClipboardEvent)&&(h(),null!==B&&(window.clearTimeout(B),B=null),d(C(a,n)));return!0},r.COMMAND_PRIORITY_CRITICAL);B=window.setTimeout(()=>{h();B=null;d(!1)},50);e.execCommand("copy");k.remove()})}
|
||||
diff --git a/clipboard.d.ts b/clipboard.d.ts
|
||||
index 99e2138389b64d298a1330d7b354ba87d2e6f24e..83250a4c2049f94e08bfdfc757e03e8a85a08dd4 100644
|
||||
--- a/clipboard.d.ts
|
||||
+++ b/clipboard.d.ts
|
||||
@@ -44,7 +44,7 @@ export declare function $insertDataTransferForPlainText(dataTransfer: DataTransf
|
||||
* @param selection the selection to use as the insertion point for the content in the DataTransfer object
|
||||
* @param editor the LexicalEditor the content is being inserted into.
|
||||
*/
|
||||
-export declare function $insertDataTransferForRichText(dataTransfer: DataTransfer, selection: BaseSelection, editor: LexicalEditor): void;
|
||||
+export declare function $insertDataTransferForRichText(dataTransfer: DataTransfer, selection: BaseSelection, editor: LexicalEditor, event?: InputEvent): void;
|
||||
/**
|
||||
* Inserts Lexical nodes into the editor using different strategies depending on
|
||||
* some simple selection-based heuristics. If you're looking for a generic way to
|
||||
@@ -0,0 +1,128 @@
|
||||
diff --git a/LexicalClipboard.dev.js b/LexicalClipboard.dev.js
|
||||
index 9e72de896d52d9c342e520a79b05dbf8fd9bcee3..512433f1dac08f8b8bd261315827924020035f85 100644
|
||||
--- a/LexicalClipboard.dev.js
|
||||
+++ b/LexicalClipboard.dev.js
|
||||
@@ -102,7 +102,7 @@ function $insertDataTransferForPlainText(dataTransfer, selection) {
|
||||
* @param selection the selection to use as the insertion point for the content in the DataTransfer object
|
||||
* @param editor the LexicalEditor the content is being inserted into.
|
||||
*/
|
||||
-function $insertDataTransferForRichText(dataTransfer, selection, editor) {
|
||||
+function $insertDataTransferForRichText(dataTransfer, selection, editor, event) {
|
||||
const lexicalString = dataTransfer.getData('application/x-lexical-editor');
|
||||
if (lexicalString) {
|
||||
try {
|
||||
@@ -115,15 +115,18 @@ function $insertDataTransferForRichText(dataTransfer, selection, editor) {
|
||||
// Fail silently.
|
||||
}
|
||||
}
|
||||
- const htmlString = dataTransfer.getData('text/html');
|
||||
- if (htmlString) {
|
||||
- try {
|
||||
- const parser = new DOMParser();
|
||||
- const dom = parser.parseFromString(htmlString, 'text/html');
|
||||
- const nodes = html.$generateNodesFromDOM(editor, dom);
|
||||
- return $insertGeneratedNodes(editor, nodes, selection);
|
||||
- } catch (_unused2) {
|
||||
- // Fail silently.
|
||||
+ const shouldIgnoreHTML = event && event.inputType === 'insertReplacementText' && dataTransfer.types.includes('text/plain');
|
||||
+ if (!shouldIgnoreHTML) {
|
||||
+ const htmlString = dataTransfer.getData('text/html');
|
||||
+ if (htmlString) {
|
||||
+ try {
|
||||
+ const parser = new DOMParser();
|
||||
+ const dom = parser.parseFromString(htmlString, 'text/html');
|
||||
+ const nodes = html.$generateNodesFromDOM(editor, dom);
|
||||
+ return $insertGeneratedNodes(editor, nodes, selection);
|
||||
+ } catch (_unused2) {
|
||||
+ // Fail silently.
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/LexicalClipboard.dev.mjs b/LexicalClipboard.dev.mjs
|
||||
index e5b580537bc7b3ce1bd9546f6858988b4f58003f..d43c3be65b908bc4c6ba1b5c95100fa1739765f7 100644
|
||||
--- a/LexicalClipboard.dev.mjs
|
||||
+++ b/LexicalClipboard.dev.mjs
|
||||
@@ -100,7 +100,7 @@ function $insertDataTransferForPlainText(dataTransfer, selection) {
|
||||
* @param selection the selection to use as the insertion point for the content in the DataTransfer object
|
||||
* @param editor the LexicalEditor the content is being inserted into.
|
||||
*/
|
||||
-function $insertDataTransferForRichText(dataTransfer, selection, editor) {
|
||||
+function $insertDataTransferForRichText(dataTransfer, selection, editor, event) {
|
||||
const lexicalString = dataTransfer.getData('application/x-lexical-editor');
|
||||
if (lexicalString) {
|
||||
try {
|
||||
@@ -113,15 +113,18 @@ function $insertDataTransferForRichText(dataTransfer, selection, editor) {
|
||||
// Fail silently.
|
||||
}
|
||||
}
|
||||
- const htmlString = dataTransfer.getData('text/html');
|
||||
- if (htmlString) {
|
||||
- try {
|
||||
- const parser = new DOMParser();
|
||||
- const dom = parser.parseFromString(htmlString, 'text/html');
|
||||
- const nodes = $generateNodesFromDOM(editor, dom);
|
||||
- return $insertGeneratedNodes(editor, nodes, selection);
|
||||
- } catch (_unused2) {
|
||||
- // Fail silently.
|
||||
+ const shouldIgnoreHTML = event && event.inputType === 'insertReplacementText' && dataTransfer.types.includes('text/plain');
|
||||
+ if (!shouldIgnoreHTML) {
|
||||
+ const htmlString = dataTransfer.getData('text/html');
|
||||
+ if (htmlString) {
|
||||
+ try {
|
||||
+ const parser = new DOMParser();
|
||||
+ const dom = parser.parseFromString(htmlString, 'text/html');
|
||||
+ const nodes = $generateNodesFromDOM(editor, dom);
|
||||
+ return $insertGeneratedNodes(editor, nodes, selection);
|
||||
+ } catch (_unused2) {
|
||||
+ // Fail silently.
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/LexicalClipboard.prod.js b/LexicalClipboard.prod.js
|
||||
index 494ab7597d14cfa0386f7bad294c567a8f0110c1..f60bbdf361d44ed078cf9cb403251f8976d665f9 100644
|
||||
--- a/LexicalClipboard.prod.js
|
||||
+++ b/LexicalClipboard.prod.js
|
||||
@@ -7,11 +7,11 @@
|
||||
'use strict';var f=require("@lexical/html"),m=require("@lexical/selection"),q=require("@lexical/utils"),r=require("lexical");function t(a){let b=new URLSearchParams;b.append("code",a);for(let c=1;c<arguments.length;c++)b.append("v",arguments[c]);throw Error(`Minified Lexical error #${a}; visit https://lexical.dev/docs/error?${b} for the full message or `+"use the non-minified dev environment for full errors and additional helpful warnings.");}
|
||||
let u="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement;function v(a){let b=r.$getSelection();if(null==b)throw Error("Expected valid LexicalSelection");return r.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?"":f.$generateHtmlFromNodes(a,b)}
|
||||
function w(a){let b=r.$getSelection();if(null==b)throw Error("Expected valid LexicalSelection");return r.$isRangeSelection(b)&&b.isCollapsed()||0===b.getNodes().length?null:JSON.stringify(x(a,b))}function y(a,b,c){a.dispatchCommand(r.SELECTION_INSERT_CLIPBOARD_NODES_COMMAND,{nodes:b,selection:c})||c.insertNodes(b)}
|
||||
-function z(a,b,c,d=[]){let e=null!==b?c.isSelected(b):!0,h=r.$isElementNode(c)&&c.excludeFromCopy("html");var g=c;if(null!==b){var k=m.$cloneWithProperties(c);g=k=r.$isTextNode(k)&&null!==b?m.$sliceSelectedTextNodeContent(b,k):k}let n=r.$isElementNode(g)?g.getChildren():[];var l=g;k=l.exportJSON();var p=l.constructor;k.type!==p.getType()&&t(58,p.name);r.$isElementNode(l)&&(Array.isArray(k.children)||t(59,p.name));r.$isTextNode(g)&&(g=g.__text,0<g.length?k.text=g:e=!1);for(g=0;g<n.length;g++)l=n[g],
|
||||
-p=z(a,b,l,k.children),!e&&r.$isElementNode(c)&&p&&c.extractWithChild(l,b,"clone")&&(e=!0);if(e&&!h)d.push(k);else if(Array.isArray(k.children))for(a=0;a<k.children.length;a++)d.push(k.children[a]);return e}function x(a,b){let c=[],d=r.$getRoot().getChildren();for(let e=0;e<d.length;e++)z(a,b,d[e],c);return{namespace:a._config.namespace,nodes:c}}function A(a){let b=[];for(let c=0;c<a.length;c++){let d=r.$parseSerializedNode(a[c]);r.$isTextNode(d)&&m.$addNodeStyle(d);b.push(d)}return b}let B=null;
|
||||
-function C(a,b){var c=u?(a._window||window).getSelection():null;if(!c)return!1;var d=c.anchorNode;c=c.focusNode;if(null!==d&&null!==c&&!r.isSelectionWithinEditor(a,d,c))return!1;b.preventDefault();b=b.clipboardData;d=r.$getSelection();if(null===b||null===d)return!1;c=v(a);a=w(a);let e="";null!==d&&(e=d.getTextContent());null!==c&&b.setData("text/html",c);null!==a&&b.setData("application/x-lexical-editor",a);b.setData("text/plain",e);return!0}exports.$generateJSONFromSelectedNodes=x;
|
||||
+function z(a,b,c,e=[]){let g=null!==b?c.isSelected(b):!0,k=r.$isElementNode(c)&&c.excludeFromCopy("html");var d=c;if(null!==b){var h=m.$cloneWithProperties(c);d=h=r.$isTextNode(h)&&null!==b?m.$sliceSelectedTextNodeContent(b,h):h}let n=r.$isElementNode(d)?d.getChildren():[];var l=d;h=l.exportJSON();var p=l.constructor;h.type!==p.getType()&&t(58,p.name);r.$isElementNode(l)&&(Array.isArray(h.children)||t(59,p.name));r.$isTextNode(d)&&(d=d.__text,0<d.length?h.text=d:g=!1);for(d=0;d<n.length;d++)l=n[d],
|
||||
+p=z(a,b,l,h.children),!g&&r.$isElementNode(c)&&p&&c.extractWithChild(l,b,"clone")&&(g=!0);if(g&&!k)e.push(h);else if(Array.isArray(h.children))for(a=0;a<h.children.length;a++)e.push(h.children[a]);return g}function x(a,b){let c=[],e=r.$getRoot().getChildren();for(let g=0;g<e.length;g++)z(a,b,e[g],c);return{namespace:a._config.namespace,nodes:c}}function A(a){let b=[];for(let c=0;c<a.length;c++){let e=r.$parseSerializedNode(a[c]);r.$isTextNode(e)&&m.$addNodeStyle(e);b.push(e)}return b}let B=null;
|
||||
+function C(a,b){var c=u?(a._window||window).getSelection():null;if(!c)return!1;var e=c.anchorNode;c=c.focusNode;if(null!==e&&null!==c&&!r.isSelectionWithinEditor(a,e,c))return!1;b.preventDefault();b=b.clipboardData;e=r.$getSelection();if(null===b||null===e)return!1;c=v(a);a=w(a);let g="";null!==e&&(g=e.getTextContent());null!==c&&b.setData("text/html",c);null!==a&&b.setData("application/x-lexical-editor",a);b.setData("text/plain",g);return!0}exports.$generateJSONFromSelectedNodes=x;
|
||||
exports.$generateNodesFromSerializedNodes=A;exports.$getHtmlContent=v;exports.$getLexicalContent=w;exports.$insertDataTransferForPlainText=function(a,b){a=a.getData("text/plain")||a.getData("text/uri-list");null!=a&&b.insertRawText(a)};
|
||||
-exports.$insertDataTransferForRichText=function(a,b,c){var d=a.getData("application/x-lexical-editor");if(d)try{let h=JSON.parse(d);if(h.namespace===c._config.namespace&&Array.isArray(h.nodes)){let g=A(h.nodes);return y(c,g,b)}}catch(h){}if(d=a.getData("text/html"))try{var e=(new DOMParser).parseFromString(d,"text/html");let h=f.$generateNodesFromDOM(c,e);return y(c,h,b)}catch(h){}a=a.getData("text/plain")||a.getData("text/uri-list");if(null!=a)if(r.$isRangeSelection(b))for(a=a.split(/(\r?\n|\t)/),
|
||||
-""===a[a.length-1]&&a.pop(),c=0;c<a.length;c++)e=a[c],"\n"===e||"\r\n"===e?b.insertParagraph():"\t"===e?b.insertNodes([r.$createTabNode()]):b.insertText(e);else b.insertRawText(a)};exports.$insertGeneratedNodes=y;
|
||||
-exports.copyToClipboard=async function(a,b){if(null!==B)return!1;if(null!==b)return new Promise(g=>{a.update(()=>{g(C(a,b))})});var c=a.getRootElement();let d=null==a._window?window.document:a._window.document,e=u?(a._window||window).getSelection():null;if(null===c||null===e)return!1;let h=d.createElement("span");h.style.cssText="position: fixed; top: -1000px;";h.append(d.createTextNode("#"));c.append(h);c=new Range;c.setStart(h,0);c.setEnd(h,1);e.removeAllRanges();e.addRange(c);return new Promise(g=>
|
||||
-{let k=a.registerCommand(r.COPY_COMMAND,n=>{q.objectKlassEquals(n,ClipboardEvent)&&(k(),null!==B&&(window.clearTimeout(B),B=null),g(C(a,n)));return!0},r.COMMAND_PRIORITY_CRITICAL);B=window.setTimeout(()=>{k();B=null;g(!1)},50);d.execCommand("copy");h.remove()})}
|
||||
+exports.$insertDataTransferForRichText=function(a,b,c,e){let g=a.getData("application/x-lexical-editor");if(g)try{let d=JSON.parse(g);if(d.namespace===c._config.namespace&&Array.isArray(d.nodes)){let h=A(d.nodes);return y(c,h,b)}}catch(d){}if(!e||"insertReplacementText"!==e.inputType||!a.types.includes("text/plain"))if(e=a.getData("text/html"))try{var k=(new DOMParser).parseFromString(e,"text/html");let d=f.$generateNodesFromDOM(c,k);return y(c,d,b)}catch(d){}a=a.getData("text/plain")||a.getData("text/uri-list");
|
||||
+if(null!=a)if(r.$isRangeSelection(b))for(a=a.split(/(\r?\n|\t)/),""===a[a.length-1]&&a.pop(),c=0;c<a.length;c++)k=a[c],"\n"===k||"\r\n"===k?b.insertParagraph():"\t"===k?b.insertNodes([r.$createTabNode()]):b.insertText(k);else b.insertRawText(a)};exports.$insertGeneratedNodes=y;
|
||||
+exports.copyToClipboard=async function(a,b){if(null!==B)return!1;if(null!==b)return new Promise(d=>{a.update(()=>{d(C(a,b))})});var c=a.getRootElement();let e=null==a._window?window.document:a._window.document,g=u?(a._window||window).getSelection():null;if(null===c||null===g)return!1;let k=e.createElement("span");k.style.cssText="position: fixed; top: -1000px;";k.append(e.createTextNode("#"));c.append(k);c=new Range;c.setStart(k,0);c.setEnd(k,1);g.removeAllRanges();g.addRange(c);return new Promise(d=>
|
||||
+{let h=a.registerCommand(r.COPY_COMMAND,n=>{q.objectKlassEquals(n,ClipboardEvent)&&(h(),null!==B&&(window.clearTimeout(B),B=null),d(C(a,n)));return!0},r.COMMAND_PRIORITY_CRITICAL);B=window.setTimeout(()=>{h();B=null;d(!1)},50);e.execCommand("copy");k.remove()})}
|
||||
diff --git a/LexicalClipboard.prod.mjs b/LexicalClipboard.prod.mjs
|
||||
index e975808a82c8e8bd1b7dc80867ba65bec9a96fa9..3c7ab354805312e4b432c7e1f27e8095faf07162 100644
|
||||
--- a/LexicalClipboard.prod.mjs
|
||||
+++ b/LexicalClipboard.prod.mjs
|
||||
@@ -4,4 +4,4 @@
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
-import{$generateHtmlFromNodes as e,$generateNodesFromDOM as t}from"@lexical/html";import{$addNodeStyle as n,$cloneWithProperties as o,$sliceSelectedTextNodeContent as l}from"@lexical/selection";import{objectKlassEquals as r}from"@lexical/utils";import{$getSelection as i,$isRangeSelection as a,$createTabNode as c,SELECTION_INSERT_CLIPBOARD_NODES_COMMAND as s,$getRoot as u,$parseSerializedNode as d,$isTextNode as f,COPY_COMMAND as p,COMMAND_PRIORITY_CRITICAL as m,isSelectionWithinEditor as h,$isElementNode as x}from"lexical";var g=function(e){const t=new URLSearchParams;t.append("code",e);for(let e=1;e<arguments.length;e++)t.append("v",arguments[e]);throw Error(`Minified Lexical error #${e}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)};const w="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,y=e=>w?(e||window).getSelection():null;function v(t){const n=i();if(null==n)throw Error("Expected valid LexicalSelection");return a(n)&&n.isCollapsed()||0===n.getNodes().length?"":e(t,n)}function D(e){const t=i();if(null==t)throw Error("Expected valid LexicalSelection");return a(t)&&t.isCollapsed()||0===t.getNodes().length?null:JSON.stringify(T(e,t))}function C(e,t){const n=e.getData("text/plain")||e.getData("text/uri-list");null!=n&&t.insertRawText(n)}function E(e,n,o){const l=e.getData("application/x-lexical-editor");if(l)try{const e=JSON.parse(l);if(e.namespace===o._config.namespace&&Array.isArray(e.nodes)){return N(o,_(e.nodes),n)}}catch(e){}const r=e.getData("text/html");if(r)try{const e=(new DOMParser).parseFromString(r,"text/html");return N(o,t(o,e),n)}catch(e){}const i=e.getData("text/plain")||e.getData("text/uri-list");if(null!=i)if(a(n)){const e=i.split(/(\r?\n|\t)/);""===e[e.length-1]&&e.pop();for(let t=0;t<e.length;t++){const o=e[t];"\n"===o||"\r\n"===o?n.insertParagraph():"\t"===o?n.insertNodes([c()]):n.insertText(o)}}else n.insertRawText(i)}function N(e,t,n){e.dispatchCommand(s,{nodes:t,selection:n})||n.insertNodes(t)}function S(e,t,n,r=[]){let i=null===t||n.isSelected(t);const a=x(n)&&n.excludeFromCopy("html");let c=n;if(null!==t){let e=o(n);e=f(e)&&null!==t?l(t,e):e,c=e}const s=x(c)?c.getChildren():[],u=function(e){const t=e.exportJSON(),n=e.constructor;if(t.type!==n.getType()&&g(58,n.name),x(e)){const e=t.children;Array.isArray(e)||g(59,n.name)}return t}(c);if(f(c)){const e=c.__text;e.length>0?u.text=e:i=!1}for(let o=0;o<s.length;o++){const l=s[o],r=S(e,t,l,u.children);!i&&x(n)&&r&&n.extractWithChild(l,t,"clone")&&(i=!0)}if(i&&!a)r.push(u);else if(Array.isArray(u.children))for(let e=0;e<u.children.length;e++){const t=u.children[e];r.push(t)}return i}function T(e,t){const n=[],o=u().getChildren();for(let l=0;l<o.length;l++){S(e,t,o[l],n)}return{namespace:e._config.namespace,nodes:n}}function _(e){const t=[];for(let o=0;o<e.length;o++){const l=e[o],r=d(l);f(r)&&n(r),t.push(r)}return t}let A=null;async function R(e,t){if(null!==A)return!1;if(null!==t)return new Promise(((n,o)=>{e.update((()=>{n(P(e,t))}))}));const n=e.getRootElement(),o=null==e._window?window.document:e._window.document,l=y(e._window);if(null===n||null===l)return!1;const i=o.createElement("span");i.style.cssText="position: fixed; top: -1000px;",i.append(o.createTextNode("#")),n.append(i);const a=new Range;return a.setStart(i,0),a.setEnd(i,1),l.removeAllRanges(),l.addRange(a),new Promise(((t,n)=>{const l=e.registerCommand(p,(n=>(r(n,ClipboardEvent)&&(l(),null!==A&&(window.clearTimeout(A),A=null),t(P(e,n))),!0)),m);A=window.setTimeout((()=>{l(),A=null,t(!1)}),50),o.execCommand("copy"),i.remove()}))}function P(e,t){const n=y(e._window);if(!n)return!1;const o=n.anchorNode,l=n.focusNode;if(null!==o&&null!==l&&!h(e,o,l))return!1;t.preventDefault();const r=t.clipboardData,a=i();if(null===r||null===a)return!1;const c=v(e),s=D(e);let u="";return null!==a&&(u=a.getTextContent()),null!==c&&r.setData("text/html",c),null!==s&&r.setData("application/x-lexical-editor",s),r.setData("text/plain",u),!0}export{T as $generateJSONFromSelectedNodes,_ as $generateNodesFromSerializedNodes,v as $getHtmlContent,D as $getLexicalContent,C as $insertDataTransferForPlainText,E as $insertDataTransferForRichText,N as $insertGeneratedNodes,R as copyToClipboard};
|
||||
+import{$generateHtmlFromNodes as e,$generateNodesFromDOM as t}from"@lexical/html";import{$addNodeStyle as n,$cloneWithProperties as l,$sliceSelectedTextNodeContent as o}from"@lexical/selection";import{objectKlassEquals as r}from"@lexical/utils";import{$getSelection as i,$isRangeSelection as a,$createTabNode as c,SELECTION_INSERT_CLIPBOARD_NODES_COMMAND as s,$getRoot as u,$parseSerializedNode as d,$isTextNode as p,COPY_COMMAND as f,COMMAND_PRIORITY_CRITICAL as m,isSelectionWithinEditor as h,$isElementNode as x}from"lexical";var g=function(e){const t=new URLSearchParams;t.append("code",e);for(let e=1;e<arguments.length;e++)t.append("v",arguments[e]);throw Error(`Minified Lexical error #${e}; visit https://lexical.dev/docs/error?${t} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)};const w="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement,y=e=>w?(e||window).getSelection():null;function v(t){const n=i();if(null==n)throw Error("Expected valid LexicalSelection");return a(n)&&n.isCollapsed()||0===n.getNodes().length?"":e(t,n)}function D(e){const t=i();if(null==t)throw Error("Expected valid LexicalSelection");return a(t)&&t.isCollapsed()||0===t.getNodes().length?null:JSON.stringify(S(e,t))}function C(e,t){const n=e.getData("text/plain")||e.getData("text/uri-list");null!=n&&t.insertRawText(n)}function T(e,n,l,o){const r=e.getData("application/x-lexical-editor");if(r)try{const e=JSON.parse(r);if(e.namespace===l._config.namespace&&Array.isArray(e.nodes)){return E(l,R(e.nodes),n)}}catch(e){}if(!(o&&"insertReplacementText"===o.inputType&&e.types.includes("text/plain"))){const o=e.getData("text/html");if(o)try{const e=(new DOMParser).parseFromString(o,"text/html");return E(l,t(l,e),n)}catch(e){}}const i=e.getData("text/plain")||e.getData("text/uri-list");if(null!=i)if(a(n)){const e=i.split(/(\r?\n|\t)/);""===e[e.length-1]&&e.pop();for(let t=0;t<e.length;t++){const l=e[t];"\n"===l||"\r\n"===l?n.insertParagraph():"\t"===l?n.insertNodes([c()]):n.insertText(l)}}else n.insertRawText(i)}function E(e,t,n){e.dispatchCommand(s,{nodes:t,selection:n})||n.insertNodes(t)}function N(e,t,n,r=[]){let i=null===t||n.isSelected(t);const a=x(n)&&n.excludeFromCopy("html");let c=n;if(null!==t){let e=l(n);e=p(e)&&null!==t?o(t,e):e,c=e}const s=x(c)?c.getChildren():[],u=function(e){const t=e.exportJSON(),n=e.constructor;if(t.type!==n.getType()&&g(58,n.name),x(e)){const e=t.children;Array.isArray(e)||g(59,n.name)}return t}(c);if(p(c)){const e=c.__text;e.length>0?u.text=e:i=!1}for(let l=0;l<s.length;l++){const o=s[l],r=N(e,t,o,u.children);!i&&x(n)&&r&&n.extractWithChild(o,t,"clone")&&(i=!0)}if(i&&!a)r.push(u);else if(Array.isArray(u.children))for(let e=0;e<u.children.length;e++){const t=u.children[e];r.push(t)}return i}function S(e,t){const n=[],l=u().getChildren();for(let o=0;o<l.length;o++){N(e,t,l[o],n)}return{namespace:e._config.namespace,nodes:n}}function R(e){const t=[];for(let l=0;l<e.length;l++){const o=e[l],r=d(o);p(r)&&n(r),t.push(r)}return t}let _=null;async function A(e,t){if(null!==_)return!1;if(null!==t)return new Promise(((n,l)=>{e.update((()=>{n(P(e,t))}))}));const n=e.getRootElement(),l=null==e._window?window.document:e._window.document,o=y(e._window);if(null===n||null===o)return!1;const i=l.createElement("span");i.style.cssText="position: fixed; top: -1000px;",i.append(l.createTextNode("#")),n.append(i);const a=new Range;return a.setStart(i,0),a.setEnd(i,1),o.removeAllRanges(),o.addRange(a),new Promise(((t,n)=>{const o=e.registerCommand(f,(n=>(r(n,ClipboardEvent)&&(o(),null!==_&&(window.clearTimeout(_),_=null),t(P(e,n))),!0)),m);_=window.setTimeout((()=>{o(),_=null,t(!1)}),50),l.execCommand("copy"),i.remove()}))}function P(e,t){const n=y(e._window);if(!n)return!1;const l=n.anchorNode,o=n.focusNode;if(null!==l&&null!==o&&!h(e,l,o))return!1;t.preventDefault();const r=t.clipboardData,a=i();if(null===r||null===a)return!1;const c=v(e),s=D(e);let u="";return null!==a&&(u=a.getTextContent()),null!==c&&r.setData("text/html",c),null!==s&&r.setData("application/x-lexical-editor",s),r.setData("text/plain",u),!0}export{S as $generateJSONFromSelectedNodes,R as $generateNodesFromSerializedNodes,v as $getHtmlContent,D as $getLexicalContent,C as $insertDataTransferForPlainText,T as $insertDataTransferForRichText,E as $insertGeneratedNodes,A as copyToClipboard};
|
||||
diff --git a/clipboard.d.ts b/clipboard.d.ts
|
||||
index 99e2138389b64d298a1330d7b354ba87d2e6f24e..83250a4c2049f94e08bfdfc757e03e8a85a08dd4 100644
|
||||
--- a/clipboard.d.ts
|
||||
+++ b/clipboard.d.ts
|
||||
@@ -44,7 +44,7 @@ export declare function $insertDataTransferForPlainText(dataTransfer: DataTransf
|
||||
* @param selection the selection to use as the insertion point for the content in the DataTransfer object
|
||||
* @param editor the LexicalEditor the content is being inserted into.
|
||||
*/
|
||||
-export declare function $insertDataTransferForRichText(dataTransfer: DataTransfer, selection: BaseSelection, editor: LexicalEditor): void;
|
||||
+export declare function $insertDataTransferForRichText(dataTransfer: DataTransfer, selection: BaseSelection, editor: LexicalEditor, event?: InputEvent): void;
|
||||
/**
|
||||
* Inserts Lexical nodes into the editor using different strategies depending on
|
||||
* some simple selection-based heuristics. If you're looking for a generic way to
|
||||
@@ -1,26 +0,0 @@
|
||||
diff --git a/LexicalRichText.dev.js b/LexicalRichText.dev.js
|
||||
index 235657f94e5563d9be091677ec30a2814bc9fdcf..778c7a77da5d5ab04c3cc5d13a1d6c1f4e781864 100644
|
||||
--- a/LexicalRichText.dev.js
|
||||
+++ b/LexicalRichText.dev.js
|
||||
@@ -458,7 +458,7 @@ function registerRichText(editor) {
|
||||
}
|
||||
const dataTransfer = eventOrText.dataTransfer;
|
||||
if (dataTransfer != null) {
|
||||
- clipboard.$insertDataTransferForRichText(dataTransfer, selection, editor);
|
||||
+ clipboard.$insertDataTransferForRichText(dataTransfer, selection, editor, eventOrText);
|
||||
} else if (lexical.$isRangeSelection(selection)) {
|
||||
const data = eventOrText.data;
|
||||
if (data) {
|
||||
diff --git a/LexicalRichText.prod.js b/LexicalRichText.prod.js
|
||||
index 796f509fe353577592040c0bcd31e4d0155eb661..a91ec007ab7fd4f50e21dda262151b95441a5212 100644
|
||||
--- a/LexicalRichText.prod.js
|
||||
+++ b/LexicalRichText.prod.js
|
||||
@@ -18,7 +18,7 @@ function H(b){let a=null;b instanceof DragEvent?a=b.dataTransfer:b instanceof Cl
|
||||
function I(b){var a=k.$getSelection();if(!k.$isRangeSelection(a))return!1;let d=new Set;a=a.getNodes();for(let m=0;m<a.length;m++){var e=a[m],f=e.getKey();d.has(f)||(e=h.$getNearestBlockElementAncestorOrThrow(e),f=e.getKey(),e.canIndent()&&!d.has(f)&&(d.add(f),b(e)))}return 0<d.size}function J(b){b=k.$getNearestNodeFromDOMNode(b);return k.$isDecoratorNode(b)}exports.$createHeadingNode=E;exports.$createQuoteNode=z;exports.$isHeadingNode=function(b){return b instanceof B};
|
||||
exports.$isQuoteNode=function(b){return b instanceof x};exports.DRAG_DROP_PASTE=w;exports.HeadingNode=B;exports.QuoteNode=x;exports.eventFiles=H;
|
||||
exports.registerRichText=function(b){return h.mergeRegister(b.registerCommand(k.CLICK_COMMAND,()=>{const a=k.$getSelection();return k.$isNodeSelection(a)?(a.clear(),!0):!1},0),b.registerCommand(k.DELETE_CHARACTER_COMMAND,a=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteCharacter(a);return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.DELETE_WORD_COMMAND,a=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteWord(a);return!0},k.COMMAND_PRIORITY_EDITOR),
|
||||
-b.registerCommand(k.DELETE_LINE_COMMAND,a=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteLine(a);return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.CONTROLLED_TEXT_INSERTION_COMMAND,a=>{const d=k.$getSelection();if("string"===typeof a)k.$INTERNAL_isPointSelection(d)&&d.insertText(a);else{if(!k.$INTERNAL_isPointSelection(d))return!1;const e=a.dataTransfer;null!=e?c.$insertDataTransferForRichText(e,d,b):k.$isRangeSelection(d)&&(a=a.data)&&d.insertText(a)}return!0},k.COMMAND_PRIORITY_EDITOR),
|
||||
+b.registerCommand(k.DELETE_LINE_COMMAND,a=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.deleteLine(a);return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.CONTROLLED_TEXT_INSERTION_COMMAND,a=>{const d=k.$getSelection();if("string"===typeof a)k.$INTERNAL_isPointSelection(d)&&d.insertText(a);else{if(!k.$INTERNAL_isPointSelection(d))return!1;const e=a.dataTransfer;null!=e?c.$insertDataTransferForRichText(e,d,b,a):k.$isRangeSelection(d)&&(a=a.data)&&d.insertText(a)}return!0},k.COMMAND_PRIORITY_EDITOR),
|
||||
b.registerCommand(k.REMOVE_TEXT_COMMAND,()=>{const a=k.$getSelection();if(!k.$isRangeSelection(a))return!1;a.removeText();return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.FORMAT_TEXT_COMMAND,a=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.formatText(a);return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.FORMAT_ELEMENT_COMMAND,a=>{var d=k.$getSelection();if(!k.$isRangeSelection(d)&&!k.$isNodeSelection(d))return!1;d=d.getNodes();for(const e of d)d=h.$findMatchingParent(e,
|
||||
f=>k.$isElementNode(f)&&!f.isInline()),null!==d&&d.setFormat(a);return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.INSERT_LINE_BREAK_COMMAND,a=>{const d=k.$getSelection();if(!k.$isRangeSelection(d))return!1;d.insertLineBreak(a);return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.INSERT_PARAGRAPH_COMMAND,()=>{const a=k.$getSelection();if(!k.$isRangeSelection(a))return!1;a.insertParagraph();return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.INSERT_TAB_COMMAND,()=>{k.$insertNodes([k.$createTabNode()]);
|
||||
return!0},k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.INDENT_CONTENT_COMMAND,()=>I(a=>{const d=a.getIndent();a.setIndent(d+1)}),k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.OUTDENT_CONTENT_COMMAND,()=>I(a=>{const d=a.getIndent();0<d&&a.setIndent(d-1)}),k.COMMAND_PRIORITY_EDITOR),b.registerCommand(k.KEY_ARROW_UP_COMMAND,a=>{var d=k.$getSelection();if(k.$isNodeSelection(d)&&!J(a.target)){if(a=d.getNodes(),0<a.length)return a[0].selectPrevious(),!0}else if(k.$isRangeSelection(d)&&(d=k.$getAdjacentNode(d.focus,
|
||||
File diff suppressed because one or more lines are too long
@@ -1,319 +0,0 @@
|
||||
diff --git a/Lexical.dev.js b/Lexical.dev.js
|
||||
index 9de98c64cf4aab8b575d25d9b4b998cd29e7eb54..eae21f07cfc917ca316719b27dc54ae0635afc7c 100644
|
||||
--- a/Lexical.dev.js
|
||||
+++ b/Lexical.dev.js
|
||||
@@ -2517,8 +2517,10 @@ function onBeforeInput(event, editor) {
|
||||
}
|
||||
selection.style = anchorNode.getStyle();
|
||||
}
|
||||
- const selectedText = selection.anchor.getNode().getTextContent();
|
||||
- if (selectedText.length <= 1) {
|
||||
+ const selectedNodeText = selection.anchor.getNode().getTextContent();
|
||||
+ const isSelectedNodeTextOneOrLessCharacters = selectedNodeText.length <= 1;
|
||||
+ const hasSelectedAllTextInNode = selection.anchor.offset === 0 && selection.focus.offset === selectedNodeText.length;
|
||||
+ if (isSelectedNodeTextOneOrLessCharacters || hasSelectedAllTextInNode) {
|
||||
event.preventDefault();
|
||||
dispatchCommand(editor, DELETE_CHARACTER_COMMAND, true);
|
||||
}
|
||||
@@ -4123,11 +4125,7 @@ class LineBreakNode extends LexicalNode {
|
||||
static importDOM() {
|
||||
return {
|
||||
br: node => {
|
||||
- const parentElement = node.parentElement;
|
||||
- // If the <br> is the only child, then skip including it
|
||||
- let firstChild;
|
||||
- let lastChild;
|
||||
- if (parentElement !== null && ((firstChild = parentElement.firstChild) === node || firstChild.nextSibling === node && firstChild.nodeType === DOM_TEXT_TYPE && (firstChild.textContent || '').match(/^( |\t|\r?\n)+$/) !== null) && ((lastChild = parentElement.lastChild) === node || lastChild.previousSibling === node && lastChild.nodeType === DOM_TEXT_TYPE && (lastChild.textContent || '').match(/^( |\t|\r?\n)+$/) !== null)) {
|
||||
+ if (isOnlyChild(node)) {
|
||||
return null;
|
||||
}
|
||||
return {
|
||||
@@ -4158,6 +4156,22 @@ function $createLineBreakNode() {
|
||||
function $isLineBreakNode(node) {
|
||||
return node instanceof LineBreakNode;
|
||||
}
|
||||
+function isOnlyChild(node) {
|
||||
+ const parentElement = node.parentElement;
|
||||
+ if (parentElement !== null) {
|
||||
+ const firstChild = parentElement.firstChild;
|
||||
+ if (firstChild === node || firstChild.nextSibling === node && isWhitespaceDomTextNode(firstChild)) {
|
||||
+ const lastChild = parentElement.lastChild;
|
||||
+ if (lastChild === node || lastChild.previousSibling === node && isWhitespaceDomTextNode(lastChild)) {
|
||||
+ return true;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ return false;
|
||||
+}
|
||||
+function isWhitespaceDomTextNode(node) {
|
||||
+ return node.nodeType === DOM_TEXT_TYPE && /^( |\t|\r?\n)+$/.test(node.textContent || '');
|
||||
+}
|
||||
|
||||
/**
|
||||
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
@@ -6251,7 +6265,8 @@ class RangeSelection extends INTERNAL_PointSelection {
|
||||
}
|
||||
return selection.insertNodes(nodes);
|
||||
}
|
||||
- const firstBlock = $getAncestor(this.anchor.getNode(), INTERNAL_$isBlock);
|
||||
+ const firstPoint = this.isBackward() ? this.focus : this.anchor;
|
||||
+ const firstBlock = $getAncestor(firstPoint.getNode(), INTERNAL_$isBlock);
|
||||
const last = nodes[nodes.length - 1];
|
||||
|
||||
// CASE 1: insert inside a code block
|
||||
diff --git a/Lexical.prod.js b/Lexical.prod.js
|
||||
index 6e381d4f241e25f09a347718c83c72cb1672505d..dbed04f260ac47fd0ea20c919ac26cb5ce98cc9d 100644
|
||||
--- a/Lexical.prod.js
|
||||
+++ b/Lexical.prod.js
|
||||
@@ -52,11 +52,11 @@ function Pd(a,b,c){let {anchorNode:d,anchorOffset:e,focusNode:f,focusOffset:g}=a
|
||||
h.format=m.getFormat();h.style=m.getStyle()}else"element"!==k.type||p||(h.format=0,h.style="")}else{k=255;m=!1;n=h.getNodes();p=n.length;for(let l=0;l<p;l++){let r=n[l];if(B(r)&&(m=!0,k&=r.getFormat(),0===k))break}h.format=m?k:0}}R(b,aa,void 0)}})}
|
||||
function Ad(a,b){v(b,()=>{let c=u();var d=xb(b._window);let e=nc();if(d)if(C(c)){let g=c.anchor;var f=g.getNode();"element"===g.type&&0===g.offset&&c.isCollapsed()&&!L(f)&&1===J().getChildrenSize()&&f.getTopLevelElementOrThrow().isEmpty()&&null!==e&&c.is(e)?(d.removeAllRanges(),c.dirty=!0):3!==a.detail||c.isCollapsed()||(d=c.focus.getNode(),f!==d&&(E(f)?f.select(0):f.getParentOrThrow().select(0)))}else"touch"===a.pointerType&&(f=d.anchorNode,null!==f&&(f=f.nodeType,1===f||3===f))&&(d=Qd(e,d,b,a),
|
||||
Ab(d));R(b,ba,a)})}function wd(a,b){let c=a.target;a=a.pointerType;c instanceof Node&&"touch"!==a&&v(b,()=>{x(wb(c))||(Jd=!0)})}function Rd(a){if(!a.getTargetRanges)return null;a=a.getTargetRanges();return 0===a.length?null:a[0]}function Sd(a,b){return a!==b||E(a)||E(b)||!a.isToken()||!b.isToken()}
|
||||
-function Cd(a,b){let c=a.inputType,d=Rd(a);"deleteCompositionText"===c||Xa&&Bb(b)||"insertCompositionText"!==c&&v(b,()=>{let e=u();if("deleteContentBackward"===c){if(null===e){var f=nc();if(!C(f))return;Ab(f.clone())}if(C(e)){ab&&H(e.anchor.key);if(229===Ed&&a.timeStamp<Dd+30&&b.isComposing()&&e.anchor.key===e.focus.key){H(null);Dd=0;setTimeout(()=>{v(b,()=>{H(null)})},30);if(C(e)){f=e.anchor.getNode();f.markDirty();e.format=f.getFormat();if(!B(f))throw Error("Anchor node must be a TextNode");e.style=
|
||||
-f.getStyle()}1>=e.anchor.getNode().getTextContent().length&&(a.preventDefault(),R(b,da,!0))}else H(null),a.preventDefault(),R(b,da,!0);return}}if(C(e)){f=a.data;null!==Gd&&mc(!1,b,Gd);e.dirty&&null===Gd||!e.isCollapsed()||L(e.anchor.getNode())||null===d||e.applyDOMRange(d);Gd=null;var g=e.focus,h=e.anchor.getNode();g=g.getNode();if("insertText"===c||"insertTranspose"===c)"\n"===f?(a.preventDefault(),R(b,ea,!1)):"\n\n"===f?(a.preventDefault(),R(b,ja,void 0)):null==f&&a.dataTransfer?(f=a.dataTransfer.getData("text/plain"),
|
||||
-a.preventDefault(),e.insertRawText(f)):null!=f&&Nd(e,d,f,a.timeStamp,!0)?(a.preventDefault(),R(b,ka,f)):Gd=f,Fd=a.timeStamp;else switch(a.preventDefault(),c){case "insertFromYank":case "insertFromDrop":case "insertReplacementText":R(b,ka,a);break;case "insertFromComposition":H(null);R(b,ka,a);break;case "insertLineBreak":H(null);R(b,ea,!1);break;case "insertParagraph":H(null);Kd&&!$a?(Kd=!1,R(b,ea,!1)):R(b,ja,void 0);break;case "insertFromPaste":case "insertFromPasteAsQuotation":R(b,la,a);break;case "deleteByComposition":Sd(h,
|
||||
-g)&&R(b,na,a);break;case "deleteByDrag":case "deleteByCut":R(b,na,a);break;case "deleteContent":R(b,da,!1);break;case "deleteWordBackward":R(b,oa,!0);break;case "deleteWordForward":R(b,oa,!1);break;case "deleteHardLineBackward":case "deleteSoftLineBackward":R(b,pa,!0);break;case "deleteContentForward":case "deleteHardLineForward":case "deleteSoftLineForward":R(b,pa,!1);break;case "formatStrikeThrough":R(b,qa,"strikethrough");break;case "formatBold":R(b,qa,"bold");break;case "formatItalic":R(b,qa,
|
||||
-"italic");break;case "formatUnderline":R(b,qa,"underline");break;case "historyUndo":R(b,ra,void 0);break;case "historyRedo":R(b,sa,void 0)}}})}
|
||||
+function Cd(a,b){let c=a.inputType,d=Rd(a);"deleteCompositionText"===c||Xa&&Bb(b)||"insertCompositionText"!==c&&v(b,()=>{var e=u();if("deleteContentBackward"===c){if(null===e){var f=nc();if(!C(f))return;Ab(f.clone())}if(C(e)){ab&&H(e.anchor.key);if(229===Ed&&a.timeStamp<Dd+30&&b.isComposing()&&e.anchor.key===e.focus.key){H(null);Dd=0;setTimeout(()=>{v(b,()=>{H(null)})},30);if(C(e)){f=e.anchor.getNode();f.markDirty();e.format=f.getFormat();if(!B(f))throw Error("Anchor node must be a TextNode");e.style=
|
||||
+f.getStyle()}f=e.anchor.getNode().getTextContent();e=0===e.anchor.offset&&e.focus.offset===f.length;if(1>=f.length||e)a.preventDefault(),R(b,da,!0)}else H(null),a.preventDefault(),R(b,da,!0);return}}if(C(e)){f=a.data;null!==Gd&&mc(!1,b,Gd);e.dirty&&null===Gd||!e.isCollapsed()||L(e.anchor.getNode())||null===d||e.applyDOMRange(d);Gd=null;var g=e.focus,h=e.anchor.getNode();g=g.getNode();if("insertText"===c||"insertTranspose"===c)"\n"===f?(a.preventDefault(),R(b,ea,!1)):"\n\n"===f?(a.preventDefault(),
|
||||
+R(b,ja,void 0)):null==f&&a.dataTransfer?(f=a.dataTransfer.getData("text/plain"),a.preventDefault(),e.insertRawText(f)):null!=f&&Nd(e,d,f,a.timeStamp,!0)?(a.preventDefault(),R(b,ka,f)):Gd=f,Fd=a.timeStamp;else switch(a.preventDefault(),c){case "insertFromYank":case "insertFromDrop":case "insertReplacementText":R(b,ka,a);break;case "insertFromComposition":H(null);R(b,ka,a);break;case "insertLineBreak":H(null);R(b,ea,!1);break;case "insertParagraph":H(null);Kd&&!$a?(Kd=!1,R(b,ea,!1)):R(b,ja,void 0);
|
||||
+break;case "insertFromPaste":case "insertFromPasteAsQuotation":R(b,la,a);break;case "deleteByComposition":Sd(h,g)&&R(b,na,a);break;case "deleteByDrag":case "deleteByCut":R(b,na,a);break;case "deleteContent":R(b,da,!1);break;case "deleteWordBackward":R(b,oa,!0);break;case "deleteWordForward":R(b,oa,!1);break;case "deleteHardLineBackward":case "deleteSoftLineBackward":R(b,pa,!0);break;case "deleteContentForward":case "deleteHardLineForward":case "deleteSoftLineForward":R(b,pa,!1);break;case "formatStrikeThrough":R(b,
|
||||
+qa,"strikethrough");break;case "formatBold":R(b,qa,"bold");break;case "formatItalic":R(b,qa,"italic");break;case "formatUnderline":R(b,qa,"underline");break;case "historyUndo":R(b,ra,void 0);break;case "historyRedo":R(b,sa,void 0)}}})}
|
||||
function zd(a,b){a.stopPropagation();v(b,()=>{var c=u(),d=a.data,e=Rd(a);if(null!=d&&C(c)&&Nd(c,e,d,a.timeStamp,!1)){Ld&&(Td(b,d),Ld=!1);var f=c.anchor,g=f.getNode();e=xb(b._window);if(null===e)return;let h=f.offset;if(f=Ya&&!c.isCollapsed()&&B(g)&&null!==e.anchorNode)g=g.getTextContent().slice(0,h)+d+g.getTextContent().slice(h+c.focus.offset),e=e.anchorNode,f=g===(3===e.nodeType?e.nodeValue:null);f||R(b,ka,d);d=d.length;Xa&&1<d&&"insertCompositionText"===a.inputType&&!b.isComposing()&&(c.anchor.offset-=
|
||||
d);Za||$a||cb||!b.isComposing()||(Dd=0,H(null))}else mc(!1,b,null!==d?d:void 0),Ld&&(Td(b,d||void 0),Ld=!1);G();c=F();Cb(c)});Gd=null}function xd(a,b){v(b,()=>{let c=u();if(C(c)&&!b.isComposing()){let d=c.anchor,e=c.anchor.getNode();H(d.key);(a.timeStamp<Dd+30||"element"===d.type||!c.isCollapsed()||e.getFormat()!==c.format||B(e)&&e.getStyle()!==c.style)&&R(b,ka,eb)}})}
|
||||
function Td(a,b){var c=a._compositionKey;H(null);if(null!==c&&null!=b){if(""===b){b=I(c);a=Xb(a.getElementByKey(c));null!==a&&null!==a.nodeValue&&B(b)&&yb(b,a.nodeValue,null,null,!0);return}if("\n"===b[b.length-1]&&(c=u(),C(c))){b=c.focus;c.anchor.set(b.key,b.offset,b.type);R(a,Ba,null);return}}mc(!0,a,b)}function yd(a,b){Xa?Ld=!0:v(b,()=>{Td(b,a.data)})}
|
||||
@@ -82,134 +82,134 @@ null!==c&&(c=c.clone());Ac(this,a);let d=this.getLatest(),e=this.__key,f=a.__key
|
||||
n=c.__next;null===e?k.__last=m:e.getWritable().__prev=m;k.__size++;c.__next=m;d.__next=n;d.__prev=c.__key;d.__parent=c.__parent;b&&C(f)&&(b=this.getIndexWithinParent(),ae(f,k,b+1),c=k.__key,g&&f.anchor.set(c,b+2,"element"),h&&f.focus.set(c,b+2,"element"));return a}insertBefore(a,b=!0){G();Ac(this,a);var c=this.getWritable();let d=a.getWritable(),e=d.__key;bc(d);let f=this.getPreviousSibling(),g=this.getParentOrThrow().getWritable(),h=c.__prev,k=this.getIndexWithinParent();null===f?g.__first=e:f.getWritable().__next=
|
||||
e;g.__size++;c.__prev=e;d.__prev=h;d.__next=c.__key;d.__parent=c.__parent;c=u();b&&C(c)&&(b=this.getParentOrThrow(),ae(c,b,k));return a}isParentRequired(){return!1}createParentElementNode(){return ee()}selectStart(){return this.selectPrevious()}selectEnd(){return this.selectNext(0,0)}selectPrevious(a,b){G();let c=this.getPreviousSibling(),d=this.getParentOrThrow();return null===c?d.select(0,0):E(c)?c.select():B(c)?c.select(a,b):(a=c.getIndexWithinParent()+1,d.select(a,a))}selectNext(a,b){G();let c=
|
||||
this.getNextSibling(),d=this.getParentOrThrow();return null===c?d.select():E(c)?c.select(0,0):B(c)?c.select(a,b):(a=c.getIndexWithinParent(),d.select(a,a))}markDirty(){this.getWritable()}}function fe(a,b,c){c=c||b.getParentOrThrow().getLastChild();let d=b;for(b=[b];d!==c;){if(!d.getNextSibling())throw Error("insertRangeAfter: lastToInsert must be a later sibling of firstToInsert");d=d.getNextSibling();b.push(d)}for(let e of b)a=a.insertAfter(e)}
|
||||
-class ge extends be{static getType(){return"linebreak"}static clone(a){return new ge(a.__key)}constructor(a){super(a)}getTextContent(){return"\n"}createDOM(){return document.createElement("br")}updateDOM(){return!1}static importDOM(){return{br:a=>{let b=a.parentElement,c,d;return null!==b&&((c=b.firstChild)===a||c.nextSibling===a&&3===c.nodeType&&null!==(c.textContent||"").match(/^( |\t|\r?\n)+$/))&&((d=b.lastChild)===a||d.previousSibling===a&&3===d.nodeType&&null!==(d.textContent||"").match(/^( |\t|\r?\n)+$/))?
|
||||
-null:{conversion:he,priority:0}}}}static importJSON(){return ie()}exportJSON(){return{type:"linebreak",version:1}}}function he(){return{node:ie()}}function ie(){return zc(new ge)}function Gc(a){return a instanceof ge}function je(a,b){return b&16?"code":b&128?"mark":b&32?"sub":b&64?"sup":null}function ke(a,b){return b&1?"strong":b&2?"em":"span"}
|
||||
-function le(a,b,c,d,e){a=d.classList;d=pc(e,"base");void 0!==d&&a.add(...d);d=pc(e,"underlineStrikethrough");let f=!1,g=b&8&&b&4;var h=c&8&&c&4;void 0!==d&&(h?(f=!0,g||a.add(...d)):g&&a.remove(...d));for(let k in hb)h=hb[k],d=pc(e,k),void 0!==d&&(c&h?!f||"underline"!==k&&"strikethrough"!==k?(0===(b&h)||g&&"underline"===k||"strikethrough"===k)&&a.add(...d):b&h&&a.remove(...d):b&h&&a.remove(...d))}
|
||||
-function me(a,b,c){let d=b.firstChild;c=c.isComposing();a+=c?db:"";if(null==d)b.textContent=a;else if(b=d.nodeValue,b!==a)if(c||Xa){c=b.length;let e=a.length,f=0,g=0;for(;f<c&&f<e&&b[f]===a[f];)f++;for(;g+f<c&&g+f<e&&b[c-g-1]===a[e-g-1];)g++;a=[f,c-f-g,a.slice(f,e-g)];let [h,k,m]=a;0!==k&&d.deleteData(h,k);d.insertData(h,m)}else d.nodeValue=a}function ne(a,b){b=document.createElement(b);b.appendChild(a);return b}
|
||||
-class oe extends be{static getType(){return"text"}static clone(a){return new oe(a.__text,a.__key)}constructor(a,b){super(b);this.__text=a;this.__format=0;this.__style="";this.__detail=this.__mode=0}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){let a=this.getLatest();return pb[a.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===dc()}isSegmented(){return 2===this.getLatest().__mode}isDirectionless(){return 0!==
|
||||
-(this.getLatest().__detail&1)}isUnmergeable(){return 0!==(this.getLatest().__detail&2)}hasFormat(a){a=hb[a];return 0!==(this.getFormat()&a)}isSimpleText(){return"text"===this.__type&&0===this.__mode}getTextContent(){return this.getLatest().__text}getFormatFlags(a,b){let c=this.getLatest().__format;return Yb(c,a,b)}createDOM(a){var b=this.__format,c=je(this,b);let d=ke(this,b),e=document.createElement(null===c?d:c),f=e;this.hasFormat("code")&&e.setAttribute("spellcheck","false");null!==c&&(f=document.createElement(d),
|
||||
-e.appendChild(f));c=f;me(this.__text,c,this);a=a.theme.text;void 0!==a&&le(d,0,b,c,a);b=this.__style;""!==b&&(e.style.cssText=b);return e}updateDOM(a,b,c){let d=this.__text;var e=a.__format,f=this.__format,g=je(this,e);let h=je(this,f);var k=ke(this,e);let m=ke(this,f);if((null===g?k:g)!==(null===h?m:h))return!0;if(g===h&&k!==m)return e=b.firstChild,null==e&&q(48),a=g=document.createElement(m),me(d,a,this),c=c.theme.text,void 0!==c&&le(m,0,f,a,c),b.replaceChild(g,e),!1;k=b;null!==h&&null!==g&&(k=
|
||||
-b.firstChild,null==k&&q(49));me(d,k,this);c=c.theme.text;void 0!==c&&e!==f&&le(m,e,f,k,c);f=this.__style;a.__style!==f&&(b.style.cssText=f);return!1}static importDOM(){return{"#text":()=>({conversion:pe,priority:0}),b:()=>({conversion:qe,priority:0}),code:()=>({conversion:re,priority:0}),em:()=>({conversion:re,priority:0}),i:()=>({conversion:re,priority:0}),s:()=>({conversion:re,priority:0}),span:()=>({conversion:se,priority:0}),strong:()=>({conversion:re,priority:0}),sub:()=>({conversion:re,priority:0}),
|
||||
-sup:()=>({conversion:re,priority:0}),u:()=>({conversion:re,priority:0})}}static importJSON(a){let b=K(a.text);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);b.setStyle(a.style);return b}exportDOM(a){({element:a}=super.exportDOM(a));null!==a&&Ec(a)||q(132);a.style.whiteSpace="pre-wrap";this.hasFormat("bold")&&(a=ne(a,"b"));this.hasFormat("italic")&&(a=ne(a,"i"));this.hasFormat("strikethrough")&&(a=ne(a,"s"));this.hasFormat("underline")&&(a=ne(a,"u"));return{element:a}}exportJSON(){return{detail:this.getDetail(),
|
||||
+class ge extends be{static getType(){return"linebreak"}static clone(a){return new ge(a.__key)}constructor(a){super(a)}getTextContent(){return"\n"}createDOM(){return document.createElement("br")}updateDOM(){return!1}static importDOM(){return{br:a=>{a:{var b=a.parentElement;if(null!==b){let c=b.firstChild;if(c===a||c.nextSibling===a&&he(c))if(b=b.lastChild,b===a||b.previousSibling===a&&he(b)){a=!0;break a}}a=!1}return a?null:{conversion:ie,priority:0}}}}static importJSON(){return je()}exportJSON(){return{type:"linebreak",
|
||||
+version:1}}}function ie(){return{node:je()}}function je(){return zc(new ge)}function Gc(a){return a instanceof ge}function he(a){return 3===a.nodeType&&/^( |\t|\r?\n)+$/.test(a.textContent||"")}function ke(a,b){return b&16?"code":b&128?"mark":b&32?"sub":b&64?"sup":null}function le(a,b){return b&1?"strong":b&2?"em":"span"}
|
||||
+function me(a,b,c,d,e){a=d.classList;d=pc(e,"base");void 0!==d&&a.add(...d);d=pc(e,"underlineStrikethrough");let f=!1,g=b&8&&b&4;var h=c&8&&c&4;void 0!==d&&(h?(f=!0,g||a.add(...d)):g&&a.remove(...d));for(let k in hb)h=hb[k],d=pc(e,k),void 0!==d&&(c&h?!f||"underline"!==k&&"strikethrough"!==k?(0===(b&h)||g&&"underline"===k||"strikethrough"===k)&&a.add(...d):b&h&&a.remove(...d):b&h&&a.remove(...d))}
|
||||
+function ne(a,b,c){let d=b.firstChild;c=c.isComposing();a+=c?db:"";if(null==d)b.textContent=a;else if(b=d.nodeValue,b!==a)if(c||Xa){c=b.length;let e=a.length,f=0,g=0;for(;f<c&&f<e&&b[f]===a[f];)f++;for(;g+f<c&&g+f<e&&b[c-g-1]===a[e-g-1];)g++;a=[f,c-f-g,a.slice(f,e-g)];let [h,k,m]=a;0!==k&&d.deleteData(h,k);d.insertData(h,m)}else d.nodeValue=a}function oe(a,b){b=document.createElement(b);b.appendChild(a);return b}
|
||||
+class pe extends be{static getType(){return"text"}static clone(a){return new pe(a.__text,a.__key)}constructor(a,b){super(b);this.__text=a;this.__format=0;this.__style="";this.__detail=this.__mode=0}getFormat(){return this.getLatest().__format}getDetail(){return this.getLatest().__detail}getMode(){let a=this.getLatest();return pb[a.__mode]}getStyle(){return this.getLatest().__style}isToken(){return 1===this.getLatest().__mode}isComposing(){return this.__key===dc()}isSegmented(){return 2===this.getLatest().__mode}isDirectionless(){return 0!==
|
||||
+(this.getLatest().__detail&1)}isUnmergeable(){return 0!==(this.getLatest().__detail&2)}hasFormat(a){a=hb[a];return 0!==(this.getFormat()&a)}isSimpleText(){return"text"===this.__type&&0===this.__mode}getTextContent(){return this.getLatest().__text}getFormatFlags(a,b){let c=this.getLatest().__format;return Yb(c,a,b)}createDOM(a){var b=this.__format,c=ke(this,b);let d=le(this,b),e=document.createElement(null===c?d:c),f=e;this.hasFormat("code")&&e.setAttribute("spellcheck","false");null!==c&&(f=document.createElement(d),
|
||||
+e.appendChild(f));c=f;ne(this.__text,c,this);a=a.theme.text;void 0!==a&&me(d,0,b,c,a);b=this.__style;""!==b&&(e.style.cssText=b);return e}updateDOM(a,b,c){let d=this.__text;var e=a.__format,f=this.__format,g=ke(this,e);let h=ke(this,f);var k=le(this,e);let m=le(this,f);if((null===g?k:g)!==(null===h?m:h))return!0;if(g===h&&k!==m)return e=b.firstChild,null==e&&q(48),a=g=document.createElement(m),ne(d,a,this),c=c.theme.text,void 0!==c&&me(m,0,f,a,c),b.replaceChild(g,e),!1;k=b;null!==h&&null!==g&&(k=
|
||||
+b.firstChild,null==k&&q(49));ne(d,k,this);c=c.theme.text;void 0!==c&&e!==f&&me(m,e,f,k,c);f=this.__style;a.__style!==f&&(b.style.cssText=f);return!1}static importDOM(){return{"#text":()=>({conversion:qe,priority:0}),b:()=>({conversion:re,priority:0}),code:()=>({conversion:se,priority:0}),em:()=>({conversion:se,priority:0}),i:()=>({conversion:se,priority:0}),s:()=>({conversion:se,priority:0}),span:()=>({conversion:te,priority:0}),strong:()=>({conversion:se,priority:0}),sub:()=>({conversion:se,priority:0}),
|
||||
+sup:()=>({conversion:se,priority:0}),u:()=>({conversion:se,priority:0})}}static importJSON(a){let b=K(a.text);b.setFormat(a.format);b.setDetail(a.detail);b.setMode(a.mode);b.setStyle(a.style);return b}exportDOM(a){({element:a}=super.exportDOM(a));null!==a&&Ec(a)||q(132);a.style.whiteSpace="pre-wrap";this.hasFormat("bold")&&(a=oe(a,"b"));this.hasFormat("italic")&&(a=oe(a,"i"));this.hasFormat("strikethrough")&&(a=oe(a,"s"));this.hasFormat("underline")&&(a=oe(a,"u"));return{element:a}}exportJSON(){return{detail:this.getDetail(),
|
||||
format:this.getFormat(),mode:this.getMode(),style:this.getStyle(),text:this.getTextContent(),type:"text",version:1}}selectionTransform(){}setFormat(a){let b=this.getWritable();b.__format="string"===typeof a?hb[a]:a;return b}setDetail(a){let b=this.getWritable();b.__detail="string"===typeof a?ib[a]:a;return b}setStyle(a){let b=this.getWritable();b.__style=a;return b}toggleFormat(a){let b=this.getFormat();a=Yb(b,a,null);return this.setFormat(a)}toggleDirectionless(){let a=this.getWritable();a.__detail^=
|
||||
1;return a}toggleUnmergeable(){let a=this.getWritable();a.__detail^=2;return a}setMode(a){a=ob[a];if(this.__mode===a)return this;let b=this.getWritable();b.__mode=a;return b}setTextContent(a){if(this.__text===a)return this;let b=this.getWritable();b.__text=a;return b}select(a,b){G();let c=u();var d=this.getTextContent();let e=this.__key;"string"===typeof d?(d=d.length,void 0===a&&(a=d),void 0===b&&(b=d)):b=a=0;if(C(c))d=dc(),d!==c.anchor.key&&d!==c.focus.key||H(e),c.setTextNodeRange(this,a,this,b);
|
||||
-else return te(e,a,e,b,"text","text");return c}selectStart(){return this.select(0,0)}selectEnd(){let a=this.getTextContentSize();return this.select(a,a)}spliceText(a,b,c,d){let e=this.getWritable(),f=e.__text,g=c.length,h=a;0>h&&(h=g+h,0>h&&(h=0));let k=u();d&&C(k)&&(a+=g,k.setTextNodeRange(e,a,e,a));b=f.slice(0,h)+c+f.slice(h+b);e.__text=b;return e}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...a){G();var b=this.getLatest(),c=b.getTextContent(),d=b.__key,e=dc(),f=new Set(a);
|
||||
+else return ue(e,a,e,b,"text","text");return c}selectStart(){return this.select(0,0)}selectEnd(){let a=this.getTextContentSize();return this.select(a,a)}spliceText(a,b,c,d){let e=this.getWritable(),f=e.__text,g=c.length,h=a;0>h&&(h=g+h,0>h&&(h=0));let k=u();d&&C(k)&&(a+=g,k.setTextNodeRange(e,a,e,a));b=f.slice(0,h)+c+f.slice(h+b);e.__text=b;return e}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}splitText(...a){G();var b=this.getLatest(),c=b.getTextContent(),d=b.__key,e=dc(),f=new Set(a);
|
||||
a=[];var g=c.length,h="";for(var k=0;k<g;k++)""!==h&&f.has(k)&&(a.push(h),h=""),h+=c[k];""!==h&&a.push(h);f=a.length;if(0===f)return[];if(a[0]===c)return[b];var m=a[0];c=b.getParentOrThrow();k=b.getFormat();let n=b.getStyle(),p=b.__detail;g=!1;b.isSegmented()?(h=K(m),h.__format=k,h.__style=n,h.__detail=p,g=!0):(h=b.getWritable(),h.__text=m);b=u();h=[h];m=m.length;for(let w=1;w<f;w++){var l=a[w],r=l.length;l=K(l).getWritable();l.__format=k;l.__style=n;l.__detail=p;let y=l.__key;r=m+r;if(C(b)){let z=
|
||||
b.anchor,A=b.focus;z.key===d&&"text"===z.type&&z.offset>m&&z.offset<=r&&(z.key=y,z.offset-=m,b.dirty=!0);A.key===d&&"text"===A.type&&A.offset>m&&A.offset<=r&&(A.key=y,A.offset-=m,b.dirty=!0)}e===d&&H(y);m=r;h.push(l)}d=this.getPreviousSibling();e=this.getNextSibling();null!==d&&cc(d);null!==e&&cc(e);d=c.getWritable();e=this.getIndexWithinParent();g?(d.splice(e,0,h),this.remove()):d.splice(e,1,h);C(b)&&ae(b,c,e,f-1);return h}mergeWithSibling(a){var b=a===this.getPreviousSibling();b||a===this.getNextSibling()||
|
||||
-q(50);var c=this.__key;let d=a.__key,e=this.__text,f=e.length;dc()===d&&H(c);let g=u();if(C(g)){let h=g.anchor,k=g.focus;null!==h&&h.key===d&&(ue(h,b,c,a,f),g.dirty=!0);null!==k&&k.key===d&&(ue(k,b,c,a,f),g.dirty=!0)}c=a.__text;this.setTextContent(b?c+e:e+c);b=this.getWritable();a.remove();return b}isTextEntity(){return!1}}
|
||||
-function se(a){let b="700"===a.style.fontWeight,c="line-through"===a.style.textDecoration,d="italic"===a.style.fontStyle,e="underline"===a.style.textDecoration,f=a.style.verticalAlign;return{forChild:g=>{if(!B(g))return g;b&&g.toggleFormat("bold");c&&g.toggleFormat("strikethrough");d&&g.toggleFormat("italic");e&&g.toggleFormat("underline");"sub"===f&&g.toggleFormat("subscript");"super"===f&&g.toggleFormat("superscript");return g},node:null}}
|
||||
-function qe(a){let b="normal"===a.style.fontWeight;return{forChild:c=>{B(c)&&!b&&c.toggleFormat("bold");return c},node:null}}let ve=new WeakMap;
|
||||
-function pe(a){null===a.parentElement&&q(129);for(var b=a.textContent||"",c,d=a.parentNode,e=[a];null!==d&&void 0===(c=ve.get(d))&&!("PRE"===d.nodeName||1===d.nodeType&&void 0!==d.style&&void 0!==d.style.whiteSpace&&d.style.whiteSpace.startsWith("pre"));)e.push(d),d=d.parentNode;c=void 0===c?d:c;for(d=0;d<e.length;d++)ve.set(e[d],c);if(null!==c){b=b.split(/(\r?\n|\t)/);a=[];e=b.length;for(c=0;c<e;c++)d=b[c],"\n"===d||"\r\n"===d?a.push(ie()):"\t"===d?a.push(we()):""!==d&&a.push(K(d));return{node:a}}b=
|
||||
-b.replace(/\r/g,"").replace(/[ \t\n]+/g," ");if(""===b)return{node:null};if(" "===b[0]){e=a;for(c=!0;null!==e&&null!==(e=xe(e,!1));)if(d=e.textContent||"",0<d.length){/[ \t\n]$/.test(d)&&(b=b.slice(1));c=!1;break}c&&(b=b.slice(1))}if(" "===b[b.length-1]){for(e=!0;null!==a&&null!==(a=xe(a,!0));)if(0<(a.textContent||"").replace(/^( |\t|\r?\n)+/,"").length){e=!1;break}e&&(b=b.slice(0,b.length-1))}return""===b?{node:null}:{node:K(b)}}
|
||||
-let ye=new RegExp(/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/,"i");function xe(a,b){for(;;){for(var c=void 0;null===(c=b?a.nextSibling:a.previousSibling);)if(a=a.parentElement,null===a)return null;a=c;if(1===a.nodeType&&(c=a.style.display,""===c&&null===a.nodeName.match(ye)||""!==c&&!c.startsWith("inline")))return null;for(;null!==(c=b?a.firstChild:a.lastChild);)a=c;if(3===a.nodeType)return a;if("BR"===a.nodeName)return null}}
|
||||
-let ze={code:"code",em:"italic",i:"italic",s:"strikethrough",strong:"bold",sub:"subscript",sup:"superscript",u:"underline"};function re(a){let b=ze[a.nodeName.toLowerCase()];return void 0===b?{node:null}:{forChild:c=>{B(c)&&!c.hasFormat(b)&&c.toggleFormat(b);return c},node:null}}function K(a=""){return zc(new oe(a))}function B(a){return a instanceof oe}
|
||||
-class Ae extends oe{static getType(){return"tab"}static clone(a){let b=new Ae(a.__key);b.__text=a.__text;b.__format=a.__format;b.__style=a.__style;return b}constructor(a){super("\t",a);this.__detail=2}static importDOM(){return null}static importJSON(a){let b=we();b.setFormat(a.format);b.setStyle(a.style);return b}exportJSON(){return{...super.exportJSON(),type:"tab",version:1}}setTextContent(){q(126)}setDetail(){q(127)}setMode(){q(128)}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}}
|
||||
-function we(){return zc(new Ae)}function Be(a){return a instanceof Ae}
|
||||
-class Ce{constructor(a,b,c){this._selection=null;this.key=a;this.offset=b;this.type=c}is(a){return this.key===a.key&&this.offset===a.offset&&this.type===a.type}isBefore(a){let b=this.getNode(),c=a.getNode(),d=this.offset;a=a.offset;if(E(b)){var e=b.getDescendantByIndex(d);b=null!=e?e:b}E(c)&&(e=c.getDescendantByIndex(a),c=null!=e?e:c);return b===c?d<a:b.isBefore(c)}getNode(){let a=I(this.key);null===a&&q(20);return a}set(a,b,c){let d=this._selection,e=this.key;this.key=a;this.offset=b;this.type=c;
|
||||
-ec()||(dc()===e&&H(a),null!==d&&(d.setCachedNodes(null),d.dirty=!0))}}function S(a,b,c){return new Ce(a,b,c)}function Me(a,b){let c=b.__key,d=a.offset,e="element";if(B(b))e="text",b=b.getTextContentSize(),d>b&&(d=b);else if(!E(b)){var f=b.getNextSibling();if(B(f))c=f.__key,d=0,e="text";else if(f=b.getParent())c=f.__key,d=b.getIndexWithinParent()+1}a.set(c,d,e)}function de(a,b){if(E(b)){let c=b.getLastDescendant();E(c)||B(c)?Me(a,c):Me(a,b)}else Me(a,b)}
|
||||
-function Ne(a,b,c,d){let e=a.getNode(),f=e.getChildAtIndex(a.offset),g=K(),h=L(e)?ee().append(g):g;g.setFormat(c);g.setStyle(d);null===f?e.append(h):f.insertBefore(h);a.is(b)&&b.set(g.__key,0,"text");a.set(g.__key,0,"text")}function Oe(a,b,c,d){a.key=b;a.offset=c;a.type=d}
|
||||
-class Pe{constructor(a,b){this.anchor=a;this.focus=b;a._selection=this;b._selection=this;this._cachedNodes=null;this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(a){this._cachedNodes=a}is(a){return ce(a)?this.anchor.is(a.anchor)&&this.focus.is(a.focus):!1}isCollapsed(){return!1}extract(){return this.getNodes()}isBackward(){return this.focus.isBefore(this.anchor)}getCharacterOffsets(){return Qe(this)}}
|
||||
-class Re{constructor(a){this.dirty=!1;this._nodes=a;this._cachedNodes=null}getCachedNodes(){return this._cachedNodes}setCachedNodes(a){this._cachedNodes=a}is(a){if(!Ud(a))return!1;let b=this._nodes,c=a._nodes;return b.size===c.size&&Array.from(b).every(d=>c.has(d))}add(a){this.dirty=!0;this._nodes.add(a);this._cachedNodes=null}delete(a){this.dirty=!0;this._nodes.delete(a);this._cachedNodes=null}clear(){this.dirty=!0;this._nodes.clear();this._cachedNodes=null}has(a){return this._nodes.has(a)}clone(){return new Re(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a){let b=
|
||||
-this.getNodes(),c=b.length;var d=b[c-1];if(B(d))d=d.select();else{let e=d.getIndexWithinParent()+1;d=d.getParentOrThrow().select(e,e)}d.insertNodes(a);for(a=0;a<c;a++)b[a].remove()}getNodes(){var a=this._cachedNodes;if(null!==a)return a;var b=this._nodes;a=[];for(let c of b)b=I(c),null!==b&&a.push(b);ec()||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b="";for(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}function C(a){return a instanceof Se}
|
||||
-function ce(a){return a instanceof Pe}
|
||||
-class Se extends Pe{constructor(a,b,c,d){super(a,b);this.format=c;this.style=d}is(a){return C(a)?this.anchor.is(a.anchor)&&this.focus.is(a.focus)&&this.format===a.format&&this.style===a.style:!1}isCollapsed(){return this.anchor.is(this.focus)}getNodes(){var a=this._cachedNodes;if(null!==a)return a;a=this.anchor;var b=this.focus,c=a.isBefore(b),d=c?a:b;c=c?b:a;a=d.getNode();b=c.getNode();let e=d.offset;d=c.offset;E(a)&&(c=a.getDescendantByIndex(e),a=null!=c?c:a);E(b)&&(c=b.getDescendantByIndex(d),
|
||||
-null!==c&&c!==a&&b.getChildAtIndex(d)===c&&(c=c.getPreviousSibling()),b=null!=c?c:b);a=a.is(b)?E(a)&&0<a.getChildrenSize()?[]:[a]:a.getNodesBetween(b);ec()||(this._cachedNodes=a);return a}setTextNodeRange(a,b,c,d){Oe(this.anchor,a.__key,b,"text");Oe(this.focus,c.__key,d,"text");this._cachedNodes=null;this.dirty=!0}getTextContent(){let a=this.getNodes();if(0===a.length)return"";let b=a[0],c=a[a.length-1],d=this.anchor,e=this.focus,f=d.isBefore(e),[g,h]=Qe(this),k="",m=!0;for(let n=0;n<a.length;n++){let p=
|
||||
-a[n];if(E(p)&&!p.isInline())m||(k+="\n"),m=p.isEmpty()?!1:!0;else if(m=!1,B(p)){let l=p.getTextContent();if(p===b)if(p===c){if("element"!==d.type||"element"!==e.type||e.offset===d.offset)l=g<h?l.slice(g,h):l.slice(h,g)}else l=f?l.slice(g):l.slice(h);else p===c&&(l=f?l.slice(0,h):l.slice(0,g));k+=l}else!x(p)&&!Gc(p)||p===c&&this.isCollapsed()||(k+=p.getTextContent())}return k}applyDOMRange(a){let b=F(),c=b.getEditorState()._selection;a=Te(a.startContainer,a.startOffset,a.endContainer,a.endOffset,b,
|
||||
-c);if(null!==a){var [d,e]=a;Oe(this.anchor,d.key,d.offset,d.type);Oe(this.focus,e.key,e.offset,e.type);this._cachedNodes=null}}clone(){let a=this.anchor,b=this.focus;return new Se(S(a.key,a.offset,a.type),S(b.key,b.offset,b.type),this.format,this.style)}toggleFormat(a){this.format=Yb(this.format,a,null);this.dirty=!0}setStyle(a){this.style=a;this.dirty=!0}hasFormat(a){return 0!==(this.format&hb[a])}insertRawText(a){a=a.split(/(\r?\n|\t)/);let b=[],c=a.length;for(let d=0;d<c;d++){let e=a[d];"\n"===
|
||||
-e||"\r\n"===e?b.push(ie()):"\t"===e?b.push(we()):b.push(K(e))}this.insertNodes(b)}insertText(a){var b=this.anchor,c=this.focus,d=this.isCollapsed()||b.isBefore(c),e=this.format,f=this.style;d&&"element"===b.type?Ne(b,c,e,f):d||"element"!==c.type||Ne(c,b,e,f);var g=this.getNodes(),h=g.length,k=d?c:b;c=(d?b:c).offset;var m=k.offset;b=g[0];B(b)||q(26);d=b.getTextContent().length;var n=b.getParentOrThrow(),p=g[h-1];if(this.isCollapsed()&&c===d&&(b.isSegmented()||b.isToken()||!b.canInsertTextAfter()||
|
||||
+q(50);var c=this.__key;let d=a.__key,e=this.__text,f=e.length;dc()===d&&H(c);let g=u();if(C(g)){let h=g.anchor,k=g.focus;null!==h&&h.key===d&&(ve(h,b,c,a,f),g.dirty=!0);null!==k&&k.key===d&&(ve(k,b,c,a,f),g.dirty=!0)}c=a.__text;this.setTextContent(b?c+e:e+c);b=this.getWritable();a.remove();return b}isTextEntity(){return!1}}
|
||||
+function te(a){let b="700"===a.style.fontWeight,c="line-through"===a.style.textDecoration,d="italic"===a.style.fontStyle,e="underline"===a.style.textDecoration,f=a.style.verticalAlign;return{forChild:g=>{if(!B(g))return g;b&&g.toggleFormat("bold");c&&g.toggleFormat("strikethrough");d&&g.toggleFormat("italic");e&&g.toggleFormat("underline");"sub"===f&&g.toggleFormat("subscript");"super"===f&&g.toggleFormat("superscript");return g},node:null}}
|
||||
+function re(a){let b="normal"===a.style.fontWeight;return{forChild:c=>{B(c)&&!b&&c.toggleFormat("bold");return c},node:null}}let we=new WeakMap;
|
||||
+function qe(a){null===a.parentElement&&q(129);for(var b=a.textContent||"",c,d=a.parentNode,e=[a];null!==d&&void 0===(c=we.get(d))&&!("PRE"===d.nodeName||1===d.nodeType&&void 0!==d.style&&void 0!==d.style.whiteSpace&&d.style.whiteSpace.startsWith("pre"));)e.push(d),d=d.parentNode;c=void 0===c?d:c;for(d=0;d<e.length;d++)we.set(e[d],c);if(null!==c){b=b.split(/(\r?\n|\t)/);a=[];e=b.length;for(c=0;c<e;c++)d=b[c],"\n"===d||"\r\n"===d?a.push(je()):"\t"===d?a.push(xe()):""!==d&&a.push(K(d));return{node:a}}b=
|
||||
+b.replace(/\r/g,"").replace(/[ \t\n]+/g," ");if(""===b)return{node:null};if(" "===b[0]){e=a;for(c=!0;null!==e&&null!==(e=ye(e,!1));)if(d=e.textContent||"",0<d.length){/[ \t\n]$/.test(d)&&(b=b.slice(1));c=!1;break}c&&(b=b.slice(1))}if(" "===b[b.length-1]){for(e=!0;null!==a&&null!==(a=ye(a,!0));)if(0<(a.textContent||"").replace(/^( |\t|\r?\n)+/,"").length){e=!1;break}e&&(b=b.slice(0,b.length-1))}return""===b?{node:null}:{node:K(b)}}
|
||||
+let ze=new RegExp(/^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/,"i");function ye(a,b){for(;;){for(var c=void 0;null===(c=b?a.nextSibling:a.previousSibling);)if(a=a.parentElement,null===a)return null;a=c;if(1===a.nodeType&&(c=a.style.display,""===c&&null===a.nodeName.match(ze)||""!==c&&!c.startsWith("inline")))return null;for(;null!==(c=b?a.firstChild:a.lastChild);)a=c;if(3===a.nodeType)return a;if("BR"===a.nodeName)return null}}
|
||||
+let Ae={code:"code",em:"italic",i:"italic",s:"strikethrough",strong:"bold",sub:"subscript",sup:"superscript",u:"underline"};function se(a){let b=Ae[a.nodeName.toLowerCase()];return void 0===b?{node:null}:{forChild:c=>{B(c)&&!c.hasFormat(b)&&c.toggleFormat(b);return c},node:null}}function K(a=""){return zc(new pe(a))}function B(a){return a instanceof pe}
|
||||
+class Be extends pe{static getType(){return"tab"}static clone(a){let b=new Be(a.__key);b.__text=a.__text;b.__format=a.__format;b.__style=a.__style;return b}constructor(a){super("\t",a);this.__detail=2}static importDOM(){return null}static importJSON(a){let b=xe();b.setFormat(a.format);b.setStyle(a.style);return b}exportJSON(){return{...super.exportJSON(),type:"tab",version:1}}setTextContent(){q(126)}setDetail(){q(127)}setMode(){q(128)}canInsertTextBefore(){return!1}canInsertTextAfter(){return!1}}
|
||||
+function xe(){return zc(new Be)}function Ce(a){return a instanceof Be}
|
||||
+class De{constructor(a,b,c){this._selection=null;this.key=a;this.offset=b;this.type=c}is(a){return this.key===a.key&&this.offset===a.offset&&this.type===a.type}isBefore(a){let b=this.getNode(),c=a.getNode(),d=this.offset;a=a.offset;if(E(b)){var e=b.getDescendantByIndex(d);b=null!=e?e:b}E(c)&&(e=c.getDescendantByIndex(a),c=null!=e?e:c);return b===c?d<a:b.isBefore(c)}getNode(){let a=I(this.key);null===a&&q(20);return a}set(a,b,c){let d=this._selection,e=this.key;this.key=a;this.offset=b;this.type=c;
|
||||
+ec()||(dc()===e&&H(a),null!==d&&(d.setCachedNodes(null),d.dirty=!0))}}function S(a,b,c){return new De(a,b,c)}function Ne(a,b){let c=b.__key,d=a.offset,e="element";if(B(b))e="text",b=b.getTextContentSize(),d>b&&(d=b);else if(!E(b)){var f=b.getNextSibling();if(B(f))c=f.__key,d=0,e="text";else if(f=b.getParent())c=f.__key,d=b.getIndexWithinParent()+1}a.set(c,d,e)}function de(a,b){if(E(b)){let c=b.getLastDescendant();E(c)||B(c)?Ne(a,c):Ne(a,b)}else Ne(a,b)}
|
||||
+function Oe(a,b,c,d){let e=a.getNode(),f=e.getChildAtIndex(a.offset),g=K(),h=L(e)?ee().append(g):g;g.setFormat(c);g.setStyle(d);null===f?e.append(h):f.insertBefore(h);a.is(b)&&b.set(g.__key,0,"text");a.set(g.__key,0,"text")}function Pe(a,b,c,d){a.key=b;a.offset=c;a.type=d}
|
||||
+class Qe{constructor(a,b){this.anchor=a;this.focus=b;a._selection=this;b._selection=this;this._cachedNodes=null;this.dirty=!1}getCachedNodes(){return this._cachedNodes}setCachedNodes(a){this._cachedNodes=a}is(a){return ce(a)?this.anchor.is(a.anchor)&&this.focus.is(a.focus):!1}isCollapsed(){return!1}extract(){return this.getNodes()}isBackward(){return this.focus.isBefore(this.anchor)}getCharacterOffsets(){return Re(this)}}
|
||||
+class Se{constructor(a){this.dirty=!1;this._nodes=a;this._cachedNodes=null}getCachedNodes(){return this._cachedNodes}setCachedNodes(a){this._cachedNodes=a}is(a){if(!Ud(a))return!1;let b=this._nodes,c=a._nodes;return b.size===c.size&&Array.from(b).every(d=>c.has(d))}add(a){this.dirty=!0;this._nodes.add(a);this._cachedNodes=null}delete(a){this.dirty=!0;this._nodes.delete(a);this._cachedNodes=null}clear(){this.dirty=!0;this._nodes.clear();this._cachedNodes=null}has(a){return this._nodes.has(a)}clone(){return new Se(new Set(this._nodes))}extract(){return this.getNodes()}insertRawText(){}insertText(){}insertNodes(a){let b=
|
||||
+this.getNodes(),c=b.length;var d=b[c-1];if(B(d))d=d.select();else{let e=d.getIndexWithinParent()+1;d=d.getParentOrThrow().select(e,e)}d.insertNodes(a);for(a=0;a<c;a++)b[a].remove()}getNodes(){var a=this._cachedNodes;if(null!==a)return a;var b=this._nodes;a=[];for(let c of b)b=I(c),null!==b&&a.push(b);ec()||(this._cachedNodes=a);return a}getTextContent(){let a=this.getNodes(),b="";for(let c=0;c<a.length;c++)b+=a[c].getTextContent();return b}}function C(a){return a instanceof Te}
|
||||
+function ce(a){return a instanceof Qe}
|
||||
+class Te extends Qe{constructor(a,b,c,d){super(a,b);this.format=c;this.style=d}is(a){return C(a)?this.anchor.is(a.anchor)&&this.focus.is(a.focus)&&this.format===a.format&&this.style===a.style:!1}isCollapsed(){return this.anchor.is(this.focus)}getNodes(){var a=this._cachedNodes;if(null!==a)return a;a=this.anchor;var b=this.focus,c=a.isBefore(b),d=c?a:b;c=c?b:a;a=d.getNode();b=c.getNode();let e=d.offset;d=c.offset;E(a)&&(c=a.getDescendantByIndex(e),a=null!=c?c:a);E(b)&&(c=b.getDescendantByIndex(d),
|
||||
+null!==c&&c!==a&&b.getChildAtIndex(d)===c&&(c=c.getPreviousSibling()),b=null!=c?c:b);a=a.is(b)?E(a)&&0<a.getChildrenSize()?[]:[a]:a.getNodesBetween(b);ec()||(this._cachedNodes=a);return a}setTextNodeRange(a,b,c,d){Pe(this.anchor,a.__key,b,"text");Pe(this.focus,c.__key,d,"text");this._cachedNodes=null;this.dirty=!0}getTextContent(){let a=this.getNodes();if(0===a.length)return"";let b=a[0],c=a[a.length-1],d=this.anchor,e=this.focus,f=d.isBefore(e),[g,h]=Re(this),k="",m=!0;for(let n=0;n<a.length;n++){let p=
|
||||
+a[n];if(E(p)&&!p.isInline())m||(k+="\n"),m=p.isEmpty()?!1:!0;else if(m=!1,B(p)){let l=p.getTextContent();if(p===b)if(p===c){if("element"!==d.type||"element"!==e.type||e.offset===d.offset)l=g<h?l.slice(g,h):l.slice(h,g)}else l=f?l.slice(g):l.slice(h);else p===c&&(l=f?l.slice(0,h):l.slice(0,g));k+=l}else!x(p)&&!Gc(p)||p===c&&this.isCollapsed()||(k+=p.getTextContent())}return k}applyDOMRange(a){let b=F(),c=b.getEditorState()._selection;a=Ue(a.startContainer,a.startOffset,a.endContainer,a.endOffset,b,
|
||||
+c);if(null!==a){var [d,e]=a;Pe(this.anchor,d.key,d.offset,d.type);Pe(this.focus,e.key,e.offset,e.type);this._cachedNodes=null}}clone(){let a=this.anchor,b=this.focus;return new Te(S(a.key,a.offset,a.type),S(b.key,b.offset,b.type),this.format,this.style)}toggleFormat(a){this.format=Yb(this.format,a,null);this.dirty=!0}setStyle(a){this.style=a;this.dirty=!0}hasFormat(a){return 0!==(this.format&hb[a])}insertRawText(a){a=a.split(/(\r?\n|\t)/);let b=[],c=a.length;for(let d=0;d<c;d++){let e=a[d];"\n"===
|
||||
+e||"\r\n"===e?b.push(je()):"\t"===e?b.push(xe()):b.push(K(e))}this.insertNodes(b)}insertText(a){var b=this.anchor,c=this.focus,d=this.isCollapsed()||b.isBefore(c),e=this.format,f=this.style;d&&"element"===b.type?Oe(b,c,e,f):d||"element"!==c.type||Oe(c,b,e,f);var g=this.getNodes(),h=g.length,k=d?c:b;c=(d?b:c).offset;var m=k.offset;b=g[0];B(b)||q(26);d=b.getTextContent().length;var n=b.getParentOrThrow(),p=g[h-1];if(this.isCollapsed()&&c===d&&(b.isSegmented()||b.isToken()||!b.canInsertTextAfter()||
|
||||
!n.canInsertTextAfter()&&null===b.getNextSibling())){var l=b.getNextSibling();B(l)&&l.canInsertTextBefore()&&!Wb(l)||(l=K(),l.setFormat(e),n.canInsertTextAfter()?b.insertAfter(l):n.insertAfter(l));l.select(0,0);b=l;if(""!==a){this.insertText(a);return}}else if(this.isCollapsed()&&0===c&&(b.isSegmented()||b.isToken()||!b.canInsertTextBefore()||!n.canInsertTextBefore()&&null===b.getPreviousSibling())){l=b.getPreviousSibling();if(!B(l)||Wb(l))l=K(),l.setFormat(e),n.canInsertTextBefore()?b.insertBefore(l):
|
||||
-n.insertBefore(l);l.select();b=l;if(""!==a){this.insertText(a);return}}else if(b.isSegmented()&&c!==d)n=K(b.getTextContent()),n.setFormat(e),b.replace(n),b=n;else if(!(this.isCollapsed()||""===a||(l=p.getParent(),n.canInsertTextBefore()&&n.canInsertTextAfter()&&(!E(l)||l.canInsertTextBefore()&&l.canInsertTextAfter())))){this.insertText("");Ue(this.anchor,this.focus,null);this.insertText(a);return}if(1===h)if(b.isToken())a=K(a),a.select(),b.replace(a);else{g=b.getFormat();h=b.getStyle();if(c===m&&
|
||||
-(g!==e||h!==f))if(""===b.getTextContent())b.setFormat(e),b.setStyle(f);else{g=K(a);g.setFormat(e);g.setStyle(f);g.select();0===c?b.insertBefore(g,!1):([h]=b.splitText(c),h.insertAfter(g,!1));g.isComposing()&&"text"===this.anchor.type&&(this.anchor.offset-=a.length);return}else if(Be(b)){a=K(a);a.setFormat(e);a.setStyle(f);a.select();b.replace(a);return}b=b.spliceText(c,m-c,a,!0);""===b.getTextContent()?b.remove():"text"===this.anchor.type&&(b.isComposing()?this.anchor.offset-=a.length:(this.format=
|
||||
+n.insertBefore(l);l.select();b=l;if(""!==a){this.insertText(a);return}}else if(b.isSegmented()&&c!==d)n=K(b.getTextContent()),n.setFormat(e),b.replace(n),b=n;else if(!(this.isCollapsed()||""===a||(l=p.getParent(),n.canInsertTextBefore()&&n.canInsertTextAfter()&&(!E(l)||l.canInsertTextBefore()&&l.canInsertTextAfter())))){this.insertText("");Ve(this.anchor,this.focus,null);this.insertText(a);return}if(1===h)if(b.isToken())a=K(a),a.select(),b.replace(a);else{g=b.getFormat();h=b.getStyle();if(c===m&&
|
||||
+(g!==e||h!==f))if(""===b.getTextContent())b.setFormat(e),b.setStyle(f);else{g=K(a);g.setFormat(e);g.setStyle(f);g.select();0===c?b.insertBefore(g,!1):([h]=b.splitText(c),h.insertAfter(g,!1));g.isComposing()&&"text"===this.anchor.type&&(this.anchor.offset-=a.length);return}else if(Ce(b)){a=K(a);a.setFormat(e);a.setStyle(f);a.select();b.replace(a);return}b=b.spliceText(c,m-c,a,!0);""===b.getTextContent()?b.remove():"text"===this.anchor.type&&(b.isComposing()?this.anchor.offset-=a.length:(this.format=
|
||||
g,this.style=h))}else{e=new Set([...b.getParentKeys(),...p.getParentKeys()]);l=E(b)?b:b.getParentOrThrow();f=E(p)?p:p.getParentOrThrow();n=p;if(!l.is(f)&&f.isInline()){do n=f,f=f.getParentOrThrow();while(f.isInline())}if("text"===k.type&&(0!==m||""===p.getTextContent())||"element"===k.type&&p.getIndexWithinParent()<m)if(B(p)&&!p.isToken()&&m!==p.getTextContentSize()){if(p.isSegmented()){var r=K(p.getTextContent());p.replace(r);p=r}L(k.getNode())||"text"!==k.type||(p=p.spliceText(0,m,""));e.add(p.__key)}else k=
|
||||
p.getParentOrThrow(),k.canBeEmpty()||1!==k.getChildrenSize()?p.remove():k.remove();else e.add(p.__key);k=f.getChildren();m=new Set(g);p=l.is(f);l=l.isInline()&&null===b.getNextSibling()?l:b;for(r=k.length-1;0<=r;r--){let w=k[r];if(w.is(b)||E(w)&&w.isParentOf(b))break;w.isAttached()&&(!m.has(w)||w.is(n)?p||l.insertAfter(w,!1):w.remove())}if(!p)for(k=f,f=null;null!==k;){m=k.getChildren();p=m.length;if(0===p||m[p-1].is(f))e.delete(k.__key),f=k;k=k.getParent()}b.isToken()?c===d?b.select():(a=K(a),a.select(),
|
||||
b.replace(a)):(b=b.spliceText(c,d-c,a,!0),""===b.getTextContent()?b.remove():b.isComposing()&&"text"===this.anchor.type&&(this.anchor.offset-=a.length));for(a=1;a<h;a++)b=g[a],e.has(b.__key)||b.remove()}}removeText(){this.insertText("")}formatText(a){if(this.isCollapsed())this.toggleFormat(a),H(null);else{var b=this.getNodes(),c=[];for(var d of b)B(d)&&c.push(d);var e=c.length;if(0===e)this.toggleFormat(a),H(null);else{d=this.anchor;var f=this.focus,g=this.isBackward();b=g?f:d;d=g?d:f;var h=0,k=c[0];
|
||||
f="element"===b.type?0:b.offset;"text"===b.type&&f===k.getTextContentSize()&&(h=1,k=c[1],f=0);if(null!=k){g=k.getFormatFlags(a,null);var m=e-1,n=c[m];e="text"===d.type?d.offset:n.getTextContentSize();if(k.is(n))f!==e&&(0===f&&e===k.getTextContentSize()?k.setFormat(g):(a=k.splitText(f,e),a=0===f?a[0]:a[1],a.setFormat(g),"text"===b.type&&b.set(a.__key,0,"text"),"text"===d.type&&d.set(a.__key,e-f,"text")),this.format=g);else{0!==f&&([,k]=k.splitText(f),f=0);k.setFormat(g);var p=n.getFormatFlags(a,g);
|
||||
-0<e&&(e!==n.getTextContentSize()&&([n]=n.splitText(e)),n.setFormat(p));for(h+=1;h<m;h++){let l=c[h];if(!l.isToken()){let r=l.getFormatFlags(a,p);l.setFormat(r)}}"text"===b.type&&b.set(k.__key,f,"text");"text"===d.type&&d.set(n.__key,e,"text");this.format=g|p}}}}}insertNodes(a){if(0!==a.length){if("root"===this.anchor.key){this.insertParagraph();var b=u();if(!C(b))throw Error("Expected RangeSelection after insertParagraph");return b.insertNodes(a)}var c=Hc(this.anchor.getNode(),Fc);b=a[a.length-1];
|
||||
-if("__language"in c&&E(c))if("__language"in a[0])this.insertText(a[0].getTextContent());else{var d=Ve(this);c.splice(d,0,a);b.selectEnd()}else if(a.some(g=>(E(g)||x(g))&&!g.isInline())){b=We(a);a=b.getLastDescendant();var e=b.getChildren();b=E(c)&&c.isEmpty()?null:this.insertParagraph();d=e[e.length-1];var f=e[0];if((g=>E(g)&&Fc(g)&&!g.isEmpty()&&E(c)&&(!c.isEmpty()||"__value"in c&&"__checked"in c))(f)){if(!E(c))throw Error("Expected 'firstBlock' to be an ElementNode");c.append(...f.getChildren());
|
||||
-f=e[1]}f&&fe(c,f);e=Hc(a,Fc);b&&E(e)&&("__value"in b&&"__checked"in b||Fc(d))&&(e.append(...b.getChildren()),b.remove());E(c)&&c.isEmpty()&&c.remove();a.selectEnd();a=E(c)?c.getLastChild():null;Gc(a)&&e!==c&&a.remove()}else{if(!E(c))throw Error("Expected 'firstBlock' to be an ElementNode");d=Ve(this);c.splice(d,0,a);b.selectEnd()}}}insertParagraph(){if("root"===this.anchor.key){var a=ee();J().splice(this.anchor.offset,0,[a]);a.select();return a}var b=Ve(this);a=Hc(this.anchor.getNode(),Fc);if(!E(a))throw Error("Expected ancestor to be an ElementNode");
|
||||
-b=(b=a.getChildAtIndex(b))?[b,...b.getNextSiblings()]:[];return(a=a.insertNewAfter(this,!1))?(a.append(...b),a.selectStart(),a):null}insertLineBreak(a){var b=ie();this.insertNodes([b]);a&&(a=b.getParentOrThrow(),b=b.getIndexWithinParent(),a.select(b,b))}extract(){var a=this.getNodes(),b=a.length,c=b-1,d=this.anchor;let e=this.focus;var f=a[0];let g=a[c],[h,k]=Qe(this);if(0===b)return[];if(1===b)return B(f)&&!this.isCollapsed()?(a=h>k?k:h,c=f.splitText(a,h>k?h:k),a=0===a?c[0]:c[1],null!=a?[a]:[]):
|
||||
-[f];b=d.isBefore(e);B(f)&&(d=b?h:k,d===f.getTextContentSize()?a.shift():0!==d&&([,f]=f.splitText(d),a[0]=f));B(g)&&(f=g.getTextContent().length,b=b?k:h,0===b?a.pop():b!==f&&([g]=g.splitText(b),a[c]=g));return a}modify(a,b,c){var d=this.focus,e=this.anchor,f="move"===a,g=sc(d,b);if(x(g)&&!g.isIsolated())f&&g.isKeyboardSelectable()?(b=Xe(),b.add(g.__key),Ab(b)):(a=b?g.getPreviousSibling():g.getNextSibling(),B(a)?(g=a.__key,b=b?a.getTextContent().length:0,d.set(g,b,"text"),f&&e.set(g,b,"text")):(c=g.getParentOrThrow(),
|
||||
+0<e&&(e!==n.getTextContentSize()&&([n]=n.splitText(e)),n.setFormat(p));for(h+=1;h<m;h++){let l=c[h];if(!l.isToken()){let r=l.getFormatFlags(a,p);l.setFormat(r)}}"text"===b.type&&b.set(k.__key,f,"text");"text"===d.type&&d.set(n.__key,e,"text");this.format=g|p}}}}}insertNodes(a){if(0!==a.length){if("root"===this.anchor.key){this.insertParagraph();var b=u();if(!C(b))throw Error("Expected RangeSelection after insertParagraph");return b.insertNodes(a)}b=this.isBackward()?this.focus:this.anchor;var c=Hc(b.getNode(),
|
||||
+Fc);b=a[a.length-1];if("__language"in c&&E(c))if("__language"in a[0])this.insertText(a[0].getTextContent());else{var d=We(this);c.splice(d,0,a);b.selectEnd()}else if(a.some(g=>(E(g)||x(g))&&!g.isInline())){b=Xe(a);a=b.getLastDescendant();var e=b.getChildren();b=E(c)&&c.isEmpty()?null:this.insertParagraph();d=e[e.length-1];var f=e[0];if((g=>E(g)&&Fc(g)&&!g.isEmpty()&&E(c)&&(!c.isEmpty()||"__value"in c&&"__checked"in c))(f)){if(!E(c))throw Error("Expected 'firstBlock' to be an ElementNode");c.append(...f.getChildren());
|
||||
+f=e[1]}f&&fe(c,f);e=Hc(a,Fc);b&&E(e)&&("__value"in b&&"__checked"in b||Fc(d))&&(e.append(...b.getChildren()),b.remove());E(c)&&c.isEmpty()&&c.remove();a.selectEnd();a=E(c)?c.getLastChild():null;Gc(a)&&e!==c&&a.remove()}else{if(!E(c))throw Error("Expected 'firstBlock' to be an ElementNode");d=We(this);c.splice(d,0,a);b.selectEnd()}}}insertParagraph(){if("root"===this.anchor.key){var a=ee();J().splice(this.anchor.offset,0,[a]);a.select();return a}var b=We(this);a=Hc(this.anchor.getNode(),Fc);if(!E(a))throw Error("Expected ancestor to be an ElementNode");
|
||||
+b=(b=a.getChildAtIndex(b))?[b,...b.getNextSiblings()]:[];return(a=a.insertNewAfter(this,!1))?(a.append(...b),a.selectStart(),a):null}insertLineBreak(a){var b=je();this.insertNodes([b]);a&&(a=b.getParentOrThrow(),b=b.getIndexWithinParent(),a.select(b,b))}extract(){var a=this.getNodes(),b=a.length,c=b-1,d=this.anchor;let e=this.focus;var f=a[0];let g=a[c],[h,k]=Re(this);if(0===b)return[];if(1===b)return B(f)&&!this.isCollapsed()?(a=h>k?k:h,c=f.splitText(a,h>k?h:k),a=0===a?c[0]:c[1],null!=a?[a]:[]):
|
||||
+[f];b=d.isBefore(e);B(f)&&(d=b?h:k,d===f.getTextContentSize()?a.shift():0!==d&&([,f]=f.splitText(d),a[0]=f));B(g)&&(f=g.getTextContent().length,b=b?k:h,0===b?a.pop():b!==f&&([g]=g.splitText(b),a[c]=g));return a}modify(a,b,c){var d=this.focus,e=this.anchor,f="move"===a,g=sc(d,b);if(x(g)&&!g.isIsolated())f&&g.isKeyboardSelectable()?(b=Ye(),b.add(g.__key),Ab(b)):(a=b?g.getPreviousSibling():g.getNextSibling(),B(a)?(g=a.__key,b=b?a.getTextContent().length:0,d.set(g,b,"text"),f&&e.set(g,b,"text")):(c=g.getParentOrThrow(),
|
||||
E(a)?(c=a.__key,g=b?a.getChildrenSize():0):(g=g.getIndexWithinParent(),c=c.__key,b||g++),d.set(c,g,"element"),f&&e.set(c,g,"element")));else if(e=F(),d=xb(e._window)){var h=e._blockCursorElement,k=e._rootElement;null===k||null===h||!E(g)||g.isInline()||g.canBeEmpty()||Cc(h,e,k);d.modify(a,b?"backward":"forward",c);if(0<d.rangeCount&&(g=d.getRangeAt(0),e=this.anchor.getNode(),e=L(e)?e:wc(e),this.applyDOMRange(g),this.dirty=!0,!f)){f=this.getNodes();a=[];c=!1;for(h=0;h<f.length;h++)k=f[h],vc(k,e)?a.push(k):
|
||||
-c=!0;c&&0<a.length&&(b?(b=a[0],E(b)?b.selectStart():b.getParentOrThrow().selectStart()):(b=a[a.length-1],E(b)?b.selectEnd():b.getParentOrThrow().selectEnd()));if(d.anchorNode!==g.startContainer||d.anchorOffset!==g.startOffset)b=this.focus,f=this.anchor,d=f.key,g=f.offset,e=f.type,Oe(f,b.key,b.offset,b.type),Oe(b,d,g,e),this._cachedNodes=null}}}deleteCharacter(a){let b=this.isCollapsed();if(this.isCollapsed()){var c=this.anchor,d=this.focus,e=c.getNode();if(!a&&("element"===c.type&&E(e)&&c.offset===
|
||||
-e.getChildrenSize()||"text"===c.type&&c.offset===e.getTextContentSize())){var f=e.getParent();f=e.getNextSibling()||(null===f?null:f.getNextSibling());if(E(f)&&f.isShadowRoot())return}f=sc(d,a);if(x(f)&&!f.isIsolated()){f.isKeyboardSelectable()&&E(e)&&0===e.getChildrenSize()?(e.remove(),a=Xe(),a.add(f.__key),Ab(a)):(f.remove(),F().dispatchCommand(aa,void 0));return}if(!a&&E(f)&&E(e)&&e.isEmpty()){e.remove();f.selectStart();return}this.modify("extend",a,"character");if(!this.isCollapsed()){f="text"===
|
||||
-d.type?d.getNode():null;e="text"===c.type?c.getNode():null;if(null!==f&&f.isSegmented()){if(c=d.offset,d=f.getTextContentSize(),f.is(e)||a&&c!==d||!a&&0!==c){Ye(f,a,c);return}}else if(null!==e&&e.isSegmented()&&(c=c.offset,d=e.getTextContentSize(),e.is(f)||a&&0!==c||!a&&c!==d)){Ye(e,a,c);return}e=this.anchor;f=this.focus;c=e.getNode();d=f.getNode();if(c===d&&"text"===e.type&&"text"===f.type){var g=e.offset,h=f.offset;let k=g<h;d=k?g:h;h=k?h:g;g=h-1;d!==g&&(c=c.getTextContent().slice(d,h),jc(c)||(a?
|
||||
+c=!0;c&&0<a.length&&(b?(b=a[0],E(b)?b.selectStart():b.getParentOrThrow().selectStart()):(b=a[a.length-1],E(b)?b.selectEnd():b.getParentOrThrow().selectEnd()));if(d.anchorNode!==g.startContainer||d.anchorOffset!==g.startOffset)b=this.focus,f=this.anchor,d=f.key,g=f.offset,e=f.type,Pe(f,b.key,b.offset,b.type),Pe(b,d,g,e),this._cachedNodes=null}}}deleteCharacter(a){let b=this.isCollapsed();if(this.isCollapsed()){var c=this.anchor,d=this.focus,e=c.getNode();if(!a&&("element"===c.type&&E(e)&&c.offset===
|
||||
+e.getChildrenSize()||"text"===c.type&&c.offset===e.getTextContentSize())){var f=e.getParent();f=e.getNextSibling()||(null===f?null:f.getNextSibling());if(E(f)&&f.isShadowRoot())return}f=sc(d,a);if(x(f)&&!f.isIsolated()){f.isKeyboardSelectable()&&E(e)&&0===e.getChildrenSize()?(e.remove(),a=Ye(),a.add(f.__key),Ab(a)):(f.remove(),F().dispatchCommand(aa,void 0));return}if(!a&&E(f)&&E(e)&&e.isEmpty()){e.remove();f.selectStart();return}this.modify("extend",a,"character");if(!this.isCollapsed()){f="text"===
|
||||
+d.type?d.getNode():null;e="text"===c.type?c.getNode():null;if(null!==f&&f.isSegmented()){if(c=d.offset,d=f.getTextContentSize(),f.is(e)||a&&c!==d||!a&&0!==c){Ze(f,a,c);return}}else if(null!==e&&e.isSegmented()&&(c=c.offset,d=e.getTextContentSize(),e.is(f)||a&&0!==c||!a&&c!==d)){Ze(e,a,c);return}e=this.anchor;f=this.focus;c=e.getNode();d=f.getNode();if(c===d&&"text"===e.type&&"text"===f.type){var g=e.offset,h=f.offset;let k=g<h;d=k?g:h;h=k?h:g;g=h-1;d!==g&&(c=c.getTextContent().slice(d,h),jc(c)||(a?
|
||||
f.offset=g:e.offset=g))}}else if(a&&0===c.offset&&("element"===c.type?c.getNode():c.getNode().getParentOrThrow()).collapseAtStart(this))return}this.removeText();a&&!b&&this.isCollapsed()&&"element"===this.anchor.type&&0===this.anchor.offset&&(a=this.anchor.getNode(),a.isEmpty()&&L(a.getParent())&&0===a.getIndexWithinParent()&&a.collapseAtStart(this))}deleteLine(a){this.isCollapsed()&&("text"===this.anchor.type&&this.modify("extend",a,"lineboundary"),0===(a?this.focus:this.anchor).offset&&this.modify("extend",
|
||||
-a,"character"));this.removeText()}deleteWord(a){this.isCollapsed()&&this.modify("extend",a,"word");this.removeText()}}function Ud(a){return a instanceof Re}function Ze(a){let b=a.offset;if("text"===a.type)return b;a=a.getNode();return b===a.getChildrenSize()?a.getTextContent().length:0}function Qe(a){let b=a.anchor;a=a.focus;return"element"===b.type&&"element"===a.type&&b.key===a.key&&b.offset===a.offset?[0,0]:[Ze(b),Ze(a)]}
|
||||
-function Ye(a,b,c){let d=a.getTextContent().split(/(?=\s)/g),e=d.length,f=0,g=0;for(let h=0;h<e;h++){let k=d[h],m=h===e-1;g=f;f+=k.length;if(b&&f===c||f>c||m){d.splice(h,1);m&&(g=void 0);break}}b=d.join("").trim();""===b?a.remove():(a.setTextContent(b),a.select(g,g))}
|
||||
-function $e(a,b,c,d){var e=b;if(1===a.nodeType){let h=!1;var f=a.childNodes,g=f.length;e===g&&(h=!0,e=g-1);let k=f[e];g=!1;k===d._blockCursorElement?(k=f[e+1],g=!0):null!==d._blockCursorElement&&e--;d=ic(k);if(B(d))e=h?d.getTextContentSize():0;else{f=ic(a);if(null===f)return null;if(E(f)){a=f.getChildAtIndex(e);if(b=E(a))b=a.getParent(),b=null===c||null===b||!b.canBeEmpty()||b!==c.getNode();b&&(c=h?a.getLastDescendant():a.getFirstDescendant(),null===c?(f=a,e=0):(a=c,f=E(a)?a:a.getParentOrThrow()));
|
||||
+a,"character"));this.removeText()}deleteWord(a){this.isCollapsed()&&this.modify("extend",a,"word");this.removeText()}}function Ud(a){return a instanceof Se}function $e(a){let b=a.offset;if("text"===a.type)return b;a=a.getNode();return b===a.getChildrenSize()?a.getTextContent().length:0}function Re(a){let b=a.anchor;a=a.focus;return"element"===b.type&&"element"===a.type&&b.key===a.key&&b.offset===a.offset?[0,0]:[$e(b),$e(a)]}
|
||||
+function Ze(a,b,c){let d=a.getTextContent().split(/(?=\s)/g),e=d.length,f=0,g=0;for(let h=0;h<e;h++){let k=d[h],m=h===e-1;g=f;f+=k.length;if(b&&f===c||f>c||m){d.splice(h,1);m&&(g=void 0);break}}b=d.join("").trim();""===b?a.remove():(a.setTextContent(b),a.select(g,g))}
|
||||
+function af(a,b,c,d){var e=b;if(1===a.nodeType){let h=!1;var f=a.childNodes,g=f.length;e===g&&(h=!0,e=g-1);let k=f[e];g=!1;k===d._blockCursorElement?(k=f[e+1],g=!0):null!==d._blockCursorElement&&e--;d=ic(k);if(B(d))e=h?d.getTextContentSize():0;else{f=ic(a);if(null===f)return null;if(E(f)){a=f.getChildAtIndex(e);if(b=E(a))b=a.getParent(),b=null===c||null===b||!b.canBeEmpty()||b!==c.getNode();b&&(c=h?a.getLastDescendant():a.getFirstDescendant(),null===c?(f=a,e=0):(a=c,f=E(a)?a:a.getParentOrThrow()));
|
||||
B(a)?(d=a,f=null,e=h?a.getTextContentSize():0):a!==f&&h&&!g&&e++}else e=f.getIndexWithinParent(),e=0===b&&x(f)&&ic(a)===f?e:e+1,f=f.getParentOrThrow();if(E(f))return S(f.__key,e,"element")}}else d=ic(a);return B(d)?S(d.__key,e,"text"):null}
|
||||
-function af(a,b,c){var d=a.offset,e=a.getNode();0===d?(d=e.getPreviousSibling(),e=e.getParent(),b)?(c||!b)&&null===d&&E(e)&&e.isInline()&&(b=e.getPreviousSibling(),B(b)&&(a.key=b.__key,a.offset=b.getTextContent().length)):E(d)&&!c&&d.isInline()?(a.key=d.__key,a.offset=d.getChildrenSize(),a.type="element"):B(d)&&(a.key=d.__key,a.offset=d.getTextContent().length):d===e.getTextContent().length&&(d=e.getNextSibling(),e=e.getParent(),b&&E(d)&&d.isInline()?(a.key=d.__key,a.offset=0,a.type="element"):(c||
|
||||
-b)&&null===d&&E(e)&&e.isInline()&&!e.canInsertTextAfter()&&(b=e.getNextSibling(),B(b)&&(a.key=b.__key,a.offset=0)))}function Ue(a,b,c){if("text"===a.type&&"text"===b.type){var d=a.isBefore(b);let e=a.is(b);af(a,d,e);af(b,!d,e);e&&(b.key=a.key,b.offset=a.offset,b.type=a.type);d=F();d.isComposing()&&d._compositionKey!==a.key&&C(c)&&(d=c.anchor,c=c.focus,Oe(a,d.key,d.offset,d.type),Oe(b,c.key,c.offset,c.type))}}
|
||||
-function Te(a,b,c,d,e,f){if(null===a||null===c||!Tb(e,a,c))return null;b=$e(a,b,C(f)?f.anchor:null,e);if(null===b)return null;d=$e(c,d,C(f)?f.focus:null,e);if(null===d||"element"===b.type&&"element"===d.type&&(a=ic(a),c=ic(c),x(a)&&x(c)))return null;Ue(b,d,f);return[b,d]}function te(a,b,c,d,e,f){let g=ac();a=new Se(S(a,b,e),S(c,d,f),0,"");a.dirty=!0;return g._selection=a}function Xe(){return new Re(new Set)}
|
||||
-function bf(a){let b=a.getEditorState()._selection,c=xb(a._window);return C(b)||null==b?Qd(b,c,a,null):b.clone()}
|
||||
-function Qd(a,b,c,d){var e=c._window;if(null===e)return null;var f=(e=d||e.event)?e.type:void 0;d="selectionchange"===f;e=!qb&&(d||"beforeinput"===f||"compositionstart"===f||"compositionend"===f||"click"===f&&e&&3===e.detail||"drop"===f||void 0===f);let g;if(!C(a)||e){if(null===b)return null;e=b.anchorNode;f=b.focusNode;g=b.anchorOffset;b=b.focusOffset;if(d&&C(a)&&!Tb(c,e,f))return a.clone()}else return a.clone();c=Te(e,g,f,b,c,a);if(null===c)return null;let [h,k]=c;return new Se(h,k,C(a)?a.format:
|
||||
+function bf(a,b,c){var d=a.offset,e=a.getNode();0===d?(d=e.getPreviousSibling(),e=e.getParent(),b)?(c||!b)&&null===d&&E(e)&&e.isInline()&&(b=e.getPreviousSibling(),B(b)&&(a.key=b.__key,a.offset=b.getTextContent().length)):E(d)&&!c&&d.isInline()?(a.key=d.__key,a.offset=d.getChildrenSize(),a.type="element"):B(d)&&(a.key=d.__key,a.offset=d.getTextContent().length):d===e.getTextContent().length&&(d=e.getNextSibling(),e=e.getParent(),b&&E(d)&&d.isInline()?(a.key=d.__key,a.offset=0,a.type="element"):(c||
|
||||
+b)&&null===d&&E(e)&&e.isInline()&&!e.canInsertTextAfter()&&(b=e.getNextSibling(),B(b)&&(a.key=b.__key,a.offset=0)))}function Ve(a,b,c){if("text"===a.type&&"text"===b.type){var d=a.isBefore(b);let e=a.is(b);bf(a,d,e);bf(b,!d,e);e&&(b.key=a.key,b.offset=a.offset,b.type=a.type);d=F();d.isComposing()&&d._compositionKey!==a.key&&C(c)&&(d=c.anchor,c=c.focus,Pe(a,d.key,d.offset,d.type),Pe(b,c.key,c.offset,c.type))}}
|
||||
+function Ue(a,b,c,d,e,f){if(null===a||null===c||!Tb(e,a,c))return null;b=af(a,b,C(f)?f.anchor:null,e);if(null===b)return null;d=af(c,d,C(f)?f.focus:null,e);if(null===d||"element"===b.type&&"element"===d.type&&(a=ic(a),c=ic(c),x(a)&&x(c)))return null;Ve(b,d,f);return[b,d]}function ue(a,b,c,d,e,f){let g=ac();a=new Te(S(a,b,e),S(c,d,f),0,"");a.dirty=!0;return g._selection=a}function Ye(){return new Se(new Set)}
|
||||
+function cf(a){let b=a.getEditorState()._selection,c=xb(a._window);return C(b)||null==b?Qd(b,c,a,null):b.clone()}
|
||||
+function Qd(a,b,c,d){var e=c._window;if(null===e)return null;var f=(e=d||e.event)?e.type:void 0;d="selectionchange"===f;e=!qb&&(d||"beforeinput"===f||"compositionstart"===f||"compositionend"===f||"click"===f&&e&&3===e.detail||"drop"===f||void 0===f);let g;if(!C(a)||e){if(null===b)return null;e=b.anchorNode;f=b.focusNode;g=b.anchorOffset;b=b.focusOffset;if(d&&C(a)&&!Tb(c,e,f))return a.clone()}else return a.clone();c=Ue(e,g,f,b,c,a);if(null===c)return null;let [h,k]=c;return new Te(h,k,C(a)?a.format:
|
||||
0,C(a)?a.style:"")}function u(){return ac()._selection}function nc(){return F()._editorState._selection}
|
||||
-function ae(a,b,c,d=1){var e=a.anchor,f=a.focus,g=e.getNode(),h=f.getNode();if(b.is(g)||b.is(h)){g=b.__key;if(a.isCollapsed()){if(b=e.offset,c<=b&&0<d||c<b&&0>d)c=Math.max(0,b+d),e.set(g,c,"element"),f.set(g,c,"element"),cf(a)}else{let m=a.isBackward();h=m?f:e;var k=h.getNode();e=m?e:f;f=e.getNode();b.is(k)&&(k=h.offset,(c<=k&&0<d||c<k&&0>d)&&h.set(g,Math.max(0,k+d),"element"));b.is(f)&&(b=e.offset,(c<=b&&0<d||c<b&&0>d)&&e.set(g,Math.max(0,b+d),"element"))}cf(a)}}
|
||||
-function cf(a){var b=a.anchor,c=b.offset;let d=a.focus;var e=d.offset,f=b.getNode(),g=d.getNode();if(a.isCollapsed())E(f)&&(g=f.getChildrenSize(),g=(e=c>=g)?f.getChildAtIndex(g-1):f.getChildAtIndex(c),B(g)&&(c=0,e&&(c=g.getTextContentSize()),b.set(g.__key,c,"text"),d.set(g.__key,c,"text")));else{if(E(f)){let h=f.getChildrenSize();c=(a=c>=h)?f.getChildAtIndex(h-1):f.getChildAtIndex(c);B(c)&&(f=0,a&&(f=c.getTextContentSize()),b.set(c.__key,f,"text"))}E(g)&&(c=g.getChildrenSize(),e=(b=e>=c)?g.getChildAtIndex(c-
|
||||
-1):g.getChildAtIndex(e),B(e)&&(g=0,b&&(g=e.getTextContentSize()),d.set(e.__key,g,"text")))}}function df(a,b){b=b.getEditorState()._selection;a=a._selection;if(C(a)){var c=a.anchor;let d=a.focus,e;"text"===c.type&&(e=c.getNode(),e.selectionTransform(b,a));"text"===d.type&&(c=d.getNode(),e!==c&&c.selectionTransform(b,a))}}
|
||||
-function $d(a,b,c,d,e){let f=null,g=0,h=null;null!==d?(f=d.__key,B(d)?(g=d.getTextContentSize(),h="text"):E(d)&&(g=d.getChildrenSize(),h="element")):null!==e&&(f=e.__key,B(e)?h="text":E(e)&&(h="element"));null!==f&&null!==h?a.set(f,g,h):(g=b.getIndexWithinParent(),-1===g&&(g=c.getChildrenSize()),a.set(c.__key,g,"element"))}function ue(a,b,c,d,e){"text"===a.type?(a.key=c,b||(a.offset+=e)):a.offset>d.getIndexWithinParent()&&--a.offset}
|
||||
-function ef(a){a instanceof ff||(a instanceof be?(a=Dc(a,gf),gf(a)||q(114)):(a=Dc(a.getNode(),gf),gf(a)||q(114)));let b=a.getParent();hf(b)||q(115);let c=b.getParent();jf(c)||q(116);return[a,b,c]}function Ve(a){a.isCollapsed()||a.removeText();var b=a.anchor;a=b.getNode();for(b=b.offset;!Fc(a);)[a,b]=kf(a,b);return b}
|
||||
-function kf(a,b){var c=a.getParent();if(!c)return c=ee(),J().append(c),c.select(),[J(),0];if(B(a)){var d=a.splitText(b);if(0===d.length)return[c,a.getIndexWithinParent()];a=0===b?0:1;a=d[0].getIndexWithinParent()+a;return[c,a]}if(!E(a)||0===b)return[c,a.getIndexWithinParent()];if(d=a.getChildAtIndex(b))b=new Se(S(a.__key,b,"element"),S(a.__key,b,"element"),0,""),(b=a.insertNewAfter(b))&&b.append(d,...d.getNextSiblings());return[c,a.getIndexWithinParent()+1]}
|
||||
-function We(a){let b=ee(),c=null;for(let d=0;d<a.length;d++){let e=a[d],f=Gc(e);if(f||x(e)&&e.isInline()||E(e)&&e.isInline()||B(e)||e.isParentRequired()){if(null===c&&(c=e.createParentElementNode(),b.append(c),f))continue;null!==c&&c.append(e)}else b.append(e),c=null}return b}let T=null,U=null,Z=!1,lf=!1,$b=0,mf={characterData:!0,childList:!0,subtree:!0};function ec(){return Z||null!==T&&T._readOnly}function G(){Z&&q(13)}function ac(){null===T&&q(15);return T}
|
||||
-function F(){null===U&&q(16);return U}function nf(a,b,c){var d=b.__type;let e=a._nodes.get(d);void 0===e&&q(30,d);a=c.get(d);void 0===a&&(a=Array.from(e.transforms),c.set(d,a));c=a.length;for(d=0;d<c&&(a[d](b),b.isAttached());d++);}function of(a,b){b=b._dirtyLeaves;a=a._nodeMap;for(let c of b)b=a.get(c),B(b)&&b.isAttached()&&b.isSimpleText()&&!b.isUnmergeable()&&Hb(b)}
|
||||
-function pf(a,b){let c=b._dirtyLeaves,d=b._dirtyElements;a=a._nodeMap;let e=dc(),f=new Map;var g=c;let h=g.size;for(var k=d,m=k.size;0<h||0<m;){if(0<h){b._dirtyLeaves=new Set;for(let n of g)g=a.get(n),B(g)&&g.isAttached()&&g.isSimpleText()&&!g.isUnmergeable()&&Hb(g),void 0!==g&&void 0!==g&&g.__key!==e&&g.isAttached()&&nf(b,g,f),c.add(n);g=b._dirtyLeaves;h=g.size;if(0<h){$b++;continue}}b._dirtyLeaves=new Set;b._dirtyElements=new Map;for(let n of k)if(k=n[0],m=n[1],"root"===k||m)g=a.get(k),void 0!==
|
||||
-g&&void 0!==g&&g.__key!==e&&g.isAttached()&&nf(b,g,f),d.set(k,m);g=b._dirtyLeaves;h=g.size;k=b._dirtyElements;m=k.size;$b++}b._dirtyLeaves=c;b._dirtyElements=d}function qf(a,b){var c=a.type,d=b.get(c);void 0===d&&q(17,c);c=d.klass;a.type!==c.getType()&&q(18,c.name);c=c.importJSON(a);a=a.children;if(E(c)&&Array.isArray(a))for(d=0;d<a.length;d++){let e=qf(a[d],b);c.append(e)}return c}function rf(a,b){let c=T,d=Z,e=U;T=a;Z=!0;U=null;try{return b()}finally{T=c,Z=d,U=e}}
|
||||
-function sf(a,b){let c=a._pendingEditorState,d=a._rootElement,e=a._headless||null===d;if(null!==c){var f=a._editorState,g=f._selection,h=c._selection,k=0!==a._dirtyType,m=T,n=Z,p=U,l=a._updating,r=a._observer,w=null;a._pendingEditorState=null;a._editorState=c;if(!e&&k&&null!==r){U=a;T=c;Z=!1;a._updating=!0;try{let D=a._dirtyType,P=a._dirtyElements,Q=a._dirtyLeaves;r.disconnect();var y=D,z=P,A=Q;N=Kc=M="";Nc=2===y;Qc=null;O=a;Lc=a._config;Mc=a._nodes;Pc=O._listeners.mutation;Rc=z;Sc=A;Tc=f._nodeMap;
|
||||
-Uc=c._nodeMap;Oc=c._readOnly;dd=new Map(a._keyToDOMMap);let fa=new Map;ed=fa;sd("root",null);ed=dd=Lc=Uc=Tc=Sc=Rc=Mc=O=void 0;w=fa}catch(D){D instanceof Error&&a._onError(D);if(lf)throw D;tf(a,null,d,c);Db(a);a._dirtyType=2;lf=!0;sf(a,f);lf=!1;return}finally{r.observe(d,mf),a._updating=l,T=m,Z=n,U=p}}c._readOnly||(c._readOnly=!0);var Ia=a._dirtyLeaves,ca=a._dirtyElements,Wa=a._normalizedNodes,ia=a._updateTags,Vc=a._deferred;k&&(a._dirtyType=0,a._cloneNotNeeded.clear(),a._dirtyLeaves=new Set,a._dirtyElements=
|
||||
-new Map,a._normalizedNodes=new Set,a._updateTags=new Set);var De=a._decorators,Nb=a._pendingDecorators||De,Hf=c._nodeMap,Wc;for(Wc in Nb)Hf.has(Wc)||(Nb===De&&(Nb=fc(a)),delete Nb[Wc]);var ha=e?null:xb(a._window);if(a._editable&&null!==ha&&(k||null===h||h.dirty)){U=a;T=c;try{null!==r&&r.disconnect();if(k||null===h||h.dirty){let D=a._blockCursorElement;null!==D&&Cc(D,a,d);a:{let P=ha.anchorNode,Q=ha.focusNode,fa=ha.anchorOffset,lb=ha.focusOffset,W=document.activeElement;if(!(ia.has("collaboration")&&
|
||||
-W!==d||null!==W&&Mb(W)))if(C(h)){var mb=h.anchor,Xc=h.focus,Ee=mb.key,If=Xc.key,Fe=uc(a,Ee),Ge=uc(a,If),Ob=mb.offset,He=Xc.offset,Yc=h.format,Zc=h.style,Ie=h.isCollapsed(),nb=Fe,Pb=Ge,$c=!1;if("text"===mb.type){nb=Xb(Fe);let X=mb.getNode();$c=X.getFormat()!==Yc||X.getStyle()!==Zc}else C(g)&&"text"===g.anchor.type&&($c=!0);"text"===Xc.type&&(Pb=Xb(Ge));if(null!==nb&&null!==Pb){if(Ie&&(null===g||$c||C(g)&&(g.format!==Yc||g.style!==Zc))){var Jf=performance.now();Md=[Yc,Zc,Ob,Ee,Jf]}if(fa===Ob&&lb===
|
||||
-He&&P===nb&&Q===Pb&&("Range"!==ha.type||!Ie)&&(null!==W&&d.contains(W)||d.focus({preventScroll:!0}),"element"!==mb.type))break a;try{ha.setBaseAndExtent(nb,Ob,Pb,He)}catch(X){}if(!ia.has("skip-scroll-into-view")&&h.isCollapsed()&&null!==d&&d===document.activeElement){let X=h instanceof Se&&"element"===h.anchor.type?nb.childNodes[Ob]||null:0<ha.rangeCount?ha.getRangeAt(0):null;if(null!==X){let Y;if(X instanceof Text){let V=document.createRange();V.selectNode(X);Y=V.getBoundingClientRect()}else Y=X.getBoundingClientRect();
|
||||
-let wa=d.ownerDocument,Da=wa.defaultView;if(null!==Da)for(var {top:ad,bottom:bd}=Y,Qb,Rb,ma=d;null!==ma;){let V=ma===wa.body;if(V)Qb=0,Rb=Eb(a).innerHeight;else{let Sb=ma.getBoundingClientRect();Qb=Sb.top;Rb=Sb.bottom}let Ea=0;ad<Qb?Ea=-(Qb-ad):bd>Rb&&(Ea=bd-Rb);if(0!==Ea)if(V)Da.scrollBy(0,Ea);else{let Sb=ma.scrollTop;ma.scrollTop+=Ea;let Je=ma.scrollTop-Sb;ad-=Je;bd-=Je}if(V)break;ma=Vb(ma)}}}Id=!0}}else null!==g&&Tb(a,P,Q)&&ha.removeAllRanges()}}a:{let D=a._blockCursorElement;if(C(h)&&h.isCollapsed()&&
|
||||
+function ae(a,b,c,d=1){var e=a.anchor,f=a.focus,g=e.getNode(),h=f.getNode();if(b.is(g)||b.is(h)){g=b.__key;if(a.isCollapsed()){if(b=e.offset,c<=b&&0<d||c<b&&0>d)c=Math.max(0,b+d),e.set(g,c,"element"),f.set(g,c,"element"),df(a)}else{let m=a.isBackward();h=m?f:e;var k=h.getNode();e=m?e:f;f=e.getNode();b.is(k)&&(k=h.offset,(c<=k&&0<d||c<k&&0>d)&&h.set(g,Math.max(0,k+d),"element"));b.is(f)&&(b=e.offset,(c<=b&&0<d||c<b&&0>d)&&e.set(g,Math.max(0,b+d),"element"))}df(a)}}
|
||||
+function df(a){var b=a.anchor,c=b.offset;let d=a.focus;var e=d.offset,f=b.getNode(),g=d.getNode();if(a.isCollapsed())E(f)&&(g=f.getChildrenSize(),g=(e=c>=g)?f.getChildAtIndex(g-1):f.getChildAtIndex(c),B(g)&&(c=0,e&&(c=g.getTextContentSize()),b.set(g.__key,c,"text"),d.set(g.__key,c,"text")));else{if(E(f)){let h=f.getChildrenSize();c=(a=c>=h)?f.getChildAtIndex(h-1):f.getChildAtIndex(c);B(c)&&(f=0,a&&(f=c.getTextContentSize()),b.set(c.__key,f,"text"))}E(g)&&(c=g.getChildrenSize(),e=(b=e>=c)?g.getChildAtIndex(c-
|
||||
+1):g.getChildAtIndex(e),B(e)&&(g=0,b&&(g=e.getTextContentSize()),d.set(e.__key,g,"text")))}}function ef(a,b){b=b.getEditorState()._selection;a=a._selection;if(C(a)){var c=a.anchor;let d=a.focus,e;"text"===c.type&&(e=c.getNode(),e.selectionTransform(b,a));"text"===d.type&&(c=d.getNode(),e!==c&&c.selectionTransform(b,a))}}
|
||||
+function $d(a,b,c,d,e){let f=null,g=0,h=null;null!==d?(f=d.__key,B(d)?(g=d.getTextContentSize(),h="text"):E(d)&&(g=d.getChildrenSize(),h="element")):null!==e&&(f=e.__key,B(e)?h="text":E(e)&&(h="element"));null!==f&&null!==h?a.set(f,g,h):(g=b.getIndexWithinParent(),-1===g&&(g=c.getChildrenSize()),a.set(c.__key,g,"element"))}function ve(a,b,c,d,e){"text"===a.type?(a.key=c,b||(a.offset+=e)):a.offset>d.getIndexWithinParent()&&--a.offset}
|
||||
+function ff(a){a instanceof gf||(a instanceof be?(a=Dc(a,hf),hf(a)||q(114)):(a=Dc(a.getNode(),hf),hf(a)||q(114)));let b=a.getParent();jf(b)||q(115);let c=b.getParent();kf(c)||q(116);return[a,b,c]}function We(a){a.isCollapsed()||a.removeText();var b=a.anchor;a=b.getNode();for(b=b.offset;!Fc(a);)[a,b]=lf(a,b);return b}
|
||||
+function lf(a,b){var c=a.getParent();if(!c)return c=ee(),J().append(c),c.select(),[J(),0];if(B(a)){var d=a.splitText(b);if(0===d.length)return[c,a.getIndexWithinParent()];a=0===b?0:1;a=d[0].getIndexWithinParent()+a;return[c,a]}if(!E(a)||0===b)return[c,a.getIndexWithinParent()];if(d=a.getChildAtIndex(b))b=new Te(S(a.__key,b,"element"),S(a.__key,b,"element"),0,""),(b=a.insertNewAfter(b))&&b.append(d,...d.getNextSiblings());return[c,a.getIndexWithinParent()+1]}
|
||||
+function Xe(a){let b=ee(),c=null;for(let d=0;d<a.length;d++){let e=a[d],f=Gc(e);if(f||x(e)&&e.isInline()||E(e)&&e.isInline()||B(e)||e.isParentRequired()){if(null===c&&(c=e.createParentElementNode(),b.append(c),f))continue;null!==c&&c.append(e)}else b.append(e),c=null}return b}let T=null,U=null,Z=!1,mf=!1,$b=0,nf={characterData:!0,childList:!0,subtree:!0};function ec(){return Z||null!==T&&T._readOnly}function G(){Z&&q(13)}function ac(){null===T&&q(15);return T}
|
||||
+function F(){null===U&&q(16);return U}function of(a,b,c){var d=b.__type;let e=a._nodes.get(d);void 0===e&&q(30,d);a=c.get(d);void 0===a&&(a=Array.from(e.transforms),c.set(d,a));c=a.length;for(d=0;d<c&&(a[d](b),b.isAttached());d++);}function pf(a,b){b=b._dirtyLeaves;a=a._nodeMap;for(let c of b)b=a.get(c),B(b)&&b.isAttached()&&b.isSimpleText()&&!b.isUnmergeable()&&Hb(b)}
|
||||
+function qf(a,b){let c=b._dirtyLeaves,d=b._dirtyElements;a=a._nodeMap;let e=dc(),f=new Map;var g=c;let h=g.size;for(var k=d,m=k.size;0<h||0<m;){if(0<h){b._dirtyLeaves=new Set;for(let n of g)g=a.get(n),B(g)&&g.isAttached()&&g.isSimpleText()&&!g.isUnmergeable()&&Hb(g),void 0!==g&&void 0!==g&&g.__key!==e&&g.isAttached()&&of(b,g,f),c.add(n);g=b._dirtyLeaves;h=g.size;if(0<h){$b++;continue}}b._dirtyLeaves=new Set;b._dirtyElements=new Map;for(let n of k)if(k=n[0],m=n[1],"root"===k||m)g=a.get(k),void 0!==
|
||||
+g&&void 0!==g&&g.__key!==e&&g.isAttached()&&of(b,g,f),d.set(k,m);g=b._dirtyLeaves;h=g.size;k=b._dirtyElements;m=k.size;$b++}b._dirtyLeaves=c;b._dirtyElements=d}function rf(a,b){var c=a.type,d=b.get(c);void 0===d&&q(17,c);c=d.klass;a.type!==c.getType()&&q(18,c.name);c=c.importJSON(a);a=a.children;if(E(c)&&Array.isArray(a))for(d=0;d<a.length;d++){let e=rf(a[d],b);c.append(e)}return c}function sf(a,b){let c=T,d=Z,e=U;T=a;Z=!0;U=null;try{return b()}finally{T=c,Z=d,U=e}}
|
||||
+function tf(a,b){let c=a._pendingEditorState,d=a._rootElement,e=a._headless||null===d;if(null!==c){var f=a._editorState,g=f._selection,h=c._selection,k=0!==a._dirtyType,m=T,n=Z,p=U,l=a._updating,r=a._observer,w=null;a._pendingEditorState=null;a._editorState=c;if(!e&&k&&null!==r){U=a;T=c;Z=!1;a._updating=!0;try{let D=a._dirtyType,P=a._dirtyElements,Q=a._dirtyLeaves;r.disconnect();var y=D,z=P,A=Q;N=Kc=M="";Nc=2===y;Qc=null;O=a;Lc=a._config;Mc=a._nodes;Pc=O._listeners.mutation;Rc=z;Sc=A;Tc=f._nodeMap;
|
||||
+Uc=c._nodeMap;Oc=c._readOnly;dd=new Map(a._keyToDOMMap);let fa=new Map;ed=fa;sd("root",null);ed=dd=Lc=Uc=Tc=Sc=Rc=Mc=O=void 0;w=fa}catch(D){D instanceof Error&&a._onError(D);if(mf)throw D;uf(a,null,d,c);Db(a);a._dirtyType=2;mf=!0;tf(a,f);mf=!1;return}finally{r.observe(d,nf),a._updating=l,T=m,Z=n,U=p}}c._readOnly||(c._readOnly=!0);var Ia=a._dirtyLeaves,ca=a._dirtyElements,Wa=a._normalizedNodes,ia=a._updateTags,Vc=a._deferred;k&&(a._dirtyType=0,a._cloneNotNeeded.clear(),a._dirtyLeaves=new Set,a._dirtyElements=
|
||||
+new Map,a._normalizedNodes=new Set,a._updateTags=new Set);var Ee=a._decorators,Nb=a._pendingDecorators||Ee,If=c._nodeMap,Wc;for(Wc in Nb)If.has(Wc)||(Nb===Ee&&(Nb=fc(a)),delete Nb[Wc]);var ha=e?null:xb(a._window);if(a._editable&&null!==ha&&(k||null===h||h.dirty)){U=a;T=c;try{null!==r&&r.disconnect();if(k||null===h||h.dirty){let D=a._blockCursorElement;null!==D&&Cc(D,a,d);a:{let P=ha.anchorNode,Q=ha.focusNode,fa=ha.anchorOffset,lb=ha.focusOffset,W=document.activeElement;if(!(ia.has("collaboration")&&
|
||||
+W!==d||null!==W&&Mb(W)))if(C(h)){var mb=h.anchor,Xc=h.focus,Fe=mb.key,Jf=Xc.key,Ge=uc(a,Fe),He=uc(a,Jf),Ob=mb.offset,Ie=Xc.offset,Yc=h.format,Zc=h.style,Je=h.isCollapsed(),nb=Ge,Pb=He,$c=!1;if("text"===mb.type){nb=Xb(Ge);let X=mb.getNode();$c=X.getFormat()!==Yc||X.getStyle()!==Zc}else C(g)&&"text"===g.anchor.type&&($c=!0);"text"===Xc.type&&(Pb=Xb(He));if(null!==nb&&null!==Pb){if(Je&&(null===g||$c||C(g)&&(g.format!==Yc||g.style!==Zc))){var Kf=performance.now();Md=[Yc,Zc,Ob,Fe,Kf]}if(fa===Ob&&lb===
|
||||
+Ie&&P===nb&&Q===Pb&&("Range"!==ha.type||!Je)&&(null!==W&&d.contains(W)||d.focus({preventScroll:!0}),"element"!==mb.type))break a;try{ha.setBaseAndExtent(nb,Ob,Pb,Ie)}catch(X){}if(!ia.has("skip-scroll-into-view")&&h.isCollapsed()&&null!==d&&d===document.activeElement){let X=h instanceof Te&&"element"===h.anchor.type?nb.childNodes[Ob]||null:0<ha.rangeCount?ha.getRangeAt(0):null;if(null!==X){let Y;if(X instanceof Text){let V=document.createRange();V.selectNode(X);Y=V.getBoundingClientRect()}else Y=X.getBoundingClientRect();
|
||||
+let wa=d.ownerDocument,Da=wa.defaultView;if(null!==Da)for(var {top:ad,bottom:bd}=Y,Qb,Rb,ma=d;null!==ma;){let V=ma===wa.body;if(V)Qb=0,Rb=Eb(a).innerHeight;else{let Sb=ma.getBoundingClientRect();Qb=Sb.top;Rb=Sb.bottom}let Ea=0;ad<Qb?Ea=-(Qb-ad):bd>Rb&&(Ea=bd-Rb);if(0!==Ea)if(V)Da.scrollBy(0,Ea);else{let Sb=ma.scrollTop;ma.scrollTop+=Ea;let Ke=ma.scrollTop-Sb;ad-=Ke;bd-=Ke}if(V)break;ma=Vb(ma)}}}Id=!0}}else null!==g&&Tb(a,P,Q)&&ha.removeAllRanges()}}a:{let D=a._blockCursorElement;if(C(h)&&h.isCollapsed()&&
|
||||
"element"===h.anchor.type&&d.contains(document.activeElement)){let P=h.anchor,Q=P.getNode(),fa=P.offset,lb=Q.getChildrenSize(),W=!1,X=null;if(fa===lb){let Y=Q.getChildAtIndex(fa-1);Bc(Y)&&(W=!0)}else{let Y=Q.getChildAtIndex(fa);if(Bc(Y)){let wa=Y.getPreviousSibling();if(null===wa||Bc(wa))W=!0,X=a.getElementByKey(Y.__key)}}if(W){let Y=a.getElementByKey(Q.__key);if(null===D){let wa=a._config.theme,Da=document.createElement("div");Da.contentEditable="false";Da.setAttribute("data-lexical-cursor","true");
|
||||
-let V=wa.blockCursor;if(void 0!==V){if("string"===typeof V){let Ea=V.split(" ");V=wa.blockCursor=Ea}void 0!==V&&Da.classList.add(...V)}a._blockCursorElement=D=Da}d.style.caretColor="transparent";null===X?Y.appendChild(D):Y.insertBefore(D,X);break a}}null!==D&&Cc(D,a,d)}null!==r&&r.observe(d,mf)}finally{U=p,T=m}}if(null!==w){var Kf=w;let D=Array.from(a._listeners.mutation),P=D.length;for(let Q=0;Q<P;Q++){let [fa,lb]=D[Q],W=Kf.get(lb);void 0!==W&&fa(W,{dirtyLeaves:Ia,prevEditorState:f,updateTags:ia})}}C(h)||
|
||||
-null===h||null!==g&&g.is(h)||a.dispatchCommand(aa,void 0);var cd=a._pendingDecorators;null!==cd&&(a._decorators=cd,a._pendingDecorators=null,uf("decorator",a,!0,cd));var Lf=gc(b||f),Ke=gc(c);Lf!==Ke&&uf("textcontent",a,!0,Ke);uf("update",a,!0,{dirtyElements:ca,dirtyLeaves:Ia,editorState:c,normalizedNodes:Wa,prevEditorState:b||f,tags:ia});a._deferred=[];if(0!==Vc.length){let D=a._updating;a._updating=!0;try{for(let P=0;P<Vc.length;P++)Vc[P]()}finally{a._updating=D}}var Le=a._updates;if(0!==Le.length){let D=
|
||||
-Le.shift();if(D){let [P,Q]=D;vf(a,P,Q)}}}}function uf(a,b,c,...d){let e=b._updating;b._updating=c;try{let f=Array.from(b._listeners[a]);for(a=0;a<f.length;a++)f[a].apply(null,d)}finally{b._updating=e}}
|
||||
+let V=wa.blockCursor;if(void 0!==V){if("string"===typeof V){let Ea=V.split(" ");V=wa.blockCursor=Ea}void 0!==V&&Da.classList.add(...V)}a._blockCursorElement=D=Da}d.style.caretColor="transparent";null===X?Y.appendChild(D):Y.insertBefore(D,X);break a}}null!==D&&Cc(D,a,d)}null!==r&&r.observe(d,nf)}finally{U=p,T=m}}if(null!==w){var Lf=w;let D=Array.from(a._listeners.mutation),P=D.length;for(let Q=0;Q<P;Q++){let [fa,lb]=D[Q],W=Lf.get(lb);void 0!==W&&fa(W,{dirtyLeaves:Ia,prevEditorState:f,updateTags:ia})}}C(h)||
|
||||
+null===h||null!==g&&g.is(h)||a.dispatchCommand(aa,void 0);var cd=a._pendingDecorators;null!==cd&&(a._decorators=cd,a._pendingDecorators=null,vf("decorator",a,!0,cd));var Mf=gc(b||f),Le=gc(c);Mf!==Le&&vf("textcontent",a,!0,Le);vf("update",a,!0,{dirtyElements:ca,dirtyLeaves:Ia,editorState:c,normalizedNodes:Wa,prevEditorState:b||f,tags:ia});a._deferred=[];if(0!==Vc.length){let D=a._updating;a._updating=!0;try{for(let P=0;P<Vc.length;P++)Vc[P]()}finally{a._updating=D}}var Me=a._updates;if(0!==Me.length){let D=
|
||||
+Me.shift();if(D){let [P,Q]=D;wf(a,P,Q)}}}}function vf(a,b,c,...d){let e=b._updating;b._updating=c;try{let f=Array.from(b._listeners[a]);for(a=0;a<f.length;a++)f[a].apply(null,d)}finally{b._updating=e}}
|
||||
function R(a,b,c){if(!1===a._updating||U!==a){let f=!1;a.update(()=>{f=R(a,b,c)});return f}let d=kc(a);for(let f=4;0<=f;f--)for(let g=0;g<d.length;g++){var e=d[g]._commands.get(b);if(void 0!==e&&(e=e[f],void 0!==e)){e=Array.from(e);let h=e.length;for(let k=0;k<h;k++)if(!0===e[k](c,a))return!0}}return!1}
|
||||
-function wf(a,b){let c=a._updates;for(b=b||!1;0!==c.length;){var d=c.shift();if(d){let [e,f]=d,g;void 0!==f&&(d=f.onUpdate,g=f.tag,f.skipTransforms&&(b=!0),d&&a._deferred.push(d),g&&a._updateTags.add(g));e()}}return b}
|
||||
-function vf(a,b,c){let d=a._updateTags;var e,f=e=!1;if(void 0!==c){var g=c.onUpdate;e=c.tag;null!=e&&d.add(e);e=c.skipTransforms||!1;f=c.discrete||!1}g&&a._deferred.push(g);c=a._editorState;g=a._pendingEditorState;let h=!1;if(null===g||g._readOnly)g=a._pendingEditorState=new xf(new Map((g||c)._nodeMap)),h=!0;g._flushSync=f;f=T;let k=Z,m=U,n=a._updating;T=g;Z=!1;a._updating=!0;U=a;try{h&&(a._headless?null!=c._selection&&(g._selection=c._selection.clone()):g._selection=bf(a));let p=a._compositionKey;
|
||||
-b();e=wf(a,e);df(g,a);0!==a._dirtyType&&(e?of(g,a):pf(g,a),wf(a),Jc(c,g,a._dirtyLeaves,a._dirtyElements));p!==a._compositionKey&&(g._flushSync=!0);let l=g._selection;if(C(l)){let r=g._nodeMap,w=l.focus.key;void 0!==r.get(l.anchor.key)&&void 0!==r.get(w)||q(19)}else Ud(l)&&0===l._nodes.size&&(g._selection=null)}catch(p){p instanceof Error&&a._onError(p);a._pendingEditorState=c;a._dirtyType=2;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();sf(a);return}finally{T=f,Z=k,U=m,
|
||||
-a._updating=n,$b=0}0!==a._dirtyType||yf(g,a)?g._flushSync?(g._flushSync=!1,sf(a)):h&&Lb(()=>{sf(a)}):(g._flushSync=!1,h&&(d.clear(),a._deferred=[],a._pendingEditorState=null))}function v(a,b,c){a._updating?a._updates.push([b,c]):vf(a,b,c)}class zf extends be{constructor(a){super(a)}decorate(){q(47)}isIsolated(){return!1}isInline(){return!0}isKeyboardSelectable(){return!0}}function x(a){return a instanceof zf}
|
||||
-class Af extends be{constructor(a){super(a);this.__last=this.__first=null;this.__indent=this.__format=this.__size=0;this.__dir=null}getFormat(){return this.getLatest().__format}getFormatType(){let a=this.getFormat();return kb[a]||""}getIndent(){return this.getLatest().__indent}getChildren(){let a=[],b=this.getFirstChild();for(;null!==b;)a.push(b),b=b.getNextSibling();return a}getChildrenKeys(){let a=[],b=this.getFirstChild();for(;null!==b;)a.push(b.__key),b=b.getNextSibling();return a}getChildrenSize(){return this.getLatest().__size}isEmpty(){return 0===
|
||||
+function xf(a,b){let c=a._updates;for(b=b||!1;0!==c.length;){var d=c.shift();if(d){let [e,f]=d,g;void 0!==f&&(d=f.onUpdate,g=f.tag,f.skipTransforms&&(b=!0),d&&a._deferred.push(d),g&&a._updateTags.add(g));e()}}return b}
|
||||
+function wf(a,b,c){let d=a._updateTags;var e,f=e=!1;if(void 0!==c){var g=c.onUpdate;e=c.tag;null!=e&&d.add(e);e=c.skipTransforms||!1;f=c.discrete||!1}g&&a._deferred.push(g);c=a._editorState;g=a._pendingEditorState;let h=!1;if(null===g||g._readOnly)g=a._pendingEditorState=new yf(new Map((g||c)._nodeMap)),h=!0;g._flushSync=f;f=T;let k=Z,m=U,n=a._updating;T=g;Z=!1;a._updating=!0;U=a;try{h&&(a._headless?null!=c._selection&&(g._selection=c._selection.clone()):g._selection=cf(a));let p=a._compositionKey;
|
||||
+b();e=xf(a,e);ef(g,a);0!==a._dirtyType&&(e?pf(g,a):qf(g,a),xf(a),Jc(c,g,a._dirtyLeaves,a._dirtyElements));p!==a._compositionKey&&(g._flushSync=!0);let l=g._selection;if(C(l)){let r=g._nodeMap,w=l.focus.key;void 0!==r.get(l.anchor.key)&&void 0!==r.get(w)||q(19)}else Ud(l)&&0===l._nodes.size&&(g._selection=null)}catch(p){p instanceof Error&&a._onError(p);a._pendingEditorState=c;a._dirtyType=2;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();tf(a);return}finally{T=f,Z=k,U=m,
|
||||
+a._updating=n,$b=0}0!==a._dirtyType||zf(g,a)?g._flushSync?(g._flushSync=!1,tf(a)):h&&Lb(()=>{tf(a)}):(g._flushSync=!1,h&&(d.clear(),a._deferred=[],a._pendingEditorState=null))}function v(a,b,c){a._updating?a._updates.push([b,c]):wf(a,b,c)}class Af extends be{constructor(a){super(a)}decorate(){q(47)}isIsolated(){return!1}isInline(){return!0}isKeyboardSelectable(){return!0}}function x(a){return a instanceof Af}
|
||||
+class Bf extends be{constructor(a){super(a);this.__last=this.__first=null;this.__indent=this.__format=this.__size=0;this.__dir=null}getFormat(){return this.getLatest().__format}getFormatType(){let a=this.getFormat();return kb[a]||""}getIndent(){return this.getLatest().__indent}getChildren(){let a=[],b=this.getFirstChild();for(;null!==b;)a.push(b),b=b.getNextSibling();return a}getChildrenKeys(){let a=[],b=this.getFirstChild();for(;null!==b;)a.push(b.__key),b=b.getNextSibling();return a}getChildrenSize(){return this.getLatest().__size}isEmpty(){return 0===
|
||||
this.getChildrenSize()}isDirty(){let a=F()._dirtyElements;return null!==a&&a.has(this.__key)}isLastChild(){let a=this.getLatest(),b=this.getParentOrThrow().getLastChild();return null!==b&&b.is(a)}getAllTextNodes(){let a=[],b=this.getFirstChild();for(;null!==b;){B(b)&&a.push(b);if(E(b)){let c=b.getAllTextNodes();a.push(...c)}b=b.getNextSibling()}return a}getFirstDescendant(){let a=this.getFirstChild();for(;null!==a;){if(E(a)){let b=a.getFirstChild();if(null!==b){a=b;continue}}break}return a}getLastDescendant(){let a=
|
||||
this.getLastChild();for(;null!==a;){if(E(a)){let b=a.getLastChild();if(null!==b){a=b;continue}}break}return a}getDescendantByIndex(a){let b=this.getChildren(),c=b.length;if(a>=c)return a=b[c-1],E(a)&&a.getLastDescendant()||a||null;a=b[a];return E(a)&&a.getFirstDescendant()||a||null}getFirstChild(){let a=this.getLatest().__first;return null===a?null:I(a)}getFirstChildOrThrow(){let a=this.getFirstChild();null===a&&q(45,this.__key);return a}getLastChild(){let a=this.getLatest().__last;return null===
|
||||
a?null:I(a)}getLastChildOrThrow(){let a=this.getLastChild();null===a&&q(96,this.__key);return a}getChildAtIndex(a){var b=this.getChildrenSize();let c;if(a<b/2){c=this.getFirstChild();for(b=0;null!==c&&b<=a;){if(b===a)return c;c=c.getNextSibling();b++}return null}c=this.getLastChild();for(--b;null!==c&&b>=a;){if(b===a)return c;c=c.getPreviousSibling();b--}return null}getTextContent(){let a="",b=this.getChildren(),c=b.length;for(let d=0;d<c;d++){let e=b[d];a+=e.getTextContent();E(e)&&d!==c-1&&!e.isInline()&&
|
||||
(a+="\n\n")}return a}getTextContentSize(){let a=0,b=this.getChildren(),c=b.length;for(let d=0;d<c;d++){let e=b[d];a+=e.getTextContentSize();E(e)&&d!==c-1&&!e.isInline()&&(a+=2)}return a}getDirection(){return this.getLatest().__dir}hasFormat(a){return""!==a?(a=jb[a],0!==(this.getFormat()&a)):!1}select(a,b){G();let c=u(),d=a,e=b;var f=this.getChildrenSize();if(!this.canBeEmpty())if(0===a&&0===b){if(a=this.getFirstChild(),B(a)||E(a))return a.select(0,0)}else if(!(void 0!==a&&a!==f||void 0!==b&&b!==f)&&
|
||||
-(a=this.getLastChild(),B(a)||E(a)))return a.select();void 0===d&&(d=f);void 0===e&&(e=f);f=this.__key;if(C(c))c.anchor.set(f,d,"element"),c.focus.set(f,e,"element"),c.dirty=!0;else return te(f,d,f,e,"element","element");return c}selectStart(){let a=this.getFirstDescendant();return a?a.selectStart():this.select()}selectEnd(){let a=this.getLastDescendant();return a?a.selectEnd():this.select()}clear(){let a=this.getWritable();this.getChildren().forEach(b=>b.remove());return a}append(...a){return this.splice(this.getChildrenSize(),
|
||||
+(a=this.getLastChild(),B(a)||E(a)))return a.select();void 0===d&&(d=f);void 0===e&&(e=f);f=this.__key;if(C(c))c.anchor.set(f,d,"element"),c.focus.set(f,e,"element"),c.dirty=!0;else return ue(f,d,f,e,"element","element");return c}selectStart(){let a=this.getFirstDescendant();return a?a.selectStart():this.select()}selectEnd(){let a=this.getLastDescendant();return a?a.selectEnd():this.select()}clear(){let a=this.getWritable();this.getChildren().forEach(b=>b.remove());return a}append(...a){return this.splice(this.getChildrenSize(),
|
||||
0,a)}setDirection(a){let b=this.getWritable();b.__dir=a;return b}setFormat(a){this.getWritable().__format=""!==a?jb[a]:0;return this}setIndent(a){this.getWritable().__indent=a;return this}splice(a,b,c){let d=c.length,e=this.getChildrenSize(),f=this.getWritable(),g=f.__key;var h=[],k=[];let m=this.getChildAtIndex(a+b),n=null,p=e-b+d;if(0!==a)if(a===e)n=this.getLastChild();else{var l=this.getChildAtIndex(a);null!==l&&(n=l.getPreviousSibling())}if(0<b){var r=null===n?this.getFirstChild():n.getNextSibling();
|
||||
for(l=0;l<b;l++){null===r&&q(100);var w=r.getNextSibling(),y=r.__key;r=r.getWritable();bc(r);k.push(y);r=w}}l=n;for(w=0;w<d;w++){y=c[w];null!==l&&y.is(l)&&(n=l=l.getPreviousSibling());r=y.getWritable();r.__parent===g&&p--;bc(r);let z=y.__key;null===l?(f.__first=z,r.__prev=null):(l=l.getWritable(),l.__next=z,r.__prev=l.__key);y.__key===g&&q(76);r.__parent=g;h.push(z);l=y}a+b===e?null!==l&&(l.getWritable().__next=null,f.__last=l.__key):null!==m&&(a=m.getWritable(),null!==l?(b=l.getWritable(),a.__prev=
|
||||
-l.__key,b.__next=m.__key):a.__prev=null);f.__size=p;if(k.length&&(a=u(),C(a))){k=new Set(k);h=new Set(h);let {anchor:z,focus:A}=a;Bf(z,k,h)&&$d(z,z.getNode(),this,n,m);Bf(A,k,h)&&$d(A,A.getNode(),this,n,m);0!==p||this.canBeEmpty()||xc(this)||this.remove()}return f}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:"element",version:1}}insertNewAfter(){return null}canIndent(){return!0}collapseAtStart(){return!1}excludeFromCopy(){return!1}canExtractContents(){return!0}canReplaceWith(){return!0}canInsertAfter(){return!0}canBeEmpty(){return!0}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}isInline(){return!1}isShadowRoot(){return!1}canMergeWith(){return!1}extractWithChild(){return!1}}
|
||||
-function E(a){return a instanceof Af}function Bf(a,b,c){for(a=a.getNode();a;){let d=a.__key;if(b.has(d)&&!c.has(d))return!0;a=a.getParent()}return!1}
|
||||
-class Cf extends Af{static getType(){return"root"}static clone(){return new Cf}constructor(){super("root");this.__cachedText=null}getTopLevelElementOrThrow(){q(51)}getTextContent(){let a=this.__cachedText;return!ec()&&0!==F()._dirtyType||null===a?super.getTextContent():a}remove(){q(52)}replace(){q(53)}insertBefore(){q(54)}insertAfter(){q(55)}updateDOM(){return!1}append(...a){for(let b=0;b<a.length;b++){let c=a[b];E(c)||x(c)||q(56)}return super.append(...a)}static importJSON(a){let b=J();b.setFormat(a.format);
|
||||
-b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:"root",version:1}}collapseAtStart(){return!0}}function L(a){return a instanceof Cf}function yf(a,b){b=b.getEditorState()._selection;a=a._selection;if(null!==a){if(a.dirty||!a.is(b))return!0}else if(null!==b)return!0;return!1}function Df(){return new xf(new Map([["root",new Cf]]))}
|
||||
-function Ef(a){let b=a.exportJSON();var c=a.constructor;b.type!==c.getType()&&q(130,c.name);if(E(a)){let d=b.children;Array.isArray(d)||q(59,c.name);a=a.getChildren();for(c=0;c<a.length;c++){let e=Ef(a[c]);d.push(e)}}return b}
|
||||
-class xf{constructor(a,b){this._nodeMap=a;this._selection=b||null;this._readOnly=this._flushSync=!1}isEmpty(){return 1===this._nodeMap.size&&null===this._selection}read(a){return rf(this,a)}clone(a){a=new xf(this._nodeMap,void 0===a?this._selection:a);a._readOnly=!0;return a}toJSON(){return rf(this,()=>({root:Ef(J())}))}}
|
||||
-class Ff extends Af{static getType(){return"paragraph"}static clone(a){return new Ff(a.__key)}createDOM(a){let b=document.createElement("p");a=pc(a.theme,"paragraph");void 0!==a&&b.classList.add(...a);return b}updateDOM(){return!1}static importDOM(){return{p:()=>({conversion:Gf,priority:0})}}exportDOM(a){({element:a}=super.exportDOM(a));if(a&&Ec(a)){this.isEmpty()&&a.append(document.createElement("br"));var b=this.getFormatType();a.style.textAlign=b;if(b=this.getDirection())a.dir=b;b=this.getIndent();
|
||||
+l.__key,b.__next=m.__key):a.__prev=null);f.__size=p;if(k.length&&(a=u(),C(a))){k=new Set(k);h=new Set(h);let {anchor:z,focus:A}=a;Cf(z,k,h)&&$d(z,z.getNode(),this,n,m);Cf(A,k,h)&&$d(A,A.getNode(),this,n,m);0!==p||this.canBeEmpty()||xc(this)||this.remove()}return f}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:"element",version:1}}insertNewAfter(){return null}canIndent(){return!0}collapseAtStart(){return!1}excludeFromCopy(){return!1}canExtractContents(){return!0}canReplaceWith(){return!0}canInsertAfter(){return!0}canBeEmpty(){return!0}canInsertTextBefore(){return!0}canInsertTextAfter(){return!0}isInline(){return!1}isShadowRoot(){return!1}canMergeWith(){return!1}extractWithChild(){return!1}}
|
||||
+function E(a){return a instanceof Bf}function Cf(a,b,c){for(a=a.getNode();a;){let d=a.__key;if(b.has(d)&&!c.has(d))return!0;a=a.getParent()}return!1}
|
||||
+class Df extends Bf{static getType(){return"root"}static clone(){return new Df}constructor(){super("root");this.__cachedText=null}getTopLevelElementOrThrow(){q(51)}getTextContent(){let a=this.__cachedText;return!ec()&&0!==F()._dirtyType||null===a?super.getTextContent():a}remove(){q(52)}replace(){q(53)}insertBefore(){q(54)}insertAfter(){q(55)}updateDOM(){return!1}append(...a){for(let b=0;b<a.length;b++){let c=a[b];E(c)||x(c)||q(56)}return super.append(...a)}static importJSON(a){let b=J();b.setFormat(a.format);
|
||||
+b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{children:[],direction:this.getDirection(),format:this.getFormatType(),indent:this.getIndent(),type:"root",version:1}}collapseAtStart(){return!0}}function L(a){return a instanceof Df}function zf(a,b){b=b.getEditorState()._selection;a=a._selection;if(null!==a){if(a.dirty||!a.is(b))return!0}else if(null!==b)return!0;return!1}function Ef(){return new yf(new Map([["root",new Df]]))}
|
||||
+function Ff(a){let b=a.exportJSON();var c=a.constructor;b.type!==c.getType()&&q(130,c.name);if(E(a)){let d=b.children;Array.isArray(d)||q(59,c.name);a=a.getChildren();for(c=0;c<a.length;c++){let e=Ff(a[c]);d.push(e)}}return b}
|
||||
+class yf{constructor(a,b){this._nodeMap=a;this._selection=b||null;this._readOnly=this._flushSync=!1}isEmpty(){return 1===this._nodeMap.size&&null===this._selection}read(a){return sf(this,a)}clone(a){a=new yf(this._nodeMap,void 0===a?this._selection:a);a._readOnly=!0;return a}toJSON(){return sf(this,()=>({root:Ff(J())}))}}
|
||||
+class Gf extends Bf{static getType(){return"paragraph"}static clone(a){return new Gf(a.__key)}createDOM(a){let b=document.createElement("p");a=pc(a.theme,"paragraph");void 0!==a&&b.classList.add(...a);return b}updateDOM(){return!1}static importDOM(){return{p:()=>({conversion:Hf,priority:0})}}exportDOM(a){({element:a}=super.exportDOM(a));if(a&&Ec(a)){this.isEmpty()&&a.append(document.createElement("br"));var b=this.getFormatType();a.style.textAlign=b;if(b=this.getDirection())a.dir=b;b=this.getIndent();
|
||||
0<b&&(a.style.textIndent=`${20*b}px`)}return{element:a}}static importJSON(a){let b=ee();b.setFormat(a.format);b.setIndent(a.indent);b.setDirection(a.direction);return b}exportJSON(){return{...super.exportJSON(),type:"paragraph",version:1}}insertNewAfter(a,b){a=ee();let c=this.getDirection();a.setDirection(c);this.insertAfter(a,b);return a}collapseAtStart(){let a=this.getChildren();if(0===a.length||B(a[0])&&""===a[0].getTextContent().trim()){if(null!==this.getNextSibling())return this.selectNext(),
|
||||
-this.remove(),!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function Gf(a){let b=ee();a.style&&(b.setFormat(a.style.textAlign),a=parseInt(a.style.textIndent,10)/20,0<a&&b.setIndent(a));return{node:b}}function ee(){return zc(new Ff)}
|
||||
-function tf(a,b,c,d){let e=a._keyToDOMMap;e.clear();a._editorState=Df();a._pendingEditorState=d;a._compositionKey=null;a._dirtyType=0;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();a._normalizedNodes=new Set;a._updateTags=new Set;a._updates=[];a._blockCursorElement=null;d=a._observer;null!==d&&(d.disconnect(),a._observer=null);null!==b&&(b.textContent="");null!==c&&(c.textContent="",e.set("root",c))}
|
||||
-function Mf(a,b){let c=new Map,d=new Set,e=f=>{Object.keys(f).forEach(g=>{let h=c.get(g);void 0===h&&(h=[],c.set(g,h));h.push(f[g])})};a.forEach(f=>{f=null!=f.klass.importDOM?f.klass.importDOM.bind(f.klass):null;null==f||d.has(f)||(d.add(f),f=f(),null!==f&&e(f))});b&&e(b);return c}
|
||||
-class Nf{constructor(a,b,c,d,e,f,g){this._parentEditor=b;this._rootElement=null;this._editorState=a;this._compositionKey=this._pendingEditorState=null;this._deferred=[];this._keyToDOMMap=new Map;this._updates=[];this._updating=!1;this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set};this._commands=new Map;this._config=d;this._nodes=c;this._decorators={};this._pendingDecorators=null;this._dirtyType=0;this._cloneNotNeeded=new Set;this._dirtyLeaves=
|
||||
+this.remove(),!0;if(null!==this.getPreviousSibling())return this.selectPrevious(),this.remove(),!0}return!1}}function Hf(a){let b=ee();a.style&&(b.setFormat(a.style.textAlign),a=parseInt(a.style.textIndent,10)/20,0<a&&b.setIndent(a));return{node:b}}function ee(){return zc(new Gf)}
|
||||
+function uf(a,b,c,d){let e=a._keyToDOMMap;e.clear();a._editorState=Ef();a._pendingEditorState=d;a._compositionKey=null;a._dirtyType=0;a._cloneNotNeeded.clear();a._dirtyLeaves=new Set;a._dirtyElements.clear();a._normalizedNodes=new Set;a._updateTags=new Set;a._updates=[];a._blockCursorElement=null;d=a._observer;null!==d&&(d.disconnect(),a._observer=null);null!==b&&(b.textContent="");null!==c&&(c.textContent="",e.set("root",c))}
|
||||
+function Nf(a,b){let c=new Map,d=new Set,e=f=>{Object.keys(f).forEach(g=>{let h=c.get(g);void 0===h&&(h=[],c.set(g,h));h.push(f[g])})};a.forEach(f=>{f=null!=f.klass.importDOM?f.klass.importDOM.bind(f.klass):null;null==f||d.has(f)||(d.add(f),f=f(),null!==f&&e(f))});b&&e(b);return c}
|
||||
+class Of{constructor(a,b,c,d,e,f,g){this._parentEditor=b;this._rootElement=null;this._editorState=a;this._compositionKey=this._pendingEditorState=null;this._deferred=[];this._keyToDOMMap=new Map;this._updates=[];this._updating=!1;this._listeners={decorator:new Set,editable:new Set,mutation:new Map,root:new Set,textcontent:new Set,update:new Set};this._commands=new Map;this._config=d;this._nodes=c;this._decorators={};this._pendingDecorators=null;this._dirtyType=0;this._cloneNotNeeded=new Set;this._dirtyLeaves=
|
||||
new Set;this._dirtyElements=new Map;this._normalizedNodes=new Set;this._updateTags=new Set;this._observer=null;this._key=lc();this._onError=e;this._htmlConversions=f;this._editable=g;this._headless=null!==b&&b._headless;this._blockCursorElement=this._window=null}isComposing(){return null!=this._compositionKey}registerUpdateListener(a){let b=this._listeners.update;b.add(a);return()=>{b.delete(a)}}registerEditableListener(a){let b=this._listeners.editable;b.add(a);return()=>{b.delete(a)}}registerDecoratorListener(a){let b=
|
||||
this._listeners.decorator;b.add(a);return()=>{b.delete(a)}}registerTextContentListener(a){let b=this._listeners.textcontent;b.add(a);return()=>{b.delete(a)}}registerRootListener(a){let b=this._listeners.root;a(this._rootElement,null);b.add(a);return()=>{a(null,this._rootElement);b.delete(a)}}registerCommand(a,b,c){void 0===c&&q(35);let d=this._commands;d.has(a)||d.set(a,[new Set,new Set,new Set,new Set,new Set]);let e=d.get(a);void 0===e&&q(36,String(a));let f=e[c];f.add(b);return()=>{f.delete(b);
|
||||
e.every(g=>0===g.size)&&d.delete(a)}}registerMutationListener(a,b){void 0===this._nodes.get(a.getType())&&q(37,a.name);let c=this._listeners.mutation;c.set(b,a);return()=>{c.delete(b)}}registerNodeTransformToKlass(a,b){var c=a.getType();c=this._nodes.get(c);void 0===c&&q(37,a.name);c.transforms.add(b);return c}registerNodeTransform(a,b){var c=this.registerNodeTransformToKlass(a,b);let d=[c];c=c.replaceWithKlass;null!=c&&(c=this.registerNodeTransformToKlass(c,b),d.push(c));hc(this,a.getType());return()=>
|
||||
-{d.forEach(e=>e.transforms.delete(b))}}hasNode(a){return this._nodes.has(a.getType())}hasNodes(a){return a.every(this.hasNode.bind(this))}dispatchCommand(a,b){return R(this,a,b)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(a){let b=this._rootElement;if(a!==b){let f=pc(this._config.theme,"root");var c=this._pendingEditorState||this._editorState;this._rootElement=a;tf(this,b,a,c);if(null!==b){if(!this._config.disableEvents){0!==
|
||||
+{d.forEach(e=>e.transforms.delete(b))}}hasNode(a){return this._nodes.has(a.getType())}hasNodes(a){return a.every(this.hasNode.bind(this))}dispatchCommand(a,b){return R(this,a,b)}getDecorators(){return this._decorators}getRootElement(){return this._rootElement}getKey(){return this._key}setRootElement(a){let b=this._rootElement;if(a!==b){let f=pc(this._config.theme,"root");var c=this._pendingEditorState||this._editorState;this._rootElement=a;uf(this,b,a,c);if(null!==b){if(!this._config.disableEvents){0!==
|
||||
Hd&&(Hd--,0===Hd&&b.ownerDocument.removeEventListener("selectionchange",Xd));var d=b.__lexicalEditor;if(null!==d&&void 0!==d){if(null!==d._parentEditor){var e=kc(d);e=e[e.length-1]._key;Wd.get(e)===d&&Wd.delete(e)}else Wd.delete(d._key);b.__lexicalEditor=null}d=Vd(b);for(e=0;e<d.length;e++)d[e]();b.__lexicalEventHandles=[]}null!=f&&b.classList.remove(...f)}null!==a?(c=(c=a.ownerDocument)&&c.defaultView||null,d=a.style,d.userSelect="text",d.whiteSpace="pre-wrap",d.wordBreak="break-word",a.setAttribute("data-lexical-editor",
|
||||
-"true"),this._window=c,this._dirtyType=2,Db(this),this._updateTags.add("history-merge"),sf(this),this._config.disableEvents||Yd(a,this),null!=f&&a.classList.add(...f)):(this._editorState=c,this._window=this._pendingEditorState=null);uf("root",this,!1,a,b)}}getElementByKey(a){return this._keyToDOMMap.get(a)||null}getEditorState(){return this._editorState}setEditorState(a,b){a.isEmpty()&&q(38);Cb(this);let c=this._pendingEditorState,d=this._updateTags;b=void 0!==b?b.tag:null;null===c||c.isEmpty()||
|
||||
-(null!=b&&d.add(b),sf(this));this._pendingEditorState=a;this._dirtyType=2;this._dirtyElements.set("root",!1);this._compositionKey=null;null!=b&&d.add(b);sf(this)}parseEditorState(a,b){a="string"===typeof a?JSON.parse(a):a;let c=Df(),d=T,e=Z,f=U,g=this._dirtyElements,h=this._dirtyLeaves,k=this._cloneNotNeeded,m=this._dirtyType;this._dirtyElements=new Map;this._dirtyLeaves=new Set;this._cloneNotNeeded=new Set;this._dirtyType=0;T=c;Z=!1;U=this;try{qf(a.root,this._nodes),b&&b(),c._readOnly=!0}catch(n){n instanceof
|
||||
+"true"),this._window=c,this._dirtyType=2,Db(this),this._updateTags.add("history-merge"),tf(this),this._config.disableEvents||Yd(a,this),null!=f&&a.classList.add(...f)):(this._editorState=c,this._window=this._pendingEditorState=null);vf("root",this,!1,a,b)}}getElementByKey(a){return this._keyToDOMMap.get(a)||null}getEditorState(){return this._editorState}setEditorState(a,b){a.isEmpty()&&q(38);Cb(this);let c=this._pendingEditorState,d=this._updateTags;b=void 0!==b?b.tag:null;null===c||c.isEmpty()||
|
||||
+(null!=b&&d.add(b),tf(this));this._pendingEditorState=a;this._dirtyType=2;this._dirtyElements.set("root",!1);this._compositionKey=null;null!=b&&d.add(b);tf(this)}parseEditorState(a,b){a="string"===typeof a?JSON.parse(a):a;let c=Ef(),d=T,e=Z,f=U,g=this._dirtyElements,h=this._dirtyLeaves,k=this._cloneNotNeeded,m=this._dirtyType;this._dirtyElements=new Map;this._dirtyLeaves=new Set;this._cloneNotNeeded=new Set;this._dirtyType=0;T=c;Z=!1;U=this;try{rf(a.root,this._nodes),b&&b(),c._readOnly=!0}catch(n){n instanceof
|
||||
Error&&this._onError(n)}finally{this._dirtyElements=g,this._dirtyLeaves=h,this._cloneNotNeeded=k,this._dirtyType=m,T=d,Z=e,U=f}return c}update(a,b){v(this,a,b)}focus(a,b={}){let c=this._rootElement;null!==c&&(c.setAttribute("autocapitalize","off"),v(this,()=>{let d=u(),e=J();null!==d?d.dirty=!0:0!==e.getChildrenSize()&&("rootStart"===b.defaultSelection?e.selectStart():e.selectEnd())},{onUpdate:()=>{c.removeAttribute("autocapitalize");a&&a()},tag:"focus"}),null===this._pendingEditorState&&c.removeAttribute("autocapitalize"))}blur(){var a=
|
||||
-this._rootElement;null!==a&&a.blur();a=xb(this._window);null!==a&&a.removeAllRanges()}isEditable(){return this._editable}setEditable(a){this._editable!==a&&(this._editable=a,uf("editable",this,!0,a))}toJSON(){return{editorState:this._editorState.toJSON()}}}
|
||||
-class ff extends Af{constructor(a,b){super(b);this.__colSpan=a;this.__rowSpan=1}exportJSON(){return{...super.exportJSON(),colSpan:this.__colSpan,rowSpan:this.__rowSpan}}getColSpan(){return this.__colSpan}setColSpan(a){this.getWritable().__colSpan=a;return this}getRowSpan(){return this.__rowSpan}setRowSpan(a){this.getWritable().__rowSpan=a;return this}}function gf(a){return a instanceof ff}class Of extends Af{}function jf(a){return a instanceof Of}class Pf extends Af{}
|
||||
-function hf(a){return a instanceof Pf}exports.$INTERNAL_isPointSelection=ce;exports.$addUpdateTag=function(a){G();F()._updateTags.add(a)};exports.$applyNodeReplacement=zc;exports.$copyNode=yc;exports.$createLineBreakNode=ie;exports.$createNodeSelection=Xe;exports.$createParagraphNode=ee;exports.$createPoint=S;exports.$createRangeSelection=function(){let a=S("root",0,"element"),b=S("root",0,"element");return new Se(a,b,0,"")};exports.$createTabNode=we;exports.$createTextNode=K;
|
||||
+this._rootElement;null!==a&&a.blur();a=xb(this._window);null!==a&&a.removeAllRanges()}isEditable(){return this._editable}setEditable(a){this._editable!==a&&(this._editable=a,vf("editable",this,!0,a))}toJSON(){return{editorState:this._editorState.toJSON()}}}
|
||||
+class gf extends Bf{constructor(a,b){super(b);this.__colSpan=a;this.__rowSpan=1}exportJSON(){return{...super.exportJSON(),colSpan:this.__colSpan,rowSpan:this.__rowSpan}}getColSpan(){return this.__colSpan}setColSpan(a){this.getWritable().__colSpan=a;return this}getRowSpan(){return this.__rowSpan}setRowSpan(a){this.getWritable().__rowSpan=a;return this}}function hf(a){return a instanceof gf}class Pf extends Bf{}function kf(a){return a instanceof Pf}class Qf extends Bf{}
|
||||
+function jf(a){return a instanceof Qf}exports.$INTERNAL_isPointSelection=ce;exports.$addUpdateTag=function(a){G();F()._updateTags.add(a)};exports.$applyNodeReplacement=zc;exports.$copyNode=yc;exports.$createLineBreakNode=je;exports.$createNodeSelection=Ye;exports.$createParagraphNode=ee;exports.$createPoint=S;exports.$createRangeSelection=function(){let a=S("root",0,"element"),b=S("root",0,"element");return new Te(a,b,0,"")};exports.$createTabNode=xe;exports.$createTextNode=K;
|
||||
exports.$getAdjacentNode=sc;exports.$getNearestNodeFromDOMNode=wb;exports.$getNearestRootOrShadowRoot=wc;exports.$getNodeByKey=I;exports.$getPreviousSelection=nc;exports.$getRoot=J;exports.$getSelection=u;exports.$getTextContent=function(){let a=u();return null===a?"":a.getTextContent()};exports.$hasAncestor=vc;exports.$hasUpdateTag=function(a){return F()._updateTags.has(a)};exports.$insertNodes=function(a){let b=u()||nc();null===b&&(b=J().selectEnd());b.insertNodes(a)};
|
||||
-exports.$isBlockElementNode=function(a){return E(a)&&!a.isInline()};exports.$isDecoratorNode=x;exports.$isElementNode=E;exports.$isInlineElementOrDecoratorNode=function(a){return E(a)&&a.isInline()||x(a)&&a.isInline()};exports.$isLeafNode=function(a){return B(a)||Gc(a)||x(a)};exports.$isLineBreakNode=Gc;exports.$isNodeSelection=Ud;exports.$isParagraphNode=function(a){return a instanceof Ff};exports.$isRangeSelection=C;exports.$isRootNode=L;exports.$isRootOrShadowRoot=xc;exports.$isTabNode=Be;
|
||||
-exports.$isTextNode=B;exports.$nodesOfType=function(a){var b=ac();let c=b._readOnly,d=a.getType();b=b._nodeMap;let e=[];for(let [,f]of b)f instanceof a&&f.__type===d&&(c||f.isAttached())&&e.push(f);return e};exports.$normalizeSelection__EXPERIMENTAL=Ib;exports.$parseSerializedNode=function(a){return qf(a,F()._nodes)};exports.$selectAll=function(){var a=J();a=a.select(0,a.getChildrenSize());Ab(Ib(a))};exports.$setCompositionKey=H;exports.$setSelection=Ab;
|
||||
+exports.$isBlockElementNode=function(a){return E(a)&&!a.isInline()};exports.$isDecoratorNode=x;exports.$isElementNode=E;exports.$isInlineElementOrDecoratorNode=function(a){return E(a)&&a.isInline()||x(a)&&a.isInline()};exports.$isLeafNode=function(a){return B(a)||Gc(a)||x(a)};exports.$isLineBreakNode=Gc;exports.$isNodeSelection=Ud;exports.$isParagraphNode=function(a){return a instanceof Gf};exports.$isRangeSelection=C;exports.$isRootNode=L;exports.$isRootOrShadowRoot=xc;exports.$isTabNode=Ce;
|
||||
+exports.$isTextNode=B;exports.$nodesOfType=function(a){var b=ac();let c=b._readOnly,d=a.getType();b=b._nodeMap;let e=[];for(let [,f]of b)f instanceof a&&f.__type===d&&(c||f.isAttached())&&e.push(f);return e};exports.$normalizeSelection__EXPERIMENTAL=Ib;exports.$parseSerializedNode=function(a){return rf(a,F()._nodes)};exports.$selectAll=function(){var a=J();a=a.select(0,a.getChildrenSize());Ab(Ib(a))};exports.$setCompositionKey=H;exports.$setSelection=Ab;
|
||||
exports.$splitNode=function(a,b){let c=a.getChildAtIndex(b);null==c&&(c=a);xc(a)&&q(102);let d=g=>{const h=g.getParentOrThrow(),k=xc(h),m=g!==c||k?yc(g):g;if(k){if(!E(g)||!E(m))throw Error("Children of a root must be ElementNode");g.insertAfter(m);return[g,m,m]}const [n,p,l]=d(h);g=g.getNextSiblings();l.append(m,...g);return[n,p,m]},[e,f]=d(c);return[e,f]};exports.BLUR_COMMAND=Sa;exports.CAN_REDO_COMMAND={};exports.CAN_UNDO_COMMAND={};exports.CLEAR_EDITOR_COMMAND={};
|
||||
exports.CLEAR_HISTORY_COMMAND={};exports.CLICK_COMMAND=ba;exports.COMMAND_PRIORITY_CRITICAL=4;exports.COMMAND_PRIORITY_EDITOR=0;exports.COMMAND_PRIORITY_HIGH=3;exports.COMMAND_PRIORITY_LOW=1;exports.COMMAND_PRIORITY_NORMAL=2;exports.CONTROLLED_TEXT_INSERTION_COMMAND=ka;exports.COPY_COMMAND=Oa;exports.CUT_COMMAND=Pa;exports.DELETE_CHARACTER_COMMAND=da;exports.DELETE_LINE_COMMAND=pa;exports.DELETE_WORD_COMMAND=oa;
|
||||
-exports.DEPRECATED_$computeGridMap=function(a,b,c){let d=[],e=null,f=null;a=a.getChildren();for(let n=0;n<a.length;n++){var g=a[n];hf(g)||q(108);var h=g.getChildren();g=0;for(let p of h){for(gf(p)||q(109);void 0!==d[n]&&void 0!==d[n][g];)g++;h=n;var k=g,m=p;let l={cell:m,startColumn:k,startRow:h},r=m.__rowSpan,w=m.__colSpan;for(let y=0;y<r;y++){void 0===d[h+y]&&(d[h+y]=[]);for(let z=0;z<w;z++)d[h+y][k+z]=l}b.is(m)&&(e=l);c.is(m)&&(f=l);g+=p.__colSpan}}null===e&&q(110);null===f&&q(111);return[d,e,
|
||||
-f]};exports.DEPRECATED_$getGridCellNodeRect=function(a){let [b,,c]=ef(a);a=c.getChildren();let d=a.length;var e=a[0].getChildren().length;let f=Array(d);for(var g=0;g<d;g++)f[g]=Array(e);for(e=0;e<d;e++){g=a[e].getChildren();let h=0;for(let k=0;k<g.length;k++){for(;f[e][h];)h++;let m=g[k],n=m.__rowSpan||1,p=m.__colSpan||1;for(let l=0;l<n;l++)for(let r=0;r<p;r++)f[e+l][h+r]=m;if(b===m)return{colSpan:p,columnIndex:h,rowIndex:e,rowSpan:n};h+=p}}return null};exports.DEPRECATED_$getNodeTriplet=ef;
|
||||
-exports.DEPRECATED_$isGridCellNode=gf;exports.DEPRECATED_$isGridNode=jf;exports.DEPRECATED_$isGridRowNode=hf;exports.DEPRECATED_GridCellNode=ff;exports.DEPRECATED_GridNode=Of;exports.DEPRECATED_GridRowNode=Pf;exports.DRAGEND_COMMAND=Na;exports.DRAGOVER_COMMAND=Ma;exports.DRAGSTART_COMMAND=La;exports.DROP_COMMAND=Ka;exports.DecoratorNode=zf;exports.ElementNode=Af;exports.FOCUS_COMMAND=Ra;exports.FORMAT_ELEMENT_COMMAND={};exports.FORMAT_TEXT_COMMAND=qa;exports.INDENT_CONTENT_COMMAND={};
|
||||
-exports.INSERT_LINE_BREAK_COMMAND=ea;exports.INSERT_PARAGRAPH_COMMAND=ja;exports.INSERT_TAB_COMMAND={};exports.INTERNAL_PointSelection=Pe;exports.KEY_ARROW_DOWN_COMMAND=Aa;exports.KEY_ARROW_LEFT_COMMAND=xa;exports.KEY_ARROW_RIGHT_COMMAND=ua;exports.KEY_ARROW_UP_COMMAND=za;exports.KEY_BACKSPACE_COMMAND=Fa;exports.KEY_DELETE_COMMAND=Ha;exports.KEY_DOWN_COMMAND=ta;exports.KEY_ENTER_COMMAND=Ba;exports.KEY_ESCAPE_COMMAND=Ga;exports.KEY_MODIFIER_COMMAND=Ta;exports.KEY_SPACE_COMMAND=Ca;
|
||||
-exports.KEY_TAB_COMMAND=Ja;exports.LineBreakNode=ge;exports.MOVE_TO_END=va;exports.MOVE_TO_START=ya;exports.OUTDENT_CONTENT_COMMAND={};exports.PASTE_COMMAND=la;exports.ParagraphNode=Ff;exports.REDO_COMMAND=sa;exports.REMOVE_TEXT_COMMAND=na;exports.RootNode=Cf;exports.SELECTION_CHANGE_COMMAND=aa;exports.SELECTION_INSERT_CLIPBOARD_NODES_COMMAND={};exports.SELECT_ALL_COMMAND=Qa;exports.TabNode=Ae;exports.TextNode=oe;exports.UNDO_COMMAND=ra;exports.createCommand=function(){return{}};
|
||||
-exports.createEditor=function(a){var b=a||{},c=U,d=b.theme||{};let e=void 0===a?c:b.parentEditor||null,f=b.disableEvents||!1,g=Df(),h=b.namespace||(null!==e?e._config.namespace:lc()),k=b.editorState,m=[Cf,oe,ge,Ae,Ff,...(b.nodes||[])],{onError:n,html:p}=b;b=void 0!==b.editable?b.editable:!0;if(void 0===a&&null!==c)a=c._nodes;else for(a=new Map,c=0;c<m.length;c++){let r=m[c],w=null;var l=null;"function"!==typeof r&&(l=r,r=l.replace,w=l.with,l=l.withKlass||null);let y=r.getType(),z=r.transform(),A=
|
||||
-new Set;null!==z&&A.add(z);a.set(y,{exportDOM:p&&p.export?p.export.get(r):void 0,klass:r,replace:w,replaceWithKlass:l,transforms:A})}d=new Nf(g,e,a,{disableEvents:f,namespace:h,theme:d},n?n:console.error,Mf(a,p?p.import:void 0),b);void 0!==k&&(d._pendingEditorState=k,d._dirtyType=2);return d};exports.getNearestEditorFromDOMNode=Ub;exports.isCurrentlyReadOnlyMode=ec;exports.isHTMLAnchorElement=function(a){return Ec(a)&&"A"===a.tagName};exports.isHTMLElement=Ec;
|
||||
+exports.DEPRECATED_$computeGridMap=function(a,b,c){let d=[],e=null,f=null;a=a.getChildren();for(let n=0;n<a.length;n++){var g=a[n];jf(g)||q(108);var h=g.getChildren();g=0;for(let p of h){for(hf(p)||q(109);void 0!==d[n]&&void 0!==d[n][g];)g++;h=n;var k=g,m=p;let l={cell:m,startColumn:k,startRow:h},r=m.__rowSpan,w=m.__colSpan;for(let y=0;y<r;y++){void 0===d[h+y]&&(d[h+y]=[]);for(let z=0;z<w;z++)d[h+y][k+z]=l}b.is(m)&&(e=l);c.is(m)&&(f=l);g+=p.__colSpan}}null===e&&q(110);null===f&&q(111);return[d,e,
|
||||
+f]};exports.DEPRECATED_$getGridCellNodeRect=function(a){let [b,,c]=ff(a);a=c.getChildren();let d=a.length;var e=a[0].getChildren().length;let f=Array(d);for(var g=0;g<d;g++)f[g]=Array(e);for(e=0;e<d;e++){g=a[e].getChildren();let h=0;for(let k=0;k<g.length;k++){for(;f[e][h];)h++;let m=g[k],n=m.__rowSpan||1,p=m.__colSpan||1;for(let l=0;l<n;l++)for(let r=0;r<p;r++)f[e+l][h+r]=m;if(b===m)return{colSpan:p,columnIndex:h,rowIndex:e,rowSpan:n};h+=p}}return null};exports.DEPRECATED_$getNodeTriplet=ff;
|
||||
+exports.DEPRECATED_$isGridCellNode=hf;exports.DEPRECATED_$isGridNode=kf;exports.DEPRECATED_$isGridRowNode=jf;exports.DEPRECATED_GridCellNode=gf;exports.DEPRECATED_GridNode=Pf;exports.DEPRECATED_GridRowNode=Qf;exports.DRAGEND_COMMAND=Na;exports.DRAGOVER_COMMAND=Ma;exports.DRAGSTART_COMMAND=La;exports.DROP_COMMAND=Ka;exports.DecoratorNode=Af;exports.ElementNode=Bf;exports.FOCUS_COMMAND=Ra;exports.FORMAT_ELEMENT_COMMAND={};exports.FORMAT_TEXT_COMMAND=qa;exports.INDENT_CONTENT_COMMAND={};
|
||||
+exports.INSERT_LINE_BREAK_COMMAND=ea;exports.INSERT_PARAGRAPH_COMMAND=ja;exports.INSERT_TAB_COMMAND={};exports.INTERNAL_PointSelection=Qe;exports.KEY_ARROW_DOWN_COMMAND=Aa;exports.KEY_ARROW_LEFT_COMMAND=xa;exports.KEY_ARROW_RIGHT_COMMAND=ua;exports.KEY_ARROW_UP_COMMAND=za;exports.KEY_BACKSPACE_COMMAND=Fa;exports.KEY_DELETE_COMMAND=Ha;exports.KEY_DOWN_COMMAND=ta;exports.KEY_ENTER_COMMAND=Ba;exports.KEY_ESCAPE_COMMAND=Ga;exports.KEY_MODIFIER_COMMAND=Ta;exports.KEY_SPACE_COMMAND=Ca;
|
||||
+exports.KEY_TAB_COMMAND=Ja;exports.LineBreakNode=ge;exports.MOVE_TO_END=va;exports.MOVE_TO_START=ya;exports.OUTDENT_CONTENT_COMMAND={};exports.PASTE_COMMAND=la;exports.ParagraphNode=Gf;exports.REDO_COMMAND=sa;exports.REMOVE_TEXT_COMMAND=na;exports.RootNode=Df;exports.SELECTION_CHANGE_COMMAND=aa;exports.SELECTION_INSERT_CLIPBOARD_NODES_COMMAND={};exports.SELECT_ALL_COMMAND=Qa;exports.TabNode=Be;exports.TextNode=pe;exports.UNDO_COMMAND=ra;exports.createCommand=function(){return{}};
|
||||
+exports.createEditor=function(a){var b=a||{},c=U,d=b.theme||{};let e=void 0===a?c:b.parentEditor||null,f=b.disableEvents||!1,g=Ef(),h=b.namespace||(null!==e?e._config.namespace:lc()),k=b.editorState,m=[Df,pe,ge,Be,Gf,...(b.nodes||[])],{onError:n,html:p}=b;b=void 0!==b.editable?b.editable:!0;if(void 0===a&&null!==c)a=c._nodes;else for(a=new Map,c=0;c<m.length;c++){let r=m[c],w=null;var l=null;"function"!==typeof r&&(l=r,r=l.replace,w=l.with,l=l.withKlass||null);let y=r.getType(),z=r.transform(),A=
|
||||
+new Set;null!==z&&A.add(z);a.set(y,{exportDOM:p&&p.export?p.export.get(r):void 0,klass:r,replace:w,replaceWithKlass:l,transforms:A})}d=new Of(g,e,a,{disableEvents:f,namespace:h,theme:d},n?n:console.error,Nf(a,p?p.import:void 0),b);void 0!==k&&(d._pendingEditorState=k,d._dirtyType=2);return d};exports.getNearestEditorFromDOMNode=Ub;exports.isCurrentlyReadOnlyMode=ec;exports.isHTMLAnchorElement=function(a){return Ec(a)&&"A"===a.tagName};exports.isHTMLElement=Ec;
|
||||
exports.isSelectionCapturedInDecoratorInput=Mb;exports.isSelectionWithinEditor=Tb
|
||||
@@ -45,15 +45,18 @@ Questions? Find answers on our [Help page](https://standardnotes.com/help).
|
||||
|
||||
---
|
||||
|
||||
### Docker setup
|
||||
### Self-hosting the web app
|
||||
|
||||
If you'd like to self-host the web application, we recommend using our official [Docker hub image](https://hub.docker.com/repository/docker/standardnotes/web).
|
||||
Our web app is compiled into a folder of static HTML, JS, and CSS files. You can serve these files behind a web server to get started:
|
||||
|
||||
```
|
||||
docker run -d -p 3001:3001 --env-file=.env.sample standardnotes/web:stable
|
||||
```
|
||||
1. `git clone https://github.com/standardnotes/app.git`
|
||||
2. `cd app`
|
||||
3. `yarn install`
|
||||
4. `yarn build:web`
|
||||
5. `cd packages/web`
|
||||
6. You can then use Python to serve this folder over http: `python -m http.server 8080`
|
||||
|
||||
You can then access the app at `http://localhost:3001`. It may take a minute for the server to start up.
|
||||
You can now access the app at `http://localhost:8080`.
|
||||
|
||||
### Running Web App in Development Mode
|
||||
|
||||
|
||||
+2
-3
@@ -44,9 +44,8 @@
|
||||
"@types/react-native-vector-icons/@types/react": "17.0.2",
|
||||
"@types/react-native/@types/react": "17.0.2",
|
||||
"@types/hoist-non-react-statics/@types/react": "17.0.2",
|
||||
"@lexical/[email protected]2.6": "patch:@lexical/clipboard@npm:0.12.6#.yarn/patches/@lexical-clipboard-npm-0.12.6-4163a238a6.patch",
|
||||
"@lexical/[email protected]2.6": "patch:@lexical/rich-text@npm:0.12.6#.yarn/patches/@lexical-rich-text-npm-0.12.6-1692a2faf1.patch",
|
||||
"[email protected]": "patch:lexical@npm:0.12.6#.yarn/patches/lexical-npm-0.12.6-d9d90fc300.patch"
|
||||
"@lexical/[email protected]4.3": "patch:@lexical/clipboard@npm:0.14.3#.yarn/patches/@lexical-clipboard-npm-0.14.3-58877f1e45.patch",
|
||||
"@lexical/[email protected]4.3": "patch:@lexical/rich-text@npm:0.14.3#.yarn/patches/@lexical-rich-text-npm-0.14.3-02ac98ca96.patch"
|
||||
},
|
||||
"dependencies": {
|
||||
"@standardnotes/snjs": "workspace:*"
|
||||
|
||||
@@ -3,6 +3,44 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.26.87](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/api
|
||||
|
||||
## [1.26.86](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/api
|
||||
|
||||
## [1.26.85](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/api
|
||||
|
||||
## [1.26.84](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-14)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/api
|
||||
|
||||
## [1.26.83](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-07)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* use API v0 on iOS ([#2858](https://github.com/standardnotes/app/issues/2858)) [skip e2e] ([3b2f761](https://github.com/standardnotes/app/commit/3b2f76166126a5b11f35b64aacefa37618622c3d))
|
||||
|
||||
## [1.26.82](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-05)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/api
|
||||
|
||||
## [1.26.81](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-22)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/api
|
||||
|
||||
## [1.26.80](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/api
|
||||
|
||||
## [1.26.79](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/api
|
||||
|
||||
## [1.26.78](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-27)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/api
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/api",
|
||||
"version": "1.26.78",
|
||||
"version": "1.26.87",
|
||||
"engines": {
|
||||
"node": ">=16.0.0 <17.0.0"
|
||||
},
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
export enum ApiVersion {
|
||||
v0 = '20200115',
|
||||
v1 = '20240226',
|
||||
}
|
||||
|
||||
@@ -15,7 +15,10 @@ import { AuthApiServiceInterface } from './AuthApiServiceInterface'
|
||||
export class AuthApiService implements AuthApiServiceInterface {
|
||||
private operationsInProgress: Map<AuthApiOperations, boolean>
|
||||
|
||||
constructor(private authServer: AuthServerInterface) {
|
||||
constructor(
|
||||
private authServer: AuthServerInterface,
|
||||
private apiVersion: ApiVersion,
|
||||
) {
|
||||
this.operationsInProgress = new Map()
|
||||
}
|
||||
|
||||
@@ -50,7 +53,7 @@ export class AuthApiService implements AuthApiServiceInterface {
|
||||
|
||||
try {
|
||||
const response = await this.authServer.recoveryKeyParams({
|
||||
api_version: ApiVersion.v0,
|
||||
api_version: this.apiVersion,
|
||||
code_challenge: dto.codeChallenge,
|
||||
recovery_codes: dto.recoveryCodes,
|
||||
username: dto.username,
|
||||
@@ -69,6 +72,7 @@ export class AuthApiService implements AuthApiServiceInterface {
|
||||
password: string
|
||||
codeVerifier: string
|
||||
recoveryCodes: string
|
||||
hvmToken?: string
|
||||
}): Promise<HttpResponse<SignInWithRecoveryCodesResponseBody>> {
|
||||
if (this.operationsInProgress.get(AuthApiOperations.SignInWithRecoveryCodes)) {
|
||||
throw new ApiCallError(ErrorMessage.GenericInProgress)
|
||||
@@ -78,11 +82,12 @@ export class AuthApiService implements AuthApiServiceInterface {
|
||||
|
||||
try {
|
||||
const response = await this.authServer.signInWithRecoveryCodes({
|
||||
api_version: ApiVersion.v0,
|
||||
api_version: this.apiVersion,
|
||||
code_verifier: dto.codeVerifier,
|
||||
password: dto.password,
|
||||
recovery_codes: dto.recoveryCodes,
|
||||
username: dto.username,
|
||||
hvm_token: dto.hvmToken,
|
||||
})
|
||||
|
||||
return response
|
||||
|
||||
@@ -17,5 +17,6 @@ export interface AuthApiServiceInterface {
|
||||
password: string
|
||||
codeVerifier: string
|
||||
recoveryCodes: string
|
||||
hvmToken?: string
|
||||
}): Promise<HttpResponse<SignInWithRecoveryCodesResponseBody>>
|
||||
}
|
||||
|
||||
@@ -23,7 +23,10 @@ import { GetUserSubscriptionRequestParams } from '../../Request/Subscription/Get
|
||||
export class SubscriptionApiService implements SubscriptionApiServiceInterface {
|
||||
private operationsInProgress: Map<SubscriptionApiOperations, boolean>
|
||||
|
||||
constructor(private subscriptionServer: SubscriptionServerInterface) {
|
||||
constructor(
|
||||
private subscriptionServer: SubscriptionServerInterface,
|
||||
private apiVersion: ApiVersion,
|
||||
) {
|
||||
this.operationsInProgress = new Map()
|
||||
}
|
||||
|
||||
@@ -36,7 +39,7 @@ export class SubscriptionApiService implements SubscriptionApiServiceInterface {
|
||||
|
||||
try {
|
||||
const response = await this.subscriptionServer.listInvites({
|
||||
[ApiEndpointParam.ApiVersion]: ApiVersion.v0,
|
||||
[ApiEndpointParam.ApiVersion]: this.apiVersion,
|
||||
})
|
||||
|
||||
return response
|
||||
@@ -56,7 +59,7 @@ export class SubscriptionApiService implements SubscriptionApiServiceInterface {
|
||||
|
||||
try {
|
||||
const response = await this.subscriptionServer.cancelInvite({
|
||||
[ApiEndpointParam.ApiVersion]: ApiVersion.v0,
|
||||
[ApiEndpointParam.ApiVersion]: this.apiVersion,
|
||||
inviteUuid,
|
||||
})
|
||||
|
||||
@@ -77,7 +80,7 @@ export class SubscriptionApiService implements SubscriptionApiServiceInterface {
|
||||
|
||||
try {
|
||||
const response = await this.subscriptionServer.invite({
|
||||
[ApiEndpointParam.ApiVersion]: ApiVersion.v0,
|
||||
[ApiEndpointParam.ApiVersion]: this.apiVersion,
|
||||
identifier: inviteeEmail,
|
||||
})
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ export class UserApiService implements UserApiServiceInterface {
|
||||
constructor(
|
||||
private userServer: UserServerInterface,
|
||||
private userRequestServer: UserRequestServerInterface,
|
||||
private apiVersion: ApiVersion,
|
||||
) {
|
||||
this.operationsInProgress = new Map()
|
||||
}
|
||||
@@ -65,6 +66,7 @@ export class UserApiService implements UserApiServiceInterface {
|
||||
async register(registerDTO: {
|
||||
email: string
|
||||
serverPassword: string
|
||||
hvmToken?: string
|
||||
keyParams: RootKeyParamsInterface
|
||||
ephemeral: boolean
|
||||
}): Promise<HttpResponse<UserRegistrationResponseBody>> {
|
||||
@@ -72,9 +74,10 @@ export class UserApiService implements UserApiServiceInterface {
|
||||
|
||||
try {
|
||||
const response = await this.userServer.register({
|
||||
[ApiEndpointParam.ApiVersion]: ApiVersion.v0,
|
||||
[ApiEndpointParam.ApiVersion]: this.apiVersion,
|
||||
password: registerDTO.serverPassword,
|
||||
email: registerDTO.email,
|
||||
hvm_token: registerDTO.hvmToken,
|
||||
ephemeral: registerDTO.ephemeral,
|
||||
...registerDTO.keyParams.getPortableValue(),
|
||||
})
|
||||
@@ -92,7 +95,7 @@ export class UserApiService implements UserApiServiceInterface {
|
||||
|
||||
try {
|
||||
const response = await this.userServer.update({
|
||||
[ApiEndpointParam.ApiVersion]: ApiVersion.v0,
|
||||
[ApiEndpointParam.ApiVersion]: this.apiVersion,
|
||||
user_uuid: updateDTO.userUuid,
|
||||
})
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ export interface UserApiServiceInterface {
|
||||
register(registerDTO: {
|
||||
email: string
|
||||
serverPassword: string
|
||||
hvmToken?: string
|
||||
keyParams: RootKeyParamsInterface
|
||||
ephemeral: boolean
|
||||
}): Promise<HttpResponse<UserRegistrationResponseBody>>
|
||||
|
||||
@@ -63,6 +63,7 @@ export class FetchRequestHandler implements RequestHandlerInterface {
|
||||
return new Request(httpRequest.url, {
|
||||
method: httpRequest.verb,
|
||||
headers,
|
||||
credentials: 'include',
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { LoggerInterface, joinPaths, sleep } from '@standardnotes/utils'
|
||||
import { Environment } from '@standardnotes/models'
|
||||
import { LegacySession, Session, SessionToken } from '@standardnotes/domain-core'
|
||||
import { LegacySession, Result, Session, SessionToken } from '@standardnotes/domain-core'
|
||||
import {
|
||||
HttpStatusCode,
|
||||
HttpRequestParams,
|
||||
@@ -9,9 +9,11 @@ import {
|
||||
HttpResponse,
|
||||
HttpResponseMeta,
|
||||
isErrorResponse,
|
||||
ApiEndpointParam,
|
||||
} from '@standardnotes/responses'
|
||||
import { HttpServiceInterface } from './HttpServiceInterface'
|
||||
|
||||
import { ApiVersion } from '../Api'
|
||||
import { Paths } from '../Server/Auth/Paths'
|
||||
import { SessionRefreshResponseBody } from '../Response/Auth/SessionRefreshResponseBody'
|
||||
import { FetchRequestHandler } from './FetchRequestHandler'
|
||||
@@ -21,10 +23,11 @@ import { HttpRequestOptions } from './HttpRequestOptions'
|
||||
export class HttpService implements HttpServiceInterface {
|
||||
private session?: Session | LegacySession
|
||||
private __latencySimulatorMs?: number
|
||||
private __simulateNextSessionRefreshResponseDrop = false
|
||||
private declare host: string
|
||||
loggingEnabled = false
|
||||
|
||||
private inProgressRefreshSessionPromise?: Promise<boolean>
|
||||
private inProgressRefreshSessionPromise?: Promise<Result<HttpResponse<SessionRefreshResponseBody>>>
|
||||
private updateMetaCallback!: (meta: HttpResponseMeta) => void
|
||||
private refreshSessionCallback!: (session: Session) => void
|
||||
|
||||
@@ -34,6 +37,7 @@ export class HttpService implements HttpServiceInterface {
|
||||
private environment: Environment,
|
||||
private appVersion: string,
|
||||
private snjsVersion: string,
|
||||
private apiVersion: ApiVersion,
|
||||
private logger: LoggerInterface,
|
||||
) {
|
||||
this.requestHandler = new FetchRequestHandler(this.snjsVersion, this.appVersion, this.environment, this.logger)
|
||||
@@ -145,6 +149,10 @@ export class HttpService implements HttpServiceInterface {
|
||||
await sleep(this.__latencySimulatorMs, true)
|
||||
}
|
||||
|
||||
httpRequest.params = httpRequest.params
|
||||
? this.params(httpRequest.params as Record<string | number | symbol, unknown>)
|
||||
: undefined
|
||||
|
||||
const isRefreshRequest = httpRequest.url === joinPaths(this.host, Paths.v1.refreshSession)
|
||||
if (this.inProgressRefreshSessionPromise && !isRefreshRequest) {
|
||||
await this.inProgressRefreshSessionPromise
|
||||
@@ -166,12 +174,19 @@ export class HttpService implements HttpServiceInterface {
|
||||
if (this.inProgressRefreshSessionPromise) {
|
||||
await this.inProgressRefreshSessionPromise
|
||||
} else {
|
||||
this.inProgressRefreshSessionPromise = this.refreshSession()
|
||||
const isSessionRefreshed = await this.inProgressRefreshSessionPromise
|
||||
this.inProgressRefreshSessionPromise = undefined
|
||||
const hasSessionTokenRenewedInBetweenOurRequest = httpRequest.authentication !== this.getSessionAccessToken()
|
||||
if (!hasSessionTokenRenewedInBetweenOurRequest) {
|
||||
this.inProgressRefreshSessionPromise = this.refreshSession()
|
||||
const isSessionRefreshedResultOrError = await this.inProgressRefreshSessionPromise
|
||||
let isSessionRefreshed = false
|
||||
if (!isSessionRefreshedResultOrError.isFailed()) {
|
||||
isSessionRefreshed = !isErrorResponse(isSessionRefreshedResultOrError.getValue())
|
||||
}
|
||||
this.inProgressRefreshSessionPromise = undefined
|
||||
|
||||
if (!isSessionRefreshed) {
|
||||
return response
|
||||
if (!isSessionRefreshed) {
|
||||
return response
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -183,13 +198,13 @@ export class HttpService implements HttpServiceInterface {
|
||||
return response
|
||||
}
|
||||
|
||||
async refreshSession(): Promise<boolean> {
|
||||
async refreshSession(): Promise<Result<HttpResponse<SessionRefreshResponseBody>>> {
|
||||
if (!this.session) {
|
||||
return false
|
||||
return Result.fail('No session to refresh')
|
||||
}
|
||||
|
||||
if (this.session instanceof LegacySession) {
|
||||
return false
|
||||
return Result.fail('Cannot refresh legacy session')
|
||||
}
|
||||
|
||||
const response = await this.post<SessionRefreshResponseBody>(Paths.v1.refreshSession, {
|
||||
@@ -197,8 +212,13 @@ export class HttpService implements HttpServiceInterface {
|
||||
refresh_token: this.session.refreshToken.value,
|
||||
})
|
||||
|
||||
if (this.__simulateNextSessionRefreshResponseDrop) {
|
||||
this.__simulateNextSessionRefreshResponseDrop = false
|
||||
return Result.fail('Simulating a dropped response')
|
||||
}
|
||||
|
||||
if (isErrorResponse(response)) {
|
||||
return false
|
||||
return Result.ok(response)
|
||||
}
|
||||
|
||||
if (response.meta) {
|
||||
@@ -210,7 +230,7 @@ export class HttpService implements HttpServiceInterface {
|
||||
response.data.session.access_expiration,
|
||||
)
|
||||
if (accessTokenOrError.isFailed()) {
|
||||
return false
|
||||
return Result.fail(accessTokenOrError.getError())
|
||||
}
|
||||
|
||||
const accessToken = accessTokenOrError.getValue()
|
||||
@@ -220,20 +240,31 @@ export class HttpService implements HttpServiceInterface {
|
||||
response.data.session.refresh_expiration,
|
||||
)
|
||||
if (refreshTokenOrError.isFailed()) {
|
||||
return false
|
||||
return Result.fail(refreshTokenOrError.getError())
|
||||
}
|
||||
|
||||
const refreshToken = refreshTokenOrError.getValue()
|
||||
|
||||
const sessionOrError = Session.create(accessToken, refreshToken, response.data.session.readonly_access)
|
||||
if (sessionOrError.isFailed()) {
|
||||
return false
|
||||
return Result.fail(sessionOrError.getError())
|
||||
}
|
||||
|
||||
this.setSession(sessionOrError.getValue())
|
||||
|
||||
this.refreshSessionCallback(this.session)
|
||||
|
||||
return true
|
||||
return Result.ok(response)
|
||||
}
|
||||
|
||||
private params(inParams: Record<string | number | symbol, unknown>): HttpRequestParams {
|
||||
const params = {
|
||||
...inParams,
|
||||
...{
|
||||
[ApiEndpointParam.ApiVersion]: this.apiVersion,
|
||||
},
|
||||
}
|
||||
|
||||
return params
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import { LegacySession, Session } from '@standardnotes/domain-core'
|
||||
import { LegacySession, Result, Session } from '@standardnotes/domain-core'
|
||||
import { HttpRequest, HttpRequestParams, HttpResponse, HttpResponseMeta } from '@standardnotes/responses'
|
||||
|
||||
import { HttpRequestOptions } from './HttpRequestOptions'
|
||||
import { SessionRefreshResponseBody } from '../Response'
|
||||
|
||||
export interface HttpServiceInterface {
|
||||
setHost(host: string): void
|
||||
@@ -16,7 +17,7 @@ export interface HttpServiceInterface {
|
||||
runHttp<T>(httpRequest: HttpRequest): Promise<HttpResponse<T>>
|
||||
|
||||
setSession(session: Session | LegacySession): void
|
||||
refreshSession(): Promise<boolean>
|
||||
refreshSession(): Promise<Result<HttpResponse<SessionRefreshResponseBody>>>
|
||||
setCallbacks(
|
||||
updateMetaCallback: (meta: HttpResponseMeta) => void,
|
||||
refreshSessionCallback: (session: Session) => void,
|
||||
|
||||
@@ -4,4 +4,5 @@ export interface SignInWithRecoveryCodesRequestParams {
|
||||
password: string
|
||||
code_verifier: string
|
||||
recovery_codes: string
|
||||
hvm_token?: string
|
||||
}
|
||||
|
||||
@@ -6,5 +6,6 @@ export type UserRegistrationRequestParams = AnyKeyParamsContent & {
|
||||
[additionalParam: string]: unknown
|
||||
password: string
|
||||
email: string
|
||||
hvm_token?: string
|
||||
ephemeral: boolean
|
||||
}
|
||||
|
||||
@@ -3,6 +3,254 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.1.461](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.460](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-19)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.459](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.458](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.457](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.456](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.455](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.454](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-14)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.453](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-13)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.452](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.451](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.450](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.449](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.448](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.447](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-04)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.446](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.445](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.444](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-27)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.443](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-26)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.442](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-26)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.441](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-22)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.440](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-22)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.439](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-22)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.438](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-14)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.437](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-14)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.436](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-14)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.435](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-13)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.434](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-12)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.433](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.432](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.431](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.430](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.429](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-07)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.428](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-07)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.427](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-06)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.426](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-05)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.425](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-05)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.424](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.423](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.422](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.421](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.420](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.419](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-26)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.418](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-22)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.417](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-21)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.416](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.415](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-19)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.414](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-18)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.413](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-18)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.412](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.411](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.410](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-15)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.409](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.408](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-07)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.407](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-07)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.406](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-05)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.405](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.404](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.403](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.402](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-31)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.401](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-30)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.400](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
## [1.1.399](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-27)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/clipper
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@standardnotes/clipper",
|
||||
"description": "Web clipper browser extension for Standard Notes",
|
||||
"version": "1.1.399",
|
||||
"version": "1.1.461",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"build-mv2": "yarn clean && webpack --config ./webpack.config.prod.js",
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
"js": ["content.js"]
|
||||
}
|
||||
],
|
||||
"content_security_policy": "default-src 'self'; script-src 'self' 'wasm-eval' 'wasm-unsafe-eval'; worker-src blob:; connect-src * data: blob:; style-src 'unsafe-inline' 'self'; frame-src * blob:; img-src * data: blob:;",
|
||||
"content_security_policy": "default-src 'self'; script-src 'self' 'wasm-eval' 'wasm-unsafe-eval'; worker-src blob:; connect-src * data: blob:; style-src 'self'; frame-src * blob:; img-src * data: blob:;",
|
||||
"icons": {
|
||||
"16": "images/icon16.png",
|
||||
"32": "images/icon32.png",
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
"128": "images/icon128.png"
|
||||
},
|
||||
"content_security_policy": {
|
||||
"extension_pages": "default-src 'self'; script-src 'self' 'wasm-unsafe-eval'; connect-src * data: blob:; style-src 'unsafe-inline' 'self'; frame-src * blob:; img-src * data: blob:;"
|
||||
"extension_pages": "default-src 'self'; script-src 'self' 'wasm-unsafe-eval'; connect-src * data: blob:; style-src 'self'; frame-src * blob:; img-src * data: blob:;"
|
||||
},
|
||||
"browser_specific_settings": {
|
||||
"gecko": {
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
html,
|
||||
body {
|
||||
min-width: 350px !important;
|
||||
max-width: 350px !important;
|
||||
min-height: 260px !important;
|
||||
}
|
||||
@@ -3,6 +3,258 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.110.63](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.62](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-19)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.61](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.60](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.59](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.58](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.57](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.56](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-14)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.55](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-13)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.54](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.53](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.52](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.51](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.50](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.49](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-04)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.48](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.47](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.46](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-27)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.45](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-26)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.44](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-26)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.43](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-22)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.42](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-22)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.41](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-22)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.40](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-14)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.39](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-14)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.38](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-14)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.37](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-13)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.36](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-12)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.35](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.34](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.33](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.32](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.31](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-07)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.30](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-07)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.29](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-06)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.28](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-05)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.27](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-05)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.26](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.25](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.24](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.23](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.22](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.21](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-26)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.20](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-22)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.19](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-21)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.18](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.17](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-19)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.16](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-18)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.15](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-18)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.14](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.13](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.12](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-15)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.11](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.10](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-07)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.9](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-07)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.8](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-05)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.7](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.6](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.5](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.4](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-31)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.3](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-30)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
## [3.110.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-27)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/desktop
|
||||
|
||||
# [3.110.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-27)
|
||||
|
||||
### Features
|
||||
|
||||
@@ -2,18 +2,14 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<!--
|
||||
We need to set 'unsafe-eval' to use wasm.
|
||||
https://bugs.chromium.org/p/chromium/issues/detail?id=948834
|
||||
-->
|
||||
<meta
|
||||
http-equiv="Content-Security-Policy"
|
||||
content="
|
||||
default-src 'self' blob:;
|
||||
script-src 'self' 'unsafe-eval';
|
||||
script-src 'self' 'wasm-unsafe-eval';
|
||||
worker-src 'self' blob:;
|
||||
connect-src * data: blob:;
|
||||
style-src 'unsafe-inline' 'self' http://localhost:* http://127.0.0.1:45653;
|
||||
style-src 'self' 'unsafe-hashes' http://localhost:* http://127.0.0.1:45653 'sha256-jpJOxTrdc58x4woq2mVygDDIvjIAGNkLZ2yfx4ppdXo=' 'sha256-tbWZ4NP1341cpcrZVDn7B3o9bt/muXgduILAnC0Zbaw=';
|
||||
frame-src * blob:;
|
||||
img-src * data: blob:;
|
||||
"
|
||||
|
||||
@@ -13,6 +13,9 @@
|
||||
.mac-desktop .app-pane {
|
||||
padding-top: 25px;
|
||||
}
|
||||
.mac-desktop [data-dialog] [data-mobile-modal-header] {
|
||||
padding-top: 25px;
|
||||
}
|
||||
}
|
||||
|
||||
@media screen and (min-width: 768px) {
|
||||
@@ -74,6 +77,24 @@
|
||||
-webkit-app-region: drag;
|
||||
}
|
||||
|
||||
.mac-desktop.focus-mode #editor-title-bar {
|
||||
-webkit-app-region: no-drag;
|
||||
}
|
||||
|
||||
.mac-desktop [data-dialog-portal]:has([data-dialog])::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 32px;
|
||||
-webkit-app-region: drag;
|
||||
}
|
||||
|
||||
.mac-desktop [data-dialog-portal]:has([data-preferences-header])::after {
|
||||
height: 0;
|
||||
}
|
||||
|
||||
button,
|
||||
input,
|
||||
#navigation #navigation-content,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "@standardnotes/desktop",
|
||||
"main": "./app/dist/index.js",
|
||||
"version": "3.110.0",
|
||||
"version": "3.110.63",
|
||||
"license": "AGPL-3.0",
|
||||
"author": "Standard Notes.",
|
||||
"private": true,
|
||||
|
||||
@@ -3,6 +3,26 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.21.105](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/encryption
|
||||
|
||||
## [1.21.104](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/encryption
|
||||
|
||||
## [1.21.103](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/encryption
|
||||
|
||||
## [1.21.102](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/encryption
|
||||
|
||||
## [1.21.101](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/encryption
|
||||
|
||||
## [1.21.100](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-27)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/encryption
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/encryption",
|
||||
"version": "1.21.100",
|
||||
"version": "1.21.105",
|
||||
"engines": {
|
||||
"node": ">=16.0.0 <17.0.0"
|
||||
},
|
||||
|
||||
@@ -3,6 +3,14 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.61.3](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/features
|
||||
|
||||
## [1.61.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/features
|
||||
|
||||
## [1.61.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2023-11-30)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/features",
|
||||
"version": "1.61.1",
|
||||
"version": "1.61.3",
|
||||
"engines": {
|
||||
"node": ">=16.0.0 <17.0.0"
|
||||
},
|
||||
|
||||
@@ -28,6 +28,7 @@ export class NativeFeatureIdentifier extends ValueObject<NativeFeatureIdentifier
|
||||
MidnightTheme: 'org.standardnotes.theme-midnight',
|
||||
SolarizedDarkTheme: 'org.standardnotes.theme-solarized-dark',
|
||||
TitaniumTheme: 'org.standardnotes.theme-titanium',
|
||||
ProtonTheme: 'com.standardnotes.theme-proton',
|
||||
|
||||
PlainEditor: 'com.standardnotes.plain-text',
|
||||
SuperEditor: 'com.standardnotes.super-editor',
|
||||
|
||||
@@ -97,5 +97,18 @@ export function themes(): ThemeFeatureDescription[] {
|
||||
no_mobile: true,
|
||||
})
|
||||
|
||||
return [midnight, futura, solarizedDark, autobiography, dark, titanium, dynamic]
|
||||
const proton: ThemeFeatureDescription = FillThemeComponentDefaults({
|
||||
availableInRoles: [RoleName.NAMES.CoreUser, RoleName.NAMES.PlusUser, RoleName.NAMES.ProUser],
|
||||
name: 'Carbon',
|
||||
identifier: NativeFeatureIdentifier.TYPES.ProtonTheme,
|
||||
permission_name: PermissionName.ProtonTheme,
|
||||
dock_icon: {
|
||||
type: 'circle',
|
||||
background_color: '#16141c',
|
||||
foreground_color: '#ffffff',
|
||||
border_color: '#4a4658',
|
||||
},
|
||||
})
|
||||
|
||||
return [midnight, futura, solarizedDark, autobiography, dark, proton, titanium, dynamic]
|
||||
}
|
||||
|
||||
@@ -40,4 +40,5 @@ export enum PermissionName {
|
||||
Clipper = 'app:clipper',
|
||||
Vaults = 'app:vaults',
|
||||
SharedVaults = 'server:shared-vaults',
|
||||
ProtonTheme = 'theme:proton',
|
||||
}
|
||||
|
||||
@@ -3,6 +3,34 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.28.122](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/filepicker
|
||||
|
||||
## [1.28.121](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-19)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/filepicker
|
||||
|
||||
## [1.28.120](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/filepicker
|
||||
|
||||
## [1.28.119](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/filepicker
|
||||
|
||||
## [1.28.118](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/filepicker
|
||||
|
||||
## [1.28.117](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/filepicker
|
||||
|
||||
## [1.28.116](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/filepicker
|
||||
|
||||
## [1.28.115](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-27)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/filepicker
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/filepicker",
|
||||
"version": "1.28.115",
|
||||
"version": "1.28.122",
|
||||
"engines": {
|
||||
"node": ">=16.0.0 <17.0.0"
|
||||
},
|
||||
|
||||
@@ -3,6 +3,36 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.20.7](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/files
|
||||
|
||||
## [1.20.6](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-19)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Fixed issue with some Evernote imports getting cut-off ([2bc7d57](https://github.com/standardnotes/app/commit/2bc7d572356b285160cf5b811e6b38064f4f7f1b))
|
||||
|
||||
## [1.20.5](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/files
|
||||
|
||||
## [1.20.4](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/files
|
||||
|
||||
## [1.20.3](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/files
|
||||
|
||||
## [1.20.2](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/files
|
||||
|
||||
## [1.20.1](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/files
|
||||
|
||||
# [1.20.0](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-27)
|
||||
|
||||
### Features
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/files",
|
||||
"version": "1.20.0",
|
||||
"version": "1.20.7",
|
||||
"engines": {
|
||||
"node": ">=16.0.0 <17.0.0"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
import { FileItem, PrefKey, PrefValue } from '@standardnotes/models'
|
||||
|
||||
export type SuperConverterHTMLOptions = {
|
||||
addLineBreaks?: boolean
|
||||
}
|
||||
|
||||
export interface SuperConverterServiceInterface {
|
||||
isValidSuperString(superString: string): boolean
|
||||
convertSuperStringToOtherFormat: (
|
||||
@@ -18,9 +22,7 @@ export interface SuperConverterServiceInterface {
|
||||
otherFormatString: string,
|
||||
fromFormat: 'txt' | 'md' | 'html' | 'json',
|
||||
options?: {
|
||||
html?: {
|
||||
addLineBreaks?: boolean
|
||||
}
|
||||
html?: SuperConverterHTMLOptions
|
||||
},
|
||||
) => string
|
||||
getEmbeddedFileIDsFromSuperString(superString: string): string[]
|
||||
|
||||
@@ -3,6 +3,258 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [3.58.120](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.119](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-19)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.118](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.117](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.116](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.115](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.114](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-15)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.113](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-14)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.112](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-13)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.111](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.110](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.109](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.108](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-10)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.107](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.106](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-04)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.105](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-04-01)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* Fixed super note "Table of contents" not working on mobile ([73eba38](https://github.com/standardnotes/app/commit/73eba38c1444e85839d771fb297e3035eabd99c8))
|
||||
|
||||
## [3.58.104](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.103](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-27)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.102](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-26)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.101](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-26)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.100](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-22)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.99](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-22)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.98](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-22)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.97](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-14)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.96](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-14)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.95](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-14)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.94](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-13)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.93](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-12)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.92](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.91](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.90](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-11)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.89](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.88](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-07)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* use API v0 on iOS ([#2858](https://github.com/standardnotes/app/issues/2858)) [skip e2e] ([3b2f761](https://github.com/standardnotes/app/commit/3b2f76166126a5b11f35b64aacefa37618622c3d))
|
||||
|
||||
## [3.58.87](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-07)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.86](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-06)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.85](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-05)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.84](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-05)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.83](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.82](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.81](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.80](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-03-01)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.79](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.78](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-26)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.77](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-22)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.76](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-21)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.75](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-20)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.74](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-19)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.73](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-18)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.72](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-18)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.71](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.70](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-17)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.69](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-15)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.68](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-08)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.67](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-07)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.66](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-07)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.65](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-05)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.64](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-03)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.63](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.62](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-02-02)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.61](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-31)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.60](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-30)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.59](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-28)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
## [3.58.58](https://github.com/standardnotes/app/compare/@standardnotes/[email protected]...@standardnotes/[email protected]) (2024-01-27)
|
||||
|
||||
**Note:** Version bump only for package @standardnotes/mobile
|
||||
|
||||
@@ -7,7 +7,7 @@ source "https://rubygems.org"
|
||||
# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
|
||||
ruby "2.7.6"
|
||||
|
||||
gem 'cocoapods', '~> 1.12'
|
||||
gem 'cocoapods', '~> 1.14.3'
|
||||
gem 'fastlane'
|
||||
gem 'fastlane-plugin-bundletool'
|
||||
gem 'xcode-install'
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
GEM
|
||||
remote: https://rubygems.org/
|
||||
specs:
|
||||
CFPropertyList (3.0.6)
|
||||
CFPropertyList (3.0.7)
|
||||
base64
|
||||
nkf
|
||||
rexml
|
||||
activesupport (7.1.1)
|
||||
activesupport (7.1.3)
|
||||
base64
|
||||
bigdecimal
|
||||
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||
@@ -13,39 +15,39 @@ GEM
|
||||
minitest (>= 5.1)
|
||||
mutex_m
|
||||
tzinfo (~> 2.0)
|
||||
addressable (2.8.5)
|
||||
addressable (2.8.6)
|
||||
public_suffix (>= 2.0.2, < 6.0)
|
||||
algoliasearch (1.27.5)
|
||||
httpclient (~> 2.8, >= 2.8.3)
|
||||
json (>= 1.5.1)
|
||||
artifactory (3.0.15)
|
||||
atomos (0.1.3)
|
||||
aws-eventstream (1.2.0)
|
||||
aws-partitions (1.843.0)
|
||||
aws-sdk-core (3.185.1)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
aws-eventstream (1.3.0)
|
||||
aws-partitions (1.894.0)
|
||||
aws-sdk-core (3.191.3)
|
||||
aws-eventstream (~> 1, >= 1.3.0)
|
||||
aws-partitions (~> 1, >= 1.651.0)
|
||||
aws-sigv4 (~> 1.5)
|
||||
aws-sigv4 (~> 1.8)
|
||||
jmespath (~> 1, >= 1.6.1)
|
||||
aws-sdk-kms (1.72.0)
|
||||
aws-sdk-core (~> 3, >= 3.184.0)
|
||||
aws-sdk-kms (1.77.0)
|
||||
aws-sdk-core (~> 3, >= 3.191.0)
|
||||
aws-sigv4 (~> 1.1)
|
||||
aws-sdk-s3 (1.136.0)
|
||||
aws-sdk-core (~> 3, >= 3.181.0)
|
||||
aws-sdk-s3 (1.143.0)
|
||||
aws-sdk-core (~> 3, >= 3.191.0)
|
||||
aws-sdk-kms (~> 1)
|
||||
aws-sigv4 (~> 1.6)
|
||||
aws-sigv4 (1.6.1)
|
||||
aws-sigv4 (~> 1.8)
|
||||
aws-sigv4 (1.8.0)
|
||||
aws-eventstream (~> 1, >= 1.0.2)
|
||||
babosa (1.0.4)
|
||||
base64 (0.1.1)
|
||||
bigdecimal (3.1.4)
|
||||
base64 (0.2.0)
|
||||
bigdecimal (3.1.6)
|
||||
claide (1.1.0)
|
||||
cocoapods (1.14.2)
|
||||
cocoapods (1.14.3)
|
||||
addressable (~> 2.8)
|
||||
claide (>= 1.0.2, < 2.0)
|
||||
cocoapods-core (= 1.14.2)
|
||||
cocoapods-core (= 1.14.3)
|
||||
cocoapods-deintegrate (>= 1.0.3, < 2.0)
|
||||
cocoapods-downloader (>= 2.0)
|
||||
cocoapods-downloader (>= 2.1, < 3.0)
|
||||
cocoapods-plugins (>= 1.0.0, < 2.0)
|
||||
cocoapods-search (>= 1.0.0, < 2.0)
|
||||
cocoapods-trunk (>= 1.6.0, < 2.0)
|
||||
@@ -58,7 +60,7 @@ GEM
|
||||
nap (~> 1.0)
|
||||
ruby-macho (>= 2.3.0, < 3.0)
|
||||
xcodeproj (>= 1.23.0, < 2.0)
|
||||
cocoapods-core (1.14.2)
|
||||
cocoapods-core (1.14.3)
|
||||
activesupport (>= 5.0, < 8)
|
||||
addressable (~> 2.8)
|
||||
algoliasearch (~> 1.0)
|
||||
@@ -69,7 +71,7 @@ GEM
|
||||
public_suffix (~> 4.0)
|
||||
typhoeus (~> 1.0)
|
||||
cocoapods-deintegrate (1.0.5)
|
||||
cocoapods-downloader (2.0)
|
||||
cocoapods-downloader (2.1)
|
||||
cocoapods-plugins (1.0.0)
|
||||
nap
|
||||
cocoapods-search (1.0.1)
|
||||
@@ -81,21 +83,20 @@ GEM
|
||||
colored2 (3.1.2)
|
||||
commander (4.6.0)
|
||||
highline (~> 2.0.0)
|
||||
concurrent-ruby (1.2.2)
|
||||
concurrent-ruby (1.2.3)
|
||||
connection_pool (2.4.1)
|
||||
declarative (0.0.20)
|
||||
digest-crc (0.6.5)
|
||||
rake (>= 12.0.0, < 14.0.0)
|
||||
domain_name (0.5.20190701)
|
||||
unf (>= 0.0.5, < 1.0.0)
|
||||
domain_name (0.6.20240107)
|
||||
dotenv (2.8.1)
|
||||
drb (2.1.1)
|
||||
drb (2.2.0)
|
||||
ruby2_keywords
|
||||
emoji_regex (3.2.3)
|
||||
escape (0.0.4)
|
||||
ethon (0.16.0)
|
||||
ffi (>= 1.15.0)
|
||||
excon (0.104.0)
|
||||
excon (0.109.0)
|
||||
faraday (1.10.3)
|
||||
faraday-em_http (~> 1.0)
|
||||
faraday-em_synchrony (~> 1.0)
|
||||
@@ -124,8 +125,8 @@ GEM
|
||||
faraday-retry (1.0.3)
|
||||
faraday_middleware (1.2.0)
|
||||
faraday (~> 1.0)
|
||||
fastimage (2.2.7)
|
||||
fastlane (2.216.0)
|
||||
fastimage (2.3.0)
|
||||
fastlane (2.219.0)
|
||||
CFPropertyList (>= 2.3, < 4.0.0)
|
||||
addressable (>= 2.8, < 3.0.0)
|
||||
artifactory (~> 3.0)
|
||||
@@ -144,6 +145,7 @@ GEM
|
||||
gh_inspector (>= 1.1.2, < 2.0.0)
|
||||
google-apis-androidpublisher_v3 (~> 0.3)
|
||||
google-apis-playcustomapp_v1 (~> 0.1)
|
||||
google-cloud-env (>= 1.6.0, < 2.0.0)
|
||||
google-cloud-storage (~> 1.31)
|
||||
highline (~> 2.0)
|
||||
http-cookie (~> 1.0.5)
|
||||
@@ -152,7 +154,7 @@ GEM
|
||||
mini_magick (>= 4.9.4, < 5.0.0)
|
||||
multipart-post (>= 2.0.0, < 3.0.0)
|
||||
naturally (~> 2.2)
|
||||
optparse (~> 0.1.1)
|
||||
optparse (>= 0.1.1)
|
||||
plist (>= 3.1.0, < 4.0.0)
|
||||
rubyzip (>= 2.0.0, < 3.0.0)
|
||||
security (= 0.1.3)
|
||||
@@ -170,9 +172,9 @@ GEM
|
||||
fourflusher (2.3.1)
|
||||
fuzzy_match (2.0.4)
|
||||
gh_inspector (1.1.3)
|
||||
google-apis-androidpublisher_v3 (0.51.0)
|
||||
google-apis-androidpublisher_v3 (0.54.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-core (0.11.2)
|
||||
google-apis-core (0.11.3)
|
||||
addressable (~> 2.5, >= 2.5.1)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
httpclient (>= 2.8.1, < 3.a)
|
||||
@@ -180,24 +182,23 @@ GEM
|
||||
representable (~> 3.0)
|
||||
retriable (>= 2.0, < 4.a)
|
||||
rexml
|
||||
webrick
|
||||
google-apis-iamcredentials_v1 (0.17.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-playcustomapp_v1 (0.13.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-apis-storage_v1 (0.19.0)
|
||||
google-apis-core (>= 0.9.0, < 2.a)
|
||||
google-cloud-core (1.6.0)
|
||||
google-cloud-env (~> 1.0)
|
||||
google-apis-storage_v1 (0.31.0)
|
||||
google-apis-core (>= 0.11.0, < 2.a)
|
||||
google-cloud-core (1.6.1)
|
||||
google-cloud-env (>= 1.0, < 3.a)
|
||||
google-cloud-errors (~> 1.0)
|
||||
google-cloud-env (1.6.0)
|
||||
faraday (>= 0.17.3, < 3.0)
|
||||
google-cloud-errors (1.3.1)
|
||||
google-cloud-storage (1.44.0)
|
||||
google-cloud-storage (1.47.0)
|
||||
addressable (~> 2.8)
|
||||
digest-crc (~> 0.4)
|
||||
google-apis-iamcredentials_v1 (~> 0.1)
|
||||
google-apis-storage_v1 (~> 0.19.0)
|
||||
google-apis-storage_v1 (~> 0.31.0)
|
||||
google-cloud-core (~> 1.6)
|
||||
googleauth (>= 0.16.2, < 2.a)
|
||||
mini_mime (~> 1.0)
|
||||
@@ -214,22 +215,24 @@ GEM
|
||||
i18n (1.14.1)
|
||||
concurrent-ruby (~> 1.0)
|
||||
jmespath (1.6.2)
|
||||
json (2.6.3)
|
||||
jwt (2.7.1)
|
||||
json (2.7.1)
|
||||
jwt (2.8.0)
|
||||
base64
|
||||
mini_magick (4.12.0)
|
||||
mini_mime (1.1.5)
|
||||
minitest (5.20.0)
|
||||
minitest (5.22.2)
|
||||
molinillo (0.8.0)
|
||||
multi_json (1.15.0)
|
||||
multipart-post (2.3.0)
|
||||
mutex_m (0.1.2)
|
||||
multipart-post (2.4.0)
|
||||
mutex_m (0.2.0)
|
||||
nanaimo (0.3.0)
|
||||
nap (1.1.0)
|
||||
naturally (2.2.1)
|
||||
netrc (0.11.0)
|
||||
optparse (0.1.1)
|
||||
nkf (0.2.0)
|
||||
optparse (0.4.0)
|
||||
os (1.1.4)
|
||||
plist (3.7.0)
|
||||
plist (3.7.1)
|
||||
public_suffix (4.0.7)
|
||||
rake (13.1.0)
|
||||
representable (3.2.0)
|
||||
@@ -243,7 +246,7 @@ GEM
|
||||
ruby2_keywords (0.0.5)
|
||||
rubyzip (2.3.2)
|
||||
security (0.1.3)
|
||||
signet (0.18.0)
|
||||
signet (0.19.0)
|
||||
addressable (~> 2.8)
|
||||
faraday (>= 0.17.5, < 3.a)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
@@ -256,24 +259,20 @@ GEM
|
||||
unicode-display_width (>= 1.1.1, < 3)
|
||||
trailblazer-option (0.1.2)
|
||||
tty-cursor (0.7.1)
|
||||
tty-screen (0.8.1)
|
||||
tty-screen (0.8.2)
|
||||
tty-spinner (0.9.3)
|
||||
tty-cursor (~> 0.7)
|
||||
typhoeus (1.4.0)
|
||||
typhoeus (1.4.1)
|
||||
ethon (>= 0.9.0)
|
||||
tzinfo (2.0.6)
|
||||
concurrent-ruby (~> 1.0)
|
||||
uber (0.1.0)
|
||||
unf (0.1.4)
|
||||
unf_ext
|
||||
unf_ext (0.0.8.2)
|
||||
unicode-display_width (2.5.0)
|
||||
webrick (1.8.1)
|
||||
word_wrap (1.0.0)
|
||||
xcode-install (2.8.1)
|
||||
claide (>= 0.9.1)
|
||||
fastlane (>= 2.1.0, < 3.0.0)
|
||||
xcodeproj (1.23.0)
|
||||
xcodeproj (1.24.0)
|
||||
CFPropertyList (>= 2.3.3, < 4.0)
|
||||
atomos (~> 0.1.3)
|
||||
claide (>= 1.0.2, < 2.0)
|
||||
@@ -290,7 +289,7 @@ PLATFORMS
|
||||
ruby
|
||||
|
||||
DEPENDENCIES
|
||||
cocoapods (~> 1.12)
|
||||
cocoapods (~> 1.14.3)
|
||||
fastlane
|
||||
fastlane-plugin-bundletool
|
||||
xcode-install
|
||||
|
||||
@@ -158,7 +158,7 @@ platform :android do
|
||||
|
||||
desc 'Deploy production app'
|
||||
lane :prod do
|
||||
version = 3_002_000 + ENV['BUILD_NUMBER'].to_i
|
||||
version = 3_004_000 + ENV['BUILD_NUMBER'].to_i
|
||||
deploy_android 'prod', version
|
||||
end
|
||||
end
|
||||
|
||||
@@ -70,13 +70,13 @@ PODS:
|
||||
- FlipperKit/FlipperKitNetworkPlugin
|
||||
- fmt (6.2.1)
|
||||
- glog (0.3.5)
|
||||
- hermes-engine (0.72.4):
|
||||
- hermes-engine/Pre-built (= 0.72.4)
|
||||
- hermes-engine/Pre-built (0.72.4)
|
||||
- hermes-engine (0.72.5):
|
||||
- hermes-engine/Pre-built (= 0.72.5)
|
||||
- hermes-engine/Pre-built (0.72.5)
|
||||
- libevent (2.1.12)
|
||||
- MMKV (1.2.14):
|
||||
- MMKVCore (~> 1.2.14)
|
||||
- MMKVCore (1.2.14)
|
||||
- MMKV (1.3.0):
|
||||
- MMKVCore (~> 1.3.0)
|
||||
- MMKVCore (1.3.0)
|
||||
- OpenSSL-Universal (1.1.1100)
|
||||
- RCT-Folly (2021.07.22.00):
|
||||
- boost
|
||||
@@ -751,10 +751,10 @@ SPEC CHECKSUMS:
|
||||
FlipperKit: 2efad7007d6745a3f95e4034d547be637f89d3f6
|
||||
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
|
||||
glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b
|
||||
hermes-engine: 81191603c4eaa01f5e4ae5737a9efcf64756c7b2
|
||||
hermes-engine: f6cf92a471053245614d9d8097736f6337d5b86c
|
||||
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
|
||||
MMKV: 9c4663aa7ca255d478ff10f2f5cb7d17c1651ccd
|
||||
MMKVCore: 89f5c8a66bba2dcd551779dea4d412eeec8ff5bb
|
||||
MMKV: 9c6c3fa4ddd849f28c7b9a5c9d23aab84f14ee35
|
||||
MMKVCore: 9bb7440b170181ac5b81f542ac258103542e693d
|
||||
OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c
|
||||
RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1
|
||||
RCTRequired: df81ab637d35fac9e6eb94611cfd20f0feb05455
|
||||
@@ -809,4 +809,4 @@ SPEC CHECKSUMS:
|
||||
|
||||
PODFILE CHECKSUM: c3b827e3c92cdf3199eddc52083480826e717b88
|
||||
|
||||
COCOAPODS: 1.14.2
|
||||
COCOAPODS: 1.14.3
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@standardnotes/mobile",
|
||||
"version": "3.58.58",
|
||||
"version": "3.58.120",
|
||||
"author": "Standard Notes.",
|
||||
"private": true,
|
||||
"license": "AGPL-3.0",
|
||||
@@ -50,7 +50,7 @@
|
||||
"get-yarn-workspaces": "^1.0.2",
|
||||
"metro-react-native-babel-preset": "^0.77.0",
|
||||
"npm-check-updates": "*",
|
||||
"pod-install": "^0.1.38",
|
||||
"pod-install": "^0.2.0",
|
||||
"prettier": "*",
|
||||
"prettier-plugin-organize-imports": "^3.2.0",
|
||||
"react": "18.2.0",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user