@wordpress/format-library 5.32.0 → 5.32.1-next.ff1cebbba.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 (132) hide show
  1. package/build/bold/index.js +69 -58
  2. package/build/bold/index.js.map +7 -1
  3. package/build/code/index.js +62 -54
  4. package/build/code/index.js.map +7 -1
  5. package/build/default-formats.js +52 -24
  6. package/build/default-formats.js.map +7 -1
  7. package/build/image/index.js +185 -153
  8. package/build/image/index.js.map +7 -1
  9. package/build/index.js +28 -18
  10. package/build/index.js.map +7 -1
  11. package/build/italic/index.js +69 -58
  12. package/build/italic/index.js.map +7 -1
  13. package/build/keyboard/index.js +47 -36
  14. package/build/keyboard/index.js.map +7 -1
  15. package/build/language/index.js +145 -113
  16. package/build/language/index.js.map +7 -1
  17. package/build/link/css-classes-setting.js +81 -0
  18. package/build/link/css-classes-setting.js.map +7 -0
  19. package/build/link/index.js +162 -167
  20. package/build/link/index.js.map +7 -1
  21. package/build/link/inline.js +186 -174
  22. package/build/link/inline.js.map +7 -1
  23. package/build/link/use-link-instance-key.js +25 -19
  24. package/build/link/use-link-instance-key.js.map +7 -1
  25. package/build/link/utils.js +66 -115
  26. package/build/link/utils.js.map +7 -1
  27. package/build/lock-unlock.js +31 -15
  28. package/build/lock-unlock.js.map +7 -1
  29. package/build/non-breaking-space/index.js +44 -28
  30. package/build/non-breaking-space/index.js.map +7 -1
  31. package/build/strikethrough/index.js +57 -42
  32. package/build/strikethrough/index.js.map +7 -1
  33. package/build/subscript/index.js +47 -36
  34. package/build/subscript/index.js.map +7 -1
  35. package/build/superscript/index.js +47 -36
  36. package/build/superscript/index.js.map +7 -1
  37. package/build/text-color/index.js +102 -70
  38. package/build/text-color/index.js.map +7 -1
  39. package/build/text-color/inline.js +118 -116
  40. package/build/text-color/inline.js.map +7 -1
  41. package/build/underline/index.js +62 -40
  42. package/build/underline/index.js.map +7 -1
  43. package/build/unknown/index.js +51 -37
  44. package/build/unknown/index.js.map +7 -1
  45. package/build-module/bold/index.js +52 -52
  46. package/build-module/bold/index.js.map +7 -1
  47. package/build-module/code/index.js +41 -46
  48. package/build-module/code/index.js.map +7 -1
  49. package/build-module/default-formats.js +34 -19
  50. package/build-module/default-formats.js.map +7 -1
  51. package/build-module/image/index.js +174 -144
  52. package/build-module/image/index.js.map +7 -1
  53. package/build-module/index.js +6 -14
  54. package/build-module/index.js.map +7 -1
  55. package/build-module/italic/index.js +52 -52
  56. package/build-module/italic/index.js.map +7 -1
  57. package/build-module/keyboard/index.js +25 -30
  58. package/build-module/keyboard/index.js.map +7 -1
  59. package/build-module/language/index.js +128 -105
  60. package/build-module/language/index.js.map +7 -1
  61. package/build-module/link/css-classes-setting.js +67 -0
  62. package/build-module/link/css-classes-setting.js.map +7 -0
  63. package/build-module/link/index.js +128 -146
  64. package/build-module/link/index.js.map +7 -1
  65. package/build-module/link/inline.js +158 -154
  66. package/build-module/link/inline.js.map +7 -1
  67. package/build-module/link/use-link-instance-key.js +7 -14
  68. package/build-module/link/use-link-instance-key.js.map +7 -1
  69. package/build-module/link/utils.js +46 -101
  70. package/build-module/link/utils.js.map +7 -1
  71. package/build-module/lock-unlock.js +8 -7
  72. package/build-module/lock-unlock.js.map +7 -1
  73. package/build-module/non-breaking-space/index.js +22 -22
  74. package/build-module/non-breaking-space/index.js.map +7 -1
  75. package/build-module/strikethrough/index.js +38 -36
  76. package/build-module/strikethrough/index.js.map +7 -1
  77. package/build-module/subscript/index.js +25 -30
  78. package/build-module/subscript/index.js.map +7 -1
  79. package/build-module/superscript/index.js +25 -30
  80. package/build-module/superscript/index.js.map +7 -1
  81. package/build-module/text-color/index.js +72 -61
  82. package/build-module/text-color/index.js.map +7 -1
  83. package/build-module/text-color/inline.js +107 -106
  84. package/build-module/text-color/inline.js.map +7 -1
  85. package/build-module/underline/index.js +43 -34
  86. package/build-module/underline/index.js.map +7 -1
  87. package/build-module/unknown/index.js +26 -28
  88. package/build-module/unknown/index.js.map +7 -1
  89. package/build-style/style-rtl.css +0 -194
  90. package/build-style/style.css +0 -194
  91. package/package.json +21 -15
  92. package/src/image/style.scss +3 -0
  93. package/src/link/css-classes-setting.js +89 -0
  94. package/src/link/index.js +1 -0
  95. package/src/link/inline.js +19 -0
  96. package/src/link/style.scss +3 -0
  97. package/src/link/test/css-classes-setting.js +144 -0
  98. package/src/link/utils.js +8 -0
  99. package/src/style.scss +4 -4
  100. package/src/text-color/style.scss +2 -0
  101. package/build/default-formats.native.js +0 -16
  102. package/build/default-formats.native.js.map +0 -1
  103. package/build/link/index.native.js +0 -174
  104. package/build/link/index.native.js.map +0 -1
  105. package/build/link/modal-screens/link-picker-screen.native.js +0 -67
  106. package/build/link/modal-screens/link-picker-screen.native.js.map +0 -1
  107. package/build/link/modal-screens/link-settings-screen.native.js +0 -226
  108. package/build/link/modal-screens/link-settings-screen.native.js.map +0 -1
  109. package/build/link/modal-screens/screens.native.js +0 -11
  110. package/build/link/modal-screens/screens.native.js.map +0 -1
  111. package/build/link/modal.native.js +0 -53
  112. package/build/link/modal.native.js.map +0 -1
  113. package/build/text-color/index.native.js +0 -134
  114. package/build/text-color/index.native.js.map +0 -1
  115. package/build/text-color/inline.native.js +0 -150
  116. package/build/text-color/inline.native.js.map +0 -1
  117. package/build-module/default-formats.native.js +0 -10
  118. package/build-module/default-formats.native.js.map +0 -1
  119. package/build-module/link/index.native.js +0 -166
  120. package/build-module/link/index.native.js.map +0 -1
  121. package/build-module/link/modal-screens/link-picker-screen.native.js +0 -59
  122. package/build-module/link/modal-screens/link-picker-screen.native.js.map +0 -1
  123. package/build-module/link/modal-screens/link-settings-screen.native.js +0 -218
  124. package/build-module/link/modal-screens/link-settings-screen.native.js.map +0 -1
  125. package/build-module/link/modal-screens/screens.native.js +0 -5
  126. package/build-module/link/modal-screens/screens.native.js.map +0 -1
  127. package/build-module/link/modal.native.js +0 -45
  128. package/build-module/link/modal.native.js.map +0 -1
  129. package/build-module/text-color/index.native.js +0 -126
  130. package/build-module/text-color/index.native.js.map +0 -1
  131. package/build-module/text-color/inline.native.js +0 -142
  132. package/build-module/text-color/inline.native.js.map +0 -1
@@ -1 +1,7 @@
1
- {"version":3,"names":["_i18n","require","_richText","_blockEditor","_icons","_lockUnlock","_jsxRuntime","essentialFormatKey","unlock","blockEditorPrivateApis","name","title","__","italic","exports","tagName","className","edit","isActive","value","onChange","onFocus","onToggle","toggleFormat","type","onClick","jsxs","Fragment","children","jsx","RichTextShortcut","character","onUse","RichTextToolbarButton","icon","formatItalic","shortcutType","shortcutCharacter","__unstableRichTextInputEvent","inputType","onInput"],"sources":["@wordpress/format-library/src/italic/index.js"],"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"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAMA,IAAAG,MAAA,GAAAH,OAAA;AAKA,IAAAI,WAAA,GAAAJ,OAAA;AAAwC,IAAAK,WAAA,GAAAL,OAAA;AAhBxC;AACA;AACA;;AAWA;AACA;AACA;;AAGA,MAAM;EAAEM;AAAmB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AAE/D,MAAMC,IAAI,GAAG,aAAa;AAC1B,MAAMC,KAAK,GAAG,IAAAC,QAAE,EAAE,QAAS,CAAC;AAErB,MAAMC,MAAM,GAAAC,OAAA,CAAAD,MAAA,GAAG;EACrBH,IAAI;EACJC,KAAK;EACLI,OAAO,EAAE,IAAI;EACbC,SAAS,EAAE,IAAI;EACf,CAAET,kBAAkB,GAAI,IAAI;EAC5BU,IAAIA,CAAE;IAAEC,QAAQ;IAAEC,KAAK;IAAEC,QAAQ;IAAEC;EAAQ,CAAC,EAAG;IAC9C,SAASC,QAAQA,CAAA,EAAG;MACnBF,QAAQ,CAAE,IAAAG,sBAAY,EAAEJ,KAAK,EAAE;QAAEK,IAAI,EAAEd,IAAI;QAAEC;MAAM,CAAE,CAAE,CAAC;IACzD;IAEA,SAASc,OAAOA,CAAA,EAAG;MAClBL,QAAQ,CAAE,IAAAG,sBAAY,EAAEJ,KAAK,EAAE;QAAEK,IAAI,EAAEd;MAAK,CAAE,CAAE,CAAC;MACjDW,OAAO,CAAC,CAAC;IACV;IAEA,oBACC,IAAAf,WAAA,CAAAoB,IAAA,EAAApB,WAAA,CAAAqB,QAAA;MAAAC,QAAA,gBACC,IAAAtB,WAAA,CAAAuB,GAAA,EAAC1B,YAAA,CAAA2B,gBAAgB;QAChBN,IAAI,EAAC,SAAS;QACdO,SAAS,EAAC,GAAG;QACbC,KAAK,EAAGV;MAAU,CAClB,CAAC,eACF,IAAAhB,WAAA,CAAAuB,GAAA,EAAC1B,YAAA,CAAA8B,qBAAqB;QACrBvB,IAAI,EAAC,QAAQ;QACbwB,IAAI,EAAGC,mBAAc;QACrBxB,KAAK,EAAGA,KAAO;QACfc,OAAO,EAAGA,OAAS;QACnBP,QAAQ,EAAGA,QAAU;QACrBkB,YAAY,EAAC,SAAS;QACtBC,iBAAiB,EAAC;MAAG,CACrB,CAAC,eACF,IAAA/B,WAAA,CAAAuB,GAAA,EAAC1B,YAAA,CAAAmC,4BAA4B;QAC5BC,SAAS,EAAC,cAAc;QACxBC,OAAO,EAAGlB;MAAU,CACpB,CAAC;IAAA,CACD,CAAC;EAEL;AACD,CAAC","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/italic/index.js"],
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;",
6
+ "names": ["blockEditorPrivateApis"]
7
+ }
@@ -1,48 +1,59 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name2 in all)
7
+ __defProp(target, name2, { get: all[name2], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var keyboard_exports = {};
19
+ __export(keyboard_exports, {
20
+ keyboard: () => keyboard
5
21
  });
6
- exports.keyboard = void 0;
7
- var _i18n = require("@wordpress/i18n");
8
- var _richText = require("@wordpress/rich-text");
9
- var _blockEditor = require("@wordpress/block-editor");
10
- var _icons = require("@wordpress/icons");
11
- var _jsxRuntime = require("react/jsx-runtime");
12
- /**
13
- * WordPress dependencies
14
- */
15
-
16
- const name = 'core/keyboard';
17
- const title = (0, _i18n.__)('Keyboard input');
18
- const keyboard = exports.keyboard = {
22
+ module.exports = __toCommonJS(keyboard_exports);
23
+ var import_jsx_runtime = require("react/jsx-runtime");
24
+ var import_i18n = require("@wordpress/i18n");
25
+ var import_rich_text = require("@wordpress/rich-text");
26
+ var import_block_editor = require("@wordpress/block-editor");
27
+ var import_icons = require("@wordpress/icons");
28
+ const name = "core/keyboard";
29
+ const title = (0, import_i18n.__)("Keyboard input");
30
+ const keyboard = {
19
31
  name,
20
32
  title,
21
- tagName: 'kbd',
33
+ tagName: "kbd",
22
34
  className: null,
23
- edit({
24
- isActive,
25
- value,
26
- onChange,
27
- onFocus
28
- }) {
35
+ edit({ isActive, value, onChange, onFocus }) {
29
36
  function onToggle() {
30
- onChange((0, _richText.toggleFormat)(value, {
31
- type: name,
32
- title
33
- }));
37
+ onChange((0, import_rich_text.toggleFormat)(value, { type: name, title }));
34
38
  }
35
39
  function onClick() {
36
40
  onToggle();
37
41
  onFocus();
38
42
  }
39
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.RichTextToolbarButton, {
40
- icon: _icons.button,
41
- title: title,
42
- onClick: onClick,
43
- isActive: isActive,
44
- role: "menuitemcheckbox"
45
- });
43
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
44
+ import_block_editor.RichTextToolbarButton,
45
+ {
46
+ icon: import_icons.button,
47
+ title,
48
+ onClick,
49
+ isActive,
50
+ role: "menuitemcheckbox"
51
+ }
52
+ );
46
53
  }
47
54
  };
48
- //# sourceMappingURL=index.js.map
55
+ // Annotate the CommonJS export names for ESM import in node:
56
+ 0 && (module.exports = {
57
+ keyboard
58
+ });
59
+ //# sourceMappingURL=index.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["_i18n","require","_richText","_blockEditor","_icons","_jsxRuntime","name","title","__","keyboard","exports","tagName","className","edit","isActive","value","onChange","onFocus","onToggle","toggleFormat","type","onClick","jsx","RichTextToolbarButton","icon","button","role"],"sources":["@wordpress/format-library/src/keyboard/index.js"],"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"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAA0C,IAAAI,WAAA,GAAAJ,OAAA;AAN1C;AACA;AACA;;AAMA,MAAMK,IAAI,GAAG,eAAe;AAC5B,MAAMC,KAAK,GAAG,IAAAC,QAAE,EAAE,gBAAiB,CAAC;AAE7B,MAAMC,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACvBH,IAAI;EACJC,KAAK;EACLI,OAAO,EAAE,KAAK;EACdC,SAAS,EAAE,IAAI;EACfC,IAAIA,CAAE;IAAEC,QAAQ;IAAEC,KAAK;IAAEC,QAAQ;IAAEC;EAAQ,CAAC,EAAG;IAC9C,SAASC,QAAQA,CAAA,EAAG;MACnBF,QAAQ,CAAE,IAAAG,sBAAY,EAAEJ,KAAK,EAAE;QAAEK,IAAI,EAAEd,IAAI;QAAEC;MAAM,CAAE,CAAE,CAAC;IACzD;IAEA,SAASc,OAAOA,CAAA,EAAG;MAClBH,QAAQ,CAAC,CAAC;MACVD,OAAO,CAAC,CAAC;IACV;IAEA,oBACC,IAAAZ,WAAA,CAAAiB,GAAA,EAACnB,YAAA,CAAAoB,qBAAqB;MACrBC,IAAI,EAAGC,aAAQ;MACflB,KAAK,EAAGA,KAAO;MACfc,OAAO,EAAGA,OAAS;MACnBP,QAAQ,EAAGA,QAAU;MACrBY,IAAI,EAAC;IAAkB,CACvB,CAAC;EAEJ;AACD,CAAC","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/keyboard/index.js"],
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;",
6
+ "names": []
7
+ }
@@ -1,126 +1,158 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name2 in all)
7
+ __defProp(target, name2, { get: all[name2], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var language_exports = {};
19
+ __export(language_exports, {
20
+ language: () => language
5
21
  });
6
- exports.language = void 0;
7
- var _i18n = require("@wordpress/i18n");
8
- var _blockEditor = require("@wordpress/block-editor");
9
- var _components = require("@wordpress/components");
10
- var _element = require("@wordpress/element");
11
- var _richText = require("@wordpress/rich-text");
12
- var _icons = require("@wordpress/icons");
13
- var _jsxRuntime = require("react/jsx-runtime");
14
- /**
15
- * WordPress dependencies
16
- */
17
-
18
- /**
19
- * WordPress dependencies
20
- */
21
-
22
- const name = 'core/language';
23
- const title = (0, _i18n.__)('Language');
24
- const language = exports.language = {
22
+ module.exports = __toCommonJS(language_exports);
23
+ var import_jsx_runtime = require("react/jsx-runtime");
24
+ var import_i18n = require("@wordpress/i18n");
25
+ var import_block_editor = require("@wordpress/block-editor");
26
+ var import_components = require("@wordpress/components");
27
+ var import_element = require("@wordpress/element");
28
+ var import_rich_text = require("@wordpress/rich-text");
29
+ var import_icons = require("@wordpress/icons");
30
+ const name = "core/language";
31
+ const title = (0, import_i18n.__)("Language");
32
+ const language = {
25
33
  name,
26
- tagName: 'bdo',
34
+ tagName: "bdo",
27
35
  className: null,
28
36
  edit: Edit,
29
37
  title
30
38
  };
31
- function Edit({
32
- isActive,
33
- value,
34
- onChange,
35
- contentRef
36
- }) {
37
- const [isPopoverVisible, setIsPopoverVisible] = (0, _element.useState)(false);
39
+ function Edit({ isActive, value, onChange, contentRef }) {
40
+ const [isPopoverVisible, setIsPopoverVisible] = (0, import_element.useState)(false);
38
41
  const togglePopover = () => {
39
- setIsPopoverVisible(state => !state);
42
+ setIsPopoverVisible((state) => !state);
40
43
  };
41
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
42
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.RichTextToolbarButton, {
43
- icon: _icons.language,
44
- label: title,
45
- title: title,
46
- onClick: () => {
47
- if (isActive) {
48
- onChange((0, _richText.removeFormat)(value, name));
49
- } else {
50
- togglePopover();
51
- }
52
- },
53
- isActive: isActive,
54
- role: "menuitemcheckbox"
55
- }), isPopoverVisible && /*#__PURE__*/(0, _jsxRuntime.jsx)(InlineLanguageUI, {
56
- value: value,
57
- onChange: onChange,
58
- onClose: togglePopover,
59
- contentRef: contentRef
60
- })]
61
- });
44
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
45
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
46
+ import_block_editor.RichTextToolbarButton,
47
+ {
48
+ icon: import_icons.language,
49
+ label: title,
50
+ title,
51
+ onClick: () => {
52
+ if (isActive) {
53
+ onChange((0, import_rich_text.removeFormat)(value, name));
54
+ } else {
55
+ togglePopover();
56
+ }
57
+ },
58
+ isActive,
59
+ role: "menuitemcheckbox"
60
+ }
61
+ ),
62
+ isPopoverVisible && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
63
+ InlineLanguageUI,
64
+ {
65
+ value,
66
+ onChange,
67
+ onClose: togglePopover,
68
+ contentRef
69
+ }
70
+ )
71
+ ] });
62
72
  }
63
- function InlineLanguageUI({
64
- value,
65
- contentRef,
66
- onChange,
67
- onClose
68
- }) {
69
- const popoverAnchor = (0, _richText.useAnchor)({
73
+ function InlineLanguageUI({ value, contentRef, onChange, onClose }) {
74
+ const popoverAnchor = (0, import_rich_text.useAnchor)({
70
75
  editableContentElement: contentRef.current,
71
76
  settings: language
72
77
  });
73
- const [lang, setLang] = (0, _element.useState)('');
74
- const [dir, setDir] = (0, _element.useState)('ltr');
75
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Popover, {
76
- className: "block-editor-format-toolbar__language-popover",
77
- anchor: popoverAnchor,
78
- onClose: onClose,
79
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
80
- as: "form",
81
- spacing: 4,
82
- className: "block-editor-format-toolbar__language-container-content",
83
- onSubmit: event => {
84
- event.preventDefault();
85
- onChange((0, _richText.applyFormat)(value, {
86
- type: name,
87
- attributes: {
88
- lang,
89
- dir
90
- }
91
- }));
92
- onClose();
93
- },
94
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
95
- __next40pxDefaultSize: true,
96
- __nextHasNoMarginBottom: true,
97
- label: title,
98
- value: lang,
99
- onChange: val => setLang(val),
100
- help: (0, _i18n.__)('A valid language attribute, like "en" or "fr".')
101
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
102
- __next40pxDefaultSize: true,
103
- __nextHasNoMarginBottom: true,
104
- label: (0, _i18n.__)('Text direction'),
105
- value: dir,
106
- options: [{
107
- label: (0, _i18n.__)('Left to right'),
108
- value: 'ltr'
109
- }, {
110
- label: (0, _i18n.__)('Right to left'),
111
- value: 'rtl'
112
- }],
113
- onChange: val => setDir(val)
114
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalHStack, {
115
- alignment: "right",
116
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
117
- __next40pxDefaultSize: true,
118
- variant: "primary",
119
- type: "submit",
120
- text: (0, _i18n.__)('Apply')
121
- })
122
- })]
123
- })
124
- });
78
+ const [lang, setLang] = (0, import_element.useState)("");
79
+ const [dir, setDir] = (0, import_element.useState)("ltr");
80
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
81
+ import_components.Popover,
82
+ {
83
+ className: "block-editor-format-toolbar__language-popover",
84
+ anchor: popoverAnchor,
85
+ onClose,
86
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
87
+ import_components.__experimentalVStack,
88
+ {
89
+ as: "form",
90
+ spacing: 4,
91
+ className: "block-editor-format-toolbar__language-container-content",
92
+ onSubmit: (event) => {
93
+ event.preventDefault();
94
+ onChange(
95
+ (0, import_rich_text.applyFormat)(value, {
96
+ type: name,
97
+ attributes: {
98
+ lang,
99
+ dir
100
+ }
101
+ })
102
+ );
103
+ onClose();
104
+ },
105
+ children: [
106
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
107
+ import_components.TextControl,
108
+ {
109
+ __next40pxDefaultSize: true,
110
+ __nextHasNoMarginBottom: true,
111
+ label: title,
112
+ value: lang,
113
+ onChange: (val) => setLang(val),
114
+ help: (0, import_i18n.__)(
115
+ 'A valid language attribute, like "en" or "fr".'
116
+ )
117
+ }
118
+ ),
119
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
120
+ import_components.SelectControl,
121
+ {
122
+ __next40pxDefaultSize: true,
123
+ __nextHasNoMarginBottom: true,
124
+ label: (0, import_i18n.__)("Text direction"),
125
+ value: dir,
126
+ options: [
127
+ {
128
+ label: (0, import_i18n.__)("Left to right"),
129
+ value: "ltr"
130
+ },
131
+ {
132
+ label: (0, import_i18n.__)("Right to left"),
133
+ value: "rtl"
134
+ }
135
+ ],
136
+ onChange: (val) => setDir(val)
137
+ }
138
+ ),
139
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.__experimentalHStack, { alignment: "right", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
140
+ import_components.Button,
141
+ {
142
+ __next40pxDefaultSize: true,
143
+ variant: "primary",
144
+ type: "submit",
145
+ text: (0, import_i18n.__)("Apply")
146
+ }
147
+ ) })
148
+ ]
149
+ }
150
+ )
151
+ }
152
+ );
125
153
  }
126
- //# sourceMappingURL=index.js.map
154
+ // Annotate the CommonJS export names for ESM import in node:
155
+ 0 && (module.exports = {
156
+ language
157
+ });
158
+ //# sourceMappingURL=index.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["_i18n","require","_blockEditor","_components","_element","_richText","_icons","_jsxRuntime","name","title","__","language","exports","tagName","className","edit","Edit","isActive","value","onChange","contentRef","isPopoverVisible","setIsPopoverVisible","useState","togglePopover","state","jsxs","Fragment","children","jsx","RichTextToolbarButton","icon","languageIcon","label","onClick","removeFormat","role","InlineLanguageUI","onClose","popoverAnchor","useAnchor","editableContentElement","current","settings","lang","setLang","dir","setDir","Popover","anchor","__experimentalVStack","as","spacing","onSubmit","event","preventDefault","applyFormat","type","attributes","TextControl","__next40pxDefaultSize","__nextHasNoMarginBottom","val","help","SelectControl","options","__experimentalHStack","alignment","Button","variant","text"],"sources":["@wordpress/format-library/src/language/index.js"],"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"],"mappings":"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","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/language/index.js"],
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": ";;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAuCE;AApCF,kBAAmB;AAKnB,0BAAsC;AACtC,wBAOO;AACP,qBAAyB;AACzB,uBAAqD;AACrD,mBAAyC;AAEzC,MAAM,OAAO;AACb,MAAM,YAAQ,gBAAI,UAAW;AAEtB,MAAM,WAAW;AAAA,EACvB;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,EACX,MAAM;AAAA,EACN;AACD;AAEA,SAAS,KAAM,EAAE,UAAU,OAAO,UAAU,WAAW,GAAI;AAC1D,QAAM,CAAE,kBAAkB,mBAAoB,QAAI,yBAAU,KAAM;AAClE,QAAM,gBAAgB,MAAM;AAC3B,wBAAqB,CAAE,UAAW,CAAE,KAAM;AAAA,EAC3C;AAEA,SACC,4EACC;AAAA;AAAA,MAAC;AAAA;AAAA,QACA,MAAO,aAAAA;AAAA,QACP,OAAQ;AAAA,QACR;AAAA,QACA,SAAU,MAAM;AACf,cAAK,UAAW;AACf,yBAAU,+BAAc,OAAO,IAAK,CAAE;AAAA,UACvC,OAAO;AACN,0BAAc;AAAA,UACf;AAAA,QACD;AAAA,QACA;AAAA,QACA,MAAK;AAAA;AAAA,IACN;AAAA,IACE,oBACD;AAAA,MAAC;AAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAU;AAAA,QACV;AAAA;AAAA,IACD;AAAA,KAEF;AAEF;AAEA,SAAS,iBAAkB,EAAE,OAAO,YAAY,UAAU,QAAQ,GAAI;AACrE,QAAM,oBAAgB,4BAAW;AAAA,IAChC,wBAAwB,WAAW;AAAA,IACnC,UAAU;AAAA,EACX,CAAE;AAEF,QAAM,CAAE,MAAM,OAAQ,QAAI,yBAAU,EAAG;AACvC,QAAM,CAAE,KAAK,MAAO,QAAI,yBAAU,KAAM;AAExC,SACC;AAAA,IAAC;AAAA;AAAA,MACA,WAAU;AAAA,MACV,QAAS;AAAA,MACT;AAAA,MAEA;AAAA,QAAC,kBAAAC;AAAA,QAAA;AAAA,UACA,IAAG;AAAA,UACH,SAAU;AAAA,UACV,WAAU;AAAA,UACV,UAAW,CAAE,UAAW;AACvB,kBAAM,eAAe;AACrB;AAAA,kBACC,8BAAa,OAAO;AAAA,gBACnB,MAAM;AAAA,gBACN,YAAY;AAAA,kBACX;AAAA,kBACA;AAAA,gBACD;AAAA,cACD,CAAE;AAAA,YACH;AACA,oBAAQ;AAAA,UACT;AAAA,UAEA;AAAA;AAAA,cAAC;AAAA;AAAA,gBACA,uBAAqB;AAAA,gBACrB,yBAAuB;AAAA,gBACvB,OAAQ;AAAA,gBACR,OAAQ;AAAA,gBACR,UAAW,CAAE,QAAS,QAAS,GAAI;AAAA,gBACnC,UAAO;AAAA,kBACN;AAAA,gBACD;AAAA;AAAA,YACD;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACA,uBAAqB;AAAA,gBACrB,yBAAuB;AAAA,gBACvB,WAAQ,gBAAI,gBAAiB;AAAA,gBAC7B,OAAQ;AAAA,gBACR,SAAU;AAAA,kBACT;AAAA,oBACC,WAAO,gBAAI,eAAgB;AAAA,oBAC3B,OAAO;AAAA,kBACR;AAAA,kBACA;AAAA,oBACC,WAAO,gBAAI,eAAgB;AAAA,oBAC3B,OAAO;AAAA,kBACR;AAAA,gBACD;AAAA,gBACA,UAAW,CAAE,QAAS,OAAQ,GAAI;AAAA;AAAA,YACnC;AAAA,YACA,4CAAC,kBAAAC,sBAAA,EAAO,WAAU,SACjB;AAAA,cAAC;AAAA;AAAA,gBACA,uBAAqB;AAAA,gBACrB,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,UAAO,gBAAI,OAAQ;AAAA;AAAA,YACpB,GACD;AAAA;AAAA;AAAA,MACD;AAAA;AAAA,EACD;AAEF;",
6
+ "names": ["languageIcon", "VStack", "HStack"]
7
+ }
@@ -0,0 +1,81 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var css_classes_setting_exports = {};
19
+ __export(css_classes_setting_exports, {
20
+ default: () => css_classes_setting_default
21
+ });
22
+ module.exports = __toCommonJS(css_classes_setting_exports);
23
+ var import_jsx_runtime = require("react/jsx-runtime");
24
+ var import_element = require("@wordpress/element");
25
+ var import_compose = require("@wordpress/compose");
26
+ var import_i18n = require("@wordpress/i18n");
27
+ var import_components = require("@wordpress/components");
28
+ const CSSClassesSettingComponent = ({ setting, value, onChange }) => {
29
+ const hasValue = value ? value?.cssClasses?.length > 0 : false;
30
+ const [isSettingActive, setIsSettingActive] = (0, import_element.useState)(hasValue);
31
+ const instanceId = (0, import_compose.useInstanceId)(CSSClassesSettingComponent);
32
+ const controlledRegionId = `css-classes-setting-${instanceId}`;
33
+ const handleSettingChange = (newValue) => {
34
+ const sanitizedValue = typeof newValue === "string" ? newValue.replace(/,/g, " ").replace(/\s+/g, " ").trim() : newValue;
35
+ onChange({
36
+ ...value,
37
+ [setting.id]: sanitizedValue
38
+ });
39
+ };
40
+ const handleCheckboxChange = () => {
41
+ if (isSettingActive) {
42
+ if (hasValue) {
43
+ handleSettingChange("");
44
+ }
45
+ setIsSettingActive(false);
46
+ } else {
47
+ setIsSettingActive(true);
48
+ }
49
+ };
50
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("fieldset", { children: [
51
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.VisuallyHidden, { as: "legend", children: setting.title }),
52
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalVStack, { spacing: 3, children: [
53
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
54
+ import_components.CheckboxControl,
55
+ {
56
+ __nextHasNoMarginBottom: true,
57
+ label: setting.title,
58
+ onChange: handleCheckboxChange,
59
+ checked: isSettingActive || hasValue,
60
+ "aria-expanded": isSettingActive,
61
+ "aria-controls": isSettingActive ? controlledRegionId : void 0
62
+ }
63
+ ),
64
+ isSettingActive && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { id: controlledRegionId, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
65
+ import_components.__experimentalInputControl,
66
+ {
67
+ label: (0, import_i18n.__)("CSS classes"),
68
+ value: value?.cssClasses,
69
+ onChange: handleSettingChange,
70
+ help: (0, import_i18n.__)(
71
+ "Separate multiple classes with spaces."
72
+ ),
73
+ __unstableInputWidth: "100%",
74
+ __next40pxDefaultSize: true
75
+ }
76
+ ) })
77
+ ] })
78
+ ] });
79
+ };
80
+ var css_classes_setting_default = CSSClassesSettingComponent;
81
+ //# sourceMappingURL=css-classes-setting.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/link/css-classes-setting.js"],
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;",
6
+ "names": ["VStack", "InputControl"]
7
+ }