@wordpress/block-library 9.30.0 → 9.30.1-next.6870dfe5b.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 (85) hide show
  1. package/build/accordion-content/edit.js +8 -8
  2. package/build/accordion-content/edit.js.map +1 -1
  3. package/build/accordion-content/index.js +2 -1
  4. package/build/accordion-content/index.js.map +1 -1
  5. package/build/accordion-panel/index.js +2 -1
  6. package/build/accordion-panel/index.js.map +1 -1
  7. package/build/navigation/constants.js +5 -1
  8. package/build/navigation/constants.js.map +1 -1
  9. package/build/navigation/edit/index.js +45 -1
  10. package/build/navigation/edit/index.js.map +1 -1
  11. package/build/navigation/edit/leaf-more-menu.js +0 -1
  12. package/build/navigation/edit/leaf-more-menu.js.map +1 -1
  13. package/build/navigation/edit/menu-inspector-controls.js +40 -5
  14. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  15. package/build/navigation-link/block-inserter.js +69 -0
  16. package/build/navigation-link/block-inserter.js.map +1 -0
  17. package/build/navigation-link/dialog-wrapper.js +80 -0
  18. package/build/navigation-link/dialog-wrapper.js.map +1 -0
  19. package/build/navigation-link/link-ui.js +80 -120
  20. package/build/navigation-link/link-ui.js.map +1 -1
  21. package/build/navigation-link/page-creator.js +137 -0
  22. package/build/navigation-link/page-creator.js.map +1 -0
  23. package/build/search/edit.js +22 -14
  24. package/build/search/edit.js.map +1 -1
  25. package/build-module/accordion-content/edit.js +8 -8
  26. package/build-module/accordion-content/edit.js.map +1 -1
  27. package/build-module/accordion-content/index.js +2 -1
  28. package/build-module/accordion-content/index.js.map +1 -1
  29. package/build-module/accordion-panel/index.js +2 -1
  30. package/build-module/accordion-panel/index.js.map +1 -1
  31. package/build-module/navigation/constants.js +5 -1
  32. package/build-module/navigation/constants.js.map +1 -1
  33. package/build-module/navigation/edit/index.js +50 -4
  34. package/build-module/navigation/edit/index.js.map +1 -1
  35. package/build-module/navigation/edit/leaf-more-menu.js +0 -1
  36. package/build-module/navigation/edit/leaf-more-menu.js.map +1 -1
  37. package/build-module/navigation/edit/menu-inspector-controls.js +40 -5
  38. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  39. package/build-module/navigation-link/block-inserter.js +61 -0
  40. package/build-module/navigation-link/block-inserter.js.map +1 -0
  41. package/build-module/navigation-link/dialog-wrapper.js +75 -0
  42. package/build-module/navigation-link/dialog-wrapper.js.map +1 -0
  43. package/build-module/navigation-link/link-ui.js +85 -125
  44. package/build-module/navigation-link/link-ui.js.map +1 -1
  45. package/build-module/navigation-link/page-creator.js +130 -0
  46. package/build-module/navigation-link/page-creator.js.map +1 -0
  47. package/build-module/search/edit.js +22 -14
  48. package/build-module/search/edit.js.map +1 -1
  49. package/build-style/accordion/style-rtl.css +5 -6
  50. package/build-style/accordion/style.css +5 -6
  51. package/build-style/editor-rtl.css +14 -0
  52. package/build-style/editor.css +14 -0
  53. package/build-style/form-input/style-rtl.css +4 -3
  54. package/build-style/form-input/style.css +4 -3
  55. package/build-style/navigation-link/editor-rtl.css +14 -0
  56. package/build-style/navigation-link/editor.css +14 -0
  57. package/build-style/navigation-link/style-rtl.css +1 -1
  58. package/build-style/navigation-link/style.css +1 -1
  59. package/build-style/post-comments-form/style-rtl.css +8 -5
  60. package/build-style/post-comments-form/style.css +8 -5
  61. package/build-style/search/style-rtl.css +11 -12
  62. package/build-style/search/style.css +11 -12
  63. package/build-style/style-rtl.css +29 -27
  64. package/build-style/style.css +29 -27
  65. package/package.json +35 -35
  66. package/src/accordion/style.scss +6 -6
  67. package/src/accordion-content/block.json +2 -1
  68. package/src/accordion-content/edit.js +21 -27
  69. package/src/accordion-panel/block.json +2 -1
  70. package/src/cover/test/edit.js +1 -5
  71. package/src/form-input/style.scss +3 -2
  72. package/src/navigation/constants.js +4 -0
  73. package/src/navigation/edit/index.js +50 -1
  74. package/src/navigation/edit/leaf-more-menu.js +0 -1
  75. package/src/navigation/edit/menu-inspector-controls.js +40 -5
  76. package/src/navigation-link/block-inserter.js +65 -0
  77. package/src/navigation-link/dialog-wrapper.js +74 -0
  78. package/src/navigation-link/editor.scss +17 -0
  79. package/src/navigation-link/link-ui.js +108 -164
  80. package/src/navigation-link/page-creator.js +157 -0
  81. package/src/navigation-link/style.scss +1 -1
  82. package/src/post-comments-form/style.scss +11 -11
  83. package/src/search/edit.js +44 -13
  84. package/src/search/index.php +16 -2
  85. package/src/search/style.scss +15 -16
@@ -0,0 +1,130 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { Button, TextControl, Notice, CheckboxControl, __experimentalVStack as VStack, __experimentalHStack as HStack } from '@wordpress/components';
5
+ import { __ } from '@wordpress/i18n';
6
+ import { useSelect, useDispatch } from '@wordpress/data';
7
+ import { store as coreStore } from '@wordpress/core-data';
8
+ import { decodeEntities } from '@wordpress/html-entities';
9
+ import { useState } from '@wordpress/element';
10
+
11
+ /**
12
+ * Internal dependencies
13
+ */
14
+ import DialogWrapper from './dialog-wrapper';
15
+
16
+ /**
17
+ * Component for creating new pages within the Navigation Link UI.
18
+ *
19
+ * @param {Object} props Component props.
20
+ * @param {string} props.postType The post type to create.
21
+ * @param {Function} props.onBack Callback when user wants to go back.
22
+ * @param {Function} props.onPageCreated Callback when page is successfully created.
23
+ * @param {string} [props.initialTitle] Initial title to pre-fill the form.
24
+ */
25
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
26
+ export function LinkUIPageCreator({
27
+ postType,
28
+ onBack,
29
+ onPageCreated,
30
+ initialTitle = ''
31
+ }) {
32
+ const [title, setTitle] = useState(initialTitle);
33
+ const [shouldPublish, setShouldPublish] = useState(false);
34
+
35
+ // Check if the title is valid for submission
36
+ const isTitleValid = title.trim().length > 0;
37
+
38
+ // Get the last created entity record (without ID) to track creation state
39
+ const {
40
+ lastError,
41
+ isSaving
42
+ } = useSelect(select => ({
43
+ lastError: select(coreStore).getLastEntitySaveError('postType', postType),
44
+ isSaving: select(coreStore).isSavingEntityRecord('postType', postType)
45
+ }), [postType]);
46
+ const {
47
+ saveEntityRecord
48
+ } = useDispatch(coreStore);
49
+ async function createPage(event) {
50
+ event.preventDefault();
51
+ if (isSaving || !isTitleValid) {
52
+ return;
53
+ }
54
+ try {
55
+ const savedRecord = await saveEntityRecord('postType', postType, {
56
+ title,
57
+ status: shouldPublish ? 'publish' : 'draft'
58
+ }, {
59
+ throwOnError: true
60
+ });
61
+ if (savedRecord) {
62
+ // Create the page link object from the saved record
63
+ const pageLink = {
64
+ id: savedRecord.id,
65
+ type: postType,
66
+ title: decodeEntities(savedRecord.title.rendered),
67
+ url: savedRecord.link,
68
+ kind: 'post-type'
69
+ };
70
+ onPageCreated(pageLink);
71
+ }
72
+ } catch (error) {
73
+ // Error handling is done via the data store selectors
74
+ }
75
+ }
76
+ const isSubmitDisabled = isSaving || !isTitleValid;
77
+ return /*#__PURE__*/_jsx(DialogWrapper, {
78
+ className: "link-ui-page-creator",
79
+ title: __('Create page'),
80
+ description: __('Create a new page to add to your Navigation.'),
81
+ onBack: onBack,
82
+ children: /*#__PURE__*/_jsx(VStack, {
83
+ className: "link-ui-page-creator__inner",
84
+ spacing: 4,
85
+ children: /*#__PURE__*/_jsx("form", {
86
+ onSubmit: createPage,
87
+ children: /*#__PURE__*/_jsxs(VStack, {
88
+ spacing: 4,
89
+ children: [/*#__PURE__*/_jsx(TextControl, {
90
+ __next40pxDefaultSize: true,
91
+ __nextHasNoMarginBottom: true,
92
+ label: __('Title'),
93
+ onChange: setTitle,
94
+ placeholder: __('No title'),
95
+ value: title
96
+ }), /*#__PURE__*/_jsx(CheckboxControl, {
97
+ __nextHasNoMarginBottom: true,
98
+ label: __('Publish immediately'),
99
+ help: __('If unchecked, the page will be created as a draft.'),
100
+ checked: shouldPublish,
101
+ onChange: setShouldPublish
102
+ }), lastError && /*#__PURE__*/_jsx(Notice, {
103
+ status: "error",
104
+ isDismissible: false,
105
+ children: lastError.message
106
+ }), /*#__PURE__*/_jsxs(HStack, {
107
+ spacing: 2,
108
+ justify: "flex-end",
109
+ children: [/*#__PURE__*/_jsx(Button, {
110
+ __next40pxDefaultSize: true,
111
+ variant: "tertiary",
112
+ onClick: onBack,
113
+ disabled: isSaving,
114
+ accessibleWhenDisabled: true,
115
+ children: __('Cancel')
116
+ }), /*#__PURE__*/_jsx(Button, {
117
+ __next40pxDefaultSize: true,
118
+ variant: "primary",
119
+ type: "submit",
120
+ isBusy: isSaving,
121
+ "aria-disabled": isSubmitDisabled,
122
+ children: __('Create page')
123
+ })]
124
+ })]
125
+ })
126
+ })
127
+ })
128
+ });
129
+ }
130
+ //# sourceMappingURL=page-creator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Button","TextControl","Notice","CheckboxControl","__experimentalVStack","VStack","__experimentalHStack","HStack","__","useSelect","useDispatch","store","coreStore","decodeEntities","useState","DialogWrapper","jsx","_jsx","jsxs","_jsxs","LinkUIPageCreator","postType","onBack","onPageCreated","initialTitle","title","setTitle","shouldPublish","setShouldPublish","isTitleValid","trim","length","lastError","isSaving","select","getLastEntitySaveError","isSavingEntityRecord","saveEntityRecord","createPage","event","preventDefault","savedRecord","status","throwOnError","pageLink","id","type","rendered","url","link","kind","error","isSubmitDisabled","className","description","children","spacing","onSubmit","__next40pxDefaultSize","__nextHasNoMarginBottom","label","onChange","placeholder","value","help","checked","isDismissible","message","justify","variant","onClick","disabled","accessibleWhenDisabled","isBusy"],"sources":["@wordpress/block-library/src/navigation-link/page-creator.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tTextControl,\n\tNotice,\n\tCheckboxControl,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport DialogWrapper from './dialog-wrapper';\n\n/**\n * Component for creating new pages within the Navigation Link UI.\n *\n * @param {Object} props Component props.\n * @param {string} props.postType The post type to create.\n * @param {Function} props.onBack Callback when user wants to go back.\n * @param {Function} props.onPageCreated Callback when page is successfully created.\n * @param {string} [props.initialTitle] Initial title to pre-fill the form.\n */\nexport function LinkUIPageCreator( {\n\tpostType,\n\tonBack,\n\tonPageCreated,\n\tinitialTitle = '',\n} ) {\n\tconst [ title, setTitle ] = useState( initialTitle );\n\tconst [ shouldPublish, setShouldPublish ] = useState( false );\n\n\t// Check if the title is valid for submission\n\tconst isTitleValid = title.trim().length > 0;\n\n\t// Get the last created entity record (without ID) to track creation state\n\tconst { lastError, isSaving } = useSelect(\n\t\t( select ) => ( {\n\t\t\tlastError: select( coreStore ).getLastEntitySaveError(\n\t\t\t\t'postType',\n\t\t\t\tpostType\n\t\t\t),\n\t\t\tisSaving: select( coreStore ).isSavingEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType\n\t\t\t),\n\t\t} ),\n\t\t[ postType ]\n\t);\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\tasync function createPage( event ) {\n\t\tevent.preventDefault();\n\t\tif ( isSaving || ! isTitleValid ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst savedRecord = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\t{\n\t\t\t\t\ttitle,\n\t\t\t\t\tstatus: shouldPublish ? 'publish' : 'draft',\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tif ( savedRecord ) {\n\t\t\t\t// Create the page link object from the saved record\n\t\t\t\tconst pageLink = {\n\t\t\t\t\tid: savedRecord.id,\n\t\t\t\t\ttype: postType,\n\t\t\t\t\ttitle: decodeEntities( savedRecord.title.rendered ),\n\t\t\t\t\turl: savedRecord.link,\n\t\t\t\t\tkind: 'post-type',\n\t\t\t\t};\n\n\t\t\t\tonPageCreated( pageLink );\n\t\t\t}\n\t\t} catch ( error ) {\n\t\t\t// Error handling is done via the data store selectors\n\t\t}\n\t}\n\n\tconst isSubmitDisabled = isSaving || ! isTitleValid;\n\n\treturn (\n\t\t<DialogWrapper\n\t\t\tclassName=\"link-ui-page-creator\"\n\t\t\ttitle={ __( 'Create page' ) }\n\t\t\tdescription={ __( 'Create a new page to add to your Navigation.' ) }\n\t\t\tonBack={ onBack }\n\t\t>\n\t\t\t<VStack className=\"link-ui-page-creator__inner\" spacing={ 4 }>\n\t\t\t\t<form onSubmit={ createPage }>\n\t\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t\t<TextControl\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={ __( 'Title' ) }\n\t\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t\tplaceholder={ __( 'No title' ) }\n\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t/>\n\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={ __( 'Publish immediately' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'If unchecked, the page will be created as a draft.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tchecked={ shouldPublish }\n\t\t\t\t\t\t\tonChange={ setShouldPublish }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t{ lastError && (\n\t\t\t\t\t\t\t<Notice status=\"error\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t{ lastError.message }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t<HStack spacing={ 2 } justify=\"flex-end\">\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ onBack }\n\t\t\t\t\t\t\t\tdisabled={ isSaving }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\t\t\t\taria-disabled={ isSubmitDisabled }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Create page' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</VStack>\n\t\t\t\t</form>\n\t\t\t</VStack>\n\t\t</DialogWrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -155,7 +155,11 @@ export default function SearchEdit({
155
155
  const textFieldClasses = clsx('wp-block-search__input', isButtonPositionInside ? undefined : borderProps.className, typographyProps.className);
156
156
  const textFieldStyles = {
157
157
  ...(isButtonPositionInside ? {
158
- borderRadius
158
+ borderRadius: borderProps.style?.borderRadius,
159
+ borderTopLeftRadius: borderProps.style?.borderTopLeftRadius,
160
+ borderTopRightRadius: borderProps.style?.borderTopRightRadius,
161
+ borderBottomLeftRadius: borderProps.style?.borderBottomLeftRadius,
162
+ borderBottomRightRadius: borderProps.style?.borderBottomRightRadius
159
163
  } : borderProps.style),
160
164
  ...typographyProps.style,
161
165
  textDecoration: undefined
@@ -184,7 +188,11 @@ export default function SearchEdit({
184
188
  ...colorProps.style,
185
189
  ...typographyProps.style,
186
190
  ...(isButtonPositionInside ? {
187
- borderRadius
191
+ borderRadius: borderProps.style?.borderRadius,
192
+ borderTopLeftRadius: borderProps.style?.borderTopLeftRadius,
193
+ borderTopRightRadius: borderProps.style?.borderTopRightRadius,
194
+ borderBottomLeftRadius: borderProps.style?.borderBottomLeftRadius,
195
+ borderBottomRightRadius: borderProps.style?.borderBottomRightRadius
188
196
  } : borderProps.style)
189
197
  };
190
198
  const handleButtonClick = () => {
@@ -353,7 +361,8 @@ export default function SearchEdit({
353
361
  })
354
362
  })
355
363
  });
356
- const padBorderRadius = radius => radius ? `calc(${radius} + ${DEFAULT_INNER_PADDING})` : undefined;
364
+ const isNonZeroBorderRadius = radius => radius !== undefined && parseInt(radius, 10) !== 0;
365
+ const padBorderRadius = radius => isNonZeroBorderRadius(radius) ? `calc(${radius} + ${DEFAULT_INNER_PADDING})` : undefined;
357
366
  const getWrapperStyles = () => {
358
367
  const styles = isButtonPositionInside ? borderProps.style : {
359
368
  borderRadius: borderProps.style?.borderRadius,
@@ -362,8 +371,7 @@ export default function SearchEdit({
362
371
  borderBottomLeftRadius: borderProps.style?.borderBottomLeftRadius,
363
372
  borderBottomRightRadius: borderProps.style?.borderBottomRightRadius
364
373
  };
365
- const isNonZeroBorderRadius = borderRadius !== undefined && parseInt(borderRadius, 10) !== 0;
366
- if (isButtonPositionInside && isNonZeroBorderRadius) {
374
+ if (isButtonPositionInside) {
367
375
  // We have button inside wrapper and a border radius value to apply.
368
376
  // Add default padding so we don't get "fat" corners.
369
377
  //
@@ -373,17 +381,17 @@ export default function SearchEdit({
373
381
  if (typeof borderRadius === 'object') {
374
382
  // Individual corner border radii present.
375
383
  const {
376
- topLeft,
377
- topRight,
378
- bottomLeft,
379
- bottomRight
380
- } = borderRadius;
384
+ borderTopLeftRadius,
385
+ borderTopRightRadius,
386
+ borderBottomLeftRadius,
387
+ borderBottomRightRadius
388
+ } = borderProps.style;
381
389
  return {
382
390
  ...styles,
383
- borderTopLeftRadius: padBorderRadius(topLeft),
384
- borderTopRightRadius: padBorderRadius(topRight),
385
- borderBottomLeftRadius: padBorderRadius(bottomLeft),
386
- borderBottomRightRadius: padBorderRadius(bottomRight)
391
+ borderTopLeftRadius: padBorderRadius(borderTopLeftRadius),
392
+ borderTopRightRadius: padBorderRadius(borderTopRightRadius),
393
+ borderBottomLeftRadius: padBorderRadius(borderBottomLeftRadius),
394
+ borderBottomRightRadius: padBorderRadius(borderBottomRightRadius)
387
395
  };
388
396
  }
389
397
 
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useBlockProps","InspectorControls","RichText","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","getTypographyClassesAndStyles","useTypographyProps","store","blockEditorStore","__experimentalGetElementClassName","useSettings","useDispatch","useSelect","useEffect","useRef","SelectControl","ToggleControl","ResizableBox","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalVStack","VStack","useInstanceId","Icon","search","__","sprintf","__unstableStripHTML","stripHTML","PC_WIDTH_DEFAULT","PX_WIDTH_DEFAULT","MIN_WIDTH","isPercentageUnit","useToolsPanelDropdownMenuProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DEFAULT_INNER_PADDING","PERCENTAGE_WIDTHS","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","clientId","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","isSearchFieldHidden","style","wasJustInsertedIntoNavigationBlock","select","getBlockParentsByBlockName","wasBlockJustInserted","length","__unstableMarkNextChangeAsNotPersistent","borderRadius","border","radius","borderProps","colorProps","fluidTypographySettings","layout","typographyProps","typography","fluid","wideSize","unitControlInstanceId","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","searchFieldRef","buttonRef","units","availableUnits","defaultValues","px","getBlockClassNames","undefined","buttonPositionControls","value","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","textDecoration","type","onChange","event","target","ref","renderButton","buttonClasses","buttonStyles","handleButtonClick","children","onClick","icon","identifier","withoutInteractiveFormatting","html","dropdownMenuProps","controls","resetAll","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","checked","__next40pxDefaultSize","options","id","min","max","step","newWidth","parsedNewWidth","parseInt","onUnitChange","newUnit","__unstableInputWidth","includes","hideLabelFromVision","isBlock","map","widthValue","padBorderRadius","getWrapperStyles","styles","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","isNonZeroBorderRadius","topLeft","topRight","bottomLeft","bottomRight","Number","isInteger","blockProps","labelClassnames","size","height","minWidth","enable","onResizeStart","direction","elt","offsetWidth","onResizeStop","delta","showHandle"],"sources":["@wordpress/block-library/src/search/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tInspectorControls,\n\tRichText,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tSelectControl,\n\tToggleControl,\n\tResizableBox,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { Icon, search } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport {\n\tPC_WIDTH_DEFAULT,\n\tPX_WIDTH_DEFAULT,\n\tMIN_WIDTH,\n\tisPercentageUnit,\n} from './utils.js';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n// Used to calculate border radius adjustment to avoid \"fat\" corners when\n// button is placed inside wrapper.\nconst DEFAULT_INNER_PADDING = '4px';\nconst PERCENTAGE_WIDTHS = [ 25, 50, 75, 100 ];\n\nexport default function SearchEdit( {\n\tclassName,\n\tattributes,\n\tsetAttributes,\n\ttoggleSelection,\n\tisSelected,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tplaceholder,\n\t\twidth,\n\t\twidthUnit,\n\t\talign,\n\t\tbuttonText,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tisSearchFieldHidden,\n\t\tstyle,\n\t} = attributes;\n\n\tconst wasJustInsertedIntoNavigationBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName, wasBlockJustInserted } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\t!! getBlockParentsByBlockName( clientId, 'core/navigation' )\n\t\t\t\t\t?.length && wasBlockJustInserted( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( wasJustInsertedIntoNavigationBlock ) {\n\t\t\t// This side-effect should not create an undo level.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tshowLabel: false,\n\t\t\t\tbuttonUseIcon: true,\n\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t} );\n\t\t}\n\t}, [\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\twasJustInsertedIntoNavigationBlock,\n\t\tsetAttributes,\n\t] );\n\n\tconst borderRadius = style?.border?.radius;\n\tlet borderProps = useBorderProps( attributes );\n\n\t// Check for old deprecated numerical border radius. Done as a separate\n\t// check so that a borderRadius style won't overwrite the longhand\n\t// per-corner styles.\n\tif ( typeof borderRadius === 'number' ) {\n\t\tborderProps = {\n\t\t\t...borderProps,\n\t\t\tstyle: {\n\t\t\t\t...borderProps.style,\n\t\t\t\tborderRadius: `${ borderRadius }px`,\n\t\t\t},\n\t\t};\n\t}\n\n\tconst colorProps = useColorProps( attributes );\n\tconst [ fluidTypographySettings, layout ] = useSettings(\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\n\tconst unitControlInstanceId = useInstanceId( UnitControl );\n\tconst unitControlInputId = `wp-block-search__width-${ unitControlInstanceId }`;\n\tconst isButtonPositionInside = 'button-inside' === buttonPosition;\n\tconst isButtonPositionOutside = 'button-outside' === buttonPosition;\n\tconst hasNoButton = 'no-button' === buttonPosition;\n\tconst hasOnlyButton = 'button-only' === buttonPosition;\n\tconst searchFieldRef = useRef();\n\tconst buttonRef = useRef();\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( hasOnlyButton && ! isSelected ) {\n\t\t\tsetAttributes( {\n\t\t\t\tisSearchFieldHidden: true,\n\t\t\t} );\n\t\t}\n\t}, [ hasOnlyButton, isSelected, setAttributes ] );\n\n\t// Show the search field when width changes.\n\tuseEffect( () => {\n\t\tif ( ! hasOnlyButton || ! isSelected ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tisSearchFieldHidden: false,\n\t\t} );\n\t}, [ hasOnlyButton, isSelected, setAttributes, width ] );\n\n\tconst getBlockClassNames = () => {\n\t\treturn clsx(\n\t\t\tclassName,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined,\n\t\t\thasOnlyButton && isSearchFieldHidden\n\t\t\t\t? 'wp-block-search__searchfield-hidden'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst buttonPositionControls = [\n\t\t{\n\t\t\tlabel: __( 'Button outside' ),\n\t\t\tvalue: 'button-outside',\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'Button inside' ),\n\t\t\tvalue: 'button-inside',\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'No button' ),\n\t\t\tvalue: 'no-button',\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'Button only' ),\n\t\t\tvalue: 'button-only',\n\t\t},\n\t];\n\n\tconst getResizableSides = () => {\n\t\tif ( hasOnlyButton ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tright: align !== 'right',\n\t\t\tleft: align === 'right',\n\t\t};\n\t};\n\n\tconst renderTextField = () => {\n\t\t// If the input is inside the wrapper, the wrapper gets the border color styles/classes, not the input control.\n\t\tconst textFieldClasses = clsx(\n\t\t\t'wp-block-search__input',\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\ttypographyProps.className\n\t\t);\n\t\tconst textFieldStyles = {\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t\t...typographyProps.style,\n\t\t\ttextDecoration: undefined,\n\t\t};\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\ttype=\"search\"\n\t\t\t\tclassName={ textFieldClasses }\n\t\t\t\tstyle={ textFieldStyles }\n\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t// which is confusing.\n\t\t\t\tplaceholder={\n\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t}\n\t\t\t\tvalue={ placeholder }\n\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t}\n\t\t\t\tref={ searchFieldRef }\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderButton = () => {\n\t\t// If the button is inside the wrapper, the wrapper gets the border color styles/classes, not the button.\n\t\tconst buttonClasses = clsx(\n\t\t\t'wp-block-search__button',\n\t\t\tcolorProps.className,\n\t\t\ttypographyProps.className,\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\tbuttonUseIcon ? 'has-icon' : undefined,\n\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t);\n\t\tconst buttonStyles = {\n\t\t\t...colorProps.style,\n\t\t\t...typographyProps.style,\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t};\n\t\tconst handleButtonClick = () => {\n\t\t\tif ( hasOnlyButton ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisSearchFieldHidden: ! isSearchFieldHidden,\n\t\t\t\t} );\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ buttonUseIcon && (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\tbuttonText\n\t\t\t\t\t\t\t\t? stripHTML( buttonText )\n\t\t\t\t\t\t\t\t: __( 'Search' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t\tref={ buttonRef }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"buttonText\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add button text…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst controls = (\n\t\t<>\n\t\t\t<InspectorControls>\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\tsetAttributes( {\n\t\t\t\t\t\t\twidth: undefined,\n\t\t\t\t\t\t\twidthUnit: undefined,\n\t\t\t\t\t\t\tshowLabel: true,\n\t\t\t\t\t\t\tbuttonUseIcon: false,\n\t\t\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t\t\t} );\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\thasValue={ () => ! showLabel }\n\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLabel: true,\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<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tchecked={ showLabel }\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowLabel: value,\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</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => buttonPosition !== 'button-outside' }\n\t\t\t\t\t\tlabel={ __( 'Button position' ) }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t\t\t\t\tisSearchFieldHidden: false,\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\tvalue={ buttonPosition }\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={ __( 'Button position' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonPosition: value,\n\t\t\t\t\t\t\t\t\tisSearchFieldHidden:\n\t\t\t\t\t\t\t\t\t\tvalue === 'button-only',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\toptions={ buttonPositionControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ buttonPosition !== 'no-button' && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! buttonUseIcon }\n\t\t\t\t\t\t\tlabel={ __( 'Use button with icon' ) }\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\tbuttonUseIcon: false,\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<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tchecked={ buttonUseIcon }\n\t\t\t\t\t\t\t\tlabel={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tbuttonUseIcon: value,\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) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! width }\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\twidth: undefined,\n\t\t\t\t\t\t\t\twidthUnit: undefined,\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<VStack>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\t\tid={ unitControlInputId } // Unused, kept for backwards compatibility\n\t\t\t\t\t\t\t\tmin={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t: MIN_WIDTH\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\t\tconst parsedNewWidth =\n\t\t\t\t\t\t\t\t\t\tnewWidth === ''\n\t\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t\t: parseInt( newWidth, 10 );\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\twidth: parsedNewWidth,\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\tonUnitChange={ ( newUnit ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\t'%' === newUnit\n\t\t\t\t\t\t\t\t\t\t\t\t? PC_WIDTH_DEFAULT\n\t\t\t\t\t\t\t\t\t\t\t\t: PX_WIDTH_DEFAULT,\n\t\t\t\t\t\t\t\t\t\twidthUnit: newUnit,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\t\tvalue={ `${ width }${ widthUnit }` }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Percentage Width' ) }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tPERCENTAGE_WIDTHS.includes( width ) &&\n\t\t\t\t\t\t\t\t\twidthUnit === '%'\n\t\t\t\t\t\t\t\t\t\t? width\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\twidth: newWidth,\n\t\t\t\t\t\t\t\t\t\twidthUnit: '%',\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\tisBlock\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ PERCENTAGE_WIDTHS.map( ( widthValue ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ widthValue }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %d: Percentage value. */\n\t\t\t\t\t\t\t\t\t\t\t\t__( '%d%%' ),\n\t\t\t\t\t\t\t\t\t\t\t\twidthValue\n\t\t\t\t\t\t\t\t\t\t\t) }\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</ToggleGroupControl>\n\t\t\t\t\t\t</VStack>\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\tconst padBorderRadius = ( radius ) =>\n\t\tradius ? `calc(${ radius } + ${ DEFAULT_INNER_PADDING })` : undefined;\n\n\tconst getWrapperStyles = () => {\n\t\tconst styles = isButtonPositionInside\n\t\t\t? borderProps.style\n\t\t\t: {\n\t\t\t\t\tborderRadius: borderProps.style?.borderRadius,\n\t\t\t\t\tborderTopLeftRadius: borderProps.style?.borderTopLeftRadius,\n\t\t\t\t\tborderTopRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderTopRightRadius,\n\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomLeftRadius,\n\t\t\t\t\tborderBottomRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomRightRadius,\n\t\t\t };\n\n\t\tconst isNonZeroBorderRadius =\n\t\t\tborderRadius !== undefined && parseInt( borderRadius, 10 ) !== 0;\n\n\t\tif ( isButtonPositionInside && isNonZeroBorderRadius ) {\n\t\t\t// We have button inside wrapper and a border radius value to apply.\n\t\t\t// Add default padding so we don't get \"fat\" corners.\n\t\t\t//\n\t\t\t// CSS calc() is used here to support non-pixel units. The inline\n\t\t\t// style using calc() will only apply if both values have units.\n\n\t\t\tif ( typeof borderRadius === 'object' ) {\n\t\t\t\t// Individual corner border radii present.\n\t\t\t\tconst { topLeft, topRight, bottomLeft, bottomRight } =\n\t\t\t\t\tborderRadius;\n\n\t\t\t\treturn {\n\t\t\t\t\t...styles,\n\t\t\t\t\tborderTopLeftRadius: padBorderRadius( topLeft ),\n\t\t\t\t\tborderTopRightRadius: padBorderRadius( topRight ),\n\t\t\t\t\tborderBottomLeftRadius: padBorderRadius( bottomLeft ),\n\t\t\t\t\tborderBottomRightRadius: padBorderRadius( bottomRight ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// The inline style using calc() will only apply if both values\n\t\t\t// supplied to calc() have units. Deprecated block's may have\n\t\t\t// unitless integer.\n\t\t\tconst radius = Number.isInteger( borderRadius )\n\t\t\t\t? `${ borderRadius }px`\n\t\t\t\t: borderRadius;\n\n\t\t\tstyles.borderRadius = `calc(${ radius } + ${ DEFAULT_INNER_PADDING })`;\n\t\t}\n\n\t\treturn styles;\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t\tstyle: {\n\t\t\t...typographyProps.style,\n\t\t\t// Input opts out of text decoration.\n\t\t\ttextDecoration: undefined,\n\t\t},\n\t} );\n\n\tconst labelClassnames = clsx(\n\t\t'wp-block-search__label',\n\t\ttypographyProps.className\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<RichText\n\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\tclassName={ labelClassnames }\n\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( html ) => setAttributes( { label: html } ) }\n\t\t\t\t\tstyle={ typographyProps.style }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth:\n\t\t\t\t\t\twidth === undefined\n\t\t\t\t\t\t\t? 'auto'\n\t\t\t\t\t\t\t: `${ width }${ widthUnit }`,\n\t\t\t\t\theight: 'auto',\n\t\t\t\t} }\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'wp-block-search__inside-wrapper',\n\t\t\t\t\tisButtonPositionInside ? borderProps.className : undefined\n\t\t\t\t) }\n\t\t\t\tstyle={ getWrapperStyles() }\n\t\t\t\tminWidth={ MIN_WIDTH }\n\t\t\t\tenable={ getResizableSides() }\n\t\t\t\tonResizeStart={ ( event, direction, elt ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( elt.offsetWidth, 10 ),\n\t\t\t\t\t\twidthUnit: 'px',\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t>\n\t\t\t\t{ ( isButtonPositionInside ||\n\t\t\t\t\tisButtonPositionOutside ||\n\t\t\t\t\thasOnlyButton ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t\t{ renderButton() }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ hasNoButton && renderTextField() }\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useBlockProps","InspectorControls","RichText","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","getTypographyClassesAndStyles","useTypographyProps","store","blockEditorStore","__experimentalGetElementClassName","useSettings","useDispatch","useSelect","useEffect","useRef","SelectControl","ToggleControl","ResizableBox","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalVStack","VStack","useInstanceId","Icon","search","__","sprintf","__unstableStripHTML","stripHTML","PC_WIDTH_DEFAULT","PX_WIDTH_DEFAULT","MIN_WIDTH","isPercentageUnit","useToolsPanelDropdownMenuProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DEFAULT_INNER_PADDING","PERCENTAGE_WIDTHS","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","clientId","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","isSearchFieldHidden","style","wasJustInsertedIntoNavigationBlock","select","getBlockParentsByBlockName","wasBlockJustInserted","length","__unstableMarkNextChangeAsNotPersistent","borderRadius","border","radius","borderProps","colorProps","fluidTypographySettings","layout","typographyProps","typography","fluid","wideSize","unitControlInstanceId","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","searchFieldRef","buttonRef","units","availableUnits","defaultValues","px","getBlockClassNames","undefined","buttonPositionControls","value","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","textDecoration","type","onChange","event","target","ref","renderButton","buttonClasses","buttonStyles","handleButtonClick","children","onClick","icon","identifier","withoutInteractiveFormatting","html","dropdownMenuProps","controls","resetAll","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","checked","__next40pxDefaultSize","options","id","min","max","step","newWidth","parsedNewWidth","parseInt","onUnitChange","newUnit","__unstableInputWidth","includes","hideLabelFromVision","isBlock","map","widthValue","isNonZeroBorderRadius","padBorderRadius","getWrapperStyles","styles","Number","isInteger","blockProps","labelClassnames","size","height","minWidth","enable","onResizeStart","direction","elt","offsetWidth","onResizeStop","delta","showHandle"],"sources":["@wordpress/block-library/src/search/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tInspectorControls,\n\tRichText,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tSelectControl,\n\tToggleControl,\n\tResizableBox,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { Icon, search } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport {\n\tPC_WIDTH_DEFAULT,\n\tPX_WIDTH_DEFAULT,\n\tMIN_WIDTH,\n\tisPercentageUnit,\n} from './utils.js';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n// Used to calculate border radius adjustment to avoid \"fat\" corners when\n// button is placed inside wrapper.\nconst DEFAULT_INNER_PADDING = '4px';\nconst PERCENTAGE_WIDTHS = [ 25, 50, 75, 100 ];\n\nexport default function SearchEdit( {\n\tclassName,\n\tattributes,\n\tsetAttributes,\n\ttoggleSelection,\n\tisSelected,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tplaceholder,\n\t\twidth,\n\t\twidthUnit,\n\t\talign,\n\t\tbuttonText,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tisSearchFieldHidden,\n\t\tstyle,\n\t} = attributes;\n\n\tconst wasJustInsertedIntoNavigationBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName, wasBlockJustInserted } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\t!! getBlockParentsByBlockName( clientId, 'core/navigation' )\n\t\t\t\t\t?.length && wasBlockJustInserted( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( wasJustInsertedIntoNavigationBlock ) {\n\t\t\t// This side-effect should not create an undo level.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tshowLabel: false,\n\t\t\t\tbuttonUseIcon: true,\n\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t} );\n\t\t}\n\t}, [\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\twasJustInsertedIntoNavigationBlock,\n\t\tsetAttributes,\n\t] );\n\n\tconst borderRadius = style?.border?.radius;\n\tlet borderProps = useBorderProps( attributes );\n\n\t// Check for old deprecated numerical border radius. Done as a separate\n\t// check so that a borderRadius style won't overwrite the longhand\n\t// per-corner styles.\n\tif ( typeof borderRadius === 'number' ) {\n\t\tborderProps = {\n\t\t\t...borderProps,\n\t\t\tstyle: {\n\t\t\t\t...borderProps.style,\n\t\t\t\tborderRadius: `${ borderRadius }px`,\n\t\t\t},\n\t\t};\n\t}\n\n\tconst colorProps = useColorProps( attributes );\n\tconst [ fluidTypographySettings, layout ] = useSettings(\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\n\tconst unitControlInstanceId = useInstanceId( UnitControl );\n\tconst unitControlInputId = `wp-block-search__width-${ unitControlInstanceId }`;\n\tconst isButtonPositionInside = 'button-inside' === buttonPosition;\n\tconst isButtonPositionOutside = 'button-outside' === buttonPosition;\n\tconst hasNoButton = 'no-button' === buttonPosition;\n\tconst hasOnlyButton = 'button-only' === buttonPosition;\n\tconst searchFieldRef = useRef();\n\tconst buttonRef = useRef();\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( hasOnlyButton && ! isSelected ) {\n\t\t\tsetAttributes( {\n\t\t\t\tisSearchFieldHidden: true,\n\t\t\t} );\n\t\t}\n\t}, [ hasOnlyButton, isSelected, setAttributes ] );\n\n\t// Show the search field when width changes.\n\tuseEffect( () => {\n\t\tif ( ! hasOnlyButton || ! isSelected ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tisSearchFieldHidden: false,\n\t\t} );\n\t}, [ hasOnlyButton, isSelected, setAttributes, width ] );\n\n\tconst getBlockClassNames = () => {\n\t\treturn clsx(\n\t\t\tclassName,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined,\n\t\t\thasOnlyButton && isSearchFieldHidden\n\t\t\t\t? 'wp-block-search__searchfield-hidden'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst buttonPositionControls = [\n\t\t{\n\t\t\tlabel: __( 'Button outside' ),\n\t\t\tvalue: 'button-outside',\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'Button inside' ),\n\t\t\tvalue: 'button-inside',\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'No button' ),\n\t\t\tvalue: 'no-button',\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'Button only' ),\n\t\t\tvalue: 'button-only',\n\t\t},\n\t];\n\n\tconst getResizableSides = () => {\n\t\tif ( hasOnlyButton ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tright: align !== 'right',\n\t\t\tleft: align === 'right',\n\t\t};\n\t};\n\n\tconst renderTextField = () => {\n\t\t// If the input is inside the wrapper, the wrapper gets the border color styles/classes, not the input control.\n\t\tconst textFieldClasses = clsx(\n\t\t\t'wp-block-search__input',\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\ttypographyProps.className\n\t\t);\n\t\tconst textFieldStyles = {\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? {\n\t\t\t\t\t\tborderRadius: borderProps.style?.borderRadius,\n\t\t\t\t\t\tborderTopLeftRadius:\n\t\t\t\t\t\t\tborderProps.style?.borderTopLeftRadius,\n\t\t\t\t\t\tborderTopRightRadius:\n\t\t\t\t\t\t\tborderProps.style?.borderTopRightRadius,\n\t\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\t\tborderProps.style?.borderBottomLeftRadius,\n\t\t\t\t\t\tborderBottomRightRadius:\n\t\t\t\t\t\t\tborderProps.style?.borderBottomRightRadius,\n\t\t\t\t }\n\t\t\t\t: borderProps.style ),\n\t\t\t...typographyProps.style,\n\t\t\ttextDecoration: undefined,\n\t\t};\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\ttype=\"search\"\n\t\t\t\tclassName={ textFieldClasses }\n\t\t\t\tstyle={ textFieldStyles }\n\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t// which is confusing.\n\t\t\t\tplaceholder={\n\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t}\n\t\t\t\tvalue={ placeholder }\n\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t}\n\t\t\t\tref={ searchFieldRef }\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderButton = () => {\n\t\t// If the button is inside the wrapper, the wrapper gets the border color styles/classes, not the button.\n\t\tconst buttonClasses = clsx(\n\t\t\t'wp-block-search__button',\n\t\t\tcolorProps.className,\n\t\t\ttypographyProps.className,\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\tbuttonUseIcon ? 'has-icon' : undefined,\n\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t);\n\t\tconst buttonStyles = {\n\t\t\t...colorProps.style,\n\t\t\t...typographyProps.style,\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? {\n\t\t\t\t\t\tborderRadius: borderProps.style?.borderRadius,\n\t\t\t\t\t\tborderTopLeftRadius:\n\t\t\t\t\t\t\tborderProps.style?.borderTopLeftRadius,\n\t\t\t\t\t\tborderTopRightRadius:\n\t\t\t\t\t\t\tborderProps.style?.borderTopRightRadius,\n\t\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\t\tborderProps.style?.borderBottomLeftRadius,\n\t\t\t\t\t\tborderBottomRightRadius:\n\t\t\t\t\t\t\tborderProps.style?.borderBottomRightRadius,\n\t\t\t\t }\n\t\t\t\t: borderProps.style ),\n\t\t};\n\t\tconst handleButtonClick = () => {\n\t\t\tif ( hasOnlyButton ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisSearchFieldHidden: ! isSearchFieldHidden,\n\t\t\t\t} );\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ buttonUseIcon && (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\tbuttonText\n\t\t\t\t\t\t\t\t? stripHTML( buttonText )\n\t\t\t\t\t\t\t\t: __( 'Search' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t\tref={ buttonRef }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"buttonText\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add button text…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst controls = (\n\t\t<>\n\t\t\t<InspectorControls>\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\tsetAttributes( {\n\t\t\t\t\t\t\twidth: undefined,\n\t\t\t\t\t\t\twidthUnit: undefined,\n\t\t\t\t\t\t\tshowLabel: true,\n\t\t\t\t\t\t\tbuttonUseIcon: false,\n\t\t\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t\t\t} );\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\thasValue={ () => ! showLabel }\n\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLabel: true,\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<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tchecked={ showLabel }\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowLabel: value,\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</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => buttonPosition !== 'button-outside' }\n\t\t\t\t\t\tlabel={ __( 'Button position' ) }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t\t\t\t\tisSearchFieldHidden: false,\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\tvalue={ buttonPosition }\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={ __( 'Button position' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonPosition: value,\n\t\t\t\t\t\t\t\t\tisSearchFieldHidden:\n\t\t\t\t\t\t\t\t\t\tvalue === 'button-only',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\toptions={ buttonPositionControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ buttonPosition !== 'no-button' && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! buttonUseIcon }\n\t\t\t\t\t\t\tlabel={ __( 'Use button with icon' ) }\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\tbuttonUseIcon: false,\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<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tchecked={ buttonUseIcon }\n\t\t\t\t\t\t\t\tlabel={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tbuttonUseIcon: value,\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) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! width }\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\twidth: undefined,\n\t\t\t\t\t\t\t\twidthUnit: undefined,\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<VStack>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\t\tid={ unitControlInputId } // Unused, kept for backwards compatibility\n\t\t\t\t\t\t\t\tmin={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t: MIN_WIDTH\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\t\tconst parsedNewWidth =\n\t\t\t\t\t\t\t\t\t\tnewWidth === ''\n\t\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t\t: parseInt( newWidth, 10 );\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\twidth: parsedNewWidth,\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\tonUnitChange={ ( newUnit ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\t'%' === newUnit\n\t\t\t\t\t\t\t\t\t\t\t\t? PC_WIDTH_DEFAULT\n\t\t\t\t\t\t\t\t\t\t\t\t: PX_WIDTH_DEFAULT,\n\t\t\t\t\t\t\t\t\t\twidthUnit: newUnit,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\t\tvalue={ `${ width }${ widthUnit }` }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Percentage Width' ) }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tPERCENTAGE_WIDTHS.includes( width ) &&\n\t\t\t\t\t\t\t\t\twidthUnit === '%'\n\t\t\t\t\t\t\t\t\t\t? width\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\twidth: newWidth,\n\t\t\t\t\t\t\t\t\t\twidthUnit: '%',\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\tisBlock\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ PERCENTAGE_WIDTHS.map( ( widthValue ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ widthValue }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %d: Percentage value. */\n\t\t\t\t\t\t\t\t\t\t\t\t__( '%d%%' ),\n\t\t\t\t\t\t\t\t\t\t\t\twidthValue\n\t\t\t\t\t\t\t\t\t\t\t) }\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</ToggleGroupControl>\n\t\t\t\t\t\t</VStack>\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\tconst isNonZeroBorderRadius = ( radius ) =>\n\t\tradius !== undefined && parseInt( radius, 10 ) !== 0;\n\n\tconst padBorderRadius = ( radius ) =>\n\t\tisNonZeroBorderRadius( radius )\n\t\t\t? `calc(${ radius } + ${ DEFAULT_INNER_PADDING })`\n\t\t\t: undefined;\n\n\tconst getWrapperStyles = () => {\n\t\tconst styles = isButtonPositionInside\n\t\t\t? borderProps.style\n\t\t\t: {\n\t\t\t\t\tborderRadius: borderProps.style?.borderRadius,\n\t\t\t\t\tborderTopLeftRadius: borderProps.style?.borderTopLeftRadius,\n\t\t\t\t\tborderTopRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderTopRightRadius,\n\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomLeftRadius,\n\t\t\t\t\tborderBottomRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomRightRadius,\n\t\t\t };\n\n\t\tif ( isButtonPositionInside ) {\n\t\t\t// We have button inside wrapper and a border radius value to apply.\n\t\t\t// Add default padding so we don't get \"fat\" corners.\n\t\t\t//\n\t\t\t// CSS calc() is used here to support non-pixel units. The inline\n\t\t\t// style using calc() will only apply if both values have units.\n\n\t\t\tif ( typeof borderRadius === 'object' ) {\n\t\t\t\t// Individual corner border radii present.\n\t\t\t\tconst {\n\t\t\t\t\tborderTopLeftRadius,\n\t\t\t\t\tborderTopRightRadius,\n\t\t\t\t\tborderBottomLeftRadius,\n\t\t\t\t\tborderBottomRightRadius,\n\t\t\t\t} = borderProps.style;\n\n\t\t\t\treturn {\n\t\t\t\t\t...styles,\n\t\t\t\t\tborderTopLeftRadius: padBorderRadius( borderTopLeftRadius ),\n\t\t\t\t\tborderTopRightRadius:\n\t\t\t\t\t\tpadBorderRadius( borderTopRightRadius ),\n\t\t\t\t\tborderBottomLeftRadius: padBorderRadius(\n\t\t\t\t\t\tborderBottomLeftRadius\n\t\t\t\t\t),\n\t\t\t\t\tborderBottomRightRadius: padBorderRadius(\n\t\t\t\t\t\tborderBottomRightRadius\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// The inline style using calc() will only apply if both values\n\t\t\t// supplied to calc() have units. Deprecated block's may have\n\t\t\t// unitless integer.\n\t\t\tconst radius = Number.isInteger( borderRadius )\n\t\t\t\t? `${ borderRadius }px`\n\t\t\t\t: borderRadius;\n\n\t\t\tstyles.borderRadius = `calc(${ radius } + ${ DEFAULT_INNER_PADDING })`;\n\t\t}\n\n\t\treturn styles;\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t\tstyle: {\n\t\t\t...typographyProps.style,\n\t\t\t// Input opts out of text decoration.\n\t\t\ttextDecoration: undefined,\n\t\t},\n\t} );\n\n\tconst labelClassnames = clsx(\n\t\t'wp-block-search__label',\n\t\ttypographyProps.className\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<RichText\n\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\tclassName={ labelClassnames }\n\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( html ) => setAttributes( { label: html } ) }\n\t\t\t\t\tstyle={ typographyProps.style }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth:\n\t\t\t\t\t\twidth === undefined\n\t\t\t\t\t\t\t? 'auto'\n\t\t\t\t\t\t\t: `${ width }${ widthUnit }`,\n\t\t\t\t\theight: 'auto',\n\t\t\t\t} }\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'wp-block-search__inside-wrapper',\n\t\t\t\t\tisButtonPositionInside ? borderProps.className : undefined\n\t\t\t\t) }\n\t\t\t\tstyle={ getWrapperStyles() }\n\t\t\t\tminWidth={ MIN_WIDTH }\n\t\t\t\tenable={ getResizableSides() }\n\t\t\t\tonResizeStart={ ( event, direction, elt ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( elt.offsetWidth, 10 ),\n\t\t\t\t\t\twidthUnit: 'px',\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t>\n\t\t\t\t{ ( isButtonPositionInside ||\n\t\t\t\t\tisButtonPositionOutside ||\n\t\t\t\t\thasOnlyButton ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t\t{ renderButton() }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ hasNoButton && renderTextField() }\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -146,11 +146,6 @@
146
146
  transform: rotate(-45deg);
147
147
  }
148
148
 
149
- .accordion-content__heading {
150
- margin-block-start: 0;
151
- margin-block-end: 0;
152
- }
153
-
154
149
  .accordion-content__toggle {
155
150
  font-family: inherit;
156
151
  font-size: inherit;
@@ -181,7 +176,11 @@
181
176
  .is-layout-flow > .wp-block-accordion-panel,
182
177
  .wp-block-accordion-panel {
183
178
  overflow: hidden;
184
- margin: 0;
179
+ }
180
+
181
+ .wp-block-accordion-panel[inert],
182
+ .wp-block-accordion-panel[aria-hidden=true] {
183
+ margin-block-start: 0;
185
184
  }
186
185
 
187
186
  .accordion-panel__wrapper {
@@ -146,11 +146,6 @@
146
146
  transform: rotate(45deg);
147
147
  }
148
148
 
149
- .accordion-content__heading {
150
- margin-block-start: 0;
151
- margin-block-end: 0;
152
- }
153
-
154
149
  .accordion-content__toggle {
155
150
  font-family: inherit;
156
151
  font-size: inherit;
@@ -181,7 +176,11 @@
181
176
  .is-layout-flow > .wp-block-accordion-panel,
182
177
  .wp-block-accordion-panel {
183
178
  overflow: hidden;
184
- margin: 0;
179
+ }
180
+
181
+ .wp-block-accordion-panel[inert],
182
+ .wp-block-accordion-panel[aria-hidden=true] {
183
+ margin-block-start: 0;
185
184
  }
186
185
 
187
186
  .accordion-panel__wrapper {
@@ -1994,6 +1994,20 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
1994
1994
  height: auto;
1995
1995
  }
1996
1996
 
1997
+ .link-ui-page-creator {
1998
+ max-width: 350px;
1999
+ min-width: auto;
2000
+ width: 90vw;
2001
+ padding-top: 8px;
2002
+ }
2003
+ .link-ui-page-creator__inner {
2004
+ padding: 16px;
2005
+ }
2006
+ .link-ui-page-creator__back {
2007
+ margin-right: 8px;
2008
+ text-transform: uppercase;
2009
+ }
2010
+
1997
2011
  .wp-block-navigation-submenu {
1998
2012
  display: block;
1999
2013
  }
@@ -2001,6 +2001,20 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2001
2001
  height: auto;
2002
2002
  }
2003
2003
 
2004
+ .link-ui-page-creator {
2005
+ max-width: 350px;
2006
+ min-width: auto;
2007
+ width: 90vw;
2008
+ padding-top: 8px;
2009
+ }
2010
+ .link-ui-page-creator__inner {
2011
+ padding: 16px;
2012
+ }
2013
+ .link-ui-page-creator__back {
2014
+ margin-left: 8px;
2015
+ text-transform: uppercase;
2016
+ }
2017
+
2004
2018
  .wp-block-navigation-submenu {
2005
2019
  display: block;
2006
2020
  }
@@ -165,15 +165,16 @@
165
165
  width: fit-content;
166
166
  }
167
167
 
168
- .wp-block-form-input__input {
168
+ :where(.wp-block-form-input__input) {
169
169
  padding: 0 0.5em;
170
170
  font-size: 1em;
171
171
  margin-bottom: 0.5em;
172
172
  }
173
- .wp-block-form-input__input[type=text], .wp-block-form-input__input[type=password], .wp-block-form-input__input[type=date], .wp-block-form-input__input[type=datetime], .wp-block-form-input__input[type=datetime-local], .wp-block-form-input__input[type=email], .wp-block-form-input__input[type=month], .wp-block-form-input__input[type=number], .wp-block-form-input__input[type=search], .wp-block-form-input__input[type=tel], .wp-block-form-input__input[type=time], .wp-block-form-input__input[type=url], .wp-block-form-input__input[type=week] {
173
+ :where(.wp-block-form-input__input)[type=text], :where(.wp-block-form-input__input)[type=password], :where(.wp-block-form-input__input)[type=date], :where(.wp-block-form-input__input)[type=datetime], :where(.wp-block-form-input__input)[type=datetime-local], :where(.wp-block-form-input__input)[type=email], :where(.wp-block-form-input__input)[type=month], :where(.wp-block-form-input__input)[type=number], :where(.wp-block-form-input__input)[type=search], :where(.wp-block-form-input__input)[type=tel], :where(.wp-block-form-input__input)[type=time], :where(.wp-block-form-input__input)[type=url], :where(.wp-block-form-input__input)[type=week] {
174
174
  min-height: 2em;
175
175
  line-height: 2;
176
- border: 1px solid;
176
+ border-width: 1px;
177
+ border-style: solid;
177
178
  }
178
179
 
179
180
  textarea.wp-block-form-input__input {
@@ -165,15 +165,16 @@
165
165
  width: fit-content;
166
166
  }
167
167
 
168
- .wp-block-form-input__input {
168
+ :where(.wp-block-form-input__input) {
169
169
  padding: 0 0.5em;
170
170
  font-size: 1em;
171
171
  margin-bottom: 0.5em;
172
172
  }
173
- .wp-block-form-input__input[type=text], .wp-block-form-input__input[type=password], .wp-block-form-input__input[type=date], .wp-block-form-input__input[type=datetime], .wp-block-form-input__input[type=datetime-local], .wp-block-form-input__input[type=email], .wp-block-form-input__input[type=month], .wp-block-form-input__input[type=number], .wp-block-form-input__input[type=search], .wp-block-form-input__input[type=tel], .wp-block-form-input__input[type=time], .wp-block-form-input__input[type=url], .wp-block-form-input__input[type=week] {
173
+ :where(.wp-block-form-input__input)[type=text], :where(.wp-block-form-input__input)[type=password], :where(.wp-block-form-input__input)[type=date], :where(.wp-block-form-input__input)[type=datetime], :where(.wp-block-form-input__input)[type=datetime-local], :where(.wp-block-form-input__input)[type=email], :where(.wp-block-form-input__input)[type=month], :where(.wp-block-form-input__input)[type=number], :where(.wp-block-form-input__input)[type=search], :where(.wp-block-form-input__input)[type=tel], :where(.wp-block-form-input__input)[type=time], :where(.wp-block-form-input__input)[type=url], :where(.wp-block-form-input__input)[type=week] {
174
174
  min-height: 2em;
175
175
  line-height: 2;
176
- border: 1px solid;
176
+ border-width: 1px;
177
+ border-style: solid;
177
178
  }
178
179
 
179
180
  textarea.wp-block-form-input__input {
@@ -228,4 +228,18 @@
228
228
  flex-direction: column;
229
229
  gap: 8px;
230
230
  height: auto;
231
+ }
232
+
233
+ .link-ui-page-creator {
234
+ max-width: 350px;
235
+ min-width: auto;
236
+ width: 90vw;
237
+ padding-top: 8px;
238
+ }
239
+ .link-ui-page-creator__inner {
240
+ padding: 16px;
241
+ }
242
+ .link-ui-page-creator__back {
243
+ margin-right: 8px;
244
+ text-transform: uppercase;
231
245
  }
@@ -228,4 +228,18 @@
228
228
  flex-direction: column;
229
229
  gap: 8px;
230
230
  height: auto;
231
+ }
232
+
233
+ .link-ui-page-creator {
234
+ max-width: 350px;
235
+ min-width: auto;
236
+ width: 90vw;
237
+ padding-top: 8px;
238
+ }
239
+ .link-ui-page-creator__inner {
240
+ padding: 16px;
241
+ }
242
+ .link-ui-page-creator__back {
243
+ margin-left: 8px;
244
+ text-transform: uppercase;
231
245
  }
@@ -142,7 +142,7 @@
142
142
  }
143
143
 
144
144
  .link-ui-tools {
145
- border-top: 1px solid #f0f0f0;
145
+ outline: 1px solid #f0f0f0;
146
146
  padding: 8px;
147
147
  }
148
148
 
@@ -142,7 +142,7 @@
142
142
  }
143
143
 
144
144
  .link-ui-tools {
145
- border-top: 1px solid #f0f0f0;
145
+ outline: 1px solid #f0f0f0;
146
146
  padding: 8px;
147
147
  }
148
148
 
@@ -134,14 +134,17 @@
134
134
  /**
135
135
  * Reset the WP Admin page styles for Gutenberg-like pages.
136
136
  */
137
- :where(.wp-block-post-comments-form) textarea,
138
- :where(.wp-block-post-comments-form) input:not([type=submit]) {
139
- border: 1px solid #949494;
137
+ :where(.wp-block-post-comments-form textarea),
138
+ :where(.wp-block-post-comments-form input:not([type=submit])) {
139
+ border-width: 1px;
140
+ border-style: solid;
141
+ border-color: #949494;
140
142
  font-size: 1em;
141
143
  font-family: inherit;
142
144
  }
143
- :where(.wp-block-post-comments-form) textarea,
144
- :where(.wp-block-post-comments-form) input:where(:not([type=submit]):not([type=checkbox])) {
145
+
146
+ :where(.wp-block-post-comments-form textarea),
147
+ :where(.wp-block-post-comments-form input:where(:not([type=submit]):not([type=checkbox]))) {
145
148
  padding: calc(0.667em + 2px);
146
149
  }
147
150