@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
@@ -2,13 +2,14 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { __ } from '@wordpress/i18n';
5
- import { PanelBody, RangeControl, SelectControl, ToggleControl } from '@wordpress/components';
5
+ import { RangeControl, SelectControl, ToggleControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
6
6
  import { InspectorControls } from '@wordpress/block-editor';
7
7
 
8
8
  /**
9
9
  * Internal dependencies
10
10
  */
11
11
  import { MIN_PREVIEW_HEIGHT, MAX_PREVIEW_HEIGHT } from './edit';
12
+ import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
12
13
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
13
14
  export default function FileBlockInspector({
14
15
  hrefs,
@@ -27,6 +28,7 @@ export default function FileBlockInspector({
27
28
  textLinkHref,
28
29
  attachmentPage
29
30
  } = hrefs;
31
+ const dropdownMenuProps = useToolsPanelDropdownMenuProps();
30
32
  let linkDestinationOptions = [{
31
33
  value: href,
32
34
  label: __('URL')
@@ -42,42 +44,83 @@ export default function FileBlockInspector({
42
44
  }
43
45
  return /*#__PURE__*/_jsx(_Fragment, {
44
46
  children: /*#__PURE__*/_jsxs(InspectorControls, {
45
- children: [href.endsWith('.pdf') && /*#__PURE__*/_jsxs(PanelBody, {
46
- title: __('PDF settings'),
47
- children: [/*#__PURE__*/_jsx(ToggleControl, {
48
- __nextHasNoMarginBottom: true,
47
+ children: [href.endsWith('.pdf') && /*#__PURE__*/_jsxs(ToolsPanel, {
48
+ label: __('PDF settings'),
49
+ resetAll: () => {
50
+ changeDisplayPreview(true);
51
+ changePreviewHeight(600);
52
+ },
53
+ dropdownMenuProps: dropdownMenuProps,
54
+ children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
49
55
  label: __('Show inline embed'),
50
- help: displayPreview ? __("Note: Most phone and tablet browsers won't display embedded PDFs.") : null,
51
- checked: !!displayPreview,
52
- onChange: changeDisplayPreview
53
- }), displayPreview && /*#__PURE__*/_jsx(RangeControl, {
54
- __nextHasNoMarginBottom: true,
55
- __next40pxDefaultSize: true,
56
+ isShownByDefault: true,
57
+ hasValue: () => !displayPreview,
58
+ onDeselect: () => changeDisplayPreview(true),
59
+ children: /*#__PURE__*/_jsx(ToggleControl, {
60
+ __nextHasNoMarginBottom: true,
61
+ label: __('Show inline embed'),
62
+ help: displayPreview ? __("Note: Most phone and tablet browsers won't display embedded PDFs.") : null,
63
+ checked: !!displayPreview,
64
+ onChange: changeDisplayPreview
65
+ })
66
+ }), displayPreview && /*#__PURE__*/_jsx(ToolsPanelItem, {
56
67
  label: __('Height in pixels'),
57
- min: MIN_PREVIEW_HEIGHT,
58
- max: Math.max(MAX_PREVIEW_HEIGHT, previewHeight),
59
- value: previewHeight,
60
- onChange: changePreviewHeight
68
+ isShownByDefault: true,
69
+ hasValue: () => previewHeight !== 600,
70
+ onDeselect: () => changePreviewHeight(600),
71
+ children: /*#__PURE__*/_jsx(RangeControl, {
72
+ __nextHasNoMarginBottom: true,
73
+ __next40pxDefaultSize: true,
74
+ label: __('Height in pixels'),
75
+ min: MIN_PREVIEW_HEIGHT,
76
+ max: Math.max(MAX_PREVIEW_HEIGHT, previewHeight),
77
+ value: previewHeight,
78
+ onChange: changePreviewHeight
79
+ })
61
80
  })]
62
- }), /*#__PURE__*/_jsxs(PanelBody, {
63
- title: __('Settings'),
64
- children: [/*#__PURE__*/_jsx(SelectControl, {
65
- __next40pxDefaultSize: true,
66
- __nextHasNoMarginBottom: true,
81
+ }), /*#__PURE__*/_jsxs(ToolsPanel, {
82
+ label: __('Settings'),
83
+ resetAll: () => {
84
+ changeLinkDestinationOption(href);
85
+ changeOpenInNewWindow(false);
86
+ changeShowDownloadButton(true);
87
+ },
88
+ dropdownMenuProps: dropdownMenuProps,
89
+ children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
67
90
  label: __('Link to'),
68
- value: textLinkHref,
69
- options: linkDestinationOptions,
70
- onChange: changeLinkDestinationOption
71
- }), /*#__PURE__*/_jsx(ToggleControl, {
72
- __nextHasNoMarginBottom: true,
91
+ isShownByDefault: true,
92
+ hasValue: () => textLinkHref !== href,
93
+ onDeselect: () => changeLinkDestinationOption(href),
94
+ children: /*#__PURE__*/_jsx(SelectControl, {
95
+ __next40pxDefaultSize: true,
96
+ __nextHasNoMarginBottom: true,
97
+ label: __('Link to'),
98
+ value: textLinkHref,
99
+ options: linkDestinationOptions,
100
+ onChange: changeLinkDestinationOption
101
+ })
102
+ }), /*#__PURE__*/_jsx(ToolsPanelItem, {
73
103
  label: __('Open in new tab'),
74
- checked: openInNewWindow,
75
- onChange: changeOpenInNewWindow
76
- }), /*#__PURE__*/_jsx(ToggleControl, {
77
- __nextHasNoMarginBottom: true,
104
+ isShownByDefault: true,
105
+ hasValue: () => !!openInNewWindow,
106
+ onDeselect: () => changeOpenInNewWindow(false),
107
+ children: /*#__PURE__*/_jsx(ToggleControl, {
108
+ __nextHasNoMarginBottom: true,
109
+ label: __('Open in new tab'),
110
+ checked: openInNewWindow,
111
+ onChange: changeOpenInNewWindow
112
+ })
113
+ }), /*#__PURE__*/_jsx(ToolsPanelItem, {
78
114
  label: __('Show download button'),
79
- checked: showDownloadButton,
80
- onChange: changeShowDownloadButton
115
+ isShownByDefault: true,
116
+ hasValue: () => !showDownloadButton,
117
+ onDeselect: () => changeShowDownloadButton(true),
118
+ children: /*#__PURE__*/_jsx(ToggleControl, {
119
+ __nextHasNoMarginBottom: true,
120
+ label: __('Show download button'),
121
+ checked: showDownloadButton,
122
+ onChange: changeShowDownloadButton
123
+ })
81
124
  })]
82
125
  })]
83
126
  })
@@ -1 +1 @@
1
- {"version":3,"names":["__","PanelBody","RangeControl","SelectControl","ToggleControl","InspectorControls","MIN_PREVIEW_HEIGHT","MAX_PREVIEW_HEIGHT","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","FileBlockInspector","hrefs","openInNewWindow","showDownloadButton","changeLinkDestinationOption","changeOpenInNewWindow","changeShowDownloadButton","displayPreview","changeDisplayPreview","previewHeight","changePreviewHeight","href","textLinkHref","attachmentPage","linkDestinationOptions","value","label","children","endsWith","title","__nextHasNoMarginBottom","help","checked","onChange","__next40pxDefaultSize","min","max","Math","options"],"sources":["@wordpress/block-library/src/file/inspector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tSelectControl,\n\tToggleControl,\n} from '@wordpress/components';\nimport { InspectorControls } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { MIN_PREVIEW_HEIGHT, MAX_PREVIEW_HEIGHT } from './edit';\n\nexport default function FileBlockInspector( {\n\threfs,\n\topenInNewWindow,\n\tshowDownloadButton,\n\tchangeLinkDestinationOption,\n\tchangeOpenInNewWindow,\n\tchangeShowDownloadButton,\n\tdisplayPreview,\n\tchangeDisplayPreview,\n\tpreviewHeight,\n\tchangePreviewHeight,\n} ) {\n\tconst { href, textLinkHref, attachmentPage } = hrefs;\n\n\tlet linkDestinationOptions = [ { value: href, label: __( 'URL' ) } ];\n\tif ( attachmentPage ) {\n\t\tlinkDestinationOptions = [\n\t\t\t{ value: href, label: __( 'Media file' ) },\n\t\t\t{ value: attachmentPage, label: __( 'Attachment page' ) },\n\t\t];\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ href.endsWith( '.pdf' ) && (\n\t\t\t\t\t<PanelBody title={ __( 'PDF settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show inline embed' ) }\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\tdisplayPreview\n\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\"Note: Most phone and tablet browsers won't display embedded PDFs.\"\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ !! displayPreview }\n\t\t\t\t\t\t\tonChange={ changeDisplayPreview }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ displayPreview && (\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Height in pixels' ) }\n\t\t\t\t\t\t\t\tmin={ MIN_PREVIEW_HEIGHT }\n\t\t\t\t\t\t\t\tmax={ Math.max(\n\t\t\t\t\t\t\t\t\tMAX_PREVIEW_HEIGHT,\n\t\t\t\t\t\t\t\t\tpreviewHeight\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ previewHeight }\n\t\t\t\t\t\t\t\tonChange={ changePreviewHeight }\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) }\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ textLinkHref }\n\t\t\t\t\t\toptions={ linkDestinationOptions }\n\t\t\t\t\t\tonChange={ changeLinkDestinationOption }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tchecked={ openInNewWindow }\n\t\t\t\t\t\tonChange={ changeOpenInNewWindow }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show download button' ) }\n\t\t\t\t\t\tchecked={ showDownloadButton }\n\t\t\t\t\t\tonChange={ changeShowDownloadButton }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","RangeControl","SelectControl","ToggleControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","InspectorControls","MIN_PREVIEW_HEIGHT","MAX_PREVIEW_HEIGHT","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","FileBlockInspector","hrefs","openInNewWindow","showDownloadButton","changeLinkDestinationOption","changeOpenInNewWindow","changeShowDownloadButton","displayPreview","changeDisplayPreview","previewHeight","changePreviewHeight","href","textLinkHref","attachmentPage","dropdownMenuProps","linkDestinationOptions","value","label","children","endsWith","resetAll","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","help","checked","onChange","__next40pxDefaultSize","min","max","Math","options"],"sources":["@wordpress/block-library/src/file/inspector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tRangeControl,\n\tSelectControl,\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { InspectorControls } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { MIN_PREVIEW_HEIGHT, MAX_PREVIEW_HEIGHT } from './edit';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function FileBlockInspector( {\n\threfs,\n\topenInNewWindow,\n\tshowDownloadButton,\n\tchangeLinkDestinationOption,\n\tchangeOpenInNewWindow,\n\tchangeShowDownloadButton,\n\tdisplayPreview,\n\tchangeDisplayPreview,\n\tpreviewHeight,\n\tchangePreviewHeight,\n} ) {\n\tconst { href, textLinkHref, attachmentPage } = hrefs;\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tlet linkDestinationOptions = [ { value: href, label: __( 'URL' ) } ];\n\tif ( attachmentPage ) {\n\t\tlinkDestinationOptions = [\n\t\t\t{ value: href, label: __( 'Media file' ) },\n\t\t\t{ value: attachmentPage, label: __( 'Attachment page' ) },\n\t\t];\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ href.endsWith( '.pdf' ) && (\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'PDF settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tchangeDisplayPreview( true );\n\t\t\t\t\t\t\tchangePreviewHeight( 600 );\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<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Show inline embed' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => ! displayPreview }\n\t\t\t\t\t\t\tonDeselect={ () => changeDisplayPreview( true ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Show inline embed' ) }\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\tdisplayPreview\n\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t\"Note: Most phone and tablet browsers won't display embedded PDFs.\"\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ !! displayPreview }\n\t\t\t\t\t\t\t\tonChange={ changeDisplayPreview }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t{ displayPreview && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Height in pixels' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => previewHeight !== 600 }\n\t\t\t\t\t\t\t\tonDeselect={ () => changePreviewHeight( 600 ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Height in pixels' ) }\n\t\t\t\t\t\t\t\t\tmin={ MIN_PREVIEW_HEIGHT }\n\t\t\t\t\t\t\t\t\tmax={ Math.max(\n\t\t\t\t\t\t\t\t\t\tMAX_PREVIEW_HEIGHT,\n\t\t\t\t\t\t\t\t\t\tpreviewHeight\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tvalue={ previewHeight }\n\t\t\t\t\t\t\t\t\tonChange={ changePreviewHeight }\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\t\t\t\t\t</ToolsPanel>\n\t\t\t\t) }\n\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tchangeLinkDestinationOption( href );\n\t\t\t\t\t\tchangeOpenInNewWindow( false );\n\t\t\t\t\t\tchangeShowDownloadButton( true );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => textLinkHref !== href }\n\t\t\t\t\t\tonDeselect={ () => changeLinkDestinationOption( href ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\t\tvalue={ textLinkHref }\n\t\t\t\t\t\t\toptions={ linkDestinationOptions }\n\t\t\t\t\t\t\tonChange={ changeLinkDestinationOption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! openInNewWindow }\n\t\t\t\t\t\tonDeselect={ () => changeOpenInNewWindow( false ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ openInNewWindow }\n\t\t\t\t\t\t\tonChange={ changeOpenInNewWindow }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Show download button' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! showDownloadButton }\n\t\t\t\t\t\tonDeselect={ () => changeShowDownloadButton( true ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show download button' ) }\n\t\t\t\t\t\t\tchecked={ showDownloadButton }\n\t\t\t\t\t\t\tonChange={ changeShowDownloadButton }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,12 +3,13 @@
3
3
  */
4
4
  import { __ } from '@wordpress/i18n';
5
5
  import { InnerBlocks, useBlockProps, useInnerBlocksProps, InspectorControls, store as blockEditorStore } from '@wordpress/block-editor';
6
- import { TextControl, SelectControl, PanelBody } from '@wordpress/components';
6
+ import { SelectControl, TextControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
7
7
  import { useSelect } from '@wordpress/data';
8
8
 
9
9
  /**
10
10
  * Internal dependencies
11
11
  */
12
+ import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
12
13
  import { formSubmissionNotificationSuccess, formSubmissionNotificationError } from './utils.js';
13
14
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
14
15
  const TEMPLATE = [formSubmissionNotificationSuccess, formSubmissionNotificationError, ['core/form-input', {
@@ -29,6 +30,15 @@ const Edit = ({
29
30
  setAttributes,
30
31
  clientId
31
32
  }) => {
33
+ const dropdownMenuProps = useToolsPanelDropdownMenuProps();
34
+ const resetAllSettings = () => {
35
+ setAttributes({
36
+ submissionMethod: 'email',
37
+ email: undefined,
38
+ action: undefined,
39
+ method: 'post'
40
+ });
41
+ };
32
42
  const {
33
43
  action,
34
44
  method,
@@ -53,46 +63,66 @@ const Edit = ({
53
63
  });
54
64
  return /*#__PURE__*/_jsxs(_Fragment, {
55
65
  children: [/*#__PURE__*/_jsx(InspectorControls, {
56
- children: /*#__PURE__*/_jsxs(PanelBody, {
57
- title: __('Settings'),
58
- children: [/*#__PURE__*/_jsx(SelectControl, {
59
- __nextHasNoMarginBottom: true,
60
- __next40pxDefaultSize: true,
66
+ children: /*#__PURE__*/_jsxs(ToolsPanel, {
67
+ dropdownMenuProps: dropdownMenuProps,
68
+ label: __('Settings'),
69
+ resetAll: resetAllSettings,
70
+ children: [/*#__PURE__*/_jsx(ToolsPanelItem, {
71
+ hasValue: () => submissionMethod !== 'email',
61
72
  label: __('Submissions method'),
62
- options: [
63
- // TODO: Allow plugins to add their own submission methods.
64
- {
65
- label: __('Send email'),
66
- value: 'email'
67
- }, {
68
- label: __('- Custom -'),
69
- value: 'custom'
70
- }],
71
- value: submissionMethod,
72
- onChange: value => setAttributes({
73
- submissionMethod: value
73
+ onDeselect: () => setAttributes({
74
+ submissionMethod: 'email'
74
75
  }),
75
- help: submissionMethod === 'custom' ? __('Select the method to use for form submissions. Additional options for the "custom" mode can be found in the "Advanced" section.') : __('Select the method to use for form submissions.')
76
- }), submissionMethod === 'email' && /*#__PURE__*/_jsx(TextControl, {
77
- __nextHasNoMarginBottom: true,
78
- __next40pxDefaultSize: true,
79
- autoComplete: "off",
76
+ isShownByDefault: true,
77
+ children: /*#__PURE__*/_jsx(SelectControl, {
78
+ __nextHasNoMarginBottom: true,
79
+ __next40pxDefaultSize: true,
80
+ label: __('Submissions method'),
81
+ options: [
82
+ // TODO: Allow plugins to add their own submission methods.
83
+ {
84
+ label: __('Send email'),
85
+ value: 'email'
86
+ }, {
87
+ label: __('- Custom -'),
88
+ value: 'custom'
89
+ }],
90
+ value: submissionMethod,
91
+ onChange: value => setAttributes({
92
+ submissionMethod: value
93
+ }),
94
+ help: submissionMethod === 'custom' ? __('Select the method to use for form submissions. Additional options for the "custom" mode can be found in the "Advanced" section.') : __('Select the method to use for form submissions.')
95
+ })
96
+ }), submissionMethod === 'email' && /*#__PURE__*/_jsx(ToolsPanelItem, {
97
+ hasValue: () => !!email,
80
98
  label: __('Email for form submissions'),
81
- value: email,
82
- required: true,
83
- onChange: value => {
84
- setAttributes({
85
- email: value
86
- });
87
- setAttributes({
88
- action: `mailto:${value}`
89
- });
90
- setAttributes({
91
- method: 'post'
92
- });
93
- },
94
- help: __('The email address where form submissions will be sent. Separate multiple email addresses with a comma.'),
95
- type: "email"
99
+ onDeselect: () => setAttributes({
100
+ email: undefined,
101
+ action: undefined,
102
+ method: 'post'
103
+ }),
104
+ isShownByDefault: true,
105
+ children: /*#__PURE__*/_jsx(TextControl, {
106
+ __nextHasNoMarginBottom: true,
107
+ __next40pxDefaultSize: true,
108
+ autoComplete: "off",
109
+ label: __('Email for form submissions'),
110
+ value: email || '',
111
+ required: true,
112
+ onChange: value => {
113
+ setAttributes({
114
+ email: value
115
+ });
116
+ setAttributes({
117
+ action: `mailto:${value}`
118
+ });
119
+ setAttributes({
120
+ method: 'post'
121
+ });
122
+ },
123
+ help: __('The email address where form submissions will be sent. Separate multiple email addresses with a comma.'),
124
+ type: "email"
125
+ })
96
126
  })]
97
127
  })
98
128
  }), submissionMethod !== 'email' && /*#__PURE__*/_jsxs(InspectorControls, {
@@ -1 +1 @@
1
- {"version":3,"names":["__","InnerBlocks","useBlockProps","useInnerBlocksProps","InspectorControls","store","blockEditorStore","TextControl","SelectControl","PanelBody","useSelect","formSubmissionNotificationSuccess","formSubmissionNotificationError","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","TEMPLATE","type","label","required","Edit","attributes","setAttributes","clientId","action","method","email","submissionMethod","blockProps","hasInnerBlocks","select","getBlock","block","innerBlocks","length","innerBlocksProps","template","renderAppender","undefined","ButtonBlockAppender","children","title","__nextHasNoMarginBottom","__next40pxDefaultSize","options","value","onChange","help","autoComplete","group","newVal","className","encType"],"sources":["@wordpress/block-library/src/form/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInnerBlocks,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { TextControl, SelectControl, PanelBody } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tformSubmissionNotificationSuccess,\n\tformSubmissionNotificationError,\n} from './utils.js';\n\nconst TEMPLATE = [\n\tformSubmissionNotificationSuccess,\n\tformSubmissionNotificationError,\n\t[\n\t\t'core/form-input',\n\t\t{\n\t\t\ttype: 'text',\n\t\t\tlabel: __( 'Name' ),\n\t\t\trequired: true,\n\t\t},\n\t],\n\t[\n\t\t'core/form-input',\n\t\t{\n\t\t\ttype: 'email',\n\t\t\tlabel: __( 'Email' ),\n\t\t\trequired: true,\n\t\t},\n\t],\n\t[\n\t\t'core/form-input',\n\t\t{\n\t\t\ttype: 'textarea',\n\t\t\tlabel: __( 'Comment' ),\n\t\t\trequired: true,\n\t\t},\n\t],\n\t[ 'core/form-submit-button', {} ],\n];\n\nconst Edit = ( { attributes, setAttributes, clientId } ) => {\n\tconst { action, method, email, submissionMethod } = attributes;\n\tconst blockProps = useBlockProps();\n\n\tconst { hasInnerBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock } = select( blockEditorStore );\n\t\t\tconst block = getBlock( clientId );\n\t\t\treturn {\n\t\t\t\thasInnerBlocks: !! ( block && block.innerBlocks.length ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t\trenderAppender: hasInnerBlocks\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Submissions method' ) }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t// TODO: Allow plugins to add their own submission methods.\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Send email' ),\n\t\t\t\t\t\t\t\tvalue: 'email',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( '- Custom -' ),\n\t\t\t\t\t\t\t\tvalue: 'custom',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tvalue={ submissionMethod }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { submissionMethod: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\tsubmissionMethod === 'custom'\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'Select the method to use for form submissions. Additional options for the \"custom\" mode can be found in the \"Advanced\" section.'\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t'Select the method to use for form submissions.'\n\t\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{ submissionMethod === 'email' && (\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tlabel={ __( 'Email for form submissions' ) }\n\t\t\t\t\t\t\tvalue={ email }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { email: value } );\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\taction: `mailto:${ value }`,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\tsetAttributes( { method: 'post' } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'The email address where form submissions will be sent. Separate multiple email addresses with a comma.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\ttype=\"email\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ submissionMethod !== 'email' && (\n\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Method' ) }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: 'Get', value: 'get' },\n\t\t\t\t\t\t\t{ label: 'Post', value: 'post' },\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tvalue={ method }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { method: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Select the method to use for form submissions.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\tlabel={ __( 'Form action' ) }\n\t\t\t\t\t\tvalue={ action }\n\t\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\taction: newVal,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The URL where the form should be submitted.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\ttype=\"url\"\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<form\n\t\t\t\t{ ...innerBlocksProps }\n\t\t\t\tclassName=\"wp-block-form\"\n\t\t\t\tencType={ submissionMethod === 'email' ? 'text/plain' : null }\n\t\t\t/>\n\t\t</>\n\t);\n};\nexport default Edit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","InnerBlocks","useBlockProps","useInnerBlocksProps","InspectorControls","store","blockEditorStore","SelectControl","TextControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","useSelect","useToolsPanelDropdownMenuProps","formSubmissionNotificationSuccess","formSubmissionNotificationError","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","TEMPLATE","type","label","required","Edit","attributes","setAttributes","clientId","dropdownMenuProps","resetAllSettings","submissionMethod","email","undefined","action","method","blockProps","hasInnerBlocks","select","getBlock","block","innerBlocks","length","innerBlocksProps","template","renderAppender","ButtonBlockAppender","children","resetAll","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","__next40pxDefaultSize","options","value","onChange","help","autoComplete","group","newVal","className","encType"],"sources":["@wordpress/block-library/src/form/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInnerBlocks,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tSelectControl,\n\tTextControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport {\n\tformSubmissionNotificationSuccess,\n\tformSubmissionNotificationError,\n} from './utils.js';\n\nconst TEMPLATE = [\n\tformSubmissionNotificationSuccess,\n\tformSubmissionNotificationError,\n\t[\n\t\t'core/form-input',\n\t\t{\n\t\t\ttype: 'text',\n\t\t\tlabel: __( 'Name' ),\n\t\t\trequired: true,\n\t\t},\n\t],\n\t[\n\t\t'core/form-input',\n\t\t{\n\t\t\ttype: 'email',\n\t\t\tlabel: __( 'Email' ),\n\t\t\trequired: true,\n\t\t},\n\t],\n\t[\n\t\t'core/form-input',\n\t\t{\n\t\t\ttype: 'textarea',\n\t\t\tlabel: __( 'Comment' ),\n\t\t\trequired: true,\n\t\t},\n\t],\n\t[ 'core/form-submit-button', {} ],\n];\n\nconst Edit = ( { attributes, setAttributes, clientId } ) => {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst resetAllSettings = () => {\n\t\tsetAttributes( {\n\t\t\tsubmissionMethod: 'email',\n\t\t\temail: undefined,\n\t\t\taction: undefined,\n\t\t\tmethod: 'post',\n\t\t} );\n\t};\n\n\tconst { action, method, email, submissionMethod } = attributes;\n\tconst blockProps = useBlockProps();\n\n\tconst { hasInnerBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock } = select( blockEditorStore );\n\t\t\tconst block = getBlock( clientId );\n\t\t\treturn {\n\t\t\t\thasInnerBlocks: !! ( block && block.innerBlocks.length ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t\trenderAppender: hasInnerBlocks\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ resetAllSettings }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => submissionMethod !== 'email' }\n\t\t\t\t\t\tlabel={ __( 'Submissions method' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tsubmissionMethod: 'email',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Submissions method' ) }\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t// TODO: Allow plugins to add their own submission methods.\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( 'Send email' ),\n\t\t\t\t\t\t\t\t\tvalue: 'email',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( '- Custom -' ),\n\t\t\t\t\t\t\t\t\tvalue: 'custom',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tvalue={ submissionMethod }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { submissionMethod: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\tsubmissionMethod === 'custom'\n\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t'Select the method to use for form submissions. Additional options for the \"custom\" mode can be found in the \"Advanced\" section.'\n\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\t\t\t'Select the method to use for form submissions.'\n\t\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</ToolsPanelItem>\n\t\t\t\t\t{ submissionMethod === 'email' && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! email }\n\t\t\t\t\t\t\tlabel={ __( 'Email for form submissions' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\temail: undefined,\n\t\t\t\t\t\t\t\t\taction: undefined,\n\t\t\t\t\t\t\t\t\tmethod: 'post',\n\t\t\t\t\t\t\t\t} )\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<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Email for form submissions' ) }\n\t\t\t\t\t\t\t\tvalue={ email || '' }\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { email: value } );\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\taction: `mailto:${ value }`,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\tsetAttributes( { method: 'post' } );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'The email address where form submissions will be sent. Separate multiple email addresses with a comma.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\ttype=\"email\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ submissionMethod !== 'email' && (\n\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Method' ) }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: 'Get', value: 'get' },\n\t\t\t\t\t\t\t{ label: 'Post', value: 'post' },\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tvalue={ method }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { method: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Select the method to use for form submissions.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\tlabel={ __( 'Form action' ) }\n\t\t\t\t\t\tvalue={ action }\n\t\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\taction: newVal,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'The URL where the form should be submitted.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\ttype=\"url\"\n\t\t\t\t\t/>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<form\n\t\t\t\t{ ...innerBlocksProps }\n\t\t\t\tclassName=\"wp-block-form\"\n\t\t\t\tencType={ submissionMethod === 'email' ? 'text/plain' : null }\n\t\t\t/>\n\t\t</>\n\t);\n};\nexport default Edit;\n"],"mappings":"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","ignoreList":[]}
@@ -8,8 +8,13 @@ import clsx from 'clsx';
8
8
  */
9
9
  import { __ } from '@wordpress/i18n';
10
10
  import { InspectorControls, RichText, useBlockProps, __experimentalUseBorderProps as useBorderProps, __experimentalUseColorProps as useColorProps } from '@wordpress/block-editor';
11
- import { PanelBody, TextControl, CheckboxControl } from '@wordpress/components';
11
+ import { TextControl, CheckboxControl, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
12
12
  import { useRef } from '@wordpress/element';
13
+
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+ import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
13
18
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
14
19
  function InputFieldBlock({
15
20
  attributes,
@@ -26,6 +31,7 @@ function InputFieldBlock({
26
31
  value
27
32
  } = attributes;
28
33
  const blockProps = useBlockProps();
34
+ const dropdownMenuProps = useToolsPanelDropdownMenuProps();
29
35
  const ref = useRef();
30
36
  const TagName = type === 'textarea' ? 'textarea' : 'input';
31
37
  const borderProps = useBorderProps(attributes);
@@ -38,26 +44,49 @@ function InputFieldBlock({
38
44
  const isCheckboxOrRadio = type === 'checkbox' || type === 'radio';
39
45
  const controls = /*#__PURE__*/_jsxs(_Fragment, {
40
46
  children: ['hidden' !== type && /*#__PURE__*/_jsx(InspectorControls, {
41
- children: /*#__PURE__*/_jsxs(PanelBody, {
42
- title: __('Settings'),
43
- children: ['checkbox' !== type && /*#__PURE__*/_jsx(CheckboxControl, {
44
- __nextHasNoMarginBottom: true,
47
+ children: /*#__PURE__*/_jsxs(ToolsPanel, {
48
+ label: __('Settings'),
49
+ resetAll: () => {
50
+ setAttributes({
51
+ inlineLabel: false,
52
+ required: false
53
+ });
54
+ },
55
+ dropdownMenuProps: dropdownMenuProps,
56
+ children: ['checkbox' !== type && /*#__PURE__*/_jsx(ToolsPanelItem, {
45
57
  label: __('Inline label'),
46
- checked: inlineLabel,
47
- onChange: newVal => {
48
- setAttributes({
49
- inlineLabel: newVal
50
- });
51
- }
52
- }), /*#__PURE__*/_jsx(CheckboxControl, {
53
- __nextHasNoMarginBottom: true,
58
+ hasValue: () => !!inlineLabel,
59
+ onDeselect: () => setAttributes({
60
+ inlineLabel: false
61
+ }),
62
+ isShownByDefault: true,
63
+ children: /*#__PURE__*/_jsx(CheckboxControl, {
64
+ __nextHasNoMarginBottom: true,
65
+ label: __('Inline label'),
66
+ checked: inlineLabel,
67
+ onChange: newVal => {
68
+ setAttributes({
69
+ inlineLabel: newVal
70
+ });
71
+ }
72
+ })
73
+ }), /*#__PURE__*/_jsx(ToolsPanelItem, {
54
74
  label: __('Required'),
55
- checked: required,
56
- onChange: newVal => {
57
- setAttributes({
58
- required: newVal
59
- });
60
- }
75
+ hasValue: () => !!required,
76
+ onDeselect: () => setAttributes({
77
+ required: false
78
+ }),
79
+ isShownByDefault: true,
80
+ children: /*#__PURE__*/_jsx(CheckboxControl, {
81
+ __nextHasNoMarginBottom: true,
82
+ label: __('Required'),
83
+ checked: required,
84
+ onChange: newVal => {
85
+ setAttributes({
86
+ required: newVal
87
+ });
88
+ }
89
+ })
61
90
  })]
62
91
  })
63
92
  }), /*#__PURE__*/_jsx(InspectorControls, {
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","InspectorControls","RichText","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","PanelBody","TextControl","CheckboxControl","useRef","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","InputFieldBlock","attributes","setAttributes","className","type","name","label","inlineLabel","required","placeholder","value","blockProps","ref","TagName","borderProps","colorProps","current","focus","isCheckboxOrRadio","controls","children","title","__nextHasNoMarginBottom","checked","onChange","newVal","group","__next40pxDefaultSize","autoComplete","help","content","tagName","newLabel","event","target","undefined","style"],"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","__","InspectorControls","RichText","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","TextControl","CheckboxControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","useRef","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","InputFieldBlock","attributes","setAttributes","className","type","name","label","inlineLabel","required","placeholder","value","blockProps","dropdownMenuProps","ref","TagName","borderProps","colorProps","current","focus","isCheckboxOrRadio","controls","children","resetAll","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","checked","onChange","newVal","group","__next40pxDefaultSize","autoComplete","help","content","tagName","newLabel","event","target","undefined","style"],"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":[]}