@wordpress/format-library 3.0.4 → 3.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/bold/index.js +13 -8
- package/build/bold/index.js.map +1 -1
- package/build/code/index.js +12 -8
- package/build/code/index.js.map +1 -1
- package/build/image/index.js +27 -23
- package/build/image/index.js.map +1 -1
- package/build/index.js +7 -4
- package/build/index.js.map +1 -1
- package/build/italic/index.js +13 -8
- package/build/italic/index.js.map +1 -1
- package/build/keyboard/index.js +12 -8
- package/build/keyboard/index.js.map +1 -1
- package/build/link/index.js +15 -12
- package/build/link/index.js.map +1 -1
- package/build/link/inline.js +78 -16
- package/build/link/inline.js.map +1 -1
- package/build/link/modal-screens/link-picker-screen.native.js +6 -4
- package/build/link/modal-screens/link-picker-screen.native.js.map +1 -1
- package/build/link/modal-screens/link-settings-screen.native.js +15 -12
- package/build/link/modal-screens/link-settings-screen.native.js.map +1 -1
- package/build/link/modal.native.js +5 -4
- package/build/link/modal.native.js.map +1 -1
- package/build/link/use-link-instance-key.js +40 -0
- package/build/link/use-link-instance-key.js.map +1 -0
- package/build/link/utils.js +122 -7
- package/build/link/utils.js.map +1 -1
- package/build/strikethrough/index.js +12 -8
- package/build/strikethrough/index.js.map +1 -1
- package/build/subscript/index.js +12 -8
- package/build/subscript/index.js.map +1 -1
- package/build/superscript/index.js +12 -8
- package/build/superscript/index.js.map +1 -1
- package/build/text-color/index.js +20 -14
- package/build/text-color/index.js.map +1 -1
- package/build/text-color/inline.js +31 -18
- package/build/text-color/inline.js.map +1 -1
- package/build/underline/index.js +10 -6
- package/build/underline/index.js.map +1 -1
- package/build-module/bold/index.js +13 -8
- package/build-module/bold/index.js.map +1 -1
- package/build-module/code/index.js +12 -8
- package/build-module/code/index.js.map +1 -1
- package/build-module/image/index.js +27 -23
- package/build-module/image/index.js.map +1 -1
- package/build-module/index.js +7 -4
- package/build-module/index.js.map +1 -1
- package/build-module/italic/index.js +13 -8
- package/build-module/italic/index.js.map +1 -1
- package/build-module/keyboard/index.js +12 -8
- package/build-module/keyboard/index.js.map +1 -1
- package/build-module/link/index.js +15 -12
- package/build-module/link/index.js.map +1 -1
- package/build-module/link/inline.js +77 -18
- package/build-module/link/inline.js.map +1 -1
- package/build-module/link/modal-screens/link-picker-screen.native.js +6 -4
- package/build-module/link/modal-screens/link-picker-screen.native.js.map +1 -1
- package/build-module/link/modal-screens/link-settings-screen.native.js +15 -12
- package/build-module/link/modal-screens/link-settings-screen.native.js.map +1 -1
- package/build-module/link/modal.native.js +5 -4
- package/build-module/link/modal.native.js.map +1 -1
- package/build-module/link/use-link-instance-key.js +33 -0
- package/build-module/link/use-link-instance-key.js.map +1 -0
- package/build-module/link/utils.js +119 -7
- package/build-module/link/utils.js.map +1 -1
- package/build-module/strikethrough/index.js +12 -8
- package/build-module/strikethrough/index.js.map +1 -1
- package/build-module/subscript/index.js +12 -8
- package/build-module/subscript/index.js.map +1 -1
- package/build-module/superscript/index.js +12 -8
- package/build-module/superscript/index.js.map +1 -1
- package/build-module/text-color/index.js +16 -12
- package/build-module/text-color/index.js.map +1 -1
- package/build-module/text-color/inline.js +31 -18
- package/build-module/text-color/inline.js.map +1 -1
- package/build-module/underline/index.js +12 -6
- package/build-module/underline/index.js.map +1 -1
- package/package.json +16 -16
- package/src/bold/index.js +2 -2
- package/src/code/index.js +2 -1
- package/src/italic/index.js +2 -2
- package/src/keyboard/index.js +2 -1
- package/src/link/inline.js +75 -5
- package/src/link/test/utils.js +362 -1
- package/src/link/use-link-instance-key.js +34 -0
- package/src/link/utils.js +132 -1
- package/src/strikethrough/index.js +2 -1
- package/src/subscript/index.js +2 -1
- package/src/superscript/index.js +2 -1
- package/src/text-color/index.js +1 -0
- package/src/text-color/inline.js +12 -1
- package/src/underline/index.js +3 -1
package/build/bold/index.js
CHANGED
|
@@ -26,20 +26,25 @@ const bold = {
|
|
|
26
26
|
tagName: 'strong',
|
|
27
27
|
className: null,
|
|
28
28
|
|
|
29
|
-
edit({
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
edit(_ref) {
|
|
30
|
+
let {
|
|
31
|
+
isActive,
|
|
32
|
+
value,
|
|
33
|
+
onChange,
|
|
34
|
+
onFocus
|
|
35
|
+
} = _ref;
|
|
36
|
+
|
|
35
37
|
function onToggle() {
|
|
36
38
|
onChange((0, _richText.toggleFormat)(value, {
|
|
37
|
-
type: name
|
|
39
|
+
type: name,
|
|
40
|
+
title
|
|
38
41
|
}));
|
|
39
42
|
}
|
|
40
43
|
|
|
41
44
|
function onClick() {
|
|
42
|
-
|
|
45
|
+
onChange((0, _richText.toggleFormat)(value, {
|
|
46
|
+
type: name
|
|
47
|
+
}));
|
|
43
48
|
onFocus();
|
|
44
49
|
}
|
|
45
50
|
|
package/build/bold/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/format-library/src/bold/index.js"],"names":["name","title","bold","tagName","className","edit","isActive","value","onChange","onFocus","onToggle","type","onClick","formatBold"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;AAUA,MAAMA,IAAI,GAAG,WAAb;AACA,MAAMC,KAAK,GAAG,cAAI,MAAJ,CAAd;AAEO,MAAMC,IAAI,GAAG;AACnBF,EAAAA,IADmB;AAEnBC,EAAAA,KAFmB;AAGnBE,EAAAA,OAAO,EAAE,QAHU;AAInBC,EAAAA,SAAS,EAAE,IAJQ;;AAKnBC,EAAAA,IAAI,
|
|
1
|
+
{"version":3,"sources":["@wordpress/format-library/src/bold/index.js"],"names":["name","title","bold","tagName","className","edit","isActive","value","onChange","onFocus","onToggle","type","onClick","formatBold"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;AAUA,MAAMA,IAAI,GAAG,WAAb;AACA,MAAMC,KAAK,GAAG,cAAI,MAAJ,CAAd;AAEO,MAAMC,IAAI,GAAG;AACnBF,EAAAA,IADmB;AAEnBC,EAAAA,KAFmB;AAGnBE,EAAAA,OAAO,EAAE,QAHU;AAInBC,EAAAA,SAAS,EAAE,IAJQ;;AAKnBC,EAAAA,IAAI,OAA2C;AAAA,QAAzC;AAAEC,MAAAA,QAAF;AAAYC,MAAAA,KAAZ;AAAmBC,MAAAA,QAAnB;AAA6BC,MAAAA;AAA7B,KAAyC;;AAC9C,aAASC,QAAT,GAAoB;AACnBF,MAAAA,QAAQ,CAAE,4BAAcD,KAAd,EAAqB;AAAEI,QAAAA,IAAI,EAAEX,IAAR;AAAcC,QAAAA;AAAd,OAArB,CAAF,CAAR;AACA;;AAED,aAASW,OAAT,GAAmB;AAClBJ,MAAAA,QAAQ,CAAE,4BAAcD,KAAd,EAAqB;AAAEI,QAAAA,IAAI,EAAEX;AAAR,OAArB,CAAF,CAAR;AACAS,MAAAA,OAAO;AACP;;AAED,WACC,qDACC,4BAAC,6BAAD;AACC,MAAA,IAAI,EAAC,SADN;AAEC,MAAA,SAAS,EAAC,GAFX;AAGC,MAAA,KAAK,EAAGC;AAHT,MADD,EAMC,4BAAC,kCAAD;AACC,MAAA,IAAI,EAAC,MADN;AAEC,MAAA,IAAI,EAAGG,iBAFR;AAGC,MAAA,KAAK,EAAGZ,KAHT;AAIC,MAAA,OAAO,EAAGW,OAJX;AAKC,MAAA,QAAQ,EAAGN,QALZ;AAMC,MAAA,YAAY,EAAC,SANd;AAOC,MAAA,iBAAiB,EAAC;AAPnB,MAND,EAeC,4BAAC,yCAAD;AACC,MAAA,SAAS,EAAC,YADX;AAEC,MAAA,OAAO,EAAGI;AAFX,MAfD,CADD;AAsBA;;AArCkB,CAAb","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { toggleFormat } from '@wordpress/rich-text';\nimport {\n\tRichTextToolbarButton,\n\tRichTextShortcut,\n\t__unstableRichTextInputEvent,\n} from '@wordpress/block-editor';\nimport { formatBold } from '@wordpress/icons';\n\nconst name = 'core/bold';\nconst title = __( 'Bold' );\n\nexport const bold = {\n\tname,\n\ttitle,\n\ttagName: 'strong',\n\tclassName: null,\n\tedit( { isActive, value, onChange, onFocus } ) {\n\t\tfunction onToggle() {\n\t\t\tonChange( toggleFormat( value, { type: name, title } ) );\n\t\t}\n\n\t\tfunction onClick() {\n\t\t\tonChange( toggleFormat( value, { type: name } ) );\n\t\t\tonFocus();\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<RichTextShortcut\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\tcharacter=\"b\"\n\t\t\t\t\tonUse={ onToggle }\n\t\t\t\t/>\n\t\t\t\t<RichTextToolbarButton\n\t\t\t\t\tname=\"bold\"\n\t\t\t\t\ticon={ formatBold }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\tshortcutType=\"primary\"\n\t\t\t\t\tshortcutCharacter=\"b\"\n\t\t\t\t/>\n\t\t\t\t<__unstableRichTextInputEvent\n\t\t\t\t\tinputType=\"formatBold\"\n\t\t\t\t\tonInput={ onToggle }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t},\n};\n"]}
|
package/build/code/index.js
CHANGED
|
@@ -60,15 +60,18 @@ const code = {
|
|
|
60
60
|
return value;
|
|
61
61
|
},
|
|
62
62
|
|
|
63
|
-
edit({
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
63
|
+
edit(_ref) {
|
|
64
|
+
let {
|
|
65
|
+
value,
|
|
66
|
+
onChange,
|
|
67
|
+
onFocus,
|
|
68
|
+
isActive
|
|
69
|
+
} = _ref;
|
|
70
|
+
|
|
69
71
|
function onClick() {
|
|
70
72
|
onChange((0, _richText.toggleFormat)(value, {
|
|
71
|
-
type: name
|
|
73
|
+
type: name,
|
|
74
|
+
title
|
|
72
75
|
}));
|
|
73
76
|
onFocus();
|
|
74
77
|
}
|
|
@@ -77,7 +80,8 @@ const code = {
|
|
|
77
80
|
icon: _icons.code,
|
|
78
81
|
title: title,
|
|
79
82
|
onClick: onClick,
|
|
80
|
-
isActive: isActive
|
|
83
|
+
isActive: isActive,
|
|
84
|
+
role: "menuitemcheckbox"
|
|
81
85
|
});
|
|
82
86
|
}
|
|
83
87
|
|
package/build/code/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/format-library/src/code/index.js"],"names":["name","title","code","tagName","className","__unstableInputRule","value","BACKTICK","start","text","characterBefore","slice","textBefore","indexBefore","lastIndexOf","startIndex","endIndex","type","edit","onChange","onFocus","isActive","onClick","codeIcon"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AANA;AACA;AACA;AAMA,MAAMA,IAAI,GAAG,WAAb;AACA,MAAMC,KAAK,GAAG,cAAI,aAAJ,CAAd;AAEO,MAAMC,IAAI,GAAG;AACnBF,EAAAA,IADmB;AAEnBC,EAAAA,KAFmB;AAGnBE,EAAAA,OAAO,EAAE,MAHU;AAInBC,EAAAA,SAAS,EAAE,IAJQ;;AAKnBC,EAAAA,mBAAmB,CAAEC,KAAF,EAAU;AAC5B,UAAMC,QAAQ,GAAG,GAAjB;AACA,UAAM;AAAEC,MAAAA,KAAF;AAASC,MAAAA;AAAT,QAAkBH,KAAxB;AACA,UAAMI,eAAe,GAAGD,IAAI,CAACE,KAAL,CAAYH,KAAK,GAAG,CAApB,EAAuBA,KAAvB,CAAxB,CAH4B,CAK5B;;AACA,QAAKE,eAAe,KAAKH,QAAzB,EAAoC;AACnC,aAAOD,KAAP;AACA;;AAED,UAAMM,UAAU,GAAGH,IAAI,CAACE,KAAL,CAAY,CAAZ,EAAeH,KAAK,GAAG,CAAvB,CAAnB;AACA,UAAMK,WAAW,GAAGD,UAAU,CAACE,WAAX,CAAwBP,QAAxB,CAApB;;AAEA,QAAKM,WAAW,KAAK,CAAC,CAAtB,EAA0B;AACzB,aAAOP,KAAP;AACA;;AAED,UAAMS,UAAU,GAAGF,WAAnB;AACA,UAAMG,QAAQ,GAAGR,KAAK,GAAG,CAAzB;;AAEA,QAAKO,UAAU,KAAKC,QAApB,EAA+B;AAC9B,aAAOV,KAAP;AACA;;AAEDA,IAAAA,KAAK,GAAG,sBAAQA,KAAR,EAAeS,UAAf,EAA2BA,UAAU,GAAG,CAAxC,CAAR;AACAT,IAAAA,KAAK,GAAG,sBAAQA,KAAR,EAAeU,QAAf,EAAyBA,QAAQ,GAAG,CAApC,CAAR;AACAV,IAAAA,KAAK,GAAG,2BAAaA,KAAb,EAAoB;AAAEW,MAAAA,IAAI,EAAEjB;AAAR,KAApB,EAAoCe,UAApC,EAAgDC,QAAhD,CAAR;AAEA,WAAOV,KAAP;AACA,GAlCkB;;AAmCnBY,EAAAA,IAAI,
|
|
1
|
+
{"version":3,"sources":["@wordpress/format-library/src/code/index.js"],"names":["name","title","code","tagName","className","__unstableInputRule","value","BACKTICK","start","text","characterBefore","slice","textBefore","indexBefore","lastIndexOf","startIndex","endIndex","type","edit","onChange","onFocus","isActive","onClick","codeIcon"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AANA;AACA;AACA;AAMA,MAAMA,IAAI,GAAG,WAAb;AACA,MAAMC,KAAK,GAAG,cAAI,aAAJ,CAAd;AAEO,MAAMC,IAAI,GAAG;AACnBF,EAAAA,IADmB;AAEnBC,EAAAA,KAFmB;AAGnBE,EAAAA,OAAO,EAAE,MAHU;AAInBC,EAAAA,SAAS,EAAE,IAJQ;;AAKnBC,EAAAA,mBAAmB,CAAEC,KAAF,EAAU;AAC5B,UAAMC,QAAQ,GAAG,GAAjB;AACA,UAAM;AAAEC,MAAAA,KAAF;AAASC,MAAAA;AAAT,QAAkBH,KAAxB;AACA,UAAMI,eAAe,GAAGD,IAAI,CAACE,KAAL,CAAYH,KAAK,GAAG,CAApB,EAAuBA,KAAvB,CAAxB,CAH4B,CAK5B;;AACA,QAAKE,eAAe,KAAKH,QAAzB,EAAoC;AACnC,aAAOD,KAAP;AACA;;AAED,UAAMM,UAAU,GAAGH,IAAI,CAACE,KAAL,CAAY,CAAZ,EAAeH,KAAK,GAAG,CAAvB,CAAnB;AACA,UAAMK,WAAW,GAAGD,UAAU,CAACE,WAAX,CAAwBP,QAAxB,CAApB;;AAEA,QAAKM,WAAW,KAAK,CAAC,CAAtB,EAA0B;AACzB,aAAOP,KAAP;AACA;;AAED,UAAMS,UAAU,GAAGF,WAAnB;AACA,UAAMG,QAAQ,GAAGR,KAAK,GAAG,CAAzB;;AAEA,QAAKO,UAAU,KAAKC,QAApB,EAA+B;AAC9B,aAAOV,KAAP;AACA;;AAEDA,IAAAA,KAAK,GAAG,sBAAQA,KAAR,EAAeS,UAAf,EAA2BA,UAAU,GAAG,CAAxC,CAAR;AACAT,IAAAA,KAAK,GAAG,sBAAQA,KAAR,EAAeU,QAAf,EAAyBA,QAAQ,GAAG,CAApC,CAAR;AACAV,IAAAA,KAAK,GAAG,2BAAaA,KAAb,EAAoB;AAAEW,MAAAA,IAAI,EAAEjB;AAAR,KAApB,EAAoCe,UAApC,EAAgDC,QAAhD,CAAR;AAEA,WAAOV,KAAP;AACA,GAlCkB;;AAmCnBY,EAAAA,IAAI,OAA2C;AAAA,QAAzC;AAAEZ,MAAAA,KAAF;AAASa,MAAAA,QAAT;AAAmBC,MAAAA,OAAnB;AAA4BC,MAAAA;AAA5B,KAAyC;;AAC9C,aAASC,OAAT,GAAmB;AAClBH,MAAAA,QAAQ,CAAE,4BAAcb,KAAd,EAAqB;AAAEW,QAAAA,IAAI,EAAEjB,IAAR;AAAcC,QAAAA;AAAd,OAArB,CAAF,CAAR;AACAmB,MAAAA,OAAO;AACP;;AAED,WACC,4BAAC,kCAAD;AACC,MAAA,IAAI,EAAGG,WADR;AAEC,MAAA,KAAK,EAAGtB,KAFT;AAGC,MAAA,OAAO,EAAGqB,OAHX;AAIC,MAAA,QAAQ,EAAGD,QAJZ;AAKC,MAAA,IAAI,EAAC;AALN,MADD;AASA;;AAlDkB,CAAb","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { toggleFormat, remove, applyFormat } from '@wordpress/rich-text';\nimport { RichTextToolbarButton } from '@wordpress/block-editor';\nimport { code as codeIcon } from '@wordpress/icons';\n\nconst name = 'core/code';\nconst title = __( 'Inline code' );\n\nexport const code = {\n\tname,\n\ttitle,\n\ttagName: 'code',\n\tclassName: null,\n\t__unstableInputRule( value ) {\n\t\tconst BACKTICK = '`';\n\t\tconst { start, text } = value;\n\t\tconst characterBefore = text.slice( start - 1, start );\n\n\t\t// Quick check the text for the necessary character.\n\t\tif ( characterBefore !== BACKTICK ) {\n\t\t\treturn value;\n\t\t}\n\n\t\tconst textBefore = text.slice( 0, start - 1 );\n\t\tconst indexBefore = textBefore.lastIndexOf( BACKTICK );\n\n\t\tif ( indexBefore === -1 ) {\n\t\t\treturn value;\n\t\t}\n\n\t\tconst startIndex = indexBefore;\n\t\tconst endIndex = start - 2;\n\n\t\tif ( startIndex === endIndex ) {\n\t\t\treturn value;\n\t\t}\n\n\t\tvalue = remove( value, startIndex, startIndex + 1 );\n\t\tvalue = remove( value, endIndex, endIndex + 1 );\n\t\tvalue = applyFormat( value, { type: name }, startIndex, endIndex );\n\n\t\treturn value;\n\t},\n\tedit( { value, onChange, onFocus, isActive } ) {\n\t\tfunction onClick() {\n\t\t\tonChange( toggleFormat( value, { type: name, title } ) );\n\t\t\tonFocus();\n\t\t}\n\n\t\treturn (\n\t\t\t<RichTextToolbarButton\n\t\t\t\ticon={ codeIcon }\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tisActive={ isActive }\n\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t/>\n\t\t);\n\t},\n};\n"]}
|
package/build/image/index.js
CHANGED
|
@@ -40,12 +40,13 @@ const image = {
|
|
|
40
40
|
};
|
|
41
41
|
exports.image = image;
|
|
42
42
|
|
|
43
|
-
function InlineUI({
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
function InlineUI(_ref) {
|
|
44
|
+
let {
|
|
45
|
+
value,
|
|
46
|
+
onChange,
|
|
47
|
+
activeObjectAttributes,
|
|
48
|
+
contentRef
|
|
49
|
+
} = _ref;
|
|
49
50
|
const {
|
|
50
51
|
style
|
|
51
52
|
} = activeObjectAttributes;
|
|
@@ -89,14 +90,15 @@ function InlineUI({
|
|
|
89
90
|
})));
|
|
90
91
|
}
|
|
91
92
|
|
|
92
|
-
function Edit({
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
93
|
+
function Edit(_ref2) {
|
|
94
|
+
let {
|
|
95
|
+
value,
|
|
96
|
+
onChange,
|
|
97
|
+
onFocus,
|
|
98
|
+
isObjectActive,
|
|
99
|
+
activeObjectAttributes,
|
|
100
|
+
contentRef
|
|
101
|
+
} = _ref2;
|
|
100
102
|
const [isModalOpen, setIsModalOpen] = (0, _element.useState)(false);
|
|
101
103
|
|
|
102
104
|
function openModal() {
|
|
@@ -119,12 +121,13 @@ function Edit({
|
|
|
119
121
|
isActive: isObjectActive
|
|
120
122
|
}), isModalOpen && (0, _element.createElement)(_blockEditor.MediaUpload, {
|
|
121
123
|
allowedTypes: ALLOWED_MEDIA_TYPES,
|
|
122
|
-
onSelect:
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
124
|
+
onSelect: _ref3 => {
|
|
125
|
+
let {
|
|
126
|
+
id,
|
|
127
|
+
url,
|
|
128
|
+
alt,
|
|
129
|
+
width: imgWidth
|
|
130
|
+
} = _ref3;
|
|
128
131
|
closeModal();
|
|
129
132
|
onChange((0, _richText.insertObject)(value, {
|
|
130
133
|
type: name,
|
|
@@ -138,9 +141,10 @@ function Edit({
|
|
|
138
141
|
onFocus();
|
|
139
142
|
},
|
|
140
143
|
onClose: closeModal,
|
|
141
|
-
render:
|
|
142
|
-
|
|
143
|
-
|
|
144
|
+
render: _ref4 => {
|
|
145
|
+
let {
|
|
146
|
+
open
|
|
147
|
+
} = _ref4;
|
|
144
148
|
open();
|
|
145
149
|
return null;
|
|
146
150
|
}
|
package/build/image/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/format-library/src/image/index.js"],"names":["ALLOWED_MEDIA_TYPES","name","title","image","keywords","object","tagName","className","attributes","style","url","alt","edit","Edit","InlineUI","value","onChange","activeObjectAttributes","contentRef","width","setWidth","replace","anchorRef","ref","settings","event","newReplacements","replacements","slice","start","type","preventDefault","newWidth","keyboardReturn","onFocus","isObjectActive","isModalOpen","setIsModalOpen","openModal","closeModal","id","imgWidth","Math","min","open"],"mappings":";;;;;;;AAKA;;AAFA;;AACA;;AAEA;;AACA;;AAKA;;AAZA;AACA;AACA;AAYA,MAAMA,mBAAmB,GAAG,CAAE,OAAF,CAA5B;AAEA,MAAMC,IAAI,GAAG,YAAb;AACA,MAAMC,KAAK,GAAG,cAAI,cAAJ,CAAd;AAEO,MAAMC,KAAK,GAAG;AACpBF,EAAAA,IADoB;AAEpBC,EAAAA,KAFoB;AAGpBE,EAAAA,QAAQ,EAAE,CAAE,cAAI,OAAJ,CAAF,EAAiB,cAAI,OAAJ,CAAjB,CAHU;AAIpBC,EAAAA,MAAM,EAAE,IAJY;AAKpBC,EAAAA,OAAO,EAAE,KALW;AAMpBC,EAAAA,SAAS,EAAE,IANS;AAOpBC,EAAAA,UAAU,EAAE;AACXD,IAAAA,SAAS,EAAE,OADA;AAEXE,IAAAA,KAAK,EAAE,OAFI;AAGXC,IAAAA,GAAG,EAAE,KAHM;AAIXC,IAAAA,GAAG,EAAE;AAJM,GAPQ;AAapBC,EAAAA,IAAI,EAAEC;AAbc,CAAd;;;AAgBP,SAASC,QAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/format-library/src/image/index.js"],"names":["ALLOWED_MEDIA_TYPES","name","title","image","keywords","object","tagName","className","attributes","style","url","alt","edit","Edit","InlineUI","value","onChange","activeObjectAttributes","contentRef","width","setWidth","replace","anchorRef","ref","settings","event","newReplacements","replacements","slice","start","type","preventDefault","newWidth","keyboardReturn","onFocus","isObjectActive","isModalOpen","setIsModalOpen","openModal","closeModal","id","imgWidth","Math","min","open"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Path, SVG, TextControl, Popover, Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { insertObject, useAnchorRef } from '@wordpress/rich-text';\nimport {\n\tMediaUpload,\n\tRichTextToolbarButton,\n\tMediaUploadCheck,\n} from '@wordpress/block-editor';\nimport { keyboardReturn } from '@wordpress/icons';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst name = 'core/image';\nconst title = __( 'Inline image' );\n\nexport const image = {\n\tname,\n\ttitle,\n\tkeywords: [ __( 'photo' ), __( 'media' ) ],\n\tobject: true,\n\ttagName: 'img',\n\tclassName: null,\n\tattributes: {\n\t\tclassName: 'class',\n\t\tstyle: 'style',\n\t\turl: 'src',\n\t\talt: 'alt',\n\t},\n\tedit: Edit,\n};\n\nfunction InlineUI( { value, onChange, activeObjectAttributes, contentRef } ) {\n\tconst { style } = activeObjectAttributes;\n\tconst [ width, setWidth ] = useState( style?.replace( /\\D/g, '' ) );\n\tconst anchorRef = useAnchorRef( {\n\t\tref: contentRef,\n\t\tvalue,\n\t\tsettings: image,\n\t} );\n\n\treturn (\n\t\t<Popover\n\t\t\tposition=\"bottom center\"\n\t\t\tfocusOnMount={ false }\n\t\t\tanchorRef={ anchorRef }\n\t\t\tclassName=\"block-editor-format-toolbar__image-popover\"\n\t\t>\n\t\t\t<form\n\t\t\t\tclassName=\"block-editor-format-toolbar__image-container-content\"\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tconst newReplacements = value.replacements.slice();\n\n\t\t\t\t\tnewReplacements[ value.start ] = {\n\t\t\t\t\t\ttype: name,\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t...activeObjectAttributes,\n\t\t\t\t\t\t\tstyle: width ? `width: ${ width }px;` : '',\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\t...value,\n\t\t\t\t\t\treplacements: newReplacements,\n\t\t\t\t\t} );\n\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tclassName=\"block-editor-format-toolbar__image-container-value\"\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tvalue={ width }\n\t\t\t\t\tmin={ 1 }\n\t\t\t\t\tonChange={ ( newWidth ) => setWidth( newWidth ) }\n\t\t\t\t/>\n\t\t\t\t<Button\n\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\t\ttype=\"submit\"\n\t\t\t\t/>\n\t\t\t</form>\n\t\t</Popover>\n\t);\n}\n\nfunction Edit( {\n\tvalue,\n\tonChange,\n\tonFocus,\n\tisObjectActive,\n\tactiveObjectAttributes,\n\tcontentRef,\n} ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\tfunction openModal() {\n\t\tsetIsModalOpen( true );\n\t}\n\n\tfunction closeModal() {\n\t\tsetIsModalOpen( false );\n\t}\n\n\treturn (\n\t\t<MediaUploadCheck>\n\t\t\t<RichTextToolbarButton\n\t\t\t\ticon={\n\t\t\t\t\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t\t<Path d=\"M4 18.5h16V17H4v1.5zM16 13v1.5h4V13h-4zM5.1 15h7.8c.6 0 1.1-.5 1.1-1.1V6.1c0-.6-.5-1.1-1.1-1.1H5.1C4.5 5 4 5.5 4 6.1v7.8c0 .6.5 1.1 1.1 1.1zm.4-8.5h7V10l-1-1c-.3-.3-.8-.3-1 0l-1.6 1.5-1.2-.7c-.3-.2-.6-.2-.9 0l-1.3 1V6.5zm0 6.1l1.8-1.3 1.3.8c.3.2.7.2.9-.1l1.5-1.4 1.5 1.4v1.5h-7v-.9z\" />\n\t\t\t\t\t</SVG>\n\t\t\t\t}\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ openModal }\n\t\t\t\tisActive={ isObjectActive }\n\t\t\t/>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<MediaUpload\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonSelect={ ( { id, url, alt, width: imgWidth } ) => {\n\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\tinsertObject( value, {\n\t\t\t\t\t\t\t\ttype: name,\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\tclassName: `wp-image-${ id }`,\n\t\t\t\t\t\t\t\t\tstyle: `width: ${ Math.min(\n\t\t\t\t\t\t\t\t\t\timgWidth,\n\t\t\t\t\t\t\t\t\t\t150\n\t\t\t\t\t\t\t\t\t) }px;`,\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t\tonFocus();\n\t\t\t\t\t} }\n\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\trender={ ( { open } ) => {\n\t\t\t\t\t\topen();\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isObjectActive && (\n\t\t\t\t<InlineUI\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tactiveObjectAttributes={ activeObjectAttributes }\n\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</MediaUploadCheck>\n\t);\n}\n"]}
|
package/build/index.js
CHANGED
|
@@ -13,8 +13,11 @@ var _defaultFormats = _interopRequireDefault(require("./default-formats"));
|
|
|
13
13
|
/**
|
|
14
14
|
* Internal dependencies
|
|
15
15
|
*/
|
|
16
|
-
_defaultFormats.default.forEach(
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
_defaultFormats.default.forEach(_ref => {
|
|
17
|
+
let {
|
|
18
|
+
name,
|
|
19
|
+
...settings
|
|
20
|
+
} = _ref;
|
|
21
|
+
return (0, _richText.registerFormatType)(name, settings);
|
|
22
|
+
});
|
|
20
23
|
//# sourceMappingURL=index.js.map
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/format-library/src/index.js"],"names":["formats","forEach","name","settings"],"mappings":";;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGAA,wBAAQC,OAAR,CAAiB,
|
|
1
|
+
{"version":3,"sources":["@wordpress/format-library/src/index.js"],"names":["formats","forEach","name","settings"],"mappings":";;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGAA,wBAAQC,OAAR,CAAiB;AAAA,MAAE;AAAEC,IAAAA,IAAF;AAAQ,OAAGC;AAAX,GAAF;AAAA,SAChB,kCAAoBD,IAApB,EAA0BC,QAA1B,CADgB;AAAA,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { registerFormatType } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport formats from './default-formats';\n\nformats.forEach( ( { name, ...settings } ) =>\n\tregisterFormatType( name, settings )\n);\n"]}
|
package/build/italic/index.js
CHANGED
|
@@ -26,20 +26,25 @@ const italic = {
|
|
|
26
26
|
tagName: 'em',
|
|
27
27
|
className: null,
|
|
28
28
|
|
|
29
|
-
edit({
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
edit(_ref) {
|
|
30
|
+
let {
|
|
31
|
+
isActive,
|
|
32
|
+
value,
|
|
33
|
+
onChange,
|
|
34
|
+
onFocus
|
|
35
|
+
} = _ref;
|
|
36
|
+
|
|
35
37
|
function onToggle() {
|
|
36
38
|
onChange((0, _richText.toggleFormat)(value, {
|
|
37
|
-
type: name
|
|
39
|
+
type: name,
|
|
40
|
+
title
|
|
38
41
|
}));
|
|
39
42
|
}
|
|
40
43
|
|
|
41
44
|
function onClick() {
|
|
42
|
-
|
|
45
|
+
onChange((0, _richText.toggleFormat)(value, {
|
|
46
|
+
type: name
|
|
47
|
+
}));
|
|
43
48
|
onFocus();
|
|
44
49
|
}
|
|
45
50
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/format-library/src/italic/index.js"],"names":["name","title","italic","tagName","className","edit","isActive","value","onChange","onFocus","onToggle","type","onClick","formatItalic"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;AAUA,MAAMA,IAAI,GAAG,aAAb;AACA,MAAMC,KAAK,GAAG,cAAI,QAAJ,CAAd;AAEO,MAAMC,MAAM,GAAG;AACrBF,EAAAA,IADqB;AAErBC,EAAAA,KAFqB;AAGrBE,EAAAA,OAAO,EAAE,IAHY;AAIrBC,EAAAA,SAAS,EAAE,IAJU;;AAKrBC,EAAAA,IAAI,
|
|
1
|
+
{"version":3,"sources":["@wordpress/format-library/src/italic/index.js"],"names":["name","title","italic","tagName","className","edit","isActive","value","onChange","onFocus","onToggle","type","onClick","formatItalic"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;AAUA,MAAMA,IAAI,GAAG,aAAb;AACA,MAAMC,KAAK,GAAG,cAAI,QAAJ,CAAd;AAEO,MAAMC,MAAM,GAAG;AACrBF,EAAAA,IADqB;AAErBC,EAAAA,KAFqB;AAGrBE,EAAAA,OAAO,EAAE,IAHY;AAIrBC,EAAAA,SAAS,EAAE,IAJU;;AAKrBC,EAAAA,IAAI,OAA2C;AAAA,QAAzC;AAAEC,MAAAA,QAAF;AAAYC,MAAAA,KAAZ;AAAmBC,MAAAA,QAAnB;AAA6BC,MAAAA;AAA7B,KAAyC;;AAC9C,aAASC,QAAT,GAAoB;AACnBF,MAAAA,QAAQ,CAAE,4BAAcD,KAAd,EAAqB;AAAEI,QAAAA,IAAI,EAAEX,IAAR;AAAcC,QAAAA;AAAd,OAArB,CAAF,CAAR;AACA;;AAED,aAASW,OAAT,GAAmB;AAClBJ,MAAAA,QAAQ,CAAE,4BAAcD,KAAd,EAAqB;AAAEI,QAAAA,IAAI,EAAEX;AAAR,OAArB,CAAF,CAAR;AACAS,MAAAA,OAAO;AACP;;AAED,WACC,qDACC,4BAAC,6BAAD;AACC,MAAA,IAAI,EAAC,SADN;AAEC,MAAA,SAAS,EAAC,GAFX;AAGC,MAAA,KAAK,EAAGC;AAHT,MADD,EAMC,4BAAC,kCAAD;AACC,MAAA,IAAI,EAAC,QADN;AAEC,MAAA,IAAI,EAAGG,mBAFR;AAGC,MAAA,KAAK,EAAGZ,KAHT;AAIC,MAAA,OAAO,EAAGW,OAJX;AAKC,MAAA,QAAQ,EAAGN,QALZ;AAMC,MAAA,YAAY,EAAC,SANd;AAOC,MAAA,iBAAiB,EAAC;AAPnB,MAND,EAeC,4BAAC,yCAAD;AACC,MAAA,SAAS,EAAC,cADX;AAEC,MAAA,OAAO,EAAGI;AAFX,MAfD,CADD;AAsBA;;AArCoB,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { toggleFormat } from '@wordpress/rich-text';\nimport {\n\tRichTextToolbarButton,\n\tRichTextShortcut,\n\t__unstableRichTextInputEvent,\n} from '@wordpress/block-editor';\nimport { formatItalic } from '@wordpress/icons';\n\nconst name = 'core/italic';\nconst title = __( 'Italic' );\n\nexport const italic = {\n\tname,\n\ttitle,\n\ttagName: 'em',\n\tclassName: null,\n\tedit( { isActive, value, onChange, onFocus } ) {\n\t\tfunction onToggle() {\n\t\t\tonChange( toggleFormat( value, { type: name, title } ) );\n\t\t}\n\n\t\tfunction onClick() {\n\t\t\tonChange( toggleFormat( value, { type: name } ) );\n\t\t\tonFocus();\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<RichTextShortcut\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\tcharacter=\"i\"\n\t\t\t\t\tonUse={ onToggle }\n\t\t\t\t/>\n\t\t\t\t<RichTextToolbarButton\n\t\t\t\t\tname=\"italic\"\n\t\t\t\t\ticon={ formatItalic }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\tshortcutType=\"primary\"\n\t\t\t\t\tshortcutCharacter=\"i\"\n\t\t\t\t/>\n\t\t\t\t<__unstableRichTextInputEvent\n\t\t\t\t\tinputType=\"formatItalic\"\n\t\t\t\t\tonInput={ onToggle }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t},\n};\n"]}
|
package/build/keyboard/index.js
CHANGED
|
@@ -26,15 +26,18 @@ const keyboard = {
|
|
|
26
26
|
tagName: 'kbd',
|
|
27
27
|
className: null,
|
|
28
28
|
|
|
29
|
-
edit({
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
edit(_ref) {
|
|
30
|
+
let {
|
|
31
|
+
isActive,
|
|
32
|
+
value,
|
|
33
|
+
onChange,
|
|
34
|
+
onFocus
|
|
35
|
+
} = _ref;
|
|
36
|
+
|
|
35
37
|
function onToggle() {
|
|
36
38
|
onChange((0, _richText.toggleFormat)(value, {
|
|
37
|
-
type: name
|
|
39
|
+
type: name,
|
|
40
|
+
title
|
|
38
41
|
}));
|
|
39
42
|
}
|
|
40
43
|
|
|
@@ -47,7 +50,8 @@ const keyboard = {
|
|
|
47
50
|
icon: _icons.button,
|
|
48
51
|
title: title,
|
|
49
52
|
onClick: onClick,
|
|
50
|
-
isActive: isActive
|
|
53
|
+
isActive: isActive,
|
|
54
|
+
role: "menuitemcheckbox"
|
|
51
55
|
});
|
|
52
56
|
}
|
|
53
57
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/format-library/src/keyboard/index.js"],"names":["name","title","keyboard","tagName","className","edit","isActive","value","onChange","onFocus","onToggle","type","onClick","button"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AANA;AACA;AACA;AAMA,MAAMA,IAAI,GAAG,eAAb;AACA,MAAMC,KAAK,GAAG,cAAI,gBAAJ,CAAd;AAEO,MAAMC,QAAQ,GAAG;AACvBF,EAAAA,IADuB;AAEvBC,EAAAA,KAFuB;AAGvBE,EAAAA,OAAO,EAAE,KAHc;AAIvBC,EAAAA,SAAS,EAAE,IAJY;;AAKvBC,EAAAA,IAAI,
|
|
1
|
+
{"version":3,"sources":["@wordpress/format-library/src/keyboard/index.js"],"names":["name","title","keyboard","tagName","className","edit","isActive","value","onChange","onFocus","onToggle","type","onClick","button"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AANA;AACA;AACA;AAMA,MAAMA,IAAI,GAAG,eAAb;AACA,MAAMC,KAAK,GAAG,cAAI,gBAAJ,CAAd;AAEO,MAAMC,QAAQ,GAAG;AACvBF,EAAAA,IADuB;AAEvBC,EAAAA,KAFuB;AAGvBE,EAAAA,OAAO,EAAE,KAHc;AAIvBC,EAAAA,SAAS,EAAE,IAJY;;AAKvBC,EAAAA,IAAI,OAA2C;AAAA,QAAzC;AAAEC,MAAAA,QAAF;AAAYC,MAAAA,KAAZ;AAAmBC,MAAAA,QAAnB;AAA6BC,MAAAA;AAA7B,KAAyC;;AAC9C,aAASC,QAAT,GAAoB;AACnBF,MAAAA,QAAQ,CAAE,4BAAcD,KAAd,EAAqB;AAAEI,QAAAA,IAAI,EAAEX,IAAR;AAAcC,QAAAA;AAAd,OAArB,CAAF,CAAR;AACA;;AAED,aAASW,OAAT,GAAmB;AAClBF,MAAAA,QAAQ;AACRD,MAAAA,OAAO;AACP;;AAED,WACC,4BAAC,kCAAD;AACC,MAAA,IAAI,EAAGI,aADR;AAEC,MAAA,KAAK,EAAGZ,KAFT;AAGC,MAAA,OAAO,EAAGW,OAHX;AAIC,MAAA,QAAQ,EAAGN,QAJZ;AAKC,MAAA,IAAI,EAAC;AALN,MADD;AASA;;AAxBsB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { toggleFormat } from '@wordpress/rich-text';\nimport { RichTextToolbarButton } from '@wordpress/block-editor';\nimport { button } from '@wordpress/icons';\n\nconst name = 'core/keyboard';\nconst title = __( 'Keyboard input' );\n\nexport const keyboard = {\n\tname,\n\ttitle,\n\ttagName: 'kbd',\n\tclassName: null,\n\tedit( { isActive, value, onChange, onFocus } ) {\n\t\tfunction onToggle() {\n\t\t\tonChange( toggleFormat( value, { type: name, title } ) );\n\t\t}\n\n\t\tfunction onClick() {\n\t\t\tonToggle();\n\t\t\tonFocus();\n\t\t}\n\n\t\treturn (\n\t\t\t<RichTextToolbarButton\n\t\t\t\ticon={ button }\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tisActive={ isActive }\n\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t/>\n\t\t);\n\t},\n};\n"]}
|
package/build/link/index.js
CHANGED
|
@@ -37,14 +37,15 @@ var _utils = require("./utils");
|
|
|
37
37
|
const name = 'core/link';
|
|
38
38
|
const title = (0, _i18n.__)('Link');
|
|
39
39
|
|
|
40
|
-
function Edit({
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
40
|
+
function Edit(_ref) {
|
|
41
|
+
let {
|
|
42
|
+
isActive,
|
|
43
|
+
activeAttributes,
|
|
44
|
+
value,
|
|
45
|
+
onChange,
|
|
46
|
+
onFocus,
|
|
47
|
+
contentRef
|
|
48
|
+
} = _ref;
|
|
48
49
|
const [addingLink, setAddingLink] = (0, _element.useState)(false);
|
|
49
50
|
|
|
50
51
|
function addLink() {
|
|
@@ -126,10 +127,12 @@ const link = {
|
|
|
126
127
|
target: 'target'
|
|
127
128
|
},
|
|
128
129
|
|
|
129
|
-
__unstablePasteRule(value, {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
130
|
+
__unstablePasteRule(value, _ref2) {
|
|
131
|
+
let {
|
|
132
|
+
html,
|
|
133
|
+
plainText
|
|
134
|
+
} = _ref2;
|
|
135
|
+
|
|
133
136
|
if ((0, _richText.isCollapsed)(value)) {
|
|
134
137
|
return value;
|
|
135
138
|
}
|
package/build/link/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/format-library/src/link/index.js"],"names":["name","title","Edit","isActive","activeAttributes","value","onChange","onFocus","contentRef","addingLink","setAddingLink","addLink","text","type","attributes","url","stopAddingLink","onRemoveFormat","linkOff","linkIcon","link","tagName","className","id","target","__unstablePasteRule","html","plainText","pastedText","replace","trim","window","console","log","edit"],"mappings":";;;;;;;;;AAIA;;AADA;;AAEA;;AAOA;;AACA;;AAIA;;AACA;;AACA;;AAKA;;AACA;;AAzBA;AACA;AACA;;AAmBA;AACA;AACA;AAIA,MAAMA,IAAI,GAAG,WAAb;AACA,MAAMC,KAAK,GAAG,cAAI,MAAJ,CAAd;;AAEA,SAASC,IAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/format-library/src/link/index.js"],"names":["name","title","Edit","isActive","activeAttributes","value","onChange","onFocus","contentRef","addingLink","setAddingLink","addLink","text","type","attributes","url","stopAddingLink","onRemoveFormat","linkOff","linkIcon","link","tagName","className","id","target","__unstablePasteRule","html","plainText","pastedText","replace","trim","window","console","log","edit"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport {\n\tgetTextContent,\n\tapplyFormat,\n\tremoveFormat,\n\tslice,\n\tisCollapsed,\n} from '@wordpress/rich-text';\nimport { isURL, isEmail } from '@wordpress/url';\nimport {\n\tRichTextToolbarButton,\n\tRichTextShortcut,\n} from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { link as linkIcon, linkOff } from '@wordpress/icons';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport InlineLinkUI from './inline';\nimport { isValidHref } from './utils';\n\nconst name = 'core/link';\nconst title = __( 'Link' );\n\nfunction Edit( {\n\tisActive,\n\tactiveAttributes,\n\tvalue,\n\tonChange,\n\tonFocus,\n\tcontentRef,\n} ) {\n\tconst [ addingLink, setAddingLink ] = useState( false );\n\n\tfunction addLink() {\n\t\tconst text = getTextContent( slice( value ) );\n\n\t\tif ( text && isURL( text ) && isValidHref( text ) ) {\n\t\t\tonChange(\n\t\t\t\tapplyFormat( value, {\n\t\t\t\t\ttype: name,\n\t\t\t\t\tattributes: { url: text },\n\t\t\t\t} )\n\t\t\t);\n\t\t} else if ( text && isEmail( text ) ) {\n\t\t\tonChange(\n\t\t\t\tapplyFormat( value, {\n\t\t\t\t\ttype: name,\n\t\t\t\t\tattributes: { url: `mailto:${ text }` },\n\t\t\t\t} )\n\t\t\t);\n\t\t} else {\n\t\t\tsetAddingLink( true );\n\t\t}\n\t}\n\n\tfunction stopAddingLink() {\n\t\tsetAddingLink( false );\n\t\tonFocus();\n\t}\n\n\tfunction onRemoveFormat() {\n\t\tonChange( removeFormat( value, name ) );\n\t\tspeak( __( 'Link removed.' ), 'assertive' );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<RichTextShortcut type=\"primary\" character=\"k\" onUse={ addLink } />\n\t\t\t<RichTextShortcut\n\t\t\t\ttype=\"primaryShift\"\n\t\t\t\tcharacter=\"k\"\n\t\t\t\tonUse={ onRemoveFormat }\n\t\t\t/>\n\t\t\t{ isActive && (\n\t\t\t\t<RichTextToolbarButton\n\t\t\t\t\tname=\"link\"\n\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\tonClick={ onRemoveFormat }\n\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\tshortcutType=\"primaryShift\"\n\t\t\t\t\tshortcutCharacter=\"k\"\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! isActive && (\n\t\t\t\t<RichTextToolbarButton\n\t\t\t\t\tname=\"link\"\n\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tonClick={ addLink }\n\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\tshortcutType=\"primary\"\n\t\t\t\t\tshortcutCharacter=\"k\"\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ( addingLink || isActive ) && (\n\t\t\t\t<InlineLinkUI\n\t\t\t\t\taddingLink={ addingLink }\n\t\t\t\t\tstopAddingLink={ stopAddingLink }\n\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\tactiveAttributes={ activeAttributes }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport const link = {\n\tname,\n\ttitle,\n\ttagName: 'a',\n\tclassName: null,\n\tattributes: {\n\t\turl: 'href',\n\t\ttype: 'data-type',\n\t\tid: 'data-id',\n\t\ttarget: 'target',\n\t},\n\t__unstablePasteRule( value, { html, plainText } ) {\n\t\tif ( isCollapsed( value ) ) {\n\t\t\treturn value;\n\t\t}\n\n\t\tconst pastedText = ( html || plainText )\n\t\t\t.replace( /<[^>]+>/g, '' )\n\t\t\t.trim();\n\n\t\t// A URL was pasted, turn the selection into a link\n\t\tif ( ! isURL( pastedText ) ) {\n\t\t\treturn value;\n\t\t}\n\n\t\t// Allows us to ask for this information when we get a report.\n\t\twindow.console.log( 'Created link:\\n\\n', pastedText );\n\n\t\treturn applyFormat( value, {\n\t\t\ttype: name,\n\t\t\tattributes: {\n\t\t\t\turl: decodeEntities( pastedText ),\n\t\t\t},\n\t\t} );\n\t},\n\tedit: Edit,\n};\n"]}
|
package/build/link/inline.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
@@ -23,6 +25,8 @@ var _utils = require("./utils");
|
|
|
23
25
|
|
|
24
26
|
var _index = require("./index");
|
|
25
27
|
|
|
28
|
+
var _useLinkInstanceKey = _interopRequireDefault(require("./use-link-instance-key"));
|
|
29
|
+
|
|
26
30
|
/**
|
|
27
31
|
* WordPress dependencies
|
|
28
32
|
*/
|
|
@@ -30,16 +34,20 @@ var _index = require("./index");
|
|
|
30
34
|
/**
|
|
31
35
|
* Internal dependencies
|
|
32
36
|
*/
|
|
33
|
-
function InlineLinkUI({
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
37
|
+
function InlineLinkUI(_ref) {
|
|
38
|
+
let {
|
|
39
|
+
isActive,
|
|
40
|
+
activeAttributes,
|
|
41
|
+
addingLink,
|
|
42
|
+
value,
|
|
43
|
+
onChange,
|
|
44
|
+
speak,
|
|
45
|
+
stopAddingLink,
|
|
46
|
+
contentRef
|
|
47
|
+
} = _ref;
|
|
48
|
+
const richLinkTextValue = getRichTextValueFromSelection(value, isActive); // Get the text content minus any HTML tags.
|
|
49
|
+
|
|
50
|
+
const richTextText = richLinkTextValue.text;
|
|
43
51
|
/**
|
|
44
52
|
* Pending settings to be applied to the next link. When inserting a new
|
|
45
53
|
* link, toggle values cannot be applied immediately, because there is not
|
|
@@ -48,6 +56,7 @@ function InlineLinkUI({
|
|
|
48
56
|
*
|
|
49
57
|
* @type {[Object|undefined,Function]}
|
|
50
58
|
*/
|
|
59
|
+
|
|
51
60
|
const [nextLinkValue, setNextLinkValue] = (0, _element.useState)();
|
|
52
61
|
const {
|
|
53
62
|
createPageEntity,
|
|
@@ -69,6 +78,7 @@ function InlineLinkUI({
|
|
|
69
78
|
type: activeAttributes.type,
|
|
70
79
|
id: activeAttributes.id,
|
|
71
80
|
opensInNewTab: activeAttributes.target === '_blank',
|
|
81
|
+
title: richTextText,
|
|
72
82
|
...nextLinkValue
|
|
73
83
|
};
|
|
74
84
|
|
|
@@ -101,21 +111,45 @@ function InlineLinkUI({
|
|
|
101
111
|
}
|
|
102
112
|
|
|
103
113
|
const newUrl = (0, _url.prependHTTP)(nextValue.url);
|
|
104
|
-
const
|
|
114
|
+
const linkFormat = (0, _utils.createLinkFormat)({
|
|
105
115
|
url: newUrl,
|
|
106
116
|
type: nextValue.type,
|
|
107
117
|
id: nextValue.id !== undefined && nextValue.id !== null ? String(nextValue.id) : undefined,
|
|
108
118
|
opensInNewWindow: nextValue.opensInNewTab
|
|
109
119
|
});
|
|
120
|
+
const newText = nextValue.title || newUrl;
|
|
110
121
|
|
|
111
122
|
if ((0, _richText.isCollapsed)(value) && !isActive) {
|
|
112
|
-
|
|
123
|
+
// Scenario: we don't have any actively selected text or formats.
|
|
113
124
|
const toInsert = (0, _richText.applyFormat)((0, _richText.create)({
|
|
114
125
|
text: newText
|
|
115
|
-
}),
|
|
126
|
+
}), linkFormat, 0, newText.length);
|
|
116
127
|
onChange((0, _richText.insert)(value, toInsert));
|
|
117
128
|
} else {
|
|
118
|
-
|
|
129
|
+
// Scenario: we have any active text selection or an active format
|
|
130
|
+
let newValue;
|
|
131
|
+
|
|
132
|
+
if (newText === richTextText) {
|
|
133
|
+
// If we're not updating the text then ignore
|
|
134
|
+
newValue = (0, _richText.applyFormat)(value, linkFormat);
|
|
135
|
+
} else {
|
|
136
|
+
// Create new RichText value for the new text in order that we
|
|
137
|
+
// can apply formats to it.
|
|
138
|
+
newValue = (0, _richText.create)({
|
|
139
|
+
text: newText
|
|
140
|
+
}); // Apply the new Link format to this new text value.
|
|
141
|
+
|
|
142
|
+
newValue = (0, _richText.applyFormat)(newValue, linkFormat, 0, newText.length); // Update the original (full) RichTextValue replacing the
|
|
143
|
+
// target text with the *new* RichTextValue containing:
|
|
144
|
+
// 1. The new text content.
|
|
145
|
+
// 2. The new link format.
|
|
146
|
+
// Note original formats will be lost when applying this change.
|
|
147
|
+
// That is expected behaviour.
|
|
148
|
+
// See: https://github.com/WordPress/gutenberg/pull/33849#issuecomment-936134179.
|
|
149
|
+
|
|
150
|
+
newValue = (0, _richText.replace)(value, richTextText, newValue);
|
|
151
|
+
}
|
|
152
|
+
|
|
119
153
|
newValue.start = newValue.end;
|
|
120
154
|
newValue.activeFormats = [];
|
|
121
155
|
onChange(newValue);
|
|
@@ -140,7 +174,12 @@ function InlineLinkUI({
|
|
|
140
174
|
ref: contentRef,
|
|
141
175
|
value,
|
|
142
176
|
settings: _index.link
|
|
143
|
-
}); //
|
|
177
|
+
}); // Generate a string based key that is unique to this anchor reference.
|
|
178
|
+
// This is used to force re-mount the LinkControl component to avoid
|
|
179
|
+
// potential stale state bugs caused by the component not being remounted
|
|
180
|
+
// See https://github.com/WordPress/gutenberg/pull/34742.
|
|
181
|
+
|
|
182
|
+
const forceRemountKey = (0, _useLinkInstanceKey.default)(anchorRef); // The focusOnMount prop shouldn't evolve during render of a Popover
|
|
144
183
|
// otherwise it causes a render of the content.
|
|
145
184
|
|
|
146
185
|
const focusOnMount = (0, _element.useRef)(addingLink ? 'firstElement' : false);
|
|
@@ -173,6 +212,7 @@ function InlineLinkUI({
|
|
|
173
212
|
onClose: stopAddingLink,
|
|
174
213
|
position: "bottom center"
|
|
175
214
|
}, (0, _element.createElement)(_blockEditor.__experimentalLinkControl, {
|
|
215
|
+
key: forceRemountKey,
|
|
176
216
|
value: linkValue,
|
|
177
217
|
onChange: onChangeLink,
|
|
178
218
|
onRemove: removeLink,
|
|
@@ -180,10 +220,32 @@ function InlineLinkUI({
|
|
|
180
220
|
hasRichPreviews: true,
|
|
181
221
|
createSuggestion: createPageEntity && handleCreate,
|
|
182
222
|
withCreateSuggestion: userCanCreatePages,
|
|
183
|
-
createSuggestionButtonText: createButtonText
|
|
223
|
+
createSuggestionButtonText: createButtonText,
|
|
224
|
+
hasTextControl: true
|
|
184
225
|
}));
|
|
185
226
|
}
|
|
186
227
|
|
|
228
|
+
function getRichTextValueFromSelection(value, isActive) {
|
|
229
|
+
// Default to the selection ranges on the RichTextValue object.
|
|
230
|
+
let textStart = value.start;
|
|
231
|
+
let textEnd = value.end; // If the format is currently active then the rich text value
|
|
232
|
+
// should always be taken from the bounds of the active format
|
|
233
|
+
// and not the selected text.
|
|
234
|
+
|
|
235
|
+
if (isActive) {
|
|
236
|
+
const boundary = (0, _utils.getFormatBoundary)(value, {
|
|
237
|
+
type: 'core/link'
|
|
238
|
+
});
|
|
239
|
+
textStart = boundary.start; // Text *selection* always extends +1 beyond the edge of the format.
|
|
240
|
+
// We account for that here.
|
|
241
|
+
|
|
242
|
+
textEnd = boundary.end + 1;
|
|
243
|
+
} // Get a RichTextValue containing the selected text content.
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
return (0, _richText.slice)(value, textStart, textEnd);
|
|
247
|
+
}
|
|
248
|
+
|
|
187
249
|
var _default = (0, _components.withSpokenMessages)(InlineLinkUI);
|
|
188
250
|
|
|
189
251
|
exports.default = _default;
|