@wordpress/format-library 4.10.0 → 4.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/bold/index.js +6 -8
- package/build/bold/index.js.map +1 -1
- package/build/code/index.js +6 -8
- package/build/code/index.js.map +1 -1
- package/build/default-formats.js +3 -1
- package/build/default-formats.js.map +1 -1
- package/build/image/index.js +24 -28
- package/build/image/index.js.map +1 -1
- package/build/index.js +4 -7
- package/build/index.js.map +1 -1
- package/build/italic/index.js +6 -8
- package/build/italic/index.js.map +1 -1
- package/build/keyboard/index.js +6 -8
- package/build/keyboard/index.js.map +1 -1
- package/build/language/index.js +114 -0
- package/build/language/index.js.map +1 -0
- package/build/link/index.js +12 -15
- package/build/link/index.js.map +1 -1
- package/build/link/index.native.js +4 -7
- package/build/link/index.native.js.map +1 -1
- package/build/link/inline.js +10 -11
- package/build/link/inline.js.map +1 -1
- package/build/link/modal-screens/link-picker-screen.native.js +4 -6
- package/build/link/modal-screens/link-picker-screen.native.js.map +1 -1
- package/build/link/modal-screens/link-settings-screen.native.js +25 -33
- package/build/link/modal-screens/link-settings-screen.native.js.map +1 -1
- package/build/link/modal.native.js +6 -6
- package/build/link/modal.native.js.map +1 -1
- package/build/link/utils.js +18 -44
- package/build/link/utils.js.map +1 -1
- package/build/strikethrough/index.js +6 -8
- package/build/strikethrough/index.js.map +1 -1
- package/build/subscript/index.js +6 -8
- package/build/subscript/index.js.map +1 -1
- package/build/superscript/index.js +6 -8
- package/build/superscript/index.js.map +1 -1
- package/build/text-color/index.js +11 -14
- package/build/text-color/index.js.map +1 -1
- package/build/text-color/index.native.js +16 -23
- package/build/text-color/index.native.js.map +1 -1
- package/build/text-color/inline.js +15 -21
- package/build/text-color/inline.js.map +1 -1
- package/build/text-color/inline.native.js +16 -24
- package/build/text-color/inline.native.js.map +1 -1
- package/build/underline/index.js +4 -6
- package/build/underline/index.js.map +1 -1
- package/build/unknown/index.js +6 -8
- package/build/unknown/index.js.map +1 -1
- package/build-module/bold/index.js +6 -8
- package/build-module/bold/index.js.map +1 -1
- package/build-module/code/index.js +6 -8
- package/build-module/code/index.js.map +1 -1
- package/build-module/default-formats.js +2 -1
- package/build-module/default-formats.js.map +1 -1
- package/build-module/image/index.js +24 -28
- package/build-module/image/index.js.map +1 -1
- package/build-module/index.js +4 -7
- package/build-module/index.js.map +1 -1
- package/build-module/italic/index.js +6 -8
- package/build-module/italic/index.js.map +1 -1
- package/build-module/keyboard/index.js +6 -8
- package/build-module/keyboard/index.js.map +1 -1
- package/build-module/language/index.js +104 -0
- package/build-module/language/index.js.map +1 -0
- package/build-module/link/index.js +12 -15
- package/build-module/link/index.js.map +1 -1
- package/build-module/link/index.native.js +4 -7
- package/build-module/link/index.native.js.map +1 -1
- package/build-module/link/inline.js +10 -11
- package/build-module/link/inline.js.map +1 -1
- package/build-module/link/modal-screens/link-picker-screen.native.js +4 -5
- 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 +25 -33
- package/build-module/link/modal-screens/link-settings-screen.native.js.map +1 -1
- package/build-module/link/modal.native.js +6 -6
- package/build-module/link/modal.native.js.map +1 -1
- package/build-module/link/utils.js +18 -44
- package/build-module/link/utils.js.map +1 -1
- package/build-module/strikethrough/index.js +6 -8
- package/build-module/strikethrough/index.js.map +1 -1
- package/build-module/subscript/index.js +6 -8
- package/build-module/subscript/index.js.map +1 -1
- package/build-module/superscript/index.js +6 -8
- package/build-module/superscript/index.js.map +1 -1
- package/build-module/text-color/index.js +11 -14
- package/build-module/text-color/index.js.map +1 -1
- package/build-module/text-color/index.native.js +16 -23
- package/build-module/text-color/index.native.js.map +1 -1
- package/build-module/text-color/inline.js +15 -21
- package/build-module/text-color/inline.js.map +1 -1
- package/build-module/text-color/inline.native.js +16 -24
- package/build-module/text-color/inline.native.js.map +1 -1
- package/build-module/underline/index.js +4 -6
- package/build-module/underline/index.js.map +1 -1
- package/build-module/unknown/index.js +6 -8
- package/build-module/unknown/index.js.map +1 -1
- package/build-style/style-rtl.css +6 -1
- package/build-style/style.css +6 -1
- package/package.json +13 -13
- package/src/default-formats.js +2 -0
- package/src/language/index.js +124 -0
- package/src/language/style.scss +6 -0
- package/src/link/index.native.js +1 -0
- package/src/link/modal.native.js +1 -0
- package/src/style.scss +1 -0
|
@@ -17,14 +17,12 @@ export const bold = {
|
|
|
17
17
|
tagName: 'strong',
|
|
18
18
|
className: null,
|
|
19
19
|
|
|
20
|
-
edit(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
} = _ref;
|
|
27
|
-
|
|
20
|
+
edit({
|
|
21
|
+
isActive,
|
|
22
|
+
value,
|
|
23
|
+
onChange,
|
|
24
|
+
onFocus
|
|
25
|
+
}) {
|
|
28
26
|
function onToggle() {
|
|
29
27
|
onChange(toggleFormat(value, {
|
|
30
28
|
type: name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/format-library/src/bold/index.js"],"names":["__","toggleFormat","RichTextToolbarButton","RichTextShortcut","__unstableRichTextInputEvent","formatBold","name","title","bold","tagName","className","edit","isActive","value","onChange","onFocus","onToggle","type","onClick"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,YAAT,QAA6B,sBAA7B;AACA,SACCC,qBADD,EAECC,gBAFD,EAGCC,4BAHD,QAIO,yBAJP;AAKA,SAASC,UAAT,QAA2B,kBAA3B;AAEA,MAAMC,IAAI,GAAG,WAAb;;AACA,MAAMC,KAAK,GAAGP,EAAE,CAAE,MAAF,CAAhB;;AAEA,OAAO,MAAMQ,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":["__","toggleFormat","RichTextToolbarButton","RichTextShortcut","__unstableRichTextInputEvent","formatBold","name","title","bold","tagName","className","edit","isActive","value","onChange","onFocus","onToggle","type","onClick"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,YAAT,QAA6B,sBAA7B;AACA,SACCC,qBADD,EAECC,gBAFD,EAGCC,4BAHD,QAIO,yBAJP;AAKA,SAASC,UAAT,QAA2B,kBAA3B;AAEA,MAAMC,IAAI,GAAG,WAAb;;AACA,MAAMC,KAAK,GAAGP,EAAE,CAAE,MAAF,CAAhB;;AAEA,OAAO,MAAMQ,IAAI,GAAG;AACnBF,EAAAA,IADmB;AAEnBC,EAAAA,KAFmB;AAGnBE,EAAAA,OAAO,EAAE,QAHU;AAInBC,EAAAA,SAAS,EAAE,IAJQ;;AAKnBC,EAAAA,IAAI,CAAE;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,KAAZ;AAAmBC,IAAAA,QAAnB;AAA6BC,IAAAA;AAA7B,GAAF,EAA2C;AAC9C,aAASC,QAAT,GAAoB;AACnBF,MAAAA,QAAQ,CAAEb,YAAY,CAAEY,KAAF,EAAS;AAAEI,QAAAA,IAAI,EAAEX,IAAR;AAAcC,QAAAA;AAAd,OAAT,CAAd,CAAR;AACA;;AAED,aAASW,OAAT,GAAmB;AAClBJ,MAAAA,QAAQ,CAAEb,YAAY,CAAEY,KAAF,EAAS;AAAEI,QAAAA,IAAI,EAAEX;AAAR,OAAT,CAAd,CAAR;AACAS,MAAAA,OAAO;AACP;;AAED,WACC,8BACC,cAAC,gBAAD;AACC,MAAA,IAAI,EAAC,SADN;AAEC,MAAA,SAAS,EAAC,GAFX;AAGC,MAAA,KAAK,EAAGC;AAHT,MADD,EAMC,cAAC,qBAAD;AACC,MAAA,IAAI,EAAC,MADN;AAEC,MAAA,IAAI,EAAGX,UAFR;AAGC,MAAA,KAAK,EAAGE,KAHT;AAIC,MAAA,OAAO,EAAGW,OAJX;AAKC,MAAA,QAAQ,EAAGN,QALZ;AAMC,MAAA,YAAY,EAAC,SANd;AAOC,MAAA,iBAAiB,EAAC;AAPnB,MAND,EAeC,cAAC,4BAAD;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"]}
|
|
@@ -54,14 +54,12 @@ export const code = {
|
|
|
54
54
|
return value;
|
|
55
55
|
},
|
|
56
56
|
|
|
57
|
-
edit(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
} = _ref;
|
|
64
|
-
|
|
57
|
+
edit({
|
|
58
|
+
value,
|
|
59
|
+
onChange,
|
|
60
|
+
onFocus,
|
|
61
|
+
isActive
|
|
62
|
+
}) {
|
|
65
63
|
function onClick() {
|
|
66
64
|
onChange(toggleFormat(value, {
|
|
67
65
|
type: name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/format-library/src/code/index.js"],"names":["__","toggleFormat","remove","applyFormat","RichTextToolbarButton","RichTextShortcut","code","codeIcon","name","title","tagName","className","__unstableInputRule","value","BACKTICK","start","text","characterBefore","indexBefore","lastIndexOf","startIndex","endIndex","type","edit","onChange","onFocus","isActive","onClick"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,YAAT,EAAuBC,MAAvB,EAA+BC,WAA/B,QAAkD,sBAAlD;AACA,SACCC,qBADD,EAECC,gBAFD,QAGO,yBAHP;AAIA,SAASC,IAAI,IAAIC,QAAjB,QAAiC,kBAAjC;AAEA,MAAMC,IAAI,GAAG,WAAb;;AACA,MAAMC,KAAK,GAAGT,EAAE,CAAE,aAAF,CAAhB;;AAEA,OAAO,MAAMM,IAAI,GAAG;AACnBE,EAAAA,IADmB;AAEnBC,EAAAA,KAFmB;AAGnBC,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,CAAED,KAAK,GAAG,CAAV,CAA5B,CAH4B,CAK5B;;AACA,QAAKE,eAAe,KAAKH,QAAzB,EAAoC;AACnC,aAAOD,KAAP;AACA;;AAED,QAAKE,KAAK,GAAG,CAAR,GAAY,CAAjB,EAAqB;AACpB,aAAOF,KAAP;AACA;;AAED,UAAMK,WAAW,GAAGF,IAAI,CAACG,WAAL,CAAkBL,QAAlB,EAA4BC,KAAK,GAAG,CAApC,CAApB;;AACA,QAAKG,WAAW,KAAK,CAAC,CAAtB,EAA0B;AACzB,aAAOL,KAAP;AACA;;AAED,UAAMO,UAAU,GAAGF,WAAnB;AACA,UAAMG,QAAQ,GAAGN,KAAK,GAAG,CAAzB;;AAEA,QAAKK,UAAU,KAAKC,QAApB,EAA+B;AAC9B,aAAOR,KAAP;AACA;;AAEDA,IAAAA,KAAK,GAAGX,MAAM,CAAEW,KAAF,EAASO,UAAT,EAAqBA,UAAU,GAAG,CAAlC,CAAd;AACAP,IAAAA,KAAK,GAAGX,MAAM,CAAEW,KAAF,EAASQ,QAAT,EAAmBA,QAAQ,GAAG,CAA9B,CAAd;AACAR,IAAAA,KAAK,GAAGV,WAAW,CAAEU,KAAF,EAAS;AAAES,MAAAA,IAAI,EAAEd;AAAR,KAAT,EAAyBY,UAAzB,EAAqCC,QAArC,CAAnB;AAEA,WAAOR,KAAP;AACA,GApCkB;;AAqCnBU,EAAAA,IAAI,
|
|
1
|
+
{"version":3,"sources":["@wordpress/format-library/src/code/index.js"],"names":["__","toggleFormat","remove","applyFormat","RichTextToolbarButton","RichTextShortcut","code","codeIcon","name","title","tagName","className","__unstableInputRule","value","BACKTICK","start","text","characterBefore","indexBefore","lastIndexOf","startIndex","endIndex","type","edit","onChange","onFocus","isActive","onClick"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,YAAT,EAAuBC,MAAvB,EAA+BC,WAA/B,QAAkD,sBAAlD;AACA,SACCC,qBADD,EAECC,gBAFD,QAGO,yBAHP;AAIA,SAASC,IAAI,IAAIC,QAAjB,QAAiC,kBAAjC;AAEA,MAAMC,IAAI,GAAG,WAAb;;AACA,MAAMC,KAAK,GAAGT,EAAE,CAAE,aAAF,CAAhB;;AAEA,OAAO,MAAMM,IAAI,GAAG;AACnBE,EAAAA,IADmB;AAEnBC,EAAAA,KAFmB;AAGnBC,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,CAAED,KAAK,GAAG,CAAV,CAA5B,CAH4B,CAK5B;;AACA,QAAKE,eAAe,KAAKH,QAAzB,EAAoC;AACnC,aAAOD,KAAP;AACA;;AAED,QAAKE,KAAK,GAAG,CAAR,GAAY,CAAjB,EAAqB;AACpB,aAAOF,KAAP;AACA;;AAED,UAAMK,WAAW,GAAGF,IAAI,CAACG,WAAL,CAAkBL,QAAlB,EAA4BC,KAAK,GAAG,CAApC,CAApB;;AACA,QAAKG,WAAW,KAAK,CAAC,CAAtB,EAA0B;AACzB,aAAOL,KAAP;AACA;;AAED,UAAMO,UAAU,GAAGF,WAAnB;AACA,UAAMG,QAAQ,GAAGN,KAAK,GAAG,CAAzB;;AAEA,QAAKK,UAAU,KAAKC,QAApB,EAA+B;AAC9B,aAAOR,KAAP;AACA;;AAEDA,IAAAA,KAAK,GAAGX,MAAM,CAAEW,KAAF,EAASO,UAAT,EAAqBA,UAAU,GAAG,CAAlC,CAAd;AACAP,IAAAA,KAAK,GAAGX,MAAM,CAAEW,KAAF,EAASQ,QAAT,EAAmBA,QAAQ,GAAG,CAA9B,CAAd;AACAR,IAAAA,KAAK,GAAGV,WAAW,CAAEU,KAAF,EAAS;AAAES,MAAAA,IAAI,EAAEd;AAAR,KAAT,EAAyBY,UAAzB,EAAqCC,QAArC,CAAnB;AAEA,WAAOR,KAAP;AACA,GApCkB;;AAqCnBU,EAAAA,IAAI,CAAE;AAAEV,IAAAA,KAAF;AAASW,IAAAA,QAAT;AAAmBC,IAAAA,OAAnB;AAA4BC,IAAAA;AAA5B,GAAF,EAA2C;AAC9C,aAASC,OAAT,GAAmB;AAClBH,MAAAA,QAAQ,CAAEvB,YAAY,CAAEY,KAAF,EAAS;AAAES,QAAAA,IAAI,EAAEd,IAAR;AAAcC,QAAAA;AAAd,OAAT,CAAd,CAAR;AACAgB,MAAAA,OAAO;AACP;;AAED,WACC,8BACC,cAAC,gBAAD;AACC,MAAA,IAAI,EAAC,QADN;AAEC,MAAA,SAAS,EAAC,GAFX;AAGC,MAAA,KAAK,EAAGE;AAHT,MADD,EAMC,cAAC,qBAAD;AACC,MAAA,IAAI,EAAGpB,QADR;AAEC,MAAA,KAAK,EAAGE,KAFT;AAGC,MAAA,OAAO,EAAGkB,OAHX;AAIC,MAAA,QAAQ,EAAGD,QAJZ;AAKC,MAAA,IAAI,EAAC;AALN,MAND,CADD;AAgBA;;AA3DkB,CAAb","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { toggleFormat, remove, applyFormat } from '@wordpress/rich-text';\nimport {\n\tRichTextToolbarButton,\n\tRichTextShortcut,\n} 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[ start - 1 ];\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\tif ( start - 2 < 0 ) {\n\t\t\treturn value;\n\t\t}\n\n\t\tconst indexBefore = text.lastIndexOf( BACKTICK, start - 2 );\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<>\n\t\t\t\t<RichTextShortcut\n\t\t\t\t\ttype=\"access\"\n\t\t\t\t\tcharacter=\"x\"\n\t\t\t\t\tonUse={ onClick }\n\t\t\t\t/>\n\t\t\t\t<RichTextToolbarButton\n\t\t\t\t\ticon={ codeIcon }\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\trole=\"menuitemcheckbox\"\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t},\n};\n"]}
|
|
@@ -13,5 +13,6 @@ import { subscript } from './subscript';
|
|
|
13
13
|
import { superscript } from './superscript';
|
|
14
14
|
import { keyboard } from './keyboard';
|
|
15
15
|
import { unknown } from './unknown';
|
|
16
|
-
|
|
16
|
+
import { language } from './language';
|
|
17
|
+
export default [bold, code, image, italic, link, strikethrough, underline, textColor, subscript, superscript, keyboard, unknown, language];
|
|
17
18
|
//# sourceMappingURL=default-formats.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/format-library/src/default-formats.js"],"names":["bold","code","image","italic","link","strikethrough","underline","textColor","subscript","superscript","keyboard","unknown"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,QAArB;AACA,SAASC,IAAT,QAAqB,QAArB;AACA,SAASC,KAAT,QAAsB,SAAtB;AACA,SAASC,MAAT,QAAuB,UAAvB;AACA,SAASC,IAAT,QAAqB,QAArB;AACA,SAASC,aAAT,QAA8B,iBAA9B;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,SAAT,QAA0B,cAA1B;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,WAAT,QAA4B,eAA5B;AACA,SAASC,QAAT,QAAyB,YAAzB;AACA,SAASC,OAAT,QAAwB,WAAxB;AAEA,eAAe,
|
|
1
|
+
{"version":3,"sources":["@wordpress/format-library/src/default-formats.js"],"names":["bold","code","image","italic","link","strikethrough","underline","textColor","subscript","superscript","keyboard","unknown","language"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,QAArB;AACA,SAASC,IAAT,QAAqB,QAArB;AACA,SAASC,KAAT,QAAsB,SAAtB;AACA,SAASC,MAAT,QAAuB,UAAvB;AACA,SAASC,IAAT,QAAqB,QAArB;AACA,SAASC,aAAT,QAA8B,iBAA9B;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,SAAT,QAA0B,cAA1B;AACA,SAASC,SAAT,QAA0B,aAA1B;AACA,SAASC,WAAT,QAA4B,eAA5B;AACA,SAASC,QAAT,QAAyB,YAAzB;AACA,SAASC,OAAT,QAAwB,WAAxB;AACA,SAASC,QAAT,QAAyB,YAAzB;AAEA,eAAe,CACdZ,IADc,EAEdC,IAFc,EAGdC,KAHc,EAIdC,MAJc,EAKdC,IALc,EAMdC,aANc,EAOdC,SAPc,EAQdC,SARc,EASdC,SATc,EAUdC,WAVc,EAWdC,QAXc,EAYdC,OAZc,EAadC,QAbc,CAAf","sourcesContent":["/**\n * Internal dependencies\n */\nimport { bold } from './bold';\nimport { code } from './code';\nimport { image } from './image';\nimport { italic } from './italic';\nimport { link } from './link';\nimport { strikethrough } from './strikethrough';\nimport { underline } from './underline';\nimport { textColor } from './text-color';\nimport { subscript } from './subscript';\nimport { superscript } from './superscript';\nimport { keyboard } from './keyboard';\nimport { unknown } from './unknown';\nimport { language } from './language';\n\nexport default [\n\tbold,\n\tcode,\n\timage,\n\titalic,\n\tlink,\n\tstrikethrough,\n\tunderline,\n\ttextColor,\n\tsubscript,\n\tsuperscript,\n\tkeyboard,\n\tunknown,\n\tlanguage,\n];\n"]}
|
|
@@ -30,17 +30,16 @@ export const image = {
|
|
|
30
30
|
edit: Edit
|
|
31
31
|
};
|
|
32
32
|
|
|
33
|
-
function InlineUI(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
} = _ref;
|
|
33
|
+
function InlineUI({
|
|
34
|
+
value,
|
|
35
|
+
onChange,
|
|
36
|
+
activeObjectAttributes,
|
|
37
|
+
contentRef
|
|
38
|
+
}) {
|
|
40
39
|
const {
|
|
41
40
|
style
|
|
42
41
|
} = activeObjectAttributes;
|
|
43
|
-
const [width, setWidth] = useState(style
|
|
42
|
+
const [width, setWidth] = useState(style?.replace(/\D/g, ''));
|
|
44
43
|
const popoverAnchor = useAnchor({
|
|
45
44
|
editableContentElement: contentRef.current,
|
|
46
45
|
settings: image
|
|
@@ -82,15 +81,14 @@ function InlineUI(_ref) {
|
|
|
82
81
|
}))));
|
|
83
82
|
}
|
|
84
83
|
|
|
85
|
-
function Edit(
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
} = _ref2;
|
|
84
|
+
function Edit({
|
|
85
|
+
value,
|
|
86
|
+
onChange,
|
|
87
|
+
onFocus,
|
|
88
|
+
isObjectActive,
|
|
89
|
+
activeObjectAttributes,
|
|
90
|
+
contentRef
|
|
91
|
+
}) {
|
|
94
92
|
const [isModalOpen, setIsModalOpen] = useState(false);
|
|
95
93
|
|
|
96
94
|
function openModal() {
|
|
@@ -113,13 +111,12 @@ function Edit(_ref2) {
|
|
|
113
111
|
isActive: isObjectActive
|
|
114
112
|
}), isModalOpen && createElement(MediaUpload, {
|
|
115
113
|
allowedTypes: ALLOWED_MEDIA_TYPES,
|
|
116
|
-
onSelect:
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
} = _ref3;
|
|
114
|
+
onSelect: ({
|
|
115
|
+
id,
|
|
116
|
+
url,
|
|
117
|
+
alt,
|
|
118
|
+
width: imgWidth
|
|
119
|
+
}) => {
|
|
123
120
|
closeModal();
|
|
124
121
|
onChange(insertObject(value, {
|
|
125
122
|
type: name,
|
|
@@ -133,10 +130,9 @@ function Edit(_ref2) {
|
|
|
133
130
|
onFocus();
|
|
134
131
|
},
|
|
135
132
|
onClose: closeModal,
|
|
136
|
-
render:
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
} = _ref4;
|
|
133
|
+
render: ({
|
|
134
|
+
open
|
|
135
|
+
}) => {
|
|
140
136
|
open();
|
|
141
137
|
return null;
|
|
142
138
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/format-library/src/image/index.js"],"names":["Path","SVG","Popover","Button","__experimentalNumberControl","NumberControl","__experimentalHStack","HStack","__","useState","insertObject","useAnchor","MediaUpload","RichTextToolbarButton","MediaUploadCheck","keyboardReturn","ALLOWED_MEDIA_TYPES","name","title","image","keywords","object","tagName","className","attributes","style","url","alt","edit","Edit","InlineUI","value","onChange","activeObjectAttributes","contentRef","width","setWidth","replace","popoverAnchor","editableContentElement","current","settings","event","newReplacements","replacements","slice","start","type","preventDefault","newWidth","onFocus","isObjectActive","isModalOpen","setIsModalOpen","openModal","closeModal","id","imgWidth","Math","min","open"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,IADD,EAECC,GAFD,EAGCC,OAHD,EAICC,MAJD,EAKCC,2BAA2B,IAAIC,aALhC,EAMCC,oBAAoB,IAAIC,MANzB,QAOO,uBAPP;AAQA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,YAAT,EAAuBC,SAAvB,QAAwC,sBAAxC;AACA,SACCC,WADD,EAECC,qBAFD,EAGCC,gBAHD,QAIO,yBAJP;AAKA,SAASC,cAAT,QAA+B,kBAA/B;AAEA,MAAMC,mBAAmB,GAAG,CAAE,OAAF,CAA5B;AAEA,MAAMC,IAAI,GAAG,YAAb;;AACA,MAAMC,KAAK,GAAGV,EAAE,CAAE,cAAF,CAAhB;;AAEA,OAAO,MAAMW,KAAK,GAAG;AACpBF,EAAAA,IADoB;AAEpBC,EAAAA,KAFoB;AAGpBE,EAAAA,QAAQ,EAAE,CAAEZ,EAAE,CAAE,OAAF,CAAJ,EAAiBA,EAAE,CAAE,OAAF,CAAnB,CAHU;AAIpBa,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":["Path","SVG","Popover","Button","__experimentalNumberControl","NumberControl","__experimentalHStack","HStack","__","useState","insertObject","useAnchor","MediaUpload","RichTextToolbarButton","MediaUploadCheck","keyboardReturn","ALLOWED_MEDIA_TYPES","name","title","image","keywords","object","tagName","className","attributes","style","url","alt","edit","Edit","InlineUI","value","onChange","activeObjectAttributes","contentRef","width","setWidth","replace","popoverAnchor","editableContentElement","current","settings","event","newReplacements","replacements","slice","start","type","preventDefault","newWidth","onFocus","isObjectActive","isModalOpen","setIsModalOpen","openModal","closeModal","id","imgWidth","Math","min","open"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,IADD,EAECC,GAFD,EAGCC,OAHD,EAICC,MAJD,EAKCC,2BAA2B,IAAIC,aALhC,EAMCC,oBAAoB,IAAIC,MANzB,QAOO,uBAPP;AAQA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,YAAT,EAAuBC,SAAvB,QAAwC,sBAAxC;AACA,SACCC,WADD,EAECC,qBAFD,EAGCC,gBAHD,QAIO,yBAJP;AAKA,SAASC,cAAT,QAA+B,kBAA/B;AAEA,MAAMC,mBAAmB,GAAG,CAAE,OAAF,CAA5B;AAEA,MAAMC,IAAI,GAAG,YAAb;;AACA,MAAMC,KAAK,GAAGV,EAAE,CAAE,cAAF,CAAhB;;AAEA,OAAO,MAAMW,KAAK,GAAG;AACpBF,EAAAA,IADoB;AAEpBC,EAAAA,KAFoB;AAGpBE,EAAAA,QAAQ,EAAE,CAAEZ,EAAE,CAAE,OAAF,CAAJ,EAAiBA,EAAE,CAAE,OAAF,CAAnB,CAHU;AAIpBa,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,CAAmB;AAAEC,EAAAA,KAAF;AAASC,EAAAA,QAAT;AAAmBC,EAAAA,sBAAnB;AAA2CC,EAAAA;AAA3C,CAAnB,EAA6E;AAC5E,QAAM;AAAET,IAAAA;AAAF,MAAYQ,sBAAlB;AACA,QAAM,CAAEE,KAAF,EAASC,QAAT,IAAsB3B,QAAQ,CAAEgB,KAAK,EAAEY,OAAP,CAAgB,KAAhB,EAAuB,EAAvB,CAAF,CAApC;AACA,QAAMC,aAAa,GAAG3B,SAAS,CAAE;AAChC4B,IAAAA,sBAAsB,EAAEL,UAAU,CAACM,OADH;AAEhCC,IAAAA,QAAQ,EAAEtB;AAFsB,GAAF,CAA/B;AAKA,SACC,cAAC,OAAD;AACC,IAAA,SAAS,EAAC,QADX;AAEC,IAAA,YAAY,EAAG,KAFhB;AAGC,IAAA,MAAM,EAAGmB,aAHV;AAIC,IAAA,SAAS,EAAC;AAJX,KAMC;AACC,IAAA,SAAS,EAAC,sDADX;AAEC,IAAA,QAAQ,EAAKI,KAAF,IAAa;AACvB,YAAMC,eAAe,GAAGZ,KAAK,CAACa,YAAN,CAAmBC,KAAnB,EAAxB;AAEAF,MAAAA,eAAe,CAAEZ,KAAK,CAACe,KAAR,CAAf,GAAiC;AAChCC,QAAAA,IAAI,EAAE9B,IAD0B;AAEhCO,QAAAA,UAAU,EAAE,EACX,GAAGS,sBADQ;AAEXR,UAAAA,KAAK,EAAEU,KAAK,GAAI,UAAUA,KAAO,KAArB,GAA4B;AAF7B;AAFoB,OAAjC;AAQAH,MAAAA,QAAQ,CAAE,EACT,GAAGD,KADM;AAETa,QAAAA,YAAY,EAAED;AAFL,OAAF,CAAR;AAKAD,MAAAA,KAAK,CAACM,cAAN;AACA;AAnBF,KAqBC,cAAC,MAAD;AAAQ,IAAA,SAAS,EAAC,QAAlB;AAA2B,IAAA,OAAO,EAAC;AAAnC,KACC,cAAC,aAAD;AACC,IAAA,SAAS,EAAC,oDADX;AAEC,IAAA,KAAK,EAAGxC,EAAE,CAAE,OAAF,CAFX;AAGC,IAAA,KAAK,EAAG2B,KAHT;AAIC,IAAA,GAAG,EAAG,CAJP;AAKC,IAAA,QAAQ,EAAKc,QAAF,IAAgBb,QAAQ,CAAEa,QAAF;AALpC,IADD,EAQC,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,qDADX;AAEC,IAAA,IAAI,EAAGlC,cAFR;AAGC,IAAA,KAAK,EAAGP,EAAE,CAAE,OAAF,CAHX;AAIC,IAAA,IAAI,EAAC;AAJN,IARD,CArBD,CAND,CADD;AA8CA;;AAED,SAASqB,IAAT,CAAe;AACdE,EAAAA,KADc;AAEdC,EAAAA,QAFc;AAGdkB,EAAAA,OAHc;AAIdC,EAAAA,cAJc;AAKdlB,EAAAA,sBALc;AAMdC,EAAAA;AANc,CAAf,EAOI;AACH,QAAM,CAAEkB,WAAF,EAAeC,cAAf,IAAkC5C,QAAQ,CAAE,KAAF,CAAhD;;AAEA,WAAS6C,SAAT,GAAqB;AACpBD,IAAAA,cAAc,CAAE,IAAF,CAAd;AACA;;AAED,WAASE,UAAT,GAAsB;AACrBF,IAAAA,cAAc,CAAE,KAAF,CAAd;AACA;;AAED,SACC,cAAC,gBAAD,QACC,cAAC,qBAAD;AACC,IAAA,IAAI,EACH,cAAC,GAAD;AAAK,MAAA,KAAK,EAAC,4BAAX;AAAwC,MAAA,OAAO,EAAC;AAAhD,OACC,cAAC,IAAD;AAAM,MAAA,CAAC,EAAC;AAAR,MADD,CAFF;AAMC,IAAA,KAAK,EAAGnC,KANT;AAOC,IAAA,OAAO,EAAGoC,SAPX;AAQC,IAAA,QAAQ,EAAGH;AARZ,IADD,EAWGC,WAAW,IACZ,cAAC,WAAD;AACC,IAAA,YAAY,EAAGpC,mBADhB;AAEC,IAAA,QAAQ,EAAG,CAAE;AAAEwC,MAAAA,EAAF;AAAM9B,MAAAA,GAAN;AAAWC,MAAAA,GAAX;AAAgBQ,MAAAA,KAAK,EAAEsB;AAAvB,KAAF,KAAyC;AACnDF,MAAAA,UAAU;AACVvB,MAAAA,QAAQ,CACPtB,YAAY,CAAEqB,KAAF,EAAS;AACpBgB,QAAAA,IAAI,EAAE9B,IADc;AAEpBO,QAAAA,UAAU,EAAE;AACXD,UAAAA,SAAS,EAAG,YAAYiC,EAAI,EADjB;AAEX/B,UAAAA,KAAK,EAAG,UAAUiC,IAAI,CAACC,GAAL,CACjBF,QADiB,EAEjB,GAFiB,CAGf,KALQ;AAMX/B,UAAAA,GANW;AAOXC,UAAAA;AAPW;AAFQ,OAAT,CADL,CAAR;AAcAuB,MAAAA,OAAO;AACP,KAnBF;AAoBC,IAAA,OAAO,EAAGK,UApBX;AAqBC,IAAA,MAAM,EAAG,CAAE;AAAEK,MAAAA;AAAF,KAAF,KAAgB;AACxBA,MAAAA,IAAI;AACJ,aAAO,IAAP;AACA;AAxBF,IAZF,EAuCGT,cAAc,IACf,cAAC,QAAD;AACC,IAAA,KAAK,EAAGpB,KADT;AAEC,IAAA,QAAQ,EAAGC,QAFZ;AAGC,IAAA,sBAAsB,EAAGC,sBAH1B;AAIC,IAAA,UAAU,EAAGC;AAJd,IAxCF,CADD;AAkDA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPath,\n\tSVG,\n\tPopover,\n\tButton,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { insertObject, useAnchor } 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 popoverAnchor = useAnchor( {\n\t\teditableContentElement: contentRef.current,\n\t\tsettings: image,\n\t} );\n\n\treturn (\n\t\t<Popover\n\t\t\tplacement=\"bottom\"\n\t\t\tfocusOnMount={ false }\n\t\t\tanchor={ popoverAnchor }\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<HStack alignment=\"bottom\" spacing=\"0\">\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tclassName=\"block-editor-format-toolbar__image-container-value\"\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tvalue={ width }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\tonChange={ ( newWidth ) => setWidth( newWidth ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"block-editor-format-toolbar__image-container-button\"\n\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\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-module/index.js
CHANGED
|
@@ -7,11 +7,8 @@ import { registerFormatType } from '@wordpress/rich-text';
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import formats from './default-formats';
|
|
10
|
-
formats.forEach(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
} = _ref;
|
|
15
|
-
return registerFormatType(name, settings);
|
|
16
|
-
});
|
|
10
|
+
formats.forEach(({
|
|
11
|
+
name,
|
|
12
|
+
...settings
|
|
13
|
+
}) => registerFormatType(name, settings));
|
|
17
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/format-library/src/index.js"],"names":["registerFormatType","formats","forEach","name","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,kBAAT,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,OAAP,MAAoB,mBAApB;AAEAA,OAAO,CAACC,OAAR,CAAiB
|
|
1
|
+
{"version":3,"sources":["@wordpress/format-library/src/index.js"],"names":["registerFormatType","formats","forEach","name","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,kBAAT,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,OAAP,MAAoB,mBAApB;AAEAA,OAAO,CAACC,OAAR,CAAiB,CAAE;AAAEC,EAAAA,IAAF;AAAQ,KAAGC;AAAX,CAAF,KAChBJ,kBAAkB,CAAEG,IAAF,EAAQC,QAAR,CADnB","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"]}
|
|
@@ -17,14 +17,12 @@ export const italic = {
|
|
|
17
17
|
tagName: 'em',
|
|
18
18
|
className: null,
|
|
19
19
|
|
|
20
|
-
edit(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
} = _ref;
|
|
27
|
-
|
|
20
|
+
edit({
|
|
21
|
+
isActive,
|
|
22
|
+
value,
|
|
23
|
+
onChange,
|
|
24
|
+
onFocus
|
|
25
|
+
}) {
|
|
28
26
|
function onToggle() {
|
|
29
27
|
onChange(toggleFormat(value, {
|
|
30
28
|
type: name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/format-library/src/italic/index.js"],"names":["__","toggleFormat","RichTextToolbarButton","RichTextShortcut","__unstableRichTextInputEvent","formatItalic","name","title","italic","tagName","className","edit","isActive","value","onChange","onFocus","onToggle","type","onClick"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,YAAT,QAA6B,sBAA7B;AACA,SACCC,qBADD,EAECC,gBAFD,EAGCC,4BAHD,QAIO,yBAJP;AAKA,SAASC,YAAT,QAA6B,kBAA7B;AAEA,MAAMC,IAAI,GAAG,aAAb;;AACA,MAAMC,KAAK,GAAGP,EAAE,CAAE,QAAF,CAAhB;;AAEA,OAAO,MAAMQ,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":["__","toggleFormat","RichTextToolbarButton","RichTextShortcut","__unstableRichTextInputEvent","formatItalic","name","title","italic","tagName","className","edit","isActive","value","onChange","onFocus","onToggle","type","onClick"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,YAAT,QAA6B,sBAA7B;AACA,SACCC,qBADD,EAECC,gBAFD,EAGCC,4BAHD,QAIO,yBAJP;AAKA,SAASC,YAAT,QAA6B,kBAA7B;AAEA,MAAMC,IAAI,GAAG,aAAb;;AACA,MAAMC,KAAK,GAAGP,EAAE,CAAE,QAAF,CAAhB;;AAEA,OAAO,MAAMQ,MAAM,GAAG;AACrBF,EAAAA,IADqB;AAErBC,EAAAA,KAFqB;AAGrBE,EAAAA,OAAO,EAAE,IAHY;AAIrBC,EAAAA,SAAS,EAAE,IAJU;;AAKrBC,EAAAA,IAAI,CAAE;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,KAAZ;AAAmBC,IAAAA,QAAnB;AAA6BC,IAAAA;AAA7B,GAAF,EAA2C;AAC9C,aAASC,QAAT,GAAoB;AACnBF,MAAAA,QAAQ,CAAEb,YAAY,CAAEY,KAAF,EAAS;AAAEI,QAAAA,IAAI,EAAEX,IAAR;AAAcC,QAAAA;AAAd,OAAT,CAAd,CAAR;AACA;;AAED,aAASW,OAAT,GAAmB;AAClBJ,MAAAA,QAAQ,CAAEb,YAAY,CAAEY,KAAF,EAAS;AAAEI,QAAAA,IAAI,EAAEX;AAAR,OAAT,CAAd,CAAR;AACAS,MAAAA,OAAO;AACP;;AAED,WACC,8BACC,cAAC,gBAAD;AACC,MAAA,IAAI,EAAC,SADN;AAEC,MAAA,SAAS,EAAC,GAFX;AAGC,MAAA,KAAK,EAAGC;AAHT,MADD,EAMC,cAAC,qBAAD;AACC,MAAA,IAAI,EAAC,QADN;AAEC,MAAA,IAAI,EAAGX,YAFR;AAGC,MAAA,KAAK,EAAGE,KAHT;AAIC,MAAA,OAAO,EAAGW,OAJX;AAKC,MAAA,QAAQ,EAAGN,QALZ;AAMC,MAAA,YAAY,EAAC,SANd;AAOC,MAAA,iBAAiB,EAAC;AAPnB,MAND,EAeC,cAAC,4BAAD;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"]}
|
|
@@ -17,14 +17,12 @@ export const keyboard = {
|
|
|
17
17
|
tagName: 'kbd',
|
|
18
18
|
className: null,
|
|
19
19
|
|
|
20
|
-
edit(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
} = _ref;
|
|
27
|
-
|
|
20
|
+
edit({
|
|
21
|
+
isActive,
|
|
22
|
+
value,
|
|
23
|
+
onChange,
|
|
24
|
+
onFocus
|
|
25
|
+
}) {
|
|
28
26
|
function onToggle() {
|
|
29
27
|
onChange(toggleFormat(value, {
|
|
30
28
|
type: name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/format-library/src/keyboard/index.js"],"names":["__","toggleFormat","RichTextToolbarButton","button","name","title","keyboard","tagName","className","edit","isActive","value","onChange","onFocus","onToggle","type","onClick"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,YAAT,QAA6B,sBAA7B;AACA,SAASC,qBAAT,QAAsC,yBAAtC;AACA,SAASC,MAAT,QAAuB,kBAAvB;AAEA,MAAMC,IAAI,GAAG,eAAb;;AACA,MAAMC,KAAK,GAAGL,EAAE,CAAE,gBAAF,CAAhB;;AAEA,OAAO,MAAMM,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":["__","toggleFormat","RichTextToolbarButton","button","name","title","keyboard","tagName","className","edit","isActive","value","onChange","onFocus","onToggle","type","onClick"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,YAAT,QAA6B,sBAA7B;AACA,SAASC,qBAAT,QAAsC,yBAAtC;AACA,SAASC,MAAT,QAAuB,kBAAvB;AAEA,MAAMC,IAAI,GAAG,eAAb;;AACA,MAAMC,KAAK,GAAGL,EAAE,CAAE,gBAAF,CAAhB;;AAEA,OAAO,MAAMM,QAAQ,GAAG;AACvBF,EAAAA,IADuB;AAEvBC,EAAAA,KAFuB;AAGvBE,EAAAA,OAAO,EAAE,KAHc;AAIvBC,EAAAA,SAAS,EAAE,IAJY;;AAKvBC,EAAAA,IAAI,CAAE;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,KAAZ;AAAmBC,IAAAA,QAAnB;AAA6BC,IAAAA;AAA7B,GAAF,EAA2C;AAC9C,aAASC,QAAT,GAAoB;AACnBF,MAAAA,QAAQ,CAAEX,YAAY,CAAEU,KAAF,EAAS;AAAEI,QAAAA,IAAI,EAAEX,IAAR;AAAcC,QAAAA;AAAd,OAAT,CAAd,CAAR;AACA;;AAED,aAASW,OAAT,GAAmB;AAClBF,MAAAA,QAAQ;AACRD,MAAAA,OAAO;AACP;;AAED,WACC,cAAC,qBAAD;AACC,MAAA,IAAI,EAAGV,MADR;AAEC,MAAA,KAAK,EAAGE,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"]}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { createElement, Fragment } from "@wordpress/element";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* WordPress dependencies
|
|
5
|
+
*/
|
|
6
|
+
import { __ } from '@wordpress/i18n';
|
|
7
|
+
/**
|
|
8
|
+
* WordPress dependencies
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import { RichTextToolbarButton } from '@wordpress/block-editor';
|
|
12
|
+
import { TextControl, SelectControl, Button, Popover, __experimentalHStack as HStack } from '@wordpress/components';
|
|
13
|
+
import { useState } from '@wordpress/element';
|
|
14
|
+
import { applyFormat, removeFormat, useAnchor } from '@wordpress/rich-text';
|
|
15
|
+
import { language as languageIcon } from '@wordpress/icons';
|
|
16
|
+
const name = 'core/language';
|
|
17
|
+
|
|
18
|
+
const title = __('Language');
|
|
19
|
+
|
|
20
|
+
export const language = {
|
|
21
|
+
name,
|
|
22
|
+
tagName: 'bdo',
|
|
23
|
+
className: null,
|
|
24
|
+
edit: Edit,
|
|
25
|
+
title
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
function Edit(props) {
|
|
29
|
+
const {
|
|
30
|
+
contentRef,
|
|
31
|
+
isActive,
|
|
32
|
+
onChange,
|
|
33
|
+
value
|
|
34
|
+
} = props;
|
|
35
|
+
const popoverAnchor = useAnchor({
|
|
36
|
+
editableContentElement: contentRef.current,
|
|
37
|
+
settings: language
|
|
38
|
+
});
|
|
39
|
+
const [lang, setLang] = useState('');
|
|
40
|
+
const [dir, setDir] = useState('ltr');
|
|
41
|
+
const [isPopoverVisible, setIsPopoverVisible] = useState(false);
|
|
42
|
+
|
|
43
|
+
const togglePopover = () => {
|
|
44
|
+
setIsPopoverVisible(state => !state);
|
|
45
|
+
setLang('');
|
|
46
|
+
setDir('ltr');
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
return createElement(Fragment, null, createElement(RichTextToolbarButton, {
|
|
50
|
+
icon: languageIcon,
|
|
51
|
+
label: title,
|
|
52
|
+
title: title,
|
|
53
|
+
onClick: () => {
|
|
54
|
+
if (isActive) {
|
|
55
|
+
onChange(removeFormat(value, name));
|
|
56
|
+
} else {
|
|
57
|
+
togglePopover();
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
isActive: isActive,
|
|
61
|
+
role: "menuitemcheckbox"
|
|
62
|
+
}), isPopoverVisible && createElement(Popover, {
|
|
63
|
+
className: "block-editor-format-toolbar__language-popover",
|
|
64
|
+
anchor: popoverAnchor,
|
|
65
|
+
placement: "bottom",
|
|
66
|
+
onClose: togglePopover
|
|
67
|
+
}, createElement("form", {
|
|
68
|
+
className: "block-editor-format-toolbar__language-container-content",
|
|
69
|
+
onSubmit: event => {
|
|
70
|
+
onChange(applyFormat(value, {
|
|
71
|
+
type: name,
|
|
72
|
+
attributes: {
|
|
73
|
+
lang,
|
|
74
|
+
dir
|
|
75
|
+
}
|
|
76
|
+
}));
|
|
77
|
+
togglePopover();
|
|
78
|
+
event.preventDefault();
|
|
79
|
+
}
|
|
80
|
+
}, createElement(TextControl, {
|
|
81
|
+
label: title,
|
|
82
|
+
value: lang,
|
|
83
|
+
onChange: val => setLang(val),
|
|
84
|
+
help: __('A valid language attribute, like "en" or "fr".')
|
|
85
|
+
}), createElement(SelectControl, {
|
|
86
|
+
label: __('Text direction'),
|
|
87
|
+
value: dir,
|
|
88
|
+
options: [{
|
|
89
|
+
label: __('Left to right'),
|
|
90
|
+
value: 'ltr'
|
|
91
|
+
}, {
|
|
92
|
+
label: __('Right to left'),
|
|
93
|
+
value: 'rtl'
|
|
94
|
+
}],
|
|
95
|
+
onChange: val => setDir(val)
|
|
96
|
+
}), createElement(HStack, {
|
|
97
|
+
alignment: "right"
|
|
98
|
+
}, createElement(Button, {
|
|
99
|
+
variant: "primary",
|
|
100
|
+
type: "submit",
|
|
101
|
+
text: __('Apply')
|
|
102
|
+
})))));
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/format-library/src/language/index.js"],"names":["__","RichTextToolbarButton","TextControl","SelectControl","Button","Popover","__experimentalHStack","HStack","useState","applyFormat","removeFormat","useAnchor","language","languageIcon","name","title","tagName","className","edit","Edit","props","contentRef","isActive","onChange","value","popoverAnchor","editableContentElement","current","settings","lang","setLang","dir","setDir","isPopoverVisible","setIsPopoverVisible","togglePopover","state","event","type","attributes","preventDefault","val","label"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * WordPress dependencies\n */\nimport { RichTextToolbarButton } from '@wordpress/block-editor';\nimport {\n\tTextControl,\n\tSelectControl,\n\tButton,\n\tPopover,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { applyFormat, removeFormat, useAnchor } from '@wordpress/rich-text';\nimport { language as languageIcon } from '@wordpress/icons';\n\nconst name = 'core/language';\nconst title = __( 'Language' );\n\nexport const language = {\n\tname,\n\ttagName: 'bdo',\n\tclassName: null,\n\tedit: Edit,\n\ttitle,\n};\n\nfunction Edit( props ) {\n\tconst { contentRef, isActive, onChange, value } = props;\n\tconst popoverAnchor = useAnchor( {\n\t\teditableContentElement: contentRef.current,\n\t\tsettings: language,\n\t} );\n\n\tconst [ lang, setLang ] = useState( '' );\n\tconst [ dir, setDir ] = useState( 'ltr' );\n\n\tconst [ isPopoverVisible, setIsPopoverVisible ] = useState( false );\n\tconst togglePopover = () => {\n\t\tsetIsPopoverVisible( ( state ) => ! state );\n\t\tsetLang( '' );\n\t\tsetDir( 'ltr' );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<RichTextToolbarButton\n\t\t\t\ticon={ languageIcon }\n\t\t\t\tlabel={ title }\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tif ( isActive ) {\n\t\t\t\t\t\tonChange( removeFormat( value, name ) );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttogglePopover();\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tisActive={ isActive }\n\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t/>\n\n\t\t\t{ isPopoverVisible && (\n\t\t\t\t<Popover\n\t\t\t\t\tclassName=\"block-editor-format-toolbar__language-popover\"\n\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\tonClose={ togglePopover }\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tclassName=\"block-editor-format-toolbar__language-container-content\"\n\t\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\tapplyFormat( value, {\n\t\t\t\t\t\t\t\t\ttype: name,\n\t\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\t\tlang,\n\t\t\t\t\t\t\t\t\t\tdir,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\ttogglePopover();\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tvalue={ lang }\n\t\t\t\t\t\t\tonChange={ ( val ) => setLang( val ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'A valid language attribute, like \"en\" or \"fr\".'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Text direction' ) }\n\t\t\t\t\t\t\tvalue={ dir }\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( 'Left to right' ),\n\t\t\t\t\t\t\t\t\tvalue: 'ltr',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( 'Right to left' ),\n\t\t\t\t\t\t\t\t\tvalue: 'rtl',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tonChange={ ( val ) => setDir( val ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<HStack alignment=\"right\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\ttext={ __( 'Apply' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</form>\n\t\t\t\t</Popover>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -21,15 +21,14 @@ const name = 'core/link';
|
|
|
21
21
|
|
|
22
22
|
const title = __('Link');
|
|
23
23
|
|
|
24
|
-
function Edit(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
} = _ref;
|
|
24
|
+
function Edit({
|
|
25
|
+
isActive,
|
|
26
|
+
activeAttributes,
|
|
27
|
+
value,
|
|
28
|
+
onChange,
|
|
29
|
+
onFocus,
|
|
30
|
+
contentRef
|
|
31
|
+
}) {
|
|
33
32
|
const [addingLink, setAddingLink] = useState(false);
|
|
34
33
|
|
|
35
34
|
function addLink() {
|
|
@@ -111,12 +110,10 @@ export const link = {
|
|
|
111
110
|
target: 'target'
|
|
112
111
|
},
|
|
113
112
|
|
|
114
|
-
__unstablePasteRule(value,
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
} = _ref2;
|
|
119
|
-
|
|
113
|
+
__unstablePasteRule(value, {
|
|
114
|
+
html,
|
|
115
|
+
plainText
|
|
116
|
+
}) {
|
|
120
117
|
if (isCollapsed(value)) {
|
|
121
118
|
return value;
|
|
122
119
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/format-library/src/link/index.js"],"names":["__","useState","getTextContent","applyFormat","removeFormat","slice","isCollapsed","isURL","isEmail","RichTextToolbarButton","RichTextShortcut","decodeEntities","link","linkIcon","linkOff","speak","InlineLinkUI","isValidHref","name","title","Edit","isActive","activeAttributes","value","onChange","onFocus","contentRef","addingLink","setAddingLink","addLink","text","type","attributes","url","stopAddingLink","onRemoveFormat","tagName","className","id","target","__unstablePasteRule","html","plainText","pastedText","replace","trim","window","console","log","edit"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SACCC,cADD,EAECC,WAFD,EAGCC,YAHD,EAICC,KAJD,EAKCC,WALD,QAMO,sBANP;AAOA,SAASC,KAAT,EAAgBC,OAAhB,QAA+B,gBAA/B;AACA,SACCC,qBADD,EAECC,gBAFD,QAGO,yBAHP;AAIA,SAASC,cAAT,QAA+B,0BAA/B;AACA,SAASC,IAAI,IAAIC,QAAjB,EAA2BC,OAA3B,QAA0C,kBAA1C;AACA,SAASC,KAAT,QAAsB,iBAAtB;AAEA;AACA;AACA;;AACA,OAAOC,YAAP,MAAyB,UAAzB;AACA,SAASC,WAAT,QAA4B,SAA5B;AAEA,MAAMC,IAAI,GAAG,WAAb;;AACA,MAAMC,KAAK,GAAGnB,EAAE,CAAE,MAAF,CAAhB;;AAEA,SAASoB,IAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/format-library/src/link/index.js"],"names":["__","useState","getTextContent","applyFormat","removeFormat","slice","isCollapsed","isURL","isEmail","RichTextToolbarButton","RichTextShortcut","decodeEntities","link","linkIcon","linkOff","speak","InlineLinkUI","isValidHref","name","title","Edit","isActive","activeAttributes","value","onChange","onFocus","contentRef","addingLink","setAddingLink","addLink","text","type","attributes","url","stopAddingLink","onRemoveFormat","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"]}
|
|
@@ -29,7 +29,8 @@ export const link = {
|
|
|
29
29
|
className: null,
|
|
30
30
|
attributes: {
|
|
31
31
|
url: 'href',
|
|
32
|
-
target: 'target'
|
|
32
|
+
target: 'target',
|
|
33
|
+
rel: 'rel'
|
|
33
34
|
},
|
|
34
35
|
edit: withSpokenMessages(class LinkEdit extends Component {
|
|
35
36
|
constructor() {
|
|
@@ -89,17 +90,13 @@ export const link = {
|
|
|
89
90
|
let startIndex = value.start;
|
|
90
91
|
let endIndex = value.end;
|
|
91
92
|
|
|
92
|
-
while (
|
|
93
|
-
var _value$formats$startI;
|
|
94
|
-
|
|
93
|
+
while (value.formats[startIndex]?.find(format => format?.type === startFormat.type)) {
|
|
95
94
|
startIndex--;
|
|
96
95
|
}
|
|
97
96
|
|
|
98
97
|
endIndex++;
|
|
99
98
|
|
|
100
|
-
while (
|
|
101
|
-
var _value$formats$endInd;
|
|
102
|
-
|
|
99
|
+
while (value.formats[endIndex]?.find(format => format?.type === startFormat.type)) {
|
|
103
100
|
endIndex++;
|
|
104
101
|
}
|
|
105
102
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/format-library/src/link/index.native.js"],"names":["Clipboard","__","Component","withSpokenMessages","RichTextToolbarButton","applyFormat","getActiveFormat","getTextContent","isCollapsed","removeFormat","slice","isURL","link","linkIcon","ModalLinkUI","isValidHref","name","title","tagName","className","attributes","url","target","edit","LinkEdit","constructor","arguments","addLink","bind","stopAddingLink","onRemoveFormat","getURLFromClipboard","state","addingLink","value","onChange","props","text","newValue","type","start","end","activeFormats","needsSelectionUpdate","setState","clipboardURL","undefined","getLinkSelection","isActive","startFormat","startIndex","endIndex","formats","find","format","speak","linkSelection","clipboardText","getString","render","activeAttributes"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport Clipboard from '@react-native-clipboard/clipboard';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { withSpokenMessages } from '@wordpress/components';\nimport { RichTextToolbarButton } from '@wordpress/block-editor';\nimport {\n\tapplyFormat,\n\tgetActiveFormat,\n\tgetTextContent,\n\tisCollapsed,\n\tremoveFormat,\n\tslice,\n} from '@wordpress/rich-text';\nimport { isURL } from '@wordpress/url';\nimport { link as linkIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ModalLinkUI from './modal';\nimport { isValidHref } from './utils';\n\nconst name = 'core/link';\n\nexport const link = {\n\tname,\n\ttitle: __( 'Link' ),\n\ttagName: 'a',\n\tclassName: null,\n\tattributes: {\n\t\turl: 'href',\n\t\ttarget: 'target',\n\t},\n\tedit: withSpokenMessages(\n\t\tclass LinkEdit extends Component {\n\t\t\tconstructor() {\n\t\t\t\tsuper( ...arguments );\n\n\t\t\t\tthis.addLink = this.addLink.bind( this );\n\t\t\t\tthis.stopAddingLink = this.stopAddingLink.bind( this );\n\t\t\t\tthis.onRemoveFormat = this.onRemoveFormat.bind( this );\n\t\t\t\tthis.getURLFromClipboard =\n\t\t\t\t\tthis.getURLFromClipboard.bind( this );\n\t\t\t\tthis.state = {\n\t\t\t\t\taddingLink: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\taddLink() {\n\t\t\t\tconst { value, onChange } = this.props;\n\t\t\t\tconst text = getTextContent( slice( value ) );\n\n\t\t\t\tif ( text && isURL( text ) && isValidHref( text ) ) {\n\t\t\t\t\tconst newValue = applyFormat( value, {\n\t\t\t\t\t\ttype: name,\n\t\t\t\t\t\tattributes: { url: text },\n\t\t\t\t\t} );\n\t\t\t\t\tnewValue.start = newValue.end;\n\t\t\t\t\tnewValue.activeFormats = [];\n\t\t\t\t\tonChange( { ...newValue, needsSelectionUpdate: true } );\n\t\t\t\t} else {\n\t\t\t\t\tthis.setState( { addingLink: true } );\n\t\t\t\t\tthis.getURLFromClipboard();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tstopAddingLink() {\n\t\t\t\tthis.setState( { addingLink: false, clipboardURL: undefined } );\n\t\t\t}\n\n\t\t\tgetLinkSelection() {\n\t\t\t\tconst { value, isActive } = this.props;\n\t\t\t\tconst startFormat = getActiveFormat( value, 'core/link' );\n\n\t\t\t\t// If the link isn't selected, get the link manually by looking around the cursor\n\t\t\t\t// TODO: handle partly selected links.\n\t\t\t\tif ( startFormat && isCollapsed( value ) && isActive ) {\n\t\t\t\t\tlet startIndex = value.start;\n\t\t\t\t\tlet endIndex = value.end;\n\n\t\t\t\t\twhile (\n\t\t\t\t\t\tvalue.formats[ startIndex ]?.find(\n\t\t\t\t\t\t\t( format ) => format?.type === startFormat.type\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\tstartIndex--;\n\t\t\t\t\t}\n\n\t\t\t\t\tendIndex++;\n\n\t\t\t\t\twhile (\n\t\t\t\t\t\tvalue.formats[ endIndex ]?.find(\n\t\t\t\t\t\t\t( format ) => format?.type === startFormat.type\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\tendIndex++;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...value,\n\t\t\t\t\t\tstart: startIndex + 1,\n\t\t\t\t\t\tend: endIndex,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tonRemoveFormat() {\n\t\t\t\tconst { onChange, speak, value } = this.props;\n\t\t\t\tconst startFormat = getActiveFormat( value, 'core/link' );\n\n\t\t\t\t// Before we try to remove anything we check if there is something at the caret position to remove.\n\t\t\t\tif ( isCollapsed( value ) && startFormat === undefined ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst linkSelection = this.getLinkSelection();\n\n\t\t\t\tonChange( removeFormat( linkSelection, name ) );\n\t\t\t\tspeak( __( 'Link removed.' ), 'assertive' );\n\t\t\t}\n\n\t\t\tasync getURLFromClipboard() {\n\t\t\t\tconst clipboardText = await Clipboard.getString();\n\t\t\t\tif ( ! clipboardText ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Check if pasted text is URL.\n\t\t\t\tif ( ! isURL( clipboardText ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.setState( { clipboardURL: clipboardText } );\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\tconst { isActive, activeAttributes, onChange } = this.props;\n\t\t\t\tconst linkSelection = this.getLinkSelection();\n\t\t\t\t// If no URL is set and we have a clipboard URL let's use it.\n\t\t\t\tif ( ! activeAttributes.url && this.state.clipboardURL ) {\n\t\t\t\t\tactiveAttributes.url = this.state.clipboardURL;\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ModalLinkUI\n\t\t\t\t\t\t\tisVisible={ this.state.addingLink }\n\t\t\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\t\t\tactiveAttributes={ activeAttributes }\n\t\t\t\t\t\t\tonClose={ this.stopAddingLink }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tonRemove={ this.onRemoveFormat }\n\t\t\t\t\t\t\tvalue={ linkSelection }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<RichTextToolbarButton\n\t\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\t\tonClick={ this.addLink }\n\t\t\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\t\t\tshortcutType=\"primary\"\n\t\t\t\t\t\t\tshortcutCharacter=\"k\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t),\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/format-library/src/link/index.native.js"],"names":["Clipboard","__","Component","withSpokenMessages","RichTextToolbarButton","applyFormat","getActiveFormat","getTextContent","isCollapsed","removeFormat","slice","isURL","link","linkIcon","ModalLinkUI","isValidHref","name","title","tagName","className","attributes","url","target","rel","edit","LinkEdit","constructor","arguments","addLink","bind","stopAddingLink","onRemoveFormat","getURLFromClipboard","state","addingLink","value","onChange","props","text","newValue","type","start","end","activeFormats","needsSelectionUpdate","setState","clipboardURL","undefined","getLinkSelection","isActive","startFormat","startIndex","endIndex","formats","find","format","speak","linkSelection","clipboardText","getString","render","activeAttributes"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport Clipboard from '@react-native-clipboard/clipboard';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport { withSpokenMessages } from '@wordpress/components';\nimport { RichTextToolbarButton } from '@wordpress/block-editor';\nimport {\n\tapplyFormat,\n\tgetActiveFormat,\n\tgetTextContent,\n\tisCollapsed,\n\tremoveFormat,\n\tslice,\n} from '@wordpress/rich-text';\nimport { isURL } from '@wordpress/url';\nimport { link as linkIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport ModalLinkUI from './modal';\nimport { isValidHref } from './utils';\n\nconst name = 'core/link';\n\nexport const link = {\n\tname,\n\ttitle: __( 'Link' ),\n\ttagName: 'a',\n\tclassName: null,\n\tattributes: {\n\t\turl: 'href',\n\t\ttarget: 'target',\n\t\trel: 'rel',\n\t},\n\tedit: withSpokenMessages(\n\t\tclass LinkEdit extends Component {\n\t\t\tconstructor() {\n\t\t\t\tsuper( ...arguments );\n\n\t\t\t\tthis.addLink = this.addLink.bind( this );\n\t\t\t\tthis.stopAddingLink = this.stopAddingLink.bind( this );\n\t\t\t\tthis.onRemoveFormat = this.onRemoveFormat.bind( this );\n\t\t\t\tthis.getURLFromClipboard =\n\t\t\t\t\tthis.getURLFromClipboard.bind( this );\n\t\t\t\tthis.state = {\n\t\t\t\t\taddingLink: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\taddLink() {\n\t\t\t\tconst { value, onChange } = this.props;\n\t\t\t\tconst text = getTextContent( slice( value ) );\n\n\t\t\t\tif ( text && isURL( text ) && isValidHref( text ) ) {\n\t\t\t\t\tconst newValue = applyFormat( value, {\n\t\t\t\t\t\ttype: name,\n\t\t\t\t\t\tattributes: { url: text },\n\t\t\t\t\t} );\n\t\t\t\t\tnewValue.start = newValue.end;\n\t\t\t\t\tnewValue.activeFormats = [];\n\t\t\t\t\tonChange( { ...newValue, needsSelectionUpdate: true } );\n\t\t\t\t} else {\n\t\t\t\t\tthis.setState( { addingLink: true } );\n\t\t\t\t\tthis.getURLFromClipboard();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tstopAddingLink() {\n\t\t\t\tthis.setState( { addingLink: false, clipboardURL: undefined } );\n\t\t\t}\n\n\t\t\tgetLinkSelection() {\n\t\t\t\tconst { value, isActive } = this.props;\n\t\t\t\tconst startFormat = getActiveFormat( value, 'core/link' );\n\n\t\t\t\t// If the link isn't selected, get the link manually by looking around the cursor\n\t\t\t\t// TODO: handle partly selected links.\n\t\t\t\tif ( startFormat && isCollapsed( value ) && isActive ) {\n\t\t\t\t\tlet startIndex = value.start;\n\t\t\t\t\tlet endIndex = value.end;\n\n\t\t\t\t\twhile (\n\t\t\t\t\t\tvalue.formats[ startIndex ]?.find(\n\t\t\t\t\t\t\t( format ) => format?.type === startFormat.type\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\tstartIndex--;\n\t\t\t\t\t}\n\n\t\t\t\t\tendIndex++;\n\n\t\t\t\t\twhile (\n\t\t\t\t\t\tvalue.formats[ endIndex ]?.find(\n\t\t\t\t\t\t\t( format ) => format?.type === startFormat.type\n\t\t\t\t\t\t)\n\t\t\t\t\t) {\n\t\t\t\t\t\tendIndex++;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...value,\n\t\t\t\t\t\tstart: startIndex + 1,\n\t\t\t\t\t\tend: endIndex,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn value;\n\t\t\t}\n\n\t\t\tonRemoveFormat() {\n\t\t\t\tconst { onChange, speak, value } = this.props;\n\t\t\t\tconst startFormat = getActiveFormat( value, 'core/link' );\n\n\t\t\t\t// Before we try to remove anything we check if there is something at the caret position to remove.\n\t\t\t\tif ( isCollapsed( value ) && startFormat === undefined ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst linkSelection = this.getLinkSelection();\n\n\t\t\t\tonChange( removeFormat( linkSelection, name ) );\n\t\t\t\tspeak( __( 'Link removed.' ), 'assertive' );\n\t\t\t}\n\n\t\t\tasync getURLFromClipboard() {\n\t\t\t\tconst clipboardText = await Clipboard.getString();\n\t\t\t\tif ( ! clipboardText ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Check if pasted text is URL.\n\t\t\t\tif ( ! isURL( clipboardText ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.setState( { clipboardURL: clipboardText } );\n\t\t\t}\n\n\t\t\trender() {\n\t\t\t\tconst { isActive, activeAttributes, onChange } = this.props;\n\t\t\t\tconst linkSelection = this.getLinkSelection();\n\t\t\t\t// If no URL is set and we have a clipboard URL let's use it.\n\t\t\t\tif ( ! activeAttributes.url && this.state.clipboardURL ) {\n\t\t\t\t\tactiveAttributes.url = this.state.clipboardURL;\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ModalLinkUI\n\t\t\t\t\t\t\tisVisible={ this.state.addingLink }\n\t\t\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\t\t\tactiveAttributes={ activeAttributes }\n\t\t\t\t\t\t\tonClose={ this.stopAddingLink }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tonRemove={ this.onRemoveFormat }\n\t\t\t\t\t\t\tvalue={ linkSelection }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<RichTextToolbarButton\n\t\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\t\tonClick={ this.addLink }\n\t\t\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\t\t\tshortcutType=\"primary\"\n\t\t\t\t\t\t\tshortcutCharacter=\"k\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t),\n};\n"]}
|