@wordpress/format-library 5.34.0 → 5.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/bold/index.js +7 -5
  3. package/build/bold/index.js.map +1 -1
  4. package/build/code/index.js +6 -4
  5. package/build/code/index.js.map +1 -1
  6. package/build/default-formats.js +2 -0
  7. package/build/default-formats.js.map +1 -1
  8. package/build/image/index.js +7 -5
  9. package/build/image/index.js.map +1 -1
  10. package/build/index.js +2 -0
  11. package/build/index.js.map +1 -1
  12. package/build/italic/index.js +7 -5
  13. package/build/italic/index.js.map +1 -1
  14. package/build/keyboard/index.js +6 -4
  15. package/build/keyboard/index.js.map +1 -1
  16. package/build/language/index.js +6 -4
  17. package/build/language/index.js.map +1 -1
  18. package/build/link/css-classes-setting.js +4 -2
  19. package/build/link/css-classes-setting.js.map +1 -1
  20. package/build/link/index.js +7 -5
  21. package/build/link/index.js.map +1 -1
  22. package/build/link/inline.js +4 -2
  23. package/build/link/inline.js.map +1 -1
  24. package/build/link/use-link-instance-key.js +5 -3
  25. package/build/link/use-link-instance-key.js.map +1 -1
  26. package/build/link/utils.js +5 -3
  27. package/build/link/utils.js.map +1 -1
  28. package/build/lock-unlock.js +3 -1
  29. package/build/lock-unlock.js.map +1 -1
  30. package/build/math/index.js +18 -13
  31. package/build/math/index.js.map +2 -2
  32. package/build/non-breaking-space/index.js +6 -4
  33. package/build/non-breaking-space/index.js.map +1 -1
  34. package/build/strikethrough/index.js +6 -4
  35. package/build/strikethrough/index.js.map +1 -1
  36. package/build/subscript/index.js +6 -4
  37. package/build/subscript/index.js.map +1 -1
  38. package/build/superscript/index.js +6 -4
  39. package/build/superscript/index.js.map +1 -1
  40. package/build/text-color/index.js +8 -6
  41. package/build/text-color/index.js.map +1 -1
  42. package/build/text-color/inline.js +5 -3
  43. package/build/text-color/inline.js.map +1 -1
  44. package/build/underline/index.js +6 -4
  45. package/build/underline/index.js.map +1 -1
  46. package/build/unknown/index.js +6 -4
  47. package/build/unknown/index.js.map +1 -1
  48. package/build-module/bold/index.js +6 -5
  49. package/build-module/bold/index.js.map +1 -1
  50. package/build-module/code/index.js +5 -4
  51. package/build-module/code/index.js.map +1 -1
  52. package/build-module/default-formats.js +1 -0
  53. package/build-module/default-formats.js.map +1 -1
  54. package/build-module/image/index.js +6 -5
  55. package/build-module/image/index.js.map +1 -1
  56. package/build-module/index.js +1 -0
  57. package/build-module/index.js.map +1 -1
  58. package/build-module/italic/index.js +6 -5
  59. package/build-module/italic/index.js.map +1 -1
  60. package/build-module/keyboard/index.js +5 -4
  61. package/build-module/keyboard/index.js.map +1 -1
  62. package/build-module/language/index.js +5 -4
  63. package/build-module/language/index.js.map +1 -1
  64. package/build-module/link/css-classes-setting.js +3 -2
  65. package/build-module/link/css-classes-setting.js.map +1 -1
  66. package/build-module/link/index.js +6 -5
  67. package/build-module/link/index.js.map +1 -1
  68. package/build-module/link/inline.js +3 -2
  69. package/build-module/link/inline.js.map +1 -1
  70. package/build-module/link/use-link-instance-key.js +4 -3
  71. package/build-module/link/use-link-instance-key.js.map +1 -1
  72. package/build-module/link/utils.js +4 -3
  73. package/build-module/link/utils.js.map +1 -1
  74. package/build-module/lock-unlock.js +2 -1
  75. package/build-module/lock-unlock.js.map +1 -1
  76. package/build-module/math/index.js +17 -13
  77. package/build-module/math/index.js.map +2 -2
  78. package/build-module/non-breaking-space/index.js +5 -4
  79. package/build-module/non-breaking-space/index.js.map +1 -1
  80. package/build-module/strikethrough/index.js +5 -4
  81. package/build-module/strikethrough/index.js.map +1 -1
  82. package/build-module/subscript/index.js +5 -4
  83. package/build-module/subscript/index.js.map +1 -1
  84. package/build-module/superscript/index.js +5 -4
  85. package/build-module/superscript/index.js.map +1 -1
  86. package/build-module/text-color/index.js +7 -6
  87. package/build-module/text-color/index.js.map +1 -1
  88. package/build-module/text-color/inline.js +4 -3
  89. package/build-module/text-color/inline.js.map +1 -1
  90. package/build-module/underline/index.js +5 -4
  91. package/build-module/underline/index.js.map +1 -1
  92. package/build-module/unknown/index.js +5 -4
  93. package/build-module/unknown/index.js.map +1 -1
  94. package/build-style/style-rtl.css +4 -0
  95. package/build-style/style.css +5 -0
  96. package/package.json +15 -15
  97. package/src/math/index.js +10 -7
  98. package/src/math/style.scss +4 -0
  99. package/src/style.scss +1 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 5.35.0 (2025-11-12)
6
+
5
7
  ## 5.34.0 (2025-10-29)
6
8
 
7
9
  ## 5.33.0 (2025-10-17)
@@ -15,21 +15,23 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // packages/format-library/src/bold/index.js
18
20
  var bold_exports = {};
19
21
  __export(bold_exports, {
20
22
  bold: () => bold
21
23
  });
22
24
  module.exports = __toCommonJS(bold_exports);
23
- var import_jsx_runtime = require("react/jsx-runtime");
24
25
  var import_i18n = require("@wordpress/i18n");
25
26
  var import_rich_text = require("@wordpress/rich-text");
26
27
  var import_block_editor = require("@wordpress/block-editor");
27
28
  var import_icons = require("@wordpress/icons");
28
29
  var import_lock_unlock = require("../lock-unlock");
29
- const { essentialFormatKey } = (0, import_lock_unlock.unlock)(import_block_editor.privateApis);
30
- const name = "core/bold";
31
- const title = (0, import_i18n.__)("Bold");
32
- const bold = {
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ var { essentialFormatKey } = (0, import_lock_unlock.unlock)(import_block_editor.privateApis);
32
+ var name = "core/bold";
33
+ var title = (0, import_i18n.__)("Bold");
34
+ var bold = {
33
35
  name,
34
36
  title,
35
37
  tagName: "strong",
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/bold/index.js"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { toggleFormat } from '@wordpress/rich-text';\nimport {\n\tRichTextToolbarButton,\n\tRichTextShortcut,\n\t__unstableRichTextInputEvent,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { formatBold } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { essentialFormatKey } = unlock( blockEditorPrivateApis );\n\nconst name = 'core/bold';\nconst title = __( 'Bold' );\n\nexport const bold = {\n\tname,\n\ttitle,\n\ttagName: 'strong',\n\tclassName: null,\n\t[ essentialFormatKey ]: true,\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"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwCG;AArCH,kBAAmB;AACnB,uBAA6B;AAC7B,0BAKO;AACP,mBAA2B;AAK3B,yBAAuB;AAEvB,MAAM,EAAE,mBAAmB,QAAI,2BAAQ,oBAAAA,WAAuB;AAE9D,MAAM,OAAO;AACb,MAAM,YAAQ,gBAAI,MAAO;AAElB,MAAM,OAAO;AAAA,EACnB;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,EACX,CAAE,kBAAmB,GAAG;AAAA,EACxB,KAAM,EAAE,UAAU,OAAO,UAAU,QAAQ,GAAI;AAC9C,aAAS,WAAW;AACnB,mBAAU,+BAAc,OAAO,EAAE,MAAM,MAAM,MAAM,CAAE,CAAE;AAAA,IACxD;AAEA,aAAS,UAAU;AAClB,mBAAU,+BAAc,OAAO,EAAE,MAAM,KAAK,CAAE,CAAE;AAChD,cAAQ;AAAA,IACT;AAEA,WACC,4EACC;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,MAAK;AAAA,UACL,WAAU;AAAA,UACV,OAAQ;AAAA;AAAA,MACT;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,MAAK;AAAA,UACL,MAAO;AAAA,UACP;AAAA,UACA;AAAA,UACA;AAAA,UACA,cAAa;AAAA,UACb,mBAAkB;AAAA;AAAA,MACnB;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,SAAU;AAAA;AAAA,MACX;AAAA,OACD;AAAA,EAEF;AACD;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,uBAA6B;AAC7B,0BAKO;AACP,mBAA2B;AAK3B,yBAAuB;AAwBpB;AAtBH,IAAM,EAAE,mBAAmB,QAAI,2BAAQ,oBAAAA,WAAuB;AAE9D,IAAM,OAAO;AACb,IAAM,YAAQ,gBAAI,MAAO;AAElB,IAAM,OAAO;AAAA,EACnB;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,EACX,CAAE,kBAAmB,GAAG;AAAA,EACxB,KAAM,EAAE,UAAU,OAAO,UAAU,QAAQ,GAAI;AAC9C,aAAS,WAAW;AACnB,mBAAU,+BAAc,OAAO,EAAE,MAAM,MAAM,MAAM,CAAE,CAAE;AAAA,IACxD;AAEA,aAAS,UAAU;AAClB,mBAAU,+BAAc,OAAO,EAAE,MAAM,KAAK,CAAE,CAAE;AAChD,cAAQ;AAAA,IACT;AAEA,WACC,4EACC;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,MAAK;AAAA,UACL,WAAU;AAAA,UACV,OAAQ;AAAA;AAAA,MACT;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,MAAK;AAAA,UACL,MAAO;AAAA,UACP;AAAA,UACA;AAAA,UACA;AAAA,UACA,cAAa;AAAA,UACb,mBAAkB;AAAA;AAAA,MACnB;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,SAAU;AAAA;AAAA,MACX;AAAA,OACD;AAAA,EAEF;AACD;",
6
6
  "names": ["blockEditorPrivateApis"]
7
7
  }
@@ -15,19 +15,21 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // packages/format-library/src/code/index.js
18
20
  var code_exports = {};
19
21
  __export(code_exports, {
20
22
  code: () => code
21
23
  });
22
24
  module.exports = __toCommonJS(code_exports);
23
- var import_jsx_runtime = require("react/jsx-runtime");
24
25
  var import_i18n = require("@wordpress/i18n");
25
26
  var import_rich_text = require("@wordpress/rich-text");
26
27
  var import_block_editor = require("@wordpress/block-editor");
27
28
  var import_icons = require("@wordpress/icons");
28
- const name = "core/code";
29
- const title = (0, import_i18n.__)("Inline code");
30
- const code = {
29
+ var import_jsx_runtime = require("react/jsx-runtime");
30
+ var name = "core/code";
31
+ var title = (0, import_i18n.__)("Inline code");
32
+ var code = {
31
33
  name,
32
34
  title,
33
35
  tagName: "code",
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/code/index.js"],
4
4
  "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"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA0DG;AAvDH,kBAAmB;AACnB,uBAAkD;AAClD,0BAGO;AACP,mBAAiC;AAEjC,MAAM,OAAO;AACb,MAAM,YAAQ,gBAAI,aAAc;AAEzB,MAAM,OAAO;AAAA,EACnB;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,EACX,oBAAqB,OAAQ;AAC5B,UAAM,WAAW;AACjB,UAAM,EAAE,OAAO,KAAK,IAAI;AACxB,UAAM,kBAAkB,KAAM,QAAQ,CAAE;AAGxC,QAAK,oBAAoB,UAAW;AACnC,aAAO;AAAA,IACR;AAEA,QAAK,QAAQ,IAAI,GAAI;AACpB,aAAO;AAAA,IACR;AAEA,UAAM,cAAc,KAAK,YAAa,UAAU,QAAQ,CAAE;AAC1D,QAAK,gBAAgB,IAAK;AACzB,aAAO;AAAA,IACR;AAEA,UAAM,aAAa;AACnB,UAAM,WAAW,QAAQ;AAEzB,QAAK,eAAe,UAAW;AAC9B,aAAO;AAAA,IACR;AAEA,gBAAQ,yBAAQ,OAAO,YAAY,aAAa,CAAE;AAClD,gBAAQ,yBAAQ,OAAO,UAAU,WAAW,CAAE;AAC9C,gBAAQ,8BAAa,OAAO,EAAE,MAAM,KAAK,GAAG,YAAY,QAAS;AAEjE,WAAO;AAAA,EACR;AAAA,EACA,KAAM,EAAE,OAAO,UAAU,SAAS,SAAS,GAAI;AAC9C,aAAS,UAAU;AAClB,mBAAU,+BAAc,OAAO,EAAE,MAAM,MAAM,MAAM,CAAE,CAAE;AACvD,cAAQ;AAAA,IACT;AAEA,WACC,4EACC;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,MAAK;AAAA,UACL,WAAU;AAAA,UACV,OAAQ;AAAA;AAAA,MACT;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,MAAO,aAAAA;AAAA,UACP;AAAA,UACA;AAAA,UACA;AAAA,UACA,MAAK;AAAA;AAAA,MACN;AAAA,OACD;AAAA,EAEF;AACD;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,uBAAkD;AAClD,0BAGO;AACP,mBAAiC;AAiD9B;AA/CH,IAAM,OAAO;AACb,IAAM,YAAQ,gBAAI,aAAc;AAEzB,IAAM,OAAO;AAAA,EACnB;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,EACX,oBAAqB,OAAQ;AAC5B,UAAM,WAAW;AACjB,UAAM,EAAE,OAAO,KAAK,IAAI;AACxB,UAAM,kBAAkB,KAAM,QAAQ,CAAE;AAGxC,QAAK,oBAAoB,UAAW;AACnC,aAAO;AAAA,IACR;AAEA,QAAK,QAAQ,IAAI,GAAI;AACpB,aAAO;AAAA,IACR;AAEA,UAAM,cAAc,KAAK,YAAa,UAAU,QAAQ,CAAE;AAC1D,QAAK,gBAAgB,IAAK;AACzB,aAAO;AAAA,IACR;AAEA,UAAM,aAAa;AACnB,UAAM,WAAW,QAAQ;AAEzB,QAAK,eAAe,UAAW;AAC9B,aAAO;AAAA,IACR;AAEA,gBAAQ,yBAAQ,OAAO,YAAY,aAAa,CAAE;AAClD,gBAAQ,yBAAQ,OAAO,UAAU,WAAW,CAAE;AAC9C,gBAAQ,8BAAa,OAAO,EAAE,MAAM,KAAK,GAAG,YAAY,QAAS;AAEjE,WAAO;AAAA,EACR;AAAA,EACA,KAAM,EAAE,OAAO,UAAU,SAAS,SAAS,GAAI;AAC9C,aAAS,UAAU;AAClB,mBAAU,+BAAc,OAAO,EAAE,MAAM,MAAM,MAAM,CAAE,CAAE;AACvD,cAAQ;AAAA,IACT;AAEA,WACC,4EACC;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,MAAK;AAAA,UACL,WAAU;AAAA,UACV,OAAQ;AAAA;AAAA,MACT;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,MAAO,aAAAA;AAAA,UACP;AAAA,UACA;AAAA,UACA;AAAA,UACA,MAAK;AAAA;AAAA,MACN;AAAA,OACD;AAAA,EAEF;AACD;",
6
6
  "names": ["codeIcon"]
7
7
  }
@@ -15,6 +15,8 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // packages/format-library/src/default-formats.js
18
20
  var default_formats_exports = {};
19
21
  __export(default_formats_exports, {
20
22
  default: () => default_formats_default
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/default-formats.js"],
4
4
  "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';\nimport { math } from './math';\nimport { nonBreakingSpace } from './non-breaking-space';\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\tmath,\n\tnonBreakingSpace,\n];\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAqB;AACrB,kBAAqB;AACrB,mBAAsB;AACtB,oBAAuB;AACvB,kBAAqB;AACrB,2BAA8B;AAC9B,uBAA0B;AAC1B,wBAA0B;AAC1B,uBAA0B;AAC1B,yBAA4B;AAC5B,sBAAyB;AACzB,qBAAwB;AACxB,sBAAyB;AACzB,kBAAqB;AACrB,gCAAiC;AAEjC,IAAO,0BAAQ;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAqB;AACrB,kBAAqB;AACrB,mBAAsB;AACtB,oBAAuB;AACvB,kBAAqB;AACrB,2BAA8B;AAC9B,uBAA0B;AAC1B,wBAA0B;AAC1B,uBAA0B;AAC1B,yBAA4B;AAC5B,sBAAyB;AACzB,qBAAwB;AACxB,sBAAyB;AACzB,kBAAqB;AACrB,gCAAiC;AAEjC,IAAO,0BAAQ;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;",
6
6
  "names": []
7
7
  }
@@ -15,20 +15,22 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // packages/format-library/src/image/index.js
18
20
  var image_exports = {};
19
21
  __export(image_exports, {
20
22
  image: () => image
21
23
  });
22
24
  module.exports = __toCommonJS(image_exports);
23
- var import_jsx_runtime = require("react/jsx-runtime");
24
25
  var import_components = require("@wordpress/components");
25
26
  var import_i18n = require("@wordpress/i18n");
26
27
  var import_element = require("@wordpress/element");
27
28
  var import_rich_text = require("@wordpress/rich-text");
28
29
  var import_block_editor = require("@wordpress/block-editor");
29
- const ALLOWED_MEDIA_TYPES = ["image"];
30
- const name = "core/image";
31
- const title = (0, import_i18n.__)("Inline image");
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ var ALLOWED_MEDIA_TYPES = ["image"];
32
+ var name = "core/image";
33
+ var title = (0, import_i18n.__)("Inline image");
32
34
  function getCurrentImageId(activeObjectAttributes) {
33
35
  if (!activeObjectAttributes?.className) {
34
36
  return void 0;
@@ -36,7 +38,7 @@ function getCurrentImageId(activeObjectAttributes) {
36
38
  const [, id] = activeObjectAttributes.className.match(/wp-image-(\d+)/) ?? [];
37
39
  return id ? parseInt(id, 10) : void 0;
38
40
  }
39
- const image = {
41
+ var image = {
40
42
  name,
41
43
  title,
42
44
  keywords: [(0, import_i18n.__)("photo"), (0, import_i18n.__)("media")],
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/image/index.js"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tPath,\n\tSVG,\n\tPopover,\n\tButton,\n\tExternalLink,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalNumberControl as NumberControl,\n\tTextareaControl,\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';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst name = 'core/image';\nconst title = __( 'Inline image' );\n\n/**\n * Extracts the image ID from the className attribute.\n *\n * @param {Object} activeObjectAttributes The attributes of the active object.\n * @return {number|undefined} The extracted image ID or undefined if not found.\n */\nfunction getCurrentImageId( activeObjectAttributes ) {\n\tif ( ! activeObjectAttributes?.className ) {\n\t\treturn undefined;\n\t}\n\n\tconst [ , id ] =\n\t\tactiveObjectAttributes.className.match( /wp-image-(\\d+)/ ) ?? [];\n\n\treturn id ? parseInt( id, 10 ) : undefined;\n}\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, alt } = activeObjectAttributes;\n\tconst width = style?.replace( /\\D/g, '' );\n\tconst [ editedWidth, setEditedWidth ] = useState( width );\n\tconst [ editedAlt, setEditedAlt ] = useState( alt );\n\tconst hasChanged = editedWidth !== width || editedAlt !== alt;\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\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: editedWidth\n\t\t\t\t\t\t\t\t? `width: ${ editedWidth }px;`\n\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\t\talt: editedAlt,\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<VStack spacing={ 4 }>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tvalue={ editedWidth }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\tsetEditedWidth( newWidth );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ editedAlt }\n\t\t\t\t\t\tonChange={ ( newAlt ) => {\n\t\t\t\t\t\t\tsetEditedAlt( newAlt );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\t\t// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\n\t\t\t\t\t\t\t\t\t\t)\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\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tdisabled={ ! hasChanged }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\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\treturn (\n\t\t<MediaUploadCheck>\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tvalue={ getCurrentImageId( activeObjectAttributes ) }\n\t\t\t\tonSelect={ ( { id, url, alt, width: imgWidth } ) => {\n\t\t\t\t\tonChange(\n\t\t\t\t\t\tinsertObject( value, {\n\t\t\t\t\t\t\ttype: name,\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\tclassName: `wp-image-${ id }`,\n\t\t\t\t\t\t\t\tstyle: `width: ${ Math.min(\n\t\t\t\t\t\t\t\t\timgWidth,\n\t\t\t\t\t\t\t\t\t150\n\t\t\t\t\t\t\t\t) }px;`,\n\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t\tonFocus();\n\t\t\t\t} }\n\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t<RichTextToolbarButton\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<SVG\n\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t>\n\t\t\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\t\t</SVG>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitle={ isObjectActive ? __( 'Replace image' ) : title }\n\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\tisActive={ isObjectActive }\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"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["VStack", "NumberControl", "HStack"]
7
7
  }
package/build/index.js CHANGED
@@ -20,6 +20,8 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
20
20
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
21
  mod
22
22
  ));
23
+
24
+ // packages/format-library/src/index.js
23
25
  var import_rich_text = require("@wordpress/rich-text");
24
26
  var import_default_formats = __toESM(require("./default-formats"));
25
27
  import_default_formats.default.forEach(
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/index.js"],
4
4
  "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"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAGA,uBAAmC;AAKnC,6BAAoB;AAEpB,uBAAAA,QAAQ;AAAA,EAAS,CAAE,EAAE,MAAM,GAAG,SAAS,UACtC,qCAAoB,MAAM,QAAS;AACpC;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAGA,uBAAmC;AAKnC,6BAAoB;AAEpB,uBAAAA,QAAQ;AAAA,EAAS,CAAE,EAAE,MAAM,GAAG,SAAS,UACtC,qCAAoB,MAAM,QAAS;AACpC;",
6
6
  "names": ["formats"]
7
7
  }
@@ -15,21 +15,23 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // packages/format-library/src/italic/index.js
18
20
  var italic_exports = {};
19
21
  __export(italic_exports, {
20
22
  italic: () => italic
21
23
  });
22
24
  module.exports = __toCommonJS(italic_exports);
23
- var import_jsx_runtime = require("react/jsx-runtime");
24
25
  var import_i18n = require("@wordpress/i18n");
25
26
  var import_rich_text = require("@wordpress/rich-text");
26
27
  var import_block_editor = require("@wordpress/block-editor");
27
28
  var import_icons = require("@wordpress/icons");
28
29
  var import_lock_unlock = require("../lock-unlock");
29
- const { essentialFormatKey } = (0, import_lock_unlock.unlock)(import_block_editor.privateApis);
30
- const name = "core/italic";
31
- const title = (0, import_i18n.__)("Italic");
32
- const italic = {
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ var { essentialFormatKey } = (0, import_lock_unlock.unlock)(import_block_editor.privateApis);
32
+ var name = "core/italic";
33
+ var title = (0, import_i18n.__)("Italic");
34
+ var italic = {
33
35
  name,
34
36
  title,
35
37
  tagName: "em",
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/italic/index.js"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { toggleFormat } from '@wordpress/rich-text';\nimport {\n\tRichTextToolbarButton,\n\tRichTextShortcut,\n\t__unstableRichTextInputEvent,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { formatItalic } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { essentialFormatKey } = unlock( blockEditorPrivateApis );\n\nconst name = 'core/italic';\nconst title = __( 'Italic' );\n\nexport const italic = {\n\tname,\n\ttitle,\n\ttagName: 'em',\n\tclassName: null,\n\t[ essentialFormatKey ]: true,\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"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwCG;AArCH,kBAAmB;AACnB,uBAA6B;AAC7B,0BAKO;AACP,mBAA6B;AAK7B,yBAAuB;AAEvB,MAAM,EAAE,mBAAmB,QAAI,2BAAQ,oBAAAA,WAAuB;AAE9D,MAAM,OAAO;AACb,MAAM,YAAQ,gBAAI,QAAS;AAEpB,MAAM,SAAS;AAAA,EACrB;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,EACX,CAAE,kBAAmB,GAAG;AAAA,EACxB,KAAM,EAAE,UAAU,OAAO,UAAU,QAAQ,GAAI;AAC9C,aAAS,WAAW;AACnB,mBAAU,+BAAc,OAAO,EAAE,MAAM,MAAM,MAAM,CAAE,CAAE;AAAA,IACxD;AAEA,aAAS,UAAU;AAClB,mBAAU,+BAAc,OAAO,EAAE,MAAM,KAAK,CAAE,CAAE;AAChD,cAAQ;AAAA,IACT;AAEA,WACC,4EACC;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,MAAK;AAAA,UACL,WAAU;AAAA,UACV,OAAQ;AAAA;AAAA,MACT;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,MAAK;AAAA,UACL,MAAO;AAAA,UACP;AAAA,UACA;AAAA,UACA;AAAA,UACA,cAAa;AAAA,UACb,mBAAkB;AAAA;AAAA,MACnB;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,SAAU;AAAA;AAAA,MACX;AAAA,OACD;AAAA,EAEF;AACD;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,uBAA6B;AAC7B,0BAKO;AACP,mBAA6B;AAK7B,yBAAuB;AAwBpB;AAtBH,IAAM,EAAE,mBAAmB,QAAI,2BAAQ,oBAAAA,WAAuB;AAE9D,IAAM,OAAO;AACb,IAAM,YAAQ,gBAAI,QAAS;AAEpB,IAAM,SAAS;AAAA,EACrB;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,EACX,CAAE,kBAAmB,GAAG;AAAA,EACxB,KAAM,EAAE,UAAU,OAAO,UAAU,QAAQ,GAAI;AAC9C,aAAS,WAAW;AACnB,mBAAU,+BAAc,OAAO,EAAE,MAAM,MAAM,MAAM,CAAE,CAAE;AAAA,IACxD;AAEA,aAAS,UAAU;AAClB,mBAAU,+BAAc,OAAO,EAAE,MAAM,KAAK,CAAE,CAAE;AAChD,cAAQ;AAAA,IACT;AAEA,WACC,4EACC;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,MAAK;AAAA,UACL,WAAU;AAAA,UACV,OAAQ;AAAA;AAAA,MACT;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,MAAK;AAAA,UACL,MAAO;AAAA,UACP;AAAA,UACA;AAAA,UACA;AAAA,UACA,cAAa;AAAA,UACb,mBAAkB;AAAA;AAAA,MACnB;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,SAAU;AAAA;AAAA,MACX;AAAA,OACD;AAAA,EAEF;AACD;",
6
6
  "names": ["blockEditorPrivateApis"]
7
7
  }
@@ -15,19 +15,21 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // packages/format-library/src/keyboard/index.js
18
20
  var keyboard_exports = {};
19
21
  __export(keyboard_exports, {
20
22
  keyboard: () => keyboard
21
23
  });
22
24
  module.exports = __toCommonJS(keyboard_exports);
23
- var import_jsx_runtime = require("react/jsx-runtime");
24
25
  var import_i18n = require("@wordpress/i18n");
25
26
  var import_rich_text = require("@wordpress/rich-text");
26
27
  var import_block_editor = require("@wordpress/block-editor");
27
28
  var import_icons = require("@wordpress/icons");
28
- const name = "core/keyboard";
29
- const title = (0, import_i18n.__)("Keyboard input");
30
- const keyboard = {
29
+ var import_jsx_runtime = require("react/jsx-runtime");
30
+ var name = "core/keyboard";
31
+ var title = (0, import_i18n.__)("Keyboard input");
32
+ var keyboard = {
31
33
  name,
32
34
  title,
33
35
  tagName: "kbd",
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/keyboard/index.js"],
4
4
  "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"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA2BG;AAxBH,kBAAmB;AACnB,uBAA6B;AAC7B,0BAAsC;AACtC,mBAAuB;AAEvB,MAAM,OAAO;AACb,MAAM,YAAQ,gBAAI,gBAAiB;AAE5B,MAAM,WAAW;AAAA,EACvB;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,EACX,KAAM,EAAE,UAAU,OAAO,UAAU,QAAQ,GAAI;AAC9C,aAAS,WAAW;AACnB,mBAAU,+BAAc,OAAO,EAAE,MAAM,MAAM,MAAM,CAAE,CAAE;AAAA,IACxD;AAEA,aAAS,UAAU;AAClB,eAAS;AACT,cAAQ;AAAA,IACT;AAEA,WACC;AAAA,MAAC;AAAA;AAAA,QACA,MAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA,MAAK;AAAA;AAAA,IACN;AAAA,EAEF;AACD;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,uBAA6B;AAC7B,0BAAsC;AACtC,mBAAuB;AAqBpB;AAnBH,IAAM,OAAO;AACb,IAAM,YAAQ,gBAAI,gBAAiB;AAE5B,IAAM,WAAW;AAAA,EACvB;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,EACX,KAAM,EAAE,UAAU,OAAO,UAAU,QAAQ,GAAI;AAC9C,aAAS,WAAW;AACnB,mBAAU,+BAAc,OAAO,EAAE,MAAM,MAAM,MAAM,CAAE,CAAE;AAAA,IACxD;AAEA,aAAS,UAAU;AAClB,eAAS;AACT,cAAQ;AAAA,IACT;AAEA,WACC;AAAA,MAAC;AAAA;AAAA,QACA,MAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA,QACA,MAAK;AAAA;AAAA,IACN;AAAA,EAEF;AACD;",
6
6
  "names": []
7
7
  }
@@ -15,21 +15,23 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // packages/format-library/src/language/index.js
18
20
  var language_exports = {};
19
21
  __export(language_exports, {
20
22
  language: () => language
21
23
  });
22
24
  module.exports = __toCommonJS(language_exports);
23
- var import_jsx_runtime = require("react/jsx-runtime");
24
25
  var import_i18n = require("@wordpress/i18n");
25
26
  var import_block_editor = require("@wordpress/block-editor");
26
27
  var import_components = require("@wordpress/components");
27
28
  var import_element = require("@wordpress/element");
28
29
  var import_rich_text = require("@wordpress/rich-text");
29
30
  var import_icons = require("@wordpress/icons");
30
- const name = "core/language";
31
- const title = (0, import_i18n.__)("Language");
32
- const language = {
31
+ var import_jsx_runtime = require("react/jsx-runtime");
32
+ var name = "core/language";
33
+ var title = (0, import_i18n.__)("Language");
34
+ var language = {
33
35
  name,
34
36
  tagName: "bdo",
35
37
  className: null,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/language/index.js"],
4
4
  "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\t__experimentalVStack as VStack,\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( { isActive, value, onChange, contentRef } ) {\n\tconst [ isPopoverVisible, setIsPopoverVisible ] = useState( false );\n\tconst togglePopover = () => {\n\t\tsetIsPopoverVisible( ( state ) => ! state );\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\t\t\t{ isPopoverVisible && (\n\t\t\t\t<InlineLanguageUI\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tonClose={ togglePopover }\n\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction InlineLanguageUI( { value, contentRef, onChange, onClose } ) {\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\treturn (\n\t\t<Popover\n\t\t\tclassName=\"block-editor-format-toolbar__language-popover\"\n\t\t\tanchor={ popoverAnchor }\n\t\t\tonClose={ onClose }\n\t\t>\n\t\t\t<VStack\n\t\t\t\tas=\"form\"\n\t\t\t\tspacing={ 4 }\n\t\t\t\tclassName=\"block-editor-format-toolbar__language-container-content\"\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tonChange(\n\t\t\t\t\t\tapplyFormat( value, {\n\t\t\t\t\t\t\ttype: name,\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\tlang,\n\t\t\t\t\t\t\t\tdir,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t\tonClose();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ title }\n\t\t\t\t\tvalue={ lang }\n\t\t\t\t\tonChange={ ( val ) => setLang( val ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'A valid language attribute, like \"en\" or \"fr\".'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Text direction' ) }\n\t\t\t\t\tvalue={ dir }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Left to right' ),\n\t\t\t\t\t\t\tvalue: 'ltr',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Right to left' ),\n\t\t\t\t\t\t\tvalue: 'rtl',\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tonChange={ ( val ) => setDir( val ) }\n\t\t\t\t/>\n\t\t\t\t<HStack alignment=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\ttext={ __( 'Apply' ) }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</Popover>\n\t);\n}\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["languageIcon", "VStack", "HStack"]
7
7
  }
@@ -15,17 +15,19 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // packages/format-library/src/link/css-classes-setting.js
18
20
  var css_classes_setting_exports = {};
19
21
  __export(css_classes_setting_exports, {
20
22
  default: () => css_classes_setting_default
21
23
  });
22
24
  module.exports = __toCommonJS(css_classes_setting_exports);
23
- var import_jsx_runtime = require("react/jsx-runtime");
24
25
  var import_element = require("@wordpress/element");
25
26
  var import_compose = require("@wordpress/compose");
26
27
  var import_i18n = require("@wordpress/i18n");
27
28
  var import_components = require("@wordpress/components");
28
- const CSSClassesSettingComponent = ({ setting, value, onChange }) => {
29
+ var import_jsx_runtime = require("react/jsx-runtime");
30
+ var CSSClassesSettingComponent = ({ setting, value, onChange }) => {
29
31
  const hasValue = value ? value?.cssClasses?.length > 0 : false;
30
32
  const [isSettingActive, setIsSettingActive] = (0, import_element.useState)(hasValue);
31
33
  const instanceId = (0, import_compose.useInstanceId)(CSSClassesSettingComponent);
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/link/css-classes-setting.js"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalInputControl as InputControl,\n\tCheckboxControl,\n\tVisuallyHidden,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n/**\n * CSSClassesSettingComponent\n *\n * Presents a toggleable text input for editing link CSS classes. The input\n * is shown when the toggle is enabled or when there is already a value. When\n * toggled off and a value exists, it resets the value to an empty string.\n *\n * @param {Object} props - Component props.\n * @param {Object} props.setting - Setting configuration object.\n * @param {Object} props.value - Current link value object.\n * @param {Function} props.onChange - Callback when value changes.\n */\nconst CSSClassesSettingComponent = ( { setting, value, onChange } ) => {\n\tconst hasValue = value ? value?.cssClasses?.length > 0 : false;\n\tconst [ isSettingActive, setIsSettingActive ] = useState( hasValue );\n\tconst instanceId = useInstanceId( CSSClassesSettingComponent );\n\tconst controlledRegionId = `css-classes-setting-${ instanceId }`;\n\n\t// Sanitize user input: replace commas with spaces, collapse repeated spaces, and trim\n\tconst handleSettingChange = ( newValue ) => {\n\t\tconst sanitizedValue =\n\t\t\ttypeof newValue === 'string'\n\t\t\t\t? newValue.replace( /,/g, ' ' ).replace( /\\s+/g, ' ' ).trim()\n\t\t\t\t: newValue;\n\t\tonChange( {\n\t\t\t...value,\n\t\t\t[ setting.id ]: sanitizedValue,\n\t\t} );\n\t};\n\n\tconst handleCheckboxChange = () => {\n\t\tif ( isSettingActive ) {\n\t\t\tif ( hasValue ) {\n\t\t\t\t// Reset the value when hiding the input and a value exists.\n\t\t\t\thandleSettingChange( '' );\n\t\t\t}\n\t\t\tsetIsSettingActive( false );\n\t\t} else {\n\t\t\tsetIsSettingActive( true );\n\t\t}\n\t};\n\n\treturn (\n\t\t<fieldset>\n\t\t\t<VisuallyHidden as=\"legend\">{ setting.title }</VisuallyHidden>\n\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t<CheckboxControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ setting.title }\n\t\t\t\t\tonChange={ handleCheckboxChange }\n\t\t\t\t\tchecked={ isSettingActive || hasValue }\n\t\t\t\t\taria-expanded={ isSettingActive }\n\t\t\t\t\taria-controls={\n\t\t\t\t\t\tisSettingActive ? controlledRegionId : undefined\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ isSettingActive && (\n\t\t\t\t\t<div id={ controlledRegionId }>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tlabel={ __( 'CSS classes' ) }\n\t\t\t\t\t\t\tvalue={ value?.cssClasses }\n\t\t\t\t\t\t\tonChange={ handleSettingChange }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Separate multiple classes with spaces.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t__unstableInputWidth=\"100%\"\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t</fieldset>\n\t);\n};\n\nexport default CSSClassesSettingComponent;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAyDG;AAtDH,qBAAyB;AACzB,qBAA8B;AAC9B,kBAAmB;AACnB,wBAKO;AAcP,MAAM,6BAA6B,CAAE,EAAE,SAAS,OAAO,SAAS,MAAO;AACtE,QAAM,WAAW,QAAQ,OAAO,YAAY,SAAS,IAAI;AACzD,QAAM,CAAE,iBAAiB,kBAAmB,QAAI,yBAAU,QAAS;AACnE,QAAM,iBAAa,8BAAe,0BAA2B;AAC7D,QAAM,qBAAqB,uBAAwB,UAAW;AAG9D,QAAM,sBAAsB,CAAE,aAAc;AAC3C,UAAM,iBACL,OAAO,aAAa,WACjB,SAAS,QAAS,MAAM,GAAI,EAAE,QAAS,QAAQ,GAAI,EAAE,KAAK,IAC1D;AACJ,aAAU;AAAA,MACT,GAAG;AAAA,MACH,CAAE,QAAQ,EAAG,GAAG;AAAA,IACjB,CAAE;AAAA,EACH;AAEA,QAAM,uBAAuB,MAAM;AAClC,QAAK,iBAAkB;AACtB,UAAK,UAAW;AAEf,4BAAqB,EAAG;AAAA,MACzB;AACA,yBAAoB,KAAM;AAAA,IAC3B,OAAO;AACN,yBAAoB,IAAK;AAAA,IAC1B;AAAA,EACD;AAEA,SACC,6CAAC,cACA;AAAA,gDAAC,oCAAe,IAAG,UAAW,kBAAQ,OAAO;AAAA,IAC7C,6CAAC,kBAAAA,sBAAA,EAAO,SAAU,GACjB;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,yBAAuB;AAAA,UACvB,OAAQ,QAAQ;AAAA,UAChB,UAAW;AAAA,UACX,SAAU,mBAAmB;AAAA,UAC7B,iBAAgB;AAAA,UAChB,iBACC,kBAAkB,qBAAqB;AAAA;AAAA,MAEzC;AAAA,MACE,mBACD,4CAAC,SAAI,IAAK,oBACT;AAAA,QAAC,kBAAAC;AAAA,QAAA;AAAA,UACA,WAAQ,gBAAI,aAAc;AAAA,UAC1B,OAAQ,OAAO;AAAA,UACf,UAAW;AAAA,UACX,UAAO;AAAA,YACN;AAAA,UACD;AAAA,UACA,sBAAqB;AAAA,UACrB,uBAAqB;AAAA;AAAA,MACtB,GACD;AAAA,OAEF;AAAA,KACD;AAEF;AAEA,IAAO,8BAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAyB;AACzB,qBAA8B;AAC9B,kBAAmB;AACnB,wBAKO;AA8CJ;AAhCH,IAAM,6BAA6B,CAAE,EAAE,SAAS,OAAO,SAAS,MAAO;AACtE,QAAM,WAAW,QAAQ,OAAO,YAAY,SAAS,IAAI;AACzD,QAAM,CAAE,iBAAiB,kBAAmB,QAAI,yBAAU,QAAS;AACnE,QAAM,iBAAa,8BAAe,0BAA2B;AAC7D,QAAM,qBAAqB,uBAAwB,UAAW;AAG9D,QAAM,sBAAsB,CAAE,aAAc;AAC3C,UAAM,iBACL,OAAO,aAAa,WACjB,SAAS,QAAS,MAAM,GAAI,EAAE,QAAS,QAAQ,GAAI,EAAE,KAAK,IAC1D;AACJ,aAAU;AAAA,MACT,GAAG;AAAA,MACH,CAAE,QAAQ,EAAG,GAAG;AAAA,IACjB,CAAE;AAAA,EACH;AAEA,QAAM,uBAAuB,MAAM;AAClC,QAAK,iBAAkB;AACtB,UAAK,UAAW;AAEf,4BAAqB,EAAG;AAAA,MACzB;AACA,yBAAoB,KAAM;AAAA,IAC3B,OAAO;AACN,yBAAoB,IAAK;AAAA,IAC1B;AAAA,EACD;AAEA,SACC,6CAAC,cACA;AAAA,gDAAC,oCAAe,IAAG,UAAW,kBAAQ,OAAO;AAAA,IAC7C,6CAAC,kBAAAA,sBAAA,EAAO,SAAU,GACjB;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,yBAAuB;AAAA,UACvB,OAAQ,QAAQ;AAAA,UAChB,UAAW;AAAA,UACX,SAAU,mBAAmB;AAAA,UAC7B,iBAAgB;AAAA,UAChB,iBACC,kBAAkB,qBAAqB;AAAA;AAAA,MAEzC;AAAA,MACE,mBACD,4CAAC,SAAI,IAAK,oBACT;AAAA,QAAC,kBAAAC;AAAA,QAAA;AAAA,UACA,WAAQ,gBAAI,aAAc;AAAA,UAC1B,OAAQ,OAAO;AAAA,UACf,UAAW;AAAA,UACX,UAAO;AAAA,YACN;AAAA,UACD;AAAA,UACA,sBAAqB;AAAA,UACrB,uBAAqB;AAAA;AAAA,MACtB,GACD;AAAA,OAEF;AAAA,KACD;AAEF;AAEA,IAAO,8BAAQ;",
6
6
  "names": ["VStack", "InputControl"]
7
7
  }
@@ -25,12 +25,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
  mod
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // packages/format-library/src/link/index.js
28
30
  var link_exports = {};
29
31
  __export(link_exports, {
30
32
  link: () => link
31
33
  });
32
34
  module.exports = __toCommonJS(link_exports);
33
- var import_jsx_runtime = require("react/jsx-runtime");
34
35
  var import_i18n = require("@wordpress/i18n");
35
36
  var import_element = require("@wordpress/element");
36
37
  var import_rich_text = require("@wordpress/rich-text");
@@ -42,9 +43,10 @@ var import_a11y = require("@wordpress/a11y");
42
43
  var import_inline = __toESM(require("./inline"));
43
44
  var import_utils = require("./utils");
44
45
  var import_lock_unlock = require("../lock-unlock");
45
- const { essentialFormatKey } = (0, import_lock_unlock.unlock)(import_block_editor.privateApis);
46
- const name = "core/link";
47
- const title = (0, import_i18n.__)("Link");
46
+ var import_jsx_runtime = require("react/jsx-runtime");
47
+ var { essentialFormatKey } = (0, import_lock_unlock.unlock)(import_block_editor.privateApis);
48
+ var name = "core/link";
49
+ var title = (0, import_i18n.__)("Link");
48
50
  function Edit({
49
51
  isActive,
50
52
  activeAttributes,
@@ -183,7 +185,7 @@ function Edit({
183
185
  )
184
186
  ] });
185
187
  }
186
- const link = {
188
+ var link = {
187
189
  name,
188
190
  title,
189
191
  tagName: "a",
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/link/index.js"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState, useLayoutEffect, useEffect } from '@wordpress/element';\nimport {\n\tgetTextContent,\n\tapplyFormat,\n\tremoveFormat,\n\tslice,\n\tisCollapsed,\n\tinsert,\n\tcreate,\n} from '@wordpress/rich-text';\nimport { isURL, isEmail, isPhoneNumber } from '@wordpress/url';\nimport {\n\tRichTextToolbarButton,\n\tRichTextShortcut,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { link as linkIcon } from '@wordpress/icons';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport InlineLinkUI from './inline';\nimport { isValidHref } from './utils';\nimport { unlock } from '../lock-unlock';\n\nconst { essentialFormatKey } = unlock( blockEditorPrivateApis );\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\t// We only need to store the button element that opened the popover. We can ignore the other states, as they will be handled by the onFocus prop to return to the rich text field.\n\tconst [ openedBy, setOpenedBy ] = useState( null );\n\n\tuseEffect( () => {\n\t\t// When the link becomes inactive (i.e. isActive is false), reset the editingLink state\n\t\t// and the creatingLink state. This means that if the Link UI is displayed and the link\n\t\t// becomes inactive (e.g. used arrow keys to move cursor outside of link bounds), the UI will close.\n\t\tif ( ! isActive ) {\n\t\t\tsetAddingLink( false );\n\t\t}\n\t}, [ isActive ] );\n\n\tuseLayoutEffect( () => {\n\t\tconst editableContentElement = contentRef.current;\n\t\tif ( ! editableContentElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction handleClick( event ) {\n\t\t\t// There is a situation whereby there is an existing link in the rich text\n\t\t\t// and the user clicks on the leftmost edge of that link and fails to activate\n\t\t\t// the link format, but the click event still fires on the `<a>` element.\n\t\t\t// This causes the `editingLink` state to be set to `true` and the link UI\n\t\t\t// to be rendered in \"creating\" mode. We need to check isActive to see if\n\t\t\t// we have an active link format.\n\t\t\tconst link = event.target.closest( '[contenteditable] a' );\n\t\t\tif (\n\t\t\t\t! link || // other formats (e.g. bold) may be nested within the link.\n\t\t\t\t! isActive\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetAddingLink( true );\n\t\t\tsetOpenedBy( {\n\t\t\t\tel: link,\n\t\t\t\taction: 'click',\n\t\t\t} );\n\t\t}\n\n\t\teditableContentElement.addEventListener( 'click', handleClick );\n\n\t\treturn () => {\n\t\t\teditableContentElement.removeEventListener( 'click', handleClick );\n\t\t};\n\t}, [ contentRef, isActive ] );\n\n\tfunction addLink( target ) {\n\t\tconst text = getTextContent( slice( value ) );\n\n\t\tif ( ! isActive && 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 ( ! isActive && 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 if ( ! isActive && text && isPhoneNumber( 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: `tel:${ text.replace( /\\D/g, '' ) }` },\n\t\t\t\t} )\n\t\t\t);\n\t\t} else {\n\t\t\tif ( target ) {\n\t\t\t\tsetOpenedBy( {\n\t\t\t\t\tel: target,\n\t\t\t\t\taction: null, // We don't need to distinguish between click or keyboard here\n\t\t\t\t} );\n\t\t\t}\n\t\t\tsetAddingLink( true );\n\t\t}\n\t}\n\n\t/**\n\t * Runs when the popover is closed via escape keypress, unlinking the selected text,\n\t * but _not_ on a click outside the popover. onFocusOutside handles that.\n\t */\n\tfunction stopAddingLink() {\n\t\t// Don't let the click handler on the toolbar button trigger again.\n\n\t\t// There are two places for us to return focus to on Escape keypress:\n\t\t// 1. The rich text field.\n\t\t// 2. The toolbar button.\n\n\t\t// The toolbar button is the only one we need to handle returning focus to.\n\t\t// Otherwise, we rely on the passed in onFocus to return focus to the rich text field.\n\n\t\t// Close the popover\n\t\tsetAddingLink( false );\n\n\t\t// Return focus to the toolbar button or the rich text field\n\t\tif ( openedBy?.el?.tagName === 'BUTTON' ) {\n\t\t\topenedBy.el.focus();\n\t\t} else {\n\t\t\tonFocus();\n\t\t}\n\t\t// Remove the openedBy state\n\t\tsetOpenedBy( null );\n\t}\n\n\t// Test for this:\n\t// 1. Click on the link button\n\t// 2. Click the Options button in the top right of header\n\t// 3. Focus should be in the dropdown of the Options button\n\t// 4. Press Escape\n\t// 5. Focus should be on the Options button\n\tfunction onFocusOutside() {\n\t\tsetAddingLink( false );\n\t\tsetOpenedBy( null );\n\t}\n\n\tfunction onRemoveFormat() {\n\t\tonChange( removeFormat( value, name ) );\n\t\tspeak( __( 'Link removed.' ), 'assertive' );\n\t}\n\n\t// Only autofocus if we have clicked a link within the editor\n\tconst shouldAutoFocus = ! (\n\t\topenedBy?.el?.tagName === 'A' && openedBy?.action === 'click'\n\t);\n\n\tconst hasSelection = ! isCollapsed( value );\n\n\treturn (\n\t\t<>\n\t\t\t{ hasSelection && (\n\t\t\t\t<RichTextShortcut\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\tcharacter=\"k\"\n\t\t\t\t\tonUse={ addLink }\n\t\t\t\t/>\n\t\t\t) }\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<RichTextToolbarButton\n\t\t\t\tname=\"link\"\n\t\t\t\ticon={ linkIcon }\n\t\t\t\ttitle={ isActive ? __( 'Link' ) : title }\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\taddLink( event.currentTarget );\n\t\t\t\t} }\n\t\t\t\tisActive={ isActive || addingLink }\n\t\t\t\tshortcutType=\"primary\"\n\t\t\t\tshortcutCharacter=\"k\"\n\t\t\t\taria-haspopup=\"true\"\n\t\t\t\taria-expanded={ addingLink }\n\t\t\t/>\n\t\t\t{ addingLink && (\n\t\t\t\t<InlineLinkUI\n\t\t\t\t\tstopAddingLink={ stopAddingLink }\n\t\t\t\t\tonFocusOutside={ onFocusOutside }\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\tfocusOnMount={ shouldAutoFocus ? 'firstElement' : false }\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\t_id: 'id',\n\t\ttarget: 'target',\n\t\trel: 'rel',\n\t\tclass: 'class',\n\t},\n\t[ essentialFormatKey ]: true,\n\t__unstablePasteRule( value, { html, plainText } ) {\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\t// For the link pasting feature, allow only http(s) protocols.\n\t\tif ( ! isURL( pastedText ) || ! /^https?:/.test( 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\tconst format = {\n\t\t\ttype: name,\n\t\t\tattributes: {\n\t\t\t\turl: decodeEntities( pastedText ),\n\t\t\t},\n\t\t};\n\n\t\tif ( isCollapsed( value ) ) {\n\t\t\treturn insert(\n\t\t\t\tvalue,\n\t\t\t\tapplyFormat(\n\t\t\t\t\tcreate( { text: plainText } ),\n\t\t\t\t\tformat,\n\t\t\t\t\t0,\n\t\t\t\t\tplainText.length\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\treturn applyFormat( value, format );\n\t},\n\tedit: Edit,\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAmLE;AAhLF,kBAAmB;AACnB,qBAAqD;AACrD,uBAQO;AACP,iBAA8C;AAC9C,0BAIO;AACP,2BAA+B;AAC/B,mBAAiC;AACjC,kBAAsB;AAKtB,oBAAyB;AACzB,mBAA4B;AAC5B,yBAAuB;AAEvB,MAAM,EAAE,mBAAmB,QAAI,2BAAQ,oBAAAA,WAAuB;AAE9D,MAAM,OAAO;AACb,MAAM,YAAQ,gBAAI,MAAO;AAEzB,SAAS,KAAM;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,CAAE,YAAY,aAAc,QAAI,yBAAU,KAAM;AAGtD,QAAM,CAAE,UAAU,WAAY,QAAI,yBAAU,IAAK;AAEjD,gCAAW,MAAM;AAIhB,QAAK,CAAE,UAAW;AACjB,oBAAe,KAAM;AAAA,IACtB;AAAA,EACD,GAAG,CAAE,QAAS,CAAE;AAEhB,sCAAiB,MAAM;AACtB,UAAM,yBAAyB,WAAW;AAC1C,QAAK,CAAE,wBAAyB;AAC/B;AAAA,IACD;AAEA,aAAS,YAAa,OAAQ;AAO7B,YAAMC,QAAO,MAAM,OAAO,QAAS,qBAAsB;AACzD,UACC,CAAEA;AAAA,MACF,CAAE,UACD;AACD;AAAA,MACD;AAEA,oBAAe,IAAK;AACpB,kBAAa;AAAA,QACZ,IAAIA;AAAA,QACJ,QAAQ;AAAA,MACT,CAAE;AAAA,IACH;AAEA,2BAAuB,iBAAkB,SAAS,WAAY;AAE9D,WAAO,MAAM;AACZ,6BAAuB,oBAAqB,SAAS,WAAY;AAAA,IAClE;AAAA,EACD,GAAG,CAAE,YAAY,QAAS,CAAE;AAE5B,WAAS,QAAS,QAAS;AAC1B,UAAM,WAAO,qCAAgB,wBAAO,KAAM,CAAE;AAE5C,QAAK,CAAE,YAAY,YAAQ,kBAAO,IAAK,SAAK,0BAAa,IAAK,GAAI;AACjE;AAAA,YACC,8BAAa,OAAO;AAAA,UACnB,MAAM;AAAA,UACN,YAAY,EAAE,KAAK,KAAK;AAAA,QACzB,CAAE;AAAA,MACH;AAAA,IACD,WAAY,CAAE,YAAY,YAAQ,oBAAS,IAAK,GAAI;AACnD;AAAA,YACC,8BAAa,OAAO;AAAA,UACnB,MAAM;AAAA,UACN,YAAY,EAAE,KAAK,UAAW,IAAK,GAAG;AAAA,QACvC,CAAE;AAAA,MACH;AAAA,IACD,WAAY,CAAE,YAAY,YAAQ,0BAAe,IAAK,GAAI;AACzD;AAAA,YACC,8BAAa,OAAO;AAAA,UACnB,MAAM;AAAA,UACN,YAAY,EAAE,KAAK,OAAQ,KAAK,QAAS,OAAO,EAAG,CAAE,GAAG;AAAA,QACzD,CAAE;AAAA,MACH;AAAA,IACD,OAAO;AACN,UAAK,QAAS;AACb,oBAAa;AAAA,UACZ,IAAI;AAAA,UACJ,QAAQ;AAAA;AAAA,QACT,CAAE;AAAA,MACH;AACA,oBAAe,IAAK;AAAA,IACrB;AAAA,EACD;AAMA,WAAS,iBAAiB;AAWzB,kBAAe,KAAM;AAGrB,QAAK,UAAU,IAAI,YAAY,UAAW;AACzC,eAAS,GAAG,MAAM;AAAA,IACnB,OAAO;AACN,cAAQ;AAAA,IACT;AAEA,gBAAa,IAAK;AAAA,EACnB;AAQA,WAAS,iBAAiB;AACzB,kBAAe,KAAM;AACrB,gBAAa,IAAK;AAAA,EACnB;AAEA,WAAS,iBAAiB;AACzB,iBAAU,+BAAc,OAAO,IAAK,CAAE;AACtC,+BAAO,gBAAI,eAAgB,GAAG,WAAY;AAAA,EAC3C;AAGA,QAAM,kBAAkB,EACvB,UAAU,IAAI,YAAY,OAAO,UAAU,WAAW;AAGvD,QAAM,eAAe,KAAE,8BAAa,KAAM;AAE1C,SACC,4EACG;AAAA,oBACD;AAAA,MAAC;AAAA;AAAA,QACA,MAAK;AAAA,QACL,WAAU;AAAA,QACV,OAAQ;AAAA;AAAA,IACT;AAAA,IAED;AAAA,MAAC;AAAA;AAAA,QACA,MAAK;AAAA,QACL,WAAU;AAAA,QACV,OAAQ;AAAA;AAAA,IACT;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACA,MAAK;AAAA,QACL,MAAO,aAAAC;AAAA,QACP,OAAQ,eAAW,gBAAI,MAAO,IAAI;AAAA,QAClC,SAAU,CAAE,UAAW;AACtB,kBAAS,MAAM,aAAc;AAAA,QAC9B;AAAA,QACA,UAAW,YAAY;AAAA,QACvB,cAAa;AAAA,QACb,mBAAkB;AAAA,QAClB,iBAAc;AAAA,QACd,iBAAgB;AAAA;AAAA,IACjB;AAAA,IACE,cACD;AAAA,MAAC,cAAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,cAAe,kBAAkB,iBAAiB;AAAA;AAAA,IACnD;AAAA,KAEF;AAEF;AAEO,MAAM,OAAO;AAAA,EACnB;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,EACX,YAAY;AAAA,IACX,KAAK;AAAA,IACL,MAAM;AAAA,IACN,IAAI;AAAA,IACJ,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,KAAK;AAAA,IACL,OAAO;AAAA,EACR;AAAA,EACA,CAAE,kBAAmB,GAAG;AAAA,EACxB,oBAAqB,OAAO,EAAE,MAAM,UAAU,GAAI;AACjD,UAAM,cAAe,QAAQ,WAC3B,QAAS,YAAY,EAAG,EACxB,KAAK;AAIP,QAAK,KAAE,kBAAO,UAAW,KAAK,CAAE,WAAW,KAAM,UAAW,GAAI;AAC/D,aAAO;AAAA,IACR;AAGA,WAAO,QAAQ,IAAK,qBAAqB,UAAW;AAEpD,UAAM,SAAS;AAAA,MACd,MAAM;AAAA,MACN,YAAY;AAAA,QACX,SAAK,qCAAgB,UAAW;AAAA,MACjC;AAAA,IACD;AAEA,YAAK,8BAAa,KAAM,GAAI;AAC3B,iBAAO;AAAA,QACN;AAAA,YACA;AAAA,cACC,yBAAQ,EAAE,MAAM,UAAU,CAAE;AAAA,UAC5B;AAAA,UACA;AAAA,UACA,UAAU;AAAA,QACX;AAAA,MACD;AAAA,IACD;AAEA,eAAO,8BAAa,OAAO,MAAO;AAAA,EACnC;AAAA,EACA,MAAM;AACP;",
5
+ "mappings": "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",
6
6
  "names": ["blockEditorPrivateApis", "link", "linkIcon", "InlineLinkUI"]
7
7
  }
@@ -25,12 +25,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
  mod
26
26
  ));
27
27
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // packages/format-library/src/link/inline.js
28
30
  var inline_exports = {};
29
31
  __export(inline_exports, {
30
32
  default: () => inline_default
31
33
  });
32
34
  module.exports = __toCommonJS(inline_exports);
33
- var import_jsx_runtime = require("react/jsx-runtime");
34
35
  var import_element = require("@wordpress/element");
35
36
  var import_i18n = require("@wordpress/i18n");
36
37
  var import_a11y = require("@wordpress/a11y");
@@ -42,7 +43,8 @@ var import_data = require("@wordpress/data");
42
43
  var import_utils = require("./utils");
43
44
  var import_index = require("./index");
44
45
  var import_css_classes_setting = __toESM(require("./css-classes-setting"));
45
- const LINK_SETTINGS = [
46
+ var import_jsx_runtime = require("react/jsx-runtime");
47
+ var LINK_SETTINGS = [
46
48
  ...import_block_editor.LinkControl.DEFAULT_LINK_SETTINGS,
47
49
  {
48
50
  id: "nofollow",
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/link/inline.js"],
4
4
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useMemo, createInterpolateElement } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { Popover } from '@wordpress/components';\nimport { prependHTTP } from '@wordpress/url';\nimport {\n\tcreate,\n\tinsert,\n\tisCollapsed,\n\tapplyFormat,\n\tremoveFormat,\n\tslice,\n\treplace,\n\tsplit,\n\tconcat,\n\tuseAnchor,\n} from '@wordpress/rich-text';\nimport {\n\tLinkControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { createLinkFormat, isValidHref, getFormatBoundary } from './utils';\nimport { link as settings } from './index';\nimport CSSClassesSettingComponent from './css-classes-setting';\n\n// CSSClassesSettingComponent moved to its own file and imported above.\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n\t{\n\t\tid: 'cssClasses',\n\t\ttitle: __( 'Additional CSS class(es)' ),\n\t\trender: ( setting, value, onChange ) => {\n\t\t\treturn (\n\t\t\t\t<CSSClassesSettingComponent\n\t\t\t\t\tsetting={ setting }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t);\n\t\t},\n\t},\n];\n\nfunction InlineLinkUI( {\n\tisActive,\n\tactiveAttributes,\n\tvalue,\n\tonChange,\n\tonFocusOutside,\n\tstopAddingLink,\n\tcontentRef,\n\tfocusOnMount,\n} ) {\n\tconst richLinkTextValue = getRichTextValueFromSelection( value, isActive );\n\n\t// Get the text content minus any HTML tags.\n\tconst richTextText = richLinkTextValue.text;\n\n\tconst { selectionChange } = useDispatch( blockEditorStore );\n\n\tconst { createPageEntity, userCanCreatePages, selectionStart } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, getSelectionStart } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst _settings = getSettings();\n\n\t\t\treturn {\n\t\t\t\tcreatePageEntity: _settings.__experimentalCreatePageEntity,\n\t\t\t\tuserCanCreatePages: _settings.__experimentalUserCanCreatePages,\n\t\t\t\tselectionStart: getSelectionStart(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst linkValue = useMemo(\n\t\t() => ( {\n\t\t\turl: activeAttributes.url,\n\t\t\ttype: activeAttributes.type,\n\t\t\tid: activeAttributes.id,\n\t\t\topensInNewTab: activeAttributes.target === '_blank',\n\t\t\tnofollow: activeAttributes.rel?.includes( 'nofollow' ),\n\t\t\ttitle: richTextText,\n\t\t\tcssClasses: activeAttributes.class,\n\t\t} ),\n\t\t[\n\t\t\tactiveAttributes.class,\n\t\t\tactiveAttributes.id,\n\t\t\tactiveAttributes.rel,\n\t\t\tactiveAttributes.target,\n\t\t\tactiveAttributes.type,\n\t\t\tactiveAttributes.url,\n\t\t\trichTextText,\n\t\t]\n\t);\n\n\tfunction removeLink() {\n\t\tconst newValue = removeFormat( value, 'core/link' );\n\t\tonChange( newValue );\n\t\tstopAddingLink();\n\t\tspeak( __( 'Link removed.' ), 'assertive' );\n\t}\n\n\tfunction onChangeLink( nextValue ) {\n\t\tconst hasLink = linkValue?.url;\n\t\tconst isNewLink = ! hasLink;\n\n\t\t// Merge the next value with the current link value.\n\t\tnextValue = {\n\t\t\t...linkValue,\n\t\t\t...nextValue,\n\t\t};\n\n\t\tconst newUrl = prependHTTP( nextValue.url );\n\t\tconst linkFormat = createLinkFormat( {\n\t\t\turl: newUrl,\n\t\t\ttype: nextValue.type,\n\t\t\tid:\n\t\t\t\tnextValue.id !== undefined && nextValue.id !== null\n\t\t\t\t\t? String( nextValue.id )\n\t\t\t\t\t: undefined,\n\t\t\topensInNewWindow: nextValue.opensInNewTab,\n\t\t\tnofollow: nextValue.nofollow,\n\t\t\tcssClasses: nextValue.cssClasses,\n\t\t} );\n\n\t\tconst newText = nextValue.title || newUrl;\n\n\t\t// Scenario: we have any active text selection or an active format.\n\t\tlet newValue;\n\t\tif ( isCollapsed( value ) && ! isActive ) {\n\t\t\t// Scenario: we don't have any actively selected text or formats.\n\t\t\tconst inserted = insert( value, newText );\n\n\t\t\tnewValue = applyFormat(\n\t\t\t\tinserted,\n\t\t\t\tlinkFormat,\n\t\t\t\tvalue.start,\n\t\t\t\tvalue.start + newText.length\n\t\t\t);\n\n\t\t\tonChange( newValue );\n\n\t\t\t// Close the Link UI.\n\t\t\tstopAddingLink();\n\n\t\t\t// Move the selection to the end of the inserted link outside of the format boundary\n\t\t\t// so the user can continue typing after the link.\n\t\t\tselectionChange( {\n\t\t\t\tclientId: selectionStart.clientId,\n\t\t\t\tidentifier: selectionStart.attributeKey,\n\t\t\t\tstart: value.start + newText.length + 1,\n\t\t\t} );\n\n\t\t\treturn;\n\t\t} else if ( newText === richTextText ) {\n\t\t\tnewValue = applyFormat( value, linkFormat );\n\t\t} else {\n\t\t\t// Scenario: Editing an existing link.\n\n\t\t\t// Create new RichText value for the new text in order that we\n\t\t\t// can apply formats to it.\n\t\t\tnewValue = create( { text: newText } );\n\t\t\t// Apply the new Link format to this new text value.\n\t\t\tnewValue = applyFormat( newValue, linkFormat, 0, newText.length );\n\n\t\t\t// Get the boundaries of the active link format.\n\t\t\tconst boundary = getFormatBoundary( value, {\n\t\t\t\ttype: 'core/link',\n\t\t\t} );\n\n\t\t\t// Split the value at the start of the active link format.\n\t\t\t// Passing \"start\" as the 3rd parameter is required to ensure\n\t\t\t// the second half of the split value is split at the format's\n\t\t\t// start boundary and avoids relying on the value's \"end\" property\n\t\t\t// which may not correspond correctly.\n\t\t\tconst [ valBefore, valAfter ] = split(\n\t\t\t\tvalue,\n\t\t\t\tboundary.start,\n\t\t\t\tboundary.start\n\t\t\t);\n\n\t\t\t// Update the original (full) RichTextValue replacing the\n\t\t\t// target text with the *new* RichTextValue containing:\n\t\t\t// 1. The new text content.\n\t\t\t// 2. The new link format.\n\t\t\t// As \"replace\" will operate on the first match only, it is\n\t\t\t// run only against the second half of the value which was\n\t\t\t// split at the active format's boundary. This avoids a bug\n\t\t\t// with incorrectly targeted replacements.\n\t\t\t// See: https://github.com/WordPress/gutenberg/issues/41771.\n\t\t\t// Note original formats will be lost when applying this change.\n\t\t\t// That is expected behaviour.\n\t\t\t// See: https://github.com/WordPress/gutenberg/pull/33849#issuecomment-936134179.\n\t\t\tconst newValAfter = replace( valAfter, richTextText, newValue );\n\n\t\t\tnewValue = concat( valBefore, newValAfter );\n\t\t}\n\n\t\tonChange( newValue );\n\n\t\t// Focus should only be returned to the rich text on submit if this link is not\n\t\t// being created for the first time. If it is then focus should remain within the\n\t\t// Link UI because it should remain open for the user to modify the link they have\n\t\t// just created.\n\t\tif ( ! isNewLink ) {\n\t\t\tstopAddingLink();\n\t\t}\n\n\t\tif ( ! isValidHref( newUrl ) ) {\n\t\t\tspeak(\n\t\t\t\t__(\n\t\t\t\t\t'Warning: the link has been inserted but may have errors. Please test it.'\n\t\t\t\t),\n\t\t\t\t'assertive'\n\t\t\t);\n\t\t} else if ( isActive ) {\n\t\t\tspeak( __( 'Link edited.' ), 'assertive' );\n\t\t} else {\n\t\t\tspeak( __( 'Link inserted.' ), 'assertive' );\n\t\t}\n\t}\n\n\tconst popoverAnchor = useAnchor( {\n\t\teditableContentElement: contentRef.current,\n\t\tsettings: {\n\t\t\t...settings,\n\t\t\tisActive,\n\t\t},\n\t} );\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst page = await createPageEntity( {\n\t\t\ttitle: pageTitle,\n\t\t\tstatus: 'draft',\n\t\t} );\n\n\t\treturn {\n\t\t\tid: page.id,\n\t\t\ttype: page.type,\n\t\t\ttitle: page.title.rendered,\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\tfunction createButtonText( searchTerm ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t__( 'Create page: <mark>%s</mark>' ),\n\t\t\t\tsearchTerm\n\t\t\t),\n\t\t\t{ mark: <mark /> }\n\t\t);\n\t}\n\n\treturn (\n\t\t<Popover\n\t\t\tanchor={ popoverAnchor }\n\t\t\tanimate={ false }\n\t\t\tonClose={ stopAddingLink }\n\t\t\tonFocusOutside={ onFocusOutside }\n\t\t\tplacement=\"bottom\"\n\t\t\toffset={ 8 }\n\t\t\tshift\n\t\t\tfocusOnMount={ focusOnMount }\n\t\t\tconstrainTabbing\n\t\t>\n\t\t\t<LinkControl\n\t\t\t\tvalue={ linkValue }\n\t\t\t\tonChange={ onChangeLink }\n\t\t\t\tonRemove={ removeLink }\n\t\t\t\thasRichPreviews\n\t\t\t\tcreateSuggestion={ createPageEntity && handleCreate }\n\t\t\t\twithCreateSuggestion={ userCanCreatePages }\n\t\t\t\tcreateSuggestionButtonText={ createButtonText }\n\t\t\t\thasTextControl\n\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\tshowInitialSuggestions\n\t\t\t\tsuggestionsQuery={ {\n\t\t\t\t\t// always show Pages as initial suggestions\n\t\t\t\t\tinitialSuggestionsSearchOptions: {\n\t\t\t\t\t\ttype: 'post',\n\t\t\t\t\t\tsubtype: 'page',\n\t\t\t\t\t\tperPage: 20,\n\t\t\t\t\t},\n\t\t\t\t} }\n\t\t\t/>\n\t\t</Popover>\n\t);\n}\n\nfunction getRichTextValueFromSelection( value, isActive ) {\n\t// Default to the selection ranges on the RichTextValue object.\n\tlet textStart = value.start;\n\tlet textEnd = value.end;\n\n\t// If the format is currently active then the rich text value\n\t// should always be taken from the bounds of the active format\n\t// and not the selected text.\n\tif ( isActive ) {\n\t\tconst boundary = getFormatBoundary( value, {\n\t\t\ttype: 'core/link',\n\t\t} );\n\n\t\ttextStart = boundary.start;\n\n\t\t// Text *selection* always extends +1 beyond the edge of the format.\n\t\t// We account for that here.\n\t\ttextEnd = boundary.end + 1;\n\t}\n\n\t// Get a RichTextValue containing the selected text content.\n\treturn slice( value, textStart, textEnd );\n}\n\nexport default InlineLinkUI;\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": ["CSSClassesSettingComponent", "blockEditorStore", "settings"]
7
7
  }
@@ -15,14 +15,16 @@ var __copyProps = (to, from, except, desc) => {
15
15
  return to;
16
16
  };
17
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // packages/format-library/src/link/use-link-instance-key.js
18
20
  var use_link_instance_key_exports = {};
19
21
  __export(use_link_instance_key_exports, {
20
22
  default: () => use_link_instance_key_default
21
23
  });
22
24
  module.exports = __toCommonJS(use_link_instance_key_exports);
23
- const weakMap = /* @__PURE__ */ new WeakMap();
24
- let id = -1;
25
- const prefix = "link-control-instance";
25
+ var weakMap = /* @__PURE__ */ new WeakMap();
26
+ var id = -1;
27
+ var prefix = "link-control-instance";
26
28
  function getKey(_id) {
27
29
  return `${prefix}-${_id}`;
28
30
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/link/use-link-instance-key.js"],
4
4
  "sourcesContent": ["// Weakly referenced map allows unused ids to be garbage collected.\nconst weakMap = new WeakMap();\n\n// Incrementing zero-based ID value.\nlet id = -1;\n\nconst prefix = 'link-control-instance';\n\nfunction getKey( _id ) {\n\treturn `${ prefix }-${ _id }`;\n}\n\n/**\n * Builds a unique link control key for the given object reference.\n *\n * @param {Object} instance an unique object reference specific to this link control instance.\n * @return {string | undefined} the unique key to use for this link control.\n */\nfunction useLinkInstanceKey( instance ) {\n\tif ( ! instance ) {\n\t\treturn;\n\t}\n\tif ( weakMap.has( instance ) ) {\n\t\treturn getKey( weakMap.get( instance ) );\n\t}\n\n\tid += 1;\n\n\tweakMap.set( instance, id );\n\n\treturn getKey( id );\n}\n\nexport default useLinkInstanceKey;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,MAAM,UAAU,oBAAI,QAAQ;AAG5B,IAAI,KAAK;AAET,MAAM,SAAS;AAEf,SAAS,OAAQ,KAAM;AACtB,SAAO,GAAI,MAAO,IAAK,GAAI;AAC5B;AAQA,SAAS,mBAAoB,UAAW;AACvC,MAAK,CAAE,UAAW;AACjB;AAAA,EACD;AACA,MAAK,QAAQ,IAAK,QAAS,GAAI;AAC9B,WAAO,OAAQ,QAAQ,IAAK,QAAS,CAAE;AAAA,EACxC;AAEA,QAAM;AAEN,UAAQ,IAAK,UAAU,EAAG;AAE1B,SAAO,OAAQ,EAAG;AACnB;AAEA,IAAO,gCAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,IAAM,UAAU,oBAAI,QAAQ;AAG5B,IAAI,KAAK;AAET,IAAM,SAAS;AAEf,SAAS,OAAQ,KAAM;AACtB,SAAO,GAAI,MAAO,IAAK,GAAI;AAC5B;AAQA,SAAS,mBAAoB,UAAW;AACvC,MAAK,CAAE,UAAW;AACjB;AAAA,EACD;AACA,MAAK,QAAQ,IAAK,QAAS,GAAI;AAC9B,WAAO,OAAQ,QAAQ,IAAK,QAAS,CAAE;AAAA,EACxC;AAEA,QAAM;AAEN,UAAQ,IAAK,UAAU,EAAG;AAE1B,SAAO,OAAQ,EAAG;AACnB;AAEA,IAAO,gCAAQ;",
6
6
  "names": []
7
7
  }