@wordpress/block-library 9.24.0 → 9.25.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 (202) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/button/edit.js +29 -17
  3. package/build/button/edit.js.map +1 -1
  4. package/build/columns/edit.js +18 -22
  5. package/build/columns/edit.js.map +1 -1
  6. package/build/comment-author-name/edit.js +41 -12
  7. package/build/comment-author-name/edit.js.map +1 -1
  8. package/build/comment-date/edit.js +41 -12
  9. package/build/comment-date/edit.js.map +1 -1
  10. package/build/comment-edit-link/edit.js +27 -7
  11. package/build/comment-edit-link/edit.js.map +1 -1
  12. package/build/comments/edit/comments-inspector-controls.js +1 -3
  13. package/build/comments/edit/comments-inspector-controls.js.map +1 -1
  14. package/build/comments-pagination/edit.js +23 -9
  15. package/build/comments-pagination/edit.js.map +1 -1
  16. package/build/comments-title/edit.js +41 -12
  17. package/build/comments-title/edit.js.map +1 -1
  18. package/build/details/edit.js +27 -3
  19. package/build/details/edit.js.map +1 -1
  20. package/build/embed/edit.js +2 -4
  21. package/build/embed/edit.js.map +1 -1
  22. package/build/embed/embed-controls.js +41 -22
  23. package/build/embed/embed-controls.js.map +1 -1
  24. package/build/file/inspector.js +73 -30
  25. package/build/file/inspector.js.map +1 -1
  26. package/build/form/edit.js +67 -37
  27. package/build/form/edit.js.map +1 -1
  28. package/build/form-input/edit.js +47 -18
  29. package/build/form-input/edit.js.map +1 -1
  30. package/build/latest-posts/edit.js +154 -82
  31. package/build/latest-posts/edit.js.map +1 -1
  32. package/build/list/ordered-list-settings.js +131 -52
  33. package/build/list/ordered-list-settings.js.map +1 -1
  34. package/build/navigation/edit/index.js +93 -51
  35. package/build/navigation/edit/index.js.map +1 -1
  36. package/build/navigation/edit/overlay-menu-preview.js +43 -27
  37. package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
  38. package/build/navigation-link/index.js +3 -0
  39. package/build/navigation-link/index.js.map +1 -1
  40. package/build/navigation-link/transforms.js +2 -0
  41. package/build/navigation-link/transforms.js.map +1 -1
  42. package/build/navigation-link/update-attributes.js +1 -0
  43. package/build/navigation-link/update-attributes.js.map +1 -1
  44. package/build/navigation-submenu/index.js +3 -0
  45. package/build/navigation-submenu/index.js.map +1 -1
  46. package/build/post-comments-count/index.js +3 -1
  47. package/build/post-comments-count/index.js.map +1 -1
  48. package/build/post-comments-count/transforms.js +26 -0
  49. package/build/post-comments-count/transforms.js.map +1 -0
  50. package/build/post-comments-link/index.js +3 -1
  51. package/build/post-comments-link/index.js.map +1 -1
  52. package/build/post-comments-link/transforms.js +26 -0
  53. package/build/post-comments-link/transforms.js.map +1 -0
  54. package/build/post-title/edit.js +56 -18
  55. package/build/post-title/edit.js.map +1 -1
  56. package/build/query/edit/enhanced-pagination-modal.js +1 -1
  57. package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
  58. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +3 -6
  59. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  60. package/build/rss/edit.js +120 -46
  61. package/build/rss/edit.js.map +1 -1
  62. package/build/separator/edit.js +52 -20
  63. package/build/separator/edit.js.map +1 -1
  64. package/build/shortcode/index.js +2 -1
  65. package/build/shortcode/index.js.map +1 -1
  66. package/build/social-link/variations.js +53 -48
  67. package/build/social-link/variations.js.map +1 -1
  68. package/build/social-links/edit.js +35 -45
  69. package/build/social-links/edit.js.map +1 -1
  70. package/build/video/tracks-editor.js +40 -12
  71. package/build/video/tracks-editor.js.map +1 -1
  72. package/build-module/button/edit.js +30 -18
  73. package/build-module/button/edit.js.map +1 -1
  74. package/build-module/columns/edit.js +18 -22
  75. package/build-module/columns/edit.js.map +1 -1
  76. package/build-module/comment-author-name/edit.js +42 -13
  77. package/build-module/comment-author-name/edit.js.map +1 -1
  78. package/build-module/comment-date/edit.js +42 -13
  79. package/build-module/comment-date/edit.js.map +1 -1
  80. package/build-module/comment-edit-link/edit.js +28 -8
  81. package/build-module/comment-edit-link/edit.js.map +1 -1
  82. package/build-module/comments/edit/comments-inspector-controls.js +1 -3
  83. package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
  84. package/build-module/comments-pagination/edit.js +24 -10
  85. package/build-module/comments-pagination/edit.js.map +1 -1
  86. package/build-module/comments-title/edit.js +42 -13
  87. package/build-module/comments-title/edit.js.map +1 -1
  88. package/build-module/details/edit.js +29 -5
  89. package/build-module/details/edit.js.map +1 -1
  90. package/build-module/embed/edit.js +2 -4
  91. package/build-module/embed/edit.js.map +1 -1
  92. package/build-module/embed/embed-controls.js +42 -23
  93. package/build-module/embed/embed-controls.js.map +1 -1
  94. package/build-module/file/inspector.js +74 -31
  95. package/build-module/file/inspector.js.map +1 -1
  96. package/build-module/form/edit.js +68 -38
  97. package/build-module/form/edit.js.map +1 -1
  98. package/build-module/form-input/edit.js +48 -19
  99. package/build-module/form-input/edit.js.map +1 -1
  100. package/build-module/latest-posts/edit.js +155 -83
  101. package/build-module/latest-posts/edit.js.map +1 -1
  102. package/build-module/list/ordered-list-settings.js +132 -53
  103. package/build-module/list/ordered-list-settings.js.map +1 -1
  104. package/build-module/navigation/edit/index.js +94 -52
  105. package/build-module/navigation/edit/index.js.map +1 -1
  106. package/build-module/navigation/edit/overlay-menu-preview.js +44 -28
  107. package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
  108. package/build-module/navigation-link/index.js +3 -0
  109. package/build-module/navigation-link/index.js.map +1 -1
  110. package/build-module/navigation-link/transforms.js +2 -0
  111. package/build-module/navigation-link/transforms.js.map +1 -1
  112. package/build-module/navigation-link/update-attributes.js +1 -0
  113. package/build-module/navigation-link/update-attributes.js.map +1 -1
  114. package/build-module/navigation-submenu/index.js +3 -0
  115. package/build-module/navigation-submenu/index.js.map +1 -1
  116. package/build-module/post-comments-count/index.js +3 -1
  117. package/build-module/post-comments-count/index.js.map +1 -1
  118. package/build-module/post-comments-count/transforms.js +19 -0
  119. package/build-module/post-comments-count/transforms.js.map +1 -0
  120. package/build-module/post-comments-link/index.js +3 -1
  121. package/build-module/post-comments-link/index.js.map +1 -1
  122. package/build-module/post-comments-link/transforms.js +19 -0
  123. package/build-module/post-comments-link/transforms.js.map +1 -0
  124. package/build-module/post-title/edit.js +57 -19
  125. package/build-module/post-title/edit.js.map +1 -1
  126. package/build-module/query/edit/enhanced-pagination-modal.js +1 -1
  127. package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
  128. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +3 -6
  129. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  130. package/build-module/rss/edit.js +121 -47
  131. package/build-module/rss/edit.js.map +1 -1
  132. package/build-module/separator/edit.js +54 -22
  133. package/build-module/separator/edit.js.map +1 -1
  134. package/build-module/shortcode/index.js +2 -1
  135. package/build-module/shortcode/index.js.map +1 -1
  136. package/build-module/social-link/variations.js +53 -48
  137. package/build-module/social-link/variations.js.map +1 -1
  138. package/build-module/social-links/edit.js +37 -47
  139. package/build-module/social-links/edit.js.map +1 -1
  140. package/build-module/video/tracks-editor.js +41 -13
  141. package/build-module/video/tracks-editor.js.map +1 -1
  142. package/build-style/editor-rtl.css +9 -4
  143. package/build-style/editor.css +9 -4
  144. package/build-style/gallery/style-rtl.css +1 -0
  145. package/build-style/gallery/style.css +1 -0
  146. package/build-style/navigation/editor-rtl.css +8 -3
  147. package/build-style/navigation/editor.css +8 -3
  148. package/build-style/pullquote/editor-rtl.css +1 -1
  149. package/build-style/pullquote/editor.css +1 -1
  150. package/build-style/pullquote/style-rtl.css +2 -3
  151. package/build-style/pullquote/style.css +2 -3
  152. package/build-style/pullquote/theme-rtl.css +2 -2
  153. package/build-style/pullquote/theme.css +2 -2
  154. package/build-style/style-rtl.css +3 -3
  155. package/build-style/style.css +3 -3
  156. package/build-style/theme-rtl.css +2 -2
  157. package/build-style/theme.css +2 -2
  158. package/package.json +35 -35
  159. package/src/button/edit.js +44 -29
  160. package/src/columns/edit.js +20 -31
  161. package/src/comment-author-name/edit.js +54 -13
  162. package/src/comment-date/edit.js +50 -15
  163. package/src/comment-edit-link/edit.js +39 -11
  164. package/src/comments/edit/comments-inspector-controls.js +0 -2
  165. package/src/comments-pagination/edit.js +29 -9
  166. package/src/comments-title/edit.js +53 -15
  167. package/src/details/edit.js +36 -4
  168. package/src/embed/edit.js +3 -5
  169. package/src/embed/embed-controls.js +55 -33
  170. package/src/file/inspector.js +99 -45
  171. package/src/form/edit.js +91 -46
  172. package/src/form-input/edit.js +56 -18
  173. package/src/gallery/style.scss +1 -0
  174. package/src/latest-posts/edit.js +206 -98
  175. package/src/list/ordered-list-settings.js +172 -62
  176. package/src/navigation/edit/index.js +127 -64
  177. package/src/navigation/edit/overlay-menu-preview.js +43 -26
  178. package/src/navigation/editor.scss +8 -4
  179. package/src/navigation-link/block.json +3 -0
  180. package/src/navigation-link/index.php +4 -0
  181. package/src/navigation-link/transforms.js +2 -1
  182. package/src/navigation-link/update-attributes.js +1 -0
  183. package/src/navigation-submenu/block.json +3 -0
  184. package/src/navigation-submenu/index.php +4 -0
  185. package/src/post-comments-count/index.js +2 -0
  186. package/src/post-comments-count/transforms.js +20 -0
  187. package/src/post-comments-link/index.js +2 -0
  188. package/src/post-comments-link/transforms.js +20 -0
  189. package/src/post-title/edit.js +76 -24
  190. package/src/pullquote/editor.scss +1 -1
  191. package/src/pullquote/style.scss +2 -3
  192. package/src/pullquote/theme.scss +2 -2
  193. package/src/query/edit/enhanced-pagination-modal.js +1 -5
  194. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +3 -13
  195. package/src/rss/edit.js +141 -55
  196. package/src/separator/edit.js +66 -21
  197. package/src/shortcode/block.json +2 -1
  198. package/src/site-title/index.php +1 -1
  199. package/src/social-link/index.php +49 -49
  200. package/src/social-link/variations.js +53 -48
  201. package/src/social-links/edit.js +39 -60
  202. package/src/video/tracks-editor.js +57 -16
@@ -10,6 +10,7 @@ var _i18n = require("@wordpress/i18n");
10
10
  var _blockEditor = require("@wordpress/block-editor");
11
11
  var _components = require("@wordpress/components");
12
12
  var _element = require("@wordpress/element");
13
+ var _hooks = require("../utils/hooks");
13
14
  var _jsxRuntime = require("react/jsx-runtime");
14
15
  /**
15
16
  * External dependencies
@@ -19,6 +20,10 @@ var _jsxRuntime = require("react/jsx-runtime");
19
20
  * WordPress dependencies
20
21
  */
21
22
 
23
+ /**
24
+ * Internal dependencies
25
+ */
26
+
22
27
  function InputFieldBlock({
23
28
  attributes,
24
29
  setAttributes,
@@ -34,6 +39,7 @@ function InputFieldBlock({
34
39
  value
35
40
  } = attributes;
36
41
  const blockProps = (0, _blockEditor.useBlockProps)();
42
+ const dropdownMenuProps = (0, _hooks.useToolsPanelDropdownMenuProps)();
37
43
  const ref = (0, _element.useRef)();
38
44
  const TagName = type === 'textarea' ? 'textarea' : 'input';
39
45
  const borderProps = (0, _blockEditor.__experimentalUseBorderProps)(attributes);
@@ -46,26 +52,49 @@ function InputFieldBlock({
46
52
  const isCheckboxOrRadio = type === 'checkbox' || type === 'radio';
47
53
  const controls = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
48
54
  children: ['hidden' !== type && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
49
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.PanelBody, {
50
- title: (0, _i18n.__)('Settings'),
51
- children: ['checkbox' !== type && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.CheckboxControl, {
52
- __nextHasNoMarginBottom: true,
55
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToolsPanel, {
56
+ label: (0, _i18n.__)('Settings'),
57
+ resetAll: () => {
58
+ setAttributes({
59
+ inlineLabel: false,
60
+ required: false
61
+ });
62
+ },
63
+ dropdownMenuProps: dropdownMenuProps,
64
+ children: ['checkbox' !== type && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
53
65
  label: (0, _i18n.__)('Inline label'),
54
- checked: inlineLabel,
55
- onChange: newVal => {
56
- setAttributes({
57
- inlineLabel: newVal
58
- });
59
- }
60
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.CheckboxControl, {
61
- __nextHasNoMarginBottom: true,
66
+ hasValue: () => !!inlineLabel,
67
+ onDeselect: () => setAttributes({
68
+ inlineLabel: false
69
+ }),
70
+ isShownByDefault: true,
71
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.CheckboxControl, {
72
+ __nextHasNoMarginBottom: true,
73
+ label: (0, _i18n.__)('Inline label'),
74
+ checked: inlineLabel,
75
+ onChange: newVal => {
76
+ setAttributes({
77
+ inlineLabel: newVal
78
+ });
79
+ }
80
+ })
81
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
62
82
  label: (0, _i18n.__)('Required'),
63
- checked: required,
64
- onChange: newVal => {
65
- setAttributes({
66
- required: newVal
67
- });
68
- }
83
+ hasValue: () => !!required,
84
+ onDeselect: () => setAttributes({
85
+ required: false
86
+ }),
87
+ isShownByDefault: true,
88
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.CheckboxControl, {
89
+ __nextHasNoMarginBottom: true,
90
+ label: (0, _i18n.__)('Required'),
91
+ checked: required,
92
+ onChange: newVal => {
93
+ setAttributes({
94
+ required: newVal
95
+ });
96
+ }
97
+ })
69
98
  })]
70
99
  })
71
100
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_blockEditor","_components","_element","_jsxRuntime","InputFieldBlock","attributes","setAttributes","className","type","name","label","inlineLabel","required","placeholder","value","blockProps","useBlockProps","ref","useRef","TagName","borderProps","useBorderProps","colorProps","useColorProps","current","focus","isCheckboxOrRadio","controls","jsxs","Fragment","children","jsx","InspectorControls","PanelBody","title","__","CheckboxControl","__nextHasNoMarginBottom","checked","onChange","newVal","group","TextControl","__next40pxDefaultSize","autoComplete","help","content","RichText","tagName","newLabel","clsx","event","target","undefined","style","_default","exports","default"],"sources":["@wordpress/block-library/src/form-input/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, TextControl, CheckboxControl } from '@wordpress/components';\n\nimport { useRef } from '@wordpress/element';\n\nfunction InputFieldBlock( { attributes, setAttributes, className } ) {\n\tconst { type, name, label, inlineLabel, required, placeholder, value } =\n\t\tattributes;\n\tconst blockProps = useBlockProps();\n\tconst ref = useRef();\n\tconst TagName = type === 'textarea' ? 'textarea' : 'input';\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tif ( ref.current ) {\n\t\tref.current.focus();\n\t}\n\n\t// Note: radio inputs aren't implemented yet.\n\tconst isCheckboxOrRadio = type === 'checkbox' || type === 'radio';\n\n\tconst controls = (\n\t\t<>\n\t\t\t{ 'hidden' !== type && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ 'checkbox' !== type && (\n\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Inline label' ) }\n\t\t\t\t\t\t\t\tchecked={ inlineLabel }\n\t\t\t\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tinlineLabel: newVal,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Required' ) }\n\t\t\t\t\t\t\tchecked={ required }\n\t\t\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\trequired: newVal,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"advanced\">\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\tautoComplete=\"off\"\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ name }\n\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tname: newVal,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Affects the \"name\" attribute of the input element, and is used as a name for the form submission results.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst content = (\n\t\t<RichText\n\t\t\ttagName=\"span\"\n\t\t\tclassName=\"wp-block-form-input__label-content\"\n\t\t\tvalue={ label }\n\t\t\tonChange={ ( newLabel ) => setAttributes( { label: newLabel } ) }\n\t\t\taria-label={ label ? __( 'Label' ) : __( 'Empty label' ) }\n\t\t\tdata-empty={ ! label }\n\t\t\tplaceholder={ __( 'Type the label for this input' ) }\n\t\t/>\n\t);\n\n\tif ( 'hidden' === type ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<input\n\t\t\t\t\ttype=\"hidden\"\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-form-input__input',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\taria-label={ __( 'Value' ) }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\t\tsetAttributes( { value: event.target.value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t<span\n\t\t\t\tclassName={ clsx( 'wp-block-form-input__label', {\n\t\t\t\t\t'is-label-inline': inlineLabel || 'checkbox' === type,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! isCheckboxOrRadio && content }\n\t\t\t\t<TagName\n\t\t\t\t\ttype={ 'textarea' === type ? undefined : type }\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-form-input__input',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t\t// which is confusing.\n\t\t\t\t\tplaceholder={\n\t\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ placeholder }\n\t\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t\t}\n\t\t\t\t\taria-required={ required }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ isCheckboxOrRadio && content }\n\t\t\t</span>\n\t\t</div>\n\t);\n}\n\nexport default InputFieldBlock;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_blockEditor","_components","_element","_hooks","_jsxRuntime","InputFieldBlock","attributes","setAttributes","className","type","name","label","inlineLabel","required","placeholder","value","blockProps","useBlockProps","dropdownMenuProps","useToolsPanelDropdownMenuProps","ref","useRef","TagName","borderProps","useBorderProps","colorProps","useColorProps","current","focus","isCheckboxOrRadio","controls","jsxs","Fragment","children","jsx","InspectorControls","__experimentalToolsPanel","__","resetAll","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","CheckboxControl","__nextHasNoMarginBottom","checked","onChange","newVal","group","TextControl","__next40pxDefaultSize","autoComplete","help","content","RichText","tagName","newLabel","clsx","event","target","undefined","style","_default","exports","default"],"sources":["@wordpress/block-library/src/form-input/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n} from '@wordpress/block-editor';\nimport {\n\tTextControl,\n\tCheckboxControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nfunction InputFieldBlock( { attributes, setAttributes, className } ) {\n\tconst { type, name, label, inlineLabel, required, placeholder, value } =\n\t\tattributes;\n\tconst blockProps = useBlockProps();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst ref = useRef();\n\tconst TagName = type === 'textarea' ? 'textarea' : 'input';\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tif ( ref.current ) {\n\t\tref.current.focus();\n\t}\n\n\t// Note: radio inputs aren't implemented yet.\n\tconst isCheckboxOrRadio = type === 'checkbox' || type === 'radio';\n\n\tconst controls = (\n\t\t<>\n\t\t\t{ 'hidden' !== type && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tinlineLabel: false,\n\t\t\t\t\t\t\t\trequired: false,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ 'checkbox' !== type && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Inline label' ) }\n\t\t\t\t\t\t\t\thasValue={ () => !! inlineLabel }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { inlineLabel: false } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Inline label' ) }\n\t\t\t\t\t\t\t\t\tchecked={ inlineLabel }\n\t\t\t\t\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tinlineLabel: newVal,\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</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Required' ) }\n\t\t\t\t\t\t\thasValue={ () => !! required }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { required: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Required' ) }\n\t\t\t\t\t\t\t\tchecked={ required }\n\t\t\t\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\trequired: newVal,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"advanced\">\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\tautoComplete=\"off\"\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ name }\n\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tname: newVal,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Affects the \"name\" attribute of the input element, and is used as a name for the form submission results.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst content = (\n\t\t<RichText\n\t\t\ttagName=\"span\"\n\t\t\tclassName=\"wp-block-form-input__label-content\"\n\t\t\tvalue={ label }\n\t\t\tonChange={ ( newLabel ) => setAttributes( { label: newLabel } ) }\n\t\t\taria-label={ label ? __( 'Label' ) : __( 'Empty label' ) }\n\t\t\tdata-empty={ ! label }\n\t\t\tplaceholder={ __( 'Type the label for this input' ) }\n\t\t/>\n\t);\n\n\tif ( 'hidden' === type ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<input\n\t\t\t\t\ttype=\"hidden\"\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-form-input__input',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\taria-label={ __( 'Value' ) }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\t\tsetAttributes( { value: event.target.value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t<span\n\t\t\t\tclassName={ clsx( 'wp-block-form-input__label', {\n\t\t\t\t\t'is-label-inline': inlineLabel || 'checkbox' === type,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ ! isCheckboxOrRadio && content }\n\t\t\t\t<TagName\n\t\t\t\t\ttype={ 'textarea' === type ? undefined : type }\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-form-input__input',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t\t// which is confusing.\n\t\t\t\t\tplaceholder={\n\t\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ placeholder }\n\t\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t\t}\n\t\t\t\t\taria-required={ required }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ isCheckboxOrRadio && content }\n\t\t\t</span>\n\t\t</div>\n\t);\n}\n\nexport default InputFieldBlock;\n"],"mappings":"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","ignoreList":[]}
@@ -253,102 +253,174 @@ function Controls({
253
253
  })
254
254
  })
255
255
  })]
256
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.PanelBody, {
257
- title: (0, _i18n.__)('Featured image'),
258
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
259
- __nextHasNoMarginBottom: true,
256
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToolsPanel, {
257
+ label: (0, _i18n.__)('Featured image'),
258
+ resetAll: () => setAttributes({
259
+ displayFeaturedImage: false,
260
+ featuredImageAlign: undefined,
261
+ featuredImageSizeSlug: 'thumbnail',
262
+ featuredImageSizeWidth: null,
263
+ featuredImageSizeHeight: null,
264
+ addLinkToFeaturedImage: false
265
+ }),
266
+ dropdownMenuProps: dropdownMenuProps,
267
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
268
+ hasValue: () => !!displayFeaturedImage,
260
269
  label: (0, _i18n.__)('Display featured image'),
261
- checked: displayFeaturedImage,
262
- onChange: value => setAttributes({
263
- displayFeaturedImage: value
270
+ onDeselect: () => setAttributes({
271
+ displayFeaturedImage: false
272
+ }),
273
+ isShownByDefault: true,
274
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
275
+ __nextHasNoMarginBottom: true,
276
+ label: (0, _i18n.__)('Display featured image'),
277
+ checked: displayFeaturedImage,
278
+ onChange: value => setAttributes({
279
+ displayFeaturedImage: value
280
+ })
264
281
  })
265
282
  }), displayFeaturedImage && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
266
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.__experimentalImageSizeControl, {
267
- onChange: value => {
268
- const newAttrs = {};
269
- if (value.hasOwnProperty('width')) {
270
- newAttrs.featuredImageSizeWidth = value.width;
271
- }
272
- if (value.hasOwnProperty('height')) {
273
- newAttrs.featuredImageSizeHeight = value.height;
274
- }
275
- setAttributes(newAttrs);
276
- },
277
- slug: featuredImageSizeSlug,
278
- width: featuredImageSizeWidth,
279
- height: featuredImageSizeHeight,
280
- imageWidth: defaultImageWidth,
281
- imageHeight: defaultImageHeight,
282
- imageSizeOptions: imageSizeOptions,
283
- imageSizeHelp: (0, _i18n.__)('Select the size of the source image.'),
284
- onChangeImage: value => setAttributes({
285
- featuredImageSizeSlug: value,
286
- featuredImageSizeWidth: undefined,
287
- featuredImageSizeHeight: undefined
283
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
284
+ hasValue: () => featuredImageSizeSlug !== 'thumbnail' || featuredImageSizeWidth !== null || featuredImageSizeHeight !== null,
285
+ label: (0, _i18n.__)('Image size'),
286
+ onDeselect: () => setAttributes({
287
+ featuredImageSizeSlug: 'thumbnail',
288
+ featuredImageSizeWidth: null,
289
+ featuredImageSizeHeight: null
290
+ }),
291
+ isShownByDefault: true,
292
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.__experimentalImageSizeControl, {
293
+ onChange: value => {
294
+ const newAttrs = {};
295
+ if (value.hasOwnProperty('width')) {
296
+ newAttrs.featuredImageSizeWidth = value.width;
297
+ }
298
+ if (value.hasOwnProperty('height')) {
299
+ newAttrs.featuredImageSizeHeight = value.height;
300
+ }
301
+ setAttributes(newAttrs);
302
+ },
303
+ slug: featuredImageSizeSlug,
304
+ width: featuredImageSizeWidth,
305
+ height: featuredImageSizeHeight,
306
+ imageWidth: defaultImageWidth,
307
+ imageHeight: defaultImageHeight,
308
+ imageSizeOptions: imageSizeOptions,
309
+ imageSizeHelp: (0, _i18n.__)('Select the size of the source image.'),
310
+ onChangeImage: value => setAttributes({
311
+ featuredImageSizeSlug: value,
312
+ featuredImageSizeWidth: undefined,
313
+ featuredImageSizeHeight: undefined
314
+ })
288
315
  })
289
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControl, {
290
- className: "editor-latest-posts-image-alignment-control",
291
- __nextHasNoMarginBottom: true,
292
- __next40pxDefaultSize: true,
316
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
317
+ hasValue: () => !!featuredImageAlign,
293
318
  label: (0, _i18n.__)('Image alignment'),
294
- value: featuredImageAlign || 'none',
295
- onChange: value => setAttributes({
296
- featuredImageAlign: value !== 'none' ? value : undefined
319
+ onDeselect: () => setAttributes({
320
+ featuredImageAlign: undefined
297
321
  }),
298
- children: imageAlignmentOptions.map(({
299
- value,
300
- icon,
301
- label
302
- }) => {
303
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOptionIcon, {
304
- value: value,
305
- icon: icon,
306
- label: label
307
- }, value);
322
+ isShownByDefault: true,
323
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControl, {
324
+ className: "editor-latest-posts-image-alignment-control",
325
+ __nextHasNoMarginBottom: true,
326
+ __next40pxDefaultSize: true,
327
+ label: (0, _i18n.__)('Image alignment'),
328
+ value: featuredImageAlign || 'none',
329
+ onChange: value => setAttributes({
330
+ featuredImageAlign: value !== 'none' ? value : undefined
331
+ }),
332
+ children: imageAlignmentOptions.map(({
333
+ value,
334
+ icon,
335
+ label
336
+ }) => {
337
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOptionIcon, {
338
+ value: value,
339
+ icon: icon,
340
+ label: label
341
+ }, value);
342
+ })
308
343
  })
309
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
310
- __nextHasNoMarginBottom: true,
344
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
345
+ hasValue: () => !!addLinkToFeaturedImage,
311
346
  label: (0, _i18n.__)('Add link to featured image'),
312
- checked: addLinkToFeaturedImage,
313
- onChange: value => setAttributes({
314
- addLinkToFeaturedImage: value
347
+ onDeselect: () => setAttributes({
348
+ addLinkToFeaturedImage: false
349
+ }),
350
+ isShownByDefault: true,
351
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
352
+ __nextHasNoMarginBottom: true,
353
+ label: (0, _i18n.__)('Add link to featured image'),
354
+ checked: addLinkToFeaturedImage,
355
+ onChange: value => setAttributes({
356
+ addLinkToFeaturedImage: value
357
+ })
315
358
  })
316
359
  })]
317
360
  })]
318
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.PanelBody, {
319
- title: (0, _i18n.__)('Sorting and filtering'),
320
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.QueryControls, {
321
- order,
322
- orderBy,
323
- numberOfItems: postsToShow,
324
- onOrderChange: value => setAttributes({
325
- order: value
326
- }),
327
- onOrderByChange: value => setAttributes({
328
- orderBy: value
329
- }),
330
- onNumberOfItemsChange: value => setAttributes({
331
- postsToShow: value
332
- }),
333
- categorySuggestions: categorySuggestions,
334
- onCategoryChange: selectCategories,
335
- selectedCategories: categories,
336
- onAuthorChange: value => setAttributes({
337
- selectedAuthor: '' !== value ? Number(value) : undefined
361
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToolsPanel, {
362
+ label: (0, _i18n.__)('Sorting and filtering'),
363
+ resetAll: () => setAttributes({
364
+ order: 'desc',
365
+ orderBy: 'date',
366
+ postsToShow: 5,
367
+ categories: undefined,
368
+ selectedAuthor: undefined,
369
+ columns: 3
370
+ }),
371
+ dropdownMenuProps: dropdownMenuProps,
372
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
373
+ hasValue: () => order !== 'desc' || orderBy !== 'date' || postsToShow !== 5 || categories?.length > 0 || !!selectedAuthor,
374
+ label: (0, _i18n.__)('Sort and filter'),
375
+ onDeselect: () => setAttributes({
376
+ order: 'desc',
377
+ orderBy: 'date',
378
+ postsToShow: 5,
379
+ categories: undefined,
380
+ selectedAuthor: undefined
338
381
  }),
339
- authorList: authorList !== null && authorList !== void 0 ? authorList : [],
340
- selectedAuthorId: selectedAuthor
341
- }), postLayout === 'grid' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
342
- __nextHasNoMarginBottom: true,
343
- __next40pxDefaultSize: true,
382
+ isShownByDefault: true,
383
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.QueryControls, {
384
+ order,
385
+ orderBy,
386
+ numberOfItems: postsToShow,
387
+ onOrderChange: value => setAttributes({
388
+ order: value
389
+ }),
390
+ onOrderByChange: value => setAttributes({
391
+ orderBy: value
392
+ }),
393
+ onNumberOfItemsChange: value => setAttributes({
394
+ postsToShow: value
395
+ }),
396
+ categorySuggestions: categorySuggestions,
397
+ onCategoryChange: selectCategories,
398
+ selectedCategories: categories,
399
+ onAuthorChange: value => setAttributes({
400
+ selectedAuthor: '' !== value ? Number(value) : undefined
401
+ }),
402
+ authorList: authorList !== null && authorList !== void 0 ? authorList : [],
403
+ selectedAuthorId: selectedAuthor
404
+ })
405
+ }), postLayout === 'grid' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
406
+ hasValue: () => columns !== 3,
344
407
  label: (0, _i18n.__)('Columns'),
345
- value: columns,
346
- onChange: value => setAttributes({
347
- columns: value
408
+ onDeselect: () => setAttributes({
409
+ columns: 3
348
410
  }),
349
- min: 2,
350
- max: !postCount ? _constants.MAX_POSTS_COLUMNS : Math.min(_constants.MAX_POSTS_COLUMNS, postCount),
351
- required: true
411
+ isShownByDefault: true,
412
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
413
+ __nextHasNoMarginBottom: true,
414
+ __next40pxDefaultSize: true,
415
+ label: (0, _i18n.__)('Columns'),
416
+ value: columns,
417
+ onChange: value => setAttributes({
418
+ columns: value
419
+ }),
420
+ min: 2,
421
+ max: !postCount ? _constants.MAX_POSTS_COLUMNS : Math.min(_constants.MAX_POSTS_COLUMNS, postCount),
422
+ required: true
423
+ })
352
424
  })]
353
425
  })]
354
426
  });