@wordpress/block-library 9.30.0 → 9.30.1-next.6f42e1382.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.
- package/build/accordion-content/edit.js +8 -8
- package/build/accordion-content/edit.js.map +1 -1
- package/build/accordion-content/index.js +2 -1
- package/build/accordion-content/index.js.map +1 -1
- package/build/accordion-panel/index.js +2 -1
- package/build/accordion-panel/index.js.map +1 -1
- package/build/buttons/index.js +2 -1
- package/build/buttons/index.js.map +1 -1
- package/build/categories/edit.js +3 -1
- package/build/categories/edit.js.map +1 -1
- package/build/index.js +4 -0
- package/build/index.js.map +1 -1
- package/build/navigation/constants.js +5 -1
- package/build/navigation/constants.js.map +1 -1
- package/build/navigation/edit/index.js +45 -1
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/leaf-more-menu.js +0 -1
- package/build/navigation/edit/leaf-more-menu.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +40 -5
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation-link/block-inserter.js +69 -0
- package/build/navigation-link/block-inserter.js.map +1 -0
- package/build/navigation-link/dialog-wrapper.js +80 -0
- package/build/navigation-link/dialog-wrapper.js.map +1 -0
- package/build/navigation-link/link-ui.js +80 -120
- package/build/navigation-link/link-ui.js.map +1 -1
- package/build/navigation-link/page-creator.js +137 -0
- package/build/navigation-link/page-creator.js.map +1 -0
- package/build/search/edit.js +22 -14
- package/build/search/edit.js.map +1 -1
- package/build/social-links/index.js +2 -1
- package/build/social-links/index.js.map +1 -1
- package/build/table-of-contents/edit.js +33 -9
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/table-of-contents/index.js +4 -0
- package/build/table-of-contents/index.js.map +1 -1
- package/build/table-of-contents/list.js +6 -3
- package/build/table-of-contents/list.js.map +1 -1
- package/build/table-of-contents/save.js +6 -3
- package/build/table-of-contents/save.js.map +1 -1
- package/build/term-template/edit.js +318 -0
- package/build/term-template/edit.js.map +1 -0
- package/build/term-template/index.js +109 -0
- package/build/term-template/index.js.map +1 -0
- package/build/term-template/save.js +16 -0
- package/build/term-template/save.js.map +1 -0
- package/build/term-template/variations.js +83 -0
- package/build/term-template/variations.js.map +1 -0
- package/build/terms-query/edit.js +20 -0
- package/build/terms-query/edit.js.map +1 -0
- package/build/terms-query/index.js +83 -0
- package/build/terms-query/index.js.map +1 -0
- package/build/terms-query/inspector-controls.js +246 -0
- package/build/terms-query/inspector-controls.js.map +1 -0
- package/build/terms-query/save.js +24 -0
- package/build/terms-query/save.js.map +1 -0
- package/build/terms-query/terms-query-content.js +71 -0
- package/build/terms-query/terms-query-content.js.map +1 -0
- package/build-module/accordion-content/edit.js +8 -8
- package/build-module/accordion-content/edit.js.map +1 -1
- package/build-module/accordion-content/index.js +2 -1
- package/build-module/accordion-content/index.js.map +1 -1
- package/build-module/accordion-panel/index.js +2 -1
- package/build-module/accordion-panel/index.js.map +1 -1
- package/build-module/buttons/index.js +2 -1
- package/build-module/buttons/index.js.map +1 -1
- package/build-module/categories/edit.js +3 -1
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/index.js +4 -0
- package/build-module/index.js.map +1 -1
- package/build-module/navigation/constants.js +5 -1
- package/build-module/navigation/constants.js.map +1 -1
- package/build-module/navigation/edit/index.js +50 -4
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/leaf-more-menu.js +0 -1
- package/build-module/navigation/edit/leaf-more-menu.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +40 -5
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation-link/block-inserter.js +61 -0
- package/build-module/navigation-link/block-inserter.js.map +1 -0
- package/build-module/navigation-link/dialog-wrapper.js +75 -0
- package/build-module/navigation-link/dialog-wrapper.js.map +1 -0
- package/build-module/navigation-link/link-ui.js +85 -125
- package/build-module/navigation-link/link-ui.js.map +1 -1
- package/build-module/navigation-link/page-creator.js +130 -0
- package/build-module/navigation-link/page-creator.js.map +1 -0
- package/build-module/search/edit.js +22 -14
- package/build-module/search/edit.js.map +1 -1
- package/build-module/social-links/index.js +2 -1
- package/build-module/social-links/index.js.map +1 -1
- package/build-module/table-of-contents/edit.js +35 -11
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/table-of-contents/index.js +4 -0
- package/build-module/table-of-contents/index.js.map +1 -1
- package/build-module/table-of-contents/list.js +6 -3
- package/build-module/table-of-contents/list.js.map +1 -1
- package/build-module/table-of-contents/save.js +6 -3
- package/build-module/table-of-contents/save.js.map +1 -1
- package/build-module/term-template/edit.js +310 -0
- package/build-module/term-template/edit.js.map +1 -0
- package/build-module/term-template/index.js +102 -0
- package/build-module/term-template/index.js.map +1 -0
- package/build-module/term-template/save.js +9 -0
- package/build-module/term-template/save.js.map +1 -0
- package/build-module/term-template/variations.js +76 -0
- package/build-module/term-template/variations.js.map +1 -0
- package/build-module/terms-query/edit.js +12 -0
- package/build-module/terms-query/edit.js.map +1 -0
- package/build-module/terms-query/index.js +76 -0
- package/build-module/terms-query/index.js.map +1 -0
- package/build-module/terms-query/inspector-controls.js +239 -0
- package/build-module/terms-query/inspector-controls.js.map +1 -0
- package/build-module/terms-query/save.js +17 -0
- package/build-module/terms-query/save.js.map +1 -0
- package/build-module/terms-query/terms-query-content.js +63 -0
- package/build-module/terms-query/terms-query-content.js.map +1 -0
- package/build-style/accordion/style-rtl.css +5 -6
- package/build-style/accordion/style.css +5 -6
- package/build-style/editor-rtl.css +38 -0
- package/build-style/editor.css +38 -0
- package/build-style/form-input/style-rtl.css +4 -3
- package/build-style/form-input/style.css +4 -3
- package/build-style/navigation-link/editor-rtl.css +14 -0
- package/build-style/navigation-link/editor.css +14 -0
- package/build-style/navigation-link/style-rtl.css +1 -1
- package/build-style/navigation-link/style.css +1 -1
- package/build-style/post-comments-form/style-rtl.css +8 -5
- package/build-style/post-comments-form/style.css +8 -5
- package/build-style/search/style-rtl.css +11 -12
- package/build-style/search/style.css +11 -12
- package/build-style/style-rtl.css +45 -27
- package/build-style/style.css +45 -27
- package/build-style/term-template/editor-rtl.css +160 -0
- package/build-style/term-template/editor.css +160 -0
- package/build-style/term-template/style-rtl.css +146 -0
- package/build-style/term-template/style.css +146 -0
- package/build-style/terms-query/style-rtl.css +140 -0
- package/build-style/terms-query/style.css +140 -0
- package/build-types/table-of-contents/list.d.ts +2 -1
- package/build-types/table-of-contents/list.d.ts.map +1 -1
- package/package.json +35 -35
- package/src/accordion/style.scss +6 -6
- package/src/accordion-content/block.json +2 -1
- package/src/accordion-content/edit.js +21 -27
- package/src/accordion-panel/block.json +2 -1
- package/src/buttons/block.json +2 -1
- package/src/categories/edit.js +2 -1
- package/src/cover/test/edit.js +1 -5
- package/src/editor.scss +1 -0
- package/src/form-input/style.scss +3 -2
- package/src/index.js +4 -0
- package/src/navigation/constants.js +4 -0
- package/src/navigation/edit/index.js +50 -1
- package/src/navigation/edit/leaf-more-menu.js +0 -1
- package/src/navigation/edit/menu-inspector-controls.js +40 -5
- package/src/navigation-link/block-inserter.js +65 -0
- package/src/navigation-link/dialog-wrapper.js +74 -0
- package/src/navigation-link/editor.scss +17 -0
- package/src/navigation-link/link-ui.js +108 -164
- package/src/navigation-link/page-creator.js +157 -0
- package/src/navigation-link/style.scss +1 -1
- package/src/post-comments-form/style.scss +11 -11
- package/src/post-date/index.php +18 -13
- package/src/search/edit.js +44 -13
- package/src/search/index.php +16 -2
- package/src/search/style.scss +15 -16
- package/src/social-links/block.json +2 -1
- package/src/style.scss +2 -0
- package/src/table-of-contents/block.json +4 -0
- package/src/table-of-contents/edit.js +58 -21
- package/src/table-of-contents/list.tsx +7 -2
- package/src/table-of-contents/save.js +7 -3
- package/src/term-template/block.json +73 -0
- package/src/term-template/edit.js +391 -0
- package/src/term-template/editor.scss +26 -0
- package/src/term-template/index.js +26 -0
- package/src/term-template/index.php +224 -0
- package/src/term-template/save.js +8 -0
- package/src/term-template/style.scss +12 -0
- package/src/term-template/variations.js +87 -0
- package/src/terms-query/block.json +49 -0
- package/src/terms-query/edit.js +10 -0
- package/src/terms-query/index.js +24 -0
- package/src/terms-query/index.php +44 -0
- package/src/terms-query/inspector-controls.js +233 -0
- package/src/terms-query/save.js +10 -0
- package/src/terms-query/style.scss +6 -0
- package/src/terms-query/terms-query-content.js +74 -0
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -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
|
|
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
|
-
|
|
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
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
} =
|
|
384
|
+
borderTopLeftRadius,
|
|
385
|
+
borderTopRightRadius,
|
|
386
|
+
borderBottomLeftRadius,
|
|
387
|
+
borderBottomRightRadius
|
|
388
|
+
} = borderProps.style;
|
|
381
389
|
return {
|
|
382
390
|
...styles,
|
|
383
|
-
borderTopLeftRadius: padBorderRadius(
|
|
384
|
-
borderTopRightRadius: padBorderRadius(
|
|
385
|
-
borderBottomLeftRadius: padBorderRadius(
|
|
386
|
-
borderBottomRightRadius: padBorderRadius(
|
|
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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["share","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","allowedBlocks","description","keywords","textdomain","attributes","iconColor","type","customIconColor","iconColorValue","iconBackgroundColor","customIconBackgroundColor","iconBackgroundColorValue","openInNewTab","showLabels","size","providesContext","supports","align","anchor","html","__experimentalExposeControlsToChildren","layout","allowSwitching","allowInheriting","allowVerticalAlignment","color","enableContrastChecker","background","gradients","text","__experimentalDefaultControls","spacing","blockGap","margin","padding","units","interactivity","clientNavigation","__experimentalBorder","radius","width","style","styles","label","isDefault","editorStyle","save","settings","example","innerBlocks","service","url","init"],"sources":["@wordpress/block-library/src/social-links/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { share as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/social-link',\n\t\t\t\tattributes: {\n\t\t\t\t\tservice: 'wordpress',\n\t\t\t\t\turl: 'https://wordpress.org',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/social-link',\n\t\t\t\tattributes: {\n\t\t\t\t\tservice: 'facebook',\n\t\t\t\t\turl: 'https://www.facebook.com/WordPress/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/social-link',\n\t\t\t\tattributes: {\n\t\t\t\t\tservice: 'twitter',\n\t\t\t\t\turl: 'https://twitter.com/WordPress',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ticon,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,IAAI,QAAQ,kBAAkB;;AAEhD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,aAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,SAAA;MAAAC,IAAA;IAAA;IAAAC,eAAA;MAAAD,IAAA;IAAA;IAAAE,cAAA;MAAAF,IAAA;IAAA;IAAAG,mBAAA;MAAAH,IAAA;IAAA;IAAAI,yBAAA;MAAAJ,IAAA;IAAA;IAAAK,wBAAA;MAAAL,IAAA;IAAA;IAAAM,YAAA;MAAAN,IAAA;MAAA;IAAA;IAAAO,UAAA;MAAAP,IAAA;MAAA;IAAA;IAAAQ,IAAA;MAAAR,IAAA;IAAA;EAAA;EAAAS,eAAA;IAAAH,YAAA;IAAAC,UAAA;IAAAR,SAAA;IAAAG,cAAA;IAAAC,mBAAA;IAAAE,wBAAA;EAAA;EAAAK,QAAA;IAAAC,KAAA;IAAAC,MAAA;IAAAC,IAAA;IAAAC,sCAAA;IAAAC,MAAA;MAAAC,cAAA;MAAAC,eAAA;MAAAC,sBAAA;MAAA;QAAAlB,IAAA;MAAA;IAAA;IAAAmB,KAAA;MAAAC,qBAAA;MAAAC,UAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAH,UAAA;MAAA;IAAA;IAAAI,OAAA;MAAAC,QAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,KAAA;MAAAL,6BAAA;QAAAE,QAAA;QAAAC,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAE,aAAA;MAAAC,gBAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAAd,KAAA;MAAAe,KAAA;MAAAC,KAAA;MAAAX,6BAAA;QAAAS,MAAA;QAAAd,KAAA;QAAAe,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;EAAAC,MAAA;
|
|
1
|
+
{"version":3,"names":["share","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","allowedBlocks","description","keywords","textdomain","attributes","iconColor","type","customIconColor","iconColorValue","iconBackgroundColor","customIconBackgroundColor","iconBackgroundColorValue","openInNewTab","showLabels","size","providesContext","supports","align","anchor","html","__experimentalExposeControlsToChildren","layout","allowSwitching","allowInheriting","allowVerticalAlignment","color","enableContrastChecker","background","gradients","text","__experimentalDefaultControls","spacing","blockGap","margin","padding","units","interactivity","clientNavigation","__experimentalBorder","radius","width","style","contentRole","styles","label","isDefault","editorStyle","save","settings","example","innerBlocks","service","url","init"],"sources":["@wordpress/block-library/src/social-links/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { share as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/social-link',\n\t\t\t\tattributes: {\n\t\t\t\t\tservice: 'wordpress',\n\t\t\t\t\turl: 'https://wordpress.org',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/social-link',\n\t\t\t\tattributes: {\n\t\t\t\t\tservice: 'facebook',\n\t\t\t\t\turl: 'https://www.facebook.com/WordPress/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/social-link',\n\t\t\t\tattributes: {\n\t\t\t\t\tservice: 'twitter',\n\t\t\t\t\turl: 'https://twitter.com/WordPress',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ticon,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,IAAI,QAAQ,kBAAkB;;AAEhD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,aAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,SAAA;MAAAC,IAAA;IAAA;IAAAC,eAAA;MAAAD,IAAA;IAAA;IAAAE,cAAA;MAAAF,IAAA;IAAA;IAAAG,mBAAA;MAAAH,IAAA;IAAA;IAAAI,yBAAA;MAAAJ,IAAA;IAAA;IAAAK,wBAAA;MAAAL,IAAA;IAAA;IAAAM,YAAA;MAAAN,IAAA;MAAA;IAAA;IAAAO,UAAA;MAAAP,IAAA;MAAA;IAAA;IAAAQ,IAAA;MAAAR,IAAA;IAAA;EAAA;EAAAS,eAAA;IAAAH,YAAA;IAAAC,UAAA;IAAAR,SAAA;IAAAG,cAAA;IAAAC,mBAAA;IAAAE,wBAAA;EAAA;EAAAK,QAAA;IAAAC,KAAA;IAAAC,MAAA;IAAAC,IAAA;IAAAC,sCAAA;IAAAC,MAAA;MAAAC,cAAA;MAAAC,eAAA;MAAAC,sBAAA;MAAA;QAAAlB,IAAA;MAAA;IAAA;IAAAmB,KAAA;MAAAC,qBAAA;MAAAC,UAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAH,UAAA;MAAA;IAAA;IAAAI,OAAA;MAAAC,QAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,KAAA;MAAAL,6BAAA;QAAAE,QAAA;QAAAC,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAE,aAAA;MAAAC,gBAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAAd,KAAA;MAAAe,KAAA;MAAAC,KAAA;MAAAX,6BAAA;QAAAS,MAAA;QAAAd,KAAA;QAAAe,KAAA;QAAAC,KAAA;MAAA;IAAA;IAAAC,WAAA;EAAA;EAAAC,MAAA;IAAA9C,IAAA;IAAA+C,KAAA;IAAAC,SAAA;EAAA;IAAAhD,IAAA;IAAA+C,KAAA;EAAA;IAAA/C,IAAA;IAAA+C,KAAA;EAAA;EAAAE,WAAA;EAAAL,KAAA;AAAA;AAE1B,OAAOM,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAElD;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMmD,QAAQ,GAAG;EACvBC,OAAO,EAAE;IACRC,WAAW,EAAE,CACZ;MACCrD,IAAI,EAAE,kBAAkB;MACxBO,UAAU,EAAE;QACX+C,OAAO,EAAE,WAAW;QACpBC,GAAG,EAAE;MACN;IACD,CAAC,EACD;MACCvD,IAAI,EAAE,kBAAkB;MACxBO,UAAU,EAAE;QACX+C,OAAO,EAAE,UAAU;QACnBC,GAAG,EAAE;MACN;IACD,CAAC,EACD;MACCvD,IAAI,EAAE,kBAAkB;MACxBO,UAAU,EAAE;QACX+C,OAAO,EAAE,SAAS;QAClBC,GAAG,EAAE;MACN;IACD,CAAC;EAEH,CAAC;EACD9D,IAAI;EACJG,IAAI;EACJsD,IAAI;EACJvD;AACD,CAAC;AAED,OAAO,MAAM6D,IAAI,GAAGA,CAAA,KAAM9D,SAAS,CAAE;EAAEM,IAAI;EAAEH,QAAQ;EAAEsD;AAAS,CAAE,CAAC","ignoreList":[]}
|
|
@@ -6,10 +6,10 @@ import { createBlock } from '@wordpress/blocks';
|
|
|
6
6
|
import { Placeholder, ToggleControl, SelectControl, ToolbarButton, ToolbarGroup, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
|
|
7
7
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
8
8
|
import { renderToString } from '@wordpress/element';
|
|
9
|
-
import { __ } from '@wordpress/i18n';
|
|
9
|
+
import { __, isRTL } from '@wordpress/i18n';
|
|
10
10
|
import { useInstanceId } from '@wordpress/compose';
|
|
11
11
|
import { store as noticeStore } from '@wordpress/notices';
|
|
12
|
-
import { tableOfContents as icon } from '@wordpress/icons';
|
|
12
|
+
import { tableOfContents as icon, formatListBullets, formatListBulletsRTL, formatListNumbered, formatListNumberedRTL } from '@wordpress/icons';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Internal dependencies
|
|
@@ -29,6 +29,7 @@ import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
|
|
|
29
29
|
* @param {HeadingData[]} props.attributes.headings The list of data for each heading in the post.
|
|
30
30
|
* @param {boolean} props.attributes.onlyIncludeCurrentPage Whether to only include headings from the current page (if the post is paginated).
|
|
31
31
|
* @param {number|undefined} props.attributes.maxLevel The maximum heading level to include, or null to include all levels.
|
|
32
|
+
* @param {boolean} props.attributes.ordered Whether to display as an ordered list (true) or unordered list (false).
|
|
32
33
|
* @param {string} props.clientId The client id.
|
|
33
34
|
* @param {(attributes: Object) => void} props.setAttributes The set attributes function.
|
|
34
35
|
*
|
|
@@ -39,7 +40,8 @@ export default function TableOfContentsEdit({
|
|
|
39
40
|
attributes: {
|
|
40
41
|
headings = [],
|
|
41
42
|
onlyIncludeCurrentPage,
|
|
42
|
-
maxLevel
|
|
43
|
+
maxLevel,
|
|
44
|
+
ordered = true
|
|
43
45
|
},
|
|
44
46
|
clientId,
|
|
45
47
|
setAttributes
|
|
@@ -72,18 +74,37 @@ export default function TableOfContentsEdit({
|
|
|
72
74
|
} = useDispatch(blockEditorStore);
|
|
73
75
|
const dropdownMenuProps = useToolsPanelDropdownMenuProps();
|
|
74
76
|
const headingTree = linearToNestedHeadingList(headings);
|
|
75
|
-
const toolbarControls =
|
|
76
|
-
children: /*#__PURE__*/
|
|
77
|
+
const toolbarControls = /*#__PURE__*/_jsxs(BlockControls, {
|
|
78
|
+
children: [/*#__PURE__*/_jsxs(ToolbarGroup, {
|
|
79
|
+
children: [/*#__PURE__*/_jsx(ToolbarButton, {
|
|
80
|
+
icon: isRTL() ? formatListBulletsRTL : formatListBullets,
|
|
81
|
+
title: __('Unordered'),
|
|
82
|
+
description: __('Convert to unordered list'),
|
|
83
|
+
onClick: () => setAttributes({
|
|
84
|
+
ordered: false
|
|
85
|
+
}),
|
|
86
|
+
isActive: ordered === false
|
|
87
|
+
}), /*#__PURE__*/_jsx(ToolbarButton, {
|
|
88
|
+
icon: isRTL() ? formatListNumberedRTL : formatListNumbered,
|
|
89
|
+
title: __('Ordered'),
|
|
90
|
+
description: __('Convert to ordered list'),
|
|
91
|
+
onClick: () => setAttributes({
|
|
92
|
+
ordered: true
|
|
93
|
+
}),
|
|
94
|
+
isActive: ordered === true
|
|
95
|
+
})]
|
|
96
|
+
}), canInsertList && /*#__PURE__*/_jsx(ToolbarGroup, {
|
|
77
97
|
children: /*#__PURE__*/_jsx(ToolbarButton, {
|
|
78
98
|
onClick: () => replaceBlocks(clientId, createBlock('core/list', {
|
|
79
|
-
ordered
|
|
99
|
+
ordered,
|
|
80
100
|
values: renderToString(/*#__PURE__*/_jsx(TableOfContentsList, {
|
|
81
|
-
nestedHeadingList: headingTree
|
|
101
|
+
nestedHeadingList: headingTree,
|
|
102
|
+
ordered: ordered
|
|
82
103
|
}))
|
|
83
104
|
})),
|
|
84
105
|
children: __('Convert to static list')
|
|
85
106
|
})
|
|
86
|
-
})
|
|
107
|
+
})]
|
|
87
108
|
});
|
|
88
109
|
const inspectorControls = /*#__PURE__*/_jsx(InspectorControls, {
|
|
89
110
|
children: /*#__PURE__*/_jsxs(ToolsPanel, {
|
|
@@ -91,7 +112,8 @@ export default function TableOfContentsEdit({
|
|
|
91
112
|
resetAll: () => {
|
|
92
113
|
setAttributes({
|
|
93
114
|
onlyIncludeCurrentPage: false,
|
|
94
|
-
maxLevel: undefined
|
|
115
|
+
maxLevel: undefined,
|
|
116
|
+
ordered: true
|
|
95
117
|
});
|
|
96
118
|
},
|
|
97
119
|
dropdownMenuProps: dropdownMenuProps,
|
|
@@ -171,14 +193,16 @@ export default function TableOfContentsEdit({
|
|
|
171
193
|
}), inspectorControls]
|
|
172
194
|
});
|
|
173
195
|
}
|
|
196
|
+
const ListTag = ordered ? 'ol' : 'ul';
|
|
174
197
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
175
198
|
children: [/*#__PURE__*/_jsx("nav", {
|
|
176
199
|
...blockProps,
|
|
177
|
-
children: /*#__PURE__*/_jsx(
|
|
200
|
+
children: /*#__PURE__*/_jsx(ListTag, {
|
|
178
201
|
children: /*#__PURE__*/_jsx(TableOfContentsList, {
|
|
179
202
|
nestedHeadingList: headingTree,
|
|
180
203
|
disableLinkActivation: true,
|
|
181
|
-
onClick: showRedirectionPreventedNotice
|
|
204
|
+
onClick: showRedirectionPreventedNotice,
|
|
205
|
+
ordered: ordered
|
|
182
206
|
})
|
|
183
207
|
})
|
|
184
208
|
}), toolbarControls, inspectorControls]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BlockControls","BlockIcon","InspectorControls","store","blockEditorStore","useBlockProps","createBlock","Placeholder","ToggleControl","SelectControl","ToolbarButton","ToolbarGroup","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","useDispatch","useSelect","renderToString","__","useInstanceId","noticeStore","tableOfContents","icon","TableOfContentsList","linearToNestedHeadingList","useObserveHeadings","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","TableOfContentsEdit","attributes","headings","onlyIncludeCurrentPage","maxLevel","clientId","setAttributes","blockProps","instanceId","createWarningNotice","showRedirectionPreventedNotice","event","preventDefault","id","type","canInsertList","select","getBlockRootClientId","canInsertBlockType","rootClientId","replaceBlocks","dropdownMenuProps","headingTree","toolbarControls","children","onClick","ordered","values","nestedHeadingList","inspectorControls","label","resetAll","undefined","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","checked","onChange","value","help","__next40pxDefaultSize","options","parseInt","length","instructions","disableLinkActivation"],"sources":["@wordpress/block-library/src/table-of-contents/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tPlaceholder,\n\tToggleControl,\n\tSelectControl,\n\tToolbarButton,\n\tToolbarGroup,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { renderToString } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { tableOfContents as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\nimport { useObserveHeadings } from './hooks';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/** @typedef {import('./utils').HeadingData} HeadingData */\n\n/**\n * Table of Contents block edit component.\n *\n * @param {Object} props The props.\n * @param {Object} props.attributes The block attributes.\n * @param {HeadingData[]} props.attributes.headings The list of data for each heading in the post.\n * @param {boolean} props.attributes.onlyIncludeCurrentPage Whether to only include headings from the current page (if the post is paginated).\n * @param {number|undefined} props.attributes.maxLevel The maximum heading level to include, or null to include all levels.\n * @param {string} props.clientId The client id.\n * @param {(attributes: Object) => void} props.setAttributes The set attributes function.\n *\n * @return {Component} The component.\n */\nexport default function TableOfContentsEdit( {\n\tattributes: { headings = [], onlyIncludeCurrentPage, maxLevel },\n\tclientId,\n\tsetAttributes,\n} ) {\n\tuseObserveHeadings( clientId );\n\n\tconst blockProps = useBlockProps();\n\tconst instanceId = useInstanceId(\n\t\tTableOfContentsEdit,\n\t\t'table-of-contents'\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/table-of-contents/redirection-prevented/${ instanceId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst canInsertList = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn canInsertBlockType( 'core/list', rootClientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst headingTree = linearToNestedHeadingList( headings );\n\n\tconst toolbarControls = canInsertList && (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlock( 'core/list', {\n\t\t\t\t\t\t\t\tordered: true,\n\t\t\t\t\t\t\t\tvalues: renderToString(\n\t\t\t\t\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\t\t\t\t\tnestedHeadingList={ headingTree }\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}\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Convert to static list' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tonlyIncludeCurrentPage: false,\n\t\t\t\t\t\tmaxLevel: undefined,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! onlyIncludeCurrentPage }\n\t\t\t\t\tlabel={ __( 'Only include current page' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\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={ __( 'Only include current page' ) }\n\t\t\t\t\t\tchecked={ onlyIncludeCurrentPage }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\tonlyIncludeCurrentPage\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'Only including headings from the current page (if the post is paginated).'\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'Include headings from all pages (if the post is paginated).'\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</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! maxLevel }\n\t\t\t\t\tlabel={ __( 'Limit heading levels' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { maxLevel: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\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={ __( 'Include headings down to level' ) }\n\t\t\t\t\t\tvalue={ maxLevel || '' }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'All levels' ) },\n\t\t\t\t\t\t\t{ value: '1', label: __( 'Heading 1' ) },\n\t\t\t\t\t\t\t{ value: '2', label: __( 'Heading 2' ) },\n\t\t\t\t\t\t\t{ value: '3', label: __( 'Heading 3' ) },\n\t\t\t\t\t\t\t{ value: '4', label: __( 'Heading 4' ) },\n\t\t\t\t\t\t\t{ value: '5', label: __( 'Heading 5' ) },\n\t\t\t\t\t\t\t{ value: '6', label: __( 'Heading 6' ) },\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tmaxLevel: value ? parseInt( value ) : undefined,\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! maxLevel\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'Including all heading levels in the table of contents.'\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'Only include headings up to and including this level.'\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</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\t// If there are no headings or the only heading is empty.\n\t// Note that the toolbar controls are intentionally omitted since the\n\t// \"Convert to static list\" option is useless to the placeholder state.\n\tif ( headings.length === 0 ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\t\tlabel={ __( 'Table of Contents' ) }\n\t\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t\t'Start adding Heading blocks to create a table of contents. Headings with HTML anchors will be linked here.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ inspectorControls }\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ol>\n\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\tnestedHeadingList={ headingTree }\n\t\t\t\t\t\tdisableLinkActivation\n\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t/>\n\t\t\t\t</ol>\n\t\t\t</nav>\n\t\t\t{ toolbarControls }\n\t\t\t{ inspectorControls }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["BlockControls","BlockIcon","InspectorControls","store","blockEditorStore","useBlockProps","createBlock","Placeholder","ToggleControl","SelectControl","ToolbarButton","ToolbarGroup","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","useDispatch","useSelect","renderToString","__","isRTL","useInstanceId","noticeStore","tableOfContents","icon","formatListBullets","formatListBulletsRTL","formatListNumbered","formatListNumberedRTL","TableOfContentsList","linearToNestedHeadingList","useObserveHeadings","useToolsPanelDropdownMenuProps","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","TableOfContentsEdit","attributes","headings","onlyIncludeCurrentPage","maxLevel","ordered","clientId","setAttributes","blockProps","instanceId","createWarningNotice","showRedirectionPreventedNotice","event","preventDefault","id","type","canInsertList","select","getBlockRootClientId","canInsertBlockType","rootClientId","replaceBlocks","dropdownMenuProps","headingTree","toolbarControls","children","title","description","onClick","isActive","values","nestedHeadingList","inspectorControls","label","resetAll","undefined","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","checked","onChange","value","help","__next40pxDefaultSize","options","parseInt","length","instructions","ListTag","disableLinkActivation"],"sources":["@wordpress/block-library/src/table-of-contents/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tPlaceholder,\n\tToggleControl,\n\tSelectControl,\n\tToolbarButton,\n\tToolbarGroup,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { renderToString } from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as noticeStore } from '@wordpress/notices';\nimport {\n\ttableOfContents as icon,\n\tformatListBullets,\n\tformatListBulletsRTL,\n\tformatListNumbered,\n\tformatListNumberedRTL,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\nimport { useObserveHeadings } from './hooks';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/** @typedef {import('./utils').HeadingData} HeadingData */\n\n/**\n * Table of Contents block edit component.\n *\n * @param {Object} props The props.\n * @param {Object} props.attributes The block attributes.\n * @param {HeadingData[]} props.attributes.headings The list of data for each heading in the post.\n * @param {boolean} props.attributes.onlyIncludeCurrentPage Whether to only include headings from the current page (if the post is paginated).\n * @param {number|undefined} props.attributes.maxLevel The maximum heading level to include, or null to include all levels.\n * @param {boolean} props.attributes.ordered Whether to display as an ordered list (true) or unordered list (false).\n * @param {string} props.clientId The client id.\n * @param {(attributes: Object) => void} props.setAttributes The set attributes function.\n *\n * @return {Component} The component.\n */\nexport default function TableOfContentsEdit( {\n\tattributes: {\n\t\theadings = [],\n\t\tonlyIncludeCurrentPage,\n\t\tmaxLevel,\n\t\tordered = true,\n\t},\n\tclientId,\n\tsetAttributes,\n} ) {\n\tuseObserveHeadings( clientId );\n\n\tconst blockProps = useBlockProps();\n\tconst instanceId = useInstanceId(\n\t\tTableOfContentsEdit,\n\t\t'table-of-contents'\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/table-of-contents/redirection-prevented/${ instanceId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst canInsertList = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn canInsertBlockType( 'core/list', rootClientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst headingTree = linearToNestedHeadingList( headings );\n\n\tconst toolbarControls = (\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ isRTL() ? formatListBulletsRTL : formatListBullets }\n\t\t\t\t\ttitle={ __( 'Unordered' ) }\n\t\t\t\t\tdescription={ __( 'Convert to unordered list' ) }\n\t\t\t\t\tonClick={ () => setAttributes( { ordered: false } ) }\n\t\t\t\t\tisActive={ ordered === false }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={\n\t\t\t\t\t\tisRTL() ? formatListNumberedRTL : formatListNumbered\n\t\t\t\t\t}\n\t\t\t\t\ttitle={ __( 'Ordered' ) }\n\t\t\t\t\tdescription={ __( 'Convert to ordered list' ) }\n\t\t\t\t\tonClick={ () => setAttributes( { ordered: true } ) }\n\t\t\t\t\tisActive={ ordered === true }\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t\t{ canInsertList && (\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\tcreateBlock( 'core/list', {\n\t\t\t\t\t\t\t\t\tordered,\n\t\t\t\t\t\t\t\t\tvalues: renderToString(\n\t\t\t\t\t\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\t\t\t\t\t\tnestedHeadingList={ headingTree }\n\t\t\t\t\t\t\t\t\t\t\tordered={ ordered }\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)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Convert to static list' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tonlyIncludeCurrentPage: false,\n\t\t\t\t\t\tmaxLevel: undefined,\n\t\t\t\t\t\tordered: true,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! onlyIncludeCurrentPage }\n\t\t\t\t\tlabel={ __( 'Only include current page' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\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={ __( 'Only include current page' ) }\n\t\t\t\t\t\tchecked={ onlyIncludeCurrentPage }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { onlyIncludeCurrentPage: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\tonlyIncludeCurrentPage\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'Only including headings from the current page (if the post is paginated).'\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'Include headings from all pages (if the post is paginated).'\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</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! maxLevel }\n\t\t\t\t\tlabel={ __( 'Limit heading levels' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { maxLevel: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\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={ __( 'Include headings down to level' ) }\n\t\t\t\t\t\tvalue={ maxLevel || '' }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'All levels' ) },\n\t\t\t\t\t\t\t{ value: '1', label: __( 'Heading 1' ) },\n\t\t\t\t\t\t\t{ value: '2', label: __( 'Heading 2' ) },\n\t\t\t\t\t\t\t{ value: '3', label: __( 'Heading 3' ) },\n\t\t\t\t\t\t\t{ value: '4', label: __( 'Heading 4' ) },\n\t\t\t\t\t\t\t{ value: '5', label: __( 'Heading 5' ) },\n\t\t\t\t\t\t\t{ value: '6', label: __( 'Heading 6' ) },\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tmaxLevel: value ? parseInt( value ) : undefined,\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! maxLevel\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'Including all heading levels in the table of contents.'\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'Only include headings up to and including this level.'\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</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\t// If there are no headings or the only heading is empty.\n\t// Note that the toolbar controls are intentionally omitted since the\n\t// \"Convert to static list\" option is useless to the placeholder state.\n\tif ( headings.length === 0 ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\t\tlabel={ __( 'Table of Contents' ) }\n\t\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t\t'Start adding Heading blocks to create a table of contents. Headings with HTML anchors will be linked here.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ inspectorControls }\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst ListTag = ordered ? 'ol' : 'ul';\n\n\treturn (\n\t\t<>\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ListTag>\n\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\tnestedHeadingList={ headingTree }\n\t\t\t\t\t\tdisableLinkActivation\n\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t\tordered={ ordered }\n\t\t\t\t\t/>\n\t\t\t\t</ListTag>\n\t\t\t</nav>\n\t\t\t{ toolbarControls }\n\t\t\t{ inspectorControls }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","tableOfContents","icon","initBlock","metadata","$schema","apiVersion","__experimental","name","title","category","description","keywords","textdomain","attributes","headings","type","items","onlyIncludeCurrentPage","maxLevel","supports","html","color","text","background","gradients","link","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalDefaultControls","interactivity","clientNavigation","__experimentalBorder","radius","width","style","edit","save","settings","example","innerBlocks","level","content","init"],"sources":["@wordpress/block-library/src/table-of-contents/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { tableOfContents as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/heading',\n\t\t\t\tattributes: {\n\t\t\t\t\tlevel: 2,\n\t\t\t\t\tcontent: __( 'Heading' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/heading',\n\t\t\t\tattributes: {\n\t\t\t\t\tlevel: 3,\n\t\t\t\t\tcontent: __( 'Subheading' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/heading',\n\t\t\t\tattributes: {\n\t\t\t\t\tlevel: 2,\n\t\t\t\t\tcontent: __( 'Heading' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/heading',\n\t\t\t\tattributes: {\n\t\t\t\t\tlevel: 3,\n\t\t\t\t\tcontent: __( 'Subheading' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tattributes: {\n\t\t\theadings: [\n\t\t\t\t{\n\t\t\t\t\tcontent: __( 'Heading' ),\n\t\t\t\t\tlevel: 2,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: __( 'Subheading' ),\n\t\t\t\t\tlevel: 3,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: __( 'Heading' ),\n\t\t\t\t\tlevel: 2,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: __( 'Subheading' ),\n\t\t\t\t\tlevel: 3,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,IAAIC,IAAI,QAAQ,kBAAkB;;AAE1D;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,cAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,QAAA;MAAAC,IAAA;MAAAC,KAAA;QAAAD,IAAA;MAAA;MAAA;IAAA;IAAAE,sBAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,QAAA;MAAAH,IAAA;IAAA;EAAA;
|
|
1
|
+
{"version":3,"names":["__","tableOfContents","icon","initBlock","metadata","$schema","apiVersion","__experimental","name","title","category","description","keywords","textdomain","attributes","headings","type","items","onlyIncludeCurrentPage","maxLevel","ordered","supports","html","color","text","background","gradients","link","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalDefaultControls","interactivity","clientNavigation","__experimentalBorder","radius","width","style","edit","save","settings","example","innerBlocks","level","content","init"],"sources":["@wordpress/block-library/src/table-of-contents/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { tableOfContents as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/heading',\n\t\t\t\tattributes: {\n\t\t\t\t\tlevel: 2,\n\t\t\t\t\tcontent: __( 'Heading' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/heading',\n\t\t\t\tattributes: {\n\t\t\t\t\tlevel: 3,\n\t\t\t\t\tcontent: __( 'Subheading' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/heading',\n\t\t\t\tattributes: {\n\t\t\t\t\tlevel: 2,\n\t\t\t\t\tcontent: __( 'Heading' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/heading',\n\t\t\t\tattributes: {\n\t\t\t\t\tlevel: 3,\n\t\t\t\t\tcontent: __( 'Subheading' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tattributes: {\n\t\t\theadings: [\n\t\t\t\t{\n\t\t\t\t\tcontent: __( 'Heading' ),\n\t\t\t\t\tlevel: 2,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: __( 'Subheading' ),\n\t\t\t\t\tlevel: 3,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: __( 'Heading' ),\n\t\t\t\t\tlevel: 2,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcontent: __( 'Subheading' ),\n\t\t\t\t\tlevel: 3,\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t},\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,IAAIC,IAAI,QAAQ,kBAAkB;;AAE1D;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,cAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,QAAA;MAAAC,IAAA;MAAAC,KAAA;QAAAD,IAAA;MAAA;MAAA;IAAA;IAAAE,sBAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,QAAA;MAAAH,IAAA;IAAA;IAAAI,OAAA;MAAAJ,IAAA;MAAA;IAAA;EAAA;EAAAK,QAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,IAAA;MAAAC,UAAA;MAAAC,SAAA;MAAAC,IAAA;IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAC,6BAAA;QAAAR,QAAA;MAAA;IAAA;IAAAS,aAAA;MAAAC,gBAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAArB,KAAA;MAAAsB,KAAA;MAAAC,KAAA;MAAAN,6BAAA;QAAAI,MAAA;QAAArB,KAAA;QAAAsB,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;EAAAA,KAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAExC;AAAK,CAAC,GAAGJ,QAAQ;AAEzB,SAASA,QAAQ,EAAEI,IAAI;AAEvB,OAAO,MAAMyC,QAAQ,GAAG;EACvB/C,IAAI;EACJ6C,IAAI;EACJC,IAAI;EACJE,OAAO,EAAE;IACRC,WAAW,EAAE,CACZ;MACC3C,IAAI,EAAE,cAAc;MACpBM,UAAU,EAAE;QACXsC,KAAK,EAAE,CAAC;QACRC,OAAO,EAAErD,EAAE,CAAE,SAAU;MACxB;IACD,CAAC,EACD;MACCQ,IAAI,EAAE,cAAc;MACpBM,UAAU,EAAE;QACXsC,KAAK,EAAE,CAAC;QACRC,OAAO,EAAErD,EAAE,CAAE,YAAa;MAC3B;IACD,CAAC,EACD;MACCQ,IAAI,EAAE,cAAc;MACpBM,UAAU,EAAE;QACXsC,KAAK,EAAE,CAAC;QACRC,OAAO,EAAErD,EAAE,CAAE,SAAU;MACxB;IACD,CAAC,EACD;MACCQ,IAAI,EAAE,cAAc;MACpBM,UAAU,EAAE;QACXsC,KAAK,EAAE,CAAC;QACRC,OAAO,EAAErD,EAAE,CAAE,YAAa;MAC3B;IACD,CAAC,CACD;IACDc,UAAU,EAAE;MACXC,QAAQ,EAAE,CACT;QACCsC,OAAO,EAAErD,EAAE,CAAE,SAAU,CAAC;QACxBoD,KAAK,EAAE;MACR,CAAC,EACD;QACCC,OAAO,EAAErD,EAAE,CAAE,YAAa,CAAC;QAC3BoD,KAAK,EAAE;MACR,CAAC,EACD;QACCC,OAAO,EAAErD,EAAE,CAAE,SAAU,CAAC;QACxBoD,KAAK,EAAE;MACR,CAAC,EACD;QACCC,OAAO,EAAErD,EAAE,CAAE,YAAa,CAAC;QAC3BoD,KAAK,EAAE;MACR,CAAC;IAEH;EACD;AACD,CAAC;AAED,OAAO,MAAME,IAAI,GAAGA,CAAA,KAAMnD,SAAS,CAAE;EAAEK,IAAI;EAAEJ,QAAQ;EAAE6C;AAAS,CAAE,CAAC","ignoreList":[]}
|
|
@@ -11,7 +11,8 @@ const ENTRY_CLASS_NAME = 'wp-block-table-of-contents__entry';
|
|
|
11
11
|
export default function TableOfContentsList({
|
|
12
12
|
nestedHeadingList,
|
|
13
13
|
disableLinkActivation,
|
|
14
|
-
onClick
|
|
14
|
+
onClick,
|
|
15
|
+
ordered = true
|
|
15
16
|
}) {
|
|
16
17
|
return /*#__PURE__*/_jsx(_Fragment, {
|
|
17
18
|
children: nestedHeadingList.map((node, index) => {
|
|
@@ -29,12 +30,14 @@ export default function TableOfContentsList({
|
|
|
29
30
|
className: ENTRY_CLASS_NAME,
|
|
30
31
|
children: content
|
|
31
32
|
});
|
|
33
|
+
const NestedListTag = ordered ? 'ol' : 'ul';
|
|
32
34
|
return /*#__PURE__*/_jsxs("li", {
|
|
33
|
-
children: [entry, node.children ? /*#__PURE__*/_jsx(
|
|
35
|
+
children: [entry, node.children ? /*#__PURE__*/_jsx(NestedListTag, {
|
|
34
36
|
children: /*#__PURE__*/_jsx(TableOfContentsList, {
|
|
35
37
|
nestedHeadingList: node.children,
|
|
36
38
|
disableLinkActivation: disableLinkActivation,
|
|
37
|
-
onClick: disableLinkActivation && 'function' === typeof onClick ? onClick : undefined
|
|
39
|
+
onClick: disableLinkActivation && 'function' === typeof onClick ? onClick : undefined,
|
|
40
|
+
ordered: ordered
|
|
38
41
|
})
|
|
39
42
|
}) : null]
|
|
40
43
|
}, index);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ENTRY_CLASS_NAME","TableOfContentsList","nestedHeadingList","disableLinkActivation","onClick","_jsx","_Fragment","children","map","node","index","content","link","heading","entry","className","href","undefined","_jsxs"],"sources":["@wordpress/block-library/src/table-of-contents/list.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { MouseEvent, ReactElement } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { NestedHeadingData } from './utils';\n\nconst ENTRY_CLASS_NAME = 'wp-block-table-of-contents__entry';\n\nexport default function TableOfContentsList( {\n\tnestedHeadingList,\n\tdisableLinkActivation,\n\tonClick,\n}: {\n\tnestedHeadingList: NestedHeadingData[];\n\tdisableLinkActivation?: boolean;\n\tonClick?: ( event: MouseEvent< HTMLAnchorElement > ) => void;\n} ): ReactElement {\n\treturn (\n\t\t<>\n\t\t\t{ nestedHeadingList.map( ( node, index ) => {\n\t\t\t\tconst { content, link } = node.heading;\n\n\t\t\t\tconst entry = link ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ ENTRY_CLASS_NAME }\n\t\t\t\t\t\thref={ link }\n\t\t\t\t\t\taria-disabled={ disableLinkActivation || undefined }\n\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\tdisableLinkActivation &&\n\t\t\t\t\t\t\t'function' === typeof onClick\n\t\t\t\t\t\t\t\t? onClick\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ content }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\t<span className={ ENTRY_CLASS_NAME }>{ content }</span>\n\t\t\t\t);\n\n\t\t\t\treturn (\n\t\t\t\t\t<li key={ index }>\n\t\t\t\t\t\t{ entry }\n\t\t\t\t\t\t{ node.children ? (\n\t\t\t\t\t\t\t<
|
|
1
|
+
{"version":3,"names":["ENTRY_CLASS_NAME","TableOfContentsList","nestedHeadingList","disableLinkActivation","onClick","ordered","_jsx","_Fragment","children","map","node","index","content","link","heading","entry","className","href","undefined","NestedListTag","_jsxs"],"sources":["@wordpress/block-library/src/table-of-contents/list.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { MouseEvent, ReactElement } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { NestedHeadingData } from './utils';\n\nconst ENTRY_CLASS_NAME = 'wp-block-table-of-contents__entry';\n\nexport default function TableOfContentsList( {\n\tnestedHeadingList,\n\tdisableLinkActivation,\n\tonClick,\n\tordered = true,\n}: {\n\tnestedHeadingList: NestedHeadingData[];\n\tdisableLinkActivation?: boolean;\n\tonClick?: ( event: MouseEvent< HTMLAnchorElement > ) => void;\n\tordered?: boolean;\n} ): ReactElement {\n\treturn (\n\t\t<>\n\t\t\t{ nestedHeadingList.map( ( node, index ) => {\n\t\t\t\tconst { content, link } = node.heading;\n\n\t\t\t\tconst entry = link ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ ENTRY_CLASS_NAME }\n\t\t\t\t\t\thref={ link }\n\t\t\t\t\t\taria-disabled={ disableLinkActivation || undefined }\n\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\tdisableLinkActivation &&\n\t\t\t\t\t\t\t'function' === typeof onClick\n\t\t\t\t\t\t\t\t? onClick\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ content }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\t<span className={ ENTRY_CLASS_NAME }>{ content }</span>\n\t\t\t\t);\n\n\t\t\t\tconst NestedListTag = ordered ? 'ol' : 'ul';\n\n\t\t\t\treturn (\n\t\t\t\t\t<li key={ index }>\n\t\t\t\t\t\t{ entry }\n\t\t\t\t\t\t{ node.children ? (\n\t\t\t\t\t\t\t<NestedListTag>\n\t\t\t\t\t\t\t\t<TableOfContentsList\n\t\t\t\t\t\t\t\t\tnestedHeadingList={ node.children }\n\t\t\t\t\t\t\t\t\tdisableLinkActivation={\n\t\t\t\t\t\t\t\t\t\tdisableLinkActivation\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\tdisableLinkActivation &&\n\t\t\t\t\t\t\t\t\t\t'function' === typeof onClick\n\t\t\t\t\t\t\t\t\t\t\t? onClick\n\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tordered={ ordered }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</NestedListTag>\n\t\t\t\t\t\t) : null }\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;;AAGA;AACA;AACA;;AAGA,MAAMA,gBAAgB,GAAG,mCAAmC;AAE5D,eAAe,SAASC,mBAAmBA,CAAE;EAC5CC,iBAAiB;EACjBC,qBAAqB;EACrBC,OAAO;EACPC,OAAO,GAAG;AAMX,CAAC,EAAiB;EACjB,oBACCC,IAAA,CAAAC,SAAA;IAAAC,QAAA,EACGN,iBAAiB,CAACO,GAAG,CAAE,CAAEC,IAAI,EAAEC,KAAK,KAAM;MAC3C,MAAM;QAAEC,OAAO;QAAEC;MAAK,CAAC,GAAGH,IAAI,CAACI,OAAO;MAEtC,MAAMC,KAAK,GAAGF,IAAI,gBACjBP,IAAA;QACCU,SAAS,EAAGhB,gBAAkB;QAC9BiB,IAAI,EAAGJ,IAAM;QACb,iBAAgBV,qBAAqB,IAAIe,SAAW;QACpDd,OAAO,EACND,qBAAqB,IACrB,UAAU,KAAK,OAAOC,OAAO,GAC1BA,OAAO,GACPc,SACH;QAAAV,QAAA,EAECI;MAAO,CACP,CAAC,gBAEJN,IAAA;QAAMU,SAAS,EAAGhB,gBAAkB;QAAAQ,QAAA,EAAGI;MAAO,CAAQ,CACtD;MAED,MAAMO,aAAa,GAAGd,OAAO,GAAG,IAAI,GAAG,IAAI;MAE3C,oBACCe,KAAA;QAAAZ,QAAA,GACGO,KAAK,EACLL,IAAI,CAACF,QAAQ,gBACdF,IAAA,CAACa,aAAa;UAAAX,QAAA,eACbF,IAAA,CAACL,mBAAmB;YACnBC,iBAAiB,EAAGQ,IAAI,CAACF,QAAU;YACnCL,qBAAqB,EACpBA,qBACA;YACDC,OAAO,EACND,qBAAqB,IACrB,UAAU,KAAK,OAAOC,OAAO,GAC1BA,OAAO,GACPc,SACH;YACDb,OAAO,EAAGA;UAAS,CACnB;QAAC,CACY,CAAC,GACb,IAAI;MAAA,GAlBCM,KAmBN,CAAC;IAEP,CAAE;EAAC,CACF,CAAC;AAEL","ignoreList":[]}
|
|
@@ -11,17 +11,20 @@ import { linearToNestedHeadingList } from './utils';
|
|
|
11
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
12
|
export default function save({
|
|
13
13
|
attributes: {
|
|
14
|
-
headings = []
|
|
14
|
+
headings = [],
|
|
15
|
+
ordered = true
|
|
15
16
|
}
|
|
16
17
|
}) {
|
|
17
18
|
if (headings.length === 0) {
|
|
18
19
|
return null;
|
|
19
20
|
}
|
|
21
|
+
const ListTag = ordered ? 'ol' : 'ul';
|
|
20
22
|
return /*#__PURE__*/_jsx("nav", {
|
|
21
23
|
...useBlockProps.save(),
|
|
22
|
-
children: /*#__PURE__*/_jsx(
|
|
24
|
+
children: /*#__PURE__*/_jsx(ListTag, {
|
|
23
25
|
children: /*#__PURE__*/_jsx(TableOfContentsList, {
|
|
24
|
-
nestedHeadingList: linearToNestedHeadingList(headings)
|
|
26
|
+
nestedHeadingList: linearToNestedHeadingList(headings),
|
|
27
|
+
ordered: ordered
|
|
25
28
|
})
|
|
26
29
|
})
|
|
27
30
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useBlockProps","TableOfContentsList","linearToNestedHeadingList","jsx","_jsx","save","attributes","headings","length","children","nestedHeadingList"],"sources":["@wordpress/block-library/src/table-of-contents/save.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useBlockProps } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\n\nexport default function save( {
|
|
1
|
+
{"version":3,"names":["useBlockProps","TableOfContentsList","linearToNestedHeadingList","jsx","_jsx","save","attributes","headings","ordered","length","ListTag","children","nestedHeadingList"],"sources":["@wordpress/block-library/src/table-of-contents/save.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useBlockProps } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport TableOfContentsList from './list';\nimport { linearToNestedHeadingList } from './utils';\n\nexport default function save( {\n\tattributes: { headings = [], ordered = true },\n} ) {\n\tif ( headings.length === 0 ) {\n\t\treturn null;\n\t}\n\tconst ListTag = ordered ? 'ol' : 'ul';\n\treturn (\n\t\t<nav { ...useBlockProps.save() }>\n\t\t\t<ListTag>\n\t\t\t\t<TableOfContentsList\n\t\t\t\t\tnestedHeadingList={ linearToNestedHeadingList( headings ) }\n\t\t\t\t\tordered={ ordered }\n\t\t\t\t/>\n\t\t\t</ListTag>\n\t\t</nav>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,yBAAyB;;AAEvD;AACA;AACA;AACA,OAAOC,mBAAmB,MAAM,QAAQ;AACxC,SAASC,yBAAyB,QAAQ,SAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEpD,eAAe,SAASC,IAAIA,CAAE;EAC7BC,UAAU,EAAE;IAAEC,QAAQ,GAAG,EAAE;IAAEC,OAAO,GAAG;EAAK;AAC7C,CAAC,EAAG;EACH,IAAKD,QAAQ,CAACE,MAAM,KAAK,CAAC,EAAG;IAC5B,OAAO,IAAI;EACZ;EACA,MAAMC,OAAO,GAAGF,OAAO,GAAG,IAAI,GAAG,IAAI;EACrC,oBACCJ,IAAA;IAAA,GAAUJ,aAAa,CAACK,IAAI,CAAC,CAAC;IAAAM,QAAA,eAC7BP,IAAA,CAACM,OAAO;MAAAC,QAAA,eACPP,IAAA,CAACH,mBAAmB;QACnBW,iBAAiB,EAAGV,yBAAyB,CAAEK,QAAS,CAAG;QAC3DC,OAAO,EAAGA;MAAS,CACnB;IAAC,CACM;EAAC,CACN,CAAC;AAER","ignoreList":[]}
|