@wordpress/block-editor 15.6.7 → 15.6.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/README.md +4 -0
  2. package/build/components/block-settings-menu-controls/index.js +1 -1
  3. package/build/components/block-settings-menu-controls/index.js.map +2 -2
  4. package/build/components/block-tools/index.js +56 -45
  5. package/build/components/block-tools/index.js.map +3 -3
  6. package/build/components/block-visibility/toolbar.js +1 -1
  7. package/build/components/block-visibility/toolbar.js.map +1 -1
  8. package/build/components/global-styles/color-panel.js +1 -3
  9. package/build/components/global-styles/color-panel.js.map +2 -2
  10. package/build/components/global-styles/typography-panel.js +40 -26
  11. package/build/components/global-styles/typography-panel.js.map +2 -2
  12. package/build/components/index.js +3 -0
  13. package/build/components/index.js.map +2 -2
  14. package/build/components/list-view/block-select-button.js +1 -1
  15. package/build/components/list-view/block-select-button.js.map +1 -1
  16. package/build/components/list-view/block.js +3 -3
  17. package/build/components/list-view/block.js.map +2 -2
  18. package/build/components/rich-text/index.js +4 -6
  19. package/build/components/rich-text/index.js.map +2 -2
  20. package/build/components/rich-text/use-format-types.js +10 -27
  21. package/build/components/rich-text/use-format-types.js.map +2 -2
  22. package/build/components/tool-selector/index.js +44 -0
  23. package/build/components/tool-selector/index.js.map +7 -0
  24. package/build/components/use-block-commands/index.js +1 -1
  25. package/build/components/use-block-commands/index.js.map +2 -2
  26. package/build/components/use-block-drop-zone/index.js +1 -5
  27. package/build/components/use-block-drop-zone/index.js.map +2 -2
  28. package/build/hooks/fit-text.js +13 -6
  29. package/build/hooks/fit-text.js.map +2 -2
  30. package/build/hooks/metadata.js +1 -1
  31. package/build/hooks/metadata.js.map +2 -2
  32. package/build/private-apis.js +0 -1
  33. package/build/private-apis.js.map +2 -2
  34. package/build/store/private-keys.js +0 -3
  35. package/build/store/private-keys.js.map +2 -2
  36. package/build/store/private-selectors.js +1 -1
  37. package/build/store/private-selectors.js.map +2 -2
  38. package/build/utils/fit-text-utils.js +18 -4
  39. package/build/utils/fit-text-utils.js.map +2 -2
  40. package/build-module/components/block-settings-menu-controls/index.js +1 -1
  41. package/build-module/components/block-settings-menu-controls/index.js.map +2 -2
  42. package/build-module/components/block-tools/index.js +56 -45
  43. package/build-module/components/block-tools/index.js.map +2 -2
  44. package/build-module/components/block-visibility/toolbar.js +1 -1
  45. package/build-module/components/block-visibility/toolbar.js.map +1 -1
  46. package/build-module/components/global-styles/color-panel.js +1 -3
  47. package/build-module/components/global-styles/color-panel.js.map +2 -2
  48. package/build-module/components/global-styles/typography-panel.js +41 -27
  49. package/build-module/components/global-styles/typography-panel.js.map +2 -2
  50. package/build-module/components/index.js +2 -0
  51. package/build-module/components/index.js.map +2 -2
  52. package/build-module/components/list-view/block-select-button.js +1 -1
  53. package/build-module/components/list-view/block-select-button.js.map +1 -1
  54. package/build-module/components/list-view/block.js +3 -3
  55. package/build-module/components/list-view/block.js.map +2 -2
  56. package/build-module/components/rich-text/index.js +4 -6
  57. package/build-module/components/rich-text/index.js.map +2 -2
  58. package/build-module/components/rich-text/use-format-types.js +10 -27
  59. package/build-module/components/rich-text/use-format-types.js.map +2 -2
  60. package/build-module/components/tool-selector/index.js +14 -0
  61. package/build-module/components/tool-selector/index.js.map +7 -0
  62. package/build-module/components/use-block-commands/index.js +1 -1
  63. package/build-module/components/use-block-commands/index.js.map +2 -2
  64. package/build-module/components/use-block-drop-zone/index.js +1 -5
  65. package/build-module/components/use-block-drop-zone/index.js.map +2 -2
  66. package/build-module/hooks/fit-text.js +13 -6
  67. package/build-module/hooks/fit-text.js.map +2 -2
  68. package/build-module/hooks/metadata.js +1 -1
  69. package/build-module/hooks/metadata.js.map +2 -2
  70. package/build-module/private-apis.js +1 -3
  71. package/build-module/private-apis.js.map +2 -2
  72. package/build-module/store/private-keys.js +0 -2
  73. package/build-module/store/private-keys.js.map +2 -2
  74. package/build-module/store/private-selectors.js +1 -1
  75. package/build-module/store/private-selectors.js.map +2 -2
  76. package/build-module/utils/fit-text-utils.js +18 -4
  77. package/build-module/utils/fit-text-utils.js.map +2 -2
  78. package/build-style/content-rtl.css +3 -0
  79. package/build-style/content.css +3 -0
  80. package/build-style/style-rtl.css +7 -0
  81. package/build-style/style.css +7 -0
  82. package/package.json +8 -8
  83. package/src/components/block-controls/test/index.js +1 -0
  84. package/src/components/block-edit/test/edit.js +10 -0
  85. package/src/components/block-list/content.scss +5 -0
  86. package/src/components/block-preview/test/index.js +11 -7
  87. package/src/components/block-settings-menu-controls/index.js +1 -1
  88. package/src/components/block-switcher/test/index.js +2 -0
  89. package/src/components/block-switcher/test/use-transformed.patterns.js +2 -0
  90. package/src/components/block-switcher/test/utils.js +2 -0
  91. package/src/components/block-tools/index.js +15 -2
  92. package/src/components/block-tools/style.scss +4 -0
  93. package/src/components/block-visibility/toolbar.js +1 -1
  94. package/src/components/colors-gradients/style.scss +5 -0
  95. package/src/components/global-styles/color-panel.js +0 -2
  96. package/src/components/global-styles/test/get-global-styles-changes.js +1 -0
  97. package/src/components/global-styles/typography-panel.js +52 -32
  98. package/src/components/index.js +4 -0
  99. package/src/components/inner-blocks/test/index.js +2 -0
  100. package/src/components/list-view/block-select-button.js +1 -1
  101. package/src/components/list-view/block.js +3 -3
  102. package/src/components/provider/test/use-block-sync.js +1 -0
  103. package/src/components/rich-text/index.js +9 -12
  104. package/src/components/rich-text/use-format-types.js +19 -42
  105. package/src/components/tool-selector/index.js +19 -0
  106. package/src/components/use-block-commands/index.js +1 -1
  107. package/src/components/use-block-drop-zone/index.js +1 -5
  108. package/src/hooks/fit-text.js +19 -4
  109. package/src/hooks/metadata.js +1 -1
  110. package/src/hooks/test/align.js +1 -0
  111. package/src/hooks/test/allowed-blocks.js +8 -0
  112. package/src/hooks/test/font-size.js +1 -0
  113. package/src/hooks/test/metadata.js +5 -1
  114. package/src/hooks/test/text-align.js +1 -0
  115. package/src/private-apis.js +0 -2
  116. package/src/store/private-keys.js +0 -1
  117. package/src/store/private-selectors.js +1 -1
  118. package/src/store/test/actions.js +7 -0
  119. package/src/store/test/reducer.js +4 -0
  120. package/src/store/test/registry-selectors.js +2 -0
  121. package/src/store/test/selectors.js +19 -0
  122. package/src/utils/fit-text-utils.js +31 -5
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/global-styles/typography-panel.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tFontSizePicker,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback, useMemo, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport FontFamilyControl from '../font-family';\nimport FontAppearanceControl from '../font-appearance-control';\nimport LineHeightControl from '../line-height-control';\nimport LetterSpacingControl from '../letter-spacing-control';\nimport TextAlignmentControl from '../text-alignment-control';\nimport TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport WritingModeControl from '../writing-mode-control';\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport {\n\tgetMergedFontFamiliesAndFontFamilyFaces,\n\tfindNearestStyleAndWeight,\n} from './typography-utils';\n\nconst MIN_TEXT_COLUMNS = 1;\nconst MAX_TEXT_COLUMNS = 6;\n\nexport function useHasTypographyPanel( settings ) {\n\tconst hasFontFamily = useHasFontFamilyControl( settings );\n\tconst hasLineHeight = useHasLineHeightControl( settings );\n\tconst hasFontAppearance = useHasAppearanceControl( settings );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( settings );\n\tconst hasTextAlign = useHasTextAlignmentControl( settings );\n\tconst hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( settings );\n\tconst hasWritingMode = useHasWritingModeControl( settings );\n\tconst hasTextColumns = useHasTextColumnsControl( settings );\n\tconst hasFontSize = useHasFontSizeControl( settings );\n\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\thasTextAlign ||\n\t\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasWritingMode ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\treturn (\n\t\t( settings?.typography?.defaultFontSizes !== false &&\n\t\t\tsettings?.typography?.fontSizes?.default?.length ) ||\n\t\tsettings?.typography?.fontSizes?.theme?.length ||\n\t\tsettings?.typography?.fontSizes?.custom?.length ||\n\t\tsettings?.typography?.customFontSize\n\t);\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\treturn [ 'default', 'theme', 'custom' ].some(\n\t\t( key ) => settings?.typography?.fontFamilies?.[ key ]?.length\n\t);\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\treturn settings?.typography?.fontStyle || settings?.typography?.fontWeight;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tif ( ! settings?.typography?.fontStyle ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! settings?.typography?.fontWeight ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( settings ) {\n\treturn settings?.typography?.letterSpacing;\n}\n\nfunction useHasTextTransformControl( settings ) {\n\treturn settings?.typography?.textTransform;\n}\n\nfunction useHasTextAlignmentControl( settings ) {\n\treturn settings?.typography?.textAlign;\n}\n\nfunction useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction useHasWritingModeControl( settings ) {\n\treturn settings?.typography?.writingMode;\n}\n\nfunction useHasTextColumnsControl( settings ) {\n\treturn settings?.typography?.textColumns;\n}\n\n/**\n * Concatenate all the font sizes into a single list for the font size picker.\n *\n * @param {Object} settings The global styles settings.\n *\n * @return {Array} The merged font sizes.\n */\nfunction getMergedFontSizes( settings ) {\n\tconst fontSizes = settings?.typography?.fontSizes;\n\tconst defaultFontSizesEnabled = !! settings?.typography?.defaultFontSizes;\n\treturn [\n\t\t...( fontSizes?.custom ?? [] ),\n\t\t...( fontSizes?.theme ?? [] ),\n\t\t...( defaultFontSizesEnabled ? fontSizes?.default ?? [] : [] ),\n\t];\n}\n\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tfontFamily: true,\n\tfontSize: true,\n\tfontAppearance: true,\n\tlineHeight: true,\n\tletterSpacing: true,\n\ttextAlign: true,\n\ttextTransform: true,\n\ttextDecoration: true,\n\twritingMode: true,\n\ttextColumns: true,\n};\n\nexport default function TypographyPanel( {\n\tas: Wrapper = TypographyToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tfitText = false,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\n\tconst { fontFamilies, fontFamilyFaces } = useMemo( () => {\n\t\treturn getMergedFontFamiliesAndFontFamilyFaces( settings, fontFamily );\n\t}, [ settings, fontFamily ] );\n\n\tconst setFontFamily = ( newValue ) => {\n\t\tconst slug = fontFamilies?.find(\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t)?.slug;\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontFamily' ],\n\t\t\t\tslug\n\t\t\t\t\t? `var:preset|font-family|${ slug }`\n\t\t\t\t\t: newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontFamily = () => !! value?.typography?.fontFamily;\n\tconst resetFontFamily = () => setFontFamily( undefined );\n\n\t// Font Size\n\tconst hasFontSizeEnabled = useHasFontSizeControl( settings );\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst mergedFontSizes = getMergedFontSizes( settings );\n\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\n\n\t// Extract the slug from the CSS custom property if it exists\n\tconst currentFontSizeSlug = ( () => {\n\t\tconst rawValue = inheritedValue?.typography?.fontSize;\n\t\tif ( ! rawValue || typeof rawValue !== 'string' ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Block supports use `var:preset` format.\n\t\tif ( rawValue.startsWith( 'var:preset|font-size|' ) ) {\n\t\t\treturn rawValue.replace( 'var:preset|font-size|', '' );\n\t\t}\n\n\t\t// Global styles data uses `var(--wp--preset)` format.\n\t\tconst cssVarMatch = rawValue.match(\n\t\t\t/^var\\(--wp--preset--font-size--([^)]+)\\)$/\n\t\t);\n\t\tif ( cssVarMatch ) {\n\t\t\treturn cssVarMatch[ 1 ];\n\t\t}\n\n\t\treturn undefined;\n\t} )();\n\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tconst actualValue = !! metadata?.slug\n\t\t\t? `var:preset|font-size|${ metadata?.slug }`\n\t\t\t: newValue;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontSize' ],\n\t\t\t\tactualValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontSize = () => !! value?.typography?.fontSize;\n\tconst resetFontSize = () => setFontSize( undefined );\n\n\t// Appearance\n\tconst hasAppearanceControl = useHasAppearanceControl( settings );\n\tconst appearanceControlLabel = useAppearanceControlLabel( settings );\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tconst fontStyle = decodeValue( inheritedValue?.typography?.fontStyle );\n\tconst fontWeight = decodeValue( inheritedValue?.typography?.fontWeight );\n\tconst { nearestFontStyle, nearestFontWeight } = findNearestStyleAndWeight(\n\t\tfontFamilyFaces,\n\t\tfontStyle,\n\t\tfontWeight\n\t);\n\tconst setFontAppearance = useCallback(\n\t\t( { fontStyle: newFontStyle, fontWeight: newFontWeight } ) => {\n\t\t\t// Only update the font style and weight if they have changed.\n\t\t\tif ( newFontStyle !== fontStyle || newFontWeight !== fontWeight ) {\n\t\t\t\tonChange( {\n\t\t\t\t\t...value,\n\t\t\t\t\ttypography: {\n\t\t\t\t\t\t...value?.typography,\n\t\t\t\t\t\tfontStyle: newFontStyle || undefined,\n\t\t\t\t\t\tfontWeight: newFontWeight || undefined,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ fontStyle, fontWeight, onChange, value ]\n\t);\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = useCallback( () => {\n\t\tsetFontAppearance( {} );\n\t}, [ setFontAppearance ] );\n\n\t// Check if previous font style and weight values are available in the new font family.\n\tuseEffect( () => {\n\t\tif ( nearestFontStyle && nearestFontWeight ) {\n\t\t\tsetFontAppearance( {\n\t\t\t\tfontStyle: nearestFontStyle,\n\t\t\t\tfontWeight: nearestFontWeight,\n\t\t\t} );\n\t\t} else {\n\t\t\t// Reset font appearance if there are no available styles or weights.\n\t\t\tresetFontAppearance();\n\t\t}\n\t}, [\n\t\tnearestFontStyle,\n\t\tnearestFontWeight,\n\t\tresetFontAppearance,\n\t\tsetFontAppearance,\n\t] );\n\n\t// Line Height\n\tconst hasLineHeightEnabled = useHasLineHeightControl( settings );\n\tconst lineHeight = decodeValue( inheritedValue?.typography?.lineHeight );\n\tconst setLineHeight = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'lineHeight' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLineHeight = () => value?.typography?.lineHeight !== undefined;\n\tconst resetLineHeight = () => setLineHeight( undefined );\n\n\t// Letter Spacing\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( settings );\n\tconst letterSpacing = decodeValue(\n\t\tinheritedValue?.typography?.letterSpacing\n\t);\n\tconst setLetterSpacing = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'letterSpacing' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLetterSpacing = () => !! value?.typography?.letterSpacing;\n\tconst resetLetterSpacing = () => setLetterSpacing( undefined );\n\n\t// Text Columns\n\tconst hasTextColumnsControl = useHasTextColumnsControl( settings );\n\tconst textColumns = decodeValue( inheritedValue?.typography?.textColumns );\n\tconst setTextColumns = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textColumns' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextColumns = () => !! value?.typography?.textColumns;\n\tconst resetTextColumns = () => setTextColumns( undefined );\n\n\t// Text Transform\n\tconst hasTextTransformControl = useHasTextTransformControl( settings );\n\tconst textTransform = decodeValue(\n\t\tinheritedValue?.typography?.textTransform\n\t);\n\tconst setTextTransform = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textTransform' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextTransform = () => !! value?.typography?.textTransform;\n\tconst resetTextTransform = () => setTextTransform( undefined );\n\n\t// Text Decoration\n\tconst hasTextDecorationControl = useHasTextDecorationControl( settings );\n\tconst textDecoration = decodeValue(\n\t\tinheritedValue?.typography?.textDecoration\n\t);\n\tconst setTextDecoration = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textDecoration' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextDecoration = () => !! value?.typography?.textDecoration;\n\tconst resetTextDecoration = () => setTextDecoration( undefined );\n\n\t// Text Orientation\n\tconst hasWritingModeControl = useHasWritingModeControl( settings );\n\tconst writingMode = decodeValue( inheritedValue?.typography?.writingMode );\n\tconst setWritingMode = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'writingMode' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasWritingMode = () => !! value?.typography?.writingMode;\n\tconst resetWritingMode = () => setWritingMode( undefined );\n\n\t// Text Alignment\n\tconst hasTextAlignmentControl = useHasTextAlignmentControl( settings );\n\n\tconst textAlign = decodeValue( inheritedValue?.typography?.textAlign );\n\tconst setTextAlign = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textAlign' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextAlign = () => !! value?.typography?.textAlign;\n\tconst resetTextAlign = () => setTextAlign( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\ttypography: {},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontFamily }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ fontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && ! fitText && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontSize }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ currentFontSizeSlug || fontSize }\n\t\t\t\t\t\tvalueMode={ currentFontSizeSlug ? 'slug' : 'literal' }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ mergedFontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontAppearance }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ setFontAppearance }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tfontFamilyFaces={ fontFamilyFaces }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault={ defaultControls.lineHeight }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault={ defaultControls.letterSpacing }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextColumnsControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\thasValue={ hasTextColumns }\n\t\t\t\t\tonDeselect={ resetTextColumns }\n\t\t\t\t\tisShownByDefault={ defaultControls.textColumns }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tmax={ MAX_TEXT_COLUMNS }\n\t\t\t\t\t\tmin={ MIN_TEXT_COLUMNS }\n\t\t\t\t\t\tonChange={ setTextColumns }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tvalue={ textColumns }\n\t\t\t\t\t\tinitialPosition={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault={ defaultControls.textDecoration }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasWritingModeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Orientation' ) }\n\t\t\t\t\thasValue={ hasWritingMode }\n\t\t\t\t\tonDeselect={ resetWritingMode }\n\t\t\t\t\tisShownByDefault={ defaultControls.writingMode }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<WritingModeControl\n\t\t\t\t\t\tvalue={ writingMode }\n\t\t\t\t\t\tonChange={ setWritingMode }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault={ defaultControls.textTransform }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextAlignmentControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Text alignment' ) }\n\t\t\t\t\thasValue={ hasTextAlign }\n\t\t\t\t\tonDeselect={ resetTextAlign }\n\t\t\t\t\tisShownByDefault={ defaultControls.textAlign }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextAlignmentControl\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ setTextAlign }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tFontSizePicker,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport FontFamilyControl from '../font-family';\nimport FontAppearanceControl from '../font-appearance-control';\nimport LineHeightControl from '../line-height-control';\nimport LetterSpacingControl from '../letter-spacing-control';\nimport TextAlignmentControl from '../text-alignment-control';\nimport TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport WritingModeControl from '../writing-mode-control';\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport {\n\tgetMergedFontFamiliesAndFontFamilyFaces,\n\tfindNearestStyleAndWeight,\n} from './typography-utils';\nimport { getFontStylesAndWeights } from '../../utils/get-font-styles-and-weights';\n\nconst MIN_TEXT_COLUMNS = 1;\nconst MAX_TEXT_COLUMNS = 6;\n\nexport function useHasTypographyPanel( settings ) {\n\tconst hasFontFamily = useHasFontFamilyControl( settings );\n\tconst hasLineHeight = useHasLineHeightControl( settings );\n\tconst hasFontAppearance = useHasAppearanceControl( settings );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( settings );\n\tconst hasTextAlign = useHasTextAlignmentControl( settings );\n\tconst hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( settings );\n\tconst hasWritingMode = useHasWritingModeControl( settings );\n\tconst hasTextColumns = useHasTextColumnsControl( settings );\n\tconst hasFontSize = useHasFontSizeControl( settings );\n\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\thasTextAlign ||\n\t\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasWritingMode ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\treturn (\n\t\t( settings?.typography?.defaultFontSizes !== false &&\n\t\t\tsettings?.typography?.fontSizes?.default?.length ) ||\n\t\tsettings?.typography?.fontSizes?.theme?.length ||\n\t\tsettings?.typography?.fontSizes?.custom?.length ||\n\t\tsettings?.typography?.customFontSize\n\t);\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\treturn [ 'default', 'theme', 'custom' ].some(\n\t\t( key ) => settings?.typography?.fontFamilies?.[ key ]?.length\n\t);\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\treturn settings?.typography?.fontStyle || settings?.typography?.fontWeight;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tif ( ! settings?.typography?.fontStyle ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! settings?.typography?.fontWeight ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( settings ) {\n\treturn settings?.typography?.letterSpacing;\n}\n\nfunction useHasTextTransformControl( settings ) {\n\treturn settings?.typography?.textTransform;\n}\n\nfunction useHasTextAlignmentControl( settings ) {\n\treturn settings?.typography?.textAlign;\n}\n\nfunction useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction useHasWritingModeControl( settings ) {\n\treturn settings?.typography?.writingMode;\n}\n\nfunction useHasTextColumnsControl( settings ) {\n\treturn settings?.typography?.textColumns;\n}\n\n/**\n * Concatenate all the font sizes into a single list for the font size picker.\n *\n * @param {Object} settings The global styles settings.\n *\n * @return {Array} The merged font sizes.\n */\nfunction getMergedFontSizes( settings ) {\n\tconst fontSizes = settings?.typography?.fontSizes;\n\tconst defaultFontSizesEnabled = !! settings?.typography?.defaultFontSizes;\n\treturn [\n\t\t...( fontSizes?.custom ?? [] ),\n\t\t...( fontSizes?.theme ?? [] ),\n\t\t...( defaultFontSizesEnabled ? fontSizes?.default ?? [] : [] ),\n\t];\n}\n\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tfontFamily: true,\n\tfontSize: true,\n\tfontAppearance: true,\n\tlineHeight: true,\n\tletterSpacing: true,\n\ttextAlign: true,\n\ttextTransform: true,\n\ttextDecoration: true,\n\twritingMode: true,\n\ttextColumns: true,\n};\n\nexport default function TypographyPanel( {\n\tas: Wrapper = TypographyToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tfitText = false,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\n\tconst { fontFamilies, fontFamilyFaces } = useMemo( () => {\n\t\treturn getMergedFontFamiliesAndFontFamilyFaces( settings, fontFamily );\n\t}, [ settings, fontFamily ] );\n\n\tconst setFontFamily = ( newValue ) => {\n\t\tconst slug = fontFamilies?.find(\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t)?.slug;\n\t\tlet updatedValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'typography', 'fontFamily' ],\n\t\t\tslug ? `var:preset|font-family|${ slug }` : newValue || undefined\n\t\t);\n\n\t\t// Check if current font style/weight are available in the new font family.\n\t\tconst newFontFamilyFaces =\n\t\t\tfontFamilies?.find( ( { fontFamily: f } ) => f === newValue )\n\t\t\t\t?.fontFace ?? [];\n\t\tconst { fontStyles, fontWeights } =\n\t\t\tgetFontStylesAndWeights( newFontFamilyFaces );\n\t\tconst hasFontStyle = fontStyles?.some(\n\t\t\t( { value: fs } ) => fs === fontStyle\n\t\t);\n\t\tconst hasFontWeight = fontWeights?.some(\n\t\t\t( { value: fw } ) => fw?.toString() === fontWeight?.toString()\n\t\t);\n\n\t\t// Find the nearest available font style/weight if not available.\n\t\tif ( ! hasFontStyle || ! hasFontWeight ) {\n\t\t\tconst { nearestFontStyle, nearestFontWeight } =\n\t\t\t\tfindNearestStyleAndWeight(\n\t\t\t\t\tnewFontFamilyFaces,\n\t\t\t\t\tfontStyle,\n\t\t\t\t\tfontWeight\n\t\t\t\t);\n\t\t\tif ( nearestFontStyle || nearestFontWeight ) {\n\t\t\t\t// Update to the nearest available font style/weight in the new font family.\n\t\t\t\tupdatedValue = {\n\t\t\t\t\t...updatedValue,\n\t\t\t\t\ttypography: {\n\t\t\t\t\t\t...updatedValue?.typography,\n\t\t\t\t\t\tfontStyle: nearestFontStyle || undefined,\n\t\t\t\t\t\tfontWeight: nearestFontWeight || undefined,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t} else if ( fontStyle || fontWeight ) {\n\t\t\t\t// Reset if no available styles/weights found.\n\t\t\t\tupdatedValue = {\n\t\t\t\t\t...updatedValue,\n\t\t\t\t\ttypography: {\n\t\t\t\t\t\t...updatedValue?.typography,\n\t\t\t\t\t\tfontStyle: undefined,\n\t\t\t\t\t\tfontWeight: undefined,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tonChange( updatedValue );\n\t};\n\tconst hasFontFamily = () => !! value?.typography?.fontFamily;\n\tconst resetFontFamily = () => setFontFamily( undefined );\n\n\t// Font Size\n\tconst hasFontSizeEnabled = useHasFontSizeControl( settings );\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst mergedFontSizes = getMergedFontSizes( settings );\n\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\n\n\t// Extract the slug from the CSS custom property if it exists\n\tconst currentFontSizeSlug = ( () => {\n\t\tconst rawValue = inheritedValue?.typography?.fontSize;\n\t\tif ( ! rawValue || typeof rawValue !== 'string' ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Block supports use `var:preset` format.\n\t\tif ( rawValue.startsWith( 'var:preset|font-size|' ) ) {\n\t\t\treturn rawValue.replace( 'var:preset|font-size|', '' );\n\t\t}\n\n\t\t// Global styles data uses `var(--wp--preset)` format.\n\t\tconst cssVarMatch = rawValue.match(\n\t\t\t/^var\\(--wp--preset--font-size--([^)]+)\\)$/\n\t\t);\n\t\tif ( cssVarMatch ) {\n\t\t\treturn cssVarMatch[ 1 ];\n\t\t}\n\n\t\treturn undefined;\n\t} )();\n\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tconst actualValue = !! metadata?.slug\n\t\t\t? `var:preset|font-size|${ metadata?.slug }`\n\t\t\t: newValue;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontSize' ],\n\t\t\t\tactualValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontSize = () => !! value?.typography?.fontSize;\n\tconst resetFontSize = () => setFontSize( undefined );\n\n\t// Appearance\n\tconst hasAppearanceControl = useHasAppearanceControl( settings );\n\tconst appearanceControlLabel = useAppearanceControlLabel( settings );\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tconst fontStyle = decodeValue( inheritedValue?.typography?.fontStyle );\n\tconst fontWeight = decodeValue( inheritedValue?.typography?.fontWeight );\n\tconst setFontAppearance = useCallback(\n\t\t( { fontStyle: newFontStyle, fontWeight: newFontWeight } ) => {\n\t\t\t// Only update the font style and weight if they have changed.\n\t\t\tif ( newFontStyle !== fontStyle || newFontWeight !== fontWeight ) {\n\t\t\t\tonChange( {\n\t\t\t\t\t...value,\n\t\t\t\t\ttypography: {\n\t\t\t\t\t\t...value?.typography,\n\t\t\t\t\t\tfontStyle: newFontStyle || undefined,\n\t\t\t\t\t\tfontWeight: newFontWeight || undefined,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ fontStyle, fontWeight, onChange, value ]\n\t);\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = useCallback( () => {\n\t\tsetFontAppearance( {} );\n\t}, [ setFontAppearance ] );\n\n\t// Line Height\n\tconst hasLineHeightEnabled = useHasLineHeightControl( settings );\n\tconst lineHeight = decodeValue( inheritedValue?.typography?.lineHeight );\n\tconst setLineHeight = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'lineHeight' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLineHeight = () => value?.typography?.lineHeight !== undefined;\n\tconst resetLineHeight = () => setLineHeight( undefined );\n\n\t// Letter Spacing\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( settings );\n\tconst letterSpacing = decodeValue(\n\t\tinheritedValue?.typography?.letterSpacing\n\t);\n\tconst setLetterSpacing = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'letterSpacing' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLetterSpacing = () => !! value?.typography?.letterSpacing;\n\tconst resetLetterSpacing = () => setLetterSpacing( undefined );\n\n\t// Text Columns\n\tconst hasTextColumnsControl = useHasTextColumnsControl( settings );\n\tconst textColumns = decodeValue( inheritedValue?.typography?.textColumns );\n\tconst setTextColumns = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textColumns' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextColumns = () => !! value?.typography?.textColumns;\n\tconst resetTextColumns = () => setTextColumns( undefined );\n\n\t// Text Transform\n\tconst hasTextTransformControl = useHasTextTransformControl( settings );\n\tconst textTransform = decodeValue(\n\t\tinheritedValue?.typography?.textTransform\n\t);\n\tconst setTextTransform = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textTransform' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextTransform = () => !! value?.typography?.textTransform;\n\tconst resetTextTransform = () => setTextTransform( undefined );\n\n\t// Text Decoration\n\tconst hasTextDecorationControl = useHasTextDecorationControl( settings );\n\tconst textDecoration = decodeValue(\n\t\tinheritedValue?.typography?.textDecoration\n\t);\n\tconst setTextDecoration = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textDecoration' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextDecoration = () => !! value?.typography?.textDecoration;\n\tconst resetTextDecoration = () => setTextDecoration( undefined );\n\n\t// Text Orientation\n\tconst hasWritingModeControl = useHasWritingModeControl( settings );\n\tconst writingMode = decodeValue( inheritedValue?.typography?.writingMode );\n\tconst setWritingMode = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'writingMode' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasWritingMode = () => !! value?.typography?.writingMode;\n\tconst resetWritingMode = () => setWritingMode( undefined );\n\n\t// Text Alignment\n\tconst hasTextAlignmentControl = useHasTextAlignmentControl( settings );\n\n\tconst textAlign = decodeValue( inheritedValue?.typography?.textAlign );\n\tconst setTextAlign = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textAlign' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextAlign = () => !! value?.typography?.textAlign;\n\tconst resetTextAlign = () => setTextAlign( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\ttypography: {},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontFamily }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ fontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && ! fitText && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontSize }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ currentFontSizeSlug || fontSize }\n\t\t\t\t\t\tvalueMode={ currentFontSizeSlug ? 'slug' : 'literal' }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ mergedFontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontAppearance }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ setFontAppearance }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tfontFamilyFaces={ fontFamilyFaces }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault={ defaultControls.lineHeight }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault={ defaultControls.letterSpacing }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextColumnsControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\thasValue={ hasTextColumns }\n\t\t\t\t\tonDeselect={ resetTextColumns }\n\t\t\t\t\tisShownByDefault={ defaultControls.textColumns }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tmax={ MAX_TEXT_COLUMNS }\n\t\t\t\t\t\tmin={ MIN_TEXT_COLUMNS }\n\t\t\t\t\t\tonChange={ setTextColumns }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tvalue={ textColumns }\n\t\t\t\t\t\tinitialPosition={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault={ defaultControls.textDecoration }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasWritingModeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Orientation' ) }\n\t\t\t\t\thasValue={ hasWritingMode }\n\t\t\t\t\tonDeselect={ resetWritingMode }\n\t\t\t\t\tisShownByDefault={ defaultControls.writingMode }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<WritingModeControl\n\t\t\t\t\t\tvalue={ writingMode }\n\t\t\t\t\t\tonChange={ setWritingMode }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault={ defaultControls.textTransform }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextAlignmentControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Text alignment' ) }\n\t\t\t\t\thasValue={ hasTextAlign }\n\t\t\t\t\tonDeselect={ resetTextAlign }\n\t\t\t\t\tisShownByDefault={ defaultControls.textAlign }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextAlignmentControl\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ setTextAlign }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["ToolsPanel", "ToolsPanelItem", "FontFamilyControl", "FontAppearanceControl", "LineHeightControl", "LetterSpacingControl", "NumberControl", "TextDecorationControl", "WritingModeControl", "TextTransformControl", "TextAlignmentControl"]
7
7
  }
@@ -90,6 +90,7 @@ __export(components_exports, {
90
90
  RichTextShortcut: () => import_rich_text.RichTextShortcut,
91
91
  RichTextToolbarButton: () => import_rich_text.RichTextToolbarButton,
92
92
  SkipToSelectedBlock: () => import_skip_to_selected_block.default,
93
+ ToolSelector: () => import_tool_selector.default,
93
94
  Typewriter: () => import_typewriter.default,
94
95
  URLInput: () => import_url_input.default,
95
96
  URLInputButton: () => import_button.default,
@@ -271,6 +272,7 @@ var import_block_editing_mode = require("./block-editing-mode");
271
272
  var import_provider = __toESM(require("./provider"));
272
273
  var import_use_settings = require("./use-settings");
273
274
  var import_use_block_commands = require("./use-block-commands");
275
+ var import_tool_selector = __toESM(require("./tool-selector"));
274
276
  // Annotate the CommonJS export names for ESM import in node:
275
277
  0 && (module.exports = {
276
278
  AlignmentControl,
@@ -334,6 +336,7 @@ var import_use_block_commands = require("./use-block-commands");
334
336
  RichTextShortcut,
335
337
  RichTextToolbarButton,
336
338
  SkipToSelectedBlock,
339
+ ToolSelector,
337
340
  Typewriter,
338
341
  URLInput,
339
342
  URLInputButton,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/components/index.js"],
4
- "sourcesContent": ["/*\n * Block Creation Components\n */\n\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as Autocomplete } from './autocomplete';\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { default as __experimentalBlockFullHeightAligmentControl } from './block-full-height-alignment-control';\nexport { default as __experimentalBlockAlignmentMatrixControl } from './block-alignment-matrix-control';\nexport { default as BlockBreadcrumb } from './block-breadcrumb';\nexport { default as __experimentalUseBlockOverlayActive } from './block-content-overlay';\nexport { BlockContextProvider } from './block-context';\nexport { default as BlockCanvas } from './block-canvas';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockColorsStyleSelector } from './color-style-selector';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport { default as BlockNavigationDropdown } from './block-navigation/dropdown';\nexport { default as BlockStyles } from './block-styles';\nexport { default as HeadingLevelDropdown } from './block-heading-level-dropdown';\nexport { default as __experimentalBlockVariationPicker } from './block-variation-picker';\nexport { default as __experimentalBlockPatternSetup } from './block-pattern-setup';\nexport { default as __experimentalBlockVariationTransforms } from './block-variation-transforms';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport { default as __experimentalBorderRadiusControl } from './border-radius-control';\nexport {\n\t// This is a typo, but kept here for back-compat.\n\tButtonBlockerAppender,\n\tdefault as ButtonBlockAppender,\n} from './button-block-appender';\nexport { default as ColorPalette } from './color-palette';\nexport { default as ColorPaletteControl } from './color-palette/control';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as __experimentalDateFormatPicker } from './date-format-picker';\nexport { default as __experimentalDuotoneControl } from './duotone-control';\nexport { default as __experimentalFontAppearanceControl } from './font-appearance-control';\nexport { default as __experimentalFontFamilyControl } from './font-family';\nexport { default as __experimentalLetterSpacingControl } from './letter-spacing-control';\nexport { default as __experimentalTextDecorationControl } from './text-decoration-control';\nexport { default as __experimentalTextTransformControl } from './text-transform-control';\nexport { default as __experimentalWritingModeControl } from './writing-mode-control';\nexport { default as __experimentalColorGradientControl } from './colors-gradients/control';\nexport { default as __experimentalColorGradientSettingsDropdown } from './colors-gradients/dropdown';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { default as __experimentalUseMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\nexport { default as HeightControl } from './height-control';\nexport { default as __experimentalImageEditor } from './image-editor';\nexport { default as __experimentalImageSizeControl } from './image-size-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport {\n\tdefault as LinkControl,\n\tDeprecatedExperimentalLinkControl as __experimentalLinkControl,\n} from './link-control';\nexport { __experimentalLinkControlSearchInput } from './link-control/search-input';\nexport { __experimentalLinkControlSearchResults } from './link-control/search-results';\nexport { __experimentalLinkControlSearchItem } from './link-control/search-item';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as __experimentalListView } from './list-view';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport { default as MediaUpload } from './media-upload';\nexport { default as MediaUploadCheck } from './media-upload/check';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as PlainText } from './plain-text';\nexport { default as __experimentalResponsiveBlockControl } from './responsive-block-control';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as __experimentalUnitControl } from './unit-control';\nexport { default as URLInput } from './url-input';\nexport { default as URLInputButton } from './url-input/button';\nexport { default as URLPopover } from './url-popover';\nexport { __experimentalImageURLInputUI } from './url-popover/image-url-input-ui';\nexport { default as withColorContext } from './color-palette/with-color-context';\nexport { default as __experimentalSpacingSizesControl } from './spacing-sizes-control';\nexport {\n\tgetSpacingPresetCssVar,\n\tisValueSpacingPreset,\n\tgetCustomValueFromPreset,\n} from './spacing-sizes-control/utils';\n/*\n * Content Related Components\n */\n\nexport { default as __unstableBlockSettingsMenuFirstItem } from './block-settings-menu/block-settings-menu-first-item';\nexport { default as __unstableBlockToolbarLastItem } from './block-toolbar/block-toolbar-last-item';\nexport { default as __unstableBlockNameContext } from './block-toolbar/block-name-context';\nexport { default as __unstableInserterMenuExtension } from './inserter-menu-extension';\nexport { default as __experimentalPreviewOptions } from './preview-options';\nexport { default as __experimentalUseResizeCanvas } from './use-resize-canvas';\nexport { default as BlockInspector } from './block-inspector';\nexport { default as BlockList } from './block-list';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { default as BlockMover } from './block-mover';\nexport {\n\tdefault as BlockPreview,\n\tuseBlockPreview as __experimentalUseBlockPreview,\n} from './block-preview';\nexport {\n\tdefault as BlockSelectionClearer,\n\tuseBlockSelectionClearer as __unstableUseBlockSelectionClearer,\n} from './block-selection-clearer';\nexport { default as BlockSettingsMenu } from './block-settings-menu';\nexport { default as BlockSettingsMenuControls } from './block-settings-menu-controls';\nexport { default as BlockTitle } from './block-title';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockTools } from './block-tools';\nexport {\n\tdefault as CopyHandler,\n\t__unstableUseClipboardHandler,\n} from './copy-handler';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { default as __experimentalLibrary } from './inserter/library';\nexport { default as BlockEditorKeyboardShortcuts } from './keyboard-shortcuts';\nexport { MultiSelectScrollIntoView } from './selection-scroll-into-view';\nexport { default as NavigableToolbar } from './navigable-toolbar';\nexport {\n\tdefault as ObserveTyping,\n\tuseTypingObserver as __unstableUseTypingObserver,\n\tuseMouseMoveTypingReset as __unstableUseMouseMoveTypingReset,\n} from './observe-typing';\nexport { default as SkipToSelectedBlock } from './skip-to-selected-block';\nexport {\n\tdefault as Typewriter,\n\tuseTypewriter as __unstableUseTypewriter,\n} from './typewriter';\nexport { default as Warning } from './warning';\nexport { default as WritingFlow } from './writing-flow';\nexport { default as useBlockDisplayInformation } from './use-block-display-information';\nexport { default as __unstableIframe } from './iframe';\nexport {\n\tRecursionProvider,\n\tDeprecatedExperimentalRecursionProvider as __experimentalRecursionProvider,\n\tuseHasRecursion,\n\tDeprecatedExperimentalUseHasRecursion as __experimentalUseHasRecursion,\n} from './recursion-provider';\nexport { default as __experimentalBlockPatternsList } from './block-patterns-list';\nexport { default as __experimentalPublishDateTimePicker } from './publish-date-time-picker';\nexport { default as __experimentalInspectorPopoverHeader } from './inspector-popover-header';\nexport { default as BlockPopover } from './block-popover';\nexport { useBlockEditingMode } from './block-editing-mode';\n\n/*\n * State Related Components\n */\n\nexport { default as BlockEditorProvider } from './provider';\nexport { useSettings, useSetting } from './use-settings';\nexport { useBlockCommands } from './use-block-commands';\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/*\n * Block Creation Components\n */\n\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as Autocomplete } from './autocomplete';\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { default as __experimentalBlockFullHeightAligmentControl } from './block-full-height-alignment-control';\nexport { default as __experimentalBlockAlignmentMatrixControl } from './block-alignment-matrix-control';\nexport { default as BlockBreadcrumb } from './block-breadcrumb';\nexport { default as __experimentalUseBlockOverlayActive } from './block-content-overlay';\nexport { BlockContextProvider } from './block-context';\nexport { default as BlockCanvas } from './block-canvas';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockColorsStyleSelector } from './color-style-selector';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport { default as BlockNavigationDropdown } from './block-navigation/dropdown';\nexport { default as BlockStyles } from './block-styles';\nexport { default as HeadingLevelDropdown } from './block-heading-level-dropdown';\nexport { default as __experimentalBlockVariationPicker } from './block-variation-picker';\nexport { default as __experimentalBlockPatternSetup } from './block-pattern-setup';\nexport { default as __experimentalBlockVariationTransforms } from './block-variation-transforms';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport { default as __experimentalBorderRadiusControl } from './border-radius-control';\nexport {\n\t// This is a typo, but kept here for back-compat.\n\tButtonBlockerAppender,\n\tdefault as ButtonBlockAppender,\n} from './button-block-appender';\nexport { default as ColorPalette } from './color-palette';\nexport { default as ColorPaletteControl } from './color-palette/control';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as __experimentalDateFormatPicker } from './date-format-picker';\nexport { default as __experimentalDuotoneControl } from './duotone-control';\nexport { default as __experimentalFontAppearanceControl } from './font-appearance-control';\nexport { default as __experimentalFontFamilyControl } from './font-family';\nexport { default as __experimentalLetterSpacingControl } from './letter-spacing-control';\nexport { default as __experimentalTextDecorationControl } from './text-decoration-control';\nexport { default as __experimentalTextTransformControl } from './text-transform-control';\nexport { default as __experimentalWritingModeControl } from './writing-mode-control';\nexport { default as __experimentalColorGradientControl } from './colors-gradients/control';\nexport { default as __experimentalColorGradientSettingsDropdown } from './colors-gradients/dropdown';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { default as __experimentalUseMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\nexport { default as HeightControl } from './height-control';\nexport { default as __experimentalImageEditor } from './image-editor';\nexport { default as __experimentalImageSizeControl } from './image-size-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport {\n\tdefault as LinkControl,\n\tDeprecatedExperimentalLinkControl as __experimentalLinkControl,\n} from './link-control';\nexport { __experimentalLinkControlSearchInput } from './link-control/search-input';\nexport { __experimentalLinkControlSearchResults } from './link-control/search-results';\nexport { __experimentalLinkControlSearchItem } from './link-control/search-item';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as __experimentalListView } from './list-view';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport { default as MediaUpload } from './media-upload';\nexport { default as MediaUploadCheck } from './media-upload/check';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as PlainText } from './plain-text';\nexport { default as __experimentalResponsiveBlockControl } from './responsive-block-control';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as __experimentalUnitControl } from './unit-control';\nexport { default as URLInput } from './url-input';\nexport { default as URLInputButton } from './url-input/button';\nexport { default as URLPopover } from './url-popover';\nexport { __experimentalImageURLInputUI } from './url-popover/image-url-input-ui';\nexport { default as withColorContext } from './color-palette/with-color-context';\nexport { default as __experimentalSpacingSizesControl } from './spacing-sizes-control';\nexport {\n\tgetSpacingPresetCssVar,\n\tisValueSpacingPreset,\n\tgetCustomValueFromPreset,\n} from './spacing-sizes-control/utils';\n/*\n * Content Related Components\n */\n\nexport { default as __unstableBlockSettingsMenuFirstItem } from './block-settings-menu/block-settings-menu-first-item';\nexport { default as __unstableBlockToolbarLastItem } from './block-toolbar/block-toolbar-last-item';\nexport { default as __unstableBlockNameContext } from './block-toolbar/block-name-context';\nexport { default as __unstableInserterMenuExtension } from './inserter-menu-extension';\nexport { default as __experimentalPreviewOptions } from './preview-options';\nexport { default as __experimentalUseResizeCanvas } from './use-resize-canvas';\nexport { default as BlockInspector } from './block-inspector';\nexport { default as BlockList } from './block-list';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { default as BlockMover } from './block-mover';\nexport {\n\tdefault as BlockPreview,\n\tuseBlockPreview as __experimentalUseBlockPreview,\n} from './block-preview';\nexport {\n\tdefault as BlockSelectionClearer,\n\tuseBlockSelectionClearer as __unstableUseBlockSelectionClearer,\n} from './block-selection-clearer';\nexport { default as BlockSettingsMenu } from './block-settings-menu';\nexport { default as BlockSettingsMenuControls } from './block-settings-menu-controls';\nexport { default as BlockTitle } from './block-title';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockTools } from './block-tools';\nexport {\n\tdefault as CopyHandler,\n\t__unstableUseClipboardHandler,\n} from './copy-handler';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { default as __experimentalLibrary } from './inserter/library';\nexport { default as BlockEditorKeyboardShortcuts } from './keyboard-shortcuts';\nexport { MultiSelectScrollIntoView } from './selection-scroll-into-view';\nexport { default as NavigableToolbar } from './navigable-toolbar';\nexport {\n\tdefault as ObserveTyping,\n\tuseTypingObserver as __unstableUseTypingObserver,\n\tuseMouseMoveTypingReset as __unstableUseMouseMoveTypingReset,\n} from './observe-typing';\nexport { default as SkipToSelectedBlock } from './skip-to-selected-block';\nexport {\n\tdefault as Typewriter,\n\tuseTypewriter as __unstableUseTypewriter,\n} from './typewriter';\nexport { default as Warning } from './warning';\nexport { default as WritingFlow } from './writing-flow';\nexport { default as useBlockDisplayInformation } from './use-block-display-information';\nexport { default as __unstableIframe } from './iframe';\nexport {\n\tRecursionProvider,\n\tDeprecatedExperimentalRecursionProvider as __experimentalRecursionProvider,\n\tuseHasRecursion,\n\tDeprecatedExperimentalUseHasRecursion as __experimentalUseHasRecursion,\n} from './recursion-provider';\nexport { default as __experimentalBlockPatternsList } from './block-patterns-list';\nexport { default as __experimentalPublishDateTimePicker } from './publish-date-time-picker';\nexport { default as __experimentalInspectorPopoverHeader } from './inspector-popover-header';\nexport { default as BlockPopover } from './block-popover';\nexport { useBlockEditingMode } from './block-editing-mode';\n\n/*\n * State Related Components\n */\n\nexport { default as BlockEditorProvider } from './provider';\nexport { useSettings, useSetting } from './use-settings';\nexport { useBlockCommands } from './use-block-commands';\n\n// This component is no longer used in Gutenberg,\n// but kept for backwards compatibility.\nexport { default as ToolSelector } from './tool-selector';\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_control", "import_dropdown"]
7
7
  }
@@ -78,7 +78,7 @@ function ListViewBlockSelectButton({
78
78
  return {
79
79
  canToggleBlockVisibility: (0, import_blocks.hasBlockSupport)(
80
80
  getBlockName(clientId),
81
- "blockVisibility",
81
+ "visibility",
82
82
  true
83
83
  ),
84
84
  isBlockHidden: _isBlockHidden(clientId),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/list-view/block-select-button.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { forwardRef } from '@wordpress/element';\nimport { Icon, lockSmall as lock, pinSmall, unseen } from '@wordpress/icons';\nimport { SPACE, ENTER } from '@wordpress/keycodes';\nimport { useSelect } from '@wordpress/data';\nimport { hasBlockSupport } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\nimport ListViewExpander from './expander';\nimport { useBlockLock } from '../block-lock';\nimport useListViewImages from './use-list-view-images';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { Badge } = unlock( componentsPrivateApis );\n\nfunction ListViewBlockSelectButton(\n\t{\n\t\tclassName,\n\t\tblock: { clientId },\n\t\tonClick,\n\t\tonContextMenu,\n\t\tonMouseDown,\n\t\tonToggleExpanded,\n\t\ttabIndex,\n\t\tonFocus,\n\t\tonDragStart,\n\t\tonDragEnd,\n\t\tdraggable,\n\t\tisExpanded,\n\t\tariaDescribedBy,\n\t},\n\tref\n) {\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId,\n\t\tcontext: 'list-view',\n\t} );\n\tconst { isLocked } = useBlockLock( clientId );\n\tconst { canToggleBlockVisibility, isBlockHidden, isContentOnly } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getBlockName } = select( blockEditorStore );\n\t\t\t\tconst { isBlockHidden: _isBlockHidden } = unlock(\n\t\t\t\t\tselect( blockEditorStore )\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\tcanToggleBlockVisibility: hasBlockSupport(\n\t\t\t\t\t\tgetBlockName( clientId ),\n\t\t\t\t\t\t'blockVisibility',\n\t\t\t\t\t\ttrue\n\t\t\t\t\t),\n\t\t\t\t\tisBlockHidden: _isBlockHidden( clientId ),\n\t\t\t\t\tisContentOnly:\n\t\t\t\t\t\tselect( blockEditorStore ).getBlockEditingMode(\n\t\t\t\t\t\t\tclientId\n\t\t\t\t\t\t) === 'contentOnly',\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientId ]\n\t\t);\n\tconst shouldShowLockIcon = isLocked && ! isContentOnly;\n\tconst shouldShowBlockVisibilityIcon =\n\t\tcanToggleBlockVisibility && isBlockHidden;\n\tconst isSticky = blockInformation?.positionType === 'sticky';\n\tconst images = useListViewImages( { clientId, isExpanded } );\n\n\t// The `href` attribute triggers the browser's native HTML drag operations.\n\t// When the link is dragged, the element's outerHTML is set in DataTransfer object as text/html.\n\t// We need to clear any HTML drag data to prevent `pasteHandler` from firing\n\t// inside the `useOnBlockDrop` hook.\n\tconst onDragStartHandler = ( event ) => {\n\t\tevent.dataTransfer.clearData();\n\t\tonDragStart?.( event );\n\t};\n\n\t/**\n\t * @param {KeyboardEvent} event\n\t */\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER || event.keyCode === SPACE ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\treturn (\n\t\t<a\n\t\t\tclassName={ clsx(\n\t\t\t\t'block-editor-list-view-block-select-button',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tonClick={ onClick }\n\t\t\tonContextMenu={ onContextMenu }\n\t\t\tonKeyDown={ onKeyDown }\n\t\t\tonMouseDown={ onMouseDown }\n\t\t\tref={ ref }\n\t\t\ttabIndex={ tabIndex }\n\t\t\tonFocus={ onFocus }\n\t\t\tonDragStart={ onDragStartHandler }\n\t\t\tonDragEnd={ onDragEnd }\n\t\t\tdraggable={ draggable }\n\t\t\thref={ `#block-${ clientId }` }\n\t\t\taria-describedby={ ariaDescribedBy }\n\t\t\taria-expanded={ isExpanded }\n\t\t>\n\t\t\t<ListViewExpander onClick={ onToggleExpanded } />\n\t\t\t<BlockIcon\n\t\t\t\ticon={ blockInformation?.icon }\n\t\t\t\tshowColors\n\t\t\t\tcontext=\"list-view\"\n\t\t\t/>\n\t\t\t<HStack\n\t\t\t\talignment=\"center\"\n\t\t\t\tclassName=\"block-editor-list-view-block-select-button__label-wrapper\"\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tspacing={ 1 }\n\t\t\t>\n\t\t\t\t<span className=\"block-editor-list-view-block-select-button__title\">\n\t\t\t\t\t<Truncate ellipsizeMode=\"auto\">{ blockTitle }</Truncate>\n\t\t\t\t</span>\n\t\t\t\t{ blockInformation?.anchor && (\n\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__anchor-wrapper\">\n\t\t\t\t\t\t<Badge className=\"block-editor-list-view-block-select-button__anchor\">\n\t\t\t\t\t\t\t{ blockInformation.anchor }\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t{ isSticky && (\n\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__sticky\">\n\t\t\t\t\t\t<Icon icon={ pinSmall } />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t{ images.length ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"block-editor-list-view-block-select-button__images\"\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t{ images.map( ( image, index ) => (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"block-editor-list-view-block-select-button__image\"\n\t\t\t\t\t\t\t\tkey={ image.clientId }\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\tbackgroundImage: `url(${ image.url })`,\n\t\t\t\t\t\t\t\t\tzIndex: images.length - index, // Ensure the first image is on top, and subsequent images are behind.\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</span>\n\t\t\t\t) : null }\n\t\t\t\t{ shouldShowBlockVisibilityIcon && (\n\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__block-visibility\">\n\t\t\t\t\t\t<Icon icon={ unseen } />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t{ shouldShowLockIcon && (\n\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__lock\">\n\t\t\t\t\t\t<Icon icon={ lock } />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</a>\n\t);\n}\n\nexport default forwardRef( ListViewBlockSelectButton );\n"],
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { forwardRef } from '@wordpress/element';\nimport { Icon, lockSmall as lock, pinSmall, unseen } from '@wordpress/icons';\nimport { SPACE, ENTER } from '@wordpress/keycodes';\nimport { useSelect } from '@wordpress/data';\nimport { hasBlockSupport } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\nimport ListViewExpander from './expander';\nimport { useBlockLock } from '../block-lock';\nimport useListViewImages from './use-list-view-images';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { Badge } = unlock( componentsPrivateApis );\n\nfunction ListViewBlockSelectButton(\n\t{\n\t\tclassName,\n\t\tblock: { clientId },\n\t\tonClick,\n\t\tonContextMenu,\n\t\tonMouseDown,\n\t\tonToggleExpanded,\n\t\ttabIndex,\n\t\tonFocus,\n\t\tonDragStart,\n\t\tonDragEnd,\n\t\tdraggable,\n\t\tisExpanded,\n\t\tariaDescribedBy,\n\t},\n\tref\n) {\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId,\n\t\tcontext: 'list-view',\n\t} );\n\tconst { isLocked } = useBlockLock( clientId );\n\tconst { canToggleBlockVisibility, isBlockHidden, isContentOnly } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getBlockName } = select( blockEditorStore );\n\t\t\t\tconst { isBlockHidden: _isBlockHidden } = unlock(\n\t\t\t\t\tselect( blockEditorStore )\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\tcanToggleBlockVisibility: hasBlockSupport(\n\t\t\t\t\t\tgetBlockName( clientId ),\n\t\t\t\t\t\t'visibility',\n\t\t\t\t\t\ttrue\n\t\t\t\t\t),\n\t\t\t\t\tisBlockHidden: _isBlockHidden( clientId ),\n\t\t\t\t\tisContentOnly:\n\t\t\t\t\t\tselect( blockEditorStore ).getBlockEditingMode(\n\t\t\t\t\t\t\tclientId\n\t\t\t\t\t\t) === 'contentOnly',\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientId ]\n\t\t);\n\tconst shouldShowLockIcon = isLocked && ! isContentOnly;\n\tconst shouldShowBlockVisibilityIcon =\n\t\tcanToggleBlockVisibility && isBlockHidden;\n\tconst isSticky = blockInformation?.positionType === 'sticky';\n\tconst images = useListViewImages( { clientId, isExpanded } );\n\n\t// The `href` attribute triggers the browser's native HTML drag operations.\n\t// When the link is dragged, the element's outerHTML is set in DataTransfer object as text/html.\n\t// We need to clear any HTML drag data to prevent `pasteHandler` from firing\n\t// inside the `useOnBlockDrop` hook.\n\tconst onDragStartHandler = ( event ) => {\n\t\tevent.dataTransfer.clearData();\n\t\tonDragStart?.( event );\n\t};\n\n\t/**\n\t * @param {KeyboardEvent} event\n\t */\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER || event.keyCode === SPACE ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\treturn (\n\t\t<a\n\t\t\tclassName={ clsx(\n\t\t\t\t'block-editor-list-view-block-select-button',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tonClick={ onClick }\n\t\t\tonContextMenu={ onContextMenu }\n\t\t\tonKeyDown={ onKeyDown }\n\t\t\tonMouseDown={ onMouseDown }\n\t\t\tref={ ref }\n\t\t\ttabIndex={ tabIndex }\n\t\t\tonFocus={ onFocus }\n\t\t\tonDragStart={ onDragStartHandler }\n\t\t\tonDragEnd={ onDragEnd }\n\t\t\tdraggable={ draggable }\n\t\t\thref={ `#block-${ clientId }` }\n\t\t\taria-describedby={ ariaDescribedBy }\n\t\t\taria-expanded={ isExpanded }\n\t\t>\n\t\t\t<ListViewExpander onClick={ onToggleExpanded } />\n\t\t\t<BlockIcon\n\t\t\t\ticon={ blockInformation?.icon }\n\t\t\t\tshowColors\n\t\t\t\tcontext=\"list-view\"\n\t\t\t/>\n\t\t\t<HStack\n\t\t\t\talignment=\"center\"\n\t\t\t\tclassName=\"block-editor-list-view-block-select-button__label-wrapper\"\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tspacing={ 1 }\n\t\t\t>\n\t\t\t\t<span className=\"block-editor-list-view-block-select-button__title\">\n\t\t\t\t\t<Truncate ellipsizeMode=\"auto\">{ blockTitle }</Truncate>\n\t\t\t\t</span>\n\t\t\t\t{ blockInformation?.anchor && (\n\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__anchor-wrapper\">\n\t\t\t\t\t\t<Badge className=\"block-editor-list-view-block-select-button__anchor\">\n\t\t\t\t\t\t\t{ blockInformation.anchor }\n\t\t\t\t\t\t</Badge>\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t{ isSticky && (\n\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__sticky\">\n\t\t\t\t\t\t<Icon icon={ pinSmall } />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t{ images.length ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"block-editor-list-view-block-select-button__images\"\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t{ images.map( ( image, index ) => (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"block-editor-list-view-block-select-button__image\"\n\t\t\t\t\t\t\t\tkey={ image.clientId }\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\tbackgroundImage: `url(${ image.url })`,\n\t\t\t\t\t\t\t\t\tzIndex: images.length - index, // Ensure the first image is on top, and subsequent images are behind.\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</span>\n\t\t\t\t) : null }\n\t\t\t\t{ shouldShowBlockVisibilityIcon && (\n\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__block-visibility\">\n\t\t\t\t\t\t<Icon icon={ unseen } />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t{ shouldShowLockIcon && (\n\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__lock\">\n\t\t\t\t\t\t<Icon icon={ lock } />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</a>\n\t);\n}\n\nexport default forwardRef( ListViewBlockSelectButton );\n"],
5
5
  "mappings": "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",
6
6
  "names": ["componentsPrivateApis", "useBlockDisplayInformation", "useBlockDisplayTitle", "blockEditorStore", "useListViewImages", "clsx", "ListViewExpander", "BlockIcon", "HStack", "Truncate", "lock"]
7
7
  }
@@ -279,10 +279,10 @@ function ListViewBlock({
279
279
  event.preventDefault();
280
280
  const { blocksToUpdate } = getBlocksToUpdate();
281
281
  const blocks = getBlocksByClientId(blocksToUpdate);
282
- const canToggleBlockVisibility = blocks.every(
283
- (blockToUpdate) => (0, import_blocks.hasBlockSupport)(blockToUpdate.name, "blockVisibility", true)
282
+ const canToggleVisibility = blocks.every(
283
+ (blockToUpdate) => (0, import_blocks.hasBlockSupport)(blockToUpdate.name, "visibility", true)
284
284
  );
285
- if (!canToggleBlockVisibility) {
285
+ if (!canToggleVisibility) {
286
286
  return;
287
287
  }
288
288
  const hasHiddenBlock = blocks.some(
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/list-view/block.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\thasBlockSupport,\n\tswitchToBlockType,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport {\n\t__experimentalTreeGridCell as TreeGridCell,\n\t__experimentalTreeGridItem as TreeGridItem,\n} from '@wordpress/components';\nimport { useInstanceId, useDebounce } from '@wordpress/compose';\nimport { moreVertical } from '@wordpress/icons';\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tmemo,\n} from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE } from '@wordpress/keycodes';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\nimport { __unstableUseShortcutEventMatch as useShortcutEventMatch } from '@wordpress/keyboard-shortcuts';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport ListViewLeaf from './leaf';\nimport useListViewScrollIntoView from './use-list-view-scroll-into-view';\nimport {\n\tBlockMoverUpButton,\n\tBlockMoverDownButton,\n} from '../block-mover/button';\nimport ListViewBlockContents from './block-contents';\nimport { useListViewContext } from './context';\nimport {\n\tgetBlockPositionDescription,\n\tgetBlockPropertiesDescription,\n\tfocusListItem,\n} from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { useBlockLock } from '../block-lock';\nimport AriaReferencedText from './aria-referenced-text';\nimport { unlock } from '../../lock-unlock';\nimport usePasteStyles from '../use-paste-styles';\nimport { cleanEmptyObject } from '../../hooks/utils';\n\nfunction ListViewBlock( {\n\tblock: { clientId },\n\tdisplacement,\n\tisAfterDraggedBlocks,\n\tisDragged,\n\tisNesting,\n\tisSelected,\n\tisBranchSelected,\n\tselectBlock,\n\tposition,\n\tlevel,\n\trowCount,\n\tsiblingBlockCount,\n\tshowBlockMovers,\n\tpath,\n\tisExpanded,\n\tselectedClientIds,\n\tisSyncedBranch,\n} ) {\n\tconst cellRef = useRef( null );\n\tconst rowRef = useRef( null );\n\tconst settingsRef = useRef( null );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ settingsAnchorRect, setSettingsAnchorRect ] = useState();\n\n\tconst { isLocked, canEdit, canMove } = useBlockLock( clientId );\n\n\tconst isFirstSelectedBlock =\n\t\tisSelected && selectedClientIds[ 0 ] === clientId;\n\tconst isLastSelectedBlock =\n\t\tisSelected &&\n\t\tselectedClientIds[ selectedClientIds.length - 1 ] === clientId;\n\n\tconst {\n\t\ttoggleBlockHighlight,\n\t\tduplicateBlocks,\n\t\tmultiSelect,\n\t\treplaceBlocks,\n\t\tremoveBlocks,\n\t\tinsertAfterBlock,\n\t\tinsertBeforeBlock,\n\t\tsetOpenedBlockSettingsMenu,\n\t\tupdateBlockAttributes,\n\t} = unlock( useDispatch( blockEditorStore ) );\n\tconst debouncedToggleBlockHighlight = useDebounce(\n\t\ttoggleBlockHighlight,\n\t\t50\n\t);\n\n\tconst {\n\t\tcanInsertBlockType,\n\t\tgetSelectedBlockClientIds,\n\t\tgetPreviousBlockClientId,\n\t\tgetBlockRootClientId,\n\t\tgetBlockOrder,\n\t\tgetBlockParents,\n\t\tgetBlocksByClientId,\n\t\tcanRemoveBlocks,\n\t\tisGroupable,\n\t} = useSelect( blockEditorStore );\n\tconst { getGroupingBlockName } = useSelect( blocksStore );\n\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\n\tconst pasteStyles = usePasteStyles();\n\n\tconst { block, blockName, allowRightClickOverrides, isBlockHidden } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getBlock, getBlockName, getSettings } =\n\t\t\t\t\tselect( blockEditorStore );\n\t\t\t\tconst { isBlockHidden: _isBlockHidden } = unlock(\n\t\t\t\t\tselect( blockEditorStore )\n\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\tblock: getBlock( clientId ),\n\t\t\t\t\tblockName: getBlockName( clientId ),\n\t\t\t\t\tallowRightClickOverrides:\n\t\t\t\t\t\tgetSettings().allowRightClickOverrides,\n\t\t\t\t\tisBlockHidden: _isBlockHidden( clientId ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientId ]\n\t\t);\n\n\tconst showBlockActions =\n\t\t// When a block hides its toolbar it also hides the block settings menu,\n\t\t// since that menu is part of the toolbar in the editor canvas.\n\t\t// List View respects this by also hiding the block settings menu.\n\t\thasBlockSupport( blockName, '__experimentalToolbar', true );\n\tconst instanceId = useInstanceId( ListViewBlock );\n\tconst descriptionId = `list-view-block-select-button__description-${ instanceId }`;\n\n\tconst {\n\t\texpand,\n\t\tcollapse,\n\t\tcollapseAll,\n\t\tBlockSettingsMenu,\n\t\tlistViewInstanceId,\n\t\texpandedState,\n\t\tsetInsertedBlock,\n\t\ttreeGridElementRef,\n\t\trootClientId,\n\t} = useListViewContext();\n\tconst isMatch = useShortcutEventMatch();\n\n\t// Determine which blocks to update:\n\t// If the current (focused) block is part of the block selection, use the whole selection.\n\t// If the focused block is not part of the block selection, only update the focused block.\n\tfunction getBlocksToUpdate() {\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst isUpdatingSelectedBlocks =\n\t\t\tselectedBlockClientIds.includes( clientId );\n\t\tconst firstBlockClientId = isUpdatingSelectedBlocks\n\t\t\t? selectedBlockClientIds[ 0 ]\n\t\t\t: clientId;\n\t\tconst firstBlockRootClientId =\n\t\t\tgetBlockRootClientId( firstBlockClientId );\n\n\t\tconst blocksToUpdate = isUpdatingSelectedBlocks\n\t\t\t? selectedBlockClientIds\n\t\t\t: [ clientId ];\n\n\t\treturn {\n\t\t\tblocksToUpdate,\n\t\t\tfirstBlockClientId,\n\t\t\tfirstBlockRootClientId,\n\t\t\tselectedBlockClientIds,\n\t\t};\n\t}\n\n\t/**\n\t * @param {KeyboardEvent} event\n\t */\n\tasync function onKeyDown( event ) {\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Do not handle events if it comes from modals;\n\t\t// retain the default behavior for these keys.\n\t\tif ( event.target.closest( '[role=dialog]' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isDeleteKey = [ BACKSPACE, DELETE ].includes( event.keyCode );\n\n\t\t// If multiple blocks are selected, deselect all blocks when the user\n\t\t// presses the escape key.\n\t\tif (\n\t\t\tisMatch( 'core/block-editor/unselect', event ) &&\n\t\t\tselectedClientIds.length > 0\n\t\t) {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tselectBlock( event, undefined );\n\t\t} else if (\n\t\t\tisDeleteKey ||\n\t\t\tisMatch( 'core/block-editor/remove', event )\n\t\t) {\n\t\t\tconst {\n\t\t\t\tblocksToUpdate: blocksToDelete,\n\t\t\t\tfirstBlockClientId,\n\t\t\t\tfirstBlockRootClientId,\n\t\t\t\tselectedBlockClientIds,\n\t\t\t} = getBlocksToUpdate();\n\n\t\t\t// Don't update the selection if the blocks cannot be deleted.\n\t\t\tif ( ! canRemoveBlocks( blocksToDelete ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet blockToFocus =\n\t\t\t\tgetPreviousBlockClientId( firstBlockClientId ) ??\n\t\t\t\t// If the previous block is not found (when the first block is deleted),\n\t\t\t\t// fallback to focus the parent block.\n\t\t\t\tfirstBlockRootClientId;\n\n\t\t\tremoveBlocks( blocksToDelete, false );\n\n\t\t\t// Update the selection if the original selection has been removed.\n\t\t\tconst shouldUpdateSelection =\n\t\t\t\tselectedBlockClientIds.length > 0 &&\n\t\t\t\tgetSelectedBlockClientIds().length === 0;\n\n\t\t\t// If there's no previous block nor parent block, focus the first block.\n\t\t\tif ( ! blockToFocus ) {\n\t\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t\t}\n\n\t\t\tupdateFocusAndSelection( blockToFocus, shouldUpdateSelection );\n\t\t} else if ( isMatch( 'core/block-editor/paste-styles', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tconst blocks = getBlocksByClientId( blocksToUpdate );\n\n\t\t\tpasteStyles( blocks );\n\t\t} else if ( isMatch( 'core/block-editor/duplicate', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate, firstBlockRootClientId } =\n\t\t\t\tgetBlocksToUpdate();\n\n\t\t\tconst canDuplicate = getBlocksByClientId( blocksToUpdate ).every(\n\t\t\t\t( blockToUpdate ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t!! blockToUpdate &&\n\t\t\t\t\t\thasBlockSupport(\n\t\t\t\t\t\t\tblockToUpdate.name,\n\t\t\t\t\t\t\t'multiple',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) &&\n\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\tblockToUpdate.name,\n\t\t\t\t\t\t\tfirstBlockRootClientId\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( canDuplicate ) {\n\t\t\t\tconst updatedBlocks = await duplicateBlocks(\n\t\t\t\t\tblocksToUpdate,\n\t\t\t\t\tfalse\n\t\t\t\t);\n\n\t\t\t\tif ( updatedBlocks?.length ) {\n\t\t\t\t\t// If blocks have been duplicated, focus the first duplicated block.\n\t\t\t\t\tupdateFocusAndSelection( updatedBlocks[ 0 ], false );\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-before', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tawait insertBeforeBlock( blocksToUpdate[ 0 ] );\n\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t} else if ( isMatch( 'core/block-editor/insert-after', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tawait insertAfterBlock( blocksToUpdate.at( -1 ) );\n\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t} else if ( isMatch( 'core/block-editor/select-all', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { firstBlockRootClientId, selectedBlockClientIds } =\n\t\t\t\tgetBlocksToUpdate();\n\t\t\tconst blockClientIds = getBlockOrder( firstBlockRootClientId );\n\t\t\tif ( ! blockClientIds.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If we have selected all sibling nested blocks, try selecting up a level.\n\t\t\t// This is a similar implementation to that used by `useSelectAll`.\n\t\t\t// `isShallowEqual` is used for the list view instead of a length check,\n\t\t\t// as the array of siblings of the currently focused block may be a different\n\t\t\t// set of blocks from the current block selection if the user is focused\n\t\t\t// on a different part of the list view from the block selection.\n\t\t\tif ( isShallowEqual( selectedBlockClientIds, blockClientIds ) ) {\n\t\t\t\t// Only select up a level if the first block is not the root block.\n\t\t\t\t// This ensures that the block selection can't break out of the root block\n\t\t\t\t// used by the list view, if the list view is only showing a partial hierarchy.\n\t\t\t\tif (\n\t\t\t\t\tfirstBlockRootClientId &&\n\t\t\t\t\tfirstBlockRootClientId !== rootClientId\n\t\t\t\t) {\n\t\t\t\t\tupdateFocusAndSelection( firstBlockRootClientId, true );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Select all while passing `null` to skip focusing to the editor canvas,\n\t\t\t// and retain focus within the list view.\n\t\t\tmultiSelect(\n\t\t\t\tblockClientIds[ 0 ],\n\t\t\t\tblockClientIds[ blockClientIds.length - 1 ],\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if ( isMatch( 'core/block-editor/collapse-list-view', event ) ) {\n\t\t\tevent.preventDefault();\n\t\t\tconst { firstBlockClientId } = getBlocksToUpdate();\n\t\t\tconst blockParents = getBlockParents( firstBlockClientId, false );\n\t\t\t// Collapse all blocks.\n\t\t\tcollapseAll();\n\t\t\t// Expand all parents of the current block.\n\t\t\texpand( blockParents );\n\t\t} else if ( isMatch( 'core/block-editor/group', event ) ) {\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tif ( blocksToUpdate.length > 1 && isGroupable( blocksToUpdate ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst blocks = getBlocksByClientId( blocksToUpdate );\n\t\t\t\tconst groupingBlockName = getGroupingBlockName();\n\t\t\t\tconst newBlocks = switchToBlockType(\n\t\t\t\t\tblocks,\n\t\t\t\t\tgroupingBlockName\n\t\t\t\t);\n\t\t\t\treplaceBlocks( blocksToUpdate, newBlocks );\n\t\t\t\tspeak( __( 'Selected blocks are grouped.' ) );\n\t\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\t\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t\t}\n\t\t} else if (\n\t\t\tisMatch( 'core/block-editor/toggle-block-visibility', event )\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tconst blocks = getBlocksByClientId( blocksToUpdate );\n\t\t\tconst canToggleBlockVisibility = blocks.every( ( blockToUpdate ) =>\n\t\t\t\thasBlockSupport( blockToUpdate.name, 'blockVisibility', true )\n\t\t\t);\n\t\t\tif ( ! canToggleBlockVisibility ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst hasHiddenBlock = blocks.some(\n\t\t\t\t( blockToUpdate ) =>\n\t\t\t\t\tblockToUpdate.attributes.metadata?.blockVisibility === false\n\t\t\t);\n\t\t\tconst attributesByClientId = Object.fromEntries(\n\t\t\t\tblocks.map( ( { clientId: mapClientId, attributes } ) => [\n\t\t\t\t\tmapClientId,\n\t\t\t\t\t{\n\t\t\t\t\t\tmetadata: cleanEmptyObject( {\n\t\t\t\t\t\t\t...attributes?.metadata,\n\t\t\t\t\t\t\tblockVisibility: hasHiddenBlock ? undefined : false,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t},\n\t\t\t\t] )\n\t\t\t);\n\t\t\tupdateBlockAttributes( blocksToUpdate, attributesByClientId, {\n\t\t\t\tuniqueByBlock: true,\n\t\t\t} );\n\t\t}\n\t}\n\n\tconst onMouseEnter = useCallback( () => {\n\t\tsetIsHovered( true );\n\t\tdebouncedToggleBlockHighlight( clientId, true );\n\t}, [ clientId, setIsHovered, debouncedToggleBlockHighlight ] );\n\tconst onMouseLeave = useCallback( () => {\n\t\tsetIsHovered( false );\n\t\tdebouncedToggleBlockHighlight( clientId, false );\n\t}, [ clientId, setIsHovered, debouncedToggleBlockHighlight ] );\n\n\tconst selectEditorBlock = useCallback(\n\t\t( event ) => {\n\t\t\tselectBlock( event, clientId );\n\t\t\tevent.preventDefault();\n\t\t},\n\t\t[ clientId, selectBlock ]\n\t);\n\n\tconst updateFocusAndSelection = useCallback(\n\t\t( focusClientId, shouldSelectBlock ) => {\n\t\t\tif ( shouldSelectBlock ) {\n\t\t\t\tselectBlock( undefined, focusClientId, null, null );\n\t\t\t}\n\n\t\t\tfocusListItem( focusClientId, treeGridElementRef?.current );\n\t\t},\n\t\t[ selectBlock, treeGridElementRef ]\n\t);\n\n\tconst toggleExpanded = useCallback(\n\t\t( event ) => {\n\t\t\t// Prevent shift+click from opening link in a new window when toggling.\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tif ( isExpanded === true ) {\n\t\t\t\tcollapse( clientId );\n\t\t\t} else if ( isExpanded === false ) {\n\t\t\t\texpand( clientId );\n\t\t\t}\n\t\t},\n\t\t[ clientId, expand, collapse, isExpanded ]\n\t);\n\n\t// Allow right-clicking an item in the List View to open up the block settings dropdown.\n\tconst onContextMenu = useCallback(\n\t\t( event ) => {\n\t\t\tif ( showBlockActions && allowRightClickOverrides ) {\n\t\t\t\tsettingsRef.current?.click();\n\t\t\t\t// Ensure the position of the settings dropdown is at the cursor.\n\t\t\t\tsetSettingsAnchorRect(\n\t\t\t\t\tnew window.DOMRect( event.clientX, event.clientY, 0, 0 )\n\t\t\t\t);\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ allowRightClickOverrides, settingsRef, showBlockActions ]\n\t);\n\n\tconst onMouseDown = useCallback(\n\t\t( event ) => {\n\t\t\t// Prevent right-click from focusing the block,\n\t\t\t// because focus will be handled when opening the block settings dropdown.\n\t\t\tif ( allowRightClickOverrides && event.button === 2 ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ allowRightClickOverrides ]\n\t);\n\n\tconst settingsPopoverAnchor = useMemo( () => {\n\t\tconst { ownerDocument } = rowRef?.current || {};\n\n\t\t// If no custom position is set, the settings dropdown will be anchored to the\n\t\t// DropdownMenu toggle button.\n\t\tif ( ! settingsAnchorRect || ! ownerDocument ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Position the settings dropdown at the cursor when right-clicking a block.\n\t\treturn {\n\t\t\townerDocument,\n\t\t\tgetBoundingClientRect() {\n\t\t\t\treturn settingsAnchorRect;\n\t\t\t},\n\t\t};\n\t}, [ settingsAnchorRect ] );\n\n\tconst clearSettingsAnchorRect = useCallback( () => {\n\t\t// Clear the custom position for the settings dropdown so that it is restored back\n\t\t// to being anchored to the DropdownMenu toggle button.\n\t\tsetSettingsAnchorRect( undefined );\n\t}, [ setSettingsAnchorRect ] );\n\n\t// Pass in a ref to the row, so that it can be scrolled\n\t// into view when selected. For long lists, the placeholder for the\n\t// selected block is also observed, within ListViewLeafPlaceholder.\n\tuseListViewScrollIntoView( {\n\t\tisSelected,\n\t\trowItemRef: rowRef,\n\t\tselectedClientIds,\n\t} );\n\n\t// When switching between rendering modes (such as template preview and content only),\n\t// it is possible for a block to temporarily be unavailable. In this case, we should not\n\t// render the leaf, to avoid errors further down the tree.\n\tif ( ! block ) {\n\t\treturn null;\n\t}\n\n\tconst blockPositionDescription = getBlockPositionDescription(\n\t\tposition,\n\t\tsiblingBlockCount,\n\t\tlevel\n\t);\n\n\tconst blockPropertiesDescription = getBlockPropertiesDescription(\n\t\tblockInformation,\n\t\tisLocked\n\t);\n\n\tconst blockVisibilityDescription = isBlockHidden\n\t\t? __( 'Block is hidden.' )\n\t\t: null;\n\n\tconst hasSiblings = siblingBlockCount > 0;\n\tconst hasRenderedMovers = showBlockMovers && hasSiblings;\n\tconst moverCellClassName = clsx(\n\t\t'block-editor-list-view-block__mover-cell',\n\t\t{ 'is-visible': isHovered || isSelected }\n\t);\n\n\tconst listViewBlockSettingsClassName = clsx(\n\t\t'block-editor-list-view-block__menu-cell',\n\t\t{ 'is-visible': isHovered || isFirstSelectedBlock }\n\t);\n\n\tlet colSpan;\n\tif ( hasRenderedMovers ) {\n\t\tcolSpan = 2;\n\t} else if ( ! showBlockActions ) {\n\t\tcolSpan = 3;\n\t}\n\n\tconst classes = clsx( {\n\t\t'is-selected': isSelected,\n\t\t'is-first-selected': isFirstSelectedBlock,\n\t\t'is-last-selected': isLastSelectedBlock,\n\t\t'is-branch-selected': isBranchSelected,\n\t\t'is-synced-branch': isSyncedBranch,\n\t\t'is-dragging': isDragged,\n\t\t'has-single-cell': ! showBlockActions,\n\t\t'is-synced': blockInformation?.isSynced,\n\t\t'is-draggable': canMove,\n\t\t'is-displacement-normal': displacement === 'normal',\n\t\t'is-displacement-up': displacement === 'up',\n\t\t'is-displacement-down': displacement === 'down',\n\t\t'is-after-dragged-blocks': isAfterDraggedBlocks,\n\t\t'is-nesting': isNesting,\n\t} );\n\n\t// Only include all selected blocks if the currently clicked on block\n\t// is one of the selected blocks. This ensures that if a user attempts\n\t// to alter a block that isn't part of the selection, they're still able\n\t// to do so.\n\tconst dropdownClientIds = selectedClientIds.includes( clientId )\n\t\t? selectedClientIds\n\t\t: [ clientId ];\n\n\t// Detect if there is a block in the canvas currently being edited and multi-selection is not happening.\n\tconst currentlyEditingBlockInCanvas =\n\t\tisSelected && selectedClientIds.length === 1;\n\n\treturn (\n\t\t<ListViewLeaf\n\t\t\tclassName={ classes }\n\t\t\tisDragged={ isDragged }\n\t\t\tonKeyDown={ onKeyDown }\n\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\tonFocus={ onMouseEnter }\n\t\t\tonBlur={ onMouseLeave }\n\t\t\tlevel={ level }\n\t\t\tposition={ position }\n\t\t\trowCount={ rowCount }\n\t\t\tpath={ path }\n\t\t\tid={ `list-view-${ listViewInstanceId }-block-${ clientId }` }\n\t\t\tdata-block={ clientId }\n\t\t\tdata-expanded={ canEdit ? isExpanded : undefined }\n\t\t\tref={ rowRef }\n\t\t>\n\t\t\t<TreeGridCell\n\t\t\t\tclassName=\"block-editor-list-view-block__contents-cell\"\n\t\t\t\tcolSpan={ colSpan }\n\t\t\t\tref={ cellRef }\n\t\t\t\taria-selected={ !! isSelected }\n\t\t\t>\n\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t<div className=\"block-editor-list-view-block__contents-container\">\n\t\t\t\t\t\t<ListViewBlockContents\n\t\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\t\tonClick={ selectEditorBlock }\n\t\t\t\t\t\t\tonContextMenu={ onContextMenu }\n\t\t\t\t\t\t\tonMouseDown={ onMouseDown }\n\t\t\t\t\t\t\tonToggleExpanded={ toggleExpanded }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tposition={ position }\n\t\t\t\t\t\t\tsiblingBlockCount={ siblingBlockCount }\n\t\t\t\t\t\t\tlevel={ level }\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\ttabIndex={\n\t\t\t\t\t\t\t\tcurrentlyEditingBlockInCanvas ? 0 : tabIndex\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tisExpanded={ canEdit ? isExpanded : undefined }\n\t\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\t\tariaDescribedBy={ descriptionId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<AriaReferencedText id={ descriptionId }>\n\t\t\t\t\t\t\t{ [\n\t\t\t\t\t\t\t\tblockPositionDescription,\n\t\t\t\t\t\t\t\tblockPropertiesDescription,\n\t\t\t\t\t\t\t\tblockVisibilityDescription,\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t.filter( Boolean )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t</AriaReferencedText>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</TreeGridCell>\n\t\t\t{ hasRenderedMovers && (\n\t\t\t\t<>\n\t\t\t\t\t<TreeGridCell\n\t\t\t\t\t\tclassName={ moverCellClassName }\n\t\t\t\t\t\twithoutGridItem\n\t\t\t\t\t>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverUpButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverDownButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t</TreeGridCell>\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ showBlockActions && BlockSettingsMenu && (\n\t\t\t\t<TreeGridCell\n\t\t\t\t\tclassName={ listViewBlockSettingsClassName }\n\t\t\t\t\taria-selected={ !! isSelected }\n\t\t\t\t\tref={ settingsRef }\n\t\t\t\t>\n\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t<BlockSettingsMenu\n\t\t\t\t\t\t\tclientIds={ dropdownClientIds }\n\t\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\t\tanchor: settingsPopoverAnchor, // Used to position the settings at the cursor on right-click.\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t\t\tclassName: 'block-editor-list-view-block__menu',\n\t\t\t\t\t\t\t\ttabIndex,\n\t\t\t\t\t\t\t\tonClick: clearSettingsAnchorRect,\n\t\t\t\t\t\t\t\tonFocus,\n\t\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tdisableOpenOnArrowDown\n\t\t\t\t\t\t\texpand={ expand }\n\t\t\t\t\t\t\texpandedState={ expandedState }\n\t\t\t\t\t\t\tsetInsertedBlock={ setInsertedBlock }\n\t\t\t\t\t\t\t__experimentalSelectBlock={\n\t\t\t\t\t\t\t\tupdateFocusAndSelection\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</TreeGridCell>\n\t\t\t) }\n\t\t</ListViewLeaf>\n\t);\n}\n\nexport default memo( ListViewBlock );\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\thasBlockSupport,\n\tswitchToBlockType,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport {\n\t__experimentalTreeGridCell as TreeGridCell,\n\t__experimentalTreeGridItem as TreeGridItem,\n} from '@wordpress/components';\nimport { useInstanceId, useDebounce } from '@wordpress/compose';\nimport { moreVertical } from '@wordpress/icons';\nimport {\n\tuseCallback,\n\tuseMemo,\n\tuseState,\n\tuseRef,\n\tmemo,\n} from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE } from '@wordpress/keycodes';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\nimport { __unstableUseShortcutEventMatch as useShortcutEventMatch } from '@wordpress/keyboard-shortcuts';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport ListViewLeaf from './leaf';\nimport useListViewScrollIntoView from './use-list-view-scroll-into-view';\nimport {\n\tBlockMoverUpButton,\n\tBlockMoverDownButton,\n} from '../block-mover/button';\nimport ListViewBlockContents from './block-contents';\nimport { useListViewContext } from './context';\nimport {\n\tgetBlockPositionDescription,\n\tgetBlockPropertiesDescription,\n\tfocusListItem,\n} from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { useBlockLock } from '../block-lock';\nimport AriaReferencedText from './aria-referenced-text';\nimport { unlock } from '../../lock-unlock';\nimport usePasteStyles from '../use-paste-styles';\nimport { cleanEmptyObject } from '../../hooks/utils';\n\nfunction ListViewBlock( {\n\tblock: { clientId },\n\tdisplacement,\n\tisAfterDraggedBlocks,\n\tisDragged,\n\tisNesting,\n\tisSelected,\n\tisBranchSelected,\n\tselectBlock,\n\tposition,\n\tlevel,\n\trowCount,\n\tsiblingBlockCount,\n\tshowBlockMovers,\n\tpath,\n\tisExpanded,\n\tselectedClientIds,\n\tisSyncedBranch,\n} ) {\n\tconst cellRef = useRef( null );\n\tconst rowRef = useRef( null );\n\tconst settingsRef = useRef( null );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ settingsAnchorRect, setSettingsAnchorRect ] = useState();\n\n\tconst { isLocked, canEdit, canMove } = useBlockLock( clientId );\n\n\tconst isFirstSelectedBlock =\n\t\tisSelected && selectedClientIds[ 0 ] === clientId;\n\tconst isLastSelectedBlock =\n\t\tisSelected &&\n\t\tselectedClientIds[ selectedClientIds.length - 1 ] === clientId;\n\n\tconst {\n\t\ttoggleBlockHighlight,\n\t\tduplicateBlocks,\n\t\tmultiSelect,\n\t\treplaceBlocks,\n\t\tremoveBlocks,\n\t\tinsertAfterBlock,\n\t\tinsertBeforeBlock,\n\t\tsetOpenedBlockSettingsMenu,\n\t\tupdateBlockAttributes,\n\t} = unlock( useDispatch( blockEditorStore ) );\n\tconst debouncedToggleBlockHighlight = useDebounce(\n\t\ttoggleBlockHighlight,\n\t\t50\n\t);\n\n\tconst {\n\t\tcanInsertBlockType,\n\t\tgetSelectedBlockClientIds,\n\t\tgetPreviousBlockClientId,\n\t\tgetBlockRootClientId,\n\t\tgetBlockOrder,\n\t\tgetBlockParents,\n\t\tgetBlocksByClientId,\n\t\tcanRemoveBlocks,\n\t\tisGroupable,\n\t} = useSelect( blockEditorStore );\n\tconst { getGroupingBlockName } = useSelect( blocksStore );\n\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\n\tconst pasteStyles = usePasteStyles();\n\n\tconst { block, blockName, allowRightClickOverrides, isBlockHidden } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getBlock, getBlockName, getSettings } =\n\t\t\t\t\tselect( blockEditorStore );\n\t\t\t\tconst { isBlockHidden: _isBlockHidden } = unlock(\n\t\t\t\t\tselect( blockEditorStore )\n\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\tblock: getBlock( clientId ),\n\t\t\t\t\tblockName: getBlockName( clientId ),\n\t\t\t\t\tallowRightClickOverrides:\n\t\t\t\t\t\tgetSettings().allowRightClickOverrides,\n\t\t\t\t\tisBlockHidden: _isBlockHidden( clientId ),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientId ]\n\t\t);\n\n\tconst showBlockActions =\n\t\t// When a block hides its toolbar it also hides the block settings menu,\n\t\t// since that menu is part of the toolbar in the editor canvas.\n\t\t// List View respects this by also hiding the block settings menu.\n\t\thasBlockSupport( blockName, '__experimentalToolbar', true );\n\tconst instanceId = useInstanceId( ListViewBlock );\n\tconst descriptionId = `list-view-block-select-button__description-${ instanceId }`;\n\n\tconst {\n\t\texpand,\n\t\tcollapse,\n\t\tcollapseAll,\n\t\tBlockSettingsMenu,\n\t\tlistViewInstanceId,\n\t\texpandedState,\n\t\tsetInsertedBlock,\n\t\ttreeGridElementRef,\n\t\trootClientId,\n\t} = useListViewContext();\n\tconst isMatch = useShortcutEventMatch();\n\n\t// Determine which blocks to update:\n\t// If the current (focused) block is part of the block selection, use the whole selection.\n\t// If the focused block is not part of the block selection, only update the focused block.\n\tfunction getBlocksToUpdate() {\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst isUpdatingSelectedBlocks =\n\t\t\tselectedBlockClientIds.includes( clientId );\n\t\tconst firstBlockClientId = isUpdatingSelectedBlocks\n\t\t\t? selectedBlockClientIds[ 0 ]\n\t\t\t: clientId;\n\t\tconst firstBlockRootClientId =\n\t\t\tgetBlockRootClientId( firstBlockClientId );\n\n\t\tconst blocksToUpdate = isUpdatingSelectedBlocks\n\t\t\t? selectedBlockClientIds\n\t\t\t: [ clientId ];\n\n\t\treturn {\n\t\t\tblocksToUpdate,\n\t\t\tfirstBlockClientId,\n\t\t\tfirstBlockRootClientId,\n\t\t\tselectedBlockClientIds,\n\t\t};\n\t}\n\n\t/**\n\t * @param {KeyboardEvent} event\n\t */\n\tasync function onKeyDown( event ) {\n\t\tif ( event.defaultPrevented ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Do not handle events if it comes from modals;\n\t\t// retain the default behavior for these keys.\n\t\tif ( event.target.closest( '[role=dialog]' ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst isDeleteKey = [ BACKSPACE, DELETE ].includes( event.keyCode );\n\n\t\t// If multiple blocks are selected, deselect all blocks when the user\n\t\t// presses the escape key.\n\t\tif (\n\t\t\tisMatch( 'core/block-editor/unselect', event ) &&\n\t\t\tselectedClientIds.length > 0\n\t\t) {\n\t\t\tevent.stopPropagation();\n\t\t\tevent.preventDefault();\n\t\t\tselectBlock( event, undefined );\n\t\t} else if (\n\t\t\tisDeleteKey ||\n\t\t\tisMatch( 'core/block-editor/remove', event )\n\t\t) {\n\t\t\tconst {\n\t\t\t\tblocksToUpdate: blocksToDelete,\n\t\t\t\tfirstBlockClientId,\n\t\t\t\tfirstBlockRootClientId,\n\t\t\t\tselectedBlockClientIds,\n\t\t\t} = getBlocksToUpdate();\n\n\t\t\t// Don't update the selection if the blocks cannot be deleted.\n\t\t\tif ( ! canRemoveBlocks( blocksToDelete ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet blockToFocus =\n\t\t\t\tgetPreviousBlockClientId( firstBlockClientId ) ??\n\t\t\t\t// If the previous block is not found (when the first block is deleted),\n\t\t\t\t// fallback to focus the parent block.\n\t\t\t\tfirstBlockRootClientId;\n\n\t\t\tremoveBlocks( blocksToDelete, false );\n\n\t\t\t// Update the selection if the original selection has been removed.\n\t\t\tconst shouldUpdateSelection =\n\t\t\t\tselectedBlockClientIds.length > 0 &&\n\t\t\t\tgetSelectedBlockClientIds().length === 0;\n\n\t\t\t// If there's no previous block nor parent block, focus the first block.\n\t\t\tif ( ! blockToFocus ) {\n\t\t\t\tblockToFocus = getBlockOrder()[ 0 ];\n\t\t\t}\n\n\t\t\tupdateFocusAndSelection( blockToFocus, shouldUpdateSelection );\n\t\t} else if ( isMatch( 'core/block-editor/paste-styles', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tconst blocks = getBlocksByClientId( blocksToUpdate );\n\n\t\t\tpasteStyles( blocks );\n\t\t} else if ( isMatch( 'core/block-editor/duplicate', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate, firstBlockRootClientId } =\n\t\t\t\tgetBlocksToUpdate();\n\n\t\t\tconst canDuplicate = getBlocksByClientId( blocksToUpdate ).every(\n\t\t\t\t( blockToUpdate ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t!! blockToUpdate &&\n\t\t\t\t\t\thasBlockSupport(\n\t\t\t\t\t\t\tblockToUpdate.name,\n\t\t\t\t\t\t\t'multiple',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) &&\n\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\tblockToUpdate.name,\n\t\t\t\t\t\t\tfirstBlockRootClientId\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( canDuplicate ) {\n\t\t\t\tconst updatedBlocks = await duplicateBlocks(\n\t\t\t\t\tblocksToUpdate,\n\t\t\t\t\tfalse\n\t\t\t\t);\n\n\t\t\t\tif ( updatedBlocks?.length ) {\n\t\t\t\t\t// If blocks have been duplicated, focus the first duplicated block.\n\t\t\t\t\tupdateFocusAndSelection( updatedBlocks[ 0 ], false );\n\t\t\t\t}\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-before', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tawait insertBeforeBlock( blocksToUpdate[ 0 ] );\n\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t} else if ( isMatch( 'core/block-editor/insert-after', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tawait insertAfterBlock( blocksToUpdate.at( -1 ) );\n\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\n\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t} else if ( isMatch( 'core/block-editor/select-all', event ) ) {\n\t\t\tevent.preventDefault();\n\n\t\t\tconst { firstBlockRootClientId, selectedBlockClientIds } =\n\t\t\t\tgetBlocksToUpdate();\n\t\t\tconst blockClientIds = getBlockOrder( firstBlockRootClientId );\n\t\t\tif ( ! blockClientIds.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If we have selected all sibling nested blocks, try selecting up a level.\n\t\t\t// This is a similar implementation to that used by `useSelectAll`.\n\t\t\t// `isShallowEqual` is used for the list view instead of a length check,\n\t\t\t// as the array of siblings of the currently focused block may be a different\n\t\t\t// set of blocks from the current block selection if the user is focused\n\t\t\t// on a different part of the list view from the block selection.\n\t\t\tif ( isShallowEqual( selectedBlockClientIds, blockClientIds ) ) {\n\t\t\t\t// Only select up a level if the first block is not the root block.\n\t\t\t\t// This ensures that the block selection can't break out of the root block\n\t\t\t\t// used by the list view, if the list view is only showing a partial hierarchy.\n\t\t\t\tif (\n\t\t\t\t\tfirstBlockRootClientId &&\n\t\t\t\t\tfirstBlockRootClientId !== rootClientId\n\t\t\t\t) {\n\t\t\t\t\tupdateFocusAndSelection( firstBlockRootClientId, true );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Select all while passing `null` to skip focusing to the editor canvas,\n\t\t\t// and retain focus within the list view.\n\t\t\tmultiSelect(\n\t\t\t\tblockClientIds[ 0 ],\n\t\t\t\tblockClientIds[ blockClientIds.length - 1 ],\n\t\t\t\tnull\n\t\t\t);\n\t\t} else if ( isMatch( 'core/block-editor/collapse-list-view', event ) ) {\n\t\t\tevent.preventDefault();\n\t\t\tconst { firstBlockClientId } = getBlocksToUpdate();\n\t\t\tconst blockParents = getBlockParents( firstBlockClientId, false );\n\t\t\t// Collapse all blocks.\n\t\t\tcollapseAll();\n\t\t\t// Expand all parents of the current block.\n\t\t\texpand( blockParents );\n\t\t} else if ( isMatch( 'core/block-editor/group', event ) ) {\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tif ( blocksToUpdate.length > 1 && isGroupable( blocksToUpdate ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst blocks = getBlocksByClientId( blocksToUpdate );\n\t\t\t\tconst groupingBlockName = getGroupingBlockName();\n\t\t\t\tconst newBlocks = switchToBlockType(\n\t\t\t\t\tblocks,\n\t\t\t\t\tgroupingBlockName\n\t\t\t\t);\n\t\t\t\treplaceBlocks( blocksToUpdate, newBlocks );\n\t\t\t\tspeak( __( 'Selected blocks are grouped.' ) );\n\t\t\t\tconst newlySelectedBlocks = getSelectedBlockClientIds();\n\t\t\t\t// Focus the first block of the newly inserted blocks, to keep focus within the list view.\n\t\t\t\tsetOpenedBlockSettingsMenu( undefined );\n\t\t\t\tupdateFocusAndSelection( newlySelectedBlocks[ 0 ], false );\n\t\t\t}\n\t\t} else if (\n\t\t\tisMatch( 'core/block-editor/toggle-block-visibility', event )\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tconst { blocksToUpdate } = getBlocksToUpdate();\n\t\t\tconst blocks = getBlocksByClientId( blocksToUpdate );\n\t\t\tconst canToggleVisibility = blocks.every( ( blockToUpdate ) =>\n\t\t\t\thasBlockSupport( blockToUpdate.name, 'visibility', true )\n\t\t\t);\n\t\t\tif ( ! canToggleVisibility ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst hasHiddenBlock = blocks.some(\n\t\t\t\t( blockToUpdate ) =>\n\t\t\t\t\tblockToUpdate.attributes.metadata?.blockVisibility === false\n\t\t\t);\n\t\t\tconst attributesByClientId = Object.fromEntries(\n\t\t\t\tblocks.map( ( { clientId: mapClientId, attributes } ) => [\n\t\t\t\t\tmapClientId,\n\t\t\t\t\t{\n\t\t\t\t\t\tmetadata: cleanEmptyObject( {\n\t\t\t\t\t\t\t...attributes?.metadata,\n\t\t\t\t\t\t\tblockVisibility: hasHiddenBlock ? undefined : false,\n\t\t\t\t\t\t} ),\n\t\t\t\t\t},\n\t\t\t\t] )\n\t\t\t);\n\t\t\tupdateBlockAttributes( blocksToUpdate, attributesByClientId, {\n\t\t\t\tuniqueByBlock: true,\n\t\t\t} );\n\t\t}\n\t}\n\n\tconst onMouseEnter = useCallback( () => {\n\t\tsetIsHovered( true );\n\t\tdebouncedToggleBlockHighlight( clientId, true );\n\t}, [ clientId, setIsHovered, debouncedToggleBlockHighlight ] );\n\tconst onMouseLeave = useCallback( () => {\n\t\tsetIsHovered( false );\n\t\tdebouncedToggleBlockHighlight( clientId, false );\n\t}, [ clientId, setIsHovered, debouncedToggleBlockHighlight ] );\n\n\tconst selectEditorBlock = useCallback(\n\t\t( event ) => {\n\t\t\tselectBlock( event, clientId );\n\t\t\tevent.preventDefault();\n\t\t},\n\t\t[ clientId, selectBlock ]\n\t);\n\n\tconst updateFocusAndSelection = useCallback(\n\t\t( focusClientId, shouldSelectBlock ) => {\n\t\t\tif ( shouldSelectBlock ) {\n\t\t\t\tselectBlock( undefined, focusClientId, null, null );\n\t\t\t}\n\n\t\t\tfocusListItem( focusClientId, treeGridElementRef?.current );\n\t\t},\n\t\t[ selectBlock, treeGridElementRef ]\n\t);\n\n\tconst toggleExpanded = useCallback(\n\t\t( event ) => {\n\t\t\t// Prevent shift+click from opening link in a new window when toggling.\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\t\t\tif ( isExpanded === true ) {\n\t\t\t\tcollapse( clientId );\n\t\t\t} else if ( isExpanded === false ) {\n\t\t\t\texpand( clientId );\n\t\t\t}\n\t\t},\n\t\t[ clientId, expand, collapse, isExpanded ]\n\t);\n\n\t// Allow right-clicking an item in the List View to open up the block settings dropdown.\n\tconst onContextMenu = useCallback(\n\t\t( event ) => {\n\t\t\tif ( showBlockActions && allowRightClickOverrides ) {\n\t\t\t\tsettingsRef.current?.click();\n\t\t\t\t// Ensure the position of the settings dropdown is at the cursor.\n\t\t\t\tsetSettingsAnchorRect(\n\t\t\t\t\tnew window.DOMRect( event.clientX, event.clientY, 0, 0 )\n\t\t\t\t);\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ allowRightClickOverrides, settingsRef, showBlockActions ]\n\t);\n\n\tconst onMouseDown = useCallback(\n\t\t( event ) => {\n\t\t\t// Prevent right-click from focusing the block,\n\t\t\t// because focus will be handled when opening the block settings dropdown.\n\t\t\tif ( allowRightClickOverrides && event.button === 2 ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\t\t},\n\t\t[ allowRightClickOverrides ]\n\t);\n\n\tconst settingsPopoverAnchor = useMemo( () => {\n\t\tconst { ownerDocument } = rowRef?.current || {};\n\n\t\t// If no custom position is set, the settings dropdown will be anchored to the\n\t\t// DropdownMenu toggle button.\n\t\tif ( ! settingsAnchorRect || ! ownerDocument ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Position the settings dropdown at the cursor when right-clicking a block.\n\t\treturn {\n\t\t\townerDocument,\n\t\t\tgetBoundingClientRect() {\n\t\t\t\treturn settingsAnchorRect;\n\t\t\t},\n\t\t};\n\t}, [ settingsAnchorRect ] );\n\n\tconst clearSettingsAnchorRect = useCallback( () => {\n\t\t// Clear the custom position for the settings dropdown so that it is restored back\n\t\t// to being anchored to the DropdownMenu toggle button.\n\t\tsetSettingsAnchorRect( undefined );\n\t}, [ setSettingsAnchorRect ] );\n\n\t// Pass in a ref to the row, so that it can be scrolled\n\t// into view when selected. For long lists, the placeholder for the\n\t// selected block is also observed, within ListViewLeafPlaceholder.\n\tuseListViewScrollIntoView( {\n\t\tisSelected,\n\t\trowItemRef: rowRef,\n\t\tselectedClientIds,\n\t} );\n\n\t// When switching between rendering modes (such as template preview and content only),\n\t// it is possible for a block to temporarily be unavailable. In this case, we should not\n\t// render the leaf, to avoid errors further down the tree.\n\tif ( ! block ) {\n\t\treturn null;\n\t}\n\n\tconst blockPositionDescription = getBlockPositionDescription(\n\t\tposition,\n\t\tsiblingBlockCount,\n\t\tlevel\n\t);\n\n\tconst blockPropertiesDescription = getBlockPropertiesDescription(\n\t\tblockInformation,\n\t\tisLocked\n\t);\n\n\tconst blockVisibilityDescription = isBlockHidden\n\t\t? __( 'Block is hidden.' )\n\t\t: null;\n\n\tconst hasSiblings = siblingBlockCount > 0;\n\tconst hasRenderedMovers = showBlockMovers && hasSiblings;\n\tconst moverCellClassName = clsx(\n\t\t'block-editor-list-view-block__mover-cell',\n\t\t{ 'is-visible': isHovered || isSelected }\n\t);\n\n\tconst listViewBlockSettingsClassName = clsx(\n\t\t'block-editor-list-view-block__menu-cell',\n\t\t{ 'is-visible': isHovered || isFirstSelectedBlock }\n\t);\n\n\tlet colSpan;\n\tif ( hasRenderedMovers ) {\n\t\tcolSpan = 2;\n\t} else if ( ! showBlockActions ) {\n\t\tcolSpan = 3;\n\t}\n\n\tconst classes = clsx( {\n\t\t'is-selected': isSelected,\n\t\t'is-first-selected': isFirstSelectedBlock,\n\t\t'is-last-selected': isLastSelectedBlock,\n\t\t'is-branch-selected': isBranchSelected,\n\t\t'is-synced-branch': isSyncedBranch,\n\t\t'is-dragging': isDragged,\n\t\t'has-single-cell': ! showBlockActions,\n\t\t'is-synced': blockInformation?.isSynced,\n\t\t'is-draggable': canMove,\n\t\t'is-displacement-normal': displacement === 'normal',\n\t\t'is-displacement-up': displacement === 'up',\n\t\t'is-displacement-down': displacement === 'down',\n\t\t'is-after-dragged-blocks': isAfterDraggedBlocks,\n\t\t'is-nesting': isNesting,\n\t} );\n\n\t// Only include all selected blocks if the currently clicked on block\n\t// is one of the selected blocks. This ensures that if a user attempts\n\t// to alter a block that isn't part of the selection, they're still able\n\t// to do so.\n\tconst dropdownClientIds = selectedClientIds.includes( clientId )\n\t\t? selectedClientIds\n\t\t: [ clientId ];\n\n\t// Detect if there is a block in the canvas currently being edited and multi-selection is not happening.\n\tconst currentlyEditingBlockInCanvas =\n\t\tisSelected && selectedClientIds.length === 1;\n\n\treturn (\n\t\t<ListViewLeaf\n\t\t\tclassName={ classes }\n\t\t\tisDragged={ isDragged }\n\t\t\tonKeyDown={ onKeyDown }\n\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\tonFocus={ onMouseEnter }\n\t\t\tonBlur={ onMouseLeave }\n\t\t\tlevel={ level }\n\t\t\tposition={ position }\n\t\t\trowCount={ rowCount }\n\t\t\tpath={ path }\n\t\t\tid={ `list-view-${ listViewInstanceId }-block-${ clientId }` }\n\t\t\tdata-block={ clientId }\n\t\t\tdata-expanded={ canEdit ? isExpanded : undefined }\n\t\t\tref={ rowRef }\n\t\t>\n\t\t\t<TreeGridCell\n\t\t\t\tclassName=\"block-editor-list-view-block__contents-cell\"\n\t\t\t\tcolSpan={ colSpan }\n\t\t\t\tref={ cellRef }\n\t\t\t\taria-selected={ !! isSelected }\n\t\t\t>\n\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t<div className=\"block-editor-list-view-block__contents-container\">\n\t\t\t\t\t\t<ListViewBlockContents\n\t\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\t\tonClick={ selectEditorBlock }\n\t\t\t\t\t\t\tonContextMenu={ onContextMenu }\n\t\t\t\t\t\t\tonMouseDown={ onMouseDown }\n\t\t\t\t\t\t\tonToggleExpanded={ toggleExpanded }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tposition={ position }\n\t\t\t\t\t\t\tsiblingBlockCount={ siblingBlockCount }\n\t\t\t\t\t\t\tlevel={ level }\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\ttabIndex={\n\t\t\t\t\t\t\t\tcurrentlyEditingBlockInCanvas ? 0 : tabIndex\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tisExpanded={ canEdit ? isExpanded : undefined }\n\t\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\t\tariaDescribedBy={ descriptionId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<AriaReferencedText id={ descriptionId }>\n\t\t\t\t\t\t\t{ [\n\t\t\t\t\t\t\t\tblockPositionDescription,\n\t\t\t\t\t\t\t\tblockPropertiesDescription,\n\t\t\t\t\t\t\t\tblockVisibilityDescription,\n\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t.filter( Boolean )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t</AriaReferencedText>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</TreeGridCell>\n\t\t\t{ hasRenderedMovers && (\n\t\t\t\t<>\n\t\t\t\t\t<TreeGridCell\n\t\t\t\t\t\tclassName={ moverCellClassName }\n\t\t\t\t\t\twithoutGridItem\n\t\t\t\t\t>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverUpButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t\t<TreeGridItem>\n\t\t\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t\t\t<BlockMoverDownButton\n\t\t\t\t\t\t\t\t\torientation=\"vertical\"\n\t\t\t\t\t\t\t\t\tclientIds={ [ clientId ] }\n\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridItem>\n\t\t\t\t\t</TreeGridCell>\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ showBlockActions && BlockSettingsMenu && (\n\t\t\t\t<TreeGridCell\n\t\t\t\t\tclassName={ listViewBlockSettingsClassName }\n\t\t\t\t\taria-selected={ !! isSelected }\n\t\t\t\t\tref={ settingsRef }\n\t\t\t\t>\n\t\t\t\t\t{ ( { ref, tabIndex, onFocus } ) => (\n\t\t\t\t\t\t<BlockSettingsMenu\n\t\t\t\t\t\t\tclientIds={ dropdownClientIds }\n\t\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={ __( 'Options' ) }\n\t\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\t\tanchor: settingsPopoverAnchor, // Used to position the settings at the cursor on right-click.\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\t\tref,\n\t\t\t\t\t\t\t\tclassName: 'block-editor-list-view-block__menu',\n\t\t\t\t\t\t\t\ttabIndex,\n\t\t\t\t\t\t\t\tonClick: clearSettingsAnchorRect,\n\t\t\t\t\t\t\t\tonFocus,\n\t\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tdisableOpenOnArrowDown\n\t\t\t\t\t\t\texpand={ expand }\n\t\t\t\t\t\t\texpandedState={ expandedState }\n\t\t\t\t\t\t\tsetInsertedBlock={ setInsertedBlock }\n\t\t\t\t\t\t\t__experimentalSelectBlock={\n\t\t\t\t\t\t\t\tupdateFocusAndSelection\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</TreeGridCell>\n\t\t\t) }\n\t\t</ListViewLeaf>\n\t);\n}\n\nexport default memo( ListViewBlock );\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_utils", "blockEditorStore", "blocksStore", "useBlockDisplayInformation", "usePasteStyles", "useShortcutEventMatch", "isShallowEqual", "useListViewScrollIntoView", "clsx", "ListViewLeaf", "TreeGridCell", "ListViewBlockContents", "AriaReferencedText", "TreeGridItem"]
7
7
  }
@@ -140,7 +140,7 @@ function RichTextWrapper({
140
140
  if (!isBlockSelected) {
141
141
  return { isSelected: false };
142
142
  }
143
- const { getSelectionStart: getSelectionStart2, getSelectionEnd: getSelectionEnd2, getBlockEditingMode } = select(import_store.store);
143
+ const { getSelectionStart: getSelectionStart2, getSelectionEnd: getSelectionEnd2 } = select(import_store.store);
144
144
  const selectionStart2 = getSelectionStart2();
145
145
  const selectionEnd2 = getSelectionEnd2();
146
146
  let isSelected2;
@@ -152,11 +152,10 @@ function RichTextWrapper({
152
152
  return {
153
153
  selectionStart: isSelected2 ? selectionStart2.offset : void 0,
154
154
  selectionEnd: isSelected2 ? selectionEnd2.offset : void 0,
155
- isSelected: isSelected2,
156
- isContentOnly: getBlockEditingMode(clientId) === "contentOnly"
155
+ isSelected: isSelected2
157
156
  };
158
157
  };
159
- const { selectionStart, selectionEnd, isSelected, isContentOnly } = (0, import_data.useSelect)(selector, [
158
+ const { selectionStart, selectionEnd, isSelected } = (0, import_data.useSelect)(selector, [
160
159
  clientId,
161
160
  identifier,
162
161
  instanceId,
@@ -287,9 +286,8 @@ function RichTextWrapper({
287
286
  } = (0, import_use_format_types.useFormatTypes)({
288
287
  clientId,
289
288
  identifier,
290
- allowedFormats: adjustedAllowedFormats,
291
289
  withoutInteractiveFormatting,
292
- disableNoneEssentialFormatting: isContentOnly
290
+ allowedFormats: adjustedAllowedFormats
293
291
  });
294
292
  function addEditorOnlyFormats(value2) {
295
293
  return valueHandlers.reduce(